summaryrefslogtreecommitdiff
path: root/src/dev/x86/i8259.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2008-10-11 01:28:35 -0700
committerGabe Black <gblack@eecs.umich.edu>2008-10-11 01:28:35 -0700
commitcf9afbba510ceac86e011a4b37ec848cd7f7a6ed (patch)
tree7db24090520ca60681a362006bc983658cbd08f5 /src/dev/x86/i8259.hh
parent2753c07dc5131972d1dcbb7628e2f0712c778fec (diff)
downloadgem5-cf9afbba510ceac86e011a4b37ec848cd7f7a6ed.tar.xz
X86: Make the I8259 decipher the commands it's given, and add some of it's registers.
Diffstat (limited to 'src/dev/x86/i8259.hh')
-rw-r--r--src/dev/x86/i8259.hh15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/dev/x86/i8259.hh b/src/dev/x86/i8259.hh
index a2f245513..131adc93f 100644
--- a/src/dev/x86/i8259.hh
+++ b/src/dev/x86/i8259.hh
@@ -43,6 +43,19 @@ class I8259 : public BasicPioDevice
Tick latency;
bool master;
+ // Interrupt Request Register
+ uint8_t IRR;
+ // In Service Register
+ uint8_t ISR;
+ // Interrupt Mask Register
+ uint8_t IMR;
+
+ bool edgeTriggered;
+ bool cascadeMode;
+ bool expectICW4;
+ bool readIRR;
+ int initControlWord;
+
public:
typedef I8259Params Params;
@@ -55,6 +68,8 @@ class I8259 : public BasicPioDevice
I8259(Params * p) : BasicPioDevice(p)
{
pioSize = 2;
+ initControlWord = 0;
+ readIRR = true;
latency = p->pio_latency;
master = p->master;
}