The Pedigree Project
0.1
|
#include <Translation.h>
Classes | |
struct | Translation |
Public Member Functions | |
Translation | getTranslation (size_t n) |
size_t | getNumTranslations () |
void | addTranslation (uint32_t virt, uint32_t phys, uint32_t size, uint32_t mode) |
uint32_t | findFreePhysicalMemory (uint32_t size, uint32_t align=0x100000) |
void | removeRange (uintptr_t start, uintptr_t end) |
Private Attributes | |
Translation | m_pTranslations [NUM_TRANSLATIONS] |
size_t | m_nTranslations |
Representation of a translation entry as given by OpenFirmware.
Definition at line 30 of file Translation.h.
void Translations::addTranslation | ( | uint32_t | virt, |
uint32_t | phys, | ||
uint32_t | size, | ||
uint32_t | mode | ||
) |
Adds a translation to the end of our array.
Definition at line 67 of file Translation.cc.
References panic().
Referenced by HashedPageTable::initialise(), and PPC32VirtualAddressSpace::initialise().
uint32_t Translations::findFreePhysicalMemory | ( | uint32_t | size, |
uint32_t | align = 0x100000 |
||
) |
Attempts to find a free section of physical memory.
size | The size of memory to look for, in bytes. |
Definition at line 80 of file Translation.cc.
Referenced by HashedPageTable::initialise(), and PPC32VirtualAddressSpace::initialise().
size_t Translations::getNumTranslations | ( | ) |
Returns the number of valid translations.
Definition at line 62 of file Translation.cc.
Referenced by HashedPageTable::initialise(), PPC32VirtualAddressSpace::initialRoster(), and PpcCommonPhysicalMemoryManager::~PpcCommonPhysicalMemoryManager().
Translations::Translation Translations::getTranslation | ( | size_t | n | ) |
Obtains the n'th translation.
Definition at line 57 of file Translation.cc.
Referenced by HashedPageTable::initialise(), PPC32VirtualAddressSpace::initialRoster(), and PpcCommonPhysicalMemoryManager::~PpcCommonPhysicalMemoryManager().
void Translations::removeRange | ( | uintptr_t | start, |
uintptr_t | end | ||
) |
Removes any translations with virtual addresses in the range of start..end.
Definition at line 122 of file Translation.cc.
|
private |
The current number of valid translations.
Definition at line 68 of file Translation.h.
|
private |
The main translations array
Definition at line 65 of file Translation.h.