From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: Re: [PATCH 1/2 V3] PCI: introduce device assignment interface and refactory related code Date: Fri, 11 Jul 2014 08:50:31 -0600 Message-ID: <1405090231.4098.79.camel@ul30vt.home> References: <1405081802-419-1-git-send-email-ethan.zhao@oracle.com> <1405084407.4098.59.camel@ul30vt.home> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "kvm@vger.kernel.org" , "linux-pci@vger.kernel.org" , "e1000-devel@lists.sourceforge.net" , "vaughan.cao@oracle.com" , "jesse.brandeburg@intel.com" , Ethan Zhao , "linux.nics@intel.com" , "konrad.wilk@oracle.com" , "gleb@kernel.org" , "bhelgaas@google.com" , "boris.ostrovsky@oracle.com" , "netdev@vger.kernel.org" , "bruce.w.allan@intel.com" , "linux-kernel@vger.kernel.org" , "john.ronciak@intel.com" , "david.vrabel@citrix.com" , "pbonzini@redhat.com" To: Ethan Zhao Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: e1000-devel-bounces@lists.sourceforge.net List-Id: netdev.vger.kernel.org T24gRnJpLCAyMDE0LTA3LTExIGF0IDIyOjIwICswODAwLCBFdGhhbiBaaGFvIHdyb3RlOgo+ID4g 5ZyoIDIwMTTlubQ35pyIMTHml6XvvIzkuIvljYg5OjEz77yMQWxleCBXaWxsaWFtc29uIDxhbGV4 LndpbGxpYW1zb25AcmVkaGF0LmNvbT4g5YaZ6YGT77yaCj4gPiAKPiA+PiBPbiBGcmksIDIwMTQt MDctMTEgYXQgMjA6MzAgKzA4MDAsIEV0aGFuIFpoYW8gd3JvdGU6Cj4gPj4gVGhpcyBwYXRjaCBp bnRyb2R1Y2VzIHR3byBuZXcgZGV2aWNlIGFzc2lnbm1lbnQgZnVuY3Rpb25zCj4gPj4gCj4gPj4g cGNpX2lvdl9hc3NpZ25fZGV2aWNlKCksCj4gPj4gcGNpX2lvdl9kZWFzc2lnbl9kZXZpY2UoKQo+ ID4+IAo+ID4+IGFsb25nIHdpdGggdGhlIGV4aXN0ZWQgb25lCj4gPj4gCj4gPj4gcGNpX3Zmc19h c3NpZ25lZCgpCj4gPj4gCj4gPj4gVGhleSBjb25zdHJ1Y3QgdGhlIFZGcyBhc3NpZ25tZW50IG1h bmFnZW1lbnQgaW50ZXJmYWNlLCB1c2VkIHRvIGFzc2lnbi8KPiA+PiBkZWFzc2lnbiBkZXZpY2Ug dG8gVk0gYW5kIHF1ZXJ5IHRoZSBWRnMgcmVmZXJlbmNlIGNvdW50ZXIuIGluc3RlYWQgb2YKPiA+ PiBkaXJlY3QgbWFuaXB1bGF0aW9uIG9mIGRldmljZSBmbGFnLgo+ID4+IAo+ID4+IFRoaXMgcGF0 Y2ggcmVmYXNoaW9uZWQgdGhlIHJlbGF0ZWQgY29kZSBhbmQgbWFrZSB0aGVtIGF0b21pYy4KPiA+ PiAKPiA+PiB2MzogY2hhbmdlIHRoZSBuYW1pbmcgb2YgZGV2aWNlIGFzc2lnbm1lbnQgaGVscGVy cywgYmVjYXVzZSB0aGV5IHdvcmsKPiA+PiBmb3IgYWxsIGtpbmQgb2YgUENJIGRldmljZSwgbm90 IG9ubHkgU1ItSU9WIChkYXZpZC52cmFiZWxAY2l0cml4LmNvbSkKPiA+PiAKPiA+PiB2MjogcmVv cmRlciB0aGUgcGF0Y2hzZXQgYW5kIG1ha2UgaXQgYmlzZWN0YWJsZSBhbmQgYXRvbWljLCBzdGVw cyBjbGVhcgo+ID4+IGJldHdlZW4gaW50ZXJmYWNlIGRlZmluYXRpb24gYW5kIGltcGxlbWVuYXRp b24gYWNjb3JkaW5nIHRvIHRoZQo+ID4+IHN1Z2dlc3Rpb24gZnJvbSBhbGV4LndpbGxpYW1zb25A cmVkaGF0LmNvbQo+ID4+IAo+ID4+IFNpZ25lZC1vZmYtYnk6IEV0aGFuIFpoYW8gPGV0aGFuLnpo YW9Ab3JhY2xlLmNvbT4KPiA+PiAtLS0KPiA+IAo+ID4gLSBVc2UgYSBjb3ZlciBwYXRjaCB0byBk ZXNjcmliZSB0aGUgc2VyaWVzCj4gPiAKPiAgSG1tbSwKPiA+IC0gVmVyc2lvbiBpbmZvcm1hdGlv biBnb2VzIGhlcmUsIGJlbG93IHRoZSAiLS0tIiwgbm90IGFib3ZlIGl0Cj4gPiAKPiA+IC0gSSBz dGFuZCBieSB0aGUgcGF0Y2ggYnJlYWtkb3duIEkgc3VnZ2VzdGVkIG9yaWdpbmFsbHksIHRoZXJl IGFyZSB0b28KPiA+IG1hbnkgbG9naWNhbCBjaGFuZ2VzIGhlcmUgaW4gcGF0Y2ggMS4gIFRoZXJl IGFyZSBlYXNpbHkgMyBzZXBhcmF0ZQo+ID4gcGF0Y2hlcyBoZXJlLgo+ID4gCj4gIFlvdSBwcmVm ZXIgdjEgYWdhaW4gPyAKClRoYXQncyBub3QgYXQgYWxsIHdoYXQgSSdtIHN1Z2dlc3RpbmcuICBJ biByZXNwb25zZSB0byB2MSBJIHN1Z2dlc3RlZCBhCnNwZWNpZmljIHJlb3JkZXJpbmcgdGhhdCB3 b3VsZCBhbGxvdyB0aGUgc2VyaWVzIHRvIGJlIGJpc2VjdGFibGUuICBJJ20Kc3VycHJpc2VkIHRv IHNlZSB2MiBpZ25vcmVkIHRoYXQgYW5kIGNvbWJpbmVkIHRoZSBmaXJzdCAzIHN1Z2dlc3RlZApw YXRjaGVzLgoKPiA+IC0gUmVuYW1pbmcgcy9zcmlvdi9pb3YvIGRvZXNuJ3QgYWRkcmVzcyB0aGUg cHJvYmxlbSBEYXZpZCByYWlzZWQuICBUaGUKPiA+IG5hbWUgaXMgc3RpbGwgc3lub255bW91cyB3 aXRoIFNSLUlPViBhbmQgaXQncyBkZWZpbmVkIG9uCj4gPiBkcml2ZXJzL3BjaS9pb3YuYywgd2hp Y2ggaXMgb25seSBidWlsdCB3aXRoIENPTkZJR19QQ0lfSU9WLgo+ID4gCj4gIFRoaXMgaXMgcmVh bCBpc3N1ZSwgdGhlIGludGVyZmFjZSBzaG91bGQgd29yayB3aXRob3V0IENPTkZJR19QQ0lfSU9W IGRlZmluZWQuCj4gU2hvdWxkIGJlIGZpeGVkLgo+IAo+ID4gLSBQQ0lfREVWX0ZMQUdTX0FTU0lH TkVEIHNob3VsZCBiZSB1bnVzZWQgYWZ0ZXIgdGhpcyBzZXJpZXMsIHdoeSBpcyBpdAo+ID4gbm90 IHJlbW92ZWQ/Cj4geW91IHdhbm5hIGRvIGFsbCB0aGluZ3MgaW4gb25lIHN0ZXAgPyBCZSBwcmFj dGljYWwuIFRoYXQgaXMgbm90IG15IG9yaWdpbmFsIHB1cnBvc2UuCgpJIG5ldmVyIHN1Z2dlc3Rl ZCBjb2xsYXBzaW5nIHN0ZXBzLiAgTWF5YmUgSSdkIHVuZGVyc3RhbmQgdGhlIG9yaWdpbmFsCnB1 cnBvc2UgYmV0dGVyIGlmIHRoZXJlIHdhcyBhbiBvdmVyYWxsIGRlc2NyaXB0aW9uIGluIGEgY292 ZXIgcGF0Y2guCgo+ID4+IGRyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2k0MGUvaTQwZV92aXJ0 Y2hubF9wZi5jIHwgICAxNyArKy0tLS0tLS0tLS0tLS0tLQo+ID4+IGRyaXZlcnMvcGNpL2lvdi5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyMCArKysrKysrKysrKysrKysr KysrKwo+ID4+IGRyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMgICAgICAgICAgICAg ICAgIHwgICAgNCArKy0tCj4gPj4gaW5jbHVkZS9saW51eC9wY2kuaCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICA0ICsrKysKPiA+PiB2aXJ0L2t2bS9hc3NpZ25lZC1kZXYuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KPiA+PiB2aXJ0L2t2bS9pb21tdS5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKystLQo+ID4gCj4gPiAt IFRoaXMgcGF0Y2ggdG91Y2ggNCBzZXBhcmF0ZSBsb2dpY2FsIGNvZGUgYXJlYXMsIHdobyBkbyB5 b3UgZXhwZWN0IHRvCj4gPiBhY2sgYW5kIGNvbW1pdCBpdD8gIFNwbGl0IGl0IHVwLgo+ID4gCj4g ICAgU3VjaCB3b3VsZCBnbyBiYWNrIHRvIHRoZSB2MSwgZm91ciBwYXRjaGVzLCBpZiBvbmUgbG9z dCB0byBiZSBjb21taXR0ZWQsIGtlcm5lbCBjb3VsZCBiZSBidWdneS4gIAoKVGhlcmUgc2VlbXMg dG8gYmUgY29uZnVzaW9uIGJldHdlZW4gbXVsdGlwbGUgcGF0Y2hlcywgd2hpY2ggaXMgZmluZSwg YW5kCnRoZSBwYXRjaCBvcmRlcmluZyBmcm9tIHYxLCB3aGljaCBpcyB3cm9uZy4KCj4gPj4gNiBm aWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKPiA+PiAKPiA+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvaTQwZS9pNDBlX3ZpcnRj aG5sX3BmLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pNDBlL2k0MGVfdmlydGNobmxf cGYuYwo+ID4+IGluZGV4IDAyYzExYTcuLjc4MTA0MGUgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvaW50ZWwvaTQwZS9pNDBlX3ZpcnRjaG5sX3BmLmMKPiA+PiArKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pNDBlL2k0MGVfdmlydGNobmxfcGYuYwo+ID4+IEBA IC02OTMsMjIgKzY5Myw5IEBAIGNvbXBsZXRlX3Jlc2V0Ogo+ID4+IHN0YXRpYyBib29sIGk0MGVf dmZzX2FyZV9hc3NpZ25lZChzdHJ1Y3QgaTQwZV9wZiAqcGYpCj4gPj4gewo+ID4+ICAgIHN0cnVj dCBwY2lfZGV2ICpwZGV2ID0gcGYtPnBkZXY7Cj4gPj4gLSAgICBzdHJ1Y3QgcGNpX2RldiAqdmZk ZXY7Cj4gPj4gLQo+ID4+IC0gICAgLyogbG9vcCB0aHJvdWdoIGFsbCB0aGUgVkZzIHRvIHNlZSBp ZiB3ZSBvd24gYW55IHRoYXQgYXJlIGFzc2lnbmVkICovCj4gPj4gLSAgICB2ZmRldiA9IHBjaV9n ZXRfZGV2aWNlKFBDSV9WRU5ET1JfSURfSU5URUwsIEk0MEVfREVWX0lEX1ZGICwgTlVMTCk7Cj4g Pj4gLSAgICB3aGlsZSAodmZkZXYpIHsKPiA+PiAtICAgICAgICAvKiBpZiB3ZSBkb24ndCBvd24g aXQgd2UgZG9uJ3QgY2FyZSAqLwo+ID4+IC0gICAgICAgIGlmICh2ZmRldi0+aXNfdmlydGZuICYm IHBjaV9waHlzZm4odmZkZXYpID09IHBkZXYpIHsKPiA+PiAtICAgICAgICAgICAgLyogaWYgaXQg aXMgYXNzaWduZWQgd2UgY2Fubm90IHJlbGVhc2UgaXQgKi8KPiA+PiAtICAgICAgICAgICAgaWYg KHZmZGV2LT5kZXZfZmxhZ3MgJiBQQ0lfREVWX0ZMQUdTX0FTU0lHTkVEKQo+ID4+IC0gICAgICAg ICAgICAgICAgcmV0dXJuIHRydWU7Cj4gPj4gLSAgICAgICAgfQo+ID4+IAo+ID4+IC0gICAgICAg IHZmZGV2ID0gcGNpX2dldF9kZXZpY2UoUENJX1ZFTkRPUl9JRF9JTlRFTCwKPiA+PiAtICAgICAg ICAgICAgICAgICAgICAgICBJNDBFX0RFVl9JRF9WRiwKPiA+PiAtICAgICAgICAgICAgICAgICAg ICAgICB2ZmRldik7Cj4gPj4gLSAgICB9Cj4gPj4gKyAgICBpZiAocGNpX3Zmc19hc3NpZ25lZChw ZGV2KSkKPiA+PiArICAgICAgICByZXR1cm4gdHJ1ZTsKPiA+PiAKPiA+PiAgICByZXR1cm4gZmFs c2U7Cj4gPj4gfQo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9pb3YuYyBiL2RyaXZlcnMv cGNpL2lvdi5jCj4gPj4gaW5kZXggZGU3YTc0Ny4uMDkwZjgyNyAxMDA2NDQKPiA+PiAtLS0gYS9k cml2ZXJzL3BjaS9pb3YuYwo+ID4+ICsrKyBiL2RyaXZlcnMvcGNpL2lvdi5jCj4gPj4gQEAgLTY0 NCw2ICs2NDQsMjYgQEAgaW50IHBjaV92ZnNfYXNzaWduZWQoc3RydWN0IHBjaV9kZXYgKmRldikK PiA+PiBFWFBPUlRfU1lNQk9MX0dQTChwY2lfdmZzX2Fzc2lnbmVkKTsKPiA+PiAKPiA+PiAvKioK PiA+PiArICogcGNpX2lvdl9hc3NpZ25fZGV2aWNlIC0gYXNzaWduIGRldmljZSB0byBWTQo+ID4+ ICsgKiBAcGRldjogdGhlIGRldmljZSB0byBiZSBhc3NpZ25lZC4KPiA+PiArICovCj4gPj4gK3Zv aWQgcGNpX2lvdl9hc3NpZ25fZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQo+ID4+ICt7Cj4g Pj4gKyAgICBwZGV2LT5kZXZfZmxhZ3MgfD0gUENJX0RFVl9GTEFHU19BU1NJR05FRDsKPiA+PiAr fQo+ID4+ICtFWFBPUlRfU1lNQk9MX0dQTChwY2lfaW92X2Fzc2lnbl9kZXZpY2UpOwo+ID4+ICsK PiA+PiArLyoqCj4gPj4gKyAqIHBjaV9pb3ZfZGVhc3NpZ25fZGV2aWNlIC0gZGVhc2lnbiBkZXZp Y2UgZnJvbSBWTQo+ID4+ICsgKiBAcGRldjogdGhlIGRldmljZSB0byBiZSBkZWFzc2lnbmVkLgo+ ID4+ICsgKi8KPiA+PiArdm9pZCBwY2lfaW92X2RlYXNzaWduX2RldmljZShzdHJ1Y3QgcGNpX2Rl diAqcGRldikKPiA+PiArewo+ID4+ICsgICAgcGRldi0+ZGV2X2ZsYWdzICY9IH5QQ0lfREVWX0ZM QUdTX0FTU0lHTkVEOwo+ID4+ICt9Cj4gPj4gK0VYUE9SVF9TWU1CT0xfR1BMKHBjaV9pb3ZfZGVh c3NpZ25fZGV2aWNlKTsKPiA+PiArCj4gPj4gKy8qKgo+ID4+ICAqIHBjaV9zcmlvdl9zZXRfdG90 YWx2ZnMgLS0gcmVkdWNlIHRoZSBUb3RhbFZGcyBhdmFpbGFibGUKPiA+PiAgKiBAZGV2OiB0aGUg UENJIFBGIGRldmljZQo+ID4+ICAqIEBudW12ZnM6IG51bWJlciB0aGF0IHNob3VsZCBiZSB1c2Vk IGZvciBUb3RhbFZGcyBzdXBwb3J0ZWQKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVu LXBjaWJhY2svcGNpX3N0dWIuYyBiL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMK PiA+PiBpbmRleCA2MmZjZDQ4Li4yN2UwMGQxIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMveGVu L3hlbi1wY2liYWNrL3BjaV9zdHViLmMKPiA+PiArKysgYi9kcml2ZXJzL3hlbi94ZW4tcGNpYmFj ay9wY2lfc3R1Yi5jCj4gPj4gQEAgLTEzMyw3ICsxMzMsNyBAQCBzdGF0aWMgdm9pZCBwY2lzdHVi X2RldmljZV9yZWxlYXNlKHN0cnVjdCBrcmVmICprcmVmKQo+ID4+ICAgIHhlbl9wY2lia19jb25m aWdfZnJlZV9keW5fZmllbGRzKGRldik7Cj4gPj4gICAgeGVuX3BjaWJrX2NvbmZpZ19mcmVlX2Rl dihkZXYpOwo+ID4+IAo+ID4+IC0gICAgZGV2LT5kZXZfZmxhZ3MgJj0gflBDSV9ERVZfRkxBR1Nf QVNTSUdORUQ7Cj4gPj4gKyAgICBwY2lfaW92X2RlYXNzaWduX2RldmljZShkZXYpOwo+ID4+ICAg IHBjaV9kZXZfcHV0KGRldik7Cj4gPj4gCj4gPj4gICAga2ZyZWUocHNkZXYpOwo+ID4+IEBAIC00 MDQsNyArNDA0LDcgQEAgc3RhdGljIGludCBwY2lzdHViX2luaXRfZGV2aWNlKHN0cnVjdCBwY2lf ZGV2ICpkZXYpCj4gPj4gICAgZGV2X2RiZygmZGV2LT5kZXYsICJyZXNldCBkZXZpY2VcbiIpOwo+ ID4+ICAgIHhlbl9wY2lia19yZXNldF9kZXZpY2UoZGV2KTsKPiA+PiAKPiA+PiAtICAgIGRldi0+ ZGV2X2ZsYWdzIHw9IFBDSV9ERVZfRkxBR1NfQVNTSUdORUQ7Cj4gPj4gKyAgICBwY2lfaW92X2Fz c2lnbl9kZXZpY2UoZGV2KTsKPiA+PiAgICByZXR1cm4gMDsKPiA+PiAKPiA+PiBjb25maWdfcmVs ZWFzZToKPiA+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wY2kuaCBiL2luY2x1ZGUvbGlu dXgvcGNpLmgKPiA+PiBpbmRleCBhYWI1N2I0Li41ZWNlNmQ2IDEwMDY0NAo+ID4+IC0tLSBhL2lu Y2x1ZGUvbGludXgvcGNpLmgKPiA+PiArKysgYi9pbmNsdWRlL2xpbnV4L3BjaS5oCj4gPj4gQEAg LTE2MDMsNiArMTYwMyw4IEBAIGludCBwY2lfbnVtX3ZmKHN0cnVjdCBwY2lfZGV2ICpkZXYpOwo+ ID4+IGludCBwY2lfdmZzX2Fzc2lnbmVkKHN0cnVjdCBwY2lfZGV2ICpkZXYpOwo+ID4+IGludCBw Y2lfc3Jpb3Zfc2V0X3RvdGFsdmZzKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHUxNiBudW12ZnMpOwo+ ID4+IGludCBwY2lfc3Jpb3ZfZ2V0X3RvdGFsdmZzKHN0cnVjdCBwY2lfZGV2ICpkZXYpOwo+ID4+ ICt2b2lkIHBjaV9pb3ZfYXNzaWduX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqZGV2KTsKPiA+PiAr dm9pZCBwY2lfaW92X2RlYXNzaWduX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqZGV2KTsKPiA+PiAj ZWxzZQo+ID4+IHN0YXRpYyBpbmxpbmUgaW50IHBjaV9lbmFibGVfc3Jpb3Yoc3RydWN0IHBjaV9k ZXYgKmRldiwgaW50IG5yX3ZpcnRmbikKPiA+PiB7IHJldHVybiAtRU5PREVWOyB9Cj4gPj4gQEAg LTE2MTQsNiArMTYxNiw4IEBAIHN0YXRpYyBpbmxpbmUgaW50IHBjaV9zcmlvdl9zZXRfdG90YWx2 ZnMoc3RydWN0IHBjaV9kZXYgKmRldiwgdTE2IG51bXZmcykKPiA+PiB7IHJldHVybiAwOyB9Cj4g Pj4gc3RhdGljIGlubGluZSBpbnQgcGNpX3NyaW92X2dldF90b3RhbHZmcyhzdHJ1Y3QgcGNpX2Rl diAqZGV2KQo+ID4+IHsgcmV0dXJuIDA7IH0KPiA+PiArc3RhdGljIGlubGluZSB2b2lkIHBjaV9p b3ZfYXNzaWduX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqZGV2KSB7IH0KPiA+PiArc3RhdGljIGlu bGluZSB2b2lkIHBjaV9pb3ZfZGVhc3NpZ25fZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpkZXYpIHsg fQo+ID4+ICNlbmRpZgo+ID4+IAo+ID4+ICNpZiBkZWZpbmVkKENPTkZJR19IT1RQTFVHX1BDSSkg fHwgZGVmaW5lZChDT05GSUdfSE9UUExVR19QQ0lfTU9EVUxFKQo+ID4+IGRpZmYgLS1naXQgYS92 aXJ0L2t2bS9hc3NpZ25lZC1kZXYuYyBiL3ZpcnQva3ZtL2Fzc2lnbmVkLWRldi5jCj4gPj4gaW5k ZXggYmYwNjU3Ny4uN2ZhYzU4ZCAxMDA2NDQKPiA+PiAtLS0gYS92aXJ0L2t2bS9hc3NpZ25lZC1k ZXYuYwo+ID4+ICsrKyBiL3ZpcnQva3ZtL2Fzc2lnbmVkLWRldi5jCj4gPj4gQEAgLTMwMiw3ICsz MDIsNyBAQCBzdGF0aWMgdm9pZCBrdm1fZnJlZV9hc3NpZ25lZF9kZXZpY2Uoc3RydWN0IGt2bSAq a3ZtLAo+ID4+ICAgIGVsc2UKPiA+PiAgICAgICAgcGNpX3Jlc3RvcmVfc3RhdGUoYXNzaWduZWRf ZGV2LT5kZXYpOwo+ID4+IAo+ID4+IC0gICAgYXNzaWduZWRfZGV2LT5kZXYtPmRldl9mbGFncyAm PSB+UENJX0RFVl9GTEFHU19BU1NJR05FRDsKPiA+PiArICAgIHBjaV9pb3ZfZGVhc3NpZ25fZGV2 aWNlKGFzc2lnbmVkX2Rldi0+ZGV2KTsKPiA+PiAKPiA+PiAgICBwY2lfcmVsZWFzZV9yZWdpb25z KGFzc2lnbmVkX2Rldi0+ZGV2KTsKPiA+PiAgICBwY2lfZGlzYWJsZV9kZXZpY2UoYXNzaWduZWRf ZGV2LT5kZXYpOwo+ID4+IGRpZmYgLS1naXQgYS92aXJ0L2t2bS9pb21tdS5jIGIvdmlydC9rdm0v aW9tbXUuYwo+ID4+IGluZGV4IDBkZjdkNGIuLjY0MWVlNzMgMTAwNjQ0Cj4gPj4gLS0tIGEvdmly dC9rdm0vaW9tbXUuYwo+ID4+ICsrKyBiL3ZpcnQva3ZtL2lvbW11LmMKPiA+PiBAQCAtMTk0LDcg KzE5NCw3IEBAIGludCBrdm1fYXNzaWduX2RldmljZShzdHJ1Y3Qga3ZtICprdm0sCj4gPj4gICAg ICAgICAgICBnb3RvIG91dF91bm1hcDsKPiA+PiAgICB9Cj4gPj4gCj4gPj4gLSAgICBwZGV2LT5k ZXZfZmxhZ3MgfD0gUENJX0RFVl9GTEFHU19BU1NJR05FRDsKPiA+PiArICAgIHBjaV9pb3ZfYXNz aWduX2RldmljZShwZGV2KTsKPiA+PiAKPiA+PiAgICBkZXZfaW5mbygmcGRldi0+ZGV2LCAia3Zt IGFzc2lnbiBkZXZpY2VcbiIpOwo+ID4+IAo+ID4+IEBAIC0yMjAsNyArMjIwLDcgQEAgaW50IGt2 bV9kZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGt2bSAqa3ZtLAo+ID4+IAo+ID4+ICAgIGlvbW11X2Rl dGFjaF9kZXZpY2UoZG9tYWluLCAmcGRldi0+ZGV2KTsKPiA+PiAKPiA+PiAtICAgIHBkZXYtPmRl dl9mbGFncyAmPSB+UENJX0RFVl9GTEFHU19BU1NJR05FRDsKPiA+PiArICAgIHBjaV9pb3ZfZGVh c3NpZ25fZGV2aWNlKHBkZXYpOwo+ID4+IAo+ID4+ICAgIGRldl9pbmZvKCZwZGV2LT5kZXYsICJr dm0gZGVhc3NpZ24gZGV2aWNlXG4iKTsKPiA+IAo+ID4gCj4gPiAKCgoKCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQpPcGVuIHNvdXJjZSBidXNpbmVzcyBwcm9jZXNzIG1hbmFnZW1lbnQgc3VpdGUgYnVp bHQgb24gSmF2YSBhbmQgRWNsaXBzZQpUdXJuIHByb2Nlc3NlcyBpbnRvIGJ1c2luZXNzIGFwcGxp Y2F0aW9ucyB3aXRoIEJvbml0YSBCUE0gQ29tbXVuaXR5IEVkaXRpb24KUXVpY2tseSBjb25uZWN0 IHBlb3BsZSwgZGF0YSwgYW5kIHN5c3RlbXMgaW50byBvcmdhbml6ZWQgd29ya2Zsb3dzCldpbm5l ciBvZiBCT1NTSUUsIENPRElFLCBPVzIgYW5kIEdhcnRuZXIgYXdhcmRzCmh0dHA6Ly9wLnNmLm5l dC9zZnUvQm9uaXRhc29mdApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpFMTAwMC1kZXZlbCBtYWlsaW5nIGxpc3QKRTEwMDAtZGV2ZWxAbGlzdHMuc291cmNl Zm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2Ux MDAwLWRldmVsClRvIGxlYXJuIG1vcmUgYWJvdXQgSW50ZWwmIzE3NDsgRXRoZXJuZXQsIHZpc2l0 IGh0dHA6Ly9jb21tdW5pdGllcy5pbnRlbC5jb20vY29tbXVuaXR5L3dpcmVkCg==