summary refs log tree commit diff stats
path: root/hw/timer/lm32_timer.c
diff options
context:
space:
mode:
authorSam Bobroff <sam.bobroff@au1.ibm.com>2016-11-22 10:19:38 +1100
committerDavid Gibson <david@gibson.dropbear.id.au>2017-02-22 14:28:53 +1100
commit87684b4c4039fcf29ac9a95d46fed166e57d7ed9 (patch)
tree75d355dfa2e7e8cf736f72aead93e881a80002cc /hw/timer/lm32_timer.c
parentc5514d0e4bafde751ec09439ba042b1f1cda37a7 (diff)
downloadfocaccia-qemu-87684b4c4039fcf29ac9a95d46fed166e57d7ed9.tar.gz
focaccia-qemu-87684b4c4039fcf29ac9a95d46fed166e57d7ed9.zip
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>
Diffstat (limited to 'hw/timer/lm32_timer.c')
0 files changed, 0 insertions, 0 deletions