From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: Re: [PATCH 1/3] x86: refactor psr implementation in hypervisor. Date: Fri, 9 Sep 2016 16:09:35 +0800 Message-ID: <20160909080935.GG30513@yi.y.sun> References: <1472102537-7155-1-git-send-email-yi.y.sun@linux.intel.com> <57CE8EF0020000780010BEE5@prv-mh.provo.novell.com> <20160907071211.GC30513@yi.y.sun> <57CFF38E020000780010C867@prv-mh.provo.novell.com> <20160908072853.GE30513@yi.y.sun> <57D15170020000780010CF4C@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1biGwK-0008R4-MC for xen-devel@lists.xenproject.org; Fri, 09 Sep 2016 08:13:36 +0000 Content-Disposition: inline In-Reply-To: <57D15170020000780010CF4C@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: wei.liu2@citrix.com, he.chen@linux.intel.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, chao.p.peng@linux.intel.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org T24gMTYtMDktMDggMDM6NTQ6MjQsIEphbiBCZXVsaWNoIHdyb3RlOgo+ID4+PiBPbiAwOC4wOS4x NiBhdCAwOToyOCwgPHlpLnkuc3VuQGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4gPiBPbiAxNi0w OS0wNyAwMzowMTozNCwgSmFuIEJldWxpY2ggd3JvdGU6Cj4gPj4gPj4gPj4+IE9uIDI1LjA4LjE2 IGF0IDA3OjIyLCA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPiB3cm90ZToKPiA+PiA+PiA+ICsg ICAgdW5zaWduZWQgaW50ICgqZXhjZWVkX3JhbmdlKSh1aW50NjRfdCAqbWFzaywgc3RydWN0IGZl YXRfbGlzdCAqcEZlYXQsCj4gPj4gPj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IGNvcyk7Cj4gPj4gPj4gCj4gPj4gPj4gQWNjb3JkaW5nIHRvIHRoZSBj b21tZW50IHRoaXMgaXMga2luZCBvZiBhIHByZWRpY2F0ZSwgd2hpY2ggc2VlbXMKPiA+PiA+PiB1 bmxpa2VseSB0byByZXR1cm4gYW4gdW5zaWduZWQgdmFsdWUuIEluIGZhY3Qgd2l0aG91dCBhIHdv cmQgb24gdGhlCj4gPj4gPj4gcmV0dXJuIHZhbHVlIEknZCBleHBlY3Qgc3VjaCB0byByZXR1cm4g Ym9vbC4gQW5kIEknZCBhbHNvIGV4cGVjdCB0aGUKPiA+PiA+PiBuYW1lIHRvIHJlZmxlY3QgdGhl IHB1cnBvc2UsIGkuZS4gImV4Y2VlZHNfbmFtZSgpIi4gUGx1cyBqdXN0IGxpa2UKPiA+PiA+PiBm b3IgY29tcGFyZSBhYm92ZSBJIHdvbmRlciB3aGV0aGVyIGNvbWUgb3IgYWxsIG9mIHRoZSBwYXJh bWV0ZXJzCj4gPj4gPj4gc2hvdWxkIGJlIHBvaW50ZXJzIHRvIGNvbnN0IChwbGVhc2UgZ28gb3Zl ciB0aGUgZW50aXJlIHBhdGNoIGFuZCBkbwo+ID4+ID4+IGNvbnN0aWZpY2F0aW9uIHdoZXJldmVy IHBvc3NpYmxlL3NlbnNpYmxlKS4KPiA+PiA+PiAKPiA+PiA+IFllcywgeW91IGFyZSByaWdodC4g SSB3aWxsIGNoYW5nZSB0aGUgZnVuY3Rpb24gdHlwZSB0byBib29sIGFuZCBhZGQgY29uc3QKPiA+ PiA+IGZvciBub3QgY2hhbmdlZCBpbnB1dCBwb2ludGVycy4KPiA+PiA+IAo+ID4+ID4gVGhpcyBm dW5jdGlvbiBpcyB1c2VkIHRvIGNoZWNrIGlmIHRoZSBpbnB1dCBjb3MgaWQgZXhjZWVkcyB0aGUg Y29zX21heC4gSWYgeWVzCj4gPj4gPiBhbmQgdGhlIHNldCB2YWx1ZSBpcyBub3QgZGVmYXVsdCB2 YWx1ZSwgd2Ugc2hvdWxkIHJldHVybiBlcnJvci4gU28sIEkgdGhpbmsKPiA+PiA+IHRvIGNoYW5n ZSB0aGUgZnVuY3Rpb24gbmFtZSB0byBleGNlZWRfY29zX21heCgpLiBIb3cgZG8geW91IHRoaW5r Pwo+ID4+IAo+ID4+IE9rYXksIGV4Y2VwdCB0aGF0IEkgY29udGludWUgdG8gdGhpbmsgeW91IG1l YW4gImV4Y2VlZHMiLgo+ID4+ICJleGNlZWRfY29zX21heCIgdG8gbWUgaXMga2luZCBvZiBhIGRp cmVjdGl2ZSwgbm90IGEgcHJlZGljYXRlLgo+ID4+IAo+ID4gSG93IGFib3V0ICJiZXlvbmQiPwo+ IAo+IFdoYXQncyB3cm9uZyB3aXRoICJleGNlZWRzIj8KPiAKU29ycnksIEkgbWF5IG1pc3VuZGVy c3RhbmQgeW91LiBNYXliZSAiY2hlY2tfZXhjZWVkX2Nvc19tYXgiIGlzIGEgZ29vZCBuYW1lPwoK PiA+PiA+PiA+ICtzdGF0aWMgaW50IGwzX2NhdF9jb21wYXJlX21hc2sodWludDY0X3QgKm1hc2ss IHN0cnVjdCBmZWF0X2xpc3QgKnBGZWF0LAo+ID4+ID4+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgY29zLCBib29sX3QgKmZvdW5kKQo+ID4+ID4+ID4gK3sK PiA+PiA+PiA+ICsgICAgc3RydWN0IHBzcl9jYXRfbHZsX2luZm8gY2F0X2luZm87Cj4gPj4gPj4g PiArICAgIHVpbnQ2NF90IGwzX2RlZl9jYm07Cj4gPj4gPj4gPiArCj4gPj4gPj4gPiArICAgIG1l bWNweSgmY2F0X2luZm8sIHBGZWF0LT5mZWF0X2luZm8sIHNpemVvZihzdHJ1Y3QgcHNyX2NhdF9s dmxfaW5mbykpOwo+ID4+ID4+IAo+ID4+ID4+IEFscmVhZHkgaGVyZSBJIHRoaW5rIHRoaXMgbWVt Y3B5KClpbmcgZ2V0cyB1bndpZWxkeS4gQ2FuJ3QgeW91Cj4gPj4gPj4gc2ltcGx5IG1ha2UgdGhl IHN0cnVjdHVyZSBmaWVsZCBhIHVuaW9uIG9mIGFsbCB0eXBlcyBvZiBpbnRlcmVzdD8KPiA+PiA+ PiAKPiA+PiA+IFNvcnJ5IHRoYXQgSSBhbSBub3QgdmVyeSBjbGVhciBhYm91dCB5b3VyIG1lYW5p bmcgdG8gbWFrZSBhIHVuaW9uLiBEbyB5b3UgbWVhbgo+ID4+ID4gbWFrZSBmZWF0X2luZm8gYSB1 bmlvbj8gSWYgc28sIGl0IHdpbGwgbG9zZSB0aGUgdW5pdmVyc2FsaXR5IHRvIGNvdmVyIGFsbAo+ ID4+ID4gZmVhdHVyZXMuIEZ1dHVyZSBmZWF0dXJlIG1heSBoYXZlIGRpZmZlcmVudCBpbmZvLgo+ ID4+IAo+ID4+IFdoaWNoIGlzIHRoZSBwdXJwb3NlIG9mIGEgdW5pb24gLSB5b3UnZCBzaW1wbHkg YWRkIGEgbmV3IG1lbWJlcgo+ID4+IHRoZW4uCj4gPj4KPiA+IEkgZ3Vlc3MgeW91ciBpZGVhIGxp a2VzIGJlbG93LiBSaWdodD8KPiA+IHVuaW9uIHsKPiA+ICAgICBzdHJ1Y3QgbDNfaW5mbyB7Cj4g PiAgICAgICAgIHVuaW9uIHsKPiA+ICAgICAgICAgICAgIHVpbnQ2NF90IGNibTsKPiA+ICAgICAg ICAgICAgIHN0cnVjdCB7Cj4gPiAgICAgICAgICAgICAgICAgdWludDY0X3QgY29kZTsKPiA+ICAg ICAgICAgICAgICAgICB1aW50NjRfdCBkYXRhOwo+ID4gICAgICAgICAgICAgfTsKPiA+ICAgICAg ICAgfTsKPiA+IAo+ID4gICAgIH07Cj4gPiAKPiA+ICAgICBzdHJ1Y3QgbDJfaW5mbyB7Cj4gPiAg ICAgICAgIHVpbnQ2NF90IGNibTsKPiA+ICAgICB9Owo+ID4gfTsKPiA+ICAKPiA+IE15IG9yaWdp bmFsIGRlc2lnbiBpcyB0byB1c2UgdGhpcyBmZWF0X2luZm8gY292ZXIgYWxsIGZlYXR1cmVzIGFu ZCBlbGltaW5hdGUKPiA+IHRoZSBmZWF0dXJlJ3Mgc3BlY2lmaWMgcHJvcGVydGllcy4gSWYgdXNp bmcgYWJvdmUgdW5pb24sIHdlIHN0aWxsIG5lZWQgdG8KPiA+IGtub3cgdGhlIGN1cnJlbnQgZmVh dHVyZSBpcyB3aGljaCB3aGVuIGhhbmRsZXMgZmVhdF9pbmZvLiBUaGF0IGxvc2VzIHRoZQo+ID4g YWJzdHJhY3Rpb24uCj4gPiAKPiA+IElmIG15IHRob3VnaHQgaXMgbm90IHJpZ2h0LCBwbGVhc2Ug Y29ycmVjdCBtZS4gVGhhbmtzIQo+IAo+IEkgZG9uJ3QgdW5kZXJzdGFuZCB3aGF0IGFic3RyYWN0 aW9uIHlvdSB3b3VsZCBsb3NlIHdpdGggdGhlIGFib3ZlCj4gbGF5b3V0LiBUaGUgbWVtY3B5KClp bnQgeW91IGN1cnJlbnRseSBkbyBpcywgSSdtIHNvcnJ5IHRvIHNheSB0aGF0LAo+IGhvcnJpYmxl Lgo+IApTb3JyeSB0byBtYWtlIHlvdSBmZWVsIGJhZC4gSSB3aWxsIGF2b2lkIHRvIHVzZSBtZW1j cHkoKSBpbiB0aGUgY29kZXMuCgpJIHRoaW5rIEkgaGF2ZSBnb3QgeW91ciBtZWFuLiBJIHdpbGwg Y29uc3RydWN0IGEgdW5pb24gZm9yIGZlYXRfaW5mbyBpbiBuZXh0CnZlcnNpb24uIERpZmZlcmVu dCBmZWF0dXJlcyBjYW4gdXNlIGRpZmZlcmVudCBtZW1iZXJzIGluIHVuaW9uLiBUaGVuLCBJIGNh bgpkaXJlY3RseSBhc3NpZ24gdGhlIHN0cnVjdCB2YWx1ZSB3aXRob3V0IG1lbWNweS4gVGhhbmtz IGZvciB0aGUgZ3VpZGFuY2UhCgo+ID4+ID4gSSB0aGluayBJIGNhbiByZXBsYWNlIHRoZSBtZW1j cHkoKSB0byBkaXJlY3RseSBhc3NpZ24gdmFsdWUgdG8gY2F0X2luZm8uCj4gPj4gCj4gPj4gTm8s IHRoaXMgY29weWluZyAoZG9uZSBpbiBfbWFueV8gcGxhY2VzKSByZWFsbHkgc2hvdWxkIGdvIGF3 YXkuCj4gPj4gCj4gPiBJIHdhbnQgdG8gcmVwbGFjZSBtZW1jcHkoKSB0byBiZWxvdyBjb2Rlcy4K PiA+IGNhdF9pbmZvLmNibV9sZW4gPSBmZWF0X2luZm9bMF07Cj4gPiBjYXRfaW5mby5jb3NfbWF4 ID0gZmVhdF9pbmZvWzFdOwo+IAo+IEFuZCBhZ2FpbiBkbyB0aGF0IGluIGEgZG96ZW4gcGxhY2Vz PyBObywgcGxlYXNlIGRvbid0Lgo+IApTdXJlLgoKPiA+PiA+PiA+ICsgICAgaWYgKCB0eXBlID09 IFBTUl9NQVNLX1RZUEVfTDNfQ0JNICkKPiA+PiA+PiA+ICsgICAgICAgIG1hc2tbMF0gPSBtOwo+ ID4+ID4+IAo+ID4+ID4+IFRoaXMgb3ZlcndyaXRpbmcgYmVoYXZpb3IgYWxzbyBsb29rcyBxdWl0 ZSBzdHJhbmdlIHRvIG1lLiBXaGF0J3MKPiA+PiA+PiB0aGUgcHVycG9zZT8gQW5kIGlmIHRoaXMg cmVhbGx5IGlzIG1lYW50IHRvIGJlIHRoYXQgd2F5LCB3aHkgaXMKPiA+PiA+PiB0aGlzIG5vdCAo bGVhdmluZyBhc2lkZSB0aGUgb3RoZXIgc3VnZ2VzdGVkIGFkanVzdG1lbnQpCj4gPj4gPj4gCj4g Pj4gPj4gICAgIGlmICggdHlwZSA9PSBQU1JfTUFTS19UWVBFX0wzX0NCTSApCj4gPj4gPj4gICAg ICAgICBtYXNrWzBdID0gbTsKPiA+PiA+PiAgICAgZWxzZSBpZiAoIG9sZF9jb3MgPiBjYXRfaW5m by5jb3NfbWF4ICkKPiA+PiA+PiAgICAgICAgIG1hc2tbMF0gPSBwRmVhdC0+Y29zX3JlZ192YWxb MF07Cj4gPj4gPj4gICAgIGVsc2UKPiA+PiA+PiAgICAgICAgIG1hc2tbMF0gPSBwRmVhdC0+Y29z X3JlZ192YWxbb2xkX2Nvc107Cj4gPj4gPj4gCj4gPj4gPj4gPwo+ID4+ID4+IAo+ID4+ID4gZ2V0 X29sZF9zZXRfbmV3KCkgaXMgdXNlZCB0byBkbyBiZWxvdyB0d28gdGhpbmdzOgo+ID4+ID4gMS4g Z2V0IG9sZF9jb3MgcmVnaXN0ZXIgdmFsdWUgb2YgYWxsIHN1cHBvcnRlZCBmZWF0dXJlcyBhbmQK PiA+PiA+IDIuIHNldCB0aGUgbmV3IHZhbHVlIGZvciBhcHBvaW50ZWQgZmVhdHVyZS4KPiA+PiA+ IAo+ID4+ID4gU28sIGlmIHRoZSBhcHBvaW50ZWQgZmVhdHVyZSBpcyBMMyBDQVQsIHdlIHNob3Vs ZCBzZXQgaW5wdXQgdmFsbHVlIGZvciBpdCAKPiA+PiA+IGhlcmUuCj4gPj4gCj4gPj4gT2theSwg dGhhdCBhbnN3ZXJzIHRoZSAid2hhdCIgYXNwZWN0LCBidXQgbGVhdmVzIG9wZW4gX3doeV8gaXQK PiA+PiBuZWVkcyB0byBiZSB0aGF0IHdheS4KPiA+PiAKPiA+IEEgc2NlbmFyaW8gaGVyZSB0byBo ZWxwIHRvIHVuZGVyc3RhbmQgX3doeV8uIAo+ID4gCj4gPiBMaWtlIHRoZSBleGFtcGxlIGZvciBl eHBsYWluaW5nIGdldF9vbGRfc2V0X25ldygpLCBvbGRfY29zIG9mIHRoZSBkb21haW4gaXMgCj4g PiAxLgo+ID4gVGhlbiwgVXNlciB3YW50cyB0byBzZXQgTDMgQ0FUIENCTSB0byAweDFmZiBhbmQg TDIgQ0FUIDB4M2YuIFRoZSBvcmlnaW5hbAo+ID4gQ09TIHJlZ2lzdGVycyBsaWtlIGJlbG93Lgo+ ID4gCj4gPiAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ICAgICAg ICAgfCBDT1MgMCB8IENPUyAxIHwgQ09TIDIgfCAuLi4gfAo+ID4gICAgICAgICAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiBMMyBDQVQgIHwgMHg3ZmYgfCAweDNmZiB8IDB4MWZm IHwgLi4uIHwKPiA+ICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4g TDIgQ0FUICB8IDB4ZmYgIHwgMHgzZiAgfCAweDNmICB8IC4uLiB8Cj4gPiAgICAgICAgIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+IAo+ID4gVGhlbiwgbWFzayBhcnJheSBzaG91 bGQgYmUgYXNzZW1ibGVkIGluIGdldF9vbGRfc2V0X25ldygpIGxpa2UgYmVsb3c6Cj4gPiBtYXNr WzBdOiAweDFmZgo+ID4gbWFza1sxXTogMHgzZgo+ID4gCj4gPiBUaGVuLCB3ZSBjYW4gdXNlIHRo aXMgbWFzayBhcnJheSB0byBmaW5kIGlmIHRoZXJlIGlzIG1hdGNoaW5nIENPUyB0aHJvdWdoCj4g PiBjb21wYXJlX21hc2soKS4gV2UgY2FuIGZpbmQgQ09TIDIgaXMgdGhlIG1hdGNoaW5nIG9uZS4g Cj4gPiAKPiA+IElmIHRoZXJlIGlzIGFscmVhZHkgYSBDT1MgcmVnaXN0ZXJzIGNvbWJpbmF0aW9u IChlLmcuIEwzIENPUyAyIGFuZCBMMiBDT1MgMikKPiA+IHNhbWUgYXMgdGhlIG1hc2sgYXJyYXks IHdlIGNhbiByZXVzZSB0aGlzIGNvbWJpbmF0aW9uIGRpcmVjdGx5IGJ1dCBub3QgdG8KPiA+IGFs bG9jYXRlIGEgbmV3IENPUyBJRC4gQnkgdGhpcyB3YXksIHdlIGNhbiBzYXZlIHRoZSBDT1MgcmVn aXN0ZXJzLiBZb3Uga25vdywKPiA+IHRoZXJlIGlzIGxpbWl0YXRpb24gb24gQ09TIHJlZ2lzdGVy cyBudW1iZXIuCj4gPiAKPiA+IE9mIGNvdXJzZSwgaWYgd2UgY2Fubm90IGZpbmQgaXQgaW4gZXhp c3RpbmcgY29tYmluYXRpb25zLCB3ZSB3aWxsIGNhbGwKPiA+IGFsbG9jX25ld19jb3MoKSB0byBh bGxvY2F0ZSBhIG5ldyBDT1MgdG8gdXNlLgo+IAo+IEkgdGhpbmsgSSBiZWdpbiB0byBzZWUgdGhl IHB1cnBvc2UsIGJ1dCB0aGVuIGFnYWluIEkgc3RpbGwgY2FuJ3QgZ2V0Cj4gdGhpcyBleHBsYW5h dGlvbiBpbiBsaW5lIHdpdGggdGhlcmUganVzdCBiZWluZyBhIHNpbmdsZSBuZXcgdmFsdWUgdG8K PiBiZSBzZXQgKG0pLiBQZXJoYXBzIGl0IHdvdWxkIGhlbHAgaWYgeW91IHNwbGl0IHRoZSBsb29r dXAgZnJvbSB0aGUKPiBzZXR0aW5nIG9yIGEgbmV3IHZhbHVlLgo+IAo+IEphbgoKU3VyZSwgbGV0 IG1lIGludHJvZHVjZSBpdCBmcm9tIGJlZ2lubmluZy4KCkZpcnN0IHRpbWUsIHVzZXIgd2FudHMg dG8gc2V0IEwzIENBVCBvZiBEb20xIHRvIDB4MWZmIGZvciBleGFtcGxlLiBUaGUgb2xkX2Nvcwpv ZiBEb20xIGlzIDAuIEwzIENBVCBpcyB0aGUgZmlyc3QgZWxlbWVudCBvZiBmZWF0dXJlIGxpc3Qu IFRoZSBDT1MgcmVnaXN0ZXJzCnZhbHVlcyBhcmUgYmVsb3cgYXQgdGhpcyB0aW1lLgoKICAgICAg ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgfCBDT1MgMCB8IENPUyAx IHwgQ09TIDIgfCAuLi4gfAogICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K TDMgQ0FUICB8IDB4N2ZmIHwgLi4uICAgfCAuLi4gICB8IC4uLiB8CiAgICAgICAgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpMMiBDQVQgIHwgMHhmZiAgfCAuLi4gICB8IC4uLiAgIHwg Li4uIHwKICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgbWFzayBh cnJheSBhc3NlbWJsZWQgaW4gZ2V0X29sZF9zZXRfbmV3KCkgaXM6Cm1hc2tbMF06IDB4MWZmCm1h c2tbMV06IDB4ZmYKCkl0IGNhbm5vdCBmaW5kIGEgbWF0Y2hpbmcgQ09TIHNvIGFsbG9jYXRlIENP UyAxIHRvIHN0b3JlIHRoZSB2YWx1ZSBzZXQuClRoZSBDT1MgcmVnaXN0ZXJzIHZhbHVlcyBhcmUg Y2hhbmdlZCB0byBiZWxvdyBub3cuCgogICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KICAgICAgICB8IENPUyAwIHwgQ09TIDEgfCBDT1MgMiB8IC4uLiB8CiAgICAgICAgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpMMyBDQVQgIHwgMHg3ZmYgfCAweDFmZiB8IC4u LiAgIHwgLi4uIHwKICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkwyIENB VCAgfCAweGZmICB8IDB4ZmYgIHwgLi4uICAgfCAuLi4gfAogICAgICAgIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KClRoZW4sIHVzZXIgd2FudHMgdG8gc2V0IEwzIENBVCBvZiBEb20y IHRvIDB4MWZmIHRvby4gVGhlIG9sZF9jb3Mgb2YgRG9tMgppcyAwIHRvby4KClRoZSBtYXNrIGFy cmF5IGFzc2VtYmxlZCBpbiBnZXRfb2xkX3NldF9uZXcoKSBpczoKbWFza1swXTogMHgxZmYKbWFz a1sxXTogMHhmZgoKU28sIGl0IGNhbiBmaW5kIGEgbWF0Y2hpbmcgQ09TLCBDT1MgMS4gVGhlbiwg aXQgY2FuIHJldXNlIENPUyAxIGZvciBEb20yLgogCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK