diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2008-12-05 13:58:22 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2008-12-05 13:58:22 -0500 |
commit | dd788a23c972ec45248ad42e58eaa5141160cff9 (patch) | |
tree | 9a17d5867e58ced509f435848c7f64d4230c0f97 /src/dev/Ethernet.py | |
parent | 400e5162619f3a63c2ac3f7698af89a677829295 (diff) | |
download | gem5-dd788a23c972ec45248ad42e58eaa5141160cff9.tar.xz |
IGbE: Add support for newer 8257x based Intel NICs
Diffstat (limited to 'src/dev/Ethernet.py')
-rw-r--r-- | src/dev/Ethernet.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/dev/Ethernet.py b/src/dev/Ethernet.py index 5821a3e96..670f48eac 100644 --- a/src/dev/Ethernet.py +++ b/src/dev/Ethernet.py @@ -67,7 +67,9 @@ class EtherDevice(PciDevice): interface = Port("Ethernet Interrface") class IGbE(EtherDevice): + # Base class for two IGbE adapters listed above type = 'IGbE' + #abstract = True hardware_address = Param.EthernetAddr(NextEthernetAddr, "Ethernet Hardware Address") use_flow_control = Param.Bool(False, @@ -80,7 +82,6 @@ class IGbE(EtherDevice): "Number of enteries in the rx descriptor cache") clock = Param.Clock('500MHz', "Clock speed of the device") VendorID = 0x8086 - DeviceID = 0x1075 SubsystemID = 0x1008 SubsystemVendorID = 0x8086 Status = 0x0000 @@ -104,7 +105,20 @@ class IGbE(EtherDevice): wb_comp_delay = Param.Latency('10ns', "delay after desc wb occurs") tx_read_delay = Param.Latency('0ns', "delay after tx dma read") rx_write_delay = Param.Latency('0ns', "delay after rx dma read") + is8257 = Param.Bool("Select between and 8254x and 8257x device") + + +class IGbE_e1000(IGbE): + # Older Intel 8254x based gigabit ethernet adapter + # Uses Intel e1000 driver + DeviceID = 0x1075 + is8257 = False +class IGbE_igb(IGbE): + # Newer Intel 8257x based gigabit ethernet adapter + # Uses Intel igb driver and in theory supports packet splitting and LRO + DeviceID = 0x10C9 + is8257 = True class EtherDevBase(EtherDevice): type = 'EtherDevBase' |