From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v3 5/8] dm_op: convert HVMOP_modified_memory Date: Thu, 12 Jan 2017 14:58:37 +0000 Message-ID: <1484233120-2015-6-git-send-email-paul.durrant@citrix.com> References: <1484233120-2015-1-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cRgq3-0005Ui-L8 for xen-devel@lists.xenproject.org; Thu, 12 Jan 2017 14:58:51 +0000 In-Reply-To: <1484233120-2015-1-git-send-email-paul.durrant@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.xenproject.org Cc: Andrew Cooper , Daniel De Graaf , Paul Durrant , Ian Jackson , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGNvZGUgdG8gaGFuZGxlIERNT1AgY29udGludWF0aW9ucy4K Ck5PVEU6IFRoaXMgcGF0Y2ggYWxzbyBtb2RpZmllcyB0aGUgdHlwZSBvZiB0aGUgJ25yJyBhcmd1 bWVudCBvZgogICAgICB4Y19odm1fbW9kaWZpZWRfbWVtb3J5KCkgZnJvbSB1aW50NjRfdCB0byB1 aW50MzJfdC4gSW4gcHJhY3RpY2UgdGhlCiAgICAgIHZhbHVlIHBhc3NlZCB3YXMgYWx3YXlzIHRy dW5jYXRlZCB0byAzMiBiaXRzLgoKU3VnZ2VzdGVkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA c3VzZS5jb20+ClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJp eC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogSWFuIEph Y2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkFja2VkLWJ5OiBXZWkgTGl1IDx3ZWku bGl1MkBjaXRyaXguY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4 LmNvbT4KQ2M6IERhbmllbCBEZSBHcmFhZiA8ZGdkZWdyYUB0eWNoby5uc2EuZ292PgoKdjM6Ci0g QWRkcmVzc2VkIG1vcmUgY29tbWVudHMgZnJvbSBKYW4uCgp2MjoKLSBBZGRyZXNzZWQgc2V2ZXJh bCBjb21tZW50cyBmcm9tIEphbiwgaW5jbHVkaW5nLi4uCi0gQWRkZWQgZXhwbGFuYXRvcnkgbm90 ZSBvbiBjb250aW51YXRpb24gaGFuZGxpbmcKLS0tCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0 cmwuaCAgICAgICB8ICAyICstCiB0b29scy9saWJ4Yy94Y19taXNjLmMgICAgICAgICAgICAgICB8 IDI3ICsrKysrLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9odm0vZG0uYyAgICAgICAgICAgICAgIHwg NzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogeGVuL2FyY2gveDg2L2h2 bS9odm0uYyAgICAgICAgICAgICAgfCA2MCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4 ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2RtX29wLmggICAgICB8IDE5ICsrKysrKysrKwogeGVuL2lu Y2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaCAgICAgfCAxMyAtLS0tLS0tCiB4ZW4veHNtL2ZsYXNr L3BvbGljeS9hY2Nlc3NfdmVjdG9ycyB8ICAyICstCiA3IGZpbGVzIGNoYW5nZWQsIDEwNyBpbnNl cnRpb25zKCspLCA5NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNs dWRlL3hlbmN0cmwuaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCmluZGV4IGY4MTli ZjIuLmE1YzIzNGYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCisr KyBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCkBAIC0xNjI3LDcgKzE2MjcsNyBAQCBp bnQgeGNfaHZtX3RyYWNrX2RpcnR5X3ZyYW0oCiAgKiBOb3RpZnkgdGhhdCBzb21lIHBhZ2VzIGdv dCBtb2RpZmllZCBieSB0aGUgRGV2aWNlIE1vZGVsCiAgKi8KIGludCB4Y19odm1fbW9kaWZpZWRf bWVtb3J5KAotICAgIHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbSwgdWludDY0X3QgZmly c3RfcGZuLCB1aW50NjRfdCBucik7CisgICAgeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9t LCB1aW50NjRfdCBmaXJzdF9wZm4sIHVpbnQzMl90IG5yKTsKIAogLyoKICAqIFNldCBhIHJhbmdl IG9mIG1lbW9yeSB0byBhIHNwZWNpZmljIHR5cGUuCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94 Y19taXNjLmMgYi90b29scy9saWJ4Yy94Y19taXNjLmMKaW5kZXggZGRlYTJiYi4uNTk3ZGY5OSAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfbWlzYy5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX21p c2MuYwpAQCAtNTczLDI5ICs1NzMsMjAgQEAgaW50IHhjX2h2bV90cmFja19kaXJ0eV92cmFtKAog fQogCiBpbnQgeGNfaHZtX21vZGlmaWVkX21lbW9yeSgKLSAgICB4Y19pbnRlcmZhY2UgKnhjaCwg ZG9taWRfdCBkb20sIHVpbnQ2NF90IGZpcnN0X3BmbiwgdWludDY0X3QgbnIpCisgICAgeGNfaW50 ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tLCB1aW50NjRfdCBmaXJzdF9wZm4sIHVpbnQzMl90IG5y KQogewotICAgIERFQ0xBUkVfSFlQRVJDQUxMX0JVRkZFUihzdHJ1Y3QgeGVuX2h2bV9tb2RpZmll ZF9tZW1vcnksIGFyZyk7Ci0gICAgaW50IHJjOwotCi0gICAgYXJnID0geGNfaHlwZXJjYWxsX2J1 ZmZlcl9hbGxvYyh4Y2gsIGFyZywgc2l6ZW9mKCphcmcpKTsKLSAgICBpZiAoIGFyZyA9PSBOVUxM ICkKLSAgICB7Ci0gICAgICAgIFBFUlJPUigiQ291bGQgbm90IGFsbG9jYXRlIG1lbW9yeSBmb3Ig eGNfaHZtX21vZGlmaWVkX21lbW9yeSBoeXBlcmNhbGwiKTsKLSAgICAgICAgcmV0dXJuIC0xOwot ICAgIH0KKyAgICBzdHJ1Y3QgeGVuX2RtX29wIG9wOworICAgIHN0cnVjdCB4ZW5fZG1fb3BfbW9k aWZpZWRfbWVtb3J5ICpkYXRhOwogCi0gICAgYXJnLT5kb21pZCAgICAgPSBkb207Ci0gICAgYXJn LT5maXJzdF9wZm4gPSBmaXJzdF9wZm47Ci0gICAgYXJnLT5uciAgICAgICAgPSBucjsKKyAgICBt ZW1zZXQoJm9wLCAwLCBzaXplb2Yob3ApKTsKIAotICAgIHJjID0geGVuY2FsbDIoeGNoLT54Y2Fs bCwgX19IWVBFUlZJU09SX2h2bV9vcCwKLSAgICAgICAgICAgICAgICAgIEhWTU9QX21vZGlmaWVk X21lbW9yeSwKLSAgICAgICAgICAgICAgICAgIEhZUEVSQ0FMTF9CVUZGRVJfQVNfQVJHKGFyZykp OworICAgIG9wLm9wID0gWEVOX0RNT1BfbW9kaWZpZWRfbWVtb3J5OworICAgIGRhdGEgPSAmb3Au dS5tb2RpZmllZF9tZW1vcnk7CiAKLSAgICB4Y19oeXBlcmNhbGxfYnVmZmVyX2ZyZWUoeGNoLCBh cmcpOworICAgIGRhdGEtPmZpcnN0X3BmbiA9IGZpcnN0X3BmbjsKKyAgICBkYXRhLT5uciA9IG5y OwogCi0gICAgcmV0dXJuIHJjOworICAgIHJldHVybiBkb19kbV9vcCh4Y2gsIGRvbSwgMSwgJm9w LCBzaXplb2Yob3ApKTsKIH0KIAogaW50IHhjX2h2bV9zZXRfbWVtX3R5cGUoCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvaHZtL2RtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2RtLmMKaW5kZXggYmNk OWVhNi4uMWE3YzkxMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9kbS5jCisrKyBiL3hl bi9hcmNoL3g4Ni9odm0vZG0uYwpAQCAtMTQsNiArMTQsNyBAQAogICogdGhpcyBwcm9ncmFtOyBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKi8KIAorI2luY2x1 ZGUgPHhlbi9ldmVudC5oPgogI2luY2x1ZGUgPHhlbi9ndWVzdF9hY2Nlc3MuaD4KICNpbmNsdWRl IDx4ZW4vaHlwZXJjYWxsLmg+CiAjaW5jbHVkZSA8eGVuL3NjaGVkLmg+CkBAIC0xNDIsMTIgKzE0 Myw2OCBAQCBzdGF0aWMgaW50IHNldF9pc2FfaXJxX2xldmVsKHN0cnVjdCBkb21haW4gKmQsIHVp bnQ4X3QgaXNhX2lycSwKICAgICByZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBtb2RpZmllZF9t ZW1vcnkoc3RydWN0IGRvbWFpbiAqZCwgeGVuX3Bmbl90ICpmaXJzdF9wZm4sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKm5yKQoreworICAgIHhlbl9wZm5fdCBsYXN0 X3BmbiA9ICpmaXJzdF9wZm4gKyAqbnIgLSAxOworICAgIHVuc2lnbmVkIGludCBpdGVyOworICAg IGludCByYzsKKworICAgIGlmICggKCpmaXJzdF9wZm4gPiBsYXN0X3BmbikgfHwKKyAgICAgICAg IChsYXN0X3BmbiA+IGRvbWFpbl9nZXRfbWF4aW11bV9ncGZuKGQpKSApCisgICAgICAgIHJldHVy biAtRUlOVkFMOworCisgICAgaWYgKCAhcGFnaW5nX21vZGVfbG9nX2RpcnR5KGQpICkKKyAgICAg ICAgcmV0dXJuIDA7CisKKyAgICBpdGVyID0gMDsKKyAgICByYyA9IDA7CisgICAgd2hpbGUgKCBp dGVyIDwgKm5yICkKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgcGZuID0gKmZpcnN0X3Bm biArIGl0ZXI7CisgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7CisKKyAgICAgICAgcGFn ZSA9IGdldF9wYWdlX2Zyb21fZ2ZuKGQsIHBmbiwgTlVMTCwgUDJNX1VOU0hBUkUpOworICAgICAg ICBpZiAoIHBhZ2UgKQorICAgICAgICB7CisgICAgICAgICAgICBtZm5fdCBnbWZuID0gX21mbihw YWdlX3RvX21mbihwYWdlKSk7CisKKyAgICAgICAgICAgIHBhZ2luZ19tYXJrX2RpcnR5KGQsIGdt Zm4pOworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRoZXNlIGFyZSBtb3N0IHByb2Jh Ymx5IG5vdCBwYWdlIHRhYmxlcyBhbnkgbW9yZQorICAgICAgICAgICAgICogZG9uJ3QgdGFrZSBh IGxvbmcgdGltZSBhbmQgZG9uJ3QgZGllIGVpdGhlci4KKyAgICAgICAgICAgICAqLworICAgICAg ICAgICAgc2hfcmVtb3ZlX3NoYWRvd3MoZCwgZ21mbiwgMSwgMCk7CisgICAgICAgICAgICBwdXRf cGFnZShwYWdlKTsKKyAgICAgICAgfQorCisgICAgICAgIGl0ZXIrKzsKKworICAgICAgICAvKgor ICAgICAgICAgKiBDaGVjayBmb3IgY29udGludWF0aW9uIGV2ZXJ5IDI1NnRoIGl0ZXJhdGlvbiBh bmQgaWYgdGhlCisgICAgICAgICAqIGl0ZXJhdGlvbiBpcyBub3QgdGhlIGxhc3QuCisgICAgICAg ICAqLworICAgICAgICBpZiAoIChpdGVyIDwgKm5yKSAmJiAoKGl0ZXIgJiAweGZmKSA9PSAwKSAm JgorICAgICAgICAgICAgIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICB7Cisg ICAgICAgICAgICAqZmlyc3RfcGZuICs9IGl0ZXI7CisgICAgICAgICAgICAqbnIgLT0gaXRlcjsK KworICAgICAgICAgICAgcmMgPSAtRVJFU1RBUlQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAg ICAgfQorICAgIH0KKworICAgIHJldHVybiByYzsKK30KKwogbG9uZyBkb19kbV9vcChkb21pZF90 IGRvbWlkLAogICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbnJfYnVmcywKICAgICAgICAgICAg ICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG1fb3BfYnVmX3QpIGJ1ZnMpCiB7CiAgICAg c3RydWN0IGRvbWFpbiAqZDsKICAgICBzdHJ1Y3QgeGVuX2RtX29wIG9wOworICAgIGJvb2wgcmVz dGFydCA9IGZhbHNlOwogICAgIGxvbmcgcmM7CiAKICAgICByYyA9IHJjdV9sb2NrX3JlbW90ZV9k b21haW5fYnlfaWQoZG9taWQsICZkKTsKQEAgLTI5OSwxNyArMzU2LDM2IEBAIGxvbmcgZG9fZG1f b3AoZG9taWRfdCBkb21pZCwKICAgICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgY2FzZSBYRU5f RE1PUF9tb2RpZmllZF9tZW1vcnk6CisgICAgeworICAgICAgICBzdHJ1Y3QgeGVuX2RtX29wX21v ZGlmaWVkX21lbW9yeSAqZGF0YSA9CisgICAgICAgICAgICAmb3AudS5tb2RpZmllZF9tZW1vcnk7 CisKKyAgICAgICAgcmMgPSAtRUlOVkFMOworICAgICAgICBpZiAoIGRhdGEtPnBhZCApCisgICAg ICAgICAgICBicmVhazsKKworICAgICAgICByYyA9IG1vZGlmaWVkX21lbW9yeShkLCAmZGF0YS0+ Zmlyc3RfcGZuLCAmZGF0YS0+bnIpOworICAgICAgICBicmVhazsKKyAgICB9CisKICAgICBkZWZh dWx0OgogICAgICAgICByYyA9IC1FT1BOT1RTVVBQOwogICAgICAgICBicmVhazsKICAgICB9CiAK LSAgICBpZiAoICFyYyApCisgICAgaWYgKCByYyA9PSAtRVJFU1RBUlQgKQorICAgICAgICByZXN0 YXJ0ID0gdHJ1ZTsKKworICAgIGlmICggIXJjIHx8IHJlc3RhcnQgKQogICAgICAgICByYyA9IGNv cHlfYnVmX3RvX2d1ZXN0KGJ1ZnMsIG5yX2J1ZnMsIDAsICZvcCwgc2l6ZW9mKG9wKSk7CiAKICBv dXQ6CiAgICAgcmN1X3VubG9ja19kb21haW4oZCk7CiAKKyAgICBpZiAoICFyYyAmJiByZXN0YXJ0 ICkKKyAgICAgICAgcmMgPSBoeXBlcmNhbGxfY3JlYXRlX2NvbnRpbnVhdGlvbihfX0hZUEVSVklT T1JfZG1fb3AsICJpaWgiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRvbWlkLCBucl9idWZzLCBidWZzKTsKICAgICByZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4 IDMwZDVkNzIuLmI0ZGFjYWUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysr IGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtNTM0Nyw3ICs1MzQ3LDYgQEAgbG9uZyBkb19o dm1fb3AodW5zaWduZWQgbG9uZyBvcCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcp CiAgICAgZGVmYXVsdDoKICAgICAgICAgbWFzayA9IH4wVUw7CiAgICAgICAgIGJyZWFrOwotICAg IGNhc2UgSFZNT1BfbW9kaWZpZWRfbWVtb3J5OgogICAgIGNhc2UgSFZNT1Bfc2V0X21lbV90eXBl OgogICAgICAgICBtYXNrID0gSFZNT1Bfb3BfbWFzazsKICAgICAgICAgYnJlYWs7CkBAIC01Mzgw LDY1ICs1Mzc5LDYgQEAgbG9uZyBkb19odm1fb3AodW5zaWduZWQgbG9uZyBvcCwgWEVOX0dVRVNU X0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAgICAgICAgIHJjID0gZ3Vlc3RfaGFuZGxlX2lzX251 bGwoYXJnKSA/IGh2bW9wX2ZsdXNoX3RsYl9hbGwoKSA6IC1FSU5WQUw7CiAgICAgICAgIGJyZWFr OwogCi0gICAgY2FzZSBIVk1PUF9tb2RpZmllZF9tZW1vcnk6Ci0gICAgewotICAgICAgICBzdHJ1 Y3QgeGVuX2h2bV9tb2RpZmllZF9tZW1vcnkgYTsKLSAgICAgICAgc3RydWN0IGRvbWFpbiAqZDsK LQotICAgICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdCgmYSwgYXJnLCAxKSApCi0gICAgICAgICAg ICByZXR1cm4gLUVGQVVMVDsKLQotICAgICAgICByYyA9IHJjdV9sb2NrX3JlbW90ZV9kb21haW5f YnlfaWQoYS5kb21pZCwgJmQpOwotICAgICAgICBpZiAoIHJjICE9IDAgKQotICAgICAgICAgICAg cmV0dXJuIHJjOwotCi0gICAgICAgIHJjID0gLUVJTlZBTDsKLSAgICAgICAgaWYgKCAhaXNfaHZt X2RvbWFpbihkKSApCi0gICAgICAgICAgICBnb3RvIG1vZG1lbV9mYWlsOwotCi0gICAgICAgIHJj ID0geHNtX2h2bV9jb250cm9sKFhTTV9ETV9QUklWLCBkLCBvcCk7Ci0gICAgICAgIGlmICggcmMg KQotICAgICAgICAgICAgZ290byBtb2RtZW1fZmFpbDsKLQotICAgICAgICByYyA9IC1FSU5WQUw7 Ci0gICAgICAgIGlmICggYS5uciA8IHN0YXJ0X2l0ZXIgfHwKLSAgICAgICAgICAgICAoKGEuZmly c3RfcGZuICsgYS5uciAtIDEpIDwgYS5maXJzdF9wZm4pIHx8Ci0gICAgICAgICAgICAgKChhLmZp cnN0X3BmbiArIGEubnIgLSAxKSA+IGRvbWFpbl9nZXRfbWF4aW11bV9ncGZuKGQpKSApCi0gICAg ICAgICAgICBnb3RvIG1vZG1lbV9mYWlsOwotCi0gICAgICAgIHJjID0gMDsKLSAgICAgICAgaWYg KCAhcGFnaW5nX21vZGVfbG9nX2RpcnR5KGQpICkKLSAgICAgICAgICAgIGdvdG8gbW9kbWVtX2Zh aWw7Ci0KLSAgICAgICAgd2hpbGUgKCBhLm5yID4gc3RhcnRfaXRlciApCi0gICAgICAgIHsKLSAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcGZuID0gYS5maXJzdF9wZm4gKyBzdGFydF9pdGVyOwot ICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsKLQotICAgICAgICAgICAgcGFnZSA9 IGdldF9wYWdlX2Zyb21fZ2ZuKGQsIHBmbiwgTlVMTCwgUDJNX1VOU0hBUkUpOwotICAgICAgICAg ICAgaWYgKCBwYWdlICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwYWdpbmdfbWFy a19kaXJ0eShkLCBfbWZuKHBhZ2VfdG9fbWZuKHBhZ2UpKSk7Ci0gICAgICAgICAgICAgICAgLyog VGhlc2UgYXJlIG1vc3QgcHJvYmFibHkgbm90IHBhZ2UgdGFibGVzIGFueSBtb3JlICovCi0gICAg ICAgICAgICAgICAgLyogZG9uJ3QgdGFrZSBhIGxvbmcgdGltZSBhbmQgZG9uJ3QgZGllIGVpdGhl ciAqLwotICAgICAgICAgICAgICAgIHNoX3JlbW92ZV9zaGFkb3dzKGQsIF9tZm4ocGFnZV90b19t Zm4ocGFnZSkpLCAxLCAwKTsKLSAgICAgICAgICAgICAgICBwdXRfcGFnZShwYWdlKTsKLSAgICAg ICAgICAgIH0KLQotICAgICAgICAgICAgLyogQ2hlY2sgZm9yIGNvbnRpbnVhdGlvbiBpZiBpdCdz IG5vdCB0aGUgbGFzdCBpbnRlcmF0aW9uICovCi0gICAgICAgICAgICBpZiAoIGEubnIgPiArK3N0 YXJ0X2l0ZXIgJiYgIShzdGFydF9pdGVyICYgSFZNT1Bfb3BfbWFzaykgJiYKLSAgICAgICAgICAg ICAgICAgaHlwZXJjYWxsX3ByZWVtcHRfY2hlY2soKSApCi0gICAgICAgICAgICB7Ci0gICAgICAg ICAgICAgICAgcmMgPSAtRVJFU1RBUlQ7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg ICAgICB9Ci0gICAgICAgIH0KLQotICAgIG1vZG1lbV9mYWlsOgotICAgICAgICByY3VfdW5sb2Nr X2RvbWFpbihkKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBIVk1PUF9nZXRf bWVtX3R5cGU6CiAgICAgICAgIHJjID0gaHZtb3BfZ2V0X21lbV90eXBlKAogICAgICAgICAgICAg Z3Vlc3RfaGFuZGxlX2Nhc3QoYXJnLCB4ZW5faHZtX2dldF9tZW1fdHlwZV90KSk7CmRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2RtX29wLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMv aHZtL2RtX29wLmgKaW5kZXggOTc0MzQ1My4uNmEyZmIzOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUvcHVibGljL2h2bS9kbV9vcC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3Au aApAQCAtMjMwLDYgKzIzMCwyNCBAQCBzdHJ1Y3QgeGVuX2RtX29wX3NldF9wY2lfbGlua19yb3V0 ZSB7CiAgICAgdWludDhfdCAgaXNhX2lycTsKIH07CiAKKy8qCisgKiBYRU5fRE1PUF9tb2RpZmll ZF9tZW1vcnk6IE5vdGlmeSB0aGF0IGEgc2V0IG9mIHBhZ2VzIHdlcmUgbW9kaWZpZWQgYnkKKyAq ICAgICAgICAgICAgICAgICAgICAgICAgICAgYW4gZW11bGF0b3IuCisgKgorICogTk9URTogSW4g dGhlIGV2ZW50IG9mIGEgY29udGludWF0aW9uLCB0aGUgQGZpcnN0X3BmbiBpcyBzZXQgdG8gdGhl CisgKiAgICAgICB2YWx1ZSBvZiB0aGUgcGZuIG9mIHRoZSByZW1haW5pbmcgc2V0IG9mIHBhZ2Vz IGFuZCBAbnIgcmVkdWNlZAorICogICAgICAgdG8gdGhlIHNpemUgb2YgdGhlIHJlbWFpbmluZyBz ZXQuCisgKi8KKyNkZWZpbmUgWEVOX0RNT1BfbW9kaWZpZWRfbWVtb3J5IDExCisKK3N0cnVjdCB4 ZW5fZG1fb3BfbW9kaWZpZWRfbWVtb3J5IHsKKyAgICAvKiBJTiAtIG51bWJlciBvZiBjb250aWd1 b3VzIHBhZ2VzIG1vZGlmaWVkICovCisgICAgdWludDMyX3QgbnI7CisgICAgdWludDMyX3QgcGFk OworICAgIC8qIElOIC0gZmlyc3QgcGZuIG1vZGlmaWVkICovCisgICAgdWludDY0X2FsaWduZWRf dCBmaXJzdF9wZm47Cit9OworCiBzdHJ1Y3QgeGVuX2RtX29wIHsKICAgICB1aW50MzJfdCBvcDsK ICAgICB1aW50MzJfdCBwYWQ7CkBAIC0yNDQsNiArMjYyLDcgQEAgc3RydWN0IHhlbl9kbV9vcCB7 CiAgICAgICAgIHN0cnVjdCB4ZW5fZG1fb3Bfc2V0X3BjaV9pbnR4X2xldmVsIHNldF9wY2lfaW50 eF9sZXZlbDsKICAgICAgICAgc3RydWN0IHhlbl9kbV9vcF9zZXRfaXNhX2lycV9sZXZlbCBzZXRf aXNhX2lycV9sZXZlbDsKICAgICAgICAgc3RydWN0IHhlbl9kbV9vcF9zZXRfcGNpX2xpbmtfcm91 dGUgc2V0X3BjaV9saW5rX3JvdXRlOworICAgICAgICBzdHJ1Y3QgeGVuX2RtX29wX21vZGlmaWVk X21lbW9yeSBtb2RpZmllZF9tZW1vcnk7CiAgICAgfSB1OwogfTsKIApkaWZmIC0tZ2l0IGEveGVu L2luY2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZt X29wLmgKaW5kZXggN2NmOGQ0ZC4uNzZlMWI3OCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVi bGljL2h2bS9odm1fb3AuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2h2bV9vcC5oCkBA IC05OSwxOSArOTksNiBAQCB0eXBlZGVmIGVudW0gewogLyogRm9sbG93aW5nIHRvb2xzLW9ubHkg aW50ZXJmYWNlcyBtYXkgY2hhbmdlIGluIGZ1dHVyZS4gKi8KICNpZiBkZWZpbmVkKF9fWEVOX18p IHx8IGRlZmluZWQoX19YRU5fVE9PTFNfXykKIAotLyogTm90aWZ5IHRoYXQgc29tZSBwYWdlcyBn b3QgbW9kaWZpZWQgYnkgdGhlIERldmljZSBNb2RlbC4gKi8KLSNkZWZpbmUgSFZNT1BfbW9kaWZp ZWRfbWVtb3J5ICAgIDcKLXN0cnVjdCB4ZW5faHZtX21vZGlmaWVkX21lbW9yeSB7Ci0gICAgLyog RG9tYWluIHRvIGJlIHVwZGF0ZWQuICovCi0gICAgZG9taWRfdCAgZG9taWQ7Ci0gICAgLyogTnVt YmVyIG9mIHBhZ2VzLiAqLwotICAgIHVpbnQzMl90IG5yOwotICAgIC8qIEZpcnN0IHBmbi4gKi8K LSAgICB1aW50NjRfYWxpZ25lZF90IGZpcnN0X3BmbjsKLX07Ci10eXBlZGVmIHN0cnVjdCB4ZW5f aHZtX21vZGlmaWVkX21lbW9yeSB4ZW5faHZtX21vZGlmaWVkX21lbW9yeV90OwotREVGSU5FX1hF Tl9HVUVTVF9IQU5ETEUoeGVuX2h2bV9tb2RpZmllZF9tZW1vcnlfdCk7Ci0KICNkZWZpbmUgSFZN T1Bfc2V0X21lbV90eXBlICAgIDgKIC8qIE5vdGlmeSB0aGF0IGEgcmVnaW9uIG9mIG1lbW9yeSBp cyB0byBiZSB0cmVhdGVkIGluIGEgc3BlY2lmaWMgd2F5LiAqLwogc3RydWN0IHhlbl9odm1fc2V0 X21lbV90eXBlIHsKZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0 b3JzIGIveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKaW5kZXggMmYwZWQyZC4u MzYxZTdhYSAxMDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMK KysrIGIveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKQEAgLTI2Miw3ICsyNjIs NyBAQCBjbGFzcyBodm0KICAgICBiaW5kX2lycQogIyBYRU5fRE9NQ1RMX3Bpbl9tZW1fY2FjaGVh dHRyCiAgICAgY2FjaGVhdHRyCi0jIEhWTU9QX21vZGlmaWVkX21lbW9yeSwgSFZNT1BfZ2V0X21l bV90eXBlLCBIVk1PUF9zZXRfbWVtX3R5cGUsCisjIEhWTU9QX2dldF9tZW1fdHlwZSwgSFZNT1Bf c2V0X21lbV90eXBlLAogIyBIVk1PUF9zZXRfbWVtX2FjY2VzcywgSFZNT1BfZ2V0X21lbV9hY2Nl c3MsIEhWTU9QX3BhZ2V0YWJsZV9keWluZywKICMgSFZNT1BfaW5qZWN0X3RyYXAKICAgICBodm1j dGwKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw czovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==