Memory descriptors stored in the kernel interface page.
More...
#include <kip>
|
| Mem_desc (unsigned long start, unsigned long end, Mem_type t, unsigned char st=0, bool virt=false, bool eager=false) noexcept |
| Initialize memory descriptor.
|
|
unsigned long | start () const noexcept |
| Return start address of memory descriptor.
|
|
unsigned long | end () const noexcept |
| Return end address of memory descriptor.
|
|
unsigned long | size () const noexcept |
| Return size of region described by the memory descriptor.
|
|
Mem_type | type () const noexcept |
| Return type of the memory descriptor.
|
|
unsigned char | sub_type () const noexcept |
| Return sub-type of the memory descriptor.
|
|
unsigned | is_virtual () const noexcept |
| Return whether the memory descriptor describes a virtual or physical region.
|
|
unsigned | eager_map () const noexcept |
| Return whether the region shall be eligible for eager mapping in sigma0 or the root task.
|
|
void | set (unsigned long start, unsigned long end, Mem_type t, unsigned char st=0, bool virt=false, bool eager=false) noexcept |
| Set values of a memory descriptor.
|
|
|
static Mem_desc * | first (void *kip) noexcept |
| Get first memory descriptor.
|
|
static unsigned long | count (void const *kip) noexcept |
| Return number of memory descriptors stored in the kernel info page.
|
|
static void | count (void *kip, unsigned count) noexcept |
| Set number of memory descriptors.
|
|
static cxx::static_vector< Mem_desc const > | all (void const *kip) |
| Return enumerable list of memory descriptors.
|
|
static cxx::static_vector< Mem_desc > | all (void *kip) |
| Return enumerable list of memory descriptors.
|
|
Memory descriptors stored in the kernel interface page.
- Include File
-
Definition at line 53 of file kip.
◆ Arch_sub_type_common
Common sub types across all architectures for the Mem_type::Arch type.
Enumerator |
---|
Arch_acpi_tables | Firmware ACPI tables.
|
Arch_acpi_nvs | Firmware reserved address space.
|
Definition at line 83 of file kip.
◆ Info_sub_type
Memory sub types for the Mem_type::Info type.
Enumerator |
---|
Info_acpi_rsdp | Physical address of the ACPI root pointer.
|
Definition at line 75 of file kip.
◆ Mem_type
Memory types.
Enumerator |
---|
Undefined | Undefined memory.
|
Conventional | Conventional memory.
|
Reserved | Reserved region, do not use this memory.
|
Dedicated | Dedicated.
|
Shared | Shared.
|
Info | Info by boot loader.
|
Bootloader | Memory belongs to the boot loader.
|
Arch | Architecture specific memory.
|
Definition at line 59 of file kip.
◆ Mem_desc()
L4::Kip::Mem_desc::Mem_desc |
( |
unsigned long |
start, |
|
|
unsigned long |
end, |
|
|
Mem_type |
t, |
|
|
unsigned char |
st = 0 , |
|
|
bool |
virt = false , |
|
|
bool |
eager = false |
|
) |
| |
|
inlinenoexcept |
Initialize memory descriptor.
- Parameters
-
start | Start address |
end | End address |
t | Memory type |
st | Memory subtype, defaults to 0 |
virt | True for virtual memory, false for physical memory, defaults to physical |
eager | The region shall be eligible for eager mapping in sigma0 or the root task. This is just an optimization to prevent on-demand paging. |
Definition at line 179 of file kip.
◆ all() [1/2]
Return enumerable list of memory descriptors.
- Parameters
-
kip | Pointer to the kernel info page. |
Definition at line 160 of file kip.
References count(), and first().
◆ all() [2/2]
Return enumerable list of memory descriptors.
- Parameters
-
kip | Pointer to the kernel info page. |
Definition at line 149 of file kip.
References count(), and first().
◆ count() [1/2]
static void L4::Kip::Mem_desc::count |
( |
void * |
kip, |
|
|
unsigned |
count |
|
) |
| |
|
inlinestaticnoexcept |
Set number of memory descriptors.
- Parameters
-
kip | Pointer to the kernel info page |
count | Number of memory descriptors |
Definition at line 138 of file kip.
References count().
◆ count() [2/2]
static unsigned long L4::Kip::Mem_desc::count |
( |
void const * |
kip | ) |
|
|
inlinestaticnoexcept |
Return number of memory descriptors stored in the kernel info page.
- Parameters
-
kip | Pointer to the kernel info page |
- Returns
- Number of memory descriptors in the kernel info page.
Definition at line 126 of file kip.
Referenced by all(), all(), and count().
◆ end()
unsigned long L4::Kip::Mem_desc::end |
( |
| ) |
const |
|
inlinenoexcept |
Return end address of memory descriptor.
- Returns
- End address of memory descriptor
Definition at line 198 of file kip.
Referenced by set(), and size().
◆ first()
static Mem_desc * L4::Kip::Mem_desc::first |
( |
void * |
kip | ) |
|
|
inlinestaticnoexcept |
Get first memory descriptor.
- Parameters
-
kip | Pointer to the kernel info page |
- Returns
- First memory descriptor stored in the kernel info page
Definition at line 106 of file kip.
Referenced by all(), and all().
◆ is_virtual()
unsigned L4::Kip::Mem_desc::is_virtual |
( |
| ) |
const |
|
inlinenoexcept |
Return whether the memory descriptor describes a virtual or physical region.
- Returns
- True for virtual region, false for physical region.
Definition at line 230 of file kip.
◆ set()
void L4::Kip::Mem_desc::set |
( |
unsigned long |
start, |
|
|
unsigned long |
end, |
|
|
Mem_type |
t, |
|
|
unsigned char |
st = 0 , |
|
|
bool |
virt = false , |
|
|
bool |
eager = false |
|
) |
| |
|
inlinenoexcept |
Set values of a memory descriptor.
- Parameters
-
start | Start address |
end | End address |
t | Memory type |
st | Sub-type, defaults to 0 |
virt | Virtual or physical memory region, defaults to physical |
eager | The region shall be eligible for eager mapping in sigma0 or the root task. This is just an optimization to prevent on-demand paging. |
Definition at line 250 of file kip.
References end(), and start().
◆ size()
unsigned long L4::Kip::Mem_desc::size |
( |
| ) |
const |
|
inlinenoexcept |
Return size of region described by the memory descriptor.
- Returns
- Size of the region described by the memory descriptor
Definition at line 205 of file kip.
References end(), and start().
◆ start()
unsigned long L4::Kip::Mem_desc::start |
( |
| ) |
const |
|
inlinenoexcept |
Return start address of memory descriptor.
- Returns
- Start address of memory descriptor
Definition at line 191 of file kip.
Referenced by set(), and size().
◆ sub_type()
unsigned char L4::Kip::Mem_desc::sub_type |
( |
| ) |
const |
|
inlinenoexcept |
Return sub-type of the memory descriptor.
- Returns
- Sub-type of the memory descriptor
Definition at line 222 of file kip.
◆ type()
Mem_type L4::Kip::Mem_desc::type |
( |
| ) |
const |
|
inlinenoexcept |
Return type of the memory descriptor.
- Returns
- Type of the memory descriptor
Definition at line 212 of file kip.
The documentation for this class was generated from the following file: