Barrelfish
|
x86_64 kernel bootup code. More...
Macros | |
#define | CNODE(cte) get_address(&(cte)->cap) |
Quick way to find the base address of a cnode capability. | |
#define | INIT_PDPT_SIZE X86_64_PDPT_ENTRIES(K1OM_INIT_SPACE_LIMIT) |
Functions | |
errval_t | startup_map_init (lvaddr_t vbase, lpaddr_t base, size_t size, uint32_t flags) |
Map init user-space memory. More... | |
x86_64 kernel bootup code.
#define INIT_PDPT_SIZE X86_64_PDPT_ENTRIES(K1OM_INIT_SPACE_LIMIT) |
init's needed boot pages.
errval_t startup_map_init | ( | lvaddr_t | vbase, |
lpaddr_t | base, | ||
size_t | size, | ||
uint32_t | flags | ||
) |
Map init user-space memory.
This function maps pages of the init user-space module. It expects the virtual base address 'vbase' of a program segment of the init executable, its size 'size' and its ELF64 access control flags. It maps pages to the sequential area of physical memory, given by 'base'. If you want to allocate physical memory frames as you go, you better use startup_alloc_init().
vbase | Virtual base address of program segment. |
base | Physical base address of program segment. |
size | Size of program segment in bytes. |
flags | ELF64 access control flags of program segment. |