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