[patch-2.3.46-pre3] /dev/microcode (P6 ucode update char driver)

Tigran Aivazian (tigran@sco.COM)
Wed, 16 Feb 2000 14:05:08 +0000 (GMT)


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-16838-950709230=:22416
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.SCO.3.94.1000216135437.22416F@tyne.london.sco.com>

Hi Linus,

I followed your suggestion and here is a simple misc character device
driver instead of using /proc/mtrr for microcode update.

The kernel patch, user tool and manpage for /dev/microcode are at:

http://www.ocston.org/~tigran/patches/microcode

Also attached individually.

A typical kernel log output from two sequential runs of mcode tool looks
like this:

P6 Microcode Update Driver v1.0 registered on minor=184
microcode: CPU0 microcode updated from revision 41 to 64
microcode: CPU1 microcode updated from revision 41 to 64
microcode: CPU0 not 'upgrading' to earlier revision 64 (current=64)
microcode: CPU1 not 'upgrading' to earlier revision 64 (current=64)

Tested both as a module and as static. Both UP and SMP kernels (on SMP
machine).

There are some ideas (thanks to Rogier) for improvement, e.g. updating the
fields in /proc/cpuinfo after the successful update. Also some fiddling
with cache control MSRs may be desirable. I will look into that soon, but
for now the above *is* a working driver.

Regards,
------
Tigran A. Aivazian | http://www.sco.com
Escalations Research Group | tel: +44-(0)1923-813796
Santa Cruz Operation Ltd | http://www.ocston.org/~tigran

---559023410-16838-950709230=:22416
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="mcode.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SCO.3.94.1000216135349.22416B@tyne.london.sco.com>
Content-Description: mcode.c

LyoNCiAqCW1jb2RlIC0gVXBkYXRlIEludGVsIE1pY3JvY29kZSBvbiBQNiBw
cm9jZXNzb3JzLg0KICogDQogKglDb3B5cmlnaHQgKEMpIDIwMDAsIFRpZ3Jh
biBBaXZhemlhbiAoR1BMIHYyLCBhcyB1c3VhbCkNCiAqDQogKglSZWZlcmVu
Y2U6IFNlY3Rpb24gOC4xMCBvZiBWb2x1bWUgSUlJLCANCiAqCUludGVsIFBl
bnRpdW0gSUlJIE1hbnVhbCwgT3JkZXIgTnVtYmVyIDI0MzE5Mi4NCiAqDQog
KiAJVGhpcyB0b29sIGlzIGEgdXNlciBpbnRlcmZhY2UgdG8gL2Rldi9taWNy
b2NvZGUgZGV2aWNlLg0KICoJTWFrZSBzdXJlIHlvdXIga2VybmVsIGlzIGNv
bXBpbGVkIHdpdGggQ09ORklHX01JQ1JPQ09ERSBzdXBwb3J0DQogKgllaXRo
ZXIgc3RhdGljIG9yIGFzIGEgbW9kdWxlLiBJZiBpdCBpcyBhIG1vZHVsZSwg
cGxlYXNlIGVuc3VyZSB5b3UNCiAqCWhhdmUgdGhlIGxpbmU6DQogKgkJDQog
KgkJYWxpYXMgY2hhci1tYWpvci0xMC0xODQgbWljcm9jb2RlDQogKg0KICoJ
aW4gL2V0Yy9tb2R1bGVzLmNvbmYgZmlsZSBhbmQgdGhlIGtlcm5lbCBpcyBj
b21waWxlZCB3aXRoIENPTkZJR19LTU9EDQogKglzdXBwb3J0Lg0KICovDQoN
CiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCiNpbmNsdWRlIDxzeXMvc3RhdC5o
Pg0KI2luY2x1ZGUgPGZjbnRsLmg+DQojaW5jbHVkZSA8c3lzL2lvY3RsLmg+
DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8c3RkaW8uaD4NCiNp
bmNsdWRlIDxzdGRsaWIuaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KI2luY2x1
ZGUgPHN0cmluZy5oPg0KI2luY2x1ZGUgPHN0ZGFyZy5oPg0KDQojaW5jbHVk
ZSA8YXNtL21pY3JvY29kZS5oPg0KDQpzdHJ1Y3QgbWljcm9jb2RlX2lvYyBp
b2M7DQp2b2lkICogbWljcm9jb2RlOw0Kc3RhdGljIGNoYXIgKiBteW5hbWU7
DQoNCnN0YXRpYyB2b2lkIGRpZShjb25zdCBjaGFyICogZm10LCAuLi4pOw0K
DQppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQ0Kew0KCWludCBm
ZDsNCglzdHJ1Y3Qgc3RhdCBzdDsNCg0KCW15bmFtZSA9IGFyZ3ZbMF07DQoN
CglpZiAoYXJnYyAhPSAyKSB7DQoJCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6
ICVzIFttY29kZV9maWxlXVxuIiwgYXJndlswXSk7DQoJCWV4aXQoMSk7DQoJ
fQ0KDQoJZmQgPSBvcGVuKGFyZ3ZbMV0sIE9fUkRPTkxZKTsNCglpZiAoZmQg
PT0gLTEpIA0KCQlkaWUoIm9wZW4oJXMpIiwgYXJndlsxXSk7DQoJaWYgKGZz
dGF0KGZkLCAmc3QpID09IC0xKQ0KCQlkaWUoImZzdGF0KGZkPSVkKSIsIGZk
KTsNCglpZiAoc3Quc3Rfc2l6ZSA9PSAwIHx8IChzdC5zdF9zaXplICUgc2l6
ZW9mKHN0cnVjdCBtaWNyb2NvZGUpICE9IDApKSB7DQoJCWZwcmludGYoc3Rk
ZXJyLCAiJXM6IGNvcnJ1cHRlZCB1Y29kZSBpbiAnJXMnIG9yICdzdHJ1Y3Qg
bWljcm9jb2RlJyAiDQoJCQkJImluIDxhc20vbWljcm9jb2RlLmg+IG5lZWRz
IHVwZGF0aW5nXG4iLCBhcmd2WzBdLCBhcmd2WzFdKTsNCgkJZXhpdCgxKTsN
Cgl9DQoJbWljcm9jb2RlID0gbWFsbG9jKHN0LnN0X3NpemUpOw0KCWlmICgh
bWljcm9jb2RlKQ0KCQlkaWUoIkNhbid0IG1hbGxvYyglbGQpIHRvIGhvbGQg
bWljcm9jb2RlXG4iLCBzdC5zdF9zaXplKTsNCglpZiAocmVhZChmZCwgbWlj
cm9jb2RlLCBzdC5zdF9zaXplKSAhPSBzdC5zdF9zaXplKQ0KCQlkaWUoInJl
YWQoZmQsIG1pY3JvY29kZSwgJWxkKSIsIHN0LnN0X3NpemUpOw0KCWlmIChj
bG9zZShmZCkgPT0gLTEpDQoJCWRpZSgiY2xvc2UoZmQ9JWQpIiwgZmQpOw0K
CWZkID0gb3BlbigiL2Rldi9taWNyb2NvZGUiLCBPX1JET05MWSk7DQoJaWYg
KGZkID09IC0xKQ0KCQlkaWUoIm9wZW4oL2Rldi9taWNyb2NvZGUpIik7DQoJ
aW9jLm51bSA9IHN0LnN0X3NpemUvc2l6ZW9mKHN0cnVjdCBtaWNyb2NvZGUp
Ow0KCWlvYy51YWRkciA9IG1pY3JvY29kZTsNCglpZiAoaW9jdGwoZmQsIE1J
Q1JPQ09ERV9QNlVQREFURSwgJmlvYykgPT0gLTEpDQoJCWRpZSgiaW9jdGwo
TUlDUk9DT0RFX1A2VVBEQVRFLCBudW09JWQpIiwgaW9jLm51bSk7DQoJaWYg
KGNsb3NlKGZkKSA9PSAtMSkgDQoJCWRpZSgiY2xvc2UoZmQ9JWQpIiwgZmQp
Ow0KCXJldHVybiAwOw0KfQ0KDQpzdGF0aWMgdm9pZCBkaWUoY29uc3QgY2hh
ciAqIGZtdCwgLi4uKQ0Kew0KCXZhX2xpc3QgYXJnczsNCglzdGF0aWMgY2hh
ciBidWZbNDA5Nl07DQoNCgl2YV9zdGFydChhcmdzLCBmbXQpOw0KCXZzcHJp
bnRmKGJ1ZiwgZm10LCBhcmdzKTsNCgl2YV9lbmQoYXJncyk7DQoNCglmcHJp
bnRmKHN0ZGVyciwgIiVzOiAlcywgZXJybm89JWQgKCVzKVxuIiwgDQoJCW15
bmFtZSwgYnVmLCBlcnJubywgc3RyZXJyb3IoZXJybm8pKTsNCglleGl0KDEp
Ow0KfQ0K
---559023410-16838-950709230=:22416
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="microcode-2.3.46-p3.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SCO.3.94.1000216135349.22416C@tyne.london.sco.com>
Content-Description: microcode-2.3.46-p3.patch

