From patchwork Sun May 30 02:25:26 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Arm big endian? Date: Sat, 29 May 2010 16:25:26 -0000 From: Rob Landley X-Patchwork-Id: 53993 Message-Id: <201005292125.26794.rob@landley.net> To: qemu-devel@nongnu.org I'm trying to get arm big endian support to work. I patched the 2.6.33 kernel to pretend that good old versatilepb can have a big endian CPU plugged into it (attached), and then I built a kernel with the attached .config, and qemu went "boing": $ qemu-system-arm -M versatilepb -nographic -no-reboot -kernel zImage-armv4eb -hda image-armv4eb.sqf -append root=/dev/sda rw init=/usr/sbin/init.sh panic=1 PATH=/usr/bin console=ttyAMA0 HOST=armv4eb -net nic,model=rtl8139 -net user qemu: hardware error: pl011_read: Bad offset 6c8 CPU #0: R00=00000000 R01=00000183 R02=00000100 R03=00000000 R04=101f36ca R05=00000000 R06=00000000 R07=00000000 R08=ffffffe4 R09=00000000 R10=00000000 R11=00000000 R12=00000000 R13=00000000 R14=00010088 R15=00010000 PSR=000001db ---- A und32 Aborted It does this with both the release version I have on the host and a recent git (thursday-ish). Does this look more like a kernel error, or a qemu error? Do I need to select a different -cpu emulation? Thanks, Rob --- linux/arch/arm/mach-versatile/Kconfig 2010-05-29 18:44:21.000000000 -0500 +++ linx/arch/arm/mach-versatile/Kconfig 2010-05-29 19:19:38.000000000 -0500 @@ -12,4 +12,12 @@ help Include support for the ARM(R) Versatile/AP platform. +if ARCH_VERSATILE_PB || ARCH_VERSATILE_AB + +config ARCH_SUPPORTS_BIG_ENDIAN + bool + default y + +endif + endmenu