From: Blue Swirl <blauwirbel@gmail.com>
To: Hollis Blanchard <hollis@penguinppc.org>
Cc: Baojun Wang <wangbj@gmail.com>,
"Richard W.M. Jones" <rjones@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] PowerPC 440 support
Date: Sun, 14 Jun 2009 21:33:28 +0300 [thread overview]
Message-ID: <f43fc5580906141133q750f4f6dg5e5eda27eeb5d2e8@mail.gmail.com> (raw)
In-Reply-To: <fb412d760906141028n65e50602kd6e5fb08a1510fba@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3275 bytes --]
Sorry, I was very confused (I didn't look at ppc440.c).
For some reason, CPU model can't be specified on the command line. The
patch allows this, does it look OK?
Is there a kernel and initrd somewhere, so I could test this?
Currently I get (no kernel or ROM, so nothing to execute):
Truncating memory to 128 MiB to fit SDRAM controller limits.
ppc405_serial_init: offset 0000000000000300
QEMU 0.10.50 monitor - type 'help' for more information
(qemu) qemu: fatal: Trying to execute code outside RAM or ROM at
0x00000000fffffffc
NIP 00000000fffffffc LR 0000000000000000 CTR 0000000000000000 XER 00000000
MSR 0000000000000000 HID0 0000000000000300 HF 0000000000000000 idx 1
Segmentation fault
On 6/14/09, Hollis Blanchard <hollis@penguinppc.org> wrote:
> Yes, I wrote the code you quoted.
>
> In case there is any confusion, let me restate: You can boot a Bamboo
> (PowerPC 440) guest under KVM on a PowerPC 440 host. KVM bypasses
> qemu's CPU emulation (TCG), but uses qemu's device emulation.
> Therefore, if someone were to implement 440 core emulation in qemu,
> you could boot a 440 kernel with qemu without KVM.
>
> Most devices found on 440 SoCs are the same as or very similar to the
> devices found on 405 SoCs. Qemu's 440 device emulation isn't perfect,
> but because Linux is highly modular, with a modified device tree you
> can boot it. See pc-bios/bamboo.dts.
>
> -Hollis
>
> On Sat, Jun 13, 2009 at 10:47 PM, Baojun Wang <wangbj@gmail.com> wrote:
> >
> > in hw/ppc440.c:
> >
> > env = cpu_ppc_init("440EP");
> > if (!env && kvm_enabled()) {
> > /* XXX Since qemu doesn't yet emulate 440, we just say it's a 405.
> > * Since KVM doesn't use qemu's CPU emulation it seems to be working
> > * OK. */
> > env = cpu_ppc_init("405");
> > }
> > if (!env) {
> > fprintf(stderr, "Unable to initialize CPU!\n");
> > exit(1);
> > }
> >
> > also in hw/ppc.c:
> >
> > I can find ppc40x_irq_init/e500_irq_init(used mpc8544ds), but there is
> > no ppcbooke_irq_init? It seems hw/ppc405_uc.c is emulation for DCRs,
> > PLB, DMA, GPIO, I2C.., but there is no hw/ppc44x_uc.c.
> >
> > the qemu source I used is 0.10.5.
> >
> > Also in ppc/translate_init.c, there lots of CONFIG_USER_ONLY, but I
> > many of them are DEBUG or CACHE related SPR emulation, and since qemu
> > doesn't emulate cache, I think it's OK.
> >
> > Thanks,
> > Wang
> >
> > On Sun, Jun 14, 2009 at 1:47 AM, Hollis Blanchard<hollis@penguinppc.org> wrote:
> > > On Fri, Jun 12, 2009 at 10:48 AM, Blue Swirl <blauwirbel@gmail.com> wrote:
> > >>
> > >> On 6/11/09, Baojun Wang <wangbj@gmail.com> wrote:
> > >> > could qemu emulate some board like bamboo (without kvm) or MPC8544ds
> > >> > now? Thanks
> > >>
> > >> Yes, if someone adds emulation for these devices: UIC, PLB, DMA, POB,
> > >> EBC, IIC, ZMII. Maybe some are not needed in all cases.
> > >
> > > No, qemu still doesn't emulate Book E cores, such as the PowerPC 440 in a
> > > Bamboo board.
> > >
> > > UIC is of course emulated, otherwise KVM guests on 440 wouldn't get very
> > > far. :) Enough 440 SoC devices are emulated to support Linux boot with a
> > > properly stripped device tree.
> > >
> > > -Hollis
> > >
>
[-- Attachment #2: 0001-Allow-user-to-specify-CPU-model.patch --]
[-- Type: application/x-patch, Size: 2427 bytes --]
next prev parent reply other threads:[~2009-06-14 18:33 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-14 17:28 [Qemu-devel] PowerPC 440 support Hollis Blanchard
2009-06-14 18:33 ` Blue Swirl [this message]
2009-06-14 19:46 ` Hollis Blanchard
2009-06-14 20:40 ` Blue Swirl
2009-06-15 4:40 ` Baojun Wang
2009-06-15 15:46 ` Hollis Blanchard
2009-06-15 16:52 ` Blue Swirl
2009-06-15 17:37 ` Hollis Blanchard
2009-06-16 15:12 ` Baojun Wang
2009-06-16 15:36 ` Hollis Blanchard
2009-06-15 4:37 ` Baojun Wang
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=f43fc5580906141133q750f4f6dg5e5eda27eeb5d2e8@mail.gmail.com \
--to=blauwirbel@gmail.com \
--cc=hollis@penguinppc.org \
--cc=qemu-devel@nongnu.org \
--cc=rjones@redhat.com \
--cc=wangbj@gmail.com \
/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).