From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH 5/5] tools/libxc: allow controlling the max C-state sub-state Date: Thu, 23 May 2019 06:19:39 -0600 Message-ID: <5CE68FDB0200007800231B41@prv1-mh.provo.novell.com> References: <5CE68CD30200007800231B01@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hTmhD-0005z5-1m for xen-devel@lists.xenproject.org; Thu, 23 May 2019 12:19:43 +0000 In-Reply-To: <5CE68CD30200007800231B01@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: Andrew Cooper , Wei Liu , Ian Jackson , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org RnJvbTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+CgpTaWduZWQt b2ZmLWJ5OiBSb3NzIExhZ2Vyd2FsbCA8cm9zcy5sYWdlcndhbGxAY2l0cml4LmNvbT4KCk1ha2Ug aGFuZGxpbmcgaW4gZG9fcG1fb3AoKSBtb3JlIGhvbW9nZW5lb3VzOiBCZWZvcmUgaW50ZXJwcmV0 aW5nCm9wLT5jcHVpZCBhcyBzdWNoLCBoYW5kbGUgYWxsIG9wZXJhdGlvbnMgbm90IGFjdGluZyBv biBhIHBhcnRpY3VsYXIKQ1BVLiBBbHNvIGV4cG9zZSB0aGUgc2V0dGluZyB2aWEgeGVucG0uCgpT aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CgotLS0gYS90b29s cy9saWJ4Yy94Y19wbS5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX3BtLmMKQEAgLTM2Nyw3ICszNjcs NyBAQCBpbnQgeGNfc2V0X3NjaGVkX29wdF9zbXQoeGNfaW50ZXJmYWNlICp4CiAgICByZXR1cm4g cmM7CiB9CiAKLWludCB4Y19nZXRfY3B1aWRsZV9tYXhfY3N0YXRlKHhjX2ludGVyZmFjZSAqeGNo LCB1aW50MzJfdCAqdmFsdWUpCitzdGF0aWMgaW50IGdldF9tYXhfY3N0YXRlKHhjX2ludGVyZmFj ZSAqeGNoLCB1aW50MzJfdCAqdmFsdWUsIHVpbnQzMl90IHR5cGUpCiB7CiAgICAgaW50IHJjOwog ICAgIERFQ0xBUkVfU1lTQ1RMOwpAQCAtMzc5LDcgKzM3OSw3IEBAIGludCB4Y19nZXRfY3B1aWRs ZV9tYXhfY3N0YXRlKHhjX2ludGVyZmEKICAgICB9CiAgICAgc3lzY3RsLmNtZCA9IFhFTl9TWVND VExfcG1fb3A7CiAgICAgc3lzY3RsLnUucG1fb3AuY21kID0gWEVOX1NZU0NUTF9wbV9vcF9nZXRf bWF4X2NzdGF0ZTsKLSAgICBzeXNjdGwudS5wbV9vcC5jcHVpZCA9IDA7CisgICAgc3lzY3RsLnUu cG1fb3AuY3B1aWQgPSB0eXBlOwogICAgIHN5c2N0bC51LnBtX29wLnUuZ2V0X21heF9jc3RhdGUg PSAwOwogICAgIHJjID0gZG9fc3lzY3RsKHhjaCwgJnN5c2N0bCk7CiAgICAgKnZhbHVlID0gc3lz Y3RsLnUucG1fb3AudS5nZXRfbWF4X2NzdGF0ZTsKQEAgLTM4Nyw3ICszODcsMTcgQEAgaW50IHhj X2dldF9jcHVpZGxlX21heF9jc3RhdGUoeGNfaW50ZXJmYQogICAgIHJldHVybiByYzsKIH0KIAot aW50IHhjX3NldF9jcHVpZGxlX21heF9jc3RhdGUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90 IHZhbHVlKQoraW50IHhjX2dldF9jcHVpZGxlX21heF9jc3RhdGUoeGNfaW50ZXJmYWNlICp4Y2gs IHVpbnQzMl90ICp2YWx1ZSkKK3sKKyAgICByZXR1cm4gZ2V0X21heF9jc3RhdGUoeGNoLCB2YWx1 ZSwgMCk7Cit9CisKK2ludCB4Y19nZXRfY3B1aWRsZV9tYXhfY3N1YnN0YXRlKHhjX2ludGVyZmFj ZSAqeGNoLCB1aW50MzJfdCAqdmFsdWUpCit7CisgICAgcmV0dXJuIGdldF9tYXhfY3N0YXRlKHhj aCwgdmFsdWUsIDEpOworfQorCitzdGF0aWMgaW50IHNldF9tYXhfY3N0YXRlKHhjX2ludGVyZmFj ZSAqeGNoLCB1aW50MzJfdCB2YWx1ZSwgdWludDMyX3QgdHlwZSkKIHsKICAgICBERUNMQVJFX1NZ U0NUTDsKIApAQCAtMzk4LDEyICs0MDgsMjIgQEAgaW50IHhjX3NldF9jcHVpZGxlX21heF9jc3Rh dGUoeGNfaW50ZXJmYQogICAgIH0KICAgICBzeXNjdGwuY21kID0gWEVOX1NZU0NUTF9wbV9vcDsK ICAgICBzeXNjdGwudS5wbV9vcC5jbWQgPSBYRU5fU1lTQ1RMX3BtX29wX3NldF9tYXhfY3N0YXRl OwotICAgIHN5c2N0bC51LnBtX29wLmNwdWlkID0gMDsKKyAgICBzeXNjdGwudS5wbV9vcC5jcHVp ZCA9IHR5cGU7CiAgICAgc3lzY3RsLnUucG1fb3AudS5zZXRfbWF4X2NzdGF0ZSA9IHZhbHVlOwog CiAgICAgcmV0dXJuIGRvX3N5c2N0bCh4Y2gsICZzeXNjdGwpOwogfQogCitpbnQgeGNfc2V0X2Nw dWlkbGVfbWF4X2NzdGF0ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgdmFsdWUpCit7Cisg ICAgcmV0dXJuIHNldF9tYXhfY3N0YXRlKHhjaCwgdmFsdWUsIDApOworfQorCitpbnQgeGNfc2V0 X2NwdWlkbGVfbWF4X2NzdWJzdGF0ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgdmFsdWUp Cit7CisgICAgcmV0dXJuIHNldF9tYXhfY3N0YXRlKHhjaCwgdmFsdWUsIDEpOworfQorCiBpbnQg eGNfZW5hYmxlX3R1cmJvKHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgY3B1aWQpCiB7CiAgICAgREVD TEFSRV9TWVNDVEw7Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCisrKyBiL3Rv b2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCkBAIC0xOTA2LDYgKzE5MDYsOSBAQCBpbnQgeGNf c2V0X3NjaGVkX29wdF9zbXQoeGNfaW50ZXJmYWNlICp4CiBpbnQgeGNfZ2V0X2NwdWlkbGVfbWF4 X2NzdGF0ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgKnZhbHVlKTsKIGludCB4Y19zZXRf Y3B1aWRsZV9tYXhfY3N0YXRlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCB2YWx1ZSk7CiAK K2ludCB4Y19nZXRfY3B1aWRsZV9tYXhfY3N1YnN0YXRlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50 MzJfdCAqdmFsdWUpOworaW50IHhjX3NldF9jcHVpZGxlX21heF9jc3Vic3RhdGUoeGNfaW50ZXJm YWNlICp4Y2gsIHVpbnQzMl90IHZhbHVlKTsKKwogaW50IHhjX2VuYWJsZV90dXJibyh4Y19pbnRl cmZhY2UgKnhjaCwgaW50IGNwdWlkKTsKIGludCB4Y19kaXNhYmxlX3R1cmJvKHhjX2ludGVyZmFj ZSAqeGNoLCBpbnQgY3B1aWQpOwogCi0tLSBhL3Rvb2xzL21pc2MveGVucG0uYworKysgYi90b29s cy9taXNjL3hlbnBtLmMKQEAgLTE5NSw3ICsxOTUsMTUgQEAgc3RhdGljIGludCBzaG93X21heF9j c3RhdGUoeGNfaW50ZXJmYWNlCiAgICAgICAgIHJldHVybiByZXQ7CiAKICAgICBpZiAoIHZhbHVl IDwgWEVOX1NZU0NUTF9DWF9VTkxJTUlURUQgKQotICAgICAgICBwcmludGYoIk1heCBwb3NzaWJs ZSBDLXN0YXRlOiBDJSJQUkl1MzIiXG5cbiIsIHZhbHVlKTsKKyAgICB7CisgICAgICAgIHByaW50 ZigiTWF4IHBvc3NpYmxlIEMtc3RhdGU6IEMlIlBSSXUzMiJcbiIsIHZhbHVlKTsKKyAgICAgICAg aWYgKCAocmV0ID0geGNfZ2V0X2NwdWlkbGVfbWF4X2NzdWJzdGF0ZSh4Y19oYW5kbGUsICZ2YWx1 ZSkpICkKKyAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgIGlmICggdmFsdWUgPCBYRU5f U1lTQ1RMX0NYX1VOTElNSVRFRCApCisgICAgICAgICAgICBwcmludGYoIk1heCBwb3NzaWJsZSBz dWJzdGF0ZTogJSJQUkl1MzIiXG5cbiIsIHZhbHVlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg ICAgcHV0cygiIik7CisgICAgfQogICAgIGVsc2UKICAgICAgICAgcHJpbnRmKCJBbGwgQy1zdGF0 ZXMgYWxsb3dlZFxuXG4iKTsKIApAQCAtMTEyMCwxMyArMTEyOCwxNyBAQCB2b2lkIGdldF92Y3B1 X21pZ3JhdGlvbl9kZWxheV9mdW5jKGludCBhCiAKIHZvaWQgc2V0X21heF9jc3RhdGVfZnVuYyhp bnQgYXJnYywgY2hhciAqYXJndltdKQogewotICAgIGludCB2YWx1ZTsKKyAgICBpbnQgdmFsdWUs IHN1YnZhbCA9IFhFTl9TWVNDVExfQ1hfVU5MSU1JVEVEOwogICAgIGNoYXIgYnVmWzEyXTsKIAot ICAgIGlmICggYXJnYyAhPSAxIHx8CisgICAgaWYgKCBhcmdjIDwgMSB8fCBhcmdjID4gMiB8fAog ICAgICAgICAgKHNzY2FuZihhcmd2WzBdLCAiJWQiLCAmdmFsdWUpID09IDEKICAgICAgICAgICA/ IHZhbHVlIDwgMAotICAgICAgICAgIDogKHZhbHVlID0gWEVOX1NZU0NUTF9DWF9VTkxJTUlURUQs IHN0cmNtcChhcmd2WzBdLCAidW5saW1pdGVkIikpKSApCisgICAgICAgICAgOiAodmFsdWUgPSBY RU5fU1lTQ1RMX0NYX1VOTElNSVRFRCwgc3RyY21wKGFyZ3ZbMF0sICJ1bmxpbWl0ZWQiKSkpIHx8 CisgICAgICAgICAoYXJnYyA9PSAyICYmCisgICAgICAgICAgKHNzY2FuZihhcmd2WzFdLCAiJWQi LCAmc3VidmFsKSA9PSAxCisgICAgICAgICAgID8gc3VidmFsIDwgMAorICAgICAgICAgICA6IChz dWJ2YWwgPSBYRU5fU1lTQ1RMX0NYX1VOTElNSVRFRCwgc3RyY21wKGFyZ3ZbMV0sICJ1bmxpbWl0 ZWQiKSkpKSApCiAgICAgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk1pc3NpbmcsIGV4Y2Vz cywgb3IgaW52YWxpZCBhcmd1bWVudChzKVxuIik7CiAgICAgICAgIGV4aXQoRUlOVkFMKTsKQEAg LTExMzcsOCArMTE0OSwyMyBAQCB2b2lkIHNldF9tYXhfY3N0YXRlX2Z1bmMoaW50IGFyZ2MsIGNo YXIKICAgICBpZiAoICF4Y19zZXRfY3B1aWRsZV9tYXhfY3N0YXRlKHhjX2hhbmRsZSwgKHVpbnQz Ml90KXZhbHVlKSApCiAgICAgICAgIHByaW50Zigic2V0IG1heCBDLXN0YXRlIHRvICVzIHN1Y2Nl ZWRlZFxuIiwgdmFsdWUgPj0gMCA/IGJ1ZiA6IGFyZ3ZbMF0pOwogICAgIGVsc2UKKyAgICB7CiAg ICAgICAgIGZwcmludGYoc3RkZXJyLCAic2V0IG1heCBDLXN0YXRlIHRvICVzIGZhaWxlZCAoJWQg LSAlcylcbiIsCiAgICAgICAgICAgICAgICAgdmFsdWUgPj0gMCA/IGJ1ZiA6IGFyZ3ZbMF0sIGVy cm5vLCBzdHJlcnJvcihlcnJubykpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYg KCB2YWx1ZSAhPSBYRU5fU1lTQ1RMX0NYX1VOTElNSVRFRCApCisgICAgeworICAgICAgICBzbnBy aW50ZihidWYsIEFSUkFZX1NJWkUoYnVmKSwgIiVkIiwgc3VidmFsKTsKKworICAgICAgICBpZiAo ICF4Y19zZXRfY3B1aWRsZV9tYXhfY3N1YnN0YXRlKHhjX2hhbmRsZSwgKHVpbnQzMl90KXN1YnZh bCkgKQorICAgICAgICAgICAgcHJpbnRmKCJzZXQgbWF4IEMtc3Vic3RhdGUgdG8gJXMgc3VjY2Vl ZGVkXG4iLAorICAgICAgICAgICAgICAgICAgIHN1YnZhbCA+PSAwID8gYnVmIDogInVubGltaXRl ZCIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInNldCBtYXgg Qy1zdWJzdGF0ZSB0byAlcyBmYWlsZWQgKCVkIC0gJXMpXG4iLAorICAgICAgICAgICAgICAgICAg ICBzdWJ2YWwgPj0gMCA/IGJ1ZiA6ICJ1bmxpbWl0ZWQiLCBlcnJubywgc3RyZXJyb3IoZXJybm8p KTsKKyAgICB9CiB9CiAKIHZvaWQgZW5hYmxlX3R1cmJvX21vZGUoaW50IGFyZ2MsIGNoYXIgKmFy Z3ZbXSkKLS0tIGEveGVuL2RyaXZlcnMvYWNwaS9wbXN0YXQuYworKysgYi94ZW4vZHJpdmVycy9h Y3BpL3Btc3RhdC5jCkBAIC0zOTgsNyArMzk4LDQwIEBAIGludCBkb19wbV9vcChzdHJ1Y3QgeGVu X3N5c2N0bF9wbV9vcCAqb3AKICAgICBpbnQgcmV0ID0gMDsKICAgICBjb25zdCBzdHJ1Y3QgcHJv Y2Vzc29yX3BtaW5mbyAqcG1wdDsKIAotICAgIGlmICggIW9wIHx8IG9wLT5jcHVpZCA+PSBucl9j cHVfaWRzIHx8ICFjcHVfb25saW5lKG9wLT5jcHVpZCkgKQorICAgIHN3aXRjaCAoIG9wLT5jbWQg KQorICAgIHsKKyAgICBjYXNlIFhFTl9TWVNDVExfcG1fb3Bfc2V0X3NjaGVkX29wdF9zbXQ6Cisg ICAgeworICAgICAgICB1aW50MzJfdCBzYXZlZF92YWx1ZSA9IHNjaGVkX3NtdF9wb3dlcl9zYXZp bmdzOworCisgICAgICAgIGlmICggb3AtPmNwdWlkICE9IDAgKQorICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7CisgICAgICAgIHNjaGVkX3NtdF9wb3dlcl9zYXZpbmdzID0gISFvcC0+dS5zZXRf c2NoZWRfb3B0X3NtdDsKKyAgICAgICAgb3AtPnUuc2V0X3NjaGVkX29wdF9zbXQgPSBzYXZlZF92 YWx1ZTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgY2FzZSBYRU5fU1lTQ1RMX3Bt X29wX2dldF9tYXhfY3N0YXRlOgorICAgICAgICBCVUlMRF9CVUdfT04oWEVOX1NZU0NUTF9DWF9V TkxJTUlURUQgIT0gVUlOVF9NQVgpOworICAgICAgICBpZiAoIG9wLT5jcHVpZCA9PSAwICkKKyAg ICAgICAgICAgIG9wLT51LmdldF9tYXhfY3N0YXRlID0gYWNwaV9nZXRfY3N0YXRlX2xpbWl0KCk7 CisgICAgICAgIGVsc2UgaWYgKCBvcC0+Y3B1aWQgPT0gMSApCisgICAgICAgICAgICBvcC0+dS5n ZXRfbWF4X2NzdGF0ZSA9IGFjcGlfZ2V0X2NzdWJzdGF0ZV9saW1pdCgpOworICAgICAgICBlbHNl CisgICAgICAgICAgICByZXQgPSAtRUlOVkFMOworICAgICAgICByZXR1cm4gcmV0OworCisgICAg Y2FzZSBYRU5fU1lTQ1RMX3BtX29wX3NldF9tYXhfY3N0YXRlOgorICAgICAgICBpZiAoIG9wLT5j cHVpZCA9PSAwICkKKyAgICAgICAgICAgIGFjcGlfc2V0X2NzdGF0ZV9saW1pdChvcC0+dS5zZXRf bWF4X2NzdGF0ZSk7CisgICAgICAgIGVsc2UgaWYgKCBvcC0+Y3B1aWQgPT0gMSApCisgICAgICAg ICAgICBhY3BpX3NldF9jc3Vic3RhdGVfbGltaXQob3AtPnUuc2V0X21heF9jc3RhdGUpOworICAg ICAgICBlbHNlCisgICAgICAgICAgICByZXQgPSAtRUlOVkFMOworICAgICAgICByZXR1cm4gcmV0 OworICAgIH0KKworICAgIGlmICggb3AtPmNwdWlkID49IG5yX2NwdV9pZHMgfHwgIWNwdV9vbmxp bmUob3AtPmNwdWlkKSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIHBtcHQgPSBwcm9j ZXNzb3JfcG1pbmZvW29wLT5jcHVpZF07CiAKQEAgLTQzOCwzMCArNDcxLDYgQEAgaW50IGRvX3Bt X29wKHN0cnVjdCB4ZW5fc3lzY3RsX3BtX29wICpvcAogICAgICAgICBicmVhazsKICAgICB9CiAK LSAgICBjYXNlIFhFTl9TWVNDVExfcG1fb3Bfc2V0X3NjaGVkX29wdF9zbXQ6Ci0gICAgewotICAg ICAgICB1aW50MzJfdCBzYXZlZF92YWx1ZTsKLQotICAgICAgICBzYXZlZF92YWx1ZSA9IHNjaGVk X3NtdF9wb3dlcl9zYXZpbmdzOwotICAgICAgICBzY2hlZF9zbXRfcG93ZXJfc2F2aW5ncyA9ICEh b3AtPnUuc2V0X3NjaGVkX29wdF9zbXQ7Ci0gICAgICAgIG9wLT51LnNldF9zY2hlZF9vcHRfc210 ID0gc2F2ZWRfdmFsdWU7Ci0KLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgY2FzZSBYRU5f U1lTQ1RMX3BtX29wX2dldF9tYXhfY3N0YXRlOgotICAgIHsKLSAgICAgICAgQlVJTERfQlVHX09O KFhFTl9TWVNDVExfQ1hfVU5MSU1JVEVEICE9IFVJTlRfTUFYKTsKLSAgICAgICAgb3AtPnUuZ2V0 X21heF9jc3RhdGUgPSBhY3BpX2dldF9jc3RhdGVfbGltaXQoKTsKLSAgICAgICAgYnJlYWs7Ci0g ICAgfQotCi0gICAgY2FzZSBYRU5fU1lTQ1RMX3BtX29wX3NldF9tYXhfY3N0YXRlOgotICAgIHsK LSAgICAgICAgYWNwaV9zZXRfY3N0YXRlX2xpbWl0KG9wLT51LnNldF9tYXhfY3N0YXRlKTsKLSAg ICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBYRU5fU1lTQ1RMX3BtX29wX2VuYWJsZV90 dXJibzoKICAgICB7CiAgICAgICAgIHJldCA9IGNwdWZyZXFfdXBkYXRlX3R1cmJvKG9wLT5jcHVp ZCwgQ1BVRlJFUV9UVVJCT19FTkFCTEVEKTsKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0 bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaApAQCAtMzUwLDcgKzM1MCwxMSBA QCBzdHJ1Y3QgeGVuX3N5c2N0bF9wbV9vcCB7CiAgICAgLyogc2V0L3Jlc2V0IHNjaGVkdWxlciBw b3dlciBzYXZpbmcgb3B0aW9uICovCiAgICAgI2RlZmluZSBYRU5fU1lTQ1RMX3BtX29wX3NldF9z Y2hlZF9vcHRfc210ICAgIDB4MjEKIAotICAgIC8qIGNwdWlkbGUgbWF4X2NzdGF0ZSBhY2Nlc3Mg Y29tbWFuZCAqLworICAgIC8qCisgICAgICogY3B1aWRsZSBtYXggQy1zdGF0ZSBhbmQgbWF4IEMt c3ViLXN0YXRlIGFjY2VzcyBjb21tYW5kOgorICAgICAqIFNldCBjcHVpZCB0byAwIGZvciBtYXgg Qy1zdGF0ZS4KKyAgICAgKiBTZXQgY3B1aWQgdG8gMSBmb3IgbWF4IEMtc3ViLXN0YXRlLgorICAg ICAqLwogICAgICNkZWZpbmUgWEVOX1NZU0NUTF9wbV9vcF9nZXRfbWF4X2NzdGF0ZSAgICAgICAw eDIyCiAgICAgI2RlZmluZSBYRU5fU1lTQ1RMX3BtX29wX3NldF9tYXhfY3N0YXRlICAgICAgIDB4 MjMKIAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vYWNwaS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9h Y3BpLmgKQEAgLTE2Niw5ICsxNjYsMjIgQEAgc3RhdGljIGlubGluZSB2b2lkIGFjcGlfc2V0X2Nz dGF0ZV9saW1pdAogCW1heF9jc3RhdGUgPSBuZXdfbGltaXQ7CiAJcmV0dXJuOwogfQorCitzdGF0 aWMgaW5saW5lIHVuc2lnbmVkIGludCBhY3BpX2dldF9jc3Vic3RhdGVfbGltaXQodm9pZCkKK3sK KwlyZXR1cm4gbWF4X2NzdWJzdGF0ZTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFjcGlfc2V0 X2NzdWJzdGF0ZV9saW1pdCh1bnNpZ25lZCBpbnQgbmV3X2xpbWl0KQoreworCW1heF9jc3Vic3Rh dGUgPSBuZXdfbGltaXQ7Cit9CisKICNlbHNlCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBh Y3BpX2dldF9jc3RhdGVfbGltaXQodm9pZCkgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGluZSB2 b2lkIGFjcGlfc2V0X2NzdGF0ZV9saW1pdCh1bnNpZ25lZCBpbnQgbmV3X2xpbWl0KSB7IHJldHVy bjsgfQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYWNwaV9nZXRfY3N1YnN0YXRlX2xpbWl0 KHZvaWQpIHsgcmV0dXJuIDA7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBhY3BpX3NldF9jc3Vic3Rh dGVfbGltaXQodW5zaWduZWQgaW50IG5ld19saW1pdCkgeyByZXR1cm47IH0KICNlbmRpZgogCiAj aWZkZWYgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTQoKCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 58B4BC282DD for ; Thu, 23 May 2019 12:19:57 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 308B420879 for ; Thu, 23 May 2019 12:19:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 308B420879 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hTmhE-0005zM-Q4; Thu, 23 May 2019 12:19:44 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hTmhD-0005z5-1m for xen-devel@lists.xenproject.org; Thu, 23 May 2019 12:19:43 +0000 X-Inumbo-ID: 09f1bb2c-7d55-11e9-93ae-d7ff2114d592 Received: from prv1-mh.provo.novell.com (unknown [137.65.248.33]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 09f1bb2c-7d55-11e9-93ae-d7ff2114d592; Thu, 23 May 2019 12:19:41 +0000 (UTC) Received: from INET-PRV1-MTA by prv1-mh.provo.novell.com with Novell_GroupWise; Thu, 23 May 2019 06:19:40 -0600 Message-Id: <5CE68FDB0200007800231B41@prv1-mh.provo.novell.com> X-Mailer: Novell GroupWise Internet Agent 18.1.0 Date: Thu, 23 May 2019 06:19:39 -0600 From: "Jan Beulich" To: "xen-devel" References: <5CE68CD30200007800231B01@prv1-mh.provo.novell.com> In-Reply-To: <5CE68CD30200007800231B01@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Disposition: inline Subject: [Xen-devel] [PATCH 5/5] tools/libxc: allow controlling the max C-state sub-state X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Andrew Cooper , Wei Liu , Ian Jackson , Roger Pau Monne Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190523121939.OeCZvSh7FSxJVnshXuFbT0jLCpgdibabmMLdYfzF3hg@z> RnJvbTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+CgpTaWduZWQt b2ZmLWJ5OiBSb3NzIExhZ2Vyd2FsbCA8cm9zcy5sYWdlcndhbGxAY2l0cml4LmNvbT4KCk1ha2Ug aGFuZGxpbmcgaW4gZG9fcG1fb3AoKSBtb3JlIGhvbW9nZW5lb3VzOiBCZWZvcmUgaW50ZXJwcmV0 aW5nCm9wLT5jcHVpZCBhcyBzdWNoLCBoYW5kbGUgYWxsIG9wZXJhdGlvbnMgbm90IGFjdGluZyBv biBhIHBhcnRpY3VsYXIKQ1BVLiBBbHNvIGV4cG9zZSB0aGUgc2V0dGluZyB2aWEgeGVucG0uCgpT aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CgotLS0gYS90b29s cy9saWJ4Yy94Y19wbS5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX3BtLmMKQEAgLTM2Nyw3ICszNjcs NyBAQCBpbnQgeGNfc2V0X3NjaGVkX29wdF9zbXQoeGNfaW50ZXJmYWNlICp4CiAgICByZXR1cm4g cmM7CiB9CiAKLWludCB4Y19nZXRfY3B1aWRsZV9tYXhfY3N0YXRlKHhjX2ludGVyZmFjZSAqeGNo LCB1aW50MzJfdCAqdmFsdWUpCitzdGF0aWMgaW50IGdldF9tYXhfY3N0YXRlKHhjX2ludGVyZmFj ZSAqeGNoLCB1aW50MzJfdCAqdmFsdWUsIHVpbnQzMl90IHR5cGUpCiB7CiAgICAgaW50IHJjOwog ICAgIERFQ0xBUkVfU1lTQ1RMOwpAQCAtMzc5LDcgKzM3OSw3IEBAIGludCB4Y19nZXRfY3B1aWRs ZV9tYXhfY3N0YXRlKHhjX2ludGVyZmEKICAgICB9CiAgICAgc3lzY3RsLmNtZCA9IFhFTl9TWVND VExfcG1fb3A7CiAgICAgc3lzY3RsLnUucG1fb3AuY21kID0gWEVOX1NZU0NUTF9wbV9vcF9nZXRf bWF4X2NzdGF0ZTsKLSAgICBzeXNjdGwudS5wbV9vcC5jcHVpZCA9IDA7CisgICAgc3lzY3RsLnUu cG1fb3AuY3B1aWQgPSB0eXBlOwogICAgIHN5c2N0bC51LnBtX29wLnUuZ2V0X21heF9jc3RhdGUg PSAwOwogICAgIHJjID0gZG9fc3lzY3RsKHhjaCwgJnN5c2N0bCk7CiAgICAgKnZhbHVlID0gc3lz Y3RsLnUucG1fb3AudS5nZXRfbWF4X2NzdGF0ZTsKQEAgLTM4Nyw3ICszODcsMTcgQEAgaW50IHhj X2dldF9jcHVpZGxlX21heF9jc3RhdGUoeGNfaW50ZXJmYQogICAgIHJldHVybiByYzsKIH0KIAot aW50IHhjX3NldF9jcHVpZGxlX21heF9jc3RhdGUoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90 IHZhbHVlKQoraW50IHhjX2dldF9jcHVpZGxlX21heF9jc3RhdGUoeGNfaW50ZXJmYWNlICp4Y2gs IHVpbnQzMl90ICp2YWx1ZSkKK3sKKyAgICByZXR1cm4gZ2V0X21heF9jc3RhdGUoeGNoLCB2YWx1 ZSwgMCk7Cit9CisKK2ludCB4Y19nZXRfY3B1aWRsZV9tYXhfY3N1YnN0YXRlKHhjX2ludGVyZmFj ZSAqeGNoLCB1aW50MzJfdCAqdmFsdWUpCit7CisgICAgcmV0dXJuIGdldF9tYXhfY3N0YXRlKHhj aCwgdmFsdWUsIDEpOworfQorCitzdGF0aWMgaW50IHNldF9tYXhfY3N0YXRlKHhjX2ludGVyZmFj ZSAqeGNoLCB1aW50MzJfdCB2YWx1ZSwgdWludDMyX3QgdHlwZSkKIHsKICAgICBERUNMQVJFX1NZ U0NUTDsKIApAQCAtMzk4LDEyICs0MDgsMjIgQEAgaW50IHhjX3NldF9jcHVpZGxlX21heF9jc3Rh dGUoeGNfaW50ZXJmYQogICAgIH0KICAgICBzeXNjdGwuY21kID0gWEVOX1NZU0NUTF9wbV9vcDsK ICAgICBzeXNjdGwudS5wbV9vcC5jbWQgPSBYRU5fU1lTQ1RMX3BtX29wX3NldF9tYXhfY3N0YXRl OwotICAgIHN5c2N0bC51LnBtX29wLmNwdWlkID0gMDsKKyAgICBzeXNjdGwudS5wbV9vcC5jcHVp ZCA9IHR5cGU7CiAgICAgc3lzY3RsLnUucG1fb3AudS5zZXRfbWF4X2NzdGF0ZSA9IHZhbHVlOwog CiAgICAgcmV0dXJuIGRvX3N5c2N0bCh4Y2gsICZzeXNjdGwpOwogfQogCitpbnQgeGNfc2V0X2Nw dWlkbGVfbWF4X2NzdGF0ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgdmFsdWUpCit7Cisg ICAgcmV0dXJuIHNldF9tYXhfY3N0YXRlKHhjaCwgdmFsdWUsIDApOworfQorCitpbnQgeGNfc2V0 X2NwdWlkbGVfbWF4X2NzdWJzdGF0ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgdmFsdWUp Cit7CisgICAgcmV0dXJuIHNldF9tYXhfY3N0YXRlKHhjaCwgdmFsdWUsIDEpOworfQorCiBpbnQg eGNfZW5hYmxlX3R1cmJvKHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgY3B1aWQpCiB7CiAgICAgREVD TEFSRV9TWVNDVEw7Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCisrKyBiL3Rv b2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCkBAIC0xOTA2LDYgKzE5MDYsOSBAQCBpbnQgeGNf c2V0X3NjaGVkX29wdF9zbXQoeGNfaW50ZXJmYWNlICp4CiBpbnQgeGNfZ2V0X2NwdWlkbGVfbWF4 X2NzdGF0ZSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgKnZhbHVlKTsKIGludCB4Y19zZXRf Y3B1aWRsZV9tYXhfY3N0YXRlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCB2YWx1ZSk7CiAK K2ludCB4Y19nZXRfY3B1aWRsZV9tYXhfY3N1YnN0YXRlKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50 MzJfdCAqdmFsdWUpOworaW50IHhjX3NldF9jcHVpZGxlX21heF9jc3Vic3RhdGUoeGNfaW50ZXJm YWNlICp4Y2gsIHVpbnQzMl90IHZhbHVlKTsKKwogaW50IHhjX2VuYWJsZV90dXJibyh4Y19pbnRl cmZhY2UgKnhjaCwgaW50IGNwdWlkKTsKIGludCB4Y19kaXNhYmxlX3R1cmJvKHhjX2ludGVyZmFj ZSAqeGNoLCBpbnQgY3B1aWQpOwogCi0tLSBhL3Rvb2xzL21pc2MveGVucG0uYworKysgYi90b29s cy9taXNjL3hlbnBtLmMKQEAgLTE5NSw3ICsxOTUsMTUgQEAgc3RhdGljIGludCBzaG93X21heF9j c3RhdGUoeGNfaW50ZXJmYWNlCiAgICAgICAgIHJldHVybiByZXQ7CiAKICAgICBpZiAoIHZhbHVl IDwgWEVOX1NZU0NUTF9DWF9VTkxJTUlURUQgKQotICAgICAgICBwcmludGYoIk1heCBwb3NzaWJs ZSBDLXN0YXRlOiBDJSJQUkl1MzIiXG5cbiIsIHZhbHVlKTsKKyAgICB7CisgICAgICAgIHByaW50 ZigiTWF4IHBvc3NpYmxlIEMtc3RhdGU6IEMlIlBSSXUzMiJcbiIsIHZhbHVlKTsKKyAgICAgICAg aWYgKCAocmV0ID0geGNfZ2V0X2NwdWlkbGVfbWF4X2NzdWJzdGF0ZSh4Y19oYW5kbGUsICZ2YWx1 ZSkpICkKKyAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgIGlmICggdmFsdWUgPCBYRU5f U1lTQ1RMX0NYX1VOTElNSVRFRCApCisgICAgICAgICAgICBwcmludGYoIk1heCBwb3NzaWJsZSBz dWJzdGF0ZTogJSJQUkl1MzIiXG5cbiIsIHZhbHVlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg ICAgcHV0cygiIik7CisgICAgfQogICAgIGVsc2UKICAgICAgICAgcHJpbnRmKCJBbGwgQy1zdGF0 ZXMgYWxsb3dlZFxuXG4iKTsKIApAQCAtMTEyMCwxMyArMTEyOCwxNyBAQCB2b2lkIGdldF92Y3B1 X21pZ3JhdGlvbl9kZWxheV9mdW5jKGludCBhCiAKIHZvaWQgc2V0X21heF9jc3RhdGVfZnVuYyhp bnQgYXJnYywgY2hhciAqYXJndltdKQogewotICAgIGludCB2YWx1ZTsKKyAgICBpbnQgdmFsdWUs IHN1YnZhbCA9IFhFTl9TWVNDVExfQ1hfVU5MSU1JVEVEOwogICAgIGNoYXIgYnVmWzEyXTsKIAot ICAgIGlmICggYXJnYyAhPSAxIHx8CisgICAgaWYgKCBhcmdjIDwgMSB8fCBhcmdjID4gMiB8fAog ICAgICAgICAgKHNzY2FuZihhcmd2WzBdLCAiJWQiLCAmdmFsdWUpID09IDEKICAgICAgICAgICA/ IHZhbHVlIDwgMAotICAgICAgICAgIDogKHZhbHVlID0gWEVOX1NZU0NUTF9DWF9VTkxJTUlURUQs IHN0cmNtcChhcmd2WzBdLCAidW5saW1pdGVkIikpKSApCisgICAgICAgICAgOiAodmFsdWUgPSBY RU5fU1lTQ1RMX0NYX1VOTElNSVRFRCwgc3RyY21wKGFyZ3ZbMF0sICJ1bmxpbWl0ZWQiKSkpIHx8 CisgICAgICAgICAoYXJnYyA9PSAyICYmCisgICAgICAgICAgKHNzY2FuZihhcmd2WzFdLCAiJWQi LCAmc3VidmFsKSA9PSAxCisgICAgICAgICAgID8gc3VidmFsIDwgMAorICAgICAgICAgICA6IChz dWJ2YWwgPSBYRU5fU1lTQ1RMX0NYX1VOTElNSVRFRCwgc3RyY21wKGFyZ3ZbMV0sICJ1bmxpbWl0 ZWQiKSkpKSApCiAgICAgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk1pc3NpbmcsIGV4Y2Vz cywgb3IgaW52YWxpZCBhcmd1bWVudChzKVxuIik7CiAgICAgICAgIGV4aXQoRUlOVkFMKTsKQEAg LTExMzcsOCArMTE0OSwyMyBAQCB2b2lkIHNldF9tYXhfY3N0YXRlX2Z1bmMoaW50IGFyZ2MsIGNo YXIKICAgICBpZiAoICF4Y19zZXRfY3B1aWRsZV9tYXhfY3N0YXRlKHhjX2hhbmRsZSwgKHVpbnQz Ml90KXZhbHVlKSApCiAgICAgICAgIHByaW50Zigic2V0IG1heCBDLXN0YXRlIHRvICVzIHN1Y2Nl ZWRlZFxuIiwgdmFsdWUgPj0gMCA/IGJ1ZiA6IGFyZ3ZbMF0pOwogICAgIGVsc2UKKyAgICB7CiAg ICAgICAgIGZwcmludGYoc3RkZXJyLCAic2V0IG1heCBDLXN0YXRlIHRvICVzIGZhaWxlZCAoJWQg LSAlcylcbiIsCiAgICAgICAgICAgICAgICAgdmFsdWUgPj0gMCA/IGJ1ZiA6IGFyZ3ZbMF0sIGVy cm5vLCBzdHJlcnJvcihlcnJubykpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYg KCB2YWx1ZSAhPSBYRU5fU1lTQ1RMX0NYX1VOTElNSVRFRCApCisgICAgeworICAgICAgICBzbnBy aW50ZihidWYsIEFSUkFZX1NJWkUoYnVmKSwgIiVkIiwgc3VidmFsKTsKKworICAgICAgICBpZiAo ICF4Y19zZXRfY3B1aWRsZV9tYXhfY3N1YnN0YXRlKHhjX2hhbmRsZSwgKHVpbnQzMl90KXN1YnZh bCkgKQorICAgICAgICAgICAgcHJpbnRmKCJzZXQgbWF4IEMtc3Vic3RhdGUgdG8gJXMgc3VjY2Vl ZGVkXG4iLAorICAgICAgICAgICAgICAgICAgIHN1YnZhbCA+PSAwID8gYnVmIDogInVubGltaXRl ZCIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInNldCBtYXgg Qy1zdWJzdGF0ZSB0byAlcyBmYWlsZWQgKCVkIC0gJXMpXG4iLAorICAgICAgICAgICAgICAgICAg ICBzdWJ2YWwgPj0gMCA/IGJ1ZiA6ICJ1bmxpbWl0ZWQiLCBlcnJubywgc3RyZXJyb3IoZXJybm8p KTsKKyAgICB9CiB9CiAKIHZvaWQgZW5hYmxlX3R1cmJvX21vZGUoaW50IGFyZ2MsIGNoYXIgKmFy Z3ZbXSkKLS0tIGEveGVuL2RyaXZlcnMvYWNwaS9wbXN0YXQuYworKysgYi94ZW4vZHJpdmVycy9h Y3BpL3Btc3RhdC5jCkBAIC0zOTgsNyArMzk4LDQwIEBAIGludCBkb19wbV9vcChzdHJ1Y3QgeGVu X3N5c2N0bF9wbV9vcCAqb3AKICAgICBpbnQgcmV0ID0gMDsKICAgICBjb25zdCBzdHJ1Y3QgcHJv Y2Vzc29yX3BtaW5mbyAqcG1wdDsKIAotICAgIGlmICggIW9wIHx8IG9wLT5jcHVpZCA+PSBucl9j cHVfaWRzIHx8ICFjcHVfb25saW5lKG9wLT5jcHVpZCkgKQorICAgIHN3aXRjaCAoIG9wLT5jbWQg KQorICAgIHsKKyAgICBjYXNlIFhFTl9TWVNDVExfcG1fb3Bfc2V0X3NjaGVkX29wdF9zbXQ6Cisg ICAgeworICAgICAgICB1aW50MzJfdCBzYXZlZF92YWx1ZSA9IHNjaGVkX3NtdF9wb3dlcl9zYXZp bmdzOworCisgICAgICAgIGlmICggb3AtPmNwdWlkICE9IDAgKQorICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7CisgICAgICAgIHNjaGVkX3NtdF9wb3dlcl9zYXZpbmdzID0gISFvcC0+dS5zZXRf c2NoZWRfb3B0X3NtdDsKKyAgICAgICAgb3AtPnUuc2V0X3NjaGVkX29wdF9zbXQgPSBzYXZlZF92 YWx1ZTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgY2FzZSBYRU5fU1lTQ1RMX3Bt X29wX2dldF9tYXhfY3N0YXRlOgorICAgICAgICBCVUlMRF9CVUdfT04oWEVOX1NZU0NUTF9DWF9V TkxJTUlURUQgIT0gVUlOVF9NQVgpOworICAgICAgICBpZiAoIG9wLT5jcHVpZCA9PSAwICkKKyAg ICAgICAgICAgIG9wLT51LmdldF9tYXhfY3N0YXRlID0gYWNwaV9nZXRfY3N0YXRlX2xpbWl0KCk7 CisgICAgICAgIGVsc2UgaWYgKCBvcC0+Y3B1aWQgPT0gMSApCisgICAgICAgICAgICBvcC0+dS5n ZXRfbWF4X2NzdGF0ZSA9IGFjcGlfZ2V0X2NzdWJzdGF0ZV9saW1pdCgpOworICAgICAgICBlbHNl CisgICAgICAgICAgICByZXQgPSAtRUlOVkFMOworICAgICAgICByZXR1cm4gcmV0OworCisgICAg Y2FzZSBYRU5fU1lTQ1RMX3BtX29wX3NldF9tYXhfY3N0YXRlOgorICAgICAgICBpZiAoIG9wLT5j cHVpZCA9PSAwICkKKyAgICAgICAgICAgIGFjcGlfc2V0X2NzdGF0ZV9saW1pdChvcC0+dS5zZXRf bWF4X2NzdGF0ZSk7CisgICAgICAgIGVsc2UgaWYgKCBvcC0+Y3B1aWQgPT0gMSApCisgICAgICAg ICAgICBhY3BpX3NldF9jc3Vic3RhdGVfbGltaXQob3AtPnUuc2V0X21heF9jc3RhdGUpOworICAg ICAgICBlbHNlCisgICAgICAgICAgICByZXQgPSAtRUlOVkFMOworICAgICAgICByZXR1cm4gcmV0 OworICAgIH0KKworICAgIGlmICggb3AtPmNwdWlkID49IG5yX2NwdV9pZHMgfHwgIWNwdV9vbmxp bmUob3AtPmNwdWlkKSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIHBtcHQgPSBwcm9j ZXNzb3JfcG1pbmZvW29wLT5jcHVpZF07CiAKQEAgLTQzOCwzMCArNDcxLDYgQEAgaW50IGRvX3Bt X29wKHN0cnVjdCB4ZW5fc3lzY3RsX3BtX29wICpvcAogICAgICAgICBicmVhazsKICAgICB9CiAK LSAgICBjYXNlIFhFTl9TWVNDVExfcG1fb3Bfc2V0X3NjaGVkX29wdF9zbXQ6Ci0gICAgewotICAg ICAgICB1aW50MzJfdCBzYXZlZF92YWx1ZTsKLQotICAgICAgICBzYXZlZF92YWx1ZSA9IHNjaGVk X3NtdF9wb3dlcl9zYXZpbmdzOwotICAgICAgICBzY2hlZF9zbXRfcG93ZXJfc2F2aW5ncyA9ICEh b3AtPnUuc2V0X3NjaGVkX29wdF9zbXQ7Ci0gICAgICAgIG9wLT51LnNldF9zY2hlZF9vcHRfc210 ID0gc2F2ZWRfdmFsdWU7Ci0KLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgY2FzZSBYRU5f U1lTQ1RMX3BtX29wX2dldF9tYXhfY3N0YXRlOgotICAgIHsKLSAgICAgICAgQlVJTERfQlVHX09O KFhFTl9TWVNDVExfQ1hfVU5MSU1JVEVEICE9IFVJTlRfTUFYKTsKLSAgICAgICAgb3AtPnUuZ2V0 X21heF9jc3RhdGUgPSBhY3BpX2dldF9jc3RhdGVfbGltaXQoKTsKLSAgICAgICAgYnJlYWs7Ci0g ICAgfQotCi0gICAgY2FzZSBYRU5fU1lTQ1RMX3BtX29wX3NldF9tYXhfY3N0YXRlOgotICAgIHsK LSAgICAgICAgYWNwaV9zZXRfY3N0YXRlX2xpbWl0KG9wLT51LnNldF9tYXhfY3N0YXRlKTsKLSAg ICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBYRU5fU1lTQ1RMX3BtX29wX2VuYWJsZV90 dXJibzoKICAgICB7CiAgICAgICAgIHJldCA9IGNwdWZyZXFfdXBkYXRlX3R1cmJvKG9wLT5jcHVp ZCwgQ1BVRlJFUV9UVVJCT19FTkFCTEVEKTsKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0 bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaApAQCAtMzUwLDcgKzM1MCwxMSBA QCBzdHJ1Y3QgeGVuX3N5c2N0bF9wbV9vcCB7CiAgICAgLyogc2V0L3Jlc2V0IHNjaGVkdWxlciBw b3dlciBzYXZpbmcgb3B0aW9uICovCiAgICAgI2RlZmluZSBYRU5fU1lTQ1RMX3BtX29wX3NldF9z Y2hlZF9vcHRfc210ICAgIDB4MjEKIAotICAgIC8qIGNwdWlkbGUgbWF4X2NzdGF0ZSBhY2Nlc3Mg Y29tbWFuZCAqLworICAgIC8qCisgICAgICogY3B1aWRsZSBtYXggQy1zdGF0ZSBhbmQgbWF4IEMt c3ViLXN0YXRlIGFjY2VzcyBjb21tYW5kOgorICAgICAqIFNldCBjcHVpZCB0byAwIGZvciBtYXgg Qy1zdGF0ZS4KKyAgICAgKiBTZXQgY3B1aWQgdG8gMSBmb3IgbWF4IEMtc3ViLXN0YXRlLgorICAg ICAqLwogICAgICNkZWZpbmUgWEVOX1NZU0NUTF9wbV9vcF9nZXRfbWF4X2NzdGF0ZSAgICAgICAw eDIyCiAgICAgI2RlZmluZSBYRU5fU1lTQ1RMX3BtX29wX3NldF9tYXhfY3N0YXRlICAgICAgIDB4 MjMKIAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vYWNwaS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9h Y3BpLmgKQEAgLTE2Niw5ICsxNjYsMjIgQEAgc3RhdGljIGlubGluZSB2b2lkIGFjcGlfc2V0X2Nz dGF0ZV9saW1pdAogCW1heF9jc3RhdGUgPSBuZXdfbGltaXQ7CiAJcmV0dXJuOwogfQorCitzdGF0 aWMgaW5saW5lIHVuc2lnbmVkIGludCBhY3BpX2dldF9jc3Vic3RhdGVfbGltaXQodm9pZCkKK3sK KwlyZXR1cm4gbWF4X2NzdWJzdGF0ZTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFjcGlfc2V0 X2NzdWJzdGF0ZV9saW1pdCh1bnNpZ25lZCBpbnQgbmV3X2xpbWl0KQoreworCW1heF9jc3Vic3Rh dGUgPSBuZXdfbGltaXQ7Cit9CisKICNlbHNlCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBh Y3BpX2dldF9jc3RhdGVfbGltaXQodm9pZCkgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGluZSB2 b2lkIGFjcGlfc2V0X2NzdGF0ZV9saW1pdCh1bnNpZ25lZCBpbnQgbmV3X2xpbWl0KSB7IHJldHVy bjsgfQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYWNwaV9nZXRfY3N1YnN0YXRlX2xpbWl0 KHZvaWQpIHsgcmV0dXJuIDA7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBhY3BpX3NldF9jc3Vic3Rh dGVfbGltaXQodW5zaWduZWQgaW50IG5ld19saW1pdCkgeyByZXR1cm47IH0KICNlbmRpZgogCiAj aWZkZWYgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTQoKCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==