From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: Re: [PATCH V5 4/6] mdev: introduce virtio device and its device ops Date: Thu, 24 Oct 2019 11:51:35 +0800 Message-ID: <1699cc4e-7d52-b2dc-8016-358a36a4f4ea@redhat.com> References: <20191023130752.18980-1-jasowang@redhat.com> <20191023130752.18980-5-jasowang@redhat.com> <20191023155728.2a55bc71@x1.home> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191023155728.2a55bc71@x1.home> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alex Williamson Cc: stefanha@redhat.com, christophe.de.dinechin@gmail.com, kvm@vger.kernel.org, mst@redhat.com, airlied@linux.ie, heiko.carstens@de.ibm.com, kevin.tian@intel.com, dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, kwankhede@nvidia.com, rob.miller@broadcom.com, linux-s390@vger.kernel.org, sebott@linux.ibm.com, lulu@redhat.com, eperezma@redhat.com, pasic@linux.ibm.com, borntraeger@de.ibm.com, haotian.wang@sifive.com, cunming.liang@intel.com, zhi.a.wang@intel.com, farman@linux.ibm.com, idos@mellanox.com, gor@linux.ibm.com, intel-gfx@lists.freedesktop.org, rodrigo.vivi@intel.com, xiao.w.wang@intel.com, freude@linux.ibm.com, parav@mellanox.com, zhihong.wang@intel.com, intel-gvt-dev@lists.freedesktop.org, akrowiak@linux.ibm.com, oberpar@linux.ibm.com, tiwei.bie@intel.com, netdev@vger.kernel.org, cohuck@redhat.com, linux-kernel@vger.kernel.org, maxime.coque List-Id: intel-gfx@lists.freedesktop.org Ck9uIDIwMTkvMTAvMjQg5LiK5Y2INTo1NywgQWxleCBXaWxsaWFtc29uIHdyb3RlOgo+IE9uIFdl ZCwgMjMgT2N0IDIwMTkgMjE6MDc6NTAgKzA4MDAKPiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRo YXQuY29tPiB3cm90ZToKPgo+PiBUaGlzIHBhdGNoIGltcGxlbWVudHMgYmFzaWMgc3VwcG9ydCBm b3IgbWRldiBkcml2ZXIgdGhhdCBzdXBwb3J0cwo+PiB2aXJ0aW8gdHJhbnNwb3J0IGZvciBrZXJu ZWwgdmlydGlvIGRyaXZlci4KPj4KPj4gU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8amFzb3dh bmdAcmVkaGF0LmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy92ZmlvL21kZXYvbWRldl9jb3JlLmMg ICAgfCAgMjAgKysrKwo+PiAgIGRyaXZlcnMvdmZpby9tZGV2L21kZXZfcHJpdmF0ZS5oIHwgICAy ICsKPj4gICBpbmNsdWRlL2xpbnV4L21kZXYuaCAgICAgICAgICAgICB8ICAgNiArKwo+PiAgIGlu Y2x1ZGUvbGludXgvdmlydGlvX21kZXZfb3BzLmggIHwgMTU5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPj4gICA0IGZpbGVzIGNoYW5nZWQsIDE4NyBpbnNlcnRpb25zKCspCj4+ICAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbGludXgvdmlydGlvX21kZXZfb3BzLmgKPj4KPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmZpby9tZGV2L21kZXZfY29yZS5jIGIvZHJpdmVycy92Zmlv L21kZXYvbWRldl9jb3JlLmMKPj4gaW5kZXggNTU1YmQ2MWQ4YzM4Li45YjAwYzM1MTMxMjAgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmZpby9tZGV2L21kZXZfY29yZS5jCj4+ICsrKyBiL2RyaXZl cnMvdmZpby9tZGV2L21kZXZfY29yZS5jCj4+IEBAIC03Niw2ICs3NiwyNiBAQCBjb25zdCBzdHJ1 Y3QgdmZpb19tZGV2X2RldmljZV9vcHMgKm1kZXZfZ2V0X3ZmaW9fb3BzKHN0cnVjdCBtZGV2X2Rl dmljZSAqbWRldikKPj4gICB9Cj4+ICAgRVhQT1JUX1NZTUJPTChtZGV2X2dldF92ZmlvX29wcyk7 Cj4+ICAgCj4+ICsvKiBTcGVjaWZ5IHRoZSB2aXJ0aW8gZGV2aWNlIG9wcyBmb3IgdGhlIG1kZXYg ZGV2aWNlLCB0aGlzCj4+ICsgKiBtdXN0IGJlIGNhbGxlZCBkdXJpbmcgY3JlYXRlKCkgY2FsbGJh Y2sgZm9yIHZpcnRpbyBtZGV2IGRldmljZS4KPj4gKyAqLwo+PiArdm9pZCBtZGV2X3NldF92aXJ0 aW9fb3BzKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwKPj4gKwkJCSBjb25zdCBzdHJ1Y3Qgdmly dGlvX21kZXZfZGV2aWNlX29wcyAqdmlydGlvX29wcykKPj4gK3sKPj4gKwltZGV2X3NldF9jbGFz cyhtZGV2LCBNREVWX0NMQVNTX0lEX1ZJUlRJTyk7Cj4+ICsJbWRldi0+dmlydGlvX29wcyA9IHZp cnRpb19vcHM7Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9MKG1kZXZfc2V0X3ZpcnRpb19vcHMpOwo+ PiArCj4+ICsvKiBHZXQgdGhlIHZpcnRpbyBkZXZpY2Ugb3BzIGZvciB0aGUgbWRldiBkZXZpY2Uu ICovCj4+ICtjb25zdCBzdHJ1Y3QgdmlydGlvX21kZXZfZGV2aWNlX29wcyAqCj4+ICttZGV2X2dl dF92aXJ0aW9fb3BzKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldikKPj4gK3sKPj4gKwlXQVJOX09O KG1kZXYtPmNsYXNzX2lkICE9IE1ERVZfQ0xBU1NfSURfVklSVElPKTsKPj4gKwlyZXR1cm4gbWRl di0+dmlydGlvX29wczsKPj4gK30KPj4gK0VYUE9SVF9TWU1CT0wobWRldl9nZXRfdmlydGlvX29w cyk7Cj4+ICsKPj4gICBzdHJ1Y3QgZGV2aWNlICptZGV2X2RldihzdHJ1Y3QgbWRldl9kZXZpY2Ug Km1kZXYpCj4+ICAgewo+PiAgIAlyZXR1cm4gJm1kZXYtPmRldjsKPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmZpby9tZGV2L21kZXZfcHJpdmF0ZS5oIGIvZHJpdmVycy92ZmlvL21kZXYvbWRldl9w cml2YXRlLmgKPj4gaW5kZXggMDc3MDQxMGRlZDJhLi43YjQ3ODkwYzM0ZTcgMTAwNjQ0Cj4+IC0t LSBhL2RyaXZlcnMvdmZpby9tZGV2L21kZXZfcHJpdmF0ZS5oCj4+ICsrKyBiL2RyaXZlcnMvdmZp by9tZGV2L21kZXZfcHJpdmF0ZS5oCj4+IEBAIC0xMSw2ICsxMSw3IEBACj4+ICAgI2RlZmluZSBN REVWX1BSSVZBVEVfSAo+PiAgIAo+PiAgICNpbmNsdWRlIDxsaW51eC92ZmlvX21kZXZfb3BzLmg+ Cj4+ICsjaW5jbHVkZSA8bGludXgvdmlydGlvX21kZXZfb3BzLmg+Cj4+ICAgCj4+ICAgaW50ICBt ZGV2X2J1c19yZWdpc3Rlcih2b2lkKTsKPj4gICB2b2lkIG1kZXZfYnVzX3VucmVnaXN0ZXIodm9p ZCk7Cj4+IEBAIC0zOCw2ICszOSw3IEBAIHN0cnVjdCBtZGV2X2RldmljZSB7Cj4+ICAgCXUxNiBj bGFzc19pZDsKPj4gICAJdW5pb24gewo+PiAgIAkJY29uc3Qgc3RydWN0IHZmaW9fbWRldl9kZXZp Y2Vfb3BzICp2ZmlvX29wczsKPj4gKwkJY29uc3Qgc3RydWN0IHZpcnRpb19tZGV2X2RldmljZV9v cHMgKnZpcnRpb19vcHM7Cj4+ICAgCX07Cj4+ICAgfTsKPj4gICAKPj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvbGludXgvbWRldi5oIGIvaW5jbHVkZS9saW51eC9tZGV2LmgKPj4gaW5kZXggNDYyNWYx YTExMDE0Li45YjY5YjBiYmViZmQgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvbGludXgvbWRldi5o Cj4+ICsrKyBiL2luY2x1ZGUvbGludXgvbWRldi5oCj4+IEBAIC0xNyw2ICsxNyw3IEBACj4+ICAg Cj4+ICAgc3RydWN0IG1kZXZfZGV2aWNlOwo+PiAgIHN0cnVjdCB2ZmlvX21kZXZfZGV2aWNlX29w czsKPj4gK3N0cnVjdCB2aXJ0aW9fbWRldl9kZXZpY2Vfb3BzOwo+PiAgIAo+PiAgIC8qCj4+ICAg ICogQ2FsbGVkIGJ5IHRoZSBwYXJlbnQgZGV2aWNlIGRyaXZlciB0byBzZXQgdGhlIGRldmljZSB3 aGljaCByZXByZXNlbnRzCj4+IEBAIC0xMTIsNiArMTEzLDEwIEBAIHZvaWQgbWRldl9zZXRfY2xh c3Moc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCB1MTYgaWQpOwo+PiAgIHZvaWQgbWRldl9zZXRf dmZpb19vcHMoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LAo+PiAgIAkJICAgICAgIGNvbnN0IHN0 cnVjdCB2ZmlvX21kZXZfZGV2aWNlX29wcyAqdmZpb19vcHMpOwo+PiAgIGNvbnN0IHN0cnVjdCB2 ZmlvX21kZXZfZGV2aWNlX29wcyAqbWRldl9nZXRfdmZpb19vcHMoc3RydWN0IG1kZXZfZGV2aWNl ICptZGV2KTsKPj4gK3ZvaWQgbWRldl9zZXRfdmlydGlvX29wcyhzdHJ1Y3QgbWRldl9kZXZpY2Ug Km1kZXYsCj4+ICsJCQkgY29uc3Qgc3RydWN0IHZpcnRpb19tZGV2X2RldmljZV9vcHMgKnZpcnRp b19vcHMpOwo+PiArY29uc3Qgc3RydWN0IHZpcnRpb19tZGV2X2RldmljZV9vcHMgKgo+PiArbWRl dl9nZXRfdmlydGlvX29wcyhzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpOwo+PiAgIAo+PiAgIGV4 dGVybiBzdHJ1Y3QgYnVzX3R5cGUgbWRldl9idXNfdHlwZTsKPj4gICAKPj4gQEAgLTEyNyw2ICsx MzIsNyBAQCBzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXZfZnJvbV9kZXYoc3RydWN0IGRldmljZSAq ZGV2KTsKPj4gICAKPj4gICBlbnVtIHsKPj4gICAJTURFVl9DTEFTU19JRF9WRklPID0gMSwKPj4g KwlNREVWX0NMQVNTX0lEX1ZJUlRJTyA9IDIsCj4+ICAgCS8qIE5ldyBlbnRyaWVzIG11c3QgYmUg YWRkZWQgaGVyZSAqLwo+PiAgIH07Cj4+ICAgCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L3ZpcnRpb19tZGV2X29wcy5oIGIvaW5jbHVkZS9saW51eC92aXJ0aW9fbWRldl9vcHMuaAo+PiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmQ0MTdiNDFmMjg0NQo+ PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2luY2x1ZGUvbGludXgvdmlydGlvX21kZXZfb3BzLmgK Pj4gQEAgLTAsMCArMSwxNTkgQEAKPj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wLW9ubHkgKi8KPj4gKy8qCj4+ICsgKiBWaXJ0aW8gbWVkaWF0ZWQgZGV2aWNlIGRyaXZlcgo+ PiArICoKPj4gKyAqIENvcHlyaWdodCAyMDE5LCBSZWQgSGF0IENvcnAuCj4+ICsgKiAgICAgQXV0 aG9yOiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgo+PiArICovCj4+ICsjaWZuZGVm IF9MSU5VWF9WSVJUSU9fTURFVl9ICj4+ICsjZGVmaW5lIF9MSU5VWF9WSVJUSU9fTURFVl9ICj4+ ICsKPj4gKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9t ZGV2Lmg+Cj4+ICsjaW5jbHVkZSA8dWFwaS9saW51eC92aG9zdC5oPgo+PiArCj4+ICsjZGVmaW5l IFZJUlRJT19NREVWX0RFVklDRV9BUElfU1RSSU5HCQkidmlydGlvLW1kZXYiCj4+ICsjZGVmaW5l IFZJUlRJT19NREVWX0ZfVkVSU0lPTl8xIDB4MQo+PiArCj4+ICtzdHJ1Y3QgdmlydGlvX21kZXZf Y2FsbGJhY2sgewo+PiArCWlycXJldHVybl90ICgqY2FsbGJhY2spKHZvaWQgKmRhdGEpOwo+PiAr CXZvaWQgKnByaXZhdGU7Cj4+ICt9Owo+PiArCj4+ICsvKioKPj4gKyAqIHN0cnVjdCB2ZmlvX21k ZXZfZGV2aWNlX29wcyAtIFN0cnVjdHVyZSB0byBiZSByZWdpc3RlcmVkIGZvciBlYWNoCj4+ICsg KiBtZGV2IGRldmljZSB0byByZWdpc3RlciB0aGUgZGV2aWNlIGZvciB2aXJ0aW8vdmhvc3QgZHJp dmVycy4KPj4gKyAqCj4+ICsgKiBUaGUgZGV2aWNlIG9wcyB0aGF0IGlzIHN1cHBvcnRlZCBieSBW SVJUSU9fTURFVl9GX1ZFUlNJT05fMSwgdGhlCj4+ICsgKiBjYWxsYmFja3MgYXJlIG1hbmRhdG9y eSB1bmxlc3MgZXhwbGljaXR5IG1lbnRpb25lZC4KPiBJZiB0aGUgdmVyc2lvbiBvZiB0aGUgY2Fs bGJhY2tzIGlzIHJldHVybmVkIGJ5IGEgY2FsbGJhY2sgd2l0aGluIHRoZQo+IHN0cnVjdHVyZSBk ZWZpbmVkIGJ5IHRoZSB2ZXJzaW9uLi4uIGlzbid0IHRoYXQgYSBiaXQgY2lyY3VsYXI/ICBUaGlz Cj4gc2VlbXMgcmVkdW5kYW50IHRvIG1lIHZlcnN1cyB0aGUgY2xhc3MgaWQuICBUaGUgZmFjdCB0 aGF0IHRoZSBwYXJlbnQKPiBkcml2ZXIgZGVmaW5lcyB0aGUgZGV2aWNlIGFzIE1ERVZfQ0xBU1Nf SURfVklSVElPIHNob3VsZCB0ZWxsIHVzIHRoaXMKPiBhbHJlYWR5LiAgSWYgaXQgd2FzIGluY3Jl bWVudGVkLCB3ZSdkIG5lZWQgYW4gTURFVl9DTEFTU19JRF9WSVJUSU92MiwKPiB3aGljaCB0aGUg dmlydGlvLW1kZXYgYnVzIGRyaXZlciBjb3VsZCBhZGQgdG8gaXRzIGlkIHRhYmxlIGFuZCBoYW5k bGUKPiBkaWZmZXJlbnRseS4KCgpNeSB1bmRlcnN0YW5kaW5nIGlzIHZlcnNpb25zIGFyZSBvbmx5 IGFsbG93ZWQgdG8gaW5jcmVhc2UgbW9ub3RvbmljYWxseSwgCnRoaXMgc2VlbXMgbGVzcyBmbGV4 aWJsZSB0aGFuIGZlYXR1cmVzLiBFLmcgd2UgaGF2ZSBmZWF0dXJlcyBBLCBCLCBDLCAKbWRldiBk ZXZpY2UgY2FuIGNob29zZSB0byBzdXBwb3J0IG9ubHkgYSBzdWJzZXQuIEUuZyB3aGVuIG1kZXYg ZGV2aWNlIApjYW4gc3VwcG9ydCBkaXJ0eSBwYWdlIGxvZ2dpbmcsIGl0IGNhbiBhZGQgYSBuZXcg ZmVhdHVyZSBiaXQgZm9yIGRyaXZlciAKdG8ga25vdyB0aGF0IGl0IHN1cHBvcnQgbmV3IGRldmlj ZSBvcHMuIE1ERVZfQ0xBU1NfSURfVklSVElPdjIgbWF5IG9ubHkgCmJlIHVzZWZ1bCB3aGVuIHdl IHdpbGwgaW52ZW50IGEgY29tcGxldGUgbmV3IEFQSS4KCgo+Cj4+ICsgKgo+PiArICogQHNldF92 cV9hZGRyZXNzOgkJU2V0IHRoZSBhZGRyZXNzIG9mIHZpcnRxdWV1ZQo+PiArICoJCQkJQG1kZXY6 IG1lZGlhdGVkIGRldmljZQo+PiArICoJCQkJQGlkeDogdmlydHF1ZXVlIGluZGV4Cj4+ICsgKgkJ CQlAZGVzY19hcmVhOiBhZGRyZXNzIG9mIGRlc2MgYXJlYQo+PiArICoJCQkJQGRyaXZlcl9hcmVh OiBhZGRyZXNzIG9mIGRyaXZlciBhcmVhCj4+ICsgKgkJCQlAZGV2aWNlX2FyZWE6IGFkZHJlc3Mg b2YgZGV2aWNlIGFyZWEKPj4gKyAqCQkJCVJldHVybnMgaW50ZWdlcjogc3VjY2VzcyAoMCkgb3Ig ZXJyb3IgKDwgMCkKPj4gKyAqIEBzZXRfdnFfbnVtOgkJCVNldCB0aGUgc2l6ZSBvZiB2aXJ0cXVl dWUKPj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCUBpZHg6IHZpcnRx dWV1ZSBpbmRleAo+PiArICoJCQkJQG51bTogdGhlIHNpemUgb2YgdmlydHF1ZXVlCj4+ICsgKiBA a2lja192cToJCQlLaWNrIHRoZSB2aXJ0cXVldWUKPj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBk ZXZpY2UKPj4gKyAqCQkJCUBpZHg6IHZpcnRxdWV1ZSBpbmRleAo+PiArICogQHNldF92cV9jYjoJ CQlTZXQgdGhlIGludGVycnVwdCBjYWxsYmFjayBmdW5jdGlvbiBmb3IKPj4gKyAqCQkJCWEgdmly dHF1ZXVlCj4+ICsgKgkJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlCj4+ICsgKgkJCQlAaWR4OiB2 aXJ0cXVldWUgaW5kZXgKPj4gKyAqCQkJCUBjYjogdmlydGlvLW1kZXYgaW50ZXJydXB0IGNhbGxi YWNrIHN0cnVjdHVyZQo+PiArICogQHNldF92cV9yZWFkeToJCVNldCByZWFkeSBzdGF0dXMgZm9y IGEgdmlydHF1ZXVlCj4+ICsgKgkJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlCj4+ICsgKgkJCQlA aWR4OiB2aXJ0cXVldWUgaW5kZXgKPj4gKyAqCQkJCUByZWFkeTogcmVhZHkgKHRydWUpIG5vdCBy ZWFkeShmYWxzZSkKPj4gKyAqIEBnZXRfdnFfcmVhZHk6CQlHZXQgcmVhZHkgc3RhdHVzIGZvciBh IHZpcnRxdWV1ZQo+PiArICoJCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZQo+PiArICoJCQkJQGlk eDogdmlydHF1ZXVlIGluZGV4Cj4+ICsgKgkJCQlSZXR1cm5zIGJvb2xlYW46IHJlYWR5ICh0cnVl KSBvciBub3QgKGZhbHNlKQo+PiArICogQHNldF92cV9zdGF0ZToJCVNldCB0aGUgc3RhdGUgZm9y IGEgdmlydHF1ZXVlCj4+ICsgKgkJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlCj4+ICsgKgkJCQlA aWR4OiB2aXJ0cXVldWUgaW5kZXgKPj4gKyAqCQkJCUBzdGF0ZTogdmlydHF1ZXVlIHN0YXRlIChs YXN0X2F2YWlsX2lkeCkKPj4gKyAqCQkJCVJldHVybnMgaW50ZWdlcjogc3VjY2VzcyAoMCkgb3Ig ZXJyb3IgKDwgMCkKPj4gKyAqIEBnZXRfdnFfc3RhdGU6CQlHZXQgdGhlIHN0YXRlIGZvciBhIHZp cnRxdWV1ZQo+PiArICoJCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZQo+PiArICoJCQkJQGlkeDog dmlydHF1ZXVlIGluZGV4Cj4+ICsgKgkJCQlSZXR1cm5zIHZpcnRxdWV1ZSBzdGF0ZSAobGFzdF9h dmFpbF9pZHgpCj4+ICsgKiBAZ2V0X3ZxX2FsaWduOgkJR2V0IHRoZSB2aXJ0cXVldWUgYWxpZ24g cmVxdWlyZW1lbnQKPj4gKyAqCQkJCWZvciB0aGUgZGV2aWNlCj4+ICsgKgkJCQlAbWRldjogbWVk aWF0ZWQgZGV2aWNlCj4+ICsgKgkJCQlSZXR1cm5zIHZpcnRxdWV1ZSBhbGdpbiByZXF1aXJlbWVu dAo+PiArICogQGdldF9mZWF0dXJlczoJCUdldCB2aXJ0aW8gZmVhdHVyZXMgc3VwcG9ydGVkIGJ5 IHRoZSBkZXZpY2UKPj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCVJl dHVybnMgdGhlIHZpcnRpbyBmZWF0dXJlcyBzdXBwb3J0IGJ5IHRoZQo+PiArICoJCQkJZGV2aWNl Cj4+ICsgKiBAZ2V0X2ZlYXR1cmVzOgkJU2V0IHZpcnRpbyBmZWF0dXJlcyBzdXBwb3J0ZWQgYnkg dGhlIGRyaXZlcgo+ICAgICAgICAgXiBzL2cvcy8KPgo+IFRoYW5rcywKPiBBbGV4CgoKV2lsbCBm aXguCgpUaGFua3MKCgo+Cj4+ICsgKgkJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlCj4+ICsgKgkJ CQlAZmVhdHVyZXM6IGZlYXR1cmUgc3VwcG9ydCBieSB0aGUgZHJpdmVyCj4+ICsgKgkJCQlSZXR1 cm5zIGludGVnZXI6IHN1Y2Nlc3MgKDApIG9yIGVycm9yICg8IDApCj4+ICsgKiBAc2V0X2NvbmZp Z19jYjoJCVNldCB0aGUgY29uZmlnIGludGVycnVwdCBjYWxsYmFjawo+PiArICoJCQkJQG1kZXY6 IG1lZGlhdGVkIGRldmljZQo+PiArICoJCQkJQGNiOiB2aXJ0aW8tbWRldiBpbnRlcnJ1cHQgY2Fs bGJhY2sgc3RydWN0dXJlCj4+ICsgKiBAZ2V0X3ZxX251bV9tYXg6CQlHZXQgdGhlIG1heCBzaXpl IG9mIHZpcnRxdWV1ZQo+PiArICoJCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZQo+PiArICoJCQkJ UmV0dXJucyB1MTY6IG1heCBzaXplIG9mIHZpcnRxdWV1ZQo+PiArICogQGdldF9kZXZpY2VfaWQ6 CQlHZXQgdmlydGlvIGRldmljZSBpZAo+PiArICoJCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZQo+ PiArICoJCQkJUmV0dXJucyB1MzI6IHZpcnRpbyBkZXZpY2UgaWQKPj4gKyAqIEBnZXRfdmVuZG9y X2lkOgkJR2V0IGlkIGZvciB0aGUgdmVuZG9yIHRoYXQgcHJvdmlkZXMgdGhpcyBkZXZpY2UKPj4g KyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCVJldHVybnMgdTMyOiB2aXJ0 aW8gdmVuZG9yIGlkCj4+ICsgKiBAZ2V0X3N0YXR1czoJCQlHZXQgdGhlIGRldmljZSBzdGF0dXMK Pj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCVJldHVybnMgdTg6IHZp cnRpbyBkZXZpY2Ugc3RhdHVzCj4+ICsgKiBAc2V0X3N0YXR1czoJCQlTZXQgdGhlIGRldmljZSBz dGF0dXMKPj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCUBzdGF0dXM6 IHZpcnRpbyBkZXZpY2Ugc3RhdHVzCj4+ICsgKiBAZ2V0X2NvbmZpZzoJCQlSZWFkIGZyb20gZGV2 aWNlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gc3BhY2UKPj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRl ZCBkZXZpY2UKPj4gKyAqCQkJCUBvZmZzZXQ6IG9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YK Pj4gKyAqCQkJCWNvbmZpZ3VyYXRpb24gc3BhY2UKPj4gKyAqCQkJCUBidWY6IGJ1ZmZlciB1c2Vk IHRvIHJlYWQgdG8KPj4gKyAqCQkJCUBsZW46IHRoZSBsZW5ndGggdG8gcmVhZCBmcm9tCj4+ICsg KgkJCQljb25maWdyYXRpb24gc3BhY2UKPj4gKyAqIEBzZXRfY29uZmlnOgkJCVdyaXRlIHRvIGRl dmljZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIHNwYWNlCj4+ICsgKgkJCQlAbWRldjogbWVkaWF0 ZWQgZGV2aWNlCj4+ICsgKgkJCQlAb2Zmc2V0OiBvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIG9m Cj4+ICsgKgkJCQljb25maWd1cmF0aW9uIHNwYWNlCj4+ICsgKgkJCQlAYnVmOiBidWZmZXIgdXNl ZCB0byB3cml0ZSBmcm9tCj4+ICsgKgkJCQlAbGVuOiB0aGUgbGVuZ3RoIHRvIHdyaXRlIHRvCj4+ ICsgKgkJCQljb25maWdyYXRpb24gc3BhY2UKPj4gKyAqIEBnZXRfbWRldl9mZWF0dXJlczoJCUdl dCBhIHNldCBvZiBiaXRzIHRoYXQgZGVtb25zdHJhdGUKPj4gKyAqCQkJCXRoZWNhcGFiaWxpdHkg b2YgdGhlIG1kZXYgZGV2aWNlLiBOZXcKPj4gKyAqCQkJCWZlYXR1cmVzIGJpdHMgbXVzdCBiZSBh ZGRlZCB3aGVuCj4+ICsgKgkJCQlpbnRyb2R1Y2luZyBuZXcgZGV2aWNlIG9wcy4KPj4gKyAqCQkJ CUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCVJldHVybnMgdGhlIG1kZXYgZmVhdHVy ZXMgKEFQSSkgc3VwcG9ydCBieQo+PiArICoJCQkJdGhlIGRldmljZS4KPj4gKyAqIEBnZXRfZ2Vu ZXJhdGlvbjoJCUdldCBkZXZpY2UgY29uZmlnIGdlbmVyYXRvbiAob3B0aW9uYWxseSkKPj4gKyAq CQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCVJldHVybnMgdTMyOiBkZXZpY2Ug Z2VuZXJhdGlvbgo+PiArICovCj4+ICtzdHJ1Y3QgdmlydGlvX21kZXZfZGV2aWNlX29wcyB7Cj4+ ICsJLyogVmlydHF1ZXVlIG9wcyAqLwo+PiArCWludCAoKnNldF92cV9hZGRyZXNzKShzdHJ1Y3Qg bWRldl9kZXZpY2UgKm1kZXYsCj4+ICsJCQkgICAgICB1MTYgaWR4LCB1NjQgZGVzY19hcmVhLCB1 NjQgZHJpdmVyX2FyZWEsCj4+ICsJCQkgICAgICB1NjQgZGV2aWNlX2FyZWEpOwo+PiArCXZvaWQg KCpzZXRfdnFfbnVtKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHUxNiBpZHgsIHUzMiBudW0p Owo+PiArCXZvaWQgKCpraWNrX3ZxKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHUxNiBpZHgp Owo+PiArCXZvaWQgKCpzZXRfdnFfY2IpKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwgdTE2IGlk eCwKPj4gKwkJCSAgc3RydWN0IHZpcnRpb19tZGV2X2NhbGxiYWNrICpjYik7Cj4+ICsJdm9pZCAo KnNldF92cV9yZWFkeSkoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCB1MTYgaWR4LCBib29sIHJl YWR5KTsKPj4gKwlib29sICgqZ2V0X3ZxX3JlYWR5KShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYs IHUxNiBpZHgpOwo+PiArCWludCAoKnNldF92cV9zdGF0ZSkoc3RydWN0IG1kZXZfZGV2aWNlICpt ZGV2LCB1MTYgaWR4LCB1NjQgc3RhdGUpOwo+PiArCXU2NCAoKmdldF92cV9zdGF0ZSkoc3RydWN0 IG1kZXZfZGV2aWNlICptZGV2LCB1MTYgaWR4KTsKPj4gKwo+PiArCS8qIFZpcnRpbyBkZXZpY2Ug b3BzICovCj4+ICsJdTE2ICgqZ2V0X3ZxX2FsaWduKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYp Owo+PiArCXU2NCAoKmdldF9mZWF0dXJlcykoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKPj4g KwlpbnQgKCpzZXRfZmVhdHVyZXMpKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwgdTY0IGZlYXR1 cmVzKTsKPj4gKwl2b2lkICgqc2V0X2NvbmZpZ19jYikoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2 LAo+PiArCQkJICAgICAgc3RydWN0IHZpcnRpb19tZGV2X2NhbGxiYWNrICpjYik7Cj4+ICsJdTE2 ICgqZ2V0X3ZxX251bV9tYXgpKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldik7Cj4+ICsJdTMyICgq Z2V0X2RldmljZV9pZCkoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKPj4gKwl1MzIgKCpnZXRf dmVuZG9yX2lkKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpOwo+PiArCXU4ICgqZ2V0X3N0YXR1 cykoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKPj4gKwl2b2lkICgqc2V0X3N0YXR1cykoc3Ry dWN0IG1kZXZfZGV2aWNlICptZGV2LCB1OCBzdGF0dXMpOwo+PiArCXZvaWQgKCpnZXRfY29uZmln KShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHVuc2lnbmVkIGludCBvZmZzZXQsCj4+ICsJCQkg ICB2b2lkICpidWYsIHVuc2lnbmVkIGludCBsZW4pOwo+PiArCXZvaWQgKCpzZXRfY29uZmlnKShz dHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHVuc2lnbmVkIGludCBvZmZzZXQsCj4+ICsJCQkgICBj b25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGludCBsZW4pOwo+PiArCXUzMiAoKmdldF9nZW5lcmF0 aW9uKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpOwo+PiArCj4+ICsJLyogTWRldiBkZXZpY2Ug b3BzICovCj4+ICsJdTY0ICgqZ2V0X21kZXZfZmVhdHVyZXMpKHN0cnVjdCBtZGV2X2RldmljZSAq bWRldik7Cj4+ICt9Owo+PiArCj4+ICt2b2lkIG1kZXZfc2V0X3ZpcnRpb19vcHMoc3RydWN0IG1k ZXZfZGV2aWNlICptZGV2LAo+PiArCQkJIGNvbnN0IHN0cnVjdCB2aXJ0aW9fbWRldl9kZXZpY2Vf b3BzICp2aXJ0aW9fb3BzKTsKPj4gKwo+PiArI2VuZGlmCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 52F09CA9EAF for ; Thu, 24 Oct 2019 03:52:24 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3307120856 for ; Thu, 24 Oct 2019 03:52:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3307120856 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 88F706E0AF; Thu, 24 Oct 2019 03:52:22 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 423436E092 for ; Thu, 24 Oct 2019 03:52:20 +0000 (UTC) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-158-OHmX8ps-Mii-Fm2ayqGxVA-1; Wed, 23 Oct 2019 23:52:15 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 22267800D49; Thu, 24 Oct 2019 03:52:11 +0000 (UTC) Received: from [10.72.12.199] (ovpn-12-199.pek2.redhat.com [10.72.12.199]) by smtp.corp.redhat.com (Postfix) with ESMTP id A04EF5D6D0; Thu, 24 Oct 2019 03:51:41 +0000 (UTC) To: Alex Williamson References: <20191023130752.18980-1-jasowang@redhat.com> <20191023130752.18980-5-jasowang@redhat.com> <20191023155728.2a55bc71@x1.home> From: Jason Wang Message-ID: <1699cc4e-7d52-b2dc-8016-358a36a4f4ea@redhat.com> Date: Thu, 24 Oct 2019 11:51:35 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20191023155728.2a55bc71@x1.home> Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-MC-Unique: OHmX8ps-Mii-Fm2ayqGxVA-1 X-Mimecast-Spam-Score: 0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1571889139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VsUeyu7Hg7lzJzx0M4XP0/ITNGEfAT97k25KT//Mhkw=; b=cx0ZWd+txIksMBfQtti4QSDqbTbRbf4ch28QMhAPCcpc1GgMGJz73Eb7EE688dyCnIi0k/ kshd5Sj0tyR6FS1r6U5n64f4SGxDCCPujFTASNGk5kmkHEiVu40GLc/oV48yp6/1UTXTK+ iwDrvI5uaWyoye8Rt4fMtYPZXtNBX8g= Subject: Re: [Intel-gfx] [PATCH V5 4/6] mdev: introduce virtio device and its device ops X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: stefanha@redhat.com, christophe.de.dinechin@gmail.com, kvm@vger.kernel.org, mst@redhat.com, airlied@linux.ie, heiko.carstens@de.ibm.com, dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, kwankhede@nvidia.com, rob.miller@broadcom.com, linux-s390@vger.kernel.org, sebott@linux.ibm.com, lulu@redhat.com, eperezma@redhat.com, pasic@linux.ibm.com, borntraeger@de.ibm.com, haotian.wang@sifive.com, cunming.liang@intel.com, farman@linux.ibm.com, idos@mellanox.com, gor@linux.ibm.com, intel-gfx@lists.freedesktop.org, xiao.w.wang@intel.com, freude@linux.ibm.com, parav@mellanox.com, zhihong.wang@intel.com, intel-gvt-dev@lists.freedesktop.org, akrowiak@linux.ibm.com, oberpar@linux.ibm.com, tiwei.bie@intel.com, netdev@vger.kernel.org, cohuck@redhat.com, linux-kernel@vger.kernel.org, maxime.coquelin@redhat.com, lingshan.zhu@intel.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191024035135.3Liupxc8P31kFYqMiTK1zyhp6RpBp7F0JCc6S2EC2sM@z> Ck9uIDIwMTkvMTAvMjQg5LiK5Y2INTo1NywgQWxleCBXaWxsaWFtc29uIHdyb3RlOgo+IE9uIFdl ZCwgMjMgT2N0IDIwMTkgMjE6MDc6NTAgKzA4MDAKPiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRo YXQuY29tPiB3cm90ZToKPgo+PiBUaGlzIHBhdGNoIGltcGxlbWVudHMgYmFzaWMgc3VwcG9ydCBm b3IgbWRldiBkcml2ZXIgdGhhdCBzdXBwb3J0cwo+PiB2aXJ0aW8gdHJhbnNwb3J0IGZvciBrZXJu ZWwgdmlydGlvIGRyaXZlci4KPj4KPj4gU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8amFzb3dh bmdAcmVkaGF0LmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy92ZmlvL21kZXYvbWRldl9jb3JlLmMg ICAgfCAgMjAgKysrKwo+PiAgIGRyaXZlcnMvdmZpby9tZGV2L21kZXZfcHJpdmF0ZS5oIHwgICAy ICsKPj4gICBpbmNsdWRlL2xpbnV4L21kZXYuaCAgICAgICAgICAgICB8ICAgNiArKwo+PiAgIGlu Y2x1ZGUvbGludXgvdmlydGlvX21kZXZfb3BzLmggIHwgMTU5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPj4gICA0IGZpbGVzIGNoYW5nZWQsIDE4NyBpbnNlcnRpb25zKCspCj4+ICAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbGludXgvdmlydGlvX21kZXZfb3BzLmgKPj4KPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmZpby9tZGV2L21kZXZfY29yZS5jIGIvZHJpdmVycy92Zmlv L21kZXYvbWRldl9jb3JlLmMKPj4gaW5kZXggNTU1YmQ2MWQ4YzM4Li45YjAwYzM1MTMxMjAgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmZpby9tZGV2L21kZXZfY29yZS5jCj4+ICsrKyBiL2RyaXZl cnMvdmZpby9tZGV2L21kZXZfY29yZS5jCj4+IEBAIC03Niw2ICs3NiwyNiBAQCBjb25zdCBzdHJ1 Y3QgdmZpb19tZGV2X2RldmljZV9vcHMgKm1kZXZfZ2V0X3ZmaW9fb3BzKHN0cnVjdCBtZGV2X2Rl dmljZSAqbWRldikKPj4gICB9Cj4+ICAgRVhQT1JUX1NZTUJPTChtZGV2X2dldF92ZmlvX29wcyk7 Cj4+ICAgCj4+ICsvKiBTcGVjaWZ5IHRoZSB2aXJ0aW8gZGV2aWNlIG9wcyBmb3IgdGhlIG1kZXYg ZGV2aWNlLCB0aGlzCj4+ICsgKiBtdXN0IGJlIGNhbGxlZCBkdXJpbmcgY3JlYXRlKCkgY2FsbGJh Y2sgZm9yIHZpcnRpbyBtZGV2IGRldmljZS4KPj4gKyAqLwo+PiArdm9pZCBtZGV2X3NldF92aXJ0 aW9fb3BzKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwKPj4gKwkJCSBjb25zdCBzdHJ1Y3Qgdmly dGlvX21kZXZfZGV2aWNlX29wcyAqdmlydGlvX29wcykKPj4gK3sKPj4gKwltZGV2X3NldF9jbGFz cyhtZGV2LCBNREVWX0NMQVNTX0lEX1ZJUlRJTyk7Cj4+ICsJbWRldi0+dmlydGlvX29wcyA9IHZp cnRpb19vcHM7Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9MKG1kZXZfc2V0X3ZpcnRpb19vcHMpOwo+ PiArCj4+ICsvKiBHZXQgdGhlIHZpcnRpbyBkZXZpY2Ugb3BzIGZvciB0aGUgbWRldiBkZXZpY2Uu ICovCj4+ICtjb25zdCBzdHJ1Y3QgdmlydGlvX21kZXZfZGV2aWNlX29wcyAqCj4+ICttZGV2X2dl dF92aXJ0aW9fb3BzKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldikKPj4gK3sKPj4gKwlXQVJOX09O KG1kZXYtPmNsYXNzX2lkICE9IE1ERVZfQ0xBU1NfSURfVklSVElPKTsKPj4gKwlyZXR1cm4gbWRl di0+dmlydGlvX29wczsKPj4gK30KPj4gK0VYUE9SVF9TWU1CT0wobWRldl9nZXRfdmlydGlvX29w cyk7Cj4+ICsKPj4gICBzdHJ1Y3QgZGV2aWNlICptZGV2X2RldihzdHJ1Y3QgbWRldl9kZXZpY2Ug Km1kZXYpCj4+ICAgewo+PiAgIAlyZXR1cm4gJm1kZXYtPmRldjsKPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmZpby9tZGV2L21kZXZfcHJpdmF0ZS5oIGIvZHJpdmVycy92ZmlvL21kZXYvbWRldl9w cml2YXRlLmgKPj4gaW5kZXggMDc3MDQxMGRlZDJhLi43YjQ3ODkwYzM0ZTcgMTAwNjQ0Cj4+IC0t LSBhL2RyaXZlcnMvdmZpby9tZGV2L21kZXZfcHJpdmF0ZS5oCj4+ICsrKyBiL2RyaXZlcnMvdmZp by9tZGV2L21kZXZfcHJpdmF0ZS5oCj4+IEBAIC0xMSw2ICsxMSw3IEBACj4+ICAgI2RlZmluZSBN REVWX1BSSVZBVEVfSAo+PiAgIAo+PiAgICNpbmNsdWRlIDxsaW51eC92ZmlvX21kZXZfb3BzLmg+ Cj4+ICsjaW5jbHVkZSA8bGludXgvdmlydGlvX21kZXZfb3BzLmg+Cj4+ICAgCj4+ICAgaW50ICBt ZGV2X2J1c19yZWdpc3Rlcih2b2lkKTsKPj4gICB2b2lkIG1kZXZfYnVzX3VucmVnaXN0ZXIodm9p ZCk7Cj4+IEBAIC0zOCw2ICszOSw3IEBAIHN0cnVjdCBtZGV2X2RldmljZSB7Cj4+ICAgCXUxNiBj bGFzc19pZDsKPj4gICAJdW5pb24gewo+PiAgIAkJY29uc3Qgc3RydWN0IHZmaW9fbWRldl9kZXZp Y2Vfb3BzICp2ZmlvX29wczsKPj4gKwkJY29uc3Qgc3RydWN0IHZpcnRpb19tZGV2X2RldmljZV9v cHMgKnZpcnRpb19vcHM7Cj4+ICAgCX07Cj4+ICAgfTsKPj4gICAKPj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvbGludXgvbWRldi5oIGIvaW5jbHVkZS9saW51eC9tZGV2LmgKPj4gaW5kZXggNDYyNWYx YTExMDE0Li45YjY5YjBiYmViZmQgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvbGludXgvbWRldi5o Cj4+ICsrKyBiL2luY2x1ZGUvbGludXgvbWRldi5oCj4+IEBAIC0xNyw2ICsxNyw3IEBACj4+ICAg Cj4+ICAgc3RydWN0IG1kZXZfZGV2aWNlOwo+PiAgIHN0cnVjdCB2ZmlvX21kZXZfZGV2aWNlX29w czsKPj4gK3N0cnVjdCB2aXJ0aW9fbWRldl9kZXZpY2Vfb3BzOwo+PiAgIAo+PiAgIC8qCj4+ICAg ICogQ2FsbGVkIGJ5IHRoZSBwYXJlbnQgZGV2aWNlIGRyaXZlciB0byBzZXQgdGhlIGRldmljZSB3 aGljaCByZXByZXNlbnRzCj4+IEBAIC0xMTIsNiArMTEzLDEwIEBAIHZvaWQgbWRldl9zZXRfY2xh c3Moc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCB1MTYgaWQpOwo+PiAgIHZvaWQgbWRldl9zZXRf dmZpb19vcHMoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LAo+PiAgIAkJICAgICAgIGNvbnN0IHN0 cnVjdCB2ZmlvX21kZXZfZGV2aWNlX29wcyAqdmZpb19vcHMpOwo+PiAgIGNvbnN0IHN0cnVjdCB2 ZmlvX21kZXZfZGV2aWNlX29wcyAqbWRldl9nZXRfdmZpb19vcHMoc3RydWN0IG1kZXZfZGV2aWNl ICptZGV2KTsKPj4gK3ZvaWQgbWRldl9zZXRfdmlydGlvX29wcyhzdHJ1Y3QgbWRldl9kZXZpY2Ug Km1kZXYsCj4+ICsJCQkgY29uc3Qgc3RydWN0IHZpcnRpb19tZGV2X2RldmljZV9vcHMgKnZpcnRp b19vcHMpOwo+PiArY29uc3Qgc3RydWN0IHZpcnRpb19tZGV2X2RldmljZV9vcHMgKgo+PiArbWRl dl9nZXRfdmlydGlvX29wcyhzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpOwo+PiAgIAo+PiAgIGV4 dGVybiBzdHJ1Y3QgYnVzX3R5cGUgbWRldl9idXNfdHlwZTsKPj4gICAKPj4gQEAgLTEyNyw2ICsx MzIsNyBAQCBzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXZfZnJvbV9kZXYoc3RydWN0IGRldmljZSAq ZGV2KTsKPj4gICAKPj4gICBlbnVtIHsKPj4gICAJTURFVl9DTEFTU19JRF9WRklPID0gMSwKPj4g KwlNREVWX0NMQVNTX0lEX1ZJUlRJTyA9IDIsCj4+ICAgCS8qIE5ldyBlbnRyaWVzIG11c3QgYmUg YWRkZWQgaGVyZSAqLwo+PiAgIH07Cj4+ICAgCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L3ZpcnRpb19tZGV2X29wcy5oIGIvaW5jbHVkZS9saW51eC92aXJ0aW9fbWRldl9vcHMuaAo+PiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmQ0MTdiNDFmMjg0NQo+ PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2luY2x1ZGUvbGludXgvdmlydGlvX21kZXZfb3BzLmgK Pj4gQEAgLTAsMCArMSwxNTkgQEAKPj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wLW9ubHkgKi8KPj4gKy8qCj4+ICsgKiBWaXJ0aW8gbWVkaWF0ZWQgZGV2aWNlIGRyaXZlcgo+ PiArICoKPj4gKyAqIENvcHlyaWdodCAyMDE5LCBSZWQgSGF0IENvcnAuCj4+ICsgKiAgICAgQXV0 aG9yOiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgo+PiArICovCj4+ICsjaWZuZGVm IF9MSU5VWF9WSVJUSU9fTURFVl9ICj4+ICsjZGVmaW5lIF9MSU5VWF9WSVJUSU9fTURFVl9ICj4+ ICsKPj4gKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9t ZGV2Lmg+Cj4+ICsjaW5jbHVkZSA8dWFwaS9saW51eC92aG9zdC5oPgo+PiArCj4+ICsjZGVmaW5l IFZJUlRJT19NREVWX0RFVklDRV9BUElfU1RSSU5HCQkidmlydGlvLW1kZXYiCj4+ICsjZGVmaW5l IFZJUlRJT19NREVWX0ZfVkVSU0lPTl8xIDB4MQo+PiArCj4+ICtzdHJ1Y3QgdmlydGlvX21kZXZf Y2FsbGJhY2sgewo+PiArCWlycXJldHVybl90ICgqY2FsbGJhY2spKHZvaWQgKmRhdGEpOwo+PiAr CXZvaWQgKnByaXZhdGU7Cj4+ICt9Owo+PiArCj4+ICsvKioKPj4gKyAqIHN0cnVjdCB2ZmlvX21k ZXZfZGV2aWNlX29wcyAtIFN0cnVjdHVyZSB0byBiZSByZWdpc3RlcmVkIGZvciBlYWNoCj4+ICsg KiBtZGV2IGRldmljZSB0byByZWdpc3RlciB0aGUgZGV2aWNlIGZvciB2aXJ0aW8vdmhvc3QgZHJp dmVycy4KPj4gKyAqCj4+ICsgKiBUaGUgZGV2aWNlIG9wcyB0aGF0IGlzIHN1cHBvcnRlZCBieSBW SVJUSU9fTURFVl9GX1ZFUlNJT05fMSwgdGhlCj4+ICsgKiBjYWxsYmFja3MgYXJlIG1hbmRhdG9y eSB1bmxlc3MgZXhwbGljaXR5IG1lbnRpb25lZC4KPiBJZiB0aGUgdmVyc2lvbiBvZiB0aGUgY2Fs bGJhY2tzIGlzIHJldHVybmVkIGJ5IGEgY2FsbGJhY2sgd2l0aGluIHRoZQo+IHN0cnVjdHVyZSBk ZWZpbmVkIGJ5IHRoZSB2ZXJzaW9uLi4uIGlzbid0IHRoYXQgYSBiaXQgY2lyY3VsYXI/ICBUaGlz Cj4gc2VlbXMgcmVkdW5kYW50IHRvIG1lIHZlcnN1cyB0aGUgY2xhc3MgaWQuICBUaGUgZmFjdCB0 aGF0IHRoZSBwYXJlbnQKPiBkcml2ZXIgZGVmaW5lcyB0aGUgZGV2aWNlIGFzIE1ERVZfQ0xBU1Nf SURfVklSVElPIHNob3VsZCB0ZWxsIHVzIHRoaXMKPiBhbHJlYWR5LiAgSWYgaXQgd2FzIGluY3Jl bWVudGVkLCB3ZSdkIG5lZWQgYW4gTURFVl9DTEFTU19JRF9WSVJUSU92MiwKPiB3aGljaCB0aGUg dmlydGlvLW1kZXYgYnVzIGRyaXZlciBjb3VsZCBhZGQgdG8gaXRzIGlkIHRhYmxlIGFuZCBoYW5k bGUKPiBkaWZmZXJlbnRseS4KCgpNeSB1bmRlcnN0YW5kaW5nIGlzIHZlcnNpb25zIGFyZSBvbmx5 IGFsbG93ZWQgdG8gaW5jcmVhc2UgbW9ub3RvbmljYWxseSwgCnRoaXMgc2VlbXMgbGVzcyBmbGV4 aWJsZSB0aGFuIGZlYXR1cmVzLiBFLmcgd2UgaGF2ZSBmZWF0dXJlcyBBLCBCLCBDLCAKbWRldiBk ZXZpY2UgY2FuIGNob29zZSB0byBzdXBwb3J0IG9ubHkgYSBzdWJzZXQuIEUuZyB3aGVuIG1kZXYg ZGV2aWNlIApjYW4gc3VwcG9ydCBkaXJ0eSBwYWdlIGxvZ2dpbmcsIGl0IGNhbiBhZGQgYSBuZXcg ZmVhdHVyZSBiaXQgZm9yIGRyaXZlciAKdG8ga25vdyB0aGF0IGl0IHN1cHBvcnQgbmV3IGRldmlj ZSBvcHMuIE1ERVZfQ0xBU1NfSURfVklSVElPdjIgbWF5IG9ubHkgCmJlIHVzZWZ1bCB3aGVuIHdl IHdpbGwgaW52ZW50IGEgY29tcGxldGUgbmV3IEFQSS4KCgo+Cj4+ICsgKgo+PiArICogQHNldF92 cV9hZGRyZXNzOgkJU2V0IHRoZSBhZGRyZXNzIG9mIHZpcnRxdWV1ZQo+PiArICoJCQkJQG1kZXY6 IG1lZGlhdGVkIGRldmljZQo+PiArICoJCQkJQGlkeDogdmlydHF1ZXVlIGluZGV4Cj4+ICsgKgkJ CQlAZGVzY19hcmVhOiBhZGRyZXNzIG9mIGRlc2MgYXJlYQo+PiArICoJCQkJQGRyaXZlcl9hcmVh OiBhZGRyZXNzIG9mIGRyaXZlciBhcmVhCj4+ICsgKgkJCQlAZGV2aWNlX2FyZWE6IGFkZHJlc3Mg b2YgZGV2aWNlIGFyZWEKPj4gKyAqCQkJCVJldHVybnMgaW50ZWdlcjogc3VjY2VzcyAoMCkgb3Ig ZXJyb3IgKDwgMCkKPj4gKyAqIEBzZXRfdnFfbnVtOgkJCVNldCB0aGUgc2l6ZSBvZiB2aXJ0cXVl dWUKPj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCUBpZHg6IHZpcnRx dWV1ZSBpbmRleAo+PiArICoJCQkJQG51bTogdGhlIHNpemUgb2YgdmlydHF1ZXVlCj4+ICsgKiBA a2lja192cToJCQlLaWNrIHRoZSB2aXJ0cXVldWUKPj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBk ZXZpY2UKPj4gKyAqCQkJCUBpZHg6IHZpcnRxdWV1ZSBpbmRleAo+PiArICogQHNldF92cV9jYjoJ CQlTZXQgdGhlIGludGVycnVwdCBjYWxsYmFjayBmdW5jdGlvbiBmb3IKPj4gKyAqCQkJCWEgdmly dHF1ZXVlCj4+ICsgKgkJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlCj4+ICsgKgkJCQlAaWR4OiB2 aXJ0cXVldWUgaW5kZXgKPj4gKyAqCQkJCUBjYjogdmlydGlvLW1kZXYgaW50ZXJydXB0IGNhbGxi YWNrIHN0cnVjdHVyZQo+PiArICogQHNldF92cV9yZWFkeToJCVNldCByZWFkeSBzdGF0dXMgZm9y IGEgdmlydHF1ZXVlCj4+ICsgKgkJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlCj4+ICsgKgkJCQlA aWR4OiB2aXJ0cXVldWUgaW5kZXgKPj4gKyAqCQkJCUByZWFkeTogcmVhZHkgKHRydWUpIG5vdCBy ZWFkeShmYWxzZSkKPj4gKyAqIEBnZXRfdnFfcmVhZHk6CQlHZXQgcmVhZHkgc3RhdHVzIGZvciBh IHZpcnRxdWV1ZQo+PiArICoJCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZQo+PiArICoJCQkJQGlk eDogdmlydHF1ZXVlIGluZGV4Cj4+ICsgKgkJCQlSZXR1cm5zIGJvb2xlYW46IHJlYWR5ICh0cnVl KSBvciBub3QgKGZhbHNlKQo+PiArICogQHNldF92cV9zdGF0ZToJCVNldCB0aGUgc3RhdGUgZm9y IGEgdmlydHF1ZXVlCj4+ICsgKgkJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlCj4+ICsgKgkJCQlA aWR4OiB2aXJ0cXVldWUgaW5kZXgKPj4gKyAqCQkJCUBzdGF0ZTogdmlydHF1ZXVlIHN0YXRlIChs YXN0X2F2YWlsX2lkeCkKPj4gKyAqCQkJCVJldHVybnMgaW50ZWdlcjogc3VjY2VzcyAoMCkgb3Ig ZXJyb3IgKDwgMCkKPj4gKyAqIEBnZXRfdnFfc3RhdGU6CQlHZXQgdGhlIHN0YXRlIGZvciBhIHZp cnRxdWV1ZQo+PiArICoJCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZQo+PiArICoJCQkJQGlkeDog dmlydHF1ZXVlIGluZGV4Cj4+ICsgKgkJCQlSZXR1cm5zIHZpcnRxdWV1ZSBzdGF0ZSAobGFzdF9h dmFpbF9pZHgpCj4+ICsgKiBAZ2V0X3ZxX2FsaWduOgkJR2V0IHRoZSB2aXJ0cXVldWUgYWxpZ24g cmVxdWlyZW1lbnQKPj4gKyAqCQkJCWZvciB0aGUgZGV2aWNlCj4+ICsgKgkJCQlAbWRldjogbWVk aWF0ZWQgZGV2aWNlCj4+ICsgKgkJCQlSZXR1cm5zIHZpcnRxdWV1ZSBhbGdpbiByZXF1aXJlbWVu dAo+PiArICogQGdldF9mZWF0dXJlczoJCUdldCB2aXJ0aW8gZmVhdHVyZXMgc3VwcG9ydGVkIGJ5 IHRoZSBkZXZpY2UKPj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCVJl dHVybnMgdGhlIHZpcnRpbyBmZWF0dXJlcyBzdXBwb3J0IGJ5IHRoZQo+PiArICoJCQkJZGV2aWNl Cj4+ICsgKiBAZ2V0X2ZlYXR1cmVzOgkJU2V0IHZpcnRpbyBmZWF0dXJlcyBzdXBwb3J0ZWQgYnkg dGhlIGRyaXZlcgo+ICAgICAgICAgXiBzL2cvcy8KPgo+IFRoYW5rcywKPiBBbGV4CgoKV2lsbCBm aXguCgpUaGFua3MKCgo+Cj4+ICsgKgkJCQlAbWRldjogbWVkaWF0ZWQgZGV2aWNlCj4+ICsgKgkJ CQlAZmVhdHVyZXM6IGZlYXR1cmUgc3VwcG9ydCBieSB0aGUgZHJpdmVyCj4+ICsgKgkJCQlSZXR1 cm5zIGludGVnZXI6IHN1Y2Nlc3MgKDApIG9yIGVycm9yICg8IDApCj4+ICsgKiBAc2V0X2NvbmZp Z19jYjoJCVNldCB0aGUgY29uZmlnIGludGVycnVwdCBjYWxsYmFjawo+PiArICoJCQkJQG1kZXY6 IG1lZGlhdGVkIGRldmljZQo+PiArICoJCQkJQGNiOiB2aXJ0aW8tbWRldiBpbnRlcnJ1cHQgY2Fs bGJhY2sgc3RydWN0dXJlCj4+ICsgKiBAZ2V0X3ZxX251bV9tYXg6CQlHZXQgdGhlIG1heCBzaXpl IG9mIHZpcnRxdWV1ZQo+PiArICoJCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZQo+PiArICoJCQkJ UmV0dXJucyB1MTY6IG1heCBzaXplIG9mIHZpcnRxdWV1ZQo+PiArICogQGdldF9kZXZpY2VfaWQ6 CQlHZXQgdmlydGlvIGRldmljZSBpZAo+PiArICoJCQkJQG1kZXY6IG1lZGlhdGVkIGRldmljZQo+ PiArICoJCQkJUmV0dXJucyB1MzI6IHZpcnRpbyBkZXZpY2UgaWQKPj4gKyAqIEBnZXRfdmVuZG9y X2lkOgkJR2V0IGlkIGZvciB0aGUgdmVuZG9yIHRoYXQgcHJvdmlkZXMgdGhpcyBkZXZpY2UKPj4g KyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCVJldHVybnMgdTMyOiB2aXJ0 aW8gdmVuZG9yIGlkCj4+ICsgKiBAZ2V0X3N0YXR1czoJCQlHZXQgdGhlIGRldmljZSBzdGF0dXMK Pj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCVJldHVybnMgdTg6IHZp cnRpbyBkZXZpY2Ugc3RhdHVzCj4+ICsgKiBAc2V0X3N0YXR1czoJCQlTZXQgdGhlIGRldmljZSBz dGF0dXMKPj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCUBzdGF0dXM6 IHZpcnRpbyBkZXZpY2Ugc3RhdHVzCj4+ICsgKiBAZ2V0X2NvbmZpZzoJCQlSZWFkIGZyb20gZGV2 aWNlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gc3BhY2UKPj4gKyAqCQkJCUBtZGV2OiBtZWRpYXRl ZCBkZXZpY2UKPj4gKyAqCQkJCUBvZmZzZXQ6IG9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YK Pj4gKyAqCQkJCWNvbmZpZ3VyYXRpb24gc3BhY2UKPj4gKyAqCQkJCUBidWY6IGJ1ZmZlciB1c2Vk IHRvIHJlYWQgdG8KPj4gKyAqCQkJCUBsZW46IHRoZSBsZW5ndGggdG8gcmVhZCBmcm9tCj4+ICsg KgkJCQljb25maWdyYXRpb24gc3BhY2UKPj4gKyAqIEBzZXRfY29uZmlnOgkJCVdyaXRlIHRvIGRl dmljZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIHNwYWNlCj4+ICsgKgkJCQlAbWRldjogbWVkaWF0 ZWQgZGV2aWNlCj4+ICsgKgkJCQlAb2Zmc2V0OiBvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIG9m Cj4+ICsgKgkJCQljb25maWd1cmF0aW9uIHNwYWNlCj4+ICsgKgkJCQlAYnVmOiBidWZmZXIgdXNl ZCB0byB3cml0ZSBmcm9tCj4+ICsgKgkJCQlAbGVuOiB0aGUgbGVuZ3RoIHRvIHdyaXRlIHRvCj4+ ICsgKgkJCQljb25maWdyYXRpb24gc3BhY2UKPj4gKyAqIEBnZXRfbWRldl9mZWF0dXJlczoJCUdl dCBhIHNldCBvZiBiaXRzIHRoYXQgZGVtb25zdHJhdGUKPj4gKyAqCQkJCXRoZWNhcGFiaWxpdHkg b2YgdGhlIG1kZXYgZGV2aWNlLiBOZXcKPj4gKyAqCQkJCWZlYXR1cmVzIGJpdHMgbXVzdCBiZSBh ZGRlZCB3aGVuCj4+ICsgKgkJCQlpbnRyb2R1Y2luZyBuZXcgZGV2aWNlIG9wcy4KPj4gKyAqCQkJ CUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCVJldHVybnMgdGhlIG1kZXYgZmVhdHVy ZXMgKEFQSSkgc3VwcG9ydCBieQo+PiArICoJCQkJdGhlIGRldmljZS4KPj4gKyAqIEBnZXRfZ2Vu ZXJhdGlvbjoJCUdldCBkZXZpY2UgY29uZmlnIGdlbmVyYXRvbiAob3B0aW9uYWxseSkKPj4gKyAq CQkJCUBtZGV2OiBtZWRpYXRlZCBkZXZpY2UKPj4gKyAqCQkJCVJldHVybnMgdTMyOiBkZXZpY2Ug Z2VuZXJhdGlvbgo+PiArICovCj4+ICtzdHJ1Y3QgdmlydGlvX21kZXZfZGV2aWNlX29wcyB7Cj4+ ICsJLyogVmlydHF1ZXVlIG9wcyAqLwo+PiArCWludCAoKnNldF92cV9hZGRyZXNzKShzdHJ1Y3Qg bWRldl9kZXZpY2UgKm1kZXYsCj4+ICsJCQkgICAgICB1MTYgaWR4LCB1NjQgZGVzY19hcmVhLCB1 NjQgZHJpdmVyX2FyZWEsCj4+ICsJCQkgICAgICB1NjQgZGV2aWNlX2FyZWEpOwo+PiArCXZvaWQg KCpzZXRfdnFfbnVtKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHUxNiBpZHgsIHUzMiBudW0p Owo+PiArCXZvaWQgKCpraWNrX3ZxKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHUxNiBpZHgp Owo+PiArCXZvaWQgKCpzZXRfdnFfY2IpKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwgdTE2IGlk eCwKPj4gKwkJCSAgc3RydWN0IHZpcnRpb19tZGV2X2NhbGxiYWNrICpjYik7Cj4+ICsJdm9pZCAo KnNldF92cV9yZWFkeSkoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2LCB1MTYgaWR4LCBib29sIHJl YWR5KTsKPj4gKwlib29sICgqZ2V0X3ZxX3JlYWR5KShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYs IHUxNiBpZHgpOwo+PiArCWludCAoKnNldF92cV9zdGF0ZSkoc3RydWN0IG1kZXZfZGV2aWNlICpt ZGV2LCB1MTYgaWR4LCB1NjQgc3RhdGUpOwo+PiArCXU2NCAoKmdldF92cV9zdGF0ZSkoc3RydWN0 IG1kZXZfZGV2aWNlICptZGV2LCB1MTYgaWR4KTsKPj4gKwo+PiArCS8qIFZpcnRpbyBkZXZpY2Ug b3BzICovCj4+ICsJdTE2ICgqZ2V0X3ZxX2FsaWduKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYp Owo+PiArCXU2NCAoKmdldF9mZWF0dXJlcykoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKPj4g KwlpbnQgKCpzZXRfZmVhdHVyZXMpKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwgdTY0IGZlYXR1 cmVzKTsKPj4gKwl2b2lkICgqc2V0X2NvbmZpZ19jYikoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2 LAo+PiArCQkJICAgICAgc3RydWN0IHZpcnRpb19tZGV2X2NhbGxiYWNrICpjYik7Cj4+ICsJdTE2 ICgqZ2V0X3ZxX251bV9tYXgpKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldik7Cj4+ICsJdTMyICgq Z2V0X2RldmljZV9pZCkoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKPj4gKwl1MzIgKCpnZXRf dmVuZG9yX2lkKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpOwo+PiArCXU4ICgqZ2V0X3N0YXR1 cykoc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KTsKPj4gKwl2b2lkICgqc2V0X3N0YXR1cykoc3Ry dWN0IG1kZXZfZGV2aWNlICptZGV2LCB1OCBzdGF0dXMpOwo+PiArCXZvaWQgKCpnZXRfY29uZmln KShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHVuc2lnbmVkIGludCBvZmZzZXQsCj4+ICsJCQkg ICB2b2lkICpidWYsIHVuc2lnbmVkIGludCBsZW4pOwo+PiArCXZvaWQgKCpzZXRfY29uZmlnKShz dHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYsIHVuc2lnbmVkIGludCBvZmZzZXQsCj4+ICsJCQkgICBj b25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGludCBsZW4pOwo+PiArCXUzMiAoKmdldF9nZW5lcmF0 aW9uKShzdHJ1Y3QgbWRldl9kZXZpY2UgKm1kZXYpOwo+PiArCj4+ICsJLyogTWRldiBkZXZpY2Ug b3BzICovCj4+ICsJdTY0ICgqZ2V0X21kZXZfZmVhdHVyZXMpKHN0cnVjdCBtZGV2X2RldmljZSAq bWRldik7Cj4+ICt9Owo+PiArCj4+ICt2b2lkIG1kZXZfc2V0X3ZpcnRpb19vcHMoc3RydWN0IG1k ZXZfZGV2aWNlICptZGV2LAo+PiArCQkJIGNvbnN0IHN0cnVjdCB2aXJ0aW9fbWRldl9kZXZpY2Vf b3BzICp2aXJ0aW9fb3BzKTsKPj4gKwo+PiArI2VuZGlmCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=