From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NjyyP-0001si-ID for qemu-devel@nongnu.org; Tue, 23 Feb 2010 12:55:05 -0500 Received: from [199.232.76.173] (port=41458 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NjyyP-0001sW-7i for qemu-devel@nongnu.org; Tue, 23 Feb 2010 12:55:05 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NjyyN-0001lf-F5 for qemu-devel@nongnu.org; Tue, 23 Feb 2010 12:55:04 -0500 Received: from mail-px0-f172.google.com ([209.85.216.172]:52851) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NjyyN-0001lZ-5Q for qemu-devel@nongnu.org; Tue, 23 Feb 2010 12:55:03 -0500 Received: by pxi2 with SMTP id 2so1655736pxi.27 for ; Tue, 23 Feb 2010 09:55:01 -0800 (PST) MIME-Version: 1.0 Date: Tue, 23 Feb 2010 18:55:01 +0100 Message-ID: <7d08b87d1002230955x572d6c8y6f84a8479642eaf1@mail.gmail.com> From: Christoffer Dall Content-Type: text/plain; charset=ISO-8859-1 Subject: [Qemu-devel] ARM: RealView boot problem List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org I am trying to emulate ARMv6 on QEMU and cannot get past the early kernel boot process. I wish to emulate the arm1136 cpu on the realview-eb platform. The config file for the kernel and my binaries can be found here: http://www.cs.columbia.edu/~cdall/qemu-realview.tar.gz To configure and compile qemu, I use the following command: # ./configure --target-list=arm-softmmu # make I am using the stable-0.12 branch on commit 307331a42a39b46487f8f4356eaa943101f6af4e To run qemu, I use this command: # qemu-system-arm -M realview-eb -cpu arm1136 -kernel ~/src/linux-arm/arch/arm/boot/zImage -nographic -append "console=ttyAMA0 debug initcall_debug" I know that I need a file system to boot, but I should at least get kernel printout here right? I've tracked the issue to occur in a ldrex instruction, which generates a data abort: start_kernel() -> boot_cpu_init() -> set_cpu_online(cpu, true) -> cpumask_set_cpu(...) -> set_bit() -> _set_bit_le() .... ldrexb r2, [r1] The instruction is in arch/arm/lib/bitops.h:8 I tried mocking around quite a bit in the kernel config, but got nowhere. Any help is greatly appreciated here. Thanks! Regards, Christoffer Dall