1 /* 2 * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef KERNEL_ARCH_X86_PAGING_32_BIT_X86_PAGING_STRUCTURES_32_BIT_H 6 #define KERNEL_ARCH_X86_PAGING_32_BIT_X86_PAGING_STRUCTURES_32_BIT_H 7 8 9 #include "paging/32bit/paging.h" 10 #include "paging/X86PagingStructures.h" 11 12 13 struct X86PagingStructures32Bit final : X86PagingStructures { 14 page_directory_entry* pgdir_virt; 15 16 X86PagingStructures32Bit(); 17 virtual ~X86PagingStructures32Bit(); 18 19 void Init(page_directory_entry* virtualPageDir, 20 phys_addr_t physicalPageDir, 21 page_directory_entry* kernelPageDir); 22 23 virtual void Delete(); 24 25 static void StaticInit(); 26 static void UpdateAllPageDirs(int index, 27 page_directory_entry entry); 28 }; 29 30 31 #endif // KERNEL_ARCH_X86_PAGING_32_BIT_X86_PAGING_STRUCTURES_32_BIT_H 32