Barrelfish
|
x86-64 execution and miscellany More...
Functions | |
void | reboot (void) |
Reboots the system. More... | |
void | breakpoint (void) |
Triggers a debugger breakpoint. | |
void | execute (lvaddr_t entry) |
Go to user-space at entry point 'entry'. More... | |
void | resume (arch_registers_state_t *state) |
Resume the given user-space snapshot. More... | |
void | wait_for_interrupt (void) |
Halt processor until an interrupt arrives. More... | |
void | monitor_mwait (lvaddr_t base, uint64_t lastval, uint32_t extensions, uint32_t hints) |
Use MONITOR/MWAIT to block until a given word changes. More... | |
x86-64 execution and miscellany
void execute | ( | lvaddr_t | entry | ) |
Go to user-space at entry point 'entry'.
This function goes to user-space and starts executing the program at its entry point at virtual address 'entry'.
entry | Entry point address of program to execute. |
void monitor_mwait | ( | lvaddr_t | base, |
uint64_t | lastval, | ||
uint32_t | extensions, | ||
uint32_t | hints | ||
) |
Use MONITOR/MWAIT to block until a given word changes.
base | Virtual address of 64-bit word to monitor |
lastval | Previous value of word |
extensions | Processor-specific extensions (zero for defaults) |
hints | Processor-specific hints (zero for defaults) |
Returns when the 64-bit word at base is not equal to lastval.
void reboot | ( | void | ) |
Reboots the system.
This function tries hard not to return.
void resume | ( | arch_registers_state_t * | state | ) |
Resume the given user-space snapshot.
This function resumes user-space execution by restoring the CPU registers with the ones given in the array, pointed to by 'regs'.
void wait_for_interrupt | ( | void | ) |
Halt processor until an interrupt arrives.
For use in the idle loop when nothing is runnable.