diff options
| author | Charles.Forsyth <devnull@localhost> | 2008-06-11 14:21:44 +0000 |
|---|---|---|
| committer | Charles.Forsyth <devnull@localhost> | 2008-06-11 14:21:44 +0000 |
| commit | 8a8c2d742b51525f66c2210e3c8a251de10022ff (patch) | |
| tree | 8282ce595e5fbe2e487dc20f54891d9e9e7cbf37 /os/boot/pc/ether.c | |
| parent | 31a18a6996a6b5927e39cc553696c167e6c88e3d (diff) | |
20080611-1520
Diffstat (limited to 'os/boot/pc/ether.c')
| -rw-r--r-- | os/boot/pc/ether.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/os/boot/pc/ether.c b/os/boot/pc/ether.c index c8a4b7de..90bdcb5f 100644 --- a/os/boot/pc/ether.c +++ b/os/boot/pc/ether.c @@ -14,6 +14,7 @@ extern int ether2114xreset(Ether*); extern int elnk3reset(Ether*); extern int i82557reset(Ether*); extern int igbepnp(Ether *); +extern int i82563pnp(Ether *); extern int elnk3reset(Ether*); extern int ether589reset(Ether*); extern int ne2000reset(Ether*); @@ -24,6 +25,8 @@ extern int rtl8139pnp(Ether*); extern int rtl8169pnp(Ether*); extern int ether83815reset(Ether*); extern int rhinepnp(Ether*); +extern int ga620pnp(Ether*); +extern int dp83820pnp(Ether*); struct { char *type; @@ -34,6 +37,8 @@ struct { { "2114x", ether2114xreset, 0, }, { "i82557", i82557reset, 0, }, { "igbe", igbepnp, 0, }, + { "i82563",i82563pnp, 0, }, + { "igbepcie",i82563pnp, 0, }, { "elnk3", elnk3reset, 0, }, { "3C509", elnk3reset, 0, }, { "3C575", elnk3reset, 0, }, @@ -48,6 +53,10 @@ struct { { "RTL8169", rtl8169pnp, 0, }, { "83815", ether83815reset, 0, }, { "rhine", rhinepnp, 0, }, + { "vt6102", rhinepnp, 0, }, + { "GA620", ga620pnp, 0, }, + { "83820", dp83820pnp, 0, }, + { "dp83820", dp83820pnp, 0, }, { 0, } }; @@ -90,7 +99,7 @@ etherinit(void) continue; } - ctlr->state = 1; + ctlr->state = 1; /* card found */ mask |= 1<<ctlrno; if(ctlr->irq == 2) ctlr->irq = 9; @@ -150,8 +159,8 @@ attach(int ctlrno) return 0; ctlr = ðer[ctlrno]; - if(ctlr->state == 1){ - ctlr->state = 2; + if(ctlr->state == 1){ /* card found? */ + ctlr->state = 2; /* attaching */ (*ctlr->attach)(ctlr); } @@ -167,7 +176,7 @@ xetherdetach(void) x = splhi(); for(ctlrno = 0; ctlrno < MaxEther; ctlrno++){ ctlr = ðer[ctlrno]; - if(ctlr->detach && ctlr->state != 0) + if(ctlr->detach && ctlr->state != 0) /* found | attaching? */ ctlr->detach(ctlr); } splx(x); |
