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: Jocelyn Mayer
Subject: Re: [Qemu-devel] I got a kernel booted under qemu-system-ppc !
Date: Fri, 19 Oct 2007 19:39:47 +0200

On Fri, 2007-10-19 at 17:19 +0200, Aurelien Jarno wrote:
> 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.

Interesting, thanks. I'll test this and apply or check for more fixes if
needed... I'll also try to check what's happening with the NE2000. Could
it be the ne2000_irq table in ppc_prep.c would not be correct ? It may
also be usefull to be able to use PCI network devices, if the target
runs properly, isn't it ?
If the proposed ROM image is best suitable to make PreP target run (and
as I don't spend a lot of time hacking OHW those days), it may also be
interesting to add a ppc_prep_rom.bin to the repository... In fact, it
was maybe not a good idea to try to use the same BIOS image on all
PowerPC targets...

> 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);
>      }
> 





reply via email to

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