[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] PowerPC 440 support
From: |
Baojun Wang |
Subject: |
Re: [Qemu-devel] PowerPC 440 support |
Date: |
Mon, 15 Jun 2009 12:40:18 +0800 |
It seems most boards will converted to the device tree infrastructure?
but I think we will need a firmware first before loading the linux
kernel, I don't know if qemu-system-ppcemb could run kernel directly
without a firmware..
Best Regards,
Wang
On Mon, Jun 15, 2009 at 3:46 AM, Hollis Blanchard<address@hidden> wrote:
> My 440 board is inaccessible for a couple weeks, so I can't test your
> patch. That said, the code looks fine.
>
> However, I wonder what your goal is? You want to be able to create a
> Bamboo board with e.g. a 750 processor? I don't think that would help
> the original poster, and I'm not sure how useful it is, but I don't
> object...
>
> Either way I guess it will become a non-issue once PowerPC boards are
> converted to the device tree infrastructure.
>
> -Hollis
>
> On Sun, Jun 14, 2009 at 1:33 PM, Blue Swirl<address@hidden> wrote:
>> 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 <address@hidden> 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 <address@hidden> 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<address@hidden> wrote:
>>> > > On Fri, Jun 12, 2009 at 10:48 AM, Blue Swirl <address@hidden> wrote:
>>> > >>
>>> > >> On 6/11/09, Baojun Wang <address@hidden> 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
>>> > >
>>>
>>
>
Re: [Qemu-devel] PowerPC 440 support, Baojun Wang, 2009/06/15