|
Barrelfish
|
Architecture-independent bootstrap code. More...
Macros | |
| #define | CNODE(cte) get_address(&(cte)->cap) |
| Quick way to find the base address of a cnode capability. | |
Functions | |
| errval_t | create_caps_to_cnode (lpaddr_t base_addr, size_t size, enum region_type type, struct spawn_state *st, struct bootinfo *bootinfo) |
| Create caps in 'cnode'. More... | |
| lpaddr_t | app_alloc_phys (size_t size) |
| lpaddr_t | bsp_alloc_phys (size_t size) |
| Linear physical memory allocator. More... | |
Variables | |
| struct kcb * | kcb_current = NULL |
| flag that indicates whether kcb scheduling should happen | |
| lpaddr_t | bsp_init_alloc_addr = 0 |
Architecture-independent bootstrap code.
| lpaddr_t app_alloc_phys | ( | size_t | size | ) |
Allocate physical memory during kernel startup for application cores. Allocations are always rounded up to multiple pages.
| size | The number of bytes to allocate. |
| lpaddr_t bsp_alloc_phys | ( | size_t | size | ) |
Linear physical memory allocator.
This function allocates a linear region of addresses of size 'size' from physical memory.
| size | Number of bytes to allocate. |
| errval_t create_caps_to_cnode | ( | lpaddr_t | base_addr, |
| size_t | size, | ||
| enum region_type | type, | ||
| struct spawn_state * | st, | ||
| struct bootinfo * | bootinfo | ||
| ) |
Create caps in 'cnode'.
This function creates untyped caps to the RAM at physical address 'base_addr' and size 'size' and adds them to a cnode for the init task. The bootinfo is updated accordingly.
| base_addr | The physical base address of the RAM for which caps have to be created |
| size | The size of the physical region |
| type | Region type to create |
| st | spawn_state structure to update |
| bootinfo | bootinfo structure to update |
| lpaddr_t bsp_init_alloc_addr = 0 |
The address from where bsp_alloc_phys will start allocating memory
1.8.11