[PATCH] framebuffer devfs support, new bootlogo too (2.1.112-pre2)

Mark \ (root@ntplx.com)
Tue, 28 Jul 1998 13:54:29 -0400 (EDT)


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.

---1463811840-1411679219-901648469=:1003
Content-Type: TEXT/PLAIN; charset=US-ASCII

Attatched are patches for adding devfs support to the framebuffer devices.
I use devfs exclusivly and i wanted to use framebuffer stuff so i had to
add support. The patch is based upon 2.1.112-pre2. The 3dfx patch is a
modification of the device driver Daryll Strauss wrote for 3dfx support.
It has been modified to work in the kernel and act as an option (config..)
it has devfs support, and seems to work.

Also there is a REALY COOL 2.1.x bootlogo patch attached which kicks the
krap out of the fbcon one. It actualy blanks the screen, and holds the
image for a second (so we can see it) and it works w/o fbcon.

NOTE: PLEASE TEST THESE, framebuffer seems to work, 3dfx.. i dont know
I did not write the bootlogo patch, and it has worked every time
and seems stable
Sincerely,
Mark Guzman

---1463811840-1411679219-901648469=:1003
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="3dfx.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.00.9807281354290.1003@elucid.dyn.ml.org>
Content-Description: 3dfx 2.1.x + devfs patch
Content-Disposition: attachment; filename="3dfx.patch"