ZGlmZiAtdXJOIC1YIGRvbnRkaWZmIGxpbnV4L0NSRURJVFMgbGludXgtbWlj
cm9jb2RlL0NSRURJVFMNCi0tLSBsaW51eC9DUkVESVRTCU1vbiBGZWIgMTQg
MDI6MjE6NDUgMjAwMA0KKysrIGxpbnV4LW1pY3JvY29kZS9DUkVESVRTCVdl
ZCBGZWIgMTYgMDU6MjU6MzAgMjAwMA0KQEAgLTQxLDYgKzQxLDcgQEANCiBF
OiB0aWdyYW5Ab2NzdG9uLm9yZw0KIFc6IGh0dHA6Ly93d3cub2NzdG9uLm9y
Zy9+dGlncmFuDQogRDogQkZTIGZpbGVzeXN0ZW0NCitEOiBJbnRlbCBQNiBD
UFUgbWljcm9jb2RlIHVwZGF0ZSBzdXBwb3J0DQogUzogVW5pdGVkIEtpbmdk
b20NCiANCiBOOiBXZXJuZXIgQWxtZXNiZXJnZXINCmRpZmYgLXVyTiAtWCBk
b250ZGlmZiBsaW51eC9Eb2N1bWVudGF0aW9uL0NvbmZpZ3VyZS5oZWxwIGxp
bnV4LW1pY3JvY29kZS9Eb2N1bWVudGF0aW9uL0NvbmZpZ3VyZS5oZWxwDQot
LS0gbGludXgvRG9jdW1lbnRhdGlvbi9Db25maWd1cmUuaGVscAlXZWQgRmVi
IDE2IDA1OjAwOjQ1IDIwMDANCisrKyBsaW51eC1taWNyb2NvZGUvRG9jdW1l
bnRhdGlvbi9Db25maWd1cmUuaGVscAlXZWQgRmViIDE2IDA1OjU1OjEzIDIw
MDANCkBAIC0xMDc1Miw2ICsxMDc1MiwyMyBAQA0KICAgbW9kdWxlLCBzYXkg
TSBoZXJlIGFuZCByZWFkIERvY3VtZW50YXRpb24vbW9kdWxlcy50eHQuIE1v
c3QgcGVvcGxlDQogICB3aWxsIHNheSBOLg0KIA0KK0ludGVsIFA2IENQVSBN
aWNyb2NvZGUgVXBkYXRlIFN1cHBvcnQNCitDT05GSUdfTUlDUk9DT0RFDQor
ICBJZiB5b3Ugc2F5IFkgaGVyZSBhbmQgY3JlYXRlIGEgY2hhcmFjdGVyIHNw
ZWNpYWwgZmlsZSAvZGV2L21pY3JvY29kZSB3aXRoDQorICBtYWpvciBudW1i
ZXIgMTAgYW5kIG1pbm9yIG51bWJlciAxODQgdXNpbmcgbWtub2QgKCJtYW4g
bWtub2QiKSwgeW91DQorICB3aWxsIGJlIGFibGUgdG8gdXNlIHA2bWNvZGUg
KCJtYW4gcDZtY29kZSIpIHV0aWxpdHkgdG8gdXBkYXRlDQorICBtaWNyb2Nv
ZGUgb24gSW50ZWwgcHJvY2Vzc29ycyBpbiBQNiBmYW1pbHksIGUuZy4gUGVu
dGl1bSBQcm8sIFBlbnRpdW0gSUksDQorICBQZW50aXVtIElJSSwgWGVvbiBl
dGMuIFRoZSB1c2VyLXNwYWNlIHJlcXVpcmVkIGZvciBtaWNyb2NvZGUgdXBk
YXRlIGNhbg0KKyAgYmUgZm91bmQgYXQgaHR0cDovL3d3dy5vY3N0b24ub3Jn
L350aWdyYW4vcGF0Y2hlcy9wNm1jb2RlIC4gWW91IHdpbGwgYWxzbw0KKyAg
bmVlZCB0aGUgYWN0dWFsIG1pY3JvY29kZSBiaW5hcnkgZGF0YSBpdHNlbGYg
d2hpY2ggaXMgbm90IHNoaXBwZWQgd2l0aCB0aGUNCisgIGtlcm5lbCBvciB3
aXRoIHRoZSBwNm1jb2RlIHRvb2wuIENvbnRhY3QgSW50ZWwgdG8gb2J0YWlu
IHRoZSBsYXRlc3QgcmV2aXNpb24gb2YNCisgIG1pY3JvY29kZSBmb3IgeW91
ciBDUFUocykuDQorDQorICBUaGlzIGRyaXZlciBpcyBhbHNvIGF2YWlsYWJs
ZSBhcyBhIG1vZHVsZSAoID0gY29kZSB3aGljaCBjYW4gYmUNCisgIGluc2Vy
dGVkIGluIGFuZCByZW1vdmVkIGZyb20gdGhlIHJ1bm5pbmcga2VybmVsIHdo
ZW5ldmVyIHlvdSB3YW50KS4NCisgIFRoZSBtb2R1bGUgd2lsbCBiZSBjYWxs
ZWQgbWljcm9jb2RlLm8uIElmIHlvdSB3YW50IHRvIGNvbXBpbGUgaXQgYXMg
YQ0KKyAgbW9kdWxlLCBzYXkgTSBoZXJlIGFuZCByZWFkIERvY3VtZW50YXRp
b24vbW9kdWxlcy50eHQuDQorDQogRW5oYW5jZWQgUmVhbCBUaW1lIENsb2Nr
IFN1cHBvcnQNCiBDT05GSUdfUlRDDQogICBJZiB5b3Ugc2F5IFkgaGVyZSBh
bmQgY3JlYXRlIGEgY2hhcmFjdGVyIHNwZWNpYWwgZmlsZSAvZGV2L3J0YyB3
aXRoDQpkaWZmIC11ck4gLVggZG9udGRpZmYgbGludXgvRG9jdW1lbnRhdGlv
bi9kZXZpY2VzLnR4dCBsaW51eC1taWNyb2NvZGUvRG9jdW1lbnRhdGlvbi9k
ZXZpY2VzLnR4dA0KLS0tIGxpbnV4L0RvY3VtZW50YXRpb24vZGV2aWNlcy50
eHQJRnJpIEphbiAgNyAyMDo1OTozOCAyMDAwDQorKysgbGludXgtbWljcm9j
b2RlL0RvY3VtZW50YXRpb24vZGV2aWNlcy50eHQJV2VkIEZlYiAxNiAwNTo1
Nzo0NiAyMDAwDQpAQCAtMzUyLDYgKzM1Miw3IEBADQogCQkxNzcgPSAvZGV2
L2NibQkJU2VyaWFsIENCTSBidXMNCiAJCTE3OCA9IC9kZXYvanNmbGFzaAlK
YXZhU3RhdGlvbiBPUyBmbGFzaCBTSU1NDQogCQkxNzkgPSAvZGV2L3hzdmMJ
CUhpZ2gtc3BlZWQgc2hhcmVkLW1lbS9zZW1hcGhvcmUgc2VydmljZQ0KKwkJ
MTg0ID0gL2Rldi9taWNyb2NvZGUJSW50ZWwgUDYgQ1BVIG1pY3JvY29kZSB1
cGRhdGUNCiAJCTI0MC0yNTUJCQlSZXNlcnZlZCBmb3IgbG9jYWwgdXNlDQog
DQogIDExIGNoYXIJUmF3IGtleWJvYXJkIGRldmljZQ0KZGlmZiAtdXJOIC1Y
IGRvbnRkaWZmIGxpbnV4L01BSU5UQUlORVJTIGxpbnV4LW1pY3JvY29kZS9N
QUlOVEFJTkVSUw0KLS0tIGxpbnV4L01BSU5UQUlORVJTCVNhdCBGZWIgMTIg
MDA6MTA6MDMgMjAwMA0KKysrIGxpbnV4LW1pY3JvY29kZS9NQUlOVEFJTkVS
UwlXZWQgRmViIDE2IDA1OjExOjA2IDIwMDANCkBAIC00OTYsNiArNDk2LDEx
IEBADQogTToJbWluZ29AcmVkaGF0LmNvbQ0KIFM6CU1haW50YWluZWQNCiAN
CitJTlRFTCBQNiBNSUNST0NPREUgVVBEQVRFIFNVUFBPUlQNCitQOglUaWdy
YW4gQWl2YXppYW4NCitNOgl0aWdyYW5Ac2NvLmNvbQ0KK1M6CU1haW50YWlu
ZWQNCisNCiBJUCBNQVNRVUVSQURJTkc6DQogUDoJSnVhbmpvIENpYXJsYW50
ZQ0KIE06CWpqY2lhcmxhQHJhaXoudW5jdS5lZHUuYXINCmRpZmYgLXVyTiAt
WCBkb250ZGlmZiBsaW51eC9hcmNoL2kzODYvZGVmY29uZmlnIGxpbnV4LW1p
Y3JvY29kZS9hcmNoL2kzODYvZGVmY29uZmlnDQotLS0gbGludXgvYXJjaC9p
Mzg2L2RlZmNvbmZpZwlXZWQgRmViIDE2IDA1OjAwOjQ1IDIwMDANCisrKyBs
aW51eC1taWNyb2NvZGUvYXJjaC9pMzg2L2RlZmNvbmZpZwlXZWQgRmViIDE2
IDA1OjU2OjMxIDIwMDANCkBAIC0zOTMsNiArMzkzLDcgQEANCiAjIENPTkZJ
R19XQVRDSERPRyBpcyBub3Qgc2V0DQogIyBDT05GSUdfTlZSQU0gaXMgbm90
IHNldA0KICMgQ09ORklHX1JUQyBpcyBub3Qgc2V0DQorIyBDT05GSUdfTUlD
Uk9DT0RFIGlzIG5vdCBzZXQNCiANCiAjDQogIyBWaWRlbyBGb3IgTGludXgN
CmRpZmYgLXVyTiAtWCBkb250ZGlmZiBsaW51eC9kcml2ZXJzL2NoYXIvQ29u
ZmlnLmluIGxpbnV4LW1pY3JvY29kZS9kcml2ZXJzL2NoYXIvQ29uZmlnLmlu
DQotLS0gbGludXgvZHJpdmVycy9jaGFyL0NvbmZpZy5pbglXZWQgRmViIDE2
IDA1OjAwOjQ2IDIwMDANCisrKyBsaW51eC1taWNyb2NvZGUvZHJpdmVycy9j
aGFyL0NvbmZpZy5pbglXZWQgRmViIDE2IDA1OjQ5OjM1IDIwMDANCkBAIC0x
MTksNiArMTE5LDkgQEANCiBmaQ0KIGVuZG1lbnUNCiANCitpZiBbICIkQ09O
RklHX002ODYiID0gInkiIF07IHRoZW4NCisgICB0cmlzdGF0ZSAnL2Rldi9t
aWNyb2NvZGUgLSBJbnRlbCBQNiBDUFUgbWljcm9jb2RlIHVwZGF0ZSBzdXBw
b3J0JyBDT05GSUdfTUlDUk9DT0RFDQorZmkNCiANCiB0cmlzdGF0ZSAnL2Rl
di9udnJhbSBzdXBwb3J0JyBDT05GSUdfTlZSQU0NCiB0cmlzdGF0ZSAnRW5o
YW5jZWQgUmVhbCBUaW1lIENsb2NrIFN1cHBvcnQnIENPTkZJR19SVEMNCmRp
ZmYgLXVyTiAtWCBkb250ZGlmZiBsaW51eC9kcml2ZXJzL2NoYXIvTWFrZWZp
bGUgbGludXgtbWljcm9jb2RlL2RyaXZlcnMvY2hhci9NYWtlZmlsZQ0KLS0t
IGxpbnV4L2RyaXZlcnMvY2hhci9NYWtlZmlsZQlTdW4gRmViIDEzIDE5OjIx
OjQyIDIwMDANCisrKyBsaW51eC1taWNyb2NvZGUvZHJpdmVycy9jaGFyL01h
a2VmaWxlCVdlZCBGZWIgMTYgMDU6MjQ6MDQgMjAwMA0KQEAgLTE0Nyw2ICsx
NDcsNyBAQA0KIG9iai0kKENPTkZJR19QQzExMF9QQUQpICs9IHBjMTEwcGFk
Lm8NCiBvYmotJChDT05GSUdfV0RUKSArPSB3ZHQubw0KIG9iai0kKENPTkZJ
R19SVEMpICs9IHJ0Yy5vDQorb2JqLSQoQ09ORklHX01JQ1JPQ09ERSkgKz0g
bWljcm9jb2RlLm8NCiBpZmVxICgkKENPTkZJR19QUEMpLCkNCiAgIG9iai0k
KENPTkZJR19OVlJBTSkgKz0gbnZyYW0ubw0KIGVuZGlmDQpkaWZmIC11ck4g
LVggZG9udGRpZmYgbGludXgvZHJpdmVycy9jaGFyL21pY3JvY29kZS5jIGxp
bnV4LW1pY3JvY29kZS9kcml2ZXJzL2NoYXIvbWljcm9jb2RlLmMNCi0tLSBs
aW51eC9kcml2ZXJzL2NoYXIvbWljcm9jb2RlLmMJVGh1IEphbiAgMSAwMTow
MDowMCAxOTcwDQorKysgbGludXgtbWljcm9jb2RlL2RyaXZlcnMvY2hhci9t
aWNyb2NvZGUuYwlXZWQgRmViIDE2IDEwOjU2OjE4IDIwMDANCkBAIC0wLDAg
KzEsMjE2IEBADQorLyoNCisgKglDUFUgTWljcm9jb2RlIFVwZGF0ZSBpbnRl
cmZhY2UgZm9yIExpbnV4DQorICoNCisgKglDb3B5cmlnaHQgKEMpIDIwMDAg
VGlncmFuIEFpdmF6aWFuDQorICoNCisgKglUaGlzIGRyaXZlciBhbGxvd3Mg
dG8gdXBncmFkZSBtaWNyb2NvZGUgb24gSW50ZWwgcHJvY2Vzc29ycw0KKyAq
CWJlbG9uZ2luZyB0byBQNiBmYW1pbHkgLSBQZW50aXVtUHJvLCBQZW50aXVt
IElJLCBQZW50aXVtIElJSSBldGMuDQorICoNCisgKglUaGlzIHByb2dyYW0g
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yDQorICoJbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCisgKglhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24N
CisgKgkyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLg0KKyAqDQorICoJMS4wCVRpZ3JhbiBBaXZhemlh
biA8dGlncmFuQHNjby5jb20+DQorICoJCUluaXRpYWwgcmVsZWFzZS4NCisg
Ki8NCisNCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPg0KKyNpbmNsdWRlIDxs
aW51eC9zY2hlZC5oPg0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCisj
aW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPg0KKyNpbmNsdWRlIDxsaW51eC9z
bXBfbG9jay5oPg0KKyNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+DQor
DQorI2luY2x1ZGUgPGFzbS9tc3IuaD4NCisjaW5jbHVkZSA8YXNtL3VhY2Nl
c3MuaD4NCisjaW5jbHVkZSA8YXNtL21pY3JvY29kZS5oPg0KKyNpbmNsdWRl
IDxhc20vcHJvY2Vzc29yLmg+DQorDQorI2RlZmluZSBNSUNST0NPREVfVkVS
U0lPTiAJIjEuMCINCisNCitNT0RVTEVfREVTQ1JJUFRJT04oIkNQVSAoUDYp
IG1pY3JvY29kZSB1cGRhdGUgZHJpdmVyIik7DQorTU9EVUxFX0FVVEhPUigi
VGlncmFuIEFpdmF6aWFuIDx0aWdyYW5Ab2NzdG9uLm9yZz4iKTsNCitFWFBP
UlRfTk9fU1lNQk9MUzsNCisNCisvKiBWRlMgaW50ZXJmYWNlICovDQorc3Rh
dGljIGludCBtaWNyb2NvZGVfb3BlbihzdHJ1Y3QgaW5vZGUgKiwgc3RydWN0
IGZpbGUgKik7DQorc3RhdGljIGludCBtaWNyb2NvZGVfcmVsZWFzZShzdHJ1
Y3QgaW5vZGUgKiwgc3RydWN0IGZpbGUgKik7DQorc3RhdGljIGludCBtaWNy
b2NvZGVfaW9jdGwoc3RydWN0IGlub2RlICosIHN0cnVjdCBmaWxlICosIHVu
c2lnbmVkIGludCwgdW5zaWduZWQgbG9uZyk7DQorDQorLyogaW50ZXJuYWwg
aGVscGVycyB0byBkbyB0aGUgd29yayAqLw0KK3N0YXRpYyBpbnQgZG9fbWlj
cm9jb2RlX3VwZGF0ZSh2b2lkKTsNCitzdGF0aWMgdm9pZCBkb191cGRhdGVf
b25lKHZvaWQgKik7DQorDQorLyoNCisgKiAgQml0cyBpbiBtaWNyb2NvZGVf
c3RhdHVzLiAoNyBiaXRzIG9mIHJvb20gZm9yIGZ1dHVyZSBleHBhbnNpb24p
DQorICovDQorI2RlZmluZSBNSUNST0NPREVfSVNfT1BFTgkweDAxCS8qIHNl
dCBpZiAvZGV2L21pY3JvY29kZSBpcyBpbiB1c2UgKi8NCisNCitzdGF0aWMg
YXRvbWljX3QgbWljcm9jb2RlX3N0YXR1cyA9IEFUT01JQ19JTklUKDApOyAv
KiBiaXRtYXBwZWQgc3RhdHVzIGJ5dGUgKi8NCisNCisvKiB0aGUgYWN0dWFs
IGFycmF5IG9mIG1pY3JvY29kZSBibG9ja3MsIGVhY2ggMjA0OCBieXRlcyAq
Lw0KK3N0YXRpYyBzdHJ1Y3QgbWljcm9jb2RlICogbWljcm9jb2RlID0gTlVM
TDsNCitzdGF0aWMgdW5zaWduZWQgaW50IG1pY3JvY29kZV9udW0gPSAwOw0K
Kw0KK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG1pY3JvY29kZV9m
b3BzID0gew0KKwlpb2N0bDoJCW1pY3JvY29kZV9pb2N0bCwNCisJb3BlbjoJ
CW1pY3JvY29kZV9vcGVuLA0KKwlyZWxlYXNlOgltaWNyb2NvZGVfcmVsZWFz
ZSwNCit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgbWlzY2RldmljZSBtaWNyb2Nv
ZGVfZGV2ID0gew0KKwltaW5vcjoJCU1JQ1JPQ09ERV9NSU5PUiwNCisJbmFt
ZToJCSJtaWNyb2NvZGUiLA0KKwlmb3BzOgkJJm1pY3JvY29kZV9mb3BzDQor
fTsNCisNCitzdGF0aWMgaW50IF9faW5pdCBtaWNyb2NvZGVfaW5pdCh2b2lk
KQ0KK3sNCisJaWYgKG1pc2NfcmVnaXN0ZXIoJm1pY3JvY29kZV9kZXYpKSB7
DQorCQlwcmludGsoS0VSTl9FUlIgIkNhbid0IHJlZ2lzdGVyIC9kZXYvbWlj
cm9jb2RlIG9uIG1pbm9yPSVkXG4iLA0KKwkJCU1JQ1JPQ09ERV9NSU5PUik7
DQorCQlyZXR1cm4gLUVCVVNZOw0KKwl9DQorCXByaW50ayhLRVJOX0VSUiAi
UDYgTWljcm9jb2RlIFVwZGF0ZSBEcml2ZXIgdiVzIHJlZ2lzdGVyZWQgb24g
bWlub3I9JWRcbiIsIA0KKwkJTUlDUk9DT0RFX1ZFUlNJT04sIE1JQ1JPQ09E
RV9NSU5PUik7DQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgdm9pZCBf
X2V4aXQgbWljcm9jb2RlX2V4aXQodm9pZCkNCit7DQorCW1pc2NfZGVyZWdp
c3RlcigmbWljcm9jb2RlX2Rldik7DQorCXByaW50ayhLRVJOX0VSUiAiUDYg
TWljcm9jb2RlIFVwZGF0ZSBEcml2ZXIgdiVzIHVucmVnaXN0ZXJlZFxuIiwg
TUlDUk9DT0RFX1ZFUlNJT04pOw0KK30NCisNCittb2R1bGVfaW5pdChtaWNy
b2NvZGVfaW5pdCk7DQorbW9kdWxlX2V4aXQobWljcm9jb2RlX2V4aXQpOw0K
Kw0KKy8qDQorICogV2UgZW5mb3JjZSBvbmx5IG9uZSB1c2VyIGF0IGEgdGlt
ZSBoZXJlIHdpdGggb3Blbi9jbG9zZS4NCisgKi8NCitzdGF0aWMgaW50IG1p
Y3JvY29kZV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxl
ICpmaWxlKQ0KK3sNCisJaWYgKCFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQ0K
KwkJcmV0dXJuIC1FUEVSTTsNCisNCisJLyogb25lIGF0IGEgdGltZSwgcGxl
YXNlICovDQorCWlmIChhdG9taWNfcmVhZCgmbWljcm9jb2RlX3N0YXR1cykg
JiBNSUNST0NPREVfSVNfT1BFTikNCisJCXJldHVybiAtRUJVU1k7DQorDQor
CU1PRF9JTkNfVVNFX0NPVU5UOw0KKw0KKwlhdG9taWNfc2V0KCZtaWNyb2Nv
ZGVfc3RhdHVzLCANCisJCWF0b21pY19yZWFkKCZtaWNyb2NvZGVfc3RhdHVz
KSB8IE1JQ1JPQ09ERV9JU19PUEVOKTsNCisNCisJcmV0dXJuIDA7DQorfQ0K
Kw0KK3N0YXRpYyBpbnQgbWljcm9jb2RlX3JlbGVhc2Uoc3RydWN0IGlub2Rl
ICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpDQorew0KKwlNT0RfREVDX1VT
RV9DT1VOVDsNCisNCisJYXRvbWljX3NldCgmbWljcm9jb2RlX3N0YXR1cywg
DQorCQlhdG9taWNfcmVhZCgmbWljcm9jb2RlX3N0YXR1cykgJiB+TUlDUk9D
T0RFX0lTX09QRU4pOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorDQorc3Rh
dGljIGludCBtaWNyb2NvZGVfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwg
c3RydWN0IGZpbGUgKmZpbGUsIA0KKwl1bnNpZ25lZCBpbnQgY21kLCB1bnNp
Z25lZCBsb25nIGFyZykNCit7DQorCWludCBlcnI7DQorCXN0cnVjdCBtaWNy
b2NvZGVfaW9jIGlvYzsNCisJdW5zaWduZWQgaW50IG1pY3JvY29kZV9ieXRl
czsNCisNCisJZXJyID0gLUVJTlZBTDsNCisJc3dpdGNoIChjbWQpIHsNCisJ
CWNhc2UgTUlDUk9DT0RFX1A2VVBEQVRFOg0KKwkJCWlmIChjb3B5X2Zyb21f
dXNlcigmaW9jLCAodm9pZCAqKWFyZywgc2l6ZW9mIGlvYykpDQorCQkJCXJl
dHVybiAtRUZBVUxUOw0KKw0KKwkJCWxvY2tfa2VybmVsKCk7DQorCQkJbWlj
cm9jb2RlX251bSA9IGlvYy5udW07DQorCQkJbWljcm9jb2RlX2J5dGVzID0g
bWljcm9jb2RlX251bSAqIHNpemVvZihzdHJ1Y3QgbWljcm9jb2RlKTsNCisJ
CQltaWNyb2NvZGUgPSB2bWFsbG9jKG1pY3JvY29kZV9ieXRlcyk7DQorCQkJ
aWYgKCFtaWNyb2NvZGUpIHsNCisJCQkJZXJyID0gLUVOT01FTTsNCisJCQkJ
dW5sb2NrX2tlcm5lbCgpOw0KKwkJCQlicmVhazsNCisJCQl9DQorCQkJaWYg
KGNvcHlfZnJvbV91c2VyKG1pY3JvY29kZSwgaW9jLnVhZGRyLCBtaWNyb2Nv
ZGVfYnl0ZXMpKSB7DQorCQkJCXZmcmVlKG1pY3JvY29kZSk7DQorCQkJCWVy
ciA9IC1FRkFVTFQ7DQorCQkJCXVubG9ja19rZXJuZWwoKTsNCisJCQkJYnJl
YWs7DQorCQkJfQ0KKwkJCWVyciA9IGRvX21pY3JvY29kZV91cGRhdGUoKTsN
CisJCQl2ZnJlZShtaWNyb2NvZGUpOw0KKwkJCXVubG9ja19rZXJuZWwoKTsN
CisJCQlicmVhazsNCisJCWRlZmF1bHQ6DQorCQkJYnJlYWs7DQorCX0NCisJ
cmV0dXJuIGVycjsNCit9DQorDQorc3RhdGljIGludCBkb19taWNyb2NvZGVf
dXBkYXRlKHZvaWQpDQorew0KKwlpZiAoc21wX2NhbGxfZnVuY3Rpb24oZG9f
dXBkYXRlX29uZSwgTlVMTCwgMSwgMCkgIT0gMCkNCisJCXBhbmljKCJkb19t
aWNyb2NvZGVfdXBkYXRlKCk6IHRpbWVkIG91dCB3YWl0aW5nIGZvciBvdGhl
ciBDUFVzXG4iKTsNCisJZG9fdXBkYXRlX29uZShOVUxMKTsNCisJcmV0dXJu
IDA7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIGRvX3VwZGF0ZV9vbmUodm9pZCAq
dW51c2VkKQ0KK3sNCisJc3RydWN0IGNwdWluZm9feDg2ICogYzsNCisJdW5z
aWduZWQgaW50IHBmID0gMCwgdmFsWzJdLCByZXYsIHNpZzsNCisJaW50IGks
IGlkOw0KKw0KKwlpZCA9IHNtcF9wcm9jZXNzb3JfaWQoKTsNCisJYyA9IGNw
dV9kYXRhICsgaWQ7DQorDQorDQorCWlmIChjLT54ODZfdmVuZG9yICE9IFg4
Nl9WRU5ET1JfSU5URUwgfHwgYy0+eDg2IDwgNikNCisJCXJldHVybjsNCisN
CisJc2lnID0gYy0+eDg2X21hc2sgKyAoYy0+eDg2X21vZGVsPDw0KSArIChj
LT54ODY8PDgpOw0KKw0KKwlpZiAoYy0+eDg2ID49IDYgJiYgYy0+eDg2X21v
ZGVsID49IDUpIHsNCisJCS8qIGdldCBwcm9jZXNzb3IgZmxhZ3MgZnJvbSBC
QkxfQ1JfT1ZSRCBNU1IgKDB4MTcpICovDQorCQlyZG1zcigweDE3LCB2YWxb
MF0sIHZhbFsxXSk7DQorCQlwZiA9IDEgPDwgKCh2YWxbMV0gPj4gMTgpICYg
Nyk7DQorCX0NCisNCisJZm9yIChpPTA7IGk8bWljcm9jb2RlX251bTsgaSsr
KQ0KKwkJaWYgKG1pY3JvY29kZVtpXS5zaWcgPT0gc2lnICYmIG1pY3JvY29k
ZVtpXS5wZiA9PSBwZiAmJg0KKwkJICAgIG1pY3JvY29kZVtpXS5sZHJ2ZXIg
PT0gMSAmJiBtaWNyb2NvZGVbaV0uaGRydmVyID09IDEpIHsNCisNCisJCQly
ZG1zcigweDhCLCB2YWxbMF0sIHJldik7DQorCQkJaWYgKG1pY3JvY29kZVtp
XS5yZXYgPD0gcmV2KSB7DQorCQkJCXByaW50ayhLRVJOX0VSUiANCisJCQkJ
CSJtaWNyb2NvZGU6IENQVSVkIG5vdCAndXBncmFkaW5nJyB0byBlYXJsaWVy
IHJldmlzaW9uIg0KKwkJCQkJIiAlZCAoY3VycmVudD0lZClcbiIsIGlkLCBt
aWNyb2NvZGVbaV0ucmV2LCByZXYpOw0KKwkJCX0gZWxzZSB7IA0KKwkJCQlp
bnQgc3VtID0gMDsNCisJCQkJc3RydWN0IG1pY3JvY29kZSAqbSA9ICZtaWNy
b2NvZGVbaV07DQorCQkJCXVuc2lnbmVkIGludCAqc3VtcCA9ICh1bnNpZ25l
ZCBpbnQgKikobSsxKTsNCisNCisJCQkJd2hpbGUgKC0tc3VtcCA+PSAodW5z
aWduZWQgaW50ICopbSkNCisJCQkJCXN1bSArPSAqc3VtcDsNCisJCQkJaWYg
KHN1bSAhPSAwKSB7DQorCQkJCQlwcmludGsoS0VSTl9FUlIgIm1pY3JvY29k
ZTogQ1BVJWQgYWJvcnRpbmcsICINCisJCQkJCQkJImJhZCBjaGVja3N1bVxu
IiwgaWQpOw0KKwkJCQkJYnJlYWs7DQorCQkJCX0NCisJCQkJd3Jtc3IoMHg3
OSwgKHVuc2lnbmVkIGludCkobS0+Yml0cyksIDApOw0KKwkJCQlfX2FzbV9f
IF9fdm9sYXRpbGVfXyAoImNwdWlkIik7DQorCQkJCXJkbXNyKDB4OEIsIHZh
bFswXSwgdmFsWzFdKTsNCisJCQkJcHJpbnRrKEtFUk5fRVJSICJtaWNyb2Nv
ZGU6IENQVSVkIG1pY3JvY29kZSB1cGRhdGVkICINCisJCQkJCQkiZnJvbSBy
ZXZpc2lvbiAlZCB0byAlZFxuIiwgaWQsIHJldiwgdmFsWzFdKTsNCisJCQl9
DQorCQkJYnJlYWs7DQorCQl9DQorfQ0KZGlmZiAtdXJOIC1YIGRvbnRkaWZm
IGxpbnV4L2luY2x1ZGUvYXNtLWkzODYvbWljcm9jb2RlLmggbGludXgtbWlj
cm9jb2RlL2luY2x1ZGUvYXNtLWkzODYvbWljcm9jb2RlLmgNCi0tLSBsaW51
eC9pbmNsdWRlL2FzbS1pMzg2L21pY3JvY29kZS5oCVRodSBKYW4gIDEgMDE6
MDA6MDAgMTk3MA0KKysrIGxpbnV4LW1pY3JvY29kZS9pbmNsdWRlL2FzbS1p
Mzg2L21pY3JvY29kZS5oCVdlZCBGZWIgMTYgMDk6NTI6MTMgMjAwMA0KQEAg
LTAsMCArMSwyOSBAQA0KKy8qDQorICoJSW50ZWwgUDYgTWljcm9jb2RlIFVw
ZGF0ZSBpbnRlcmZhY2UNCisgKg0KKyAqLw0KKw0KKyNpZm5kZWYgX0FTTV9N
SUNST0NPREVfSA0KKyNkZWZpbmUgX0FTTV9NSUNST0NPREVfSA0KKw0KK3N0
cnVjdCBtaWNyb2NvZGVfaW9jIHsNCisJdW5zaWduZWQgaW50IG51bTsNCisJ
dm9pZCAqIHVhZGRyOw0KK307DQorDQorI2RlZmluZSBNSUNST0NPREVfSU9D
VExfQkFTRQknaScNCisjZGVmaW5lIE1JQ1JPQ09ERV9QNlVQREFURQlfSU9X
KE1JQ1JPQ09ERV9JT0NUTF9CQVNFLCAwLCBzdHJ1Y3QgbWljcm9jb2RlX2lv
YykNCisNCitzdHJ1Y3QgbWljcm9jb2RlIHsNCisJdW5zaWduZWQgaW50IGhk
cnZlcjsNCisJdW5zaWduZWQgaW50IHJldjsNCisJdW5zaWduZWQgaW50IGRh
dGU7DQorCXVuc2lnbmVkIGludCBzaWc7DQorCXVuc2lnbmVkIGludCBja3N1
bTsNCisJdW5zaWduZWQgaW50IGxkcnZlcjsNCisJdW5zaWduZWQgaW50IHBm
Ow0KKwl1bnNpZ25lZCBpbnQgcmVzZXJ2ZWRbNV07DQorCXVuc2lnbmVkIGlu
dCBiaXRzWzUwMF07DQorfTsNCisNCisjZW5kaWYgLyogX0FTTV9NSUNST0NP
REVfSCAqLw0KZGlmZiAtdXJOIC1YIGRvbnRkaWZmIGxpbnV4L2luY2x1ZGUv
bGludXgvbWlzY2RldmljZS5oIGxpbnV4LW1pY3JvY29kZS9pbmNsdWRlL2xp
bnV4L21pc2NkZXZpY2UuaA0KLS0tIGxpbnV4L2luY2x1ZGUvbGludXgvbWlz
Y2RldmljZS5oCVRodSBGZWIgMTAgMDM6NDU6NDMgMjAwMA0KKysrIGxpbnV4
LW1pY3JvY29kZS9pbmNsdWRlL2xpbnV4L21pc2NkZXZpY2UuaAlXZWQgRmVi
IDE2IDA3OjU3OjU2IDIwMDANCkBAIC0xOCw2ICsxOCw3IEBADQogI2RlZmlu
ZSBTVU5fT1BFTlBST01fTUlOT1IgMTM5DQogI2RlZmluZSBOVlJBTV9NSU5P
UiAxNDQNCiAjZGVmaW5lIEkyT19NSU5PUiAxNjYNCisjZGVmaW5lIE1JQ1JP
Q09ERV9NSU5PUiAxODQNCiAjZGVmaW5lIE1JU0NfRFlOQU1JQ19NSU5PUiAy
NTUNCiANCiAjZGVmaW5lIFNHSV9HUkFQSElDU19NSU5PUiAgIDE0Ng0K
---559023410-16838-950709230=:22416
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="microcode.4"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SCO.3.94.1000216135350.22416D@tyne.london.sco.com>
Content-Description: microcode.4

