From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v4 08/14] hvmloader: Locate the BIOS blob Date: Mon, 14 Mar 2016 17:55:43 +0000 Message-ID: <1457978150-27201-9-git-send-email-anthony.perard@citrix.com> References: <1457978150-27201-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: <1457978150-27201-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 cmRAY2l0cml4LmNvbT4KCi0tLQpDaGFuZ2VzIGluIFY0OgotIGFkZCBtb3JlIEJVR19PTiBpbnRv IGdldF9tb2R1bGVfZW50cnkoKS4gQ2hlY2sgdGhhdCBtb2R1bGVzIHBhZGRyIGFuZAogIHNpemUg YXJlIDMyYml0cy4KCkNoYW5nZXMgaW4gVjM6Ci0gZml4IHNvbWUgY29keWluZyBzdHlsZQotIHVz ZSBtb2R1bGUuY21kbGluZSB0byBsb29rIGZvciBhIG1vZHVsZSBuYW1lIGluc3RlYWQgb2YgdGhl IG1haW4gY21kbGluZQogIGZyb20gaHZtX3N0YXJ0X2luZm8uCi0tLQogdG9vbHMvZmlybXdhcmUv aHZtbG9hZGVyL2NvbmZpZy5oICAgIHwgIDIgKy0KIHRvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9o dm1sb2FkZXIuYyB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogdG9v bHMvZmlybXdhcmUvaHZtbG9hZGVyL292bWYuYyAgICAgIHwgIDMgKystCiB0b29scy9maXJtd2Fy ZS9odm1sb2FkZXIvcm9tYmlvcy5jICAgfCAgMyArKy0KIHRvb2xzL2Zpcm13YXJlL2h2bWxvYWRl ci91dGlsLmggICAgICB8ICAyICsrCiA1IGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyks IDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2Nv bmZpZy5oIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2NvbmZpZy5oCmluZGV4IGI4MzhjZjku LjRjNmQ4YWQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9jb25maWcuaAor KysgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvY29uZmlnLmgKQEAgLTIyLDcgKzIyLDcgQEAg c3RydWN0IGJpb3NfY29uZmlnIHsKICAgICAvKiBST01TICovCiAgICAgdm9pZCAoKmxvYWRfcm9t cykodm9pZCk7CiAKLSAgICB2b2lkICgqYmlvc19sb2FkKShjb25zdCBzdHJ1Y3QgYmlvc19jb25m aWcgKmNvbmZpZyk7CisgICAgdm9pZCAoKmJpb3NfbG9hZCkoY29uc3Qgc3RydWN0IGJpb3NfY29u ZmlnICpjb25maWcsIHZvaWQgKmFkZHIsIHVpbnQzMl90IHNpemUpOwogCiAgICAgdm9pZCAoKmJp b3NfaW5mb19zZXR1cCkodm9pZCk7CiAgICAgdm9pZCAoKmJpb3NfaW5mb19maW5pc2gpKHZvaWQp OwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2h2bWxvYWRlci5jIGIvdG9v bHMvZmlybXdhcmUvaHZtbG9hZGVyL2h2bWxvYWRlci5jCmluZGV4IGM0NWYzNjcuLjQ2MGVmYjkg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9odm1sb2FkZXIuYworKysgYi90 b29scy9maXJtd2FyZS9odm1sb2FkZXIvaHZtbG9hZGVyLmMKQEAgLTI1MywxMCArMjUzLDQwIEBA IHN0YXRpYyB2b2lkIGFjcGlfZW5hYmxlX3NjaSh2b2lkKQogICAgIEJVR19PTighKHBtMWFfY250 X3ZhbCAmIEFDUElfUE0xQ19TQ0lfRU4pKTsKIH0KIAorY29uc3Qgc3RydWN0IGh2bV9tb2RsaXN0 X2VudHJ5ICpnZXRfbW9kdWxlX2VudHJ5KAorICAgIGNvbnN0IHN0cnVjdCBodm1fc3RhcnRfaW5m byAqaW5mbywKKyAgICBjb25zdCBjaGFyICpuYW1lKQoreworICAgIGNvbnN0IHN0cnVjdCBodm1f bW9kbGlzdF9lbnRyeSAqbW9kbGlzdCA9CisgICAgICAgIChzdHJ1Y3QgaHZtX21vZGxpc3RfZW50 cnkgKilpbmZvLT5tb2RsaXN0X3BhZGRyOworICAgIHVuc2lnbmVkIGludCBpOworCisgICAgaWYg KCAhbW9kbGlzdCApCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgZm9yICggaSA9IDA7IGkg PCBpbmZvLT5ucl9tb2R1bGVzOyBpKysgKQorICAgIHsKKyAgICAgICAgdWludDMyX3QgbW9kdWxl X25hbWUgPSBtb2RsaXN0W2ldLmNtZGxpbmVfcGFkZHI7CisKKyAgICAgICAgQlVHX09OKCFtb2Rs aXN0W2ldLmNtZGxpbmVfcGFkZHIgfHwKKyAgICAgICAgICAgICAgIG1vZGxpc3RbaV0uY21kbGlu ZV9wYWRkciA+IFVJTlRfTUFYKTsKKworICAgICAgICBpZiAoICFzdHJjbXAobmFtZSwgKGNoYXIq KW1vZHVsZV9uYW1lKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIEJVR19PTighbW9kbGlzdFtp XS5wYWRkciB8fCBtb2RsaXN0W2ldLnBhZGRyID4gVUlOVF9NQVggfHwKKyAgICAgICAgICAgICAg ICAgICBtb2RsaXN0W2ldLnNpemUgPiBVSU5UX01BWCk7CisgICAgICAgICAgICByZXR1cm4gJm1v ZGxpc3RbaV07CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gTlVMTDsKK30KKwogaW50 IG1haW4odm9pZCkKIHsKICAgICBjb25zdCBzdHJ1Y3QgYmlvc19jb25maWcgKmJpb3M7CiAgICAg aW50IGFjcGlfZW5hYmxlZDsKKyAgICBjb25zdCBzdHJ1Y3QgaHZtX21vZGxpc3RfZW50cnkgKmJp b3NfbW9kdWxlOwogCiAgICAgLyogSW5pdGlhbGlzZSBoeXBlcmNhbGwgc3R1YnMgd2l0aCBSRVQs IHJlbmRlcmluZyB0aGVtIG5vLW9wcy4gKi8KICAgICBtZW1zZXQoKHZvaWQgKilIWVBFUkNBTExf UEhZU0lDQUxfQUREUkVTUywgMHhjMyAvKiBSRVQgKi8sIFBBR0VfU0laRSk7CkBAIC0yOTIsOCAr MzIyLDE2IEBAIGludCBtYWluKHZvaWQpCiAgICAgfQogCiAgICAgcHJpbnRmKCJMb2FkaW5nICVz IC4uLlxuIiwgYmlvcy0+bmFtZSk7Ci0gICAgaWYgKCBiaW9zLT5iaW9zX2xvYWQgKQotICAgICAg ICBiaW9zLT5iaW9zX2xvYWQoYmlvcyk7CisgICAgYmlvc19tb2R1bGUgPSBnZXRfbW9kdWxlX2Vu dHJ5KGh2bV9zdGFydF9pbmZvLCAiYmlvcyIpOworICAgIGlmICggYmlvc19tb2R1bGUgJiYgYmlv cy0+Ymlvc19sb2FkICkKKyAgICB7CisgICAgICAgIHVpbnQzMl90IHBhZGRyID0gYmlvc19tb2R1 bGUtPnBhZGRyOworICAgICAgICBiaW9zLT5iaW9zX2xvYWQoYmlvcywgKHZvaWQqKXBhZGRyLCBi aW9zX21vZHVsZS0+c2l6ZSk7CisgICAgfQorICAgIGVsc2UgaWYgKCBiaW9zLT5iaW9zX2xvYWQg KQorICAgIHsKKyAgICAgICAgYmlvcy0+Ymlvc19sb2FkKGJpb3MsIDAsIDApOworICAgIH0KICAg ICBlbHNlCiAgICAgewogICAgICAgICBCVUdfT04oYmlvcy0+Ymlvc19hZGRyZXNzICsgYmlvcy0+ aW1hZ2Vfc2l6ZSA+CmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvb3ZtZi5j IGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL292bWYuYwppbmRleCBkYjlmYTdhLi44NThhMmQ0 IDEwMDY0NAotLS0gYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvb3ZtZi5jCisrKyBiL3Rvb2xz L2Zpcm13YXJlL2h2bWxvYWRlci9vdm1mLmMKQEAgLTkzLDcgKzkzLDggQEAgc3RhdGljIHZvaWQg b3ZtZl9maW5pc2hfYmlvc19pbmZvKHZvaWQpCiAgICAgaW5mby0+Y2hlY2tzdW0gPSAtY2hlY2tz dW07CiB9CiAKLXN0YXRpYyB2b2lkIG92bWZfbG9hZChjb25zdCBzdHJ1Y3QgYmlvc19jb25maWcg KmNvbmZpZykKK3N0YXRpYyB2b2lkIG92bWZfbG9hZChjb25zdCBzdHJ1Y3QgYmlvc19jb25maWcg KmNvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICB2b2lkICpiaW9zX2FkZHIsIHVpbnQzMl90 IGJpb3NfbGVuZ3RoKQogewogICAgIHhlbl9wZm5fdCBtZm47CiAgICAgdWludDY0X3QgYWRkciA9 IE9WTUZfQkVHSU47CmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvcm9tYmlv cy5jIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3JvbWJpb3MuYwppbmRleCAxZjE1Yjk0Li4y ZGVkODQ0IDEwMDY0NAotLS0gYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvcm9tYmlvcy5jCisr KyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9yb21iaW9zLmMKQEAgLTEyMSw3ICsxMjEsOCBA QCBzdGF0aWMgdm9pZCByb21iaW9zX2xvYWRfcm9tcyh2b2lkKQogICAgICAgICAgICAgICAgb3B0 aW9uX3JvbV9waHlzX2FkZHIgKyBvcHRpb25fcm9tX3N6IC0gMSk7CiB9CiAKLXN0YXRpYyB2b2lk IHJvbWJpb3NfbG9hZChjb25zdCBzdHJ1Y3QgYmlvc19jb25maWcgKmNvbmZpZykKK3N0YXRpYyB2 b2lkIHJvbWJpb3NfbG9hZChjb25zdCBzdHJ1Y3QgYmlvc19jb25maWcgKmNvbmZpZywKKyAgICAg ICAgICAgICAgICAgICAgICAgICB2b2lkICp1bnVzZWRfYWRkciwgdWludDMyX3QgdW51c2VkX3Np emUpCiB7CiAgICAgdWludDMyX3QgYmlvc2hpZ2g7CiAgICAgc3RydWN0IHJvbWJpb3NfaW5mbyAq aW5mbzsKZGlmZiAtLWdpdCBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmggYi90b29s cy9maXJtd2FyZS9odm1sb2FkZXIvdXRpbC5oCmluZGV4IDk4MDgwMTYuLjAwM2RjNzEgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmgKKysrIGIvdG9vbHMvZmlybXdh cmUvaHZtbG9hZGVyL3V0aWwuaApAQCAtMzQsNiArMzQsOCBAQCBlbnVtIHsKICN1bmRlZiBOVUxM CiAjZGVmaW5lIE5VTEwgKCh2b2lkKikwKQogCisjZGVmaW5lIFVJTlRfTUFYICh+MFUpCisKIHZv aWQgX19hc3NlcnRfZmFpbGVkKGNoYXIgKmFzc2VydGlvbiwgY2hhciAqZmlsZSwgaW50IGxpbmUp CiAgICAgX19hdHRyaWJ1dGVfXygobm9yZXR1cm4pKTsKICNkZWZpbmUgQVNTRVJUKHApIFwKLS0g CkFudGhvbnkgUEVSQVJECgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK