Line 54... |
Line 54... |
// Same thing, except this returns immediately after
|
// Same thing, except this returns immediately after
|
// clearing any potentially pending interrupts
|
// clearing any potentially pending interrupts
|
// If the timeout < 0, clears any pending timeout wakeup
|
// If the timeout < 0, clears any pending timeout wakeup
|
// If the timeout > 0, sets a pending timeout wakeup and
|
// If the timeout > 0, sets a pending timeout wakeup and
|
// returns.
|
// returns.
|
// If the timeout == 0, does nothing.
|
// If the timeout == 0, clears the respective interrupt
|
|
// slash event, and does nothing more.
|
TRAPID_WAIT, TRAPID_CLEAR, TRAPID_POST,
|
TRAPID_WAIT, TRAPID_CLEAR, TRAPID_POST,
|
// Yield: Yields the processor until the next scheduled time slice.
|
// Yield: Yields the processor until the next scheduled time slice.
|
TRAPID_YIELD,
|
TRAPID_YIELD,
|
TRAPID_READ, TRAPID_WRITE,
|
TRAPID_READ, TRAPID_WRITE,
|
TRAPID_TIME,
|
TRAPID_TIME,
|
// Return from a kernel system call. This is necessary if ever an
|
// Return from a kernel system call. This is necessary if ever an
|
// exception triggers a syste call. In such cases, it will be
|
// exception triggers a system call. In such cases, it will be
|
// impossible to return the caller back to his context in a pristine
|
// impossible to return the caller back to his context in a pristine
|
// manner ... without help.
|
// manner ... without help.
|
// TRAPID_KRETURN
|
// TRAPID_KRETURN,
|
// Semaphore ID's. These allow us to run the rest of the trap
|
// Semaphore ID's. These allow us to run the rest of the trap
|
// stuffs in kernel space
|
// stuffs in kernel space
|
TRAPID_SEMGET, TRAPID_SEMPUT, TRAPID_SEMNEW,
|
TRAPID_SEMGET, TRAPID_SEMPUT, TRAPID_SEMNEW,
|
// Malloc--since we're using a system level malloc, from a system
|
// Malloc--since we're using a system level malloc, from a system
|
// heap for everything, malloc/free require system calls
|
// heap for everything, malloc/free require system calls
|