summaryrefslogtreecommitdiff
path: root/src/arch/x86/faults.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2008-10-12 13:45:21 -0700
committerGabe Black <gblack@eecs.umich.edu>2008-10-12 13:45:21 -0700
commitec9d3aad71ec75b3f7b5ea96dd41f067a9261392 (patch)
treeace8a36db527092dc6bcde234aad5d85c1e20c17 /src/arch/x86/faults.hh
parent876f4845f258ed09d348135d8af8cf4a17de1b8a (diff)
downloadgem5-ec9d3aad71ec75b3f7b5ea96dd41f067a9261392.tar.xz
X86: Make the local APIC process interrupts and send them to the CPU.
Diffstat (limited to 'src/arch/x86/faults.hh')
-rw-r--r--src/arch/x86/faults.hh22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/arch/x86/faults.hh b/src/arch/x86/faults.hh
index 8fe90299d..b15ad15d1 100644
--- a/src/arch/x86/faults.hh
+++ b/src/arch/x86/faults.hh
@@ -215,9 +215,10 @@ namespace X86ISA
class NonMaskableInterrupt : public X86Interrupt
{
+ uint8_t vector;
public:
- NonMaskableInterrupt() :
- X86Interrupt("Non-Maskable-Interrupt", "#NMI")
+ NonMaskableInterrupt(uint8_t _vector) :
+ X86Interrupt("Non Maskable Interrupt", "#NMI"), vector(_vector)
{}
};
@@ -358,6 +359,23 @@ namespace X86ISA
{}
};
+ class SystemManagementInterrupt : public X86Interrupt
+ {
+ public:
+ SystemManagementInterrupt() :
+ X86Interrupt("System Management Interrupt", "#SMI")
+ {}
+ };
+
+ class InitInterrupt : public X86Interrupt
+ {
+ uint8_t vector;
+ public:
+ InitInterrupt(uint8_t _vector) :
+ X86Interrupt("INIT Interrupt", "#INIT"), vector(_vector)
+ {}
+ };
+
class SoftwareInterrupt : public X86Interrupt
{
public: