summaryrefslogtreecommitdiff
path: root/src/include/isv.h
blob: d9dfa1b10226ef489925eb175a9b0273100eb599 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef isv_defined
#define isv_defined

//TODO move to int.h

struct int_frame {
  void *rip;
  uint64_t segment_selector;
  uint64_t rflags;
  void *rsp;
  uint64_t stack_segment;
} __attribute__((packed));

struct exception_frame {
  uint64_t err;
  struct int_frame frame;
} __attribute__((packed));

__attribute__((interrupt)) void spurrious_int(void *unused);
__attribute__((interrupt)) void kernel_block(void *unused);
__attribute__((interrupt)) void fatal_hwexception(struct int_frame *frame);
__attribute__((interrupt)) void fatal_hwexception_errcode(struct exception_frame *frame);
__attribute__((interrupt)) void lapic_timer_racefixer(void *unused);

#endif