diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2008-10-12 13:45:21 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2008-10-12 13:45:21 -0700 |
commit | ec9d3aad71ec75b3f7b5ea96dd41f067a9261392 (patch) | |
tree | ace8a36db527092dc6bcde234aad5d85c1e20c17 /src/arch/x86/faults.hh | |
parent | 876f4845f258ed09d348135d8af8cf4a17de1b8a (diff) | |
download | gem5-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.hh | 22 |
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: |