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=-2.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 58409C4332B for ; Thu, 19 Mar 2020 08:50:26 +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 238F02072D for ; Thu, 19 Mar 2020 08:50:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 238F02072D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass 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 1jEqsF-00021w-EY; Thu, 19 Mar 2020 08:49:55 +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 1jEqsD-00021r-IY for xen-devel@lists.xenproject.org; Thu, 19 Mar 2020 08:49:53 +0000 X-Inumbo-ID: 980c595d-69be-11ea-bbd6-12813bfff9fa Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 980c595d-69be-11ea-bbd6-12813bfff9fa; Thu, 19 Mar 2020 08:49:52 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id A89D3AE17; Thu, 19 Mar 2020 08:49:50 +0000 (UTC) To: David Woodhouse References: <56f7fe21daff2dc4bf8db7ee356666233bdb0f7a.camel@infradead.org> <20200207155701.2781820-1-dwmw2@infradead.org> <641040a4aebc62e1e0e3874f513e3a308ec3ace0.camel@infradead.org> <9b0d191e-2553-6368-84d6-8425abe23c39@suse.com> <6b41e45f-fc91-3a9f-20f8-28d66604adec@xen.org> <304d502011075fdda6d00a2393bf9cfd8fde68bc.camel@infradead.org> From: Jan Beulich Message-ID: <9b0363ea-ad62-c0d9-700a-fa0107642f3b@suse.com> Date: Thu, 19 Mar 2020 09:49:44 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <304d502011075fdda6d00a2393bf9cfd8fde68bc.camel@infradead.org> Content-Language: en-US Subject: Re: [Xen-devel] [PATCH 1/2] xen/mm: fold PGC_broken into PGC_state bits 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: Stefano Stabellini , Julien Grall , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , George Dunlap , Jeff Kubascik , Stewart Hildebrand , xen-devel@lists.xenproject.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gMTguMDMuMjAyMCAxODoxMywgRGF2aWQgV29vZGhvdXNlIHdyb3RlOgo+IE9uIFdlZCwgMjAy MC0wMy0xOCBhdCAxMjozMSArMDAwMCwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+PiBPbiAxOC8wMy8y MDIwIDA5OjU2LCBKYW4gQmV1bGljaCB3cm90ZToKPj4+IE9uIDE3LjAzLjIwMjAgMjI6NTIsIERh dmlkIFdvb2Rob3VzZSB3cm90ZToKPj4+PiBPbiBUaHUsIDIwMjAtMDItMjAgYXQgMTI6MTAgKzAx MDAsIEphbiBCZXVsaWNoIHdyb3RlOgo+Pj4+Pj4gQEAgLTE2OTksMTQgKzE3MTQsMTQgQEAgdW5z aWduZWQgaW50IG9ubGluZV9wYWdlKG1mbl90IG1mbiwKPj4+Pj4+IHVpbnQzMl90ICpzdGF0dXMp Cj4+Pj4+PiAgICAgICBkbyB7Cj4+Pj4+PiAgICAgICAgICAgcmV0ID0gKnN0YXR1cyA9IDA7Cj4+ Pj4+PiAtICAgICAgICBpZiAoIHkgJiBQR0NfYnJva2VuICkKPj4+Pj4+ICsgICAgICAgIGlmICgg KHkgJiBQR0Nfc3RhdGUpID09IFBHQ19zdGF0ZV9icm9rZW4gfHwKPj4+Pj4+ICsgICAgICAgICAg ICAgKHkgJiBQR0Nfc3RhdGUpID09IFBHQ19zdGF0ZV9icm9rZW5fb2ZmbGluaW5nICkKPj4+Pj4+ ICAgICAgICAgICB7Cj4+Pj4+PiAgICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7Cj4+Pj4+PiAg ICAgICAgICAgICAgICpzdGF0dXMgPSBQR19PTkxJTkVfRkFJTEVEIHxQR19PTkxJTkVfQlJPS0VO Owo+Pj4+Pj4gICAgICAgICAgICAgICBicmVhazsKPj4+Pj4+ICAgICAgICAgICB9Cj4+Pj4+PiAt Cj4+Pj4+PiAtICAgICAgICBpZiAoICh5ICYgUEdDX3N0YXRlKSA9PSBQR0Nfc3RhdGVfb2ZmbGlu ZWQgKQo+Pj4+Pj4gKyAgICAgICAgZWxzZSBpZiAoICh5ICYgUEdDX3N0YXRlKSA9PSBQR0Nfc3Rh dGVfb2ZmbGluZWQgKQo+Pj4+Pgo+Pj4+PiBJIGRvbid0IHNlZSBhIG5lZWQgZm9yIGFkZGluZyAi ZWxzZSIgaGVyZS4KPj4+Pgo+Pj4+IFRoZXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBjYXNlcy4g SXQgbWFrZXMgdGhpbmdzIGEgd2hvbGUgbG90IGNsZWFyZXIKPj4+PiB0byB0aGUgcmVhZGVyIHRv IHB1dCB0aGUgJ2Vsc2UnIHRoZXJlLCBhbmQgc29tZXRpbWVzIGhlbHBzIGEgbmHDr3ZlCj4+Pj4g Y29tcGlsZXIgYWxvbmcgdGhlIHdheSB0b28uCj4+Pgo+Pj4gV2VsbCwgSSdtIGFmcmFpZCBJJ20g Z29pbmcgdG8gYmUgcHJldHR5IHN0cmljdCBhYm91dCB0aGlzOiBJdCdzIGFnYWluCj4+PiBhIG1h dHRlciBvZiB0YXN0ZSwgeWVzLCBidXQgd2UgZ2VuZXJhbGx5IHRyeSB0byBhdm9pZCBwb2ludGxl c3MgZWxzZS4KPj4+IFdoYXQgeW91IGNvbnNpZGVyICJhIHdob2xlIGxvdCBjbGVhcmVyIHRvIHRo ZSByZWFkZXIiIGlzIHRoZSBvcHBvc2l0ZQo+Pj4gZnJvbSBteSBwb3YuCj4+Cj4+IFdoaWxlIEkg YWdyZWUgdGhlICdlbHNlJyBtYXkgYmUgcG9pbnRsZXNzLCBJIGRvbid0IHRoaW5rIGl0IGlzIHdv cnRoIGFuIAo+PiBhcmd1bWVudC4gQXMgdGhlIGF1dGhvciBvZiB0aGUgcGF0Y2gsIGl0IGlzIGhp cyBjaG9pY2UgdG8gd3JpdGUgdGhlIGNvZGUgCj4+IGxpa2UgdGhhdC4KPiAKPiBJbmRlZWQuIFdo aWxlIEkgYXBwcmVjaWF0ZSB5b3VyIGluc2lnaHQsIEphbiwgYW5kIHlvdXIgZGV0YWlsZWQgcmV2 aWV3cwo+IGFyZSB1bmRvdWJ0ZWRseSBoZWxwZnVsIOKAlCBlc3BlY2lhbGx5IHRvIG1lIGFzIEkg cG9rZSBhcm91bmQgdGhlIFhlbgo+IGNvZGUgYmFzZSB3aXRob3V0IGtub3dpbmcgd2hlcmUgdGhl IGJvZGllcyBhcmUgYnVyaWVkIOKAlCBJIGRvIHNvbWV0aW1lcwo+IGZpbmQgdGhhdCBpdCBkZWdl bmVyYXRlcyBpbnRvIHdoYXQgYXBwZWFycyB0byBiZSBncmF0dWl0b3VzCj4gYmlrZXNoZWRkaW5n Lgo+IAo+IExpa2UgKnNvbWUqIG90aGVycywgSSdtIHBlcmZlY3RseSBjYXBhYmxlIG9mIHJlc3Bv bmRpbmcgIkkgdW5kZXJzdGFuZAo+IHlvdSB3b3VsZCBoYXZlIGRvbmUgaXQgZGlmZmVyZW50bHks IGJ1dCBJIHByZWZlciBpdCB0aGlzIHdheSIuCj4gCj4gQnV0IGV2ZW4gZm9yIHRob3NlIGxpa2Ug bWUgd2hvIGhhdmUgdGhlIHNlbGYtY29uZmlkZW5jZSAob3IgYXJyb2dhbmNlPykKPiB0byByZXNw b25kIGluIHN1Y2ggYSB3YXksIHRoZSBlbmQgcmVzdWx0IGlzIG9mdGVuIHRoZSBzYW1lIOKAlCBh IHBhdGNoCj4gc2VyaWVzIHdoaWNoIHRoZSBtYWludGFpbmVyIGRvZXNuJ3QgYXBwbHkgYmVjYXVz ZSBpdCBoYXMgInVucmVzb2x2ZWQKPiBpc3N1ZXMiLgo+IAo+IFBlcmZlY3QgaXMgdGhlIGVuZW15 IG9mIGdvb2QuIEVzcGVjaWFsbHkgd2hlbiBwZXJmZWN0aW9uIGlzIHNvCj4gc3ViamVjdGl2ZS4K PiAKPiBUaGlzIGRlZmluaXRlbHkgaXNuJ3QgdGhlIGtpbmQgb2Ygd2VsY29taW5nIGNvbW11bml0 eSB0aGF0IEkgZW5qb3kKPiB0cnlpbmcgdG8gZ2V0IG15IGp1bmlvciBlbmdpbmVlcnMgdG8gY29u dHJpYnV0ZSB0by4gQW5kIHRoZXkgYXJlbid0Cj4gc25vd2ZsYWtlczsgdGhleSBjb3BlIHdpdGgg dGhlIExpbnV4IGNvbW11bml0eSBqdXN0IGZpbmUsIGZvciB0aGUgbW9zdAo+IHBhcnQuCgpJIGFw cHJlY2lhdGUgeW91ciBvcGVuIGFuIGhvbmVzdCBmZWVkYmFjaywgYW5kIGhhdmluZyBoYWQgc2lt aWxhcgpjb21tZW50cyBpbiB0aGUgcGFzdCBJIGNhbiBhc3N1cmUgeW91IHRoYXQgSSd2ZSBhbHJl YWR5IHRyaWVkIHRvCmFkanVzdCB3aGVyZSBJIGZpbmQgdGhpcyBhY2NlcHRhYmxlLiBJIHRha2Ug aXQgeW91IHJlYWxpemUgdGhhdAp0aGVyZSBhcmUgdHdvIGxpbWl0YXRpb25zIGluIHRoaXMgLSB0 cnlpbmcgZG9lc24ndCBtZWFuIHN1Y2NlZWRpbmcsCmFuZCB0aGUgYm91bmRhcmllcyBvZiB3aGF0 IEknZCBjb25zaWRlciBhY2NlcHRhYmxlIHRvIGxldCBnbyB3aXRoCm5vIGNvbW1lbnRzLgoKT2Yg Y291cnNlIHRoZXJlIGFyZSBhbHdheXMgdHdvIHNpZGVzIG9mIHRoZSBtZWRhbC4KCkFzIGEgbWFp bnRhaW5lciBvZiBzb21lIHBpZWNlIG9mIGNvZGUsIEkgdmlldyBpdCBhcyBteQpyZXNwb25zaWJp bGl0eSB0byBsb29rIGFmdGVyIG5vdCBvbmx5IHRoZSB0ZWNobmljYWwgY29ycmVjdG5lc3Mgb2YK dGhhdCBjb2RlLCBidXQgYWxzbyBhZnRlciBpdHMgc3R5bGUgKGluIHRoZSBicm9hZGVzdCBzZW5z ZSBvZiB0aGUKd29yZCkuIExvb2tpbmcgYXQgc29tZSB2ZXJ5IGJhZCBleGFtcGxlcyBpbiBvdXIg dHJlZSwgbWFueSBvZgp3aGljaCBJJ20gYWZyYWlkIGhhdmUgYSBMaW51eCBvcmlnaW4sIEknbSBp biBwYXJ0aWN1bGFyIG9mIHRoZQpvcGluaW9uIHRoYXQgY29uc2lzdGVudCBzdHlsZSBpcyBhIHNp Z25pZmljYW50IGFpZCBpbiBjb2RlCnJlYWRhYmlsaXR5IGFuZCBtYWludGFpbmFiaWxpdHkuIEFu ZCBJIGhvcGUgeW91IGFncmVlIHRoYXQgX3N0eWxlXwphZGp1c3RtZW50cyBhcmUgcHJldHR5IGVh c3kgdG8gbWFrZSwgc28gSSBkb24ndCB2aWV3IGFza2luZyBmb3IKc3VjaCBhcyBwbGFjaW5nIGEg c2lnbmlmaWNhbnQgYnVyZGVuIG9uIHRoZSBzdWJtaXR0ZXIuIFRoZQphbHRlcm5hdGl2ZSBvZiBs ZXR0aW5nIGl0IGdvIHVuY29tbWVudGVkIGFuZCB0aGVuIHRha2UgdGhlIHRpbWUKbXlzZWxmIHRv IGNsZWFuIHVwIHNlZW1zIHF1aXRlIGEgYml0IHdvcnNlIHRvIG1lLCBub3QgdGhlIGxlYXN0CmJl Y2F1c2Ugb2YgdGhpcyBzY2FsaW5nIGV2ZW4gbGVzcyB3ZWxsIHRoYW4gdGhlIGFtb3VudCBvZiBj b2RlCnJldmlldyB0aGF0IG5lZWRzIGRvaW5nLgoKVGhlIG1lbnRpb25lZCBMaW51eCBvcmlnaW4g b2Ygc29tZSBvZiB0aGUgcGFydGljdWxhcmx5IGJhZApleGFtcGxlcyBpbiBvdXIgdHJlZSBpcyB3 aHkgSSB2aWV3IHlvdXIgInRoZXkgY29wZSB3aXRoIHRoZSBMaW51eApjb21tdW5pdHkganVzdCBm aW5lIiBhcyBub3QgcmVhbGx5IGFwcGxpY2FibGUuIFRoaXMgaXMgZGVzcGl0ZQpvdXIgc3Vic2Vx dWVudCBjaGFuZ2VzIHRvIHRob3NlIGZpbGVzIG9mdGVuIGhhdmluZyBtYWRlIHRoZQpzaXR1YXRp b24gd29yc2UgcmF0aGVyIHRoYW4gYmV0dGVyLgoKVG8gc29tZSBkZWdyZWUgdGhlIHNhbWUgZ29l cyBmb3IgYmlnZ2VyIHRoYW4gbmVjZXNzYXJ5IGNvZGUgY2h1cm4sCmFsYmVpdCBJIGFncmVlIHRo YXQgaW4gYSBudW1iZXIgb2YgY2FzZXMgaXQgaXMgZmFyIGxlc3Mgb2JqZWN0aXZlCnRvIGp1ZGdl IHRoYW4gdGhlIGFpbSBmb3IgY29uc2lzdGVudCBzdHlsZS4gRXh0cmEgY29kZSBjaHVybgppbnN0 ZWFkIGlzIG9mdGVuIG1ha2luZyByZXZpZXcgaGFyZGVyLCBpcnJlc3BlY3RpdmUgb2YgdGhlIG9m dGVuCmdvb2QgaW50ZW50aW9ucyBiZWhpbmQgZG9pbmcgc28uCgo+IFRoZXJlIGlzIGEgbG90IG9m IHZhbHVlIGluIHlvdXIgcmV2aWV3cywgYW5kIHRoZXkgYXJlIGFwcHJlY2lhdGVkLiBCdXQKPiB0 aGUgb3ZlcmFsbCBlZmZlY3QgaXMgc2VlbiBieSBzb21lIGFzIG1ha2luZyB0aGUgWGVuIGNvbW11 bml0eSBzb21ld2hhdAo+IGR5c2Z1bmN0aW9uYWwuIAoKSW4gd2hpY2ggY2FzZSBJIG91Z2h0IHRv IGNvbnNpZGVyLCBvZiBjb3Vyc2UgYWZ0ZXIgZmlyc3QgY2hlY2tpbmcKd2l0aCBteSBtYW5hZ2Vt ZW50LCB0byBzdGVwIGJhY2sgYXMgYSBtYWludGFpbmVyLiBJJ2QgdmVyeSBtdWNoCnJlZ3JldCBk b2luZyBzbywgYnV0IGlmIGl0J3MgaW4gdGhlIGludGVyZXN0IG9mIHRoZSBjb21tdW5pdHkgLi4u CgooQXMgYW4gYXNpZGUsIGxpa2VseSBiZWluZyBhbW9uZyB0aG9zZSBkb2luZyB0aGUgbGFyZ2Vz dCBwYXJ0IG9mCmNvZGUgcmV2aWV3cywgaGVscGluZyB3aXRoIHRoYXQgcGFydCBvZiB0aGUgb3Zl cmFsbCB3b3JrbG9hZCB0aGUKcHJvamVjdCBnZW5lcmF0ZXMgd291bGQgcmVkdWNlIHRoZSBudW1i ZXIgb2YgcmV2aWV3cyBJJ2QgaGF2ZSB0bwpkbywgYW5kIGhlbmNlIHRoZSBjaGFuY2VzIG9mIG1l IGdpdmluZyBjb21tZW50cyB2aWV3ZWQgYXMKdW5oZWxwZnVsIG9yIHdvcnNlIGJ5IHN1Ym1pdHRl cnMuIE9yLCB0byBwdXQgaXQgaW4gZGlmZmVyZW50LApmcmFuaywgYnV0IGhvcGVmdWxseSBub3Qg b2ZmZW5kaW5nIHdvcmRzIC0gSSdkIGxpa2UgdG8gc2VlIHlvdSBkbwphIGZhaXIgYW1vdW50IG9m IGNvZGUgcmV2aWV3LCBpbmNsdWRpbmcgbG9va2luZyBhZnRlciBtZXJlbHkKY29zbWV0aWMgYXNw ZWN0cyBpbiB0aGUgc3Bpcml0IG9mIG91ciB3cml0dGVuIGFuZCB1bndyaXR0ZW4gcnVsZXMsCmJl Zm9yZSB5b3UgYWN0dWFsbHkgY29tbWVudCBvbiBtZSBnb2luZyB0b28gZmFyIHdpdGggc29tZSBv ZiBteQpmZWVkYmFjay4gQW5kIHdpdGhvdXQgbWUgd2FudGluZyB0byBwdXQgdG9vIG11Y2ggZW1w aGFzaXMgb24gdGhpczoKSXQgaXMgbXkgb3BpbmlvbiB0aGF0IG1haW50YWluZXIgdmlld3MgZ2Vu ZXJhbGx5IGhhdmUgc29tZXdoYXQKaGlnaGVyIHdlaWdodCB0aGFuIG5vbi1tYWludGFpbmVyIG9u ZXMuIEknbSBub3QgZ29pbmcgdG8gY2xhaW0KdGhvdWdoIHRoZXJlIGFyZW4ndCBjYXNlcyB3aGVy ZSBJIG1pZ2h0IGdvIHRvbyBmYXIgYW5kIGhlbmNlIGFidXNlCnJhdGhlciB0aGFuIHVzZSB0aGlz LCBidXQgYXMgcGVyIGFib3ZlIEkgY2FuIG9ubHkgdHJ5IHRvIGF2b2lkCmRvaW5nIHNvLCBJIGNh bid0IHByb21pc2UgdG8gc3VjY2VlZC4gQW5kIG9mIGNvdXJzZSBJLCBsaWtlIG90aGVycywKY2Fu IGJlIGNvbnZpbmNlZCB0byBiZSB3cm9uZy4pCgo+IFRoZSAtTVAgbWFrZWZpbGUgcGF0Y2ggSSBw b3N0ZWQgeWVzdGVyZGF5Li4uIEkgYWxtb3N0IGRpZG4ndCBib3RoZXIuCj4gQW5kIHdoZW4gSSBh bGxvd2VkIG15c2VsZiB0byBiZSB0YWxrZWQgaW50byBpdCwgSSB3YXMgZW50aXJlbHkKPiB1bnN1 cnByaXNlZCB3aGVuIGEgcmV2aWV3IGNhbWUgaW4gYmFzaWNhbGx5IGFza2luZyBtZSB0byBwcm92 ZSBhCj4gbmVnYXRpdmUgYmVmb3JlIHRoZSBwYXRjaCBjb3VsZCBwcm9jZWVkLiBTbyBhcyBmYXIg YXMgSSBjYW4gdGVsbCwgaXQnbGwKPiBmYWxsIGJ5IHRoZSB3YXlzaWRlIGFuZCB0aGUgYnVpbGQg d2lsbCByZW1haW4gYnJva2VuIGFueSB0aW1lIGFueW9uZQo+IHJlbW92ZXMgb3IgcmVuYW1lcyBh IGhlYWRlciBmaWxlLiBCZWNhdXNlIGxpZmUncyB0b28gc2hvcnQgdG8gaW52ZXN0Cj4gdGhlIGVu ZXJneSB0byBtYWtlIGltcHJvdmVtZW50cyBsaWtlIHRoYXQuCgpTbyBhcmUgeW91IHNheWluZyB0 aGF0IGFzIGEgbWFpbnRhaW5lciBJIHNob3VsZCBsZXQgZ28gdW5jb21tZW50ZWQgYQpjaGFuZ2Ug d2hpY2ggSSdtIHVuY29udmluY2VkIGRvZXNuJ3QgaGF2ZSBuZWdhdGl2ZSBzaWRlIGVmZmVjdHMs CmJlc2lkZXMgaXRzIHBvc2l0aXZlIGludGVuZGVkIGJlaGF2aW9yYWwgY2hhbmdlPyBUaGUgbW9y ZSB0aGF0IGhlcmUKdGhlIHdvcmthcm91bmQgaXMgcmF0aGVyIHRyaXZpYWw/IEFzIHlvdSBtYXkg aW1hZ2luZSwgSSd2ZSBydW4gaW50bwp0aGUgc2l0dWF0aW9uIG15c2VsZiBhIG51bWJlciBvZiB0 aW1lcywgd2l0aG91dCBjb25zaWRlcmluZyB0aGlzIGEKcmVhc29uIHRvIG1ha2UgYW55IGFkanVz dG1lbnRzIHRvIHRoZSBidWlsZCBtYWNoaW5lcnkuCgo+Pj4+Pj4gLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9tbS5oCj4+Pj4+PiArKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKPj4+Pj4+ IEBAIC02NywxOCArNjcsMjcgQEAKPj4+Pj4+ICAgIC8qIDMtYml0IFBBVC9QQ0QvUFdUIGNhY2hl LWF0dHJpYnV0ZSBoaW50LiAqLwo+Pj4+Pj4gICAjZGVmaW5lIFBHQ19jYWNoZWF0dHJfYmFzZSBQ R19zaGlmdCg2KQo+Pj4+Pj4gICAjZGVmaW5lIFBHQ19jYWNoZWF0dHJfbWFzayBQR19tYXNrKDcs IDYpCj4+Pj4+PiAtIC8qIFBhZ2UgaXMgYnJva2VuPyAqLwo+Pj4+Pj4gLSNkZWZpbmUgX1BHQ19i cm9rZW4gICAgICAgUEdfc2hpZnQoNykKPj4+Pj4+IC0jZGVmaW5lIFBHQ19icm9rZW4gICAgICAg IFBHX21hc2soMSwgNykKPj4+Pj4+IC0gLyogTXV0dWFsbHktZXhjbHVzaXZlIHBhZ2Ugc3RhdGVz OiB7IGludXNlLCBvZmZsaW5pbmcsIG9mZmxpbmVkLAo+Pj4+Pj4gZnJlZSB9LiAqLwo+Pj4+Pj4g LSNkZWZpbmUgUEdDX3N0YXRlICAgICAgICAgUEdfbWFzaygzLCA5KQo+Pj4+Pj4gLSNkZWZpbmUg UEdDX3N0YXRlX2ludXNlICAgUEdfbWFzaygwLCA5KQo+Pj4+Pj4gLSNkZWZpbmUgUEdDX3N0YXRl X29mZmxpbmluZyBQR19tYXNrKDEsIDkpCj4+Pj4+PiAtI2RlZmluZSBQR0Nfc3RhdGVfb2ZmbGlu ZWQgUEdfbWFzaygyLCA5KQo+Pj4+Pj4gLSNkZWZpbmUgUEdDX3N0YXRlX2ZyZWUgICAgUEdfbWFz aygzLCA5KQo+Pj4+Pj4gLSNkZWZpbmUgcGFnZV9zdGF0ZV9pcyhwZywgc3QpICgoKHBnKS0+Y291 bnRfaW5mbyZQR0Nfc3RhdGUpID09Cj4+Pj4+PiBQR0Nfc3RhdGVfIyNzdCkKPj4+Pj4+IC0KPj4+ Pj4+IC0gLyogQ291bnQgb2YgcmVmZXJlbmNlcyB0byB0aGlzIGZyYW1lLiAqLwo+Pj4+Pj4gKyAv Kgo+Pj4+Pj4gKyAgKiBNdXR1YWxseS1leGNsdXNpdmUgcGFnZSBzdGF0ZXM6Cj4+Pj4+PiArICAq IHsgaW51c2UsIG9mZmxpbmluZywgb2ZmbGluZWQsIGZyZWUsIGJyb2tlbl9vZmZsaW5pbmcsIGJy b2tlbiB9Cj4+Pj4+PiArICAqLwo+Pj4+Pj4gKyNkZWZpbmUgUEdDX3N0YXRlICAgICAgICAgICAg ICAgICAgUEdfbWFzayg3LCA5KQo+Pj4+Pj4gKyNkZWZpbmUgUEdDX3N0YXRlX2ludXNlICAgICAg ICAgICAgUEdfbWFzaygwLCA5KQo+Pj4+Pj4gKyNkZWZpbmUgUEdDX3N0YXRlX29mZmxpbmluZyAg ICAgICAgUEdfbWFzaygxLCA5KQo+Pj4+Pj4gKyNkZWZpbmUgUEdDX3N0YXRlX29mZmxpbmVkICAg ICAgICAgUEdfbWFzaygyLCA5KQo+Pj4+Pj4gKyNkZWZpbmUgUEdDX3N0YXRlX2ZyZWUgICAgICAg ICAgICAgUEdfbWFzaygzLCA5KQo+Pj4+Pj4gKyNkZWZpbmUgUEdDX3N0YXRlX2Jyb2tlbl9vZmZs aW5pbmcgUEdfbWFzayg0LCA5KQo+Pj4+Pgo+Pj4+PiBUQkggSSdkIHByZWZlciBQR0Nfc3RhdGVf b2ZmbGluaW5nX2Jyb2tlbiwgYXMgaXQncyBub3QgdGhlCj4+Pj4+IG9mZmxpbmluZyB3aGljaCBp cyBicm9rZW4sIGJ1dCBhIGJyb2tlbiBwYWdlIGlzIGJlaW5nCj4+Pj4+IG9mZmxpbmVkLgo+Pj4+ Cj4+Pj4gSXQgaXMgdGhlIHBhZ2Ugd2hpY2ggaXMgYm90aCBicm9rZW4gYW5kIG9mZmxpbmluZy4K Pj4+PiBPciBpbmRlZWQgaXQgaXMgdGhlIHBhZ2Ugd2hpY2ggaXMgYm90aCBvZmZsaW5pbmcgYW5k IGJyb2tlbi4KPj4+Cj4+PiBJLmUuIHlvdSBhZ3JlZSB3aXRoIGZsaXBwaW5nIHRoZSB0d28gcGFy dHMgYXJvdW5kPwo+IAo+IEkgaG9wZSBJIGhhdmUgcmVzcGVjdGZ1bGx5IG1hZGUgaXQgY2xlYXIg dGhhdCBubywgSSdtIHJlYWxseSBub3QgaGFwcHkKPiB3aXRoIHRoZSB2ZXJ5IGNvbmNlcHQgb2Yg c3VjaCBhIHJlcXVlc3QuCj4gCj4gUGVyaGFwcyBpdCB3b3VsZCBiZSBlYXNpZXIgZm9yIG1lIHRv IGFjcXVpZXNjZSwgaW4gdGhlIHNob3J0IHRlcm0uCj4gCj4gQnV0IG9uIHRoZSB3aG9sZSBJIHRo aW5rIGl0J3MgYmV0dGVyIHRvIHB1dCBteSBmb290IGRvd24gYW5kIHNheSAnbm8nLAo+IGFuZCBm b2N1cyBvbiByZWFsIHdvcmsgYW5kIHRoaW5ncyB0aGF0IG1hdHRlci4KCldlbGwsIGluIHRoZSBz cGVjaWZpYyBjYXNlIGhlcmUgSSd2ZSBtZWFud2hpbGUgcmVhbGl6ZWQgdGhhdCBteQphbHRlcm5h dGl2ZSBuYW1pbmcgc3VnZ2VzdGVkIGluIGluIG5vIHdheSBsZXNzIGFtYmlndW91cy4gU28Kc3Rp Y2sgdG8gd2hhdCB5b3UndmUgY2hvc2VuLCBhbGJlaXQgSSBjb250aW51ZSB0byBkaXNsaWtlIHRo ZQpuYW1lIGFtYmlndW91c2x5IGFsc28gc3VnZ2VzdGluZyB0aGF0IHRoZSBvZmZsaW5pbmcgb3Bl cmF0aW9uCm1pZ2h0IGJlIGJyb2tlbiAoZS5nLiBhcyBpbiAiY2FuJ3QgYmUgb2ZmbGluZWQiKSwg cmF0aGVyIHRoYW4gdGhlCnBhZ2UgaXRzZWxmLiBJJ20gbm90IGdvaW5nIHRvIGV4Y2x1ZGUgdGhv dWdoIHRoYXQgdGhpcyBpcyBqdXN0CmJlY2F1c2Ugb2Ygbm90IGJlaW5nIGEgbmF0aXZlIEVuZ2xp c2ggc3BlYWtlci4KCj4+Pj4+PiArI2RlZmluZSBwYWdlX2lzX29mZmxpbmluZyhwZykgICAgICAo cGFnZV9zdGF0ZV9pcygocGcpLCAKPj4+Pj4+IGJyb2tlbl9vZmZsaW5pbmcpIHx8IFwKPj4+Pj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlX3N0YXRlX2lzKChwZyks IG9mZmxpbmluZykpCj4+Pj4+Cj4+Pj4+IE92ZXJhbGwgSSB3b25kZXIgd2hldGhlciB0aGUgUEdD X3N0YXRlXyogb3JkZXJpbmcgY291bGRuJ3QgYmUKPj4+Pj4gYWRqdXN0ZWQgc3VjaCB0aGF0IGF0 IGxlYXN0IHNvbWUgb2YgdGhlc2UgdGhyZWUgd29uJ3QgbmVlZAo+Pj4+PiB0d28gY29tcGFyaXNv bnMgKGJ5IG1hc2tpbmcgb2ZmIGEgYml0IGJlZm9yZSBjb21wYXJpbmcpLgo+Pj4+Cj4+Pj4gVGhl IHdob2xlIHBvaW50IGluIHRoaXMgZXhlcmNpc2UgaXMgdGhhdCB0aGVyZSBpc24ndCBhIHdob2xl IGJpdCBmb3IKPj4+PiB0aGVzZTsgdGhleSBhcmUgZWFjaCAqdHdvKiBzdGF0ZXMgb3V0IG9mIHRo ZSBwb3NzaWJsZSA4Lgo+Pj4KPj4+IFN1cmUuIEJ1dCBqdXN0IGNvbnNpZGVyIHRoZSBtb3JlIGdl bmVyYWwgY2FzZTogSW5zdGVhZCBvZiB3cml0aW5nCj4+Pgo+Pj4gICAgICBpZiAoIGkgPT0gNiB8 fCBpID09IDcgKQo+Pj4KPj4+IHlvdSBjYW4gYXMgd2VsbCB3cml0ZQo+Pj4KPj4+ICAgICAgaWYg KCAoaSB8IDEpID09IDcgKQo+Pgo+PiBJIHN0dW1ibGVkIGFjY3Jvc3MgYSBmZXcgb2YgdGhvc2Ug cmVjZW50bHkgYW5kIHRoaXMgaXMgbm90IHRoZSBvYnZpb3VzIAo+PiB0aGluZ3MgdG8gcmVhZC4g WWVzLCB5b3VyIGNvZGUgbWF5IGJlIGZhc3Rlci4gQnV0IGlzIGl0IHJlYWxseSB3b3J0aCBpdCAK Pj4gY29tcGFyZSB0byB0aGUgY29zdCBvZiByZWFkYWJpbGl0eSBhbmQgZnV0dXJlcHJvb2ZuZXNz Pwo+IAo+IE5vLiBKdXN0IG5vLgo+IAo+IElmIHRoYXQga2luZCBvZiBjaGFuZ2UgaXMgcmVhbGx5 IGEgd29ydGh3aGlsZSB3aW4sIGl0J2xsIGRlcGVuZCBvbiB0aGUKPiBDUFUuIEZpbGUgYSBHQ0Mg UFIgd2l0aCBhIHRlc3QgY2FzZSBhcyBhIG1pc3NlZCBvcHRpbWlzYXRpb24uCgpZb3VyIGV4cGVy aWVuY2UgbWF5IGJlIGRpZmZlcmVudCwgYnV0IEkgaGFyZGx5IGV2ZXIgc2VlIGFueSBlZmZlY3Qg ZnJvbQpyZXBvcnRpbmcgYnVncyAobm90IGp1c3QgYWdhaW5zdCBnY2MpIHVubGVzcyB0aGV5J3Jl IHJlYWxseSBiYWQgb3IgcmVhbGx5CmVhc3kgdG8gYWRkcmVzcy4gVGhhdCdzIHdoeSBJIGdlbmVy YWxseSBwcmVmZXIgdG8gZml4IHN1Y2ggaXNzdWVzIG15c2VsZiwKcHJvdmlkZWQgb2YgY291cnNl IHRoYXQgSSBjYW4gZmluZCB0aGUgdGltZS4KCj4gRG9uJ3QgbWFrZSB0aGUgc291cmNlIGNvZGUg Z3JhdHVpdG91c2x5IGhhcmRlciB0byByZWFkLgoKVGhhdCdzIGEgdmVyeSBzdWJqZWN0aXZlIGFz cGVjdCBhZ2Fpbi4gUGVyc29uYWxseSBJIGZpbmQgdHdvIGNvbXBhcmlzb25zCm9mIHRoZSBzYW1l IHZhcmlhYmxlIGFnYWluc3QgZGlmZmVyZW50IGNvbnN0YW50cyBoYXJkZXIgdG8gcmVhZC4KCj4g SG9uZXN0bHksIHRoaXMsIHJpZ2h0IGhlcmUsIGlzIHRoZSAqZXBpdG9tZSogb2Ygd2h5IEksIGFu ZCBvdGhlcnMsCj4gc29tZXRpbWVzIGZlZWwgdGhhdCBzdWJtaXR0aW5nIGEgcGF0Y2ggdG8gWGVu IGNhbiBiZSBtb3JlIGVmZm9ydCB0aGFuCj4gaXQncyB3b3J0aC4KCk5vdGUgaG93IEkgc2FpZCAi SSB3b25kZXIiLCBub3QgInBsZWFzZSBtYWtlIi4KCkphbgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==