|
NOVA User-Level Environment
Version testbox/changed-memory-timing-317-g320d8b5
|
Contains common code for nova programms. More...
#include <program.h>
Public Member Functions | |
| NovaProgram () | |
Public Member Functions inherited from CapAllocator | |
| CapAllocator (unsigned long cap_, unsigned long cap_start, unsigned long cap_order) | |
| unsigned | alloc_cap (unsigned count=1) |
| void | dealloc_cap (unsigned cap, unsigned count=1) |
Static Public Member Functions | |
| static void | exit (const char *msg) |
| Default exit function. | |
Static Public Member Functions inherited from BaseProgram | |
| static Utcb * | myutcb (unsigned long esp=0) |
| Get the UTCB pointer from the top of the stack, which is laid out as follows: | |
| static phy_cpu_no | mycpu () |
| Return my CPU number. | |
| static void | revoke_all_mem (void *address, unsigned long size, unsigned rights, bool myself) |
| Revoke all memory for a given virtual region. | |
| static Crd | request_mapping (char *start, unsigned long size, unsigned long hotspot) |
| Request the mapping for a memory area. | |
Protected Member Functions | |
| Utcb * | alloc_utcb () |
| Alloc a region of virtual memory to put an EC into. | |
| template<class C > | |
| __attribute__ ((nonnull(6))) unsigned create_ec_helper(C *tls | |
| Create an EC and setup the stack. | |
| 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 |
| phy_cpu_no | cpunr |
| phy_cpu_no unsigned | excbase |
| phy_cpu_no unsigned Utcb ** | utcb_out |
| phy_cpu_no unsigned Utcb void * | func |
| phy_cpu_no unsigned Utcb void unsigned long | cap = ~0UL |
| phy_cpu_no unsigned Utcb void unsigned long bool | local |
Private Types | |
| enum | { VIRT_START = 0x1000, UTCB_PAD = 0x1000 } |
Additional Inherited Members | |
Public Attributes inherited from CapAllocator | |
| unsigned long | _cap_ |
| unsigned long | _cap_start |
| unsigned long | _cap_order |
Static Public Attributes inherited from BaseProgram | |
| static const unsigned | stack_size_shift = 12 |
| static const unsigned | stack_size = (1U << stack_size_shift) |
Contains common code for nova programms.
|
inline |
|
protected |
Create an EC and setup the stack.
| tls | Pointer passed to func as the first parameter |
|
inlineprotected |
Block ourself.
Reimplemented in Cycleburner, and Tutor.
|
inlineprotected |
Alloc a region of virtual memory to put an EC into.
|
inlinestatic |
Default exit function.
|
inlineprotected |
Init the memory map from the HIP as we get them from sigma0.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |