|
The Pedigree Project
0.1
|
Implementation of the PhysicalMemoryManager for common mips. More...
#include <PhysicalMemoryManager.h>
Inheritance diagram for MipsCommonPhysicalMemoryManager:
Collaboration diagram for MipsCommonPhysicalMemoryManager:Public Member Functions | |
| virtual physical_uintptr_t | allocatePage () |
| virtual void | freePage (physical_uintptr_t page) |
| virtual bool | allocateRegion (MemoryRegion &Region, size_t cPages, size_t pageConstraints, size_t Flags, physical_uintptr_t start=-1) |
Public Member Functions inherited from PhysicalMemoryManager | |
| virtual physical_uintptr_t | allocatePage (size_t pageConstraints=0)=0 |
| virtual void | pin (physical_uintptr_t page)=0 |
| void | allocateMemoryRegionList (Vector< MemoryRegionInfo * > &MemoryRegions) |
| void | freeMemoryRegionList (Vector< MemoryRegionInfo * > &MemoryRegions) |
| virtual size_t | freePageCount () const |
Static Public Member Functions | |
| static MipsCommonPhysicalMemoryManager & | instance () |
Static Public Member Functions inherited from PhysicalMemoryManager | |
| static PhysicalMemoryManager & | instance () |
| static size_t | getPageSize () PURE |
Protected Member Functions | |
| MipsCommonPhysicalMemoryManager () | |
| virtual | ~MipsCommonPhysicalMemoryManager () |
Protected Member Functions inherited from PhysicalMemoryManager | |
| PhysicalMemoryManager () | |
| virtual | ~PhysicalMemoryManager () |
Private Member Functions | |
| MipsCommonPhysicalMemoryManager (const MipsCommonPhysicalMemoryManager &) | |
| MipsCommonPhysicalMemoryManager & | operator= (const MipsCommonPhysicalMemoryManager &) |
Private Attributes | |
| uintptr_t | m_NextPage |
Static Private Attributes | |
| static MipsCommonPhysicalMemoryManager | m_Instance |
Additional Inherited Members | |
Static Public Attributes inherited from PhysicalMemoryManager | |
| static const size_t | continuous = 1 << 0 |
| static const size_t | nonRamMemory = 1 << 1 |
| static const size_t | force = 1 << 2 |
| static const size_t | virtualOnly = 1 << 3 |
| static const size_t | below1MB = 1 << 4 |
| static const size_t | below16MB = 1 << 5 |
| static const size_t | below4GB = 1 << 6 |
| static const size_t | below64GB = 1 << 7 |
| static const size_t | addressConstraints |
| static const size_t | anonymous = 1 << 8 |
Protected Attributes inherited from PhysicalMemoryManager | |
| Vector< MemoryRegion * > | m_MemoryRegions |
Implementation of the PhysicalMemoryManager for common mips.
Definition at line 34 of file kernel/core/processor/mips_common/PhysicalMemoryManager.h.
|
protected |
The constructor
Definition at line 45 of file mips_common/PhysicalMemoryManager.cc.
Referenced by instance().
Here is the caller graph for this function:
|
protectedvirtual |
The destructor
Definition at line 49 of file mips_common/PhysicalMemoryManager.cc.
Referenced by instance().
Here is the caller graph for this function:
|
private |
The copy-constructor
|
virtual |
Allocate a memory-region with specific constraints the pages need to fullfill.
| [in] | Region | reference to the MemoryRegion object |
| [in] | cPages | the number of pages to allocate for the MemoryRegion object |
| [in] | pageConstraints | the constraints the pages have to fullfill |
| [in] | Flags | flags from the VirtualAddressSpace class namespace |
| [in] | start | the physical address of the beginning of the region (optional) |
Implements PhysicalMemoryManager.
Definition at line 37 of file mips_common/PhysicalMemoryManager.cc.
Referenced by instance().
Here is the caller graph for this function:
|
virtual |
Free a page allocated with the allocatePage() function
| [in] | page | physical address of the page |
Implements PhysicalMemoryManager.
Definition at line 33 of file mips_common/PhysicalMemoryManager.cc.
Referenced by instance().
Here is the caller graph for this function:
|
inlinestatic |
Get the MipsCommonPhysicalMemoryManager instance
Definition at line 39 of file kernel/core/processor/mips_common/PhysicalMemoryManager.h.
References allocateRegion(), freePage(), m_Instance, MipsCommonPhysicalMemoryManager(), operator=(), and ~MipsCommonPhysicalMemoryManager().
|
private |
The copy-constructor
Referenced by instance().
Here is the caller graph for this function:
|
staticprivate |
The MipsCommonPhysicalMemoryManager class instance
Definition at line 71 of file kernel/core/processor/mips_common/PhysicalMemoryManager.h.
Referenced by instance().
1.8.11