xref: /haiku/src/system/kernel/arch/x86/paging/32bit/X86PagingStructures32Bit.h (revision 909af08f4328301fbdef1ffb41f566c3b5bec0c7)
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