[patch] softirq-2.4.10-B3

Ingo Molnar (mingo@elte.hu)
Fri, 28 Sep 2001 18:35:05 +0200 (CEST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--8323328-2090465018-1001694854=:8840
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.4.33.0109281834181.8840@localhost.localdomain>

On Fri, 28 Sep 2001 kuznet@ms2.inr.ac.ru wrote:

> > - '[ksoftirqd_CPU0]' is confusing on UP systems, changed it to
> > '[ksoftirqd]' instead.
>
> It is useless to argue about preferences, but universal naming scheme
> looks as less confusing yet. :-)

since you are the second one to complain, i'm convinced :) reverted.

i've also added back the BUG() check for smp_processor_id() == cpu.

-B3 attached.

Ingo

--8323328-2090465018-1001694854=:8840
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="softirq-2.4.10-B3"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.33.0109281834140.8840@localhost.localdomain>
Content-Description:
Content-Disposition: ATTACHMENT; FILENAME="softirq-2.4.10-B3"

LS0tIGxpbnV4L2tlcm5lbC9rc3ltcy5jLm9yaWcJV2VkIFNlcCAyNiAxNzow
NDo0MCAyMDAxDQorKysgbGludXgva2VybmVsL2tzeW1zLmMJV2VkIFNlcCAy
NiAxNzowNDo0OCAyMDAxDQpAQCAtNTM4LDggKzUzOCw2IEBADQogRVhQT1JU
X1NZTUJPTCh0YXNrbGV0X2tpbGwpOw0KIEVYUE9SVF9TWU1CT0woX19ydW5f
dGFza19xdWV1ZSk7DQogRVhQT1JUX1NZTUJPTChkb19zb2Z0aXJxKTsNCi1F
WFBPUlRfU1lNQk9MKHJhaXNlX3NvZnRpcnEpOw0KLUVYUE9SVF9TWU1CT0wo
Y3B1X3JhaXNlX3NvZnRpcnEpOw0KIEVYUE9SVF9TWU1CT0woX190YXNrbGV0
X3NjaGVkdWxlKTsNCiBFWFBPUlRfU1lNQk9MKF9fdGFza2xldF9oaV9zY2hl
ZHVsZSk7DQogDQotLS0gbGludXgva2VybmVsL3NjaGVkLmMub3JpZwlXZWQg
U2VwIDI2IDE3OjA0OjQwIDIwMDENCisrKyBsaW51eC9rZXJuZWwvc2NoZWQu
YwlXZWQgU2VwIDI2IDE3OjA0OjQ4IDIwMDENCkBAIC0zNjYsNiArMzY2LDI4
IEBADQogfQ0KIA0KIC8qKg0KKyAqIHVud2FrZXVwIC0gdW5kbyB3YWtldXAg
aWYgcG9zc2libGUuDQorICogQHA6IHRhc2sNCisgKiBAc3RhdGU6IG5ldyB0
YXNrIHN0YXRlDQorICoNCisgKiBVbmRvIGEgcHJldmlvdXMgd2FrZXVwIG9m
IHRoZSBzcGVjaWZpZWQgdGFzayAtIGlmIHRoZSBwcm9jZXNzDQorICogaXMg
bm90IHJ1bm5pbmcgYWxyZWFkeS4gVGhlIG1haW4gaW50ZXJmYWNlIHRvIGJl
IHVzZWQgaXMNCisgKiB1bndha2V1cF9wcm9jZXNzKCksIGl0IHdpbGwgZG8g
YSBsb2NrbGVzcyB0ZXN0IHdoZXRoZXIgdGhlIHRhc2sNCisgKiBpcyBvbiB0
aGUgcnVucXVldWUuDQorICovDQordm9pZCBfX3Vud2FrZXVwX3Byb2Nlc3Mo
c3RydWN0IHRhc2tfc3RydWN0ICogcCwgbG9uZyBzdGF0ZSkNCit7DQorCXVu
c2lnbmVkIGxvbmcgZmxhZ3M7DQorDQorCXNwaW5fbG9ja19pcnFzYXZlKCZy
dW5xdWV1ZV9sb2NrLCBmbGFncyk7DQorCWlmICghcC0+aGFzX2NwdSAmJiAo
cCAhPSBjdXJyZW50KSAmJiB0YXNrX29uX3J1bnF1ZXVlKHApKSB7DQorCQlk
ZWxfZnJvbV9ydW5xdWV1ZShwKTsNCisJCXAtPnN0YXRlID0gc3RhdGU7DQor
CX0NCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnVucXVldWVfbG9jaywg
ZmxhZ3MpOw0KK30NCisNCisvKioNCiAgKiBzY2hlZHVsZV90aW1lb3V0IC0g
c2xlZXAgdW50aWwgdGltZW91dA0KICAqIEB0aW1lb3V0OiB0aW1lb3V0IHZh
bHVlIGluIGppZmZpZXMNCiAgKg0KLS0tIGxpbnV4L2tlcm5lbC9zb2Z0aXJx
LmMub3JpZwlXZWQgU2VwIDI2IDE3OjA0OjQwIDIwMDENCisrKyBsaW51eC9r
ZXJuZWwvc29mdGlycS5jCUZyaSBTZXAgMjggMTg6MTY6MjEgMjAwMQ0KQEAg
LTU4LDEyICs1OCwzNSBAQA0KIAkJd2FrZV91cF9wcm9jZXNzKHRzayk7DQog
fQ0KIA0KKy8qDQorICogSWYgYSBzb2Z0aXJxcyB3ZXJlIGZ1bGx5IGhhbmRs
ZWQgYWZ0ZXIga3NvZnRpcnFkIHdhcyB3b2tlbg0KKyAqIHVwIHRoZW4gdHJ5
IHRvIHVuZG8gdGhlIHdha2V1cC4NCisgKi8NCitzdGF0aWMgaW5saW5lIHZv
aWQgdW53YWtldXBfc29mdGlycWQodW5zaWduZWQgY3B1KQ0KK3sNCisJc3Ry
dWN0IHRhc2tfc3RydWN0ICogdHNrID0ga3NvZnRpcnFkX3Rhc2soY3B1KTsN
CisNCisJaWYgKHRzaykNCisJCXVud2FrZXVwX3Byb2Nlc3ModHNrLCBUQVNL
X0lOVEVSUlVQVElCTEUpOw0KK30NCisNCisvKg0KKyAqIFdlIHJlc3RhcnQg
c29mdGlycSBwcm9jZXNzaW5nIE1BWF9TT0ZUSVJRX1JFU1RBUlQgdGltZXMs
DQorICogYW5kIHdlIGZhbGwgYmFjayB0byBzb2Z0aXJxZCBhZnRlciB0aGF0
Lg0KKyAqDQorICogVGhpcyBudW1iZXIgaGFzIGJlZW4gZXN0YWJsaXNoZWQg
dmlhIGV4cGVyaW1lbnRhdGlvbi4NCisgKiBUaGUgdHdvIHRoaW5ncyB0byBi
YWxhbmNlIGlzIGxhdGVuY3kgYWdhaW5zdCBmYWlybmVzcyAtDQorICogd2Ug
d2FudCB0byBoYW5kbGUgc29mdGlycXMgYXMgc29vbiBhcyBwb3NzaWJsZSwg
YnV0IHRoZXkNCisgKiBzaG91bGQgbm90IGJlIGFibGUgdG8gbG9jayB1cCB0
aGUgYm94Lg0KKyAqLw0KKyNkZWZpbmUgTUFYX1NPRlRJUlFfUkVTVEFSVCAx
MA0KKw0KIGFzbWxpbmthZ2Ugdm9pZCBkb19zb2Z0aXJxKCkNCiB7DQorCWlu
dCBtYXhfcmVzdGFydCA9IE1BWF9TT0ZUSVJRX1JFU1RBUlQ7DQogCWludCBj
cHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7DQogCV9fdTMyIHBlbmRpbmc7DQog
CWxvbmcgZmxhZ3M7DQotCV9fdTMyIG1hc2s7DQogDQogCWlmIChpbl9pbnRl
cnJ1cHQoKSkNCiAJCXJldHVybjsNCkBAIC03NSw3ICs5OCw2IEBADQogCWlm
IChwZW5kaW5nKSB7DQogCQlzdHJ1Y3Qgc29mdGlycV9hY3Rpb24gKmg7DQog
DQotCQltYXNrID0gfnBlbmRpbmc7DQogCQlsb2NhbF9iaF9kaXNhYmxlKCk7
DQogcmVzdGFydDoNCiAJCS8qIFJlc2V0IHRoZSBwZW5kaW5nIGJpdG1hc2sg
YmVmb3JlIGVuYWJsaW5nIGlycXMgKi8NCkBAIC05NSw1NSArMTE3LDM3IEBA
DQogCQlsb2NhbF9pcnFfZGlzYWJsZSgpOw0KIA0KIAkJcGVuZGluZyA9IHNv
ZnRpcnFfcGVuZGluZyhjcHUpOw0KLQkJaWYgKHBlbmRpbmcgJiBtYXNrKSB7
DQotCQkJbWFzayAmPSB+cGVuZGluZzsNCisJCWlmIChwZW5kaW5nICYmIC0t
bWF4X3Jlc3RhcnQgJiYgKGN1cnJlbnQtPm5lZWRfcmVzY2hlZCAhPSAxKSkN
CiAJCQlnb3RvIHJlc3RhcnQ7DQotCQl9DQogCQlfX2xvY2FsX2JoX2VuYWJs
ZSgpOw0KIA0KIAkJaWYgKHBlbmRpbmcpDQorCQkJLyoNCisJCQkgKiBJbiB0
aGUgbm9ybWFsIGNhc2Uga3NvZnRpcnFkIGlzIHJhcmVseSBhY3RpdmF0ZWQs
DQorCQkJICogaW5jcmVhc2VkIHNjaGVkdWxpbmcgaHVydHMgcGVyZm9ybWFu
Y2UuDQorCQkJICogSXQncyBhIHNhZmV0eSBtZWFzdXJlOiBpZiBleHRlcm5h
bCBsb2FkIHN0YXJ0cw0KKwkJCSAqIHRvIGZsb29kIHRoZSBzeXN0ZW0gd2l0
aCBzb2Z0aXJxcyB0aGVuIHdlDQorCQkJICogd2lsbCBtaXRpZ2F0ZSBzb2Z0
aXJxIHdvcmsgdG8gdGhlIHNvZnRpcnEgdGhyZWFkLg0KKwkJCSAqLw0KIAkJ
CXdha2V1cF9zb2Z0aXJxZChjcHUpOw0KKwkJZWxzZQ0KKwkJCS8qDQorCQkJ
ICogQWxsIHNvZnRpcnFzIGFyZSBoYW5kbGVkIC0gdW5kbyBhbnkgcG9zc2li
bGUNCisJCQkgKiB3YWtldXAgb2Ygc29mdGlycWQuIFRoaXMgcmVkdWNlcyBj
b250ZXh0IHN3aXRjaA0KKwkJCSAqIG92ZXJoZWFkLg0KKwkJCSAqLw0KKwkJ
CXVud2FrZXVwX3NvZnRpcnFkKGNwdSk7DQogCX0NCiANCiAJbG9jYWxfaXJx
X3Jlc3RvcmUoZmxhZ3MpOw0KIH0NCiANCi0vKg0KLSAqIFRoaXMgZnVuY3Rp
b24gbXVzdCBydW4gd2l0aCBpcnEgZGlzYWJsZWQhDQotICovDQotaW5saW5l
IHZvaWQgY3B1X3JhaXNlX3NvZnRpcnEodW5zaWduZWQgaW50IGNwdSwgdW5z
aWduZWQgaW50IG5yKQ0KLXsNCi0JX19jcHVfcmFpc2Vfc29mdGlycShjcHUs
IG5yKTsNCi0NCi0JLyoNCi0JICogSWYgd2UncmUgaW4gYW4gaW50ZXJydXB0
IG9yIGJoLCB3ZSdyZSBkb25lDQotCSAqICh0aGlzIGFsc28gY2F0Y2hlcyBi
aC1kaXNhYmxlZCBjb2RlKS4gV2Ugd2lsbA0KLQkgKiBhY3R1YWxseSBydW4g
dGhlIHNvZnRpcnEgb25jZSB3ZSByZXR1cm4gZnJvbQ0KLQkgKiB0aGUgaXJx
IG9yIGJoLg0KLQkgKg0KLQkgKiBPdGhlcndpc2Ugd2Ugd2FrZSB1cCBrc29m
dGlycWQgdG8gbWFrZSBzdXJlIHdlDQotCSAqIHNjaGVkdWxlIHRoZSBzb2Z0
aXJxIHNvb24uDQotCSAqLw0KLQlpZiAoIShsb2NhbF9pcnFfY291bnQoY3B1
KSB8IGxvY2FsX2JoX2NvdW50KGNwdSkpKQ0KLQkJd2FrZXVwX3NvZnRpcnFk
KGNwdSk7DQotfQ0KLQ0KLXZvaWQgcmFpc2Vfc29mdGlycSh1bnNpZ25lZCBp
bnQgbnIpDQotew0KLQlsb25nIGZsYWdzOw0KLQ0KLQlsb2NhbF9pcnFfc2F2
ZShmbGFncyk7DQotCWNwdV9yYWlzZV9zb2Z0aXJxKHNtcF9wcm9jZXNzb3Jf
aWQoKSwgbnIpOw0KLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7DQotfQ0K
LQ0KIHZvaWQgb3Blbl9zb2Z0aXJxKGludCBuciwgdm9pZCAoKmFjdGlvbiko
c3RydWN0IHNvZnRpcnFfYWN0aW9uKiksIHZvaWQgKmRhdGEpDQogew0KIAlz
b2Z0aXJxX3ZlY1tucl0uZGF0YSA9IGRhdGE7DQogCXNvZnRpcnFfdmVjW25y
XS5hY3Rpb24gPSBhY3Rpb247DQogfQ0KIA0KLQ0KIC8qIFRhc2tsZXRzICov
DQogDQogc3RydWN0IHRhc2tsZXRfaGVhZCB0YXNrbGV0X3ZlY1tOUl9DUFVT
XSBfX2NhY2hlbGluZV9hbGlnbmVkOw0KQEAgLTE1Nyw4ICsxNjEsOSBAQA0K
IAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7DQogCXQtPm5leHQgPSB0YXNrbGV0
X3ZlY1tjcHVdLmxpc3Q7DQogCXRhc2tsZXRfdmVjW2NwdV0ubGlzdCA9IHQ7
DQotCWNwdV9yYWlzZV9zb2Z0aXJxKGNwdSwgVEFTS0xFVF9TT0ZUSVJRKTsN
CisJX19jcHVfcmFpc2Vfc29mdGlycShjcHUsIFRBU0tMRVRfU09GVElSUSk7
DQogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsNCisJcmVydW5fc29mdGly
cXMoY3B1KTsNCiB9DQogDQogdm9pZCBfX3Rhc2tsZXRfaGlfc2NoZWR1bGUo
c3RydWN0IHRhc2tsZXRfc3RydWN0ICp0KQ0KQEAgLTE2OSw4ICsxNzQsOSBA
QA0KIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7DQogCXQtPm5leHQgPSB0YXNr
bGV0X2hpX3ZlY1tjcHVdLmxpc3Q7DQogCXRhc2tsZXRfaGlfdmVjW2NwdV0u
bGlzdCA9IHQ7DQotCWNwdV9yYWlzZV9zb2Z0aXJxKGNwdSwgSElfU09GVElS
USk7DQorCV9fY3B1X3JhaXNlX3NvZnRpcnEoY3B1LCBISV9TT0ZUSVJRKTsN
CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOw0KKwlyZXJ1bl9zb2Z0aXJx
cyhjcHUpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCB0YXNrbGV0X2FjdGlvbihz
dHJ1Y3Qgc29mdGlycV9hY3Rpb24gKmEpDQpAQCAtMjQxLDcgKzI0Nyw2IEBA
DQogCX0NCiB9DQogDQotDQogdm9pZCB0YXNrbGV0X2luaXQoc3RydWN0IHRh
c2tsZXRfc3RydWN0ICp0LA0KIAkJICB2b2lkICgqZnVuYykodW5zaWduZWQg
bG9uZyksIHVuc2lnbmVkIGxvbmcgZGF0YSkNCiB7DQpAQCAtMjY4LDggKzI3
Myw2IEBADQogCWNsZWFyX2JpdChUQVNLTEVUX1NUQVRFX1NDSEVELCAmdC0+
c3RhdGUpOw0KIH0NCiANCi0NCi0NCiAvKiBPbGQgc3R5bGUgQkhzICovDQog
DQogc3RhdGljIHZvaWQgKCpiaF9iYXNlWzMyXSkodm9pZCk7DQpAQCAtMzI1
LDcgKzMyOCw3IEBADQogew0KIAlpbnQgaTsNCiANCi0JZm9yIChpPTA7IGk8
MzI7IGkrKykNCisJZm9yIChpID0gMDsgaSA8IDMyOyBpKyspDQogCQl0YXNr
bGV0X2luaXQoYmhfdGFza192ZWMraSwgYmhfYWN0aW9uLCBpKTsNCiANCiAJ
b3Blbl9zb2Z0aXJxKFRBU0tMRVRfU09GVElSUSwgdGFza2xldF9hY3Rpb24s
IE5VTEwpOw0KQEAgLTM2MSwzOCArMzY0LDQxIEBADQogDQogc3RhdGljIGlu
dCBrc29mdGlycWQodm9pZCAqIF9fYmluZF9jcHUpDQogew0KLQlpbnQgYmlu
ZF9jcHUgPSAqKGludCAqKSBfX2JpbmRfY3B1Ow0KLQlpbnQgY3B1ID0gY3B1
X2xvZ2ljYWxfbWFwKGJpbmRfY3B1KTsNCisJaW50IGNwdSA9IGNwdV9sb2dp
Y2FsX21hcCgoaW50KV9fYmluZF9jcHUpOw0KIA0KIAlkYWVtb25pemUoKTsN
Ci0JY3VycmVudC0+bmljZSA9IDE5Ow0KKw0KIAlzaWdmaWxsc2V0KCZjdXJy
ZW50LT5ibG9ja2VkKTsNCiANCiAJLyogTWlncmF0ZSB0byB0aGUgcmlnaHQg
Q1BVICovDQotCWN1cnJlbnQtPmNwdXNfYWxsb3dlZCA9IDFVTCA8PCBjcHU7
DQotCXdoaWxlIChzbXBfcHJvY2Vzc29yX2lkKCkgIT0gY3B1KQ0KLQkJc2No
ZWR1bGUoKTsNCi0NCi0Jc3ByaW50ZihjdXJyZW50LT5jb21tLCAia3NvZnRp
cnFkX0NQVSVkIiwgYmluZF9jcHUpOw0KKwljdXJyZW50LT5jcHVzX2FsbG93
ZWQgPSAxIDw8IGNwdTsNCiANCi0JX19zZXRfY3VycmVudF9zdGF0ZShUQVNL
X0lOVEVSUlVQVElCTEUpOw0KLQltYigpOw0KKwlzcHJpbnRmKGN1cnJlbnQt
PmNvbW0sICJrc29mdGlycWQgQ1BVJWQiLCBjcHUpOw0KIA0KKwljdXJyZW50
LT5uaWNlID0gMTk7DQorCXNjaGVkdWxlKCk7DQogCWtzb2Z0aXJxZF90YXNr
KGNwdSkgPSBjdXJyZW50Ow0KIA0KLQlmb3IgKDs7KSB7DQotCQlpZiAoIXNv
ZnRpcnFfcGVuZGluZyhjcHUpKQ0KLQkJCXNjaGVkdWxlKCk7DQotDQotCQlf
X3NldF9jdXJyZW50X3N0YXRlKFRBU0tfUlVOTklORyk7DQorCWlmIChzbXBf
cHJvY2Vzc29yX2lkKCkgIT0gY3B1KQ0KKwkJQlVHKCk7DQogDQorCWZvciAo
OzspIHsNCiAJCXdoaWxlIChzb2Z0aXJxX3BlbmRpbmcoY3B1KSkgew0KIAkJ
CWRvX3NvZnRpcnEoKTsNCiAJCQlpZiAoY3VycmVudC0+bmVlZF9yZXNjaGVk
KQ0KLQkJCQlzY2hlZHVsZSgpOw0KKwkJCQlnb3RvIHByZWVtcHQ7DQogCQl9
DQogDQogCQlfX3NldF9jdXJyZW50X3N0YXRlKFRBU0tfSU5URVJSVVBUSUJM
RSk7DQorCQkvKiBUaGlzIGhhcyB0byBiZSBoZXJlIHRvIG1ha2UgdGhlIHRl
c3QgSVJRLWNvcnJlY3QuICovDQorCQliYXJyaWVyKCk7DQorCQlpZiAoIXNv
ZnRpcnFfcGVuZGluZyhjcHUpKSB7DQorcHJlZW1wdDoNCisJCQlpZiAoY3Vy
cmVudC0+Y291bnRlciA+IDEpDQorCQkJCWN1cnJlbnQtPmNvdW50ZXIgPSAx
Ow0KKwkJCXNjaGVkdWxlKCk7DQorCQl9DQorCQlfX3NldF9jdXJyZW50X3N0
YXRlKFRBU0tfUlVOTklORyk7DQogCX0NCiB9DQogDQpAQCAtNDAwLDE3ICs0
MDYsMTAgQEANCiB7DQogCWludCBjcHU7DQogDQotCWZvciAoY3B1ID0gMDsg
Y3B1IDwgc21wX251bV9jcHVzOyBjcHUrKykgew0KLQkJaWYgKGtlcm5lbF90
aHJlYWQoa3NvZnRpcnFkLCAodm9pZCAqKSAmY3B1LA0KKwlmb3IgKGNwdSA9
IDA7IGNwdSA8IHNtcF9udW1fY3B1czsgY3B1KyspDQorCQlpZiAoa2VybmVs
X3RocmVhZChrc29mdGlycWQsICh2b2lkICopIGNwdSwNCiAJCQkJICBDTE9O
RV9GUyB8IENMT05FX0ZJTEVTIHwgQ0xPTkVfU0lHTkFMKSA8IDApDQotCQkJ
cHJpbnRrKCJzcGF3bl9rc29mdGlycWQoKSBmYWlsZWQgZm9yIGNwdSAlZFxu
IiwgY3B1KTsNCi0JCWVsc2Ugew0KLQkJCXdoaWxlICgha3NvZnRpcnFkX3Rh
c2soY3B1X2xvZ2ljYWxfbWFwKGNwdSkpKSB7DQotCQkJCWN1cnJlbnQtPnBv
bGljeSB8PSBTQ0hFRF9ZSUVMRDsNCi0JCQkJc2NoZWR1bGUoKTsNCi0JCQl9
DQotCQl9DQotCX0NCisJCQlCVUcoKTsNCiANCiAJcmV0dXJuIDA7DQogfQ0K
LS0tIGxpbnV4L2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmgub3JpZwlXZWQg
U2VwIDI2IDE3OjA0OjM2IDIwMDENCisrKyBsaW51eC9pbmNsdWRlL2xpbnV4
L25ldGRldmljZS5oCUZyaSBTZXAgMjggMDc6NDQ6MDEgMjAwMQ0KQEAgLTQ4
Niw4ICs0ODYsOSBAQA0KIAkJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOw0KIAkJ
ZGV2LT5uZXh0X3NjaGVkID0gc29mdG5ldF9kYXRhW2NwdV0ub3V0cHV0X3F1
ZXVlOw0KIAkJc29mdG5ldF9kYXRhW2NwdV0ub3V0cHV0X3F1ZXVlID0gZGV2
Ow0KLQkJY3B1X3JhaXNlX3NvZnRpcnEoY3B1LCBORVRfVFhfU09GVElSUSk7
DQorCQlfX2NwdV9yYWlzZV9zb2Z0aXJxKGNwdSwgTkVUX1RYX1NPRlRJUlEp
Ow0KIAkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOw0KKwkJcmVydW5fc29m
dGlycXMoY3B1KTsNCiAJfQ0KIH0NCiANCkBAIC01MzUsOCArNTM2LDkgQEAN
CiAJCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsNCiAJCXNrYi0+bmV4dCA9IHNv
ZnRuZXRfZGF0YVtjcHVdLmNvbXBsZXRpb25fcXVldWU7DQogCQlzb2Z0bmV0
X2RhdGFbY3B1XS5jb21wbGV0aW9uX3F1ZXVlID0gc2tiOw0KLQkJY3B1X3Jh
aXNlX3NvZnRpcnEoY3B1LCBORVRfVFhfU09GVElSUSk7DQorCQlfX2NwdV9y
YWlzZV9zb2Z0aXJxKGNwdSwgTkVUX1RYX1NPRlRJUlEpOw0KIAkJbG9jYWxf
aXJxX3Jlc3RvcmUoZmxhZ3MpOw0KKwkJcmVydW5fc29mdGlycXMoY3B1KTsN
CiAJfQ0KIH0NCiANCi0tLSBsaW51eC9pbmNsdWRlL2xpbnV4L2ludGVycnVw
dC5oLm9yaWcJV2VkIFNlcCAyNiAxNzowNDo0MCAyMDAxDQorKysgbGludXgv
aW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAlGcmkgU2VwIDI4IDA3OjQ0OjAx
IDIwMDENCkBAIC03NCw5ICs3NCwxNCBAQA0KIGFzbWxpbmthZ2Ugdm9pZCBk
b19zb2Z0aXJxKHZvaWQpOw0KIGV4dGVybiB2b2lkIG9wZW5fc29mdGlycShp
bnQgbnIsIHZvaWQgKCphY3Rpb24pKHN0cnVjdCBzb2Z0aXJxX2FjdGlvbiop
LCB2b2lkICpkYXRhKTsNCiBleHRlcm4gdm9pZCBzb2Z0aXJxX2luaXQodm9p
ZCk7DQotI2RlZmluZSBfX2NwdV9yYWlzZV9zb2Z0aXJxKGNwdSwgbnIpIGRv
IHsgc29mdGlycV9wZW5kaW5nKGNwdSkgfD0gMVVMIDw8IChucik7IH0gd2hp
bGUgKDApDQotZXh0ZXJuIHZvaWQgRkFTVENBTEwoY3B1X3JhaXNlX3NvZnRp
cnEodW5zaWduZWQgaW50IGNwdSwgdW5zaWduZWQgaW50IG5yKSk7DQotZXh0
ZXJuIHZvaWQgRkFTVENBTEwocmFpc2Vfc29mdGlycSh1bnNpZ25lZCBpbnQg
bnIpKTsNCisjZGVmaW5lIF9fY3B1X3JhaXNlX3NvZnRpcnEoY3B1LCBucikg
XA0KKwkJZG8geyBzb2Z0aXJxX3BlbmRpbmcoY3B1KSB8PSAxVUwgPDwgKG5y
KTsgfSB3aGlsZSAoMCkNCisNCisjZGVmaW5lIHJlcnVuX3NvZnRpcnFzKGNw
dSkgCQkJCQlcDQorZG8gewkJCQkJCQkJXA0KKwlpZiAoIShsb2NhbF9pcnFf
Y291bnQoY3B1KSB8IGxvY2FsX2JoX2NvdW50KGNwdSkpKQlcDQorCQlkb19z
b2Z0aXJxKCk7CQkJCQlcDQorfSB3aGlsZSAoMCk7DQogDQogDQogDQotLS0g
bGludXgvaW5jbHVkZS9saW51eC9zY2hlZC5oLm9yaWcJV2VkIFNlcCAyNiAx
NzowNDo0MCAyMDAxDQorKysgbGludXgvaW5jbHVkZS9saW51eC9zY2hlZC5o
CUZyaSBTZXAgMjggMDc6NDQ6MDEgMjAwMQ0KQEAgLTU1Niw2ICs1NTYsNyBA
QA0KIA0KIGV4dGVybiB2b2lkIEZBU1RDQUxMKF9fd2FrZV91cCh3YWl0X3F1
ZXVlX2hlYWRfdCAqcSwgdW5zaWduZWQgaW50IG1vZGUsIGludCBucikpOw0K
IGV4dGVybiB2b2lkIEZBU1RDQUxMKF9fd2FrZV91cF9zeW5jKHdhaXRfcXVl
dWVfaGVhZF90ICpxLCB1bnNpZ25lZCBpbnQgbW9kZSwgaW50IG5yKSk7DQor
ZXh0ZXJuIHZvaWQgRkFTVENBTEwoX191bndha2V1cF9wcm9jZXNzKHN0cnVj
dCB0YXNrX3N0cnVjdCAqIHAsIGxvbmcgc3RhdGUpKTsNCiBleHRlcm4gdm9p
ZCBGQVNUQ0FMTChzbGVlcF9vbih3YWl0X3F1ZXVlX2hlYWRfdCAqcSkpOw0K
IGV4dGVybiBsb25nIEZBU1RDQUxMKHNsZWVwX29uX3RpbWVvdXQod2FpdF9x
dWV1ZV9oZWFkX3QgKnEsDQogCQkJCSAgICAgIHNpZ25lZCBsb25nIHRpbWVv
dXQpKTsNCkBAIC01NzQsNiArNTc1LDEzIEBADQogI2RlZmluZSB3YWtlX3Vw
X2ludGVycnVwdGlibGVfYWxsKHgpCV9fd2FrZV91cCgoeCksVEFTS19JTlRF
UlJVUFRJQkxFLCAwKQ0KICNkZWZpbmUgd2FrZV91cF9pbnRlcnJ1cHRpYmxl
X3N5bmMoeCkJX193YWtlX3VwX3N5bmMoKHgpLFRBU0tfSU5URVJSVVBUSUJM
RSwgMSkNCiAjZGVmaW5lIHdha2VfdXBfaW50ZXJydXB0aWJsZV9zeW5jX25y
KHgpIF9fd2FrZV91cF9zeW5jKCh4KSxUQVNLX0lOVEVSUlVQVElCTEUsICBu
cikNCisNCisjZGVmaW5lIHVud2FrZXVwX3Byb2Nlc3ModHNrLHN0YXRlKQkJ
XA0KK2RvIHsJCQkJCQlcDQorCWlmICh0YXNrX29uX3J1bnF1ZXVlKHRzaykp
CQlcDQorCQlfX3Vud2FrZXVwX3Byb2Nlc3ModHNrLHN0YXRlKTsJXA0KK30g
d2hpbGUgKDApDQorDQogYXNtbGlua2FnZSBsb25nIHN5c193YWl0NChwaWRf
dCBwaWQsdW5zaWduZWQgaW50ICogc3RhdF9hZGRyLCBpbnQgb3B0aW9ucywg
c3RydWN0IHJ1c2FnZSAqIHJ1KTsNCiANCiBleHRlcm4gaW50IGluX2dyb3Vw
X3AoZ2lkX3QpOw0KLS0tIGxpbnV4L2luY2x1ZGUvYXNtLW1pcHMvc29mdGly
cS5oLm9yaWcJV2VkIFNlcCAyNiAyMDo1ODowMCAyMDAxDQorKysgbGludXgv
aW5jbHVkZS9hc20tbWlwcy9zb2Z0aXJxLmgJV2VkIFNlcCAyNiAyMDo1ODow
NyAyMDAxDQpAQCAtNDAsNiArNDAsNCBAQA0KIA0KICNkZWZpbmUgaW5fc29m
dGlycSgpIChsb2NhbF9iaF9jb3VudChzbXBfcHJvY2Vzc29yX2lkKCkpICE9
IDApDQogDQotI2RlZmluZSBfX2NwdV9yYWlzZV9zb2Z0aXJxKGNwdSwgbnIp
CXNldF9iaXQobnIsICZzb2Z0aXJxX3BlbmRpbmcoY3B1KSkNCi0NCiAjZW5k
aWYgLyogX0FTTV9TT0ZUSVJRX0ggKi8NCi0tLSBsaW51eC9pbmNsdWRlL2Fz
bS1taXBzNjQvc29mdGlycS5oLm9yaWcJV2VkIFNlcCAyNiAyMDo1ODoyMCAy
MDAxDQorKysgbGludXgvaW5jbHVkZS9hc20tbWlwczY0L3NvZnRpcnEuaAlX
ZWQgU2VwIDI2IDIwOjU4OjI2IDIwMDENCkBAIC0zOSwxOSArMzksNCBAQA0K
IA0KICNkZWZpbmUgaW5fc29mdGlycSgpIChsb2NhbF9iaF9jb3VudChzbXBf
cHJvY2Vzc29yX2lkKCkpICE9IDApDQogDQotZXh0ZXJuIGlubGluZSB2b2lk
IF9fY3B1X3JhaXNlX3NvZnRpcnEoaW50IGNwdSwgaW50IG5yKQ0KLXsNCi0J
dW5zaWduZWQgaW50ICptID0gKHVuc2lnbmVkIGludCAqKSAmc29mdGlycV9w
ZW5kaW5nKGNwdSk7DQotCXVuc2lnbmVkIGludCB0ZW1wOw0KLQ0KLQlfX2Fz
bV9fIF9fdm9sYXRpbGVfXygNCi0JCSIxOlx0bGxcdCUwLCAlMVx0XHRcdCMg
X19jcHVfcmFpc2Vfc29mdGlycVxuXHQiDQotCQkib3JcdCUwLCAlMlxuXHQi
DQotCQkic2NcdCUwLCAlMVxuXHQiDQotCQkiYmVxelx0JTAsIDFiIg0KLQkJ
OiAiPSZyIiAodGVtcCksICI9bSIgKCptKQ0KLQkJOiAiaXIiICgxVUwgPDwg
bnIpLCAibSIgKCptKQ0KLQkJOiAibWVtb3J5Iik7DQotfQ0KLQ0KICNlbmRp
ZiAvKiBfQVNNX1NPRlRJUlFfSCAqLw0KLS0tIGxpbnV4L25ldC9jb3JlL2Rl
di5jLm9yaWcJV2VkIFNlcCAyNiAxNzowNDo0MSAyMDAxDQorKysgbGludXgv
bmV0L2NvcmUvZGV2LmMJV2VkIFNlcCAyNiAxNzowNDo0OCAyMDAxDQpAQCAt
MTIxOCw4ICsxMjE4LDkgQEANCiAJCQlkZXZfaG9sZChza2ItPmRldik7DQog
CQkJX19za2JfcXVldWVfdGFpbCgmcXVldWUtPmlucHV0X3BrdF9xdWV1ZSxz
a2IpOw0KIAkJCS8qIFJ1bnMgZnJvbSBpcnFzIG9yIEJIJ3MsIG5vIG5lZWQg
dG8gd2FrZSBCSCAqLw0KLQkJCWNwdV9yYWlzZV9zb2Z0aXJxKHRoaXNfY3B1
LCBORVRfUlhfU09GVElSUSk7DQorCQkJX19jcHVfcmFpc2Vfc29mdGlycSh0
aGlzX2NwdSwgTkVUX1JYX1NPRlRJUlEpOw0KIAkJCWxvY2FsX2lycV9yZXN0
b3JlKGZsYWdzKTsNCisJCQlyZXJ1bl9zb2Z0aXJxcyh0aGlzX2NwdSk7DQog
I2lmbmRlZiBPRkZMSU5FX1NBTVBMRQ0KIAkJCWdldF9zYW1wbGVfc3RhdHMo
dGhpc19jcHUpOw0KICNlbmRpZg0KQEAgLTE1MjksOCArMTUzMCw5IEBADQog
CWxvY2FsX2lycV9kaXNhYmxlKCk7DQogCW5ldGRldl9yeF9zdGF0W3RoaXNf
Y3B1XS50aW1lX3NxdWVlemUrKzsNCiAJLyogVGhpcyBhbHJlYWR5IHJ1bnMg
aW4gQkggY29udGV4dCwgbm8gbmVlZCB0byB3YWtlIHVwIEJIJ3MgKi8NCi0J
Y3B1X3JhaXNlX3NvZnRpcnEodGhpc19jcHUsIE5FVF9SWF9TT0ZUSVJRKTsN
CisJX19jcHVfcmFpc2Vfc29mdGlycSh0aGlzX2NwdSwgTkVUX1JYX1NPRlRJ
UlEpOw0KIAlsb2NhbF9pcnFfZW5hYmxlKCk7DQorCXJlcnVuX3NvZnRpcnFz
KHRoaXNfY3B1KTsNCiANCiAJTkVUX1BST0ZJTEVfTEVBVkUoc29mdG5ldF9w
cm9jZXNzKTsNCiAJcmV0dXJuOw0KLS0tIGxpbnV4L2xpbnV4L2luY2x1ZGUv
bGludXgvbmV0ZGV2aWNlLmgub3JpZwlXZWQgU2VwIDI2IDIxOjE0OjU1IDIw
MDENCisrKyBsaW51eC9saW51eC9pbmNsdWRlL2xpbnV4L25ldGRldmljZS5o
CVRodSBTZXAgMjcgMDc6NTE6MDAgMjAwMQ0KQEAgLTM5MCw2ICszOTAsOCBA
QA0KIAkJCQkJCSAgICAgdW5zaWduZWQgY2hhciAqaGFkZHIpOw0KIAlpbnQJ
CQkoKm5laWdoX3NldHVwKShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1
Y3QgbmVpZ2hfcGFybXMgKik7DQogCWludAkJCSgqYWNjZXB0X2Zhc3RwYXRo
KShzdHJ1Y3QgbmV0X2RldmljZSAqLCBzdHJ1Y3QgZHN0X2VudHJ5Kik7DQor
I2RlZmluZSBIQVZFX1BPTExfQ09OVFJPTExFUg0KKwl2b2lkCQkJKCpwb2xs
X2NvbnRyb2xsZXIpKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOw0KIA0KIAkv
KiBvcGVuL3JlbGVhc2UgYW5kIHVzYWdlIG1hcmtpbmcgKi8NCiAJc3RydWN0
IG1vZHVsZSAqb3duZXI7DQotLS0gbGludXgvbGludXgvZHJpdmVycy9uZXQv
dHVsaXAvdHVsaXBfY29yZS5jLm9yaWcJV2VkIFNlcCAyNiAyMToxNDo1OCAy
MDAxDQorKysgbGludXgvbGludXgvZHJpdmVycy9uZXQvdHVsaXAvdHVsaXBf
Y29yZS5jCUZyaSBTZXAgMjggMDk6MjM6MjIgMjAwMQ0KQEAgLTI0Myw2ICsy
NDMsNyBAQA0KIHN0YXRpYyBzdHJ1Y3QgbmV0X2RldmljZV9zdGF0cyAqdHVs
aXBfZ2V0X3N0YXRzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOw0KIHN0YXRp
YyBpbnQgcHJpdmF0ZV9pb2N0bChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBz
dHJ1Y3QgaWZyZXEgKnJxLCBpbnQgY21kKTsNCiBzdGF0aWMgdm9pZCBzZXRf
cnhfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsNCitzdGF0aWMgdm9p
ZCBwb2xsX3R1bGlwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOw0KIA0KIA0K
IA0KQEAgLTE2NzEsNiArMTY3Miw5IEBADQogCWRldi0+Z2V0X3N0YXRzID0g
dHVsaXBfZ2V0X3N0YXRzOw0KIAlkZXYtPmRvX2lvY3RsID0gcHJpdmF0ZV9p
b2N0bDsNCiAJZGV2LT5zZXRfbXVsdGljYXN0X2xpc3QgPSBzZXRfcnhfbW9k
ZTsNCisjaWZkZWYgSEFWRV9QT0xMX0NPTlRST0xMRVINCisJZGV2LT5wb2xs
X2NvbnRyb2xsZXIgPSAmcG9sbF90dWxpcDsNCisjZW5kaWYNCiANCiAJaWYg
KHJlZ2lzdGVyX25ldGRldihkZXYpKQ0KIAkJZ290byBlcnJfb3V0X2ZyZWVf
cmluZzsNCkBAIC0xODM5LDYgKzE4NDMsMjQgQEANCiANCiAJLyogcGNpX3Bv
d2VyX29mZiAocGRldiwgLTEpOyAqLw0KIH0NCisNCisNCisjaWZkZWYgSEFW
RV9QT0xMX0NPTlRST0xMRVINCisNCisvKg0KKyAqIFBvbGxpbmcgJ2ludGVy
cnVwdCcgLSB1c2VkIGJ5IHRoaW5ncyBsaWtlIG5ldGNvbnNvbGUgdG8gc2Vu
ZCBza2JzDQorICogd2l0aG91dCBoYXZpbmcgdG8gcmUtZW5hYmxlIGludGVy
cnVwdHMuIEl0J3Mgbm90IGNhbGxlZCB3aGlsZQ0KKyAqIHRoZSBpbnRlcnJ1
cHQgcm91dGluZSBpcyBleGVjdXRpbmcuDQorICovDQorDQorc3RhdGljIHZv
aWQgcG9sbF90dWxpcCAoc3RydWN0IG5ldF9kZXZpY2UgKmRldikNCit7DQor
ICAgICAgIGRpc2FibGVfaXJxKGRldi0+aXJxKTsNCisgICAgICAgdHVsaXBf
aW50ZXJydXB0IChkZXYtPmlycSwgZGV2LCBOVUxMKTsNCisgICAgICAgZW5h
YmxlX2lycShkZXYtPmlycSk7DQorfQ0KKw0KKyNlbmRpZg0KIA0KIA0KIHN0
YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciB0dWxpcF9kcml2ZXIgPSB7DQotLS0g
bGludXgvbGludXgvZHJpdmVycy9uZXQvZWVwcm8xMDAuYy5vcmlnCVdlZCBT
ZXAgMjYgMjE6MTQ6NTggMjAwMQ0KKysrIGxpbnV4L2xpbnV4L2RyaXZlcnMv
bmV0L2VlcHJvMTAwLmMJVGh1IFNlcCAyNyAwODoxMTo0MSAyMDAxDQpAQCAt
NTQyLDYgKzU0Miw3IEBADQogc3RhdGljIGludCBzcGVlZG9fcngoc3RydWN0
IG5ldF9kZXZpY2UgKmRldik7DQogc3RhdGljIHZvaWQgc3BlZWRvX3R4X2J1
ZmZlcl9nYyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsNCiBzdGF0aWMgdm9p
ZCBzcGVlZG9faW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pbnN0YW5j
ZSwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOw0KK3N0YXRpYyB2b2lkIHBvbGxf
c3BlZWRvIChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsNCiBzdGF0aWMgaW50
IHNwZWVkb19jbG9zZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsNCiBzdGF0
aWMgc3RydWN0IG5ldF9kZXZpY2Vfc3RhdHMgKnNwZWVkb19nZXRfc3RhdHMo
c3RydWN0IG5ldF9kZXZpY2UgKmRldik7DQogc3RhdGljIGludCBzcGVlZG9f
aW9jdGwoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGlmcmVxICpy
cSwgaW50IGNtZCk7DQpAQCAtODM3LDYgKzgzOCw5IEBADQogCWRldi0+Z2V0
X3N0YXRzID0gJnNwZWVkb19nZXRfc3RhdHM7DQogCWRldi0+c2V0X211bHRp
Y2FzdF9saXN0ID0gJnNldF9yeF9tb2RlOw0KIAlkZXYtPmRvX2lvY3RsID0g
JnNwZWVkb19pb2N0bDsNCisjaWZkZWYgSEFWRV9QT0xMX0NPTlRST0xMRVIN
CisJZGV2LT5wb2xsX2NvbnRyb2xsZXIgPSAmcG9sbF9zcGVlZG87DQorI2Vu
ZGlmDQogDQogCXJldHVybiAwOw0KIH0NCkBAIC0xNTk0LDYgKzE1OTgsMjMg
QEANCiAJY2xlYXJfYml0KDAsICh2b2lkKikmc3AtPmluX2ludGVycnVwdCk7
DQogCXJldHVybjsNCiB9DQorDQorI2lmZGVmIEhBVkVfUE9MTF9DT05UUk9M
TEVSDQorDQorLyoNCisgKiBQb2xsaW5nICdpbnRlcnJ1cHQnIC0gdXNlZCBi
eSB0aGluZ3MgbGlrZSBuZXRjb25zb2xlIHRvIHNlbmQgc2ticw0KKyAqIHdp
dGhvdXQgaGF2aW5nIHRvIHJlLWVuYWJsZSBpbnRlcnJ1cHRzLiBJdCdzIG5v
dCBjYWxsZWQgd2hpbGUNCisgKiB0aGUgaW50ZXJydXB0IHJvdXRpbmUgaXMg
ZXhlY3V0aW5nLg0KKyAqLw0KKw0KK3N0YXRpYyB2b2lkIHBvbGxfc3BlZWRv
IChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQ0KK3sNCisJZGlzYWJsZV9pcnEo
ZGV2LT5pcnEpOw0KKwlzcGVlZG9faW50ZXJydXB0IChkZXYtPmlycSwgZGV2
LCBOVUxMKTsNCisJZW5hYmxlX2lycShkZXYtPmlycSk7DQorfQ0KKw0KKyNl
bmRpZg0KIA0KIHN0YXRpYyBpbmxpbmUgc3RydWN0IFJ4RkQgKnNwZWVkb19y
eF9hbGxvYyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgZW50cnkpDQog
ew0KLS0tIGxpbnV4L2xpbnV4L2RyaXZlcnMvbmV0L25ldGNvbnNvbGUuYy5v
cmlnCVdlZCBTZXAgMjYgMjE6MTU6MTUgMjAwMQ0KKysrIGxpbnV4L2xpbnV4
L2RyaXZlcnMvbmV0L25ldGNvbnNvbGUuYwlUaHUgU2VwIDI3IDE2OjEyOjEw
IDIwMDENCkBAIC0wLDAgKzEsMzMxIEBADQorLyoNCisgKiAgbGludXgvZHJp
dmVycy9uZXQvbmV0Y29uc29sZS5jDQorICoNCisgKiAgQ29weXJpZ2h0IChD
KSAyMDAxICBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4NCisgKg0K
KyAqICBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGltcGxlbWVudGF0aW9uIG9m
IGFuIElSUS1zYWZlLCBjcmFzaC1zYWZlDQorICogIGtlcm5lbCBjb25zb2xl
IGltcGxlbWVudGF0aW9uIHRoYXQgb3V0cHV0cyBrZXJuZWwgbWVzc2FnZXMg
dG8gdGhlDQorICogIG5ldHdvcmsuDQorICoNCisgKiBNb2RpZmljYXRpb24g
aGlzdG9yeToNCisgKg0KKyAqIDIwMDEtMDktMTcgICAgc3RhcnRlZCBieSBJ
bmdvIE1vbG5hci4NCisgKi8NCisNCisvKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0K
KyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCisgKiAgICAgIGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQorICogICAgICB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91
ciBvcHRpb24pDQorICogICAgICBhbnkgbGF0ZXIgdmVyc2lvbi4NCisgKg0K
KyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQorICogICAgICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZg0KKyAqICAgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KKyAqICAg
ICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4NCisgKg0KKyAqICAgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCisgKiAg
ICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRv
IHRoZSBGcmVlIFNvZnR3YXJlDQorICogICAgICBGb3VuZGF0aW9uLCBJbmMu
LCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4NCisg
Kg0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqLw0KKw0KKyNpbmNsdWRlIDxuZXQv
dGNwLmg+DQorI2luY2x1ZGUgPG5ldC91ZHAuaD4NCisjaW5jbHVkZSA8bGlu
dXgvbW0uaD4NCisjaW5jbHVkZSA8bGludXgvdHR5Lmg+DQorI2luY2x1ZGUg
PGxpbnV4L2luaXQuaD4NCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+DQor
I2luY2x1ZGUgPGFzbS91bmFsaWduZWQuaD4NCisjaW5jbHVkZSA8bGludXgv
Y29uc29sZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPg0KKyNp
bmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4NCisjaW5jbHVkZSA8bGludXgv
dHR5X2RyaXZlci5oPg0KKyNpbmNsdWRlIDxsaW51eC9ldGhlcmRldmljZS5o
Pg0KKw0KK3N0YXRpYyBzdHJ1Y3QgbmV0X2RldmljZSAqbmV0Y29uc29sZV9k
ZXY7DQorc3RhdGljIHUxNiBzb3VyY2VfcG9ydCwgdGFyZ2V0X3BvcnQ7DQor
c3RhdGljIHUzMiBzb3VyY2VfaXAsIHRhcmdldF9pcDsNCitzdGF0aWMgdW5z
aWduZWQgY2hhciBkYWRkcls2XSA9IHsweGZmLCAweGZmLCAweGZmLCAweGZm
LCAweGZmLCAweGZmfSA7DQorDQorI2RlZmluZSBORVRDT05TT0xFX1ZFUlNJ
T04gMHgwMQ0KKyNkZWZpbmUgSEVBREVSX0xFTiA1DQorDQorI2RlZmluZSBN
QVhfVURQX0NIVU5LIDE0NjANCisjZGVmaW5lIE1BWF9QUklOVF9DSFVOSyAo
TUFYX1VEUF9DSFVOSy1IRUFERVJfTEVOKQ0KKw0KKy8qDQorICogV2UgbWFp
bnRhaW4gYSBzbWFsbCBwb29sIG9mIGZ1bGx5LXNpemVkIHNrYnMsDQorICog
dG8gbWFrZSBzdXJlIHRoZSBtZXNzYWdlIGdldHMgb3V0IGV2ZW4gaW4NCisg
KiBleHRyZW1lIE9PTSBzaXR1YXRpb25zLg0KKyAqLw0KKyNkZWZpbmUgTUFY
X05FVENPTlNPTEVfU0tCUyAzMg0KKw0KK3N0YXRpYyBzcGlubG9ja190IG5l
dGNvbnNvbGVfbG9jayA9IFNQSU5fTE9DS19VTkxPQ0tFRDsNCitzdGF0aWMg
aW50IG5yX25ldGNvbnNvbGVfc2ticzsNCitzdGF0aWMgc3RydWN0IHNrX2J1
ZmYgKm5ldGNvbnNvbGVfc2ticzsNCisNCisjZGVmaW5lIE1BWF9TS0JfU0la
RSBcDQorCQkoTUFYX1VEUF9DSFVOSyArIHNpemVvZihzdHJ1Y3QgdWRwaGRy
KSArIFwNCisJCQkJc2l6ZW9mKHN0cnVjdCBpcGhkcikgKyBzaXplb2Yoc3Ry
dWN0IGV0aGhkcikpDQorDQorc3RhdGljIHZvaWQgX19yZWZpbGxfbmV0Y29u
c29sZV9za2JzKHZvaWQpDQorew0KKwlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOw0K
Kwl1bnNpZ25lZCBsb25nIGZsYWdzOw0KKw0KKwlzcGluX2xvY2tfaXJxc2F2
ZSgmbmV0Y29uc29sZV9sb2NrLCBmbGFncyk7DQorCXdoaWxlIChucl9uZXRj
b25zb2xlX3NrYnMgPCBNQVhfTkVUQ09OU09MRV9TS0JTKSB7DQorCQlza2Ig
PSBhbGxvY19za2IoTUFYX1NLQl9TSVpFLCBHRlBfQVRPTUlDKTsNCisJCWlm
ICghc2tiKQ0KKwkJCWJyZWFrOw0KKwkJaWYgKG5ldGNvbnNvbGVfc2ticykN
CisJCQlza2ItPm5leHQgPSBuZXRjb25zb2xlX3NrYnM7DQorCQllbHNlDQor
CQkJc2tiLT5uZXh0ID0gTlVMTDsNCisJCW5ldGNvbnNvbGVfc2ticyA9IHNr
YjsNCisJCW5yX25ldGNvbnNvbGVfc2ticysrOw0KKwl9DQorCXNwaW5fdW5s
b2NrX2lycXJlc3RvcmUoJm5ldGNvbnNvbGVfbG9jaywgZmxhZ3MpOw0KK30N
CisNCitzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKiBnZXRfbmV0Y29uc29sZV9z
a2Iodm9pZCkNCit7DQorCXN0cnVjdCBza19idWZmICpza2I7DQorDQorCXVu
c2lnbmVkIGxvbmcgZmxhZ3M7DQorDQorCXNwaW5fbG9ja19pcnFzYXZlKCZu
ZXRjb25zb2xlX2xvY2ssIGZsYWdzKTsNCisJc2tiID0gbmV0Y29uc29sZV9z
a2JzOw0KKwlpZiAoc2tiKQ0KKwkJbmV0Y29uc29sZV9za2JzID0gc2tiLT5u
ZXh0Ow0KKwlza2ItPm5leHQgPSBOVUxMOw0KKwlucl9uZXRjb25zb2xlX3Nr
YnMtLTsNCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmV0Y29uc29sZV9s
b2NrLCBmbGFncyk7DQorDQorCXJldHVybiBza2I7DQorfQ0KKw0KK3N0YXRp
YyBzcGlubG9ja190IHNlcXVlbmNlX2xvY2sgPSBTUElOX0xPQ0tfVU5MT0NL
RUQ7DQorc3RhdGljIHVuc2lnbmVkIGludCBvZmZzZXQ7DQorDQorc3RhdGlj
IHZvaWQgc2VuZF9uZXRjb25zb2xlX3NrYihzdHJ1Y3QgbmV0X2RldmljZSAq
ZGV2LCBjb25zdCBjaGFyICptc2csIHVuc2lnbmVkIGludCBtc2dfbGVuKQ0K
K3sNCisJaW50IHRvdGFsX2xlbiwgZXRoX2xlbiwgaXBfbGVuLCB1ZHBfbGVu
Ow0KKwl1bnNpZ25lZCBsb25nIGZsYWdzOw0KKwlzdHJ1Y3Qgc2tfYnVmZiAq
c2tiOw0KKwlzdHJ1Y3QgdWRwaGRyICp1ZHBoOw0KKwlzdHJ1Y3QgaXBoZHIg
KmlwaDsNCisJc3RydWN0IGV0aGhkciAqZXRoOw0KKw0KKwl1ZHBfbGVuID0g
bXNnX2xlbiArIEhFQURFUl9MRU4gKyBzaXplb2YoKnVkcGgpOw0KKwlpcF9s
ZW4gPSBldGhfbGVuID0gdWRwX2xlbiArIHNpemVvZigqaXBoKTsNCisJdG90
YWxfbGVuID0gZXRoX2xlbiArIEVUSF9ITEVOOw0KKw0KKwlpZiAobnJfbmV0
Y29uc29sZV9za2JzIDwgTUFYX05FVENPTlNPTEVfU0tCUykNCisJCV9fcmVm
aWxsX25ldGNvbnNvbGVfc2ticygpOw0KKw0KKwlza2IgPSBhbGxvY19za2Io
dG90YWxfbGVuLCBHRlBfQVRPTUlDKTsNCisJaWYgKCFza2IpIHsNCisJCXNr
YiA9IGdldF9uZXRjb25zb2xlX3NrYigpOw0KKwkJaWYgKCFza2IpDQorCQkJ
LyogdG91Z2ghICovDQorCQkJcmV0dXJuOw0KKwl9DQorDQorCWF0b21pY19z
ZXQoJnNrYi0+dXNlcnMsIDEpOw0KKwlza2JfcmVzZXJ2ZShza2IsIHRvdGFs
X2xlbiAtIG1zZ19sZW4gLSBIRUFERVJfTEVOKTsNCisJc2tiLT5kYXRhWzBd
ID0gTkVUQ09OU09MRV9WRVJTSU9OOw0KKw0KKwlzcGluX2xvY2tfaXJxc2F2
ZSgmc2VxdWVuY2VfbG9jaywgZmxhZ3MpOw0KKwlwdXRfdW5hbGlnbmVkKGh0
b25sKG9mZnNldCksICh1MzIgKikgKHNrYi0+ZGF0YSArIDEpKTsNCisJb2Zm
c2V0ICs9IG1zZ19sZW47DQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNl
cXVlbmNlX2xvY2ssIGZsYWdzKTsNCisNCisJbWVtY3B5KHNrYi0+ZGF0YSAr
IEhFQURFUl9MRU4sIG1zZywgbXNnX2xlbik7DQorCXNrYi0+bGVuICs9IG1z
Z19sZW4gKyBIRUFERVJfTEVOOw0KKw0KKwl1ZHBoID0gKHN0cnVjdCB1ZHBo
ZHIgKikgc2tiX3B1c2goc2tiLCBzaXplb2YoKnVkcGgpKTsNCisJdWRwaC0+
c291cmNlID0gc291cmNlX3BvcnQ7DQorCXVkcGgtPmRlc3QgPSB0YXJnZXRf
cG9ydDsNCisJdWRwaC0+bGVuID0gaHRvbnModWRwX2xlbik7DQorCXVkcGgt
PmNoZWNrID0gMDsNCisNCisJaXBoID0gKHN0cnVjdCBpcGhkciAqKXNrYl9w
dXNoKHNrYiwgc2l6ZW9mKCppcGgpKTsNCisNCisJaXBoLT52ZXJzaW9uICA9
IDQ7DQorCWlwaC0+aWhsICAgICAgPSA1Ow0KKwlpcGgtPnRvcyAgICAgID0g
MDsNCisgICAgICAgIGlwaC0+dG90X2xlbiAgPSBodG9ucyhpcF9sZW4pOw0K
KwlpcGgtPmlkICAgICAgID0gMDsNCisJaXBoLT5mcmFnX29mZiA9IDA7DQor
CWlwaC0+dHRsICAgICAgPSA2NDsNCisgICAgICAgIGlwaC0+cHJvdG9jb2wg
PSBJUFBST1RPX1VEUDsNCisJaXBoLT5jaGVjayAgICA9IDA7DQorICAgICAg
ICBpcGgtPnNhZGRyICAgID0gc291cmNlX2lwOw0KKyAgICAgICAgaXBoLT5k
YWRkciAgICA9IHRhcmdldF9pcDsNCisJaXBoLT5jaGVjayAgICA9IGlwX2Zh
c3RfY3N1bSgodW5zaWduZWQgY2hhciAqKWlwaCwgaXBoLT5paGwpOw0KKw0K
KwlldGggPSAoc3RydWN0IGV0aGhkciAqKSBza2JfcHVzaChza2IsIEVUSF9I
TEVOKTsNCisNCisJZXRoLT5oX3Byb3RvID0gaHRvbnMoRVRIX1BfSVApOw0K
KwltZW1jcHkoZXRoLT5oX3NvdXJjZSwgZGV2LT5kZXZfYWRkciwgZGV2LT5h
ZGRyX2xlbik7DQorCW1lbWNweShldGgtPmhfZGVzdCwgZGFkZHIsIGRldi0+
YWRkcl9sZW4pOw0KKw0KK3JlcGVhdDoNCisJc3Bpbl9sb2NrKCZkZXYtPnht
aXRfbG9jayk7DQorCWRldi0+eG1pdF9sb2NrX293bmVyID0gc21wX3Byb2Nl
c3Nvcl9pZCgpOw0KKw0KKwlpZiAobmV0aWZfcXVldWVfc3RvcHBlZChkZXYp
KSB7DQorCQlkZXYtPnhtaXRfbG9ja19vd25lciA9IC0xOw0KKwkJc3Bpbl91
bmxvY2soJmRldi0+eG1pdF9sb2NrKTsNCisNCisJCWRldi0+cG9sbF9jb250
cm9sbGVyKGRldik7DQorCQlnb3RvIHJlcGVhdDsNCisJfQ0KKw0KKwlkZXYt
PmhhcmRfc3RhcnRfeG1pdChza2IsIGRldik7DQorDQorCWRldi0+eG1pdF9s
b2NrX293bmVyID0gLTE7DQorCXNwaW5fdW5sb2NrKCZkZXYtPnhtaXRfbG9j
ayk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIHdyaXRlX25ldGNvbnNvbGVfbXNn
KHN0cnVjdCBjb25zb2xlICpjb24sIGNvbnN0IGNoYXIgKm1zZywgdW5zaWdu
ZWQgaW50IG1zZ19sZW4pDQorew0KKwlpbnQgbGVuLCBsZWZ0Ow0KKwlzdHJ1
Y3QgbmV0X2RldmljZSAqZGV2Ow0KKw0KKwlkZXYgPSBuZXRjb25zb2xlX2Rl
djsNCisJaWYgKCFkZXYpDQorCQlyZXR1cm47DQorDQorCWlmIChkZXYtPnBv
bGxfY29udHJvbGxlciAmJiBuZXRpZl9ydW5uaW5nKGRldikpIHsNCisJCXVu
c2lnbmVkIGxvbmcgZmxhZ3M7DQorDQorCQlfX3NhdmVfZmxhZ3MoZmxhZ3Mp
Ow0KKwkJX19jbGkoKTsNCisJCWxlZnQgPSBtc2dfbGVuOw0KK3JlcGVhdDoN
CisJCWlmIChsZWZ0ID4gTUFYX1BSSU5UX0NIVU5LKQ0KKwkJCWxlbiA9IE1B
WF9QUklOVF9DSFVOSzsNCisJCWVsc2UNCisJCQlsZW4gPSBsZWZ0Ow0KKwkJ
c2VuZF9uZXRjb25zb2xlX3NrYihkZXYsIG1zZywgbGVuKTsNCisJCW1zZyAr
PSBsZW47DQorCQlsZWZ0IC09IGxlbjsNCisJCWlmIChsZWZ0KQ0KKwkJCWdv
dG8gcmVwZWF0Ow0KKwkJX19yZXN0b3JlX2ZsYWdzKGZsYWdzKTsNCisJfQ0K
K30NCisNCitzdGF0aWMgY2hhciAqZGV2Ow0KK3N0YXRpYyBpbnQgdGFyZ2V0
X2V0aF9ieXRlMCA9IDI1NTsNCitzdGF0aWMgaW50IHRhcmdldF9ldGhfYnl0
ZTEgPSAyNTU7DQorc3RhdGljIGludCB0YXJnZXRfZXRoX2J5dGUyID0gMjU1
Ow0KK3N0YXRpYyBpbnQgdGFyZ2V0X2V0aF9ieXRlMyA9IDI1NTsNCitzdGF0
aWMgaW50IHRhcmdldF9ldGhfYnl0ZTQgPSAyNTU7DQorc3RhdGljIGludCB0
YXJnZXRfZXRoX2J5dGU1ID0gMjU1Ow0KKw0KK01PRFVMRV9QQVJNKHRhcmdl
dF9pcCwgImkiKTsNCitNT0RVTEVfUEFSTSh0YXJnZXRfZXRoX2J5dGUwLCAi
aSIpOw0KK01PRFVMRV9QQVJNKHRhcmdldF9ldGhfYnl0ZTEsICJpIik7DQor
TU9EVUxFX1BBUk0odGFyZ2V0X2V0aF9ieXRlMiwgImkiKTsNCitNT0RVTEVf
UEFSTSh0YXJnZXRfZXRoX2J5dGUzLCAiaSIpOw0KK01PRFVMRV9QQVJNKHRh
cmdldF9ldGhfYnl0ZTQsICJpIik7DQorTU9EVUxFX1BBUk0odGFyZ2V0X2V0
aF9ieXRlNSwgImkiKTsNCitNT0RVTEVfUEFSTShzb3VyY2VfcG9ydCwgImgi
KTsNCitNT0RVTEVfUEFSTSh0YXJnZXRfcG9ydCwgImgiKTsNCitNT0RVTEVf
UEFSTShkZXYsICJzIik7DQorDQorc3RhdGljIHN0cnVjdCBjb25zb2xlIG5l
dGNvbnNvbGUgPQ0KKwkgeyBmbGFnczogQ09OX0VOQUJMRUQsIHdyaXRlOiB3
cml0ZV9uZXRjb25zb2xlX21zZyB9Ow0KKw0KK3N0YXRpYyBpbnQgaW5pdF9u
ZXRjb25zb2xlKHZvaWQpDQorew0KKwlzdHJ1Y3QgbmV0X2RldmljZSAqbmRl
diA9IE5VTEw7DQorCXN0cnVjdCBpbl9kZXZpY2UgKmluX2RldjsNCisNCisJ
cHJpbnRrKEtFUk5fSU5GTyAibmV0Y29uc29sZTogdXNpbmcgbmV0d29yayBk
ZXZpY2UgPCVzPlxuIiwgZGV2KTsNCisJLy8gdGhpcyB3aWxsIGJlIHZhbGlk
IG9uY2UgdGhlIGRldmljZSBnb2VzIHVwLg0KKwlpZiAoZGV2KQ0KKwkJbmRl
diA9IGRldl9nZXRfYnlfbmFtZShkZXYpOw0KKwlpZiAoIW5kZXYpIHsNCisJ
CXByaW50ayhLRVJOX0VSUiAibmV0Y29uc29sZTogbmV0d29yayBkZXZpY2Ug
JXMgZG9lcyBub3QgZXhpc3QsIGFib3J0aW5nLlxuIiwgZGV2KTsNCisJCXJl
dHVybiAtMTsNCisJfQ0KKwlpZiAoIW5kZXYtPnBvbGxfY29udHJvbGxlcikg
ew0KKwkJcHJpbnRrKEtFUk5fRVJSICJuZXRjb25zb2xlOiAlcydzIG5ldHdv
cmsgZHJpdmVyIGRvZXMgbm90IGltcGxlbWVudCBuZXRsb2dnaW5nIHlldCwg
YWJvcnRpbmcuXG4iLCBkZXYpOw0KKwkJcmV0dXJuIC0xOw0KKwl9DQorICAg
ICAgICBpbl9kZXYgPSBpbl9kZXZfZ2V0KG5kZXYpOw0KKwlpZiAoIWluX2Rl
dikgew0KKwkJcHJpbnRrKEtFUk5fRVJSICJuZXRjb25zb2xlOiBuZXR3b3Jr
IGRldmljZSAlcyBpcyBub3QgYW4gSVAgcHJvdG9jb2wgZGV2aWNlLCBhYm9y
dGluZy5cbiIsIGRldik7DQorCQlyZXR1cm4gLTE7DQorCX0NCisJc291cmNl
X2lwID0gbnRvaGwoaW5fZGV2LT5pZmFfbGlzdC0+aWZhX2xvY2FsKTsNCisJ
aWYgKCFzb3VyY2VfaXApIHsNCisJCXByaW50ayhLRVJOX0VSUiAibmV0Y29u
c29sZTogbmV0d29yayBkZXZpY2UgJXMgaGFzIG5vIGxvY2FsIGFkZHJlc3Ms
IGFib3J0aW5nLlxuIiwgZGV2KTsNCisJCXJldHVybiAtMTsNCisJfQ0KKyNk
ZWZpbmUgSVAoeCkgKChjaGFyICopJnNvdXJjZV9pcClbeF0NCisJcHJpbnRr
KEtFUk5fSU5GTyAibmV0Y29uc29sZTogdXNpbmcgc291cmNlIElQICVpLiVp
LiVpLiVpXG4iLA0KKwkJSVAoMyksIElQKDIpLCBJUCgxKSwgSVAoMCkpOw0K
KyN1bmRlZiBJUA0KKwlzb3VyY2VfaXAgPSBodG9ubChzb3VyY2VfaXApOw0K
KwlpZiAoIXRhcmdldF9pcCkgew0KKwkJcHJpbnRrKEtFUk5fRVJSICJuZXRj
b25zb2xlOiB0YXJnZXRfaXAgcGFyYW1ldGVyIG5vdCBzcGVjaWZpZWQsIGFi
b3J0aW5nLlxuIik7DQorCQlyZXR1cm4gLTE7DQorCX0NCisjZGVmaW5lIElQ
KHgpICgoY2hhciAqKSZ0YXJnZXRfaXApW3hdDQorCXByaW50ayhLRVJOX0lO
Rk8gIm5ldGNvbnNvbGU6IHVzaW5nIHRhcmdldCBJUCAlaS4laS4laS4laVxu
IiwNCisJCUlQKDMpLCBJUCgyKSwgSVAoMSksIElQKDApKTsNCisjdW5kZWYg
SVANCisJdGFyZ2V0X2lwID0gaHRvbmwodGFyZ2V0X2lwKTsNCisJaWYgKCFz
b3VyY2VfcG9ydCkgew0KKwkJcHJpbnRrKEtFUk5fRVJSICJuZXRjb25zb2xl
OiBzb3VyY2VfcG9ydCBwYXJhbWV0ZXIgbm90IHNwZWNpZmllZCwgYWJvcnRp
bmcuXG4iKTsNCisJCXJldHVybiAtMTsNCisJfQ0KKwlwcmludGsoS0VSTl9J
TkZPICJuZXRjb25zb2xlOiB1c2luZyBzb3VyY2UgVURQIHBvcnQ6ICVpXG4i
LCBzb3VyY2VfcG9ydCk7DQorCXNvdXJjZV9wb3J0ID0gaHRvbnMoc291cmNl
X3BvcnQpOw0KKwlpZiAoIXRhcmdldF9wb3J0KSB7DQorCQlwcmludGsoS0VS
Tl9FUlIgIm5ldGNvbnNvbGU6IHRhcmdldF9wb3J0IHBhcmFtZXRlciBub3Qg
c3BlY2lmaWVkLCBhYm9ydGluZy5cbiIpOw0KKwkJcmV0dXJuIC0xOw0KKwl9
DQorCXByaW50ayhLRVJOX0lORk8gIm5ldGNvbnNvbGU6IHVzaW5nIHRhcmdl
dCBVRFAgcG9ydDogJWlcbiIsIHRhcmdldF9wb3J0KTsNCisJdGFyZ2V0X3Bv
cnQgPSBodG9ucyh0YXJnZXRfcG9ydCk7DQorDQorCWRhZGRyWzBdID0gdGFy
Z2V0X2V0aF9ieXRlMDsNCisJZGFkZHJbMV0gPSB0YXJnZXRfZXRoX2J5dGUx
Ow0KKwlkYWRkclsyXSA9IHRhcmdldF9ldGhfYnl0ZTI7DQorCWRhZGRyWzNd
ID0gdGFyZ2V0X2V0aF9ieXRlMzsNCisJZGFkZHJbNF0gPSB0YXJnZXRfZXRo
X2J5dGU0Ow0KKwlkYWRkcls1XSA9IHRhcmdldF9ldGhfYnl0ZTU7DQorDQor
CWlmICgoZGFkZHJbMF0gJiBkYWRkclsxXSAmIGRhZGRyWzJdICYgZGFkZHJb
M10gJiBkYWRkcls0XSAmIGRhZGRyWzVdKSA9PSAyNTUpDQorCQlwcmludGso
S0VSTl9JTkZPICJuZXRjb25zb2xlOiB1c2luZyBicm9hZGNhc3QgZXRoZXJu
ZXQgZnJhbWVzIHRvIHNlbmQgcGFja2V0cy5cbiIpOw0KKwllbHNlDQorCQlw
cmludGsoS0VSTl9JTkZPICJuZXRjb25zb2xlOiB1c2luZyB0YXJnZXQgZXRo
ZXJuZXQgYWRkcmVzcyAlMDJ4OiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeC5c
biIsIGRhZGRyWzBdLCBkYWRkclsxXSwgZGFkZHJbMl0sIGRhZGRyWzNdLCBk
YWRkcls0XSwgZGFkZHJbNV0pOw0KKwkJDQorCW5ldGNvbnNvbGVfZGV2ID0g
bmRldjsNCisjZGVmaW5lIFNUQVJUVVBfTVNHICJbLi4ubmV0d29yayBjb25z
b2xlIHN0YXJ0dXAuLi5dXG4iDQorCXdyaXRlX25ldGNvbnNvbGVfbXNnKE5V
TEwsIFNUQVJUVVBfTVNHLCBzdHJsZW4oU1RBUlRVUF9NU0cpKTsNCisNCisJ
cmVnaXN0ZXJfY29uc29sZSgmbmV0Y29uc29sZSk7DQorCXByaW50ayhLRVJO
X0lORk8gIm5ldGNvbnNvbGU6IG5ldHdvcmsgbG9nZ2luZyBzdGFydGVkIHVw
IHN1Y2Nlc3NmdWxseSFcbiIpOw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3Rh
dGljIHZvaWQgY2xlYW51cF9uZXRjb25zb2xlKHZvaWQpDQorew0KKwlwcmlu
dGsoS0VSTl9JTkZPICJuZXRjb25zb2xlOiBuZXR3b3JrIGxvZ2dpbmcgc2h1
dCBkb3duLlxuIik7DQorCXVucmVnaXN0ZXJfY29uc29sZSgmbmV0Y29uc29s
ZSk7DQorDQorI2RlZmluZSBTSFVURE9XTl9NU0cgIlsuLi5uZXR3b3JrIGNv
bnNvbGUgc2h1dGRvd24uLi5dXG4iDQorCXdyaXRlX25ldGNvbnNvbGVfbXNn
KE5VTEwsIFNIVVRET1dOX01TRywgc3RybGVuKFNIVVRET1dOX01TRykpOw0K
KwluZXRjb25zb2xlX2RldiA9IE5VTEw7DQorfQ0KKw0KK21vZHVsZV9pbml0
KGluaXRfbmV0Y29uc29sZSk7DQorbW9kdWxlX2V4aXQoY2xlYW51cF9uZXRj
b25zb2xlKTsNCisNCitpbnQgZHVtbXkgPSBNQVhfU0tCX1NJWkU7DQotLS0g
bGludXgvbGludXgvZHJpdmVycy9uZXQvTWFrZWZpbGUub3JpZwlXZWQgU2Vw
IDI2IDIxOjE0OjU4IDIwMDENCisrKyBsaW51eC9saW51eC9kcml2ZXJzL25l
dC9NYWtlZmlsZQlXZWQgU2VwIDI2IDIxOjE1OjE1IDIwMDENCkBAIC0yMTYs
NiArMjE2LDggQEANCiBvYmoteQkJKz0gLi4vYWNvcm4vbmV0L2Fjb3JuLW5l
dC5vDQogZW5kaWYNCiANCitvYmotJChDT05GSUdfTkVUQ09OU09MRSkgKz0g
bmV0Y29uc29sZS5vDQorDQogIw0KICMgSElQUEkgYWRhcHRlcnMNCiAjDQot
LS0gbGludXgvbGludXgvZHJpdmVycy9uZXQvQ29uZmlnLmluLm9yaWcJV2Vk
IFNlcCAyNiAyMToxNDo1OCAyMDAxDQorKysgbGludXgvbGludXgvZHJpdmVy
cy9uZXQvQ29uZmlnLmluCVdlZCBTZXAgMjYgMjE6MTU6MTUgMjAwMQ0KQEAg
LTI0OCw2ICsyNDgsOCBAQA0KICAgIGRlcF90cmlzdGF0ZSAnICBTeXNLb25u
ZWN0IEZEREkgUENJIHN1cHBvcnQnIENPTkZJR19TS0ZQICRDT05GSUdfUENJ
DQogZmkNCiANCitkZXBfdHJpc3RhdGUgJ05ldHdvcmsgbG9nZ2luZyBzdXBw
b3J0JyBDT05GSUdfTkVUQ09OU09MRQ0KKw0KIGlmIFsgIiRDT05GSUdfRVhQ
RVJJTUVOVEFMIiA9ICJ5IiBdOyB0aGVuDQogICAgaWYgWyAiJENPTkZJR19J
TkVUIiA9ICJ5IiBdOyB0aGVuDQogICAgICAgYm9vbCAnSElQUEkgZHJpdmVy
IHN1cHBvcnQgKEVYUEVSSU1FTlRBTCknIENPTkZJR19ISVBQSQ0KLS0tIGxp
bnV4L2xpbnV4L0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9uZXRsb2dnaW5n
LnR4dC5vcmlnCVdlZCBTZXAgMjYgMjE6MTU6MTUgMjAwMQ0KKysrIGxpbnV4
L2xpbnV4L0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9uZXRsb2dnaW5nLnR4
dAlXZWQgU2VwIDI2IDIxOjE1OjE1IDIwMDENCkBAIC0wLDAgKzEsNDYgQEAN
CisNCitzdGFydGVkIGJ5IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29t
PiwgMjAwMS4wOS4xNw0KKw0KK3RoZSBuZXR3b3JrIGNvbnNvbGUgY2FuIGJl
IGNvbmZpZ3VyZWQgb3ZlciB0aGUgbW9kdWxlIGludGVyZmFjZSwNCitieSBz
cGVjaWZ5aW5nIHRoZSBkZXY9LCB0YXJnZXRfaXA9LCBzb3VyY2VfcG9ydD0s
IHRhcmdldF9wb3J0PQ0KK21vZHVsZSBwYXJhbWV0ZXJzLiBTYW1wbGUgdXNl
Og0KKw0KK2luc21vZCBuZXRjb25zb2xlIGRldj1ldGgwIHRhcmdldF9pcD0w
eDBhMDAwNzAxIFwNCisgICAgICAgICAgICAgICAgICBzb3VyY2VfcG9ydD02
NjY2IHRhcmdldF9wb3J0PTY2NjYNCisNCitJUCBhZGRyZXNzZXMgbXVzdCBi
ZSBzcGVjaWZpZWQgaW4gaGV4YWRlY2ltYWwgbnVtYmVycy4gVGhlDQorYWJv
dmUgZXhhbXBsZSB1c2VzIHRhcmdldCBob3N0IElQIDEwLjAuNy4xLg0KKw0K
K2lmIHRoZSBtb2R1bGUgaXMgbG9hZGVkIHRoZW4gYWxsIGtlcm5lbCBtZXNz
YWdlcyBhcmUgc2VudCB0byB0aGUNCit0YXJnZXQgaG9zdCB2aWEgVURQIHBh
Y2tldHMuIFRoZSByZW1vdGUgaG9zdCBzaG91bGQgcnVuIHRoZQ0KK2NsaWVu
dC1zaWRlICduZXRjb25zb2xlJyBkYWVtb24gdG8gZGlzcGxheSAmIGxvZyB0
aGUgbWVzc2FnZXMuDQorDQorV0FSTklORzogdGhlIGRlZmF1bHQgc2V0dGlu
ZyB1c2VzIHRoZSBicm9hZGNhc3QgZXRoZXJuZXQgYWRkcmVzcw0KK3RvIHNl
bmQgcGFja2V0cywgd2hpY2ggY2FuIGNhdXNlIGluY3JlYXNlZCBsb2FkIG9u
IG90aGVyIHN5c3RlbXMNCitvbiB0aGUgc2FtZSBldGhlcm5ldCBzZWdtZW50
LiBJZiB0aGlzIGlzIG5vdCBkZXNpcmVkLCB0aGVuIHRoZQ0KK3RhcmdldCBl
dGhlcm5ldCBhZGRyZXNzIGNhbiBiZSBzcGVjaWZpZWQgdmlhIHRoZSB0YXJn
ZXRfZXRoX2J5dGUwLA0KK3RhcmdldF9ldGhfYnl0ZTEgLi4uIGJ5dGU1IG1v
ZHVsZSBwYXJhbWV0ZXJzLiBFZy46DQorDQoraW5zbW9kIG5ldGNvbnNvbGUg
ZGV2PWV0aDAgdGFyZ2V0X2lwPTB4MGEwMDA3MDEgXA0KKyAgICAgICAgICAg
ICAgICAgIHNvdXJjZV9wb3J0PTY2NjYgdGFyZ2V0X3BvcnQ9NjY2NiBcDQor
ICAgICAgICAgICAgICAgICAgdGFyZ2V0X2V0aF9ieXRlMD0weDAwIFwNCisg
ICAgICAgICAgICAgICAgICB0YXJnZXRfZXRoX2J5dGUxPTB4MDJcDQorICAg
ICAgICAgICAgICAgICAgdGFyZ2V0X2V0aF9ieXRlMj0weEE1IFwNCisgICAg
ICAgICAgICAgICAgICB0YXJnZXRfZXRoX2J5dGUzPTB4MTMgXA0KKyAgICAg
ICAgICAgICAgICAgIHRhcmdldF9ldGhfYnl0ZTQ9MHg1MSBcDQorICAgICAg
ICAgICAgICAgICAgdGFyZ2V0X2V0aF9ieXRlNT0weEREDQorDQord2lsbCBp
bnN0cnVjdCB0aGUgbmV0Y29uc29sZSBjb2RlIHRvIHVzZSB0YXJnZXQgZXRo
ZXJuZXQgYWRkcmVzcw0KKzAwOjAyOkE1OjEzOjUxOkRELg0KKw0KK05PVEU6
IHRoZSBuZXR3b3JrIGRldmljZSAoZXRoMCBpbiB0aGUgYWJvdmUgY2FzZSkg
Y2FuIHJ1biBhbnkga2luZA0KK29mIG90aGVyIG5ldHdvcmsgdHJhZmZpYywg
bmV0Y29uc29sZSBpcyBub3QgaW50cnVzaXZlLiBOZXRjb25zb2xlDQorbWln
aHQgY2F1c2Ugc2xpZ2h0IGRlbGF5cyBpbiBvdGhlciB0cmFmZmljIGlmIHRo
ZSB2b2x1bWUgb2Yga2VybmVsDQorbWVzc2FnZXMgaXMgaGlnaCwgYnV0IHNo
b3VsZCBoYXZlIG5vIG90aGVyIGltcGFjdC4NCisNCituZXRjb25zb2xlIHdh
cyBkZXNpZ25lZCB0byBiZSBhcyBpbnN0YW50YW5lb3VzIGFzIHBvc3NpYmxl
LCB0bw0KK2VuYWJsZSB0aGUgbG9nZ2luZyBvZiBldmVuIHRoZSBtb3N0IGNy
aXRpY2FsIGtlcm5lbCBidWdzLiBJdCB3b3Jrcw0KK2Zyb20gSVJRIGNvbnRl
eHRzIGFzIHdlbGwsIGFuZCBkb2VzIG5vdCBlbmFibGUgaW50ZXJydXB0cyB3
aGlsZQ0KK3NlbmRpbmcgcGFja2V0cy4gRHVlIHRvIHRoZXNlIHVuaXF1ZSBu
ZWVkcywgY29uZmlndXJhdGlvbiBjYW4gbm90DQorYmUgbW9yZSBhdXRvbWF0
aWMsIGFuZCBzb21lIGZ1bmRhbWVudGFsIGxpbWl0YXRpb25zIHdpbGwgcmVt
YWluOg0KK29ubHkgSVAgbmV0d29ya3MsIFVEUCBwYWNrZXRzIGFuZCBldGhl
cm5ldCBkZXZpY2VzIGFyZSBzdXBwb3J0ZWQuDQotLS0gbGludXgvbGludXgv
RG9jdW1lbnRhdGlvbi9Db25maWd1cmUuaGVscC5vcmlnCVdlZCBTZXAgMjYg
MjE6MTQ6NTUgMjAwMQ0KKysrIGxpbnV4L2xpbnV4L0RvY3VtZW50YXRpb24v
Q29uZmlndXJlLmhlbHAJV2VkIFNlcCAyNiAyMToxNToxNSAyMDAxDQpAQCAt
OTk5Nyw2ICs5OTk3LDExIEBADQogICBzYXkgTSBoZXJlIGFuZCByZWFkIERv
Y3VtZW50YXRpb24vbW9kdWxlcy50eHQuIFRoaXMgaXMgcmVjb21tZW5kZWQu
DQogICBUaGUgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIHNrZnAuby4NCiANCitO
ZXR3b3JrIGxvZ2dpbmcgc3VwcG9ydA0KK0NPTkZJR19ORVRDT05TT0xFDQor
ICBJZiB5b3Ugd2FudCB0byBsb2cga2VybmVsIG1lc3NhZ2VzIG92ZXIgdGhl
IG5ldHdvcmssIHRoZW4gc2F5DQorICAiTSIgaGVyZS4gU2VlIERvY3VtZW50
YXRpb24vbmV0d29ya2luZy9uZXRsb2dnaW5nLnR4dCBmb3IgZGV0YWlscy4N
CisNCiBISWdoIFBlcmZvcm1hbmNlIFBhcmFsbGVsIEludGVyZmFjZSBzdXBw
b3J0IChFWFBFUklNRU5UQUwpDQogQ09ORklHX0hJUFBJDQogICBISWdoIFBl
cmZvcm1hbmNlIFBhcmFsbGVsIEludGVyZmFjZSAoSElQUEkpIGlzIGEgODAw
TWJpdC9zZWMgYW5kDQo=
--8323328-2090465018-1001694854=:8840--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/