qemu/hw/net
Sameeh Jubran 74004e8ce4 e1000: Fixing interrupts pace.
This patch introduces an upper bound for number of interrupts
per second. Without this bound an interrupt storm can occur as
it has been observed on Windows 10 when disabling the device.

According to the SPEC - Intel PCI/PCI-X Family of Gigabit
Ethernet Controllers Software Developer's Manual, section
13.4.18 - the Ethernet controller guarantees a maximum
observable interrupt rate of 7813 interrupts/sec. If there is
no upper bound this could lead to an interrupt storm by e1000
(when mit_delay < 500) causing interrupts to fire at a very high
pace.
Thus if mit_delay < 500 then the delay should be set to the
minimum delay possible which is 500. This can be calculated
easily as follows:

Interval = 10^9 / (7813 * 256) = 500.

Signed-off-by: Sameeh Jubran <sameeh@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2016-03-30 08:57:36 +08:00
..
fsl_etsec all: Clean up includes 2016-02-23 12:43:05 +00:00
rocker rocker: allow user to specify rocker world by property 2016-03-08 15:34:18 +08:00
allwinner_emac.c arm: Clean up includes 2016-01-29 15:07:23 +00:00
cadence_gem.c cadence_gem: fix buffer overflow 2016-02-04 13:22:06 +08:00
dp8393x.c Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2016-03-22 22:20:17 +01:00
e1000.c e1000: Fixing interrupts pace. 2016-03-30 08:57:36 +08:00
e1000_regs.h e1000: Trivial implementation of various MAC registers 2015-11-12 15:26:53 +08:00
eepro100.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
etraxfs_eth.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
imx_fec.c i.MX: Add missing descriptions in devices. 2016-03-16 17:42:18 +00:00
lan9118.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
lance.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
Makefile.objs i.MX: Add FEC Ethernet Emulator 2015-09-07 10:39:30 +01:00
mcf_fec.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
milkymist-minimac2.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
mipsnet.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
ne2000-isa.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
ne2000.c net: ne2000: check ring buffer control registers 2016-03-08 15:34:09 +08:00
ne2000.h ne2000: Drop ne2000_can_receive 2015-09-02 14:51:07 +01:00
opencores_eth.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
pcnet-pci.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
pcnet.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
pcnet.h pcnet: Drop pcnet_can_receive 2015-07-27 14:12:18 +01:00
rtl8139.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
smc91c111.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
spapr_llan.c * Log filtering from Alex and Peter 2016-03-24 21:42:40 +00:00
stellaris_enet.c arm: Clean up includes 2016-01-29 15:07:23 +00:00
vhost_net.c vhost-user interrupt management fixes 2016-02-18 16:13:56 +02:00
virtio-net.c virtio-net: use the backend cross-endian capabilities 2016-02-16 12:05:17 +02:00
vmware_utils.h fpu: Replace uint8 typedef with uint8_t 2016-01-22 15:09:21 +00:00
vmxnet3.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
vmxnet3.h vmxnet3: Add support for VMXNET3_CMD_GET_ADAPTIVE_RING_INFO command 2015-10-12 13:19:29 +08:00
vmxnet_debug.h net/vmxnet3: fix debug macro pattern for vmxnet3 2016-01-11 11:01:34 +08:00
vmxnet_rx_pkt.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
vmxnet_rx_pkt.h Clean up includes some more 2016-03-22 22:20:16 +01:00
vmxnet_tx_pkt.c hw/net: Clean up includes 2016-01-29 15:07:23 +00:00
vmxnet_tx_pkt.h Clean up includes some more 2016-03-22 22:20:16 +01:00
xen_nic.c xen: Clean up includes 2016-01-29 15:07:23 +00:00
xgmac.c arm: Clean up includes 2016-01-29 15:07:23 +00:00
xilinx_axienet.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
xilinx_ethlite.c hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00