From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [ADD] PPC processor emulation
Date: Wed, 19 Nov 2003 12:11:51 +1100 [thread overview]
Message-ID: <1069204310.31651.20.camel@gaston> (raw)
In-Reply-To: <1069195839.13658.2379.camel@rapid>
> > But on the MacOS front if we can glom code
> > from MacOnLinux - or beef up user space mode and emulate the MOL kernel
> > module - then we could get everything from 8.6 to 10.3 working. The older
> > MacOS's are actually tougher because you have to have a Mac ROM.
> >
> Well, we'll need somthing like an OpenFirmware for recent MacOS too. I
> don't think there is a free firmware available for PPC which would be as
> complete as freebios... OpenBios seems far from this, as far as I
> know...
You don't need much. You need a device-tree and a few client interface
calls. MOL does that already and it makes all MacOS "newworld" and
OS X happy.
> > MOL can't run a "stock" Linux kernel, yet... the problem with
> > LinuxPPC is there *is* no such thing as a stock kernel, unless you
> > actually emulate Mac HW.
Well... You can since MOL do have the option of emulating some Mac HW ;)
The "native" bridge drivers were added to MOL later on, first versions
did indeed only HW emulation
> But a real Mac would be difficult to fully emulate, as I think it uses
> some obscure components. We can imagine the way it runs, looking at
> Darwin's code, sure...
And the linux/ppc one :) Actually, you really don't need to emulate
much HW to get any of the MacOSes up. Especially true with Darwin
where you can feed the Mach kernel with proper platform drivers at
boot time. For MacOS 9, you need some bits (PCI config space,
interrupt controller, via-cuda, ...) but for most things like block
storage, networking, etc..., MOL just feeds MacOS with special
drivers from the device-tree that do the bridging. It's all in
MOL source which is GPL and so can be reused here.
> But MacOs is supposed to run on PREP, which is well described and share
> a lot of components with PC hardwares. That's why I think it would be a
> good start to emulate this platform...
I don't think it's that nice ;) I'd rather go the mac way :)
> > > In my opinion, the hardest points are: PPC emulation improvement,
> > > cleaning the current vl code to separate x86 dedicated parts from
> > > generic ones and PCI. But I don't think we have to worry about PCI: x86
> > > emulation will need it too :=)
> >
> > Yup... it's kind of surreal to play with Linux under qemu - "ppro"
> > cpu, but with 486-era peripherals... and more importantly using bus
> > mastered IO will be much more efficient. I wonder if the bochs code could
> > be used as a reference for at least some of it, although I think they
> > mostly emulate ISA stuff too (and yet need the speed boost much more ;) )
> >
> Yes, and we miss AGP & hyper-transport too :=).
> Seriously, I also think bochs is mainly based on ISA. I took a look to
> FreeBios: it doesn't allocate PCI ressources at boot time,
> so all PCI stuff are quite hardcoded in the drivers. There are a few:
> PCI host bridge, PCI to ISA bridge, VGA controler and USB.
--
Benjamin Herrenschmidt <benh@kernel.crashing.org>
next prev parent reply other threads:[~2003-11-19 2:14 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-17 9:51 [Qemu-devel] new knoppix SegFault Jens Arm
2003-11-18 7:15 ` [Qemu-devel] [PATCH] Fixes for qemu J. Mayer
2003-11-18 7:30 ` J. Mayer
2003-11-18 7:31 ` Chad Page
2003-11-18 7:32 ` J. Mayer
2003-11-18 7:33 ` J. Mayer
2003-11-18 7:34 ` J. Mayer
2003-11-18 8:24 ` J. Mayer
2003-11-18 7:22 ` [Qemu-devel] [ADD] floppy disk emulation J. Mayer
2003-11-18 7:37 ` J. Mayer
2003-11-18 7:38 ` J. Mayer
2003-11-18 7:39 ` J. Mayer
2003-11-18 7:39 ` J. Mayer
2003-11-18 8:24 ` J. Mayer
2003-11-18 7:28 ` [Qemu-devel] [ADD] PPC processor emulation J. Mayer
2003-11-18 7:43 ` J. Mayer
2003-11-18 7:43 ` J. Mayer
2003-11-18 7:44 ` J. Mayer
2003-11-18 7:45 ` J. Mayer
2003-11-18 7:45 ` J. Mayer
2003-11-18 7:46 ` J. Mayer
2003-11-18 7:46 ` J. Mayer
2003-11-18 7:48 ` J. Mayer
2003-11-18 7:48 ` J. Mayer
2003-11-18 7:49 ` J. Mayer
2003-11-18 7:50 ` J. Mayer
2003-11-18 7:50 ` J. Mayer
2003-11-18 7:51 ` J. Mayer
2003-11-18 7:53 ` J. Mayer
2003-11-18 7:54 ` J. Mayer
2003-11-18 7:55 ` J. Mayer
2003-11-18 7:56 ` J. Mayer
2003-11-18 7:56 ` J. Mayer
2003-11-18 7:57 ` J. Mayer
2003-11-18 7:58 ` J. Mayer
2003-11-18 7:59 ` J. Mayer
2003-11-18 7:59 ` J. Mayer
2003-11-18 8:00 ` J. Mayer
2003-11-18 8:02 ` [Qemu-devel] [ADD] tests for PPC target J. Mayer
2003-11-18 8:06 ` J. Mayer
2003-11-18 8:08 ` J. Mayer
2003-11-18 8:08 ` J. Mayer
2003-11-18 8:09 ` J. Mayer
2003-11-18 8:10 ` J. Mayer
2003-11-18 8:25 ` J. Mayer
2003-11-18 8:24 ` [Qemu-devel] [ADD] PPC processor emulation J. Mayer
2003-11-18 9:37 ` Gwenole Beauchesne
2003-11-18 10:37 ` J. Mayer
2003-11-18 11:39 ` Raymond W. Lucke IV
2003-11-18 12:13 ` J. Mayer
2003-11-18 20:24 ` Raymond W. Lucke IV
2003-11-18 20:44 ` Jocelyn Mayer
2003-11-18 21:48 ` Chad Page
2003-11-18 22:50 ` J. Mayer
2003-11-19 1:11 ` Benjamin Herrenschmidt [this message]
2003-11-19 15:35 ` Jocelyn Mayer
2003-11-18 12:24 ` Gwenole Beauchesne
2003-11-18 12:57 ` Johan Rydberg
2003-11-18 14:52 ` Gwenole Beauchesne
2003-11-18 14:59 ` Jocelyn Mayer
2003-11-18 7:29 ` [Qemu-devel] [PATCH] Term prompt for qemu J. Mayer
2003-11-18 8:11 ` J. Mayer
2003-11-18 8:11 ` J. Mayer
2003-11-18 8:13 ` J. Mayer
2003-11-18 8:25 ` J. Mayer
-- strict thread matches above, loose matches on Subject: below --
2003-11-18 22:28 [Qemu-devel] [ADD] PPC processor emulation J. Mayer
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=1069204310.31651.20.camel@gaston \
--to=benh@kernel.crashing.org \
--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).