gem5/dev
Nathan Binkert 47ff0af17e Virtualize sinic
separate the rx thread and tx thread and get rid of the dedicated flag.

dev/ns_gige.cc:
dev/ns_gige.hh:
dev/ns_gige_reg.h:
python/m5/objects/Ethernet.py:
    dedicated flag goes away, we have new individual flags for
    rx thread and tx thread
dev/sinic.cc:
    Virtualize sinic
    - The io registers are replicated many times in memory, allowing the NIC to
    differentiate among several virtual interfaces.
    - On the TX side, this allows multiple CPUs to initiate transmits at the same
    time without locking in the software.  If a partial packet is transmitted,
    then the state machine blocks waiting for that virtual interface to complete
    its packet.  Then the state machine will move on to the next virtual
    interface.  The commands are kept in fifo order.
    - On the RX side, multiple partial transmits can be simultaneously done.
    Though a packet does not deallocate its fifo space until all preceeding
    packets in the fifo are deallocated.  To enable multiple receives, it
    is necessary for each virtual nic to keep its own information about its
    progress through the state machine.
dev/sinic.hh:
    Virtualize sinic
    Receive state must be virtualized since we allow the receipt of packets in
    parallel.
dev/sinicreg.hh:
    Virtualize sinic
    separate rx thread and tx thread
    create a soft interrupt and add a command to trigger it.
    pad out the reserved bits in the RxDone and TxDone regs

--HG--
extra : convert_revision : c10bb23a46a89ffd1e08866c1f1621cb98069205
2005-11-25 13:33:36 -05:00
..
alpha_access.h Don't hard code the location of m5AlphaAccess. Instead, move the 2005-06-28 12:42:15 -04:00
alpha_console.cc io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
alpha_console.hh io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
baddev.cc io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
baddev.hh Many files: 2005-06-05 05:16:00 -04:00
disk_image.cc Changes for getting FreeBSD to run. 2005-08-15 16:59:58 -04:00
disk_image.hh Many files: 2005-06-05 05:16:00 -04:00
etherbus.cc Many files: 2005-06-05 05:16:00 -04:00
etherbus.hh Many files: 2005-06-05 05:16:00 -04:00
etherdump.cc Fix the EtherDump parameters 2005-09-17 10:47:16 -04:00
etherdump.hh Many files: 2005-06-05 05:16:00 -04:00
etherint.cc Many files: 2005-06-05 05:16:00 -04:00
etherint.hh Many files: 2005-06-05 05:16:00 -04:00
etherlink.cc Update random come to always have explict min/max 2005-11-11 18:41:45 -05:00
etherlink.hh Add ability to slightly perturb latency of ethernet/memory 2005-11-02 14:47:37 -05:00
etherpkt.cc Add the capability to iterate through the packets in a pktfifo, 2005-11-25 11:22:41 -05:00
etherpkt.hh Add the capability to iterate through the packets in a pktfifo, 2005-11-25 11:22:41 -05:00
ethertap.cc Lots of fixes to serialization and naming of various device 2005-08-23 11:45:52 -04:00
ethertap.hh fixes for gcc 4.0 2005-09-12 03:01:43 -04:00
ide_atareg.h Fixes for cygwin compile. 2005-06-30 00:42:27 -04:00
ide_ctrl.cc io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
ide_ctrl.hh io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
ide_disk.cc Fix IDE disk UDMA mode support mask to actually reflect support for 2005-09-24 15:22:28 -04:00
ide_disk.hh Changes for getting FreeBSD to run. 2005-08-15 16:59:58 -04:00
ide_wdcreg.h Fix doxgyen comments 2005-06-04 23:56:53 -04:00
io_device.cc Many files: 2005-06-05 05:16:00 -04:00
io_device.hh Many files: 2005-06-05 05:16:00 -04:00
isa_fake.cc io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
isa_fake.hh io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
ns_gige.cc Virtualize sinic 2005-11-25 13:33:36 -05:00
ns_gige.hh Virtualize sinic 2005-11-25 13:33:36 -05:00
ns_gige_reg.h Virtualize sinic 2005-11-25 13:33:36 -05:00
pciconfigall.cc io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
pciconfigall.hh io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
pcidev.cc Add a bunch of functions to manage the BAR addresses. This 2005-11-21 00:38:53 -05:00
pcidev.hh Add a bunch of functions to manage the BAR addresses. This 2005-11-21 00:38:53 -05:00
pcireg.h Changes for getting FreeBSD to run. 2005-08-15 16:59:58 -04:00
pitreg.h Changes for getting FreeBSD to run. 2005-08-15 16:59:58 -04:00
pktfifo.cc Many files: 2005-06-05 05:16:00 -04:00
pktfifo.hh Add the capability to iterate through the packets in a pktfifo, 2005-11-25 11:22:41 -05:00
platform.cc Many files: 2005-06-05 05:16:00 -04:00
platform.hh Many files: 2005-06-05 05:16:00 -04:00
rtcreg.h Changes for getting FreeBSD to run. 2005-08-15 16:59:58 -04:00
simconsole.cc Many files: 2005-06-05 05:16:00 -04:00
simconsole.hh Many files: 2005-06-05 05:16:00 -04:00
simple_disk.cc Many files: 2005-06-05 05:16:00 -04:00
simple_disk.hh Many files: 2005-06-05 05:16:00 -04:00
sinic.cc Virtualize sinic 2005-11-25 13:33:36 -05:00
sinic.hh Virtualize sinic 2005-11-25 13:33:36 -05:00
sinicreg.hh Virtualize sinic 2005-11-25 13:33:36 -05:00
tsunami.cc Fix minor doxygen issues. 2005-06-05 08:08:29 -04:00
tsunami.hh Fix minor doxygen issues. 2005-06-05 08:08:29 -04:00
tsunami_cchip.cc io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
tsunami_cchip.hh io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
tsunami_io.cc io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
tsunami_io.hh io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
tsunami_pchip.cc io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
tsunami_pchip.hh io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
tsunamireg.h Merge zed.eecs.umich.edu:/.automount/fox/y/mserrano/m5_dir/m5 2005-08-15 17:17:17 -04:00
uart.cc Many files: 2005-06-05 05:16:00 -04:00
uart.hh Many files: 2005-06-05 05:16:00 -04:00
uart8250.cc io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
uart8250.hh io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00