Contains common code for nova programms. More...
#include <program.h>
Public Member Functions | |
| NovaProgram () | |
Static Public Member Functions | |
| static void | exit (const char *msg) |
| Default exit function. | |
Protected Member Functions | |
| Utcb * | alloc_utcb () |
| Alloc a region of virtual memory to put an EC into. | |
| template<class C > | |
| unsigned | create_ec_helper (C *tls, unsigned cpunr, unsigned excbase, Utcb **utcb_out=0, void *func=0, unsigned cap=alloc_cap()) |
| Create an ec and setup the stack. | |
| unsigned | init (Hip *hip) |
| Initialize ourself. | |
| void | init_mem (Hip *hip) |
| Init the memory map from the HIP as we get them from sigma0. | |
| void | __attribute__ ((noreturn)) block_forever() |
| Block ourself. | |
Protected Attributes | |
| Hip * | _hip |
| unsigned | _cap_block |
| RegionList< 512 > | _free_virt |
| RegionList< 512 > | _free_phys |
| RegionList< 512 > | _virt_phys |
Contains common code for nova programms.
| NovaProgram::NovaProgram | ( | ) | [inline] |
| void NovaProgram::__attribute__ | ( | (noreturn) | ) | [inline, protected] |
Block ourself.
| Utcb* NovaProgram::alloc_utcb | ( | ) | [inline, protected] |
Alloc a region of virtual memory to put an EC into.
| unsigned NovaProgram::create_ec_helper | ( | C * | tls, | |
| unsigned | cpunr, | |||
| unsigned | excbase, | |||
| Utcb ** | utcb_out = 0, |
|||
| void * | func = 0, |
|||
| unsigned | cap = alloc_cap() | |||
| ) | [inline, protected] |
Create an ec and setup the stack.
| static void NovaProgram::exit | ( | const char * | msg | ) | [inline, static] |
Default exit function.
| unsigned NovaProgram::init | ( | Hip * | hip | ) | [inline, protected] |
Initialize ourself.
| void NovaProgram::init_mem | ( | Hip * | hip | ) | [inline, protected] |
Init the memory map from the HIP as we get them from sigma0.
unsigned NovaProgram::_cap_block [protected] |
RegionList<512> NovaProgram::_free_phys [protected] |
RegionList<512> NovaProgram::_free_virt [protected] |
Hip* NovaProgram::_hip [protected] |
RegionList<512> NovaProgram::_virt_phys [protected] |
1.7.1