Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp6069676rdb; Mon, 18 Sep 2023 03:16:58 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHEnWecKRuMwRanyDUsO7pRJQXkkOX7OnbR5al/05SrukMwLr8MC3zBfdXIb+Uz/YsJij7z X-Received: by 2002:a05:6a21:338e:b0:14e:2208:d62f with SMTP id yy14-20020a056a21338e00b0014e2208d62fmr13361107pzb.22.1695032217021; Mon, 18 Sep 2023 03:16:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695032217; cv=none; d=google.com; s=arc-20160816; b=zDFoQZkcalyPwLisrMNstxoMTvVlIDdKHOkyuV3ANpl/F+bsXz9xjSv/FTA+B+y09N rg0GFIuzBYnLALcB8TGAr2rAc7eC4+vvFl+qB+batLL/0WYYissDZEtUPxKdCMMhI20B 9aa+HYxd8E955wBIzN1Vf9mf89TW2j39Tu/ILYuBAwc0c5JShHRn+CTmNth8nxO4tptP MVhrt7w6JDwstzTivQ6xi9o16rReB3WTMFsJ2+ZtC5ZUeM9wO+D1w6VfSt0pA6AGhip+ HRiYuuQ/T24A4AiVb1ZuELcVFhTSEOASv0YlL/DXV2ID0bCI91dPHGWagbCFGYr9SWOA zUhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=pyo06pKNnJJNoJ+zjYuTzutG28oP6lWWxnAYYRZB4yg=; fh=2kEQFgNKkI+Clm/dnevnsqW8XSTQPGndn6kZXrPd5dY=; b=Y4Ins85rkTPhZmnpCYW8wWhX6cjLM30ApXHBtAxzf69hz6PE+fHdpfi65liy6JZzW0 oH2jgQ6UvCB97azUJg3OOlutr4WwG3lO+WDZdU5dCpsMvQsK9Ig25ZrHDh//uarhjt5D 0Em7aRbw/Q9LxGSL09lv6PYpv6Wu5UXIt+spQieKrAG2ya0FunpLZ1OC0gfmVngLX05T 4kXYIpKdZpnd6C9hqgseCn8LpWpwhUoSu6y8BTR2s2k/iIOnW/dj1A8tVzwK5ZA2FIex 3yUK78+pPLGKuyqrehEOcZz20TSN2WM4q7RLVGYkpN48ls3qBENrSOHW/1KdW7bD4x5o 0JXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.de header.s=amazon201209 header.b=YeW+zs3t; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.de Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id l10-20020a654c4a000000b0056aea4cc1c9si7737548pgr.653.2023.09.18.03.16.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Sep 2023 03:16:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.de header.s=amazon201209 header.b=YeW+zs3t; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 7841E80978AD; Mon, 18 Sep 2023 02:43:40 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241033AbjIRJnK (ORCPT + 99 others); Mon, 18 Sep 2023 05:43:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57490 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241137AbjIRJm6 (ORCPT ); Mon, 18 Sep 2023 05:42:58 -0400 Received: from smtp-fw-9102.amazon.com (smtp-fw-9102.amazon.com [207.171.184.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D3E9B11B; Mon, 18 Sep 2023 02:41:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209; t=1695030083; x=1726566083; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=pyo06pKNnJJNoJ+zjYuTzutG28oP6lWWxnAYYRZB4yg=; b=YeW+zs3tcIBTNhvZw1PFhR5ZSIw+Z1W0TcREUj4ygeXDgiaceH6n+KJj kR18nSYULnmp4YjiaYGEh7q+ytOOYzvlTKGJhFGfqrwxUtoXLs75X8rYx UrZHy5UhJlRS3K0lRcf5oE4v4zKDCpONNjbpH9Z1eM6yx+iHYZJTpniBt Q=; X-IronPort-AV: E=Sophos;i="6.02,156,1688428800"; d="scan'208";a="364113906" Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO email-inbound-relay-iad-1a-m6i4x-54a853e6.us-east-1.amazon.com) ([10.25.36.214]) by smtp-border-fw-9102.sea19.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 09:41:16 +0000 Received: from EX19MTAUWA002.ant.amazon.com (iad12-ws-svc-p26-lb9-vlan3.iad.amazon.com [10.40.163.38]) by email-inbound-relay-iad-1a-m6i4x-54a853e6.us-east-1.amazon.com (Postfix) with ESMTPS id 0B3844803B; Mon, 18 Sep 2023 09:41:11 +0000 (UTC) Received: from EX19D020UWC004.ant.amazon.com (10.13.138.149) by EX19MTAUWA002.ant.amazon.com (10.250.64.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.37; Mon, 18 Sep 2023 09:41:11 +0000 Received: from [0.0.0.0] (10.253.83.51) by EX19D020UWC004.ant.amazon.com (10.13.138.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.37; Mon, 18 Sep 2023 09:41:08 +0000 Message-ID: <63b382bf-d1fb-464f-ab06-4185f796a85f@amazon.de> Date: Mon, 18 Sep 2023 11:41:06 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC] KVM: x86: Allow userspace exit on HLT and MWAIT, else yield on MWAIT Content-Language: en-GB To: David Woodhouse , , "Peter Zijlstra" CC: Sean Christopherson , Paolo Bonzini , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , , "H. Peter Anvin" , , Nicolas Saenz Julienne , "Griffoul, Fred" References: <1b52b557beb6606007f7ec5672eab0adf1606a34.camel@infradead.org> From: Alexander Graf In-Reply-To: <1b52b557beb6606007f7ec5672eab0adf1606a34.camel@infradead.org> X-Originating-IP: [10.253.83.51] X-ClientProxiedBy: EX19D031UWA002.ant.amazon.com (10.13.139.96) To EX19D020UWC004.ant.amazon.com (10.13.138.149) Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,T_SPF_PERMERROR,URI_DOTEDU autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 18 Sep 2023 02:43:40 -0700 (PDT) Ck9uIDE4LjA5LjIzIDExOjA2LCBEYXZpZCBXb29kaG91c2Ugd3JvdGU6Cj4gRnJvbTogRGF2aWQg V29vZGhvdXNlIDxkd213QGFtYXpvbi5jby51az4KPgo+IFRoZSBWTU0gbWF5IGhhdmUgd29yayB0 byBkbyBvbiBiZWhhbGYgb2YgdGhlIGd1ZXN0LCBhbmQgaXQncyBvZnRlbgo+IGRlc2lyYWJsZSB0 byB1c2UgdGhlIGN5Y2xlcyB3aGVuIHRoZSB2Q1BVUyBhcmUgaWRsZS4KPgo+IFdoZW4gdGhlIHZD UFUgdXNlcyBITFQgdGhpcyB3b3JrcyBvdXQgT0sgYmVjYXVzZSB0aGUgVk1NIGNhbiBydW4gaXRz Cj4gdGFza3MgaW4gYSBzZXBhcmF0ZSB0aHJlYWQgd2hpY2ggZ2V0cyBzY2hlZHVsZWQgd2hlbiB0 aGUgaW4ta2VybmVsCj4gZW11bGF0aW9uIG9mIEhMVCBzY2hlZHVsZXMgYXdheS4gSXQgaXNuJ3Qg cGVyZmVjdCwgYmVjYXVzZSBpdCBkb2Vzbid0Cj4gZWFzaWx5IGFsbG93IGZvciBoYW5kbGluZyBi b3RoIGxvdy1wcmlvcml0eSBtYWludGVuYW5jZSB0YXNrcyB3aGVuIHRoZQo+IFZNTSB3YW50cyB0 byB3YWl0IHVudGlsIHRoZSB2Q1BVIGlzIGlkbGUsIGFuZCBhbHNvIGZvciBoaWdoZXIgcHJpb3Jp dHkKPiB0YXNrcyB3aGVyZSB0aGUgVk1NIGRvZXMgd2FudCB0byBwcmVlbXB0IHRoZSB2Q1BVLiBJ dCBjYW4gYWxzbyBsZWFkIHRvCj4gbm9pc3kgbmVpZ2hib3VyIGVmZmVjdHMsIHdoZW4gYSBob3N0 IGhhcyBpc24ndCBuZWNlc3NhcmlseSBzaXplZCB0bwo+IGV4cGVjdCBhbnkgZ2l2ZW4gVk1NIHRv IHN1ZGRlbmx5IGJlIGNvbnRlbmRpbmcgZm9yIG1hbnkgKm1vcmUqIHBDUFVzCj4gdGhhbiBpdCBo YXMgdkNQVXMuCj4KPiBJbiBhZGRpdGlvbiwgdGhlcmUgYXJlIHRpbWVzIHdoZW4gd2UgbmVlZCB0 byBleHBvc2UgTVdBSVQgdG8gYSBndWVzdAo+IGZvciBjb21wYXRpYmlsaXR5IHdpdGggYSBwcmV2 aW91cyBlbnZpcm9ubWVudC4gQW5kIE1XQUlUIGlzIG11Y2ggaGFyZGVyCj4gYmVjYXVzZSBpdCdz IHZlcnkgaGFyZCB0byBlbXVsYXRlIHByb3Blcmx5Lgo+Cj4gVGhlcmUgd2VyZSBhdHRlbXB0cyBh dCBkb2luZyBzbyBiYXNlZCBvbiBtYXJraW5nIHRoZSB0YXJnZXQgcGFnZSByZWFkLQo+IG9ubHkg aW4gTU9OSVRPUiBhbmQgdHJpZ2dlcmluZyB0aGUgd2FrZSB3aGVuIGl0IHRha2VzIGEgbWlub3Ig ZmF1bHQsCj4gYnV0IHNvIGZhciB0aGV5IGhhdmVuJ3QgbGVkIHRvIGEgd29ya2luZyBzb2x1dGlv bjoKPiBodHRwczovL3d3dy5jb250cmliLmFuZHJldy5jbXUuZWR1L35zb21sby9PU1hLVk0vbXdh aXQuaHRtbAo+Cj4gU28gd2hlbiBhIGd1ZXN0IGV4ZWN1dGVzIE1XQUlULCBlaXRoZXIgd2UndmUg ZGlzYWJsZWQgZXhpdC1vbi1td2FpdCBhbmQKPiB0aGUgZ3Vlc3QgYWN0dWFsbHkgc2l0cyBpbiBu b24tcm9vdCBtb2RlIGhvZ2dpbmcgdGhlIHBDUFUsIG9yIGlmIHdlIGRvCj4gZW5hYmxlIGV4aXQt b24tbXdhaXQgdGhlIGtlcm5lbCBqdXN0IHRyZWF0cyBpdCBhcyBhIE5PUCBhbmQgYm91bmNlcwo+ IHJpZ2h0IGJhY2sgaW50byB0aGUgZ3Vlc3QgdG8gYnVzeS13YWl0IHJvdW5kIGl0cyBpZGxlIGxv b3AuCj4KPiBGb3IgYSBzdGFydCwgd2UgY2FuIHN0aWNrIGEgeWllbGQoKSBpbnRvIHRoYXQgYnVz eS1sb29wLiBUaGUgeWllbGQoKQo+IGhhcyBmYWlybHkgcG9vcmx5IGRlZmluZWQgc2VtYW50aWNz LCBidXQgaXQncyBiZXR0ZXIgdGhhbiAqbm90aGluZyogYW5kCj4gZG9lcyBhbGxvdyBhIFZNTSdz IHRocmVhZC1iYXNlZCBJL08gYW5kIG1haW50ZW5hbmNlIHRhc2tzIHRvIHJ1biBhCj4gKmxpdHRs ZSogYmV0dGVyLgo+Cj4gQmV0dGVyIHN0aWxsLCB3ZSBjYW4gYm91bmNlIGFsbCB0aGUgd2F5IG91 dCB0byAqdXNlcnNwYWNlKiBvbiBhbiBNV0FJVAo+IGV4aXQsIGFuZCBsZXQgdGhlIFZNTSBwZXJm b3JtIHNvbWUgb2YgaXRzIHBlbmRpbmcgd29yayByaWdodCB0aGVyZSBhbmQKPiB0aGVuIGluIHRo ZSB2Q1BVIHRocmVhZCBiZWZvcmUgcmUtZW50ZXJpbmcgdGhlIHZDUFUuIFRoYXQncyBtdWNoIG5p Y2VyCj4gdGhhbiB5aWVsZCgpLiBUaGUgdkNQVSBpcyBzdGlsbCBydW5uYWJsZSwgc2luY2Ugd2Ug c3RpbGwgZG9uJ3QgaGF2ZSBhCj4gKnJlYWwqIGVtdWxhdGlvbiBvZiBNV0FJVCwgc28gdGhlIHZD UFUgdGhyZWFkIGNhbiBkbyBhICpsaXR0bGUqIGJpdCBvZgo+IHdvcmsgYW5kIHRoZW4gZ28gYmFj ayBpbnRvIHRoZSB2Q1BVIGZvciBhbm90aGVyIHR1cm4gYXJvdW5kIHRoZSBsb29wLgo+Cj4gQW5k IGlmIHdlJ3JlIGdvaW5nIHRvIGRvIHRoYXQga2luZCBvZiB0YXNrIHByb2Nlc3NpbmcgZm9yIE1X QUlULWlkbGUKPiBndWVzdHMgZGlyZWN0bHkgZnJvbSB0aGUgdkNQVSB0aHJlYWQsIGl0J3MgbmVh dGVyIHRvIGRvIGl0IGZvciBITFQtaWRsZQo+IGd1ZXN0cyB0aGF0IHdheSB0b28uCj4KPiBGb3Ig SExULCB0aGUgdkNQVSAqaXNuJ3QqIHJ1bm5hYmxlOyBpdCdsbCBiZSBpbiBLVk1fTVBfU1RBVEVf SEFMVEVELgo+IFRoZSBWTU0gY2FuIHBvbGwgdGhlIG1wX3N0YXRlIGFuZCBrbm93IHdoZW4gdGhl IHZDUFUgc2hvdWxkIGJlIHJ1bgo+IGFnYWluLiBCdXQgbm90IHBvbGwoKSwgYWx0aG91Z2ggd2Ug bWlnaHQgd2FudCB0byBob29rIHVwIHNvbWV0aGluZyBsaWtlCj4gdGhhdCAob3IganVzdCBhIHNp Z25hbCBvciBldmVudGZkKSBmb3Igb3RoZXIgcmVhc29ucyBmb3IgVlNNIGFueXdheS4KPiBUaGUg Vk1NIGNhbiBhbHNvIGp1c3QgZG8gc29tZSB3b3JrIGFuZCB0aGVuIHJlLWVudGVyIHRoZSB2Q1BV IHdpdGhvdXQKPiB0aGUgY29ycmVzcG9uZGluZyBiaXQgc2V0IGluIHRoZSBrdm1fcnVuIHN0cnVj dC4KPgo+IFNvLCBlciwgd2hhdCBkb2VzIHRoaXMgcGF0Y2ggZG8/IEFkZCBhIGNhcGFiaWxpdHks IGRlZmluZSB0d28gYml0cyBmb3IKPiBleGl0aW5nIHRvIHVzZXJzcGFjZSBvbiBITFQgb3IgTVdB SVQg4oCUIGluIHRoZSBrdm1fcnVuIHN0cnVjdCByYXRoZXIKPiB0aGFuIG5lZWRpbmcgYSBzZXBh cmF0ZSBpb2N0bCB0byB0dXJuIHRoZW0gb24gb3Igb2ZmLCBzbyB0aGF0IHRoZSBWTU0KPiBjYW4g bWFrZSB0aGUgZGVjaXNpb24gZWFjaCB0aW1lIGl0IGVudGVycyB0aGUgdkNQVS4gSG9vayBpdCB1 cCB0bwo+IChhYj8pdXNlIHRoZSBleGlzdGluZyBLVk1fRVhJVF9ITFQgd2hpY2ggd2FzIHByZXZp b3VzbHkgb25seSB1c2VkIHdoZW4KPiB0aGUgbG9jYWwgQVBJQyB3YXMgZW11bGF0ZWQgaW4gdXNl cnNwYWNlLCBhbmQgYWRkIGEgbmV3IEtWTV9FWElUX01XQUlULgo+Cj4gRmFpcmx5IG11Y2ggdW50 ZXN0ZWQuCj4KPiBJZiB0aGlzIGFwcHJvYWNoIHNlZW1zIHJlYXNvbmFibGUsIG9mIGNvdXJzZSBJ J2xsIGFkZCB0ZXN0IGNhc2VzIGFuZAo+IHByb3BlciBkb2N1bWVudGF0aW9uIGJlZm9yZSBwb3N0 aW5nIGl0IGZvciByZWFsLiBUaGlzIGlzIHRoZSBwcm9vZiBvZgo+IGNvbmNlcHQgYmVmb3JlIHdl IGV2ZW4gcHV0IGl0IHRocm91Z2ggdGVzdGluZyB0byBzZWUgd2hhdCBwZXJmb3JtYW5jZQo+IHdl IGdldCBvdXQgb2YgaXQgZXNwZWNpYWxseSBmb3IgdGhvc2Ugb2Jub3hpb3VzIE1XQUlULWVuYWJs ZWQgZ3Vlc3RzLgo+Cj4gU2lnbmVkLW9mZi1ieTogRGF2aWQgV29vZGhvdXNlIDxkd213QGFtYXpv bi5jby51az4KCgpJSVVDIHlvdSB3YW50IHRvIGRvIHdvcmsgaW4gYSB1c2VyIHNwYWNlIHZDUFUg dGhyZWFkIHdoZW4gdGhlIGd1ZXN0IHZDUFUgCmlzIGlkbGUuIEFzIHlvdSBwb2ludGVkIG91dCBh Ym92ZSwgS1ZNIGNhbiBub3QgYWN0dWFsbHkgZG8gbXVjaCBhYm91dCAKTVdBSVQ6IEl0IGJhc2lj YWxseSBidXN5IGxvb3BzIGFuZCBob2dzIHRoZSBDUFUuCgpUaGUgdHlwaWNhbCBmbG93IEkgd291 bGQgZXhwZWN0IGZvciAid29yayBpbiBhIHZDUFUgdGhyZWFkIiBpczoKCjApIHZDUFUgcnVucy4g SExUL01XQUlUIGlzIGRpcmVjdGx5IGV4cG9zZWQgdG8gZ3Vlc3QuCjEpIHZDUFUgZXhpdHMuIENy ZWF0ZXMgZGVmZXJyZWQgd29yay4gRW5hYmxlcyBITFQvTVdBSVQgdHJhcHBpbmcuCjIpIHZDUFUg cnVucyBhZ2FpbgozKSB2Q1BVIGNhbGxzIEhMVC9NV0FJVC4gV2UgZXhpdCB0byB1c2VyIHNwYWNl IHRvIGZpbmlzaCB3b3JrIGZyb20gMQo0KSB2Q1BVIHJ1bnMgYWdhaW4gd2l0aG91dCBITFQvTVdB SVQgdHJhcHBpbmcKClRoYXQgbWVhbnMgb24gdG9wIChvciBpbnN0ZWFkPykgb2YgdGhlIGJpdHMg eW91IGhhdmUgYmVsb3cgdGhhdCBpbmRpY2F0ZSAKIlNob3VsZCBJIGV4aXQgdG8gdXNlciBzcGFj ZT8iLCB3aGF0IHlvdSByZWFsbHkgbmVlZCBhcmUgYml0cyB0aGF0IGRvIAp3aGF0IGVuYWJsZV9j YXAoS1ZNX0NBUF9YODZfRElTQUJMRV9FWElUUykgZG9lcyBpbiBsaWdodC13ZWlnaHQ6IERpc2Fi bGUgCkhMVC9NV0FJVCB0cmFwcGluZyB0ZW1wb3JhcmlseS4KCkFsc28sIHBsZWFzZSBrZWVwIGlu IG1pbmQgdGhhdCB5b3Ugc3RpbGwgd291bGQgbmVlZCBhIGZhbGxiYWNrIG1lY2hhbmlzbSAKdG8g cnVuIHlvdXIgImRlZmVycmVkIHdvcmsiIGV2ZW4gd2hlbiB0aGUgZ3Vlc3QgZG9lcyBub3QgY2Fs bCBITFQvTVdBSVQsIApsaWtlIGEgcmVndWxhciB0aW1lciBpbiB5b3VyIG1haW4gdGhyZWFkLgoK T24gdG9wIG9mIGFsbCB0aGlzLCBJJ20gbm90IHN1cmUgaXQncyBtb3JlIGVmZmljaWVudCB0byBk byB0aGUgdHJhcCB0byAKdGhlIHZDUFUgdGhyZWFkIGNvbXBhcmVkIHRvIGp1c3QgY3JlYXRpbmcg YSBzZXBhcmF0ZSByZWFsIHRocmVhZC4gWW91ciAKbWFpbiBwcm9ibGVtIGlzIHRoZSBlbXVsYXRh YmlsaXR5IG9mIE1XQUlUIGJlY2F1c2UgdGhhdCBsZWF2ZXMgIm5vIHRpbWUiIAp0byBkbyBkZWZl cnJlZCB3b3JrLiBCdXQgdGhlbiBhZ2FpbiwgaWYgeW91ciBkZWZlcnJlZCB3b3JrIGlzIHNvIGNv bXBsZXggCnRoYXQgaXQgbmVlZHMgbW9yZSB0aGFuIGEgZmV3IG1zICh3aGljaCB5b3UgY2FuIGFs d2F5cyBzdGVhbCBmcm9tIHRoZSAKdkNQVSB0aHJlYWQsIGVzcGVjaWFsbCB3aXRoIHlpZWxkKCkp LCB5b3UnbGwgbmVlZCB0byBzdGFydCBpbXBsZW1lbnRpbmcgCnRpbWUgc2xpY2luZyBvZiB0aGF0 IHdvcmsgaW4gdXNlciBzcGFjZSBuZXh0IC0gYW5kIGJhc2ljYWxseSByZWJ1aWxkIAp5b3VyIG93 biBzY2hlZHVsZXIgdGhlcmUuIFVnaC4KCklNSE8gdGhlIHJlYWwgY29yZSB2YWx1ZSBvZiB0aGlz IGlkZWEgd291bGQgYmUgaW4gYSB2Y3B1X3J1biBiaXQgdGhhdCBvbiAKVkNQVV9SVU4gY2FuIHRv Z2dsZSBiZXR3ZWVuIEhMVC9NV0FJVCBpbnRlcmNlcHQgb24gYW5kIG9mZi4gVGhlIGFjdHVhbCAK dHJhcCB0byB1c2VyIHNwYWNlLCB5b3UncmUgbW9zdCBsaWtlbHkgYmV0dGVyIG9mZiB3aXRoIGEg c2VwYXJhdGUgdGhyZWFkLgoKCkFsZXgKCgo+Cj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2bS94 ODYuYyBiL2FyY2gveDg2L2t2bS94ODYuYwo+IGluZGV4IGE2NTgyYzFmZDhiOS4uOGY5MzE1Mzkx MTRhIDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L2t2bS94ODYuYwo+ICsrKyBiL2FyY2gveDg2L2t2 bS94ODYuYwo+IEBAIC0yMTI4LDkgKzIxMjgsMjMgQEAgc3RhdGljIGludCBrdm1fZW11bGF0ZV9t b25pdG9yX213YWl0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgY29uc3QgY2hhciAqaW5zbikKPiAg IAlwcl93YXJuX29uY2UoIiVzIGluc3RydWN0aW9uIGVtdWxhdGVkIGFzIE5PUCFcbiIsIGluc24p Owo+ICAgCXJldHVybiBrdm1fZW11bGF0ZV9hc19ub3AodmNwdSk7Cj4gICB9Cj4gKwo+ICAgaW50 IGt2bV9lbXVsYXRlX213YWl0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKPiAgIHsKPiAtCXJldHVy biBrdm1fZW11bGF0ZV9tb25pdG9yX213YWl0KHZjcHUsICJNV0FJVCIpOwo+ICsJaW50IHJldCA9 IGt2bV9lbXVsYXRlX21vbml0b3JfbXdhaXQodmNwdSwgIk1XQUlUIik7Cj4gKwo+ICsJaWYgKHJl dCAmJiBrdm1fdXNlcnNwYWNlX2V4aXQodmNwdSwgS1ZNX0VYSVRfTVdBSVQpKSB7Cj4gKwkJdmNw dS0+cnVuLT5leGl0X3JlYXNvbiA9IEtWTV9FWElUX01XQUlUOwo+ICsJCXJldCA9IDA7Cj4gKwl9 IGVsc2Ugewo+ICsJCS8qCj4gKwkJICogQ2FsbGluZyB5aWVsZCgpIGhhcyBwb29ybHkgZGVmaW5l ZCBzZW1hbnRpY3MsIGJ1dCB0aGUKPiArCQkgKiBndWVzdCBpcyBpbiBhIGJ1c3kgbG9vcCBhbmQg aXQncyB0aGUgYmVzdCB3ZSBjYW4gZG8KPiArCQkgKiB3aXRob3V0IGEgZnVsbCBlbXVsYXRpb24g b2YgTU9OSVRPUi9NV0FJVC4KPiArCQkgKi8KPiArCQl5aWVsZCgpOwo+ICsJfQo+ICsJcmV0dXJu IHJldDsKPiAgIH0KPiAgIEVYUE9SVF9TWU1CT0xfR1BMKGt2bV9lbXVsYXRlX213YWl0KTsKPiAg IAo+IEBAIC00NTU0LDYgKzQ1NjgsOSBAQCBpbnQga3ZtX3ZtX2lvY3RsX2NoZWNrX2V4dGVuc2lv bihzdHJ1Y3Qga3ZtICprdm0sIGxvbmcgZXh0KQo+ICAgCQkJCXIgfD0gS1ZNX1g4Nl9ESVNBQkxF X0VYSVRTX01XQUlUOwo+ICAgCQl9Cj4gICAJCWJyZWFrOwo+ICsJY2FzZSBLVk1fQ0FQX1g4Nl9V U0VSU1BBQ0VfRVhJVFM6Cj4gKwkJciA9IEtWTV9YODZfVVNFUlNQQUNFX1ZBTElEX0VYSVRTOwo+ ICsJCWJyZWFrOwo+ICAgCWNhc2UgS1ZNX0NBUF9YODZfU01NOgo+ICAgCQlpZiAoIUlTX0VOQUJM RUQoQ09ORklHX0tWTV9TTU0pKQo+ICAgCQkJYnJlYWs7Cj4gQEAgLTk2NDMsMTEgKzk2NjAsMTEg QEAgc3RhdGljIGludCBfX2t2bV9lbXVsYXRlX2hhbHQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBp bnQgc3RhdGUsIGludCByZWFzb24pCj4gICAJKyt2Y3B1LT5zdGF0LmhhbHRfZXhpdHM7Cj4gICAJ aWYgKGxhcGljX2luX2tlcm5lbCh2Y3B1KSkgewo+ICAgCQl2Y3B1LT5hcmNoLm1wX3N0YXRlID0g c3RhdGU7Cj4gLQkJcmV0dXJuIDE7Cj4gLQl9IGVsc2Ugewo+IC0JCXZjcHUtPnJ1bi0+ZXhpdF9y ZWFzb24gPSByZWFzb247Cj4gLQkJcmV0dXJuIDA7Cj4gKwkJaWYgKCFrdm1fdXNlcnNwYWNlX2V4 aXQodmNwdSwgcmVhc29uKSkKPiArCQkJcmV0dXJuIDE7Cj4gICAJfQo+ICsJdmNwdS0+cnVuLT5l eGl0X3JlYXNvbiA9IHJlYXNvbjsKPiArCXJldHVybiAwOwo+ICAgfQo+ICAgCj4gICBpbnQga3Zt X2VtdWxhdGVfaGFsdF9ub3NraXAoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQo+IGRpZmYgLS1naXQg YS9hcmNoL3g4Ni9rdm0veDg2LmggYi9hcmNoL3g4Ni9rdm0veDg2LmgKPiBpbmRleCAxZTdiZTFm NmFiMjkuLmNlMTBhODA5MTUxYyAxMDA2NDQKPiAtLS0gYS9hcmNoL3g4Ni9rdm0veDg2LmgKPiAr KysgYi9hcmNoL3g4Ni9rdm0veDg2LmgKPiBAQCAtNDMwLDYgKzQzMCwxOSBAQCBzdGF0aWMgaW5s aW5lIGJvb2wga3ZtX25vdGlmeV92bWV4aXRfZW5hYmxlZChzdHJ1Y3Qga3ZtICprdm0pCj4gICAJ cmV0dXJuIGt2bS0+YXJjaC5ub3RpZnlfdm1leGl0X2ZsYWdzICYgS1ZNX1g4Nl9OT1RJRllfVk1F WElUX0VOQUJMRUQ7Cj4gICB9Cj4gICAKPiArc3RhdGljIGlubGluZSBib29sIGt2bV91c2Vyc3Bh Y2VfZXhpdChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIGludCByZWFzb24pCj4gK3sKPiArCWlmIChy ZWFzb24gPT0gS1ZNX0VYSVRfSExUICYmCj4gKwkgICAgKHZjcHUtPnJ1bi0+dXNlcnNwYWNlX2V4 aXRzICYgS1ZNX1g4Nl9VU0VSU1BBQ0VfRVhJVF9ITFQpKQo+ICsJCXJldHVybiB0cnVlOwo+ICsK PiArCWlmIChyZWFzb24gPT0gS1ZNX0VYSVRfTVdBSVQgJiYKPiArCSAgICAodmNwdS0+cnVuLT51 c2Vyc3BhY2VfZXhpdHMgJiBLVk1fWDg2X1VTRVJTUEFDRV9FWElUX01XQUlUKSkKPiArCQlyZXR1 cm4gdHJ1ZTsKPiArCj4gKwlyZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gICBlbnVtIGt2bV9pbnRy X3R5cGUgewo+ICAgCS8qIFZhbHVlcyBhcmUgYXJiaXRyYXJ5LCBidXQgbXVzdCBiZSBub24temVy by4gKi8KPiAgIAlLVk1fSEFORExJTkdfSVJRID0gMSwKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91 YXBpL2xpbnV4L2t2bS5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L2t2bS5oCj4gaW5kZXggMTMwNjVk ZDk2MTMyLi40M2Q5NGQ0OWZjMjQgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2xpbnV4L2t2 bS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2t2bS5oCj4gQEAgLTI2NCw2ICsyNjQsNyBA QCBzdHJ1Y3Qga3ZtX3hlbl9leGl0IHsKPiAgICNkZWZpbmUgS1ZNX0VYSVRfUklTQ1ZfU0JJICAg ICAgICAzNQo+ICAgI2RlZmluZSBLVk1fRVhJVF9SSVNDVl9DU1IgICAgICAgIDM2Cj4gICAjZGVm aW5lIEtWTV9FWElUX05PVElGWSAgICAgICAgICAgMzcKPiArI2RlZmluZSBLVk1fRVhJVF9NV0FJ VCAgICAgICAgICAgIDM4Cj4gICAKPiAgIC8qIEZvciBLVk1fRVhJVF9JTlRFUk5BTF9FUlJPUiAq Lwo+ICAgLyogRW11bGF0ZSBpbnN0cnVjdGlvbiBmYWlsZWQuICovCj4gQEAgLTI4Myw3ICsyODQs OCBAQCBzdHJ1Y3Qga3ZtX3J1biB7Cj4gICAJLyogaW4gKi8KPiAgIAlfX3U4IHJlcXVlc3RfaW50 ZXJydXB0X3dpbmRvdzsKPiAgIAlfX3U4IGltbWVkaWF0ZV9leGl0Owo+IC0JX191OCBwYWRkaW5n MVs2XTsKPiArCV9fdTggdXNlcnNwYWNlX2V4aXRzOwo+ICsJX191OCBwYWRkaW5nMVs1XTsKPiAg IAo+ICAgCS8qIG91dCAqLwo+ICAgCV9fdTMyIGV4aXRfcmVhc29uOwo+IEBAIC04NDEsNiArODQz LDExIEBAIHN0cnVjdCBrdm1faW9ldmVudGZkIHsKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBLVk1fWDg2X0RJU0FCTEVfRVhJVFNfUEFVU0UgfCBcCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS1ZNX1g4Nl9E SVNBQkxFX0VYSVRTX0NTVEFURSkKPiAgIAo+ICsjZGVmaW5lIEtWTV9YODZfVVNFUlNQQUNFX0VY SVRfTVdBSVQJICAgICAoMSA8PCAwKQo+ICsjZGVmaW5lIEtWTV9YODZfVVNFUlNQQUNFX0VYSVRf SExUCSAgICAgKDEgPDwgMSkKPiArI2RlZmluZSBLVk1fWDg2X1VTRVJTUEFDRV9WQUxJRF9FWElU UyAgICAgICAgKEtWTV9YODZfVVNFUlNQQUNFX0VYSVRfTVdBSVQgfCBcCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLVk1fWDg2X1VTRVJTUEFDRV9FWElU X0hMVCkKPiArCj4gICAvKiBmb3IgS1ZNX0VOQUJMRV9DQVAgKi8KPiAgIHN0cnVjdCBrdm1fZW5h YmxlX2NhcCB7Cj4gICAJLyogaW4gKi8KPiBAQCAtMTE5Miw2ICsxMTk5LDcgQEAgc3RydWN0IGt2 bV9wcGNfcmVzaXplX2hwdCB7Cj4gICAjZGVmaW5lIEtWTV9DQVBfQ09VTlRFUl9PRkZTRVQgMjI3 Cj4gICAjZGVmaW5lIEtWTV9DQVBfQVJNX0VBR0VSX1NQTElUX0NIVU5LX1NJWkUgMjI4Cj4gICAj ZGVmaW5lIEtWTV9DQVBfQVJNX1NVUFBPUlRFRF9CTE9DS19TSVpFUyAyMjkKPiArI2RlZmluZSBL Vk1fQ0FQX1g4Nl9VU0VSU1BBQ0VfRVhJVFMgMjMwCj4gICAKPiAgICNpZmRlZiBLVk1fQ0FQX0lS UV9ST1VUSU5HCj4gICAKPgoKCgpBbWF6b24gRGV2ZWxvcG1lbnQgQ2VudGVyIEdlcm1hbnkgR21i SApLcmF1c2Vuc3RyLiAzOAoxMDExNyBCZXJsaW4KR2VzY2hhZWZ0c2Z1ZWhydW5nOiBDaHJpc3Rp YW4gU2NobGFlZ2VyLCBKb25hdGhhbiBXZWlzcwpFaW5nZXRyYWdlbiBhbSBBbXRzZ2VyaWNodCBD aGFybG90dGVuYnVyZyB1bnRlciBIUkIgMTQ5MTczIEIKU2l0ejogQmVybGluClVzdC1JRDogREUg Mjg5IDIzNyA4NzkKCgo=