From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MFwVh-0006kY-8q for qemu-devel@nongnu.org; Sun, 14 Jun 2009 16:41:01 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MFwVb-0006fR-KS for qemu-devel@nongnu.org; Sun, 14 Jun 2009 16:41:00 -0400 Received: from [199.232.76.173] (port=33296 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MFwVb-0006fG-Ei for qemu-devel@nongnu.org; Sun, 14 Jun 2009 16:40:55 -0400 Received: from mail-bw0-f223.google.com ([209.85.218.223]:50677) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MFwVa-0001E1-UG for qemu-devel@nongnu.org; Sun, 14 Jun 2009 16:40:55 -0400 Received: by bwz23 with SMTP id 23so2658971bwz.34 for ; Sun, 14 Jun 2009 13:40:54 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: Date: Sun, 14 Jun 2009 23:40:53 +0300 Message-ID: Subject: Re: [Qemu-devel] PowerPC 440 support From: Blue Swirl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hollis Blanchard Cc: Baojun Wang , "Richard W.M. Jones" , qemu-devel@nongnu.org On 6/14/09, Hollis Blanchard 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... That could be useful, but I'm trying to fix the CPU model selection logic. It does not yield a working CPU without KVM. > Either way I guess it will become a non-issue once PowerPC boards are > converted to the device tree infrastructure. Probably. > > > -Hollis > > > On Sun, Jun 14, 2009 at 1:33 PM, Blue Swirl 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 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 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 wrote: > >> > > On Fri, Jun 12, 2009 at 10:48 AM, Blue Swirl wrote: > >> > >> > >> > >> On 6/11/09, Baojun Wang 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 > >> > > > >> > > >