diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2006-05-26 14:17:33 -0400 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2006-05-26 14:17:33 -0400 |
commit | e533fad711fce66bf2e4a6669baeb8eaf02799e1 (patch) | |
tree | 0fdb6011df3204031dd1dec784649aa3cdac5613 /src/dev/ns_gige.cc | |
parent | da6a7b1263cf624790f06a5f944366fb113dffc8 (diff) | |
download | gem5-e533fad711fce66bf2e4a6669baeb8eaf02799e1.tar.xz |
Significant rework of Packet class interface:
- new constructor guarantees initialization of most fields
- flags track status of non-guaranteed fields (addr, size, src)
- accessor functions (getAddr() etc.) check status on access
- Command & Result classes are nested in Packet class scope
- Command now built from vector of behavior bits
- string version of Command for tracing
- reinitFromRequest() and makeTimingResponse() encapsulate
common manipulations of existing packets
src/cpu/simple/atomic.cc:
src/cpu/simple/base.cc:
src/cpu/simple/timing.cc:
src/dev/alpha_console.cc:
src/dev/ide_ctrl.cc:
src/dev/io_device.cc:
src/dev/io_device.hh:
src/dev/isa_fake.cc:
src/dev/ns_gige.cc:
src/dev/pciconfigall.cc:
src/dev/sinic.cc:
src/dev/tsunami_cchip.cc:
src/dev/tsunami_io.cc:
src/dev/tsunami_pchip.cc:
src/dev/uart8250.cc:
src/mem/bus.cc:
src/mem/bus.hh:
src/mem/physical.cc:
src/mem/port.cc:
src/mem/port.hh:
src/mem/request.hh:
Update for new Packet interface.
--HG--
extra : convert_revision : 9973d09ea4fa61795f23772a7d3995fa4df5c269
Diffstat (limited to 'src/dev/ns_gige.cc')
-rw-r--r-- | src/dev/ns_gige.cc | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/dev/ns_gige.cc b/src/dev/ns_gige.cc index 5e27db58d..963675847 100644 --- a/src/dev/ns_gige.cc +++ b/src/dev/ns_gige.cc @@ -496,9 +496,9 @@ NSGigE::read(Packet *pkt) pkt->allocate(); //The mask is to give you only the offset into the device register file - Addr daddr = pkt->addr & 0xfff; + Addr daddr = pkt->getAddr() & 0xfff; DPRINTF(EthernetPIO, "read da=%#x pa=%#x size=%d\n", - daddr, pkt->addr, pkt->size); + daddr, pkt->getAddr(), pkt->getSize()); // there are some reserved registers, you can see ns_gige_reg.h and @@ -506,25 +506,25 @@ NSGigE::read(Packet *pkt) if (daddr > LAST && daddr <= RESERVED) { panic("Accessing reserved register"); } else if (daddr > RESERVED && daddr <= 0x3FC) { - if (pkt->size == sizeof(uint8_t)) + if (pkt->getSize() == sizeof(uint8_t)) readConfig(daddr & 0xff, pkt->getPtr<uint8_t>()); - if (pkt->size == sizeof(uint16_t)) + if (pkt->getSize() == sizeof(uint16_t)) readConfig(daddr & 0xff, pkt->getPtr<uint16_t>()); - if (pkt->size == sizeof(uint32_t)) + if (pkt->getSize() == sizeof(uint32_t)) readConfig(daddr & 0xff, pkt->getPtr<uint32_t>()); - pkt->result = Success; + pkt->result = Packet::Success; return pioDelay; } else if (daddr >= MIB_START && daddr <= MIB_END) { // don't implement all the MIB's. hopefully the kernel // doesn't actually DEPEND upon their values // MIB are just hardware stats keepers pkt->set<uint32_t>(0); - pkt->result = Success; + pkt->result = Packet::Success; return pioDelay; } else if (daddr > 0x3FC) panic("Something is messed up!\n"); - assert(pkt->size == sizeof(uint32_t)); + assert(pkt->getSize() == sizeof(uint32_t)); uint32_t ® = *pkt->getPtr<uint32_t>(); uint16_t rfaddr; @@ -715,7 +715,7 @@ NSGigE::read(Packet *pkt) DPRINTF(EthernetPIO, "read from %#x: data=%d data=%#x\n", daddr, reg, reg); - pkt->result = Success; + pkt->result = Packet::Success; return pioDelay; } @@ -724,27 +724,27 @@ NSGigE::write(Packet *pkt) { assert(ioEnable); - Addr daddr = pkt->addr & 0xfff; + Addr daddr = pkt->getAddr() & 0xfff; DPRINTF(EthernetPIO, "write da=%#x pa=%#x size=%d\n", - daddr, pkt->addr, pkt->size); + daddr, pkt->getAddr(), pkt->getSize()); pkt->time += pioDelay; if (daddr > LAST && daddr <= RESERVED) { panic("Accessing reserved register"); } else if (daddr > RESERVED && daddr <= 0x3FC) { - if (pkt->size == sizeof(uint8_t)) + if (pkt->getSize() == sizeof(uint8_t)) writeConfig(daddr & 0xff, pkt->get<uint8_t>()); - if (pkt->size == sizeof(uint16_t)) + if (pkt->getSize() == sizeof(uint16_t)) writeConfig(daddr & 0xff, pkt->get<uint16_t>()); - if (pkt->size == sizeof(uint32_t)) + if (pkt->getSize() == sizeof(uint32_t)) writeConfig(daddr & 0xff, pkt->get<uint32_t>()); - pkt->result = Success; + pkt->result = Packet::Success; return pioDelay; } else if (daddr > 0x3FC) panic("Something is messed up!\n"); - if (pkt->size == sizeof(uint32_t)) { + if (pkt->getSize() == sizeof(uint32_t)) { uint32_t reg = pkt->get<uint32_t>(); uint16_t rfaddr; @@ -1131,7 +1131,7 @@ NSGigE::write(Packet *pkt) } else { panic("Invalid Request Size"); } - pkt->result = Success; + pkt->result = Packet::Success; return pioDelay; } |