From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3 32/32] libxl: allow the creation of HVM domains without a device model. Date: Fri, 3 Jul 2015 13:35:10 +0200 Message-ID: <1435923310-9019-33-git-send-email-roger.pau@citrix.com> References: <1435923310-9019-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZAzPR-0004YY-6X for xen-devel@lists.xenproject.org; Fri, 03 Jul 2015 11:45:33 +0000 In-Reply-To: <1435923310-9019-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Wei Liu , Stefano Stabellini , Ian Jackson , Ian Campbell , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org UmVwbGFjZSB0aGUgZmlybXdhcmUgbG9hZGVkIGludG8gSFZNIGd1ZXN0cyB3aXRoIGFuIE9TIGtl cm5lbC4gU2luY2UgdGhlIEhWTQpidWlsZGVyIG5vdyB1c2VzIHRoZSBQViB4Y19kb21fKiBzZXQg b2YgZnVuY3Rpb25zIHRoaXMga2VybmVsIHdpbGwgYmUgcGFyc2VkCmFuZCBsb2FkZWQgaW5zaWRl IHRoZSBndWVzdCBsaWtlIG9uIFBWLCBidXQgdGhlIGNvbnRhaW5lciBpcyBhIHB1cmUgSFZNCmd1 ZXN0LgoKQWxzbywgaWYgZGV2aWNlX21vZGVsX3ZlcnNpb24gaXMgc2V0IHRvIG5vbmUgdW5jb25k aXRpbmFsbHkgc2V0IHRoZSBuaWMgdHlwZQp0byBMSUJYTF9OSUNfVFlQRV9WSUYuCgpTaWduZWQt b2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KQ2M6IElhbiBK YWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDYzogU3RlZmFubyBTdGFiZWxsaW5p IDxzdGVmYW5vLnN0YWJlbGxpbmlAZXUuY2l0cml4LmNvbT4KQ2M6IElhbiBDYW1wYmVsbCA8aWFu LmNhbXBiZWxsQGNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgot LS0KIGRvY3MvbWFuL3hsLmNmZy5wb2QuNSAgICAgICB8ICA1ICsrKysKIHRvb2xzL2xpYnhsL2xp YnhsLmMgICAgICAgICB8ICA3ICsrKy0tLQogdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgIHwg MTggKysrKysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICB8IDYwICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGwvbGli eGxfdHlwZXMuaWRsIHwgIDEgKwogdG9vbHMvbGlieGwvbGlieGxfeDg2LmMgICAgIHwgIDQgKyst CiB0b29scy9saWJ4bC94bF9jbWRpbXBsLmMgICAgfCAgMiArKwogNyBmaWxlcyBjaGFuZ2VkLCA3 MiBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94 bC5jZmcucG9kLjUgYi9kb2NzL21hbi94bC5jZmcucG9kLjUKaW5kZXggYTNlMGUyZS4uMTI3MDYw NSAxMDA2NDQKLS0tIGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41CisrKyBiL2RvY3MvbWFuL3hsLmNm Zy5wb2QuNQpAQCAtMTYzMSw2ICsxNjMxLDExIEBAIFRoaXMgZGV2aWNlLW1vZGVsIGlzIHRoZSBk ZWZhdWx0IGZvciBMaW51eCBkb20wLgogVXNlIHRoZSBkZXZpY2UtbW9kZWwgYmFzZWQgdXBvbiB0 aGUgaGlzdG9yaWNhbCBYZW4gZm9yayBvZiBRZW11LgogVGhpcyBkZXZpY2UtbW9kZWwgaXMgc3Rp bGwgdGhlIGRlZmF1bHQgZm9yIE5ldEJTRCBkb20wLgogCis9aXRlbSBCPG5vbmU+CisKK0Rvbid0 IHVzZSBhbnkgZGV2aWNlIG1vZGVsLiBUaGlzIHJlcXVpcmVzIGEga2VybmVsIGNhcGFibGUgb2Yg Ym9vdGluZworaW4gdGhpcyBtb2RlLgorCiA9YmFjawogCiBJdCBpcyByZWNvbW1lbmRlZCB0byBh Y2NlcHQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIG5ldyBndWVzdHMuICBJZgpkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKaW5kZXggZTlhMmQyNi4u YTY2OTBjZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYworKysgYi90b29scy9saWJ4 bC9saWJ4bC5jCkBAIC0xNTkwLDExICsxNTkwLDEwIEBAIHZvaWQgbGlieGxfX2Rlc3Ryb3lfZG9t aWQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZGVzdHJveV9kb21pZF9zdGF0ZSAqZGlzKQogCiAg ICAgc3dpdGNoIChsaWJ4bF9fZG9tYWluX3R5cGUoZ2MsIGRvbWlkKSkgewogICAgIGNhc2UgTElC WExfRE9NQUlOX1RZUEVfSFZNOgotICAgICAgICBpZiAoIWxpYnhsX2dldF9zdHViZG9tX2lkKENU WCwgZG9taWQpKQotICAgICAgICAgICAgZG1fcHJlc2VudCA9IDE7Ci0gICAgICAgIGVsc2UKKyAg ICAgICAgaWYgKGxpYnhsX2dldF9zdHViZG9tX2lkKENUWCwgZG9taWQpKSB7CiAgICAgICAgICAg ICBkbV9wcmVzZW50ID0gMDsKLSAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBicmVhazsKKyAg ICAgICAgfQogICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfUFY6CiAgICAgICAgIHBpZCA9IGxp YnhsX194c19yZWFkKGdjLCBYQlRfTlVMTCwgbGlieGxfX3NwcmludGYoZ2MsICIvbG9jYWwvZG9t YWluLyVkL2ltYWdlL2RldmljZS1tb2RlbC1waWQiLCBkb21pZCkpOwogICAgICAgICBkbV9wcmVz ZW50ID0gKHBpZCAhPSBOVUxMKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0 ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggZjM2NmEwOS4uMTQ0NGU0MCAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKKysrIGIvdG9vbHMvbGlieGwv bGlieGxfY3JlYXRlLmMKQEAgLTE2NCw2ICsxNjQsOCBAQCBpbnQgbGlieGxfX2RvbWFpbl9idWls ZF9pbmZvX3NldGRlZmF1bHQobGlieGxfX2djICpnYywKICAgICAgICAgICAgICAgICBiX2luZm8t PnUuaHZtLmJpb3MgPSBMSUJYTF9CSU9TX1RZUEVfUk9NQklPUzsgYnJlYWs7CiAgICAgICAgICAg ICBjYXNlIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOOgogICAgICAgICAgICAg ICAgIGJfaW5mby0+dS5odm0uYmlvcyA9IExJQlhMX0JJT1NfVFlQRV9TRUFCSU9TOyBicmVhazsK KyAgICAgICAgICAgIGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fTk9ORToKKyAgICAg ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6cmV0dXJuIEVSUk9SX0lOVkFM OwogICAgICAgICAgICAgfQogCkBAIC0xNzcsNiArMTc5LDggQEAgaW50IGxpYnhsX19kb21haW5f YnVpbGRfaW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICBpZiAoYl9p bmZvLT51Lmh2bS5iaW9zID09IExJQlhMX0JJT1NfVFlQRV9ST01CSU9TKQogICAgICAgICAgICAg ICAgIHJldHVybiBFUlJPUl9JTlZBTDsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl IExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX05PTkU6CisgICAgICAgICAgICBicmVhazsKICAg ICAgICAgZGVmYXVsdDphYm9ydCgpOwogICAgICAgICB9CiAKQEAgLTI3OCw2ICsyODIsOSBAQCBp bnQgbGlieGxfX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQobGlieGxfX2djICpnYywKICAg ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwor ICAgICAgICBjYXNlIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX05PTkU6CisgICAgICAgICAg ICBiX2luZm8tPnZpZGVvX21lbWtiID0gMDsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj YXNlIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOOgogICAgICAgICBkZWZhdWx0 OgogICAgICAgICAgICAgc3dpdGNoIChiX2luZm8tPnUuaHZtLnZnYS5raW5kKSB7CkBAIC05NDUs NiArOTUyLDExIEBAIHN0YXRpYyB2b2lkIGluaXRpYXRlX2RvbWFpbl9jcmVhdGUobGlieGxfX2Vn YyAqZWdjLAogICAgICAgICByZXQgPSBsaWJ4bF9fZGV2aWNlX25pY19zZXRkZWZhdWx0KGdjLCAm ZF9jb25maWctPm5pY3NbaV0sIGRvbWlkKTsKICAgICAgICAgaWYgKHJldCkgZ290byBlcnJvcl9v dXQ7CiAKKyAgICAgICAgLyogSFZNIGd1ZXN0cyB3aXRob3V0IGEgZGV2aWNlIG1vZGVsIG9ubHkg aGF2ZSBQViBuaWNzLiAqLworICAgICAgICBpZiAoZF9jb25maWctPmJfaW5mby5kZXZpY2VfbW9k ZWxfdmVyc2lvbiA9PQorICAgICAgICAgICAgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fTk9O RSkKKyAgICAgICAgICAgIGRfY29uZmlnLT5uaWNzW2ldLm5pY3R5cGUgPSBMSUJYTF9OSUNfVFlQ RV9WSUY7CisKICAgICAgICAgaWYgKGRfY29uZmlnLT5uaWNzW2ldLmRldmlkID4gbGFzdF9kZXZp ZCkKICAgICAgICAgICAgIGxhc3RfZGV2aWQgPSBkX2NvbmZpZy0+bmljc1tpXS5kZXZpZDsKICAg ICB9CkBAIC0xMjkzLDYgKzEzMDUsMTIgQEAgc3RhdGljIHZvaWQgZG9tY3JlYXRlX2xhdW5jaF9k bShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCiAgICAgICAgIGxp YnhsX19kZXZpY2VfY29uc29sZV9hZGQoZ2MsIGRvbWlkLCAmY29uc29sZSwgc3RhdGUsICZkZXZp Y2UpOwogICAgICAgICBsaWJ4bF9fZGV2aWNlX2NvbnNvbGVfZGlzcG9zZSgmY29uc29sZSk7CiAK KyAgICAgICAgaWYgKGRfY29uZmlnLT5iX2luZm8uZGV2aWNlX21vZGVsX3ZlcnNpb24gPT0KKyAg ICAgICAgICAgIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX05PTkUpIHsKKyAgICAgICAgICAg IGRvbWNyZWF0ZV9kZXZtb2RlbF9zdGFydGVkKGVnYywgJmRjcy0+ZG1zcy5kbSwgMCk7CisgICAg ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwogICAgICAgICBsaWJ4bF9kZXZpY2VfdmtiX2lu aXQoJnZrYik7CiAgICAgICAgIGxpYnhsX19kZXZpY2VfdmtiX2FkZChnYywgZG9taWQsICZ2a2Ip OwogICAgICAgICBsaWJ4bF9kZXZpY2VfdmtiX2Rpc3Bvc2UoJnZrYik7CmRpZmYgLS1naXQgYS90 b29scy9saWJ4bC9saWJ4bF9kb20uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCmluZGV4IDZj ZTQxMTUuLjU5ODU0YTEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCisrKyBi L3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCkBAIC03ODksMjEgKzc4OSwyMyBAQCBzdGF0aWMgaW50 IGh2bV9idWlsZF9zZXRfcGFyYW1zKHhjX2ludGVyZmFjZSAqaGFuZGxlLCB1aW50MzJfdCBkb21p ZCwKICAgICB1aW50NjRfdCBzdHJfbWZuLCBjb25zX21mbjsKICAgICBpbnQgaTsKIAotICAgIHZh X21hcCA9IHhjX21hcF9mb3JlaWduX3JhbmdlKGhhbmRsZSwgZG9taWQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWENfUEFHRV9TSVpFLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRF LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhWTV9JTkZPX1BGTik7Ci0gICAg aWYgKHZhX21hcCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gLTE7Ci0KLSAgICB2YV9odm0gPSAo c3RydWN0IGh2bV9pbmZvX3RhYmxlICopKHZhX21hcCArIEhWTV9JTkZPX09GRlNFVCk7Ci0gICAg dmFfaHZtLT5hcGljX21vZGUgPSBsaWJ4bF9kZWZib29sX3ZhbChpbmZvLT51Lmh2bS5hcGljKTsK LSAgICB2YV9odm0tPm5yX3ZjcHVzID0gaW5mby0+bWF4X3ZjcHVzOwotICAgIG1lbXNldCh2YV9o dm0tPnZjcHVfb25saW5lLCAwLCBzaXplb2YodmFfaHZtLT52Y3B1X29ubGluZSkpOwotICAgIG1l bWNweSh2YV9odm0tPnZjcHVfb25saW5lLCBpbmZvLT5hdmFpbF92Y3B1cy5tYXAsIGluZm8tPmF2 YWlsX3ZjcHVzLnNpemUpOwotICAgIGZvciAoaSA9IDAsIHN1bSA9IDA7IGkgPCB2YV9odm0tPmxl bmd0aDsgaSsrKQotICAgICAgICBzdW0gKz0gKCh1aW50OF90ICopIHZhX2h2bSlbaV07Ci0gICAg dmFfaHZtLT5jaGVja3N1bSAtPSBzdW07Ci0gICAgbXVubWFwKHZhX21hcCwgWENfUEFHRV9TSVpF KTsKKyAgICBpZiAoIGluZm8tPmRldmljZV9tb2RlbF92ZXJzaW9uICE9IExJQlhMX0RFVklDRV9N T0RFTF9WRVJTSU9OX05PTkUpIHsKKyAgICAgICAgdmFfbWFwID0geGNfbWFwX2ZvcmVpZ25fcmFu Z2UoaGFuZGxlLCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg WENfUEFHRV9TSVpFLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIVk1fSU5GT19QRk4pOworICAgICAgICBpZiAodmFfbWFwID09 IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgdmFfaHZtID0gKHN0cnVj dCBodm1faW5mb190YWJsZSAqKSh2YV9tYXAgKyBIVk1fSU5GT19PRkZTRVQpOworICAgICAgICB2 YV9odm0tPmFwaWNfbW9kZSA9IGxpYnhsX2RlZmJvb2xfdmFsKGluZm8tPnUuaHZtLmFwaWMpOwor ICAgICAgICB2YV9odm0tPm5yX3ZjcHVzID0gaW5mby0+bWF4X3ZjcHVzOworICAgICAgICBtZW1z ZXQodmFfaHZtLT52Y3B1X29ubGluZSwgMCwgc2l6ZW9mKHZhX2h2bS0+dmNwdV9vbmxpbmUpKTsK KyAgICAgICAgbWVtY3B5KHZhX2h2bS0+dmNwdV9vbmxpbmUsIGluZm8tPmF2YWlsX3ZjcHVzLm1h cCwgaW5mby0+YXZhaWxfdmNwdXMuc2l6ZSk7CisgICAgICAgIGZvciAoaSA9IDAsIHN1bSA9IDA7 IGkgPCB2YV9odm0tPmxlbmd0aDsgaSsrKQorICAgICAgICAgICAgc3VtICs9ICgodWludDhfdCAq KSB2YV9odm0pW2ldOworICAgICAgICB2YV9odm0tPmNoZWNrc3VtIC09IHN1bTsKKyAgICAgICAg bXVubWFwKHZhX21hcCwgWENfUEFHRV9TSVpFKTsKKyAgICB9CiAKICAgICB4Y19odm1fcGFyYW1f Z2V0KGhhbmRsZSwgZG9taWQsIEhWTV9QQVJBTV9TVE9SRV9QRk4sICZzdHJfbWZuKTsKICAgICB4 Y19odm1fcGFyYW1fZ2V0KGhhbmRsZSwgZG9taWQsIEhWTV9QQVJBTV9DT05TT0xFX1BGTiwgJmNv bnNfbWZuKTsKQEAgLTg4NCw2ICs4ODYsMTIgQEAgc3RhdGljIGludCBsaWJ4bF9fZG9tYWluX2Zp cm13YXJlKGxpYnhsX19nYyAqZ2MsCiAgICAgICAgIGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZF UlNJT05fUUVNVV9YRU46CiAgICAgICAgICAgICBmaXJtd2FyZSA9ICJodm1sb2FkZXIiOwogICAg ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05f Tk9ORToKKyAgICAgICAgICAgIGlmIChpbmZvLT5rZXJuZWwgPT0gTlVMTCkgeworICAgICAgICAg ICAgICAgIExPRyhFUlJPUiwgIm5vIGRldmljZSBtb2RlbCByZXF1ZXN0ZWQgd2l0aG91dCBhIGtl cm5lbCIpOworICAgICAgICAgICAgICAgIHJldHVybiBFUlJPUl9GQUlMOworICAgICAgICAgICAg fQorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBMT0co RVJST1IsICJpbnZhbGlkIGRldmljZSBtb2RlbCB2ZXJzaW9uICVkIiwKICAgICAgICAgICAgICAg ICBpbmZvLT5kZXZpY2VfbW9kZWxfdmVyc2lvbik7CkBAIC04OTIsMTAgKzkwMCwxOSBAQCBzdGF0 aWMgaW50IGxpYnhsX19kb21haW5fZmlybXdhcmUobGlieGxfX2djICpnYywKICAgICAgICAgfQog ICAgIH0KIAotICAgIHJjID0geGNfZG9tX2tlcm5lbF9maWxlKGRvbSwgbGlieGxfX2Fic19wYXRo KGdjLCBmaXJtd2FyZSwKKyAgICBpZiAoaW5mby0+a2VybmVsICE9IE5VTEwgJiYKKyAgICAgICAg aW5mby0+ZGV2aWNlX21vZGVsX3ZlcnNpb24gPT0gTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05f Tk9ORSkgeworICAgICAgICAvKiBUcnkgdG8gbG9hZCBhIGtlcm5lbCBpbnN0ZWFkIG9mIHRoZSBm aXJtd2FyZS4gKi8KKyAgICAgICAgcmMgPSB4Y19kb21fa2VybmVsX2ZpbGUoZG9tLCBpbmZvLT5r ZXJuZWwpOworICAgICAgICBpZiAocmMgPT0gMCAmJiBpbmZvLT5yYW1kaXNrICE9IE5VTEwpCisg ICAgICAgICAgICByYyA9IHhjX2RvbV9yYW1kaXNrX2ZpbGUoZG9tLCBpbmZvLT5yYW1kaXNrKTsK KyAgICB9IGVsc2UgeworICAgICAgICByYyA9IHhjX2RvbV9rZXJuZWxfZmlsZShkb20sIGxpYnhs X19hYnNfcGF0aChnYywgZmlybXdhcmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlieGxfX3hlbmZpcm13YXJlZGlyX3BhdGgoKSkpOworICAgIH0K KwogICAgIGlmIChyYyAhPSAwKSB7Ci0gICAgICAgIExPR0UoRVJST1IsICJ4Y19kb21fa2VybmVs X2ZpbGUgZmFpbGVkIik7CisgICAgICAgIExPR0UoRVJST1IsICJ4Y19kb21fe2tlcm5lbF9maWxl L3JhbWRpc2tfZmlsZX0gZmFpbGVkIik7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIApAQCAt OTQ2LDEwICs5NjMsMTMgQEAgaW50IGxpYnhsX19idWlsZF9odm0obGlieGxfX2djICpnYywgdWlu dDMyX3QgZG9taWQsCiAgICAgaW50IHJldDsKICAgICB1aW50NjRfdCBtbWlvX3N0YXJ0LCBsb3dt ZW1fZW5kLCBoaWdobWVtX2VuZCwgbWVtX3NpemU7CiAgICAgc3RydWN0IHhjX2RvbV9pbWFnZSAq ZG9tID0gTlVMTDsKKyAgICBib29sIGVtdWxhdGVkX2RldmljZXMgPQorICAgICAgICBpbmZvLT5k ZXZpY2VfbW9kZWxfdmVyc2lvbiAhPSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9OT05FID8K KyAgICAgICAgdHJ1ZSA6IGZhbHNlOwogCiAgICAgeGNfZG9tX2xvZ2luaXQoY3R4LT54Y2gpOwog Ci0gICAgZG9tID0geGNfZG9tX2FsbG9jYXRlKGN0eC0+eGNoLCBOVUxMLCBOVUxMKTsKKyAgICBk b20gPSB4Y19kb21fYWxsb2NhdGUoY3R4LT54Y2gsIGluZm8tPmNtZGxpbmUsIE5VTEwpOwogICAg IGlmICghZG9tKSB7CiAgICAgICAgIExPR0UoRVJST1IsICJ4Y19kb21fYWxsb2NhdGUgZmFpbGVk Iik7CiAgICAgICAgIGdvdG8gb3V0OwpAQCAtOTc5LDcgKzk5OSw3IEBAIGludCBsaWJ4bF9fYnVp bGRfaHZtKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogCiAgICAgaWYgKGRvbS0+dGFy Z2V0X3BhZ2VzID09IDApCiAgICAgICAgIGRvbS0+dGFyZ2V0X3BhZ2VzID0gbWVtX3NpemUgPj4g WENfUEFHRV9TSElGVDsKLSAgICBpZiAoZG9tLT5tbWlvX3NpemUgPT0gMCkKKyAgICBpZiAoZG9t LT5tbWlvX3NpemUgPT0gMCAmJiBlbXVsYXRlZF9kZXZpY2VzKQogICAgICAgICBkb20tPm1taW9f c2l6ZSA9IEhWTV9CRUxPV180R19NTUlPX0xFTkdUSDsKICAgICBsb3dtZW1fZW5kID0gbWVtX3Np emU7CiAgICAgaGlnaG1lbV9lbmQgPSAwOwpAQCAtOTkyLDcgKzEwMTIsNyBAQCBpbnQgbGlieGxf X2J1aWxkX2h2bShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICBkb20tPmxvd21l bV9lbmQgPSBsb3dtZW1fZW5kOwogICAgIGRvbS0+aGlnaG1lbV9lbmQgPSBoaWdobWVtX2VuZDsK ICAgICBkb20tPm1taW9fc3RhcnQgPSBtbWlvX3N0YXJ0OwotICAgIGRvbS0+ZW11bGF0aW9uID0g dHJ1ZTsKKyAgICBkb20tPmVtdWxhdGlvbiA9IGVtdWxhdGVkX2RldmljZXM7CiAKICAgICBpZiAo aW5mby0+bnVtX3ZudW1hX25vZGVzICE9IDApIHsKICAgICAgICAgaW50IGk7CmRpZmYgLS1naXQg YS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5p ZGwKaW5kZXggZTE2MzJmYS4uMDI4MzE5NyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxf dHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbApAQCAtODYsNiArODYs NyBAQCBsaWJ4bF9kZXZpY2VfbW9kZWxfdmVyc2lvbiA9IEVudW1lcmF0aW9uKCJkZXZpY2VfbW9k ZWxfdmVyc2lvbiIsIFsKICAgICAoMCwgIlVOS05PV04iKSwKICAgICAoMSwgIlFFTVVfWEVOX1RS QURJVElPTkFMIiksICMgSGlzdG9yaWNhbCBxZW11LXhlbiBkZXZpY2UgbW9kZWwgKHFlbXUtZG0p CiAgICAgKDIsICJRRU1VX1hFTiIpLCAgICAgICAgICAgICAjIFVwc3RyZWFtIGJhc2VkIHFlbXUt eGVuIGRldmljZSBtb2RlbAorICAgICgzLCAiTk9ORSIpLCAgICAgICAgICAgICAgICAgIyBObyBk ZXZpY2UgbW9kZWwKICAgICBdKQogCiBsaWJ4bF9jb25zb2xlX3R5cGUgPSBFbnVtZXJhdGlvbigi Y29uc29sZV90eXBlIiwgWwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMgYi90 b29scy9saWJ4bC9saWJ4bF94ODYuYwppbmRleCBmMDQ0MzNhLi40MzUyOTBiIDEwMDY0NAotLS0g YS90b29scy9saWJ4bC9saWJ4bF94ODYuYworKysgYi90b29scy9saWJ4bC9saWJ4bF94ODYuYwpA QCAtNSw3ICs1LDkgQEAgaW50IGxpYnhsX19hcmNoX2RvbWFpbl9wcmVwYXJlX2NvbmZpZyhsaWJ4 bF9fZ2MgKmdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9k b21haW5fY29uZmlnICpkX2NvbmZpZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgeGNfZG9tYWluX2NvbmZpZ3VyYXRpb25fdCAqeGNfY29uZmlnKQogewotICAgIGlmIChk X2NvbmZpZy0+Y19pbmZvLnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfSFZNKQorICAgIGlmIChk X2NvbmZpZy0+Y19pbmZvLnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfSFZNICYmCisgICAgICAg IGRfY29uZmlnLT5iX2luZm8uZGV2aWNlX21vZGVsX3ZlcnNpb24gIT0KKyAgICAgICAgTElCWExf REVWSUNFX01PREVMX1ZFUlNJT05fTk9ORSkKICAgICAgICAgeGNfY29uZmlnLT5lbXVsYXRpb25f ZmxhZ3MgPSAoRU1VX0xBUElDIHwgRU1VX0hQRVQgfCBFTVVfUE1USU1FUiB8CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNVV9SVEMgfCBFTVVfSU9BUElDIHwgRU1VX1BJ QyB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNVV9QTVUgfCBFTVVf VkdBIHwgRU1VX0lPTU1VKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYyBi L3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYwppbmRleCBjODU4MDY4Li4zZDliM2Q0IDEwMDY0NAot LS0gYS90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKKysrIGIvdG9vbHMvbGlieGwveGxfY21kaW1w bC5jCkBAIC0yMDY3LDYgKzIwNjcsOCBAQCBza2lwX3ZmYjoKICAgICAgICAgfSBlbHNlIGlmICgh c3RyY21wKGJ1ZiwgInFlbXUteGVuIikpIHsKICAgICAgICAgICAgIGJfaW5mby0+ZGV2aWNlX21v ZGVsX3ZlcnNpb24KICAgICAgICAgICAgICAgICA9IExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9O X1FFTVVfWEVOOworICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoYnVmLCAibm9uZSIpKSB7Cisg ICAgICAgICAgICBiX2luZm8tPmRldmljZV9tb2RlbF92ZXJzaW9uID0gTElCWExfREVWSUNFX01P REVMX1ZFUlNJT05fTk9ORTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGZwcmludGYo c3RkZXJyLAogICAgICAgICAgICAgICAgICAgICAiVW5rbm93biBkZXZpY2VfbW9kZWxfdmVyc2lv biBcIiVzXCIgc3BlY2lmaWVkXG4iLCBidWYpOwotLSAKMS45LjUgKEFwcGxlIEdpdC01MC4zKQoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==