34a35
> #include <string>
35a37,39
> #include "arch/x86/x86_traits.hh"
> #include "mem/mem_object.hh"
> #include "mem/mport.hh"
42a47,81
> protected:
> class IntPort : public MessagePort
> {
> IntDev * device;
> Tick latency;
> Addr intAddr;
> public:
> IntPort(const std::string &_name, MemObject * _parent,
> IntDev *dev, Tick _latency) :
> MessagePort(_name, _parent), device(dev), latency(_latency)
> {
> }
>
> void getDeviceAddressRanges(AddrRangeList &resp, bool &snoop)
> {
> snoop = false;
> device->getIntAddrRange(resp);
> }
>
> Tick recvMessage(PacketPtr pkt)
> {
> return device->recvMessage(pkt);
> }
>
> void recvStatusChange(Status status)
> {
> if (status == RangeChange) {
> sendStatusChange(Port::RangeChange);
> }
> }
>
> };
>
> IntPort * intPort;
>
43a83,92
> IntDev(MemObject * parent, Tick latency = 0)
> {
> if (parent != NULL) {
> intPort = new IntPort(parent->name() + ".int_port",
> parent, this, latency);
> } else {
> intPort = NULL;
> }
> }
>
45a95
>
47c97,113
< signalInterrupt(int line) = 0;
---
> signalInterrupt(int line)
> {
> panic("signalInterrupt not implemented.\n");
> }
>
> virtual Tick
> recvMessage(PacketPtr pkt)
> {
> panic("recvMessage not implemented.\n");
> return 0;
> }
>
> virtual void
> getIntAddrRange(AddrRangeList &range_list)
> {
> panic("intAddrRange not implemented.\n");
> }