fw_cfg: the I/O port variant expects little-endian
commit6fdf98f281f85ae6e2883bed2f691bcfe33b1f9f
authorPaolo Bonzini <pbonzini@redhat.com>
Sun, 28 Jul 2013 12:35:54 +0000 (28 14:35 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 7 Aug 2013 17:48:15 +0000 (7 12:48 -0500)
tree4e0517bd29501149381e7f48b116864d4d7308ac
parente9a72359a54978f7364f6486973cea50ceb52173
fw_cfg: the I/O port variant expects little-endian

The I/O port variant of fw_cfg is used by sparc64, which is a big-endian machine.
Firmware swaps bytes before sending them to fw_cfg, so we need to unswap them in
the device.

This is only used on sparc64 and on (little-endian) x86, so it does not affect
any other target.  32-bit Sparc and PPC all use memory-mapped fw_cfg.

Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-id: 1375014954-31916-2-git-send-email-pbonzini@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/nvram/fw_cfg.c