Xyris
0.5
Interrupts.h
Go to the documentation of this file.
1
/**
2
* @file Interrupts.h
3
* @author Keeton Feavel (
[email protected]
)
4
* @brief Interrupt/Exception stub functions and handlers
5
* @version 0.1
6
* @date 2022-01-04
7
*
8
* @copyright Copyright the Xyris Contributors (c) 2022
9
*
10
*/
11
#pragma once
12
#include <
Arch/i686/regs.hpp
>
13
14
namespace
Interrupts
{
15
16
extern
"C"
{
17
18
// Exception stubs
19
void
exception0
();
20
void
exception1
();
21
void
exception2
();
22
void
exception3
();
23
void
exception4
();
24
void
exception5
();
25
void
exception6
();
26
void
exception7
();
27
void
exception8
();
28
void
exception9
();
29
void
exception10
();
30
void
exception11
();
31
void
exception12
();
32
void
exception13
();
33
void
exception14
();
34
void
exception15
();
35
void
exception16
();
36
void
exception17
();
37
void
exception18
();
38
void
exception19
();
39
void
exception20
();
40
void
exception21
();
41
void
exception22
();
42
void
exception23
();
43
void
exception24
();
44
void
exception25
();
45
void
exception26
();
46
void
exception27
();
47
void
exception28
();
48
void
exception29
();
49
void
exception30
();
50
void
exception31
();
51
52
// Interrupt stubs
53
void
interrupt0
();
54
void
interrupt1
();
55
void
interrupt2
();
56
void
interrupt3
();
57
void
interrupt4
();
58
void
interrupt5
();
59
void
interrupt6
();
60
void
interrupt7
();
61
void
interrupt8
();
62
void
interrupt9
();
63
void
interrupt10
();
64
void
interrupt11
();
65
void
interrupt12
();
66
void
interrupt13
();
67
void
interrupt14
();
68
void
interrupt15
();
69
70
/**
71
* @brief CPU exception handler. Must be available for each exception
72
* stub to be able to call.
73
*
74
* @param regs CPU registers structure
75
*/
76
void
exceptionHandler
(
struct
registers
* regs);
77
78
/**
79
* @brief CPU interrupt handler. Must be available for each interrupt
80
* stub to be able to call.
81
*
82
* @param regs CPU registers structure
83
*/
84
void
interruptHandler
(
struct
registers
* regs);
85
86
}
// !extern "C"
87
88
}
// !namespace Interrupts
Interrupts::exception2
void exception2()
Interrupts::exception30
void exception30()
Interrupts::interrupt15
void interrupt15()
Interrupts::interrupt1
void interrupt1()
Interrupts::exception24
void exception24()
Interrupts::interrupt6
void interrupt6()
Interrupts::interruptHandler
void interruptHandler(struct registers *regs)
CPU interrupt handler. Must be available for each interrupt stub to be able to call.
Definition:
isr.cpp:39
Interrupts::interrupt5
void interrupt5()
Interrupts::exception17
void exception17()
Interrupts::exception12
void exception12()
Interrupts::exception18
void exception18()
Interrupts
Definition:
Interrupts.h:14
Interrupts::exception31
void exception31()
Interrupts::interrupt3
void interrupt3()
registers
A structure definining values for all x86 registers. Cannot be namespaced due to C linkage and ASM in...
Definition:
regs.hpp:19
regs.hpp
i686 control register definitions. C & C++ compatible header.
Interrupts::exception19
void exception19()
Interrupts::interrupt8
void interrupt8()
Interrupts::exception7
void exception7()
Interrupts::interrupt10
void interrupt10()
Interrupts::exception16
void exception16()
Interrupts::exception0
void exception0()
Interrupts::interrupt13
void interrupt13()
Interrupts::exception5
void exception5()
Interrupts::exception1
void exception1()
Interrupts::interrupt4
void interrupt4()
Interrupts::exception26
void exception26()
Interrupts::exception10
void exception10()
Interrupts::interrupt12
void interrupt12()
Interrupts::exception4
void exception4()
Interrupts::interrupt0
void interrupt0()
Interrupts::exception9
void exception9()
Interrupts::exception14
void exception14()
Interrupts::exception8
void exception8()
Interrupts::exception27
void exception27()
Interrupts::exception28
void exception28()
Interrupts::exception13
void exception13()
Interrupts::exception21
void exception21()
Interrupts::exception15
void exception15()
Interrupts::interrupt2
void interrupt2()
Interrupts::exception23
void exception23()
Interrupts::interrupt11
void interrupt11()
Interrupts::exception29
void exception29()
Interrupts::exception3
void exception3()
Interrupts::exception11
void exception11()
Interrupts::exception22
void exception22()
Interrupts::exception25
void exception25()
Interrupts::exception6
void exception6()
Interrupts::interrupt14
void interrupt14()
Interrupts::exception20
void exception20()
Interrupts::interrupt7
void interrupt7()
Interrupts::exceptionHandler
void exceptionHandler(struct registers *regs)
CPU exception handler. Must be available for each exception stub to be able to call.
Definition:
isr.cpp:29
Interrupts::interrupt9
void interrupt9()
Kernel
Arch
i686
Assembly
Interrupts.h
Generated by
1.8.17