From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v9 05/11] x86/mm: add HYPERVISOR_memory_op to acquire guest resources Date: Fri, 6 Oct 2017 13:25:13 +0100 Message-ID: <20171006122519.30345-6-paul.durrant@citrix.com> References: <20171006122519.30345-1-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 1e0Rh3-00065O-AG for xen-devel@lists.xenproject.org; Fri, 06 Oct 2017 12:25:29 +0000 In-Reply-To: <20171006122519.30345-1-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: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org Q2VydGFpbiBtZW1vcnkgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBhIGd1ZXN0IGFyZSBub3Qg bmVjZXNzYXJpbHkKcHJlc2VudCBpbiB0aGUgZ3Vlc3QgUDJNLgoKVGhpcyBwYXRjaCBhZGRzIHRo ZSBib2lsZXJwbGF0ZSBmb3IgbmV3IG1lbW9yeSBvcCB0byBhbGxvdyBzdWNoIGEgcmVzb3VyY2UK dG8gYmUgcHJpdi1tYXBwZWQgZGlyZWN0bHksIGJ5IGVpdGhlciBhIFBWIG9yIEhWTSB0b29scyBk b21haW4uCgpOT1RFOiBXaGlsc3QgdGhlIG5ldyBvcCBpcyBub3QgaW50cmluc2ljbHkgc3BlY2lm aWMgdG8gdGhlIHg4NiBhcmNoaXRlY3R1cmUsCiAgICAgIEkgaGF2ZSBubyBtZWFucyB0byB0ZXN0 IGl0IG9uIGFuIEFSTSBwbGF0Zm9ybSBhbmQgc28gY2Fubm90IHZlcmlmeQogICAgICB0aGF0IGl0 IGZ1bmN0aW9ucyBjb3JyZWN0bHkuIEhlbmNlIGl0IGlzIGN1cnJlbnRseSBvbmx5IGltcGxlbWVu dGVkCiAgICAgIGZvciB4ODYuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVy cmFudEBjaXRyaXguY29tPgotLS0KQ2M6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUu Y2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJl dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBHZW9yZ2UgRHVubGFwIDxH ZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25A ZXUuY2l0cml4LmNvbT4KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3Jh Y2xlLmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4K Q2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDYzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4 LmNvbT4KCnY4OgogLSBNb3ZlIHRoZSBjb2RlIGludG8gY29tbW9uIGFzIHJlcXVlc3RlZCBieSBK YW4uCiAtIE1ha2UgdGhlIGdtZm5fbGlzdCBoYW5kbGUgYSA2NC1iaXQgdHlwZSB0byBhdm9pZCBs aW1pdGluZyB0aGUgTUZOCiAgIHJhbmdlIGZvciBhIDMyLWJpdCB0b29scyBkb21haW4uCiAtIEFk ZCBtaXNzaW5nIHBhZC4KIC0gQWRkIGNvbXBhdCBjb2RlLgogLSBNYWtlIHRoaXMgcGF0Y2ggZGVh bCB3aXRoIHB1cmVseSBib2lsZXJwbGF0ZS4KIC0gRHJvcCBHZW9yZ2UncyBBLWIgYW5kIFdlaSdz IFItYiBiZWNhdXNlIHRoZSBjaGFuZ2VzIGFyZSBub24tdHJpdmlhbCwKICAgYW5kIHVwZGF0ZSBD YyBsaXN0IG5vdyB0aGUgYm9pbGVycGxhdGUgaXMgY29tbW9uLgoKdjU6CiAtIFN3aXRjaGVkIF9f Y29weV90by9mcm9tX2d1ZXN0X29mZnNldCgpIHRvIGNvcHlfdG8vZnJvbV9ndWVzdF9vZmZzZXQo KS4KLS0tCiB4ZW4vYXJjaC94ODYvbW0vcDJtLmMgICAgICAgfCAgMyArLQogeGVuL2NvbW1vbi9j b21wYXQvbWVtb3J5LmMgIHwgNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4v Y29tbW9uL21lbW9yeS5jICAgICAgICAgfCA3NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmggICB8ICAzICsrCiB4 ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmggfCAzMiArKysrKysrKysrKysrKysrKystCiB4ZW4v aW5jbHVkZS94bGF0LmxzdCAgICAgICAgfCAgMSArCiA2IGZpbGVzIGNoYW5nZWQsIDE2NSBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9w Mm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCAzZmJjNTM3ZGE2Li5lY2M2OWQwMDkz IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21t L3AybS5jCkBAIC0xMTMxLDggKzExMzEsNyBAQCBzdGF0aWMgaW50IHNldF90eXBlZF9wMm1fZW50 cnkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm5fbCwKIH0KIAogLyogU2V0IGZv cmVpZ24gbWZuIGluIHRoZSBnaXZlbiBndWVzdCdzIHAybSB0YWJsZS4gKi8KLXN0YXRpYyBpbnQg c2V0X2ZvcmVpZ25fcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2Zu LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuKQoraW50IHNldF9m b3JlaWduX3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgbWZu X3QgbWZuKQogewogICAgIHJldHVybiBzZXRfdHlwZWRfcDJtX2VudHJ5KGQsIGdmbiwgbWZuLCBQ QUdFX09SREVSXzRLLCBwMm1fbWFwX2ZvcmVpZ24sCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcDJtX2dldF9ob3N0cDJtKGQpLT5kZWZhdWx0X2FjY2Vzcyk7CmRpZmYgLS1naXQgYS94 ZW4vY29tbW9uL2NvbXBhdC9tZW1vcnkuYyBiL3hlbi9jb21tb24vY29tcGF0L21lbW9yeS5jCmlu ZGV4IDM1YmIyNTk4MDguLjNhZjc5MjJlNTkgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vY29tcGF0 L21lbW9yeS5jCisrKyBiL3hlbi9jb21tb24vY29tcGF0L21lbW9yeS5jCkBAIC03MSw2ICs3MSw3 IEBAIGludCBjb21wYXRfbWVtb3J5X29wKHVuc2lnbmVkIGludCBjbWQsIFhFTl9HVUVTVF9IQU5E TEVfUEFSQU0odm9pZCkgY29tcGF0KQogICAgICAgICAgICAgc3RydWN0IHhlbl9yZW1vdmVfZnJv bV9waHlzbWFwICp4cmZwOwogICAgICAgICAgICAgc3RydWN0IHhlbl92bnVtYV90b3BvbG9neV9p bmZvICp2bnVtYTsKICAgICAgICAgICAgIHN0cnVjdCB4ZW5fbWVtX2FjY2Vzc19vcCAqbWFvOwor ICAgICAgICAgICAgc3RydWN0IHhlbl9tZW1fYWNxdWlyZV9yZXNvdXJjZSAqbWFyOwogICAgICAg ICB9IG5hdDsKICAgICAgICAgdW5pb24gewogICAgICAgICAgICAgc3RydWN0IGNvbXBhdF9tZW1v cnlfcmVzZXJ2YXRpb24gcnNydjsKQEAgLTc5LDYgKzgwLDcgQEAgaW50IGNvbXBhdF9tZW1vcnlf b3AodW5zaWduZWQgaW50IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBjb21wYXQp CiAgICAgICAgICAgICBzdHJ1Y3QgY29tcGF0X2FkZF90b19waHlzbWFwX2JhdGNoIGF0cGI7CiAg ICAgICAgICAgICBzdHJ1Y3QgY29tcGF0X3ZudW1hX3RvcG9sb2d5X2luZm8gdm51bWE7CiAgICAg ICAgICAgICBzdHJ1Y3QgY29tcGF0X21lbV9hY2Nlc3Nfb3AgbWFvOworICAgICAgICAgICAgc3Ry dWN0IGNvbXBhdF9tZW1fYWNxdWlyZV9yZXNvdXJjZSBtYXI7CiAgICAgICAgIH0gY21wOwogCiAg ICAgICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKG5hdC5obmQsIENPTVBBVF9BUkdfWExBVF9WSVJU X0JBU0UpOwpAQCAtMzk1LDYgKzM5NywzOSBAQCBpbnQgY29tcGF0X21lbW9yeV9vcCh1bnNpZ25l ZCBpbnQgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGNvbXBhdCkKICAgICAgICAg fQogI2VuZGlmCiAKKyAgICAgICAgY2FzZSBYRU5NRU1fYWNxdWlyZV9yZXNvdXJjZToKKyAgICAg ICAgeworICAgICAgICAgICAgeGVuX3Vsb25nX3QgKmdtZm5fbGlzdCA9ICh4ZW5fdWxvbmdfdCAq KShuYXQubWFyICsgMSk7CisKKyAgICAgICAgICAgIGlmICggY29weV9mcm9tX2d1ZXN0KCZjbXAu bWFyLCBjb21wYXQsIDEpIHx8CisgICAgICAgICAgICAgICAgICFjb21wYXRfaGFuZGxlX29rYXko Y21wLm1hci5nbWZuX2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y21wLm1hci5ucl9mcmFtZXMpICkKKyAgICAgICAgICAgICAgICByZXR1cm4gLUVGQVVMVDsKKwor ICAgICAgICAgICAgaWYgKCBzaXplb2YoKmdtZm5fbGlzdCkgKiBjbXAubWFyLm5yX2ZyYW1lcyA+ CisgICAgICAgICAgICAgICAgIENPTVBBVF9BUkdfWExBVF9TSVpFIC0gc2l6ZW9mKCpuYXQubWFy KSApCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FMkJJRzsKKworICAgICAgICAgICAgZm9yICgg aSA9IDA7IGkgPCBjbXAubWFyLm5yX2ZyYW1lczsgaSsrICkKKyAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgICBjb21wYXRfdWxvbmdfdCBnbWZuOworCisgICAgICAgICAgICAgICAgaWYgKCBf X2NvcHlfZnJvbV9jb21wYXRfb2Zmc2V0KCZnbWZuLCBjbXAubWFyLmdtZm5fbGlzdCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSwgMSkgKQorICAgICAg ICAgICAgICAgICAgICByZXR1cm4gLUVGQVVMVDsKKworICAgICAgICAgICAgICAgIGdtZm5fbGlz dFtpXSA9IGdtZm47CisgICAgICAgICAgICB9CisKKyNkZWZpbmUgWExBVF9tZW1fYWNxdWlyZV9y ZXNvdXJjZV9ITkRMX2dtZm5fbGlzdChfZF8sIF9zXykgXAorICAgICAgICAgICAgc2V0X3hlbl9n dWVzdF9oYW5kbGUoKF9kXyktPmdtZm5fbGlzdCwgZ21mbl9saXN0KQorCisgICAgICAgICAgICBY TEFUX21lbV9hY3F1aXJlX3Jlc291cmNlKG5hdC5tYXIsICZjbXAubWFyKTsKKworI3VuZGVmIFhM QVRfbWVtX2FjcXVpcmVfcmVzb3VyY2VfSE5ETF9nbWZuX2xpc3QKKworICAgICAgICAgICAgYnJl YWs7CisgICAgICAgIH0KICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBjb21w YXRfYXJjaF9tZW1vcnlfb3AoY21kLCBjb21wYXQpOwogICAgICAgICB9CkBAIC01MzUsNiArNTcw LDIzIEBAIGludCBjb21wYXRfbWVtb3J5X29wKHVuc2lnbmVkIGludCBjbWQsIFhFTl9HVUVTVF9I QU5ETEVfUEFSQU0odm9pZCkgY29tcGF0KQogICAgICAgICAgICAgICAgIHJjID0gLUVGQVVMVDsK ICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgWEVOTUVNX2FjcXVpcmVfcmVzb3Vy Y2U6CisgICAgICAgIHsKKyAgICAgICAgICAgIHhlbl91bG9uZ190ICpnbWZuX2xpc3QgPSAoeGVu X3Vsb25nX3QgKikobmF0Lm1hciArIDEpOworCisgICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8 IGNtcC5tYXIubnJfZnJhbWVzOyBpKysgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg IGNvbXBhdF91bG9uZ190IGdtZm4gPSBnbWZuX2xpc3RbaV07CisKKyAgICAgICAgICAgICAgICBp ZiAoIGdtZm4gIT0gZ21mbl9saXN0W2ldICkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1F UkFOR0U7CisKKyAgICAgICAgICAgICAgICBpZiAoIF9fY29weV90b19jb21wYXRfb2Zmc2V0KGNt cC5tYXIuZ21mbl9saXN0LCBpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmdtZm4sIDEpICkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7 CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBk ZWZhdWx0OgogICAgICAgICAgICAgZG9tYWluX2NyYXNoKGN1cnJlbnQtPmRvbWFpbik7CiAgICAg ICAgICAgICBzcGxpdCA9IDA7CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL21lbW9yeS5jIGIveGVu L2NvbW1vbi9tZW1vcnkuYwppbmRleCBhZDk4N2UwZjI5Li45MTBjMGM1MDYzIDEwMDY0NAotLS0g YS94ZW4vY29tbW9uL21lbW9yeS5jCisrKyBiL3hlbi9jb21tb24vbWVtb3J5LmMKQEAgLTk2NSw2 ICs5NjUsNjcgQEAgc3RhdGljIGxvbmcgeGF0cF9wZXJtaXNzaW9uX2NoZWNrKHN0cnVjdCBkb21h aW4gKmQsIHVuc2lnbmVkIGludCBzcGFjZSkKICAgICByZXR1cm4geHNtX2FkZF90b19waHlzbWFw KFhTTV9UQVJHRVQsIGN1cnJlbnQtPmRvbWFpbiwgZCk7CiB9CiAKKyNpZmRlZiBDT05GSUdfWDg2 CitzdGF0aWMgaW50IGFjcXVpcmVfcmVzb3VyY2UoY29uc3QgeGVuX21lbV9hY3F1aXJlX3Jlc291 cmNlX3QgKnhtYXIpCit7CisgICAgc3RydWN0IGRvbWFpbiAqZCwgKmN1cnJkID0gY3VycmVudC0+ ZG9tYWluOworICAgIHVuc2lnbmVkIGxvbmcgbWZuX2xpc3RbMl07CisgICAgaW50IHJjOworCisg ICAgaWYgKCB4bWFyLT5ucl9mcmFtZXMgPT0gMCB8fCB4bWFyLT5wYWQgIT0gMCApCisgICAgICAg IHJldHVybiAtRUlOVkFMOworCisgICAgaWYgKCB4bWFyLT5ucl9mcmFtZXMgPiBBUlJBWV9TSVpF KG1mbl9saXN0KSApCisgICAgICAgIHJldHVybiAtRTJCSUc7CisKKyAgICBkID0gcmN1X2xvY2tf ZG9tYWluX2J5X2FueV9pZCh4bWFyLT5kb21pZCk7CisgICAgaWYgKCBkID09IE5VTEwgKQorICAg ICAgICByZXR1cm4gLUVTUkNIOworCisgICAgcmMgPSB4c21fZG9tYWluX21lbW9yeV9tYXAoWFNN X1RBUkdFVCwgZCk7CisgICAgaWYgKCByYyApCisgICAgICAgIGdvdG8gb3V0OworCisgICAgc3dp dGNoICggeG1hci0+dHlwZSApCisgICAgeworICAgIGRlZmF1bHQ6CisgICAgICAgIHJjID0gLUVP UE5PVFNVUFA7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmICggcmMgKQorICAgICAg ICBnb3RvIG91dDsKKworICAgIGlmICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShjdXJyZCkgKQor ICAgIHsKKyAgICAgICAgaWYgKCBjb3B5X3RvX2d1ZXN0X29mZnNldCh4bWFyLT5nbWZuX2xpc3Qs IDAsIG1mbl9saXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtYXItPm5y X2ZyYW1lcykgKQorICAgICAgICAgICAgcmMgPSAtRUZBVUxUOworICAgIH0KKyAgICBlbHNlCisg ICAgeworICAgICAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgICAgICBmb3IgKCBpID0gMDsgaSA8 IHhtYXItPm5yX2ZyYW1lczsgaSsrICkKKyAgICAgICAgeworICAgICAgICAgICAgeGVuX3Bmbl90 IGdmbjsKKworICAgICAgICAgICAgcmMgPSAtRUZBVUxUOworICAgICAgICAgICAgaWYgKCBjb3B5 X2Zyb21fZ3Vlc3Rfb2Zmc2V0KCZnZm4sIHhtYXItPmdtZm5fbGlzdCwgaSwgMSkgKQorICAgICAg ICAgICAgICAgIGdvdG8gb3V0OworCisgICAgICAgICAgICByYyA9IHNldF9mb3JlaWduX3AybV9l bnRyeShjdXJyZCwgZ2ZuLCBfbWZuKG1mbl9saXN0W2ldKSk7CisgICAgICAgICAgICBpZiAoIHJj ICkKKyAgICAgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgIH0KKworIG91dDoK KyAgICByY3VfdW5sb2NrX2RvbWFpbihkKTsKKyAgICByZXR1cm4gcmM7Cit9CisjZW5kaWYgLyog Q09ORklHX1g4NiAqLworCiBsb25nIGRvX21lbW9yeV9vcCh1bnNpZ25lZCBsb25nIGNtZCwgWEVO X0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCwg KmN1cnJfZCA9IGN1cnJlbnQtPmRvbWFpbjsKQEAgLTE0MDYsNiArMTQ2NywyMiBAQCBsb25nIGRv X21lbW9yeV9vcCh1bnNpZ25lZCBsb25nIGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lk KSBhcmcpCiAgICAgfQogI2VuZGlmCiAKKyAgICBjYXNlIFhFTk1FTV9hY3F1aXJlX3Jlc291cmNl OgorI2lmZGVmIENPTkZJR19YODYKKyAgICB7CisgICAgICAgIHhlbl9tZW1fYWNxdWlyZV9yZXNv dXJjZV90IHhtYXI7CisKKyAgICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJnhtYXIsIGFyZywg MSkgKQorICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CisKKyAgICAgICAgcmMgPSBhY3F1aXJl X3Jlc291cmNlKCZ4bWFyKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorI2Vsc2UKKyAgICByYyA9 IC1FT1BOT1RTVVBQOworICAgIGJyZWFrOworI2VuZGlmCisKICAgICBkZWZhdWx0OgogICAgICAg ICByYyA9IGFyY2hfbWVtb3J5X29wKGNtZCwgYXJnKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0u aAppbmRleCA3MGYwMGMzMzJmLi41MmNlNTA3ZTk2IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9h c20teDg2L3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKQEAgLTYxMyw2ICs2 MTMsOSBAQCB2b2lkIHAybV9tZW1vcnlfdHlwZV9jaGFuZ2VkKHN0cnVjdCBkb21haW4gKmQpOwog aW50IHAybV9pc19sb2dkaXJ0eV9yYW5nZShzdHJ1Y3QgcDJtX2RvbWFpbiAqLCB1bnNpZ25lZCBs b25nIHN0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGVuZCk7 CiAKKy8qIFNldCBmb3JlaWduIGVudHJ5IGluIHRoZSBwMm0gdGFibGUgKGZvciBwcml2LW1hcHBp bmcpICovCitpbnQgc2V0X2ZvcmVpZ25fcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4pOworCiAvKiBTZXQgbW1pbyBhZGRyZXNzZXMgaW4gdGhl IHAybSB0YWJsZSAoZm9yIHBhc3MtdGhyb3VnaCkgKi8KIGludCBzZXRfbW1pb19wMm1fZW50cnko c3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIG1mbl90IG1mbiwKICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9yZGVyLCBwMm1fYWNjZXNzX3QgYWNjZXNzKTsK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaCBiL3hlbi9pbmNsdWRlL3B1 YmxpYy9tZW1vcnkuaAppbmRleCAyOTM4NmRmOThiLi4zYWE4ZmIyZmUxIDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL21lbW9y eS5oCkBAIC01OTksNiArNTk5LDM2IEBAIHN0cnVjdCB4ZW5fcmVzZXJ2ZWRfZGV2aWNlX21lbW9y eV9tYXAgewogdHlwZWRlZiBzdHJ1Y3QgeGVuX3Jlc2VydmVkX2RldmljZV9tZW1vcnlfbWFwIHhl bl9yZXNlcnZlZF9kZXZpY2VfbWVtb3J5X21hcF90OwogREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUo eGVuX3Jlc2VydmVkX2RldmljZV9tZW1vcnlfbWFwX3QpOwogCisvKgorICogR2V0IHRoZSBwYWdl cyBmb3IgYSBwYXJ0aWN1bGFyIGd1ZXN0IHJlc291cmNlLCBzbyB0aGF0IHRoZXkgY2FuIGJlCisg KiBtYXBwZWQgZGlyZWN0bHkgYnkgYSB0b29scyBkb21haW4uCisgKi8KKyNkZWZpbmUgWEVOTUVN X2FjcXVpcmVfcmVzb3VyY2UgMjgKK3N0cnVjdCB4ZW5fbWVtX2FjcXVpcmVfcmVzb3VyY2Ugewor ICAgIC8qIElOIC0gdGhlIGRvbWFpbiB3aG9zZSByZXNvdXJjZSBpcyB0byBiZSBtYXBwZWQgKi8K KyAgICBkb21pZF90IGRvbWlkOworICAgIC8qIElOIC0gdGhlIHR5cGUgb2YgcmVzb3VyY2UgKi8K KyAgICB1aW50MTZfdCB0eXBlOworICAgIC8qCisgICAgICogSU4gLSBhIHR5cGUtc3BlY2lmaWMg cmVzb3VyY2UgaWRlbnRpZmllciwgd2hpY2ggbXVzdCBiZSB6ZXJvCisgICAgICogICAgICB1bmxl c3Mgc3RhdGVkIG90aGVyd2lzZS4KKyAgICAgKi8KKyAgICB1aW50MzJfdCBpZDsKKyAgICAvKiBJ TiAtIG51bWJlciBvZiAoNEspIGZyYW1lcyBvZiB0aGUgcmVzb3VyY2UgdG8gYmUgbWFwcGVkICov CisgICAgdWludDMyX3QgbnJfZnJhbWVzOworICAgIHVpbnQzMl90IHBhZDsKKyAgICAvKiBJTiAt IHRoZSBpbmRleCBvZiB0aGUgaW5pdGlhbCBmcmFtZSB0byBiZSBtYXBwZWQgKi8KKyAgICB1aW50 NjRfYWxpZ25lZF90IGZyYW1lOworICAgIC8qIElOL09VVCAtIElmIHRoZSB0b29scyBkb21haW4g aXMgUFYgdGhlbiwgdXBvbiByZXR1cm4sIGdtZm5fbGlzdAorICAgICAqICAgICAgICAgIHdpbGwg YmUgcG9wdWxhdGVkIHdpdGggdGhlIE1GTnMgb2YgdGhlIHJlc291cmNlLgorICAgICAqICAgICAg ICAgIElmIHRoZSB0b29scyBkb21haW4gaXMgSFZNIHRoZW4gaXQgaXMgZXhwZWN0ZWQgdGhhdCwg b24KKyAgICAgKiAgICAgICAgICBlbnRyeSwgZ21mbl9saXN0IHdpbGwgYmUgcG9wdWxhdGVkIHdp dGggYSBsaXN0IG9mIEdGTnMKKyAgICAgKiAgICAgICAgICB0aGF0IHdpbGwgYmUgbWFwcGVkIHRv IHRoZSBNRk5zIG9mIHRoZSByZXNvdXJjZS4KKyAgICAgKi8KKyAgICBYRU5fR1VFU1RfSEFORExF KHhlbl91bG9uZ190KSBnbWZuX2xpc3Q7Cit9OwordHlwZWRlZiBzdHJ1Y3QgeGVuX21lbV9hY3F1 aXJlX3Jlc291cmNlIHhlbl9tZW1fYWNxdWlyZV9yZXNvdXJjZV90OworCiAjZW5kaWYgLyogZGVm aW5lZChfX1hFTl9fKSB8fCBkZWZpbmVkKF9fWEVOX1RPT0xTX18pICovCiAKIC8qCkBAIC02NTAs NyArNjgwLDcgQEAgc3RydWN0IHhlbl92bnVtYV90b3BvbG9neV9pbmZvIHsKIHR5cGVkZWYgc3Ry dWN0IHhlbl92bnVtYV90b3BvbG9neV9pbmZvIHhlbl92bnVtYV90b3BvbG9neV9pbmZvX3Q7CiBE RUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fdm51bWFfdG9wb2xvZ3lfaW5mb190KTsKIAotLyog TmV4dCBhdmFpbGFibGUgc3Vib3AgbnVtYmVyIGlzIDI4ICovCisvKiBOZXh0IGF2YWlsYWJsZSBz dWJvcCBudW1iZXIgaXMgMjkgKi8KIAogI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19NRU1PUllfSF9f ICovCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hsYXQubHN0IGIveGVuL2luY2x1ZGUveGxh dC5sc3QKaW5kZXggMGYxNzAwMGVhNy4uNTgzNTg3MjMzNCAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUveGxhdC5sc3QKKysrIGIveGVuL2luY2x1ZGUveGxhdC5sc3QKQEAgLTgzLDYgKzgzLDcgQEAK ICEJbWVtb3J5X21hcAkJCW1lbW9yeS5oCiAhCW1lbW9yeV9yZXNlcnZhdGlvbgkJbWVtb3J5LmgK ICEJbWVtX2FjY2Vzc19vcAkJCW1lbW9yeS5oCishCW1lbV9hY3F1aXJlX3Jlc291cmNlCQltZW1v cnkuaAogIQlwb2RfdGFyZ2V0CQkJbWVtb3J5LmgKICEJcmVtb3ZlX2Zyb21fcGh5c21hcAkJbWVt b3J5LmgKICEJcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeV9tYXAJbWVtb3J5LmgKLS0gCjIuMTEuMAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=