Barrelfish
Macros | Functions
startup_arch.c File Reference

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(X86_64_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...
 

Detailed Description

x86_64 kernel bootup code.

Macro Definition Documentation

#define INIT_PDPT_SIZE   X86_64_PDPT_ENTRIES(X86_64_INIT_SPACE_LIMIT)

init's needed boot pages.

Function Documentation

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().

Parameters
vbaseVirtual base address of program segment.
basePhysical base address of program segment.
sizeSize of program segment in bytes.
flagsELF64 access control flags of program segment.