LS0tIC4vZHJpdmVycy92aWRlby9vbGQvTWFrZWZpbGUJTW9uIEp1bCAyNyAx
Nzo0Mzo1MSAxOTk4DQorKysgZHJpdmVycy92aWRlby9NYWtlZmlsZQlNb24g
SnVsIDI3IDE3OjUwOjE2IDE5OTgNCkBAIC0zMiw3ICszMiwxNCBAQA0KIGlm
ZXEgKCQoQ09ORklHX1BST01fQ09OU09MRSkseSkNCiAgIExfT0JKUyArPSBw
cm9tY29uLm8NCiBlbmRpZg0KLQ0KK2lmZXEgKCQoQ09ORklHXzNERlgpLHkp
DQorICBMX09CSlMgKz0gM2RmeC5vDQorICBlbHNlDQorICAgIGlmZXEgKCQo
Q09ORklHXzNERlgpLG0pDQorCU1fT0JKUyArPSAzZGZ4Lm8NCisgICAgZW5k
aWYJCQ0KK2VuZGlmDQorICAgIA0KIGlmZXEgKCQoQ09ORklHX0ZCKSx5KQ0K
ICAgTF9PQkpTICs9IGZvbnRzLm8NCiAgIE9YX09CSlMgKz0gZmJjb24ubyBm
YmNtYXAubw0KLS0tIC4vZHJpdmVycy92aWRlby9vbGQvQ29uZmlnLmluCU1v
biBKdWwgMjcgMTc6NTU6MTIgMTk5OA0KKysrIGRyaXZlcnMvdmlkZW8vQ29u
ZmlnLmluCU1vbiBKdWwgMjcgMTc6NDA6MDMgMTk5OA0KQEAgLTEsNyArMSw3
IEBADQogIw0KICMgVmlkZW8gY29uZmlndXJhdGlvbg0KICMNCi0NCitkZWZp
bmVfYm9vbCBDT05GSUdfM0RGWCBuDQogaWYgWyAiJENPTkZJR19GQiIgPSAi
eSIgXTsgdGhlbg0KICAgZGVmaW5lX2Jvb2wgQ09ORklHX0RVTU1ZX0NPTlNP
TEUgeQ0KICAgaWYgWyAiJENPTkZJR19BUkNIX0FDT1JOIiA9ICJ5IiBdOyB0
aGVuDQotLS0gLi9Eb2N1bWVudGF0aW9uL29sZC9Db25maWd1cmUuaGVscAlN
b24gSnVsIDI3IDE3OjU4OjQ2IDE5OTgNCisrKyBEb2N1bWVudGF0aW9uL0Nv
bmZpZ3VyZS5oZWxwCU1vbiBKdWwgMjcgMTc6Mzc6MDQgMTk5OA0KQEAgLTE0
OTQsMTAgKzE0OTQsMTAgQEANCiAgIElmIHlvdSB3YW50IHRvIHBsYXkgd2l0
aCBpdCwgc2F5IFkgaGVyZSBhbmQgdG8gdGhlIGRyaXZlciBmb3IgeW91cg0K
ICAgZ3JhcGhpY3MgYm9hcmQsIGJlbG93LiBJZiB1bnN1cmUsIHNheSBOLg0K
IA0KKzNkZnggQ2FyZCBzdXBwb3J0DQorQ09ORklHXzNERlgNCisgIFRoaXMg
aXMgdGhlIGRldmljZSBkcml2ZXIgZm9yIDNkZnggY2FyZHMsIGNyZWF0aW5n
IC9kZXYvM2RmeA0KKyAgWW91IGFsc28gbmVlZCB0aGUgZ2xpZGUgbGlicmFy
eSAoZ2xpZGUueHhlZGdleHguY29tKS4NCiANCiBBY29ybiBWSURDIHN1cHBv
cnQNCiBDT05GSUdfRkJfQUNPUk4NCi0tLSBpbml0L21haW4uYy5vbGQJVHVl
IEp1bCAyOCAxMzoyMzoyMCAxOTk4DQorKysgaW5pdC9tYWluLmMJVHVlIEp1
bCAyOCAxMjo1NDozMSAxOTk4DQpAQCAtMzE0LDYgKzMxNCwxMCBAQA0KIGV4
dGVybiB2b2lkIG1kX3NldHVwKGNoYXIgKnN0cixpbnQgKmludHMpIF9faW5p
dDsNCiAjZW5kaWYNCiANCisjaWZkZWYgQ09ORklHXzNERlgNCitleHRlcm4g
dm9pZCBpbml0XzNkZngodm9pZCk7DQorI2VuZGlmIA0KKw0KICNpZmRlZiBf
X3NwYXJjX18NCiBleHRlcm4gaW50IHNlcmlhbF9jb25zb2xlOw0KICNlbmRp
Zg0KQEAgLTExNzYsNiArMTE4MCw5IEBADQogI2lmZGVmIENPTkZJR19BUkNI
X0FDT1JODQogCWVjYXJkX2luaXQoKTsNCiAjZW5kaWYNCisjaWZkZWYgQ09O
RklHXzNERlgNCisJaW5pdF8zZGZ4KCk7DQorI2VuZGlmCQ0KIA0KIAkvKiAN
CiAJICoJV2UgY291bnQgb24gdGhlIGluaXRpYWwgdGhyZWFkIGdvaW5nIG9r
IA0KLS0tIC9kZXYvbnVsbAlXZWQgRGVjIDMxIDE5OjAwOjAwIDE5NjkNCisr
KyBkcml2ZXJzL3ZpZGVvLzNkZnguYwlUdWUgSnVsIDI4IDEyOjUyOjQ5IDE5
OTgNCkBAIC0wLDAgKzEsNTM5IEBADQorDQorLyogQ29tcGlsZSB3aXRoICJn
Y2MgLU8gLURNT0RVTEUgLURfX0tFUk5FTF9fIC1jIDNkZnguYyIgKi8NCisN
CisjaWZkZWYgTU9EVUxFDQorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0K
KyNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+DQorI2Vsc2UNCisjZGVmaW5l
IE1PRF9JTkNfVVNFX0NPVU5UDQorI2RlZmluZSBNT0RfREVDX1VTRV9DT1VO
VA0KKyNlbmRpZg0KKw0KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPg0KKyNp
bmNsdWRlIDxsaW51eC9mcy5oPg0KKyNpbmNsdWRlIDxsaW51eC9tbS5oPiAg
ICAvKiBmb3IgdmVyaWZ5X2FyZWEgKi8NCisjaW5jbHVkZSA8bGludXgvZXJy
bm8uaD4gLyogZm9yIC1FQlVTWSAqLw0KKyNpbmNsdWRlIDxsaW51eC9wY2ku
aD4gLyogZGV2aWNlIGxpc3QgKi8NCisjaW5jbHVkZSA8bGludXgvcG9sbC5o
PiAvKnBvbGwgc3R1ZmYgKi8NCisvLyNpbmNsdWRlIDxsaW51eC9iaW9zMzIu
aD4gLyogcGNpIGJpb3MgY2FsbHMgKi8gT2Jzb2xldGUgKE0uRy4pDQorI2lu
Y2x1ZGUgPGFzbS9zZWdtZW50Lmg+IC8qIGZvciBwdXRfdXNlcl9ieXRlICov
DQorI2luY2x1ZGUgPGFzbS9pb2N0bC5oPg0KKyNpbmNsdWRlIDxhc20vaW8u
aD4NCisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4NCisjaW5jbHVkZSA8YXNt
L3Byb2Nlc3Nvci5oPg0KKw0KKyNpZmRlZiBDT05GSUdfREVWRlNfRlMNCisj
aW5jbHVkZSA8bGludXgvbWFqb3IuaD4NCisjaW5jbHVkZSA8bGludXgvZGV2
ZnNfZnMuaD4NCisjZW5kaWYgLypDT05GSUdfREVWRlNfRlMqLw0KKw0KKyNk
ZWZpbmUgTUFKT1JfM0RGWCAxMDcNCisjZGVmaW5lIERFVklDRV9WT09ET08g
MA0KKw0KKyNkZWZpbmUgUENJX1ZFTkRPUl9JRF9MSU5VWCAweDANCisjZGVm
aW5lIFBDSV9ERVZJQ0VfSURfTElOVVggMHgyDQorI2RlZmluZSBQQ0lfQ09N
TUFORF9MSU5VWCAweDQNCisjZGVmaW5lIFBDSV9SRVZJU0lPTl9JRF9MSU5V
WCAweDgNCisjZGVmaW5lIFBDSV9CQVNFX0FERFJFU1NfMF9MSU5VWCAweDEw
DQorI2RlZmluZSBTU1QxX1BDSV9TUEVDSUFMMV9MSU5VWCAweDQwDQorI2Rl
ZmluZSBTU1QxX1BDSV9TUEVDSUFMMl9MSU5VWCAweDQ0DQorI2RlZmluZSBT
U1QxX1BDSV9TUEVDSUFMM19MSU5VWCAweDQ4DQorI2RlZmluZSBTU1QxX1BD
SV9TUEVDSUFMNF9MSU5VWCAweDU0DQorDQorI2RlZmluZSBWR0FfSU5QVVRf
U1RBVFVTXzFDIDB4M0RBDQorI2RlZmluZSBWR0FfTUlTQ19PVVRQVVRfUkVB
RCAweDNjYw0KKyNkZWZpbmUgVkdBX01JU0NfT1VUUFVUX1dSSVRFIDB4M2My
DQorI2RlZmluZSBTQ19JTkRFWCAweDNjNA0KKyNkZWZpbmUgU0NfREFUQSAg
MHgzYzUNCisNCisjaWZuZGVmIFBDSV9WRU5ET1JfSURfM0RGWA0KKyNkZWZp
bmUgUENJX1ZFTkRPUl9JRF8zREZYIDB4MTIxYQ0KKyNlbmRpZg0KKw0KKyNp
Zm5kZWYgUENJX1ZFTkRPUl9JRF9BTExJQU5DRQ0KKyNkZWZpbmUgUENJX1ZF
TkRPUl9JRF9BTExJQU5DRQkJMHgxMTQyDQorI2VuZGlmDQorDQorI2lmbmRl
ZiBQQ0lfREVWSUNFX0lEXzNERlhfVk9PRE9PMg0KKyNkZWZpbmUgUENJX0RF
VklDRV9JRF8zREZYX1ZPT0RPTzIgMg0KKyNlbmRpZg0KKw0KKyNpZm5kZWYg
UENJX0RFVklDRV9JRF9BTExJQU5DRV9BVDNEDQorI2RlZmluZSBQQ0lfREVW
SUNFX0lEX0FMTElBTkNFX0FUM0QgMHg2NDNkDQorI2VuZGlmDQorDQorI2lm
ZGVmIERFQlVHDQorI2RlZmluZSBERUJVR01TRyBwcmludGsNCisjZWxzZQ0K
K2lubGluZSB2b2lkIG5vb3AoKSB7fQ0KKyNkZWZpbmUgREVCVUdNU0cgbm9v
cA0KKyNlbmRpZg0KKw0KK3R5cGVkZWYgc3RydWN0IHBpb0RhdGFfdCB7DQor
ICBzaG9ydCBwb3J0Ow0KKyAgc2hvcnQgc2l6ZTsNCisgIGludCBkZXZpY2U7
DQorICB2b2lkICp2YWx1ZTsNCit9IHBpb0RhdGE7DQorDQordHlwZWRlZiBz
dHJ1Y3QgY2FyZEluZm9fdCB7DQorICBpbnQgdmVuZG9yOw0KKyAgaW50IHR5
cGU7DQorICBpbnQgYWRkcjsNCisgIHVuc2lnbmVkIGNoYXIgYnVzOw0KKyAg
dW5zaWduZWQgY2hhciBkZXY7DQorICBzdHJ1Y3QgZmlsZSAqY3VyRmlsZTsN
Cit9IGNhcmRJbmZvOw0KKw0KKyNkZWZpbmUgTUFYQ0FSRFMgMTYNCisNCitj
YXJkSW5mbyBjYXJkc1tNQVhDQVJEU107DQorc3RhdGljIGludCBtYWpvcl8z
ZGZ4PTA7DQorc3RhdGljIGludCBudW1DYXJkcz0wOw0KKw0KK3N0YXRpYyB2
b2lkIGZpbmRDYXJkVHlwZShpbnQgdmVuZG9yLCBpbnQgZGV2aWNlKSB7DQor
ICBpbnQgaTsNCisNCisgIGZvciAoaT0wOyBudW1DYXJkczxNQVhDQVJEUzsg
aSsrKSB7DQorICAgIGlmIChwY2liaW9zX2ZpbmRfZGV2aWNlKHZlbmRvciwg
ZGV2aWNlLCBpLCANCisJCQkgICAgJmNhcmRzW251bUNhcmRzXS5idXMsICZj
YXJkc1tudW1DYXJkc10uZGV2KSkNCisgICAgICByZXR1cm47DQorICAgIHBj
aWJpb3NfcmVhZF9jb25maWdfZHdvcmQoY2FyZHNbbnVtQ2FyZHNdLmJ1cywN
CisJCQkgICAgICBjYXJkc1tudW1DYXJkc10uZGV2LCBQQ0lfQkFTRV9BRERS
RVNTXzAsDQorCQkJICAgICAgJmNhcmRzW251bUNhcmRzXS5hZGRyKTsNCisg
ICAgY2FyZHNbbnVtQ2FyZHNdLmFkZHImPX4weEY7DQorICAgIGNhcmRzW251
bUNhcmRzXS52ZW5kb3I9dmVuZG9yOw0KKyAgICBjYXJkc1tudW1DYXJkc10u
dHlwZT1kZXZpY2U7DQorICAgIGNhcmRzW251bUNhcmRzXS5jdXJGaWxlPTA7
DQorDQorICAgIERFQlVHTVNHKCIzZGZ4IGJvYXJkIHZlbmRvciAlZCB0eXBl
ICVkIEAgJXggYnVzICVkIGRldiAlZFxuIiwNCisJICAgICB2ZW5kb3IsIGRl
dmljZSwNCisJICAgICBjYXJkc1tudW1DYXJkc10uYWRkciwgY2FyZHNbbnVt
Q2FyZHNdLmJ1cywgY2FyZHNbbnVtQ2FyZHNdLmRldik7DQorICAgIG51bUNh
cmRzKys7DQorICB9DQorfQ0KKw0KK3N0YXRpYyBpbnQgZmluZENhcmRzKCkg
ew0KKyAgaWYgKCFwY2liaW9zX3ByZXNlbnQoKSkgcmV0dXJuIDA7DQorICBu
dW1DYXJkcz0wOw0KKyAgZmluZENhcmRUeXBlKFBDSV9WRU5ET1JfSURfM0RG
WCwgUENJX0RFVklDRV9JRF8zREZYX1ZPT0RPTyk7DQorICBmaW5kQ2FyZFR5
cGUoUENJX1ZFTkRPUl9JRF8zREZYLCBQQ0lfREVWSUNFX0lEXzNERlhfVk9P
RE9PMik7DQorICBmaW5kQ2FyZFR5cGUoUENJX1ZFTkRPUl9JRF9BTExJQU5D
RSwgMHg2NDNkKTsNCisgIHJldHVybiBudW1DYXJkczsNCit9DQorDQorc3Rh
dGljIGludCBvcGVuXzNkZngoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0
IGZpbGUgKiBmaWxlKSB7DQorICBpZiAoIW51bUNhcmRzKSB7DQorICAgIERF
QlVHTVNHKCJObyAzRGZ4IGNhcmRzIGZvdW5kXG4iKTsNCisgICAgcmV0dXJu
IC1FSU87DQorICB9DQorICBNT0RfSU5DX1VTRV9DT1VOVDsNCisgIHJldHVy
biAwOw0KK30NCisNCitzdGF0aWMgdm9pZCByZWxlYXNlXzNkZngoc3RydWN0
IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxlKSB7DQorICBpbnQg
aTsNCisNCisgIGZvciAoaT0wOyBpPG51bUNhcmRzOyBpKyspDQorICAgIGlm
IChjYXJkc1tpXS5jdXJGaWxlPT1maWxlKSBjYXJkc1tpXS5jdXJGaWxlPTA7
DQorICBNT0RfREVDX1VTRV9DT1VOVDsNCit9DQorDQorc3RhdGljIGludCBt
bWFwXzNkZngoc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICog
ZmlsZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICogdm1hKQ0KK3sNCisgIHNp
emVfdCBsZW47DQorICBpbnQgaTsNCisNCisgIGZvciAoaT0wOyBpPG51bUNh
cmRzOyBpKyspIHsNCisgICAgaWYgKGNhcmRzW2ldLmFkZHI9PXZtYS0+dm1f
b2Zmc2V0KSBicmVhazsNCisgIH0NCisgIGlmIChpPT1udW1DYXJkcykgew0K
KyAgICBERUJVR01TRygiQ291bGRuJ3QgbWF0Y2ggYWRkcmVzcyAlbHggdG8g
YSBjYXJkXG4iLCB2bWEtPnZtX29mZnNldCk7DQorICAgIHJldHVybiAtRVBF
Uk07DQorICB9DQorICBpZiAoY2FyZHNbaV0uY3VyRmlsZSkgew0KKyAgICBE
RUJVR01TRygiM0RmeCBjYXJkIGFscmVhZHkgaW4gdXNlXG4iKTsNCisgICAg
cmV0dXJuIC1FQlVTWTsNCisgIH0NCisNCisgIGlmICgodm1hLT52bV9vZmZz
ZXQpICYgflBBR0VfTUFTSykgew0KKyAgICBERUJVR01TRygiTWFwIHJlcXVl
c3Qgbm90IHBhZ2UgYWxpZ25lZFxuIik7DQorICAgIHJldHVybiAtRU5YSU87
DQorICB9DQorICBsZW49dm1hLT52bV9lbmQtdm1hLT52bV9zdGFydDsNCisg
IGlmICgobGVuPDApIHx8IChsZW4+MHgxMDAwMDAwKSkgew0KKyAgICBERUJV
R01TRygiSW52YWxpZCBtYXBwaW5nIHNpemUgcmVxdWVzdGVkXG4iKTsNCisg
ICAgcmV0dXJuIC1FSU5WQUw7DQorICB9DQorI2lmIGRlZmluZWQoX19pMzg2
X18pDQorICBwZ3Byb3RfdmFsKHZtYS0+dm1fcGFnZV9wcm90KXw9X1BBR0Vf
UENEOw0KKyNlbmRpZiAgDQorICBpZiAocmVtYXBfcGFnZV9yYW5nZSh2bWEt
PnZtX3N0YXJ0LCB2bWEtPnZtX29mZnNldCwNCisJCSAgICAgICBsZW4sIHZt
YS0+dm1fcGFnZV9wcm90KSkgew0KKyAgICBERUJVR01TRygiUGFnZSByZW1h
cCBmYWlsZWRcbiIpOw0KKyAgICByZXR1cm4gLUVBR0FJTjsNCisgIH0NCisg
IC8vdm1hLT52bV9pbm9kZT1pbm9kZTsNCisgIGlub2RlLT5pX2NvdW50Kys7
DQorICBjYXJkc1tpXS5jdXJGaWxlPWZpbGU7DQorICByZXR1cm4gMDsNCit9
DQorDQorc3RhdGljIGludCBkb1F1ZXJ5Qm9hcmRzKCkgew0KKyAgcmV0dXJu
IG51bUNhcmRzOw0KK30NCisNCitzdGF0aWMgaW50IGRvUXVlcnlGZXRjaChw
aW9EYXRhICpkZXNjKSB7DQorICBpbnQgcmV0dmFsOw0KKyAgY2hhciByZXRj
aGFyOw0KKyAgc2hvcnQgcmV0d29yZDsNCisgIGludCByZXRsb25nOw0KKw0K
KyAgaWYgKGRlc2MtPmRldmljZTwwIHx8IGRlc2MtPmRldmljZT49bnVtQ2Fy
ZHMpIHJldHVybiAtRUlOVkFMOw0KKyAgaWYgKChyZXR2YWw9dmVyaWZ5X2Fy
ZWEoVkVSSUZZX1dSSVRFLCBkZXNjLT52YWx1ZSwgZGVzYy0+c2l6ZSkpKQ0K
KyAgICByZXR1cm4gcmV0dmFsOw0KKyAgc3dpdGNoIChkZXNjLT5wb3J0KSB7
DQorICBjYXNlIFBDSV9WRU5ET1JfSURfTElOVVg6DQorICAgIGlmIChkZXNj
LT5zaXplIT0yKSByZXR1cm4gLUVJTlZBTDsNCisgICAgbWVtY3B5KGRlc2Mt
PnZhbHVlLCAmY2FyZHNbZGVzYy0+ZGV2aWNlXS52ZW5kb3IsIGRlc2MtPnNp
emUpOw0KKyAgICByZXR1cm4gMDsgLyp0b2ZzKi8NCisgIGNhc2UgUENJX0RF
VklDRV9JRF9MSU5VWDoNCisgICAgaWYgKGRlc2MtPnNpemUhPTIpIHJldHVy
biAtRUlOVkFMOw0KKyAgICBtZW1jcHkoZGVzYy0+dmFsdWUsICZjYXJkc1tk
ZXNjLT5kZXZpY2VdLnR5cGUsIGRlc2MtPnNpemUpOw0KKyAgICByZXR1cm4g
MDsNCisgIGNhc2UgUENJX0JBU0VfQUREUkVTU18wX0xJTlVYOg0KKyAgICBp
ZiAoZGVzYy0+c2l6ZSE9NCkgcmV0dXJuIC1FSU5WQUw7DQorICAgIG1lbWNw
eShkZXNjLT52YWx1ZSwgJmNhcmRzW2Rlc2MtPmRldmljZV0uYWRkciwgZGVz
Yy0+c2l6ZSk7DQorICAgIHJldHVybiAwOw0KKyAgY2FzZSBTU1QxX1BDSV9T
UEVDSUFMMV9MSU5VWDoNCisgICAgaWYgKGRlc2MtPnNpemUhPTQpIHJldHVy
biAtRUlOVkFMOw0KKyAgICBicmVhazsNCisgIGNhc2UgUENJX1JFVklTSU9O
X0lEOg0KKyAgICBpZiAoZGVzYy0+c2l6ZSE9MSkgcmV0dXJuIC1FSU5WQUw7
DQorICAgIGJyZWFrOw0KKyAgY2FzZSBTU1QxX1BDSV9TUEVDSUFMNF9MSU5V
WDoNCisgICAgaWYgKGRlc2MtPnNpemUhPTQpIHJldHVybiAtRUlOVkFMOw0K
KyAgICBicmVhazsNCisgIGRlZmF1bHQ6DQorICAgIHJldHVybiAtRUlOVkFM
Ow0KKyAgfQ0KKyAgc3dpdGNoIChkZXNjLT5zaXplKSB7DQorICBjYXNlIDE6
DQorICAgIHBjaWJpb3NfcmVhZF9jb25maWdfYnl0ZShjYXJkc1tkZXNjLT5k
ZXZpY2VdLmJ1cywNCisJCQkgICAgIGNhcmRzW2Rlc2MtPmRldmljZV0uZGV2
LCBkZXNjLT5wb3J0LCAmcmV0Y2hhcik7DQorICAgIG1lbWNweShkZXNjLT52
YWx1ZSwgJnJldGNoYXIsIDEpOw0KKyAgICBicmVhazsNCisgIGNhc2UgMjoN
CisgICAgcGNpYmlvc19yZWFkX2NvbmZpZ193b3JkKGNhcmRzW2Rlc2MtPmRl
dmljZV0uYnVzLA0KKwkJCSAgICAgY2FyZHNbZGVzYy0+ZGV2aWNlXS5kZXYs
IGRlc2MtPnBvcnQsICZyZXR3b3JkKTsNCisgICAgbWVtY3B5KGRlc2MtPnZh
bHVlLCAmcmV0d29yZCwgMik7DQorICAgIGJyZWFrOw0KKyAgY2FzZSA0Og0K
KyAgICBwY2liaW9zX3JlYWRfY29uZmlnX2R3b3JkKGNhcmRzW2Rlc2MtPmRl
dmljZV0uYnVzLA0KKwkJCSAgICAgY2FyZHNbZGVzYy0+ZGV2aWNlXS5kZXYs
IGRlc2MtPnBvcnQsICZyZXRsb25nKTsNCisgICAgbWVtY3B5KGRlc2MtPnZh
bHVlLCAmcmV0bG9uZywgNCk7DQorICAgIGJyZWFrOw0KKyAgZGVmYXVsdDoN
CisgICAgcmV0dXJuIC1FSU5WQUw7DQorICB9DQorICByZXR1cm4gMDsNCit9
DQorDQorc3RhdGljIGludCBkb1F1ZXJ5VXBkYXRlKHBpb0RhdGEgKmRlc2Mp
IHsNCisgIGludCByZXR2YWw7DQorICBpbnQgcHJldmFsOw0KKyAgaW50IG1h
c2s7DQorICBjaGFyIHJldGNoYXI7DQorICBzaG9ydCByZXR3b3JkOw0KKyAg
aW50IHJldGxvbmc7DQorDQorICBpZiAoZGVzYy0+ZGV2aWNlPDAgfHwgZGVz
Yy0+ZGV2aWNlPj1udW1DYXJkcykgcmV0dXJuIC1FSU5WQUw7DQorICBpZiAo
KHJldHZhbD12ZXJpZnlfYXJlYShWRVJJRllfV1JJVEUsIGRlc2MtPnZhbHVl
LCBkZXNjLT5zaXplKSkpDQorICAgIHJldHVybiByZXR2YWw7DQorICBzd2l0
Y2ggKGRlc2MtPnBvcnQpIHsNCisgIGNhc2UgUENJX0NPTU1BTkRfTElOVVg6
DQorICAgIGlmIChkZXNjLT5zaXplIT0yKSByZXR1cm4gLUVJTlZBTDsNCisg
ICAgYnJlYWs7DQorICBjYXNlIFNTVDFfUENJX1NQRUNJQUwxX0xJTlVYOg0K
KyAgICBpZiAoZGVzYy0+c2l6ZSE9NCkgcmV0dXJuIC1FSU5WQUw7DQorICAg
IGJyZWFrOw0KKyAgY2FzZSBTU1QxX1BDSV9TUEVDSUFMMl9MSU5VWDoNCisg
ICAgaWYgKGRlc2MtPnNpemUhPTQpIHJldHVybiAtRUlOVkFMOw0KKyAgICBi
cmVhazsNCisgIGNhc2UgU1NUMV9QQ0lfU1BFQ0lBTDNfTElOVVg6DQorICAg
IGlmIChkZXNjLT5zaXplIT00KSByZXR1cm4gLUVJTlZBTDsNCisgICAgYnJl
YWs7DQorICBjYXNlIFNTVDFfUENJX1NQRUNJQUw0X0xJTlVYOg0KKyAgICBp
ZiAoZGVzYy0+c2l6ZSE9NCkgcmV0dXJuIC1FSU5WQUw7DQorICAgIGJyZWFr
Ow0KKyAgZGVmYXVsdDoNCisgICAgcmV0dXJuIC1FSU5WQUw7DQorICB9DQor
ICBwY2liaW9zX3JlYWRfY29uZmlnX2R3b3JkKGNhcmRzW2Rlc2MtPmRldmlj
ZV0uYnVzLA0KKwkJCSAgICBjYXJkc1tkZXNjLT5kZXZpY2VdLmRldiwgZGVz
Yy0+cG9ydCAmIH4weDMsIA0KKwkJCSAgICAmcmV0dmFsKTsNCisgIHN3aXRj
aCAoZGVzYy0+c2l6ZSkgew0KKyAgY2FzZSAxOg0KKyAgICBtZW1jcHkoJnJl
dGNoYXIsIGRlc2MtPnZhbHVlLCAxKTsNCisgICAgcHJldmFsPXJldGNoYXI8
PCg4KihkZXNjLT5wb3J0JjB4MykpOw0KKyAgICBtYXNrPTB4RkY8PCg4Kihk
ZXNjLT5wb3J0JjB4MykpOw0KKyAgICBicmVhazsNCisgIGNhc2UgMjoNCisg
ICAgbWVtY3B5KCZyZXR3b3JkLCBkZXNjLT52YWx1ZSwgMik7DQorICAgIHBy
ZXZhbD1yZXR3b3JkPDwoOCooZGVzYy0+cG9ydCYweDMpKTsNCisgICAgbWFz
az0weEZGRkY8PCg4KihkZXNjLT5wb3J0JjB4MykpOw0KKyAgICBicmVhazsN
CisgIGNhc2UgNDoNCisgICAgbWVtY3B5KCZyZXRsb25nLCBkZXNjLT52YWx1
ZSwgNCk7IC8qIF9mcm9tZnMgKi8NCisgICAgcHJldmFsPXJldGxvbmc7DQor
ICAgIG1hc2s9fjA7DQorICAgIGJyZWFrOw0KKyAgZGVmYXVsdDoNCisgICAg
cmV0dXJuIC1FSU5WQUw7DQorICB9DQorICByZXR2YWwgPSAocmV0dmFsICYg
fm1hc2spIHwgcHJldmFsOw0KKyAgcGNpYmlvc193cml0ZV9jb25maWdfZHdv
cmQoY2FyZHNbZGVzYy0+ZGV2aWNlXS5idXMsDQorCQkJICAgICBjYXJkc1tk
ZXNjLT5kZXZpY2VdLmRldiwgZGVzYy0+cG9ydCwgcmV0dmFsKTsNCisgIHJl
dHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IGRvUXVlcnkodW5zaWduZWQg
aW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpIHsNCisgIHBpb0RhdGEgZGVz
YzsNCisgIGludCByZXR2YWw7DQorDQorICBpZiAoX0lPQ19OUihjbWQpPT0y
KSByZXR1cm4gZG9RdWVyeUJvYXJkcygpOw0KKyAgaWYgKChyZXR2YWw9dmVy
aWZ5X2FyZWEoVkVSSUZZX1JFQUQsICh2b2lkKilhcmcsIHNpemVvZihwaW9E
YXRhKSkpKQ0KKyAgICByZXR1cm4gcmV0dmFsOw0KKyAgbWVtY3B5KCZkZXNj
LCAodm9pZCopYXJnLCBzaXplb2YocGlvRGF0YSkpOyAvKiBfZnJvbWZzICov
DQorICBpZiAoX0lPQ19OUihjbWQpPT0zKSByZXR1cm4gZG9RdWVyeUZldGNo
KCZkZXNjKTsNCisgIGlmIChfSU9DX05SKGNtZCk9PTQpIHJldHVybiBkb1F1
ZXJ5VXBkYXRlKCZkZXNjKTsNCisgIHJldHVybiAtRUlOVkFMOw0KK30NCisN
CitzdGF0aWMgaW50IGRvUElPUmVhZChwaW9EYXRhICpkZXNjKSB7DQorICBp
bnQgcmV0dmFsOw0KKyAgY2hhciByZXRjaGFyOw0KKyAgc2hvcnQgcmV0d29y
ZDsNCisgIGludCByZXRsb25nOw0KKw0KKyAgaWYgKChyZXR2YWw9dmVyaWZ5
X2FyZWEoVkVSSUZZX1dSSVRFLCBkZXNjLT52YWx1ZSwgZGVzYy0+c2l6ZSkp
KQ0KKyAgICByZXR1cm4gcmV0dmFsOw0KKyAgc3dpdGNoIChkZXNjLT5wb3J0
KSB7DQorICBjYXNlIFZHQV9JTlBVVF9TVEFUVVNfMUM6DQorICAgIGJyZWFr
Ow0KKyAgY2FzZSBTQ19JTkRFWDoNCisgICAgYnJlYWs7DQorICBjYXNlIFND
X0RBVEE6DQorICAgIGJyZWFrOw0KKyAgY2FzZSBWR0FfTUlTQ19PVVRQVVRf
UkVBRDoNCisgICAgYnJlYWs7DQorICBkZWZhdWx0Og0KKyAgICByZXR1cm4g
LUVQRVJNOw0KKyAgfQ0KKyAgaWYgKGRlc2MtPnNpemUhPTEpIHsNCisgICAg
cmV0dXJuIC1FSU5WQUw7DQorICB9DQorICBzd2l0Y2ggKGRlc2MtPnNpemUp
IHsNCisgIGNhc2UgMToNCisgICAgcmV0Y2hhcj1pbmIoZGVzYy0+cG9ydCk7
DQorICAgIG1lbWNweShkZXNjLT52YWx1ZSwgJnJldGNoYXIsIHNpemVvZihj
aGFyKSk7DQorICAgIGJyZWFrOyAvKiBfdG9mcyAqLw0KKyAgY2FzZSAyOg0K
KyAgICByZXR3b3JkPWludyhkZXNjLT5wb3J0KTsNCisgICAgbWVtY3B5KGRl
c2MtPnZhbHVlLCAmcmV0d29yZCwgc2l6ZW9mKHNob3J0KSk7DQorICAgIGJy
ZWFrOw0KKyAgY2FzZSA0Og0KKyAgICByZXRsb25nPWlubChkZXNjLT5wb3J0
KTsNCisgICAgbWVtY3B5KGRlc2MtPnZhbHVlLCAmcmV0bG9uZywgc2l6ZW9m
KGludCkpOw0KKyAgICBicmVhazsNCisgIGRlZmF1bHQ6DQorICAgIHJldHVy
biAtRUlOVkFMOw0KKyAgfQ0KKyAgcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRp
YyBpbnQgZG9QSU9Xcml0ZShwaW9EYXRhICpkZXNjKSB7DQorICBpbnQgcmV0
dmFsOw0KKyAgY2hhciByZXRjaGFyOw0KKyAgc2hvcnQgcmV0d29yZDsNCisg
IGludCByZXRsb25nOw0KKw0KKyAgaWYgKChyZXR2YWw9dmVyaWZ5X2FyZWEo
VkVSSUZZX1JFQUQsIGRlc2MtPnZhbHVlLCBkZXNjLT5zaXplKSkpDQorICAg
IHJldHVybiByZXR2YWw7DQorICBzd2l0Y2ggKGRlc2MtPnBvcnQpIHsNCisg
IGNhc2UgU0NfSU5ERVg6DQorICAgIGJyZWFrOw0KKyAgY2FzZSBTQ19EQVRB
Og0KKyAgICBicmVhazsNCisgIGNhc2UgVkdBX01JU0NfT1VUUFVUX1dSSVRF
Og0KKyAgICBicmVhazsNCisgIGRlZmF1bHQ6DQorICAgIHJldHVybiAtRVBF
Uk07DQorICB9DQorICBpZiAoZGVzYy0+c2l6ZSE9MSkgew0KKyAgICByZXR1
cm4gLUVJTlZBTDsNCisgIH0NCisgIHN3aXRjaCAoZGVzYy0+c2l6ZSkgew0K
KyAgY2FzZSAxOg0KKyAgICBtZW1jcHkoJnJldGNoYXIsIGRlc2MtPnZhbHVl
LCBzaXplb2YoY2hhcikpOw0KKyAgICBvdXRiKHJldGNoYXIsIGRlc2MtPnBv
cnQpOw0KKyAgICBicmVhazsgLyogX2Zyb21mcyAqLw0KKyAgY2FzZSAyOg0K
KyAgICBtZW1jcHkoJnJldHdvcmQsIGRlc2MtPnZhbHVlLCBzaXplb2Yoc2hv
cnQpKTsNCisgICAgb3V0dyhyZXR3b3JkLCBkZXNjLT5wb3J0KTsNCisgICAg
YnJlYWs7DQorICBjYXNlIDQ6DQorICAgIG1lbWNweSgmcmV0bG9uZywgZGVz
Yy0+dmFsdWUsIHNpemVvZihpbnQpKTsNCisgICAgb3V0bChyZXRsb25nLCBk
ZXNjLT5wb3J0KTsNCisgICAgYnJlYWs7DQorICBkZWZhdWx0Og0KKyAgICBy
ZXR1cm4gLUVJTlZBTDsNCisgIH0NCisgIHJldHVybiAwOw0KK30NCisNCitz
dGF0aWMgaW50IGRvUElPKHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxv
bmcgYXJnKSB7DQorICBwaW9EYXRhIGRlc2M7DQorICBpbnQgcmV0dmFsOw0K
Kw0KKyAgaWYgKChyZXR2YWw9dmVyaWZ5X2FyZWEoVkVSSUZZX1JFQUQsICh2
b2lkKilhcmcsIHNpemVvZihwaW9EYXRhKSkpKQ0KKyAgICByZXR1cm4gcmV0
dmFsOw0KKyAgbWVtY3B5KCZkZXNjLCAodm9pZCopYXJnLCBzaXplb2YocGlv
RGF0YSkpOyAvKiBfZnJvbWZzICovDQorICBpZiAoX0lPQ19ESVIoY21kKT09
X0lPQ19SRUFEKSByZXR1cm4gZG9QSU9SZWFkKCZkZXNjKTsNCisgIGlmIChf
SU9DX0RJUihjbWQpPT1fSU9DX1dSSVRFKSByZXR1cm4gZG9QSU9Xcml0ZSgm
ZGVzYyk7DQorICByZXR1cm4gLUVJTlZBTDsNCit9DQorDQorc3RhdGljIGlu
dCBpb2N0bF8zZGZ4KHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxl
ICpmaWxlLA0KKwkJICAgIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxv
bmcgYXJnKQ0KK3sNCisgIHN3aXRjaCAoX0lPQ19UWVBFKGNtZCkpIHsNCisg
IGNhc2UgJzMnOg0KKyAgICByZXR1cm4gZG9RdWVyeShjbWQsIGFyZyk7DQor
ICBjYXNlIDA6DQorICAgIHJldHVybiBkb1BJTyhjbWQsIGFyZyk7DQorICBk
ZWZhdWx0Og0KKyAgICBERUJVR01TRygiVW5rbm93biAzZGZ4IHJlcXVlc3Qg
bWFkZVxuIik7DQorICAgIHJldHVybiAtRUlOVkFMOw0KKyAgfQ0KK30NCisN
CitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmb3BzXzNkZnggPSB7
DQorICAwLA0KKyAgMCwNCisgIDAsDQorICAwLA0KKyAgMCwNCisgIGlvY3Rs
XzNkZngsDQorICBtbWFwXzNkZngsDQorICBvcGVuXzNkZngsDQorICByZWxl
YXNlXzNkZngsDQorICAwLA0KKyAgMCwNCisgIDAsDQorICAwDQorfTsNCisN
CisvKiBzZWdmYXVsdCAtIE1vbiBKdWwgMjcgMTk5OCAtIDNkZnggZGV2ZnMg
c3VwcG9ydCAqLw0KKy8qIGAtIHRoaXMgd2FzIGFkZGVkIHNvIHRoYXQgZGV2
ZnMgd291bGQgc3VwcG9ydCB0aGUgZGFtbmVkIHRoaW5nICovDQorI2lmZGVm
IENPTkZJR19ERVZGU19GUw0KKyNkZWZpbmUgREVWRlNfM0RGWF9ESVJFQ1RP
UlkgIjNERlgiDQorI2RlZmluZSBGWF9ERVYgIDAgDQorLyogVGhlc2UgZGV2
aWNlIG5hbWVzIGZvbGxvdyB0aGUgb2ZmaWNpYWwgTGludXggZGV2aWNlIGxp
c3QsDQorICogRG9jdW1lbnRhdGlvbi9kZXZpY2VzLnR4dC4gIExldCB1cyBr
bm93IGlmIHRoZXJlIGFyZSBvdGhlcg0KKyAqIGNvbW1vbiBuYW1lcyB3ZSBz
aG91bGQgc3VwcG9ydCBmb3IgY29tcGF0aWJpbGl0eS4NCisgKi8NCitzdGF0
aWMgY29uc3Qgc3RydWN0IHsNCisgICB1bnNpZ25lZCBzaG9ydCBtaW5vcjsN
CisgICBjaGFyICpuYW1lOw0KKyAgIHVtb2RlX3QgbW9kZTsNCisgICBpbnQg
Km51bTsNCit9IGRldl9saXN0W10gPSB7IC8qIGxpc3Qgb2YgbWlub3IgZGV2
aWNlcyAqLw0KKyAgIHtGWF9ERVYsICAgICAgICIzZGZ4IiwgU19JUlVHTyB8
IFNfSVdVR08sIE5VTEx9LA0KK307DQorc3RhdGljIGNoYXIgKg0KK2Z4X21h
a2VfbmFtZShjaGFyICpidWYsIGNoYXIgKm5hbWUsIGludCBpZHgpIHsNCisg
ICAgaWYgKGlkeD09MCkNCisgICAgICAgc3ByaW50ZihidWYsIERFVkZTXzNE
RlhfRElSRUNUT1JZICIvIiAiJXMiLCBuYW1lKTsNCisgICAgZWxzZQ0KKyAg
ICAgICBzcHJpbnRmKGJ1ZiwgREVWRlNfM0RGWF9ESVJFQ1RPUlkgIi8iICIl
cyVkIiwgbmFtZSwgaWR4KTsNCisgICAgcmV0dXJuIGJ1ZjsNCit9DQorLyog
UmVnaXN0ZXIgM2RmeCBlbnRyaWVzICovDQorc3RhdGljIHZvaWQNCitmeF9y
ZWdpc3Rlcl9kZXZmcyh2b2lkKQ0KK3sNCisgICBjaGFyIG5hbWVfYnVmWzMy
XTsNCisgICBpbnQgaSwgaiwgbnVtOw0KKyAgICAgIA0KKyAgIGZvciAoaT0w
OyBpPHNpemVvZihkZXZfbGlzdCkvc2l6ZW9mKCpkZXZfbGlzdCk7IGkrKykg
ew0KKyAgICAgICBudW0gPSAoZGV2X2xpc3RbaV0ubnVtPT1OVUxMKT8wOipk
ZXZfbGlzdFtpXS5udW07DQorICAgICAgIGZvciAoaj0wOyBqPG51bSB8fCBq
PT0wOyBqKyspIHsNCisgICAgICAgICAgIGZ4X21ha2VfbmFtZShuYW1lX2J1
ZiwgZGV2X2xpc3RbaV0ubmFtZSwgaik7DQorICAgICAgICAgICBkZXZmc19y
ZWdpc3RlcihuYW1lX2J1ZiwgMCwgREVWRlNfRkxfTk9ORSwNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgTUFKT1JfM0RGWCwgZGV2X2xpc3RbaV0ubWlu
b3IrKGoqMHgxMCksDQorICAgICAgICAgICAgICAgICAgICAgICAgIFNfSUZD
SFIgfCBkZXZfbGlzdFtpXS5tb2RlLCAwLCAwLCAmZm9wc18zZGZ4LCBOVUxM
KTsNCisgICAgICAgICAgIA0KKyAgICAgICAgICAgZGV2ZnNfbWtfc3ltbGlu
ayhOVUxMLCBuYW1lX2J1ZitzaXplb2YoREVWRlNfM0RGWF9ESVJFQ1RPUlkp
LCAwLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICBERVZGU19GTF9OT05F
LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2J1ZiwgMCwgTlVM
TCk7DQorICAgICAgICAgICANCisgICAgICAgfQ0KKyAgIH0NCit9DQorDQor
Lyogc2VnZmF1bHQgLSBNb24gSnVsIDI3IDE5OTggLSBlbmQgb2YgM2RmeCBz
dXBwb3J0IGZ1bmN0aW9ucyAqLw0KKw0KK3N0YXRpYyB2b2lkICpkZXZmc19o
YW5kbGUgPSBOVUxMOw0KKyNlbmRpZiAvKkNPTkZJR19ERVZGU19GUyovDQor
DQorI2lmZGVmIE1PRFVMRQ0KK2ludCBpbml0X21vZHVsZSh2b2lkKQ0KK3sN
CisjaWZuZGVmIENPTkZJR19ERVZGU19GUw0KKyAgaWYgKChtYWpvcl8zZGZ4
ID0gcmVnaXN0ZXJfY2hyZGV2KE1BSk9SXzNERlgsICIzZGZ4IiwgJmZvcHNf
M2RmeCkpID09IC1FQlVTWSkgew0KKyAgICBERUJVR01TRygidW5hYmxlIHRv
IGdldCBtYWpvciBmb3IgM2RmeCBkZXZpY2VcbiIpOw0KKyAgICByZXR1cm4g
LUVJTzsNCisgIH0NCisjZWxzZSAvKkNPTkZJR19ERVZGU19GUyovICANCisg
IGlmIChkZXZmc19yZWdpc3Rlcl9jaHJkZXYoTUFKT1JfM0RGWCwgIjNkZngi
LCAmZm9wc18zZGZ4KT09LUVCVVNZKQ0KKyAgICAgew0KKyAgICAgICBERUJV
R01TRygidW5hYmxlIHRvIGdldCBtYWpvciBmb3IgM2RmeCBkZXZpY2VcbiIp
Ow0KKyAgICAgICByZXR1cm4gLUVJTzsNCisgICAgIH0NCisgIGRldmZzX2hh
bmRsZSA9IE5VTEw7DQorICBmeF9yZWdpc3Rlcl9kZXZmcygpOyAgDQorI2Vu
ZGlmIC8qQ09ORklHX0RFVkZTX0ZTKi8NCisgIA0KKyAgZmluZENhcmRzKCk7
DQorICByZXR1cm4gMDsNCit9DQorI2Vsc2UNCit2b2lkIGluaXRfM2RmeCh2
b2lkKSB7DQorI2lmbmRlZiBDT05GSUdfREVWRlNfRlMNCisgIGlmIChtYWpv
cl8zZGZ4ID0gcmVnaXN0ZXJfY2hyZGV2KE1BSk9SXzNERlgsICIzZGZ4Iiwg
JmZvcHNfM2RmeCkpDQorICAgIERFQlVHTVNHKCJ1bmFibGUgdG8gZ2V0IG1h
am9yIGZvciAzZGZ4IGRldmljZVxuIik7IA0KKyNlbHNlIC8qQ09ORklHX0RF
VkZTX0ZTKi8NCisgIGlmIChkZXZmc19yZWdpc3Rlcl9jaHJkZXYoTUFKT1Jf
M0RGWCwgIjNkZngiLCAmZm9wc18zZGZ4KSkJDQorCSBERUJVR01TRygidW5h
YmxlIHRvIGdldCBtYWpvciBmb3IgM2RmeCBkZXZpY2VcbiIpOyAgDQorICBm
eF9yZWdpc3Rlcl9kZXZmcygpOw0KKyNlbmRpZiAvKkNPTkZJR19ERVZGU19G
UyovDQorICBmaW5kQ2FyZHMoKTsNCisgIHJldHVybiAwOw0KK30NCisjZW5k
aWYNCisNCisNCisjaWZkZWYgTU9EVUxFDQordm9pZCBjbGVhbnVwX21vZHVs
ZSh2b2lkKSB7DQorICAjaWZuZGVmIENPTkZJR19ERVZGU19GUyANCisJdW5y
ZWdpc3Rlcl9jaHJkZXYoTUFKT1JfM0RGWCwgIjNkZngiKTsNCisgICNlbHNl
IC8qQ09ORklHX0RFVkZTX0ZTICANCisgLyogV2UgaGF2ZSBub3RoaW5nIHRv
IHJlYWxseSBkbyBoZXJlIC0gd2Uga25vdyB0aGUgbGlzdHMgbXVzdCBiZQ0K
KyAgICAgZW1wdHkgKi8NCisgCQ0KKyBkZXZmc191bnJlZ2lzdGVyX2NocmRl
dihNQUpPUl8zREZYLCAiM2RmeCIpOw0KKyBkZXZmc191bnJlZ2lzdGVyIChk
ZXZmc19oYW5kbGUpOw0KKyAgI2VuZGlmIC8qQ09ORklHX0RFVkZTX0ZTKi8J
DQorfQ0KKyNlbmRpZg0K
---1463811840-1411679219-901648469=:1003
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="fbdevfs.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.00.9807281354291.1003@elucid.dyn.ml.org>
Content-Description: Framebuffer devfs patch
Content-Disposition: attachment; filename="fbdevfs.patch"

