diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2013-07-28 14:35:54 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-08-07 12:48:15 -0500 |
commit | 6fdf98f281f85ae6e2883bed2f691bcfe33b1f9f (patch) | |
tree | 4e0517bd29501149381e7f48b116864d4d7308ac /hw | |
parent | e9a72359a54978f7364f6486973cea50ceb52173 (diff) | |
download | hqemu-6fdf98f281f85ae6e2883bed2f691bcfe33b1f9f.zip hqemu-6fdf98f281f85ae6e2883bed2f691bcfe33b1f9f.tar.gz |
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>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/nvram/fw_cfg.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c index 0a35015..d0820e5 100644 --- a/hw/nvram/fw_cfg.c +++ b/hw/nvram/fw_cfg.c @@ -324,7 +324,7 @@ static const MemoryRegionOps fw_cfg_data_mem_ops = { static const MemoryRegionOps fw_cfg_comb_mem_ops = { .read = fw_cfg_comb_read, .write = fw_cfg_comb_write, - .endianness = DEVICE_NATIVE_ENDIAN, + .endianness = DEVICE_LITTLE_ENDIAN, .valid.accepts = fw_cfg_comb_valid, }; |