From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LEUFl-0004Wr-LC for qemu-devel@nongnu.org; Sun, 21 Dec 2008 14:46:17 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LEUFj-0004Wf-D3 for qemu-devel@nongnu.org; Sun, 21 Dec 2008 14:46:16 -0500 Received: from [199.232.76.173] (port=41491 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LEUFj-0004Wc-8G for qemu-devel@nongnu.org; Sun, 21 Dec 2008 14:46:15 -0500 Received: from mail-bw0-f12.google.com ([209.85.218.12]:50131) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LEUFi-0002S0-IP for qemu-devel@nongnu.org; Sun, 21 Dec 2008 14:46:15 -0500 Received: by bwz5 with SMTP id 5so2225795bwz.10 for ; Sun, 21 Dec 2008 11:46:12 -0800 (PST) Message-ID: Date: Sun, 21 Dec 2008 21:46:10 +0200 From: "Blue Swirl" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_67563_11237382.1229888770968" Subject: [Qemu-devel] [PATCH] PPC: Support flags -boot, -uuid and -kernel using fw_cfg Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laurent Vivier , Aurelien Jarno , "qemu-devel@nongnu.org" ------=_Part_67563_11237382.1229888770968 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, These two patches (Qemu/OpenBIOS) add support for giving OpenBIOS/PPC a boot device with -boot command line flag, use a UUID (print only) and call a preloaded kernel. These are passed from Qemu to OpenBIOS using the firmware configuration device and NVRAM. Using the -boot switch works, but I can't boot anything yet so it's not very well tested. UUID works, but it's not added to the device tree. Kernel crashes after the first instruction, maybe the memory size probe corrupts memory. >> ============================================================= >> OpenBIOS 1.0RC1 [Dec 21 2008 11:55] >> Configuration device id QEMU version 1 machine id 2 >> CPUs: 1 >> UUID: 12345678-1234-abcd-7654-123456789abc >> Initializing PCI devices... >> 0:0.0 - 1057:2 - /pci/pci - pci >> 0:1.0 - 1234:1111 - /pci/QEMU,VGA - QEMU,VGA >> 0:2.0 - 10ec:8029 - /pci/NE2000 - NE2000 >> 0:3.0 - 1095:646 - /pci/pci-ata - pci-ata >> ata-1: [io ports 0x100-0x107,0x182] >> drive1 [ATAPI cdrom]: QEMU DVD-ROM >> ata-2: [io ports 0x200-0x207,0x282] >> 0:4.0 - 106b:17 - /pci/mac-io - mac-io No disk found. >> [ppc] Kernel already loaded (0x01000000 + 0x003cadc8) ------=_Part_67563_11237382.1229888770968 Content-Type: plain/text; name=q_ppc_use_fw_cfg.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fp03vd1s Content-Disposition: attachment; filename=q_ppc_use_fw_cfg.diff SW5kZXg6IHFlbXUvaHcvcHBjX29sZHdvcmxkLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3 L3BwY19vbGR3b3JsZC5jCTIwMDgtMTItMjEgMTk6MzE6MzYuMDAwMDAwMDAwICswMDAwCisrKyBx ZW11L2h3L3BwY19vbGR3b3JsZC5jCTIwMDgtMTItMjEgMTk6MzE6MzguMDAwMDAwMDAwICswMDAw CkBAIC0zMiw5ICszMiwxNyBAQAogI2luY2x1ZGUgImlzYS5oIgogI2luY2x1ZGUgInBjaS5oIgog I2luY2x1ZGUgImJvYXJkcy5oIgorI2luY2x1ZGUgImZ3X2NmZy5oIgogCiAjZGVmaW5lIE1BWF9J REVfQlVTIDIKICNkZWZpbmUgVkdBX0JJT1NfU0laRSA2NTUzNgorI2RlZmluZSBCSU9TX0NGR19J T1BPUlQgMHg1MTAKKworZW51bSB7CisgICAgQVJDSF9QUkVQID0gMCwKKyAgICBBUkNIX01BQzk5 LAorICAgIEFSQ0hfSEVBVEhST1csCit9OwogCiAvKiB0ZW1wb3JhcnkgZnJhbWUgYnVmZmVyIE9T SSBjYWxscyBmb3IgdGhlIHZpZGVvLnggZHJpdmVyLiBUaGUgcmlnaHQKICAgIHNvbHV0aW9uIGlz IHRvIG1vZGlmeSB0aGUgZHJpdmVyIHRvIHVzZSBWR0EgUENJIEkvT3MgKi8KQEAgLTEyOCw2ICsx MzYsNyBAQAogICAgIGludCBwcGNfYm9vdF9kZXZpY2U7CiAgICAgQmxvY2tEcml2ZXJTdGF0ZSAq aGRbTUFYX0lERV9CVVMgKiBNQVhfSURFX0RFVlNdOwogICAgIGludCBpbmRleDsKKyAgICB2b2lk ICpmd19jZmc7CiAKICAgICBsaW51eF9ib290ID0gKGtlcm5lbF9maWxlbmFtZSAhPSBOVUxMKTsK IApAQCAtMzYzLDYgKzM3MiwxMSBAQAogCiAgICAgLyogU3BlY2lhbCBwb3J0IHRvIGdldCBkZWJ1 ZyBtZXNzYWdlcyBmcm9tIE9wZW4tRmlybXdhcmUgKi8KICAgICByZWdpc3Rlcl9pb3BvcnRfd3Jp dGUoMHgwRjAwLCA0LCAxLCAmUFBDX2RlYnVnX3dyaXRlLCBOVUxMKTsKKworICAgIGZ3X2NmZyA9 IGZ3X2NmZ19pbml0KEJJT1NfQ0ZHX0lPUE9SVCwgQklPU19DRkdfSU9QT1JUICsgMSwgMCwgMCk7 CisgICAgZndfY2ZnX2FkZF9pMzIoZndfY2ZnLCBGV19DRkdfSUQsIDEpOworICAgIGZ3X2NmZ19h ZGRfaTY0KGZ3X2NmZywgRldfQ0ZHX1JBTV9TSVpFLCAodWludDY0X3QpcmFtX3NpemUpOworICAg IGZ3X2NmZ19hZGRfaTE2KGZ3X2NmZywgRldfQ0ZHX01BQ0hJTkVfSUQsIEFSQ0hfSEVBVEhST1cp OwogfQogCiBRRU1VTWFjaGluZSBoZWF0aHJvd19tYWNoaW5lID0gewo= ------=_Part_67563_11237382.1229888770968 Content-Type: plain/text; name=o_ppc_use_fw_cfg.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fp03vhl4 Content-Disposition: attachment; filename=o_ppc_use_fw_cfg.diff SW5kZXg6IG9wZW5iaW9zLXF1aWx0L2FyY2gvcHBjL3FlbXUvaW5pdC5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IG9wZW5iaW9zLXF1aWx0Lm9yaWcvYXJjaC9wcGMvcWVtdS9pbml0LmMJMjAwOC0xMi0yMSAxOToz MTowMS4wMDAwMDAwMDAgKzAwMDAKKysrIG9wZW5iaW9zLXF1aWx0L2FyY2gvcHBjL3FlbXUvaW5p dC5jCTIwMDgtMTItMjEgMTk6MzE6NDMuMDAwMDAwMDAwICswMDAwCkBAIC0yNyw2ICsyNywxNCBA QAogI2luY2x1ZGUgInFlbXUvcWVtdS5oIgogI2luY2x1ZGUgIm9mbWVtLmgiCiAjaW5jbHVkZSAi b3BlbmJpb3MtdmVyc2lvbi5oIgorI2luY2x1ZGUgImxpYmMvYnl0ZW9yZGVyLmgiCisjZGVmaW5l IE5PX1FFTVVfUFJPVE9TCisjaW5jbHVkZSAib3BlbmJpb3MvZndfY2ZnLmgiCisKKyNkZWZpbmUg QklPU19DRkdfQ01EICAweDUxMAorI2RlZmluZSBCSU9TX0NGR19EQVRBIDB4NTExCisKKyNkZWZp bmUgVVVJRF9GTVQgIiUwMnglMDJ4JTAyeCUwMngtJTAyeCUwMngtJTAyeCUwMngtJTAyeCUwMngt JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IgogCiBleHRlcm4gdm9pZCB1bmV4cGVjdGVkX2V4Y2Vw KCBpbnQgdmVjdG9yICk7CiBleHRlcm4gdm9pZCBvYl9wY2lfaW5pdCggdm9pZCApOwpAQCAtNjUs NiArNzMsMTEgQEAKIHZvaWQKIGVudHJ5KCB2b2lkICkKIHsKKyAgICAgICAgdWludDMyX3QgdGVt cDsKKyAgICAgICAgdW5zaWduZWQgaW50IGk7CisgICAgICAgIHVpbnQxNl90IG1hY2hpbmVfaWQ7 CisgICAgICAgIGNoYXIgYnVmWzI1Nl0sIHFlbXVfdXVpZFsxNl07CisKIAlhcmNoID0gJmtub3du X2FyY2hbQVJDSF9IRUFUSFJPV107CiAJaXNhX2lvX2Jhc2UgPSBhcmNoLT5pb19iYXNlOwogCkBA IC03NCw2ICs4Nyw0NyBAQAogCXByaW50aygiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7CiAJcHJpbnRrKCJPcGVuQklPUyAl cyBbJXNdXG4iLCBPUEVOQklPU19SRUxFQVNFLCBPUEVOQklPU19CVUlMRF9EQVRFICk7CiAKKyAg ICAgICAgb3V0dyhfX2NwdV90b19iZTE2KEZXX0NGR19TSUdOQVRVUkUpLCBCSU9TX0NGR19DTUQp OworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKQorICAgICAgICAgICAgYnVmW2ldID0g aW5iKEJJT1NfQ0ZHX0RBVEEpOworCisgICAgICAgIGJ1Zls0XSA9ICdcMCc7CisKKyAgICAgICAg cHJpbnRrKCJDb25maWd1cmF0aW9uIGRldmljZSBpZCAlcyIsIGJ1Zik7CisKKyAgICAgICAgb3V0 dyhfX2NwdV90b19iZTE2KEZXX0NGR19JRCksIEJJT1NfQ0ZHX0NNRCk7CisgICAgICAgIGZvciAo aSA9IDA7IGkgPCA0OyBpKyspCisgICAgICAgICAgICBidWZbaV0gPSBpbmIoQklPU19DRkdfREFU QSk7CisKKyAgICAgICAgdGVtcCA9IF9fbGUzMl90b19jcHUoKih1aW50MzJfdCAqKWJ1Zik7Cisg ICAgICAgIHByaW50aygiIHZlcnNpb24gJWQiLCB0ZW1wKTsKKworICAgICAgICBvdXR3KF9fY3B1 X3RvX2JlMTYoRldfQ0ZHX01BQ0hJTkVfSUQpLCBCSU9TX0NGR19DTUQpOworICAgICAgICBmb3Ig KGkgPSAwOyBpIDwgMjsgaSsrKQorICAgICAgICAgICAgYnVmW2ldID0gaW5iKEJJT1NfQ0ZHX0RB VEEpOworCisgICAgICAgIG1hY2hpbmVfaWQgPSBfX2xlMTZfdG9fY3B1KCoodWludDE2X3QgKili dWYpOworCisgICAgICAgIHByaW50aygiIG1hY2hpbmUgaWQgJWRcbiIsIG1hY2hpbmVfaWQpOwor CisgICAgICAgIG91dHcoX19jcHVfdG9fYmUxNihGV19DRkdfTkJfQ1BVUyksIEJJT1NfQ0ZHX0NN RCk7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspCisgICAgICAgICAgICBidWZbaV0g PSBpbmIoQklPU19DRkdfREFUQSk7CisKKyAgICAgICAgdGVtcCA9IF9fbGUzMl90b19jcHUoKih1 aW50MzJfdCAqKWJ1Zik7CisKKyAgICAgICAgcHJpbnRrKCJDUFVzOiAleFxuIiwgdGVtcCk7CisK KyAgICAgICAgb3V0dyhfX2NwdV90b19iZTE2KEZXX0NGR19VVUlEKSwgQklPU19DRkdfQ01EKTsK KyAgICAgICAgZm9yIChpID0gMDsgaSA8IDE2OyBpKyspCisgICAgICAgICAgICBxZW11X3V1aWRb aV0gPSBpbmIoQklPU19DRkdfREFUQSk7CisKKyAgICAgICAgcHJpbnRrKCJVVUlEOiAiIFVVSURf Rk1UICJcbiIsIHFlbXVfdXVpZFswXSwgcWVtdV91dWlkWzFdLCBxZW11X3V1aWRbMl0sCisgICAg ICAgICAgICAgICBxZW11X3V1aWRbM10sIHFlbXVfdXVpZFs0XSwgcWVtdV91dWlkWzVdLCBxZW11 X3V1aWRbNl0sCisgICAgICAgICAgICAgICBxZW11X3V1aWRbN10sIHFlbXVfdXVpZFs4XSwgcWVt dV91dWlkWzldLCBxZW11X3V1aWRbMTBdLAorICAgICAgICAgICAgICAgcWVtdV91dWlkWzExXSwg cWVtdV91dWlkWzEyXSwgcWVtdV91dWlkWzEzXSwgcWVtdV91dWlkWzE0XSwKKyAgICAgICAgICAg ICAgIHFlbXVfdXVpZFsxNV0pOworCiAJb2ZtZW1faW5pdCgpOwogCWluaXRpYWxpemVfZm9ydGgo KTsKIAkvKiB3b24ndCByZXR1cm4gKi8KSW5kZXg6IG9wZW5iaW9zLXF1aWx0L2FyY2gvcHBjL3Fl bXUvbWFpbi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIG9wZW5iaW9zLXF1aWx0Lm9yaWcvYXJjaC9wcGMvcWVt dS9tYWluLmMJMjAwOC0xMi0yMSAxOTozMTo0Mi4wMDAwMDAwMDAgKzAwMDAKKysrIG9wZW5iaW9z LXF1aWx0L2FyY2gvcHBjL3FlbXUvbWFpbi5jCTIwMDgtMTItMjEgMTk6MzE6NDMuMDAwMDAwMDAw ICswMDAwCkBAIC0zMyw2ICszMyw4IEBACiAjZGVmaW5lIEVMRl9EUFJJTlRGKGZtdCwgYXJncy4u LikgZG8geyB9IHdoaWxlICgwKQogI2VuZGlmCiAKKyNkZWZpbmUgTlZSQU1fUE9SVCAweDc2CisK IHN0YXRpYyB2b2lkCiB0cmFuc2Zlcl9jb250cm9sX3RvX2VsZiggdWxvbmcgZWxmX2VudHJ5ICkK IHsKQEAgLTEzMCw2ICsxMzIsMjQgQEAKICAgICAvKiB3b24ndCBjb21lIGhlcmUgKi8KIH0KIAor c3RhdGljIHVpbnQ4X3QgbnZyYW1fcmVhZCh1aW50MTZfdCBvZmZzZXQpCit7CisgICAgb3V0Yihv ZmZzZXQgJiAweGZmLCAweDc0KTsKKyAgICBvdXRiKG9mZnNldCA+PiA4LCAweDc1KTsKKyAgICBy ZXR1cm4gaW5iKDB4NzcpOworfQorCitzdGF0aWMgdWludDMyX3QgbnZyYW1fcmVhZF9iZTMyKHVp bnQxNl90IG9mZnNldCkKK3sKKyAgICB1aW50MzJfdCByZXQ7CisKKyAgICByZXQgPSBudnJhbV9y ZWFkKG9mZnNldCkgPDwgMjQ7CisgICAgcmV0IHw9IG52cmFtX3JlYWQob2Zmc2V0ICsgMSkgPDwg MTY7CisgICAgcmV0IHw9IG52cmFtX3JlYWQob2Zmc2V0ICsgMikgPDwgODsKKyAgICByZXQgfD0g bnZyYW1fcmVhZChvZmZzZXQgKyAzKTsKKyAgICByZXR1cm4gcmV0OworfQorCiBzdGF0aWMgdm9p ZAogeWFib290X3N0YXJ0dXAoIHZvaWQgKQogewpAQCAtMTYwLDYgKzE4MCwxOCBAQAogICAgICAg ICAgICAgICAgICAgICBwYXJhbSA9IHBvcF9mc3RyX2NvcHkoKTsKICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgdHJ5X3BhdGgocGF0aCwgcGFyYW0pOworICAgICAgICAgICAgfSBl bHNlIHsKKyAgICAgICAgICAgICAgICBjaGFyIGJvb3RfZGV2aWNlID0gbnZyYW1fcmVhZCgweDM0 KTsKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKGJvb3RfZGV2aWNlKSB7CisgICAgICAgICAgICAg ICAgY2FzZSAnYyc6CisgICAgICAgICAgICAgICAgICAgIHBhdGggPSBzdHJkdXAoImhkOjIsXFx5 YWJvb3QiKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVm YXVsdDoKKyAgICAgICAgICAgICAgICBjYXNlICdkJzoKKyAgICAgICAgICAgICAgICAgICAgcGF0 aCA9IHN0cmR1cCgiY2Ryb206MixcXHlhYm9vdCIpOworICAgICAgICAgICAgICAgICAgICBicmVh azsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdHJ5X3BhdGgocGF0aCwgIiIp OwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGZvciggaT0wOyBpIDwgc2l6ZW9m KHBhdGhzKSAvIHNpemVvZihwYXRoc1swXSk7IGkrKyApIHsKQEAgLTE2OCw2ICsyMDAsMjIgQEAK IAlwcmludGsoIioqKiBCb290IGZhaWx1cmUhIE5vIHNlY29uZGFyeSBib290bG9hZGVyIHNwZWNp ZmllZCAqKipcbiIpOwogfQogCitzdGF0aWMgdm9pZCBjaGVja19wcmVsb2FkZWRfa2VybmVsKHZv aWQpCit7CisgICAgdW5zaWduZWQgbG9uZyBrZXJuZWxfaW1hZ2UsIGtlcm5lbF9zaXplLCBjbWRs aW5lOworICAgIHVuc2lnbmVkIGxvbmcgaW5pdHJkX2ltYWdlLCBpbml0cmRfc2l6ZTsKKworICAg IGtlcm5lbF9zaXplID0gbnZyYW1fcmVhZF9iZTMyKDB4M2MpOworICAgIGlmIChrZXJuZWxfc2l6 ZSkgeworICAgICAgICBrZXJuZWxfaW1hZ2UgPSBudnJhbV9yZWFkX2JlMzIoMHgzOCk7CisgICAg ICAgIGNtZGxpbmUgPSBudnJhbV9yZWFkX2JlMzIoMHg0MCk7CisgICAgICAgIGluaXRyZF9pbWFn ZSA9IG52cmFtX3JlYWRfYmUzMigweDQ4KTsKKyAgICAgICAgaW5pdHJkX3NpemUgPSBudnJhbV9y ZWFkX2JlMzIoMHg0Yyk7CisgICAgICAgIHByaW50aygiW3BwY10gS2VybmVsIGFscmVhZHkgbG9h ZGVkICgweCU4LjhseCArIDB4JTguOGx4KVxuIiwKKyAgICAgICAgICAgICAgIGtlcm5lbF9pbWFn ZSwga2VybmVsX3NpemUpOworICAgICAgICBjYWxsX2VsZihrZXJuZWxfaW1hZ2UpOworICAgIH0K K30KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8KIC8qCWVudHJ5CQkJCQkJCQkqLwpAQCAtMTc3LDUgKzIy NSw2IEBACiBib290KCB2b2lkICkKIHsKIAlmd29yZCgidXBkYXRlLWNob3NlbiIpOworICAgICAg ICBjaGVja19wcmVsb2FkZWRfa2VybmVsKCk7CiAJeWFib290X3N0YXJ0dXAoKTsKIH0K ------=_Part_67563_11237382.1229888770968--