Barrelfish
Functions
exec.c File Reference

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...
 

Detailed Description

x86-64 execution and miscellany

Function Documentation

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'.

Parameters
entryEntry 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.

Parameters
baseVirtual address of 64-bit word to monitor
lastvalPrevious value of word
extensionsProcessor-specific extensions (zero for defaults)
hintsProcessor-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.