From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v3 08/16] hvmloader: Locate the BIOS blob Date: Thu, 25 Feb 2016 14:56:06 +0000 Message-ID: <1456412174-20162-9-git-send-email-anthony.perard@citrix.com> References: <1456412174-20162-1-git-send-email-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1456412174-20162-1-git-send-email-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Keir Fraser , Stefano Stabellini , Andrew Cooper , Ian Jackson , Jan Beulich , Anthony PERARD , Wei Liu List-Id: xen-devel@lists.xenproject.org VGhlIEJJT1MgY2FuIGJlIGZvdW5kIGFuIGVudHJ5IGNhbGxlZCAiYmlvcyIgb2YgdGhlIG1vZGxp c3Qgb2YgdGhlCmh2bV9zdGFydF9pbmZvIHN0cnVjdC4KClRoZSBmb3VuZCBCSU9TIGJsb2IgaXMg bm90IGxvYWRlZCBieSB0aGlzIHBhdGNoLCBidXQgb25seSBwYXNzZWQgYXMKYXJndW1lbnQgdG8g Ymlvc19sb2FkKCkgZnVuY3Rpb24uIEl0IGlzIGdvaW5nIHRvIGJlIHVzZWQgYnkgdGhlIG5leHQg ZmV3CnBhdGNoZXMuCgpTaWduZWQtb2ZmLWJ5OiBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJh cmRAY2l0cml4LmNvbT4KCi0tLQpDaGFuZ2VzIGluIFYzOgotIGZpeCBzb21lIGNvZHlpbmcgc3R5 bGUKLSB1c2UgbW9kdWxlLmNtZGxpbmUgdG8gbG9vayBmb3IgYSBtb2R1bGUgbmFtZSBpbnN0ZWFk IG9mIHRoZSBtYWluIGNtZGxpbmUKICBmcm9tIGh2bV9zdGFydF9pbmZvLgotLS0KIHRvb2xzL2Zp cm13YXJlL2h2bWxvYWRlci9jb25maWcuaCAgICB8ICAyICstCiB0b29scy9maXJtd2FyZS9odm1s b2FkZXIvaHZtbG9hZGVyLmMgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t CiB0b29scy9maXJtd2FyZS9odm1sb2FkZXIvb3ZtZi5jICAgICAgfCAgMyArKy0KIHRvb2xzL2Zp cm13YXJlL2h2bWxvYWRlci9yb21iaW9zLmMgICB8ICAzICsrLQogdG9vbHMvZmlybXdhcmUvaHZt bG9hZGVyL3V0aWwuaCAgICAgIHwgIDIgKysKIDUgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9u cygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1sb2Fk ZXIvY29uZmlnLmggYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvY29uZmlnLmgKaW5kZXggYjgz OGNmOS4uNGM2ZDhhZCAxMDA2NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2NvbmZp Zy5oCisrKyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9jb25maWcuaApAQCAtMjIsNyArMjIs NyBAQCBzdHJ1Y3QgYmlvc19jb25maWcgewogICAgIC8qIFJPTVMgKi8KICAgICB2b2lkICgqbG9h ZF9yb21zKSh2b2lkKTsKIAotICAgIHZvaWQgKCpiaW9zX2xvYWQpKGNvbnN0IHN0cnVjdCBiaW9z X2NvbmZpZyAqY29uZmlnKTsKKyAgICB2b2lkICgqYmlvc19sb2FkKShjb25zdCBzdHJ1Y3QgYmlv c19jb25maWcgKmNvbmZpZywgdm9pZCAqYWRkciwgdWludDMyX3Qgc2l6ZSk7CiAKICAgICB2b2lk ICgqYmlvc19pbmZvX3NldHVwKSh2b2lkKTsKICAgICB2b2lkICgqYmlvc19pbmZvX2ZpbmlzaCko dm9pZCk7CmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvaHZtbG9hZGVyLmMg Yi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvaHZtbG9hZGVyLmMKaW5kZXggMjBlYzhkYy4uZDMx OWRlMCAxMDA2NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2h2bWxvYWRlci5jCisr KyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9odm1sb2FkZXIuYwpAQCAtMjU0LDEwICsyNTQs MzIgQEAgc3RhdGljIHZvaWQgYWNwaV9lbmFibGVfc2NpKHZvaWQpCiAgICAgQlVHX09OKCEocG0x YV9jbnRfdmFsICYgQUNQSV9QTTFDX1NDSV9FTikpOwogfQogCitjb25zdCBzdHJ1Y3QgaHZtX21v ZGxpc3RfZW50cnkgKmdldF9tb2R1bGVfZW50cnkoCisgICAgY29uc3Qgc3RydWN0IGh2bV9zdGFy dF9pbmZvICppbmZvLAorICAgIGNvbnN0IGNoYXIgKm5hbWUpCit7CisgICAgY29uc3Qgc3RydWN0 IGh2bV9tb2RsaXN0X2VudHJ5ICptb2RsaXN0ID0KKyAgICAgICAgKHN0cnVjdCBodm1fbW9kbGlz dF9lbnRyeSAqKWluZm8tPm1vZGxpc3RfcGFkZHI7CisgICAgaW50IGk7CisKKyAgICBmb3IgKCBp ID0gMDsgaSA8IGluZm8tPm5yX21vZHVsZXM7IGkrKyApCisgICAgeworICAgICAgICB1aW50MzJf dCBtb2R1bGVfbmFtZSA9IG1vZGxpc3RbaV0uY21kbGluZV9wYWRkcjsKKyAgICAgICAgaWYgKCAh c3RyY21wKG5hbWUsIChjaGFyKiltb2R1bGVfbmFtZSkgKQorICAgICAgICB7CisgICAgICAgICAg ICBCVUdfT04obW9kbGlzdFtpXS5wYWRkciA+IFVJTlRfTUFYKTsKKyAgICAgICAgICAgIHJldHVy biAmbW9kbGlzdFtpXTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBOVUxMOworfQor CiBpbnQgbWFpbih2b2lkKQogewogICAgIGNvbnN0IHN0cnVjdCBiaW9zX2NvbmZpZyAqYmlvczsK ICAgICBpbnQgYWNwaV9lbmFibGVkOworICAgIGNvbnN0IHN0cnVjdCBodm1fbW9kbGlzdF9lbnRy eSAqYmlvc19tb2R1bGU7CiAKICAgICAvKiBJbml0aWFsaXNlIGh5cGVyY2FsbCBzdHVicyB3aXRo IFJFVCwgcmVuZGVyaW5nIHRoZW0gbm8tb3BzLiAqLwogICAgIG1lbXNldCgodm9pZCAqKUhZUEVS Q0FMTF9QSFlTSUNBTF9BRERSRVNTLCAweGMzIC8qIFJFVCAqLywgUEFHRV9TSVpFKTsKQEAgLTI5 Myw4ICszMTUsMTYgQEAgaW50IG1haW4odm9pZCkKICAgICB9CiAKICAgICBwcmludGYoIkxvYWRp bmcgJXMgLi4uXG4iLCBiaW9zLT5uYW1lKTsKLSAgICBpZiAoIGJpb3MtPmJpb3NfbG9hZCApCi0g ICAgICAgIGJpb3MtPmJpb3NfbG9hZChiaW9zKTsKKyAgICBiaW9zX21vZHVsZSA9IGdldF9tb2R1 bGVfZW50cnkoaHZtX3N0YXJ0X2luZm8sICJiaW9zIik7CisgICAgaWYgKCBiaW9zX21vZHVsZSAm JiBiaW9zLT5iaW9zX2xvYWQgKQorICAgIHsKKyAgICAgICAgdWludDMyX3QgcGFkZHIgPSBiaW9z X21vZHVsZS0+cGFkZHI7CisgICAgICAgIGJpb3MtPmJpb3NfbG9hZChiaW9zLCAodm9pZCopcGFk ZHIsIGJpb3NfbW9kdWxlLT5zaXplKTsKKyAgICB9CisgICAgZWxzZSBpZiAoIGJpb3MtPmJpb3Nf bG9hZCApCisgICAgeworICAgICAgICBiaW9zLT5iaW9zX2xvYWQoYmlvcywgMCwgMCk7CisgICAg fQogICAgIGVsc2UKICAgICB7CiAgICAgICAgIEJVR19PTihiaW9zLT5iaW9zX2FkZHJlc3MgKyBi aW9zLT5pbWFnZV9zaXplID4KZGlmZiAtLWdpdCBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9v dm1mLmMgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvb3ZtZi5jCmluZGV4IGRiOWZhN2EuLjg1 OGEyZDQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9vdm1mLmMKKysrIGIv dG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL292bWYuYwpAQCAtOTMsNyArOTMsOCBAQCBzdGF0aWMg dm9pZCBvdm1mX2ZpbmlzaF9iaW9zX2luZm8odm9pZCkKICAgICBpbmZvLT5jaGVja3N1bSA9IC1j aGVja3N1bTsKIH0KIAotc3RhdGljIHZvaWQgb3ZtZl9sb2FkKGNvbnN0IHN0cnVjdCBiaW9zX2Nv bmZpZyAqY29uZmlnKQorc3RhdGljIHZvaWQgb3ZtZl9sb2FkKGNvbnN0IHN0cnVjdCBiaW9zX2Nv bmZpZyAqY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmJpb3NfYWRkciwgdWlu dDMyX3QgYmlvc19sZW5ndGgpCiB7CiAgICAgeGVuX3Bmbl90IG1mbjsKICAgICB1aW50NjRfdCBh ZGRyID0gT1ZNRl9CRUdJTjsKZGlmZiAtLWdpdCBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9y b21iaW9zLmMgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvcm9tYmlvcy5jCmluZGV4IDFmMTVi OTQuLjJkZWQ4NDQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9yb21iaW9z LmMKKysrIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3JvbWJpb3MuYwpAQCAtMTIxLDcgKzEy MSw4IEBAIHN0YXRpYyB2b2lkIHJvbWJpb3NfbG9hZF9yb21zKHZvaWQpCiAgICAgICAgICAgICAg ICBvcHRpb25fcm9tX3BoeXNfYWRkciArIG9wdGlvbl9yb21fc3ogLSAxKTsKIH0KIAotc3RhdGlj IHZvaWQgcm9tYmlvc19sb2FkKGNvbnN0IHN0cnVjdCBiaW9zX2NvbmZpZyAqY29uZmlnKQorc3Rh dGljIHZvaWQgcm9tYmlvc19sb2FkKGNvbnN0IHN0cnVjdCBiaW9zX2NvbmZpZyAqY29uZmlnLAor ICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVudXNlZF9hZGRyLCB1aW50MzJfdCB1bnVz ZWRfc2l6ZSkKIHsKICAgICB1aW50MzJfdCBiaW9zaGlnaDsKICAgICBzdHJ1Y3Qgcm9tYmlvc19p bmZvICppbmZvOwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwuaCBi L3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmgKaW5kZXggMTMyZDkxNS4uZDQ1YzEwNyAx MDA2NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwuaAorKysgYi90b29scy9m aXJtd2FyZS9odm1sb2FkZXIvdXRpbC5oCkBAIC0yNSw2ICsyNSw4IEBACiAjdW5kZWYgTlVMTAog I2RlZmluZSBOVUxMICgodm9pZCopMCkKIAorI2RlZmluZSBVSU5UX01BWCAofjBVKQorCiB2b2lk IF9fYXNzZXJ0X2ZhaWxlZChjaGFyICphc3NlcnRpb24sIGNoYXIgKmZpbGUsIGludCBsaW5lKQog ICAgIF9fYXR0cmlidXRlX18oKG5vcmV0dXJuKSk7CiAjZGVmaW5lIEFTU0VSVChwKSBcCi0tIApB bnRob255IFBFUkFSRAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==