ZGlmZiAtdSAvbW50L3NyYy9saW51eC9kcml2ZXJzL3ZpZGVvL0NvbmZpZy5p
biBkcml2ZXJzL3ZpZGVvL0NvbmZpZy5pbg0KLS0tIC9tbnQvc3JjL2xpbnV4
L2RyaXZlcnMvdmlkZW8vQ29uZmlnLmluCVR1ZSBKdWwgMjggMTM6MzA6Mzgg
MTk5OA0KKysrIGRyaXZlcnMvdmlkZW8vQ29uZmlnLmluCVR1ZSBKdWwgMjgg
MDM6NTI6MDcgMTk5OA0KQEAgLTEsNyArMSw3IEBADQogIw0KICMgVmlkZW8g
Y29uZmlndXJhdGlvbg0KICMNCi0NCit0cmlzdGF0ZSAnM0RmeCBkZXZpY2Ug
c3VwcG9ydCcgQ09ORklHXzNERlggDQogaWYgWyAiJENPTkZJR19GQiIgPSAi
eSIgXTsgdGhlbg0KICAgZGVmaW5lX2Jvb2wgQ09ORklHX0RVTU1ZX0NPTlNP
TEUgeQ0KICAgaWYgWyAiJENPTkZJR19BUkNIX0FDT1JOIiA9ICJ5IiBdOyB0
aGVuDQpkaWZmIC11IC9tbnQvc3JjL2xpbnV4L2RyaXZlcnMvdmlkZW8vTWFr
ZWZpbGUgZHJpdmVycy92aWRlby9NYWtlZmlsZQ0KLS0tIC9tbnQvc3JjL2xp
bnV4L2RyaXZlcnMvdmlkZW8vTWFrZWZpbGUJVHVlIEp1bCAyOCAxMzozMDoz
OCAxOTk4DQorKysgZHJpdmVycy92aWRlby9NYWtlZmlsZQlUdWUgSnVsIDI4
IDAzOjA1OjUyIDE5OTgNCkBAIC0zMiw3ICszMiwxNCBAQA0KIGlmZXEgKCQo
Q09ORklHX1BST01fQ09OU09MRSkseSkNCiAgIExfT0JKUyArPSBwcm9tY29u
Lm8gcHJvbWNvbl90Ymwubw0KIGVuZGlmDQotDQoraWZlcSAoJChDT05GSUdf
M0RGWCkseSkNCisgIExfT0JKUyArPSAzZGZ4Lm8NCisgIGVsc2UNCisgICAg
aWZlcSAoJChDT05GSUdfM0RGWCksbSkNCisJTV9PQkpTICs9IDNkZngubw0K
KyAgICBlbmRpZgkJDQorZW5kaWYNCisgICAgDQogaWZlcSAoJChDT05GSUdf
RkIpLHkpDQogICBMX09CSlMgKz0gZm9udHMubw0KICAgT1hfT0JKUyArPSBm
YmNvbi5vIGZiY21hcC5vDQpkaWZmIC11IC9tbnQvc3JjL2xpbnV4L2RyaXZl
cnMvdmlkZW8vUzN0cmlvZmIuYyBkcml2ZXJzL3ZpZGVvL1MzdHJpb2ZiLmMN
Ci0tLSAvbW50L3NyYy9saW51eC9kcml2ZXJzL3ZpZGVvL1MzdHJpb2ZiLmMJ
VHVlIEp1bCAyMSAxMzoyODoyNCAxOTk4DQorKysgZHJpdmVycy92aWRlby9T
M3RyaW9mYi5jCVR1ZSBKdWwgMjggMDU6MDc6MTUgMTk5OA0KQEAgLTYxMiw2
ICs2MTIsMTEgQEANCiAgICAgfQ0KICNlbmRpZiAvKiBDT05GSUdfRkJfQ09N
UEFUX1hQTUFDKSAqLw0KIA0KKyAgICAvKiBzZWdmYXVsdCAtIEp1bHkgMjgg
MTk5OCAtIGRldmZzIGZyYW1lYnVmZmVyIHN1cHBvcnQgKi8NCisgICAgI2lm
ZGVmIENPTkZJR19ERVZGU19GUw0KKyAgICBmcmFtZWJ1ZmZlcl9yZWdpc3Rl
cl9kZXZmcygpOw0KKyAgICAjZW5kaWYgLypDT05GSUdfREVWRlNfRlMqLw0K
KwkNCiAgICAgaWYgKHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKCZmYl9pbmZvKSA8
IDApDQogCXJldHVybjsNCiANCmRpZmYgLXUgL21udC9zcmMvbGludXgvZHJp
dmVycy92aWRlby9hY29ybmZiLmMgZHJpdmVycy92aWRlby9hY29ybmZiLmMN
Ci0tLSAvbW50L3NyYy9saW51eC9kcml2ZXJzL3ZpZGVvL2Fjb3JuZmIuYwlU
dWUgSnVsIDIxIDEzOjI4OjI0IDE5OTgNCisrKyBkcml2ZXJzL3ZpZGVvL2Fj
b3JuZmIuYwlUdWUgSnVsIDI4IDA1OjA2OjQ5IDE5OTgNCkBAIC0zNzYsNiAr
Mzc2LDExIEBADQogCWFjb3JuZmJfc2V0X2Rpc3AoLTEpOw0KIAlmYl9zZXRf
Y21hcChmYl9kZWZhdWx0X2NtYXAoY3VycmVudF9wYXIucGFsZXR0ZV9zaXpl
KSwgJmZiX2Rpc3BsYXlbMF0udmFyLA0KIAkJICAgIDEsIGFjb3JuZmJfdmlk
YzIwX3NldGNvbHJlZywgJmZiX2luZm8pOw0KKwkgICAgLyogc2VnZmF1bHQg
LSBKdWx5IDI4IDE5OTggLSBkZXZmcyBmcmFtZWJ1ZmZlciBzdXBwb3J0ICov
DQorCSNpZmRlZiBDT05GSUdfREVWRlNfRlMNCisJZnJhbWVidWZmZXJfcmVn
aXN0ZXJfZGV2ZnMoKTsNCisJI2VuZGlmIC8qQ09ORklHX0RFVkZTX0ZTKi8N
CisJICAgIA0KIAlyZWdpc3Rlcl9mcmFtZWJ1ZmZlcigmZmJfaW5mbyk7DQog
DQogCXJldHVybiBtZW1fc3RhcnQ7DQpkaWZmIC11IC9tbnQvc3JjL2xpbnV4
L2RyaXZlcnMvdmlkZW8vYW1pZmIuYyBkcml2ZXJzL3ZpZGVvL2FtaWZiLmMN
Ci0tLSAvbW50L3NyYy9saW51eC9kcml2ZXJzL3ZpZGVvL2FtaWZiLmMJVHVl
IEp1bCAyMSAxMzoyODoyNCAxOTk4DQorKysgZHJpdmVycy92aWRlby9hbWlm
Yi5jCVR1ZSBKdWwgMjggMDU6MDY6MjggMTk5OA0KQEAgLTE5MDEsNiArMTkw
MSwxMSBAQA0KIA0KIAlhbWlmYl9zZXRfdmFyKCZhbWlmYl9kZWZhdWx0LCAt
MSwgJmZiX2luZm8pOw0KIA0KKwkvKiBzZWdmYXVsdCAtIEp1bHkgMjggMTk5
OCAtIGRldmZzIGZyYW1lYnVmZmVyIHN1cHBvcnQgKi8NCisJI2lmZGVmIENP
TkZJR19ERVZGU19GUw0KKwlmcmFtZWJ1ZmZlcl9yZWdpc3Rlcl9kZXZmcygp
Ow0KKwkjZW5kaWYgLypDT05GSUdfREVWRlNfRlMqLw0KKwkgICAgDQogCWlm
IChyZWdpc3Rlcl9mcmFtZWJ1ZmZlcigmZmJfaW5mbykgPCAwKQ0KIAkJcmV0
dXJuOw0KIA0KZGlmZiAtdSAvbW50L3NyYy9saW51eC9kcml2ZXJzL3ZpZGVv
L2F0YWZiLmMgZHJpdmVycy92aWRlby9hdGFmYi5jDQotLS0gL21udC9zcmMv
bGludXgvZHJpdmVycy92aWRlby9hdGFmYi5jCVR1ZSBKdWwgMjggMTM6MzA6
MzggMTk5OA0KKysrIGRyaXZlcnMvdmlkZW8vYXRhZmIuYwlUdWUgSnVsIDI4
IDA1OjA2OjA2IDE5OTgNCkBAIC0yODI3LDYgKzI4MjcsMTEgQEANCiAJYXRh
ZmJfc2V0X2Rpc3AoLTEsICZmYl9pbmZvKTsNCiAJZG9faW5zdGFsbF9jbWFw
KDAsICZmYl9pbmZvKTsNCiANCisJLyogc2VnZmF1bHQgLSBKdWx5IDI4IDE5
OTggLSBkZXZmcyBmcmFtZWJ1ZmZlciBzdXBwb3J0ICovDQorCSNpZmRlZiBD
T05GSUdfREVWRlNfRlMNCisJZnJhbWVidWZmZXJfcmVnaXN0ZXJfZGV2ZnMo
KTsNCisJI2VuZGlmIC8qQ09ORklHX0RFVkZTX0ZTKi8NCisJICAgIA0KIAlp
ZiAocmVnaXN0ZXJfZnJhbWVidWZmZXIoJmZiX2luZm8pIDwgMCkNCiAJCXJl
dHVybjsNCiANCmRpZmYgLXUgL21udC9zcmMvbGludXgvZHJpdmVycy92aWRl
by9hdHlmYi5jIGRyaXZlcnMvdmlkZW8vYXR5ZmIuYw0KLS0tIC9tbnQvc3Jj
L2xpbnV4L2RyaXZlcnMvdmlkZW8vYXR5ZmIuYwlUdWUgSnVsIDI4IDEzOjMw
OjM4IDE5OTgNCisrKyBkcml2ZXJzL3ZpZGVvL2F0eWZiLmMJVHVlIEp1bCAy
OCAwNTowNTo0MSAxOTk4DQpAQCAtMjQ3MSw2ICsyNDcxLDExIEBADQogICAg
IGRpc3AtPmRpc3BzdyA9ICZpbmZvLT5kaXNwc3c7DQogICAgIGF0eWZiX3Nl
dF92YXIoJnZhciwgLTEsICZpbmZvLT5mYl9pbmZvKTsNCiANCisgICAgLyog
c2VnZmF1bHQgLSBKdWx5IDI4IDE5OTggLSBkZXZmcyBmcmFtZWJ1ZmZlciBz
dXBwb3J0ICovDQorICAgICNpZmRlZiBDT05GSUdfREVWRlNfRlMNCisgICAg
ZnJhbWVidWZmZXJfcmVnaXN0ZXJfZGV2ZnMoKTsNCisgICAgI2VuZGlmIC8q
Q09ORklHX0RFVkZTX0ZTKi8NCisJDQogICAgIGlmIChyZWdpc3Rlcl9mcmFt
ZWJ1ZmZlcigmaW5mby0+ZmJfaW5mbykgPCAwKQ0KIAlyZXR1cm4gMDsNCiAN
CmRpZmYgLXUgL21udC9zcmMvbGludXgvZHJpdmVycy92aWRlby9jaGlwc2Zi
LmMgZHJpdmVycy92aWRlby9jaGlwc2ZiLmMNCi0tLSAvbW50L3NyYy9saW51
eC9kcml2ZXJzL3ZpZGVvL2NoaXBzZmIuYwlUdWUgSnVsIDIxIDEzOjI4OjI0
IDE5OTgNCisrKyBkcml2ZXJzL3ZpZGVvL2NoaXBzZmIuYwlUdWUgSnVsIDI4
IDA1OjA0OjE0IDE5OTgNCkBAIC00NTEsNiArNDUxLDExIEBADQogCQlwLT5w
YWxldHRlW2ldLmJsdWUgPSBkZWZhdWx0X2JsdVtqXTsNCiAJfQ0KIA0KKwkv
KiBzZWdmYXVsdCAtIEp1bHkgMjggMTk5OCAtIGRldmZzIGZyYW1lYnVmZmVy
IHN1cHBvcnQgKi8NCisJI2lmZGVmIENPTkZJR19ERVZGU19GUw0KKwlmcmFt
ZWJ1ZmZlcl9yZWdpc3Rlcl9kZXZmcygpOw0KKwkjZW5kaWYgLypDT05GSUdf
REVWRlNfRlMqLw0KKwkgICAgDQogCWlmIChyZWdpc3Rlcl9mcmFtZWJ1ZmZl
cigmcC0+aW5mbykgPCAwKSB7DQogCQlrZnJlZShwKTsNCiAJCXJldHVybjsN
CmRpZmYgLXUgL21udC9zcmMvbGludXgvZHJpdmVycy92aWRlby9jbGdlbmZi
LmMgZHJpdmVycy92aWRlby9jbGdlbmZiLmMNCi0tLSAvbW50L3NyYy9saW51
eC9kcml2ZXJzL3ZpZGVvL2NsZ2VuZmIuYwlUdWUgSnVsIDI4IDEzOjMwOjM4
IDE5OTgNCisrKyBkcml2ZXJzL3ZpZGVvL2NsZ2VuZmIuYwlUdWUgSnVsIDI4
IDA1OjAzOjQ5IDE5OTgNCkBAIC0xNTUxLDYgKzE1NTEsMTEgQEANCiAgICAg
ZmJnZW5fc2V0X2Rpc3AoLTEsICZmYl9pbmZvLT5nZW4pOw0KICAgICBmYmdl
bl9pbnN0YWxsX2NtYXAoMCwgJmZiX2luZm8tPmdlbik7DQogDQorICAgIC8q
IHNlZ2ZhdWx0IC0gSnVseSAyOCAxOTk4IC0gZGV2ZnMgZnJhbWVidWZmZXIg
c3VwcG9ydCAqLw0KKyAgICAjaWZkZWYgQ09ORklHX0RFVkZTX0ZTDQorICAg
IGZyYW1lYnVmZmVyX3JlZ2lzdGVyX2RldmZzKCk7DQorICAgICNlbmRpZiAv
KkNPTkZJR19ERVZGU19GUyovDQorCQ0KICAgICBlcnIgPSByZWdpc3Rlcl9m
cmFtZWJ1ZmZlcigmZmJfaW5mby0+Z2VuLmluZm8pOw0KICAgICBpZiAoZXJy
KQ0KICAgICB7DQpkaWZmIC11IC9tbnQvc3JjL2xpbnV4L2RyaXZlcnMvdmlk
ZW8vY29udHJvbGZiLmMgZHJpdmVycy92aWRlby9jb250cm9sZmIuYw0KLS0t
IC9tbnQvc3JjL2xpbnV4L2RyaXZlcnMvdmlkZW8vY29udHJvbGZiLmMJVHVl
IEp1bCAyOCAxMzozMDozOCAxOTk4DQorKysgZHJpdmVycy92aWRlby9jb250
cm9sZmIuYwlUdWUgSnVsIDI4IDA1OjAzOjAzIDE5OTgNCkBAIC00NjYsNyAr
NDY2LDEyIEBADQogCXBhci0+eG9mZnNldCA9IHBhci0+eW9mZnNldCA9IDA7
DQogCQ0KIAljb250cm9sX3Bhcl90b19hbGwocCwgMSk7DQotCQ0KKw0KKwkv
KiBzZWdmYXVsdCAtIEp1bHkgMjggMTk5OCAtIGRldmZzIGZyYW1lYnVmZmVy
IHN1cHBvcnQgKi8NCisJI2lmZGVmIENPTkZJR19ERVZGU19GUw0KKwlmcmFt
ZWJ1ZmZlcl9yZWdpc3Rlcl9kZXZmcygpOw0KKwkjZW5kaWYgLypDT05GSUdf
REVWRlNfRlMqLw0KKwkgICAgDQogCWlmIChyZWdpc3Rlcl9mcmFtZWJ1ZmZl
cigmcC0+aW5mbykgPCAwKSB7DQogCQlrZnJlZShwKTsNCiAJCXJldHVybjsN
CmRpZmYgLXUgL21udC9zcmMvbGludXgvZHJpdmVycy92aWRlby9jeWJlcmZi
LmMgZHJpdmVycy92aWRlby9jeWJlcmZiLmMNCi0tLSAvbW50L3NyYy9saW51
eC9kcml2ZXJzL3ZpZGVvL2N5YmVyZmIuYwlUdWUgSnVsIDI4IDEzOjMwOjM4
IDE5OTgNCisrKyBkcml2ZXJzL3ZpZGVvL2N5YmVyZmIuYwlUdWUgSnVsIDI4
IDA1OjAyOjI2IDE5OTgNCkBAIC0xMDU0LDYgKzEwNTQsMTEgQEANCiAJY3li
ZXJmYl9zZXRfZGlzcCgtMSwgJmZiX2luZm8pOw0KIAlkb19pbnN0YWxsX2Nt
YXAoMCwgJmZiX2luZm8pOw0KIA0KKwkvKiBzZWdmYXVsdCAtIEp1bHkgMjgg
MTk5OCAtIGRldmZzIGZyYW1lYnVmZmVyIHN1cHBvcnQgKi8NCisJI2lmZGVm
IENPTkZJR19ERVZGU19GUw0KKwlmcmFtZWJ1ZmZlcl9yZWdpc3Rlcl9kZXZm
cygpOw0KKwkjZW5kaWYgLypDT05GSUdfREVWRlNfRlMqLw0KKwkgICAgDQog
CWlmIChyZWdpc3Rlcl9mcmFtZWJ1ZmZlcigmZmJfaW5mbykgPCAwKQ0KIAkJ
cmV0dXJuOw0KIA0KZGlmZiAtdSAvbW50L3NyYy9saW51eC9kcml2ZXJzL3Zp
ZGVvL2RuZmIuYyBkcml2ZXJzL3ZpZGVvL2RuZmIuYw0KLS0tIC9tbnQvc3Jj
L2xpbnV4L2RyaXZlcnMvdmlkZW8vZG5mYi5jCVR1ZSBKdWwgMjggMTM6MzA6
MzggMTk5OA0KKysrIGRyaXZlcnMvdmlkZW8vZG5mYi5jCVR1ZSBKdWwgMjgg
MDU6MDE6NTggMTk5OA0KQEAgLTMzMyw2ICszMzMsMTEgQEANCiAgICAgICAg
IGRuZmJfZ2V0X3ZhcigmZGlzcFswXS52YXIsIDAsICZmYl9pbmZvKTsNCiAJ
ZG5mYl9zZXRfZGlzcCgtMSwgJmZiX2luZm8pOw0KIA0KKwkvKiBzZWdmYXVs
dCAtIEp1bHkgMjggMTk5OCAtIGRldmZzIGZyYW1lYnVmZmVyIHN1cHBvcnQg
Ki8NCisJI2lmZGVmIENPTkZJR19ERVZGU19GUw0KKwlmcmFtZWJ1ZmZlcl9y
ZWdpc3Rlcl9kZXZmcygpOw0KKwkjZW5kaWYgLypDT05GSUdfREVWRlNfRlMq
Lw0KKwkgICAgDQogCWlmIChyZWdpc3Rlcl9mcmFtZWJ1ZmZlcigmZmJfaW5m
bykgPCAwKQ0KIAkJcGFuaWMoInVuYWJsZSB0byByZWdpc3RlciBhcG9sbG8g
ZnJhbWUgYnVmZmVyXG4iKTsNCiAgDQpkaWZmIC11IC9tbnQvc3JjL2xpbnV4
L2RyaXZlcnMvdmlkZW8vaHBmYi5jIGRyaXZlcnMvdmlkZW8vaHBmYi5jDQot
LS0gL21udC9zcmMvbGludXgvZHJpdmVycy92aWRlby9ocGZiLmMJRnJpIEp1
bCAxMCAxODoxODozMSAxOTk4DQorKysgZHJpdmVycy92aWRlby9ocGZiLmMJ
VHVlIEp1bCAyOCAwNTowMToyOCAxOTk4DQpAQCAtMzY1LDYgKzM2NSwxMSBA
QA0KIAlocGZiX2dldF92YXIoJmRpc3AudmFyLCAtMSwgJmZiX2luZm8pOw0K
IAlocGZiX3NldF9kaXNwKC0xKTsNCiANCisJLyogc2VnZmF1bHQgLSBKdWx5
IDI4IDE5OTggLSBkZXZmcyBmcmFtZWJ1ZmZlciBzdXBwb3J0ICovDQorCSNp
ZmRlZiBDT05GSUdfREVWRlNfRlMNCisJZnJhbWVidWZmZXJfcmVnaXN0ZXJf
ZGV2ZnMoKTsNCisJI2VuZGlmIC8qQ09ORklHX0RFVkZTX0ZTKi8NCisJICAg
IA0KIAlpZiAocmVnaXN0ZXJfZnJhbWVidWZmZXIoJmZiX2luZm8pIDwgMCkN
CiAJCXJldHVybiAxOw0KIA0KZGlmZiAtdSAvbW50L3NyYy9saW51eC9kcml2
ZXJzL3ZpZGVvL21hY2ZiLmMgZHJpdmVycy92aWRlby9tYWNmYi5jDQotLS0g
L21udC9zcmMvbGludXgvZHJpdmVycy92aWRlby9tYWNmYi5jCVR1ZSBKdWwg
MjggMTM6MzA6MzkgMTk5OA0KKysrIGRyaXZlcnMvdmlkZW8vbWFjZmIuYwlU
dWUgSnVsIDI4IDA1OjAxOjA0IDE5OTgNCkBAIC00MjUsNiArNDI1LDEyIEBA
DQogCSAqCVJlZ2lzdGVyIHRoZSBudWJ1cyBob29rDQogCSAqLw0KIAkgDQor
ICAgICAgICAvKiBzZWdmYXVsdCAtIEp1bHkgMjggMTk5OCAtIGRldmZzIGZy
YW1lYnVmZmVyIHN1cHBvcnQgKi8NCisgICAgICAgICNpZmRlZiBDT05GSUdf
REVWRlNfRlMNCisgICAgICAgIGZyYW1lYnVmZmVyX3JlZ2lzdGVyX2RldmZz
KCk7DQorCSNlbmRpZiAvKkNPTkZJR19ERVZGU19GUyovDQorCSAgICANCisJ
DQogCXJlZ2lzdGVyX251YnVzX2RldmljZSgmbmJfdmlkZW8pOw0KIA0KIAlp
ZiAocmVnaXN0ZXJfZnJhbWVidWZmZXIoJmZiX2luZm8pIDwgMCkNCmRpZmYg
LXUgL21udC9zcmMvbGludXgvZHJpdmVycy92aWRlby9tZGFmYi5jIGRyaXZl
cnMvdmlkZW8vbWRhZmIuYw0KLS0tIC9tbnQvc3JjL2xpbnV4L2RyaXZlcnMv
dmlkZW8vbWRhZmIuYwlUdWUgSnVsIDIxIDEzOjI4OjI0IDE5OTgNCisrKyBk
cml2ZXJzL3ZpZGVvL21kYWZiLmMJVHVlIEp1bCAyOCAwNTowMDoyMyAxOTk4
DQpAQCAtNDE1LDYgKzQxNSwxMSBAQA0KIA0KICAgICBtZGFmYl9zZXRfdmFy
KCZmYl92YXIsIC0xLCAmZmJfaW5mbyk7DQogDQorICAgIC8qIHNlZ2ZhdWx0
IC0gSnVseSAyOCAxOTk4IC0gZGV2ZnMgZnJhbWVidWZmZXIgc3VwcG9ydCAq
Lw0KKyAgICAjaWZkZWYgQ09ORklHX0RFVkZTX0ZTDQorICAgIGZyYW1lYnVm
ZmVyX3JlZ2lzdGVyX2RldmZzKCk7DQorICAgICNlbmRpZiAvKkNPTkZJR19E
RVZGU19GUyovDQorCQ0KICAgICBpZiAocmVnaXN0ZXJfZnJhbWVidWZmZXIo
JmZiX2luZm8pIDwgMCkNCiAJcmV0dXJuOw0KIA0KZGlmZiAtdSAvbW50L3Ny
Yy9saW51eC9kcml2ZXJzL3ZpZGVvL29mZmIuYyBkcml2ZXJzL3ZpZGVvL29m
ZmIuYw0KLS0tIC9tbnQvc3JjL2xpbnV4L2RyaXZlcnMvdmlkZW8vb2ZmYi5j
CVR1ZSBKdWwgMjggMTM6MzA6MzkgMTk5OA0KKysrIGRyaXZlcnMvdmlkZW8v
b2ZmYi5jCVR1ZSBKdWwgMjggMDU6MDA6MDEgMTk5OA0KQEAgLTQ1NCw2ICs0
NTQsMTEgQEANCiAJfQ0KIAlvZmZiX3NldF92YXIodmFyLCAtMSwgJmluZm8t
PmluZm8pOw0KIA0KKwkvKiBzZWdmYXVsdCAtIEp1bHkgMjggMTk5OCAtIGRl
dmZzIGZyYW1lYnVmZmVyIHN1cHBvcnQgKi8NCisJI2lmZGVmIENPTkZJR19E
RVZGU19GUw0KKwlmcmFtZWJ1ZmZlcl9yZWdpc3Rlcl9kZXZmcygpOw0KKwkj
ZW5kaWYgLypDT05GSUdfREVWRlNfRlMqLw0KKwkgICAgDQogCWlmIChyZWdp
c3Rlcl9mcmFtZWJ1ZmZlcigmaW5mby0+aW5mbykgPCAwKSB7DQogCSAgICBr
ZnJlZShpbmZvKTsNCiAJICAgIHJldHVybjsNCmRpZmYgLXUgL21udC9zcmMv
bGludXgvZHJpdmVycy92aWRlby9wbGF0aW51bWZiLmMgZHJpdmVycy92aWRl
by9wbGF0aW51bWZiLmMNCi0tLSAvbW50L3NyYy9saW51eC9kcml2ZXJzL3Zp
ZGVvL3BsYXRpbnVtZmIuYwlUdWUgSnVsIDI4IDEzOjMwOjM5IDE5OTgNCisr
KyBkcml2ZXJzL3ZpZGVvL3BsYXRpbnVtZmIuYwlUdWUgSnVsIDI4IDA0OjU5
OjM3IDE5OTgNCkBAIC00OTYsNiArNDk2LDEyIEBADQogCXBhci0+eG9mZnNl
dCA9IHBhci0+eW9mZnNldCA9IDA7DQogCQ0KIAlwbGF0aW51bV9wYXJfdG9f
YWxsKHAsIDEpOw0KKw0KKyAgICAgICAgLyogc2VnZmF1bHQgLSBKdWx5IDI4
IDE5OTggLSBkZXZmcyBmcmFtZWJ1ZmZlciBzdXBwb3J0ICovDQorICAgICAg
ICAjaWZkZWYgQ09ORklHX0RFVkZTX0ZTDQorICAgICAgICBmcmFtZWJ1ZmZl
cl9yZWdpc3Rlcl9kZXZmcygpOw0KKwkjZW5kaWYgLypDT05GSUdfREVWRlNf
RlMqLw0KKwkgICAgDQogCQ0KIAlpZiAocmVnaXN0ZXJfZnJhbWVidWZmZXIo
JnAtPmluZm8pIDwgMCkgew0KIAkJa2ZyZWUocCk7DQpkaWZmIC11IC9tbnQv
c3JjL2xpbnV4L2RyaXZlcnMvdmlkZW8vcmV0ejNmYi5jIGRyaXZlcnMvdmlk
ZW8vcmV0ejNmYi5jDQotLS0gL21udC9zcmMvbGludXgvZHJpdmVycy92aWRl
by9yZXR6M2ZiLmMJVHVlIEp1bCAyOCAxMzozMDozOSAxOTk4DQorKysgZHJp
dmVycy92aWRlby9yZXR6M2ZiLmMJVHVlIEp1bCAyOCAwNDo1ODo1OCAxOTk4
DQpAQCAtMTUzOSw2ICsxNTM5LDExIEBADQogDQogCWRvX2luc3RhbGxfY21h
cCgwLCAmZmJfaW5mbyk7DQogDQorCS8qIHNlZ2ZhdWx0IC0gSnVseSAyOCAx
OTk4IC0gZGV2ZnMgZnJhbWVidWZmZXIgc3VwcG9ydCAqLw0KKwkjaWZkZWYg
Q09ORklHX0RFVkZTX0ZTDQorCWZyYW1lYnVmZmVyX3JlZ2lzdGVyX2RldmZz
KCk7DQorCSNlbmRpZiAvKkNPTkZJR19ERVZGU19GUyovDQorCSAgICANCiAJ
aWYgKHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKCZmYl9pbmZvKSA8IDApDQogCQly
ZXR1cm47DQogDQpkaWZmIC11IC9tbnQvc3JjL2xpbnV4L2RyaXZlcnMvdmlk
ZW8vc2J1c2ZiLmMgZHJpdmVycy92aWRlby9zYnVzZmIuYw0KLS0tIC9tbnQv
c3JjL2xpbnV4L2RyaXZlcnMvdmlkZW8vc2J1c2ZiLmMJVHVlIEp1bCAyOCAx
MzozMDozOSAxOTk4DQorKysgZHJpdmVycy92aWRlby9zYnVzZmIuYwlUdWUg
SnVsIDI4IDA0OjU4OjMwIDE5OTgNCkBAIC0xMDUyLDYgKzEwNTIsMTEgQEAN
CiANCiAJc2J1c2ZiX3NldF92YXIodmFyLCAtMSwgJmZiLT5pbmZvKTsNCiAN
CisJLyogc2VnZmF1bHQgLSBKdWx5IDI4IDE5OTggLSBkZXZmcyBmcmFtZWJ1
ZmZlciBzdXBwb3J0ICovDQorCSNpZmRlZiBDT05GSUdfREVWRlNfRlMNCisJ
ZnJhbWVidWZmZXJfcmVnaXN0ZXJfZGV2ZnMoKTsNCisJI2VuZGlmIC8qQ09O
RklHX0RFVkZTX0ZTKi8NCisJICAgIA0KIAlpZiAocmVnaXN0ZXJfZnJhbWVi
dWZmZXIoJmZiLT5pbmZvKSA8IDApIHsNCiAJCWtmcmVlKGZiKTsNCiAJCXJl
dHVybjsNCmRpZmYgLXUgL21udC9zcmMvbGludXgvZHJpdmVycy92aWRlby9z
a2VsZXRvbmZiLmMgZHJpdmVycy92aWRlby9za2VsZXRvbmZiLmMNCi0tLSAv
bW50L3NyYy9saW51eC9kcml2ZXJzL3ZpZGVvL3NrZWxldG9uZmIuYwlUdWUg
SnVsIDI4IDEzOjMwOjM5IDE5OTgNCisrKyBkcml2ZXJzL3ZpZGVvL3NrZWxl
dG9uZmIuYwlUdWUgSnVsIDI4IDA0OjU3OjU4IDE5OTgNCkBAIC0yOTYsNiAr
Mjk2LDExIEBADQogICAgIGZiZ2VuX2RvX3NldF92YXIodmFyLCAxLCAmZmJp
bmZvLmdlbik7DQogICAgIGZiZ2VuX3NldF9kaXNwKC0xLCAmZmJfaW5mby5n
ZW4uaW5mbyk7DQogICAgIGZiZ2VuX2luc3RhbGxfY21hcCgwLCAmZmJfaW5m
by5nZW4pOw0KKyAgICAvKiBzZWdmYXVsdCAtIEp1bHkgMjggMTk5OCAtIGRl
dmZzIGZyYW1lYnVmZmVyIHN1cHBvcnQgKi8NCisgICAgI2lmZGVmIENPTkZJ
R19ERVZGU19GUw0KKyAgICBmcmFtZWJ1ZmZlcl9yZWdpc3Rlcl9kZXZmcygp
Ow0KKyAgICAjZW5kaWYgLypDT05GSUdfREVWRlNfRlMqLw0KKwkNCiAgICAg
aWYgKHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKCZmYl9pbmZvLmdlbi5pbmZvKSA8
IDApDQogCXJldHVybjsNCiAgICAgcHJpbnRrKCJmYiVkOiAlcyBmcmFtZSBi
dWZmZXIgZGV2aWNlXG4iLCBHRVRfRkJfSURYKGZiX2luZm8ubm9kZSksDQpk
aWZmIC11IC9tbnQvc3JjL2xpbnV4L2RyaXZlcnMvdmlkZW8vdGdhZmIuYyBk
cml2ZXJzL3ZpZGVvL3RnYWZiLmMNCi0tLSAvbW50L3NyYy9saW51eC9kcml2
ZXJzL3ZpZGVvL3RnYWZiLmMJVHVlIEp1bCAyOCAxMzozMDozOSAxOTk4DQor
KysgZHJpdmVycy92aWRlby90Z2FmYi5jCVR1ZSBKdWwgMjggMDQ6NTY6NDIg
MTk5OA0KQEAgLTc2OSw2ICs3NjksMTEgQEANCiANCiAgICAgdGdhZmJfc2V0
X3ZhcigmZmJfdmFyLCAtMSwgJmZiX2luZm8pOw0KIA0KKyAgICAvKiBzZWdm
YXVsdCAtIEp1bHkgMjggMTk5OCAtIGRldmZzIGZyYW1lYnVmZmVyIHN1cHBv
cnQgKi8NCisgICAgI2lmZGVmIENPTkZJR19ERVZGU19GUw0KKyAgICBmcmFt
ZWJ1ZmZlcl9yZWdpc3Rlcl9kZXZmcygpOw0KKyAgICAjZW5kaWYgLypDT05G
SUdfREVWRlNfRlMqLw0KKw0KICAgICBpZiAocmVnaXN0ZXJfZnJhbWVidWZm
ZXIoJmZiX2luZm8pIDwgMCkNCiAJcmV0dXJuOw0KIA0KZGlmZiAtdSAvbW50
L3NyYy9saW51eC9kcml2ZXJzL3ZpZGVvL3Zlc2FmYi5jIGRyaXZlcnMvdmlk
ZW8vdmVzYWZiLmMNCi0tLSAvbW50L3NyYy9saW51eC9kcml2ZXJzL3ZpZGVv
L3Zlc2FmYi5jCVR1ZSBKdWwgMjggMTM6MzA6MzkgMTk5OA0KKysrIGRyaXZl
cnMvdmlkZW8vdmVzYWZiLmMJVHVlIEp1bCAyOCAwNDo1NjowMyAxOTk4DQpA
QCAtNDYzLDYgKzQ2MywxMSBAQA0KIAlmYl9pbmZvLmJsYW5rPSZ2ZXNhZmJf
Ymxhbms7DQogCXZlc2FmYl9zZXRfZGlzcCgtMSk7DQogDQorICAgICAgICAv
KiBzZWdmYXVsdCAtIEp1bHkgMjggMTk5OCAtIGRldmZzIGZyYW1lYnVmZmVy
IHN1cHBvcnQgKi8NCisgICAgICAgICNpZmRlZiBDT05GSUdfREVWRlNfRlMN
CisgICAgICAgIGZyYW1lYnVmZmVyX3JlZ2lzdGVyX2RldmZzKCk7DQorICAg
ICAgICAjZW5kaWYgLypDT05GSUdfREVWRlNfRlMqLw0KKyAgICANCiAJaWYg
KHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKCZmYl9pbmZvKTwwKQ0KIAkJcmV0dXJu
Ow0KIA0KZGlmZiAtdSAvbW50L3NyYy9saW51eC9kcml2ZXJzL3ZpZGVvL3Zm
Yi5jIGRyaXZlcnMvdmlkZW8vdmZiLmMNCi0tLSAvbW50L3NyYy9saW51eC9k
cml2ZXJzL3ZpZGVvL3ZmYi5jCVR1ZSBKdWwgMjggMTM6MzA6MzkgMTk5OA0K
KysrIGRyaXZlcnMvdmlkZW8vdmZiLmMJVHVlIEp1bCAyOCAwNDo1Mzo1OCAx
OTk4DQpAQCAtNDM2LDYgKzQzNiwxMSBAQA0KIA0KICAgICB2ZmJfc2V0X3Zh
cigmdmZiX2RlZmF1bHQsIC0xLCAmZmJfaW5mbyk7DQogDQorICAgIC8qIHNl
Z2ZhdWx0IC0gSnVseSAyOCAxOTk4IC0gZGV2ZnMgZnJhbWVidWZmZXIgc3Vw
cG9ydCAqLw0KKyAgICAjaWZkZWYgQ09ORklHX0RFVkZTX0ZTDQorICAgIGZy
YW1lYnVmZmVyX3JlZ2lzdGVyX2RldmZzKCk7DQorICAgICNlbmRpZiAvKkNP
TkZJR19ERVZGU19GUyovDQorDQogICAgIGlmIChyZWdpc3Rlcl9mcmFtZWJ1
ZmZlcigmZmJfaW5mbykgPCAwKSB7DQogCXZmcmVlKCh2b2lkICopdmlkZW9t
ZW1vcnkpOw0KIAlyZXR1cm47DQpkaWZmIC11IC9tbnQvc3JjL2xpbnV4L2Ry
aXZlcnMvdmlkZW8vdmdhY29uLmMgZHJpdmVycy92aWRlby92Z2Fjb24uYw0K
LS0tIC9tbnQvc3JjL2xpbnV4L2RyaXZlcnMvdmlkZW8vdmdhY29uLmMJVHVl
IEp1bCAyOCAxMzozMDozOSAxOTk4DQorKysgZHJpdmVycy92aWRlby92Z2Fj
b24uYwlUdWUgSnVsIDI4IDA0OjE0OjMyIDE5OTgNCkBAIC02NCw3ICs2NCw3
IEBADQogICovDQogI3VuZGVmIFRSSURFTlRfR0xJVENIDQogDQotI3VuZGVm
IFZHQV9DQU5fRE9fNjRLQg0KKyNkZWZpbmUgVkdBX0NBTl9ET182NEtCDQog
DQogI2RlZmluZSBkYWNfcmVnCQkweDNjOA0KICNkZWZpbmUgZGFjX3ZhbAkJ
MHgzYzkNCkBAIC02ODQsNyArNjg0LDcgQEANCiAJCWNoYXJtYXAgPSAoY2hh
ciAqKVZHQV9NQVBfTUVNKGNvbG91cm1hcCk7DQogCQliZWcgPSAweDBlOw0K
ICNpZmRlZiBWR0FfQ0FOX0RPXzY0S0INCi0JCWlmICh2aWRlb190eXBlID09
IFZJREVPX1RZUEVfVkdBQykNCisJCWlmICh2Z2FfdmlkZW9fdHlwZSA9PSBW
SURFT19UWVBFX1ZHQUMpDQogCQkJYmVnID0gMHgwNjsNCiAjZW5kaWYNCiAJ
fSBlbHNlIHsNCmRpZmYgLXUgL21udC9zcmMvbGludXgvZHJpdmVycy92aWRl
by92Z2FmYi5jIGRyaXZlcnMvdmlkZW8vdmdhZmIuYw0KLS0tIC9tbnQvc3Jj
L2xpbnV4L2RyaXZlcnMvdmlkZW8vdmdhZmIuYwlUdWUgSnVsIDIxIDEzOjI4
OjI0IDE5OTgNCisrKyBkcml2ZXJzL3ZpZGVvL3ZnYWZiLmMJVHVlIEp1bCAy
OCAwNDo1NTozNCAxOTk4DQpAQCAtMTEsNyArMTEsNyBAQA0KICAqICBtb3Jl
IGRldGFpbHMuDQogICovDQogDQotDQorI2RlZmluZSBWR0FfQ0FOX0RPXzY0
S0INCiANCiANCiAvKiBLTk9XTiBQUk9CTEVNUy9UTyBETyA9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAq
DQpAQCAtNjIwLDcgKzYyMCwxMCBAQA0KICAgICBmYl9pbmZvLmJsYW5rID0g
JnZnYWZiY29uX2JsYW5rOw0KIA0KICAgICB2Z2FmYl9zZXRfdmFyKCZmYl92
YXIsIC0xLCAmZmJfaW5mbyk7DQotDQorICAgIC8qIHNlZ2ZhdWx0IC0gSnVs
eSAyOCAxOTk4IC0gZGV2ZnMgZnJhbWVidWZmZXIgc3VwcG9ydCAqLw0KKyAg
ICAjaWZkZWYgQ09ORklHX0RFVkZTX0ZTDQorICAgIGZyYW1lYnVmZmVyX3Jl
Z2lzdGVyX2RldmZzKCk7DQorICAgICNlbmRpZiAvKkNPTkZJR19ERVZGU19G
UyovDQogICAgIGlmIChyZWdpc3Rlcl9mcmFtZWJ1ZmZlcigmZmJfaW5mbykg
PCAwKQ0KIAlyZXR1cm47DQogDQpkaWZmIC11IC9tbnQvc3JjL2xpbnV4L2Ry
aXZlcnMvdmlkZW8vdmlyZ2VmYi5jIGRyaXZlcnMvdmlkZW8vdmlyZ2VmYi5j
DQotLS0gL21udC9zcmMvbGludXgvZHJpdmVycy92aWRlby92aXJnZWZiLmMJ
VHVlIEp1bCAyOCAxMzozMDozOSAxOTk4DQorKysgZHJpdmVycy92aWRlby92
aXJnZWZiLmMJVHVlIEp1bCAyOCAwNDo1NDo1MiAxOTk4DQpAQCAtMTA2Niw2
ICsxMDY2LDExIEBADQogCXZpcmdlZmJfc2V0X2Rpc3AoLTEsICZmYl9pbmZv
KTsNCiAJZG9faW5zdGFsbF9jbWFwKDAsICZmYl9pbmZvKTsNCiANCisgICAg
ICAgIC8qIHNlZ2ZhdWx0IC0gSnVseSAyOCAxOTk4IC0gZGV2ZnMgZnJhbWVi
dWZmZXIgc3VwcG9ydCAqLw0KKyAgICAgICAgI2lmZGVmIENPTkZJR19ERVZG
U19GUw0KKwlmcmFtZWJ1ZmZlcl9yZWdpc3Rlcl9kZXZmcygpOw0KKyAgICAg
ICAgI2VuZGlmIC8qQ09ORklHX0RFVkZTX0ZTKi8gDQorCQ0KIAlpZiAocmVn
aXN0ZXJfZnJhbWVidWZmZXIoJmZiX2luZm8pIDwgMCkNCiAJCXJldHVybjsN
CiANCi0tLSAvbW50L3NyYy9saW51eC9kcml2ZXJzL2NoYXIvZmJtZW0uYwlU
dWUgSnVsIDI4IDEzOjMwOjM1IDE5OTgNCisrKyBkcml2ZXJzL2NoYXIvZmJt
ZW0uYwlUdWUgSnVsIDI4IDA5OjEyOjI3IDE5OTgNCkBAIC0yOCw2ICsyOCw5
IEBADQogI2lmZGVmIENPTkZJR19LTU9EDQogI2luY2x1ZGUgPGxpbnV4L2tt
b2QuaD4NCiAjZW5kaWYNCisjaWZkZWYgQ09ORklHX0RFVkZTX0ZTDQorI2lu
Y2x1ZGUgPGxpbnV4L2RldmZzX2ZzLmg+DQorI2VuZGlmIC8qQ09ORklHX0RF
VkZTX0ZTKi8NCiANCiAjaWZkZWYgX19tYzY4MDAwX18NCiAjaW5jbHVkZSA8
YXNtL3NldHVwLmg+DQpAQCAtNTAwLDcgKzUwMyw3IEBADQogDQogCWlmIChm
aXJzdCkgew0KIAkJZmlyc3QgPSAwOw0KLQkJdGFrZV9vdmVyX2NvbnNvbGUo
JmZiX2NvbiwgMTIsIE1BWF9OUl9DT05TT0xFUy0xLCAxKTsNCisJCXRha2Vf
b3Zlcl9jb25zb2xlKCZmYl9jb24sIDAsIE1BWF9OUl9DT05TT0xFUy0xLCAx
KTsNCiAJfQ0KIA0KIAlyZXR1cm4gMDsNCkBAIC01MjYsNiArNTI5LDU5IEBA
DQogc3RhdGljIHN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqcHJvY19mYm1lbTsN
CiAjZW5kaWYNCiANCisvKiBzZWdmYXVsdCAtIEp1bHkgMjggMTk5OCAtIGZy
YW1lYnVmZmVyIGRldmZzIHN1cHBvcnQgKi8NCisvKiBgLSBhZGRlZCB0aGlz
IHRvIG1ha2UgaXQgd29yayByaWdodCB3LyBkZXZmcyAqLw0KKyNpZmRlZiBD
T05GSUdfREVWRlNfRlMNCisjZGVmaW5lIEZCX01JTk9SIDANCisjZGVmaW5l
IERFVkZTX0ZCX0RJUkVDVE9SWSAiZmIiDQorLyogVGhlc2UgZGV2aWNlIG5h
bWVzIGZvbGxvdyB0aGUgb2ZmaWNpYWwgTGludXggZGV2aWNlIGxpc3QsDQor
ICogRG9jdW1lbnRhdGlvbi9kZXZpY2VzLnR4dC4gIExldCB1cyBrbm93IGlm
IHRoZXJlIGFyZSBvdGhlcg0KKyAqIGNvbW1vbiBuYW1lcyB3ZSBzaG91bGQg
c3VwcG9ydCBmb3IgY29tcGF0aWJpbGl0eS4NCisgKi8NCitjb25zdCBzdHJ1
Y3Qgew0KKyAgIHVuc2lnbmVkIHNob3J0IG1pbm9yOw0KKyAgIGNoYXIgKm5h
bWU7DQorICAgdW1vZGVfdCBtb2RlOw0KKyAgIGludCAqbnVtOw0KK30gZGV2
X2xpc3RbXSA9IHsgLyogbGlzdCBvZiBtaW5vciBkZXZpY2VzICovDQorICAg
e0ZCX01JTk9SKzB4MTAsICAgICAgICJmYjAiLCBTX0lSVUdPIHwgU19JV1VH
TywgTlVMTH0sDQorICAge0ZCX01JTk9SKzB4MjAsICAgICAgICJmYjEiLCBT
X0lSVUdPIHwgU19JV1VHTywgTlVMTH0sDQorICAge0ZCX01JTk9SKzB4MzAs
ICAgICAgICJmYjIiLCBTX0lSVUdPIHwgU19JV1VHTywgTlVMTH0sICAgDQor
fTsJDQorY2hhciAqDQorZnJhbWVidWZmZXJfbWFrZV9uYW1lKGNoYXIgKmJ1
ZiwgY2hhciAqbmFtZSwgaW50IGlkeCkgew0KKyAgIGlmIChpZHg9PTApDQor
CXNwcmludGYoYnVmLCBERVZGU19GQl9ESVJFQ1RPUlkgIi8iICIlcyIsIG5h
bWUpOw0KKyAgIGVsc2UNCisgICAgICAgIHNwcmludGYoYnVmLCBERVZGU19G
Ql9ESVJFQ1RPUlkgIi8iICIlcyVkIiwgbmFtZSwgaWR4KTsNCisgICByZXR1
cm4gYnVmOw0KK30NCisvKiBSZWdpc3RlciBmcmFtZWJ1ZmZlciBlbnRyaWVz
ICovDQordm9pZA0KK2ZyYW1lYnVmZmVyX3JlZ2lzdGVyX2RldmZzKHZvaWQp
DQorew0KKyAgICBjaGFyIG5hbWVfYnVmWzMyXTsNCisgICAgaW50IGksIGos
IG51bTsNCisJICAgIA0KKyAgICBmb3IgKGk9MDsgaTxzaXplb2YoZGV2X2xp
c3QpL3NpemVvZigqZGV2X2xpc3QpOyBpKyspIHsNCisgICAgICAgIG51bSA9
IChkZXZfbGlzdFtpXS5udW09PU5VTEwpPzA6KmRldl9saXN0W2ldLm51bTsN
CisgICAgICAgIGZvciAoaj0wOyBqPG51bSB8fCBqPT0wOyBqKyspIHsNCisg
ICAgICAgICAgICBmcmFtZWJ1ZmZlcl9tYWtlX25hbWUobmFtZV9idWYsIGRl
dl9saXN0W2ldLm5hbWUsIGopOw0KKyAgICAgICAgICAgIGRldmZzX3JlZ2lz
dGVyKG5hbWVfYnVmLCAwLCBERVZGU19GTF9OT05FLA0KKwkgICAgICAgICAg
ICAgIEZCX01BSk9SLCBkZXZfbGlzdFtpXS5taW5vcisoaioweDEwKSwNCisJ
ICAgICAgICAgICAgICBTX0lGQ0hSIHwgZGV2X2xpc3RbaV0ubW9kZSwgMCwg
MCwgJmZiX2ZvcHMsIE5VTEwpOw0KKw0KKyAgICAgICAgICAgIGRldmZzX21r
X3N5bWxpbmsoTlVMTCwgbmFtZV9idWYrc2l6ZW9mKERFVkZTX0ZCX0RJUkVD
VE9SWSksIDAsDQorICAgICAgICAgICAgICAgICAgICAgIERFVkZTX0ZMX05P
TkUsDQorICAgICAgICAgICAgICAgICAgICAgIG5hbWVfYnVmLCAwLCBOVUxM
KTsNCisNCisgICAgICAgIH0NCisgICAgfQ0KK30NCisjZW5kaWYgLypDT05G
SUdfREVWRlNfRlMqLw0KKy8qIHNlZ2ZhdWx0IC0gSnVseSAyOCAxOTk4IC0g
ZnJhbWVidWZmZXIgc3VwcG9ydCBmb3IgZGV2ZnMqLw0KKw0KKw0KIF9faW5p
dGZ1bmModm9pZA0KIGZibWVtX2luaXQodm9pZCkpDQogew0KQEAgLTY1MSwz
ICs3MDcsNCBAQA0KIA0KIEVYUE9SVF9TWU1CT0wocmVnaXN0ZXJfZnJhbWVi
dWZmZXIpOw0KIEVYUE9SVF9TWU1CT0wodW5yZWdpc3Rlcl9mcmFtZWJ1ZmZl
cik7DQorRVhQT1JUX1NZTUJPTChmcmFtZWJ1ZmZlcl9yZWdpc3Rlcl9kZXZm
cyk7DQo=
---1463811840-1411679219-901648469=:1003
Content-Type: APPLICATION/octet-stream; name="bootlogo.tgz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.00.9807281354292.1003@elucid.dyn.ml.org>
Content-Description: Cool 2.1.x bootlogo patch
Content-Disposition: attachment; filename="bootlogo.tgz"

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
VONGiJxqtE4ZhoZrUApmMLg1R3ezI2JoERhn726d/+qfMtEZ9e+YwhneeYrG
6f5+12Cu0aPZ1LRBFvGLBpLJmq9NMCM/2GdyPDm38eLHuf3Sy/LzvYKnh3xi
UQmKMUufyQHa8xSPD6YZGPwruRFFZPbLgn9+FS6pnSmNY2Uz1zofKe3vu9Y8
/74rZuKM2px00ccp3UDF/tB39z7s980o7kNVs4lA/fO+FoerEbq+xvl+KdgW
v/lTZ/6KiP1ShYDqWqf5xg1ALP5WEBvUboIFfae2rfN9itCdra6FjSVc5uEH
q99Xc4I9oDYSCgYPLBuSUYT4Vv4xBQKZVQp4e/rq7KiHbB2GwFY6HupluBcS
YmkCwwZN0WJ8JOPLfKTrf7zdYRuFD9oN8FAIqUwIJKSNL0iSxnh9qDzhlKpa
loactcQzPsxqQNMFXl3Y3dGlZd7sgThlyhtrV4kGTXtUJyDTCVWkK+Aij/Zi
siSa4knLlkENlDpF8oOupVv/LAcDueQ45P2Tsg5qFn0UN0ls6v1zq3xjgFF2
74B6NTF0FKSU/aJBG0JqLWUFn9L60dstGmNVulSRoG6WMa4UIJ6vCSJkAvi2
fMFjLwfmmYstQTrWXvmHpiHIK4bPy99QxLy3DJaWZeOl1kIaXrQrk1tKu0Lc
RDqVYy+My2B2FYf+NGXgBzhzC1f+DY58K6w+rAutLW0+xFPazQMDq7WJ17fo
+Kpc0jGQOiXCWzStVtU2s+fpu3vaWM6HCOhKkK4UHHjppW9zMgM/v/z2u/Y8
bKerOcGWUKdMMt454OzdrOQAVl42VlkKvKPDCrTPCXGM+FgIxfrNG/0f1U7/
x5u2+hFi5THAi1ue7zgGANOAEyoTNaRYvV+tUr7D26M9sezOzQXSxXBjbiXJ
N6vFRH/3d8v0YAze3GxB+55NfTC3w2kUXVOqX9b5SglqWPPKMUmB4cOGKWH7
ZSHhp9tItkBkofEqK+i8/RbwJtY/psrSg1Do3y2gZu+OwMIYc97sRnDgMVMI
HihJNYAV1RJjraU+U7pt5PLlISGr9BuihGYGbP12s92kElfHMHGKtOvPi+y8
OAlS8ksxTB3Nw119LKKCsUQ3VKwu0feVkVTGkjSZTpMr3BXkaoB571gdN0G3
/nGd7vPw5azWR8ohKpQwFjcXXeFDNtKwGtj2bUnrYtu3Hzplpe8z3nSySfVZ
fZJKdaDDTi/kQLRd4XR67d0e/Fh+af52AO4TvHXf3i5PS3XxMnHX3qVLjPWa
YcUOyYptw2L5ltQvXprTjRngMdiVT//83Om0W0PcZvW/TPOW//UAITwjAU+4
2JwArBBvMuqbnhS9IWi0Kpk4S9IvHm4EkzH0QFGeonfMkngNTwvWa2R3Ksd0
/HkMHy8cmKrXlp5+Emui3LSuXlE+4MA0rW6Yb6IfEnzp2t2mW9fuY9t1+bsC
S+5Rvzk6e3pyuib4cCzQCc/gXHDFvVbHTV46/qNK8DB5jrvkAIvuVSMOS8Dx
pjUKJm66r7q8XdffIqC4dCCHOBHOAOsEddQHdou7S4AOf/9g7pqcaOCRphUI
4VSAjta0lYjzSQOiHk+LxxkvJl7qjTOY+C1RAdsEtcmcvgnAB8SzmkGpQn6e
vyU2tF26xtx2d23w1siG2idZA5KMAxfHxejS+Y6BmlrUBlJOsN94UouTz/J6
bYv79/BwZg1HnSaMTCYjvsnUP6DQBiV4F6+26aB/ramH/pusoNsA+PqiOLZr
XNSIkws8zXHBX5T4Lsbh+eJF0HijrQTZu42/fG71O0kD0hCFWT7uGRynbRCA
8l6KWEpM+ghYrkvAeMALxshAjXV6+gh/DFJxMfBiVJvXKcV1fHtO4BuShc7j
HVTJzpO2loU6IkETg7np/W0salfuXXwXt8xLF7exrX0734S+dAQwBZ/XHvEp
cFSAr3jE3ItCL2PL38FPKDS7O231TQAaALQPQuwd+9h94AUKqjezG1looVC8
kJh6EStPnq9tXYwvsh7pl6b9WpPbBmnZJOhTDWAT8a43kWswQ2BvZc6gID3O
+IA/BkzQUaXEbH93Ox0ywLvbT/SHL+5ifm4SgvJMtXHhef125SBBq4tXdP24
OOvRw2ZGtevYHUT1sWOzYCrZ7dVaGBLVHFj2r+icixfC6R8eP330y/Onj34+
fmq7/SP4t93/9fjpGn8cAUh4iYdqe8WJ/cGuU8JRJSfVaQ1dmQ9kh9CoGAB9
35HihkU0yvshqiqGxyvBvdMxQVhUdhPlqnJqLov89QgixAF6uKKL+OlWsn5n
nKU8N2C8IgQqOiyNsIq3898kcnvdVd8kumW0+hTRE+NTRPQlIh0wYIYK3Jle
oAUT63xAUN2P1x84otu262TGdO9kQjdwYznLL/gbPnQ3gn6IjWP6SlC2sdaE
kC8SGwtfJNpYxj/gBMLGrO3GeUQxzyFq6BhPtYQ5WE380o/gETC34Ll/6FNA
G8s/BaQx/E6pAHll3qziXNFhqVQUb+ekwtktbhjcIBVLR7NUuG4pFWTHOkUY
SXYMtEMoVsLPJV+R6l/TiU38DtUNrCBwD5ZRVJ+xQUv83/4w2f3ztzxo3/HY
HQrGf2oO13F2ut1V3/8Twt2m7/9t7zze6XRBhfD7f+3O/ff//o4HP+NW+bSP
0M5yrlCwRh++m0wivlYxwcK6TTsvodpRq4LxsuI7c5Sh/LcXev/cP/fP/XP/
3D/3z/1z/9w/98/9c//cP/fP/XP/3D//D5//A0Nbg/UAoAAA
---1463811840-1411679219-901648469=:1003--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html