2 * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
5 #ifndef KERNEL_ARCH_X86_PAGING_PAE_X86_PAGING_STRUCTURES_PAE_H
6 #define KERNEL_ARCH_X86_PAGING_PAE_X86_PAGING_STRUCTURES_PAE_H
9 #include "paging/pae/paging.h"
10 #include "paging/X86PagingStructures.h"
13 #if B_HAIKU_PHYSICAL_BITS == 64
16 struct X86PagingStructuresPAE
: X86PagingStructures
{
17 X86PagingStructuresPAE();
18 virtual ~X86PagingStructuresPAE();
20 void Init(pae_page_directory_pointer_table_entry
*
22 phys_addr_t physicalPDPT
, void* pdptHandle
,
23 pae_page_directory_entry
* const*
25 const phys_addr_t
* physicalPageDirs
);
27 virtual void Delete();
29 pae_page_directory_entry
* const* VirtualPageDirs() const
30 { return fVirtualPageDirs
; }
33 pae_page_directory_pointer_table_entry
* fPageDirPointerTable
;
34 void* fPageDirPointerTableHandle
;
35 pae_page_directory_entry
* fVirtualPageDirs
[4];
36 phys_addr_t fPhysicalPageDirs
[4];
40 #endif // B_HAIKU_PHYSICAL_BITS == 64
43 #endif // KERNEL_ARCH_X86_PAGING_PAE_X86_PAGING_STRUCTURES_PAE_H