summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2010-05-31 12:16:43 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2010-05-31 12:16:43 +0000
commit87347dd1b5424d68467db836d28a62ae7516c34a (patch)
tree5b66d74f43b5899f1569ce9472a2639a52793fd1 /c
parent2010-05-30 Joel Sherrill <joel.sherrilL@OARcorp.com> (diff)
downloadrtems-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/ChangeLog5
-rw-r--r--c/src/libchip/network/open_eth.c19
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;