A simple program that allows to get the UTCB pointer from the stack.
More...
#include <baseprogram.h>
Static Public Member Functions |
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.
|
Detailed Description
A simple program that allows to get the UTCB pointer from the stack.
Member Function Documentation
static Utcb* BaseProgram::myutcb |
( |
unsigned long |
esp = 0 | ) |
|
|
inlinestatic |
Get the UTCB pointer from the top of the stack, which is laid out as follows:
- 4: UTCB
- 8: dummy -12: UTCB -16: TLS -20: function pointer
This layout is chosen to make the stack 16-byte aligned.
static Crd BaseProgram::request_mapping |
( |
char * |
start, |
|
|
unsigned long |
size, |
|
|
unsigned long |
hotspot |
|
) |
| |
|
inlinestatic |
Request the mapping for a memory area.
static void BaseProgram::revoke_all_mem |
( |
void * |
address, |
|
|
unsigned long |
size, |
|
|
unsigned |
rights, |
|
|
bool |
myself |
|
) |
| |
|
inlinestatic |
Revoke all memory for a given virtual region.
Member Data Documentation
const unsigned BaseProgram::stack_size = (1U << stack_size_shift) |
|
static |
const unsigned BaseProgram::stack_size_shift = 12 |
|
static |
The documentation for this struct was generated from the following file: