blob: c35c8ca076d29c18e5106bcef998d86e5fa8375a (
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#pragma once
#define DIVIDE_ZER0_EXCEPTION 0x0
#define DEBUG_EXCEPTION 0x1
#define NONMASKABLE_EXCEPTION 0x2
#define BREAKPOINT_EXCEPTION 0x3
#define OVERFLOW_EXCEPTION 0x4
#define BOUND_RANGE_EXCEPTION 0x5
#define INVALID_OPCODE_EXCEPTION 0x6
#define DEVICE_NOT_AVAILABLE_EXCEPTION 0x7
#define DOUBLE_FAULT_EXCEPTION 0x8
#define INVALID_TSS_EXCEPTION 0x10
#define SEGMENT_NOT_PRESENT_EXCEPTION 0x11
#define STACK_EXCEPTION 0xc
#define GENERAL_PROTECTION_EXCEPTION 0xd
#define PAGE_FAULT_EXCEPTION 0xe
#define X87_FLOAT_EXCEPTION 0x10
#define ALIGNMENT_CHECK_EXCEPTION 0x11
#define MACHINE_CHECK_EXCEPTION 0x12
#define SIMD_FLOAT_EXCEPTION 0x13
#ifndef __ASSEMBLER__
void general_protection_isr();
void general_protection_handler();
void page_fault_isr();
void page_fault_handler();
void exceptions_init(void);
#else
.macro EXCEPTION_DECLARE name:req, vec:req
.hidden \name\()_isr
.global \name\()_isr
.extern \name\()_handler
.type \name\()_isr, @function
.endm
#endif
|