From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v3 1/8] drm/i915: Introduce a PV INFO page structure for Intel GVT-g. Date: Thu, 13 Nov 2014 20:02:42 +0800 Message-ID: <1415880169-7656-2-git-send-email-yu.c.zhang@linux.intel.com> References: <1415880169-7656-1-git-send-email-yu.c.zhang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id AED736EB4F for ; Thu, 13 Nov 2014 04:32:23 -0800 (PST) In-Reply-To: <1415880169-7656-1-git-send-email-yu.c.zhang@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: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SW50cm9kdWNlIGEgUFYgSU5GTyBzdHJ1Y3R1cmUsIHRvIGZhY2lsaXRhdGUgdGhlIEludGVsIEdW VC1nCnRlY2hub2xvZ3ksIHdoaWNoIGlzIGEgR1BVIHZpcnR1YWxpemF0aW9uIHNvbHV0aW9uIHdp dGggbWVkaWF0ZWQKcGFzcy10aHJvdWdoLiBUaGlzIHBhZ2UgY29udGFpbnMgdGhlIHNoYXJlZCBp bmZvcm1hdGlvbiBiZXR3ZWVuCmk5MTUgZHJpdmVyIGFuZCB0aGUgaG9zdCBlbXVsYXRvci4gRm9y IG5vdywgdGhpcyBzdHJ1Y3R1cmUgdXRpbGl6ZXMKYW4gYXJlYSBvZiA0SyBieXBlcyBvbiBIU1cg R1BVJ3MgdW51c2VkIE1NSU8gc3BhY2UgdG8gc3VwcG9ydApleGlzdGluZyBwcm9kdWN0aW9uLiBG dXR1cmUgaGFyZHdhcmUgd2lsbCBoYXZlIHRoZSByZXNlcnZlZCB3aW5kb3cKYXJjaGl0ZWN0dXJh bGx5IGRlZmluZWQsIGFuZCBsYXlvdXQgb2YgdGhlIHBhZ2Ugd2lsbCBiZSBhZGRlZCBpbgpmdXR1 cmUgQlNwZWMuCgpUaGUgaTkxNSBkcml2ZXIgbG9hZCByb3V0aW5lIGRldGVjdHMgaWYgaXQgaXMg cnVubmluZyBpbiBhIFZNIGJ5CnJlYWRpbmcgdGhlIGNvbnRlbnRzIG9mIHRoaXMgUFYgSU5GTyBw YWdlLiBUaGVyZWFmdGVyIGEgZmxhZywKdmdwdS5hY3RpdmUgaXMgc2V0LCBhbmQgaW50ZWxfdmdw dV9hY3RpdmUoKSBpcyB1c2VkIGJ5IGNoZWNraW5nCnRoaXMgZmxhZyB0byBjb25jbHVkZSBpZiBH UFUgaXMgdmlydHVhbGl6ZWQgd2l0aCBJbnRlbCBHVlQtZy4gQnkKbm93LCBpbnRlbF92Z3B1X2Fj dGl2ZSgpIHdpbGwgcmV0dXJuIHRydWUsIG9ubHkgd2hlbiB0aGUgZHJpdmVyCmlzIHJ1bm5pbmcg YXMgYSBndWVzdCBpbiB0aGUgSW50ZWwgR1ZULWcgZW5oYW5jZWQgZW52aXJvbm1lbnQgb24KSFNX IHBsYXRmb3JtLgoKdjI6CnRha2UgQ2hyaXMnIGNvbW1lbnRzOgoJLSBjYWxsIHRoZSBpOTE1X2No ZWNrX3ZncHUoKSBpbiBpbnRlbF91bmNvcmVfaW5pdCgpCgktIHNhbml0aXplIGk5MTVfY2hlY2tf dmdwdSgpIGJ5IGFkZGluZyBCVUlMRF9CVUdfT04oKSBhbmQgZGVidWcgaW5mbwp0YWtlIERhbmll bCdzIGNvbW1lbnRzOgoJLSBwdXQgdGhlIGRlZmluaXRpb24gb2YgUFYgSU5GTyBpbnRvIGEgbmV3 IGhlYWRlciAtIGk5MTVfdmd0X2lmLmgKb3RoZXIgY2hhbmdlczoKCS0gYWNjZXNzIG1taW8gcmVn cyBieSByZWFkcS9yZWFkdyBpbiBpOTE1X2NoZWNrX3ZncHUoKQoKdjM6CnRha2UgRGFuaWVsJ3Mg Y29tbWVudHM6CgktIG1vdmUgdGhlIGk5MTUvdmd0IGludGVyZmFjZXMgaW50byBhIG5ldyBpOTE1 X3ZncHUuYwoJLSB1cGRhdGUgbWFrZWZpbGUKCS0gYWRkIGtlcm5lbGRvYyB0byBmdW5jdGlvbnMg d2hpY2ggYXJlIG5vbi1zdGF0aWMKCS0gYWRkIGEgRE9DOiBzZWN0aW9uIGRlc2NyaWJpbmcgc29t ZSBvZiB0aGUgaGlnaC1sZXZlbCBkZXNpZ24KCS0gdXBkYXRlIGRybSBkb2Nib29rCm90aGVyIGNo YW5nZXM6CgktIHJlbmFtZSBpOTE1X3ZndF9pZi5oIHRvIGk5MTVfdmdwdS5oCgpTaWduZWQtb2Zm LWJ5OiBZdSBaaGFuZyA8eXUuYy56aGFuZ0BsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IEppa2UgU29uZyA8amlrZS5zb25nQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRWRkaWUgRG9u ZyA8ZWRkaWUuZG9uZ0BpbnRlbC5jb20+Ci0tLQogRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2RybS50 bXBsICAgICAgfCAgNSArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgIHwg IDMgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgIHwgMTEgKysrKysKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jICAgIHwgODUgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmggICAg fCA4NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF91bmNvcmUuYyB8ICAzICsrCiA2IGZpbGVzIGNoYW5nZWQsIDE5MiBpbnNl cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92 Z3B1LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUu aAoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vRG9jQm9vay9kcm0udG1wbCBiL0RvY3VtZW50 YXRpb24vRG9jQm9vay9kcm0udG1wbAppbmRleCA2NGQ5YzFlLi5lNGRiNGNmIDEwMDY0NAotLS0g YS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZHJtLnRtcGwKKysrIGIvRG9jdW1lbnRhdGlvbi9Eb2NC b29rL2RybS50bXBsCkBAIC0zODMyLDYgKzM4MzIsMTEgQEAgaW50IG51bV9pb2N0bHM7PC9zeW5v cHNpcz4KICFGZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBpbnRlbF9ydW50aW1lX3Bt X2Rpc2FibGVfaW50ZXJydXB0cwogIUZkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGlu dGVsX3J1bnRpbWVfcG1fZW5hYmxlX2ludGVycnVwdHMKICAgICAgIDwvc2VjdDI+CisgICAgICA8 c2VjdDI+CisgICAgICAgIDx0aXRsZT5JbnRlbCBHVlQtZyBHdWVzdCBTdXBwb3J0KHZHUFUpPC90 aXRsZT4KKyFQZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmMgSW50ZWwgR1ZULWcgZ3Vl c3Qgc3VwcG9ydAorIUlkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYworICAgICAgPC9z ZWN0Mj4KICAgICA8L3NlY3QxPgogICAgIDxzZWN0MT4KICAgICAgIDx0aXRsZT5EaXNwbGF5IEhh cmR3YXJlIEhhbmRsaW5nPC90aXRsZT4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5kZXggODkxZTU4NC4u ZDlhYTVjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTc5LDYgKzc5LDkgQEAgaTkxNS15ICs9 IGR2b19jaDcwMTcubyBcCiAJICBpbnRlbF9zZHZvLm8gXAogCSAgaW50ZWxfdHYubwogCisjIHZp cnR1YWwgZ3B1IGNvZGUKK2k5MTUteSArPSBpOTE1X3ZncHUubworCiAjIGxlZ2FjeSBob3Jyb3Jz CiBpOTE1LXkgKz0gaTkxNV9kbWEubyBcCiAJICBpOTE1X3Vtcy5vCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAppbmRleCA1NDY5MWJjLi5lMWUyMjFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAg LTE0NzAsNiArMTQ3MCwxMCBAQCBzdHJ1Y3QgaTkxNV93b3JrYXJvdW5kcyB7CiAJdTMyIGNvdW50 OwogfTsKIAorc3RydWN0IGk5MTVfdmlydHVhbF9ncHUgeworCWJvb2wgYWN0aXZlOworfTsKKwog c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7CiAJc3Ry dWN0IGttZW1fY2FjaGUgKnNsYWI7CkBAIC0xNDgyLDYgKzE0ODYsOCBAQCBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSB7CiAKIAlzdHJ1Y3QgaW50ZWxfdW5jb3JlIHVuY29yZTsKIAorCXN0cnVjdCBp OTE1X3ZpcnR1YWxfZ3B1IHZncHU7CisKIAlzdHJ1Y3QgaW50ZWxfZ21idXMgZ21idXNbR01CVVNf TlVNX1BPUlRTXTsKIAogCkBAIC0yMzExLDYgKzIzMTcsMTEgQEAgZXh0ZXJuIHZvaWQgaW50ZWxf dW5jb3JlX2NoZWNrX2Vycm9ycyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGV4dGVybiB2b2lk IGludGVsX3VuY29yZV9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogZXh0ZXJuIHZvaWQg aW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29s IHJlc3RvcmUpOwogCitzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfdmdwdV9hY3RpdmUoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKK3sKKwlyZXR1cm4gdG9faTkxNShkZXYpLT52Z3B1LmFjdGl2ZTsK K30KKwogdm9pZAogaTkxNV9lbmFibGVfcGlwZXN0YXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSwKIAkJICAgICB1MzIgc3RhdHVzX21hc2spOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3ZncHUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z ZjZiNzk3Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1 LmMKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodChjKSAyMDExLTIwMTQgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBo ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEK KyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp bGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0 IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRz IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGlj ZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJt aXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNv LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUg Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRo ZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Ig c3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09G VFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwg RVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRI RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBE QU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP TlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAorICogT1VUIE9GIE9SIElO IENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H UyBJTiBUSEUKKyAqIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlICJpbnRlbF9kcnYuaCIKKyNp bmNsdWRlICJpOTE1X3ZncHUuaCIKKworCisvKioKKyAqIERPQzogSW50ZWwgR1ZULWcgZ3Vlc3Qg c3VwcG9ydAorICoKKyAqIEludGVsIEdWVC1nIGlzIGEgZ3JhcGhpY3MgdmlydHVhbGl6YXRpb24g dGVjaG5vbG9neSB3aGljaCBzaGFyZXMgdGhlCisgKiBHUFUgYW1vbmcgbXVsdGlwbGUgdmlydHVh bCBtYWNoaW5lcyBvbiBhIHRpbWUtc2hhcmluZyBiYXNpcy4gRWFjaAorICogdmlydHVhbCBtYWNo aW5lIGlzIHByZXNlbnRlZCBhIHZpcnR1YWwgR1BVICh2R1BVKSwgd2hpY2ggaGFzIGVxdWl2YWxl bnQKKyAqIGZlYXR1cmVzIGFzIHRoZSB1bmRlcmx5aW5nIHBoeXNpY2FsIEdQVSAocEdQVSksIHNv IGk5MTUgZHJpdmVyIGNhbiBydW4KKyAqIHNlYW1sZXNzbHkgaW4gYSB2aXJ0dWFsIG1hY2hpbmUu IFRoaXMgZmlsZSBwcm92aWRlcyB2R1BVIHNwZWNpZmljCisgKiBvcHRpbWl6YXRpb25zIHdoZW4g cnVubmluZyBpbiBhIHZpcnR1YWwgbWFjaGluZSwgdG8gcmVkdWNlIHRoZSBjb21wbGV4aXR5Cisg KiBvZiB2R1BVIGVtdWxhdGlvbiBhbmQgdG8gaW1wcm92ZSB0aGUgb3ZlcmFsbCBwZXJmb3JtYW5j ZS4KKyAqCisgKiBBIHByaW1hcnkgZnVuY3Rpb24gaW50cm9kdWNlZCBoZXJlIGlzIHNvLWNhbGxl ZCAiYWRkcmVzcyBzcGFjZSBiYWxsb29uaW5nIgorICogdGVjaG5pcXVlLiBJbnRlbCBHVlQtZyBw YXJ0aXRpb25zIGdsb2JhbCBncmFwaGljcyBtZW1vcnkgYW1vbmcgbXVsdGlwbGUgVk1zLAorICog c28gZWFjaCBWTSBjYW4gZGlyZWN0bHkgYWNjZXNzIGEgcG9ydGlvbiBvZiB0aGUgbWVtb3J5IHcv byBoeXBlcnZpc29yJ3MKKyAqIGludGVydmVudGlvbiwgZS5nLiBmaWxsaW5nIHRleHR1cmVzIG9y IHF1ZXVpbmcgY29tbWFuZHMuIEhvd2V2ZXIgdy8gdGhlCisgKiBwYXJ0aXRpb25pbmcgYW4gdW5t b2RpZmllZCBpOTE1IGRyaXZlciB3b3VsZCBhc3N1bWUgYSBzbWFsbGVyIGdyYXBoaWNzCisgKiBt ZW1vcnkgc3RhcnRpbmcgZnJvbSBhZGRyZXNzIFpFUk8sIHRoZW4gcmVxdWlyZXMgdkdQVSBlbXVs YXRpb24gbW9kdWxlIHRvCisgKiB0cmFuc2xhdGUgdGhlIGdyYXBoaWNzIGFkZHJlc3MgYmV0d2Vl biAnZ3Vlc3QgdmlldycgYW5kICdob3N0IHZpZXcnLCBmb3IKKyAqIGFsbCByZWdpc3RlcnMgYW5k IGNvbW1hbmQgb3Bjb2RlcyB3aGljaCBjb250YWluIGEgZ3JhcGhpY3MgbWVtb3J5IGFkZHJlc3Mu CisgKiBUbyByZWR1Y2UgdGhlIGNvbXBsZXhpdHksIEludGVsIEdWVC1nIGludHJvZHVjZXMgImFk ZHJlc3Mgc3BhY2UgYmFsbG9vbmluZyIsCisgKiBieSB0ZWxsaW5nIHRoZSBleGFjdCBwYXJ0aXRp b25pbmcga25vd2xlZGdlIHRvIGVhY2ggZ3Vlc3QgaTkxNSBkcml2ZXIsIHdoaWNoCisgKiB0aGVu IHJlc2VydmVzIGFuZCBwcmV2ZW50cyBub24tYWxsb2NhdGVkIHBvcnRpb25zIGZyb20gYWxsb2Nh dGlvbi4gVGh1cyB2R1BVCisgKiBlbXVsYXRpb24gbW9kdWxlIG1vZHVsZSBvbmx5IG5lZWRzIHRv IHNjYW4gYW5kIHZhbGlkYXRlIGdyYXBoaWNzIGFkZHJlc3NlcworICogdy9vIGNvbXBsZXhpdHkg b2YgYWRkcmVzcyB0cmFuc2xhdGlvbi4KKyAqCisgKi8KKworLyoqCisgKiBpOTE1X2NoZWNrX3Zn cHUgLSBkZXRlY3QgdmlydHVhbCBHUFUKKyAqIEBkZXY6IGRybSBkZXZpY2UgKgorICoKKyAqIFRo aXMgZnVuY3Rpb24gaXMgY2FsbGVkIGF0IHRoZSBpbml0aWFsaXphdGlvbiBzdGFnZSwgdG8gZGV0 ZWN0IHdoZXRoZXIKKyAqIHJ1bm5pbmcgb24gYSB2R1BVLgorICovCit2b2lkIGk5MTVfY2hlY2tf dmdwdShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwl1aW50NjRfdCBtYWdpYzsKKwl1aW50MzJfdCB2 ZXJzaW9uOworCisJQlVJTERfQlVHX09OKHNpemVvZihzdHJ1Y3Qgdmd0X2lmKSAhPSBWR1RfUFZJ TkZPX1NJWkUpOworCisJaWYgKCFJU19IQVNXRUxMKGRldikpCisJCXJldHVybjsKKworCW1hZ2lj ID0gcmVhZHEoZGV2X3ByaXYtPnJlZ3MgKyB2Z3RpZl9yZWcobWFnaWMpKTsKKwlpZiAobWFnaWMg IT0gVkdUX01BR0lDKQorCQlyZXR1cm47CisKKwl2ZXJzaW9uID0gSU5URUxfVkdUX0lGX1ZFUlNJ T05fRU5DT0RFKAorCQlyZWFkdyhkZXZfcHJpdi0+cmVncyArIHZndGlmX3JlZyh2ZXJzaW9uX21h am9yKSksCisJCXJlYWR3KGRldl9wcml2LT5yZWdzICsgdmd0aWZfcmVnKHZlcnNpb25fbWlub3Ip KSk7CisJaWYgKHZlcnNpb24gIT0gSU5URUxfVkdUX0lGX1ZFUlNJT04pCisJCXJldHVybjsKKwor CWRldl9wcml2LT52Z3B1LmFjdGl2ZSA9IHRydWU7CisJRFJNX0lORk8oIlZpcnR1YWwgR1BVIGZv ciBJbnRlbCBHVlQtZyBkZXRlY3RlZC5cbiIpOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92Z3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjQxZDAxYwotLS0gL2Rldi9udWxs CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oCkBAIC0wLDAgKzEsODUgQEAK Ky8qCisgKiBDb3B5cmlnaHQoYykgMjAxMS0yMDE0IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUg b2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29m dHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIp LAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk aW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm eSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2Vs bCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0 aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9s bG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5k IHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBo KSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z IG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJB UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJ RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hB TlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO RlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklH SFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICog TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhF UldJU0UsIEFSSVNJTkcgRlJPTSwKKyAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF IFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisgKiBTT0ZUV0FS RS4KKyAqLworCisjaWZuZGVmIF9JOTE1X1ZHUFVfSF8KKyNkZWZpbmUgX0k5MTVfVkdQVV9IXwor CisvKiBUaGUgTU1JTyBvZmZzZXQgb2YgdGhlIHNoYXJlZCBpbmZvIGJldHdlZW4gZ3Vlc3QgYW5k IGhvc3QgZW11bGF0b3IgKi8KKyNkZWZpbmUgVkdUX1BWSU5GT19QQUdFCTB4NzgwMDAKKyNkZWZp bmUgVkdUX1BWSU5GT19TSVpFCTB4MTAwMAorCisvKgorICogVGhlIGZvbGxvd2luZyBzdHJ1Y3R1 cmUgcGFnZXMgYXJlIGRlZmluZWQgaW4gR0VOIE1NSU8gc3BhY2UKKyAqIGZvciB2aXJ0dWFsaXph dGlvbi4gKE9uZSBwYWdlIGZvciBub3cpCisgKi8KKyNkZWZpbmUgVkdUX01BR0lDICAgICAgICAg MHg0Nzc2NTQ0Nzc2NTQ0Nzc2CS8qICd2R1R2R1R2RycgKi8KKyNkZWZpbmUgVkdUX1ZFUlNJT05f TUFKT1IgMQorI2RlZmluZSBWR1RfVkVSU0lPTl9NSU5PUiAwCisKKyNkZWZpbmUgSU5URUxfVkdU X0lGX1ZFUlNJT05fRU5DT0RFKG1ham9yLCBtaW5vcikgKChtYWpvcikgPDwgMTYgfCAobWlub3Ip KQorI2RlZmluZSBJTlRFTF9WR1RfSUZfVkVSU0lPTiBcCisJSU5URUxfVkdUX0lGX1ZFUlNJT05f RU5DT0RFKFZHVF9WRVJTSU9OX01BSk9SLCBWR1RfVkVSU0lPTl9NSU5PUikKKworc3RydWN0IHZn dF9pZiB7CisJdWludDY0X3QgbWFnaWM7CQkvKiBWR1RfTUFHSUMgKi8KKwl1aW50MTZfdCB2ZXJz aW9uX21ham9yOworCXVpbnQxNl90IHZlcnNpb25fbWlub3I7CisJdWludDMyX3Qgdmd0X2lkOwkv KiBJRCBvZiB2R1QgaW5zdGFuY2UgKi8KKwl1aW50MzJfdCByc3YxWzEyXTsJLyogcGFkIHRvIG9m ZnNldCAweDQwICovCisJLyoKKwkgKiAgRGF0YSBzdHJ1Y3R1cmUgdG8gZGVzY3JpYmUgdGhlIGJh bG9vbmluZyBpbmZvIG9mIHJlc291cmNlcy4KKwkgKiAgRWFjaCBWTSBjYW4gb25seSBoYXZlIG9u ZSBwb3J0aW9uIG9mIGNvbnRpbnVvdXMgYXJlYSBmb3Igbm93LgorCSAqICAoTWF5IHN1cHBvcnQg c2NhdHRlcmVkIHJlc291cmNlIGluIGZ1dHVyZSkKKwkgKiAgKHN0YXJ0aW5nIGZyb20gb2Zmc2V0 IDB4NDApCisJICovCisJc3RydWN0IHsKKwkJLyogQXBlcnR1cmUgcmVnaXN0ZXIgYmFsb29uaW5n ICovCisJCXN0cnVjdCB7CisJCQl1aW50MzJfdCBteV9iYXNlOworCQkJdWludDMyX3QgbXlfc2l6 ZTsKKwkJfSBsb3dfZ21hZHI7CS8qIGFwZXJ0dXJlICovCisJCS8qIEdNQURSIHJlZ2lzdGVyIGJh bG9vbmluZyAqLworCQlzdHJ1Y3QgeworCQkJdWludDMyX3QgbXlfYmFzZTsKKwkJCXVpbnQzMl90 IG15X3NpemU7CisJCX0gaGlnaF9nbWFkcjsJLyogbm9uIGFwZXJ0dXJlICovCisJCS8qIGFsbG93 ZWQgZmVuY2UgcmVnaXN0ZXJzICovCisJCXVpbnQzMl90IGZlbmNlX251bTsKKwkJdWludDMyX3Qg cnN2MlszXTsKKwl9IGF2YWlsX3JzOwkJLyogYXZhaWxhYmxlL2Fzc2lnbmVkIHJlc291cmNlICov CisJdWludDMyX3QgcnN2M1sweDIwMCAtIDI0XTsJLyogcGFkIHRvIGhhbGYgcGFnZSAqLworCS8q CisJICogVGhlIGJvdHRvbSBoYWxmIHBhZ2UgaXMgZm9yIHJlc3BvbnNlIGZyb20gR2Z4IGRyaXZl ciB0byBoeXBlcnZpc29yLgorCSAqIFNldCB0byByZXNlcnZlZCBmaWVsZHMgdGVtcG9yYXJpbHkg Ynkgbm93LgorCSAqLworCXVpbnQzMl90IHJzdjQ7CisJdWludDMyX3QgZGlzcGxheV9yZWFkeTsJ LyogcmVhZHkgZm9yIGRpc3BsYXkgb3duZXIgc3dpdGNoICovCisJdWludDMyX3QgcnN2NVsweDIw MCAtIDJdOwkvKiBwYWQgdG8gb25lIHBhZ2UgKi8KK30gX19wYWNrZWQ7CisKKyNkZWZpbmUgdmd0 aWZfcmVnKHgpIFwKKwkoVkdUX1BWSU5GT19QQUdFICsgKGxvbmcpJigoc3RydWN0IHZndF9pZiAq KSBOVUxMKS0+eCkKKworZXh0ZXJuIHZvaWQgaTkxNV9jaGVja192Z3B1KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpOworCisjZW5kaWYgLyogX0k5MTVfVkdQVV9IXyAqLwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91bmNvcmUuYwppbmRleCA5NDI3NjQxLi5jYWUyN2JiIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91bmNvcmUuYwpAQCAtMjMsNiArMjMsNyBAQAogCiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIK ICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKKyNpbmNsdWRlICJpOTE1X3ZncHUuaCIKIAogI2RlZmlu ZSBGT1JDRVdBS0VfQUNLX1RJTUVPVVRfTVMgMgogCkBAIC04NTAsNiArODUxLDggQEAgdm9pZCBp bnRlbF91bmNvcmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAKKwlpOTE1X2NoZWNr X3ZncHUoZGV2KTsKKwogCXNldHVwX3RpbWVyKCZkZXZfcHJpdi0+dW5jb3JlLmZvcmNlX3dha2Vf dGltZXIsCiAJCSAgICBnZW42X2ZvcmNlX3dha2VfdGltZXIsICh1bnNpZ25lZCBsb25nKWRldl9w cml2KTsKIAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==