From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IieYU-0005xX-9h for qemu-devel@nongnu.org; Thu, 18 Oct 2007 19:13:30 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IieYT-0005xH-G9 for qemu-devel@nongnu.org; Thu, 18 Oct 2007 19:13:29 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IieYT-0005xE-DA for qemu-devel@nongnu.org; Thu, 18 Oct 2007 19:13:29 -0400 Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5] helo=grelber.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IieYT-0001MM-1C for qemu-devel@nongnu.org; Thu, 18 Oct 2007 19:13:29 -0400 From: Rob Landley Date: Thu, 18 Oct 2007 19:12:57 -0500 MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_Ja/FHQdqz764gdB" Message-Id: <200710181912.57825.rob@landley.net> Subject: [Qemu-devel] I got a kernel booted under qemu-system-ppc ! Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel Cc: Milton Miller --Boundary-00=_Ja/FHQdqz764gdB Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline The easy way to reproduce this is go to "http://landley.net/hg/firmware", download tip, and "./build.sh powerpc". When it finishes building everything, cd build and "./run-powerpc.sh". What I did is build a new ppc_rom.bin (attached, source code is at http://landley.net/hg/firmware/raw-diff/92f89c9c9495/sources/toys/make-ppc_rom.tar.bz2 ) which was written by Milton Miller. I use that firmware as the boot rom (point -L at the directory it's in) instead of Open Hackware, which still doesn't work for me. Then I build a 2.6.23 kernel with this patch: http://landley.net/hg/firmware/raw-diff/fdb6ddd4c3b7/sources/patches/linux-ppcqemu.patch which adds a "qemu" target. I then boot with the following command line (modulo wordwrap damage): qemu-system-ppc -M prep -nographic -hda image-powerpc.ext2 -kernel zImage-powerpc -append 'rw init=/tools/bin/sh panic=1 PATH=/tools/bin root=/dev/hda console=ttyS0' -L ../sources/toys And I get a shell prompt inside qemu! (After almost _two_years_ of trying, I'm kind of happy about this.) The downside is that the result boots fine under qemu-0.9.0, but is broken with current cvs. I tracked it down to the specific patch with "git bisect", and it's this one: http://git.kernel.dk/?p=qemu.git;a=commit;h=36f447f730f61ac413c5b1c4a512781f5dea0c94 author j_mayer Mon, 9 Apr 2007 22:45:36 +0000 (22:45 +0000) committer j_mayer Mon, 9 Apr 2007 22:45:36 +0000 (22:45 +0000) Implement embedded IRQ controller for PowerPC 6xx/740 & 750. Fix PowerPC external interrupt input handling and lowering. Fix OpenPIC output pins management. Fix multiples bugs in OpenPIC IRQ management. Fix OpenPIC CPU(s) reset function. Fix Mac99 machine to properly route OpenPIC outputs to the PowerPC input pins. Fix PREP machine to properly route i8259 output to the PowerPC external interrupt pin. Versions before that patch went in work fine. Versions since then hang halfway through IDE controller initialization: Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx hda: QEMU HARDDISK, ATA DISK drive hda: IRQ probe failed (0x0) hdb: IRQ probe failed (0x0) hdb: IRQ probe failed (0x0) hdb: QEMU CD-ROM, ATAPI CD/DVD-ROM drive hdb: IRQ probe failed (0x0) <-- hangs here with the patch ide0 at 0x1f0-0x1f7,0x3f6 on irq 13 hda: max request size: 512KiB hda: 4194304 sectors (2147 MB) w/256KiB Cache, CHS=4161/255/63 hda: set_multmode: status=0x41 { DriveReady Error } hda: set_multmode: error=0x04 { DriveStatusError } ide: failed opcode was: 0xef hda: cache flushes supported hda: unknown partition table mice: PS/2 mouse device common for all mice Rob -- "One of my most productive days was throwing away 1000 lines of code." - Ken Thompson. --Boundary-00=_Ja/FHQdqz764gdB Content-Type: application/octet-stream; name="ppc_rom.bin" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ppc_rom.bin" AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQDf7tAAALMQAAADgAAAmoAAAAKAAAABEA AAAQAAAAAAAAAYkAAAlwAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAAAcWVtdQAA AAAAAAADAAAACgAAAAxRRU1VLFBSZVAAAAAAAAADAAAACgAAABJxZW11LXByZXAAAAAAAAADAAAA BAAAAB0AAAABAAAAAwAAAAQAAAAsAAAAAQAAAAFjcHVzAAAAAAAAAAMAAAAEAAAAHQAAAAEAAAAD AAAABAAAACwAAAAAAAAAAWNwdUAwAAAAAAAAAwAAAAQAAAAAY3B1AAAAAAMAAAAEAAAAOAAAAAAA AAADAAAABAAAADwL68IAAAAAAwAAAAQAAABMBfXhAAAAAAMAAAAEAAAAWgX14QAAAAADAAAABAAA AG0AAAAgAAAAAwAAAAQAAAB/AAAAIAAAAAMAAAAEAAAAkQAAAAAAAAADAAAABAAAAJ4AAAAAAAAA AgAAAAIAAAABbWVtb3J5AAAAAAADAAAABwAAAABtZW1vcnkAAAAAAAMAAAAIAAAAOAAAAAABAAAA AAAAAgAAAAFwY2lAODA4MDAwMDAAAAAAAAAAAwAAAAQAAAAAcGNpAAAAAAMAAAAJAAAAEnByZXAt cGNpAAAAAAAAAAMAAAAEAAAAPAH8oFUAAAADAAAACAAAADiAgAAAAEAAAAAAAAMAAAAEAAAAq7// //AAAAADAAAABAAAAB0AAAADAAAAAwAAAAQAAAAsAAAAAgAAAAMAAAAwAAAAxgEAAAAAAAAAAAAA AIAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAMAAAAEAAAAzQAAAAEAAAAD AAAAEAAAAN4AAAgAAAAAAAAAAAAAAAAAAAAAAwAAADgAAADxAAAIAAAAAAAAAAAAAAAAAAAAAAEA AAALAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAABAAAACQAAAAMAAAABaXNhAAAAAAMAAAAEAAAAAGlz YQAAAAADAAAABAAAAB0AAAACAAAAAwAAAAQAAAAsAAAAAQAAAAMAAAAEAAAAzQAAAAIAAAADAAAA MAAAAMYAAAABAAAAAAEAWAAAAAAAAAAAAAABAAAAAAAAAAAAAAIAWAAAAAAAAAAAAAEAAAAAAAAB cGFyYWxsZWwAAAAAAAAAAwAAAAkAAAAAcGFyYWxsZWwAAAAAAAAAAwAAABYAAAAScG5wUE5QLDQw MQBwbnBQTlAsNDAwAAAAAAAAAwAAABgAAAA4AAAAAQAAA7wAAAAIAAAAAQAAB7wAAAAGAAAAAwAA AAgAAAD/AAAABwAAAAMAAAADAAAABAAAAQoAAAABAAAAAgAAAAFzZXJpYWxAM2Y4AAAAAAADAAAA BwAAAABzZXJpYWwAAAAAAAMAAAAeAAAAEnBucFBOUCw1MDEAcG5wUE5QLDUwMABuczE2NTUwAAAA AAAAAwAAAAQAAAEbgAAD+AAAAAMAAAAEAAAAPAAcIAAAAAADAAAADAAAADgAAAABAAAD+AAAAAgA AAADAAAACAAAAP8AAAAEAAAAAwAAAAMAAAAEAAABCgAAAAEAAAACAAAAAWludGVycnVwdC1jb250 cm9sbGVyAAAAAAAAAAMAAAAEAAAAzQAAAAIAAAADAAAABgAAAABpODI1OQAAAAAAAAMAAAAJAAAA EnByZXAsaWljAAAAAAAAAAMAAAAAAAABJwAAAAMAAAAkAAAAOAAAAAEAAAAgAAAAAgAAAAEAAACg AAAAAgAAAAEAAATQAAAAAgAAAAMAAAAEAAABPAAAAAEAAAACAAAAAW5lMjAwMEAzMDAAAAAAAAMA AAAMAAAAOAAAAAEAAAMAAAAAIAAAAAMAAAAEAAABCgAAAAEAAAADAAAACAAAAP8AAAAJAAAAAwAA AAIAAAABbmUyMDAwQDMyMAAAAAAAAwAAAAwAAAA4AAAAAQAAAyAAAAAgAAAAAwAAAAQAAAEKAAAA AQAAAAMAAAAIAAAA/wAAAAoAAAADAAAAAgAAAAFuZTIwMDBAMzQwAAAAAAADAAAADAAAADgAAAAB AAADQAAAACAAAAADAAAABAAAAQoAAAABAAAAAwAAAAgAAAD/AAAACwAAAAMAAAACAAAAAW5lMjAw MEAzNjAAAAAAAAMAAAAMAAAAOAAAAAEAAANgAAAAIAAAAAMAAAAEAAABCgAAAAEAAAADAAAACAAA AP8AAAADAAAAAwAAAAIAAAABbmUyMDAwQDI4MAAAAAAAAwAAAAwAAAA4AAAAAQAAAoAAAAAgAAAA AwAAAAQAAAEKAAAAAQAAAAMAAAAIAAAA/wAAAAQAAAADAAAAAgAAAAFuZTIwMDBAMzgwAAAAAAAD AAAADAAAADgAAAABAAADgAAAACAAAAADAAAABAAAAQoAAAABAAAAAwAAAAgAAAD/AAAABQAAAAMA AAACAAAAAgAAAAIAAAABY2hvc2VuAAAAAAADAAAAFAAAAUovcGNpL2lzYS9zZXJpYWxAM2Y4AAAA AAMAAAAEAAABXAAAAAAAAAADAAAABAAAAW8AAAAAAAAAAwAAAgAAAAGAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAlkZXZp Y2VfdHlwZQBtb2RlbABjb21wYXRpYmxlACNhZGRyZXNzLWNlbGxzACNzaXplLWNlbGxzAHJlZwBj bG9jay1mcmVxdWVuY3kAYnVzLWZyZXF1ZW5jeQB0aW1lYmFzZS1mcmVxdWVuY3kAaS1jYWNoZS1s aW5lLXNpemUAZC1jYWNoZS1saW5lLXNpemUAZC1jYWNoZS1zaXplAGktY2FjaGUtc2l6ZQA4MjU5 LWludGVycnVwdC1hY2tub3dsZWRnZQByYW5nZXMAI2ludGVycnVwdC1jZWxscwBpbnRlcnJ1cHQt bWFwLW1hc2sAaW50ZXJydXB0LW1hcABpbnRlcnJ1cHRzAGludGVycnVwdC1wYXJlbnQAdmlydHVh bC1yZWcAaW50ZXJydXB0LWNvbnRyb2xsZXIAbGludXgscGhhbmRsZQBsaW51eCxzdGRvdXQtcGF0 aABsaW51eCxpbml0cmQtc3RhcnQAbGludXgsaW5pdHJkLWVuZABib290YXJncwAAAAB/6AKmP8AB ADve/wCA3/YEOIABAHyJA6aYhgB1OIT//5iGAHSIpgB3fL4hrkIA//A43/OwgIYABDiEAANUhAA6 fGTwUDiE//wsBAAAfKYgLnyjIS5Agv/wgL4AMJCjAaSAvgBIkKMHfIDeAEx8xioUkMMHjDjDB5yA ngBEgKb/+HwEKEBBgAAIOIX//ywEAAB8iQOmgJ4AQEGCABg4hP//OMb//4ykAAGcpgABQgD/+IDe ADighgAsLAQAAHyJA6aA5gAcfOY6FEGCAEiApwAALAUAAUCCADCApwAEfIYqFICnAAh8hSBQgKYA GHyEKhR8iQOmOCP/ADigAABOgAQhSAAAAKCGACp85yIUQgD/wEgAAABgAAAAS//+6Q== --Boundary-00=_Ja/FHQdqz764gdB--