From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MFuWN-0000BX-Or for qemu-devel@nongnu.org; Sun, 14 Jun 2009 14:33:35 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MFuWJ-0008Tg-6J for qemu-devel@nongnu.org; Sun, 14 Jun 2009 14:33:35 -0400 Received: from [199.232.76.173] (port=40598 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MFuWI-0008TR-My for qemu-devel@nongnu.org; Sun, 14 Jun 2009 14:33:30 -0400 Received: from mail-bw0-f223.google.com ([209.85.218.223]:52774) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MFuWI-0007fa-4m for qemu-devel@nongnu.org; Sun, 14 Jun 2009 14:33:30 -0400 Received: by bwz23 with SMTP id 23so2625055bwz.34 for ; Sun, 14 Jun 2009 11:33:29 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: Date: Sun, 14 Jun 2009 21:33:28 +0300 Message-ID: Subject: Re: [Qemu-devel] PowerPC 440 support From: Blue Swirl Content-Type: multipart/mixed; boundary=001636499fe78861c9046c532d48 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 --001636499fe78861c9046c532d48 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit 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 > > > > --001636499fe78861c9046c532d48 Content-Type: application/x-patch; name="0001-Allow-user-to-specify-CPU-model.patch" Content-Disposition: attachment; filename="0001-Allow-user-to-specify-CPU-model.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fvy3dib8 RnJvbSA0NmYxY2RiYWZiYjY3ZjAwNTc2NTRmYWRkZjNkNTFlOWQ5NDYwNjcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCbHVlIFN3aXJsIDxibGF1d2lyYmVsQGdtYWlsLmNvbT4KRGF0 ZTogU3VuLCAxNCBKdW4gMjAwOSAxODoyMzo0NiArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIEFsbG93 IHVzZXIgdG8gc3BlY2lmeSBDUFUgbW9kZWwKClNpZ25lZC1vZmYtYnk6IEJsdWUgU3dpcmwgPGJs YXV3aXJiZWxAZ21haWwuY29tPgotLS0KIGh3L3BwYzQ0MC5jICAgICAgICB8ICAgMTMgKysrKyst LS0tLS0tLQogaHcvcHBjNDQwLmggICAgICAgIHwgICAgMyArKy0KIGh3L3BwYzQ0MF9iYW1ib28u YyB8ICAgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9ody9wcGM0NDAuYyBiL2h3L3BwYzQ0MC5jCmluZGV4IDAwZDgy ZTQuLjUxNzE5ODggMTAwNjQ0Ci0tLSBhL2h3L3BwYzQ0MC5jCisrKyBiL2h3L3BwYzQ0MC5jCkBA IC0zNCw3ICszNCw4IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgcHBjNDQwZXBfc2RyYW1f YmFua19zaXplc1tdID0gewogfTsKIAogQ1BVU3RhdGUgKnBwYzQ0MGVwX2luaXQocmFtX2FkZHJf dCAqcmFtX3NpemUsIFBDSUJ1cyAqKnBjaXAsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25z dCB1bnNpZ25lZCBpbnQgcGNpX2lycV9ucnNbNF0sIGludCBkb19pbml0KQorICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgaW50IHBjaV9pcnFfbnJzWzRdLCBpbnQgZG9faW5p dCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNwdV9tb2RlbCkKIHsKICAg ICB0YXJnZXRfcGh5c19hZGRyX3QgcmFtX2Jhc2VzW1BQQzQ0MEVQX1NEUkFNX05SX0JBTktTXTsK ICAgICB0YXJnZXRfcGh5c19hZGRyX3QgcmFtX3NpemVzW1BQQzQ0MEVQX1NEUkFNX05SX0JBTktT XTsKQEAgLTQ0LDEzICs0NSw5IEBAIENQVVN0YXRlICpwcGM0NDBlcF9pbml0KHJhbV9hZGRyX3Qg KnJhbV9zaXplLCBQQ0lCdXMgKipwY2lwLAogICAgIHFlbXVfaXJxICppcnFzOwogICAgIHFlbXVf aXJxICpwY2lfaXJxczsKIAotICAgIGVudiA9IGNwdV9wcGNfaW5pdCgiNDQwRVAiKTsKLSAgICBp ZiAoIWVudiAmJiBrdm1fZW5hYmxlZCgpKSB7Ci0gICAgICAgIC8qIFhYWCBTaW5jZSBxZW11IGRv ZXNuJ3QgeWV0IGVtdWxhdGUgNDQwLCB3ZSBqdXN0IHNheSBpdCdzIGEgNDA1LgotICAgICAgICAg KiBTaW5jZSBLVk0gZG9lc24ndCB1c2UgcWVtdSdzIENQVSBlbXVsYXRpb24gaXQgc2VlbXMgdG8g YmUgd29ya2luZwotICAgICAgICAgKiBPSy4gKi8KLSAgICAgICAgZW52ID0gY3B1X3BwY19pbml0 KCI0MDUiKTsKLSAgICB9CisgICAgaWYgKGNwdV9tb2RlbCA9PSBOVUxMKQorICAgICAgICBjcHVf bW9kZWwgPSAiNDA1IjsgLy8gWFhYOiBzaG91bGQgYmUgNDQwRVAKKyAgICBlbnYgPSBjcHVfaW5p dChjcHVfbW9kZWwpOwogICAgIGlmICghZW52KSB7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAi VW5hYmxlIHRvIGluaXRpYWxpemUgQ1BVIVxuIik7CiAgICAgICAgIGV4aXQoMSk7CmRpZmYgLS1n aXQgYS9ody9wcGM0NDAuaCBiL2h3L3BwYzQ0MC5oCmluZGV4IGI2ODQzZWIuLmE0MGY5MTcgMTAw NjQ0Ci0tLSBhL2h3L3BwYzQ0MC5oCisrKyBiL2h3L3BwYzQ0MC5oCkBAIC0xNSw2ICsxNSw3IEBA CiAjaW5jbHVkZSAiaHcuaCIKIAogQ1BVU3RhdGUgKnBwYzQ0MGVwX2luaXQocmFtX2FkZHJfdCAq cmFtX3NpemUsIFBDSUJ1cyAqKnBjaXAsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1 bnNpZ25lZCBpbnQgcGNpX2lycV9ucnNbNF0sIGludCBkb19pbml0KTsKKyAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBwY2lfaXJxX25yc1s0XSwgaW50IGRvX2luaXQs CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjcHVfbW9kZWwpOwogCiAjZW5k aWYKZGlmZiAtLWdpdCBhL2h3L3BwYzQ0MF9iYW1ib28uYyBiL2h3L3BwYzQ0MF9iYW1ib28uYwpp bmRleCAwMGFhMmM3Li45ODgyZWE1IDEwMDY0NAotLS0gYS9ody9wcGM0NDBfYmFtYm9vLmMKKysr IGIvaHcvcHBjNDQwX2JhbWJvby5jCkBAIC0xMDMsNyArMTAzLDcgQEAgc3RhdGljIHZvaWQgYmFt Ym9vX2luaXQocmFtX2FkZHJfdCByYW1fc2l6ZSwKICAgICBpbnQgaTsKIAogICAgIC8qIFNldHVw IENQVS4gKi8KLSAgICBlbnYgPSBwcGM0NDBlcF9pbml0KCZyYW1fc2l6ZSwgJnBjaWJ1cywgcGNp X2lycV9ucnMsIDEpOworICAgIGVudiA9IHBwYzQ0MGVwX2luaXQoJnJhbV9zaXplLCAmcGNpYnVz LCBwY2lfaXJxX25ycywgMSwgY3B1X21vZGVsKTsKIAogICAgIGlmIChwY2lidXMpIHsKICAgICAg ICAgaW50IHVuaXRfaWQgPSAwOwotLSAKMS41LjYuNQoK --001636499fe78861c9046c532d48--