summaryrefslogtreecommitdiff
path: root/src/dev/x86/i8259.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-04-19 04:15:06 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-04-19 04:15:06 -0700
commite174239bd8aa389fb39d8600b22dc1095a0dccf2 (patch)
tree1bc0714eeafdcb11236f359c2d2b056314cd805b /src/dev/x86/i8259.hh
parent25e223c30fb97d98aa55ee21922883efa25a1ab5 (diff)
downloadgem5-e174239bd8aa389fb39d8600b22dc1095a0dccf2.tar.xz
X86: Mask the PIC at startup to avoid a glitch which causes an NMI.
Diffstat (limited to 'src/dev/x86/i8259.hh')
-rw-r--r--src/dev/x86/i8259.hh14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/dev/x86/i8259.hh b/src/dev/x86/i8259.hh
index dfb56646a..a9c5baa8c 100644
--- a/src/dev/x86/i8259.hh
+++ b/src/dev/x86/i8259.hh
@@ -39,8 +39,6 @@
namespace X86ISA
{
-class I82094AA;
-
class I8259 : public BasicPioDevice, public IntDev
{
protected:
@@ -94,6 +92,18 @@ class I8259 : public BasicPioDevice, public IntDev
Tick read(PacketPtr pkt);
Tick write(PacketPtr pkt);
+ void
+ maskAll()
+ {
+ IMR = 0xFF;
+ }
+
+ void
+ unmaskAll()
+ {
+ IMR = 0x00;
+ }
+
void signalInterrupt(int line);
void raiseInterruptPin(int number);
void lowerInterruptPin(int number);