From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v4 13/21] arm/gic-v2: Add ACPI boot support for GICv2 Date: Thu, 25 Feb 2016 14:56:46 +0000 Message-ID: References: <1453540813-15764-1-git-send-email-zhaoshenglong@huawei.com> <1453540813-15764-14-git-send-email-zhaoshenglong@huawei.com> <56CEBC2D.9090501@huawei.com> <56CF0A70.8060203@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <56CF0A70.8060203@huawei.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Shannon Zhao Cc: ian.campbell@citrix.com, Stefano Stabellini , peter.huangpeng@huawei.com, xen-devel@lists.xen.org, julien.grall@citrix.com, stefano.stabellini@citrix.com, shannon.zhao@linaro.org List-Id: xen-devel@lists.xenproject.org T24gVGh1LCAyNSBGZWIgMjAxNiwgU2hhbm5vbiBaaGFvIHdyb3RlOgo+IE9uIDIwMTYvMi8yNSAx ODo0MiwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+ID4gT24gVGh1LCAyNSBGZWIgMjAxNiwg U2hhbm5vbiBaaGFvIHdyb3RlOgo+ID4+IE9uIDIwMTYvMS8yOCAyMDo1NiwgU3RlZmFubyBTdGFi ZWxsaW5pIHdyb3RlOgo+ID4+PiBPbiBTYXQsIDIzIEphbiAyMDE2LCBTaGFubm9uIFpoYW8gd3Jv dGU6Cj4gPj4+PiBGcm9tOiBQYXJ0aCBEaXhpdCA8cGFydGguZGl4aXRAbGluYXJvLm9yZz4KPiA+ Pj4+Cj4gPj4+PiBBQ1BJIG9uIFhlbiBoeXBlcnZpc29yIHVzZXMgTUFEVCB0YWJsZSBmb3IgcHJv cGVyIEdJQyBpbml0aWFsaXphdGlvbi4KPiA+Pj4+IEZpcnN0IGdldCB0aGUgR0lDIHZlcnNpb24g ZnJvbSBHSUMgRGlzdHJpYnV0b3IuIFRoZW4gcGFyc2UgR0lDIHJlbGF0ZWQKPiA+Pj4+IHN1YnRh YmxlcywgY29sbGVjdCBDUFUgaW50ZXJmYWNlIGFuZCBkaXN0cmlidXRvciBhZGRyZXNzZXMgYW5k IGNhbGwKPiA+Pj4+IGRyaXZlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiAod2hpY2ggaXMgaGFy ZHdhcmUgYWJzdHJhY3Rpb24gYWdub3N0aWMpLgo+ID4+Pj4gSW4gYSBzaW1pbGFyIHdheSwgRkRU IGluaXRpYWxpemUgR0lDdjIuCj4gPj4+Pgo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogUGFydGggRGl4 aXQgPHBhcnRoLmRpeGl0QGxpbmFyby5vcmc+Cj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBTaGFubm9u IFpoYW8gPHNoYW5ub24uemhhb0BsaW5hcm8ub3JnPgo+ID4+Pj4KPiA+Pj4+IFY0OiB1c2UgY29u dGFpbmVyX29mIGFuZCBmaXggY29kaW5nIHN0eWxlCj4gPj4+PiAtLS0KPiA+Pj4+ICB4ZW4vYXJj aC9hcm0vZ2ljLXYyLmMgfCAxMjAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0KPiA+Pj4+ICAxIGZpbGUgY2hhbmdlZCwgMTE5IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKPiA+Pj4+Cj4gPj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dp Yy12Mi5jIGIveGVuL2FyY2gvYXJtL2dpYy12Mi5jCj4gPj4+PiBpbmRleCA2NjhiODYzLi43ZTQ2 ZWU5IDEwMDY0NAo+ID4+Pj4gLS0tIGEveGVuL2FyY2gvYXJtL2dpYy12Mi5jCj4gPj4+PiArKysg Yi94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMKPiA+Pj4+IEBAIC0yOSw2ICsyOSw4IEBACj4gPj4+PiAg I2luY2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPgo+ID4+Pj4gICNpbmNsdWRlIDx4ZW4vbGliZmR0 L2xpYmZkdC5oPgo+ID4+Pj4gICNpbmNsdWRlIDx4ZW4vc2l6ZXMuaD4KPiA+Pj4+ICsjaW5jbHVk ZSA8eGVuL2FjcGkuaD4KPiA+Pj4+ICsjaW5jbHVkZSA8YWNwaS9hY3RhYmxlcy5oPgo+ID4+Pj4g ICNpbmNsdWRlIDxhc20vcDJtLmg+Cj4gPj4+PiAgI2luY2x1ZGUgPGFzbS9kb21haW4uaD4KPiA+ Pj4+ICAjaW5jbHVkZSA8YXNtL3BsYXRmb3JtLmg+Cj4gPj4+PiBAQCAtMzYsNiArMzgsNyBAQAo+ ID4+Pj4gIAo+ID4+Pj4gICNpbmNsdWRlIDxhc20vaW8uaD4KPiA+Pj4+ICAjaW5jbHVkZSA8YXNt L2dpYy5oPgo+ID4+Pj4gKyNpbmNsdWRlIDxhc20vYWNwaS5oPgo+ID4+Pj4gIAo+ID4+Pj4gIC8q Cj4gPj4+PiAgICogTFIgcmVnaXN0ZXIgZGVmaW5pdGlvbnMgYXJlIEdJQyB2MiBzcGVjaWZpYy4K PiA+Pj4+IEBAIC02ODEsMTEgKzY4NCwxMTEgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YyX2R0 X2luaXQodm9pZCkKPiA+Pj4+ICAgICAgICAgICAgICAgICBjc2l6ZSwgdnNpemUpOwo+ID4+Pj4g IH0KPiA+Pj4+ICAKPiA+Pj4+ICsjaWZkZWYgQ09ORklHX0FDUEkKPiA+Pj4+ICtzdGF0aWMgaW50 IF9faW5pdAo+ID4+Pj4gK2dpY19hY3BpX3BhcnNlX21hZHRfY3B1KHN0cnVjdCBhY3BpX3N1YnRh YmxlX2hlYWRlciAqaGVhZGVyLAo+ID4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHVuc2lnbmVkIGxvbmcgZW5kKQo+ID4+Pj4gK3sKPiA+Pj4+ICsgICAgc3RhdGljIGludCBjcHVf YmFzZV9hc3NpZ25lZCA9IDA7Cj4gPj4+PiArICAgIHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19p bnRlcnJ1cHQgKnByb2Nlc3NvciA9Cj4gPj4+PiArICAgICAgICAgICAgICAgY29udGFpbmVyX29m KGhlYWRlciwgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2ludGVycnVwdCwgaGVhZGVyKTsKPiA+ Pj4+ICsKPiA+Pj4+ICsgICAgaWYgKCBCQURfTUFEVF9FTlRSWShwcm9jZXNzb3IsIGVuZCkgKQo+ ID4+Pj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPj4+PiArCj4gPj4+PiArICAgIC8qIFJl YWQgZnJvbSBBUElDIHRhYmxlIGFuZCBmaWxsIHVwIHRoZSBHSUMgdmFyaWFibGVzICovCj4gPj4+ PiArICAgIGlmICggY3B1X2Jhc2VfYXNzaWduZWQgPT0gMCApCj4gPj4+PiArICAgIHsKPiA+Pj4+ ICsgICAgICAgIGNiYXNlID0gcHJvY2Vzc29yLT5iYXNlX2FkZHJlc3M7Cj4gPj4+PiArICAgICAg ICBjc2l6ZSA9IFNaXzhLOwo+ID4+Pj4gKyAgICAgICAgaGJhc2UgPSBwcm9jZXNzb3ItPmdpY2hf YmFzZV9hZGRyZXNzOwo+ID4+Pj4gKyAgICAgICAgdmJhc2UgPSBwcm9jZXNzb3ItPmdpY3ZfYmFz ZV9hZGRyZXNzOwo+ID4+Pj4gKyAgICAgICAgZ2ljdjJfaW5mby5tYWludGVuYW5jZV9pcnEgPSBw cm9jZXNzb3ItPnZnaWNfaW50ZXJydXB0Owo+ID4+Pj4gKwo+ID4+Pj4gKyAgICAgICAgaWYoIHBy b2Nlc3Nvci0+ZmxhZ3MgJiBBQ1BJX01BRFRfVkdJQ19JUlFfTU9ERSApCj4gPj4+Cj4gPj4+ICAg ICAgICAgICAgIF4gaWYgKCAKPiA+Pj4KPiA+Pj4KPiA+Pj4+ICsgICAgICAgICAgICBpcnFfc2V0 X3R5cGUoZ2ljdjJfaW5mby5tYWludGVuYW5jZV9pcnEsIElSUV9UWVBFX0VER0VfQk9USCk7Cj4g Pj4+PiArICAgICAgICBlbHNlCj4gPj4+PiArICAgICAgICAgICAgaXJxX3NldF90eXBlKGdpY3Yy X2luZm8ubWFpbnRlbmFuY2VfaXJxLCBJUlFfVFlQRV9MRVZFTF9NQVNLKTsKPiA+Pj4+ICsKPiA+ Pj4+ICsgICAgICAgIGNwdV9iYXNlX2Fzc2lnbmVkID0gMTsKPiA+Pj4+ICsgICAgfQo+ID4+Pj4g KyAgICBlbHNlCj4gPj4+PiArICAgIHsKPiA+Pj4+ICsgICAgICAgIGlmICggY2Jhc2UgIT0gcHJv Y2Vzc29yLT5iYXNlX2FkZHJlc3MKPiA+Pj4+ICsgICAgICAgICAgICAgfHwgaGJhc2UgIT0gcHJv Y2Vzc29yLT5naWNoX2Jhc2VfYWRkcmVzcwo+ID4+Pj4gKyAgICAgICAgICAgICB8fCB2YmFzZSAh PSBwcm9jZXNzb3ItPmdpY3ZfYmFzZV9hZGRyZXNzCj4gPj4+PiArICAgICAgICAgICAgIHx8IGdp Y3YyX2luZm8ubWFpbnRlbmFuY2VfaXJxICE9IHByb2Nlc3Nvci0+dmdpY19pbnRlcnJ1cHQgKQo+ ID4+Pj4gKyAgICAgICAgewo+ID4+Pj4gKyAgICAgICAgICAgIHByaW50aygiR0lDdjI6IEdJQ0Mg ZW50cmllcyBhcmUgbm90IHNhbWUgaW4gTUFEVCB0YWJsZVxuIik7Cj4gPj4+PiArICAgICAgICAg ICAgcmV0dXJuIC1FSU5WQUw7Cj4gPj4+PiArICAgICAgICB9Cj4gPj4+PiArICAgIH0KPiA+Pj4+ ICsKPiA+Pj4+ICsgICAgcmV0dXJuIDA7Cj4gPj4+PiArfQo+ID4+Pj4gKwo+ID4+Pj4gK3N0YXRp YyBpbnQgX19pbml0Cj4gPj4+PiArZ2ljX2FjcGlfcGFyc2VfbWFkdF9kaXN0cmlidXRvcihzdHJ1 Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKPiA+Pj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgZW5kKQo+ID4+Pj4gK3sKPiA+Pj4+ ICsgICAgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2Rpc3RyaWJ1dG9yICpkaXN0ID0KPiA+Pj4+ ICsgICAgICAgICAgICAgY29udGFpbmVyX29mKGhlYWRlciwgc3RydWN0IGFjcGlfbWFkdF9nZW5l cmljX2Rpc3RyaWJ1dG9yLCBoZWFkZXIpOwo+ID4+Pj4gKwo+ID4+Pj4gKyAgICBpZiAoIEJBRF9N QURUX0VOVFJZKGRpc3QsIGVuZCkgKQo+ID4+Pj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4g Pj4+PiArCj4gPj4+PiArICAgIGRiYXNlID0gZGlzdC0+YmFzZV9hZGRyZXNzOwo+ID4+Pj4gKwo+ ID4+Pj4gKyAgICByZXR1cm4gMDsKPiA+Pj4+ICt9Cj4gPj4+PiArCj4gPj4+PiArc3RhdGljIHZv aWQgX19pbml0IGdpY3YyX2FjcGlfaW5pdCh2b2lkKQo+ID4+Pj4gK3sKPiA+Pj4+ICsgICAgYWNw aV9zdGF0dXMgc3RhdHVzOwo+ID4+Pj4gKyAgICBzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRh YmxlOwo+ID4+Pj4gKyAgICBpbnQgY291bnQ7Cj4gPj4+PiArCj4gPj4+PiArICAgIHN0YXR1cyA9 IGFjcGlfZ2V0X3RhYmxlKEFDUElfU0lHX01BRFQsIDAsICZ0YWJsZSk7Cj4gPj4+PiArCj4gPj4+ PiArICAgIGlmICggQUNQSV9GQUlMVVJFKHN0YXR1cykgKQo+ID4+Pj4gKyAgICB7Cj4gPj4+PiAr ICAgICAgICBjb25zdCBjaGFyICptc2cgPSBhY3BpX2Zvcm1hdF9leGNlcHRpb24oc3RhdHVzKTsK PiA+Pj4+ICsKPiA+Pj4+ICsgICAgICAgIHBhbmljKCJHSUN2MjogRmFpbGVkIHRvIGdldCBNQURU IHRhYmxlLCAlcyIsIG1zZyk7Cj4gPj4+PiArICAgIH0KPiA+Pj4+ICsKPiA+Pj4+ICsgICAgLyog Q29sbGVjdCBDUFUgYmFzZSBhZGRyZXNzZXMgKi8KPiA+Pj4+ICsgICAgY291bnQgPSBhY3BpX3Bh cnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQp LAo+ID4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaWNfYWNwaV9wYXJzZV9t YWR0X2NwdSwgdGFibGUsCj4gPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFD UElfTUFEVF9UWVBFX0dFTkVSSUNfSU5URVJSVVBULCAwKTsKPiA+Pj4+ICsgICAgaWYgKCBjb3Vu dCA8PSAwICkKPiA+Pj4+ICsgICAgICAgIHBhbmljKCJHSUN2MjogTm8gdmFsaWQgR0lDQyBlbnRy aWVzIGV4aXN0cyIpOwo+ID4+Pj4gKwo+ID4+Pj4gKyAgICAvKgo+ID4+Pj4gKyAgICAgKiBGaW5k IGRpc3RyaWJ1dG9yIGJhc2UgYWRkcmVzcy4gV2UgZXhwZWN0IG9uZSBkaXN0cmlidXRvciBlbnRy eSBzaW5jZQo+ID4+Pj4gKyAgICAgKiBBQ1BJIDUuMCBzcGVjIG5laXRoZXIgc3VwcG9ydCBtdWx0 aS1HSUMgaW5zdGFuY2VzIG5vciBHSUMgY2FzY2FkZS4KPiA+Pj4+ICsgICAgICovCj4gPj4+PiAr ICAgIGNvdW50ID0gYWNwaV9wYXJzZV9lbnRyaWVzKEFDUElfU0lHX01BRFQsIHNpemVvZihzdHJ1 Y3QgYWNwaV90YWJsZV9tYWR0KSwKPiA+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ2ljX2FjcGlfcGFyc2VfbWFkdF9kaXN0cmlidXRvciwgdGFibGUsCj4gPj4+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfRElTVFJJQlVU T1IsIDApOwo+ID4+Pj4gKyAgICBpZiAoIGNvdW50IDw9IDAgKQo+ID4+Pj4gKyAgICAgICAgcGFu aWMoIkdJQ3YyOiBObyB2YWxpZCBHSUNEIGVudHJpZXMgZXhpc3RzIik7Cj4gPj4+PiArfQo+ID4+ Pj4gKyNlbHNlCj4gPj4+PiArc3RhdGljIHZvaWQgX19pbml0IGdpY3YyX2FjcGlfaW5pdCh2b2lk KQo+ID4+Pj4gK3sKPiA+Pj4+ICsvKiBTaG91bGQgbmV2ZXIgcmVhY2ggaGVyZSAqLwo+ID4+Pj4g K30KPiA+Pj4+ICsjZW5kaWYKPiA+Pj4KPiA+Pj4gV2l0aCBhY3BpX2Rpc2FibGVkIGJlY29taW5n IGFuICNkZWZpbmUgY29uc3RhbnQsIHRoaXMgI2Vsc2Ugc2hvdWxkIG5vdAo+ID4+PiBiZSBuZWVk ZWQuCj4gPj4+Cj4gPj4gSWYgSSByZW1vdmUgI2Vsc2UgYW5kIGRlZmluZSBhY3BpX2Rpc2FibGVk IGFzIGEgY29uc3RhbnQgYXMgeW91Cj4gPj4gc3VnZ2VzdGVkLCBpdCBoYXMgYmVsb3cgY29tcGls aW5nIGVycm9yIG9uIGFybTMyLgo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9n aWMtdjIuYyBiL3hlbi9hcmNoL2FybS9naWMtdjIuYwo+ID4+IGluZGV4IDlhOWZjZDUuLjI4ZWMw NjQgMTAwNjQ0Cj4gPj4gLS0tIGEveGVuL2FyY2gvYXJtL2dpYy12Mi5jCj4gPj4gKysrIGIveGVu L2FyY2gvYXJtL2dpYy12Mi5jCj4gPj4gQEAgLTc3NiwxMSArNzc2LDYgQEAgc3RhdGljIHZvaWQg X19pbml0IGFjcGlfZ2ljdjJfaW5pdCh2b2lkKQo+ID4+ICAgICAgaWYgKCBjb3VudCA8PSAwICkK PiA+PiAgICAgICAgICBwYW5pYygiR0lDdjI6IE5vIHZhbGlkIEdJQ0QgZW50cmllcyBleGlzdHMi KTsKPiA+PiAgfQo+ID4+IC0jZWxzZQo+ID4+IC1zdGF0aWMgdm9pZCBfX2luaXQgYWNwaV9naWN2 Ml9pbml0KHZvaWQpCj4gPj4gLXsKPiA+PiAtLyogU2hvdWxkIG5ldmVyIHJlYWNoIGhlcmUgKi8K PiA+PiAtfQo+ID4+ICAjZW5kaWYKPiA+Pgo+ID4+IGdpYy12Mi5jOiBJbiBmdW5jdGlvbiAnZ2lj djJfaW5pdCc6Cj4gPj4gZ2ljLXYyLmM6NzkzOjk6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBmdW5jdGlvbgo+ID4+ICdhY3BpX2dpY3YyX2luaXQnIFstV2Vycm9yPWltcGxpY2l0LWZ1 bmN0aW9uLWRlY2xhcmF0aW9uXQo+ID4+IGdpYy12Mi5jOjc5Mzo5OiBlcnJvcjogbmVzdGVkIGV4 dGVybiBkZWNsYXJhdGlvbiBvZiAnYWNwaV9naWN2Ml9pbml0Jwo+ID4+IFstV2Vycm9yPW5lc3Rl ZC1leHRlcm5zXQo+ID4+IGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3Jz Cj4gPiAKPiA+IFNvcnJ5LCBJIHNob3VsZCBoYXZlIGJlZW4gY2xlYXJlci4gWW91IHN0aWxsIG5l ZWQgdG8gaGF2ZSBhIGRlY2xhcmF0aW9uCj4gPiBvZiB0aGUgZnVuY3Rpb24gb3V0c2lkZSB0aGUg I2lmZGVmLiBTb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nIHNob3VsZAo+ID4gd29yazoKPiA+ IAo+ID4gICBzdGF0aWMgdm9pZCBhY3BpX2dpY3YyX2luaXQodm9pZCk7Cj4gPiAKPiA+ICAgWy4u Ll0KPiA+IAo+ID4gICAjaWZkZWYgQ09ORklHX0FDUEkKPiA+ICAgc3RhdGljIHZvaWQgX19pbml0 IGFjcGlfZ2ljdjJfaW5pdCh2b2lkKQo+ID4gICB7Cj4gPiAgICAgICAvKiBkbyBzb21ldGhpbmcg Ki8KPiA+ICAgfQo+ID4gICAjZW5kaWYKPiA+IAo+ID4gICBbLi4uXQo+ID4gCj4gPiAgIGlmICgg YWNwaV9kaXNhYmxlZCApCj4gPiAgICAgICBnaWN2Ml9kdF9pbml0KCk7Cj4gPiAgIGVsc2UKPiA+ ICAgICAgIGdpY3YyX2FjcGlfaW5pdCgpOwo+ID4gCj4gPiAuCj4gPiAKPiBJJ20gYWZyYWlkIGl0 IGRvZXNuJ3Qgd29yay4gU3RpbGwgaGFzIGJlbG93IGVycm9ycyB3aXRoIHRoZSBkZWNsYXJhdGlv bjoKPiAKPiBnaWMtdjIuYzo2ODc6MTM6IGVycm9yOiAnZ2ljdjJfYWNwaV9pbml0JyB1c2VkIGJ1 dCBuZXZlciBkZWZpbmVkIFstV2Vycm9yXQo+IGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0 ZWQgYXMgZXJyb3JzCj4KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy12Mi5jIGIveGVu L2FyY2gvYXJtL2dpYy12Mi5jCj4gaW5kZXggNGI2YzRjMC4uN2I3ZTA5NCAxMDA2NDQKPiAtLS0g YS94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMKPiBA QCAtNjg0LDYgKzY4NCw4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBnaWN2Ml9kdF9pbml0KHZvaWQp Cj4gICAgICAgICAgICAgICAgIGNzaXplLCB2c2l6ZSk7Cj4gIH0KPiAKPiArc3RhdGljIHZvaWQg Z2ljdjJfYWNwaV9pbml0KHZvaWQpOwoKSXQgc2hvdWxkIGJlCgogICB2b2lkIGdpY3YyX2FjcGlf aW5pdCh2b2lkKTsKCndpdGhvdXQgInN0YXRpYyIuCgoKCj4gICNpZmRlZiBDT05GSUdfQUNQSQo+ ICBzdGF0aWMgaW50IF9faW5pdAo+ICBnaWNfYWNwaV9wYXJzZV9tYWR0X2NwdShzdHJ1Y3QgYWNw aV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKPiBAQCAtNzc0LDExICs3NzYsNiBAQCBzdGF0aWMg dm9pZCBfX2luaXQgZ2ljdjJfYWNwaV9pbml0KHZvaWQpCj4gICAgICBpZiAoIGNvdW50IDw9IDAg KQo+ICAgICAgICAgIHBhbmljKCJHSUN2MjogTm8gdmFsaWQgR0lDRCBlbnRyaWVzIGV4aXN0cyIp Owo+ICB9Cj4gLSNlbHNlCj4gLXN0YXRpYyB2b2lkIF9faW5pdCBnaWN2Ml9hY3BpX2luaXQodm9p ZCkKPiAtewo+IC0vKiBTaG91bGQgbmV2ZXIgcmVhY2ggaGVyZSAqLwo+IC19Cj4gICNlbmRpZgo+ IAo+ICBzdGF0aWMgaW50IF9faW5pdCBnaWN2Ml9pbml0KHZvaWQpCj4gCj4gLS0gCj4gU2hhbm5v bgo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK