qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] I got a kernel booted under qemu-system-ppc !


From: Aurelien Jarno
Subject: Re: [Qemu-devel] I got a kernel booted under qemu-system-ppc !
Date: Fri, 19 Oct 2007 17:19:16 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

On Thu, Oct 18, 2007 at 07:12:57PM -0500, Rob Landley wrote:
> 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 <j_mayer>
>       Mon, 9 Apr 2007 22:45:36 +0000 (22:45 +0000)
> committer  j_mayer <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
> 

The small patch below fixes the IDE problem, but not the NE2000 ISA one.
Please apply.

Index: hw/i8259.c
===================================================================
RCS file: /sources/qemu/qemu/hw/i8259.c,v
retrieving revision 1.25
diff -u -d -p -r1.25 i8259.c
--- hw/i8259.c  17 Sep 2007 08:09:46 -0000      1.25
+++ hw/i8259.c  19 Oct 2007 15:17:22 -0000
@@ -164,7 +164,7 @@ void pic_update_irq(PicState2 *s)
     }
 
 /* all targets should do this rather than acking the IRQ in the cpu */
-#if defined(TARGET_MIPS)
+#if defined(TARGET_MIPS) || defined(TARGET_PPC)
     else {
         qemu_irq_lower(s->parent_irq);
     }

-- 
  .''`.  Aurelien Jarno             | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   address@hidden         | address@hidden
   `-    people.debian.org/~aurel32 | www.aurel32.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]