From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH 4/5] x86: allow limiting the max C-state sub-state Date: Thu, 23 May 2019 06:18:47 -0600 Message-ID: <5CE68FA70200007800231B3E@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 us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hTmgN-0005pI-3b for xen-devel@lists.xenproject.org; Thu, 23 May 2019 12:18:51 +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 , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org RnJvbTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+CgpBbGxvdyBs aW1pdGluZyB0aGUgbWF4IEMtc3RhdGUgc3ViLXN0YXRlIGJ5IGFwcGVuZGluZyB0byB0aGUgbWF4 X2NzdGF0ZQpjb21tYW5kLWxpbmUgcGFyYW1ldGVyLiBFLmcuIG1heF9jc3RhdGU9MSwwClRoZSBs aW1pdCBvbmx5IGFwcGxpZXMgdG8gdGhlIGhpZ2hlc3QgbGVnYWwgQy1zdGF0ZS4gRm9yIGV4YW1w bGU6CiBtYXhfY3N0YXRlID0gMSwgbWF4X2NzdWJzdGF0ZSA9IDAgPT0+IEMwLCBDMSBva2F5LCBi dXQgbm90IEMxRQogbWF4X2NzdGF0ZSA9IDEsIG1heF9jc3Vic3RhdGUgPSAxID09PiBDMCwgQzEg YW5kIEMxRSBva2F5LCBidXQgbm90IEMyCiBtYXhfY3N0YXRlID0gMiwgbWF4X2NzdWJzdGF0ZSA9 IDAgPT0+IEMwLCBDMSwgQzFFLCBDMiBva2F5LCBidXQgbm90IEMzCiBtYXhfY3N0YXRlID0gMiwg bWF4X2NzdWJzdGF0ZSA9IDEgPT0+IEMwLCBDMSwgQzFFLCBDMiBva2F5LCBidXQgbm90IEMzCgpT aWduZWQtb2ZmLWJ5OiBSb3NzIExhZ2Vyd2FsbCA8cm9zcy5sYWdlcndhbGxAY2l0cml4LmNvbT4K U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKLS0tIGEvZG9j cy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFu ZC1saW5lLnBhbmRvYwpAQCAtMTM2OSw5ICsxMzY5LDExIEBAIFNwZWNpZnkgdGhlIG1heGltdW0g bnVtYmVyIG9mIENQVXMgdGhhdAogVGhpcyBvcHRpb24gaXMgaWdub3JlZCBpbiAqKnB2LXNoaW0q KiBtb2RlLgogCiAjIyMgbWF4X2NzdGF0ZSAoeDg2KQotPiBgPSA8aW50ZWdlcj5gCis+IGA9IDxp bnRlZ2VyPlssPGludGVnZXI+XWAKIAotU3BlY2lmeSB0aGUgZGVlcGVzdCBDLXN0YXRlIENQVXMg YXJlIHBlcm1pdHRlZCB0byBiZSBwbGFjZWQgaW4uCitTcGVjaWZ5IHRoZSBkZWVwZXN0IEMtc3Rh dGUgQ1BVcyBhcmUgcGVybWl0dGVkIHRvIGJlIHBsYWNlZCBpbiwgYW5kCitvcHRpb25hbGx5IHRo ZSBtYXhpbXVtIHN1YiBDLXN0YXRlIHRvIGJlIHVzZWQgdXNlZC4gIFRoZSBsYXR0ZXIgb25seSBh cHBsaWVzCit0byB0aGUgaGlnaGVzdCBwZXJtaXR0ZWQgQy1zdGF0ZS4KIAogIyMjIG1heF9nc2lf aXJxcyAoeDg2KQogPiBgPSA8aW50ZWdlcj5gCi0tLSBhL3hlbi9hcmNoL3g4Ni9hY3BpL2NwdV9p ZGxlLmMKKysrIGIveGVuL2FyY2gveDg2L2FjcGkvY3B1X2lkbGUuYwpAQCAtMTA0LDcgKzEwNCwx NyBAQCBib29sIGxhcGljX3RpbWVyX2luaXQodm9pZCkKIAogdm9pZCAoKl9fcmVhZF9tb3N0bHkg cG1faWRsZV9zYXZlKSh2b2lkKTsKIHVuc2lnbmVkIGludCBtYXhfY3N0YXRlIF9fcmVhZF9tb3N0 bHkgPSBVSU5UX01BWDsKLWludGVnZXJfcGFyYW0oIm1heF9jc3RhdGUiLCBtYXhfY3N0YXRlKTsK K3Vuc2lnbmVkIGludCBtYXhfY3N1YnN0YXRlIF9fcmVhZF9tb3N0bHkgPSBVSU5UX01BWDsKKwor c3RhdGljIGludCBfX2luaXQgcGFyc2VfY3N0YXRlKGNvbnN0IGNoYXIgKnMpCit7CisgICAgbWF4 X2NzdGF0ZSA9IHNpbXBsZV9zdHJ0b3VsKHMsICZzLCAwKTsKKyAgICBpZiAoICpzID09ICcsJyAp CisgICAgICAgIG1heF9jc3Vic3RhdGUgPSBzaW1wbGVfc3RydG91bChzICsgMSwgJnMsIDApOwor ICAgIHJldHVybiAwOworfQorY3VzdG9tX3BhcmFtKCJtYXhfY3N0YXRlIiwgcGFyc2VfY3N0YXRl KTsKKwogc3RhdGljIGJvb2wgX19yZWFkX21vc3RseSBsb2NhbF9hcGljX3RpbWVyX2MyX29rOwog Ym9vbGVhbl9wYXJhbSgibGFwaWNfdGltZXJfYzJfb2siLCBsb2NhbF9hcGljX3RpbWVyX2MyX29r KTsKIApAQCAtMzQ3LDcgKzM1NywxMSBAQCBzdGF0aWMgdm9pZCBkdW1wX2N4KHVuc2lnbmVkIGNo YXIga2V5KQogCiAgICAgcHJpbnRrKCInJWMnIHByZXNzZWQgLT4gcHJpbnRpbmcgQUNQSSBDeCBz dHJ1Y3R1cmVzXG4iLCBrZXkpOwogICAgIGlmICggbWF4X2NzdGF0ZSA8IFVJTlRfTUFYICkKKyAg ICB7CiAgICAgICAgIHByaW50aygibWF4IHN0YXRlOiBDJXVcbiIsIG1heF9jc3RhdGUpOworICAg ICAgICBpZiAoIG1heF9jc3Vic3RhdGUgPCBVSU5UX01BWCApCisgICAgICAgICAgICBwcmludGso Im1heCBzdWItc3RhdGU6ICV1XG4iLCBtYXhfY3N1YnN0YXRlKTsKKyAgICB9CiAgICAgZm9yX2Vh Y2hfcHJlc2VudF9jcHUgKCBjcHUgKQogICAgIHsKICAgICAgICAgc3RydWN0IGFjcGlfcHJvY2Vz c29yX3Bvd2VyICpwb3dlciA9IHByb2Nlc3Nvcl9wb3dlcnNbY3B1XTsKQEAgLTU5MCw3ICs2MDQs MTMgQEAgc3RhdGljIHZvaWQgYWNwaV9wcm9jZXNzb3JfaWRsZSh2b2lkKQogCiAgICAgICAgIGRv IHsKICAgICAgICAgICAgIGN4ID0gJnBvd2VyLT5zdGF0ZXNbbmV4dF9zdGF0ZV07Ci0gICAgICAg IH0gd2hpbGUgKCBjeC0+dHlwZSA+IG1heF9zdGF0ZSAmJiAtLW5leHRfc3RhdGUgKTsKKyAgICAg ICAgfSB3aGlsZSAoIChjeC0+dHlwZSA+IG1heF9zdGF0ZSB8fAorICAgICAgICAgICAgICAgICAg IGN4LT5lbnRyeV9tZXRob2QgPT0gQUNQSV9DU1RBVEVfRU1fTk9ORSB8fAorICAgICAgICAgICAg ICAgICAgIChjeC0+ZW50cnlfbWV0aG9kID09IEFDUElfQ1NUQVRFX0VNX0ZGSCAmJgorICAgICAg ICAgICAgICAgICAgICBjeC0+dHlwZSA9PSBtYXhfY3N0YXRlICYmCisgICAgICAgICAgICAgICAg ICAgIChjeC0+YWRkcmVzcyAmIE1XQUlUX1NVQlNUQVRFX01BU0spID4gbWF4X2NzdWJzdGF0ZSkp ICYmCisgICAgICAgICAgICAgICAgICAtLW5leHRfc3RhdGUgKTsKKyAgICAgICAgICAgIGN4ID0g JnBvd2VyLT5zdGF0ZXNbbmV4dF9zdGF0ZV07CiAgICAgICAgIGlmICggbmV4dF9zdGF0ZSApCiAg ICAgICAgIHsKICAgICAgICAgICAgIGlmICggY3gtPnR5cGUgPT0gQUNQSV9TVEFURV9DMyAmJiBw b3dlci0+ZmxhZ3MuYm1fY2hlY2sgJiYKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9td2FpdC1pZGxl LmMKKysrIGIveGVuL2FyY2gveDg2L2NwdS9td2FpdC1pZGxlLmMKQEAgLTczMSw3ICs3MzEsOSBA QCBzdGF0aWMgdm9pZCBtd2FpdF9pZGxlKHZvaWQpCiAKIAkJZG8gewogCQkJY3ggPSAmcG93ZXIt PnN0YXRlc1tuZXh0X3N0YXRlXTsKLQkJfSB3aGlsZSAoY3gtPnR5cGUgPiBtYXhfc3RhdGUgJiYg LS1uZXh0X3N0YXRlKTsKKwkJfSB3aGlsZSAoKGN4LT50eXBlID4gbWF4X3N0YXRlIHx8IChjeC0+ dHlwZSA9PSBtYXhfY3N0YXRlICYmCisJCQkgIE1XQUlUX0hJTlQyU1VCU1RBVEUoY3gtPmFkZHJl c3MpID4gbWF4X2NzdWJzdGF0ZSkpICYmCisJCQkgLS1uZXh0X3N0YXRlKTsKIAkJaWYgKCFuZXh0 X3N0YXRlKQogCQkJY3ggPSBOVUxMOwogCQllbHNlIGlmICh0Yl9pbml0X2RvbmUpCi0tLSBhL3hl bi9pbmNsdWRlL3hlbi9hY3BpLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2FjcGkuaApAQCAtMTQx LDEzICsxNDEsMjEgQEAgdm9pZCBhY3BpX3VucmVnaXN0ZXJfZ3NpICh1MzIgZ3NpKTsKIAogI2lm ZGVmCUNPTkZJR19BQ1BJX0NTVEFURQogLyoKLSAqIFNldCBoaWdoZXN0IGxlZ2FsIEMtc3RhdGUK LSAqIDA6IEMwIG9rYXksIGJ1dCBub3QgQzEKLSAqIDE6IEMxIG9rYXksIGJ1dCBub3QgQzIKLSAq IDI6IEMyIG9rYXksIGJ1dCBub3QgQzMgZXRjLgorICogbWF4X2NzdGF0ZSBzZXRzIHRoZSBoaWdo ZXN0IGxlZ2FsIEMtc3RhdGUuCisgKiBtYXhfY3N0YXRlID0gMDogQzAgb2theSwgYnV0IG5vdCBD MQorICogbWF4X2NzdGF0ZSA9IDE6IEMxIG9rYXksIGJ1dCBub3QgQzIKKyAqIG1heF9jc3RhdGUg PSAyOiBDMiBva2F5LCBidXQgbm90IEMzIGV0Yy4KKworICogbWF4X2NzdWJzdGF0ZSBzZXRzIHRo ZSBoaWdoZXN0IGxlZ2FsIEMtc3RhdGUgc3ViLXN0YXRlLiBPbmx5IGFwcGxpZXMgdG8gdGhlCisg KiBoaWdoZXN0IGxlZ2FsIEMtc3RhdGUuCisgKiBtYXhfY3N0YXRlID0gMSwgbWF4X2NzdWJzdGF0 ZSA9IDAgPT0+IEMwLCBDMSBva2F5LCBidXQgbm90IEMxRQorICogbWF4X2NzdGF0ZSA9IDEsIG1h eF9jc3Vic3RhdGUgPSAxID09PiBDMCwgQzEgYW5kIEMxRSBva2F5LCBidXQgbm90IEMyCisgKiBt YXhfY3N0YXRlID0gMiwgbWF4X2NzdWJzdGF0ZSA9IDAgPT0+IEMwLCBDMSwgQzFFLCBDMiBva2F5 LCBidXQgbm90IEMzCisgKiBtYXhfY3N0YXRlID0gMiwgbWF4X2NzdWJzdGF0ZSA9IDEgPT0+IEMw LCBDMSwgQzFFLCBDMiBva2F5LCBidXQgbm90IEMzCiAgKi8KIAogZXh0ZXJuIHVuc2lnbmVkIGlu dCBtYXhfY3N0YXRlOworZXh0ZXJuIHVuc2lnbmVkIGludCBtYXhfY3N1YnN0YXRlOwogCiBzdGF0 aWMgaW5saW5lIHVuc2lnbmVkIGludCBhY3BpX2dldF9jc3RhdGVfbGltaXQodm9pZCkKIHsKCgoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw= 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 45490C282DD for ; Thu, 23 May 2019 12:19:05 +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 1984E20879 for ; Thu, 23 May 2019 12:19:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1984E20879 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 1hTmgO-0005pY-Dy; Thu, 23 May 2019 12:18:52 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hTmgN-0005pI-3b for xen-devel@lists.xenproject.org; Thu, 23 May 2019 12:18:51 +0000 X-Inumbo-ID: eba0dc7f-7d54-11e9-8980-bc764e045a96 Received: from prv1-mh.provo.novell.com (unknown [137.65.248.33]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id eba0dc7f-7d54-11e9-8980-bc764e045a96; Thu, 23 May 2019 12:18:49 +0000 (UTC) Received: from INET-PRV1-MTA by prv1-mh.provo.novell.com with Novell_GroupWise; Thu, 23 May 2019 06:18:49 -0600 Message-Id: <5CE68FA70200007800231B3E@prv1-mh.provo.novell.com> X-Mailer: Novell GroupWise Internet Agent 18.1.0 Date: Thu, 23 May 2019 06:18:47 -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 4/5] x86: allow limiting 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 , 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: <20190523121847.024NNodCVXYv1yVK4k8kzggZxl48wVjAFTL8Vv5NbC0@z> RnJvbTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+CgpBbGxvdyBs aW1pdGluZyB0aGUgbWF4IEMtc3RhdGUgc3ViLXN0YXRlIGJ5IGFwcGVuZGluZyB0byB0aGUgbWF4 X2NzdGF0ZQpjb21tYW5kLWxpbmUgcGFyYW1ldGVyLiBFLmcuIG1heF9jc3RhdGU9MSwwClRoZSBs aW1pdCBvbmx5IGFwcGxpZXMgdG8gdGhlIGhpZ2hlc3QgbGVnYWwgQy1zdGF0ZS4gRm9yIGV4YW1w bGU6CiBtYXhfY3N0YXRlID0gMSwgbWF4X2NzdWJzdGF0ZSA9IDAgPT0+IEMwLCBDMSBva2F5LCBi dXQgbm90IEMxRQogbWF4X2NzdGF0ZSA9IDEsIG1heF9jc3Vic3RhdGUgPSAxID09PiBDMCwgQzEg YW5kIEMxRSBva2F5LCBidXQgbm90IEMyCiBtYXhfY3N0YXRlID0gMiwgbWF4X2NzdWJzdGF0ZSA9 IDAgPT0+IEMwLCBDMSwgQzFFLCBDMiBva2F5LCBidXQgbm90IEMzCiBtYXhfY3N0YXRlID0gMiwg bWF4X2NzdWJzdGF0ZSA9IDEgPT0+IEMwLCBDMSwgQzFFLCBDMiBva2F5LCBidXQgbm90IEMzCgpT aWduZWQtb2ZmLWJ5OiBSb3NzIExhZ2Vyd2FsbCA8cm9zcy5sYWdlcndhbGxAY2l0cml4LmNvbT4K U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKLS0tIGEvZG9j cy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFu ZC1saW5lLnBhbmRvYwpAQCAtMTM2OSw5ICsxMzY5LDExIEBAIFNwZWNpZnkgdGhlIG1heGltdW0g bnVtYmVyIG9mIENQVXMgdGhhdAogVGhpcyBvcHRpb24gaXMgaWdub3JlZCBpbiAqKnB2LXNoaW0q KiBtb2RlLgogCiAjIyMgbWF4X2NzdGF0ZSAoeDg2KQotPiBgPSA8aW50ZWdlcj5gCis+IGA9IDxp bnRlZ2VyPlssPGludGVnZXI+XWAKIAotU3BlY2lmeSB0aGUgZGVlcGVzdCBDLXN0YXRlIENQVXMg YXJlIHBlcm1pdHRlZCB0byBiZSBwbGFjZWQgaW4uCitTcGVjaWZ5IHRoZSBkZWVwZXN0IEMtc3Rh dGUgQ1BVcyBhcmUgcGVybWl0dGVkIHRvIGJlIHBsYWNlZCBpbiwgYW5kCitvcHRpb25hbGx5IHRo ZSBtYXhpbXVtIHN1YiBDLXN0YXRlIHRvIGJlIHVzZWQgdXNlZC4gIFRoZSBsYXR0ZXIgb25seSBh cHBsaWVzCit0byB0aGUgaGlnaGVzdCBwZXJtaXR0ZWQgQy1zdGF0ZS4KIAogIyMjIG1heF9nc2lf aXJxcyAoeDg2KQogPiBgPSA8aW50ZWdlcj5gCi0tLSBhL3hlbi9hcmNoL3g4Ni9hY3BpL2NwdV9p ZGxlLmMKKysrIGIveGVuL2FyY2gveDg2L2FjcGkvY3B1X2lkbGUuYwpAQCAtMTA0LDcgKzEwNCwx NyBAQCBib29sIGxhcGljX3RpbWVyX2luaXQodm9pZCkKIAogdm9pZCAoKl9fcmVhZF9tb3N0bHkg cG1faWRsZV9zYXZlKSh2b2lkKTsKIHVuc2lnbmVkIGludCBtYXhfY3N0YXRlIF9fcmVhZF9tb3N0 bHkgPSBVSU5UX01BWDsKLWludGVnZXJfcGFyYW0oIm1heF9jc3RhdGUiLCBtYXhfY3N0YXRlKTsK K3Vuc2lnbmVkIGludCBtYXhfY3N1YnN0YXRlIF9fcmVhZF9tb3N0bHkgPSBVSU5UX01BWDsKKwor c3RhdGljIGludCBfX2luaXQgcGFyc2VfY3N0YXRlKGNvbnN0IGNoYXIgKnMpCit7CisgICAgbWF4 X2NzdGF0ZSA9IHNpbXBsZV9zdHJ0b3VsKHMsICZzLCAwKTsKKyAgICBpZiAoICpzID09ICcsJyAp CisgICAgICAgIG1heF9jc3Vic3RhdGUgPSBzaW1wbGVfc3RydG91bChzICsgMSwgJnMsIDApOwor ICAgIHJldHVybiAwOworfQorY3VzdG9tX3BhcmFtKCJtYXhfY3N0YXRlIiwgcGFyc2VfY3N0YXRl KTsKKwogc3RhdGljIGJvb2wgX19yZWFkX21vc3RseSBsb2NhbF9hcGljX3RpbWVyX2MyX29rOwog Ym9vbGVhbl9wYXJhbSgibGFwaWNfdGltZXJfYzJfb2siLCBsb2NhbF9hcGljX3RpbWVyX2MyX29r KTsKIApAQCAtMzQ3LDcgKzM1NywxMSBAQCBzdGF0aWMgdm9pZCBkdW1wX2N4KHVuc2lnbmVkIGNo YXIga2V5KQogCiAgICAgcHJpbnRrKCInJWMnIHByZXNzZWQgLT4gcHJpbnRpbmcgQUNQSSBDeCBz dHJ1Y3R1cmVzXG4iLCBrZXkpOwogICAgIGlmICggbWF4X2NzdGF0ZSA8IFVJTlRfTUFYICkKKyAg ICB7CiAgICAgICAgIHByaW50aygibWF4IHN0YXRlOiBDJXVcbiIsIG1heF9jc3RhdGUpOworICAg ICAgICBpZiAoIG1heF9jc3Vic3RhdGUgPCBVSU5UX01BWCApCisgICAgICAgICAgICBwcmludGso Im1heCBzdWItc3RhdGU6ICV1XG4iLCBtYXhfY3N1YnN0YXRlKTsKKyAgICB9CiAgICAgZm9yX2Vh Y2hfcHJlc2VudF9jcHUgKCBjcHUgKQogICAgIHsKICAgICAgICAgc3RydWN0IGFjcGlfcHJvY2Vz c29yX3Bvd2VyICpwb3dlciA9IHByb2Nlc3Nvcl9wb3dlcnNbY3B1XTsKQEAgLTU5MCw3ICs2MDQs MTMgQEAgc3RhdGljIHZvaWQgYWNwaV9wcm9jZXNzb3JfaWRsZSh2b2lkKQogCiAgICAgICAgIGRv IHsKICAgICAgICAgICAgIGN4ID0gJnBvd2VyLT5zdGF0ZXNbbmV4dF9zdGF0ZV07Ci0gICAgICAg IH0gd2hpbGUgKCBjeC0+dHlwZSA+IG1heF9zdGF0ZSAmJiAtLW5leHRfc3RhdGUgKTsKKyAgICAg ICAgfSB3aGlsZSAoIChjeC0+dHlwZSA+IG1heF9zdGF0ZSB8fAorICAgICAgICAgICAgICAgICAg IGN4LT5lbnRyeV9tZXRob2QgPT0gQUNQSV9DU1RBVEVfRU1fTk9ORSB8fAorICAgICAgICAgICAg ICAgICAgIChjeC0+ZW50cnlfbWV0aG9kID09IEFDUElfQ1NUQVRFX0VNX0ZGSCAmJgorICAgICAg ICAgICAgICAgICAgICBjeC0+dHlwZSA9PSBtYXhfY3N0YXRlICYmCisgICAgICAgICAgICAgICAg ICAgIChjeC0+YWRkcmVzcyAmIE1XQUlUX1NVQlNUQVRFX01BU0spID4gbWF4X2NzdWJzdGF0ZSkp ICYmCisgICAgICAgICAgICAgICAgICAtLW5leHRfc3RhdGUgKTsKKyAgICAgICAgICAgIGN4ID0g JnBvd2VyLT5zdGF0ZXNbbmV4dF9zdGF0ZV07CiAgICAgICAgIGlmICggbmV4dF9zdGF0ZSApCiAg ICAgICAgIHsKICAgICAgICAgICAgIGlmICggY3gtPnR5cGUgPT0gQUNQSV9TVEFURV9DMyAmJiBw b3dlci0+ZmxhZ3MuYm1fY2hlY2sgJiYKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9td2FpdC1pZGxl LmMKKysrIGIveGVuL2FyY2gveDg2L2NwdS9td2FpdC1pZGxlLmMKQEAgLTczMSw3ICs3MzEsOSBA QCBzdGF0aWMgdm9pZCBtd2FpdF9pZGxlKHZvaWQpCiAKIAkJZG8gewogCQkJY3ggPSAmcG93ZXIt PnN0YXRlc1tuZXh0X3N0YXRlXTsKLQkJfSB3aGlsZSAoY3gtPnR5cGUgPiBtYXhfc3RhdGUgJiYg LS1uZXh0X3N0YXRlKTsKKwkJfSB3aGlsZSAoKGN4LT50eXBlID4gbWF4X3N0YXRlIHx8IChjeC0+ dHlwZSA9PSBtYXhfY3N0YXRlICYmCisJCQkgIE1XQUlUX0hJTlQyU1VCU1RBVEUoY3gtPmFkZHJl c3MpID4gbWF4X2NzdWJzdGF0ZSkpICYmCisJCQkgLS1uZXh0X3N0YXRlKTsKIAkJaWYgKCFuZXh0 X3N0YXRlKQogCQkJY3ggPSBOVUxMOwogCQllbHNlIGlmICh0Yl9pbml0X2RvbmUpCi0tLSBhL3hl bi9pbmNsdWRlL3hlbi9hY3BpLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2FjcGkuaApAQCAtMTQx LDEzICsxNDEsMjEgQEAgdm9pZCBhY3BpX3VucmVnaXN0ZXJfZ3NpICh1MzIgZ3NpKTsKIAogI2lm ZGVmCUNPTkZJR19BQ1BJX0NTVEFURQogLyoKLSAqIFNldCBoaWdoZXN0IGxlZ2FsIEMtc3RhdGUK LSAqIDA6IEMwIG9rYXksIGJ1dCBub3QgQzEKLSAqIDE6IEMxIG9rYXksIGJ1dCBub3QgQzIKLSAq IDI6IEMyIG9rYXksIGJ1dCBub3QgQzMgZXRjLgorICogbWF4X2NzdGF0ZSBzZXRzIHRoZSBoaWdo ZXN0IGxlZ2FsIEMtc3RhdGUuCisgKiBtYXhfY3N0YXRlID0gMDogQzAgb2theSwgYnV0IG5vdCBD MQorICogbWF4X2NzdGF0ZSA9IDE6IEMxIG9rYXksIGJ1dCBub3QgQzIKKyAqIG1heF9jc3RhdGUg PSAyOiBDMiBva2F5LCBidXQgbm90IEMzIGV0Yy4KKworICogbWF4X2NzdWJzdGF0ZSBzZXRzIHRo ZSBoaWdoZXN0IGxlZ2FsIEMtc3RhdGUgc3ViLXN0YXRlLiBPbmx5IGFwcGxpZXMgdG8gdGhlCisg KiBoaWdoZXN0IGxlZ2FsIEMtc3RhdGUuCisgKiBtYXhfY3N0YXRlID0gMSwgbWF4X2NzdWJzdGF0 ZSA9IDAgPT0+IEMwLCBDMSBva2F5LCBidXQgbm90IEMxRQorICogbWF4X2NzdGF0ZSA9IDEsIG1h eF9jc3Vic3RhdGUgPSAxID09PiBDMCwgQzEgYW5kIEMxRSBva2F5LCBidXQgbm90IEMyCisgKiBt YXhfY3N0YXRlID0gMiwgbWF4X2NzdWJzdGF0ZSA9IDAgPT0+IEMwLCBDMSwgQzFFLCBDMiBva2F5 LCBidXQgbm90IEMzCisgKiBtYXhfY3N0YXRlID0gMiwgbWF4X2NzdWJzdGF0ZSA9IDEgPT0+IEMw LCBDMSwgQzFFLCBDMiBva2F5LCBidXQgbm90IEMzCiAgKi8KIAogZXh0ZXJuIHVuc2lnbmVkIGlu dCBtYXhfY3N0YXRlOworZXh0ZXJuIHVuc2lnbmVkIGludCBtYXhfY3N1YnN0YXRlOwogCiBzdGF0 aWMgaW5saW5lIHVuc2lnbmVkIGludCBhY3BpX2dldF9jc3RhdGVfbGltaXQodm9pZCkKIHsKCgoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=