From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Yu, Zhang" Subject: Re: [PATCH v3 1/8] drm/i915: Introduce a PV INFO page structure for Intel GVT-g. Date: Tue, 16 Dec 2014 20:51:24 +0800 Message-ID: <54902ACC.6020203@linux.intel.com> References: <1415880169-7656-1-git-send-email-yu.c.zhang@linux.intel.com> <1415880169-7656-2-git-send-email-yu.c.zhang@linux.intel.com> <5489D54C.5050605@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 3B83F6E89A for ; Tue, 16 Dec 2014 04:52:48 -0800 (PST) In-Reply-To: <5489D54C.5050605@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhhbmsgeW91IHZlcnkgbXVjaCBmb3IgeW91ciB0aG9yb3VnaCByZXZpZXcsIFR2cnRrby4gOikK Ck9uIDEyLzEyLzIwMTQgMTozMyBBTSwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4KPiBPbiAxMS8x My8yMDE0IDEyOjAyIFBNLCBZdSBaaGFuZyB3cm90ZToKPj4gSW50cm9kdWNlIGEgUFYgSU5GTyBz dHJ1Y3R1cmUsIHRvIGZhY2lsaXRhdGUgdGhlIEludGVsIEdWVC1nCj4+IHRlY2hub2xvZ3ksIHdo aWNoIGlzIGEgR1BVIHZpcnR1YWxpemF0aW9uIHNvbHV0aW9uIHdpdGggbWVkaWF0ZWQKPj4gcGFz cy10aHJvdWdoLiBUaGlzIHBhZ2UgY29udGFpbnMgdGhlIHNoYXJlZCBpbmZvcm1hdGlvbiBiZXR3 ZWVuCj4+IGk5MTUgZHJpdmVyIGFuZCB0aGUgaG9zdCBlbXVsYXRvci4gRm9yIG5vdywgdGhpcyBz dHJ1Y3R1cmUgdXRpbGl6ZXMKPj4gYW4gYXJlYSBvZiA0SyBieXBlcyBvbiBIU1cgR1BVJ3MgdW51 c2VkIE1NSU8gc3BhY2UgdG8gc3VwcG9ydAo+Cj4gYnl0ZXMKR290IGl0LiBUaGFua3MuCj4KPj4g ZXhpc3RpbmcgcHJvZHVjdGlvbi4gRnV0dXJlIGhhcmR3YXJlIHdpbGwgaGF2ZSB0aGUgcmVzZXJ2 ZWQgd2luZG93Cj4KPiBJdCBpcyBzbGlnaHRseSB1bmNsZWFyIHRvIG1lIHdoYXQgImV4aXN0aW5n IHByb2R1Y3Rpb24iIG1lYW5zPwpPdXIgY3VycmVudCBncHUgdmlydHVhbGl6YXRpb24gaW1wbGVt ZW50YXRpb24gZm9yIEhTVy4gSXQncyBjb21wYXJlZCAKd2l0aCBmdXR1cmUgaW1wbGVtYXRhdGlv bnMgZm9yIEJEVyBldGMuCj4KPj4gYXJjaGl0ZWN0dXJhbGx5IGRlZmluZWQsIGFuZCBsYXlvdXQg b2YgdGhlIHBhZ2Ugd2lsbCBiZSBhZGRlZCBpbgo+PiBmdXR1cmUgQlNwZWMuCj4+Cj4+IFRoZSBp OTE1IGRyaXZlciBsb2FkIHJvdXRpbmUgZGV0ZWN0cyBpZiBpdCBpcyBydW5uaW5nIGluIGEgVk0g YnkKPj4gcmVhZGluZyB0aGUgY29udGVudHMgb2YgdGhpcyBQViBJTkZPIHBhZ2UuIFRoZXJlYWZ0 ZXIgYSBmbGFnLAo+PiB2Z3B1LmFjdGl2ZSBpcyBzZXQsIGFuZCBpbnRlbF92Z3B1X2FjdGl2ZSgp IGlzIHVzZWQgYnkgY2hlY2tpbmcKPj4gdGhpcyBmbGFnIHRvIGNvbmNsdWRlIGlmIEdQVSBpcyB2 aXJ0dWFsaXplZCB3aXRoIEludGVsIEdWVC1nLiBCeQo+PiBub3csIGludGVsX3ZncHVfYWN0aXZl KCkgd2lsbCByZXR1cm4gdHJ1ZSwgb25seSB3aGVuIHRoZSBkcml2ZXIKPj4gaXMgcnVubmluZyBh cyBhIGd1ZXN0IGluIHRoZSBJbnRlbCBHVlQtZyBlbmhhbmNlZCBlbnZpcm9ubWVudCBvbgo+PiBI U1cgcGxhdGZvcm0uCj4+Cj4+IHYyOgo+PiB0YWtlIENocmlzJyBjb21tZW50czoKPj4gICAgIC0g Y2FsbCB0aGUgaTkxNV9jaGVja192Z3B1KCkgaW4gaW50ZWxfdW5jb3JlX2luaXQoKQo+PiAgICAg LSBzYW5pdGl6ZSBpOTE1X2NoZWNrX3ZncHUoKSBieSBhZGRpbmcgQlVJTERfQlVHX09OKCkgYW5k IGRlYnVnIGluZm8KPj4gdGFrZSBEYW5pZWwncyBjb21tZW50czoKPj4gICAgIC0gcHV0IHRoZSBk ZWZpbml0aW9uIG9mIFBWIElORk8gaW50byBhIG5ldyBoZWFkZXIgLSBpOTE1X3ZndF9pZi5oCj4+ IG90aGVyIGNoYW5nZXM6Cj4+ICAgICAtIGFjY2VzcyBtbWlvIHJlZ3MgYnkgcmVhZHEvcmVhZHcg aW4gaTkxNV9jaGVja192Z3B1KCkKPj4KPj4gdjM6Cj4+IHRha2UgRGFuaWVsJ3MgY29tbWVudHM6 Cj4+ICAgICAtIG1vdmUgdGhlIGk5MTUvdmd0IGludGVyZmFjZXMgaW50byBhIG5ldyBpOTE1X3Zn cHUuYwo+PiAgICAgLSB1cGRhdGUgbWFrZWZpbGUKPj4gICAgIC0gYWRkIGtlcm5lbGRvYyB0byBm dW5jdGlvbnMgd2hpY2ggYXJlIG5vbi1zdGF0aWMKPj4gICAgIC0gYWRkIGEgRE9DOiBzZWN0aW9u IGRlc2NyaWJpbmcgc29tZSBvZiB0aGUgaGlnaC1sZXZlbCBkZXNpZ24KPj4gICAgIC0gdXBkYXRl IGRybSBkb2Nib29rCj4+IG90aGVyIGNoYW5nZXM6Cj4+ICAgICAtIHJlbmFtZSBpOTE1X3ZndF9p Zi5oIHRvIGk5MTVfdmdwdS5oCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFl1IFpoYW5nIDx5dS5jLnpo YW5nQGxpbnV4LmludGVsLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogSmlrZSBTb25nIDxqaWtlLnNv bmdAaW50ZWwuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBFZGRpZSBEb25nIDxlZGRpZS5kb25nQGlu dGVsLmNvbT4KPj4gLS0tCj4+ICAgRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2RybS50bXBsICAgICAg fCAgNSArKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICB8ICAzICsr Cj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAxMSArKysrKwo+PiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jICAgIHwgODUKPj4gKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dmdwdS5oICAgIHwgODUKPj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIHwgIDMgKysKPj4gICA2IGZp bGVzIGNoYW5nZWQsIDE5MiBpbnNlcnRpb25zKCspCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oCj4+Cj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVu dGF0aW9uL0RvY0Jvb2svZHJtLnRtcGwKPj4gYi9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZHJtLnRt cGwKPj4gaW5kZXggNjRkOWMxZS4uZTRkYjRjZiAxMDA2NDQKPj4gLS0tIGEvRG9jdW1lbnRhdGlv bi9Eb2NCb29rL2RybS50bXBsCj4+ICsrKyBiL0RvY3VtZW50YXRpb24vRG9jQm9vay9kcm0udG1w bAo+PiBAQCAtMzgzMiw2ICszODMyLDExIEBAIGludCBudW1faW9jdGxzOzwvc3lub3BzaXM+Cj4+ ICAgIUZkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGludGVsX3J1bnRpbWVfcG1fZGlz YWJsZV9pbnRlcnJ1cHRzCj4+ICAgIUZkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGlu dGVsX3J1bnRpbWVfcG1fZW5hYmxlX2ludGVycnVwdHMKPj4gICAgICAgICA8L3NlY3QyPgo+PiAr ICAgICAgPHNlY3QyPgo+PiArICAgICAgICA8dGl0bGU+SW50ZWwgR1ZULWcgR3Vlc3QgU3VwcG9y dCh2R1BVKTwvdGl0bGU+Cj4+ICshUGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jIElu dGVsIEdWVC1nIGd1ZXN0IHN1cHBvcnQKPj4gKyFJZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92 Z3B1LmMKPj4gKyAgICAgIDwvc2VjdDI+Cj4+ICAgICAgIDwvc2VjdDE+Cj4+ICAgICAgIDxzZWN0 MT4KPj4gICAgICAgICA8dGl0bGU+RGlzcGxheSBIYXJkd2FyZSBIYW5kbGluZzwvdGl0bGU+Cj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+PiBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L01ha2VmaWxlCj4+IGluZGV4IDg5MWU1ODQuLmQ5YWE1Y2EgMTAwNjQ0Cj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L01ha2VmaWxlCj4+IEBAIC03OSw2ICs3OSw5IEBAIGk5MTUteSArPSBkdm9fY2g3 MDE3Lm8gXAo+PiAgICAgICAgIGludGVsX3Nkdm8ubyBcCj4+ICAgICAgICAgaW50ZWxfdHYubwo+ Pgo+PiArIyB2aXJ0dWFsIGdwdSBjb2RlCj4+ICtpOTE1LXkgKz0gaTkxNV92Z3B1Lm8KPj4gKwo+ PiAgICMgbGVnYWN5IGhvcnJvcnMKPj4gICBpOTE1LXkgKz0gaTkxNV9kbWEubyBcCj4+ICAgICAg ICAgaTkxNV91bXMubwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gaW5kZXggNTQ2OTFi Yy4uZTFlMjIxZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IEBAIC0xNDcwLDYg KzE0NzAsMTAgQEAgc3RydWN0IGk5MTVfd29ya2Fyb3VuZHMgewo+PiAgICAgICB1MzIgY291bnQ7 Cj4+ICAgfTsKPj4KPj4gK3N0cnVjdCBpOTE1X3ZpcnR1YWxfZ3B1IHsKPj4gKyAgICBib29sIGFj dGl2ZTsKPj4gK307Cj4+ICsKPj4gICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4+ICAgICAg IHN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4+ICAgICAgIHN0cnVjdCBrbWVtX2NhY2hlICpzbGFi Owo+PiBAQCAtMTQ4Miw2ICsxNDg2LDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+Pgo+ PiAgICAgICBzdHJ1Y3QgaW50ZWxfdW5jb3JlIHVuY29yZTsKPj4KPj4gKyAgICBzdHJ1Y3QgaTkx NV92aXJ0dWFsX2dwdSB2Z3B1Owo+PiArCj4+ICAgICAgIHN0cnVjdCBpbnRlbF9nbWJ1cyBnbWJ1 c1tHTUJVU19OVU1fUE9SVFNdOwo+Pgo+Pgo+PiBAQCAtMjMxMSw2ICsyMzE3LDExIEBAIGV4dGVy biB2b2lkIGludGVsX3VuY29yZV9jaGVja19lcnJvcnMoc3RydWN0Cj4+IGRybV9kZXZpY2UgKmRl dik7Cj4+ICAgZXh0ZXJuIHZvaWQgaW50ZWxfdW5jb3JlX2Zpbmkoc3RydWN0IGRybV9kZXZpY2Ug KmRldik7Cj4+ICAgZXh0ZXJuIHZvaWQgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9yZXNldChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+PiBib29sIHJlc3RvcmUpOwo+Pgo+PiArc3RhdGljIGlubGlu ZSBib29sIGludGVsX3ZncHVfYWN0aXZlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICt7Cj4+ ICsgICAgcmV0dXJuIHRvX2k5MTUoZGV2KS0+dmdwdS5hY3RpdmU7Cj4+ICt9Cj4+ICsKPj4gICB2 b2lkCj4+ICAgaTkxNV9lbmFibGVfcGlwZXN0YXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBlbnVtIHBpcGUgcGlwZSwKPj4gICAgICAgICAgICAgICAgdTMyIHN0YXR1c19tYXNr KTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCj4+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmMKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQK Pj4gaW5kZXggMDAwMDAwMC4uM2Y2Yjc5Nwo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCj4+IEBAIC0wLDAgKzEsODUgQEAKPj4gKy8qCj4+ ICsgKiBDb3B5cmlnaHQoYykgMjAxMS0yMDE0IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkLgo+PiArICoKPj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZy ZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uCj4+IG9idGFpbmluZyBhCj4+ICsgKiBjb3B5IG9m IHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCj4+ ICJTb2Z0d2FyZSIpLAo+PiArICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0 cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQKPj4gbGltaXRhdGlvbgo+PiArICogdGhlIHJpZ2h0 cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsCj4+IHN1 YmxpY2Vuc2UsCj4+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQg dG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPj4gKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hl ZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4+ICsgKgo+ PiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp Y2UgKGluY2x1ZGluZwo+PiB0aGUgbmV4dAo+PiArICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNs dWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zCj4+IG9mIHRoZQo+PiAr ICogU29mdHdhcmUuCj4+ICsgKgo+PiArICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJ UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCj4+IEVYUFJFU1MgT1IKPj4gKyAqIElN UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKPj4g TUVSQ0hBTlRBQklMSVRZLAo+PiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UCj4+IFNIQUxMCj4+ICsgKiBUSEUgQVVU SE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdF Uwo+PiBPUiBPVEhFUgo+PiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD T05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCj4+IEFSSVNJTkcgRlJPTSwKPj4gKyAqIE9VVCBP RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIK Pj4gREVBTElOR1MgSU4gVEhFCj4+ICsgKiBTT0ZUV0FSRS4KPj4gKyAqLwo+PiArCj4+ICsjaW5j bHVkZSAiaW50ZWxfZHJ2LmgiCj4+ICsjaW5jbHVkZSAiaTkxNV92Z3B1LmgiCj4+ICsKPj4gKwo+ PiArLyoqCj4+ICsgKiBET0M6IEludGVsIEdWVC1nIGd1ZXN0IHN1cHBvcnQKPj4gKyAqCj4+ICsg KiBJbnRlbCBHVlQtZyBpcyBhIGdyYXBoaWNzIHZpcnR1YWxpemF0aW9uIHRlY2hub2xvZ3kgd2hp Y2ggc2hhcmVzIHRoZQo+PiArICogR1BVIGFtb25nIG11bHRpcGxlIHZpcnR1YWwgbWFjaGluZXMg b24gYSB0aW1lLXNoYXJpbmcgYmFzaXMuIEVhY2gKPj4gKyAqIHZpcnR1YWwgbWFjaGluZSBpcyBw cmVzZW50ZWQgYSB2aXJ0dWFsIEdQVSAodkdQVSksIHdoaWNoIGhhcwo+PiBlcXVpdmFsZW50Cj4+ ICsgKiBmZWF0dXJlcyBhcyB0aGUgdW5kZXJseWluZyBwaHlzaWNhbCBHUFUgKHBHUFUpLCBzbyBp OTE1IGRyaXZlciBjYW4KPj4gcnVuCj4+ICsgKiBzZWFtbGVzc2x5IGluIGEgdmlydHVhbCBtYWNo aW5lLiBUaGlzIGZpbGUgcHJvdmlkZXMgdkdQVSBzcGVjaWZpYwo+PiArICogb3B0aW1pemF0aW9u cyB3aGVuIHJ1bm5pbmcgaW4gYSB2aXJ0dWFsIG1hY2hpbmUsIHRvIHJlZHVjZSB0aGUKPj4gY29t cGxleGl0eQo+PiArICogb2YgdkdQVSBlbXVsYXRpb24gYW5kIHRvIGltcHJvdmUgdGhlIG92ZXJh bGwgcGVyZm9ybWFuY2UuCj4+ICsgKgo+PiArICogQSBwcmltYXJ5IGZ1bmN0aW9uIGludHJvZHVj ZWQgaGVyZSBpcyBzby1jYWxsZWQgImFkZHJlc3Mgc3BhY2UKPj4gYmFsbG9vbmluZyIKPj4gKyAq IHRlY2huaXF1ZS4gSW50ZWwgR1ZULWcgcGFydGl0aW9ucyBnbG9iYWwgZ3JhcGhpY3MgbWVtb3J5 IGFtb25nCj4+IG11bHRpcGxlIFZNcywKPj4gKyAqIHNvIGVhY2ggVk0gY2FuIGRpcmVjdGx5IGFj Y2VzcyBhIHBvcnRpb24gb2YgdGhlIG1lbW9yeSB3L28KPj4gaHlwZXJ2aXNvcidzCj4+ICsgKiBp bnRlcnZlbnRpb24sIGUuZy4gZmlsbGluZyB0ZXh0dXJlcyBvciBxdWV1aW5nIGNvbW1hbmRzLiBI b3dldmVyCj4+IHcvIHRoZQo+Cj4gUGVyc29uYWwgcHJlZmVyZW5jZSwgYnV0IEl0IG1heSBiZSBu aWNlciB0byBhdm9pZCAidy9vIiBhbmQgc2ltaWxhcgo+IHNob3J0aGFuZCBpbiBkb2N1bWVudGF0 aW9uLgpPSy4gV2lsbCBmaXggaXQuIDopCj4KPj4gKyAqIHBhcnRpdGlvbmluZyBhbiB1bm1vZGlm aWVkIGk5MTUgZHJpdmVyIHdvdWxkIGFzc3VtZSBhIHNtYWxsZXIKPj4gZ3JhcGhpY3MKPj4gKyAq IG1lbW9yeSBzdGFydGluZyBmcm9tIGFkZHJlc3MgWkVSTywgdGhlbiByZXF1aXJlcyB2R1BVIGVt dWxhdGlvbgo+PiBtb2R1bGUgdG8KPj4gKyAqIHRyYW5zbGF0ZSB0aGUgZ3JhcGhpY3MgYWRkcmVz cyBiZXR3ZWVuICdndWVzdCB2aWV3JyBhbmQgJ2hvc3QKPj4gdmlldycsIGZvcgo+PiArICogYWxs IHJlZ2lzdGVycyBhbmQgY29tbWFuZCBvcGNvZGVzIHdoaWNoIGNvbnRhaW4gYSBncmFwaGljcyBt ZW1vcnkKPj4gYWRkcmVzcy4KPj4gKyAqIFRvIHJlZHVjZSB0aGUgY29tcGxleGl0eSwgSW50ZWwg R1ZULWcgaW50cm9kdWNlcyAiYWRkcmVzcyBzcGFjZQo+PiBiYWxsb29uaW5nIiwKPj4gKyAqIGJ5 IHRlbGxpbmcgdGhlIGV4YWN0IHBhcnRpdGlvbmluZyBrbm93bGVkZ2UgdG8gZWFjaCBndWVzdCBp OTE1Cj4+IGRyaXZlciwgd2hpY2gKPj4gKyAqIHRoZW4gcmVzZXJ2ZXMgYW5kIHByZXZlbnRzIG5v bi1hbGxvY2F0ZWQgcG9ydGlvbnMgZnJvbSBhbGxvY2F0aW9uLgo+PiBUaHVzIHZHUFUKPj4gKyAq IGVtdWxhdGlvbiBtb2R1bGUgbW9kdWxlIG9ubHkgbmVlZHMgdG8gc2NhbiBhbmQgdmFsaWRhdGUg Z3JhcGhpY3MKPj4gYWRkcmVzc2VzCj4+ICsgKiB3L28gY29tcGxleGl0eSBvZiBhZGRyZXNzIHRy YW5zbGF0aW9uLgo+PiArICoKPj4gKyAqLwo+PiArCj4+ICsvKioKPj4gKyAqIGk5MTVfY2hlY2tf dmdwdSAtIGRldGVjdCB2aXJ0dWFsIEdQVQo+PiArICogQGRldjogZHJtIGRldmljZSAqCj4+ICsg Kgo+PiArICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYXQgdGhlIGluaXRpYWxpemF0aW9uIHN0 YWdlLCB0byBkZXRlY3QKPj4gd2hldGhlcgo+PiArICogcnVubmluZyBvbiBhIHZHUFUuCj4+ICsg Ki8KPj4gK3ZvaWQgaTkxNV9jaGVja192Z3B1KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICt7 Cj4+ICsgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp Owo+PiArICAgIHVpbnQ2NF90IG1hZ2ljOwo+PiArICAgIHVpbnQzMl90IHZlcnNpb247Cj4+ICsK Pj4gKyAgICBCVUlMRF9CVUdfT04oc2l6ZW9mKHN0cnVjdCB2Z3RfaWYpICE9IFZHVF9QVklORk9f U0laRSk7Cj4+ICsKPj4gKyAgICBpZiAoIUlTX0hBU1dFTEwoZGV2KSkKPj4gKyAgICAgICAgcmV0 dXJuOwo+PiArCj4+ICsgICAgbWFnaWMgPSByZWFkcShkZXZfcHJpdi0+cmVncyArIHZndGlmX3Jl ZyhtYWdpYykpOwo+PiArICAgIGlmIChtYWdpYyAhPSBWR1RfTUFHSUMpCj4+ICsgICAgICAgIHJl dHVybjsKPj4gKwo+PiArICAgIHZlcnNpb24gPSBJTlRFTF9WR1RfSUZfVkVSU0lPTl9FTkNPREUo Cj4+ICsgICAgICAgIHJlYWR3KGRldl9wcml2LT5yZWdzICsgdmd0aWZfcmVnKHZlcnNpb25fbWFq b3IpKSwKPj4gKyAgICAgICAgcmVhZHcoZGV2X3ByaXYtPnJlZ3MgKyB2Z3RpZl9yZWcodmVyc2lv bl9taW5vcikpKTsKPj4gKyAgICBpZiAodmVyc2lvbiAhPSBJTlRFTF9WR1RfSUZfVkVSU0lPTikK Pj4gKyAgICAgICAgcmV0dXJuOwo+Cj4gV291bGQgaXQgYmUgdXNlZnVsIHRvIHNvbWV0aGluZyBv biB2ZXJzaW9uIG1pc21hdGNoPwpXZWxsLiBUaGFua3MgZm9yIHlvdXIgbm90aWZpY2F0aW9uLiA6 KQpJbiBmYWN0LCB0aGlzIHZlcnNpb24ganVkZ2VtZW50IGlzIGp1c3QgZm9yIGZ1dHVyZSB1c2Fn ZXMuIEJ5IG5vdywgd2UgCmhhdmUgb25seSBvbmUgdmd0IGludGVyZmFjZSB2ZXJzaW9uLCAweDEw MDAwLiBCdXQgeW91IGFyZSByaWdodCwgdW5saWtlIAp0aGUganVkZ2VtZW50IGZvciAnbWFnaWMn LCB3aGljaCBzcGVjaWZpZXMgdGhlIEludGVsIEdWVC1nIGZlYXR1cmUsIGFuZCAKY2FuIGJlIHJl dHVybmVkIGRpcmVjdGx5IHdoZW4gZmFsc2UsIGZhaWx1cmUgZm9yIHRoZSAndmVyc2lvbicgbWF5 IApzaG91bGQgdHJpZ2dlciBzb21ldGhpbmcgbGlrZSB1bmxvYWQgdGhlIGRyaXZlci4gSG93ZXZl ciwgaWYgc28sIHRoaXMgCm1lYW5zIHdlIG1heSBuZWVkIHRvOgoxPiByZXR1cm4gc29tZXRoaW5n IGluIGk5MTVfY2hlY2tfdmdwdSgpOwoyPiBjaGFuZ2UgdGhlIHByb3RvdHlwZSBvZiBpOTE1X2No ZWNrX3ZncHUoKSBhbmQgaXRzIGNhbGxlciAKaW50ZWxfdW5jb3JlX2luaXQoKTsKMz4gY2hlY2sg dGhlIHJldHVybiB2YWx1ZSBvZiBpbnRlbF91bmNvcmVfaW5pdCgpIGluIGk5MTVfZHJpdmVyX2xv YWQoKQpJcyB0aGlzIGFwcHJvYWNoIGFjY2VwdGFibGU/Cgo+Cj4+ICsgICAgZGV2X3ByaXYtPnZn cHUuYWN0aXZlID0gdHJ1ZTsKPj4gKyAgICBEUk1fSU5GTygiVmlydHVhbCBHUFUgZm9yIEludGVs IEdWVC1nIGRldGVjdGVkLlxuIik7Cj4+ICt9Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3ZncHUuaAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5o Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAuLjVmNDFkMDFjCj4+IC0t LSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmgKPj4g QEAgLTAsMCArMSw4NSBAQAo+PiArLyoKPj4gKyAqIENvcHlyaWdodChjKSAyMDExLTIwMTQgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4+ICsgKgo+PiArICogUGVybWlz c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24KPj4g b2J0YWluaW5nIGEKPj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBk b2N1bWVudGF0aW9uIGZpbGVzICh0aGUKPj4gIlNvZnR3YXJlIiksCj4+ICsgKiB0byBkZWFsIGlu IHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dAo+PiBs aW1pdGF0aW9uCj4+ICsgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg cHVibGlzaCwgZGlzdHJpYnV0ZSwKPj4gc3VibGljZW5zZSwKPj4gKyAqIGFuZC9vciBzZWxsIGNv cGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ PiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKPj4gKyAqCj4+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nCj4+IHRoZSBuZXh0Cj4+ICsg KiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp YWwgcG9ydGlvbnMKPj4gb2YgdGhlCj4+ICsgKiBTb2Z0d2FyZS4KPj4gKyAqCj4+ICsgKiBUSEUg U09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO RCwKPj4gRVhQUkVTUyBPUgo+PiArICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF RCBUTyBUSEUgV0FSUkFOVElFUyBPRgo+PiBNRVJDSEFOVEFCSUxJVFksCj4+ICsgKiBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZF TlQKPj4gU0hBTEwKPj4gKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ QUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTCj4+IE9SIE9USEVSCj4+ICsgKiBMSUFCSUxJVFks IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKPj4g QVJJU0lORyBGUk9NLAo+PiArICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09G VFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgo+PiBERUFMSU5HUyBJTiBUSEUKPj4gKyAqIFNPRlRX QVJFLgo+PiArICovCj4+ICsKPj4gKyNpZm5kZWYgX0k5MTVfVkdQVV9IXwo+PiArI2RlZmluZSBf STkxNV9WR1BVX0hfCj4+ICsKPj4gKy8qIFRoZSBNTUlPIG9mZnNldCBvZiB0aGUgc2hhcmVkIGlu Zm8gYmV0d2VlbiBndWVzdCBhbmQgaG9zdCBlbXVsYXRvciAqLwo+PiArI2RlZmluZSBWR1RfUFZJ TkZPX1BBR0UgICAgMHg3ODAwMAo+PiArI2RlZmluZSBWR1RfUFZJTkZPX1NJWkUgICAgMHgxMDAw Cj4+ICsKPj4gKy8qCj4+ICsgKiBUaGUgZm9sbG93aW5nIHN0cnVjdHVyZSBwYWdlcyBhcmUgZGVm aW5lZCBpbiBHRU4gTU1JTyBzcGFjZQo+PiArICogZm9yIHZpcnR1YWxpemF0aW9uLiAoT25lIHBh Z2UgZm9yIG5vdykKPj4gKyAqLwo+PiArI2RlZmluZSBWR1RfTUFHSUMgICAgICAgICAweDQ3NzY1 NDQ3NzY1NDQ3NzYgICAgLyogJ3ZHVHZHVHZHJyAqLwo+PiArI2RlZmluZSBWR1RfVkVSU0lPTl9N QUpPUiAxCj4+ICsjZGVmaW5lIFZHVF9WRVJTSU9OX01JTk9SIDAKPj4gKwo+PiArI2RlZmluZSBJ TlRFTF9WR1RfSUZfVkVSU0lPTl9FTkNPREUobWFqb3IsIG1pbm9yKSAoKG1ham9yKSA8PCAxNiB8 Cj4+IChtaW5vcikpCj4+ICsjZGVmaW5lIElOVEVMX1ZHVF9JRl9WRVJTSU9OIFwKPj4gKyAgICBJ TlRFTF9WR1RfSUZfVkVSU0lPTl9FTkNPREUoVkdUX1ZFUlNJT05fTUFKT1IsIFZHVF9WRVJTSU9O X01JTk9SKQo+PiArCj4+ICtzdHJ1Y3Qgdmd0X2lmIHsKPj4gKyAgICB1aW50NjRfdCBtYWdpYzsg ICAgICAgIC8qIFZHVF9NQUdJQyAqLwo+PiArICAgIHVpbnQxNl90IHZlcnNpb25fbWFqb3I7Cj4+ ICsgICAgdWludDE2X3QgdmVyc2lvbl9taW5vcjsKPj4gKyAgICB1aW50MzJfdCB2Z3RfaWQ7ICAg IC8qIElEIG9mIHZHVCBpbnN0YW5jZSAqLwo+PiArICAgIHVpbnQzMl90IHJzdjFbMTJdOyAgICAv KiBwYWQgdG8gb2Zmc2V0IDB4NDAgKi8KPgo+IEluIGdlbmVyYWwgSSB0aG91Z2h0IHN0ZGludCB0 eXBlcyBzaG91bGQgYmUgYXZvaWRlZCBpbiB0aGUga2VybmVsIGluCj4gZmF2b3VyIG9mIHUzMiBh bmQgY29tcGFueS4gQnV0IEkgc2VlIGk5MTUgaXMgZnVsbCBvZiB0aGVtIGFscmVhZHkgc28KPiBt YXliZSBteSBpbmZvcm1hdGlvbiBpcyBvdXRkYXRlZC4KPgpMZXQncyBrZWVwIHRoZSBfdCB0eXBl cywgbGlrZSBleHBsYW5hdGlvbnMgaW4gRGFuaWVsJ3MgbWFpbC4gSXMgdGhpcyBPSz8KPj4gKyAg ICAvKgo+PiArICAgICAqICBEYXRhIHN0cnVjdHVyZSB0byBkZXNjcmliZSB0aGUgYmFsb29uaW5n IGluZm8gb2YgcmVzb3VyY2VzLgo+PiArICAgICAqICBFYWNoIFZNIGNhbiBvbmx5IGhhdmUgb25l IHBvcnRpb24gb2YgY29udGludW91cyBhcmVhIGZvciBub3cuCj4+ICsgICAgICogIChNYXkgc3Vw cG9ydCBzY2F0dGVyZWQgcmVzb3VyY2UgaW4gZnV0dXJlKQo+PiArICAgICAqICAoc3RhcnRpbmcg ZnJvbSBvZmZzZXQgMHg0MCkKPj4gKyAgICAgKi8KPj4gKyAgICBzdHJ1Y3Qgewo+PiArICAgICAg ICAvKiBBcGVydHVyZSByZWdpc3RlciBiYWxvb25pbmcgKi8KPj4gKyAgICAgICAgc3RydWN0IHsK Pj4gKyAgICAgICAgICAgIHVpbnQzMl90IG15X2Jhc2U7Cj4+ICsgICAgICAgICAgICB1aW50MzJf dCBteV9zaXplOwo+PiArICAgICAgICB9IGxvd19nbWFkcjsgICAgLyogYXBlcnR1cmUgKi8KPj4g KyAgICAgICAgLyogR01BRFIgcmVnaXN0ZXIgYmFsb29uaW5nICovCj4+ICsgICAgICAgIHN0cnVj dCB7Cj4+ICsgICAgICAgICAgICB1aW50MzJfdCBteV9iYXNlOwo+PiArICAgICAgICAgICAgdWlu dDMyX3QgbXlfc2l6ZTsKPj4gKyAgICAgICAgfSBoaWdoX2dtYWRyOyAgICAvKiBub24gYXBlcnR1 cmUgKi8KPj4gKyAgICAgICAgLyogYWxsb3dlZCBmZW5jZSByZWdpc3RlcnMgKi8KPj4gKyAgICAg ICAgdWludDMyX3QgZmVuY2VfbnVtOwo+PiArICAgICAgICB1aW50MzJfdCByc3YyWzNdOwo+PiAr ICAgIH0gYXZhaWxfcnM7ICAgICAgICAvKiBhdmFpbGFibGUvYXNzaWduZWQgcmVzb3VyY2UgKi8K Pgo+IEkgZGlkbid0IGZpZ3VyZSBvdXQgeWV0IHdoeSB0aGUgY29uY2VwdCBpcyB0byBwYXNzIGlu IHR3byByYW5nZXMgdG8gbWFyawo+IGFzIHJlc2VydmVkLCBpbnN0ZWFkIG9mIG9uZSB1c2FibGUv YWxsb3dlZCByYW5nZSBhbmQgdGhlbiBpbXBsaWNpdGx5IGFsbAo+IHRoZSByZXN0IGFzIHJlc2Vy dmVkPwo+Ckxpa2UgeW91IHNhaWQgaW4gMi8zIGNvbW1lbnRzLCB0aGlzIDIgcGFydCBpcyBmb3Ig bWFwcGFibGUgYW5kIApub24tbWFwcGxhYmxlIHJlc3BlY3RpdmVseS4gOikKCj4+ICsgICAgdWlu dDMyX3QgcnN2M1sweDIwMCAtIDI0XTsgICAgLyogcGFkIHRvIGhhbGYgcGFnZSAqLwo+PiArICAg IC8qCj4+ICsgICAgICogVGhlIGJvdHRvbSBoYWxmIHBhZ2UgaXMgZm9yIHJlc3BvbnNlIGZyb20g R2Z4IGRyaXZlciB0bwo+PiBoeXBlcnZpc29yLgo+PiArICAgICAqIFNldCB0byByZXNlcnZlZCBm aWVsZHMgdGVtcG9yYXJpbHkgYnkgbm93Lgo+PiArICAgICAqLwo+PiArICAgIHVpbnQzMl90IHJz djQ7Cj4+ICsgICAgdWludDMyX3QgZGlzcGxheV9yZWFkeTsgICAgLyogcmVhZHkgZm9yIGRpc3Bs YXkgb3duZXIgc3dpdGNoICovCj4+ICsgICAgdWludDMyX3QgcnN2NVsweDIwMCAtIDJdOyAgICAv KiBwYWQgdG8gb25lIHBhZ2UgKi8KPj4gK30gX19wYWNrZWQ7Cj4KPiBZb3UgcHJvYmFibHkgZG9u J3QgbmVlZCBfX3BhY2tlZCBzaW5jZSB5b3UgaGF2ZSBCVUlMRF9CVUdfT04gb24gc2l6ZQo+IG1p c21hdGNoIGFuZCBwYWQgdG8gZnVsbCBzaXplIHdpdGggcmVzZXJ2ZWQgZmllbGRzLiBJIGRvbid0 IHRoaW5rIGl0Cj4gbWF0dGVycyB0aG91Z2guCj4KV2VsbCwgSUlSQywgdGhpcyBfX3BhY2tlZCBp cyBhZGRlZCB0byBmb2xsb3cgQ2hyaXMncyBjb21tZW50cy4gSG93IGFib3V0IAp3ZSBrZWVwIGl0 PyBPciB3aWxsIGl0IGh1cnQgYW55IHBsYWNlPyA6KQoKPj4gKyNkZWZpbmUgdmd0aWZfcmVnKHgp IFwKPj4gKyAgICAoVkdUX1BWSU5GT19QQUdFICsgKGxvbmcpJigoc3RydWN0IHZndF9pZiAqKSBO VUxMKS0+eCkKPj4gKwo+PiArZXh0ZXJuIHZvaWQgaTkxNV9jaGVja192Z3B1KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwo+PiArCj4+ICsjZW5kaWYgLyogX0k5MTVfVkdQVV9IXyAqLwo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKPj4gYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+PiBpbmRleCA5NDI3NjQxLi5jYWUyN2JiIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+PiBAQCAtMjMsNiArMjMsNyBA QAo+Pgo+PiAgICNpbmNsdWRlICJpOTE1X2Rydi5oIgo+PiAgICNpbmNsdWRlICJpbnRlbF9kcnYu aCIKPj4gKyNpbmNsdWRlICJpOTE1X3ZncHUuaCIKPj4KPj4gICAjZGVmaW5lIEZPUkNFV0FLRV9B Q0tfVElNRU9VVF9NUyAyCj4+Cj4+IEBAIC04NTAsNiArODUxLDggQEAgdm9pZCBpbnRlbF91bmNv cmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgIHsKPj4gICAgICAgc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4KPj4gKyAgICBp OTE1X2NoZWNrX3ZncHUoZGV2KTsKPj4gKwo+PiAgICAgICBzZXR1cF90aW1lcigmZGV2X3ByaXYt PnVuY29yZS5mb3JjZV93YWtlX3RpbWVyLAo+PiAgICAgICAgICAgICAgIGdlbjZfZm9yY2Vfd2Fr ZV90aW1lciwgKHVuc2lnbmVkIGxvbmcpZGV2X3ByaXYpOwo+Pgo+Pgo+Cj4gUmVnYXJkcywKPgo+ IFR2cnRrbwoKQi5SLgpZdQo+Cj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK