mips_malta: fix BIOS endianness swapping
authorPaul Burton <paul.burton@imgtec.com>
Fri, 14 Jun 2013 07:30:43 +0000 (08:30 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Sun, 28 Jul 2013 17:18:07 +0000 (19:18 +0200)
commita2b8813d62fa5a35adc1a7bf58de5b2ffb754f5d
tree778e225dc3658958857a5979c3e9e28a897344b6
parentcba5cb67becd66f8eae4177c4f95756f3f9bb77a
mips_malta: fix BIOS endianness swapping

If the target is little endian (mipsel) then the BIOS image endianness
is swapped so that the big endian BIOS binaries commonly produced can be
loaded correctly.

When using the -bios argument the BIOS is loaded using
load_image_targphys, however this doesn't perform the load to target
memory immediately. Instead it loads the BIOS file into a struct Rom
which will later be written to target memory upon reset. However the
endianness conversion was being performed before this, on init, and
operating on the target memory which at this point is blank & will later
be overwritten by the (big endian) BIOS image. Correct this by operating
on the data referenced by struct Rom rather than the target memory when
the -bios argument is used.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
hw/mips/mips_malta.c