浏览代码

Move tulip_private structure into shared data.

tags/v0.9.3
Michael Brown 19 年前
父节点
当前提交
24c0498cbc
共有 1 个文件被更改,包括 20 次插入19 次删除
  1. 20
    19
      src/drivers/net/tulip.c

+ 20
- 19
src/drivers/net/tulip.c 查看文件

@@ -396,23 +396,7 @@ struct tulip_tx_desc {
396 396
 
397 397
 static u32 ioaddr;
398 398
 
399
-/* Note: transmit and receive buffers must be longword aligned and
400
-   longword divisable */
401
-
402
-#define TX_RING_SIZE	2
403
-#define RX_RING_SIZE	4
404
-struct {
405
-    struct tulip_tx_desc tx_ring[TX_RING_SIZE];
406
-    unsigned char txb[BUFLEN];
407
-    struct tulip_rx_desc rx_ring[RX_RING_SIZE];
408
-    unsigned char rxb[RX_RING_SIZE * BUFLEN];
409
-} tulip_buffers __shared __attribute__ ((aligned(4)));
410
-#define tx_ring tulip_buffers.tx_ring
411
-#define txb tulip_buffers.txb
412
-#define rx_ring tulip_buffers.rx_ring
413
-#define rxb tulip_buffers.rxb
414
-
415
-static struct tulip_private {
399
+struct tulip_private {
416 400
     int cur_rx;
417 401
     int chip_id;                        /* index into tulip_tbl[]  */
418 402
     int pci_id_idx;                     /* index into pci_id_tbl[] */
@@ -439,7 +423,24 @@ static struct tulip_private {
439 423
     signed char phys[4], mii_cnt;       /* MII device addresses. */
440 424
     int cur_index;                      /* Current media index. */
441 425
     int saved_if_port;
442
-} tpx;
426
+};
427
+
428
+/* Note: transmit and receive buffers must be longword aligned and
429
+   longword divisable */
430
+
431
+#define TX_RING_SIZE	2
432
+#define RX_RING_SIZE	4
433
+struct {
434
+    struct tulip_tx_desc tx_ring[TX_RING_SIZE];
435
+    unsigned char txb[BUFLEN];
436
+    struct tulip_rx_desc rx_ring[RX_RING_SIZE];
437
+    unsigned char rxb[RX_RING_SIZE * BUFLEN];
438
+    struct tulip_private tpx;
439
+} tulip_bss __shared __attribute__ ((aligned(4)));
440
+#define tx_ring tulip_bss.tx_ring
441
+#define txb tulip_bss.txb
442
+#define rx_ring tulip_bss.rx_ring
443
+#define rxb tulip_bss.rxb
443 444
 
444 445
 static struct tulip_private *tp;
445 446
 
@@ -1248,7 +1249,7 @@ static int tulip_probe ( struct nic *nic, struct pci_device *pci ) {
1248 1249
     nic->irqno     = 0;
1249 1250
 
1250 1251
     /* point to private storage */
1251
-    tp = &tpx;
1252
+    tp = &tulip_bss.tpx;
1252 1253
 
1253 1254
     tp->vendor_id  = pci->vendor_id;
1254 1255
     tp->dev_id     = pci->device_id;

正在加载...
取消
保存