[redone PATCH 2.5.22] simple ide-tape/floppy.c cleanup

Bartlomiej Zolnierkiewicz (B.Zolnierkiewicz@elka.pw.edu.pl)
Thu, 20 Jun 2002 23:05:46 +0200 (MET DST)


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.

---559023410-851401618-1024607113=:14933
Content-Type: TEXT/PLAIN; charset=US-ASCII

redone without controversial bits...

generic ATAPI hit #1 against 2.5.22:

- move generic ATAPI structs from ide/ide-floppy.c
and ide/ide-tape.c to include/atapi.h
(this has a nice side effect of making ide-tape
a bit more endianness aware)

- remove IDEFLOPPY_MIN/MAX() macros, use generic ones

- add #ifndef __LINUX_ATAPI_H_ blabla to atapi.h
to prevent including it more than once

should apply cleanly to 2.5.23

--
Bartlomiej Zolnierkiewicz

---559023410-851401618-1024607113=:14933 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="atapi-1a.diff" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.SOL.4.30.0206202305130.14933@mion.elka.pw.edu.pl> Content-Description: Content-Disposition: attachment; filename="atapi-1a.diff"

LS0tIGxpbnV4LTIuNS4yMi9pbmNsdWRlL2xpbnV4L2F0YXBpLmgJVGh1IEp1 biAyMCAyMTozODowNCAyMDAyDQorKysgbGludXgvaW5jbHVkZS9saW51eC9h dGFwaS5oCVRodSBKdW4gMjAgMjE6NDc6MzcgMjAwMg0KQEAgLTEsMyArMSw3 IEBADQorDQorI2lmbmRlZiBfX0xJTlVYX0FUQVBJX0gNCisjZGVmaW5lIF9f TElOVVhfQVRBUElfSA0KKw0KIC8qKioqIHZpOnNldCB0cz04IHN0cz04IHN3 PTg6KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqDQogICoNCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDIgTWFyY2luIERh bGVja2kgPG1hcnRpbkBkYWxlY2tpLmRlPg0KQEAgLTEyLDYgKzE2LDkgQEAN CiAgKiBtb3JlIGRldGFpbHMuDQogICovDQogDQorI2luY2x1ZGUgPGxpbnV4 L3R5cGVzLmg+DQorI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4NCisNCiAv Kg0KICAqIFdpdGggZWFjaCBwYWNrZXQgY29tbWFuZCwgd2UgYWxsb2NhdGUg YSBidWZmZXIuDQogICogVGhpcyBpcyB1c2VkIGZvciBzZXZlcmFsIHBhY2tl dA0KQEAgLTc5LDMgKzg2LDI4MyBAQA0KIGV4dGVybiB2b2lkIGF0YXBpX3Jl YWQoc3RydWN0IGF0YV9kZXZpY2UgKiwgdTggKiwgdW5zaWduZWQgaW50KTsN CiBleHRlcm4gdm9pZCBhdGFwaV93cml0ZShzdHJ1Y3QgYXRhX2RldmljZSAq LCB1OCAqLCB1bnNpZ25lZCBpbnQpOw0KIA0KKw0KKy8qDQorICoJQVRBUEkg U3RhdHVzIFJlZ2lzdGVyLg0KKyAqLw0KK3R5cGVkZWYgdW5pb24gew0KKwl1 OCBhbGwJCQk6IDg7DQorCXN0cnVjdCB7DQorI2lmIGRlZmluZWQoX19MSVRU TEVfRU5ESUFOX0JJVEZJRUxEKQ0KKwkJdTggY2hlY2sJOiAxOwkvKiBFcnJv ciBvY2N1cnJlZCAqLw0KKwkJdTggaWR4CQk6IDE7CS8qIFJlc2VydmVkICov DQorCQl1OCBjb3JyCQk6IDE7CS8qIENvcnJlY3RhYmxlIGVycm9yIG9jY3Vy cmVkICovDQorCQl1OCBkcnEJCTogMTsJLyogRGF0YSBpcyByZXF1ZXN0IGJ5 IHRoZSBkZXZpY2UgKi8NCisJCXU4IGRzYwkJOiAxOwkvKiBNZWRpYSBhY2Nl c3MgY29tbWFuZCBmaW5pc2hlZCAvIEJ1ZmZlciBhdmFpbGFiaWxpdHkgKi8N CisJCXU4IHJlc2VydmVkNQk6IDE7CS8qIFJlc2VydmVkICovDQorCQl1OCBk cmR5CQk6IDE7CS8qIElnbm9yZWQgZm9yIEFUQVBJIGNvbW1hbmRzIChyZWFk eSB0byBhY2NlcHQgQVRBIGNvbW1hbmQpICovDQorCQl1OCBic3kJCTogMTsJ LyogVGhlIGRldmljZSBoYXMgYWNjZXNzIHRvIHRoZSBjb21tYW5kIGJsb2Nr ICovDQorI2VsaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpDQor CQl1OCBic3kJCTogMTsNCisJCXU4IGRyZHkJCTogMTsNCisJCXU4IHJlc2Vy dmVkNQk6IDE7DQorCQl1OCBkc2MJCTogMTsNCisJCXU4IGRycQkJOiAxOw0K KwkJdTggY29ycgkJOiAxOw0KKwkJdTggaWR4CQk6IDE7DQorCQl1OCBjaGVj awk6IDE7DQorI2Vsc2UNCisjZXJyb3IgIlBsZWFzZSBmaXggPGFzbS9ieXRl b3JkZXIuaD4iDQorI2VuZGlmDQorCX0gYjsNCit9IGF0YXBpX3N0YXR1c19y ZWdfdDsNCisNCisvKg0KKyAqCUFUQVBJIGVycm9yIHJlZ2lzdGVyLg0KKyAq Lw0KK3R5cGVkZWYgdW5pb24gew0KKwl1OCBhbGwJCQk6IDg7DQorCXN0cnVj dCB7DQorI2lmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0K KwkJdTggaWxpCQk6IDE7CS8qIElsbGVnYWwgTGVuZ3RoIEluZGljYXRpb24g Ki8NCisJCXU4IGVvbQkJOiAxOwkvKiBFbmQgT2YgTWVkaWEgRGV0ZWN0ZWQg Ki8NCisJCXU4IGFicnQJCTogMTsJLyogQWJvcnRlZCBjb21tYW5kIC0gQXMg ZGVmaW5lZCBieSBBVEEgKi8NCisJCXU4IG1jcgkJOiAxOwkvKiBNZWRpYSBD aGFuZ2UgUmVxdWVzdGVkIC0gQXMgZGVmaW5lZCBieSBBVEEgKi8NCisJCXU4 IHNlbnNlX2tleQk6IDQ7CS8qIFNlbnNlIGtleSBvZiB0aGUgbGFzdCBmYWls ZWQgcGFja2V0IGNvbW1hbmQgKi8NCisjZWxpZiBkZWZpbmVkKF9fQklHX0VO RElBTl9CSVRGSUVMRCkNCisJCXU4IHNlbnNlX2tleQk6IDQ7DQorCQl1OCBt Y3IJCTogMTsNCisJCXU4IGFicnQJCTogMTsNCisJCXU4IGVvbQkJOiAxOw0K KwkJdTggaWxpCQk6IDE7DQorI2Vsc2UNCisjZXJyb3IgIlBsZWFzZSBmaXgg PGFzbS9ieXRlb3JkZXIuaD4iDQorI2VuZGlmDQorCX0gYjsNCit9IGF0YXBp X2Vycm9yX3JlZ190Ow0KKw0KKy8qIEN1cnJlbnRseSB1bnVzZWQsIGJ1dCBw bGVhc2UgZG8gbm90IHJlbW92ZS4gIC0tYmt6ICovDQorLyoNCisgKglBVEFQ SSBGZWF0dXJlIFJlZ2lzdGVyLg0KKyAqLw0KK3R5cGVkZWYgdW5pb24gew0K Kwl1OCBhbGwJCQk6IDg7DQorCXN0cnVjdCB7DQorI2lmIGRlZmluZWQoX19M SVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0KKwkJdTggZG1hCQk6IDE7CS8qIFVz aW5nIERNQSBvciBQSU8gKi8NCisJCXU4IHJlc2VydmVkMzIxCTogMzsJLyog UmVzZXJ2ZWQgKi8NCisJCXU4IHJlc2VydmVkNjU0CTogMzsJLyogUmVzZXJ2 ZWQgKFRhZyBUeXBlKSAqLw0KKwkJdTggcmVzZXJ2ZWQ3CTogMTsJLyogUmVz ZXJ2ZWQgKi8NCisjZWxpZiBkZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVM RCkNCisJCXU4IHJlc2VydmVkNwk6IDE7DQorCQl1OCByZXNlcnZlZDY1NAk6 IDM7DQorCQl1OCByZXNlcnZlZDMyMQk6IDM7DQorCQl1OCBkbWEJCTogMTsN CisjZWxzZQ0KKyNlcnJvciAiUGxlYXNlIGZpeCA8YXNtL2J5dGVvcmRlci5o PiINCisjZW5kaWYNCisJfSBiOw0KK30gYXRhcGlfZmVhdHVyZV9yZWdfdDsN CisNCisvKg0KKyAqCUFUQVBJIEJ5dGUgQ291bnQgUmVnaXN0ZXIuDQorICov DQordHlwZWRlZiB1bmlvbiB7DQorCXUxNiBhbGwJCQk6IDE2Ow0KKwlzdHJ1 Y3Qgew0KKyNpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVMRCkN CisJCXU4IGxvdzsJCQkvKiBMU0IgKi8NCisJCXU4IGhpZ2g7CQkvKiBNU0Ig Ki8NCisjZWxpZiBkZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVMRCkNCisJ CXU4IGhpZ2g7DQorCQl1OCBsb3c7DQorI2Vsc2UNCisjZXJyb3IgIlBsZWFz ZSBmaXggPGFzbS9ieXRlb3JkZXIuaD4iDQorI2VuZGlmDQorCX0gYjsNCit9 IGF0YXBpX2Jjb3VudF9yZWdfdDsNCisNCisvKg0KKyAqCUFUQVBJIEludGVy cnVwdCBSZWFzb24gUmVnaXN0ZXIuDQorICovDQordHlwZWRlZiB1bmlvbiB7 DQorCXU4IGFsbAkJCTogODsNCisJc3RydWN0IHsNCisjaWYgZGVmaW5lZChf X0xJVFRMRV9FTkRJQU5fQklURklFTEQpDQorCQl1OCBjb2QJCTogMTsJLyog SW5mb3JtYXRpb24gdHJhbnNmZXJyZWQgaXMgY29tbWFuZCAoMSkgb3IgZGF0 YSAoMCkgKi8NCisJCXU4IGlvCQk6IDE7CS8qIFRoZSBkZXZpY2UgcmVxdWVz dHMgdXMgdG8gcmVhZCAoMSkgb3Igd3JpdGUgKDApICovDQorCQl1OCByZXNl cnZlZAk6IDY7CS8qIFJlc2VydmVkICovDQorI2VsaWYgZGVmaW5lZChfX0JJ R19FTkRJQU5fQklURklFTEQpDQorCQl1OCByZXNlcnZlZAk6IDY7DQorCQl1 OCBpbwkJOiAxOw0KKwkJdTggY29kCQk6IDE7DQorI2Vsc2UNCisjZXJyb3Ig IlBsZWFzZSBmaXggPGFzbS9ieXRlb3JkZXIuaD4iDQorI2VuZGlmDQorCX0g YjsNCit9IGF0YXBpX2lyZWFzb25fcmVnX3Q7DQorDQorLyogQ3VycmVudGx5 IHVudXNlZCwgYnV0IHBsZWFzZSBkbyBub3QgcmVtb3ZlLiAgLS1ia3ogKi8N CisvKg0KKyAqCUFUQVBJIERyaXZlIFNlbGVjdCBSZWdpc3Rlci4NCisgKi8N Cit0eXBlZGVmIHVuaW9uIHsJDQorCXU4IGFsbAkJCTo4Ow0KKwlzdHJ1Y3Qg ew0KKyNpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVMRCkNCisJ CXU4IHNhbV9sdW4JOjM7CS8qIExvZ2ljYWwgdW5pdCBudW1iZXIgKi8NCisJ CXU4IHJlc2VydmVkMwk6MTsJLyogUmVzZXJ2ZWQgKi8NCisJCXU4IGRydgkJ OjE7CS8qIFRoZSByZXNwb25kaW5nIGRyaXZlIHdpbGwgYmUgZHJpdmUgMCAo MCkgb3IgZHJpdmUgMSAoMSkgKi8NCisJCXU4IG9uZTUJCToxOwkvKiBTaG91 bGQgYmUgc2V0IHRvIDEgKi8NCisJCXU4IHJlc2VydmVkNgk6MTsJLyogUmVz ZXJ2ZWQgKi8NCisJCXU4IG9uZTcJCToxOwkvKiBTaG91bGQgYmUgc2V0IHRv IDEgKi8NCisjZWxpZiBkZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVMRCkN CisJCXU4IG9uZTcJCToxOw0KKwkJdTggcmVzZXJ2ZWQ2CToxOw0KKwkJdTgg b25lNQkJOjE7DQorCQl1OCBkcnYJCToxOw0KKwkJdTggcmVzZXJ2ZWQzCTox Ow0KKwkJdTggc2FtX2x1bgk6MzsNCisjZWxzZQ0KKyNlcnJvciAiUGxlYXNl IGZpeCA8YXNtL2J5dGVvcmRlci5oPiINCisjZW5kaWYNCisJfSBiOw0KK30g YXRhcGlfZHJpdmVzZWxfcmVnX3Q7DQorDQorLyogQ3VycmVudGx5IHVudXNl ZCwgYnV0IHBsZWFzZSBkbyBub3QgcmVtb3ZlLiAgLS1ia3ogKi8NCisvKg0K KyAqCUFUQVBJIERldmljZSBDb250cm9sIFJlZ2lzdGVyLg0KKyAqLw0KK3R5 cGVkZWYgdW5pb24gew0KKwl1OCBhbGwJCQk6IDg7DQorCXN0cnVjdCB7DQor I2lmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0KKwkJdTgg emVybzAJOiAxOwkvKiBTaG91bGQgYmUgc2V0IHRvIHplcm8gKi8NCisJCXU4 IG5pZW4JCTogMTsJLyogRGV2aWNlIGludGVycnVwdCBpcyBkaXNhYmxlZCAo MSkgb3IgZW5hYmxlZCAoMCkgKi8NCisJCXU4IHNyc3QJCTogMTsJLyogQVRB IHNvZnR3YXJlIHJlc2V0LiBBVEFQSSBkZXZpY2VzIHNob3VsZCB1c2UgdGhl IG5ldyBBVEFQSSBzcnN0LiAqLw0KKwkJdTggb25lMwkJOiAxOwkvKiBTaG91 bGQgYmUgc2V0IHRvIDEgKi8NCisJCXU4IHJlc2VydmVkNDU2Nwk6IDQ7CS8q IFJlc2VydmVkICovDQorI2VsaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklU RklFTEQpDQorCQl1OCByZXNlcnZlZDQ1NjcJOiA0Ow0KKwkJdTggb25lMwkJ OiAxOw0KKwkJdTggc3JzdAkJOiAxOw0KKwkJdTggbmllbgkJOiAxOw0KKwkJ dTggemVybzAJOiAxOw0KKyNlbHNlDQorI2Vycm9yICJQbGVhc2UgZml4IDxh c20vYnl0ZW9yZGVyLmg+Ig0KKyNlbmRpZg0KKwl9IGI7DQorfSBhdGFwaV9j b250cm9sX3JlZ190Ow0KKw0KKy8qDQorICoJVGhlIGZvbGxvd2luZyBpcyB1 c2VkIHRvIGZvcm1hdCB0aGUgZ2VuZXJhbCBjb25maWd1cmF0aW9uIHdvcmQN CisgKglvZiB0aGUgQVRBUEkgSURFTlRJRlkgREVWSUNFIGNvbW1hbmQuDQor ICovDQorc3RydWN0IGF0YXBpX2lkX2djdyB7DQorI2lmIGRlZmluZWQoX19M SVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0KKwl1OCBwYWNrZXRfc2l6ZQkJOiAy OwkvKiBQYWNrZXQgU2l6ZSAqLw0KKwl1OCByZXNlcnZlZDIzNAkJOiAzOwkv KiBSZXNlcnZlZCAqLw0KKwl1OCBkcnFfdHlwZQkJOiAyOwkvKiBDb21tYW5k IHBhY2tldCBEUlEgdHlwZSAqLw0KKwl1OCByZW1vdmFibGUJCTogMTsJLyog UmVtb3ZhYmxlIG1lZGlhICovDQorCXU4IGRldmljZV90eXBlCQk6IDU7CS8q IERldmljZSB0eXBlICovDQorCXU4IHJlc2VydmVkMTMJCTogMTsJLyogUmVz ZXJ2ZWQgKi8NCisJdTggcHJvdG9jb2wJCTogMjsJLyogUHJvdG9jb2wgdHlw ZSAqLw0KKyNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQ0K Kwl1OCBwcm90b2NvbAkJOiAyOw0KKwl1OCByZXNlcnZlZDEzCQk6IDE7DQor CXU4IGRldmljZV90eXBlCQk6IDU7DQorCXU4IHJlbW92YWJsZQkJOiAxOw0K Kwl1OCBkcnFfdHlwZQkJOiAyOw0KKwl1OCByZXNlcnZlZDIzNAkJOiAzOw0K Kwl1OCBwYWNrZXRfc2l6ZQkJOiAyOw0KKyNlbHNlCQ0KKyNlcnJvciAiUGxl YXNlIGZpeCA8YXNtL2J5dGVvcmRlci5oPiINCisjZW5kaWYNCit9Ow0KKw0K Ky8qDQorICoJSU5RVUlSWSBwYWNrZXQgY29tbWFuZCAtIERhdGEgRm9ybWF0 Lg0KKyAqLw0KK3R5cGVkZWYgc3RydWN0IHsNCisjaWYgZGVmaW5lZChfX0xJ VFRMRV9FTkRJQU5fQklURklFTEQpDQorCXU4CWRldmljZV90eXBlCTogNTsJ LyogUGVyaXBoZXJhbCBEZXZpY2UgVHlwZSAqLw0KKwl1OAlyZXNlcnZlZDBf NzY1CTogMzsJLyogUGVyaXBoZXJhbCBRdWFsaWZpZXIgLSBSZXNlcnZlZCAq Lw0KKwl1OAlyZXNlcnZlZDFfNnQwCTogNzsJLyogUmVzZXJ2ZWQgKi8NCisJ dTgJcm1iCQk6IDE7CS8qIFJlbW92YWJsZSBNZWRpdW0gQml0ICovDQorCXU4 CWFuc2lfdmVyc2lvbgk6IDM7CS8qIEFOU0kgVmVyc2lvbiAqLw0KKwl1OAll Y21hX3ZlcnNpb24JOiAzOwkvKiBFQ01BIFZlcnNpb24gKi8NCisJdTgJaXNv X3ZlcnNpb24JOiAyOwkvKiBJU08gVmVyc2lvbiAqLw0KKwl1OAlyZXNwb25z ZV9mb3JtYXQgOiA0OwkvKiBSZXNwb25zZSBEYXRhIEZvcm1hdCAqLw0KKwl1 OAlyZXNlcnZlZDNfNDUJOiAyOwkvKiBSZXNlcnZlZCAqLw0KKwl1OAlyZXNl cnZlZDNfNgk6IDE7CS8qIFRybUlPUCAtIFJlc2VydmVkICovDQorCXU4CXJl c2VydmVkM183CTogMTsJLyogQUVOQyAtIFJlc2VydmVkICovDQorI2VsaWYg ZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpDQorCXU4CXJlc2VydmVk MF83NjUJOiAzOw0KKwl1OAlkZXZpY2VfdHlwZQk6IDU7DQorCXU4CXJtYgkJ OiAxOw0KKwl1OAlyZXNlcnZlZDFfNnQwCTogNzsNCisJdTgJaXNvX3ZlcnNp b24JOiAyOw0KKwl1OAllY21hX3ZlcnNpb24JOiAzOw0KKwl1OAlhbnNpX3Zl cnNpb24JOiAzOw0KKwl1OAlyZXNlcnZlZDNfNwk6IDE7DQorCXU4CXJlc2Vy dmVkM182CTogMTsNCisJdTgJcmVzZXJ2ZWQzXzQ1CTogMjsNCisJdTgJcmVz cG9uc2VfZm9ybWF0IDogNDsNCisjZWxzZQ0KKyNlcnJvciAiUGxlYXNlIGZp eCA8YXNtL2J5dGVvcmRlci5oPiINCisjZW5kaWYNCisJdTgJYWRkaXRpb25h bF9sZW5ndGg7CS8qIEFkZGl0aW9uYWwgTGVuZ3RoICh0b3RhbF9sZW5ndGgt NCkgKi8NCisJdTgJcnN2NSwgcnN2NiwgcnN2NzsJLyogUmVzZXJ2ZWQgKi8N CisJdTgJdmVuZG9yX2lkWzhdOwkJLyogVmVuZG9yIElkZW50aWZpY2F0aW9u ICovDQorCXU4CXByb2R1Y3RfaWRbMTZdOwkJLyogUHJvZHVjdCBJZGVudGlm aWNhdGlvbiAqLw0KKwl1OAlyZXZpc2lvbl9sZXZlbFs0XTsJLyogUmV2aXNp b24gTGV2ZWwgKi8NCisJdTgJdmVuZG9yX3NwZWNpZmljWzIwXTsJLyogVmVu ZG9yIFNwZWNpZmljIC0gT3B0aW9uYWwgKi8NCisJdTgJcmVzZXJ2ZWQ1NnQ5 NVs0MF07CS8qIFJlc2VydmVkIC0gT3B0aW9uYWwgKi8NCisJCQkJCS8qIEFk ZGl0aW9uYWwgaW5mb3JtYXRpb24gbWF5IGJlIHJldHVybmVkICovDQorfSBh dGFwaV9pbnF1aXJ5X3Jlc3VsdF90Ow0KKw0KKy8qDQorICoJUkVRVUVTVCBT RU5TRSBwYWNrZXQgY29tbWFuZCByZXN1bHQgLSBEYXRhIEZvcm1hdC4NCisg Ki8NCit0eXBlZGVmIHN0cnVjdCB7DQorI2lmIGRlZmluZWQoX19MSVRUTEVf RU5ESUFOX0JJVEZJRUxEKQ0KKwl1OAllcnJvcl9jb2RlCTogNzsJLyogRXJy b3IgQ29kZSAoMHg3MCAtIGN1cnJlbnQgb3IgMHg3MSAtIGRlZmVycmVkKSAq Lw0KKwl1OAl2YWxpZAkJOiAxOwkvKiBUaGUgaW5mb3JtYXRpb24gZmllbGQg Y29uZm9ybXMgdG8gc3RhbmRhcmQgKi8NCisJdTgJcmVzZXJ2ZWQxCTogODsJ LyogUmVzZXJ2ZWQgKFNlZ21lbnQgTnVtYmVyKSAqLw0KKwl1OAlzZW5zZV9r ZXkJOiA0OwkvKiBTZW5zZSBLZXkgKi8NCisJdTgJcmVzZXJ2ZWQyXzQJOiAx OwkvKiBSZXNlcnZlZCAqLw0KKwl1OAlpbGkJCTogMTsJLyogSW5jb3JyZWN0 IExlbmd0aCBJbmRpY2F0b3IgKi8NCisJdTgJZW9tCQk6IDE7CS8qIEVuZCBP ZiBNZWRpdW0gKi8NCisJdTgJZmlsZW1hcmsJOiAxOwkvKiBGaWxlbWFyayAq Lw0KKyNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQ0KKwl1 OAl2YWxpZAkJOiAxOw0KKwl1OAllcnJvcl9jb2RlCTogNzsNCisJdTgJcmVz ZXJ2ZWQxCTogODsNCisJdTgJZmlsZW1hcmsJOiAxOw0KKwl1OAllb20JCTog MTsNCisJdTgJaWxpCQk6IDE7DQorCXU4CXJlc2VydmVkMl80CTogMTsNCisJ dTgJc2Vuc2Vfa2V5CTogNDsNCisjZWxzZQ0KKyNlcnJvciAiUGxlYXNlIGZp eCA8YXNtL2J5dGVvcmRlci5oPiINCisjZW5kaWYNCisJdTMyCWluZm9ybWF0 aW9uIF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsNCisJdTgJYXNsOwkJCS8q IEFkZGl0aW9uYWwgc2Vuc2UgbGVuZ3RoIChuLTcpICovDQorCXUzMgljb21t YW5kX3NwZWNpZmljOwkvKiBBZGRpdGlvbmFsIGNvbW1hbmQgc3BlY2lmaWMg aW5mb3JtYXRpb24gKi8NCisJdTgJYXNjOwkJCS8qIEFkZGl0aW9uYWwgU2Vu c2UgQ29kZSAqLw0KKwl1OAlhc2NxOwkJCS8qIEFkZGl0aW9uYWwgU2Vuc2Ug Q29kZSBRdWFsaWZpZXIgKi8NCisJdTgJcmVwbGFjZWFibGVfdW5pdF9jb2Rl OwkvKiBGaWVsZCBSZXBsYWNlYWJsZSBVbml0IENvZGUgKi8NCisjaWYgZGVm aW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpDQorCXU4CXNrX3NwZWNp ZmljMQk6IDc7CS8qIFNlbnNlIEtleSBTcGVjaWZpYyAqLw0KKwl1OAlza3N2 CQk6IDE7CS8qIFNlbnNlIEtleSBTcGVjaWZpYyBpbmZvcm1hdGlvbiBpcyB2 YWxpZCAqLw0KKyNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxE KQ0KKwl1OAlza3N2CQk6IDE7CS8qIFNlbnNlIEtleSBTcGVjaWZpYyBpbmZv cm1hdGlvbiBpcyB2YWxpZCAqLw0KKwl1OAlza19zcGVjaWZpYzEJOiA3Owkv KiBTZW5zZSBLZXkgU3BlY2lmaWMgKi8NCisjZWxzZQ0KKyNlcnJvciAiUGxl YXNlIGZpeCA8YXNtL2J5dGVvcmRlci5oPiINCisjZW5kaWYNCisJdTgJc2tf c3BlY2lmaWNbMl07CQkvKiBTZW5zZSBLZXkgU3BlY2lmaWMgKi8NCisJdTgJ cGFkWzJdOwkJCS8qIFBhZGRpbmcgdG8gMjAgYnl0ZXMgKi8NCit9IGF0YXBp X3JlcXVlc3Rfc2Vuc2VfcmVzdWx0X3Q7DQorDQorI2VuZGlmIF9fTElOVVhf QVRBUElfSA0KLS0tIGxpbnV4LTIuNS4yMi9kcml2ZXJzL2lkZS9pZGUtZmxv cHB5LmMJVGh1IEp1biAyMCAyMTozODowNCAyMDAyDQorKysgbGludXgvZHJp dmVycy9pZGUvaWRlLWZsb3BweS5jCVRodSBKdW4gMjAgMjE6NDY6MDEgMjAw Mg0KQEAgLTMxNSwyNzAgKzMxNSw2IEBADQogI2RlZmluZQlJREVGTE9QUFlf RVJST1JfR0VORVJBTAkJMTAxDQogDQogLyoNCi0gKglUaGUgQVRBUEkgU3Rh dHVzIFJlZ2lzdGVyLg0KLSAqLw0KLXR5cGVkZWYgdW5pb24gew0KLQl1bnNp Z25lZCBhbGwJCQk6ODsNCi0Jc3RydWN0IHsNCi0jaWYgZGVmaW5lZChfX0xJ VFRMRV9FTkRJQU5fQklURklFTEQpDQotCQl1bnNpZ25lZCBjaGVjawkJOjE7 CS8qIEVycm9yIG9jY3VycmVkICovDQotCQl1bnNpZ25lZCBpZHgJCToxOwkv KiBSZXNlcnZlZCAqLw0KLQkJdW5zaWduZWQgY29ycgkJOjE7CS8qIENvcnJl Y3RhYmxlIGVycm9yIG9jY3VycmVkICovDQotCQl1bnNpZ25lZCBkcnEJCTox OwkvKiBEYXRhIGlzIHJlcXVlc3QgYnkgdGhlIGRldmljZSAqLw0KLQkJdW5z aWduZWQgZHNjCQk6MTsJLyogTWVkaWEgYWNjZXNzIGNvbW1hbmQgZmluaXNo ZWQgKi8NCi0JCXVuc2lnbmVkIHJlc2VydmVkNQk6MTsJLyogUmVzZXJ2ZWQg Ki8NCi0JCXVuc2lnbmVkIGRyZHkJCToxOwkvKiBJZ25vcmVkIGZvciBBVEFQ SSBjb21tYW5kcyAocmVhZHkgdG8gYWNjZXB0IEFUQSBjb21tYW5kKSAqLw0K LQkJdW5zaWduZWQgYnN5CQk6MTsJLyogVGhlIGRldmljZSBoYXMgYWNjZXNz IHRvIHRoZSBjb21tYW5kIGJsb2NrICovDQotI2VsaWYgZGVmaW5lZChfX0JJ R19FTkRJQU5fQklURklFTEQpDQotCQl1bnNpZ25lZCBic3kJCToxOwkvKiBU aGUgZGV2aWNlIGhhcyBhY2Nlc3MgdG8gdGhlIGNvbW1hbmQgYmxvY2sgKi8N Ci0JCXVuc2lnbmVkIGRyZHkJCToxOwkvKiBJZ25vcmVkIGZvciBBVEFQSSBj b21tYW5kcyAocmVhZHkgdG8gYWNjZXB0IEFUQSBjb21tYW5kKSAqLw0KLQkJ dW5zaWduZWQgcmVzZXJ2ZWQ1CToxOwkvKiBSZXNlcnZlZCAqLw0KLQkJdW5z aWduZWQgZHNjCQk6MTsJLyogTWVkaWEgYWNjZXNzIGNvbW1hbmQgZmluaXNo ZWQgKi8NCi0JCXVuc2lnbmVkIGRycQkJOjE7CS8qIERhdGEgaXMgcmVxdWVz dCBieSB0aGUgZGV2aWNlICovDQotCQl1bnNpZ25lZCBjb3JyCQk6MTsJLyog Q29ycmVjdGFibGUgZXJyb3Igb2NjdXJyZWQgKi8NCi0JCXVuc2lnbmVkIGlk eAkJOjE7CS8qIFJlc2VydmVkICovDQotCQl1bnNpZ25lZCBjaGVjawkJOjE7 CS8qIEVycm9yIG9jY3VycmVkICovDQotI2Vsc2UNCi0jZXJyb3IgIkJpdGZp ZWxkIGVuZGlhbm5lc3Mgbm90IGRlZmluZWQhIENoZWNrIHlvdXIgYnl0ZW9y ZGVyLmgiDQotI2VuZGlmDQotCX0gYjsNCi19IGlkZWZsb3BweV9zdGF0dXNf cmVnX3Q7DQotDQotLyoNCi0gKglUaGUgQVRBUEkgZXJyb3IgcmVnaXN0ZXIu DQotICovDQotdHlwZWRlZiB1bmlvbiB7DQotCXVuc2lnbmVkIGFsbAkJCTo4 Ow0KLQlzdHJ1Y3Qgew0KLSNpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9C SVRGSUVMRCkNCi0JCXVuc2lnbmVkIGlsaQkJOjE7CS8qIElsbGVnYWwgTGVu Z3RoIEluZGljYXRpb24gKi8NCi0JCXVuc2lnbmVkIGVvbQkJOjE7CS8qIEVu ZCBPZiBNZWRpYSBEZXRlY3RlZCAqLw0KLQkJdW5zaWduZWQgYWJydAkJOjE7 CS8qIEFib3J0ZWQgY29tbWFuZCAtIEFzIGRlZmluZWQgYnkgQVRBICovDQot CQl1bnNpZ25lZCBtY3IJCToxOwkvKiBNZWRpYSBDaGFuZ2UgUmVxdWVzdGVk IC0gQXMgZGVmaW5lZCBieSBBVEEgKi8NCi0JCXVuc2lnbmVkIHNlbnNlX2tl eQk6NDsJLyogU2Vuc2Uga2V5IG9mIHRoZSBsYXN0IGZhaWxlZCBwYWNrZXQg Y29tbWFuZCAqLw0KLSNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJ RUxEKQ0KLQkJdW5zaWduZWQgc2Vuc2Vfa2V5CTo0OwkvKiBTZW5zZSBrZXkg b2YgdGhlIGxhc3QgZmFpbGVkIHBhY2tldCBjb21tYW5kICovDQotCQl1bnNp Z25lZCBtY3IJCToxOwkvKiBNZWRpYSBDaGFuZ2UgUmVxdWVzdGVkIC0gQXMg ZGVmaW5lZCBieSBBVEEgKi8NCi0JCXVuc2lnbmVkIGFicnQJCToxOwkvKiBB Ym9ydGVkIGNvbW1hbmQgLSBBcyBkZWZpbmVkIGJ5IEFUQSAqLw0KLQkJdW5z aWduZWQgZW9tCQk6MTsJLyogRW5kIE9mIE1lZGlhIERldGVjdGVkICovDQot CQl1bnNpZ25lZCBpbGkJCToxOwkvKiBJbGxlZ2FsIExlbmd0aCBJbmRpY2F0 aW9uICovDQotI2Vsc2UNCi0jZXJyb3IgIkJpdGZpZWxkIGVuZGlhbm5lc3Mg bm90IGRlZmluZWQhIENoZWNrIHlvdXIgYnl0ZW9yZGVyLmgiDQotI2VuZGlm DQotCX0gYjsNCi19IGlkZWZsb3BweV9lcnJvcl9yZWdfdDsNCi0NCi0vKg0K LSAqCUFUQVBJIEZlYXR1cmUgUmVnaXN0ZXINCi0gKi8NCi10eXBlZGVmIHVu aW9uIHsNCi0JdW5zaWduZWQgYWxsCQkJOjg7DQotCXN0cnVjdCB7DQotI2lm IGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0KLQkJdW5zaWdu ZWQgZG1hCQk6MTsJLyogVXNpbmcgRE1BIG9yIFBJTyAqLw0KLQkJdW5zaWdu ZWQgcmVzZXJ2ZWQzMjEJOjM7CS8qIFJlc2VydmVkICovDQotCQl1bnNpZ25l ZCByZXNlcnZlZDY1NAk6MzsJLyogUmVzZXJ2ZWQgKFRhZyBUeXBlKSAqLw0K LQkJdW5zaWduZWQgcmVzZXJ2ZWQ3CToxOwkvKiBSZXNlcnZlZCAqLw0KLSNl bGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQ0KLQkJdW5zaWdu ZWQgcmVzZXJ2ZWQ3CToxOwkvKiBSZXNlcnZlZCAqLw0KLQkJdW5zaWduZWQg cmVzZXJ2ZWQ2NTQJOjM7CS8qIFJlc2VydmVkIChUYWcgVHlwZSkgKi8NCi0J CXVuc2lnbmVkIHJlc2VydmVkMzIxCTozOwkvKiBSZXNlcnZlZCAqLw0KLQkJ dW5zaWduZWQgZG1hCQk6MTsJLyogVXNpbmcgRE1BIG9yIFBJTyAqLw0KLSNl bHNlDQotI2Vycm9yICJCaXRmaWVsZCBlbmRpYW5uZXNzIG5vdCBkZWZpbmVk ISBDaGVjayB5b3VyIGJ5dGVvcmRlci5oIg0KLSNlbmRpZg0KLQl9IGI7DQot fSBpZGVmbG9wcHlfZmVhdHVyZV9yZWdfdDsNCi0NCi0vKg0KLSAqCUFUQVBJ IEJ5dGUgQ291bnQgUmVnaXN0ZXIuDQotICovDQotdHlwZWRlZiB1bmlvbiB7 DQotCXVuc2lnbmVkIGFsbAkJCToxNjsNCi0Jc3RydWN0IHsNCi0jaWYgZGVm aW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpDQotCQl1bnNpZ25lZCBs b3cJCTo4OwkvKiBMU0IgKi8NCi0JCXVuc2lnbmVkIGhpZ2gJCTo4OwkvKiBN U0IgKi8NCi0jZWxpZiBkZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVMRCkN Ci0JCXVuc2lnbmVkIGhpZ2gJCTo4OwkvKiBNU0IgKi8NCi0JCXVuc2lnbmVk IGxvdwkJOjg7CS8qIExTQiAqLw0KLSNlbHNlDQotI2Vycm9yICJCaXRmaWVs ZCBlbmRpYW5uZXNzIG5vdCBkZWZpbmVkISBDaGVjayB5b3VyIGJ5dGVvcmRl ci5oIg0KLSNlbmRpZg0KLQl9IGI7DQotfSBpZGVmbG9wcHlfYmNvdW50X3Jl Z190Ow0KLQ0KLS8qDQotICoJQVRBUEkgSW50ZXJydXB0IFJlYXNvbiBSZWdp c3Rlci4NCi0gKi8NCi10eXBlZGVmIHVuaW9uIHsNCi0JdW5zaWduZWQgYWxs CQkJOjg7DQotCXN0cnVjdCB7DQotI2lmIGRlZmluZWQoX19MSVRUTEVfRU5E SUFOX0JJVEZJRUxEKQ0KLQkJdW5zaWduZWQgY29kCQk6MTsJLyogSW5mb3Jt YXRpb24gdHJhbnNmZXJyZWQgaXMgY29tbWFuZCAoMSkgb3IgZGF0YSAoMCkg Ki8NCi0JCXVuc2lnbmVkIGlvCQk6MTsJLyogVGhlIGRldmljZSByZXF1ZXN0 cyB1cyB0byByZWFkICgxKSBvciB3cml0ZSAoMCkgKi8NCi0JCXVuc2lnbmVk IHJlc2VydmVkCTo2OwkvKiBSZXNlcnZlZCAqLw0KLSNlbGlmIGRlZmluZWQo X19CSUdfRU5ESUFOX0JJVEZJRUxEKQ0KLQkJdW5zaWduZWQgcmVzZXJ2ZWQJ OjY7CS8qIFJlc2VydmVkICovDQotCQl1bnNpZ25lZCBpbwkJOjE7CS8qIFRo ZSBkZXZpY2UgcmVxdWVzdHMgdXMgdG8gcmVhZCAoMSkgb3Igd3JpdGUgKDAp ICovDQotCQl1bnNpZ25lZCBjb2QJCToxOwkvKiBJbmZvcm1hdGlvbiB0cmFu c2ZlcnJlZCBpcyBjb21tYW5kICgxKSBvciBkYXRhICgwKSAqLw0KLSNlbHNl DQotI2Vycm9yICJCaXRmaWVsZCBlbmRpYW5uZXNzIG5vdCBkZWZpbmVkISBD aGVjayB5b3VyIGJ5dGVvcmRlci5oIg0KLSNlbmRpZg0KLQl9IGI7DQotfSBp ZGVmbG9wcHlfaXJlYXNvbl9yZWdfdDsNCi0NCi0vKg0KLSAqCUFUQVBJIGZs b3BweSBEcml2ZSBTZWxlY3QgUmVnaXN0ZXINCi0gKi8NCi10eXBlZGVmIHVu aW9uIHsJDQotCXVuc2lnbmVkIGFsbAkJCTo4Ow0KLQlzdHJ1Y3Qgew0KLSNp ZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVMRCkNCi0JCXVuc2ln bmVkIHNhbV9sdW4JOjM7CS8qIExvZ2ljYWwgdW5pdCBudW1iZXIgKi8NCi0J CXVuc2lnbmVkIHJlc2VydmVkMwk6MTsJLyogUmVzZXJ2ZWQgKi8NCi0JCXVu c2lnbmVkIGRydgkJOjE7CS8qIFRoZSByZXNwb25kaW5nIGRyaXZlIHdpbGwg YmUgZHJpdmUgMCAoMCkgb3IgZHJpdmUgMSAoMSkgKi8NCi0JCXVuc2lnbmVk IG9uZTUJCToxOwkvKiBTaG91bGQgYmUgc2V0IHRvIDEgKi8NCi0JCXVuc2ln bmVkIHJlc2VydmVkNgk6MTsJLyogUmVzZXJ2ZWQgKi8NCi0JCXVuc2lnbmVk IG9uZTcJCToxOwkvKiBTaG91bGQgYmUgc2V0IHRvIDEgKi8NCi0jZWxpZiBk ZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVMRCkNCi0JCXVuc2lnbmVkIG9u ZTcJCToxOwkvKiBTaG91bGQgYmUgc2V0IHRvIDEgKi8NCi0JCXVuc2lnbmVk IHJlc2VydmVkNgk6MTsJLyogUmVzZXJ2ZWQgKi8NCi0JCXVuc2lnbmVkIG9u ZTUJCToxOwkvKiBTaG91bGQgYmUgc2V0IHRvIDEgKi8NCi0JCXVuc2lnbmVk IGRydgkJOjE7CS8qIFRoZSByZXNwb25kaW5nIGRyaXZlIHdpbGwgYmUgZHJp dmUgMCAoMCkgb3IgZHJpdmUgMSAoMSkgKi8NCi0JCXVuc2lnbmVkIHJlc2Vy dmVkMwk6MTsJLyogUmVzZXJ2ZWQgKi8NCi0JCXVuc2lnbmVkIHNhbV9sdW4J OjM7CS8qIExvZ2ljYWwgdW5pdCBudW1iZXIgKi8NCi0jZWxzZQ0KLSNlcnJv ciAiQml0ZmllbGQgZW5kaWFubmVzcyBub3QgZGVmaW5lZCEgQ2hlY2sgeW91 ciBieXRlb3JkZXIuaCINCi0jZW5kaWYNCi0JfSBiOw0KLX0gaWRlZmxvcHB5 X2RyaXZlc2VsX3JlZ190Ow0KLQ0KLS8qDQotICoJQVRBUEkgRGV2aWNlIENv bnRyb2wgUmVnaXN0ZXINCi0gKi8NCi10eXBlZGVmIHVuaW9uIHsJCQkNCi0J dW5zaWduZWQgYWxsCQkJOjg7DQotCXN0cnVjdCB7DQotI2lmIGRlZmluZWQo X19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0KLQkJdW5zaWduZWQgemVybzAJ CToxOwkvKiBTaG91bGQgYmUgc2V0IHRvIHplcm8gKi8NCi0JCXVuc2lnbmVk IG5pZW4JCToxOwkvKiBEZXZpY2UgaW50ZXJydXB0IGlzIGRpc2FibGVkICgx KSBvciBlbmFibGVkICgwKSAqLw0KLQkJdW5zaWduZWQgc3JzdAkJOjE7CS8q IEFUQSBzb2Z0d2FyZSByZXNldC4gQVRBUEkgZGV2aWNlcyBzaG91bGQgdXNl IHRoZSBuZXcgQVRBUEkgc3JzdC4gKi8NCi0JCXVuc2lnbmVkIG9uZTMJCTox OwkvKiBTaG91bGQgYmUgc2V0IHRvIDEgKi8NCi0JCXVuc2lnbmVkIHJlc2Vy dmVkNDU2Nwk6NDsJLyogUmVzZXJ2ZWQgKi8NCi0jZWxpZiBkZWZpbmVkKF9f QklHX0VORElBTl9CSVRGSUVMRCkNCi0JCXVuc2lnbmVkIHJlc2VydmVkNDU2 Nwk6NDsJLyogUmVzZXJ2ZWQgKi8NCi0JCXVuc2lnbmVkIG9uZTMJCToxOwkv KiBTaG91bGQgYmUgc2V0IHRvIDEgKi8NCi0JCXVuc2lnbmVkIHNyc3QJCTox OwkvKiBBVEEgc29mdHdhcmUgcmVzZXQuIEFUQVBJIGRldmljZXMgc2hvdWxk IHVzZSB0aGUgbmV3IEFUQVBJIHNyc3QuICovDQotCQl1bnNpZ25lZCBuaWVu CQk6MTsJLyogRGV2aWNlIGludGVycnVwdCBpcyBkaXNhYmxlZCAoMSkgb3Ig ZW5hYmxlZCAoMCkgKi8NCi0JCXVuc2lnbmVkIHplcm8wCQk6MTsJLyogU2hv dWxkIGJlIHNldCB0byB6ZXJvICovDQotI2Vsc2UNCi0jZXJyb3IgIkJpdGZp ZWxkIGVuZGlhbm5lc3Mgbm90IGRlZmluZWQhIENoZWNrIHlvdXIgYnl0ZW9y ZGVyLmgiDQotI2VuZGlmDQotCX0gYjsNCi19IGlkZWZsb3BweV9jb250cm9s X3JlZ190Ow0KLQ0KLS8qDQotICoJVGhlIGZvbGxvd2luZyBpcyB1c2VkIHRv IGZvcm1hdCB0aGUgZ2VuZXJhbCBjb25maWd1cmF0aW9uIHdvcmQgb2YNCi0g Kgl0aGUgQVRBUEkgSURFTlRJRlkgREVWSUNFIGNvbW1hbmQuDQotICovDQot c3RydWN0IGlkZWZsb3BweV9pZF9nY3cgewkNCi0jaWYgZGVmaW5lZChfX0xJ VFRMRV9FTkRJQU5fQklURklFTEQpDQotCXVuc2lnbmVkIHBhY2tldF9zaXpl CQk6MjsJLyogUGFja2V0IFNpemUgKi8NCi0JdW5zaWduZWQgcmVzZXJ2ZWQy MzQJCTozOwkvKiBSZXNlcnZlZCAqLw0KLQl1bnNpZ25lZCBkcnFfdHlwZQkJ OjI7CS8qIENvbW1hbmQgcGFja2V0IERSUSB0eXBlICovDQotCXVuc2lnbmVk IHJlbW92YWJsZQkJOjE7CS8qIFJlbW92YWJsZSBtZWRpYSAqLw0KLQl1bnNp Z25lZCBkZXZpY2VfdHlwZQkJOjU7CS8qIERldmljZSB0eXBlICovDQotCXVu c2lnbmVkIHJlc2VydmVkMTMJCToxOwkvKiBSZXNlcnZlZCAqLw0KLQl1bnNp Z25lZCBwcm90b2NvbAkJOjI7CS8qIFByb3RvY29sIHR5cGUgKi8NCi0jZWxp ZiBkZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVMRCkNCi0JdW5zaWduZWQg cHJvdG9jb2wJCToyOwkvKiBQcm90b2NvbCB0eXBlICovDQotCXVuc2lnbmVk IHJlc2VydmVkMTMJCToxOwkvKiBSZXNlcnZlZCAqLw0KLQl1bnNpZ25lZCBk ZXZpY2VfdHlwZQkJOjU7CS8qIERldmljZSB0eXBlICovDQotCXVuc2lnbmVk IHJlbW92YWJsZQkJOjE7CS8qIFJlbW92YWJsZSBtZWRpYSAqLw0KLQl1bnNp Z25lZCBkcnFfdHlwZQkJOjI7CS8qIENvbW1hbmQgcGFja2V0IERSUSB0eXBl ICovDQotCXVuc2lnbmVkIHJlc2VydmVkMjM0CQk6MzsJLyogUmVzZXJ2ZWQg Ki8NCi0JdW5zaWduZWQgcGFja2V0X3NpemUJCToyOwkvKiBQYWNrZXQgU2l6 ZSAqLw0KLSNlbHNlDQotI2Vycm9yICJCaXRmaWVsZCBlbmRpYW5uZXNzIG5v dCBkZWZpbmVkISBDaGVjayB5b3VyIGJ5dGVvcmRlci5oIg0KLSNlbmRpZg0K LX07DQotDQotLyoNCi0gKglJTlFVSVJZIHBhY2tldCBjb21tYW5kIC0gRGF0 YSBGb3JtYXQNCi0gKi8NCi10eXBlZGVmIHN0cnVjdCB7DQotI2lmIGRlZmlu ZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0KLQl1bnNpZ25lZAlkZXZp Y2VfdHlwZQk6NTsJLyogUGVyaXBoZXJhbCBEZXZpY2UgVHlwZSAqLw0KLQl1 bnNpZ25lZAlyZXNlcnZlZDBfNzY1CTozOwkvKiBQZXJpcGhlcmFsIFF1YWxp ZmllciAtIFJlc2VydmVkICovDQotCXVuc2lnbmVkCXJlc2VydmVkMV82dDAJ Ojc7CS8qIFJlc2VydmVkICovDQotCXVuc2lnbmVkCXJtYgkJOjE7CS8qIFJl bW92YWJsZSBNZWRpdW0gQml0ICovDQotCXVuc2lnbmVkCWFuc2lfdmVyc2lv bgk6MzsJLyogQU5TSSBWZXJzaW9uICovDQotCXVuc2lnbmVkCWVjbWFfdmVy c2lvbgk6MzsJLyogRUNNQSBWZXJzaW9uICovDQotCXVuc2lnbmVkCWlzb192 ZXJzaW9uCToyOwkvKiBJU08gVmVyc2lvbiAqLw0KLQl1bnNpZ25lZAlyZXNw b25zZV9mb3JtYXQgOjQ7CS8qIFJlc3BvbnNlIERhdGEgRm9ybWF0ICovDQot CXVuc2lnbmVkCXJlc2VydmVkM180NQk6MjsJLyogUmVzZXJ2ZWQgKi8NCi0J dW5zaWduZWQJcmVzZXJ2ZWQzXzYJOjE7CS8qIFRybUlPUCAtIFJlc2VydmVk ICovDQotCXVuc2lnbmVkCXJlc2VydmVkM183CToxOwkvKiBBRU5DIC0gUmVz ZXJ2ZWQgKi8NCi0jZWxpZiBkZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVM RCkNCi0JdW5zaWduZWQJcmVzZXJ2ZWQwXzc2NQk6MzsJLyogUGVyaXBoZXJh bCBRdWFsaWZpZXIgLSBSZXNlcnZlZCAqLw0KLQl1bnNpZ25lZAlkZXZpY2Vf dHlwZQk6NTsJLyogUGVyaXBoZXJhbCBEZXZpY2UgVHlwZSAqLw0KLQl1bnNp Z25lZAlybWIJCToxOwkvKiBSZW1vdmFibGUgTWVkaXVtIEJpdCAqLw0KLQl1 bnNpZ25lZAlyZXNlcnZlZDFfNnQwCTo3OwkvKiBSZXNlcnZlZCAqLw0KLQl1 bnNpZ25lZAlpc29fdmVyc2lvbgk6MjsJLyogSVNPIFZlcnNpb24gKi8NCi0J dW5zaWduZWQJZWNtYV92ZXJzaW9uCTozOwkvKiBFQ01BIFZlcnNpb24gKi8N Ci0JdW5zaWduZWQJYW5zaV92ZXJzaW9uCTozOwkvKiBBTlNJIFZlcnNpb24g Ki8NCi0JdW5zaWduZWQJcmVzZXJ2ZWQzXzcJOjE7CS8qIEFFTkMgLSBSZXNl cnZlZCAqLw0KLQl1bnNpZ25lZAlyZXNlcnZlZDNfNgk6MTsJLyogVHJtSU9Q IC0gUmVzZXJ2ZWQgKi8NCi0JdW5zaWduZWQJcmVzZXJ2ZWQzXzQ1CToyOwkv KiBSZXNlcnZlZCAqLw0KLQl1bnNpZ25lZAlyZXNwb25zZV9mb3JtYXQgOjQ7 CS8qIFJlc3BvbnNlIERhdGEgRm9ybWF0ICovDQotI2Vsc2UNCi0jZXJyb3Ig IkJpdGZpZWxkIGVuZGlhbm5lc3Mgbm90IGRlZmluZWQhIENoZWNrIHlvdXIg Ynl0ZW9yZGVyLmgiDQotI2VuZGlmDQotCXU4CQlhZGRpdGlvbmFsX2xlbmd0 aDsJLyogQWRkaXRpb25hbCBMZW5ndGggKHRvdGFsX2xlbmd0aC00KSAqLw0K LQl1OAkJcnN2NSwgcnN2NiwgcnN2NzsJLyogUmVzZXJ2ZWQgKi8NCi0JdTgJ CXZlbmRvcl9pZFs4XTsJCS8qIFZlbmRvciBJZGVudGlmaWNhdGlvbiAqLw0K LQl1OAkJcHJvZHVjdF9pZFsxNl07CQkvKiBQcm9kdWN0IElkZW50aWZpY2F0 aW9uICovDQotCXU4CQlyZXZpc2lvbl9sZXZlbFs0XTsJLyogUmV2aXNpb24g TGV2ZWwgKi8NCi0JdTgJCXZlbmRvcl9zcGVjaWZpY1syMF07CS8qIFZlbmRv ciBTcGVjaWZpYyAtIE9wdGlvbmFsICovDQotCXU4CQlyZXNlcnZlZDU2dDk1 WzQwXTsJLyogUmVzZXJ2ZWQgLSBPcHRpb25hbCAqLw0KLQkJCQkJCS8qIEFk ZGl0aW9uYWwgaW5mb3JtYXRpb24gbWF5IGJlIHJldHVybmVkICovDQotfSBp ZGVmbG9wcHlfaW5xdWlyeV9yZXN1bHRfdDsNCi0NCi0vKg0KLSAqCVJFUVVF U1QgU0VOU0UgcGFja2V0IGNvbW1hbmQgcmVzdWx0IC0gRGF0YSBGb3JtYXQu DQotICovDQotdHlwZWRlZiBzdHJ1Y3Qgew0KLSNpZiBkZWZpbmVkKF9fTElU VExFX0VORElBTl9CSVRGSUVMRCkNCi0JdW5zaWduZWQJZXJyb3JfY29kZQk6 NzsJLyogQ3VycmVudCBlcnJvciAoMHg3MCkgKi8NCi0JdW5zaWduZWQJdmFs aWQJCToxOwkvKiBUaGUgaW5mb3JtYXRpb24gZmllbGQgY29uZm9ybXMgdG8g U0ZGLTgwNzBpICovDQotCXU4CQlyZXNlcnZlZDEJOjg7CS8qIFJlc2VydmVk ICovDQotCXVuc2lnbmVkCXNlbnNlX2tleQk6NDsJLyogU2Vuc2UgS2V5ICov DQotCXVuc2lnbmVkCXJlc2VydmVkMl80CToxOwkvKiBSZXNlcnZlZCAqLw0K LQl1bnNpZ25lZAlpbGkJCToxOwkvKiBJbmNvcnJlY3QgTGVuZ3RoIEluZGlj YXRvciAqLw0KLQl1bnNpZ25lZAlyZXNlcnZlZDJfNjcJOjI7DQotI2VsaWYg ZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpDQotCXVuc2lnbmVkCXZh bGlkCQk6MTsJLyogVGhlIGluZm9ybWF0aW9uIGZpZWxkIGNvbmZvcm1zIHRv IFNGRi04MDcwaSAqLw0KLQl1bnNpZ25lZAllcnJvcl9jb2RlCTo3OwkvKiBD dXJyZW50IGVycm9yICgweDcwKSAqLw0KLQl1OAkJcmVzZXJ2ZWQxCTo4Owkv KiBSZXNlcnZlZCAqLw0KLQl1bnNpZ25lZAlyZXNlcnZlZDJfNjcJOjI7DQot CXVuc2lnbmVkCWlsaQkJOjE7CS8qIEluY29ycmVjdCBMZW5ndGggSW5kaWNh dG9yICovDQotCXVuc2lnbmVkCXJlc2VydmVkMl80CToxOwkvKiBSZXNlcnZl ZCAqLw0KLQl1bnNpZ25lZAlzZW5zZV9rZXkJOjQ7CS8qIFNlbnNlIEtleSAq Lw0KLSNlbHNlDQotI2Vycm9yICJCaXRmaWVsZCBlbmRpYW5uZXNzIG5vdCBk ZWZpbmVkISBDaGVjayB5b3VyIGJ5dGVvcmRlci5oIg0KLSNlbmRpZg0KLQl1 MzIJCWluZm9ybWF0aW9uIF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsNCi0J dTgJCWFzbDsJCQkvKiBBZGRpdGlvbmFsIHNlbnNlIGxlbmd0aCAobi03KSAq Lw0KLQl1MzIJCWNvbW1hbmRfc3BlY2lmaWM7CS8qIEFkZGl0aW9uYWwgY29t bWFuZCBzcGVjaWZpYyBpbmZvcm1hdGlvbiAqLw0KLQl1OAkJYXNjOwkJCS8q IEFkZGl0aW9uYWwgU2Vuc2UgQ29kZSAqLw0KLQl1OAkJYXNjcTsJCQkvKiBB ZGRpdGlvbmFsIFNlbnNlIENvZGUgUXVhbGlmaWVyICovDQotCXU4CQlyZXBs YWNlYWJsZV91bml0X2NvZGU7CS8qIEZpZWxkIFJlcGxhY2VhYmxlIFVuaXQg Q29kZSAqLw0KLQl1OAkJc2tzdlszXTsNCi0JdTgJCXBhZFsyXTsJCQkvKiBQ YWRkaW5nIHRvIDIwIGJ5dGVzICovDQotfSBpZGVmbG9wcHlfcmVxdWVzdF9z ZW5zZV9yZXN1bHRfdDsNCi0NCi0vKg0KICAqCVBhZ2VzIG9mIHRoZSBTRUxF Q1QgU0VOU0UgLyBNT0RFIFNFTlNFIHBhY2tldCBjb21tYW5kcy4NCiAgKi8N CiAjZGVmaW5lCUlERUZMT1BQWV9DQVBBQklMSVRJRVNfUEFHRQkweDFiDQpA QCAtNjAyLDkgKzMzOCw2IEBADQogCXU4CQlyZXNlcnZlZFs0XTsNCiB9IGlk ZWZsb3BweV9tb2RlX3BhcmFtZXRlcl9oZWFkZXJfdDsNCiANCi0jZGVmaW5l IElERUZMT1BQWV9NSU4oYSxiKQkoKGEpPChiKSA/IChhKTooYikpDQotI2Rl ZmluZQlJREVGTE9QUFlfTUFYKGEsYikJKChhKT4oYikgPyAoYSk6KGIpKQ0K LQ0KIC8qDQogICoJaWRlZmxvcHB5X2VuZF9yZXF1ZXN0IGlzIHVzZWQgdG8g ZmluaXNoIHNlcnZpY2luZyBhIHJlcXVlc3QuDQogICoNCkBAIC02NjMsNyAr Mzk2LDcgQEANCiAJCQlhdGFwaV9kaXNjYXJkX2RhdGEoZHJpdmUsIGJjb3Vu dCk7DQogCQkJcmV0dXJuOw0KIAkJfQ0KLQkJY291bnQgPSBJREVGTE9QUFlf TUlOKGJpby0+Ymlfc2l6ZSAtIHBjLT5iX2NvdW50LCBiY291bnQpOw0KKwkJ Y291bnQgPSBtaW5fdCh1bnNpZ25lZCBpbnQsIGJpby0+Ymlfc2l6ZSAtIHBj LT5iX2NvdW50LCBiY291bnQpOw0KIAkJYXRhcGlfcmVhZChkcml2ZSwgYmlv X2RhdGEoYmlvKSArIHBjLT5iX2NvdW50LCBjb3VudCk7DQogCQliY291bnQg LT0gY291bnQ7IHBjLT5iX2NvdW50ICs9IGNvdW50Ow0KIAl9DQpAQCAtNjkw LDcgKzQyMyw3IEBADQogCQkJYXRhcGlfd3JpdGVfemVyb3MgKGRyaXZlLCBi Y291bnQpOw0KIAkJCXJldHVybjsNCiAJCX0NCi0JCWNvdW50ID0gSURFRkxP UFBZX01JTihwYy0+Yl9jb3VudCwgYmNvdW50KTsNCisJCWNvdW50ID0gbWlu X3QodW5zaWduZWQgaW50LCBwYy0+Yl9jb3VudCwgYmNvdW50KTsNCiAJCWF0 YXBpX3dyaXRlKGRyaXZlLCBwYy0+Yl9kYXRhLCBjb3VudCk7DQogCQliY291 bnQgLT0gY291bnQ7IHBjLT5iX2RhdGEgKz0gY291bnQ7IHBjLT5iX2NvdW50 IC09IGNvdW50Ow0KIAl9DQpAQCAtNzQzLDEzICs0NzYsMTMgQEANCiAgKglp ZGVmbG9wcHlfYW5hbHl6ZV9lcnJvciBpcyBjYWxsZWQgb24gZWFjaCBmYWls ZWQgcGFja2V0IGNvbW1hbmQgcmV0cnkNCiAgKgl0byBhbmFseXplIHRoZSBy ZXF1ZXN0IHNlbnNlLg0KICAqLw0KLXN0YXRpYyB2b2lkIGlkZWZsb3BweV9h bmFseXplX2Vycm9yKHN0cnVjdCBhdGFfZGV2aWNlICpkcml2ZSwgaWRlZmxv cHB5X3JlcXVlc3Rfc2Vuc2VfcmVzdWx0X3QgKnJlc3VsdCkNCitzdGF0aWMg dm9pZCBpZGVmbG9wcHlfYW5hbHl6ZV9lcnJvcihzdHJ1Y3QgYXRhX2Rldmlj ZSAqZHJpdmUsIGF0YXBpX3JlcXVlc3Rfc2Vuc2VfcmVzdWx0X3QgKnJlc3Vs dCkNCiB7DQogCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUt PmRyaXZlcl9kYXRhOw0KIA0KIAlmbG9wcHktPnNlbnNlX2tleSA9IHJlc3Vs dC0+c2Vuc2Vfa2V5OyBmbG9wcHktPmFzYyA9IHJlc3VsdC0+YXNjOyBmbG9w cHktPmFzY3EgPSByZXN1bHQtPmFzY3E7DQotCWZsb3BweS0+cHJvZ3Jlc3Nf aW5kaWNhdGlvbj0gcmVzdWx0LT5za3N2WzBdICYgMHg4MCA/DQotCQkodW5z aWduZWQgc2hvcnQpZ2V0X3VuYWxpZ25lZCgodTE2ICopKHJlc3VsdC0+c2tz disxKSk6MHgxMDAwMDsNCisJZmxvcHB5LT5wcm9ncmVzc19pbmRpY2F0aW9u PSByZXN1bHQtPnNrc3YgPw0KKwkJKHVuc2lnbmVkIHNob3J0KWdldF91bmFs aWduZWQoKHUxNiAqKShyZXN1bHQtPnNrX3NwZWNpZmljKSk6MHgxMDAwMDsN CiAjaWYgSURFRkxPUFBZX0RFQlVHX0xPRw0KIAlpZiAoZmxvcHB5LT5mYWls ZWRfcGMpDQogCQlwcmludGsgKEtFUk5fSU5GTyAiaWRlLWZsb3BweTogcGMg PSAleCwgc2Vuc2Uga2V5ID0gJXgsIGFzYyA9ICV4LCBhc2NxID0gJXhcbiIs ZmxvcHB5LT5mYWlsZWRfcGMtPmNbMF0scmVzdWx0LT5zZW5zZV9rZXkscmVz dWx0LT5hc2MscmVzdWx0LT5hc2NxKTsNCkBAIC03NjYsNyArNDk5LDcgQEAN CiAJcHJpbnRrIChLRVJOX0lORk8gImlkZS1mbG9wcHk6IFJlYWNoZWQgaWRl ZmxvcHB5X3JlcXVlc3Rfc2Vuc2VfY2FsbGJhY2tcbiIpOw0KICNlbmRpZg0K IAlpZiAoIWZsb3BweS0+cGMtPmVycm9yKSB7DQotCQlpZGVmbG9wcHlfYW5h bHl6ZV9lcnJvcihkcml2ZSwoaWRlZmxvcHB5X3JlcXVlc3Rfc2Vuc2VfcmVz dWx0X3QgKikgZmxvcHB5LT5wYy0+YnVmZmVyKTsNCisJCWlkZWZsb3BweV9h bmFseXplX2Vycm9yKGRyaXZlLChhdGFwaV9yZXF1ZXN0X3NlbnNlX3Jlc3Vs dF90ICopIGZsb3BweS0+cGMtPmJ1ZmZlcik7DQogCQlpZGVmbG9wcHlfZW5k X3JlcXVlc3QoZHJpdmUsIHJxLCAxKTsNCiAJfSBlbHNlIHsNCiAJCXByaW50 ayAoS0VSTl9FUlIgIkVycm9yIGluIFJFUVVFU1QgU0VOU0UgaXRzZWxmIC0g QWJvcnRpbmcgcmVxdWVzdCFcbiIpOw0KQEAgLTgwNiw3ICs1MzksNyBAQA0K IHsNCiAJc3RydWN0IGF0YXBpX3BhY2tldF9jb21tYW5kICpwYzsNCiAJc3Ry dWN0IHJlcXVlc3QgKnJxOw0KLQlpZGVmbG9wcHlfZXJyb3JfcmVnX3QgZXJy b3I7DQorCWF0YXBpX2Vycm9yX3JlZ190IGVycm9yOw0KIA0KIAllcnJvci5h bGwgPSBJTl9CWVRFKElERV9FUlJPUl9SRUcpOw0KIAlwYyA9IGlkZWZsb3Bw eV9uZXh0X3BjX3N0b3JhZ2UoZHJpdmUpOw0KQEAgLTgyNCw5ICs1NTcsOSBA QA0KIAl1bnNpZ25lZCBsb25nIGZsYWdzOw0KIAlzdHJ1Y3QgYXRhX2NoYW5u ZWwgKmNoID0gZHJpdmUtPmNoYW5uZWw7DQogCWlkZWZsb3BweV9mbG9wcHlf dCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOw0KLQlpZGVmbG9wcHlf c3RhdHVzX3JlZ190IHN0YXR1czsNCi0JaWRlZmxvcHB5X2Jjb3VudF9yZWdf dCBiY291bnQ7DQotCWlkZWZsb3BweV9pcmVhc29uX3JlZ190IGlyZWFzb247 DQorCWF0YXBpX3N0YXR1c19yZWdfdCBzdGF0dXM7DQorCWF0YXBpX2Jjb3Vu dF9yZWdfdCBiY291bnQ7DQorCWF0YXBpX2lyZWFzb25fcmVnX3QgaXJlYXNv bjsNCiAJc3RydWN0IGF0YXBpX3BhY2tldF9jb21tYW5kICpwYyA9IGZsb3Bw eS0+cGM7DQogCXVuc2lnbmVkIGludCB0ZW1wOw0KIA0KQEAgLTk1NSw3ICs2 ODgsNyBAQA0KIAlzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoID0gZHJpdmUtPmNo YW5uZWw7DQogCWlkZV9zdGFydHN0b3BfdCBzdGFydHN0b3A7DQogCWlkZWZs b3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOw0K LQlpZGVmbG9wcHlfaXJlYXNvbl9yZWdfdCBpcmVhc29uOw0KKwlhdGFwaV9p cmVhc29uX3JlZ190IGlyZWFzb247DQogCWludCByZXQ7DQogDQogCS8qIEZJ WE1FOiBNb3ZlIHRoaXMgbG9jayB1cHdhcmRzLg0KQEAgLTEwMTAsNyArNzQz LDcgQEANCiAJc3RydWN0IGF0YV9jaGFubmVsICpjaCA9IGRyaXZlLT5jaGFu bmVsOw0KIAlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5k cml2ZXJfZGF0YTsNCiAJaWRlX3N0YXJ0c3RvcF90IHN0YXJ0c3RvcDsNCi0J aWRlZmxvcHB5X2lyZWFzb25fcmVnX3QgaXJlYXNvbjsNCisJYXRhcGlfaXJl YXNvbl9yZWdfdCBpcmVhc29uOw0KIAlpbnQgcmV0Ow0KIA0KIAlpZiAoYXRh X3N0YXR1c19wb2xsKGRyaXZlLCBEUlFfU1RBVCwgQlVTWV9TVEFULA0KQEAg LTEwNTcsNyArNzkwLDcgQEANCiAJCXN0cnVjdCBhdGFwaV9wYWNrZXRfY29t bWFuZCAqcGMpDQogew0KIAlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9 IGRyaXZlLT5kcml2ZXJfZGF0YTsNCi0JaWRlZmxvcHB5X2Jjb3VudF9yZWdf dCBiY291bnQ7DQorCWF0YXBpX2Jjb3VudF9yZWdfdCBiY291bnQ7DQogCWlu dCBkbWFfb2sgPSAwOw0KIAlhdGFfaGFuZGxlcl90ICpwa3RfeGZlcl9yb3V0 aW5lOw0KIA0KQEAgLTE2NTUsNyArMTM4OCw3IEBADQogCX0NCiAJZWxzZQ0K IAl7DQotCQlpZGVmbG9wcHlfc3RhdHVzX3JlZ190IHN0YXR1czsNCisJCWF0 YXBpX3N0YXR1c19yZWdfdCBzdGF0dXM7DQogCQl1bnNpZ25lZCBsb25nIGZs YWdzOw0KIA0KIAkJX19zYXZlX2ZsYWdzKGZsYWdzKTsNCkBAIC0xODYxLDcg KzE1OTQsNyBAQA0KICAqLw0KIHN0YXRpYyBpbnQgaWRlZmxvcHB5X2lkZW50 aWZ5X2RldmljZShzdHJ1Y3QgYXRhX2RldmljZSAqZHJpdmUsc3RydWN0IGhk X2RyaXZlaWQgKmlkKQ0KIHsNCi0Jc3RydWN0IGlkZWZsb3BweV9pZF9nY3cg Z2N3Ow0KKwlzdHJ1Y3QgYXRhcGlfaWRfZ2N3IGdjdzsNCiAjaWYgSURFRkxP UFBZX0RFQlVHX0lORk8NCiAJdW5zaWduZWQgc2hvcnQgbWFzayxpOw0KIAlj aGFyIGJ1ZmZlcls4MF07DQpAQCAtMTk3Niw3ICsxNzA5LDcgQEANCiAgKi8N CiBzdGF0aWMgdm9pZCBpZGVmbG9wcHlfc2V0dXAoc3RydWN0IGF0YV9kZXZp Y2UgKmRyaXZlLCBpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSkNCiB7DQot CXN0cnVjdCBpZGVmbG9wcHlfaWRfZ2N3IGdjdzsNCisJc3RydWN0IGF0YXBp X2lkX2djdyBnY3c7DQogCWludCBpOw0KIA0KIAkqKCh1bnNpZ25lZCBzaG9y dCAqKSAmZ2N3KSA9IGRyaXZlLT5pZC0+Y29uZmlnOw0KLS0tIGxpbnV4LTIu NS4yMi9kcml2ZXJzL2lkZS9pZGUtdGFwZS5jCVRodSBKdW4gMjAgMjE6Mzg6 MDQgMjAwMg0KKysrIGxpbnV4L2RyaXZlcnMvaWRlL2lkZS10YXBlLmMJVGh1 IEp1biAyMCAyMTo0MjoxNSAyMDAyDQpAQCAtNzcxLDMyICs3NzEsNiBAQA0K IH0gaWRldGFwZV9zdGFnZV90Ow0KIA0KIC8qDQotICoJUkVRVUVTVCBTRU5T RSBwYWNrZXQgY29tbWFuZCByZXN1bHQgLSBEYXRhIEZvcm1hdC4NCi0gKi8N Ci10eXBlZGVmIHN0cnVjdCB7DQotCXVuc2lnbmVkCWVycm9yX2NvZGUJOjc7 CS8qIEN1cnJlbnQgb2YgZGVmZXJyZWQgZXJyb3JzICovDQotCXVuc2lnbmVk CXZhbGlkCQk6MTsJLyogVGhlIGluZm9ybWF0aW9uIGZpZWxkIGNvbmZvcm1z IHRvIFFJQy0xNTdDICovDQotCV9fdTgJCXJlc2VydmVkMQk6ODsJLyogU2Vn bWVudCBOdW1iZXIgLSBSZXNlcnZlZCAqLw0KLQl1bnNpZ25lZAlzZW5zZV9r ZXkJOjQ7CS8qIFNlbnNlIEtleSAqLw0KLQl1bnNpZ25lZAlyZXNlcnZlZDJf NAk6MTsJLyogUmVzZXJ2ZWQgKi8NCi0JdW5zaWduZWQJaWxpCQk6MTsJLyog SW5jb3JyZWN0IExlbmd0aCBJbmRpY2F0b3IgKi8NCi0JdW5zaWduZWQJZW9t CQk6MTsJLyogRW5kIE9mIE1lZGl1bSAqLw0KLQl1bnNpZ25lZAlmaWxlbWFy ayAJOjE7CS8qIEZpbGVtYXJrICovDQotCV9fdTMyCQlpbmZvcm1hdGlvbiBf X2F0dHJpYnV0ZV9fICgocGFja2VkKSk7DQotCV9fdTgJCWFzbDsJCQkvKiBB ZGRpdGlvbmFsIHNlbnNlIGxlbmd0aCAobi03KSAqLw0KLQlfX3UzMgkJY29t bWFuZF9zcGVjaWZpYzsJLyogQWRkaXRpb25hbCBjb21tYW5kIHNwZWNpZmlj IGluZm9ybWF0aW9uICovDQotCV9fdTgJCWFzYzsJCQkvKiBBZGRpdGlvbmFs IFNlbnNlIENvZGUgKi8NCi0JX191OAkJYXNjcTsJCQkvKiBBZGRpdGlvbmFs IFNlbnNlIENvZGUgUXVhbGlmaWVyICovDQotCV9fdTgJCXJlcGxhY2VhYmxl X3VuaXRfY29kZTsJLyogRmllbGQgUmVwbGFjZWFibGUgVW5pdCBDb2RlICov DQotCXVuc2lnbmVkCXNrX3NwZWNpZmljMSAJOjc7CS8qIFNlbnNlIEtleSBT cGVjaWZpYyAqLw0KLQl1bnNpZ25lZAlza3N2CQk6MTsJLyogU2Vuc2UgS2V5 IFNwZWNpZmljIGluZm9ybWF0aW9uIGlzIHZhbGlkICovDQotCV9fdTgJCXNr X3NwZWNpZmljMjsJCS8qIFNlbnNlIEtleSBTcGVjaWZpYyAqLw0KLQlfX3U4 CQlza19zcGVjaWZpYzM7CQkvKiBTZW5zZSBLZXkgU3BlY2lmaWMgKi8NCi0J X191OAkJcGFkWzJdOwkJCS8qIFBhZGRpbmcgdG8gMjAgYnl0ZXMgKi8NCi19 IGlkZXRhcGVfcmVxdWVzdF9zZW5zZV9yZXN1bHRfdDsNCi0NCi0NCi0vKg0K ICAqCU1vc3Qgb2Ygb3VyIGdsb2JhbCBkYXRhIHdoaWNoIHdlIG5lZWQgdG8g c2F2ZSBldmVuIGFzIHdlIGxlYXZlIHRoZQ0KICAqCWRyaXZlciBkdWUgdG8g YW4gaW50ZXJydXB0IG9yIGEgdGltZXIgZXZlbnQgaXMgc3RvcmVkIGluIGEg dmFyaWFibGUNCiAgKglvZiB0eXBlIGlkZXRhcGVfdGFwZV90LCBkZWZpbmVk IGJlbG93Lg0KQEAgLTkyMCw3ICs4OTQsNyBAQA0KIAlpbnQgYXZnX3NpemU7 DQogCWludCBhdmdfc3BlZWQ7DQogDQotCWlkZXRhcGVfcmVxdWVzdF9zZW5z ZV9yZXN1bHRfdCBzZW5zZTsJLyogbGFzdCBzZW5zZSBpbmZvcm1hdGlvbiAq Lw0KKwlhdGFwaV9yZXF1ZXN0X3NlbnNlX3Jlc3VsdF90IHNlbnNlOwkvKiBs YXN0IHNlbnNlIGluZm9ybWF0aW9uICovDQogDQogCWNoYXIgdmVuZG9yX2lk WzEwXTsNCiAJY2hhciBwcm9kdWN0X2lkWzE4XTsNCkBAIC0xMTI0LDEwMSAr MTA5OCw2IEBADQogI2RlZmluZQlJREVUQVBFX0VSUk9SX0VPRAkJMTAzDQog DQogLyoNCi0gKglUaGUgQVRBUEkgU3RhdHVzIFJlZ2lzdGVyLg0KLSAqLw0K LXR5cGVkZWYgdW5pb24gew0KLQl1bnNpZ25lZCBhbGwJCQk6ODsNCi0Jc3Ry dWN0IHsNCi0JCXVuc2lnbmVkIGNoZWNrCQk6MTsJLyogRXJyb3Igb2NjdXJy ZWQgKi8NCi0JCXVuc2lnbmVkIGlkeAkJOjE7CS8qIFJlc2VydmVkICovDQot CQl1bnNpZ25lZCBjb3JyCQk6MTsJLyogQ29ycmVjdGFibGUgZXJyb3Igb2Nj dXJyZWQgKi8NCi0JCXVuc2lnbmVkIGRycQkJOjE7CS8qIERhdGEgaXMgcmVx dWVzdCBieSB0aGUgZGV2aWNlICovDQotCQl1bnNpZ25lZCBkc2MJCToxOwkv KiBCdWZmZXIgYXZhaWxhYmlsaXR5IC8gTWVkaWEgYWNjZXNzIGNvbW1hbmQg ZmluaXNoZWQgKi8NCi0JCXVuc2lnbmVkIHJlc2VydmVkNQk6MTsJLyogUmVz ZXJ2ZWQgKi8NCi0JCXVuc2lnbmVkIGRyZHkJCToxOwkvKiBJZ25vcmVkIGZv ciBBVEFQSSBjb21tYW5kcyAocmVhZHkgdG8gYWNjZXB0IEFUQSBjb21tYW5k KSAqLw0KLQkJdW5zaWduZWQgYnN5CQk6MTsJLyogVGhlIGRldmljZSBoYXMg YWNjZXNzIHRvIHRoZSBjb21tYW5kIGJsb2NrICovDQotCX0gYjsNCi19IGlk ZXRhcGVfc3RhdHVzX3JlZ190Ow0KLQ0KLS8qDQotICoJVGhlIEFUQVBJIGVy cm9yIHJlZ2lzdGVyLg0KLSAqLw0KLXR5cGVkZWYgdW5pb24gew0KLQl1bnNp Z25lZCBhbGwJCQk6ODsNCi0Jc3RydWN0IHsNCi0JCXVuc2lnbmVkIGlsaQkJ OjE7CS8qIElsbGVnYWwgTGVuZ3RoIEluZGljYXRpb24gKi8NCi0JCXVuc2ln bmVkIGVvbQkJOjE7CS8qIEVuZCBPZiBNZWRpYSBEZXRlY3RlZCAqLw0KLQkJ dW5zaWduZWQgYWJydAkJOjE7CS8qIEFib3J0ZWQgY29tbWFuZCAtIEFzIGRl ZmluZWQgYnkgQVRBICovDQotCQl1bnNpZ25lZCBtY3IJCToxOwkvKiBNZWRp YSBDaGFuZ2UgUmVxdWVzdGVkIC0gQXMgZGVmaW5lZCBieSBBVEEgKi8NCi0J CXVuc2lnbmVkIHNlbnNlX2tleQk6NDsJLyogU2Vuc2Uga2V5IG9mIHRoZSBs YXN0IGZhaWxlZCBwYWNrZXQgY29tbWFuZCAqLw0KLQl9IGI7DQotfSBpZGV0 YXBlX2Vycm9yX3JlZ190Ow0KLQ0KLS8qDQotICoJQVRBUEkgRmVhdHVyZSBS ZWdpc3Rlcg0KLSAqLw0KLXR5cGVkZWYgdW5pb24gew0KLQl1bnNpZ25lZCBh bGwJCQk6ODsNCi0Jc3RydWN0IHsNCi0JCXVuc2lnbmVkIGRtYQkJOjE7CS8q IFVzaW5nIERNQSBvciBQSU8gKi8NCi0JCXVuc2lnbmVkIHJlc2VydmVkMzIx CTozOwkvKiBSZXNlcnZlZCAqLw0KLQkJdW5zaWduZWQgcmVzZXJ2ZWQ2NTQJ OjM7CS8qIFJlc2VydmVkIChUYWcgVHlwZSkgKi8NCi0JCXVuc2lnbmVkIHJl c2VydmVkNwk6MTsJLyogUmVzZXJ2ZWQgKi8NCi0JfSBiOw0KLX0gaWRldGFw ZV9mZWF0dXJlX3JlZ190Ow0KLQ0KLS8qDQotICoJQVRBUEkgQnl0ZSBDb3Vu dCBSZWdpc3Rlci4NCi0gKi8NCi10eXBlZGVmIHVuaW9uIHsNCi0JdW5zaWdu ZWQgYWxsCQkJOjE2Ow0KLQlzdHJ1Y3Qgew0KLQkJdW5zaWduZWQgbG93CQk6 ODsJLyogTFNCICovDQotCQl1bnNpZ25lZCBoaWdoCQk6ODsJLyogTVNCICov DQotCX0gYjsNCi19IGlkZXRhcGVfYmNvdW50X3JlZ190Ow0KLQ0KLS8qDQot ICoJQVRBUEkgSW50ZXJydXB0IFJlYXNvbiBSZWdpc3Rlci4NCi0gKi8NCi10 eXBlZGVmIHVuaW9uIHsNCi0JdW5zaWduZWQgYWxsCQkJOjg7DQotCXN0cnVj dCB7DQotCQl1bnNpZ25lZCBjb2QJCToxOwkvKiBJbmZvcm1hdGlvbiB0cmFu c2ZlcnJlZCBpcyBjb21tYW5kICgxKSBvciBkYXRhICgwKSAqLw0KLQkJdW5z aWduZWQgaW8JCToxOwkvKiBUaGUgZGV2aWNlIHJlcXVlc3RzIHVzIHRvIHJl YWQgKDEpIG9yIHdyaXRlICgwKSAqLw0KLQkJdW5zaWduZWQgcmVzZXJ2ZWQJ OjY7CS8qIFJlc2VydmVkICovDQotCX0gYjsNCi19IGlkZXRhcGVfaXJlYXNv bl9yZWdfdDsNCi0NCi0vKg0KLSAqCUFUQVBJIERyaXZlIFNlbGVjdCBSZWdp c3Rlcg0KLSAqLw0KLXR5cGVkZWYgdW5pb24gewkNCi0JdW5zaWduZWQgYWxs CQkJOjg7DQotCXN0cnVjdCB7DQotCQl1bnNpZ25lZCBzYW1fbHVuCTo0Owkv KiBTaG91bGQgYmUgemVybyB3aXRoIEFUQVBJIChub3QgdXNlZCkgKi8NCi0J CXVuc2lnbmVkIGRydgkJOjE7CS8qIFRoZSByZXNwb25kaW5nIGRyaXZlIHdp bGwgYmUgZHJpdmUgMCAoMCkgb3IgZHJpdmUgMSAoMSkgKi8NCi0JCXVuc2ln bmVkIG9uZTUJCToxOwkvKiBTaG91bGQgYmUgc2V0IHRvIDEgKi8NCi0JCXVu c2lnbmVkIHJlc2VydmVkNgk6MTsJLyogUmVzZXJ2ZWQgKi8NCi0JCXVuc2ln bmVkIG9uZTcJCToxOwkvKiBTaG91bGQgYmUgc2V0IHRvIDEgKi8NCi0JfSBi Ow0KLX0gaWRldGFwZV9kcml2ZXNlbF9yZWdfdDsNCi0NCi0vKg0KLSAqCUFU QVBJIERldmljZSBDb250cm9sIFJlZ2lzdGVyDQotICovDQotdHlwZWRlZiB1 bmlvbiB7DQotCXVuc2lnbmVkIGFsbAkJCTo4Ow0KLQlzdHJ1Y3Qgew0KLQkJ dW5zaWduZWQgemVybzAJCToxOwkvKiBTaG91bGQgYmUgc2V0IHRvIHplcm8g Ki8NCi0JCXVuc2lnbmVkIG5pZW4JCToxOwkvKiBEZXZpY2UgaW50ZXJydXB0 IGlzIGRpc2FibGVkICgxKSBvciBlbmFibGVkICgwKSAqLw0KLQkJdW5zaWdu ZWQgc3JzdAkJOjE7CS8qIEFUQSBzb2Z0d2FyZSByZXNldC4gQVRBUEkgZGV2 aWNlcyBzaG91bGQgdXNlIHRoZSBuZXcgQVRBUEkgc3JzdC4gKi8NCi0JCXVu c2lnbmVkIG9uZTMJCToxOwkvKiBTaG91bGQgYmUgc2V0IHRvIDEgKi8NCi0J CXVuc2lnbmVkIHJlc2VydmVkNDU2Nwk6NDsJLyogUmVzZXJ2ZWQgKi8NCi0J fSBiOw0KLX0gaWRldGFwZV9jb250cm9sX3JlZ190Ow0KLQ0KLS8qDQogICoJ aWRldGFwZV9jaHJkZXZfdCBwcm92aWRlcyB0aGUgbGluayBiZXR3ZWVuIG91 dCBjaGFyYWN0ZXIgZGV2aWNlDQogICoJaW50ZXJmYWNlIGFuZCBvdXIgYmxv Y2sgZGV2aWNlIGludGVyZmFjZSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcNCiAg KglhdGFfZGV2aWNlIHN0cnVjdHVyZS4NCkBAIC0xMjI4LDQ1ICsxMTA3LDYg QEANCiB9IGlkZXRhcGVfY2hyZGV2X3Q7DQogDQogLyoNCi0gKglUaGUgZm9s bG93aW5nIGlzIHVzZWQgdG8gZm9ybWF0IHRoZSBnZW5lcmFsIGNvbmZpZ3Vy YXRpb24gd29yZCBvZg0KLSAqCXRoZSBBVEFQSSBJREVOVElGWSBERVZJQ0Ug Y29tbWFuZC4NCi0gKi8NCi1zdHJ1Y3QgaWRldGFwZV9pZF9nY3cgewkNCi0J dW5zaWduZWQgcGFja2V0X3NpemUJCToyOwkvKiBQYWNrZXQgU2l6ZSAqLw0K LQl1bnNpZ25lZCByZXNlcnZlZDIzNAkJOjM7CS8qIFJlc2VydmVkICovDQot CXVuc2lnbmVkIGRycV90eXBlCQk6MjsJLyogQ29tbWFuZCBwYWNrZXQgRFJR IHR5cGUgKi8NCi0JdW5zaWduZWQgcmVtb3ZhYmxlCQk6MTsJLyogUmVtb3Zh YmxlIG1lZGlhICovDQotCXVuc2lnbmVkIGRldmljZV90eXBlCQk6NTsJLyog RGV2aWNlIHR5cGUgKi8NCi0JdW5zaWduZWQgcmVzZXJ2ZWQxMwkJOjE7CS8q IFJlc2VydmVkICovDQotCXVuc2lnbmVkIHByb3RvY29sCQk6MjsJLyogUHJv dG9jb2wgdHlwZSAqLw0KLX07DQotDQotLyoNCi0gKglJTlFVSVJZIHBhY2tl dCBjb21tYW5kIC0gRGF0YSBGb3JtYXQgKEZyb20gVGFibGUgNi04IG9mIFFJ Qy0xNTdDKQ0KLSAqLw0KLXR5cGVkZWYgc3RydWN0IHsNCi0JdW5zaWduZWQJ ZGV2aWNlX3R5cGUJOjU7CS8qIFBlcmlwaGVyYWwgRGV2aWNlIFR5cGUgKi8N Ci0JdW5zaWduZWQJcmVzZXJ2ZWQwXzc2NQk6MzsJLyogUGVyaXBoZXJhbCBR dWFsaWZpZXIgLSBSZXNlcnZlZCAqLw0KLQl1bnNpZ25lZAlyZXNlcnZlZDFf NnQwCTo3OwkvKiBSZXNlcnZlZCAqLw0KLQl1bnNpZ25lZAlybWIJCToxOwkv KiBSZW1vdmFibGUgTWVkaXVtIEJpdCAqLw0KLQl1bnNpZ25lZAlhbnNpX3Zl cnNpb24JOjM7CS8qIEFOU0kgVmVyc2lvbiAqLw0KLQl1bnNpZ25lZAllY21h X3ZlcnNpb24JOjM7CS8qIEVDTUEgVmVyc2lvbiAqLw0KLQl1bnNpZ25lZAlp c29fdmVyc2lvbgk6MjsJLyogSVNPIFZlcnNpb24gKi8NCi0JdW5zaWduZWQJ cmVzcG9uc2VfZm9ybWF0IDo0OwkvKiBSZXNwb25zZSBEYXRhIEZvcm1hdCAq Lw0KLQl1bnNpZ25lZAlyZXNlcnZlZDNfNDUJOjI7CS8qIFJlc2VydmVkICov DQotCXVuc2lnbmVkCXJlc2VydmVkM182CToxOwkvKiBUcm1JT1AgLSBSZXNl cnZlZCAqLw0KLQl1bnNpZ25lZAlyZXNlcnZlZDNfNwk6MTsJLyogQUVOQyAt IFJlc2VydmVkICovDQotCV9fdTgJCWFkZGl0aW9uYWxfbGVuZ3RoOwkvKiBB ZGRpdGlvbmFsIExlbmd0aCAodG90YWxfbGVuZ3RoLTQpICovDQotCV9fdTgJ CXJzdjUsIHJzdjYsIHJzdjc7CS8qIFJlc2VydmVkICovDQotCV9fdTgJCXZl bmRvcl9pZFs4XTsJCS8qIFZlbmRvciBJZGVudGlmaWNhdGlvbiAqLw0KLQlf X3U4CQlwcm9kdWN0X2lkWzE2XTsJCS8qIFByb2R1Y3QgSWRlbnRpZmljYXRp b24gKi8NCi0JX191OAkJcmV2aXNpb25fbGV2ZWxbNF07CS8qIFJldmlzaW9u IExldmVsICovDQotCV9fdTgJCXZlbmRvcl9zcGVjaWZpY1syMF07CS8qIFZl bmRvciBTcGVjaWZpYyAtIE9wdGlvbmFsICovDQotCV9fdTgJCXJlc2VydmVk NTZ0OTVbNDBdOwkvKiBSZXNlcnZlZCAtIE9wdGlvbmFsICovDQotCQkJCQkJ LyogQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBtYXkgYmUgcmV0dXJuZWQgKi8N Ci19IGlkZXRhcGVfaW5xdWlyeV9yZXN1bHRfdDsNCi0NCi0vKg0KICAqCVJF QUQgUE9TSVRJT04gcGFja2V0IGNvbW1hbmQgLSBEYXRhIEZvcm1hdCAoRnJv bSBUYWJsZSA2LTU3KQ0KICAqLw0KIHR5cGVkZWYgc3RydWN0IHsNCkBAIC0x NTc0LDcgKzE0MTQsNyBAQA0KICAqCXRvIGFuYWx5emUgdGhlIHJlcXVlc3Qg c2Vuc2UuIFdlIGN1cnJlbnRseSBkbyBub3QgdXRpbGl6ZSB0aGlzDQogICoJ aW5mb3JtYXRpb24uDQogICovDQotc3RhdGljIHZvaWQgaWRldGFwZV9hbmFs eXplX2Vycm9yKHN0cnVjdCBhdGFfZGV2aWNlICpkcml2ZSwgaWRldGFwZV9y ZXF1ZXN0X3NlbnNlX3Jlc3VsdF90ICpyZXN1bHQpDQorc3RhdGljIHZvaWQg aWRldGFwZV9hbmFseXplX2Vycm9yKHN0cnVjdCBhdGFfZGV2aWNlICpkcml2 ZSwgYXRhcGlfcmVxdWVzdF9zZW5zZV9yZXN1bHRfdCAqcmVzdWx0KQ0KIHsN CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7 DQogCXN0cnVjdCBhdGFwaV9wYWNrZXRfY29tbWFuZCAqcGMgPSB0YXBlLT5m YWlsZWRfcGM7DQpAQCAtMTg4Nyw3ICsxNzI3LDcgQEANCiAJCXByaW50ayAo S0VSTl9JTkZPICJpZGUtdGFwZTogUmVhY2hlZCBpZGV0YXBlX3JlcXVlc3Rf c2Vuc2VfY2FsbGJhY2tcbiIpOw0KICNlbmRpZg0KIAlpZiAoIXRhcGUtPnBj LT5lcnJvcikgew0KLQkJaWRldGFwZV9hbmFseXplX2Vycm9yIChkcml2ZSwg KGlkZXRhcGVfcmVxdWVzdF9zZW5zZV9yZXN1bHRfdCAqKSB0YXBlLT5wYy0+ YnVmZmVyKTsNCisJCWlkZXRhcGVfYW5hbHl6ZV9lcnJvciAoZHJpdmUsIChh dGFwaV9yZXF1ZXN0X3NlbnNlX3Jlc3VsdF90ICopIHRhcGUtPnBjLT5idWZm ZXIpOw0KIAkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgcnEsIDEpOw0K IAl9IGVsc2Ugew0KIAkJcHJpbnRrIChLRVJOX0VSUiAiaWRlLXRhcGU6IEVy cm9yIGluIFJFUVVFU1QgU0VOU0UgaXRzZWxmIC0gQWJvcnRpbmcgcmVxdWVz dCFcbiIpOw0KQEAgLTE5NDEsNyArMTc4MSw3IEBADQogCWlkZXRhcGVfdGFw ZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOw0KIAlzdHJ1Y3QgYXRh cGlfcGFja2V0X2NvbW1hbmQgKnBjOw0KIAlzdHJ1Y3QgcmVxdWVzdCAqcnE7 DQotCWlkZXRhcGVfZXJyb3JfcmVnX3QgZXJyb3I7DQorCWF0YXBpX2Vycm9y X3JlZ190IGVycm9yOw0KIA0KIAllcnJvci5hbGwgPSBJTl9CWVRFIChJREVf RVJST1JfUkVHKTsNCiAJcGMgPSBpZGV0YXBlX25leHRfcGNfc3RvcmFnZSAo ZHJpdmUpOw0KQEAgLTE5ODEsOSArMTgyMSw5IEBADQogCXVuc2lnbmVkIGxv bmcgZmxhZ3M7DQogCXN0cnVjdCBhdGFfY2hhbm5lbCAqY2ggPSBkcml2ZS0+ Y2hhbm5lbDsNCiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJp dmVyX2RhdGE7DQotCWlkZXRhcGVfc3RhdHVzX3JlZ190IHN0YXR1czsNCi0J aWRldGFwZV9iY291bnRfcmVnX3QgYmNvdW50Ow0KLQlpZGV0YXBlX2lyZWFz b25fcmVnX3QgaXJlYXNvbjsNCisJYXRhcGlfc3RhdHVzX3JlZ190IHN0YXR1 czsNCisJYXRhcGlfYmNvdW50X3JlZ190IGJjb3VudDsNCisJYXRhcGlfaXJl YXNvbl9yZWdfdCBpcmVhc29uOw0KIAlzdHJ1Y3QgYXRhcGlfcGFja2V0X2Nv bW1hbmQgKnBjID0gdGFwZS0+cGM7DQogDQogCXVuc2lnbmVkIGludCB0ZW1w Ow0KQEAgLTIxOTYsNyArMjAzNiw3IEBADQogCXN0cnVjdCBhdGFfY2hhbm5l bCAqY2ggPSBkcml2ZS0+Y2hhbm5lbDsNCiAJaWRldGFwZV90YXBlX3QgKnRh cGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7DQogCXN0cnVjdCBhdGFwaV9wYWNr ZXRfY29tbWFuZCAqcGMgPSB0YXBlLT5wYzsNCi0JaWRldGFwZV9pcmVhc29u X3JlZ190IGlyZWFzb247DQorCWF0YXBpX2lyZWFzb25fcmVnX3QgaXJlYXNv bjsNCiAJaW50IHJldHJpZXMgPSAxMDA7DQogCWlkZV9zdGFydHN0b3BfdCBz dGFydHN0b3A7DQogCWludCByZXQ7DQpAQCAtMjI0MCw3ICsyMDgwLDcgQEAN CiAJCXN0cnVjdCByZXF1ZXN0ICpycSwgc3RydWN0IGF0YXBpX3BhY2tldF9j b21tYW5kICpwYykNCiB7DQogCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJp dmUtPmRyaXZlcl9kYXRhOw0KLQlpZGV0YXBlX2Jjb3VudF9yZWdfdCBiY291 bnQ7DQorCWF0YXBpX2Jjb3VudF9yZWdfdCBiY291bnQ7DQogCWludCBkbWFf b2sgPSAwOw0KIA0KICNpZiBJREVUQVBFX0RFQlVHX0JVR1MNCkBAIC0yNDUx LDcgKzIyOTEsNyBAQA0KIHsNCiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBk cml2ZS0+ZHJpdmVyX2RhdGE7DQogCXN0cnVjdCBhdGFwaV9wYWNrZXRfY29t bWFuZCAqcGMgPSB0YXBlLT5wYzsNCi0JaWRldGFwZV9zdGF0dXNfcmVnX3Qg c3RhdHVzOw0KKwlhdGFwaV9zdGF0dXNfcmVnX3Qgc3RhdHVzOw0KIA0KIAlp ZiAodGFwZS0+b25zdHJlYW0pDQogCQlwcmludGsoS0VSTl9JTkZPICJpZGUt dGFwZTogYnVnOiBvbnN0cmVhbSwgbWVkaWFfYWNjZXNzX2ZpbmlzaGVkXG4i KTsNCkBAIC0yNjA5LDcgKzI0NDksNyBAQA0KIAlpZGV0YXBlX3RhcGVfdCAq dGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsNCiAJc3RydWN0IGF0YXBpX3Bh Y2tldF9jb21tYW5kICpwYzsNCiAJc3RydWN0IHJlcXVlc3QgKnBvc3Rwb25l ZF9ycSA9IHRhcGUtPnBvc3Rwb25lZF9ycTsNCi0JaWRldGFwZV9zdGF0dXNf cmVnX3Qgc3RhdHVzOw0KKwlhdGFwaV9zdGF0dXNfcmVnX3Qgc3RhdHVzOw0K IAlpbnQgcmV0Ow0KIA0KICNpZiBJREVUQVBFX0RFQlVHX0xPRw0KQEAgLTU1 NzIsNyArNTQxMiw3IEBADQogICovDQogc3RhdGljIGludCBpZGV0YXBlX2lk ZW50aWZ5X2RldmljZShzdHJ1Y3QgYXRhX2RldmljZSAqZHJpdmUsc3RydWN0 IGhkX2RyaXZlaWQgKmlkKQ0KIHsNCi0Jc3RydWN0IGlkZXRhcGVfaWRfZ2N3 IGdjdzsNCisJc3RydWN0IGF0YXBpX2lkX2djdyBnY3c7DQogI2lmIElERVRB UEVfREVCVUdfSU5GTw0KIAl1bnNpZ25lZCBzaG9ydCBtYXNrLGk7DQogI2Vu ZGlmIC8qIElERVRBUEVfREVCVUdfSU5GTyAqLw0KQEAgLTU3OTEsMTQgKzU2 MzEsMTQgQEANCiAJY2hhciAqcjsNCiAJaWRldGFwZV90YXBlX3QgKnRhcGUg PSBkcml2ZS0+ZHJpdmVyX2RhdGE7DQogCXN0cnVjdCBhdGFwaV9wYWNrZXRf Y29tbWFuZCBwYzsNCi0JaWRldGFwZV9pbnF1aXJ5X3Jlc3VsdF90ICppbnF1 aXJ5Ow0KKwlhdGFwaV9pbnF1aXJ5X3Jlc3VsdF90ICppbnF1aXJ5Ow0KIA0K IAlpZGV0YXBlX2NyZWF0ZV9pbnF1aXJ5X2NtZCgmcGMpOw0KIAlpZiAoaWRl dGFwZV9xdWV1ZV9wY190YWlsIChkcml2ZSwgJnBjKSkgew0KIAkJcHJpbnRr IChLRVJOX0VSUiAiaWRlLXRhcGU6ICVzOiBjYW4ndCBnZXQgSU5RVUlSWSBy ZXN1bHRzXG4iLCB0YXBlLT5uYW1lKTsNCiAJCXJldHVybjsNCiAJfQ0KLQlp bnF1aXJ5ID0gKGlkZXRhcGVfaW5xdWlyeV9yZXN1bHRfdCAqKSBwYy5idWZm ZXI7DQorCWlucXVpcnkgPSAoYXRhcGlfaW5xdWlyeV9yZXN1bHRfdCAqKSBw Yy5idWZmZXI7DQogCW1lbWNweSh0YXBlLT52ZW5kb3JfaWQsIGlucXVpcnkt PnZlbmRvcl9pZCwgOCk7DQogCW1lbWNweSh0YXBlLT5wcm9kdWN0X2lkLCBp bnF1aXJ5LT5wcm9kdWN0X2lkLCAxNik7DQogCW1lbWNweSh0YXBlLT5maXJt d2FyZV9yZXZpc2lvbiwgaW5xdWlyeS0+cmV2aXNpb25fbGV2ZWwsIDQpOw0K QEAgLTU5ODUsNyArNTgyNSw3IEBADQogCXVuc2lnbmVkIGxvbmcgdDEsIHRt aWQsIHRuOw0KIAl1bnNpZ25lZCBsb25nIHQ7DQogCWludCBzcGVlZDsNCi0J c3RydWN0IGlkZXRhcGVfaWRfZ2N3IGdjdzsNCisJc3RydWN0IGF0YXBpX2lk X2djdyBnY3c7DQogCWludCBzdGFnZV9zaXplOw0KIAlzdHJ1Y3Qgc3lzaW5m byBzaTsNCiANCg== ---559023410-851401618-1024607113=:14933-- - 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/