1#ifndef THREADS_INTERRUPT_H
2#define THREADS_INTERRUPT_H
enum intr_level intr_set_level(enum intr_level)
Enables or disables interrupts as specified by LEVEL and returns the previous interrupt status.
void intr_yield_on_return(void)
During processing of an external interrupt, directs the interrupt handler to yield to a new process j...
void intr_register_ext(uint8_t vec, intr_handler_func *, const char *name)
Registers external interrupt VEC_NO to invoke HANDLER, which is named NAME for debugging purposes.
enum intr_level intr_enable(void)
Enables interrupts and returns the previous interrupt status.
const char * intr_name(uint8_t vec)
threads/interrupt.h
void intr_dump_frame(const struct intr_frame *)
Dumps interrupt frame F to the console, for debugging.
bool intr_context(void)
Returns true during processing of an external interrupt and false at all other times.
void intr_init(void)
Initializes the interrupt system.
enum intr_level intr_disable(void)
Disables interrupts and returns the previous interrupt status.
void intr_handler_func(struct intr_frame *)
intr_level
Interrupts on or off?
@ INTR_ON
Interrupts enabled.
@ INTR_OFF
Interrupts disabled.
enum intr_level intr_get_level(void)
Returns the current interrupt status.
void intr_register_int(uint8_t vec, int dpl, enum intr_level, intr_handler_func *, const char *name)
Registers internal interrupt VEC_NO to invoke HANDLER, which is named NAME for debugging purposes.
unsigned short int uint16_t
void * frame_pointer
Saved EBP (frame pointer).
uint16_t uint32_t eflags
Code segment for eip.
void(* eip)(void)
Next instruction to execute.
uint16_t uint16_t fs
Saved GS segment register.
uint16_t uint16_t uint16_t uint16_t uint32_t vec_no
Saved DS segment register.
uint32_t esp_dummy
Not used.
uint32_t error_code
Error code.
uint16_t uint16_t uint16_t es
Saved FS segment register.
uint16_t uint16_t uint16_t uint16_t ds
Saved ES segment register.
void * esp
Saved stack pointer.