qemu-irix/hw/net
Greg Ungerer adb560f7fc hw/net: implement MIB counters in mcf_fec driver
The FEC ethernet hardware module used on ColdFire SoC parts contains a
block of RAM used to maintain hardware counters. This block is accessible
via the usual FEC register address space. There is currently no support
for this in the QEMU mcf_fec driver.

Add support for storing a MIB RAM block, and provide register level
access to it. Also implement a basic set of stats collection functions
to populate MIB data fields.

This support tested running a Linux target and using the net-tools
"ethtool -S" option. As of linux-4.9 the kernels FEC driver makes
accesses to the MIB counters during its initialization (which it never
did before), and so this version of Linux will now fail with the QEMU
error:

    qemu: hardware error: mcf_fec_read: Bad address 0x200

This MIB counter support fixes this problem.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2017-03-14 15:39:55 +08:00
..
fsl_etsec trace: switch to modular code generation for sub-directories 2017-01-31 17:11:18 +00:00
rocker pci: Convert msix_init() to Error and fix callers 2017-02-01 03:37:18 +02:00
Makefile.objs
allwinner_emac.c
cadence_gem.c cadence_gem: Remove unused parameter debug message 2017-02-28 09:03:38 +03:00
dp8393x.c hw/net/dp8393x: Avoid unintentional sign extensions on addresses 2017-01-20 10:36:38 +08:00
e1000.c
e1000_regs.h
e1000e.c e1000e: correctly tear down MSI-X memory regions 2017-03-14 15:39:55 +08:00
e1000e_core.c net: e1000e: fix an infinite loop issue 2017-02-15 11:18:57 +08:00
e1000e_core.h
e1000x_common.c
e1000x_common.h
eepro100.c net: eepro100: fix memory leak in device uninit 2016-10-26 09:57:59 +08:00
etraxfs_eth.c
imx_fec.c net: imx: limit buffer descriptor count 2017-02-15 11:18:57 +08:00
lan9118.c
lance.c
mcf_fec.c hw/net: implement MIB counters in mcf_fec driver 2017-03-14 15:39:55 +08:00
milkymist-minimac2.c
mipsnet.c
ne2000-isa.c
ne2000.c
ne2000.h
net_rx_pkt.c NetRxPkt: Remove code duplication in net_rx_pkt_pull_data() 2017-03-06 11:46:02 +08:00
net_rx_pkt.h
net_tx_pkt.c
net_tx_pkt.h
opencores_eth.c
pcnet-pci.c
pcnet.c net: pcnet: fix source formatting and indentation 2016-10-26 09:57:59 +08:00
pcnet.h
rtl8139.c rtl8139: correctly handle PHY reset 2017-01-06 10:38:05 +08:00
smc91c111.c
spapr_llan.c hw/net/spapr_llan: 6 byte mac address device tree entry 2017-02-22 14:28:53 +11:00
stellaris_enet.c arm: stellaris: make MII accesses complete immediately 2017-01-27 15:29:08 +00:00
trace-events trace: clean up trace-events files 2017-01-31 17:12:15 +00:00
vhost_net.c vhost_net: device IOTLB support 2017-01-18 22:59:53 +02:00
virtio-net.c virtio: use VRingMemoryRegionCaches for avail and used rings 2017-02-17 21:52:30 +02:00
vmware_utils.h
vmxnet3.c vmxnet3: VMStatify rx/tx q_descr and int_state 2017-03-06 11:46:02 +08:00
vmxnet3.h
vmxnet_debug.h
xen_nic.c xen: Rename xen_be_send_notify 2016-10-28 17:54:21 -07:00
xgmac.c
xilinx_axienet.c
xilinx_ethlite.c