From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH] xen: add hypercall option to temporarily pin a vcpu Date: Thu, 25 Feb 2016 17:50:00 +0100 Message-ID: <1456419000-390-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: Juergen Gross , george.dunlap@eu.citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, jbeulich@suse.com, dgdegra@tycho.nsa.gov List-Id: xen-devel@lists.xenproject.org U29tZSBoYXJkd2FyZSAoZS5nLiBEZWxsIHN0dWRpbyAxNTU1IGxhcHRvcHMpIHJlcXVpcmUgU01J cyB0byBiZQpjYWxsZWQgb24gcGh5c2ljYWwgY3B1IDAgb25seS4gTGludXggZHJpdmVycyBsaWtl IGRjZGJhcyBvciBpOGsgdHJ5CnRvIGFjaGlldmUgdGhpcyBieSBwaW5uaW5nIHRoZSBydW5uaW5n IHRocmVhZCB0byBjcHUgMCwgYnV0IGluIERvbTAKdGhpcyBpcyBub3QgZW5vdWdoOiB0aGUgdmNw dSBtdXN0IGJlIHBpbm5lZCB0byBwaHlzaWNhbCBjcHUgMCB2aWEKWGVuLCB0b28uCgpBZGQgYSBz dGFibGUgaHlwZXJjYWxsIG9wdGlvbiBTQ0hFRE9QX3Bpbl90ZW1wIHRvIHRoZSBzY2hlZF9vcApo eXBlcmNhbGwgdG8gYWNoaWV2ZSB0aGlzLiBJdCBpcyB0YWtpbmcgYSBwaHlzaWNhbCBjcHUgbnVt YmVyIGFzCnBhcmFtZXRlci4gSWYgcGlubmluZyBpcyBwb3NzaWJsZSAodGhlIGNhbGxpbmcgZG9t YWluIGhhcyB0aGUKcHJpdmlsZWdlIHRvIG1ha2UgdGhlIGNhbGwgYW5kIHRoZSBjcHUgaXMgYXZh aWxhYmxlIGluIHRoZSBkb21haW4ncwpjcHVwb29sKSB0aGUgY2FsbGluZyB2Y3B1IGlzIHBpbm5l ZCB0byB0aGUgc3BlY2lmaWVkIGNwdS4gVGhlIG9sZApjcHUgYWZmaW5pdHkgaXMgc2F2ZWQuIFRv IHVuZG8gdGhlIHRlbXBvcmFyeSBwaW5uaW5nIGEgY3B1IC0xIGlzCnNwZWNpZmllZC4gVGhpcyB3 aWxsIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGNwdSBhZmZpbml0eSBmb3IgdGhlIHZjcHUuCgpTaWdu ZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQogeGVuL2NvbW1v bi9zY2hlZHVsZS5jICAgICAgfCA5OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tCiB4ZW4vaW5jbHVkZS9wdWJsaWMvc2NoZWQuaCB8IDE1ICsrKysrKysKIHhl bi9pbmNsdWRlL3hzbS9kdW1teS5oICAgIHwgIDYgKysrCiB4ZW4vaW5jbHVkZS94c20veHNtLmgg ICAgICB8ICA2ICsrKwogeGVuL3hzbS9kdW1teS5jICAgICAgICAgICAgfCAgMSArCiB4ZW4veHNt L2ZsYXNrL2hvb2tzLmMgICAgICB8ICA3ICsrKysKIDYgZmlsZXMgY2hhbmdlZCwgMTI3IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZHVs ZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCmluZGV4IDQzNGRjZmMuLmRkYjU5ODkgMTAwNjQ0 Ci0tLSBhL3hlbi9jb21tb24vc2NoZWR1bGUuYworKysgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMK QEAgLTI3MSw2ICsyNzEsMTIgQEAgaW50IHNjaGVkX21vdmVfZG9tYWluKHN0cnVjdCBkb21haW4g KmQsIHN0cnVjdCBjcHVwb29sICpjKQogICAgIHN0cnVjdCBzY2hlZHVsZXIgKm9sZF9vcHM7CiAg ICAgdm9pZCAqb2xkX2RvbWRhdGE7CiAKKyAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiApCisgICAg eworICAgICAgICBpZiAoIHYtPmFmZmluaXR5X2Jyb2tlbiApCisgICAgICAgICAgICByZXR1cm4g LUVCVVNZOworICAgIH0KKwogICAgIGRvbWRhdGEgPSBTQ0hFRF9PUChjLT5zY2hlZCwgYWxsb2Nf ZG9tZGF0YSwgZCk7CiAgICAgaWYgKCBkb21kYXRhID09IE5VTEwgKQogICAgICAgICByZXR1cm4g LUVOT01FTTsKQEAgLTY3MCw3ICs2NzYsMTMgQEAgaW50IGNwdV9kaXNhYmxlX3NjaGVkdWxlcih1 bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICAgICAgaWYgKCBjcHVtYXNrX2VtcHR5KCZvbmxpbmVf YWZmaW5pdHkpICYmCiAgICAgICAgICAgICAgICAgIGNwdW1hc2tfdGVzdF9jcHUoY3B1LCB2LT5j cHVfaGFyZF9hZmZpbml0eSkgKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHByaW50 ayhYRU5MT0dfREVCVUcgIkJyZWFraW5nIGFmZmluaXR5IGZvciAlcHZcbiIsIHYpOworICAgICAg ICAgICAgICAgIGlmICggdi0+YWZmaW5pdHlfYnJva2VuICkKKyAgICAgICAgICAgICAgICB7Cisg ICAgICAgICAgICAgICAgICAgIC8qIFRoZSB2Y3B1IGlzIHRlbXBvcmFyaWx5IHBpbm5lZCwgY2Fu J3QgbW92ZSBpdC4gKi8KKyAgICAgICAgICAgICAgICAgICAgdmNwdV9zY2hlZHVsZV91bmxvY2tf aXJxcmVzdG9yZShsb2NrLCBmbGFncywgdik7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IC1F QlVTWTsKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQog CiAgICAgICAgICAgICAgICAgaWYgKHN5c3RlbV9zdGF0ZSA9PSBTWVNfU1RBVEVfc3VzcGVuZCkK ICAgICAgICAgICAgICAgICB7CkBAIC02NzksNiArNjkxLDggQEAgaW50IGNwdV9kaXNhYmxlX3Nj aGVkdWxlcih1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICAgICAgICAgICAgICB2LT5hZmZpbml0 eV9icm9rZW4gPSAxOwogICAgICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgICAgIHByaW50 ayhYRU5MT0dfREVCVUcgIkJyZWFraW5nIGFmZmluaXR5IGZvciAlcHZcbiIsIHYpOworCiAgICAg ICAgICAgICAgICAgY3B1bWFza19zZXRhbGwodi0+Y3B1X2hhcmRfYWZmaW5pdHkpOwogICAgICAg ICAgICAgfQogCkBAIC03NTMsMTQgKzc2NywyMiBAQCBzdGF0aWMgaW50IHZjcHVfc2V0X2FmZmlu aXR5KAogICAgIHN0cnVjdCB2Y3B1ICp2LCBjb25zdCBjcHVtYXNrX3QgKmFmZmluaXR5LCBjcHVt YXNrX3QgKndoaWNoKQogewogICAgIHNwaW5sb2NrX3QgKmxvY2s7CisgICAgaW50IHJldCA9IDA7 CiAKICAgICBsb2NrID0gdmNwdV9zY2hlZHVsZV9sb2NrX2lycSh2KTsKIAotICAgIGNwdW1hc2tf Y29weSh3aGljaCwgYWZmaW5pdHkpOworICAgIGlmICggdi0+YWZmaW5pdHlfYnJva2VuICkKKyAg ICB7CisgICAgICAgIHJldCA9IC1FQlVTWTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAg ICAgY3B1bWFza19jb3B5KHdoaWNoLCBhZmZpbml0eSk7CiAKLSAgICAvKiBBbHdheXMgYXNrIHRo ZSBzY2hlZHVsZXIgdG8gcmUtZXZhbHVhdGUgcGxhY2VtZW50Ci0gICAgICogd2hlbiBjaGFuZ2lu ZyB0aGUgYWZmaW5pdHkgKi8KLSAgICBzZXRfYml0KF9WUEZfbWlncmF0aW5nLCAmdi0+cGF1c2Vf ZmxhZ3MpOworICAgICAgICAvKiBBbHdheXMgYXNrIHRoZSBzY2hlZHVsZXIgdG8gcmUtZXZhbHVh dGUgcGxhY2VtZW50CisgICAgICAgICAqIHdoZW4gY2hhbmdpbmcgdGhlIGFmZmluaXR5ICovCisg ICAgICAgIHNldF9iaXQoX1ZQRl9taWdyYXRpbmcsICZ2LT5wYXVzZV9mbGFncyk7CisgICAgfQog CiAgICAgdmNwdV9zY2hlZHVsZV91bmxvY2tfaXJxKGxvY2ssIHYpOwogCkBAIC03NzIsNyArNzk0 LDcgQEAgc3RhdGljIGludCB2Y3B1X3NldF9hZmZpbml0eSgKICAgICAgICAgdmNwdV9taWdyYXRl KHYpOwogICAgIH0KIAotICAgIHJldHVybiAwOworICAgIHJldHVybiByZXQ7CiB9CiAKIGludCB2 Y3B1X3NldF9oYXJkX2FmZmluaXR5KHN0cnVjdCB2Y3B1ICp2LCBjb25zdCBjcHVtYXNrX3QgKmFm ZmluaXR5KQpAQCAtOTc5LDYgKzEwMDEsNTMgQEAgdm9pZCB3YXRjaGRvZ19kb21haW5fZGVzdHJv eShzdHJ1Y3QgZG9tYWluICpkKQogICAgICAgICBraWxsX3RpbWVyKCZkLT53YXRjaGRvZ190aW1l cltpXSk7CiB9CiAKK3N0YXRpYyBsb25nIGRvX3Bpbl90ZW1wKGludCBjcHUpCit7CisgICAgc3Ry dWN0IHZjcHUgKnYgPSBjdXJyZW50OworICAgIHNwaW5sb2NrX3QgKmxvY2s7CisgICAgbG9uZyBy ZXQgPSAtRUlOVkFMOworCisgICAgbG9jayA9IHZjcHVfc2NoZWR1bGVfbG9ja19pcnEodik7CisK KyAgICBpZiAoIGNwdSA9PSAtMSApCisgICAgeworICAgICAgICBpZiAoIHYtPmFmZmluaXR5X2Jy b2tlbiApCisgICAgICAgIHsKKyAgICAgICAgICAgIGNwdW1hc2tfY29weSh2LT5jcHVfaGFyZF9h ZmZpbml0eSwgdi0+Y3B1X2hhcmRfYWZmaW5pdHlfc2F2ZWQpOworICAgICAgICAgICAgdi0+YWZm aW5pdHlfYnJva2VuID0gMDsKKyAgICAgICAgICAgIHNldF9iaXQoX1ZQRl9taWdyYXRpbmcsICZ2 LT5wYXVzZV9mbGFncyk7CisgICAgICAgICAgICByZXQgPSAwOworICAgICAgICB9CisgICAgfQor ICAgIGVsc2UgaWYgKCBjcHUgPCBucl9jcHVfaWRzICYmIGNwdSA+PSAwICkKKyAgICB7CisgICAg ICAgIGlmICggdi0+YWZmaW5pdHlfYnJva2VuICkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0 ID0gLUVCVVNZOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCBjcHVtYXNrX3Rlc3RfY3B1 KGNwdSwgVkNQVTJPTkxJTkUodikpICkKKyAgICAgICAgeworICAgICAgICAgICAgY3B1bWFza19j b3B5KHYtPmNwdV9oYXJkX2FmZmluaXR5X3NhdmVkLCB2LT5jcHVfaGFyZF9hZmZpbml0eSk7Cisg ICAgICAgICAgICB2LT5hZmZpbml0eV9icm9rZW4gPSAxOworICAgICAgICAgICAgY3B1bWFza19j b3B5KHYtPmNwdV9oYXJkX2FmZmluaXR5LCBjcHVtYXNrX29mKGNwdSkpOworICAgICAgICAgICAg c2V0X2JpdChfVlBGX21pZ3JhdGluZywgJnYtPnBhdXNlX2ZsYWdzKTsKKyAgICAgICAgICAgIHJl dCA9IDA7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2Y3B1X3NjaGVkdWxlX3VubG9ja19pcnEo bG9jaywgdik7CisKKyAgICBkb21haW5fdXBkYXRlX25vZGVfYWZmaW5pdHkodi0+ZG9tYWluKTsK KworICAgIGlmICggdi0+cGF1c2VfZmxhZ3MgJiBWUEZfbWlncmF0aW5nICkKKyAgICB7CisgICAg ICAgIHZjcHVfc2xlZXBfbm9zeW5jKHYpOworICAgICAgICB2Y3B1X21pZ3JhdGUodik7CisgICAg fQorCisgICAgcmV0dXJuIHJldDsKK30KKwogdHlwZWRlZiBsb25nIHJldF90OwogCiAjZW5kaWYg LyogIUNPTVBBVCAqLwpAQCAtMTA4OCw2ICsxMTU3LDIzIEBAIHJldF90IGRvX3NjaGVkX29wKGlu dCBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQogICAgICAgICBicmVhazsK ICAgICB9CiAKKyAgICBjYXNlIFNDSEVET1BfcGluX3RlbXA6CisgICAgeworICAgICAgICBzdHJ1 Y3Qgc2NoZWRfcGluX3RlbXAgc2NoZWRfcGluX3RlbXA7CisKKyAgICAgICAgcmV0ID0gLUVGQVVM VDsKKyAgICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJnNjaGVkX3Bpbl90ZW1wLCBhcmcsIDEp ICkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIHJldCA9IHhzbV9zY2hlZG9wX3Bpbl90 ZW1wKFhTTV9QUklWKTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAgYnJlYWs7CisK KyAgICAgICAgcmV0ID0gZG9fcGluX3RlbXAoc2NoZWRfcGluX3RlbXAucGNwdSk7CisKKyAgICAg ICAgYnJlYWs7CisgICAgfQorCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0ID0gLUVOT1NZUzsK ICAgICB9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvc2NoZWQuaCBiL3hlbi9pbmNs dWRlL3B1YmxpYy9zY2hlZC5oCmluZGV4IDIyMTk2OTYuLmFjYzE4ZDUgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL3B1YmxpYy9zY2hlZC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9zY2hlZC5o CkBAIC0xMTgsNiArMTE4LDE1IEBACiAgKiBXaXRoIGlkICE9IDAgYW5kIHRpbWVvdXQgIT0gMCwg cG9rZSB3YXRjaGRvZyB0aW1lciBhbmQgc2V0IG5ldyB0aW1lb3V0LgogICovCiAjZGVmaW5lIFND SEVET1Bfd2F0Y2hkb2cgICAgNgorCisvKgorICogVGVtcG9yYXJpbHkgcGluIHRoZSBjdXJyZW50 IHZjcHUgdG8gb25lIHBoeXNpY2FsIGNwdSBvciB1bmRvIHRoYXQgcGlubmluZy4KKyAqIEBhcmcg PT0gcG9pbnRlciB0byBzY2hlZF9waW5fdGVtcF90IHN0cnVjdHVyZS4KKyAqCisgKiBTZXR0aW5n IHBjcHUgdG8gLTEgd2lsbCB1bmRvIGEgcHJldmlvdXMgdGVtcG9yYXJ5IHBpbm5pbmcuCisgKiBU aGlzIGNhbGwgaXMgYWxsb3dlZCBmb3IgZG9tYWlucyB3aXRoIGRvbWFpbiBjb250cm9sIHByaXZp bGVnZSBvbmx5LgorICovCisjZGVmaW5lIFNDSEVET1BfcGluX3RlbXAgICAgNwogLyogYCB9ICov CiAKIHN0cnVjdCBzY2hlZF9zaHV0ZG93biB7CkBAIC0xNDgsNiArMTU3LDEyIEBAIHN0cnVjdCBz Y2hlZF93YXRjaGRvZyB7CiB0eXBlZGVmIHN0cnVjdCBzY2hlZF93YXRjaGRvZyBzY2hlZF93YXRj aGRvZ190OwogREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoc2NoZWRfd2F0Y2hkb2dfdCk7CiAKK3N0 cnVjdCBzY2hlZF9waW5fdGVtcCB7CisgICAgaW50IHBjcHU7Cit9OwordHlwZWRlZiBzdHJ1Y3Qg c2NoZWRfcGluX3RlbXAgc2NoZWRfcGluX3RlbXBfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExF KHNjaGVkX3Bpbl90ZW1wX3QpOworCiAvKgogICogUmVhc29uIGNvZGVzIGZvciBTQ0hFRE9QX3No dXRkb3duLiBUaGVzZSBtYXkgYmUgaW50ZXJwcmV0ZWQgYnkgY29udHJvbAogICogc29mdHdhcmUg dG8gZGV0ZXJtaW5lIHRoZSBhcHByb3ByaWF0ZSBhY3Rpb24uIEZvciB0aGUgbW9zdCBwYXJ0LCBY ZW4gZG9lcwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveHNtL2R1bW15LmggYi94ZW4vaW5jbHVk ZS94c20vZHVtbXkuaAppbmRleCAxZDEzODI2Li43MzBlMTEyIDEwMDY0NAotLS0gYS94ZW4vaW5j bHVkZS94c20vZHVtbXkuaAorKysgYi94ZW4vaW5jbHVkZS94c20vZHVtbXkuaApAQCAtMjQwLDYg KzI0MCwxMiBAQCBzdGF0aWMgWFNNX0lOTElORSBpbnQgeHNtX3NjaGVkb3Bfc2h1dGRvd24oWFNN X0RFRkFVTFRfQVJHIHN0cnVjdCBkb21haW4gKmQxLCBzdAogICAgIHJldHVybiB4c21fZGVmYXVs dF9hY3Rpb24oYWN0aW9uLCBkMSwgZDIpOwogfQogCitzdGF0aWMgWFNNX0lOTElORSBpbnQgeHNt X3NjaGVkb3BfcGluX3RlbXAoWFNNX0RFRkFVTFRfVk9JRCkKK3sKKyAgICBYU01fQVNTRVJUX0FD VElPTihYU01fUFJJVik7CisgICAgcmV0dXJuIHhzbV9kZWZhdWx0X2FjdGlvbihhY3Rpb24sIGN1 cnJlbnQtPmRvbWFpbiwgTlVMTCk7Cit9CisKIHN0YXRpYyBYU01fSU5MSU5FIGludCB4c21fbWVt b3J5X3Bpbl9wYWdlKFhTTV9ERUZBVUxUX0FSRyBzdHJ1Y3QgZG9tYWluICpkMSwgc3RydWN0IGRv bWFpbiAqZDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgcGFnZV9pbmZvICpwYWdlKQogewpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveHNtL3hzbS5o IGIveGVuL2luY2x1ZGUveHNtL3hzbS5oCmluZGV4IDNhZmVkNzAuLmFjNjQ4N2YgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL3hzbS94c20uaAorKysgYi94ZW4vaW5jbHVkZS94c20veHNtLmgKQEAg LTEwMiw2ICsxMDIsNyBAQCBzdHJ1Y3QgeHNtX29wZXJhdGlvbnMgewogCiAgICAgaW50ICgqa2V4 ZWMpICh2b2lkKTsKICAgICBpbnQgKCpzY2hlZG9wX3NodXRkb3duKSAoc3RydWN0IGRvbWFpbiAq ZDEsIHN0cnVjdCBkb21haW4gKmQyKTsKKyAgICBpbnQgKCpzY2hlZG9wX3Bpbl90ZW1wKSAodm9p ZCk7CiAKICAgICBjaGFyICooKnNob3dfaXJxX3NpZCkgKGludCBpcnEpOwogICAgIGludCAoKm1h cF9kb21haW5fcGlycSkgKHN0cnVjdCBkb21haW4gKmQpOwpAQCAtNDEzLDYgKzQxNCwxMSBAQCBz dGF0aWMgaW5saW5lIGludCB4c21fc2NoZWRvcF9zaHV0ZG93biAoeHNtX2RlZmF1bHRfdCBkZWYs IHN0cnVjdCBkb21haW4gKmQxLCBzdAogICAgIHJldHVybiB4c21fb3BzLT5zY2hlZG9wX3NodXRk b3duKGQxLCBkMik7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHhzbV9zY2hlZG9wX3Bpbl90ZW1w KHhzbV9kZWZhdWx0X3QgZGVmKQoreworICAgIHJldHVybiB4c21fb3BzLT5zY2hlZG9wX3Bpbl90 ZW1wKCk7Cit9CisKIHN0YXRpYyBpbmxpbmUgY2hhciAqeHNtX3Nob3dfaXJxX3NpZCAoaW50IGly cSkKIHsKICAgICByZXR1cm4geHNtX29wcy0+c2hvd19pcnFfc2lkKGlycSk7CmRpZmYgLS1naXQg YS94ZW4veHNtL2R1bW15LmMgYi94ZW4veHNtL2R1bW15LmMKaW5kZXggMGYzMjYzNi4uMmRmMTE2 NyAxMDA2NDQKLS0tIGEveGVuL3hzbS9kdW1teS5jCisrKyBiL3hlbi94c20vZHVtbXkuYwpAQCAt NzUsNiArNzUsNyBAQCB2b2lkIHhzbV9maXh1cF9vcHMgKHN0cnVjdCB4c21fb3BlcmF0aW9ucyAq b3BzKQogCiAgICAgc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBrZXhlYyk7CiAgICAgc2V0X3Rv X2R1bW15X2lmX251bGwob3BzLCBzY2hlZG9wX3NodXRkb3duKTsKKyAgICBzZXRfdG9fZHVtbXlf aWZfbnVsbChvcHMsIHNjaGVkb3BfcGluX3RlbXApOwogCiAgICAgc2V0X3RvX2R1bW15X2lmX251 bGwob3BzLCBzaG93X2lycV9zaWQpOwogICAgIHNldF90b19kdW1teV9pZl9udWxsKG9wcywgbWFw X2RvbWFpbl9waXJxKTsKZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svaG9va3MuYyBiL3hlbi94 c20vZmxhc2svaG9va3MuYwppbmRleCA0ODEzNjIzLi41Y2ZiYzMwIDEwMDY0NAotLS0gYS94ZW4v eHNtL2ZsYXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC00NzAsNiAr NDcwLDEyIEBAIHN0YXRpYyBpbnQgZmxhc2tfc2NoZWRvcF9zaHV0ZG93bihzdHJ1Y3QgZG9tYWlu ICpkMSwgc3RydWN0IGRvbWFpbiAqZDIpCiAgICAgcmV0dXJuIGRvbWFpbl9oYXNfcGVybShkMSwg ZDIsIFNFQ0NMQVNTX0RPTUFJTiwgRE9NQUlOX19TSFVURE9XTik7CiB9CiAKK3N0YXRpYyBpbnQg Zmxhc2tfc2NoZWRvcF9waW5fdGVtcCh2b2lkKQoreworICAgIHJldHVybiBkb21haW5faGFzX3Bl cm0oY3VycmVudC0+ZG9tYWluLCBTRUNDTEFTU19ET01BSU4sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBET01BSU5fX1NFVEFGRklOSVRZKTsKK30KKwogc3RhdGljIHZvaWQgZmxhc2tfc2Vj dXJpdHlfZG9tYWluaW5mbyhzdHJ1Y3QgZG9tYWluICpkLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfZ2V0ZG9tYWluaW5mbyAqaW5mbykK IHsKQEAgLTE2NjksNiArMTY3NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgeHNtX29wZXJhdGlvbnMgZmxh c2tfb3BzID0gewogCiAgICAgLmtleGVjID0gZmxhc2tfa2V4ZWMsCiAgICAgLnNjaGVkb3Bfc2h1 dGRvd24gPSBmbGFza19zY2hlZG9wX3NodXRkb3duLAorICAgIC5zY2hlZG9wX3Bpbl90ZW1wID0g Zmxhc2tfc2NoZWRvcF9waW5fdGVtcCwKIAogICAgIC5zaG93X2lycV9zaWQgPSBmbGFza19zaG93 X2lycV9zaWQsCiAKLS0gCjIuNi4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK