summaryrefslogtreecommitdiff
path: root/src/dev/x86/i82094aa.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev/x86/i82094aa.hh')
-rw-r--r--src/dev/x86/i82094aa.hh15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/dev/x86/i82094aa.hh b/src/dev/x86/i82094aa.hh
index b442e3e92..6c874a5f9 100644
--- a/src/dev/x86/i82094aa.hh
+++ b/src/dev/x86/i82094aa.hh
@@ -60,6 +60,7 @@ class I82094AA : public PioDevice, public IntDev
EndBitUnion(RedirTableEntry)
protected:
+ System * system;
Tick latency;
Addr pioAddr;
@@ -95,9 +96,23 @@ class I82094AA : public PioDevice, public IntDev
range_list.push_back(RangeEx(pioAddr + 16, pioAddr + 20));
}
+ void getIntAddrRange(AddrRangeList &range_list)
+ {
+ range_list.clear();
+ range_list.push_back(RangeEx(x86InterruptAddress(1, 0),
+ x86InterruptAddress(1, 0) + PhysAddrAPICRangeSize));
+ }
+
void writeReg(uint8_t offset, uint32_t value);
uint32_t readReg(uint8_t offset);
+ Port *getPort(const std::string &if_name, int idx = -1)
+ {
+ if (if_name == "int_port")
+ return intPort;
+ return PioDevice::getPort(if_name, idx);
+ }
+
void signalInterrupt(int line);
};