From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v7 31/32] libxl: allow the creation of HVM domains without a device model. Date: Fri, 2 Oct 2015 17:49:02 +0200 Message-ID: <1443800943-17668-32-git-send-email-roger.pau@citrix.com> References: <1443800943-17668-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Zi2az-0001LA-6l for xen-devel@lists.xenproject.org; Fri, 02 Oct 2015 15:50:05 +0000 In-Reply-To: <1443800943-17668-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 ZXN0LgoKQWxzbywgaWYgZGV2aWNlX21vZGVsX3ZlcnNpb24gaXMgc2V0IHRvIG5vbmUgb3IgYSBk ZXZpY2UgbW9kZWwgZm9yIHRoZQpzcGVjaWZpZWQgZG9tYWluIGlzIG5vdCBwcmVzZW50IHVuY29u ZGl0aW5hbGx5IHNldCB0aGUgbmljIHR5cGUgdG8KTElCWExfTklDX1RZUEVfVklGLgoKU2lnbmVk LW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2VkLWJ5 OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNr c29uQGV1LmNpdHJpeC5jb20+CkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVs bGluaUBldS5jaXRyaXguY29tPgpDYzogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4 LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQpDaGFuZ2VzIHNpbmNl IHY1OgogLSBBZGQgV2VpIExpdSBBY2tlZC1ieS4KCkNoYW5nZXMgc2luY2UgdjQ6CiAtIFNldCBk b20tPm1taW9fc2l6ZSB0byBtYXRjaCB0aGUgc2l6ZSBvZiB0aGUgc3BlY2lhbCBwYWdlcyBpZiB0 aGVyZSdzIG5vCiAgIGRldmljZSBtb2RlbCBmb3IgdGhlIGd1ZXN0LiBUaGlzIGltcGxpZXMgbW92 aW5nIE5SX1NQRUNJQUxfUEFHRVMgYW5kCiAgIFg4Nl9IVk1fRU5EX1NQRUNJQUxfUkVHSU9OIHRv IGEgcHVibGljIGhlYWRlciBzbyB0aGV5IGNhbiBiZSBrbm93biBieQogICBsaWJ4bCB3aGVuIGNy ZWF0aW5nIHRoZSBtZW1vcnkgbWFwLgogLSBSZXdvcmQgdGhlIHhsLmNmZyBtYW4gcGFnZSBkZXNj cmlwdGlvbiBvZiB0aGUgIm5vbmUiIGRldmljZSBtb2RlbCBvcHRpb24uCiAtIFVzZSBsaWJ4bF9f ZGV2aWNlX21vZGVsX3ZlcnNpb25fcnVubmluZyBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3CiAg IGZ1bmN0aW9uLgoKQ2hhbmdlcyBzaW5jZSB2MzoKIC0gQWRkIGV4cGxpY2l0IC8qIGZhbGwgdGhy b3VnaCAqLyBjb21tZW50cy4KIC0gRXhwYW5kIGxpYnhsX19kZXZpY2VfbmljX3NldGRlZmF1bHQg c28gdGhhdCBpdCBzZXRzIHRoZSByaWdodCBuaWMgdHlwZQogICBmb3IgSFZNbGl0ZSBndWVzdHMu CiAtIFJlbW92ZSBzdHJheSBzcGFjZSBpbiBodm1fYnVpbGRfc2V0X3BhcmFtcy4KIC0gRml4IHRo ZSBlcnJvciBwYXRocyBvZiBsaWJ4bF9fZG9tYWluX2Zpcm13YXJlLgotLS0KIGRvY3MvbWFuL3hs LmNmZy5wb2QuNSAgICAgICAgfCAgNSArKysKIHRvb2xzL2xpYnhjL2luY2x1ZGUveGNfZG9tLmgg fCAgMiArKwogdG9vbHMvbGlieGMveGNfZG9tX3g4Ni5jICAgICB8IDE1ICsrKystLS0tLQogdG9v bHMvbGlieGwvbGlieGwuYyAgICAgICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0t CiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAgIHwgMTYgKysrKysrKysrLQogdG9vbHMvbGli eGwvbGlieGxfZG0uYyAgICAgICB8ICAzICstCiB0b29scy9saWJ4bC9saWJ4bF9kb20uYyAgICAg IHwgNzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIHRvb2xz L2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgOSArKysrKy0KIHRvb2xzL2xpYnhsL2xpYnhsX3R5 cGVzLmlkbCAgfCAgMSArCiB0b29scy9saWJ4bC9saWJ4bF94ODYuYyAgICAgIHwgMTUgKysrKysr LS0tCiB0b29scy9saWJ4bC94bF9jbWRpbXBsLmMgICAgIHwgIDIgKysKIDExIGZpbGVzIGNoYW5n ZWQsIDEzNiBpbnNlcnRpb25zKCspLCA1MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Nz L21hbi94bC5jZmcucG9kLjUgYi9kb2NzL21hbi94bC5jZmcucG9kLjUKaW5kZXggZjhmYTQ4Zi4u ZjYyN2FjNiAxMDA2NDQKLS0tIGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41CisrKyBiL2RvY3MvbWFu L3hsLmNmZy5wb2QuNQpAQCAtMTc4MSw2ICsxNzgxLDExIEBAIFRoaXMgZGV2aWNlLW1vZGVsIGlz IHRoZSBkZWZhdWx0IGZvciBMaW51eCBkb20wLgogVXNlIHRoZSBkZXZpY2UtbW9kZWwgYmFzZWQg dXBvbiB0aGUgaGlzdG9yaWNhbCBYZW4gZm9yayBvZiBRZW11LgogVGhpcyBkZXZpY2UtbW9kZWwg aXMgc3RpbGwgdGhlIGRlZmF1bHQgZm9yIE5ldEJTRCBkb20wLgogCis9aXRlbSBCPG5vbmU+CisK K0Rvbid0IHVzZSBhbnkgZGV2aWNlIG1vZGVsLiBUaGlzIHJlcXVpcmVzIGEga2VybmVsIGNhcGFi bGUgb2YgYm9vdGluZword2l0aG91dCBlbXVsYXRlZCBkZXZpY2VzLgorCiA9YmFjawogCiBJdCBp cyByZWNvbW1lbmRlZCB0byBhY2NlcHQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIG5ldyBndWVzdHMu ICBJZgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94Y19kb20uaCBiL3Rvb2xzL2xp YnhjL2luY2x1ZGUveGNfZG9tLmgKaW5kZXggNzIwYjIxOC4uNDkzOWY3NiAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGMvaW5jbHVkZS94Y19kb20uaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hj X2RvbS5oCkBAIC0xNyw2ICsxNyw4IEBACiAjaW5jbHVkZSA8eGVuZ3Vlc3QuaD4KIAogI2RlZmlu ZSBJTlZBTElEX1AyTV9FTlRSWSAgICgoeGVuX3Bmbl90KS0xKQorI2RlZmluZSBYODZfSFZNX05S X1NQRUNJQUxfUEFHRVMgICAgOAorI2RlZmluZSBYODZfSFZNX0VORF9TUEVDSUFMX1JFR0lPTiAg MHhmZjAwMHUKIAogLyogLS0tIHR5cGVkZWZzIGFuZCBzdHJ1Y3RzIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNf ZG9tX3g4Ni5jIGIvdG9vbHMvbGlieGMveGNfZG9tX3g4Ni5jCmluZGV4IDIwYTM5YjcuLmMzYmI3 YTMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2RvbV94ODYuYworKysgYi90b29scy9saWJ4 Yy94Y19kb21feDg2LmMKQEAgLTU3LDggKzU3LDggQEAKICNkZWZpbmUgU1BFQ0lBTFBBR0VfSU9S RVEgICAgNQogI2RlZmluZSBTUEVDSUFMUEFHRV9JREVOVF9QVCA2CiAjZGVmaW5lIFNQRUNJQUxQ QUdFX0NPTlNPTEUgIDcKLSNkZWZpbmUgTlJfU1BFQ0lBTF9QQUdFUyAgICAgOAotI2RlZmluZSBz cGVjaWFsX3Bmbih4KSAoMHhmZjAwMHUgLSBOUl9TUEVDSUFMX1BBR0VTICsgKHgpKQorI2RlZmlu ZSBzcGVjaWFsX3Bmbih4KSBcCisgICAgKFg4Nl9IVk1fRU5EX1NQRUNJQUxfUkVHSU9OIC0gWDg2 X0hWTV9OUl9TUEVDSUFMX1BBR0VTICsgKHgpKQogCiAjZGVmaW5lIE5SX0lPUkVRX1NFUlZFUl9Q QUdFUyA4CiAjZGVmaW5lIGlvcmVxX3NlcnZlcl9wZm4oeCkgKHNwZWNpYWxfcGZuKDApIC0gTlJf SU9SRVFfU0VSVkVSX1BBR0VTICsgKHgpKQpAQCAtNTE3LDcgKzUxNyw3IEBAIHN0YXRpYyBpbnQg YWxsb2NfbWFnaWNfcGFnZXNfaHZtKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICB2b2lk ICpodm1faW5mb19wYWdlOwogICAgIHVpbnQzMl90ICppZGVudF9wdCwgZG9taWQgPSBkb20tPmd1 ZXN0X2RvbWlkOwogICAgIGludCByYzsKLSAgICB4ZW5fcGZuX3Qgc3BlY2lhbF9hcnJheVtOUl9T UEVDSUFMX1BBR0VTXTsKKyAgICB4ZW5fcGZuX3Qgc3BlY2lhbF9hcnJheVtYODZfSFZNX05SX1NQ RUNJQUxfUEFHRVNdOwogICAgIHhlbl9wZm5fdCBpb3JlcV9zZXJ2ZXJfYXJyYXlbTlJfSU9SRVFf U0VSVkVSX1BBR0VTXTsKICAgICB4Y19pbnRlcmZhY2UgKnhjaCA9IGRvbS0+eGNoOwogCkBAIC01 MzIsMTggKzUzMiwxOSBAQCBzdGF0aWMgaW50IGFsbG9jX21hZ2ljX3BhZ2VzX2h2bShzdHJ1Y3Qg eGNfZG9tX2ltYWdlICpkb20pCiAgICAgfQogCiAgICAgLyogQWxsb2NhdGUgYW5kIGNsZWFyIHNw ZWNpYWwgcGFnZXMuICovCi0gICAgZm9yICggaSA9IDA7IGkgPCBOUl9TUEVDSUFMX1BBR0VTOyBp KysgKQorICAgIGZvciAoIGkgPSAwOyBpIDwgWDg2X0hWTV9OUl9TUEVDSUFMX1BBR0VTOyBpKysg KQogICAgICAgICBzcGVjaWFsX2FycmF5W2ldID0gc3BlY2lhbF9wZm4oaSk7CiAKLSAgICByYyA9 IHhjX2RvbWFpbl9wb3B1bGF0ZV9waHlzbWFwX2V4YWN0KHhjaCwgZG9taWQsIE5SX1NQRUNJQUxf UEFHRVMsIDAsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz cGVjaWFsX2FycmF5KTsKKyAgICByYyA9IHhjX2RvbWFpbl9wb3B1bGF0ZV9waHlzbWFwX2V4YWN0 KHhjaCwgZG9taWQsIFg4Nl9IVk1fTlJfU1BFQ0lBTF9QQUdFUywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIHNwZWNpYWxfYXJyYXkpOwogICAgIGlmICgg cmMgIT0gMCApCiAgICAgewogICAgICAgICBET01QUklOVEYoIkNvdWxkIG5vdCBhbGxvY2F0ZSBz cGVjaWFsIHBhZ2VzLiIpOwogICAgICAgICBnb3RvIGVycm9yX291dDsKICAgICB9CiAKLSAgICBp ZiAoIHhjX2NsZWFyX2RvbWFpbl9wYWdlcyh4Y2gsIGRvbWlkLCBzcGVjaWFsX3BmbigwKSwgTlJf U1BFQ0lBTF9QQUdFUykgKQorICAgIGlmICggeGNfY2xlYXJfZG9tYWluX3BhZ2VzKHhjaCwgZG9t aWQsIHNwZWNpYWxfcGZuKDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFg4Nl9I Vk1fTlJfU1BFQ0lBTF9QQUdFUykgKQogICAgICAgICAgICAgZ290byBlcnJvcl9vdXQ7CiAKICAg ICB4Y19odm1fcGFyYW1fc2V0KHhjaCwgZG9taWQsIEhWTV9QQVJBTV9TVE9SRV9QRk4sCmRpZmYg LS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYwppbmRleCBl NGVhNDc2Li4wOTQ4YjlkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bC5jCisrKyBiL3Rv b2xzL2xpYnhsL2xpYnhsLmMKQEAgLTEwNDQsMTEgKzEwNDQsMTQgQEAgaW50IGxpYnhsX2RvbWFp bl91bnBhdXNlKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCkKICAgICB9CiAKICAgICBp ZiAodHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9IVk0pIHsKLSAgICAgICAgcmMgPSBsaWJ4bF9f ZG9tYWluX3Jlc3VtZV9kZXZpY2VfbW9kZWwoZ2MsIGRvbWlkKTsKLSAgICAgICAgaWYgKHJjIDwg MCkgewotICAgICAgICAgICAgTE9HKEVSUk9SLCAiZmFpbGVkIHRvIHVucGF1c2UgZGV2aWNlIG1v ZGVsIGZvciBkb21haW4gJXU6JWQiLAotICAgICAgICAgICAgICAgIGRvbWlkLCByYyk7Ci0gICAg ICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgaWYgKGxpYnhsX19kZXZpY2VfbW9kZWxfdmVyc2lv bl9ydW5uaW5nKGdjLCBkb21pZCkgIT0KKyAgICAgICAgICAgIExJQlhMX0RFVklDRV9NT0RFTF9W RVJTSU9OX05PTkUpIHsKKyAgICAgICAgICAgIHJjID0gbGlieGxfX2RvbWFpbl9yZXN1bWVfZGV2 aWNlX21vZGVsKGdjLCBkb21pZCk7CisgICAgICAgICAgICBpZiAocmMgPCAwKSB7CisgICAgICAg ICAgICAgICAgTE9HKEVSUk9SLCAiZmFpbGVkIHRvIHVucGF1c2UgZGV2aWNlIG1vZGVsIGZvciBk b21haW4gJXU6JWQiLAorICAgICAgICAgICAgICAgICAgICBkb21pZCwgcmMpOworICAgICAgICAg ICAgICAgIGdvdG8gb3V0OworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogICAgIHJl dCA9IHhjX2RvbWFpbl91bnBhdXNlKGN0eC0+eGNoLCBkb21pZCk7CkBAIC0xNTk3LDExICsxNjAw LDExIEBAIHZvaWQgbGlieGxfX2Rlc3Ryb3lfZG9taWQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f ZGVzdHJveV9kb21pZF9zdGF0ZSAqZGlzKQogCiAgICAgc3dpdGNoIChsaWJ4bF9fZG9tYWluX3R5 cGUoZ2MsIGRvbWlkKSkgewogICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSFZNOgotICAgICAg ICBpZiAoIWxpYnhsX2dldF9zdHViZG9tX2lkKENUWCwgZG9taWQpKQotICAgICAgICAgICAgZG1f cHJlc2VudCA9IDE7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgaWYgKGxpYnhsX2dldF9zdHViZG9t X2lkKENUWCwgZG9taWQpKSB7CiAgICAgICAgICAgICBkbV9wcmVzZW50ID0gMDsKLSAgICAgICAg YnJlYWs7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAvKiBmYWxsIHRo cm91Z2ggKi8KICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX1BWOgogICAgICAgICBwaWQgPSBs aWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsIGxpYnhsX19zcHJpbnRmKGdjLCAiL2xvY2FsL2Rv bWFpbi8lZC9pbWFnZS9kZXZpY2UtbW9kZWwtcGlkIiwgZG9taWQpKTsKICAgICAgICAgZG1fcHJl c2VudCA9IChwaWQgIT0gTlVMTCk7CkBAIC0zMjMwLDcgKzMyMzMsNyBAQCBvdXQ6CiAvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLwogCiBpbnQgbGlieGxfX2RldmljZV9uaWNfc2V0ZGVmYXVsdChsaWJ4 bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfbmljICpuaWMsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCBkb21pZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5mbykKIHsKICAg ICBpbnQgcmM7CiAKQEAgLTMyNjcsOCArMzI3MCwyMyBAQCBpbnQgbGlieGxfX2RldmljZV9uaWNf c2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kZXZpY2VfbmljICpuaWMsCiAKICAgICBz d2l0Y2ggKGxpYnhsX19kb21haW5fdHlwZShnYywgZG9taWQpKSB7CiAgICAgY2FzZSBMSUJYTF9E T01BSU5fVFlQRV9IVk06Ci0gICAgICAgIGlmICghbmljLT5uaWN0eXBlKQotICAgICAgICAgICAg bmljLT5uaWN0eXBlID0gTElCWExfTklDX1RZUEVfVklGX0lPRU1VOworICAgICAgICBpZiAoIW5p Yy0+bmljdHlwZSkgeworICAgICAgICAgICAgaWYgKGluZm8gIT0gTlVMTCkgeworICAgICAgICAg ICAgICAgIC8qIFBhdGggdGFrZW4gYXQgY3JlYXRpb24gdGltZS4gKi8KKyAgICAgICAgICAgICAg ICBpZiAoaW5mby0+ZGV2aWNlX21vZGVsX3ZlcnNpb24gPT0KKyAgICAgICAgICAgICAgICAgICAg TElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fTk9ORSkKKyAgICAgICAgICAgICAgICAgICAgbmlj LT5uaWN0eXBlID0gTElCWExfTklDX1RZUEVfVklGOworICAgICAgICAgICAgICAgIGVsc2UKKyAg ICAgICAgICAgICAgICAgICAgbmljLT5uaWN0eXBlID0gTElCWExfTklDX1RZUEVfVklGX0lPRU1V OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvKiBQYXRoIHRha2VuIHdo ZW4gaG90LWFkZGluZyBhIG5pYy4gKi8KKyAgICAgICAgICAgICAgICBpZiAobGlieGxfX2Rldmlj ZV9tb2RlbF92ZXJzaW9uX3J1bm5pbmcoZ2MsIGRvbWlkKSA9PQorICAgICAgICAgICAgICAgICAg ICBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9OT05FKQorICAgICAgICAgICAgICAgICAgICBu aWMtPm5pY3R5cGUgPSBMSUJYTF9OSUNfVFlQRV9WSUY7CisgICAgICAgICAgICAgICAgZWxzZQor ICAgICAgICAgICAgICAgICAgICBuaWMtPm5pY3R5cGUgPSBMSUJYTF9OSUNfVFlQRV9WSUZfSU9F TVU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBM SUJYTF9ET01BSU5fVFlQRV9QVjoKICAgICAgICAgaWYgKG5pYy0+bmljdHlwZSA9PSBMSUJYTF9O SUNfVFlQRV9WSUZfSU9FTVUpIHsKQEAgLTMzMTcsNyArMzMzNSw3IEBAIHZvaWQgbGlieGxfX2Rl dmljZV9uaWNfYWRkKGxpYnhsX19lZ2MgKmVnYywgdWludDMyX3QgZG9taWQsCiAgICAgbGlieGxf ZGV2aWNlX25pY19pbml0KCZuaWNfc2F2ZWQpOwogICAgIGxpYnhsX2RldmljZV9uaWNfY29weShD VFgsICZuaWNfc2F2ZWQsIG5pYyk7CiAKLSAgICByYyA9IGxpYnhsX19kZXZpY2VfbmljX3NldGRl ZmF1bHQoZ2MsIG5pYywgZG9taWQpOworICAgIHJjID0gbGlieGxfX2RldmljZV9uaWNfc2V0ZGVm YXVsdChnYywgbmljLCBkb21pZCwgTlVMTCk7CiAgICAgaWYgKHJjKSBnb3RvIG91dDsKIAogICAg IGZyb250ID0gZmxleGFycmF5X21ha2UoZ2MsIDE2LCAxKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp YnhsL2xpYnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggYmYy MDk5Yi4uNjc1ZWI0ZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKKysr IGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKQEAgLTExOSw2ICsxMTksOCBAQCBpbnQgbGli eGxfX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQobGlieGxfX2djICpnYywKICAgICAgICAg ICAgICAgICBiX2luZm8tPnUuaHZtLmJpb3MgPSBMSUJYTF9CSU9TX1RZUEVfUk9NQklPUzsgYnJl YWs7CiAgICAgICAgICAgICBjYXNlIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVO OgogICAgICAgICAgICAgICAgIGJfaW5mby0+dS5odm0uYmlvcyA9IExJQlhMX0JJT1NfVFlQRV9T RUFCSU9TOyBicmVhazsKKyAgICAgICAgICAgIGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJ T05fTk9ORToKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6cmV0 dXJuIEVSUk9SX0lOVkFMOwogICAgICAgICAgICAgfQogCkBAIC0xMzIsNiArMTM0LDggQEAgaW50 IGxpYnhsX19kb21haW5fYnVpbGRfaW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsCiAgICAg ICAgICAgICBpZiAoYl9pbmZvLT51Lmh2bS5iaW9zID09IExJQlhMX0JJT1NfVFlQRV9ST01CSU9T KQogICAgICAgICAgICAgICAgIHJldHVybiBFUlJPUl9JTlZBTDsKICAgICAgICAgICAgIGJyZWFr OworICAgICAgICBjYXNlIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX05PTkU6CisgICAgICAg ICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDphYm9ydCgpOwogICAgICAgICB9CiAKQEAgLTIz Niw2ICsyNDAsOSBAQCBpbnQgbGlieGxfX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQobGli eGxfX2djICpnYywKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAg ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX05P TkU6CisgICAgICAgICAgICBiX2luZm8tPnZpZGVvX21lbWtiID0gMDsKKyAgICAgICAgICAgIGJy ZWFrOwogICAgICAgICBjYXNlIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOOgog ICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgc3dpdGNoIChiX2luZm8tPnUuaHZtLnZnYS5r aW5kKSB7CkBAIC05MjQsNyArOTMxLDggQEAgc3RhdGljIHZvaWQgaW5pdGlhdGVfZG9tYWluX2Ny ZWF0ZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAqIGNhbGxlZCBsaWJ4bF9kZXZpY2Vfbmlj X2FkZCB3aGVuIGRvbWNyZWF0ZV9sYXVuY2hfZG0gZ2V0cyBjYWxsZWQsCiAgICAgICAgICAqIGJ1 dCBxZW11IG5lZWRzIHRoZSBuaWMgaW5mb3JtYXRpb24gdG8gYmUgY29tcGxldGUuCiAgICAgICAg ICAqLwotICAgICAgICByZXQgPSBsaWJ4bF9fZGV2aWNlX25pY19zZXRkZWZhdWx0KGdjLCAmZF9j b25maWctPm5pY3NbaV0sIGRvbWlkKTsKKyAgICAgICAgcmV0ID0gbGlieGxfX2RldmljZV9uaWNf c2V0ZGVmYXVsdChnYywgJmRfY29uZmlnLT5uaWNzW2ldLCBkb21pZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZF9jb25maWctPmJfaW5mbyk7CiAgICAgICAg IGlmIChyZXQpIHsKICAgICAgICAgICAgIExPRyhFUlJPUiwgIlVuYWJsZSB0byBzZXQgbmljIGRl ZmF1bHRzIGZvciBuaWMgJWQiLCBpKTsKICAgICAgICAgICAgIGdvdG8gZXJyb3Jfb3V0OwpAQCAt MTI2Niw2ICsxMjc0LDEyIEBAIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9sYXVuY2hfZG0obGlieGxf X2VnYyAqZWdjLCBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAogICAgICAgICBsaWJ4bF9fZGV2 aWNlX2NvbnNvbGVfYWRkKGdjLCBkb21pZCwgJmNvbnNvbGUsIHN0YXRlLCAmZGV2aWNlKTsKICAg ICAgICAgbGlieGxfX2RldmljZV9jb25zb2xlX2Rpc3Bvc2UoJmNvbnNvbGUpOwogCisgICAgICAg IGlmIChkX2NvbmZpZy0+Yl9pbmZvLmRldmljZV9tb2RlbF92ZXJzaW9uID09CisgICAgICAgICAg ICBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9OT05FKSB7CisgICAgICAgICAgICBkb21jcmVh dGVfZGV2bW9kZWxfc3RhcnRlZChlZ2MsICZkY3MtPmRtc3MuZG0sIDApOworICAgICAgICAgICAg cmV0dXJuOworICAgICAgICB9CisKICAgICAgICAgbGlieGxfZGV2aWNlX3ZrYl9pbml0KCZ2a2Ip OwogICAgICAgICBsaWJ4bF9fZGV2aWNlX3ZrYl9hZGQoZ2MsIGRvbWlkLCAmdmtiKTsKICAgICAg ICAgbGlieGxfZGV2aWNlX3ZrYl9kaXNwb3NlKCZ2a2IpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGwvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKaW5kZXggOGUzMzdkZS4uNjAx YTMwYyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYworKysgYi90b29scy9saWJ4 bC9saWJ4bF9kbS5jCkBAIC0xNTQ0LDcgKzE1NDQsOCBAQCBzdGF0aWMgdm9pZCBzcGF3bl9zdHVi X2xhdW5jaF9kbShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAqIGNhbGxlZCBsaWJ4bF9kZXZp Y2VfbmljX2FkZCBhdCB0aGlzIHBvaW50LCBidXQgcWVtdSBuZWVkcwogICAgICAgICAgKiB0aGUg bmljIGluZm9ybWF0aW9uIHRvIGJlIGNvbXBsZXRlLgogICAgICAgICAgKi8KLSAgICAgICAgcmV0 ID0gbGlieGxfX2RldmljZV9uaWNfc2V0ZGVmYXVsdChnYywgJmRtX2NvbmZpZy0+bmljc1tpXSwg ZG1fZG9taWQpOworICAgICAgICByZXQgPSBsaWJ4bF9fZGV2aWNlX25pY19zZXRkZWZhdWx0KGdj LCAmZG1fY29uZmlnLT5uaWNzW2ldLCBkbV9kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZG1fY29uZmlnLT5iX2luZm8pOwogICAgICAgICBpZiAocmV0 KQogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv bGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwppbmRleCBiM2FjNDRlLi43ZThh ZTE0IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb20uYworKysgYi90b29scy9saWJ4 bC9saWJ4bF9kb20uYwpAQCAtNzgyLDIxICs3ODIsMjMgQEAgc3RhdGljIGludCBodm1fYnVpbGRf c2V0X3BhcmFtcyh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgdWludDMyX3QgZG9taWQsCiAgICAgdWlu dDY0X3Qgc3RyX21mbiwgY29uc19tZm47CiAgICAgaW50IGk7CiAKLSAgICB2YV9tYXAgPSB4Y19t YXBfZm9yZWlnbl9yYW5nZShoYW5kbGUsIGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFhDX1BBR0VfU0laRSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBIVk1fSU5GT19QRk4pOwotICAgIGlmICh2YV9tYXAg PT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7CisgICAgaWYgKGluZm8tPmRldmlj ZV9tb2RlbF92ZXJzaW9uICE9IExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX05PTkUpIHsKKyAg ICAgICAgdmFfbWFwID0geGNfbWFwX2ZvcmVpZ25fcmFuZ2UoaGFuZGxlLCBkb21pZCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWENfUEFHRV9TSVpFLCBQUk9UX1JFQUQg fCBQUk9UX1dSSVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVk1f SU5GT19QRk4pOworICAgICAgICBpZiAodmFfbWFwID09IE5VTEwpCisgICAgICAgICAgICByZXR1 cm4gRVJST1JfRkFJTDsKIAotICAgIHZhX2h2bSA9IChzdHJ1Y3QgaHZtX2luZm9fdGFibGUgKiko dmFfbWFwICsgSFZNX0lORk9fT0ZGU0VUKTsKLSAgICB2YV9odm0tPmFwaWNfbW9kZSA9IGxpYnhs X2RlZmJvb2xfdmFsKGluZm8tPnUuaHZtLmFwaWMpOwotICAgIHZhX2h2bS0+bnJfdmNwdXMgPSBp bmZvLT5tYXhfdmNwdXM7Ci0gICAgbWVtc2V0KHZhX2h2bS0+dmNwdV9vbmxpbmUsIDAsIHNpemVv Zih2YV9odm0tPnZjcHVfb25saW5lKSk7Ci0gICAgbWVtY3B5KHZhX2h2bS0+dmNwdV9vbmxpbmUs IGluZm8tPmF2YWlsX3ZjcHVzLm1hcCwgaW5mby0+YXZhaWxfdmNwdXMuc2l6ZSk7Ci0gICAgZm9y IChpID0gMCwgc3VtID0gMDsgaSA8IHZhX2h2bS0+bGVuZ3RoOyBpKyspCi0gICAgICAgIHN1bSAr PSAoKHVpbnQ4X3QgKikgdmFfaHZtKVtpXTsKLSAgICB2YV9odm0tPmNoZWNrc3VtIC09IHN1bTsK LSAgICBtdW5tYXAodmFfbWFwLCBYQ19QQUdFX1NJWkUpOworICAgICAgICB2YV9odm0gPSAoc3Ry dWN0IGh2bV9pbmZvX3RhYmxlICopKHZhX21hcCArIEhWTV9JTkZPX09GRlNFVCk7CisgICAgICAg IHZhX2h2bS0+YXBpY19tb2RlID0gbGlieGxfZGVmYm9vbF92YWwoaW5mby0+dS5odm0uYXBpYyk7 CisgICAgICAgIHZhX2h2bS0+bnJfdmNwdXMgPSBpbmZvLT5tYXhfdmNwdXM7CisgICAgICAgIG1l bXNldCh2YV9odm0tPnZjcHVfb25saW5lLCAwLCBzaXplb2YodmFfaHZtLT52Y3B1X29ubGluZSkp OworICAgICAgICBtZW1jcHkodmFfaHZtLT52Y3B1X29ubGluZSwgaW5mby0+YXZhaWxfdmNwdXMu bWFwLCBpbmZvLT5hdmFpbF92Y3B1cy5zaXplKTsKKyAgICAgICAgZm9yIChpID0gMCwgc3VtID0g MDsgaSA8IHZhX2h2bS0+bGVuZ3RoOyBpKyspCisgICAgICAgICAgICBzdW0gKz0gKCh1aW50OF90 ICopIHZhX2h2bSlbaV07CisgICAgICAgIHZhX2h2bS0+Y2hlY2tzdW0gLT0gc3VtOworICAgICAg ICBtdW5tYXAodmFfbWFwLCBYQ19QQUdFX1NJWkUpOworICAgIH0KIAogICAgIHhjX2h2bV9wYXJh bV9nZXQoaGFuZGxlLCBkb21pZCwgSFZNX1BBUkFNX1NUT1JFX1BGTiwgJnN0cl9tZm4pOwogICAg IHhjX2h2bV9wYXJhbV9nZXQoaGFuZGxlLCBkb21pZCwgSFZNX1BBUkFNX0NPTlNPTEVfUEZOLCAm Y29uc19tZm4pOwpAQCAtODYyLDcgKzg2NCw3IEBAIHN0YXRpYyBpbnQgbGlieGxfX2RvbWFpbl9m aXJtd2FyZShsaWJ4bF9fZ2MgKmdjLAogewogICAgIGxpYnhsX2N0eCAqY3R4ID0gbGlieGxfX2dj X293bmVyKGdjKTsKICAgICBjb25zdCBjaGFyICpmaXJtd2FyZTsKLSAgICBpbnQgZSwgcmMgPSBF UlJPUl9GQUlMOworICAgIGludCBlLCByYzsKICAgICBpbnQgZGF0YWxlbiA9IDA7CiAgICAgdm9p ZCAqZGF0YTsKIApAQCAtODc3LDE4ICs4NzksMzQgQEAgc3RhdGljIGludCBsaWJ4bF9fZG9tYWlu X2Zpcm13YXJlKGxpYnhsX19nYyAqZ2MsCiAgICAgICAgIGNhc2UgTElCWExfREVWSUNFX01PREVM X1ZFUlNJT05fUUVNVV9YRU46CiAgICAgICAgICAgICBmaXJtd2FyZSA9ICJodm1sb2FkZXIiOwog ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJ T05fTk9ORToKKyAgICAgICAgICAgIGlmIChpbmZvLT5rZXJuZWwgPT0gTlVMTCkgeworICAgICAg ICAgICAgICAgIExPRyhFUlJPUiwgIm5vIGRldmljZSBtb2RlbCByZXF1ZXN0ZWQgd2l0aG91dCBh IGtlcm5lbCIpOworICAgICAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgICAg ICAgICBnb3RvIG91dDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwogICAgICAg ICBkZWZhdWx0OgogICAgICAgICAgICAgTE9HKEVSUk9SLCAiaW52YWxpZCBkZXZpY2UgbW9kZWwg dmVyc2lvbiAlZCIsCiAgICAgICAgICAgICAgICAgaW5mby0+ZGV2aWNlX21vZGVsX3ZlcnNpb24p OwotICAgICAgICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7Ci0gICAgICAgICAgICBicmVhazsKKyAg ICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAg ICB9CiAgICAgfQogCi0gICAgcmMgPSB4Y19kb21fa2VybmVsX2ZpbGUoZG9tLCBsaWJ4bF9fYWJz X3BhdGgoZ2MsIGZpcm13YXJlLAorICAgIGlmIChpbmZvLT5rZXJuZWwgIT0gTlVMTCAmJgorICAg ICAgICBpbmZvLT5kZXZpY2VfbW9kZWxfdmVyc2lvbiA9PSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVS U0lPTl9OT05FKSB7CisgICAgICAgIC8qIFRyeSB0byBsb2FkIGEga2VybmVsIGluc3RlYWQgb2Yg dGhlIGZpcm13YXJlLiAqLworICAgICAgICByYyA9IHhjX2RvbV9rZXJuZWxfZmlsZShkb20sIGlu Zm8tPmtlcm5lbCk7CisgICAgICAgIGlmIChyYyA9PSAwICYmIGluZm8tPnJhbWRpc2sgIT0gTlVM TCkKKyAgICAgICAgICAgIHJjID0geGNfZG9tX3JhbWRpc2tfZmlsZShkb20sIGluZm8tPnJhbWRp c2spOworICAgIH0gZWxzZSB7CisgICAgICAgIHJjID0geGNfZG9tX2tlcm5lbF9maWxlKGRvbSwg bGlieGxfX2Fic19wYXRoKGdjLCBmaXJtd2FyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feGVuZmlybXdhcmVkaXJfcGF0aCgpKSk7Cisg ICAgfQorCiAgICAgaWYgKHJjICE9IDApIHsKLSAgICAgICAgTE9HRShFUlJPUiwgInhjX2RvbV9r ZXJuZWxfZmlsZSBmYWlsZWQiKTsKKyAgICAgICAgTE9HRShFUlJPUiwgInhjX2RvbV97a2VybmVs X2ZpbGUvcmFtZGlza19maWxlfSBmYWlsZWQiKTsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQog CkBAIC04OTksNiArOTE3LDcgQEAgc3RhdGljIGludCBsaWJ4bF9fZG9tYWluX2Zpcm13YXJlKGxp YnhsX19nYyAqZ2MsCiAgICAgICAgIGlmIChlKSB7CiAgICAgICAgICAgICBMT0dFVihFUlJPUiwg ZSwgImZhaWxlZCB0byByZWFkIFNNQklPUyBmaXJtd2FyZSBmaWxlICVzIiwKICAgICAgICAgICAg ICAgICBpbmZvLT51Lmh2bS5zbWJpb3NfZmlybXdhcmUpOworICAgICAgICAgICAgcmMgPSBFUlJP Ul9GQUlMOwogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgIH0KICAgICAgICAgbGlieGxf X3B0cl9hZGQoZ2MsIGRhdGEpOwpAQCAtOTE2LDYgKzkzNSw3IEBAIHN0YXRpYyBpbnQgbGlieGxf X2RvbWFpbl9maXJtd2FyZShsaWJ4bF9fZ2MgKmdjLAogICAgICAgICBpZiAoZSkgewogICAgICAg ICAgICAgTE9HRVYoRVJST1IsIGUsICJmYWlsZWQgdG8gcmVhZCBBQ1BJIGZpcm13YXJlIGZpbGUg JXMiLAogICAgICAgICAgICAgICAgIGluZm8tPnUuaHZtLmFjcGlfZmlybXdhcmUpOworICAgICAg ICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgIH0K ICAgICAgICAgbGlieGxfX3B0cl9hZGQoZ2MsIGRhdGEpOwpAQCAtOTI4LDYgKzk0OCw3IEBAIHN0 YXRpYyBpbnQgbGlieGxfX2RvbWFpbl9maXJtd2FyZShsaWJ4bF9fZ2MgKmdjLAogCiAgICAgcmV0 dXJuIDA7CiBvdXQ6CisgICAgYXNzZXJ0KHJjICE9IDApOwogICAgIHJldHVybiByYzsKIH0KIApA QCAtOTQwLDEwICs5NjEsMTMgQEAgaW50IGxpYnhsX19idWlsZF9odm0obGlieGxfX2djICpnYywg dWludDMyX3QgZG9taWQsCiAgICAgdWludDY0X3QgbW1pb19zdGFydCwgbG93bWVtX2VuZCwgaGln aG1lbV9lbmQsIG1lbV9zaXplOwogICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICpjb25zdCBp bmZvID0gJmRfY29uZmlnLT5iX2luZm87CiAgICAgc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tID0g TlVMTDsKKyAgICBib29sIGRldmljZV9tb2RlbCA9CisgICAgICAgIGluZm8tPmRldmljZV9tb2Rl bF92ZXJzaW9uICE9IExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX05PTkUgPworICAgICAgICB0 cnVlIDogZmFsc2U7CiAKICAgICB4Y19kb21fbG9naW5pdChjdHgtPnhjaCk7CiAKLSAgICBkb20g PSB4Y19kb21fYWxsb2NhdGUoY3R4LT54Y2gsIE5VTEwsIE5VTEwpOworICAgIGRvbSA9IHhjX2Rv bV9hbGxvY2F0ZShjdHgtPnhjaCwgaW5mby0+Y21kbGluZSwgTlVMTCk7CiAgICAgaWYgKCFkb20p IHsKICAgICAgICAgTE9HRShFUlJPUiwgInhjX2RvbV9hbGxvY2F0ZSBmYWlsZWQiKTsKICAgICAg ICAgcmMgPSBFUlJPUl9OT01FTTsKQEAgLTk3Niw4ICsxMDAwLDEyIEBAIGludCBsaWJ4bF9fYnVp bGRfaHZtKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogCiAgICAgaWYgKGRvbS0+dGFy Z2V0X3BhZ2VzID09IDApCiAgICAgICAgIGRvbS0+dGFyZ2V0X3BhZ2VzID0gbWVtX3NpemUgPj4g WENfUEFHRV9TSElGVDsKLSAgICBpZiAoZG9tLT5tbWlvX3NpemUgPT0gMCkKKyAgICBpZiAoZG9t LT5tbWlvX3NpemUgPT0gMCAmJiBkZXZpY2VfbW9kZWwpCiAgICAgICAgIGRvbS0+bW1pb19zaXpl ID0gSFZNX0JFTE9XXzRHX01NSU9fTEVOR1RIOworICAgIGVsc2UgaWYgKGRvbS0+bW1pb19zaXpl ID09IDAgJiYgIWRldmljZV9tb2RlbCkKKyAgICAgICAgZG9tLT5tbWlvX3NpemUgPSBHQig0KSAt CisgICAgICAgICAgICAgICAgICAgICgoWDg2X0hWTV9FTkRfU1BFQ0lBTF9SRUdJT04gLSBYODZf SFZNX05SX1NQRUNJQUxfUEFHRVMpCisgICAgICAgICAgICAgICAgICAgIDw8IFhDX1BBR0VfU0hJ RlQpOwogICAgIGxvd21lbV9lbmQgPSBtZW1fc2l6ZTsKICAgICBoaWdobWVtX2VuZCA9IDA7CiAg ICAgbW1pb19zdGFydCA9ICgxdWxsIDw8IDMyKSAtIGRvbS0+bW1pb19zaXplOwpAQCAtOTg5LDgg KzEwMTcsOCBAQCBpbnQgbGlieGxfX2J1aWxkX2h2bShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBk b21pZCwKICAgICBkb20tPmxvd21lbV9lbmQgPSBsb3dtZW1fZW5kOwogICAgIGRvbS0+aGlnaG1l bV9lbmQgPSBoaWdobWVtX2VuZDsKICAgICBkb20tPm1taW9fc3RhcnQgPSBtbWlvX3N0YXJ0Owot ICAgIGRvbS0+dmdhX2hvbGVfc2l6ZSA9IExJQlhMX1ZHQV9IT0xFX1NJWkU7Ci0gICAgZG9tLT5k ZXZpY2VfbW9kZWwgPSB0cnVlOworICAgIGRvbS0+dmdhX2hvbGVfc2l6ZSA9IGRldmljZV9tb2Rl bCA/IExJQlhMX1ZHQV9IT0xFX1NJWkUgOiAwOworICAgIGRvbS0+ZGV2aWNlX21vZGVsID0gZGV2 aWNlX21vZGVsOwogCiAgICAgcmMgPSBsaWJ4bF9fZG9tYWluX2RldmljZV9jb25zdHJ1Y3RfcmRt KGdjLCBkX2NvbmZpZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW5mby0+dS5odm0ucmRtX21lbV9ib3VuZGFyeV9tZW1rYioxMDI0LApkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFs LmgKaW5kZXggMjVhY2UyNy4uZjYwMThhOSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxf aW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0xMTQsNiAr MTE0LDEyIEBACiAjZGVmaW5lIERPTUlEX1hTX1BBVEggImRvbWlkIgogI2RlZmluZSBJTlZBTElE X0RPTUlEIH4wCiAKKy8qIFNpemUgbWFjcm9zLiAqLworI2RlZmluZSBfX0FDKFgsWSkgICAoWCMj WSkKKyNkZWZpbmUgX0FDKFgsWSkgICAgX19BQyhYLFkpCisjZGVmaW5lIE1CKF9tYikgICAgIChf QUMoX21iLCBVTEwpIDw8IDIwKQorI2RlZmluZSBHQihfZ2IpICAgICAoX0FDKF9nYiwgVUxMKSA8 PCAzMCkKKwogI2RlZmluZSBBUlJBWV9TSVpFKGEpIChzaXplb2YoYSkgLyBzaXplb2YoYVswXSkp CiAKICNkZWZpbmUgUk9VTkRVUChfdmFsLCBfb3JkZXIpICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKQEAgLTExODYsNyArMTE5Miw4IEBAIF9oaWRkZW4gaW50IGxp YnhsX19kb21haW5fYnVpbGRfaW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsCiBfaGlkZGVu IGludCBsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX2Rpc2sgKmRp c2spOwogX2hpZGRlbiBpbnQgbGlieGxfX2RldmljZV9uaWNfc2V0ZGVmYXVsdChsaWJ4bF9fZ2Mg KmdjLCBsaWJ4bF9kZXZpY2VfbmljICpuaWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvKTsKIF9oaWRkZW4g aW50IGxpYnhsX19kZXZpY2VfdnRwbV9zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsIGxpYnhsX2Rl dmljZV92dHBtICp2dHBtKTsKIF9oaWRkZW4gaW50IGxpYnhsX19kZXZpY2VfdmZiX3NldGRlZmF1 bHQobGlieGxfX2djICpnYywgbGlieGxfZGV2aWNlX3ZmYiAqdmZiKTsKIF9oaWRkZW4gaW50IGxp YnhsX19kZXZpY2VfdmtiX3NldGRlZmF1bHQobGlieGxfX2djICpnYywgbGlieGxfZGV2aWNlX3Zr YiAqdmtiKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xz L2xpYnhsL2xpYnhsX3R5cGVzLmlkbAppbmRleCBkNmVmOWEyLi4wODJmZWQ4IDEwMDY0NAotLS0g YS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlw ZXMuaWRsCkBAIC05OCw2ICs5OCw3IEBAIGxpYnhsX2RldmljZV9tb2RlbF92ZXJzaW9uID0gRW51 bWVyYXRpb24oImRldmljZV9tb2RlbF92ZXJzaW9uIiwgWwogICAgICgwLCAiVU5LTk9XTiIpLAog ICAgICgxLCAiUUVNVV9YRU5fVFJBRElUSU9OQUwiKSwgIyBIaXN0b3JpY2FsIHFlbXUteGVuIGRl dmljZSBtb2RlbCAocWVtdS1kbSkKICAgICAoMiwgIlFFTVVfWEVOIiksICAgICAgICAgICAgICMg VXBzdHJlYW0gYmFzZWQgcWVtdS14ZW4gZGV2aWNlIG1vZGVsCisgICAgKDMsICJOT05FIiksICAg ICAgICAgICAgICAgICAjIE5vIGRldmljZSBtb2RlbAogICAgIF0pCiAKIGxpYnhsX2NvbnNvbGVf dHlwZSA9IEVudW1lcmF0aW9uKCJjb25zb2xlX3R5cGUiLCBbCmRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bF94ODYuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCmluZGV4IGU3MWY4MGUu LmZiMzhlNzAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCisrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX3g4Ni5jCkBAIC03LDEwICs3LDE2IEBAIGludCBsaWJ4bF9fYXJjaF9kb21h aW5fcHJlcGFyZV9jb25maWcobGlieGxfX2djICpnYywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWcsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhjX2RvbWFpbl9jb25maWd1cmF0aW9uX3QgKnhj X2NvbmZpZykKIHsKLSAgICBpZiAoZF9jb25maWctPmNfaW5mby50eXBlID09IExJQlhMX0RPTUFJ Tl9UWVBFX0hWTSkKKworICAgIGlmIChkX2NvbmZpZy0+Y19pbmZvLnR5cGUgPT0gTElCWExfRE9N QUlOX1RZUEVfSFZNICYmCisgICAgICAgIGRfY29uZmlnLT5iX2luZm8uZGV2aWNlX21vZGVsX3Zl cnNpb24gIT0KKyAgICAgICAgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fTk9ORSkgeworICAg ICAgICAvKiBIVk0gZG9tYWlucyB3aXRoIGEgZGV2aWNlIG1vZGVsLiAqLwogICAgICAgICB4Y19j b25maWctPmVtdWxhdGlvbl9mbGFncyA9IFhFTl9YODZfRU1VX0FMTDsKLSAgICBlbHNlCisgICAg fSBlbHNlIHsKKyAgICAgICAgLyogUFYgb3IgSFZNIGRvbWFpbnMgd2l0aG91dCBhIGRldmljZSBt b2RlbC4gKi8KICAgICAgICAgeGNfY29uZmlnLT5lbXVsYXRpb25fZmxhZ3MgPSAwOworICAgIH0K IAogICAgIHJldHVybiAwOwogfQpAQCAtNDg3LDYgKzQ5Myw3IEBAIGludCBsaWJ4bF9fYXJjaF9k b21haW5fY29uc3RydWN0X21lbW1hcChsaWJ4bF9fZ2MgKmdjLAogICAgIHN0cnVjdCBlODIwZW50 cnkgKmU4MjAgPSBOVUxMOwogICAgIHVpbnQ2NF90IGhpZ2htZW1fc2l6ZSA9CiAgICAgICAgICAg ICAgICAgICAgIGRvbS0+aGlnaG1lbV9lbmQgPyBkb20tPmhpZ2htZW1fZW5kIC0gKDF1bGwgPDwg MzIpIDogMDsKKyAgICB1aW50MzJfdCBsb3dtZW1fc3RhcnQgPSBkb20tPmRldmljZV9tb2RlbCA/ IEdVRVNUX0xPV19NRU1fU1RBUlRfREVGQVVMVCA6IDA7CiAKICAgICAvKiBBZGQgYWxsIHJkbSBl bnRyaWVzLiAqLwogICAgIGZvciAoaSA9IDA7IGkgPCBkX2NvbmZpZy0+bnVtX3JkbXM7IGkrKykK QEAgLTUwNyw4ICs1MTQsOCBAQCBpbnQgbGlieGxfX2FyY2hfZG9tYWluX2NvbnN0cnVjdF9tZW1t YXAobGlieGxfX2djICpnYywKICAgICBlODIwID0gbGlieGxfX21hbGxvYyhnYywgc2l6ZW9mKHN0 cnVjdCBlODIwZW50cnkpICogZTgyMF9lbnRyaWVzKTsKIAogICAgIC8qIExvdyBtZW1vcnkgKi8K LSAgICBlODIwW25yXS5hZGRyID0gR1VFU1RfTE9XX01FTV9TVEFSVF9ERUZBVUxUOwotICAgIGU4 MjBbbnJdLnNpemUgPSBkb20tPmxvd21lbV9lbmQgLSBHVUVTVF9MT1dfTUVNX1NUQVJUX0RFRkFV TFQ7CisgICAgZTgyMFtucl0uYWRkciA9IGxvd21lbV9zdGFydDsKKyAgICBlODIwW25yXS5zaXpl ID0gZG9tLT5sb3dtZW1fZW5kIC0gbG93bWVtX3N0YXJ0OwogICAgIGU4MjBbbnJdLnR5cGUgPSBF ODIwX1JBTTsKICAgICBucisrOwogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC94bF9jbWRpbXBs LmMgYi90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKaW5kZXggMzY1Nzk4Yi4uODQwZDczZiAxMDA2 NDQKLS0tIGEvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCisrKyBiL3Rvb2xzL2xpYnhsL3hsX2Nt ZGltcGwuYwpAQCAtMjE4Niw2ICsyMTg2LDggQEAgc2tpcF92ZmI6CiAgICAgICAgIH0gZWxzZSBp ZiAoIXN0cmNtcChidWYsICJxZW11LXhlbiIpKSB7CiAgICAgICAgICAgICBiX2luZm8tPmRldmlj ZV9tb2RlbF92ZXJzaW9uCiAgICAgICAgICAgICAgICAgPSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVS U0lPTl9RRU1VX1hFTjsKKyAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKGJ1ZiwgIm5vbmUiKSkg eworICAgICAgICAgICAgYl9pbmZvLT5kZXZpY2VfbW9kZWxfdmVyc2lvbiA9IExJQlhMX0RFVklD RV9NT0RFTF9WRVJTSU9OX05PTkU7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBmcHJp bnRmKHN0ZGVyciwKICAgICAgICAgICAgICAgICAgICAgIlVua25vd24gZGV2aWNlX21vZGVsX3Zl cnNpb24gXCIlc1wiIHNwZWNpZmllZFxuIiwgYnVmKTsKLS0gCjEuOS41IChBcHBsZSBHaXQtNTAu MykKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=