qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Rob Landley <rob@landley.net>
To: qemu-devel <qemu-devel@nongnu.org>
Cc: Milton Miller <miltonm@bga.com>
Subject: [Qemu-devel] I got a kernel booted under qemu-system-ppc !
Date: Thu, 18 Oct 2007 19:12:57 -0500	[thread overview]
Message-ID: <200710181912.57825.rob@landley.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 2847 bytes --]

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

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.

[-- Attachment #2: ppc_rom.bin --]
[-- Type: application/octet-stream, Size: 4096 bytes --]

             reply	other threads:[~2007-10-18 23:13 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-19  0:12 Rob Landley [this message]
2007-10-18 23:46 ` [Qemu-devel] I got a kernel booted under qemu-system-ppc ! J. Mayer
2007-10-19 17:57   ` Milton Miller
2007-10-23  9:17     ` J. Mayer
2007-10-19  6:00 ` [Qemu-devel] " Milton Miller
2007-10-19 15:03 ` [Qemu-devel] " Aurelien Jarno
2007-10-19 15:19 ` Aurelien Jarno
2007-10-19 17:39   ` Jocelyn Mayer
2007-10-19 18:10     ` Milton Miller
2007-10-19 19:39     ` Aurelien Jarno
2007-10-19 20:33       ` Aurelien Jarno
2007-10-20  6:08         ` Rob Landley
2007-10-20  8:50           ` J. Mayer
2007-10-21  9:55             ` Rob Landley
2007-10-21 10:24               ` J. Mayer
2007-10-21 12:28                 ` J. Mayer
2007-10-21 22:37                 ` Rob Landley
2007-10-20 14:23       ` Aurelien Jarno
2007-10-20 14:49         ` Aurelien Jarno
2007-10-20 21:49           ` Aurelien Jarno
2007-10-21  9:01             ` J. Mayer
2007-10-20  7:52   ` Rob Landley
2007-10-20  9:03   ` J. Mayer
2007-10-20  9:42     ` Aurelien Jarno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200710181912.57825.rob@landley.net \
    --to=rob@landley.net \
    --cc=miltonm@bga.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).