63a64
> #include "dev/io_device.hh"
73c74
< class Interrupts : public SimObject
---
> class Interrupts : public BasicPioDevice
76a78,79
> Tick latency;
> Tick clock;
94a98,102
> void setClock(Tick newClock)
> {
> clock = newClock;
> }
>
101,102c109,110
< uint32_t readRegNoEffect(ApicRegIndex reg);
< uint32_t readReg(ApicRegIndex miscReg, ThreadContext *tc);
---
> Tick read(PacketPtr pkt);
> Tick write(PacketPtr pkt);
104,105c112,117
< void setRegNoEffect(ApicRegIndex reg, uint32_t val);
< void setReg(ApicRegIndex reg, uint32_t val, ThreadContext *tc);
---
> void addressRanges(AddrRangeList &range_list)
> {
> range_list.clear();
> range_list.push_back(RangeEx(x86LocalAPICAddress(0, 0),
> x86LocalAPICAddress(0, 0) + PageBytes));
> }
107c119,121
< Interrupts(Params * p) : SimObject(p)
---
> uint32_t readReg(ApicRegIndex miscReg);
> void setReg(ApicRegIndex reg, uint32_t val);
> void setRegNoEffect(ApicRegIndex reg, uint32_t val)
108a123,129
> regs[reg] = val;
> }
>
> Interrupts(Params * p) : BasicPioDevice(p),
> latency(p->pio_latency), clock(0)
> {
> pioSize = PageBytes;