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
13struct X86PagingStructures64Bit final : X86PagingStructures {
14								X86PagingStructures64Bit();
15	virtual						~X86PagingStructures64Bit();
16
17			void				Init(uint64* virtualPMLTop,
18									phys_addr_t physicalPMLTop);
19
20	virtual	void				Delete();
21
22			uint64*				VirtualPMLTop()
23									{ return fVirtualPMLTop; }
24
25private:
26			uint64*				fVirtualPMLTop;
27};
28
29
30#endif	// KERNEL_ARCH_X86_PAGING_64BIT_X86_PAGING_STRUCTURES_64BIT_H
31