From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [RFC 02/22] xen/arm: p2m: Store in p2m_domain whether we need to clean the entry Date: Thu, 28 Jul 2016 15:51:25 +0100 Message-ID: <1469717505-8026-3-git-send-email-julien.grall@arm.com> References: <1469717505-8026-1-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1469717505-8026-1-git-send-email-julien.grall@arm.com> 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: proskurin@sec.in.tum.de, Julien Grall , sstabellini@kernel.org, steve.capper@arm.com, wei.chen@linaro.org List-Id: xen-devel@lists.xenproject.org RWFjaCBlbnRyeSBpbiB0aGUgcGFnZSB0YWJsZSBoYXMgdG8gdGFibGUgY2xlYW4gd2hlbiB0aGUg SU9NTVUgZG9lcyBub3QKc3VwcG9ydCBjb2hlcmVudCB3YWxrLiBSYXRoZXIgdGhhbiBxdWVyeWlu ZyBldmVyeSB0aW1lIHRoZSBwYWdlIHRhYmxlIGlzCnVwZGF0ZWQsIGl0IGlzIHBvc3NpYmxlIHRv IGRvIGl0IG9ubHkgb25jZSB3aGVuIHRoZSBwMm0gaXMgaW5pdGlhbGl6ZWQuCgpUaGlzIGlzIGJl Y2F1c2UgdGhpcyB2YWx1ZSBjYW4gbmV2ZXIgY2hhbmdlLCBYZW4gd291bGQgYmUgaW4gYmlnIHRy b3VibGUKb3RoZXJ3aXNlLgoKV2l0aCB0aGlzIGNoYW5nZSwgdGhlIGluaXRpYWxpemUgb2YgdGhl IElPTU1VIGZvciBhIGdpdmVuIGRvbWFpbiBoYXMgdG8KYmUgZG9uZSBlYXJsaWVyIGluIG9yZGVy IHRvIGtub3cgd2hldGhlciB0aGUgcGFnZSB0YWJsZSBlbnRyaWVzIG5lZWQgdG8KYmUgY2xlYW4u IEl0IGlzIGZpbmUgdG8gbW92ZSB0aGUgY2FsbCBlYXJsaWVyIGJlY2F1c2UgaXQgaGFzIG5vCmRl cGVuZGVuY3kuCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0u Y29tPgotLS0KIHhlbi9hcmNoL2FybS9kb21haW4uYyAgICAgfCAgOCArKysrKy0tLQogeGVuL2Fy Y2gvYXJtL3AybS5jICAgICAgICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oIHwgIDMgKysrCiAzIGZp bGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL2FybS9kb21haW4uYyBiL3hlbi9hcmNoL2FybS9kb21haW4uYwppbmRleCAy MGJiMmJhLi40OGYwNGM4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMKKysrIGIv eGVuL2FyY2gvYXJtL2RvbWFpbi5jCkBAIC01NTUsNiArNTU1LDExIEBAIGludCBhcmNoX2RvbWFp bl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAg ICAgICByZXR1cm4gMDsKIAogICAgIEFTU0VSVChjb25maWcgIT0gTlVMTCk7CisKKyAgICAvKiBw Mm1faW5pdCByZWxpZXMgb24gc29tZSB2YWx1ZSBpbml0aWFsaXplZCBieSB0aGUgSU9NTVUgc3Vi c3lzdGVtICovCisgICAgaWYgKCAocmMgPSBpb21tdV9kb21haW5faW5pdChkKSkgIT0gMCApCisg ICAgICAgIGdvdG8gZmFpbDsKKwogICAgIGlmICggKHJjID0gcDJtX2luaXQoZCkpICE9IDAgKQog ICAgICAgICBnb3RvIGZhaWw7CiAKQEAgLTYzNyw5ICs2NDIsNiBAQCBpbnQgYXJjaF9kb21haW5f Y3JlYXRlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKICAgICBp ZiAoIGlzX2hhcmR3YXJlX2RvbWFpbihkKSAmJiAocmMgPSBkb21haW5fdnVhcnRfaW5pdChkKSkg KQogICAgICAgICBnb3RvIGZhaWw7CiAKLSAgICBpZiAoIChyYyA9IGlvbW11X2RvbWFpbl9pbml0 KGQpKSAhPSAwICkKLSAgICAgICAgZ290byBmYWlsOwotCiAgICAgcmV0dXJuIDA7CiAKIGZhaWw6 CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9hcm0vcDJtLmMKaW5k ZXggNDBhMGI4MC4uZDM4OWYyYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jCisrKyBi L3hlbi9hcmNoL2FybS9wMm0uYwpAQCAtNDE2LDcgKzQxNiw3IEBAIHN0YXRpYyBpbmxpbmUgdm9p ZCBwMm1fcmVtb3ZlX3B0ZShscGFlX3QgKnAsIGJvb2xfdCBmbHVzaF9jYWNoZSkKICAqIGxldmVs X3NoaWZ0IGlzIHRoZSBudW1iZXIgb2YgYml0cyBhdCB0aGUgbGV2ZWwgd2Ugd2FudCB0byBjcmVh dGUuCiAgKi8KIHN0YXRpYyBpbnQgcDJtX2NyZWF0ZV90YWJsZShzdHJ1Y3QgcDJtX2RvbWFpbiAq cDJtLCBscGFlX3QgKmVudHJ5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZXZl bF9zaGlmdCwgYm9vbF90IGZsdXNoX2NhY2hlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCBsZXZlbF9zaGlmdCkKIHsKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlOwogICAgIGxw YWVfdCAqcDsKQEAgLTQ2Miw3ICs0NjIsNyBAQCBzdGF0aWMgaW50IHAybV9jcmVhdGVfdGFibGUo c3RydWN0IHAybV9kb21haW4gKnAybSwgbHBhZV90ICplbnRyeSwKICAgICBlbHNlCiAgICAgICAg IGNsZWFyX3BhZ2UocCk7CiAKLSAgICBpZiAoIGZsdXNoX2NhY2hlICkKKyAgICBpZiAoIHAybS0+ Y2xlYW5fcHRlICkKICAgICAgICAgY2xlYW5fZGNhY2hlX3ZhX3JhbmdlKHAsIFBBR0VfU0laRSk7 CiAKICAgICB1bm1hcF9kb21haW5fcGFnZShwKTsKQEAgLTQ3MCw3ICs0NzAsNyBAQCBzdGF0aWMg aW50IHAybV9jcmVhdGVfdGFibGUoc3RydWN0IHAybV9kb21haW4gKnAybSwgbHBhZV90ICplbnRy eSwKICAgICBwdGUgPSBtZm5fdG9fcDJtX2VudHJ5KF9tZm4ocGFnZV90b19tZm4ocGFnZSkpLCBw Mm1faW52YWxpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybS0+ZGVmYXVsdF9hY2Nl c3MpOwogCi0gICAgcDJtX3dyaXRlX3B0ZShlbnRyeSwgcHRlLCBmbHVzaF9jYWNoZSk7CisgICAg cDJtX3dyaXRlX3B0ZShlbnRyeSwgcHRlLCBwMm0tPmNsZWFuX3B0ZSk7CiAKICAgICByZXR1cm4g MDsKIH0KQEAgLTY1MywxMiArNjUzLDEwIEBAIHN0YXRpYyBjb25zdCBwYWRkcl90IGxldmVsX3No aWZ0c1tdID0KIAogc3RhdGljIGludCBwMm1fc2hhdHRlcl9wYWdlKHN0cnVjdCBwMm1fZG9tYWlu ICpwMm0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHBhZV90ICplbnRyeSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGV2ZWwsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbF90IGZsdXNoX2NhY2hlKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBsZXZlbCkKIHsKICAgICBjb25zdCBwYWRkcl90IGxldmVsX3No aWZ0ID0gbGV2ZWxfc2hpZnRzW2xldmVsXTsKLSAgICBpbnQgcmMgPSBwMm1fY3JlYXRlX3RhYmxl KHAybSwgZW50cnksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbF9zaGlmdCAt IFBBR0VfU0hJRlQsIGZsdXNoX2NhY2hlKTsKKyAgICBpbnQgcmMgPSBwMm1fY3JlYXRlX3RhYmxl KHAybSwgZW50cnksIGxldmVsX3NoaWZ0IC0gUEFHRV9TSElGVCk7CiAKICAgICBpZiAoICFyYyAp CiAgICAgewpAQCAtNjgwLDcgKzY3OCw2IEBAIHN0YXRpYyBpbnQgcDJtX3NoYXR0ZXJfcGFnZShz dHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAogc3RhdGljIGludCBhcHBseV9vbmVfbGV2ZWwoc3RydWN0 IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxwYWVfdCAqZW50cnksCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGV2ZWwsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICBib29sX3QgZmx1c2hfY2FjaGUsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlbnVtIHAybV9vcGVyYXRpb24gb3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwYWRkcl90IHN0YXJ0X2dwYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRy X3QgZW5kX2dwYWRkciwKQEAgLTcxOSw3ICs3MTYsNyBAQCBzdGF0aWMgaW50IGFwcGx5X29uZV9s ZXZlbChzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgaWYgKCBsZXZlbCA8IDMgKQogICAg ICAgICAgICAgICAgIHB0ZS5wMm0udGFibGUgPSAwOyAvKiBTdXBlcnBhZ2UgZW50cnkgKi8KIAot ICAgICAgICAgICAgcDJtX3dyaXRlX3B0ZShlbnRyeSwgcHRlLCBmbHVzaF9jYWNoZSk7CisgICAg ICAgICAgICBwMm1fd3JpdGVfcHRlKGVudHJ5LCBwdGUsIHAybS0+Y2xlYW5fcHRlKTsKIAogICAg ICAgICAgICAgKmZsdXNoIHw9IHAybV92YWxpZChvcmlnX3B0ZSk7CiAKQEAgLTc1NCw3ICs3NTEs NyBAQCBzdGF0aWMgaW50IGFwcGx5X29uZV9sZXZlbChzdHJ1Y3QgZG9tYWluICpkLAogICAgICAg ICAgICAgLyogTm90IHByZXNlbnQgLT4gY3JlYXRlIHRhYmxlIGVudHJ5IGFuZCBkZXNjZW5kICov CiAgICAgICAgICAgICBpZiAoICFwMm1fdmFsaWQob3JpZ19wdGUpICkKICAgICAgICAgICAgIHsK LSAgICAgICAgICAgICAgICByYyA9IHAybV9jcmVhdGVfdGFibGUocDJtLCBlbnRyeSwgMCwgZmx1 c2hfY2FjaGUpOworICAgICAgICAgICAgICAgIHJjID0gcDJtX2NyZWF0ZV90YWJsZShwMm0sIGVu dHJ5LCAwKTsKICAgICAgICAgICAgICAgICBpZiAoIHJjIDwgMCApCiAgICAgICAgICAgICAgICAg ICAgIHJldHVybiByYzsKICAgICAgICAgICAgICAgICByZXR1cm4gUDJNX09ORV9ERVNDRU5EOwpA QCAtNzY0LDcgKzc2MSw3IEBAIHN0YXRpYyBpbnQgYXBwbHlfb25lX2xldmVsKHN0cnVjdCBkb21h aW4gKmQsCiAgICAgICAgICAgICBpZiAoIHAybV9tYXBwaW5nKG9yaWdfcHRlKSApCiAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgKmZsdXNoID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBy YyA9IHAybV9zaGF0dGVyX3BhZ2UocDJtLCBlbnRyeSwgbGV2ZWwsIGZsdXNoX2NhY2hlKTsKKyAg ICAgICAgICAgICAgICByYyA9IHAybV9zaGF0dGVyX3BhZ2UocDJtLCBlbnRyeSwgbGV2ZWwpOwog ICAgICAgICAgICAgICAgIGlmICggcmMgPCAwICkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IHJjOwogICAgICAgICAgICAgfSAvKiBlbHNlOiBhbiBleGlzdGluZyB0YWJsZSBtYXBwaW5nIC0+ IGRlc2NlbmQgKi8KQEAgLTgwMSw3ICs3OTgsNyBAQCBzdGF0aWMgaW50IGFwcGx5X29uZV9sZXZl bChzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAqIGFuZCBkZXNjZW5kLgogICAg ICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgICAgICpmbHVzaCA9IHRydWU7Ci0gICAgICAg ICAgICAgICAgcmMgPSBwMm1fc2hhdHRlcl9wYWdlKHAybSwgZW50cnksIGxldmVsLCBmbHVzaF9j YWNoZSk7CisgICAgICAgICAgICAgICAgcmMgPSBwMm1fc2hhdHRlcl9wYWdlKHAybSwgZW50cnks IGxldmVsKTsKICAgICAgICAgICAgICAgICBpZiAoIHJjIDwgMCApCiAgICAgICAgICAgICAgICAg ICAgIHJldHVybiByYzsKIApAQCAtODI3LDcgKzgyNCw3IEBAIHN0YXRpYyBpbnQgYXBwbHlfb25l X2xldmVsKHN0cnVjdCBkb21haW4gKmQsCiAKICAgICAgICAgKmZsdXNoID0gdHJ1ZTsKIAotICAg ICAgICBwMm1fcmVtb3ZlX3B0ZShlbnRyeSwgZmx1c2hfY2FjaGUpOworICAgICAgICBwMm1fcmVt b3ZlX3B0ZShlbnRyeSwgcDJtLT5jbGVhbl9wdGUpOwogICAgICAgICBwMm1fbWVtX2FjY2Vzc19y YWRpeF9zZXQocDJtLCBwYWRkcl90b19wZm4oKmFkZHIpLCBwMm1fYWNjZXNzX3J3eCk7CiAKICAg ICAgICAgKmFkZHIgKz0gbGV2ZWxfc2l6ZTsKQEAgLTg4Niw3ICs4ODMsNyBAQCBzdGF0aWMgaW50 IGFwcGx5X29uZV9sZXZlbChzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgLyogU2hhdHRl ciBsYXJnZSBwYWdlcyBhcyB3ZSBkZXNjZW5kICovCiAgICAgICAgICAgICBpZiAoIHAybV9tYXBw aW5nKG9yaWdfcHRlKSApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmMgPSBwMm1f c2hhdHRlcl9wYWdlKHAybSwgZW50cnksIGxldmVsLCBmbHVzaF9jYWNoZSk7CisgICAgICAgICAg ICAgICAgcmMgPSBwMm1fc2hhdHRlcl9wYWdlKHAybSwgZW50cnksIGxldmVsKTsKICAgICAgICAg ICAgICAgICBpZiAoIHJjIDwgMCApCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiByYzsKICAg ICAgICAgICAgIH0gLyogZWxzZTogYW4gZXhpc3RpbmcgdGFibGUgbWFwcGluZyAtPiBkZXNjZW5k ICovCkBAIC05MDQsNyArOTAxLDcgQEAgc3RhdGljIGludCBhcHBseV9vbmVfbGV2ZWwoc3RydWN0 IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJjOwogCiAgICAgICAgICAg ICAgICAgcDJtX3NldF9wZXJtaXNzaW9uKCZwdGUsIHB0ZS5wMm0udHlwZSwgYSk7Ci0gICAgICAg ICAgICAgICAgcDJtX3dyaXRlX3B0ZShlbnRyeSwgcHRlLCBmbHVzaF9jYWNoZSk7CisgICAgICAg ICAgICAgICAgcDJtX3dyaXRlX3B0ZShlbnRyeSwgcHRlLCBwMm0tPmNsZWFuX3B0ZSk7CiAgICAg ICAgICAgICB9CiAKICAgICAgICAgICAgICphZGRyICs9IGxldmVsX3NpemU7CkBAIC05NTQsMTcg Kzk1MSw5IEBAIHN0YXRpYyBpbnQgYXBwbHlfcDJtX2NoYW5nZXMoc3RydWN0IGRvbWFpbiAqZCwK ICAgICBjb25zdCB1bnNpZ25lZCBpbnQgcHJlZW1wdF9jb3VudF9saW1pdCA9IChvcCA9PSBNRU1B Q0NFU1MpID8gMSA6IDB4MjAwMDsKICAgICBjb25zdCBib29sX3QgcHJlZW1wdCA9ICFpc19pZGxl X3ZjcHUoY3VycmVudCk7CiAgICAgYm9vbF90IGZsdXNoID0gZmFsc2U7Ci0gICAgYm9vbF90IGZs dXNoX3B0OwogICAgIFBBR0VfTElTVF9IRUFEKGZyZWVfcGFnZXMpOwogICAgIHN0cnVjdCBwYWdl X2luZm8gKnBnOwogCi0gICAgLyoKLSAgICAgKiBTb21lIElPTU1VIGRvbid0IHN1cHBvcnQgY29o ZXJlbnQgUFQgd2Fsay4gV2hlbiB0aGUgcDJtIGlzCi0gICAgICogc2hhcmVkIHdpdGggdGhlIENQ VSwgWGVuIGhhcyB0byBtYWtlIHN1cmUgdGhhdCB0aGUgUFQgY2hhbmdlcyBoYXZlCi0gICAgICog cmVhY2hlZCB0aGUgbWVtb3J5Ci0gICAgICovCi0gICAgZmx1c2hfcHQgPSBpb21tdV9lbmFibGVk ICYmICFpb21tdV9oYXNfZmVhdHVyZShkLCBJT01NVV9GRUFUX0NPSEVSRU5UX1dBTEspOwotCiAg ICAgcDJtX3dyaXRlX2xvY2socDJtKTsKIAogICAgIC8qIFN0YXRpYyBtYXBwaW5nLiBQMk1fUk9P VF9QQUdFUyA+IDEgYXJlIGhhbmRsZWQgYmVsb3cgKi8KQEAgLTEwNzAsNyArMTA1OSw3IEBAIHN0 YXRpYyBpbnQgYXBwbHlfcDJtX2NoYW5nZXMoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAg IGxwYWVfdCBvbGRfZW50cnkgPSAqZW50cnk7CiAKICAgICAgICAgICAgIHJldCA9IGFwcGx5X29u ZV9sZXZlbChkLCBlbnRyeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZl bCwgZmx1c2hfcHQsIG9wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVs LCBvcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydF9ncGFkZHIsIGVu ZF9ncGFkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFkZHIsICZtYWRk ciwgJmZsdXNoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQsIGEpOwpAQCAt MTEyNyw3ICsxMTE2LDcgQEAgc3RhdGljIGludCBhcHBseV9wMm1fY2hhbmdlcyhzdHJ1Y3QgZG9t YWluICpkLAogCiAgICAgICAgICAgICAgICAgcGFnZV9saXN0X2RlbChwZywgJnAybS0+cGFnZXMp OwogCi0gICAgICAgICAgICAgICAgcDJtX3JlbW92ZV9wdGUoZW50cnksIGZsdXNoX3B0KTsKKyAg ICAgICAgICAgICAgICBwMm1fcmVtb3ZlX3B0ZShlbnRyeSwgcDJtLT5jbGVhbl9wdGUpOwogCiAg ICAgICAgICAgICAgICAgcDJtLT5zdGF0cy5tYXBwaW5nc1tsZXZlbCAtIDFdLS07CiAgICAgICAg ICAgICAgICAgdXBkYXRlX3JlZmVyZW5jZV9tYXBwaW5nKHBhZ2VzW2xldmVsIC0gMV0sIG9sZF9l bnRyeSwgKmVudHJ5KTsKQEAgLTEzOTksNiArMTM4OCwxNCBAQCBpbnQgcDJtX2luaXQoc3RydWN0 IGRvbWFpbiAqZCkKICAgICBwMm0tPm1lbV9hY2Nlc3NfZW5hYmxlZCA9IGZhbHNlOwogICAgIHJh ZGl4X3RyZWVfaW5pdCgmcDJtLT5tZW1fYWNjZXNzX3NldHRpbmdzKTsKIAorICAgIC8qCisgICAg ICogU29tZSBJT01NVXMgZG9uJ3Qgc3VwcG9ydCBjb2hlcmVudCBQVCB3YWxrLiBXaGVuIHRoZSBw Mm0gaXMKKyAgICAgKiBzaGFyZWQgd2l0aCB0aGUgQ1BVLCBYZW4gaGFzIHRvIG1ha2Ugc3VyZSB0 aGF0IHRoZSBQVCBjaGFuZ2VzIGhhdmUKKyAgICAgKiByZWFjaGVkIHRoZSBtZW1vcnkKKyAgICAg Ki8KKyAgICBwMm0tPmNsZWFuX3B0ZSA9IGlvbW11X2VuYWJsZWQgJiYKKyAgICAgICAgIWlvbW11 X2hhc19mZWF0dXJlKGQsIElPTU1VX0ZFQVRfQ09IRVJFTlRfV0FMSyk7CisKICAgICByYyA9IHAy bV9hbGxvY190YWJsZShkKTsKIAogICAgIHJldHVybiByYzsKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS1hcm0vcDJtLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oCmluZGV4IDUzYzRk NzguLjAzYmZkNWUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vcDJtLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaApAQCAtNDgsNiArNDgsOSBAQCBzdHJ1Y3QgcDJtX2Rv bWFpbiB7CiAgICAgICogZGVjcmVhc2UuICovCiAgICAgZ2ZuX3QgbG93ZXN0X21hcHBlZF9nZm47 CiAKKyAgICAvKiBJbmRpY2F0ZSBpZiBpdCBpcyByZXF1aXJlZCB0byBjbGVhbiB0aGUgY2FjaGUg d2hlbiB3cml0aW5nIGFuIGVudHJ5ICovCisgICAgYm9vbF90IGNsZWFuX3B0ZTsKKwogICAgIC8q IEdhdGhlciBzb21lIHN0YXRpc3RpY3MgZm9yIGluZm9ybWF0aW9uIHB1cnBvc2VzIG9ubHkgKi8K ICAgICBzdHJ1Y3QgewogICAgICAgICAvKiBOdW1iZXIgb2YgbWFwcGluZ3MgYXQgZWFjaCBwMm0g dHJlZSBsZXZlbCAqLwotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK