From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v2 01/11] x86/domctl: Add XEN_DOMCTL_set_avail_vcpus Date: Wed, 9 Nov 2016 09:39:49 -0500 Message-ID: <1478702399-14538-2-git-send-email-boris.ostrovsky@oracle.com> References: <1478702399-14538-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1478702399-14538-1-git-send-email-boris.ostrovsky@oracle.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: wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, jbeulich@suse.com, Boris Ostrovsky , roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBkb21jdGwgaXMgY2FsbGVkIHdoZW4gYSBWQ1BVIGlzIGhvdC0odW4pcGx1Z2dlZCB0byBh IGd1ZXN0ICh2aWEKJ3hsIHZjcHUtc2V0JykuIFdoaWxlIHRoaXMgY3VycmVudGx5IGlzIG9ubHkg aW50ZW5kZWQgdG8gYmUgbmVlZGVkIGJ5ClBWSCBndWVzdHMgd2Ugd2lsbCBjYWxsIHRoaXMgZG9t Y3RsIGZvciBhbGwgKHg4NikgZ3Vlc3RzIGZvciBjb25zaXN0ZW5jeS4KClNpZ25lZC1vZmYtYnk6 IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+CkFja2VkLWJ5OiBE YW5pZWwgRGUgR3JhYWYgPGRnZGVncmFAdHljaG8ubnNhLmdvdj4KLS0tCkNoYW5nZXMgaW4gdjI6 CiogQWRkZWQgY29tbWVudCBpbiBhcmNoX2RvX2RvbWN0bCgpIHN0YXRpbmcgdGhhdCB0aGUgZG9t Y3RsIGlzIG9ubHkgcmVxdWlyZWQKICBmb3IgUFZIIGd1ZXN0cwoKCiB0b29scy9mbGFzay9wb2xp Y3kvbW9kdWxlcy9kb20wLnRlICB8ICAyICstCiB0b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94 ZW4uaWYgICB8ICA0ICsrLS0KIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAgICAgIHwg IDUgKysrKysKIHRvb2xzL2xpYnhjL3hjX2RvbV94ODYuYyAgICAgICAgICAgIHwgMTEgKysrKysr KysrKysKIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgICAgICAgIHwgMTAgKysrKysrKysr LQogdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oICAgICAgICAgICAgfCAgNCArKysrCiB0b29scy9s aWJ4bC9saWJ4bF9hcm0uYyAgICAgICAgICAgICB8ICA2ICsrKysrKwogdG9vbHMvbGlieGwvbGli eGxfZG9tLmMgICAgICAgICAgICAgfCAgNyArKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF94ODYu YyAgICAgICAgICAgICB8ICA2ICsrKysrKwogeGVuL2FyY2gveDg2L2RvbWN0bC5jICAgICAgICAg ICAgICAgfCAxNyArKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4u aCAgICAgICAgfCAgNiArKysrKysKIHhlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCAgICAgICAg IHwgIDkgKysrKysrKysrCiB4ZW4veHNtL2ZsYXNrL2hvb2tzLmMgICAgICAgICAgICAgICB8ICAz ICsrKwogeGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMgfCAgMiArKwogMTQgZmls ZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy9kb20wLnRlIGIvdG9vbHMvZmxhc2svcG9saWN5 L21vZHVsZXMvZG9tMC50ZQppbmRleCAyZDk4MmQ5Li5mZDYwYzM5IDEwMDY0NAotLS0gYS90b29s cy9mbGFzay9wb2xpY3kvbW9kdWxlcy9kb20wLnRlCisrKyBiL3Rvb2xzL2ZsYXNrL3BvbGljeS9t b2R1bGVzL2RvbTAudGUKQEAgLTM4LDcgKzM4LDcgQEAgYWxsb3cgZG9tMF90IGRvbTBfdDpkb21h aW4gewogfTsKIGFsbG93IGRvbTBfdCBkb20wX3Q6ZG9tYWluMiB7CiAJc2V0X2NwdWlkIGdldHRz YyBzZXR0c2Mgc2V0c2NoZWR1bGVyIHNldF9tYXhfZXZ0Y2huIHNldF92bnVtYWluZm8KLQlnZXRf dm51bWFpbmZvIHBzcl9jbXRfb3AgcHNyX2NhdF9vcAorCWdldF92bnVtYWluZm8gcHNyX2NtdF9v cCBwc3JfY2F0X29wIHNldF9hdmFpbF92Y3B1cwogfTsKIGFsbG93IGRvbTBfdCBkb20wX3Q6cmVz b3VyY2UgeyBhZGQgcmVtb3ZlIH07CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2ZsYXNrL3BvbGljeS9t b2R1bGVzL3hlbi5pZiBiL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL3hlbi5pZgppbmRleCBl YjY0NmY1Li5hZmJlZGMyIDEwMDY0NAotLS0gYS90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94 ZW4uaWYKKysrIGIvdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMveGVuLmlmCkBAIC01Miw3ICs1 Miw3IEBAIGRlZmluZShgY3JlYXRlX2RvbWFpbl9jb21tb24nLCBgCiAJCQlzZXR0aW1lIHNldGRv bWFpbmhhbmRsZSBnZXR2Y3B1Y29udGV4dCB9OwogCWFsbG93ICQxICQyOmRvbWFpbjIgeyBzZXRf Y3B1aWQgc2V0dHNjIHNldHNjaGVkdWxlciBzZXRjbGFpbQogCQkJc2V0X21heF9ldnRjaG4gc2V0 X3ZudW1haW5mbyBnZXRfdm51bWFpbmZvIGNhY2hlZmx1c2gKLQkJCXBzcl9jbXRfb3AgcHNyX2Nh dF9vcCBzb2Z0X3Jlc2V0IH07CisJCQlwc3JfY210X29wIHBzcl9jYXRfb3Agc29mdF9yZXNldCBz ZXRfYXZhaWxfdmNwdXN9OwogCWFsbG93ICQxICQyOnNlY3VyaXR5IGNoZWNrX2NvbnRleHQ7CiAJ YWxsb3cgJDEgJDI6c2hhZG93IGVuYWJsZTsKIAlhbGxvdyAkMSAkMjptbXUgeyBtYXBfcmVhZCBt YXBfd3JpdGUgYWRqdXN0IG1lbW9yeW1hcCBwaHlzbWFwIHBpbnBhZ2UgbW11ZXh0X29wIHVwZGF0 ZW1wIH07CkBAIC04NSw3ICs4NSw3IEBAIGRlZmluZShgbWFuYWdlX2RvbWFpbicsIGAKIAkJCWdl dGFkZHJzaXplIHBhdXNlIHVucGF1c2UgdHJpZ2dlciBzaHV0ZG93biBkZXN0cm95CiAJCQlzZXRh ZmZpbml0eSBzZXRkb21haW5tYXhtZW0gZ2V0c2NoZWR1bGVyIHJlc3VtZQogCQkJc2V0cG9kdGFy Z2V0IGdldHBvZHRhcmdldCB9OwotICAgIGFsbG93ICQxICQyOmRvbWFpbjIgc2V0X3ZudW1haW5m bzsKKyAgICBhbGxvdyAkMSAkMjpkb21haW4yIHsgc2V0X3ZudW1haW5mbyBzZXRfYXZhaWxfdmNw dXMgfTsKICcpCiAKICMgbWlncmF0ZV9kb21haW5fb3V0KHByaXYsIHRhcmdldCkKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94 ZW5jdHJsLmgKaW5kZXggMmM4MzU0NC4uNDllOWI5ZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMv aW5jbHVkZS94ZW5jdHJsLmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKQEAg LTEyNTYsNiArMTI1NiwxMSBAQCBpbnQgeGNfZG9tYWluX2dldHZudW1hKHhjX2ludGVyZmFjZSAq eGNoLAogaW50IHhjX2RvbWFpbl9zb2Z0X3Jlc2V0KHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKTsKIAoraW50IHhjX2RvbWFpbl9zZXRf YXZhaWxfdmNwdXMoeGNfaW50ZXJmYWNlICp4Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCBudW1fdmNwdXMpOworCisKICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9feDg2XzY0X18pCiAvKgogICogUEMgQklPUyBzdGFuZGFyZCBFODIwIHR5cGVzIGFuZCBzdHJ1 Y3R1cmUuCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21feDg2LmMgYi90b29scy9saWJ4 Yy94Y19kb21feDg2LmMKaW5kZXggMGVhYjhhNy4uN2ZjZGVlMSAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGMveGNfZG9tX3g4Ni5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbV94ODYuYwpAQCAtMTI1 LDYgKzEyNSwxNyBAQCBjb25zdCBjaGFyICp4Y19kb21haW5fZ2V0X25hdGl2ZV9wcm90b2NvbCh4 Y19pbnRlcmZhY2UgKnhjaCwKICAgICByZXR1cm4gcHJvdG9jb2w7CiB9CiAKK2ludCB4Y19kb21h aW5fc2V0X2F2YWlsX3ZjcHVzKHhjX2ludGVyZmFjZSAqeGNoLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgbnVtX3ZjcHVzKQoreworICAgIERFQ0xBUkVfRE9NQ1RMOworICAgIGRv bWN0bC5jbWQgPSBYRU5fRE9NQ1RMX3NldF9hdmFpbF92Y3B1czsKKyAgICBkb21jdGwuZG9tYWlu ID0gKGRvbWlkX3QpZG9taWQ7CisgICAgZG9tY3RsLnUuYXZhaWxfdmNwdXMubnVtID0gbnVtX3Zj cHVzOworICAgIHJldHVybiBkb19kb21jdGwoeGNoLCAmZG9tY3RsKTsKK30KKwogc3RhdGljIGlu dCBjb3VudF9wZ3RhYmxlcyhzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sIHhlbl92YWRkcl90IGZy b20sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl92YWRkcl90IHRvLCB4ZW5fcGZuX3Qg cGZuKQogewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xp YnhsLmMKaW5kZXggMzNjNWU0Yy4uOWI5NDQxMyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGli eGwuYworKysgYi90b29scy9saWJ4bC9saWJ4bC5jCkBAIC01MTQ4LDExICs1MTQ4LDEyIEBAIGlu dCBsaWJ4bF9zZXRfdmNwdW9ubGluZShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGxp YnhsX2JpdG1hcCAqY3B1bWFwKQogICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSFZNOgogICAg ICAgICBzd2l0Y2ggKGxpYnhsX19kZXZpY2VfbW9kZWxfdmVyc2lvbl9ydW5uaW5nKGdjLCBkb21p ZCkpIHsKICAgICAgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9RRU1VX1hFTl9U UkFESVRJT05BTDoKLSAgICAgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9OT05F OgogICAgICAgICAgICAgcmMgPSBsaWJ4bF9fc2V0X3ZjcHVvbmxpbmVfeGVuc3RvcmUoZ2MsIGRv bWlkLCBjcHVtYXAsICZpbmZvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExJ QlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOOgogICAgICAgICAgICAgcmMgPSBsaWJ4 bF9fc2V0X3ZjcHVvbmxpbmVfcW1wKGdjLCBkb21pZCwgY3B1bWFwLCAmaW5mbyk7CisgICAgICAg ICAgICAvKiBmYWxsdGhyb3VnaCAqLworICAgICAgICBjYXNlIExJQlhMX0RFVklDRV9NT0RFTF9W RVJTSU9OX05PTkU6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAg ICAgICAgIHJjID0gRVJST1JfSU5WQUw7CkBAIC01MTY0LDYgKzUxNjUsMTMgQEAgaW50IGxpYnhs X3NldF92Y3B1b25saW5lKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgbGlieGxfYml0 bWFwICpjcHVtYXApCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmMgPSBFUlJPUl9JTlZBTDsKICAg ICB9CisKKyAgICBpZiAoIXJjKSB7CisgICAgICAgIHJjID0gbGlieGxfX2FyY2hfc2V0X3ZjcHVv bmxpbmUoY3R4LCBkb21pZCwgbWF4Y3B1cyk7CisgICAgICAgIGlmIChyYykKKyAgICAgICAgICAg IExPRyhFUlJPUiwgIkNvdWxkbid0IHNldCBhdmFpbGFibGUgdmNwdSBjb3VudCIpOworICAgIH0K Kwogb3V0OgogICAgIGxpYnhsX2RvbWluZm9fZGlzcG9zZSgmaW5mbyk7CiAgICAgR0NfRlJFRTsK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FyY2guaCBiL3Rvb2xzL2xpYnhsL2xpYnhs X2FyY2guaAppbmRleCA1ZTFmYzYwLi4zM2I1ZTEyIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9hcmNoLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oCkBAIC03MSw2ICs3MSwx MCBAQCBpbnQgbGlieGxfX2FyY2hfZXh0cmFfbWVtb3J5KGxpYnhsX19nYyAqZ2MsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZv LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqb3V0KTsKIAorX2hpZGRl bgoraW50IGxpYnhsX19hcmNoX3NldF92Y3B1b25saW5lKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJf dCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgdmNw dV9udW0pOworCiAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQog CiAjZGVmaW5lIExBUElDX0JBU0VfQUREUkVTUyAgMHhmZWUwMDAwMApkaWZmIC0tZ2l0IGEvdG9v bHMvbGlieGwvbGlieGxfYXJtLmMgYi90b29scy9saWJ4bC9saWJ4bF9hcm0uYwppbmRleCBkODQy ZDg4Li4xOGM3OWIwIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9hcm0uYworKysgYi90 b29scy9saWJ4bC9saWJ4bF9hcm0uYwpAQCAtMTA2NSw2ICsxMDY1LDEyIEBAIHZvaWQgbGlieGxf X2FyY2hfZG9tYWluX2J1aWxkX2luZm9fYWNwaV9zZXRkZWZhdWx0KAogICAgIGxpYnhsX2RlZmJv b2xfc2V0ZGVmYXVsdCgmYl9pbmZvLT5hY3BpLCBmYWxzZSk7CiB9CiAKK2ludCBsaWJ4bF9fYXJj aF9zZXRfdmNwdW9ubGluZShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHZjcHVfbnVtKQoreworICAgIHJl dHVybiAwOworfQorCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpp bmRleCBkNTE5YzhkLi5lNmU5NGJiIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb20u YworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpAQCAtMzA5LDYgKzMwOSwxMyBAQCBpbnQg bGlieGxfX2J1aWxkX3ByZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAg cmV0dXJuIEVSUk9SX0ZBSUw7CiAgICAgfQogCisgICAgcmMgPSBsaWJ4bF9fYXJjaF9zZXRfdmNw dW9ubGluZShjdHgsIGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGlieGxfYml0bWFwX2NvdW50X3NldCgmaW5mby0+YXZhaWxfdmNwdXMpKTsKKyAgICBpZiAocmMp IHsKKyAgICAgICAgTE9HKEVSUk9SLCAiQ291bGRuJ3Qgc2V0IGF2YWlsYWJsZSB2Y3B1IGNvdW50 IChlcnJvciAlZCkiLCByYyk7CisgICAgICAgIHJldHVybiBFUlJPUl9GQUlMOworICAgIH0KKwog ICAgIC8qCiAgICAgICogQ2hlY2sgaWYgdGhlIGRvbWFpbiBoYXMgYW55IENQVSBvciBub2RlIGFm ZmluaXR5IGFscmVhZHkuIElmIG5vdCwgdHJ5CiAgICAgICogdG8gYnVpbGQgdXAgdGhlIGxhdHRl ciB2aWEgYXV0b21hdGljIE5VTUEgcGxhY2VtZW50LiBJbiBmYWN0LCBpbiBjYXNlCmRpZmYgLS1n aXQgYS90b29scy9saWJ4bC9saWJ4bF94ODYuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCmlu ZGV4IGUxODQ0YzguLjNhNTI2NGQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5j CisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCkBAIC01ODgsNiArNTg4LDEyIEBAIHZvaWQg bGlieGxfX2FyY2hfZG9tYWluX2J1aWxkX2luZm9fYWNwaV9zZXRkZWZhdWx0KAogICAgIGxpYnhs X2RlZmJvb2xfc2V0ZGVmYXVsdCgmYl9pbmZvLT5hY3BpLCB0cnVlKTsKIH0KIAoraW50IGxpYnhs X19hcmNoX3NldF92Y3B1b25saW5lKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgdmNwdV9udW0pCit7Cisg ICAgcmV0dXJuIHhjX2RvbWFpbl9zZXRfYXZhaWxfdmNwdXMoY3R4LT54Y2gsIGRvbWlkLCB2Y3B1 X251bSk7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKaW5kZXgg MmEyZmUwNC4uYjczNmQ0YyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5jCisrKyBi L3hlbi9hcmNoL3g4Ni9kb21jdGwuYwpAQCAtMTQzMCw2ICsxNDMwLDIzIEBAIGxvbmcgYXJjaF9k b19kb21jdGwoCiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIFhFTl9ET01D VExfc2V0X2F2YWlsX3ZjcHVzOgorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW50IG51bSA9IGRv bWN0bC0+dS5hdmFpbF92Y3B1cy5udW07CisKKyAgICAgICAgLyoKKyAgICAgICAgICogVGhpcyBp cyBjdXJyZW50bHkgb25seSBuZWVkZWQgYnkgUFZIIGd1ZXN0cyAoYnV0CisgICAgICAgICAqIGFu eSBndWVzdCBpcyBmcmVlIHRvIG1ha2UgdGhpcyBjYWxsKS4KKyAgICAgICAgICovCisgICAgICAg IHJldCA9IC1FSU5WQUw7CisgICAgICAgIGlmICggbnVtID4gZC0+bWF4X3ZjcHVzICkKKyAgICAg ICAgICAgIGJyZWFrOworCisgICAgICAgIGQtPmFyY2guYXZhaWxfdmNwdXMgPSBudW07CisgICAg ICAgIHJldCA9IDA7CisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAgIGRlZmF1bHQ6CiAgICAg ICAgIHJldCA9IGlvbW11X2RvX2RvbWN0bChkb21jdGwsIGQsIHVfZG9tY3RsKTsKICAgICAgICAg YnJlYWs7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9kb21haW4uaAppbmRleCBmNmE0MGViLi5hMjc5ZTRhIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv ZG9tYWluLmgKQEAgLTQxNCw2ICs0MTQsMTIgQEAgc3RydWN0IGFyY2hfZG9tYWluCiAKICAgICAv KiBFbXVsYXRlZCBkZXZpY2VzIGVuYWJsZWQgYml0bWFwLiAqLwogICAgIHVpbnQzMl90IGVtdWxh dGlvbl9mbGFnczsKKworICAgIC8qCisgICAgICogTnVtYmVyIG9mIFZDUFVzIHRoYXQgd2VyZSBv bmxpbmUgZHVyaW5nIGd1ZXN0IGNyZWF0aW9uCisgICAgICogcGx1cy9taW51cyBhbnkgaG90LSh1 bilwbHVnZ2VkIFZDUFVzLgorICAgICAqLworICAgIHVuc2lnbmVkIGludCAgICAgYXZhaWxfdmNw dXM7CiB9IF9fY2FjaGVsaW5lX2FsaWduZWQ7CiAKICNkZWZpbmUgaGFzX3ZsYXBpYyhkKSAgICAg ICghISgoZCktPmFyY2guZW11bGF0aW9uX2ZsYWdzICYgWEVOX1g4Nl9FTVVfTEFQSUMpKQpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oIGIveGVuL2luY2x1ZGUvcHVibGlj L2RvbWN0bC5oCmluZGV4IDE3NzMxOWQuLmYxMTQ2NDUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl L3B1YmxpYy9kb21jdGwuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKQEAgLTEw MTAsNiArMTAxMCwxMyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF92Y3B1X21zcnMgewogfTsKIHR5cGVk ZWYgc3RydWN0IHhlbl9kb21jdGxfdmNwdV9tc3JzIHhlbl9kb21jdGxfdmNwdV9tc3JzX3Q7CiBE RUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fZG9tY3RsX3ZjcHVfbXNyc190KTsKKworLyogWEVO X0RPTUNUTF9hdmFpbF92Y3B1cyAqLworc3RydWN0IHhlbl9kb21jdGxfYXZhaWxfdmNwdXMgewor ICAgIHVpbnQzMl90IG51bTsgLyogYXZhaWxhYmxlIG51bWJlciBvZiB2Y3B1cyAqLworfTsKK3R5 cGVkZWYgc3RydWN0IHhlbl9kb21jdGxfYXZhaWxfdmNwdXMgeGVuX2RvbWN0bF9hdmFpbF92Y3B1 c190OworREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX2RvbWN0bF9hdmFpbF92Y3B1c190KTsK ICNlbmRpZgogCiAvKiBYRU5fRE9NQ1RMX3NldHZudW1haW5mbzogc3BlY2lmaWVzIGEgdmlydHVh bCBOVU1BIHRvcG9sb2d5IGZvciB0aGUgZ3Vlc3QgKi8KQEAgLTEyMjEsNiArMTIyOCw3IEBAIHN0 cnVjdCB4ZW5fZG9tY3RsIHsKICNkZWZpbmUgWEVOX0RPTUNUTF9tb25pdG9yX29wICAgICAgICAg ICAgICAgICAgICA3NwogI2RlZmluZSBYRU5fRE9NQ1RMX3Bzcl9jYXRfb3AgICAgICAgICAgICAg ICAgICAgIDc4CiAjZGVmaW5lIFhFTl9ET01DVExfc29mdF9yZXNldCAgICAgICAgICAgICAgICAg ICAgNzkKKyNkZWZpbmUgWEVOX0RPTUNUTF9zZXRfYXZhaWxfdmNwdXMgICAgICAgICAgICAgICA4 MAogI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X2d1ZXN0bWVtaW8gICAgICAgICAgICAxMDAwCiAj ZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfcGF1c2V2Y3B1ICAgICAgICAgICAgIDEwMDEKICNkZWZp bmUgWEVOX0RPTUNUTF9nZGJzeF91bnBhdXNldmNwdSAgICAgICAgICAgMTAwMgpAQCAtMTI2OSw2 ICsxMjc3LDcgQEAgc3RydWN0IHhlbl9kb21jdGwgewogICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0 bF9jcHVpZCAgICAgICAgICAgICBjcHVpZDsKICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdmNw dWV4dHN0YXRlICAgICAgdmNwdWV4dHN0YXRlOwogICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF92 Y3B1X21zcnMgICAgICAgICB2Y3B1X21zcnM7CisgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2F2 YWlsX3ZjcHVzICAgICAgIGF2YWlsX3ZjcHVzOwogI2VuZGlmCiAgICAgICAgIHN0cnVjdCB4ZW5f ZG9tY3RsX3NldF9hY2Nlc3NfcmVxdWlyZWQgYWNjZXNzX3JlcXVpcmVkOwogICAgICAgICBzdHJ1 Y3QgeGVuX2RvbWN0bF9hdWRpdF9wMm0gICAgICAgICBhdWRpdF9wMm07CmRpZmYgLS1naXQgYS94 ZW4veHNtL2ZsYXNrL2hvb2tzLmMgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKaW5kZXggMTc3YzEx Zi4uMzc3NTQ5YSAxMDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94 c20vZmxhc2svaG9va3MuYwpAQCAtNzQ4LDYgKzc0OCw5IEBAIHN0YXRpYyBpbnQgZmxhc2tfZG9t Y3RsKHN0cnVjdCBkb21haW4gKmQsIGludCBjbWQpCiAgICAgY2FzZSBYRU5fRE9NQ1RMX3NvZnRf cmVzZXQ6CiAgICAgICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NMQVNTX0RPTUFJ TjIsIERPTUFJTjJfX1NPRlRfUkVTRVQpOwogCisgICAgY2FzZSBYRU5fRE9NQ1RMX3NldF9hdmFp bF92Y3B1czoKKyAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9N QUlOMiwgRE9NQUlOMl9fU0VUX0FWQUlMX1ZDUFVTKTsKKwogICAgIGRlZmF1bHQ6CiAgICAgICAg IHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJkb21jdGwiLCBjbWQpOwogICAgIH0KZGlm ZiAtLWdpdCBhL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzIGIveGVuL3hzbS9m bGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKaW5kZXggNDljOWE5ZS4uZjhhNWU2YyAxMDA2NDQK LS0tIGEveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKKysrIGIveGVuL3hzbS9m bGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKQEAgLTI0NCw2ICsyNDQsOCBAQCBjbGFzcyBkb21h aW4yCiAgICAgbWVtX3NoYXJpbmcKICMgWEVOX0RPTUNUTF9wc3JfY2F0X29wCiAgICAgcHNyX2Nh dF9vcAorIyBYRU5fRE9NQ1RMX3NldF9hdmFpbF92Y3B1cworICAgIHNldF9hdmFpbF92Y3B1cwog fQogCiAjIFNpbWlsYXIgdG8gY2xhc3MgZG9tYWluLCBidXQgcHJpbWFyaWx5IGNvbnRhaW5zIGRv bWN0bHMgcmVsYXRlZCB0byBIVk0gZG9tYWlucwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK