qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* RE: [Qemu-devel] Small powerpc system emulation problem with linux
@ 2009-01-14 16:41 laurent
  2009-01-14 23:05 ` Lennart Sorensen
  0 siblings, 1 reply; 9+ messages in thread
From: laurent @ 2009-01-14 16:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: lsorense

[...]
>Debian tried to isntall the quik boot loader for oldworld mac's since
>that is what /proc/cpuinfo in linux claims to see, even though powermac
>g3 blue&white boxes (I have one here) is newworld, as are all powermac's

qemu emulates now by default a G3 beige (Silk), which is oldworld.

>using openfirmware 3.  newworld systems should use yaboot, but of course
>the installer had not setup the partitions for yaboot since it didn't
>see a newworld machine, and yaboot's installer refused to run since it
>wasn't a newworld machine.  quik boot's installer also refused to run
>since it wasn't a supported oldworld machine either.

In last openbios, I've managed to be able to boot with quik. But debian-installer doesn't create a correct quik.conf.

[...]

>So the main problems seem to be that the openbios firmware doesn't
>include an entry for 'interrupt-controller' which is the entry the linux
>kernel looks for to device a machine is newworld rather than oldworld in
>the powermac setup.  The other is that debian's yaboot is out of date.

As qemu emulates a newworld machine, openbios doesn't create an entry for interrupt-controller.

>The yaboot problem is being worked on.
>
>So now I am wondering what has to be done to make qemu appear as a
>newworld mac, since that is what the machine it claims to emulate is.
>Is this simply a mistake in openbios for qemu or does qemu actually
>emulate oldworld to some extent?

use qemu with "-M mac99". But for the moment it doesn't support openbios.

>
>I tried adding an entry for 'interrupt-controller' following the pearpc
>code in openbios, but that just resulted in a failure to boot the linux

Bad Idea...

>kernel, probably because it tried to access the machine as a newworld
>box, and couldn't find something it needed.  I wish I knew how to dump
>the openfirmware tree on the real powermac g3 to see what it has
>compared to what qemu with openbios currently sees.

lsprop /proc/device-tree

Regards,
Laurent

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [Qemu-devel] Small powerpc system emulation problem with linux
@ 2009-01-14 16:21 Lennart Sorensen
  2009-01-14 16:37 ` Aurelien Jarno
  0 siblings, 1 reply; 9+ messages in thread
From: Lennart Sorensen @ 2009-01-14 16:21 UTC (permalink / raw)
  To: qemu-devel

I did a subversion checkout of qemu last week and built it, and no
problems with that part so far.

I noticed it now supports using openbios-ppc32 instead of openhackware,
so I went looking for that and did a subversion checkout of openbios
and the fcode tools.  I used the openbios-elf ppc object as openbios-ppc32
and qemu seems quite happy with that.

I then booted a debian 4.0 (etch) install cd, but the network interface
didn't work (it gave a dumb error about the PCI bar 0 which was clearly
wrong).  I then grabbed a daily build of debian 5.0 (lenny) instead, and
booted that, and then networking worked fine.  I installed debian, and
had no problems until I hit installing the bootloader.

Debian tried to isntall the quik boot loader for oldworld mac's since
that is what /proc/cpuinfo in linux claims to see, even though powermac
g3 blue&white boxes (I have one here) is newworld, as are all powermac's
using openfirmware 3.  newworld systems should use yaboot, but of course
the installer had not setup the partitions for yaboot since it didn't
see a newworld machine, and yaboot's installer refused to run since it
wasn't a newworld machine.  quik boot's installer also refused to run
since it wasn't a supported oldworld machine either.

So I managed to lie to yaboot enough to convince it to run the ofpath
tools and such as if it was a newworld machine, and that all worked
fine, other than failing to access some part of nvram as far as I can
tell.

On rebooting I found that yaboot loaded from the disk, but failed to
load the system.  Turns out debian uses an ancient version of yaboot
that doesn't correctly work on some newer systems, and has issues with
initrd images.  I found a newer binary for yaboot and replaced it in the
bootstrap partition using a loopback mount.  After doing this, it
finally loaded and booted.  I now have a working debian system on qemu.

So the main problems seem to be that the openbios firmware doesn't
include an entry for 'interrupt-controller' which is the entry the linux
kernel looks for to device a machine is newworld rather than oldworld in
the powermac setup.  The other is that debian's yaboot is out of date.

The yaboot problem is being worked on.

So now I am wondering what has to be done to make qemu appear as a
newworld mac, since that is what the machine it claims to emulate is.
Is this simply a mistake in openbios for qemu or does qemu actually
emulate oldworld to some extent?

I tried adding an entry for 'interrupt-controller' following the pearpc
code in openbios, but that just resulted in a failure to boot the linux
kernel, probably because it tried to access the machine as a newworld
box, and couldn't find something it needed.  I wish I knew how to dump
the openfirmware tree on the real powermac g3 to see what it has
compared to what qemu with openbios currently sees.

Any hints would be appreciated.

-- 
Len Sorensen

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-01-15 16:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-14 16:41 [Qemu-devel] Small powerpc system emulation problem with linux laurent
2009-01-14 23:05 ` Lennart Sorensen
2009-01-14 23:36   ` Laurent Vivier
  -- strict thread matches above, loose matches on Subject: below --
2009-01-14 16:21 Lennart Sorensen
2009-01-14 16:37 ` Aurelien Jarno
2009-01-14 23:08   ` Lennart Sorensen
2009-01-14 23:26     ` Aurelien Jarno
2009-01-14 23:44       ` Laurent Vivier
2009-01-15 16:12       ` Lennart Sorensen

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).