20 #ifndef KERNEL_PROCESSOR_PPC32_VIRTUALADDRESSSPACE_H 21 #define KERNEL_PROCESSOR_PPC32_VIRTUALADDRESSSPACE_H 23 #include "../ppc_common/VsidManager.h" 24 #include "Translation.h" 25 #include "pedigree/kernel/machine/ppc_common/types.h" 26 #include "pedigree/kernel/processor/VirtualAddressSpace.h" 27 #include "pedigree/kernel/processor/types.h" 31 #define PAGE_SIZE 0x1000 62 virtual bool isMapped(
void *virtualAddress);
69 virtual void setFlags(
void *virtualAddress,
size_t newFlags);
70 virtual void unmap(
void *virtualAddress);
72 virtual void freeStack(
void *pStack);
85 uint32_t entries[1024];
123 #define KERNEL_INITIAL_PAGE_TABLES static_cast<uintptr_t>(0xC0000000) 124 #define KERNEL_SPACE_START static_cast<uintptr_t>(0x80000000) 125 #define USERSPACE_VIRTUAL_HEAP static_cast<uintptr_t>(0x60000000) 126 #define KERNEL_VIRTUAL_HEAP static_cast<uintptr_t>(0xD0000000) 127 #define KERNEL_VIRTUAL_MEMORYREGION_ADDRESS static_cast<uintptr_t>(0xA0000000) 128 #define KERNEL_VIRTUAL_MEMORYREGION_SIZE static_cast<uintptr_t>(0x20000000) 129 #define KERNEL_VIRTUAL_TEMP1 reinterpret_cast<void *>(0xEFFFF000) static PPC32VirtualAddressSpace m_KernelSpace
virtual void * allocateStack()
virtual void setFlags(void *virtualAddress, size_t newFlags)
static EXPORTED_PUBLIC VirtualAddressSpace & getKernelAddressSpace()
virtual bool isAddressValid(void *virtualAddress)
uintptr_t physicalAddress(physical_uintptr_t address) PURE
virtual VirtualAddressSpace * clone()
bool initialise(Translations &translations)
virtual void unmap(void *virtualAddress)
The exception was caused by a hardware task switch.
virtual ~PPC32VirtualAddressSpace()
virtual void revertToKernelAddressSpace()
ShadowPageTable * m_pPageDirectory[1024]
virtual void getMapping(void *virtualAddress, physical_uintptr_t &physicalAddress, size_t &flags)
virtual bool isMapped(void *virtualAddress)
virtual bool map(physical_uintptr_t physicalAddress, void *virtualAddress, size_t flags)
void initialRoster(Translations &translations)
PPC32VirtualAddressSpace & operator=(const PPC32VirtualAddressSpace &)
PPC32VirtualAddressSpace()