diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2010-05-31 12:16:43 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2010-05-31 12:16:43 +0000 |
commit | 87347dd1b5424d68467db836d28a62ae7516c34a (patch) | |
tree | 5b66d74f43b5899f1569ce9472a2639a52793fd1 /c | |
parent | 2010-05-30 Joel Sherrill <joel.sherrilL@OARcorp.com> (diff) | |
download | rtems-87347dd1b5424d68467db836d28a62ae7516c34a.tar.bz2 |
2010-05-31 Ralf Corsépius <ralf.corsepius@rtems.org>
* libchip/network/open_eth.c:
Misc. changes to make code 16bit-target compliant.
Diffstat (limited to 'c')
-rw-r--r-- | c/src/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/libchip/network/open_eth.c | 19 |
2 files changed, 20 insertions, 4 deletions
diff --git a/c/src/ChangeLog b/c/src/ChangeLog index ddff967490..474457bb6e 100644 --- a/c/src/ChangeLog +++ b/c/src/ChangeLog @@ -1,3 +1,8 @@ +2010-05-31 Ralf Corsépius <ralf.corsepius@rtems.org> + + * libchip/network/open_eth.c: + Misc. changes to make code 16bit-target compliant. + 2010-05-18 Chris Johns <chrisj@rtems.org> * libchip/i2c/spi-sd-card.c, libchip/ide/ata.c: PR diff --git a/c/src/libchip/network/open_eth.c b/c/src/libchip/network/open_eth.c index 97c0e5b8fe..c54aa1b668 100644 --- a/c/src/libchip/network/open_eth.c +++ b/c/src/libchip/network/open_eth.c @@ -313,8 +313,17 @@ open_eth_initialize_hardware (struct open_eth_softc *sc) /* set ethernet address. */ regs->mac_addr1 = sc->arpcom.ac_enaddr[0] << 8 | sc->arpcom.ac_enaddr[1]; - regs->mac_addr0 = sc->arpcom.ac_enaddr[2] << 24 | sc->arpcom.ac_enaddr[3] << 16 | - sc->arpcom.ac_enaddr[4] << 8 | sc->arpcom.ac_enaddr[5]; + + uint32_t mac_addr0; + mac_addr0 = sc->arpcom.ac_enaddr[2]; + mac_addr0 <<= 8; + mac_addr0 |= sc->arpcom.ac_enaddr[3]; + mac_addr0 <<= 8; + mac_addr0 |= sc->arpcom.ac_enaddr[4]; + mac_addr0 <<= 8; + mac_addr0 |= sc->arpcom.ac_enaddr[5]; + + regs->mac_addr0 = mac_addr0; /* install interrupt vector */ set_vector (open_eth_interrupt_handler, sc->vector, 1); @@ -347,7 +356,9 @@ open_eth_rxDaemon (void *arg) struct open_eth_softc *dp = (struct open_eth_softc *) &oc; struct ifnet *ifp = &dp->arpcom.ac_if; struct mbuf *m; - unsigned int len, len_status, bad; + unsigned int len; + uint32_t len_status; + unsigned int bad; rtems_event_set events; @@ -437,7 +448,7 @@ sendpacket (struct ifnet *ifp, struct mbuf *m) struct open_eth_softc *dp = ifp->if_softc; unsigned char *temp; struct mbuf *n; - unsigned int len, len_status; + uint32_t len, len_status; if (inside) printf ("error: sendpacket re-entered!!\n"); inside = 1; |