diff options
| author | Michael Brown | 2005-05-02 19:45:24 +0200 |
|---|---|---|
| committer | Michael Brown | 2005-05-02 19:45:24 +0200 |
| commit | ee15c47cb52bba5c61ea11cab29edd8ff66a1f1c (patch) | |
| tree | 11cbffb057a343eb7a05198ad3e8884cc769bc27 /src/drivers | |
| parent | Use shared symbols to save space (diff) | |
| download | ipxe-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.c | 19 |
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); |
