From 1b3e83addefd97925b84cebaf4003d14c9062781 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 8 Jun 2010 15:00:56 +0000 Subject: [PATCH] Moved paging related files to new subdirectories paging and paging/32bit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37060 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/arch/x86/Jamfile | 9 ++++++++- src/system/kernel/arch/x86/arch_cpu.cpp | 4 ++-- src/system/kernel/arch/x86/arch_thread.cpp | 4 ++-- .../kernel/arch/x86/arch_vm_translation_map.cpp | 2 +- .../x86/{ => paging/32bit}/X86PagingMethod32Bit.cpp | 8 ++++---- .../x86/{ => paging/32bit}/X86PagingMethod32Bit.h | 12 ++++++------ .../{ => paging/32bit}/X86VMTranslationMap32Bit.h | 8 ++++---- .../arch/x86/{x86_paging.h => paging/32bit/paging.h} | 9 +++------ .../kernel/arch/x86/{ => paging}/X86PagingMethod.cpp | 2 +- .../kernel/arch/x86/{ => paging}/X86PagingMethod.h | 6 +++--- .../arch/x86/{ => paging}/X86PagingStructures.cpp | 2 +- .../arch/x86/{ => paging}/X86PagingStructures.h | 6 +++--- .../arch/x86/{ => paging}/X86VMTranslationMap.cpp | 4 ++-- .../arch/x86/{ => paging}/X86VMTranslationMap.h | 0 .../x86/{ => paging}/x86_physical_page_mapper.cpp | 4 ++-- .../arch/x86/{ => paging}/x86_physical_page_mapper.h | 6 +++--- .../x86_physical_page_mapper_large_memory.cpp | 8 ++++---- .../x86_physical_page_mapper_large_memory.h | 6 +++--- 18 files changed, 52 insertions(+), 48 deletions(-) rename src/system/kernel/arch/x86/{ => paging/32bit}/X86PagingMethod32Bit.cpp (99%) rename src/system/kernel/arch/x86/{ => paging/32bit}/X86PagingMethod32Bit.h (77%) rename src/system/kernel/arch/x86/{ => paging/32bit}/X86VMTranslationMap32Bit.h (87%) rename src/system/kernel/arch/x86/{x86_paging.h => paging/32bit/paging.h} (95%) rename src/system/kernel/arch/x86/{ => paging}/X86PagingMethod.cpp (81%) rename src/system/kernel/arch/x86/{ => paging}/X86PagingMethod.h (84%) rename src/system/kernel/arch/x86/{ => paging}/X86PagingStructures.cpp (85%) rename src/system/kernel/arch/x86/{ => paging}/X86PagingStructures.h (84%) rename src/system/kernel/arch/x86/{ => paging}/X86VMTranslationMap.cpp (97%) rename src/system/kernel/arch/x86/{ => paging}/X86VMTranslationMap.h (100%) rename src/system/kernel/arch/x86/{ => paging}/x86_physical_page_mapper.cpp (64%) rename src/system/kernel/arch/x86/{ => paging}/x86_physical_page_mapper.h (81%) rename src/system/kernel/arch/x86/{ => paging}/x86_physical_page_mapper_large_memory.cpp (98%) rename src/system/kernel/arch/x86/{ => paging}/x86_physical_page_mapper_large_memory.h (84%) diff --git a/src/system/kernel/arch/x86/Jamfile b/src/system/kernel/arch/x86/Jamfile index 09e4e2d399..46046b3dfe 100644 --- a/src/system/kernel/arch/x86/Jamfile +++ b/src/system/kernel/arch/x86/Jamfile @@ -8,8 +8,11 @@ SubDirHdrs $(SUBDIR) timers ; UsePrivateKernelHeaders ; UsePrivateHeaders shared ; +SEARCH_SOURCE += [ FDirName $(SUBDIR) paging ] ; +SEARCH_SOURCE += [ FDirName $(SUBDIR) paging 32bit ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) timers ] ; + KernelMergeObject kernel_arch_x86.o : arch_commpage.cpp arch_cpu.cpp @@ -37,14 +40,18 @@ KernelMergeObject kernel_arch_x86.o : msi.cpp syscall.S vm86.cpp + + # paging x86_physical_page_mapper.cpp x86_physical_page_mapper_large_memory.cpp x86_syscalls.cpp X86PagingMethod.cpp - X86PagingMethod32Bit.cpp X86PagingStructures.cpp X86VMTranslationMap.cpp + # paging/32bit + X86PagingMethod32Bit.cpp + x86_apic.cpp x86_hpet.cpp x86_pit.cpp diff --git a/src/system/kernel/arch/x86/arch_cpu.cpp b/src/system/kernel/arch/x86/arch_cpu.cpp index 2fb096c9d5..2634dd4f49 100644 --- a/src/system/kernel/arch/x86/arch_cpu.cpp +++ b/src/system/kernel/arch/x86/arch_cpu.cpp @@ -30,8 +30,8 @@ #include #include "interrupts.h" -#include "X86PagingStructures.h" -#include "X86VMTranslationMap.h" +#include "paging/X86PagingStructures.h" +#include "paging/X86VMTranslationMap.h" #define DUMP_FEATURE_STRING 1 diff --git a/src/system/kernel/arch/x86/arch_thread.cpp b/src/system/kernel/arch/x86/arch_thread.cpp index 02e59a0b19..10b031d012 100644 --- a/src/system/kernel/arch/x86/arch_thread.cpp +++ b/src/system/kernel/arch/x86/arch_thread.cpp @@ -25,9 +25,9 @@ #include #include +#include "paging/X86PagingStructures.h" +#include "paging/X86VMTranslationMap.h" #include "x86_syscalls.h" -#include "X86PagingStructures.h" -#include "X86VMTranslationMap.h" //#define TRACE_ARCH_THREAD diff --git a/src/system/kernel/arch/x86/arch_vm_translation_map.cpp b/src/system/kernel/arch/x86/arch_vm_translation_map.cpp index 5d036aba84..3ddba0fb61 100644 --- a/src/system/kernel/arch/x86/arch_vm_translation_map.cpp +++ b/src/system/kernel/arch/x86/arch_vm_translation_map.cpp @@ -10,7 +10,7 @@ #include -#include "X86PagingMethod32Bit.h" +#include "paging/32bit/X86PagingMethod32Bit.h" //#define TRACE_VM_TMAP diff --git a/src/system/kernel/arch/x86/X86PagingMethod32Bit.cpp b/src/system/kernel/arch/x86/paging/32bit/X86PagingMethod32Bit.cpp similarity index 99% rename from src/system/kernel/arch/x86/X86PagingMethod32Bit.cpp rename to src/system/kernel/arch/x86/paging/32bit/X86PagingMethod32Bit.cpp index cf74717ba0..cc596243c0 100644 --- a/src/system/kernel/arch/x86/X86PagingMethod32Bit.cpp +++ b/src/system/kernel/arch/x86/paging/32bit/X86PagingMethod32Bit.cpp @@ -8,7 +8,7 @@ */ -#include "X86PagingMethod32Bit.h" +#include "paging/32bit/X86PagingMethod32Bit.h" #include #include @@ -28,9 +28,9 @@ #include #include -#include "x86_physical_page_mapper.h" -#include "x86_physical_page_mapper_large_memory.h" -#include "X86VMTranslationMap32Bit.h" +#include "paging/32bit/X86VMTranslationMap32Bit.h" +#include "paging/x86_physical_page_mapper.h" +#include "paging/x86_physical_page_mapper_large_memory.h" //#define TRACE_X86_PAGING_METHOD_32_BIT diff --git a/src/system/kernel/arch/x86/X86PagingMethod32Bit.h b/src/system/kernel/arch/x86/paging/32bit/X86PagingMethod32Bit.h similarity index 77% rename from src/system/kernel/arch/x86/X86PagingMethod32Bit.h rename to src/system/kernel/arch/x86/paging/32bit/X86PagingMethod32Bit.h index ee1018bd23..521f310e56 100644 --- a/src/system/kernel/arch/x86/X86PagingMethod32Bit.h +++ b/src/system/kernel/arch/x86/paging/32bit/X86PagingMethod32Bit.h @@ -2,13 +2,13 @@ * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ -#ifndef KERNEL_ARCH_X86_X86_PAGING_METHOD_32_BIT_H -#define KERNEL_ARCH_X86_X86_PAGING_METHOD_32_BIT_H +#ifndef KERNEL_ARCH_X86_PAGING_32_BIT_X86_PAGING_METHOD_32_BIT_H +#define KERNEL_ARCH_X86_PAGING_32_BIT_X86_PAGING_METHOD_32_BIT_H -#include "x86_paging.h" -#include "X86PagingMethod.h" -#include "X86PagingStructures.h" +#include "paging/32bit/paging.h" +#include "paging/X86PagingMethod.h" +#include "paging/X86PagingStructures.h" struct X86PagingStructures32Bit : X86PagingStructures { @@ -49,4 +49,4 @@ private: }; -#endif // KERNEL_ARCH_X86_X86_PAGING_METHOD_32_BIT_H +#endif // KERNEL_ARCH_X86_PAGING_32_BIT_X86_PAGING_METHOD_32_BIT_H diff --git a/src/system/kernel/arch/x86/X86VMTranslationMap32Bit.h b/src/system/kernel/arch/x86/paging/32bit/X86VMTranslationMap32Bit.h similarity index 87% rename from src/system/kernel/arch/x86/X86VMTranslationMap32Bit.h rename to src/system/kernel/arch/x86/paging/32bit/X86VMTranslationMap32Bit.h index 1316143336..d79a4f3dca 100644 --- a/src/system/kernel/arch/x86/X86VMTranslationMap32Bit.h +++ b/src/system/kernel/arch/x86/paging/32bit/X86VMTranslationMap32Bit.h @@ -2,11 +2,11 @@ * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ -#ifndef KERNEL_ARCH_X86_X86_VM_TRANSLATION_MAP_32_BIT_H -#define KERNEL_ARCH_X86_X86_VM_TRANSLATION_MAP_32_BIT_H +#ifndef KERNEL_ARCH_X86_PAGING_32_BIT_X86_VM_TRANSLATION_MAP_32_BIT_H +#define KERNEL_ARCH_X86_PAGING_32_BIT_X86_VM_TRANSLATION_MAP_32_BIT_H -#include "X86VMTranslationMap.h" +#include "paging/X86VMTranslationMap.h" struct X86PagingStructures32Bit; @@ -62,4 +62,4 @@ private: }; -#endif // KERNEL_ARCH_X86_X86_VM_TRANSLATION_MAP_32_BIT_H +#endif // KERNEL_ARCH_X86_PAGING_32_BIT_X86_VM_TRANSLATION_MAP_32_BIT_H diff --git a/src/system/kernel/arch/x86/x86_paging.h b/src/system/kernel/arch/x86/paging/32bit/paging.h similarity index 95% rename from src/system/kernel/arch/x86/x86_paging.h rename to src/system/kernel/arch/x86/paging/32bit/paging.h index 2788bf914f..a7f335109e 100644 --- a/src/system/kernel/arch/x86/x86_paging.h +++ b/src/system/kernel/arch/x86/paging/32bit/paging.h @@ -6,8 +6,8 @@ * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. * Distributed under the terms of the NewOS License. */ -#ifndef _KERNEL_ARCH_X86_PAGING_H -#define _KERNEL_ARCH_X86_PAGING_H +#ifndef _KERNEL_ARCH_X86_PAGING_32_BIT_PAGING_H +#define _KERNEL_ARCH_X86_PAGING_32_BIT_PAGING_H #include @@ -19,9 +19,6 @@ #define VADDR_TO_PTENT(va) (((va) / B_PAGE_SIZE) % 1024) -class TranslationMapPhysicalPageMapper; - - // page directory entry bits #define X86_PDE_PRESENT 0x00000001 #define X86_PDE_WRITABLE 0x00000002 @@ -103,4 +100,4 @@ set_page_table_entry_flags(page_table_entry* entry, uint32 flags) } -#endif // _KERNEL_ARCH_X86_PAGING_H +#endif // _KERNEL_ARCH_X86_PAGING_32_BIT_PAGING_H diff --git a/src/system/kernel/arch/x86/X86PagingMethod.cpp b/src/system/kernel/arch/x86/paging/X86PagingMethod.cpp similarity index 81% rename from src/system/kernel/arch/x86/X86PagingMethod.cpp rename to src/system/kernel/arch/x86/paging/X86PagingMethod.cpp index 8491c2d83e..fba2cbc5cc 100644 --- a/src/system/kernel/arch/x86/X86PagingMethod.cpp +++ b/src/system/kernel/arch/x86/paging/X86PagingMethod.cpp @@ -4,7 +4,7 @@ */ -#include "X86PagingMethod.h" +#include "paging/X86PagingMethod.h" X86PagingMethod::~X86PagingMethod() diff --git a/src/system/kernel/arch/x86/X86PagingMethod.h b/src/system/kernel/arch/x86/paging/X86PagingMethod.h similarity index 84% rename from src/system/kernel/arch/x86/X86PagingMethod.h rename to src/system/kernel/arch/x86/paging/X86PagingMethod.h index d3a574384d..eb806a10ef 100644 --- a/src/system/kernel/arch/x86/X86PagingMethod.h +++ b/src/system/kernel/arch/x86/paging/X86PagingMethod.h @@ -2,8 +2,8 @@ * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ -#ifndef KERNEL_ARCH_X86_X86_PAGING_METHOD_H -#define KERNEL_ARCH_X86_X86_PAGING_METHOD_H +#ifndef KERNEL_ARCH_X86_PAGING_X86_PAGING_METHOD_H +#define KERNEL_ARCH_X86_PAGING_X86_PAGING_METHOD_H #include @@ -38,4 +38,4 @@ public: }; -#endif // KERNEL_ARCH_X86_X86_PAGING_METHOD_H +#endif // KERNEL_ARCH_X86_PAGING_X86_PAGING_METHOD_H diff --git a/src/system/kernel/arch/x86/X86PagingStructures.cpp b/src/system/kernel/arch/x86/paging/X86PagingStructures.cpp similarity index 85% rename from src/system/kernel/arch/x86/X86PagingStructures.cpp rename to src/system/kernel/arch/x86/paging/X86PagingStructures.cpp index 78e9698367..2844391341 100644 --- a/src/system/kernel/arch/x86/X86PagingStructures.cpp +++ b/src/system/kernel/arch/x86/paging/X86PagingStructures.cpp @@ -4,7 +4,7 @@ */ -#include "X86PagingStructures.h" +#include "paging/X86PagingStructures.h" X86PagingStructures::X86PagingStructures() diff --git a/src/system/kernel/arch/x86/X86PagingStructures.h b/src/system/kernel/arch/x86/paging/X86PagingStructures.h similarity index 84% rename from src/system/kernel/arch/x86/X86PagingStructures.h rename to src/system/kernel/arch/x86/paging/X86PagingStructures.h index 411e561300..f7cfb6a54c 100644 --- a/src/system/kernel/arch/x86/X86PagingStructures.h +++ b/src/system/kernel/arch/x86/paging/X86PagingStructures.h @@ -6,8 +6,8 @@ * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. * Distributed under the terms of the NewOS License. */ -#ifndef KERNEL_ARCH_X86_PAGING_STRUCTURES_H -#define KERNEL_ARCH_X86_PAGING_STRUCTURES_H +#ifndef KERNEL_ARCH_X86_PAGING_X86_PAGING_STRUCTURES_H +#define KERNEL_ARCH_X86_PAGING_X86_PAGING_STRUCTURES_H #include @@ -46,4 +46,4 @@ X86PagingStructures::RemoveReference() } -#endif // KERNEL_ARCH_X86_PAGING_STRUCTURES_H +#endif // KERNEL_ARCH_X86_PAGING_X86_PAGING_STRUCTURES_H diff --git a/src/system/kernel/arch/x86/X86VMTranslationMap.cpp b/src/system/kernel/arch/x86/paging/X86VMTranslationMap.cpp similarity index 97% rename from src/system/kernel/arch/x86/X86VMTranslationMap.cpp rename to src/system/kernel/arch/x86/paging/X86VMTranslationMap.cpp index 1e22a41852..409c640196 100644 --- a/src/system/kernel/arch/x86/X86VMTranslationMap.cpp +++ b/src/system/kernel/arch/x86/paging/X86VMTranslationMap.cpp @@ -8,12 +8,12 @@ */ -#include "X86VMTranslationMap.h" +#include "paging/X86VMTranslationMap.h" #include #include -#include "X86PagingStructures.h" +#include "paging/X86PagingStructures.h" //#define TRACE_X86_VM_TRANSLATION_MAP diff --git a/src/system/kernel/arch/x86/X86VMTranslationMap.h b/src/system/kernel/arch/x86/paging/X86VMTranslationMap.h similarity index 100% rename from src/system/kernel/arch/x86/X86VMTranslationMap.h rename to src/system/kernel/arch/x86/paging/X86VMTranslationMap.h diff --git a/src/system/kernel/arch/x86/x86_physical_page_mapper.cpp b/src/system/kernel/arch/x86/paging/x86_physical_page_mapper.cpp similarity index 64% rename from src/system/kernel/arch/x86/x86_physical_page_mapper.cpp rename to src/system/kernel/arch/x86/paging/x86_physical_page_mapper.cpp index 36e5f51cd5..1098b46cf3 100644 --- a/src/system/kernel/arch/x86/x86_physical_page_mapper.cpp +++ b/src/system/kernel/arch/x86/paging/x86_physical_page_mapper.cpp @@ -1,9 +1,9 @@ /* - * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. + * Copyright 2008-2010, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ -#include "x86_physical_page_mapper.h" +#include "paging/x86_physical_page_mapper.h" TranslationMapPhysicalPageMapper::~TranslationMapPhysicalPageMapper() diff --git a/src/system/kernel/arch/x86/x86_physical_page_mapper.h b/src/system/kernel/arch/x86/paging/x86_physical_page_mapper.h similarity index 81% rename from src/system/kernel/arch/x86/x86_physical_page_mapper.h rename to src/system/kernel/arch/x86/paging/x86_physical_page_mapper.h index c0a50b5798..31e4796066 100644 --- a/src/system/kernel/arch/x86/x86_physical_page_mapper.h +++ b/src/system/kernel/arch/x86/paging/x86_physical_page_mapper.h @@ -2,8 +2,8 @@ * Copyright 2008-2010, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ -#ifndef _KERNEL_ARCH_X86_PHYSICAL_PAGE_MAPPER_H -#define _KERNEL_ARCH_X86_PHYSICAL_PAGE_MAPPER_H +#ifndef KERNEL_ARCH_X86_PAGING_X86_PHYSICAL_PAGE_MAPPER_H +#define KERNEL_ARCH_X86_PAGING_X86_PHYSICAL_PAGE_MAPPER_H #include @@ -37,4 +37,4 @@ public: }; -#endif // _KERNEL_ARCH_X86_PHYSICAL_PAGE_MAPPER_H +#endif // KERNEL_ARCH_X86_PAGING_X86_PHYSICAL_PAGE_MAPPER_H diff --git a/src/system/kernel/arch/x86/x86_physical_page_mapper_large_memory.cpp b/src/system/kernel/arch/x86/paging/x86_physical_page_mapper_large_memory.cpp similarity index 98% rename from src/system/kernel/arch/x86/x86_physical_page_mapper_large_memory.cpp rename to src/system/kernel/arch/x86/paging/x86_physical_page_mapper_large_memory.cpp index b3bbc1e7ce..5900e40d71 100644 --- a/src/system/kernel/arch/x86/x86_physical_page_mapper_large_memory.cpp +++ b/src/system/kernel/arch/x86/paging/x86_physical_page_mapper_large_memory.cpp @@ -23,7 +23,7 @@ */ -#include "x86_physical_page_mapper_large_memory.h" +#include "paging/x86_physical_page_mapper_large_memory.h" #include @@ -37,9 +37,9 @@ #include #include -#include "x86_physical_page_mapper.h" -#include "X86PagingStructures.h" -#include "X86VMTranslationMap.h" +#include "paging/x86_physical_page_mapper.h" +#include "paging/X86PagingStructures.h" +#include "paging/X86VMTranslationMap.h" // The number of slots we reserve per translation map from mapping page tables. diff --git a/src/system/kernel/arch/x86/x86_physical_page_mapper_large_memory.h b/src/system/kernel/arch/x86/paging/x86_physical_page_mapper_large_memory.h similarity index 84% rename from src/system/kernel/arch/x86/x86_physical_page_mapper_large_memory.h rename to src/system/kernel/arch/x86/paging/x86_physical_page_mapper_large_memory.h index 7ff23091db..93986fb15f 100644 --- a/src/system/kernel/arch/x86/x86_physical_page_mapper_large_memory.h +++ b/src/system/kernel/arch/x86/paging/x86_physical_page_mapper_large_memory.h @@ -2,8 +2,8 @@ * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ -#ifndef KERNEL_ARCH_X86_X86_PHYSICAL_PAGE_MAPPER_LARGE_MEMORY_H -#define KERNEL_ARCH_X86_X86_PHYSICAL_PAGE_MAPPER_LARGE_MEMORY_H +#ifndef KERNEL_ARCH_X86_PAGING_X86_PHYSICAL_PAGE_MAPPER_LARGE_MEMORY_H +#define KERNEL_ARCH_X86_PAGING_X86_PHYSICAL_PAGE_MAPPER_LARGE_MEMORY_H #include @@ -58,4 +58,4 @@ status_t large_memory_physical_page_ops_init(kernel_args* args, TranslationMapPhysicalPageMapper*& _kernelPageMapper); -#endif // KERNEL_ARCH_X86_X86_PHYSICAL_PAGE_MAPPER_LARGE_MEMORY_H +#endif // KERNEL_ARCH_X86_PAGING_X86_PHYSICAL_PAGE_MAPPER_LARGE_MEMORY_H