1#ifndef THREADS_INTERRUPT_H
2#define THREADS_INTERRUPT_H
enum intr_level intr_set_level(enum intr_level)
Definition: interrupt.c:130
void intr_yield_on_return(void)
Definition: interrupt.c:269
void intr_register_ext(uint8_t vec, intr_handler_func *, const char *name)
Definition: interrupt.c:228
enum intr_level intr_enable(void)
Definition: interrupt.c:136
const char * intr_name(uint8_t vec)
Definition: interrupt.c:405
void intr_dump_frame(const struct intr_frame *)
Definition: interrupt.c:381
struct gp_registers __attribute__((packed))
bool intr_context(void)
Definition: interrupt.c:258
void intr_init(void)
Definition: interrupt.c:164
enum intr_level intr_disable(void)
Definition: interrupt.c:151
void intr_handler_func(struct intr_frame *)
Definition: interrupt.h:66
intr_level
Definition: interrupt.h:8
@ INTR_ON
Definition: interrupt.h:10
@ INTR_OFF
Definition: interrupt.h:9
enum intr_level intr_get_level(void)
Definition: interrupt.c:115
void intr_register_int(uint8_t vec, int dpl, enum intr_level, intr_handler_func *, const char *name)
Definition: interrupt.c:248
unsigned int uint32_t
Definition: stdint.h:26
uint64_t uintptr_t
Definition: stdint.h:36
unsigned char uint8_t
Definition: stdint.h:20
unsigned long long int uint64_t
Definition: stdint.h:29
unsigned short int uint16_t
Definition: stdint.h:23
Definition: interrupt.h:19
uint64_t rbp
Definition: interrupt.h:30
uint64_t r12
Definition: interrupt.h:23
uint64_t r14
Definition: interrupt.h:21
uint64_t rax
Definition: interrupt.h:34
uint64_t rdi
Definition: interrupt.h:29
uint64_t r8
Definition: interrupt.h:27
uint64_t rbx
Definition: interrupt.h:33
uint64_t r11
Definition: interrupt.h:24
uint64_t r13
Definition: interrupt.h:22
uint64_t r10
Definition: interrupt.h:25
uint64_t r15
Definition: interrupt.h:20
uint64_t rsi
Definition: interrupt.h:28
uint64_t rdx
Definition: interrupt.h:31
uint64_t rcx
Definition: interrupt.h:32
uint64_t r9
Definition: interrupt.h:26
Definition: interrupt.h:37
uint32_t __pad6
Definition: interrupt.h:58
uint16_t __pad5
Definition: interrupt.h:57
uint16_t ss
Definition: interrupt.h:61
uint32_t __pad4
Definition: interrupt.h:46
uint16_t __pad3
Definition: interrupt.h:45
uintptr_t rip
Definition: interrupt.h:55
uint16_t __pad7
Definition: interrupt.h:62
uint64_t vec_no
Definition: interrupt.h:48
uint16_t es
Definition: interrupt.h:41
uint16_t ds
Definition: interrupt.h:44
uint16_t cs
Definition: interrupt.h:56
uint16_t __pad1
Definition: interrupt.h:42
uint32_t __pad2
Definition: interrupt.h:43
uint32_t __pad8
Definition: interrupt.h:63
uint64_t eflags
Definition: interrupt.h:59
struct gp_registers R
Definition: interrupt.h:40
uintptr_t rsp
Definition: interrupt.h:60
uint64_t error_code
Definition: interrupt.h:52