#include <pageframetable.h>
Collaboration diagram for Zygoma::PageFrameTable:
It does this by associating a 16-bit integer with each (potential) page frame in physical RAM. The index of this 16-bit integer is the index of the page frame (using the underlying architecture's page frame size).
Public Types | |
STL-compatible typedefs. | |
typedef PageFrame | value_type |
typedef value_type * | pointer |
typedef const value_type * | const_pointer |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef PageFrameTableIterator | iterator |
typedef const PageFrameTableIterator | const_iterator |
typedef PageFrameTableIterator::difference_type | difference_type |
typedef std::size_t | size_type |
Public Member Functions | |
size_type | size () const |
Returns the size of the page frame table in bytes. | |
size_type | max_size () const |
Returns the maximum possible size for the page table. | |
bool | empty () const |
Indicates if the page frane table is empty. | |
Page Frame Access | |
iterator | begin () |
Returns the index of the first page frame with addressable memory. | |
const_iterator | begin () const |
iterator | end () |
Returns the index one-past-the-end of the page frame with the highest addressable memory. | |
const_iterator | end () const |
iterator | find (PhysicalAddress address) |
Determines the page frame index of a physical address. | |
Comparison operations | |
bool | equals (const PageFrameTable &rhs) const |
Static Public Member Functions | |
static PageFrameTable * | create (PhysicalAddress base, PhysicalAddress himem) |
Creates the page frame table at a known address. | |
Friends | |
class | PageFrameTableIterator |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns the index of the first page frame with addressable memory.
|
|
Creates the page frame table at a known address.
Construction of the page frame table is done through this factory function because at the point at which it's created, the actual size of the page frame table is unknown. It is calculated from the
|
|
Indicates if the page frane table is empty. This function is supplied for compatibility with the C++ standard library. |
|
|
|
Returns the index one-past-the-end of the page frame with the highest addressable memory.
|
|
|
|
Determines the page frame index of a physical address.
|
|
Returns the maximum possible size for the page table. This function is supplied for compatibility with the C++ standard library. Here is the call graph for this function: |
|
Returns the size of the page frame table in bytes. The size of the page frame table depends on the number of page frames (which is a function of the amount of addressable memory in the system). It is calculated by adding the number of frames times the size of a frame entry to the base size of the table.
|
|
|