summaryrefslogtreecommitdiffstats
path: root/src/drivers
diff options
context:
space:
mode:
authorMichael Brown2005-05-02 19:45:24 +0200
committerMichael Brown2005-05-02 19:45:24 +0200
commitee15c47cb52bba5c61ea11cab29edd8ff66a1f1c (patch)
tree11cbffb057a343eb7a05198ad3e8884cc769bc27 /src/drivers
parentUse shared symbols to save space (diff)
downloadipxe-ee15c47cb52bba5c61ea11cab29edd8ff66a1f1c.tar.gz
ipxe-ee15c47cb52bba5c61ea11cab29edd8ff66a1f1c.tar.xz
ipxe-ee15c47cb52bba5c61ea11cab29edd8ff66a1f1c.zip
Use shared symbols
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/net/via-rhine.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/drivers/net/via-rhine.c b/src/drivers/net/via-rhine.c
index 71fcfd611..15e5ca9bc 100644
--- a/src/drivers/net/via-rhine.c
+++ b/src/drivers/net/via-rhine.c
@@ -546,6 +546,12 @@ struct rhine_rx_desc
};
+struct {
+ char txbuf[TX_RING_SIZE * PKT_BUF_SZ + 32];
+ char rxbuf[RX_RING_SIZE * PKT_BUF_SZ + 32];
+ char txdesc[TX_RING_SIZE * sizeof (struct rhine_tx_desc) + 32];
+ char rxdesc[RX_RING_SIZE * sizeof (struct rhine_rx_desc) + 32];
+} rhine_buffers __shared;
/* The I/O extent. */
#define rhine_TOTAL_SIZE 0x80
@@ -1188,19 +1194,14 @@ rhine_reset (struct nic *nic)
int rx_bufs_tmp, rx_bufs_tmp1;
int tx_bufs_tmp, tx_bufs_tmp1;
- static char buf1[TX_RING_SIZE * PKT_BUF_SZ + 32];
- static char buf2[RX_RING_SIZE * PKT_BUF_SZ + 32];
- static char desc1[TX_RING_SIZE * sizeof (struct rhine_tx_desc) + 32];
- static char desc2[RX_RING_SIZE * sizeof (struct rhine_rx_desc) + 32];
-
/* printf ("rhine_reset\n"); */
/* Soft reset the chip. */
/*outb(CmdReset, ioaddr + ChipCmd); */
- tx_bufs_tmp = (int) buf1;
- tx_ring_tmp = (int) desc1;
- rx_bufs_tmp = (int) buf2;
- rx_ring_tmp = (int) desc2;
+ tx_bufs_tmp = (int) rhine_buffers.txbuf;
+ tx_ring_tmp = (int) rhine_buffers.txdesc;
+ rx_bufs_tmp = (int) rhine_buffers.rxbuf;
+ rx_ring_tmp = (int) rhine_buffers.rxdesc;
/* tune RD TD 32 byte alignment */
rx_ring_tmp1 = (int) virt_to_bus ((char *) rx_ring_tmp);