From mboxrd@z Thu Jan 1 00:00:00 1970 From: Felix Kuehling Subject: Re: [PATCH] drm/amdgpu: conditionally compile amdgpu's amdkfd files Date: Wed, 16 May 2018 17:09:59 -0400 Message-ID: <3595e696-9983-2372-c4c6-2c117f0160fa@amd.com> References: <20180516100948.38299-1-oded.gabbay@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180516100948.38299-1-oded.gabbay-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Content-Language: en-CA List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Oded Gabbay , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org SGkgT2RlZCwKClRoYW5rcyBmb3Igd29ya2luZyBvbiB0aGlzISBUaGUgTWFrZWZpbGUgY2hhbmdl cyBsb29rIGdvb2QuCgpJbnN0ZWFkIG9mIGNoZWNraW5nIGFuZCBjYWxsaW5nIGZ1bmN0aW9uIHBv aW50ZXJzIGluIGFtZGdwdV9hbWRrZmRfLi4uCmZ1bmN0aW9ucyBhdCBydW50aW1lLCBjb3VsZG4n dCB5b3UganVzdCBkZWZpbmUgZW1wdHkgc3R1YiBmdW5jdGlvbnMgaW4KYW1kZ3B1X2FtZGtmZC5o IGlmIEtGRCBpcyBub3QgZW5hYmxlZD8gSSB0aGluayB0aGF0IHdvdWxkIG1ha2UgdGhlIGNvZGUK c2hvcnRlciBhbmQgcmVtb3ZlIHRoZSBydW50aW1lIG92ZXJoZWFkLgoKUmVnYXJkcywKwqAgRmVs aXgKCgpPbiAyMDE4LTA1LTE2IDA2OjA5IEFNLCBPZGVkIEdhYmJheSB3cm90ZToKPiBJbiBjYXNl IENPTkZJR19IU0FfQU1EIGlzIG5vdCBjaG9zZW4sIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29tcGls ZSBhbWRrZmQKPiBmaWxlcyB0aGF0IHJlc2lkZSBpbnNpZGUgYW1kZ3B1IGRpcnZlci4gSW4gYWRk aXRpb24sIGJlY2F1c2UgYW1ka2ZkCj4gZGVwZW5kcyBvbiB4ODZfNjQgYXJjaGl0ZWN0dXJlIGFu ZCBhbWRncHUgaXMgbm90LCBjb21waWxpbmcgYW1ka2ZkIGZpbGVzCj4gdW5kZXIgaTM4NiBhcmNo aXRlY3R1cmUgY2FuIGNhdXNlIGNvbXBpbGVyIGVycm9ycyBhbmQgd2FybmluZ3MuCj4KPiBUaGlz IHBhdGNoIG1vZGlmaWVzIGFtZGdwdSdzIG1ha2VmaWxlIHRvIGJ1aWxkIGFtZGtmZCBmaWxlcyBv bmx5IGlmCj4gQ09ORklHX0hTQV9BTUQgaXMgY2hvc2VuLiBUaGUgb25seSBmaWxlIHRvIGJlIGNv bXBpbGVkIHVuY29uZGl0aW9uYWxseQo+IGlzIGFtZGdwdV9hbWRrZmQuYwo+Cj4gRGlyZWN0IGNh bGxzIGZyb20gYW1kZ3B1IGRyaXZlciBwcm9wZXIgdG8gZnVuY3Rpb25zIGluIG90aGVyCj4gYW1k Z3B1X2FtZGtmZF8qLmMgZmlsZXMgd2VyZSBjaGFuZ2VkIHRvIGNhbGxzIHRvIGZ1bmN0aW9ucyBp bnNpZGUKPiBhbWRncHVfYW1ka2ZkLmMuIFRoZXNlIGZ1bmN0aW9ucyBjYWxsIHRoZSBvcmlnaW5h bCBmdW5jdGlvbnMgdXNpbmcgYQo+IGZ1bmN0aW9uIHBvaW50ZXIgdG8gYWxsb3cgY29tcGlsYXRp b24gd2l0aG91dCB0aGUgb3JpZ2luYWwgZnVuY3Rpb25zLgo+Cj4gU2lnbmVkLW9mZi1ieTogT2Rl ZCBHYWJiYXkgPG9kZWQuZ2FiYmF5QGdtYWlsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvTWFrZWZpbGUgICAgICAgICAgICAgIHwgMTMgKysrLS0KPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5jICAgICAgIHwgNjYgKysrKysrKysrKysr KysrKysrKysrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQu aCAgICAgICB8IDQ4ICsrKysrKysrKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYyB8ICA4ICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfc3luYy5jICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgICAgICAgICAgfCAgMiArLQo+ICA2IGZpbGVzIGNoYW5n ZWQsIDExMiBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L01ha2VmaWxlCj4gaW5kZXggZjMwMDIwMjBkZjZjLi4xNDY0ZGZmMWIxNTEgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvTWFrZWZpbGUKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9NYWtlZmlsZQo+IEBAIC01Niw4ICs1Niw3IEBAIGFtZGdw dS15ICs9IGFtZGdwdV9kZXZpY2UubyBhbWRncHVfa21zLm8gXAo+ICAKPiAgIyBhZGQgYXNpYyBz cGVjaWZpYyBibG9jawo+ICBhbWRncHUtJChDT05GSUdfRFJNX0FNREdQVV9DSUspKz0gY2lrLm8g Y2lrX2loLm8ga3Zfc21jLm8ga3ZfZHBtLm8gXAo+IC0JY2lfc21jLm8gY2lfZHBtLm8gZGNlX3Y4 XzAubyBnZnhfdjdfMC5vIGNpa19zZG1hLm8gdXZkX3Y0XzIubyB2Y2VfdjJfMC5vIFwKPiAtCWFt ZGdwdV9hbWRrZmRfZ2Z4X3Y3Lm8KPiArCWNpX3NtYy5vIGNpX2RwbS5vIGRjZV92OF8wLm8gZ2Z4 X3Y3XzAubyBjaWtfc2RtYS5vIHV2ZF92NF8yLm8gdmNlX3YyXzAubwo+ICAKPiAgYW1kZ3B1LSQo Q09ORklHX0RSTV9BTURHUFVfU0kpKz0gc2kubyBnbWNfdjZfMC5vIGdmeF92Nl8wLm8gc2lfaWgu byBzaV9kbWEubyBkY2VfdjZfMC5vIHNpX2RwbS5vIHNpX3NtYy5vCj4gIAo+IEBAIC0xMjYsMTMg KzEyNSwyMSBAQCBhbWRncHUteSArPSBcCj4gIAl2Y25fdjFfMC5vCj4gIAo+ICAjIGFkZCBhbWRr ZmQgaW50ZXJmYWNlcwo+ICthbWRncHUteSArPSBhbWRncHVfYW1ka2ZkLm8KPiArCj4gK2lmbmVx ICgkKENPTkZJR19IU0FfQU1EKSwpCj4gIGFtZGdwdS15ICs9IFwKPiAtCSBhbWRncHVfYW1ka2Zk Lm8gXAo+ICAJIGFtZGdwdV9hbWRrZmRfZmVuY2UubyBcCj4gIAkgYW1kZ3B1X2FtZGtmZF9ncHV2 bS5vIFwKPiAgCSBhbWRncHVfYW1ka2ZkX2dmeF92OC5vIFwKPiAgCSBhbWRncHVfYW1ka2ZkX2dm eF92OS5vCj4gIAo+ICtpZm5lcSAoJChDT05GSUdfRFJNX0FNREdQVV9DSUspLCkKPiArYW1kZ3B1 LXkgKz0gYW1kZ3B1X2FtZGtmZF9nZnhfdjcubwo+ICtlbmRpZgo+ICsKPiArZW5kaWYKPiArCj4g ICMgYWRkIGNncwo+ICBhbWRncHUteSArPSBhbWRncHVfY2dzLm8KPiAgCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuYwo+IGluZGV4IGNkMGU4ZjE5MmU2YS4uOTMw ZDI3ZGQ2ZTI3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9hbWRrZmQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRr ZmQuYwo+IEBAIC0yNyw3ICsyNywyMSBAQAo+ICAjaW5jbHVkZSAiYW1kZ3B1X2dmeC5oIgo+ICAj aW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gIAo+ICsjaWYgZGVmaW5lZChDT05GSUdfSFNBX0FN RF9NT0RVTEUpIHx8IGRlZmluZWQoQ09ORklHX0hTQV9BTUQpCj4gK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgYW1kZ3B1X2FtZGtmZF9pZiBhbWRrZmRfaWYgPSB7Cj4gKwkuZmVuY2VfY2hlY2tfbW0gPSBh bWRrZmRfZmVuY2VfY2hlY2tfbW0sCj4gKwkudW5yZXNlcnZlX3N5c3RlbV9tZW1vcnlfbGltaXQg PSBhbWRrZmRfdW5yZXNlcnZlX3N5c3RlbV9tZW1vcnlfbGltaXQsCj4gKwkuZ3B1dm1fZGVzdHJv eV9jYiA9IGFtZGtmZF9ncHV2bV9kZXN0cm95X2NiLAo+ICsJLnRvX2tmZF9mZW5jZSA9IHRvX2Ft ZGdwdV9hbWRrZmRfZmVuY2UsCj4gKwkuZXZpY3RfdXNlcnB0ciA9IGFtZGtmZF9ldmljdF91c2Vy cHRyLAo+ICsJLmdmeF83X2dldF9mdW5jdGlvbnMgPSBhbWRncHVfYW1ka2ZkX2dmeF83X2dldF9m dW5jdGlvbnMsCj4gKwkuZ2Z4XzhfMF9nZXRfZnVuY3Rpb25zID0gYW1kZ3B1X2FtZGtmZF9nZnhf OF8wX2dldF9mdW5jdGlvbnMsCj4gKwkuZ2Z4XzlfMF9nZXRfZnVuY3Rpb25zID0gYW1kZ3B1X2Ft ZGtmZF9nZnhfOV8wX2dldF9mdW5jdGlvbnMKPiArfTsKPiArI2VuZGlmCj4gKwo+ICBjb25zdCBz dHJ1Y3Qga2dkMmtmZF9jYWxscyAqa2dkMmtmZDsKPiArY29uc3Qgc3RydWN0IGFtZGdwdV9hbWRr ZmRfaWYgKmFtZGdwdV9hbWRrZmRfaWY7Cj4gIGJvb2wgKCprZ2Qya2ZkX2luaXRfcCkodW5zaWdu ZWQgaW50LCBjb25zdCBzdHJ1Y3Qga2dkMmtmZF9jYWxscyoqKTsKPiAgCj4gIHN0YXRpYyBjb25z dCB1bnNpZ25lZCBpbnQgY29tcHV0ZV92bWlkX2JpdG1hcCA9IDB4RkYwMDsKPiBAQCAtNTAsMTUg KzY0LDIyIEBAIGludCBhbWRncHVfYW1ka2ZkX2luaXQodm9pZCkKPiAgCQlrZ2Qya2ZkID0gTlVM TDsKPiAgCX0KPiAgCj4gKwo+ICAjZWxpZiBkZWZpbmVkKENPTkZJR19IU0FfQU1EKQo+ICsKPiAg CXJldCA9IGtnZDJrZmRfaW5pdChLRkRfSU5URVJGQUNFX1ZFUlNJT04sICZrZ2Qya2ZkKTsKPiAg CWlmIChyZXQpCj4gIAkJa2dkMmtmZCA9IE5VTEw7Cj4gIAo+ICAjZWxzZQo+ICsJYW1kZ3B1X2Ft ZGtmZF9pZiA9IE5VTEw7Cj4gIAlyZXQgPSAtRU5PRU5UOwo+ICAjZW5kaWYKPiArCj4gKyNpZiBk ZWZpbmVkKENPTkZJR19IU0FfQU1EX01PRFVMRSkgfHwgZGVmaW5lZChDT05GSUdfSFNBX0FNRCkK PiArCWFtZGdwdV9hbWRrZmRfaWYgPSAmYW1ka2ZkX2lmOwo+ICAJYW1kZ3B1X2FtZGtmZF9ncHV2 bV9pbml0X21lbV9saW1pdHMoKTsKPiArI2VuZGlmCj4gIAo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ IEBAIC03NSwxNCArOTYsMTQgQEAgdm9pZCBhbWRncHVfYW1ka2ZkX2RldmljZV9wcm9iZShzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgewo+ICAJY29uc3Qgc3RydWN0IGtmZDJrZ2RfY2Fs bHMgKmtmZDJrZ2Q7Cj4gIAo+IC0JaWYgKCFrZ2Qya2ZkKQo+ICsJaWYgKCgha2dkMmtmZCkgfHwg KCFhbWRncHVfYW1ka2ZkX2lmKSkKPiAgCQlyZXR1cm47Cj4gIAo+ICAJc3dpdGNoIChhZGV2LT5h c2ljX3R5cGUpIHsKPiAgI2lmZGVmIENPTkZJR19EUk1fQU1ER1BVX0NJSwo+ICAJY2FzZSBDSElQ X0tBVkVSSToKPiAgCWNhc2UgQ0hJUF9IQVdBSUk6Cj4gLQkJa2ZkMmtnZCA9IGFtZGdwdV9hbWRr ZmRfZ2Z4XzdfZ2V0X2Z1bmN0aW9ucygpOwo+ICsJCWtmZDJrZ2QgPSBhbWRncHVfYW1ka2ZkX2lm LT5nZnhfN19nZXRfZnVuY3Rpb25zKCk7Cj4gIAkJYnJlYWs7Cj4gICNlbmRpZgo+ICAJY2FzZSBD SElQX0NBUlJJWk86Cj4gQEAgLTkwLDExICsxMTEsMTEgQEAgdm9pZCBhbWRncHVfYW1ka2ZkX2Rl dmljZV9wcm9iZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgCWNhc2UgQ0hJUF9GSUpJ Ogo+ICAJY2FzZSBDSElQX1BPTEFSSVMxMDoKPiAgCWNhc2UgQ0hJUF9QT0xBUklTMTE6Cj4gLQkJ a2ZkMmtnZCA9IGFtZGdwdV9hbWRrZmRfZ2Z4XzhfMF9nZXRfZnVuY3Rpb25zKCk7Cj4gKwkJa2Zk MmtnZCA9IGFtZGdwdV9hbWRrZmRfaWYtPmdmeF84XzBfZ2V0X2Z1bmN0aW9ucygpOwo+ICAJCWJy ZWFrOwo+ICAJY2FzZSBDSElQX1ZFR0ExMDoKPiAgCWNhc2UgQ0hJUF9SQVZFTjoKPiAtCQlrZmQy a2dkID0gYW1kZ3B1X2FtZGtmZF9nZnhfOV8wX2dldF9mdW5jdGlvbnMoKTsKPiArCQlrZmQya2dk ID0gYW1kZ3B1X2FtZGtmZF9pZi0+Z2Z4XzlfMF9nZXRfZnVuY3Rpb25zKCk7Cj4gIAkJYnJlYWs7 Cj4gIAlkZWZhdWx0Ogo+ICAJCWRldl9kYmcoYWRldi0+ZGV2LCAia2ZkIG5vdCBzdXBwb3J0ZWQg b24gdGhpcyBBU0lDXG4iKTsKPiBAQCAtNDU4LDMgKzQ3OSw0MCBAQCBib29sIGFtZGdwdV9hbWRr ZmRfaXNfa2ZkX3ZtaWQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHUzMiB2bWlkKQo+ICAK PiAgCXJldHVybiBmYWxzZTsKPiAgfQo+ICsKPiArYm9vbCBhbWRncHVfYW1ka2ZkX2ZlbmNlX2No ZWNrX21tKHN0cnVjdCBkbWFfZmVuY2UgKmYsIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQo+ICt7Cj4g KwlpZiAoIWFtZGdwdV9hbWRrZmRfaWYpCj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsKPiArCXJldHVy biBhbWRncHVfYW1ka2ZkX2lmLT5mZW5jZV9jaGVja19tbShmLCBtbSk7Cj4gK30KPiArCj4gK3Zv aWQgYW1kZ3B1X2FtZGtmZF91bnJlc2VydmVfc3lzdGVtX21lbW9yeV9saW1pdChzdHJ1Y3QgYW1k Z3B1X2JvICpibykKPiArewo+ICsJaWYgKGFtZGdwdV9hbWRrZmRfaWYpCj4gKwkJYW1kZ3B1X2Ft ZGtmZF9pZi0+dW5yZXNlcnZlX3N5c3RlbV9tZW1vcnlfbGltaXQoYm8pOwo+ICt9Cj4gKwo+ICt2 b2lkIGFtZGdwdV9hbWRrZmRfZ3B1dm1fZGVzdHJveV9jYihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwKPiArCQkJCQlzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSkKPiArewo+ICsJaWYgKGFtZGdwdV9h bWRrZmRfaWYpCj4gKwkJYW1kZ3B1X2FtZGtmZF9pZi0+Z3B1dm1fZGVzdHJveV9jYihhZGV2LCB2 bSk7Cj4gK30KPiArCj4gK3N0cnVjdCBhbWRncHVfYW1ka2ZkX2ZlbmNlICphbWRncHVfYW1ka2Zk X3RvX2tmZF9mZW5jZShzdHJ1Y3QgZG1hX2ZlbmNlICpmKQo+ICt7Cj4gKwlpZiAoIWFtZGdwdV9h bWRrZmRfaWYpCj4gKwkJcmV0dXJuIE5VTEw7Cj4gKwo+ICsJcmV0dXJuIGFtZGdwdV9hbWRrZmRf aWYtPnRvX2tmZF9mZW5jZShmKTsKPiArfQo+ICsKPiAraW50IGFtZGdwdV9hbWRrZmRfZXZpY3Rf dXNlcnB0cihzdHJ1Y3Qga2dkX21lbSAqbWVtLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSkKPiArewo+ ICsJaWYgKCFhbWRncHVfYW1ka2ZkX2lmKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCXJldHVybiBh bWRncHVfYW1ka2ZkX2lmLT5ldmljdF91c2VycHRyKG1lbSwgbW0pOwo+ICt9Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuaCBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuaAo+IGluZGV4IDEyMzY3YTk5NTFlOC4u ZDQwNDgwODg3ZDQ5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9hbWRrZmQuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9h bWRrZmQuaAo+IEBAIC03OSw4ICs3OSw4IEBAIHN0cnVjdCBhbWRncHVfYW1ka2ZkX2ZlbmNlIHsK PiAgCj4gIHN0cnVjdCBhbWRncHVfYW1ka2ZkX2ZlbmNlICphbWRncHVfYW1ka2ZkX2ZlbmNlX2Ny ZWF0ZSh1NjQgY29udGV4dCwKPiAgCQkJCQkJICAgICAgIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsK PiAtYm9vbCBhbWRrZmRfZmVuY2VfY2hlY2tfbW0oc3RydWN0IGRtYV9mZW5jZSAqZiwgc3RydWN0 IG1tX3N0cnVjdCAqbW0pOwo+IC1zdHJ1Y3QgYW1kZ3B1X2FtZGtmZF9mZW5jZSAqdG9fYW1kZ3B1 X2FtZGtmZF9mZW5jZShzdHJ1Y3QgZG1hX2ZlbmNlICpmKTsKPiArYm9vbCBhbWRncHVfYW1ka2Zk X2ZlbmNlX2NoZWNrX21tKHN0cnVjdCBkbWFfZmVuY2UgKmYsIHN0cnVjdCBtbV9zdHJ1Y3QgKm1t KTsKPiArc3RydWN0IGFtZGdwdV9hbWRrZmRfZmVuY2UgKmFtZGdwdV9hbWRrZmRfdG9fa2ZkX2Zl bmNlKHN0cnVjdCBkbWFfZmVuY2UgKmYpOwo+ICAKPiAgc3RydWN0IGFtZGtmZF9wcm9jZXNzX2lu Zm8gewo+ICAJLyogTGlzdCBoZWFkIG9mIGFsbCBWTXMgdGhhdCBiZWxvbmcgdG8gYSBLRkQgcHJv Y2VzcyAqLwo+IEBAIC0xMjAsMTAgKzEyMCw2IEBAIGludCBhbWRncHVfYW1ka2ZkX3N1Ym1pdF9p YihzdHJ1Y3Qga2dkX2RldiAqa2dkLCBlbnVtIGtnZF9lbmdpbmVfdHlwZSBlbmdpbmUsCj4gIAkJ CQl1aW50MzJfdCB2bWlkLCB1aW50NjRfdCBncHVfYWRkciwKPiAgCQkJCXVpbnQzMl90ICppYl9j bWQsIHVpbnQzMl90IGliX2xlbik7Cj4gIAo+IC1zdHJ1Y3Qga2ZkMmtnZF9jYWxscyAqYW1kZ3B1 X2FtZGtmZF9nZnhfN19nZXRfZnVuY3Rpb25zKHZvaWQpOwo+IC1zdHJ1Y3Qga2ZkMmtnZF9jYWxs cyAqYW1kZ3B1X2FtZGtmZF9nZnhfOF8wX2dldF9mdW5jdGlvbnModm9pZCk7Cj4gLXN0cnVjdCBr ZmQya2dkX2NhbGxzICphbWRncHVfYW1ka2ZkX2dmeF85XzBfZ2V0X2Z1bmN0aW9ucyh2b2lkKTsK PiAtCj4gIGJvb2wgYW1kZ3B1X2FtZGtmZF9pc19rZmRfdm1pZChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgdTMyIHZtaWQpOwo+ICAKPiAgLyogU2hhcmVkIEFQSSAqLwo+IEBAIC0xNTYsMTQg KzE1MiwxNCBAQCB1aW50NjRfdCBhbWRncHVfYW1ka2ZkX2dldF92cmFtX3VzYWdlKHN0cnVjdCBr Z2RfZGV2ICprZ2QpOwo+ICAKPiAgLyogR1BVVk0gQVBJICovCj4gIGludCBhbWRncHVfYW1ka2Zk X2dwdXZtX2NyZWF0ZV9wcm9jZXNzX3ZtKHN0cnVjdCBrZ2RfZGV2ICprZ2QsIHZvaWQgKip2bSwK PiAtCQkJCQkgIHZvaWQgKipwcm9jZXNzX2luZm8sCj4gLQkJCQkJICBzdHJ1Y3QgZG1hX2ZlbmNl ICoqZWYpOwo+ICsJCQkJCXZvaWQgKipwcm9jZXNzX2luZm8sCj4gKwkJCQkJc3RydWN0IGRtYV9m ZW5jZSAqKmVmKTsKPiAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1fYWNxdWlyZV9wcm9jZXNzX3Zt KHN0cnVjdCBrZ2RfZGV2ICprZ2QsCj4gLQkJCQkJICAgc3RydWN0IGZpbGUgKmZpbHAsCj4gLQkJ CQkJICAgdm9pZCAqKnZtLCB2b2lkICoqcHJvY2Vzc19pbmZvLAo+IC0JCQkJCSAgIHN0cnVjdCBk bWFfZmVuY2UgKiplZik7Cj4gKwkJCQkJc3RydWN0IGZpbGUgKmZpbHAsCj4gKwkJCQkJdm9pZCAq KnZtLCB2b2lkICoqcHJvY2Vzc19pbmZvLAo+ICsJCQkJCXN0cnVjdCBkbWFfZmVuY2UgKiplZik7 Cj4gIHZvaWQgYW1kZ3B1X2FtZGtmZF9ncHV2bV9kZXN0cm95X2NiKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LAo+IC0JCQkJICAgIHN0cnVjdCBhbWRncHVfdm0gKnZtKTsKPiArCQkJCXN0cnVj dCBhbWRncHVfdm0gKnZtKTsKPiAgdm9pZCBhbWRncHVfYW1ka2ZkX2dwdXZtX2Rlc3Ryb3lfcHJv Y2Vzc192bShzdHJ1Y3Qga2dkX2RldiAqa2dkLCB2b2lkICp2bSk7Cj4gIHVpbnQzMl90IGFtZGdw dV9hbWRrZmRfZ3B1dm1fZ2V0X3Byb2Nlc3NfcGFnZV9kaXIodm9pZCAqdm0pOwo+ICBpbnQgYW1k Z3B1X2FtZGtmZF9ncHV2bV9hbGxvY19tZW1vcnlfb2ZfZ3B1KAo+IEBAIC0xODEsOSArMTc3LDM1 IEBAIGludCBhbWRncHVfYW1ka2ZkX2dwdXZtX3N5bmNfbWVtb3J5KAo+ICBpbnQgYW1kZ3B1X2Ft ZGtmZF9ncHV2bV9tYXBfZ3R0X2JvX3RvX2tlcm5lbChzdHJ1Y3Qga2dkX2RldiAqa2dkLAo+ICAJ CXN0cnVjdCBrZ2RfbWVtICptZW0sIHZvaWQgKiprcHRyLCB1aW50NjRfdCAqc2l6ZSk7Cj4gIGlu dCBhbWRncHVfYW1ka2ZkX2dwdXZtX3Jlc3RvcmVfcHJvY2Vzc19ib3Modm9pZCAqcHJvY2Vzc19p bmZvLAo+IC0JCQkJCSAgICBzdHJ1Y3QgZG1hX2ZlbmNlICoqZWYpOwo+ICsJCQkJCXN0cnVjdCBk bWFfZmVuY2UgKiplZik7Cj4gIAo+ICB2b2lkIGFtZGdwdV9hbWRrZmRfZ3B1dm1faW5pdF9tZW1f bGltaXRzKHZvaWQpOwo+ICB2b2lkIGFtZGdwdV9hbWRrZmRfdW5yZXNlcnZlX3N5c3RlbV9tZW1v cnlfbGltaXQoc3RydWN0IGFtZGdwdV9ibyAqYm8pOwo+ICAKPiArLyogRnVuY3Rpb24gcG9pbnRl cnMgaW50ZXJmYWNlIGJldHdlZW4gZmlsZXMgaW5zaWRlIGFtZGdwdSwgdG8gYWxsb3cgZXhjbHVz aW9uCj4gKyAqIG9mIGFtZGtmZCBmaWxlcyBmcm9tIGNvbXBpbGF0aW9uIG9mIGFtZGdwdSB3aGVu IGFtZGtmZCBkcml2ZXIgaXMgbm90Cj4gKyAqIGVuYWJsZWQKPiArICovCj4gKwo+ICtib29sIGFt ZGtmZF9mZW5jZV9jaGVja19tbShzdHJ1Y3QgZG1hX2ZlbmNlICpmLCBzdHJ1Y3QgbW1fc3RydWN0 ICptbSk7Cj4gK3ZvaWQgYW1ka2ZkX3VucmVzZXJ2ZV9zeXN0ZW1fbWVtb3J5X2xpbWl0KHN0cnVj dCBhbWRncHVfYm8gKmJvKTsKPiArdm9pZCBhbWRrZmRfZ3B1dm1fZGVzdHJveV9jYihzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0pOwo+ICtzdHJ1Y3QgYW1k Z3B1X2FtZGtmZF9mZW5jZSAqdG9fYW1kZ3B1X2FtZGtmZF9mZW5jZShzdHJ1Y3QgZG1hX2ZlbmNl ICpmKTsKPiAraW50IGFtZGtmZF9ldmljdF91c2VycHRyKHN0cnVjdCBrZ2RfbWVtICptZW0sIHN0 cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKPiArc3RydWN0IGtmZDJrZ2RfY2FsbHMgKmFtZGdwdV9hbWRr ZmRfZ2Z4XzdfZ2V0X2Z1bmN0aW9ucyh2b2lkKTsKPiArc3RydWN0IGtmZDJrZ2RfY2FsbHMgKmFt ZGdwdV9hbWRrZmRfZ2Z4XzhfMF9nZXRfZnVuY3Rpb25zKHZvaWQpOwo+ICtzdHJ1Y3Qga2ZkMmtn ZF9jYWxscyAqYW1kZ3B1X2FtZGtmZF9nZnhfOV8wX2dldF9mdW5jdGlvbnModm9pZCk7Cj4gKwo+ ICtzdHJ1Y3QgYW1kZ3B1X2FtZGtmZF9pZiB7Cj4gKwlib29sICgqZmVuY2VfY2hlY2tfbW0pKHN0 cnVjdCBkbWFfZmVuY2UgKmYsIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKPiArCXZvaWQgKCp1bnJl c2VydmVfc3lzdGVtX21lbW9yeV9saW1pdCkoc3RydWN0IGFtZGdwdV9ibyAqYm8pOwo+ICsJdm9p ZCAoKmdwdXZtX2Rlc3Ryb3lfY2IpKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICsJCQkJ CXN0cnVjdCBhbWRncHVfdm0gKnZtKTsKPiArCXN0cnVjdCBhbWRncHVfYW1ka2ZkX2ZlbmNlKiAo KnRvX2tmZF9mZW5jZSkoc3RydWN0IGRtYV9mZW5jZSAqZik7Cj4gKwlpbnQgKCpldmljdF91c2Vy cHRyKShzdHJ1Y3Qga2dkX21lbSAqbWVtLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSk7Cj4gKwlzdHJ1 Y3Qga2ZkMmtnZF9jYWxscyogKCpnZnhfN19nZXRfZnVuY3Rpb25zKSh2b2lkKTsKPiArCXN0cnVj dCBrZmQya2dkX2NhbGxzKiAoKmdmeF84XzBfZ2V0X2Z1bmN0aW9ucykodm9pZCk7Cj4gKwlzdHJ1 Y3Qga2ZkMmtnZF9jYWxscyogKCpnZnhfOV8wX2dldF9mdW5jdGlvbnMpKHZvaWQpOwo+ICt9Owo+ ICsKPiAgI2VuZGlmIC8qIEFNREdQVV9BTURLRkRfSF9JTkNMVURFRCAqLwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMKPiBpbmRleCA0YTY1 MTVhZDk0ZjguLmMxYjk4NjVhMjQwYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMKPiBAQCAtMTY2LDcgKzE2Niw3IEBAIHN0YXRp YyB2b2lkIHVucmVzZXJ2ZV9zeXN0ZW1fbWVtX2xpbWl0KHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LAo+ICAJc3Bpbl91bmxvY2soJmtmZF9tZW1fbGltaXQubWVtX2xpbWl0X2xvY2spOwo+ICB9 Cj4gIAo+IC12b2lkIGFtZGdwdV9hbWRrZmRfdW5yZXNlcnZlX3N5c3RlbV9tZW1vcnlfbGltaXQo c3RydWN0IGFtZGdwdV9ibyAqYm8pCj4gK3ZvaWQgYW1ka2ZkX3VucmVzZXJ2ZV9zeXN0ZW1fbWVt b3J5X2xpbWl0KHN0cnVjdCBhbWRncHVfYm8gKmJvKQo+ICB7Cj4gIAlzcGluX2xvY2soJmtmZF9t ZW1fbGltaXQubWVtX2xpbWl0X2xvY2spOwo+ICAKPiBAQCAtMTA3OSw4ICsxMDc5LDcgQEAgaW50 IGFtZGdwdV9hbWRrZmRfZ3B1dm1fYWNxdWlyZV9wcm9jZXNzX3ZtKHN0cnVjdCBrZ2RfZGV2ICpr Z2QsCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtdm9pZCBhbWRncHVfYW1ka2ZkX2dwdXZtX2Rl c3Ryb3lfY2Ioc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gLQkJCQkgICAgc3RydWN0IGFt ZGdwdV92bSAqdm0pCj4gK3ZvaWQgYW1ka2ZkX2dwdXZtX2Rlc3Ryb3lfY2Ioc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZtKQo+ICB7Cj4gIAlzdHJ1Y3QgYW1k a2ZkX3Byb2Nlc3NfaW5mbyAqcHJvY2Vzc19pbmZvID0gdm0tPnByb2Nlc3NfaW5mbzsKPiAgCXN0 cnVjdCBhbWRncHVfYm8gKnBkID0gdm0tPnJvb3QuYmFzZS5ibzsKPiBAQCAtMTYyNSw4ICsxNjI0 LDcgQEAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1fbWFwX2d0dF9ib190b19rZXJuZWwoc3RydWN0 IGtnZF9kZXYgKmtnZCwKPiAgICogcmVzdG9yZSwgd2hlcmUgd2UgZ2V0IHVwZGF0ZWQgcGFnZSBh ZGRyZXNzZXMuIFRoaXMgZnVuY3Rpb24gb25seQo+ICAgKiBlbnN1cmVzIHRoYXQgR1BVIGFjY2Vz cyB0byB0aGUgQk8gaXMgc3RvcHBlZC4KPiAgICovCj4gLWludCBhbWRncHVfYW1ka2ZkX2V2aWN0 X3VzZXJwdHIoc3RydWN0IGtnZF9tZW0gKm1lbSwKPiAtCQkJCXN0cnVjdCBtbV9zdHJ1Y3QgKm1t KQo+ICtpbnQgYW1ka2ZkX2V2aWN0X3VzZXJwdHIoc3RydWN0IGtnZF9tZW0gKm1lbSwgc3RydWN0 IG1tX3N0cnVjdCAqbW0pCj4gIHsKPiAgCXN0cnVjdCBhbWRrZmRfcHJvY2Vzc19pbmZvICpwcm9j ZXNzX2luZm8gPSBtZW0tPnByb2Nlc3NfaW5mbzsKPiAgCWludCBpbnZhbGlkLCBldmljdGVkX2Jv czsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3N5bmMu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9zeW5jLmMKPiBpbmRleCAyZDZm NWVjNzdhNjguLjgyNDcyZjA4MGEzMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfc3luYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3N5bmMuYwo+IEBAIC05Niw3ICs5Niw3IEBAIHN0YXRpYyB2b2lkICphbWRncHVfc3lu Y19nZXRfb3duZXIoc3RydWN0IGRtYV9mZW5jZSAqZikKPiAgCWlmIChzX2ZlbmNlKQo+ICAJCXJl dHVybiBzX2ZlbmNlLT5vd25lcjsKPiAgCj4gLQlrZmRfZmVuY2UgPSB0b19hbWRncHVfYW1ka2Zk X2ZlbmNlKGYpOwo+ICsJa2ZkX2ZlbmNlID0gYW1kZ3B1X2FtZGtmZF90b19rZmRfZmVuY2UoZik7 Cj4gIAlpZiAoa2ZkX2ZlbmNlKQo+ICAJCXJldHVybiBBTURHUFVfRkVOQ0VfT1dORVJfS0ZEOwo+ ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCj4gaW5kZXggYzcxM2Qz MGNiYTg2Li4yNTY0OTc5NDBhNmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3R0bS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3R0bS5jCj4gQEAgLTEyMTksNyArMTIxOSw3IEBAIHN0YXRpYyBib29sIGFtZGdwdV90dG1f Ym9fZXZpY3Rpb25fdmFsdWFibGUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPiAgCQlm b3IgKGkgPSAwOyBpIDwgZmxpc3QtPnNoYXJlZF9jb3VudDsgKytpKSB7Cj4gIAkJCWYgPSByY3Vf ZGVyZWZlcmVuY2VfcHJvdGVjdGVkKGZsaXN0LT5zaGFyZWRbaV0sCj4gIAkJCQlyZXNlcnZhdGlv bl9vYmplY3RfaGVsZChiby0+cmVzdikpOwo+IC0JCQlpZiAoYW1ka2ZkX2ZlbmNlX2NoZWNrX21t KGYsIGN1cnJlbnQtPm1tKSkKPiArCQkJaWYgKGFtZGdwdV9hbWRrZmRfZmVuY2VfY2hlY2tfbW0o ZiwgY3VycmVudC0+bW0pKQo+ICAJCQkJcmV0dXJuIGZhbHNlOwo+ICAJCX0KPiAgCX0KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGlu ZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=