LlwiIENvcHlyaWdodCAoYykgMjAwMCBUaWdyYW4gQWl2YXppYW4gKHRpZ3Jh
bkBvY3N0b24ub3JnKSwgV2VkIEZlYiAxNiAxMTowNDoxNCBHTVQgMjAwMA0K
LlwiDQouXCIgVGhpcyBpcyBmcmVlIGRvY3VtZW50YXRpb247IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcg0KLlwiIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz
DQouXCIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlciB2ZXJzaW9uIDIgb2YNCi5cIiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCi5cIg0KLlwi
IFRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSdzIHJlZmVyZW5jZXMg
dG8gIm9iamVjdCBjb2RlIg0KLlwiIGFuZCAiZXhlY3V0YWJsZXMiIGFyZSB0
byBiZSBpbnRlcnByZXRlZCBhcyB0aGUgb3V0cHV0IG9mIGFueQ0KLlwiIGRv
Y3VtZW50IGZvcm1hdHRpbmcgb3IgdHlwZXNldHRpbmcgc3lzdGVtLCBpbmNs
dWRpbmcNCi5cIiBpbnRlcm1lZGlhdGUgYW5kIHByaW50ZWQgb3V0cHV0Lg0K
LlwiDQouXCIgVGhpcyBtYW51YWwgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCi5cIiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZg0KLlwiIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCi5cIiBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KLlwiDQouXCIgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljDQouXCIgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbWFudWFs
OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlDQouXCIgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJv
c3RvbiwgTUEgMDIxMTEsDQouXCIgVVNBLg0KLlwiDQouVEggTUlDUk9DT0RF
IDQgIjIxIE5vdmVtYmVyIDE5OTIiICJMaW51eCIgIkxpbnV4IFByb2dyYW1t
ZXIncyBNYW51YWwiDQouU0ggTkFNRQ0KbWljcm9jb2RlLCBcLSBDUFUgbWlj
cm9jb2RlIHVwZGF0ZSBkZXZpY2UNCi5TSCBERVNDUklQVElPTg0KXGZCL2Rl
di9taWNyb2NvZGVcZlAgaXMgYSBjaGFyYWN0ZXIgZGV2aWNlIGZpbGUgdGhh
dCBhbGxvd3MgdXNlciBwcm9jZXNzDQp0byB1cGRhdGUgdGhlIG1pY3JvY29k
ZSBvbiBzb21lIHByb2Nlc3NvcnMgdGhhdCBzdXBwb3J0IHRoaXMgZmVhdHVy
ZS4NCkN1cnJlbnRseSwgb25seSBwcm9jZXNzb3JzIGluIEludGVsIFA2IGZh
bWlseSBjYW4gdXBkYXRlIHRoZWlyIG1pY3JvY29kZXMsIA0KaW5jbHVkaW5n
IFBlbnRpdW0gUHJvLCBQZW50aXVtIElJLCBQZW50aXVtIElJSSwgWGVvbiBl
dGMuDQouTFANCg0KSXQgaXMgdHlwaWNhbGx5IGNyZWF0ZWQgYnk6DQouUlMN
Ci5zcA0KbWtub2QgLW0gNjYwIC9kZXYvbWljcm9jb2RlIGMgMTAgMTg0DQou
YnINCi5SRQ0KLkxQDQpUaGUgcHJvZ3JhbW1pbmcgaW50ZXJmYWNlIGlzIHBy
b3ZpZGVkIHdpdGggdGhlIA0KLklSIGlvY3RsKDIpDQpzeXN0ZW0gY2FsbC4N
Ci5uZg0KLnNwDQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZSA8
ZmNudGwuaD4NCiNpbmNsdWRlIDxzeXMvaW9jdGwuaD4NCiNpbmNsdWRlIDxh
c20vbWljcm9jb2RlLmg+DQoNCnN0cnVjdCBtaWNyb2NvZGVfaW9jIGlvYzsN
Cg0KaW9jLm51bSA9IG51bWJlcl9vZl9ibG9ja3M7DQppb2MudWFkZHIgPSBh
ZGRyZXNzX29mX21pY3JvY29kZTsNCmZkID0gb3BlbigiL2Rldi9taWNyb2Nv
ZGUiLCBPX1JET05MWSk7DQppb2N0bChmZCwgTUlDUk9DT0RFX1A2VVBEQVRF
LCAmaW9jKTsNCg0KLlJFDQpUaGUgdXNlciBpbnRlcmZhY2UgdG8gL2Rldi9t
aWNyb2NvZGUgZGV2aWNlIGlzIHByb3ZpZGVkIGJ5IHRoZSBtY29kZQ0KdXRp
bGl0eSB3aGljaCBhY2NlcHRzIGEgc2luZ2xlIGFyZ3VtZW50IC0gdGhlIG5h
bWUgb2YgdGhlIGZpbGUgY29udGFpbmluZw0KbWljcm9jb2RlIGRhdGEgaW4g
YmluYXJ5IGZvcm0uDQouU0ggQVVUSE9SDQouc3ANClRpZ3JhbiBBaXZhemlh
biA8dGlncmFuQG9jc3Rvbi5vcmc+LCBzZWUgdGhlIHByb2plY3Qgc2l0ZSAN
Cmh0dHA6Ly93d3cub2NzdG9uLm9yZy9+dGlncmFuL3BhdGNoZXMvbWljcm9j
b2RlIGZvciB1cGRhdGVzLg0KLlNIIEZJTEVTDQovZGV2L21pY3JvY29kZQ0K
LlNIICJTRUUgQUxTTyINCi5CUiBta25vZCAiKDEpICINCg==
---559023410-16838-950709230=:22416--

-
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.tux.org/lkml/