From 87347dd1b5424d68467db836d28a62ae7516c34a Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Mon, 31 May 2010 12:16:43 +0000 Subject: =?UTF-8?q?2010-05-31=09Ralf=20Cors=C3=A9pius=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libchip/network/open_eth.c: Misc. changes to make code 16bit-target compliant. --- c/src/ChangeLog | 5 +++++ c/src/libchip/network/open_eth.c | 19 +++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) (limited to 'c') 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 + + * libchip/network/open_eth.c: + Misc. changes to make code 16bit-target compliant. + 2010-05-18 Chris Johns * 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; -- cgit v1.2.3