20 #ifndef KERNEL_PROCESSOR_PPC32_HASHEDPAGETABLE_H 21 #define KERNEL_PROCESSOR_PPC32_HASHEDPAGETABLE_H 23 #include "Translation.h" 24 #include "pedigree/kernel/processor/types.h" 26 #define HTAB_VIRTUAL 0xC0100000 63 bool isMapped(uint32_t effectiveAddress, uint32_t vsid);
67 uint32_t
getMapping(uint32_t effectiveAddress, uint32_t vsid);
81 uint32_t reserved1 : 3;
88 uint32_t reserved2 : 1;
104 uint32_t unused1 : 10;
106 uint32_t unused2 : 1;
118 size_t n, uintptr_t virt, physical_uintptr_t phys,
size_t size,
122 size_t n, uintptr_t virt, physical_uintptr_t phys,
size_t size,
static HashedPageTable & instance()
void setDBAT(size_t n, uintptr_t virt, physical_uintptr_t phys, size_t size, uint32_t mode)
void setIBAT(size_t n, uintptr_t virt, physical_uintptr_t phys, size_t size, uint32_t mode)
bool isMapped(uint32_t effectiveAddress, uint32_t vsid)
void addMapping(uint32_t effectiveAddress, uint32_t physicalAddress, uint32_t mode, uint32_t vsid)
void removeMapping(uint32_t effectiveAddress, uint32_t vsid)
static HashedPageTable m_Instance
uint32_t getMapping(uint32_t effectiveAddress, uint32_t vsid)
uintptr_t physicalAddress(physical_uintptr_t address) PURE
void initialise(Translations &translations, uint32_t ramMax)