Fix a couple of turbolaser problems that were introduced by the

new freebsd code.

dev/ns_gige.cc:
    g++ doesn't like it when you declare a variable inside a case
    label.  Pull the declaration outside.

--HG--
extra : convert_revision : d39e84fc58f2dd5b09c5948eedb4b1d7848e9817
This commit is contained in:
Nathan Binkert 2005-08-18 13:29:40 -04:00
parent 568868d38f
commit 4f53a4705e

View file

@ -593,6 +593,7 @@ NSGigE::read(MemReqPtr &req, uint8_t *data)
case sizeof(uint32_t): case sizeof(uint32_t):
{ {
uint32_t &reg = *(uint32_t *)data; uint32_t &reg = *(uint32_t *)data;
uint16_t rfaddr;
switch (daddr) { switch (daddr) {
case CR: case CR:
@ -680,7 +681,7 @@ NSGigE::read(MemReqPtr &req, uint8_t *data)
break; break;
case RFDR: case RFDR:
uint16_t rfaddr = (uint16_t)(regs.rfcr & RFCR_RFADDR); rfaddr = (uint16_t)(regs.rfcr & RFCR_RFADDR);
switch (rfaddr) { switch (rfaddr) {
// Read from perfect match ROM octets // Read from perfect match ROM octets
case 0x000: case 0x000:
@ -710,8 +711,8 @@ NSGigE::read(MemReqPtr &req, uint8_t *data)
break; break;
} }
panic("reading RFDR for something other than pattern\ panic("reading RFDR for something other than pattern"
matching or hashing! %#x\n", rfaddr); " matching or hashing! %#x\n", rfaddr);
} }
break; break;
@ -804,6 +805,8 @@ NSGigE::write(MemReqPtr &req, const uint8_t *data)
if (req->size == sizeof(uint32_t)) { if (req->size == sizeof(uint32_t)) {
uint32_t reg = *(uint32_t *)data; uint32_t reg = *(uint32_t *)data;
uint16_t rfaddr;
DPRINTF(EthernetPIO, "write data=%d data=%#x\n", reg, reg); DPRINTF(EthernetPIO, "write data=%d data=%#x\n", reg, reg);
switch (daddr) { switch (daddr) {
@ -1086,7 +1089,7 @@ NSGigE::write(MemReqPtr &req, const uint8_t *data)
break; break;
case RFDR: case RFDR:
uint16_t rfaddr = (uint16_t)(regs.rfcr & RFCR_RFADDR); rfaddr = (uint16_t)(regs.rfcr & RFCR_RFADDR);
switch (rfaddr) { switch (rfaddr) {
case 0x000: case 0x000:
rom.perfectMatch[0] = (uint8_t)reg; rom.perfectMatch[0] = (uint8_t)reg;