]> Zhao Yanbai Git Server - minix.git/commitdiff
Extend Intel PRO/100 support
authorErik van der Kouwe <erik@minix3.org>
Wed, 26 Aug 2009 21:01:46 +0000 (21:01 +0000)
committerErik van der Kouwe <erik@minix3.org>
Wed, 26 Aug 2009 21:01:46 +0000 (21:01 +0000)
drivers/fxp/fxp.c
drivers/fxp/fxp.h
drivers/pci/main.c
drivers/pci/pci.c
drivers/pci/pci_table.c
etc/drivers.conf

index 20a7779bfd2ac334c12736fa0889112462453a65..b739bb0cab444fe907bc234fb7d637668cd97d74 100644 (file)
@@ -98,6 +98,7 @@ PRIVATE struct pcitab pcitab_fxp[]=
 {
        { 0x8086, 0x1229, 0 },          /* Intel 82557, etc. */
        { 0x8086, 0x2449, 0 },          /* Intel 82801BA/BAM/CA/CAM */
+       { 0x8086, 0x103d, 0 },          /* Intel 82801DB */
 
        { 0x0000, 0x0000, 0 }
 };
@@ -210,6 +211,7 @@ fxp_t;
 #define FT_82557       0x1
 #define FT_82558A      0x2
 #define FT_82559       0x4
+#define FT_82801       0x8
 
 static fxp_t *fxp_table;
 phys_bytes fxp_table_phys;
@@ -634,6 +636,9 @@ fxp_t *fp;
        case FXP_REV_82551_2:   str= "82551(2)";                /* 0x10 */
                                fp->fxp_type= FT_82559;
                                break;
+       case FXP_REV_82801DB:   str= "82801DB";                 /* 0x81 */
+                               fp->fxp_type= FT_82801;
+                               break;
        }
 
 #if VERBOSE
@@ -739,6 +744,7 @@ fxp_t *fp;
                break;
        case FT_82558A:
        case FT_82559:
+       case FT_82801:
                if (mwi)
                        fp->fxp_conf_bytes[3] |= CCB3_MWIE;
                if (ext_stat1)
@@ -758,6 +764,13 @@ fxp_t *fp;
                }
 
                fp->fxp_conf_bytes[18] |= CCB18_LROK;
+
+               if (fp->fxp_type == FT_82801)
+               {
+                       fp->fxp_conf_bytes[6] = 0xba; /* ctrl 1 */
+                       fp->fxp_conf_bytes[15] = 0x48; /* promiscuous */
+                       fp->fxp_conf_bytes[21] = 0x05; /* mc_all */
+               }
                break;
        default:
                panic("FXP","fxp_conf_hw: bad device type", fp->fxp_type);
index 882bc2b6b5bad966b47ea54b8a89007a5572c679..2b2f1730ded0be572da5e8daa841829eae69fe73 100644 (file)
@@ -24,6 +24,7 @@ Created:      Nov 2004 by Philip Homburg <philip@f-mnx.phicoh.com>
 #define FXP_REV_82550_3                0x0E
 #define FXP_REV_82551_1                0x0F
 #define FXP_REV_82551_2                0x10
+#define FXP_REV_82801DB                0x81
 
 /* Control/Status Registers (CSR). The first 8 bytes are called
  * System Control Block (SCB)
index fba9440fe4a019d71bbf37ee9fa2672663ebc766..0aeecedad76fed41c5fa73068acffd22494a347c 100644 (file)
@@ -350,7 +350,7 @@ message *mp;
                return;
        }
        acl[i].inuse= 1;
-       if(debug)
+       if(debug > 1)
          printf("PCI: do_acl: setting ACL for %d ('%s') at entry %d\n",
                acl[i].acl.rsp_endpoint, acl[i].acl.rsp_label,
                i);
index 9861087baf1e366d3d61b8d421dcb59a8f95d6ea..c4c9971d75e37950f0c9dd470721cad995250f30 100644 (file)
@@ -1264,7 +1264,7 @@ PRIVATE void complete_bridges()
  *===========================================================================*/
 PRIVATE void complete_bars()
 {
-#if 0
+#if 
        int i, j, r, bar_nr, reg;
        u32_t memgap_low, memgap_high, iogap_low, iogap_high, io_high,
                base, size, v32, diff1, diff2;
index df3ca004c83c2f38f189d62f74d50d02b54fce69..7b46c9ca74d7b4b0201dd002e1ce181a5f3cf601 100644 (file)
@@ -118,6 +118,7 @@ struct pci_device pci_device_table[]=
        { 0x8086, 0x1004, "Intel 82543GC Gigabit Ethernet Controller" },
        { 0x8086, 0x1029, "Intel EtherExpressPro100 ID1029" },
        { 0x8086, 0x1030, "Intel Corporation 82559 InBusiness 10/100" },
+       { 0x8086, 0x103d, "Intel Corporation 82801DB PRO/100 VE (MOB)" },
        { 0x8086, 0x1209, "Intel EtherExpressPro100 82559ER" },
        { 0x8086, 0x1229, "Intel EtherExpressPro100 82557/8/9" },
        { 0x8086, 0x122D, "Intel 82437FX" },
index 348c60e738364507c17be6c30921d3d01baa5721..6cf6821c980b082a173e32294c3571d31950454d 100644 (file)
@@ -114,7 +114,9 @@ driver fxp
                PROFBUF         # 38
                SYSCTL
        ;
+       pci device      8086/103d;
        pci device      8086/1229;
+       pci device      8086/2449;
        ipc
                SYSTEM PM RS LOG TTY DS VM
                pci inet amddev