xref: /haiku/src/system/kernel/arch/x86/paging/64bit/X86PagingStructures64Bit.h (revision a30a4a41f948ebb03b95dab065a27a584ac0c97a)
1 /*
2  * Copyright 2012, Alex Smith, alex@alex-smith.me.uk.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef KERNEL_ARCH_X86_PAGING_64BIT_X86_PAGING_STRUCTURES_64BIT_H
6 #define KERNEL_ARCH_X86_PAGING_64BIT_X86_PAGING_STRUCTURES_64BIT_H
7 
8 
9 #include "paging/64bit/paging.h"
10 #include "paging/X86PagingStructures.h"
11 
12 
13 struct X86PagingStructures64Bit final : X86PagingStructures {
14 								X86PagingStructures64Bit();
15 	virtual						~X86PagingStructures64Bit();
16 
17 			void				Init(uint64* virtualPML4,
18 									phys_addr_t physicalPML4);
19 
20 	virtual	void				Delete();
21 
22 			uint64*				VirtualPML4()
23 									{ return fVirtualPML4; }
24 
25 private:
26 			uint64*				fVirtualPML4;
27 };
28 
29 
30 #endif	// KERNEL_ARCH_X86_PAGING_64BIT_X86_PAGING_STRUCTURES_64BIT_H
31