qemu-e2k/hw/net
Sam Bobroff 87684b4c40 hw/net/spapr_llan: 6 byte mac address device tree entry
The spapr-vlan device in QEMU has always presented it's MAC address in
the device tree as an 8 byte value, even though PAPR requires it to be
6 bytes.  This is because, at the time, AIX required the value to be 8
bytes.  However, modern versions of AIX support the (correct) 6
byte value so they no longer require the workaround.

It would be neatest to always provide a 6 byte value but that would
cause a problem with old Linux kernel ibmveth drivers, so the old 8
byte value is still presented when necessary.

Since commit 13f85203e (3.10, May 2013) the driver has been able to
handle 6 or 8 byte addresses so versions after that don't need to be
considered specially.

Drivers from kernels before that can also handle either type of
address, but not always:
* If the first byte's lowest bits are 10, the address must be 6 bytes.
* Otherwise, the address must be 8 bytes.
(The two bits in question are significant in a MAC address: they
indicate a locally-administered unicast address.)

So to maintain compatibility the old 8 byte value is presented when
the lowest two bits of the first byte are not 10.

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-02-22 14:28:53 +11: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
allwinner_emac.c
cadence_gem.c hw: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
dp8393x.c hw/net/dp8393x: Avoid unintentional sign extensions on addresses 2017-01-20 10:36:38 +08:00
e1000_regs.h
e1000.c
e1000e_core.c net: e1000e: fix an infinite loop issue 2017-02-15 11:18:57 +08:00
e1000e_core.h e1000e: Flush all receive queues on receive enable 2016-09-27 17:54:22 +08:00
e1000e.c pci: Convert msix_init() to Error and fix callers 2017-02-01 03:37:18 +02:00
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 hw/ptimer: Introduce timer policy feature 2016-09-22 18:13:06 +01:00
lance.c
Makefile.objs
mcf_fec.c m68k: QOMify the MCF Fast Ethernet Controller device 2017-01-20 10:36:38 +08:00
milkymist-minimac2.c
mipsnet.c
ne2000-isa.c
ne2000.c
ne2000.h
net_rx_pkt.c
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 migration: consolidate VMStateField.start 2017-02-13 17:27:13 +00: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