Add support for the 82567LM flavor of e1000
This commit is contained in:
parent
ba8af817fc
commit
898cce256f
@ -111,7 +111,7 @@ cards()
|
|||||||
card 6 "NE2000, 3com 503 or WD based card (also emulated by Bochs)"
|
card 6 "NE2000, 3com 503 or WD based card (also emulated by Bochs)"
|
||||||
card 7 "AMD LANCE (also emulated by VMWare and VirtualBox)" "1022:2000"
|
card 7 "AMD LANCE (also emulated by VMWare and VirtualBox)" "1022:2000"
|
||||||
card 8 "Intel PRO/1000 Gigabit" \
|
card 8 "Intel PRO/1000 Gigabit" \
|
||||||
"8086:100E" "8086:107C" "8086:10CD" "8086:10D3"
|
"8086:100E" "8086:107C" "8086:10CD" "8086:10D3" "8086:10DE"
|
||||||
|
|
||||||
card 9 "Attansic/Atheros L2 FastEthernet" "1969:2048"
|
card 9 "Attansic/Atheros L2 FastEthernet" "1969:2048"
|
||||||
card 10 "DEC Tulip 21140A in VirtualPC" "1011:0009"
|
card 10 "DEC Tulip 21140A in VirtualPC" "1011:0009"
|
||||||
|
@ -25,6 +25,7 @@ PRIVATE u16_t pcitab_e1000[] =
|
|||||||
{
|
{
|
||||||
E1000_DEV_ID_82540EM,
|
E1000_DEV_ID_82540EM,
|
||||||
E1000_DEV_ID_82541GI_LF,
|
E1000_DEV_ID_82541GI_LF,
|
||||||
|
E1000_DEV_ID_ICH10_D_BM_LM,
|
||||||
E1000_DEV_ID_ICH10_R_BM_LF,
|
E1000_DEV_ID_ICH10_R_BM_LF,
|
||||||
E1000_DEV_ID_82574L,
|
E1000_DEV_ID_82574L,
|
||||||
0,
|
0,
|
||||||
@ -282,11 +283,12 @@ PRIVATE int e1000_probe(e1000_t *e, int skip)
|
|||||||
*/
|
*/
|
||||||
switch (did)
|
switch (did)
|
||||||
{
|
{
|
||||||
|
case E1000_DEV_ID_ICH10_D_BM_LM:
|
||||||
case E1000_DEV_ID_ICH10_R_BM_LF:
|
case E1000_DEV_ID_ICH10_R_BM_LF:
|
||||||
e->eeprom_read = eeprom_ich;
|
e->eeprom_read = eeprom_ich;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case E1000_DEV_ID_82574L:
|
case E1000_DEV_ID_82574L:
|
||||||
case E1000_DEV_ID_82541GI_LF:
|
case E1000_DEV_ID_82541GI_LF:
|
||||||
e->eeprom_done_bit = (1 << 1);
|
e->eeprom_done_bit = (1 << 1);
|
||||||
e->eeprom_addr_off = 2;
|
e->eeprom_addr_off = 2;
|
||||||
@ -326,14 +328,24 @@ PRIVATE int e1000_probe(e1000_t *e, int skip)
|
|||||||
did != E1000_DEV_ID_82540EP &&
|
did != E1000_DEV_ID_82540EP &&
|
||||||
pci_attr_r32(devind, PCI_BAR_2))
|
pci_attr_r32(devind, PCI_BAR_2))
|
||||||
{
|
{
|
||||||
if((e->flash = vm_map_phys(SELF,
|
size_t flash_size;
|
||||||
(void *) pci_attr_r32(devind, PCI_BAR_2), 0x10000)) == MAP_FAILED) {
|
|
||||||
if((e->flash = vm_map_phys(SELF,
|
/* 82566/82567/82562V series support mapping 4kB of flash memory */
|
||||||
(void *) pci_attr_r32(devind, PCI_BAR_2), 0x1000))
|
switch(did)
|
||||||
== MAP_FAILED) {
|
{
|
||||||
panic("e1000: couldn't map in flash.");
|
case E1000_DEV_ID_ICH10_D_BM_LM:
|
||||||
}
|
case E1000_DEV_ID_ICH10_R_BM_LF:
|
||||||
}
|
flash_size = 0x1000;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
flash_size = 0x10000;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((e->flash = vm_map_phys(SELF,
|
||||||
|
(void *) pci_attr_r32(devind, PCI_BAR_2),
|
||||||
|
flash_size)) == MAP_FAILED) {
|
||||||
|
panic("e1000: couldn't map in flash.");
|
||||||
|
}
|
||||||
|
|
||||||
gfpreg = E1000_READ_FLASH_REG(e, ICH_FLASH_GFPREG);
|
gfpreg = E1000_READ_FLASH_REG(e, ICH_FLASH_GFPREG);
|
||||||
/*
|
/*
|
||||||
|
@ -600,6 +600,7 @@ service e1000
|
|||||||
pci device 8086/107c;
|
pci device 8086/107c;
|
||||||
pci device 8086/10cd;
|
pci device 8086/10cd;
|
||||||
pci device 8086/10d3;
|
pci device 8086/10d3;
|
||||||
|
pci device 8086/10de;
|
||||||
ipc
|
ipc
|
||||||
SYSTEM pm rs log tty ds vm
|
SYSTEM pm rs log tty ds vm
|
||||||
pci inet ;
|
pci inet ;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user