qemu/hw/net
Peter Maydell a9171c4fb5 hw/net/stellaris_enet: Correctly implement the TR and THR registers
Packet transmission for the stellaris ethernet controller can be triggered
in one of two ways:
 * by setting a threshold value in the THR register; when the FIFO
   fill level reaches the threshold, the h/w starts transmitting.
   Software has to finish filling the FIFO before the transmit
   process completes to avoid a (silent) underrun
 * by software writing to the TR register to explicitly trigger
   transmission

Since QEMU transmits packets instantaneously (from the guest's
point of view), implement "transmit based on threshold" with
our existing mechanism of "transmit as soon as we have the whole
packet", with the additional wrinkle that we don't transmit if
the packet size is below the specified threshold, and implement
"transmit by specific request" properly.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2014-05-13 16:09:37 +01:00
..
fsl_etsec FSL eTSEC: Fix typo in rx ring 2014-03-15 13:54:18 +04:00
allwinner_emac.c allwinner-emac: update irq status after writes to interrupt registers 2014-04-17 21:34:06 +01:00
cadence_gem.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
dp8393x.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
e1000.c Revert "e1000/rtl8139: update HMP NIC when every bit is written" 2013-11-21 16:28:27 +02:00
e1000_regs.h
eepro100.c hw: set interrupts using pci irq wrappers 2013-10-14 17:11:45 +03:00
etraxfs_eth.c hw: cannot_instantiate_with_device_add_yet due to pointer props 2013-12-24 17:27:17 +01:00
lan9118.c Fix lan9118 buffer length handling 2014-01-27 15:44:06 +01:00
lance.c hw: cannot_instantiate_with_device_add_yet due to pointer props 2013-12-24 17:27:17 +01:00
Makefile.objs Add Enhanced Three-Speed Ethernet Controller (eTSEC) 2014-03-05 03:06:45 +01:00
mcf_fec.c memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
milkymist-minimac2.c milkymist-minimac2: QOM cast cleanup 2013-07-29 21:06:59 +02:00
mipsnet.c mipsnet: QOM cast cleanup 2013-07-29 21:07:02 +02:00
ne2000-isa.c qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
ne2000.c bswap.h: Remove le32_to_cpupu() 2013-11-05 19:57:46 -08:00
ne2000.h ne2000: pass device to ne2000_setup_io, use it as owner 2013-07-04 17:42:46 +02:00
opencores_eth.c opencores_eth: flush queue whenever can_receive can go from false to true 2014-02-25 11:50:16 +01:00
pcnet-pci.c pci, pc, acpi fixes, enhancements 2013-10-31 16:58:32 +01:00
pcnet.c pcnet: remove duplicate assignment 2014-04-25 13:40:03 +02:00
pcnet.h
rtl8139.c Revert "e1000/rtl8139: update HMP NIC when every bit is written" 2013-11-21 16:28:27 +02:00
smc91c111.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
spapr_llan.c spapr_llan: Add to boot device list 2014-03-20 02:40:13 +01:00
stellaris_enet.c hw/net/stellaris_enet: Correctly implement the TR and THR registers 2014-05-13 16:09:37 +01:00
vhost_net.c vhost_net: use offload API instead of bypassing it 2014-02-25 14:31:05 +01:00
virtio-net.c virtio-net: out-of-bounds buffer write on load 2014-05-05 22:15:03 +02:00
vmware_utils.h exec: Make stb_phys input an AddressSpace 2014-02-11 22:57:38 +10:00
vmxnet3.c hw: Add missing 'static' attributes 2014-05-07 21:00:43 +04:00
vmxnet3.h vmxnet3: Eliminate __packed redefined warning 2013-09-06 17:25:55 +02:00
vmxnet_debug.h
vmxnet_rx_pkt.c
vmxnet_rx_pkt.h
vmxnet_tx_pkt.c misc: Use g_assert_not_reached for code which is expected to be unreachable 2013-07-27 11:22:54 +04:00
vmxnet_tx_pkt.h
xen_nic.c
xgmac.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
xilinx_axienet.c hw: Consistently name Error * objects err, and not errp 2014-05-05 19:08:49 +02:00
xilinx_ethlite.c xilinx_ethlite: QOM cast cleanup 2013-07-29 21:07:00 +02:00