From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: Re: [PATCH V3 1/7] mdev: class id support Date: Wed, 16 Oct 2019 18:37:53 +0800 Message-ID: <302b3902-f065-b5e1-7fc9-5f8aaf826a99__30442.8877354198$1571222375$gmane$org@redhat.com> References: <20191011081557.28302-1-jasowang@redhat.com> <20191011081557.28302-2-jasowang@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Parav Pandit , "kvm@vger.kernel.org" , "linux-s390@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "intel-gfx@lists.freedesktop.org" , "intel-gvt-dev@lists.freedesktop.org" , "kwankhede@nvidia.com" , "alex.williamson@redhat.com" , "mst@redhat.com" , "tiwei.bie@intel.com" Cc: "christophe.de.dinechin@gmail.com" , "sebott@linux.ibm.com" , "airlied@linux.ie" , "joonas.lahtinen@linux.intel.com" , "heiko.carstens@de.ibm.com" , "virtualization@lists.linux-foundation.org" , "rob.miller@broadcom.com" , "lulu@redhat.com" , "eperezma@redhat.com" , "pasic@linux.ibm.com" , "borntraeger@de.ibm.com" , "haotian.wang@sifive.com" , "zhi.a.wang@intel.com" , "farman@linux.ibm.com" , Ido Shamay , "gor@linux.ibm.com" , "zhenyuw@linux.intel.com" ro List-Id: virtualization@lists.linuxfoundation.org Ck9uIDIwMTkvMTAvMTYg5LiL5Y2IMTI6NTcsIFBhcmF2IFBhbmRpdCB3cm90ZToKPgo+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+PiBGcm9tOiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRo YXQuY29tPgo+PiBTZW50OiBGcmlkYXksIE9jdG9iZXIgMTEsIDIwMTkgMzoxNiBBTQo+PiBUbzog a3ZtQHZnZXIua2VybmVsLm9yZzsgbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LQo+ PiBrZXJuZWxAdmdlci5rZXJuZWwub3JnOyBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn OyBpbnRlbC0KPj4gZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgaW50ZWwtZ3Z0LWRldkBsaXN0 cy5mcmVlZGVza3RvcC5vcmc7Cj4+IGt3YW5raGVkZUBudmlkaWEuY29tOyBhbGV4LndpbGxpYW1z b25AcmVkaGF0LmNvbTsgbXN0QHJlZGhhdC5jb207Cj4+IHRpd2VpLmJpZUBpbnRlbC5jb20KPj4g Q2M6IHZpcnR1YWxpemF0aW9uQGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnOyBuZXRkZXZAdmdl ci5rZXJuZWwub3JnOwo+PiBjb2h1Y2tAcmVkaGF0LmNvbTsgbWF4aW1lLmNvcXVlbGluQHJlZGhh dC5jb207Cj4+IGN1bm1pbmcubGlhbmdAaW50ZWwuY29tOyB6aGlob25nLndhbmdAaW50ZWwuY29t Owo+PiByb2IubWlsbGVyQGJyb2FkY29tLmNvbTsgeGlhby53LndhbmdAaW50ZWwuY29tOwo+PiBo YW90aWFuLndhbmdAc2lmaXZlLmNvbTsgemhlbnl1d0BsaW51eC5pbnRlbC5jb207IHpoaS5hLndh bmdAaW50ZWwuY29tOwo+PiBqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb207IGpvb25hcy5sYWh0 aW5lbkBsaW51eC5pbnRlbC5jb207Cj4+IHJvZHJpZ28udml2aUBpbnRlbC5jb207IGFpcmxpZWRA bGludXguaWU7IGRhbmllbEBmZndsbC5jaDsKPj4gZmFybWFuQGxpbnV4LmlibS5jb207IHBhc2lj QGxpbnV4LmlibS5jb207IHNlYm90dEBsaW51eC5pYm0uY29tOwo+PiBvYmVycGFyQGxpbnV4Lmli bS5jb207IGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb207IGdvckBsaW51eC5pYm0uY29tOwo+PiBi b3JudHJhZWdlckBkZS5pYm0uY29tOyBha3Jvd2lha0BsaW51eC5pYm0uY29tOyBmcmV1ZGVAbGlu dXguaWJtLmNvbTsKPj4gbGluZ3NoYW4uemh1QGludGVsLmNvbTsgSWRvIFNoYW1heSA8aWRvc0Bt ZWxsYW5veC5jb20+Owo+PiBlcGVyZXptYUByZWRoYXQuY29tOyBsdWx1QHJlZGhhdC5jb207IFBh cmF2IFBhbmRpdAo+PiA8cGFyYXZAbWVsbGFub3guY29tPjsgY2hyaXN0b3BoZS5kZS5kaW5lY2hp bkBnbWFpbC5jb207Cj4+IGtldmluLnRpYW5AaW50ZWwuY29tOyBKYXNvbiBXYW5nIDxqYXNvd2Fu Z0ByZWRoYXQuY29tPgo+PiBTdWJqZWN0OiBbUEFUQ0ggVjMgMS83XSBtZGV2OiBjbGFzcyBpZCBz dXBwb3J0Cj4+Cj4+IE1kZXYgYnVzIG9ubHkgc3VwcG9ydHMgdmZpbyBkcml2ZXIgcmlnaHQgbm93 LCBzbyBpdCBkb2Vzbid0IGltcGxlbWVudCBtYXRjaAo+PiBtZXRob2QuIEJ1dCBpbiB0aGUgZnV0 dXJlLCB3ZSBtYXkgYWRkIGRyaXZlcnMgb3RoZXIgdGhhbiB2ZmlvLCB0aGUgZmlyc3QKPj4gZHJp dmVyIGNvdWxkIGJlIHZpcnRpby1tZGV2LiBUaGlzIG1lYW5zIHdlIG5lZWQgdG8gYWRkIGRldmlj ZSBjbGFzcyBpZAo+PiBzdXBwb3J0IGluIGJ1cyBtYXRjaCBtZXRob2QgdG8gcGFpciB0aGUgbWRl diBkZXZpY2UgYW5kIG1kZXYgZHJpdmVyCj4+IGNvcnJlY3RseS4KPj4KPj4gU28gdGhpcyBwYXRj aCBhZGRzIGlkX3RhYmxlIHRvIG1kZXZfZHJpdmVyIGFuZCBjbGFzc19pZCBmb3IgbWRldiBkZXZp Y2UKPj4gd2l0aCB0aGUgbWF0Y2ggbWV0aG9kIGZvciBtZGV2IGJ1cy4KPj4KPj4gU2lnbmVkLW9m Zi1ieTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KPj4gLS0tCj4+ICAgRG9jdW1l bnRhdGlvbi9kcml2ZXItYXBpL3ZmaW8tbWVkaWF0ZWQtZGV2aWNlLnJzdCB8ICA3ICsrKysrKy0K Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQva3ZtZ3QuYyAgICAgICAgICAgICAgICAgIHwg IDEgKwo+PiAgIGRyaXZlcnMvczM5MC9jaW8vdmZpb19jY3dfb3BzLmMgICAgICAgICAgICAgICAg ICAgfCAgMSArCj4+ICAgZHJpdmVycy9zMzkwL2NyeXB0by92ZmlvX2FwX29wcy5jICAgICAgICAg ICAgICAgICB8ICAxICsKPj4gICBkcml2ZXJzL3ZmaW8vbWRldi9tZGV2X2NvcmUuYyAgICAgICAg ICAgICAgICAgICAgIHwgMTEgKysrKysrKysrKysKPj4gICBkcml2ZXJzL3ZmaW8vbWRldi9tZGV2 X2RyaXZlci5jICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKysrKysrKysKPj4gICBkcml2 ZXJzL3ZmaW8vbWRldi9tZGV2X3ByaXZhdGUuaCAgICAgICAgICAgICAgICAgIHwgIDEgKwo+PiAg IGRyaXZlcnMvdmZpby9tZGV2L3ZmaW9fbWRldi5jICAgICAgICAgICAgICAgICAgICAgfCAgNiAr KysrKysKPj4gICBpbmNsdWRlL2xpbnV4L21kZXYuaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDggKysrKysrKysKPj4gICBpbmNsdWRlL2xpbnV4L21vZF9kZXZpY2V0YWJsZS5oICAg ICAgICAgICAgICAgICAgIHwgIDggKysrKysrKysKPj4gICBzYW1wbGVzL3ZmaW8tbWRldi9tYm9j aHMuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwo+PiAgIHNhbXBsZXMvdmZpby1tZGV2 L21kcHkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCj4+ICAgc2FtcGxlcy92Zmlv LW1kZXYvbXR0eS5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKPj4gICAxMyBmaWxl cyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4+Cj4+IGRpZmYgLS1n aXQgYS9Eb2N1bWVudGF0aW9uL2RyaXZlci1hcGkvdmZpby1tZWRpYXRlZC1kZXZpY2UucnN0Cj4+ IGIvRG9jdW1lbnRhdGlvbi9kcml2ZXItYXBpL3ZmaW8tbWVkaWF0ZWQtZGV2aWNlLnJzdAo+PiBp bmRleCAyNWViN2Q1YjgzNGIuLjIwMzVlNDhkYTdiMiAxMDA2NDQKPj4gLS0tIGEvRG9jdW1lbnRh dGlvbi9kcml2ZXItYXBpL3ZmaW8tbWVkaWF0ZWQtZGV2aWNlLnJzdAo+PiArKysgYi9Eb2N1bWVu dGF0aW9uL2RyaXZlci1hcGkvdmZpby1tZWRpYXRlZC1kZXZpY2UucnN0Cj4+IEBAIC0xMDIsMTIg KzEwMiwxNCBAQCBzdHJ1Y3R1cmUgdG8gcmVwcmVzZW50IGEgbWVkaWF0ZWQgZGV2aWNlJ3MgZHJp dmVyOjoKPj4gICAgICAgICAqIEBwcm9iZTogY2FsbGVkIHdoZW4gbmV3IGRldmljZSBjcmVhdGVk Cj4+ICAgICAgICAgKiBAcmVtb3ZlOiBjYWxsZWQgd2hlbiBkZXZpY2UgcmVtb3ZlZAo+PiAgICAg ICAgICogQGRyaXZlcjogZGV2aWNlIGRyaXZlciBzdHJ1Y3R1cmUKPj4gKyAgICAgICogQGlkX3Rh YmxlOiB0aGUgaWRzIHNlcnZpY2VkIGJ5IHRoaXMgZHJpdmVyCj4+ICAgICAgICAgKi8KPj4gICAg ICAgIHN0cnVjdCBtZGV2X2RyaXZlciB7Cj4+ICAgCSAgICAgY29uc3QgY2hhciAqbmFtZTsKPj4g ICAJICAgICBpbnQgICgqcHJvYmUpICAoc3RydWN0IGRldmljZSAqZGV2KTsKPj4gICAJICAgICB2 b2lkICgqcmVtb3ZlKSAoc3RydWN0IGRldmljZSAqZGV2KTsKPj4gICAJICAgICBzdHJ1Y3QgZGV2 aWNlX2RyaXZlciAgICBkcml2ZXI7Cj4+ICsJICAgICBjb25zdCBzdHJ1Y3QgbWRldl9jbGFzc19p ZCAqaWRfdGFibGU7Cj4+ICAgICAgICB9Owo+Pgo+PiAgIEEgbWVkaWF0ZWQgYnVzIGRyaXZlciBm b3IgbWRldiBzaG91bGQgdXNlIHRoaXMgc3RydWN0dXJlIGluIHRoZSBmdW5jdGlvbgo+PiBjYWxs cyBAQCAtMTY1LDEyICsxNjcsMTUgQEAgcmVnaXN0ZXIgaXRzZWxmIHdpdGggdGhlIG1kZXYgY29y ZSBkcml2ZXI6Ogo+PiAgIAlleHRlcm4gaW50ICBtZGV2X3JlZ2lzdGVyX2RldmljZShzdHJ1Y3Qg ZGV2aWNlICpkZXYsCj4+ICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCBtZGV2X3BhcmVudF9vcHMgKm9wcyk7Cj4+Cj4+ICtJdCBpcyBhbHNvIHJlcXVpcmVk IHRvIHNwZWNpZnkgdGhlIGNsYXNzX2lkIHRocm91Z2g6Ogo+PiArCj4+ICsJZXh0ZXJuIGludCBt ZGV2X3NldF9jbGFzcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHUxNiBpZCk7Cj4gRHJvcCBleHRlcm4u Cj4gSW4gYWN0dWFsIEFQSSB5b3UgaGF2ZSBjb3JyZWN0IHNpZ25hdHVyZSwgaS5lLiBzdHJ1Y3Qg bWRldl9kZXZpY2UuCj4gcy9zdHJ1Y3QgZGV2aWNlL3N0cnVjdCBtZGV2X2RldmljZS4KCgpZZXMs IHdpbGwgZml4LgoKCj4KPj4gKwo+PiAgIEhvd2V2ZXIsIHRoZSBtZGV2X3BhcmVudF9vcHMgc3Ry dWN0dXJlIGlzIG5vdCByZXF1aXJlZCBpbiB0aGUgZnVuY3Rpb24gY2FsbAo+PiB0aGF0IGEgZHJp dmVyIHNob3VsZCB1c2UgdG8gdW5yZWdpc3RlciBpdHNlbGYgd2l0aCB0aGUgbWRldiBjb3JlIGRy aXZlcjo6Cj4+Cj4+ICAgCWV4dGVybiB2b2lkIG1kZXZfdW5yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0 IGRldmljZSAqZGV2KTsKPj4KPj4gLQo+PiAgIE1lZGlhdGVkIERldmljZSBNYW5hZ2VtZW50IElu dGVyZmFjZSBUaHJvdWdoIHN5c2ZzCj4+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Cj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndnQva3ZtZ3QuYwo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9rdm1ndC5jCj4+IGlu ZGV4IDM0M2Q3OWMxY2I3ZS4uMTdlOWQ0NjM0Yzg0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndnQva3ZtZ3QuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQv a3ZtZ3QuYwo+PiBAQCAtNjc4LDYgKzY3OCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfdmdwdV9jcmVh dGUoc3RydWN0IGtvYmplY3QgKmtvYmosCj4+IHN0cnVjdCBtZGV2X2RldmljZSAqbWRldikKPj4g ICAJCSAgICAgZGV2X25hbWUobWRldl9kZXYobWRldikpKTsKPj4gICAJcmV0ID0gMDsKPj4KPj4g KwltZGV2X3NldF9jbGFzcyhtZGV2LCBNREVWX0lEX1ZGSU8pOwo+PiAgIG91dDoKPj4gICAJcmV0 dXJuIHJldDsKPj4gICB9Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL3ZmaW9fY2N3 X29wcy5jCj4+IGIvZHJpdmVycy9zMzkwL2Npby92ZmlvX2Njd19vcHMuYyBpbmRleCBmMGQ3MWFi NzdjNTAuLmI1ZDIyMzg4MmM2Ywo+PiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9zMzkwL2Npby92 ZmlvX2Njd19vcHMuYwo+PiArKysgYi9kcml2ZXJzL3MzOTAvY2lvL3ZmaW9fY2N3X29wcy5jCj4+ IEBAIC0xMjksNiArMTI5LDcgQEAgc3RhdGljIGludCB2ZmlvX2Njd19tZGV2X2NyZWF0ZShzdHJ1 Y3Qga29iamVjdCAqa29iaiwKPj4gc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KQo+PiAgIAkJCSAg IHByaXZhdGUtPnNjaC0+c2NoaWQuc3NpZCwKPj4gICAJCQkgICBwcml2YXRlLT5zY2gtPnNjaGlk LnNjaF9ubyk7Cj4+Cj4+ICsJbWRldl9zZXRfY2xhc3MobWRldiwgTURFVl9JRF9WRklPKTsKPj4g ICAJcmV0dXJuIDA7Cj4+ICAgfQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0 by92ZmlvX2FwX29wcy5jCj4+IGIvZHJpdmVycy9zMzkwL2NyeXB0by92ZmlvX2FwX29wcy5jCj4+ IGluZGV4IDVjMGY1M2M2ZGRlNy4uNDdkZjFjNTkzYzM1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJz L3MzOTAvY3J5cHRvL3ZmaW9fYXBfb3BzLmMKPj4gKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by92 ZmlvX2FwX29wcy5jCj4+IEBAIC0zNDMsNiArMzQzLDcgQEAgc3RhdGljIGludCB2ZmlvX2FwX21k ZXZfY3JlYXRlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAo+PiBzdHJ1Y3QgbWRldl9kZXZpY2UgKm1k ZXYpCj4+ICAgCWxpc3RfYWRkKCZtYXRyaXhfbWRldi0+bm9kZSwgJm1hdHJpeF9kZXYtPm1kZXZf bGlzdCk7Cj4+ICAgCW11dGV4X3VubG9jaygmbWF0cml4X2Rldi0+bG9jayk7Cj4+Cj4+ICsJbWRl dl9zZXRfY2xhc3MobWRldiwgTURFVl9JRF9WRklPKTsKPj4gICAJcmV0dXJuIDA7Cj4+ICAgfQo+ Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92ZmlvL21kZXYvbWRldl9jb3JlLmMgYi9kcml2ZXJz L3ZmaW8vbWRldi9tZGV2X2NvcmUuYwo+PiBpbmRleCBiNTU4ZDRjZmQwODIuLjcyNGU5Yjk4NDFk OCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92ZmlvL21kZXYvbWRldl9jb3JlLmMKPj4gKysrIGIv ZHJpdmVycy92ZmlvL21kZXYvbWRldl9jb3JlLmMKPj4gQEAgLTQ1LDYgKzQ1LDEyIEBAIHZvaWQg bWRldl9zZXRfZHJ2ZGF0YShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsCj4+IHZvaWQgKmRhdGEp ICB9ICBFWFBPUlRfU1lNQk9MKG1kZXZfc2V0X2RydmRhdGEpOwo+Pgo+PiArdm9pZCBtZGV2X3Nl dF9jbGFzcyhzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHUxNiBpZCkgewo+PiArCW1kZXYtPmNs YXNzX2lkID0gaWQ7Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9MKG1kZXZfc2V0X2NsYXNzKTsKPj4g Kwo+IFVzdWFsbHkgd2l0aCBldmVyeSBleHBvcnRlZCBzeW1ib2wgd2UgaGF2ZSBzaWduYXR1cmUg Y29tbWVudCBibG9jayB0aGF0IGRlc2NyaWJlcyB3aGVuIHRvIHVzZSBhbiBBUEkgZXRjLgo+IFBs ZWFzZSBhZGQgaXQgdGhhdCBkZXNjcmliZXMgdGhhdCB0aGlzIEFQSSBtdXN0IGJlIGNhbGxlZCBk dXJpbmcgY3JlYXRlKCkgY2FsbGJhY2suCgoKT2suCgoKPgo+PiAgIHN0cnVjdCBkZXZpY2UgKm1k ZXZfZGV2KHN0cnVjdCBtZGV2X2RldmljZSAqbWRldikgIHsKPj4gICAJcmV0dXJuICZtZGV2LT5k ZXY7Cj4+IEBAIC0xMzUsNiArMTQxLDcgQEAgc3RhdGljIGludCBtZGV2X2RldmljZV9yZW1vdmVf Y2Ioc3RydWN0IGRldmljZQo+PiAqZGV2LCB2b2lkICpkYXRhKQo+PiAgICAqIG1kZXZfcmVnaXN0 ZXJfZGV2aWNlIDogUmVnaXN0ZXIgYSBkZXZpY2UKPj4gICAgKiBAZGV2OiBkZXZpY2Ugc3RydWN0 dXJlIHJlcHJlc2VudGluZyBwYXJlbnQgZGV2aWNlLgo+PiAgICAqIEBvcHM6IFBhcmVudCBkZXZp Y2Ugb3BlcmF0aW9uIHN0cnVjdHVyZSB0byBiZSByZWdpc3RlcmVkLgo+PiArICogQGlkOiBjbGFz cyBpZC4KPj4gICAgKgo+PiAgICAqIEFkZCBkZXZpY2UgdG8gbGlzdCBvZiByZWdpc3RlcmVkIHBh cmVudCBkZXZpY2VzLgo+PiAgICAqIFJldHVybnMgYSBuZWdhdGl2ZSB2YWx1ZSBvbiBlcnJvciwg b3RoZXJ3aXNlIDAuCj4+IEBAIC0zMjQsNiArMzMxLDkgQEAgaW50IG1kZXZfZGV2aWNlX2NyZWF0 ZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKPj4gICAJaWYgKHJldCkKPj4gICAJCWdvdG8gb3BzX2Ny ZWF0ZV9mYWlsOwo+Pgo+PiArCWlmICghbWRldi0+Y2xhc3NfaWQpCj4+ICsJCWdvdG8gY2xhc3Nf aWRfZmFpbDsKPj4gKwo+PiAgIAlyZXQgPSBkZXZpY2VfYWRkKCZtZGV2LT5kZXYpOwo+PiAgIAlp ZiAocmV0KQo+PiAgIAkJZ290byBhZGRfZmFpbDsKPj4gQEAgLTM0MCw2ICszNTAsNyBAQCBpbnQg bWRldl9kZXZpY2VfY3JlYXRlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAo+Pgo+PiAgIHN5c2ZzX2Zh aWw6Cj4+ICAgCWRldmljZV9kZWwoJm1kZXYtPmRldik7Cj4+ICtjbGFzc19pZF9mYWlsOgo+IE5v IG5lZWQgZm9yIG5ldyBsYWJlbC4gSnVzdCB1c2UgYWRkX2ZhaWwgbGFiZWwuCgoKT2suCgoKPgo+ PiAgIGFkZF9mYWlsOgo+PiAgIAlwYXJlbnQtPm9wcy0+cmVtb3ZlKG1kZXYpOwo+PiAgIG9wc19j cmVhdGVfZmFpbDoKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmZpby9tZGV2L21kZXZfZHJpdmVy LmMKPj4gYi9kcml2ZXJzL3ZmaW8vbWRldi9tZGV2X2RyaXZlci5jIGluZGV4IDBkMzIyM2FlZTIw Yi4uYjdjNDBjZTg2ZWUzCj4+IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZmaW8vbWRldi9tZGV2 X2RyaXZlci5jCj4+ICsrKyBiL2RyaXZlcnMvdmZpby9tZGV2L21kZXZfZHJpdmVyLmMKPj4gQEAg LTY5LDggKzY5LDIyIEBAIHN0YXRpYyBpbnQgbWRldl9yZW1vdmUoc3RydWN0IGRldmljZSAqZGV2 KQo+PiAgIAlyZXR1cm4gMDsKPj4gICB9Cj4+Cj4+ICtzdGF0aWMgaW50IG1kZXZfbWF0Y2goc3Ry dWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2RyaXZlciAqZHJ2KSB7Cj4+ICsJdW5zaWdu ZWQgaW50IGk7Cj4+ICsJc3RydWN0IG1kZXZfZGV2aWNlICptZGV2ID0gdG9fbWRldl9kZXZpY2Uo ZGV2KTsKPj4gKwlzdHJ1Y3QgbWRldl9kcml2ZXIgKm1kcnYgPSB0b19tZGV2X2RyaXZlcihkcnYp Owo+PiArCWNvbnN0IHN0cnVjdCBtZGV2X2NsYXNzX2lkICppZHMgPSBtZHJ2LT5pZF90YWJsZTsK Pj4gKwo+PiArCWZvciAoaSA9IDA7IGlkc1tpXS5pZDsgaSsrKQo+PiArCQlpZiAoaWRzW2ldLmlk ID09IG1kZXYtPmNsYXNzX2lkKQo+PiArCQkJcmV0dXJuIDE7Cj4+ICsJcmV0dXJuIDA7Cj4+ICt9 Cj4+ICsKPj4gICBzdHJ1Y3QgYnVzX3R5cGUgbWRldl9idXNfdHlwZSA9IHsKPj4gICAJLm5hbWUJ CT0gIm1kZXYiLAo+PiArCS5tYXRjaAkJPSBtZGV2X21hdGNoLAo+PiAgIAkucHJvYmUJCT0gbWRl dl9wcm9iZSwKPj4gICAJLnJlbW92ZQkJPSBtZGV2X3JlbW92ZSwKPj4gICB9Owo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy92ZmlvL21kZXYvbWRldl9wcml2YXRlLmgKPj4gYi9kcml2ZXJzL3ZmaW8v bWRldi9tZGV2X3ByaXZhdGUuaAo+PiBpbmRleCA3ZDkyMjk1MGNhYWYuLmM2NWY0MzZjMTg2OSAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy92ZmlvL21kZXYvbWRldl9wcml2YXRlLmgKPj4gKysrIGIv ZHJpdmVycy92ZmlvL21kZXYvbWRldl9wcml2YXRlLmgKPj4gQEAgLTMzLDYgKzMzLDcgQEAgc3Ry dWN0IG1kZXZfZGV2aWNlIHsKPj4gICAJc3RydWN0IGtvYmplY3QgKnR5cGVfa29iajsKPj4gICAJ c3RydWN0IGRldmljZSAqaW9tbXVfZGV2aWNlOwo+PiAgIAlib29sIGFjdGl2ZTsKPj4gKwl1MTYg Y2xhc3NfaWQ7Cj4+ICAgfTsKPj4KPj4gICAjZGVmaW5lIHRvX21kZXZfZGV2aWNlKGRldikJY29u dGFpbmVyX29mKGRldiwgc3RydWN0IG1kZXZfZGV2aWNlLCBkZXYpCj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3ZmaW8vbWRldi92ZmlvX21kZXYuYyBiL2RyaXZlcnMvdmZpby9tZGV2L3ZmaW9fbWRl di5jCj4+IGluZGV4IDMwOTY0YTRlMGEyOC4uZmQyYTRkOWEzZjI2IDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL3ZmaW8vbWRldi92ZmlvX21kZXYuYwo+PiArKysgYi9kcml2ZXJzL3ZmaW8vbWRldi92 ZmlvX21kZXYuYwo+PiBAQCAtMTIwLDEwICsxMjAsMTYgQEAgc3RhdGljIHZvaWQgdmZpb19tZGV2 X3JlbW92ZShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4+ICAgCXZmaW9fZGVsX2dyb3VwX2RldihkZXYp Owo+PiAgIH0KPj4KPj4gK3N0YXRpYyBzdHJ1Y3QgbWRldl9jbGFzc19pZCBpZF90YWJsZVtdID0g ewo+IHN0YXRpYyBjb25zdAoKCkZpeGVkLgoKCj4KPj4gKwl7IE1ERVZfSURfVkZJTyB9LAo+IEkg Z3Vlc3MgeW91IGRvbid0IG5lZWQgZXh0cmEgYnJhY2VzIGZvciBlYWNoIGVudHJ5Lgo+IFNpbmNl IHRoaXMgZW51bSByZXByZXNlbnRzIE1ERVYgY2xhc3MgaWQsIGl0IGJldHRlciB0byBuYW1lIGl0 IGFzIE1ERVZfQ0xBU1NfSURfVkZJTy4KPiAoU2ltaWxhciB0byAgUENJX1ZFTkRPUl9JRCwgUENJ X0RFVklDRV9JRCkuLgoKCldpbGwgZG8uCgoKPj4gKwl7IDAgfSwKPj4gK307Cj4+ICsKPj4gICBz dGF0aWMgc3RydWN0IG1kZXZfZHJpdmVyIHZmaW9fbWRldl9kcml2ZXIgPSB7Cj4+ICAgCS5uYW1l CT0gInZmaW9fbWRldiIsCj4+ICAgCS5wcm9iZQk9IHZmaW9fbWRldl9wcm9iZSwKPj4gICAJLnJl bW92ZQk9IHZmaW9fbWRldl9yZW1vdmUsCj4+ICsJLmlkX3RhYmxlID0gaWRfdGFibGUsCj4+ICAg fTsKPj4KPj4gICBzdGF0aWMgaW50IF9faW5pdCB2ZmlvX21kZXZfaW5pdCh2b2lkKQo+PiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tZGV2LmggYi9pbmNsdWRlL2xpbnV4L21kZXYuaCBpbmRl eAo+PiAwY2UzMGNhNzhkYjAuLmE3NTcwY2YxM2JhNCAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9s aW51eC9tZGV2LmgKPj4gKysrIGIvaW5jbHVkZS9saW51eC9tZGV2LmgKPj4gQEAgLTExOCw2ICsx MTgsNyBAQCBzdHJ1Y3QgbWRldl90eXBlX2F0dHJpYnV0ZQo+PiBtZGV2X3R5cGVfYXR0cl8jI19u YW1lID0JCVwKPj4gICAgKiBAcHJvYmU6IGNhbGxlZCB3aGVuIG5ldyBkZXZpY2UgY3JlYXRlZAo+ PiAgICAqIEByZW1vdmU6IGNhbGxlZCB3aGVuIGRldmljZSByZW1vdmVkCj4+ICAgICogQGRyaXZl cjogZGV2aWNlIGRyaXZlciBzdHJ1Y3R1cmUKPj4gKyAqIEBpZF90YWJsZTogdGhlIGlkcyBzZXJ2 aWNlZCBieSB0aGlzIGRyaXZlcgo+PiAgICAqCj4+ICAgICoqLwo+PiAgIHN0cnVjdCBtZGV2X2Ry aXZlciB7Cj4+IEBAIC0xMjUsMTIgKzEyNiwxNCBAQCBzdHJ1Y3QgbWRldl9kcml2ZXIgewo+PiAg IAlpbnQgICgqcHJvYmUpKHN0cnVjdCBkZXZpY2UgKmRldik7Cj4+ICAgCXZvaWQgKCpyZW1vdmUp KHN0cnVjdCBkZXZpY2UgKmRldik7Cj4+ICAgCXN0cnVjdCBkZXZpY2VfZHJpdmVyIGRyaXZlcjsK Pj4gKwljb25zdCBzdHJ1Y3QgbWRldl9jbGFzc19pZCAqaWRfdGFibGU7Cj4+ICAgfTsKPj4KPj4g ICAjZGVmaW5lIHRvX21kZXZfZHJpdmVyKGRydikJY29udGFpbmVyX29mKGRydiwgc3RydWN0IG1k ZXZfZHJpdmVyLCBkcml2ZXIpCj4+Cj4+ICAgdm9pZCAqbWRldl9nZXRfZHJ2ZGF0YShzdHJ1Y3Qg bWRldl9kZXZpY2UgKm1kZXYpOyAgdm9pZAo+PiBtZGV2X3NldF9kcnZkYXRhKHN0cnVjdCBtZGV2 X2RldmljZSAqbWRldiwgdm9pZCAqZGF0YSk7Cj4+ICt2b2lkIG1kZXZfc2V0X2NsYXNzKHN0cnVj dCBtZGV2X2RldmljZSAqbWRldiwgdTE2IGlkKTsKPiBCZXR0ZXIgdG8gaW5zZXJ0IG5ldyBBUEkg YWZ0ZXIgbWRldl91dWlkKCkuCgoKT2suCgpUaGFua3MKCgo+Cj4+ICAgY29uc3QgZ3VpZF90ICpt ZGV2X3V1aWQoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKPj4KPj4gICBleHRlcm4gc3RydWN0 IGJ1c190eXBlIG1kZXZfYnVzX3R5cGU7Cj4+IEBAIC0xNDUsNCArMTQ4LDkgQEAgc3RydWN0IGRl dmljZSAqbWRldl9wYXJlbnRfZGV2KHN0cnVjdCBtZGV2X2RldmljZQo+PiAqbWRldik7ICBzdHJ1 Y3QgZGV2aWNlICptZGV2X2RldihzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpOyAgc3RydWN0Cj4+ IG1kZXZfZGV2aWNlICptZGV2X2Zyb21fZGV2KHN0cnVjdCBkZXZpY2UgKmRldik7Cj4+Cj4+ICtl bnVtIHsKPj4gKwlNREVWX0lEX1ZGSU8gPSAxLAo+PiArCS8qIE5ldyBlbnRyaWVzIG11c3QgYmUg YWRkZWQgaGVyZSAqLwo+PiArfTsKPj4gKwo+PiAgICNlbmRpZiAvKiBNREVWX0ggKi8KPj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmgKPj4gYi9pbmNsdWRlL2xp bnV4L21vZF9kZXZpY2V0YWJsZS5oIGluZGV4IDU3MTRmZDM1YTgzYy4uZjMyYzZlNDRmYjFhCj4+ IDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2xpbnV4L21vZF9kZXZpY2V0YWJsZS5oCj4+ICsrKyBi L2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmgKPj4gQEAgLTgyMSw0ICs4MjEsMTIgQEAg c3RydWN0IHdtaV9kZXZpY2VfaWQgewo+PiAgIAljb25zdCB2b2lkICpjb250ZXh0Owo+PiAgIH07 Cj4+Cj4+ICsvKioKPj4gKyAqIHN0cnVjdCBtZGV2X2NsYXNzX2lkIC0gTURFViBkZXZpY2UgY2xh c3MgaWRlbnRpZmllcgo+PiArICogQGlkOiBVc2VkIHRvIGlkZW50aWZ5IGEgc3BlY2lmaWMgY2xh c3Mgb2YgZGV2aWNlLCBlLmcgdmZpby1tZGV2IGRldmljZS4KPj4gKyAqLwo+PiArc3RydWN0IG1k ZXZfY2xhc3NfaWQgewo+PiArCV9fdTE2IGlkOwo+PiArfTsKPj4gKwo+PiAgICNlbmRpZiAvKiBM SU5VWF9NT0RfREVWSUNFVEFCTEVfSCAqLwo+PiBkaWZmIC0tZ2l0IGEvc2FtcGxlcy92ZmlvLW1k ZXYvbWJvY2hzLmMgYi9zYW1wbGVzL3ZmaW8tbWRldi9tYm9jaHMuYwo+PiBpbmRleCBhYzVjOGMx N2IxZmYuLmZkODQ5MWU1OGZlMiAxMDA2NDQKPj4gLS0tIGEvc2FtcGxlcy92ZmlvLW1kZXYvbWJv Y2hzLmMKPj4gKysrIGIvc2FtcGxlcy92ZmlvLW1kZXYvbWJvY2hzLmMKPj4gQEAgLTU2MSw2ICs1 NjEsNyBAQCBzdGF0aWMgaW50IG1ib2Noc19jcmVhdGUoc3RydWN0IGtvYmplY3QgKmtvYmosIHN0 cnVjdAo+PiBtZGV2X2RldmljZSAqbWRldikKPj4gICAJbWJvY2hzX3Jlc2V0KG1kZXYpOwo+Pgo+ PiAgIAltYm9jaHNfdXNlZF9tYnl0ZXMgKz0gdHlwZS0+bWJ5dGVzOwo+PiArCW1kZXZfc2V0X2Ns YXNzKG1kZXYsIE1ERVZfSURfVkZJTyk7Cj4+ICAgCXJldHVybiAwOwo+Pgo+PiAgIGVycl9tZW06 Cj4+IGRpZmYgLS1naXQgYS9zYW1wbGVzL3ZmaW8tbWRldi9tZHB5LmMgYi9zYW1wbGVzL3ZmaW8t bWRldi9tZHB5LmMgaW5kZXgKPj4gY2M4NmJmNjU2NmU0Li44ODk0NzJiMDY3MDggMTAwNjQ0Cj4+ IC0tLSBhL3NhbXBsZXMvdmZpby1tZGV2L21kcHkuYwo+PiArKysgYi9zYW1wbGVzL3ZmaW8tbWRl di9tZHB5LmMKPj4gQEAgLTI2OSw2ICsyNjksNyBAQCBzdGF0aWMgaW50IG1kcHlfY3JlYXRlKHN0 cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QKPj4gbWRldl9kZXZpY2UgKm1kZXYpCj4+ICAgCW1k cHlfcmVzZXQobWRldik7Cj4+Cj4+ICAgCW1kcHlfY291bnQrKzsKPj4gKwltZGV2X3NldF9jbGFz cyhtZGV2LCBNREVWX0lEX1ZGSU8pOwo+PiAgIAlyZXR1cm4gMDsKPj4gICB9Cj4+Cj4+IGRpZmYg LS1naXQgYS9zYW1wbGVzL3ZmaW8tbWRldi9tdHR5LmMgYi9zYW1wbGVzL3ZmaW8tbWRldi9tdHR5 LmMgaW5kZXgKPj4gY2U4NGEzMDBhNGRhLi42MTg4MTBjYTQzMzEgMTAwNjQ0Cj4+IC0tLSBhL3Nh bXBsZXMvdmZpby1tZGV2L210dHkuYwo+PiArKysgYi9zYW1wbGVzL3ZmaW8tbWRldi9tdHR5LmMK Pj4gQEAgLTc1NSw2ICs3NTUsNyBAQCBzdGF0aWMgaW50IG10dHlfY3JlYXRlKHN0cnVjdCBrb2Jq ZWN0ICprb2JqLCBzdHJ1Y3QKPj4gbWRldl9kZXZpY2UgKm1kZXYpCj4+ICAgCWxpc3RfYWRkKCZt ZGV2X3N0YXRlLT5uZXh0LCAmbWRldl9kZXZpY2VzX2xpc3QpOwo+PiAgIAltdXRleF91bmxvY2so Jm1kZXZfbGlzdF9sb2NrKTsKPj4KPj4gKwltZGV2X3NldF9jbGFzcyhtZGV2LCBNREVWX0lEX1ZG SU8pOwo+PiAgIAlyZXR1cm4gMDsKPj4gICB9Cj4+Cj4+IC0tCj4+IDIuMTkuMQpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpWaXJ0dWFsaXphdGlvbiBtYWls aW5nIGxpc3QKVmlydHVhbGl6YXRpb25AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6 Ly9saXN0cy5saW51eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vdmlydHVhbGl6YXRp b24=