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=-8.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 D3AF0CA9EAF for ; Mon, 21 Oct 2019 10:23:04 +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 952372084C for ; Mon, 21 Oct 2019 10:23:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="OPiJInAR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 952372084C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=citrix.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 1iMUph-0004D2-MG; Mon, 21 Oct 2019 10:22:37 +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 1iMUpg-0004Cx-QY for xen-devel@lists.xenproject.org; Mon, 21 Oct 2019 10:22:36 +0000 X-Inumbo-ID: b2e4791e-f3ec-11e9-944a-12813bfff9fa Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id b2e4791e-f3ec-11e9-944a-12813bfff9fa; Mon, 21 Oct 2019 10:22:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1571653356; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=26CfElcmlqhDW0PxvaM2cEULRQ/+cFQPVZRLCwABs6M=; b=OPiJInARh3dIIzdAiYFE9+ohauznrmWvhpx2D+iNkMgVtRtxOtBL2pjI WqGZrwxuJ3ELzGipsdqB0qjtu+9TGITU/Mj4p99VMxE/LLT95/RSFeRVE nnNiTYZLUUQMeG6Swv4MPWUt4sxraqCN+FgYUM/c8kHEOfJdD2qa1UNCi Y=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=roger.pau@citrix.com; spf=Pass smtp.mailfrom=roger.pau@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of roger.pau@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa3.hc3370-68.iphmx.com: domain of roger.pau@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ip4:168.245.78.127 ~all" Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: FBSW5snz7Mw3DaWDZXTXXYql2vsgDJpIoZKqGAueQd3kYAQOzsmYjHMKnySBDLaZEQ4bME9Wym KAklzYD2ICo93Y5TmEAxw2c1uz6SVlEer4W3+COIoqOUYWrIJmfVufmEaZ8HWKZyh5SX0HdhJA p4wSulX+jJ79necdRreuWxxGF7A/2zI7xQyOW/pFeDDgFp7hP68zQM6n84rJJwdjAxDvhIOBDw DFazxgWfaPV5lK61MPcaExDECqsBKiYD1Xu4GnE4X7vXxTJ0z91Bf4yIoPkQYD1zbGd8x5a2tw QO4= X-SBRS: 2.7 X-MesageID: 7191397 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.67,323,1566878400"; d="scan'208";a="7191397" Date: Mon, 21 Oct 2019 12:22:25 +0200 From: Roger Pau =?iso-8859-1?Q?Monn=E9?= To: Wei Liu Message-ID: <20191021102225.GH17494@Air-de-Roger> References: <20190930150044.5734-1-liuwe@microsoft.com> <20190930150044.5734-10-liuwe@microsoft.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190930150044.5734-10-liuwe@microsoft.com> User-Agent: Mutt/1.12.2 (2019-09-21) X-ClientProxiedBy: AMSPEX02CAS02.citrite.net (10.69.22.113) To AMSPEX02CL02.citrite.net (10.69.22.126) Subject: Re: [Xen-devel] [PATCH for-next v2 9/9] x86: introduce CONFIG_HYPERV and detection code 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: Xen Development List , Andrew Cooper , Wei Liu , Jan Beulich , Michael Kelley Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gTW9uLCBTZXAgMzAsIDIwMTkgYXQgMDQ6MDA6NDNQTSArMDEwMCwgV2VpIExpdSB3cm90ZToK PiBXZSB1c2UgdGhlIHNhbWUgY29kZSBzdHJ1Y3R1cmUgYXMgd2UgZGllIGZvciBYZW4uCj4gCj4g QXMgc3RhcnRlcnMsIGRldGVjdCBIeXBlci1WIGluIHByb2JlIHJvdXRpbmUuIE1vcmUgY29tcGxl eAo+IGZ1bmN0aW9uYWxpdGllcyB3aWxsIGJlIGFkZGVkIGxhdGVyLgo+IAo+IFNpZ25lZC1vZmYt Ynk6IFdlaSBMaXUgPGxpdXdlQG1pY3Jvc29mdC5jb20+Cj4gLS0tCj4gIHhlbi9hcmNoL3g4Ni9L Y29uZmlnICAgICAgICAgICAgICAgfCAgOSArKysrCj4gIHhlbi9hcmNoL3g4Ni9ndWVzdC9NYWtl ZmlsZSAgICAgICAgfCAgMSArCj4gIHhlbi9hcmNoL3g4Ni9ndWVzdC9oeXBlcnYvTWFrZWZpbGUg fCAgMSArCj4gIHhlbi9hcmNoL3g4Ni9ndWVzdC9oeXBlcnYvaHlwZXJ2LmMgfCA2OSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPiAgeGVuL2FyY2gveDg2L2d1ZXN0L2h5cGVydmlzb3Iu YyAgICB8ICA1ICsrKwo+ICB4ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0LmggICAgICAgIHwgIDEg Kwo+ICB4ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0L2h5cGVydi5oIHwgNDUgKysrKysrKysrKysr KysrKysrKwo+ICA3IGZpbGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCB4ZW4vYXJjaC94ODYvZ3Vlc3QvaHlwZXJ2L01ha2VmaWxlCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCB4ZW4vYXJjaC94ODYvZ3Vlc3QvaHlwZXJ2L2h5cGVydi5jCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0L2h5cGVydi5oCj4gCj4gZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9LY29uZmlnIGIveGVuL2FyY2gveDg2L0tjb25maWcKPiBpbmRl eCA1ODRiZGMxYmI4Li5jNWE5M2JhYmZlIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9LY29u ZmlnCj4gKysrIGIveGVuL2FyY2gveDg2L0tjb25maWcKPiBAQCAtMTYzLDYgKzE2MywxNSBAQCBl bmRjaG9pY2UKPiAgY29uZmlnIEdVRVNUCj4gIAlib29sCj4gIAo+ICtjb25maWcgSFlQRVJWX0dV RVNUCj4gKwlkZWZfYm9vbCBuCj4gKwlzZWxlY3QgR1VFU1QKPiArCXByb21wdCAiSHlwZXItViBH dWVzdCIKPiArCS0tLWhlbHAtLS0KPiArCSAgU3VwcG9ydCBmb3IgWGVuIGRldGVjdGluZyB3aGVu IGl0IGlzIHJ1bm5pbmcgdW5kZXIgSHlwZXItVi4KPiArCj4gKwkgIElmIHVuc3VyZSwgc2F5IE4u Cj4gKwo+ICBjb25maWcgWEVOX0dVRVNUCj4gIAlkZWZfYm9vbCBuCj4gIAlzZWxlY3QgR1VFU1QK PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2d1ZXN0L01ha2VmaWxlIGIveGVuL2FyY2gveDg2 L2d1ZXN0L01ha2VmaWxlCj4gaW5kZXggZjYzZDY0YmJlZS4uZjE2NDE5Njc3MiAxMDA2NDQKPiAt LS0gYS94ZW4vYXJjaC94ODYvZ3Vlc3QvTWFrZWZpbGUKPiArKysgYi94ZW4vYXJjaC94ODYvZ3Vl c3QvTWFrZWZpbGUKPiBAQCAtMSwzICsxLDQgQEAKPiAgb2JqLXkgKz0gaHlwZXJ2aXNvci5vCj4g IAo+ICtzdWJkaXItJChDT05GSUdfSFlQRVJWX0dVRVNUKSArPSBoeXBlcnYKPiAgc3ViZGlyLSQo Q09ORklHX1hFTl9HVUVTVCkgKz0geGVuCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9ndWVz dC9oeXBlcnYvTWFrZWZpbGUgYi94ZW4vYXJjaC94ODYvZ3Vlc3QvaHlwZXJ2L01ha2VmaWxlCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwLi42ODE3MDEwOWE5Cj4gLS0t IC9kZXYvbnVsbAo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9ndWVzdC9oeXBlcnYvTWFrZWZpbGUKPiBA QCAtMCwwICsxIEBACj4gK29iai15ICs9IGh5cGVydi5vCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9ndWVzdC9oeXBlcnYvaHlwZXJ2LmMgYi94ZW4vYXJjaC94ODYvZ3Vlc3QvaHlwZXJ2L2h5 cGVydi5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwLi40NDk0Yjg3 ZmU4Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9ndWVzdC9oeXBlcnYvaHlw ZXJ2LmMKPiBAQCAtMCwwICsxLDY5IEBACj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPiArICog YXJjaC94ODYvZ3Vlc3QvaHlwZXJ2L2h5cGVydi5jCj4gKyAqCj4gKyAqIFN1cHBvcnQgZm9yIGRl dGVjdGluZyBhbmQgcnVubmluZyB1bmRlciBIeXBlci1WLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQo+ICsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQo+ICsgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgo+ICsgKiAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArICogYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiArICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQo+ICsgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ ICsgKgo+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQo+ICsgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgSWYgbm90 LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo+ICsgKgo+ICsgKiBDb3B5cmln aHQgKGMpIDIwMTkgTWljcm9zb2Z0Lgo+ICsgKi8KPiArI2luY2x1ZGUgPHhlbi9pbml0Lmg+Cj4g Kwo+ICsjaW5jbHVkZSA8YXNtL2d1ZXN0Lmg+Cj4gKwo+ICtib29sIF9faW5pdCBoeXBlcnZfcHJv YmUodm9pZCkKPiArewo+ICsgICAgdWludDMyX3QgZWF4LCBlYngsIGVjeCwgZWR4Owo+ICsgICAg Ym9vbCBoeXBlcnZfZ3Vlc3QgPSBmYWxzZTsKCkkgZG9uJ3QgdGhpbmsgeW91IG5lZWQgdGhpcyBs b2NhbCB2YXJpYWJsZSwgeW91IGNhbiByZXR1cm4gdHJ1ZSBpbiBpZgp0aGUgaWYgY29uZGl0aW9u IG1hdGNoZXMsIGFuZCBmYWxzZSBvdGhlcndpc2UuCgo+ICsKPiArICAgIGNwdWlkKDB4NDAwMDAw MDAsICZlYXgsICZlYngsICZlY3gsICZlZHgpOwo+ICsgICAgaWYgKCAoZWJ4ID09IDB4NzI2MzY5 NGQpICYmIC8qICJNaWNyIiAqLwo+ICsgICAgICAgICAoZWN4ID09IDB4NjY2ZjczNmYpICYmIC8q ICJvc29mIiAqLwo+ICsgICAgICAgICAoZWR4ID09IDB4NzY0ODIwNzQpICkgIC8qICJ0IEh2IiAq LwoKSSBndWVzcyB0aGVyZSBhcmUgbm8gSHlwZXJWIGhlYWRlcnMgdG8gaW1wb3J0IHRoYXQgaGF2 ZSB0aG9zZSB2YWx1ZXMKZGVmaW5lZD8KCkFsdGVybmF0aXZlbHkgeW91IGNvdWxkIGRvIHNvbWV0 aGluZyBsaWtlIHRoZSBmb2xsb3dpbmcgSSB0aGluazoKCnN0YXRpYyBjb25zdCBjaGFyIGh5cGVy dl9zaWdbXSBfX2luaXRjb25zdCA9ICJNaWNyb3NvZnQgSHYiOwoKYm9vbCBfX2luaXQgaHlwZXJ2 X3Byb2JlKHZvaWQpCnsKICAgIHVpbnQzMl90IGVheCwgc2lnWzNdOwoKICAgIGNwdWlkKDB4NDAw MDAwMDAsICZlYXgsICZzaWdbMF0sICZzaWdbMV0sICZzaWdbMl0pOwogICAgaWYgKCAhc3RybmNt cChoeXBlcnZfc2lnLCBzaWcsIHN0cm5jbXAoaHlwZXJ2X3NpZykgKQogICAgICAgIHJldHVybiB0 cnVlOwoKICAgIHJldHVybiBmYWxzZTsKfQoKPiArICAgICAgICBoeXBlcnZfZ3Vlc3QgPSB0cnVl Owo+ICsKPiArICAgIHJldHVybiBoeXBlcnZfZ3Vlc3Q7Cj4gK30KPiArCj4gK3ZvaWQgX19pbml0 IGh5cGVydl9zZXR1cCh2b2lkKQo+ICt7Cj4gKyAgICAvKiBOb3RoaW5nIHlldCAqLwo+ICt9Cj4g Kwo+ICt2b2lkIGh5cGVydl9hcF9zZXR1cCh2b2lkKQo+ICt7Cj4gKyAgICAvKiBOb3RoaW5nIHll dCAqLwo+ICt9Cj4gKwo+ICt2b2lkIGh5cGVydl9yZXN1bWUodm9pZCkKPiArewo+ICsgICAgLyog Tm90aGluZyB5ZXQgKi8KPiArfQoKVGhlcmUncyBubyBuZWVkIHRvIGludHJvZHVjZSBzdWNoIGR1 bW15IGZ1bmN0aW9ucywganVzdCBsZWF2aW5nIHRoZQpwb2ludGVycyBhcyBOVUxMIHNob3VsZCB3 b3JrIGZpbmUsIGFuZCB0aGUgZnVuY3Rpb25zIGNhbiBiZSBpbnRyb2R1Y2VkCndoZW4gdGhlcmUn cyBsb2dpYyBpbiB0aGVtLgoKPiArCj4gK3N0cnVjdCBoeXBlcnZpc29yX29wcyBoeXBlcnZfaHlw ZXJ2aXNvcl9vcHMgPSB7Cj4gKyAgICAubmFtZSA9ICJIeXBlci1WIiwKPiArICAgIC5zZXR1cCA9 IGh5cGVydl9zZXR1cCwKPiArICAgIC5hcF9zZXR1cCA9IGh5cGVydl9hcF9zZXR1cCwKPiArICAg IC5yZXN1bWUgPSBoeXBlcnZfcmVzdW1lLAo+ICt9Owo+ICsKPiArLyoKPiArICogTG9jYWwgdmFy aWFibGVzOgo+ICsgKiBtb2RlOiBDCj4gKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKPiArICogYy1i YXNpYy1vZmZzZXQ6IDQKPiArICogdGFiLXdpZHRoOiA0Cj4gKyAqIGluZGVudC10YWJzLW1vZGU6 IG5pbAo+ICsgKiBFbmQ6Cj4gKyAqLwo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZ3Vlc3Qv aHlwZXJ2aXNvci5jIGIveGVuL2FyY2gveDg2L2d1ZXN0L2h5cGVydmlzb3IuYwo+IGluZGV4IDgx NjFiMjZjNWEuLjg3YTE5NWU4ODggMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gveDg2L2d1ZXN0L2h5 cGVydmlzb3IuYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9ndWVzdC9oeXBlcnZpc29yLmMKPiBAQCAt NDAsNiArNDAsMTEgQEAgYm9vbCBoeXBlcnZpc29yX3Byb2JlKHZvaWQpCj4gICAgICAgICAgaG9w cyA9ICZ4ZW5faHlwZXJ2aXNvcl9vcHM7Cj4gICNlbmRpZgo+ICAKPiArI2lmZGVmIENPTkZJR19I WVBFUlZfR1VFU1QKPiArICAgIGlmICggaHlwZXJ2X3Byb2JlKCkgKQo+ICsgICAgICAgIGhvcHMg PSAmaHlwZXJ2X2h5cGVydmlzb3Jfb3BzOwo+ICsjZW5kaWYKClRoaXMgd29uJ3Qgd29yayBjb3Jy ZWN0bHkgaWYgWGVuIGhhcyB2aXJpZGlhbiBleHRlbnNpb25zIGVuYWJsZWQsCnNpbmNlIHRoZSBI eXBlclYgcHJvYmUgd2lsbCBvdmVyd3JpdGUgdGhlIFhlbiBvbmUuCgo+ICsKPiAgICAgIHJldHVy biAhIWhvcHM7Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vl c3QuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QuaAo+IGluZGV4IDhlMTY3MTY1YWUuLjk0 NDQ4NjA2ZDQgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdC5oCj4gKysr IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdC5oCj4gQEAgLTIwLDYgKzIwLDcgQEAKPiAgI2Rl ZmluZSBfX1g4Nl9HVUVTVF9IX18KPiAgCj4gICNpbmNsdWRlIDxhc20vZ3Vlc3QvaHlwZXJjYWxs Lmg+Cj4gKyNpbmNsdWRlIDxhc20vZ3Vlc3QvaHlwZXJ2Lmg+Cj4gICNpbmNsdWRlIDxhc20vZ3Vl c3QvaHlwZXJ2aXNvci5oPgo+ICAjaW5jbHVkZSA8YXNtL2d1ZXN0L3B2aC1ib290Lmg+Cj4gICNp bmNsdWRlIDxhc20vZ3Vlc3QveGVuLmg+Cj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvZ3Vlc3QvaHlwZXJ2LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0L2h5cGVydi5oCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwLi5hMmQ4ZWU4OTg3Cj4gLS0t IC9kZXYvbnVsbAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QvaHlwZXJ2LmgKPiBA QCAtMCwwICsxLDQ1IEBACj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPiArICogYXNtLXg4Ni9n dWVzdC9oeXBlcnYuaAo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwo+ICsgKiBMaWNl bnNlLCB2ZXJzaW9uIDIsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiArICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKPiArICog R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsgKgo+ICsgKiBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKPiAr ICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTkgTWlj cm9zb2Z0Lgo+ICsgKi8KPiArCj4gKyNpZm5kZWYgX19YODZfR1VFU1RfSFlQRVJWX0hfXwo+ICsj ZGVmaW5lIF9fWDg2X0dVRVNUX0hZUEVSVl9IX18KPiArCj4gKyNpZmRlZiBDT05GSUdfSFlQRVJW X0dVRVNUCj4gKwo+ICsjaW5jbHVkZSA8YXNtL2d1ZXN0L2h5cGVydmlzb3IuaD4KPiArCj4gK2V4 dGVybiBzdHJ1Y3QgaHlwZXJ2aXNvcl9vcHMgaHlwZXJ2X2h5cGVydmlzb3Jfb3BzOwoKaHlwZXJ2 X29wcyB3b3VsZCBiZSBmaW5lIGJ5IG1lLCBzZWVtcyBraW5kIG9mIHJlZHVuZGFudCB0byBoYXZl CidoeXBlcicgdHdpY2UgaW4gYSBuYW1lLgoKVGhhbmtzLCBSb2dlci4KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v cmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=