From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 13/13] x86/domctl: Implement XEN_DOMCTL_get_cpu_policy Date: Fri, 13 Jul 2018 21:03:14 +0100 Message-ID: <1531512194-6865-14-git-send-email-andrew.cooper3@citrix.com> References: <1531512194-6865-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1531512194-6865-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Sergey Dyasli , Wei Liu , Andrew Cooper , Ian Jackson , Jan Beulich , Daniel De Graaf , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org RnJvbTogU2VyZ2V5IER5YXNsaSA8c2VyZ2V5LmR5YXNsaUBjaXRyaXguY29tPgoKVGhpcyBmaW5h bGx5IChhZnRlciBsaXRlcmFsbHkgeWVhcnMgb2Ygd29yayEpIG1hcmtzIHRoZSBwb2ludCB3aGVy ZSB0aGUKdG9vbHN0YWNrIGNhbiBhc2sgdGhlIGh5cGVydmlzb3IgZm9yIHRoZSBjdXJyZW50IENQ VUlEIGNvbmZpZ3VyYXRpb24gb2YgYQpzcGVjaWZpYyBkb21haW4uCgpBbHNvIGV4dGVuZCB4ZW4t Y3B1aWQncyAtLXBvbGljeSBtb2RlIHRvIGJlIGFibGUgdG8gdGFrZSBhIGRvbWlkIGFuZCBkdW1w IGEKc3BlY2lmaWMgZG9tYWlucyBDUFVJRCBhbmQgTVNSIHBvbGljeS4KClNpZ25lZC1vZmYtYnk6 IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6 IFNlcmdleSBEeWFzbGkgPHNlcmdleS5keWFzbGlAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1 bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUu Y2l0cml4LmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNDOiBSb2dlciBQ YXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KQ0M6IFNlcmdleSBEeWFzbGkgPHNlcmdl eS5keWFzbGlAY2l0cml4LmNvbT4KQ0M6IERhbmllbCBEZSBHcmFhZiA8ZGdkZWdyYUB0eWNoby5u c2EuZ292PgotLS0KIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAgICAgIHwgIDMgKysK IHRvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jICAgICAgICAgIHwgNDAgKysrKysrKysrKysrKysr KysrKysrKysKIHRvb2xzL21pc2MveGVuLWNwdWlkLmMgICAgICAgICAgICAgIHwgNjQgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogeGVuL2FyY2gveDg2L2RvbWN0bC5jICAg ICAgICAgICAgICAgfCAzNCArKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvcHVibGlj L2RvbWN0bC5oICAgICAgICAgfCAxOCArKysrKysrKysrKwogeGVuL3hzbS9mbGFzay9ob29rcy5j ICAgICAgICAgICAgICAgfCAgMSArCiB4ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9y cyB8ICAxICsKIDcgZmlsZXMgY2hhbmdlZCwgMTUyIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29scy9s aWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAppbmRleCBlZTNhYjA5Li4zZjE1NmMxIDEwMDY0NAotLS0g YS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRl L3hlbmN0cmwuaApAQCAtMjU1OCw2ICsyNTU4LDkgQEAgaW50IHhjX2dldF9jcHVfcG9saWN5X3Np emUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90ICpucl9sZWF2ZXMsCiBpbnQgeGNfZ2V0X3N5 c3RlbV9jcHVfcG9saWN5KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBpbmRleCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKm5yX2xlYXZlcywgeGVuX2NwdWlkX2xl YWZfdCAqbGVhdmVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqbnJf bXNycywgeGVuX21zcl9lbnRyeV90ICptc3JzKTsKK2ludCB4Y19nZXRfZG9tYWluX2NwdV9wb2xp Y3koeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCAqbnJfbGVhdmVzLCB4ZW5fY3B1aWRfbGVhZl90ICpsZWF2ZXMs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpucl9tc3JzLCB4ZW5fbXNy X2VudHJ5X3QgKm1zcnMpOwogCiB1aW50MzJfdCB4Y19nZXRfY3B1X2ZlYXR1cmVzZXRfc2l6ZSh2 b2lkKTsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfY3B1aWRfeDg2LmMgYi90b29scy9s aWJ4Yy94Y19jcHVpZF94ODYuYwppbmRleCA4ZmQwNGVmLi5lNGM3YTM0IDEwMDY0NAotLS0gYS90 b29scy9saWJ4Yy94Y19jcHVpZF94ODYuYworKysgYi90b29scy9saWJ4Yy94Y19jcHVpZF94ODYu YwpAQCAtMTkxLDYgKzE5MSw0NiBAQCBpbnQgeGNfZ2V0X3N5c3RlbV9jcHVfcG9saWN5KHhjX2lu dGVyZmFjZSAqeGNoLCB1aW50MzJfdCBpbmRleCwKICAgICByZXR1cm4gcmV0OwogfQogCitpbnQg eGNfZ2V0X2RvbWFpbl9jcHVfcG9saWN5KHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21p ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKm5yX2xlYXZlcywgeGVu X2NwdWlkX2xlYWZfdCAqbGVhdmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCAqbnJfbXNycywgeGVuX21zcl9lbnRyeV90ICptc3JzKQoreworICAgIERFQ0xBUkVfRE9N Q1RMOworICAgIERFQ0xBUkVfSFlQRVJDQUxMX0JPVU5DRShsZWF2ZXMsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICpucl9sZWF2ZXMgKiBzaXplb2YoKmxlYXZlcyksCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFhDX0hZUEVSQ0FMTF9CVUZGRVJfQk9VTkNFX09VVCk7CisgICAg REVDTEFSRV9IWVBFUkNBTExfQk9VTkNFKG1zcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICpucl9tc3JzICogc2l6ZW9mKCptc3JzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWENfSFlQRVJDQUxMX0JVRkZFUl9CT1VOQ0VfT1VUKTsKKyAgICBpbnQgcmV0OworCisgICAg aWYgKCB4Y19oeXBlcmNhbGxfYm91bmNlX3ByZSh4Y2gsIGxlYXZlcykgKQorICAgICAgICByZXR1 cm4gLTE7CisKKyAgICBpZiAoIHhjX2h5cGVyY2FsbF9ib3VuY2VfcHJlKHhjaCwgbXNycykgKQor ICAgICAgICByZXR1cm4gLTE7CisKKyAgICBkb21jdGwuY21kID0gWEVOX0RPTUNUTF9nZXRfY3B1 X3BvbGljeTsKKyAgICBkb21jdGwuZG9tYWluID0gZG9taWQ7CisgICAgZG9tY3RsLnUuY3B1X3Bv bGljeS5ucl9sZWF2ZXMgPSAqbnJfbGVhdmVzOworICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKGRv bWN0bC51LmNwdV9wb2xpY3kuY3B1aWRfcG9saWN5LCBsZWF2ZXMpOworICAgIGRvbWN0bC51LmNw dV9wb2xpY3kubnJfbXNycyA9ICpucl9tc3JzOworICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKGRv bWN0bC51LmNwdV9wb2xpY3kubXNyX3BvbGljeSwgbXNycyk7CisKKyAgICByZXQgPSBkb19kb21j dGwoeGNoLCAmZG9tY3RsKTsKKworICAgIHhjX2h5cGVyY2FsbF9ib3VuY2VfcG9zdCh4Y2gsIGxl YXZlcyk7CisgICAgeGNfaHlwZXJjYWxsX2JvdW5jZV9wb3N0KHhjaCwgbXNycyk7CisKKyAgICBp ZiAoICFyZXQgKQorICAgIHsKKyAgICAgICAgKm5yX2xlYXZlcyA9IGRvbWN0bC51LmNwdV9wb2xp Y3kubnJfbGVhdmVzOworICAgICAgICAqbnJfbXNycyA9IGRvbWN0bC51LmNwdV9wb2xpY3kubnJf bXNyczsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCiBzdHJ1Y3QgY3B1aWRfZG9tYWlu X2luZm8KIHsKICAgICBlbnVtCmRpZmYgLS1naXQgYS90b29scy9taXNjL3hlbi1jcHVpZC5jIGIv dG9vbHMvbWlzYy94ZW4tY3B1aWQuYwppbmRleCAxYzE0ZDkzLi5kZDM5MjY4IDEwMDY0NAotLS0g YS90b29scy9taXNjL3hlbi1jcHVpZC5jCisrKyBiL3Rvb2xzL21pc2MveGVuLWNwdWlkLmMKQEAg LTMsNiArMyw4IEBACiAjaW5jbHVkZSA8ZXJyLmg+CiAjaW5jbHVkZSA8Z2V0b3B0Lmg+CiAjaW5j bHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4K IAogI2luY2x1ZGUgPHhlbmN0cmwuaD4KIApAQCAtMzA5LDExICszMTEsMTMgQEAgaW50IG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogewogICAgIGVudW0geyBNT0RFX1VOS05PV04sIE1PREVf SU5GTywgTU9ERV9ERVRBSUwsIE1PREVfSU5URVJQUkVULCBNT0RFX1BPTElDWSB9CiAgICAgbW9k ZSA9IE1PREVfVU5LTk9XTjsKKyAgICBpbnQgZG9taWQgPSAtMTsKIAogICAgIG5yX2ZlYXR1cmVz ID0geGNfZ2V0X2NwdV9mZWF0dXJlc2V0X3NpemUoKTsKIAogICAgIGZvciAoIDs7ICkKICAgICB7 CisgICAgICAgIGNvbnN0IGNoYXIgKnRtcF9vcHRhcmc7CiAgICAgICAgIGludCBvcHRpb25faW5k ZXggPSAwLCBjOwogICAgICAgICBzdGF0aWMgc3RydWN0IG9wdGlvbiBsb25nX29wdGlvbnNbXSA9 CiAgICAgICAgIHsKQEAgLTMyMSwxMSArMzI1LDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICoqYXJndikKICAgICAgICAgICAgIHsgImluZm8iLCBub19hcmd1bWVudCwgTlVMTCwgJ2knIH0s CiAgICAgICAgICAgICB7ICJkZXRhaWwiLCBub19hcmd1bWVudCwgTlVMTCwgJ2QnIH0sCiAgICAg ICAgICAgICB7ICJ2ZXJib3NlIiwgbm9fYXJndW1lbnQsIE5VTEwsICd2JyB9LAotICAgICAgICAg ICAgeyAicG9saWN5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdwJyB9LAorICAgICAgICAgICAgeyAi cG9saWN5Iiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdwJyB9LAogICAgICAgICAgICAgeyBO VUxMLCAwLCBOVUxMLCAwIH0sCiAgICAgICAgIH07CiAKLSAgICAgICAgYyA9IGdldG9wdF9sb25n KGFyZ2MsIGFyZ3YsICJoaWR2cCIsIGxvbmdfb3B0aW9ucywgJm9wdGlvbl9pbmRleCk7CisgICAg ICAgIGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiaGlkdnA6OiIsIGxvbmdfb3B0aW9ucywg Jm9wdGlvbl9pbmRleCk7CiAKICAgICAgICAgaWYgKCBjID09IC0xICkKICAgICAgICAgICAgIGJy ZWFrOwpAQCAtMzQ1LDYgKzM0OSwyOCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CiAKICAgICAgICAgY2FzZSAncCc6CiAgICAgICAgICAgICBtb2RlID0gTU9ERV9QT0xJQ1k7CisK KyAgICAgICAgICAgIHRtcF9vcHRhcmcgPSBvcHRhcmc7CisKKyAgICAgICAgICAgIC8qIE1ha2Ug Ii0tcG9saWN5ICRET01JRCIgYW5kICItcCAkRE9NSUQiIHdvcmsuICovCisgICAgICAgICAgICBp ZiAoICFvcHRhcmcgJiYgb3B0aW5kIDwgYXJnYyAmJgorICAgICAgICAgICAgICAgICBhcmd2W29w dGluZF0gIT0gTlVMTCAmJiBhcmd2W29wdGluZF1bMF0gIT0gJ1wwJyAmJgorICAgICAgICAgICAg ICAgICBhcmd2W29wdGluZF1bMF0gIT0gJy0nICkKKyAgICAgICAgICAgICAgICB0bXBfb3B0YXJn ID0gYXJndltvcHRpbmQrK107CisKKyAgICAgICAgICAgIGlmICggdG1wX29wdGFyZyApCisgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgY2hhciAqZW5kcHRyOworCisgICAgICAgICAgICAg ICAgZXJybm8gPSAwOworICAgICAgICAgICAgICAgIGRvbWlkID0gc3RydG9sKHRtcF9vcHRhcmcs ICZlbmRwdHIsIDApOworCisgICAgICAgICAgICAgICAgaWYgKCAoZXJybm8gPT0gRVJBTkdFICYm CisgICAgICAgICAgICAgICAgICAgICAgKGRvbWlkID09IExPTkdfTUFYIHx8IGRvbWlkID09IExP TkdfTUlOKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgIChlcnJubyAhPSAwICYmIGRvbWlkID09 IDApIHx8CisgICAgICAgICAgICAgICAgICAgICBlbmRwdHIgPT0gdG1wX29wdGFyZyApCisgICAg ICAgICAgICAgICAgICAgIGVycigxLCAic3RydG9sKCVzLCwpIiwgdG1wX29wdGFyZyk7CisgICAg ICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlICdkJzoKQEAgLTM5 OCw4ICs0MjQsOSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKICAgICAgICAg aWYgKCB4Y19nZXRfY3B1X3BvbGljeV9zaXplKHhjaCwgJm1heF9sZWF2ZXMsICZtYXhfbXNycykg KQogICAgICAgICAgICAgZXJyKDEsICJ4Y19nZXRfY3B1X3BvbGljeV9zaXplKC4uLikiKTsKLSAg ICAgICAgcHJpbnRmKCJYZW4gcmVwb3J0cyB0aGVyZSBhcmUgbWF4aW11bSAldSBsZWF2ZXMgYW5k ICV1IE1TUnNcbiIsCi0gICAgICAgICAgICAgICAgbWF4X2xlYXZlcywgbWF4X21zcnMpOworICAg ICAgICBpZiAoIGRvbWlkID09IC0xICkKKyAgICAgICAgICAgIHByaW50ZigiWGVuIHJlcG9ydHMg dGhlcmUgYXJlIG1heGltdW0gJXUgbGVhdmVzIGFuZCAldSBNU1JzXG4iLAorICAgICAgICAgICAg ICAgICAgIG1heF9sZWF2ZXMsIG1heF9tc3JzKTsKIAogICAgICAgICBsZWF2ZXMgPSBjYWxsb2Mo bWF4X2xlYXZlcywgc2l6ZW9mKHhlbl9jcHVpZF9sZWFmX3QpKTsKICAgICAgICAgaWYgKCAhbGVh dmVzICkKQEAgLTQwOCwxNyArNDM1LDM2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJn dikKICAgICAgICAgaWYgKCAhbXNycyApCiAgICAgICAgICAgICBlcnIoMSwgImNhbGxvYyhtYXhf bXNycykiKTsKIAotICAgICAgICBmb3IgKCBwb2wgPSAwOyBwb2wgPCBBUlJBWV9TSVpFKHN5c19w b2xpY2llcyk7ICsrcG9sICkKKyAgICAgICAgaWYgKCBkb21pZCAhPSAtMSApCiAgICAgICAgIHsK KyAgICAgICAgICAgIGNoYXIgbmFtZVsyMF07CiAgICAgICAgICAgICB1aW50MzJfdCBucl9sZWF2 ZXMgPSBtYXhfbGVhdmVzOwogICAgICAgICAgICAgdWludDMyX3QgbnJfbXNycyA9IG1heF9tc3Jz OwogCi0gICAgICAgICAgICBpZiAoIHhjX2dldF9zeXN0ZW1fY3B1X3BvbGljeSh4Y2gsIHBvbCwg Jm5yX2xlYXZlcywgbGVhdmVzLAorICAgICAgICAgICAgaWYgKCB4Y19nZXRfZG9tYWluX2NwdV9w b2xpY3koeGNoLCBkb21pZCwgJm5yX2xlYXZlcywgbGVhdmVzLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5yX21zcnMsIG1zcnMpICkKLSAgICAgICAgICAg ICAgICBlcnIoMSwgInhjX2dldF9zeXN0ZW1fY3B1X3BvbGljeSgsICVzLCwpIiwKLSAgICAgICAg ICAgICAgICAgICAgc3lzX3BvbGljaWVzW3BvbF0pOworICAgICAgICAgICAgICAgIGVycigxLCAi eGNfZ2V0X2RvbWFpbl9jcHVfcG9saWN5KCwgJWQsICVkLCwgJWQsKSIsCisgICAgICAgICAgICAg ICAgICAgIGRvbWlkLCBucl9sZWF2ZXMsIG5yX21zcnMpOwogCi0gICAgICAgICAgICBwcmludF9w b2xpY3koc3lzX3BvbGljaWVzW3BvbF0sIGxlYXZlcywgbnJfbGVhdmVzLCBtc3JzLCBucl9tc3Jz KTsKKyAgICAgICAgICAgIHNucHJpbnRmKG5hbWUsIHNpemVvZihuYW1lKSwgIkRvbWFpbiAlZCIs IGRvbWlkKTsKKyAgICAgICAgICAgIHByaW50X3BvbGljeShuYW1lLCBsZWF2ZXMsIG5yX2xlYXZl cywgbXNycywgbnJfbXNycyk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7Cisg ICAgICAgICAgICAvKiBHZXQgc3lzdGVtIHBvbGljaWVzICovCisgICAgICAgICAgICBmb3IgKCBw b2wgPSAwOyBwb2wgPCBBUlJBWV9TSVpFKHN5c19wb2xpY2llcyk7ICsrcG9sICkKKyAgICAgICAg ICAgIHsKKyAgICAgICAgICAgICAgICB1aW50MzJfdCBucl9sZWF2ZXMgPSBtYXhfbGVhdmVzOwor ICAgICAgICAgICAgICAgIHVpbnQzMl90IG5yX21zcnMgPSBtYXhfbXNyczsKKworICAgICAgICAg ICAgICAgIGlmICggeGNfZ2V0X3N5c3RlbV9jcHVfcG9saWN5KHhjaCwgcG9sLCAmbnJfbGVhdmVz LCBsZWF2ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJm5yX21zcnMsIG1zcnMpICkKKyAgICAgICAgICAgICAgICAgICAgZXJyKDEsICJ4Y19nZXRf c3lzdGVtX2NwdV9wb2xpY3koLCAlcywsKSIsCisgICAgICAgICAgICAgICAgICAgICAgICBzeXNf cG9saWNpZXNbcG9sXSk7CisKKyAgICAgICAgICAgICAgICBwcmludF9wb2xpY3koc3lzX3BvbGlj aWVzW3BvbF0sIGxlYXZlcywgbnJfbGVhdmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtc3JzLCBucl9tc3JzKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIGZy ZWUobGVhdmVzKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYyBiL3hlbi9hcmNo L3g4Ni9kb21jdGwuYwppbmRleCBiOTczNjI5Li5iMjBhYTdhIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0xNTIzLDYgKzE1 MjMsNDAgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAgcmVjYWxjdWxhdGVfY3B1aWRf cG9saWN5KGQpOwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfY3B1 X3BvbGljeToKKyAgICAgICAgaWYgKCAhZ3Vlc3RfaGFuZGxlX2lzX251bGwoZG9tY3RsLT51LmNw dV9wb2xpY3kuY3B1aWRfcG9saWN5KSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggKHJl dCA9IHg4Nl9jcHVpZF9jb3B5X3RvX2J1ZmZlcigKKyAgICAgICAgICAgICAgICAgICAgICBkLT5h cmNoLmNwdWlkLAorICAgICAgICAgICAgICAgICAgICAgIGRvbWN0bC0+dS5jcHVfcG9saWN5LmNw dWlkX3BvbGljeSwKKyAgICAgICAgICAgICAgICAgICAgICAmZG9tY3RsLT51LmNwdV9wb2xpY3ku bnJfbGVhdmVzKSkgKQorICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBpZiAo IF9fY29weV9maWVsZF90b19ndWVzdCh1X2RvbWN0bCwgZG9tY3RsLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdS5jcHVfcG9saWN5Lm5yX2xlYXZlcykgKQorICAgICAg ICAgICAgeworICAgICAgICAgICAgICAgIHJldCA9IC1FRkFVTFQ7CisgICAgICAgICAgICAgICAg YnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAoICFndWVzdF9o YW5kbGVfaXNfbnVsbChkb21jdGwtPnUuY3B1X3BvbGljeS5tc3JfcG9saWN5KSApCisgICAgICAg IHsKKyAgICAgICAgICAgIGlmICggKHJldCA9IHg4Nl9tc3JfY29weV90b19idWZmZXIoCisgICAg ICAgICAgICAgICAgICAgICAgZC0+YXJjaC5tc3IsCisgICAgICAgICAgICAgICAgICAgICAgZG9t Y3RsLT51LmNwdV9wb2xpY3kubXNyX3BvbGljeSwKKyAgICAgICAgICAgICAgICAgICAgICAmZG9t Y3RsLT51LmNwdV9wb2xpY3kubnJfbXNycykpICkKKyAgICAgICAgICAgICAgICBicmVhazsKKwor ICAgICAgICAgICAgaWYgKCBfX2NvcHlfZmllbGRfdG9fZ3Vlc3QodV9kb21jdGwsIGRvbWN0bCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUuY3B1X3BvbGljeS5ucl9t c3JzKSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0ID0gLUVGQVVMVDsKKyAg ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBi cmVhazsKKwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldCA9IGlvbW11X2RvX2RvbWN0bChkb21j dGwsIGQsIHVfZG9tY3RsKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9wdWJsaWMvZG9tY3RsLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKaW5kZXggNWMz OTE2Yy4uMjExNDQxMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCisr KyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaApAQCAtNjM1LDYgKzYzNSwyMiBAQCBzdHJ1 Y3QgeGVuX2RvbWN0bF9jcHVpZCB7CiAgIHVpbnQzMl90IGVjeDsKICAgdWludDMyX3QgZWR4Owog fTsKKworLyoKKyAqIFhFTl9TWVNDVExfe2dldCxzZXR9X2NwdV9wb2xpY3kgKHg4NiBzcGVjaWZp YykKKyAqCisgKiBRdWVyeSBvciBzZXQgdGhlIENQVUlEIGFuZCBNU1IgcG9saWNpZXMgZm9yIGEg c3BlY2lmaWMgZG9tYWluLgorICovCitzdHJ1Y3QgeGVuX2RvbWN0bF9jcHVfcG9saWN5IHsKKyAg ICB1aW50MzJfdCBucl9sZWF2ZXM7IC8qIElOL09VVDogTnVtYmVyIG9mIGxlYXZlcyBpbi93cml0 dGVuIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgKiAnY3B1aWRfcG9saWN5Jy4gKi8KKyAg ICB1aW50MzJfdCBucl9tc3JzOyAgIC8qIElOL09VVDogTnVtYmVyIG9mIE1TUnMgaW4vd3JpdHRl biB0bworICAgICAgICAgICAgICAgICAgICAgICAgICogJ21zcl9kb21haW5fcG9saWN5JyAqLwor ICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQoeGVuX2NwdWlkX2xlYWZfdCkgY3B1aWRfcG9saWN5OyAv KiBJTi9PVVQ6ICovCisgICAgWEVOX0dVRVNUX0hBTkRMRV82NCh4ZW5fbXNyX2VudHJ5X3QpIG1z cl9wb2xpY3k7ICAgIC8qIElOL09VVDogKi8KK307Cit0eXBlZGVmIHN0cnVjdCB4ZW5fZG9tY3Rs X2NwdV9wb2xpY3kgeGVuX2RvbWN0bF9jcHVfcG9saWN5X3Q7CitERUZJTkVfWEVOX0dVRVNUX0hB TkRMRSh4ZW5fZG9tY3RsX2NwdV9wb2xpY3lfdCk7CiAjZW5kaWYKIAogLyoKQEAgLTExNzQsNiAr MTE5MCw3IEBAIHN0cnVjdCB4ZW5fZG9tY3RsIHsKICNkZWZpbmUgWEVOX0RPTUNUTF9zb2Z0X3Jl c2V0ICAgICAgICAgICAgICAgICAgICA3OQogI2RlZmluZSBYRU5fRE9NQ1RMX3NldF9nbnR0YWJf bGltaXRzICAgICAgICAgICAgIDgwCiAjZGVmaW5lIFhFTl9ET01DVExfdnVhcnRfb3AgICAgICAg ICAgICAgICAgICAgICAgODEKKyNkZWZpbmUgWEVOX0RPTUNUTF9nZXRfY3B1X3BvbGljeSAgICAg ICAgICAgICAgICA4MgogI2RlZmluZSBYRU5fRE9NQ1RMX2dkYnN4X2d1ZXN0bWVtaW8gICAgICAg ICAgICAxMDAwCiAjZGVmaW5lIFhFTl9ET01DVExfZ2Ric3hfcGF1c2V2Y3B1ICAgICAgICAgICAg IDEwMDEKICNkZWZpbmUgWEVOX0RPTUNUTF9nZGJzeF91bnBhdXNldmNwdSAgICAgICAgICAgMTAw MgpAQCAtMTIxOCw2ICsxMjM1LDcgQEAgc3RydWN0IHhlbl9kb21jdGwgewogICAgICAgICBzdHJ1 Y3QgeGVuX2RvbWN0bF9tZW1fc2hhcmluZ19vcCAgICBtZW1fc2hhcmluZ19vcDsKICNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCiAgICAgICAgIHN0cnVjdCB4ZW5f ZG9tY3RsX2NwdWlkICAgICAgICAgICAgIGNwdWlkOworICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0 bF9jcHVfcG9saWN5ICAgICAgICBjcHVfcG9saWN5OwogICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0 bF92Y3B1ZXh0c3RhdGUgICAgICB2Y3B1ZXh0c3RhdGU7CiAgICAgICAgIHN0cnVjdCB4ZW5fZG9t Y3RsX3ZjcHVfbXNycyAgICAgICAgIHZjcHVfbXNyczsKICNlbmRpZgpkaWZmIC0tZ2l0IGEveGVu L3hzbS9mbGFzay9ob29rcy5jIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCmluZGV4IGY2MTQyNzIu LjdkNGZhMWMgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94ZW4veHNt L2ZsYXNrL2hvb2tzLmMKQEAgLTcxNyw2ICs3MTcsNyBAQCBzdGF0aWMgaW50IGZsYXNrX2RvbWN0 bChzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKQogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNf cGVybShkLCBTRUNDTEFTU19ET01BSU4sIERPTUFJTl9fU0VUX1ZJUlFfSEFORExFUik7CiAKICAg ICBjYXNlIFhFTl9ET01DVExfc2V0X2NwdWlkOgorICAgIGNhc2UgWEVOX0RPTUNUTF9nZXRfY3B1 X3BvbGljeToKICAgICAgICAgcmV0dXJuIGN1cnJlbnRfaGFzX3Blcm0oZCwgU0VDQ0xBU1NfRE9N QUlOMiwgRE9NQUlOMl9fU0VUX0NQVUlEKTsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9nZXR0c2Np bmZvOgpkaWZmIC0tZ2l0IGEveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMgYi94 ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycwppbmRleCA4YzViYWZmLi4xNDBkM2E1 IDEwMDY0NAotLS0gYS94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycworKysgYi94 ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycwpAQCAtMjEzLDYgKzIxMyw3IEBAIGNs YXNzIGRvbWFpbjIKICMgIHRhcmdldCA9IHRoZSBuZXcgdGFyZ2V0IGRvbWFpbgogICAgIHNldF9h c190YXJnZXQKICMgWEVOX0RPTUNUTF9zZXRfY3B1aWQKKyMgWEVOX0RPTUNUTF9nZXRfY3B1X3Bv bGljeQogICAgIHNldF9jcHVpZAogIyBYRU5fRE9NQ1RMX2dldHRzY2luZm8KICAgICBnZXR0c2MK LS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==