Re: include/asm-i386/checksum.h

Erik Meusel (erik@wh58-709.st.uni-magdeburg.de)
Tue, 3 Jul 2001 21:16:35 +0200 (CEST)


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

--747458502-666116313-994187795=:21966
Content-Type: TEXT/PLAIN; charset=US-ASCII

Ok.

Sending dozens of patches today, I was asked if I could mail the whole
files, not only the patch and send it Cc'ed to you, Linus.

Here they are:
linux/include/asm-i386/checksum.h and
linux/include/asm-i386/floppy.h
both based on stable linux-2.4.5.

Well, have a lot of fun and thanks in advance!

mfg, Erik

--747458502-666116313-994187795=:21966
Content-Type: TEXT/x-chdr; name="checksum.h"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.33.0107032116350.21966@wh58-709.st.uni-magdeburg.de>
Content-Description:
Content-Disposition: attachment; filename="checksum.h"

I2lmbmRlZiBfSTM4Nl9DSEVDS1NVTV9IDQojZGVmaW5lIF9JMzg2X0NIRUNL
U1VNX0gNCg0KDQovKg0KICogY29tcHV0ZXMgdGhlIGNoZWNrc3VtIG9mIGEg
bWVtb3J5IGJsb2NrIGF0IGJ1ZmYsIGxlbmd0aCBsZW4sDQogKiBhbmQgYWRk
cyBpbiAic3VtIiAoMzItYml0KQ0KICoNCiAqIHJldHVybnMgYSAzMi1iaXQg
bnVtYmVyIHN1aXRhYmxlIGZvciBmZWVkaW5nIGludG8gaXRzZWxmDQogKiBv
ciBjc3VtX3RjcHVkcF9tYWdpYw0KICoNCiAqIHRoaXMgZnVuY3Rpb24gbXVz
dCBiZSBjYWxsZWQgd2l0aCBldmVuIGxlbmd0aHMsIGV4Y2VwdA0KICogZm9y
IHRoZSBsYXN0IGZyYWdtZW50LCB3aGljaCBtYXkgYmUgb2RkDQogKg0KICog
aXQncyBiZXN0IHRvIGhhdmUgYnVmZiBhbGlnbmVkIG9uIGEgMzItYml0IGJv
dW5kYXJ5DQogKi8NCmFzbWxpbmthZ2UgdW5zaWduZWQgaW50IGNzdW1fcGFy
dGlhbChjb25zdCB1bnNpZ25lZCBjaGFyICogYnVmZiwgaW50IGxlbiwgdW5z
aWduZWQgaW50IHN1bSk7DQoNCi8qDQogKiB0aGUgc2FtZSBhcyBjc3VtX3Bh
cnRpYWwsIGJ1dCBjb3BpZXMgZnJvbSBzcmMgd2hpbGUgaXQNCiAqIGNoZWNr
c3VtcywgYW5kIGhhbmRsZXMgdXNlci1zcGFjZSBwb2ludGVyIGV4Y2VwdGlv
bnMgY29ycmVjdGx5LCB3aGVuIG5lZWRlZC4NCiAqDQogKiBoZXJlIGV2ZW4g
bW9yZSBpbXBvcnRhbnQgdG8gYWxpZ24gc3JjIGFuZCBkc3Qgb24gYSAzMi1i
aXQgKG9yIGV2ZW4NCiAqIGJldHRlciA2NC1iaXQpIGJvdW5kYXJ5DQogKi8N
Cg0KYXNtbGlua2FnZSB1bnNpZ25lZCBpbnQgY3N1bV9wYXJ0aWFsX2NvcHlf
Z2VuZXJpYyggY29uc3QgY2hhciAqc3JjLCBjaGFyICpkc3QsIGludCBsZW4s
IGludCBzdW0sDQoJCQkJCQkgICBpbnQgKnNyY19lcnJfcHRyLCBpbnQgKmRz
dF9lcnJfcHRyKTsNCg0KLyoNCiAqCU5vdGU6IHdoZW4geW91IGdldCBhIE5V
TEwgcG9pbnRlciBleGNlcHRpb24gaGVyZSB0aGlzIG1lYW5zIHNvbWVvbmUN
CiAqCXBhc3NlZCBpbiBhbiBpbmNvcnJlY3Qga2VybmVsIGFkZHJlc3MgdG8g
b25lIG9mIHRoZXNlIGZ1bmN0aW9ucy4gDQogKgkNCiAqCUlmIHlvdSB1c2Ug
dGhlc2UgZnVuY3Rpb25zIGRpcmVjdGx5IHBsZWFzZSBkb24ndCBmb3JnZXQg
dGhlIA0KICoJdmVyaWZ5X2FyZWEoKS4NCiAqLw0KZXh0ZXJuIF9faW5saW5l
X18NCnVuc2lnbmVkIGludCBjc3VtX3BhcnRpYWxfY29weV9ub2NoZWNrICgg
Y29uc3QgY2hhciAqc3JjLCBjaGFyICpkc3QsDQoJCQkJCWludCBsZW4sIGlu
dCBzdW0pDQp7DQoJcmV0dXJuIGNzdW1fcGFydGlhbF9jb3B5X2dlbmVyaWMg
KCBzcmMsIGRzdCwgbGVuLCBzdW0sIE5VTEwsIE5VTEwpOw0KfQ0KDQpleHRl
cm4gX19pbmxpbmVfXw0KdW5zaWduZWQgaW50IGNzdW1fcGFydGlhbF9jb3B5
X2Zyb21fdXNlciAoIGNvbnN0IGNoYXIgKnNyYywgY2hhciAqZHN0LA0KCQkJ
CQkJaW50IGxlbiwgaW50IHN1bSwgaW50ICplcnJfcHRyKQ0Kew0KCXJldHVy
biBjc3VtX3BhcnRpYWxfY29weV9nZW5lcmljICggc3JjLCBkc3QsIGxlbiwg
c3VtLCBlcnJfcHRyLCBOVUxMKTsNCn0NCg0KLyoNCiAqIFRoZXNlIGFyZSB0
aGUgb2xkIChhbmQgdW5zYWZlKSB3YXkgb2YgZG9pbmcgY2hlY2tzdW1zLCBh
IHdhcm5pbmcgbWVzc2FnZSB3aWxsIGJlDQogKiBwcmludGVkIGlmIHRoZXkg
YXJlIHVzZWQgYW5kIGFuIGV4ZXB0aW9uIG9jY3Vycy4NCiAqDQogKiB0aGVz
ZSBmdW5jdGlvbnMgc2hvdWxkIGdvIGF3YXkgYWZ0ZXIgc29tZSB0aW1lLg0K
ICovDQoNCiNkZWZpbmUgY3N1bV9wYXJ0aWFsX2NvcHlfZnJvbXVzZXIgY3N1
bV9wYXJ0aWFsX2NvcHkNCnVuc2lnbmVkIGludCBjc3VtX3BhcnRpYWxfY29w
eSggY29uc3QgY2hhciAqc3JjLCBjaGFyICpkc3QsIGludCBsZW4sIGludCBz
dW0pOw0KDQovKg0KICoJVGhpcyBpcyBhIHZlcnNpb24gb2YgaXBfY29tcHV0
ZV9jc3VtKCkgb3B0aW1pemVkIGZvciBJUCBoZWFkZXJzLA0KICoJd2hpY2gg
YWx3YXlzIGNoZWNrc3VtIG9uIDQgb2N0ZXQgYm91bmRhcmllcy4NCiAqDQog
KglCeSBKb3JnZSBDd2lrIDxqb3JnZUBsYXNlci5zYXRsaW5rLm5ldD4sIGFk
YXB0ZWQgZm9yIGxpbnV4IGJ5DQogKglBcm50IEd1bGJyYW5kc2VuLg0KICov
DQpzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHNob3J0IGlwX2Zhc3RfY3N1bSh1
bnNpZ25lZCBjaGFyICogaXBoLA0KCQkJCQkgIHVuc2lnbmVkIGludCBpaGwp
IHsNCgl1bnNpZ25lZCBpbnQgc3VtOw0KDQoJX19hc21fXyBfX3ZvbGF0aWxl
X18oIlwNCgkgICAgbW92bCAoJTEpLCAlMCBcDQoJICAgIHN1YmwgJDQsICUy
IFwNCgkgICAgamJlIDJmIFwNCgkgICAgYWRkbCA0KCUxKSwgJTAgXA0KCSAg
ICBhZGNsIDgoJTEpLCAlMCBcDQoJICAgIGFkY2wgMTIoJTEpLCAlMCBcDQox
OgkgICAgYWRjbCAxNiglMSksICUwIFwNCgkgICAgbGVhIDQoJTEpLCAlMSBc
DQoJICAgIGRlY2wgJTIgXA0KCSAgICBqbmUJMWIgXA0KCSAgICBhZGNsICQw
LCAlMCBcDQoJICAgIG1vdmwgJTAsICUyIFwNCgkgICAgc2hybCAkMTYsICUw
IFwNCgkgICAgYWRkdyAldzIsICV3MCBcDQoJICAgIGFkY2wgJDAsICUwIFwN
CgkgICAgbm90bCAlMCBcDQoyOiBcDQoJICAgICINCgkvKiBTaW5jZSB0aGUg
aW5wdXQgcmVnaXN0ZXJzIHdoaWNoIGFyZSBsb2FkZWQgd2l0aCBpcGggYW5k
IGlwbA0KCSAgIGFyZSBtb2RpZmllZCwgd2UgbXVzdCBhbHNvIHNwZWNpZnkg
dGhlbSBhcyBvdXRwdXRzLCBvciBnY2MNCgkgICB3aWxsIGFzc3VtZSB0aGV5
IGNvbnRhaW4gdGhlaXIgb3JpZ2luYWwgdmFsdWVzLiAqLw0KCTogIj1yIiAo
c3VtKSwgIj1yIiAoaXBoKSwgIj1yIiAoaWhsKQ0KCTogIjEiIChpcGgpLCAi
MiIgKGlobCkpOw0KCXJldHVybihzdW0pOw0KfQ0KDQovKg0KICoJRm9sZCBh
IHBhcnRpYWwgY2hlY2tzdW0NCiAqLw0KDQpzdGF0aWMgaW5saW5lIHVuc2ln
bmVkIGludCBjc3VtX2ZvbGQodW5zaWduZWQgaW50IHN1bSkNCnsNCglfX2Fz
bV9fKCJcDQoJCWFkZGwgJTEsICUwIFwNCgkJYWRjbCAkMHhmZmZmLCAlMCBc
DQoJCSINCgkJOiAiPXIiIChzdW0pDQoJCTogInIiIChzdW0gPDwgMTYpLCAi
MCIgKHN1bSAmIDB4ZmZmZjAwMDApDQoJKTsNCglyZXR1cm4gKH5zdW0pID4+
IDE2Ow0KfQ0KIA0Kc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGNzdW1f
dGNwdWRwX25vZm9sZCh1bnNpZ25lZCBsb25nIHNhZGRyLA0KCQkJCQkJICAg
dW5zaWduZWQgbG9uZyBkYWRkciwNCgkJCQkJCSAgIHVuc2lnbmVkIHNob3J0
IGxlbiwNCgkJCQkJCSAgIHVuc2lnbmVkIHNob3J0IHByb3RvLA0KCQkJCQkJ
ICAgdW5zaWduZWQgaW50IHN1bSkgDQp7DQogICAgX19hc21fXygiXA0KCWFk
ZGwgJTEsICUwIFwNCglhZGNsICUyLCAlMCBcDQoJYWRjbCAlMywgJTAgXA0K
CWFkY2wgJDAsICUwIFwNCgkiDQoJOiAiPXIiIChzdW0pDQoJOiAiZyIgKGRh
ZGRyKSwgImciKHNhZGRyKSwgImciKChudG9ocyhsZW4pPDwxNikrcHJvdG8q
MjU2KSwgIjAiKHN1bSkpOw0KICAgIHJldHVybiBzdW07DQp9DQoNCi8qDQog
KiBjb21wdXRlcyB0aGUgY2hlY2tzdW0gb2YgdGhlIFRDUC9VRFAgcHNldWRv
LWhlYWRlcg0KICogcmV0dXJucyBhIDE2LWJpdCBjaGVja3N1bSwgYWxyZWFk
eSBjb21wbGVtZW50ZWQNCiAqLw0Kc3RhdGljIGlubGluZSB1bnNpZ25lZCBz
aG9ydCBpbnQgY3N1bV90Y3B1ZHBfbWFnaWModW5zaWduZWQgbG9uZyBzYWRk
ciwNCgkJCQkJCSAgIHVuc2lnbmVkIGxvbmcgZGFkZHIsDQoJCQkJCQkgICB1
bnNpZ25lZCBzaG9ydCBsZW4sDQoJCQkJCQkgICB1bnNpZ25lZCBzaG9ydCBw
cm90bywNCgkJCQkJCSAgIHVuc2lnbmVkIGludCBzdW0pIA0Kew0KCXJldHVy
biBjc3VtX2ZvbGQoY3N1bV90Y3B1ZHBfbm9mb2xkKHNhZGRyLGRhZGRyLGxl
bixwcm90byxzdW0pKTsNCn0NCg0KLyoNCiAqIHRoaXMgcm91dGluZSBpcyB1
c2VkIGZvciBtaXNjZWxsYW5lb3VzIElQLWxpa2UgY2hlY2tzdW1zLCBtYWlu
bHkNCiAqIGluIGljbXAuYw0KICovDQoNCnN0YXRpYyBpbmxpbmUgdW5zaWdu
ZWQgc2hvcnQgaXBfY29tcHV0ZV9jc3VtKHVuc2lnbmVkIGNoYXIgKiBidWZm
LCBpbnQgbGVuKSB7DQogICAgcmV0dXJuIGNzdW1fZm9sZCAoY3N1bV9wYXJ0
aWFsKGJ1ZmYsIGxlbiwgMCkpOw0KfQ0KDQojZGVmaW5lIF9IQVZFX0FSQ0hf
SVBWNl9DU1VNDQpzdGF0aWMgX19pbmxpbmVfXyB1bnNpZ25lZCBzaG9ydCBp
bnQgY3N1bV9pcHY2X21hZ2ljKHN0cnVjdCBpbjZfYWRkciAqc2FkZHIsDQoJ
CQkJCQkgICAgIHN0cnVjdCBpbjZfYWRkciAqZGFkZHIsDQoJCQkJCQkgICAg
IF9fdTMyIGxlbiwNCgkJCQkJCSAgICAgdW5zaWduZWQgc2hvcnQgcHJvdG8s
DQoJCQkJCQkgICAgIHVuc2lnbmVkIGludCBzdW0pIA0Kew0KCV9fYXNtX18o
IlwNCgkJYWRkbCAwKCUxKSwgJTAgXA0KCQlhZGNsIDQoJTEpLCAlMCBcDQoJ
CWFkY2wgOCglMSksICUwIFwNCgkJYWRjbCAxMiglMSksICUwIFwNCgkJYWRj
bCAwKCUyKSwgJTAgXA0KCQlhZGNsIDQoJTIpLCAlMCBcDQoJCWFkY2wgOCgl
MiksICUwIFwNCgkJYWRjbCAxMiglMiksICUwIFwNCgkJYWRjbCAlMywgJTAg
XA0KCQlhZGNsICU0LCAlMCBcDQoJCWFkY2wgJDAsICUwIFwNCgkJIg0KCQk6
ICI9JnIiIChzdW0pDQoJCTogInIiIChzYWRkciksICJyIiAoZGFkZHIpLCAN
CgkJICAiciIoaHRvbmwobGVuKSksICJyIihodG9ubChwcm90bykpLCAiMCIo
c3VtKSk7DQoNCglyZXR1cm4gY3N1bV9mb2xkKHN1bSk7DQp9DQoNCi8qIA0K
ICoJQ29weSBhbmQgY2hlY2tzdW0gdG8gdXNlcg0KICovDQojZGVmaW5lIEhB
VkVfQ1NVTV9DT1BZX1VTRVINCnN0YXRpYyBfX2lubGluZV9fIHVuc2lnbmVk
IGludCBjc3VtX2FuZF9jb3B5X3RvX3VzZXIgKGNvbnN0IGNoYXIgKnNyYywg
Y2hhciAqZHN0LA0KCQkJCSAgICBpbnQgbGVuLCBpbnQgc3VtLCBpbnQgKmVy
cl9wdHIpDQp7DQoJaWYgKGFjY2Vzc19vayhWRVJJRllfV1JJVEUsIGRzdCwg
bGVuKSkNCgkJcmV0dXJuIGNzdW1fcGFydGlhbF9jb3B5X2dlbmVyaWMoc3Jj
LCBkc3QsIGxlbiwgc3VtLCBOVUxMLCBlcnJfcHRyKTsNCg0KCWlmIChsZW4p
DQoJCSplcnJfcHRyID0gLUVGQVVMVDsNCg0KCXJldHVybiAtMTsgLyogaW52
YWxpZCBjaGVja3N1bSAqLw0KfQ0KDQojZW5kaWYNCg==
--747458502-666116313-994187795=:21966
Content-Type: TEXT/x-chdr; name="floppy.h"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.33.0107032116351.21966@wh58-709.st.uni-magdeburg.de>
Content-Description:
Content-Disposition: attachment; filename="floppy.h"

LyoNCiAqIEFyY2hpdGVjdHVyZSBzcGVjaWZpYyBwYXJ0cyBvZiB0aGUgRmxv
cHB5IGRyaXZlcg0KICoNCiAqIFRoaXMgZmlsZSBpcyBzdWJqZWN0IHRvIHRo
ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljDQogKiBMaWNlbnNlLiAgU2VlIHRoZSBmaWxlICJDT1BZSU5HIiBpbiB0
aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhpcyBhcmNoaXZlDQogKiBmb3IgbW9y
ZSBkZXRhaWxzLg0KICoNCiAqIENvcHlyaWdodCAoQykgMTk5NQ0KICovDQoj
aWZuZGVmIF9fQVNNX0kzODZfRkxPUFBZX0gNCiNkZWZpbmUgX19BU01fSTM4
Nl9GTE9QUFlfSA0KDQojaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPg0KDQoN
Ci8qDQogKiBUaGUgRE1BIGNoYW5uZWwgdXNlZCBieSB0aGUgZmxvcHB5IGNv
bnRyb2xsZXIgY2Fubm90IGFjY2VzcyBkYXRhIGF0DQogKiBhZGRyZXNzZXMg
Pj0gMTZNQg0KICoNCiAqIFdlbnQgYmFjayB0byB0aGUgMU1CIGxpbWl0LCBh
cyBzb21lIHBlb3BsZSBoYWQgcHJvYmxlbXMgd2l0aCB0aGUgZmxvcHB5DQog
KiBkcml2ZXIgb3RoZXJ3aXNlLiBJdCBkb2Vzbid0IG1hdHRlciBtdWNoIGZv
ciBwZXJmb3JtYW5jZSBhbnl3YXksIGFzIG1vc3QNCiAqIGZsb3BweSBhY2Nl
c3NlcyBnbyB0aHJvdWdoIHRoZSB0cmFjayBidWZmZXIuDQogKi8NCiNkZWZp
bmUgX0NST1NTXzY0S0IoYSxzLHZkbWEpIFwNCighdmRtYSAmJiAoKHVuc2ln
bmVkIGxvbmcpKGEpL0tfNjQgIT0gKCh1bnNpZ25lZCBsb25nKShhKSArIChz
KSAtIDEpIC8gS182NCkpDQoNCiNkZWZpbmUgQ1JPU1NfNjRLQihhLHMpIF9D
Uk9TU182NEtCKGEscyx1c2VfdmlydHVhbF9kbWEgJiAxKQ0KDQoNCiNkZWZp
bmUgU1cgZmRfcm91dGluZVt1c2VfdmlydHVhbF9kbWEmMV0NCiNkZWZpbmUg
Q1NXIGZkX3JvdXRpbmVbY2FuX3VzZV92aXJ0dWFsX2RtYSAmIDFdDQoNCg0K
I2RlZmluZSBmZF9pbmIocG9ydCkJCQlpbmJfcChwb3J0KQ0KI2RlZmluZSBm
ZF9vdXRiKHBvcnQsdmFsdWUpCQlvdXRiX3AocG9ydCx2YWx1ZSkNCg0KI2Rl
ZmluZSBmZF9yZXF1ZXN0X2RtYSgpICAgICAgICBDU1cuX3JlcXVlc3RfZG1h
KEZMT1BQWV9ETUEsImZsb3BweSIpDQojZGVmaW5lIGZkX2ZyZWVfZG1hKCkg
ICAgICAgICAgIENTVy5fZnJlZV9kbWEoRkxPUFBZX0RNQSkNCiNkZWZpbmUg
ZmRfZW5hYmxlX2lycSgpICAgICAgICAgZW5hYmxlX2lycShGTE9QUFlfSVJR
KQ0KI2RlZmluZSBmZF9kaXNhYmxlX2lycSgpICAgICAgICBkaXNhYmxlX2ly
cShGTE9QUFlfSVJRKQ0KI2RlZmluZSBmZF9mcmVlX2lycSgpCQlmcmVlX2ly
cShGTE9QUFlfSVJRLCBOVUxMKQ0KI2RlZmluZSBmZF9nZXRfZG1hX3Jlc2lk
dWUoKSAgICBTVy5fZ2V0X2RtYV9yZXNpZHVlKEZMT1BQWV9ETUEpDQojZGVm
aW5lIGZkX2RtYV9tZW1fYWxsb2Moc2l6ZSkJU1cuX2RtYV9tZW1fYWxsb2Mo
c2l6ZSkNCiNkZWZpbmUgZmRfZG1hX3NldHVwKGFkZHIsIHNpemUsIG1vZGUs
IGlvKSBTVy5fZG1hX3NldHVwKGFkZHIsIHNpemUsIG1vZGUsIGlvKQ0KDQoj
ZGVmaW5lIEZMT1BQWV9DQU5fRkFMTEJBQ0tfT05fTk9ETUENCg0Kc3RhdGlj
IGludCB2aXJ0dWFsX2RtYV9jb3VudDsNCnN0YXRpYyBpbnQgdmlydHVhbF9k
bWFfcmVzaWR1ZTsNCnN0YXRpYyBjaGFyICp2aXJ0dWFsX2RtYV9hZGRyOw0K
c3RhdGljIGludCB2aXJ0dWFsX2RtYV9tb2RlOw0Kc3RhdGljIGludCBkb2lu
Z19wZG1hOw0KDQpzdGF0aWMgdm9pZCBmbG9wcHlfaGFyZGludChpbnQgaXJx
LCB2b2lkICpkZXZfaWQsIHN0cnVjdCBwdF9yZWdzICogcmVncykNCnsNCgly
ZWdpc3RlciB1bnNpZ25lZCBjaGFyIHN0Ow0KDQojdW5kZWYgVFJBQ0VfRkxQ
WV9JTlQNCiNkZWZpbmUgTk9fRkxPUFBZX0FTU0VNQkxFUg0KDQojaWZkZWYg
VFJBQ0VfRkxQWV9JTlQNCglzdGF0aWMgaW50IGNhbGxzPTA7DQoJc3RhdGlj
IGludCBieXRlcz0wOw0KCXN0YXRpYyBpbnQgZG1hX3dhaXQ9MDsNCiNlbmRp
Zg0KCWlmKCFkb2luZ19wZG1hKSB7DQoJCWZsb3BweV9pbnRlcnJ1cHQoaXJx
LCBkZXZfaWQsIHJlZ3MpOw0KCQlyZXR1cm47DQoJfQ0KDQojaWZkZWYgVFJB
Q0VfRkxQWV9JTlQNCglpZighY2FsbHMpDQoJCWJ5dGVzID0gdmlydHVhbF9k
bWFfY291bnQ7DQojZW5kaWYNCg0KI2lmbmRlZiBOT19GTE9QUFlfQVNTRU1C
TEVSDQoJX19hc21fXyAoDQogICAgICAgInRlc3RsICUxLCUxIFwNCglqZSAz
ZiBcDQoxOglpbmIgJXc0LCViMCBcDQoJYW5kYiAkMTYwLCViMCBcDQoJY21w
YiAkMTYwLCViMCBcDQoJam5lIDJmIFwNCglpbmN3ICV3NCBcDQoJdGVzdGwg
JTMsJTMgXA0KCWpuZSA0ZiBcDQoJaW5iICV3NCwlYjAgXA0KCW1vdmIgJTAs
KCUyKSBcDQoJam1wIDVmIFwNCjQ6ICAgICAJbW92YiAoJTIpLCUwIFwNCglv
dXRiICViMCwldzQgXA0KNToJZGVjdyAldzQgXA0KCW91dGIgJTAsJDB4ODAg
XA0KCWRlY2wgJTEgXA0KCWluY2wgJTIgXA0KCXRlc3RsICUxLCUxIFwNCglq
bmUgMWIgXA0KMzoJaW5iICV3NCwlYjAgXA0KMjoJIg0KICAgICAgIDogIj1h
IiAoKGNoYXIpIHN0KSwgDQogICAgICAgIj1jIiAoKGxvbmcpIHZpcnR1YWxf
ZG1hX2NvdW50KSwgDQogICAgICAgIj1TIiAoKGxvbmcpIHZpcnR1YWxfZG1h
X2FkZHIpDQogICAgICAgOiAiYiIgKChsb25nKSB2aXJ0dWFsX2RtYV9tb2Rl
KSwNCiAgICAgICAiZCIgKChzaG9ydCkgdmlydHVhbF9kbWFfcG9ydCs0KSwg
DQogICAgICAgIjEiICgobG9uZykgdmlydHVhbF9kbWFfY291bnQpLA0KICAg
ICAgICIyIiAoKGxvbmcpIHZpcnR1YWxfZG1hX2FkZHIpKTsNCiNlbHNlCQ0K
CXsNCgkJcmVnaXN0ZXIgaW50IGxjb3VudDsNCgkJcmVnaXN0ZXIgY2hhciAq
bHB0cjsNCg0KCQlzdCA9IDE7DQoJCWZvcihsY291bnQ9dmlydHVhbF9kbWFf
Y291bnQsIGxwdHI9dmlydHVhbF9kbWFfYWRkcjsgDQoJCSAgICBsY291bnQ7
IGxjb3VudC0tLCBscHRyKyspIHsNCgkJCXN0PWluYih2aXJ0dWFsX2RtYV9w
b3J0KzQpICYgMHhhMCA7DQoJCQlpZihzdCAhPSAweGEwKSANCgkJCQlicmVh
azsNCgkJCWlmKHZpcnR1YWxfZG1hX21vZGUpDQoJCQkJb3V0Yl9wKCpscHRy
LCB2aXJ0dWFsX2RtYV9wb3J0KzUpOw0KCQkJZWxzZQ0KCQkJCSpscHRyID0g
aW5iX3AodmlydHVhbF9kbWFfcG9ydCs1KTsNCgkJfQ0KCQl2aXJ0dWFsX2Rt
YV9jb3VudCA9IGxjb3VudDsNCgkJdmlydHVhbF9kbWFfYWRkciA9IGxwdHI7
DQoJCXN0ID0gaW5iKHZpcnR1YWxfZG1hX3BvcnQrNCk7DQoJfQ0KI2VuZGlm
DQoNCiNpZmRlZiBUUkFDRV9GTFBZX0lOVA0KCWNhbGxzKys7DQojZW5kaWYN
CglpZihzdCA9PSAweDIwKQ0KCQlyZXR1cm47DQoJaWYoIShzdCAmIDB4MjAp
KSB7DQoJCXZpcnR1YWxfZG1hX3Jlc2lkdWUgKz0gdmlydHVhbF9kbWFfY291
bnQ7DQoJCXZpcnR1YWxfZG1hX2NvdW50PTA7DQojaWZkZWYgVFJBQ0VfRkxQ
WV9JTlQNCgkJcHJpbnRrKCJjb3VudD0leCwgcmVzaWR1ZT0leCBjYWxscz0l
ZCBieXRlcz0lZCBkbWFfd2FpdD0lZFxuIiwgDQoJCSAgICAgICB2aXJ0dWFs
X2RtYV9jb3VudCwgdmlydHVhbF9kbWFfcmVzaWR1ZSwgY2FsbHMsIGJ5dGVz
LA0KCQkgICAgICAgZG1hX3dhaXQpOw0KCQljYWxscyA9IDA7DQoJCWRtYV93
YWl0PTA7DQojZW5kaWYNCgkJZG9pbmdfcGRtYSA9IDA7DQoJCWZsb3BweV9p
bnRlcnJ1cHQoaXJxLCBkZXZfaWQsIHJlZ3MpOw0KCQlyZXR1cm47DQoJfQ0K
I2lmZGVmIFRSQUNFX0ZMUFlfSU5UDQoJaWYoIXZpcnR1YWxfZG1hX2NvdW50
KQ0KCQlkbWFfd2FpdCsrOw0KI2VuZGlmDQp9DQoNCnN0YXRpYyB2b2lkIGZk
X2Rpc2FibGVfZG1hKHZvaWQpDQp7DQoJaWYoISAoY2FuX3VzZV92aXJ0dWFs
X2RtYSAmIDEpKQ0KCQlkaXNhYmxlX2RtYShGTE9QUFlfRE1BKTsNCglkb2lu
Z19wZG1hID0gMDsNCgl2aXJ0dWFsX2RtYV9yZXNpZHVlICs9IHZpcnR1YWxf
ZG1hX2NvdW50Ow0KCXZpcnR1YWxfZG1hX2NvdW50PTA7DQp9DQoNCnN0YXRp
YyBpbnQgdmRtYV9yZXF1ZXN0X2RtYSh1bnNpZ25lZCBpbnQgZG1hbnIsIGNv
bnN0IGNoYXIgKiBkZXZpY2VfaWQpDQp7DQoJcmV0dXJuIDA7DQp9DQoNCnN0
YXRpYyB2b2lkIHZkbWFfbm9wKHVuc2lnbmVkIGludCBkdW1teSkNCnsNCn0N
Cg0KDQpzdGF0aWMgaW50IHZkbWFfZ2V0X2RtYV9yZXNpZHVlKHVuc2lnbmVk
IGludCBkdW1teSkNCnsNCglyZXR1cm4gdmlydHVhbF9kbWFfY291bnQgKyB2
aXJ0dWFsX2RtYV9yZXNpZHVlOw0KfQ0KDQoNCnN0YXRpYyBpbnQgZmRfcmVx
dWVzdF9pcnEodm9pZCkNCnsNCglpZihjYW5fdXNlX3ZpcnR1YWxfZG1hKQ0K
CQlyZXR1cm4gcmVxdWVzdF9pcnEoRkxPUFBZX0lSUSwgZmxvcHB5X2hhcmRp
bnQsU0FfSU5URVJSVVBULA0KCQkJCQkJICAgImZsb3BweSIsIE5VTEwpOw0K
CWVsc2UNCgkJcmV0dXJuIHJlcXVlc3RfaXJxKEZMT1BQWV9JUlEsIGZsb3Bw
eV9pbnRlcnJ1cHQsDQoJCQkJCQkgICBTQV9JTlRFUlJVUFR8U0FfU0FNUExF
X1JBTkRPTSwNCgkJCQkJCSAgICJmbG9wcHkiLCBOVUxMKTsJDQoNCn0NCg0K
c3RhdGljIHVuc2lnbmVkIGxvbmcgZG1hX21lbV9hbGxvYyh1bnNpZ25lZCBs
b25nIHNpemUpDQp7DQoJcmV0dXJuIF9fZ2V0X2RtYV9wYWdlcyhHRlBfS0VS
TkVMLGdldF9vcmRlcihzaXplKSk7DQp9DQoNCg0Kc3RhdGljIHVuc2lnbmVk
IGxvbmcgdmRtYV9tZW1fYWxsb2ModW5zaWduZWQgbG9uZyBzaXplKQ0Kew0K
CXJldHVybiAodW5zaWduZWQgbG9uZykgdm1hbGxvYyhzaXplKTsNCg0KfQ0K
DQojZGVmaW5lIG5vZG1hX21lbV9hbGxvYyhzaXplKSB2ZG1hX21lbV9hbGxv
YyhzaXplKQ0KDQpzdGF0aWMgdm9pZCBfZmRfZG1hX21lbV9mcmVlKHVuc2ln
bmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQ0Kew0KCWlmKCh1
bnNpZ25lZCBpbnQpIGFkZHIgPj0gKHVuc2lnbmVkIGludCkgaGlnaF9tZW1v
cnkpDQoJCXJldHVybiB2ZnJlZSgodm9pZCAqKWFkZHIpOw0KCWVsc2UNCgkJ
ZnJlZV9wYWdlcyhhZGRyLCBnZXRfb3JkZXIoc2l6ZSkpOwkJDQp9DQoNCiNk
ZWZpbmUgZmRfZG1hX21lbV9mcmVlKGFkZHIsIHNpemUpICBfZmRfZG1hX21l
bV9mcmVlKGFkZHIsIHNpemUpIA0KDQpzdGF0aWMgdm9pZCBfZmRfY2hvc2Vf
ZG1hX21vZGUoY2hhciAqYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQ0Kew0K
CWlmKGNhbl91c2VfdmlydHVhbF9kbWEgPT0gMikgew0KCQlpZigodW5zaWdu
ZWQgaW50KSBhZGRyID49ICh1bnNpZ25lZCBpbnQpIGhpZ2hfbWVtb3J5IHx8
DQoJCSAgIHZpcnRfdG9fYnVzKGFkZHIpID49IDB4MTAwMDAwMCB8fA0KCQkg
ICBfQ1JPU1NfNjRLQihhZGRyLCBzaXplLCAwKSkNCgkJCXVzZV92aXJ0dWFs
X2RtYSA9IDE7DQoJCWVsc2UNCgkJCXVzZV92aXJ0dWFsX2RtYSA9IDA7DQoJ
fSBlbHNlIHsNCgkJdXNlX3ZpcnR1YWxfZG1hID0gY2FuX3VzZV92aXJ0dWFs
X2RtYSAmIDE7DQoJfQ0KfQ0KDQojZGVmaW5lIGZkX2Nob3NlX2RtYV9tb2Rl
KGFkZHIsIHNpemUpIF9mZF9jaG9zZV9kbWFfbW9kZShhZGRyLCBzaXplKQ0K
DQoNCnN0YXRpYyBpbnQgdmRtYV9kbWFfc2V0dXAoY2hhciAqYWRkciwgdW5z
aWduZWQgbG9uZyBzaXplLCBpbnQgbW9kZSwgaW50IGlvKQ0Kew0KCWRvaW5n
X3BkbWEgPSAxOw0KCXZpcnR1YWxfZG1hX3BvcnQgPSBpbzsNCgl2aXJ0dWFs
X2RtYV9tb2RlID0gKG1vZGUgID09IERNQV9NT0RFX1dSSVRFKTsNCgl2aXJ0
dWFsX2RtYV9hZGRyID0gYWRkcjsNCgl2aXJ0dWFsX2RtYV9jb3VudCA9IHNp
emU7DQoJdmlydHVhbF9kbWFfcmVzaWR1ZSA9IDA7DQoJcmV0dXJuIDA7DQp9
DQoNCnN0YXRpYyBpbnQgaGFyZF9kbWFfc2V0dXAoY2hhciAqYWRkciwgdW5z
aWduZWQgbG9uZyBzaXplLCBpbnQgbW9kZSwgaW50IGlvKQ0Kew0KI2lmZGVm
IEZMT1BQWV9TQU5JVFlfQ0hFQ0sNCglpZiAoQ1JPU1NfNjRLQihhZGRyLCBz
aXplKSkgew0KCQlwcmludGsoIkRNQSBjcm9zc2luZyA2NC1LIGJvdW5kYXJ5
ICVwLSVwXG4iLCBhZGRyLCBhZGRyK3NpemUpOw0KCQlyZXR1cm4gLTE7DQoJ
fQ0KI2VuZGlmDQoJLyogYWN0dWFsLCBwaHlzaWNhbCBETUEgKi8NCglkb2lu
Z19wZG1hID0gMDsNCgljbGVhcl9kbWFfZmYoRkxPUFBZX0RNQSk7DQoJc2V0
X2RtYV9tb2RlKEZMT1BQWV9ETUEsbW9kZSk7DQoJc2V0X2RtYV9hZGRyKEZM
T1BQWV9ETUEsdmlydF90b19idXMoYWRkcikpOw0KCXNldF9kbWFfY291bnQo
RkxPUFBZX0RNQSxzaXplKTsNCgllbmFibGVfZG1hKEZMT1BQWV9ETUEpOw0K
CXJldHVybiAwOw0KfQ0KDQpzdHJ1Y3QgZmRfcm91dGluZV9sIHsNCglpbnQg
KCpfcmVxdWVzdF9kbWEpKHVuc2lnbmVkIGludCBkbWFuciwgY29uc3QgY2hh
ciAqIGRldmljZV9pZCk7DQoJdm9pZCAoKl9mcmVlX2RtYSkodW5zaWduZWQg
aW50IGRtYW5yKTsNCglpbnQgKCpfZ2V0X2RtYV9yZXNpZHVlKSh1bnNpZ25l
ZCBpbnQgZHVtbXkpOw0KCXVuc2lnbmVkIGxvbmcgKCpfZG1hX21lbV9hbGxv
YykgKHVuc2lnbmVkIGxvbmcgc2l6ZSk7DQoJaW50ICgqX2RtYV9zZXR1cCko
Y2hhciAqYWRkciwgdW5zaWduZWQgbG9uZyBzaXplLCBpbnQgbW9kZSwgaW50
IGlvKTsNCn0gZmRfcm91dGluZVtdID0gew0KCXsNCgkJcmVxdWVzdF9kbWEs
DQoJCWZyZWVfZG1hLA0KCQlnZXRfZG1hX3Jlc2lkdWUsDQoJCWRtYV9tZW1f
YWxsb2MsDQoJCWhhcmRfZG1hX3NldHVwDQoJfSwNCgl7DQoJCXZkbWFfcmVx
dWVzdF9kbWEsDQoJCXZkbWFfbm9wLA0KCQl2ZG1hX2dldF9kbWFfcmVzaWR1
ZSwNCgkJdmRtYV9tZW1fYWxsb2MsDQoJCXZkbWFfZG1hX3NldHVwDQoJfQ0K
fTsNCg0KDQpzdGF0aWMgaW50IEZEQzEgPSAweDNmMDsNCnN0YXRpYyBpbnQg
RkRDMiA9IC0xOw0KDQovKg0KICogRmxvcHB5IHR5cGVzIGFyZSBzdG9yZWQg
aW4gdGhlIHJ0YydzIENNT1MgUkFNIGFuZCBzbyBydGNfbG9jaw0KICogaXMg
bmVlZGVkIHRvIHByZXZlbnQgY29ycnVwdGVkIENNT1MgUkFNIGluIGNhc2Ug
Imluc21vZCBmbG9wcHkiDQogKiBjb2luY2lkZXMgd2l0aCBhbm90aGVyIHJ0
YyBDTU9TIHVzZXIuCQlQYXVsIEcuDQogKi8NCiNkZWZpbmUgRkxPUFBZMF9U
WVBFCSh7CQkJCVwNCgl1bnNpZ25lZCBsb25nIGZsYWdzOwkJCQlcDQoJdW5z
aWduZWQgY2hhciB2YWw7CQkJCVwNCglzcGluX2xvY2tfaXJxc2F2ZSgmcnRj
X2xvY2ssIGZsYWdzKTsJCVwNCgl2YWwgPSAoQ01PU19SRUFEKDB4MTApID4+
IDQpICYgMTU7CQlcDQoJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnRjX2xv
Y2ssIGZsYWdzKTsJXA0KCXZhbDsJCQkJCQlcDQp9KQ0KDQojZGVmaW5lIEZM
T1BQWTFfVFlQRQkoewkJCQlcDQoJdW5zaWduZWQgbG9uZyBmbGFnczsJCQkJ
XA0KCXVuc2lnbmVkIGNoYXIgdmFsOwkJCQlcDQoJc3Bpbl9sb2NrX2lycXNh
dmUoJnJ0Y19sb2NrLCBmbGFncyk7CQlcDQoJdmFsID0gQ01PU19SRUFEKDB4
MTApICYgMTU7CQkJXA0KCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJ0Y19s
b2NrLCBmbGFncyk7CVwNCgl2YWw7CQkJCQkJXA0KfSkNCg0KI2RlZmluZSBO
X0ZEQyAyDQojZGVmaW5lIE5fRFJJVkUgOA0KDQojZGVmaW5lIEZMT1BQWV9N
T1RPUl9NQVNLIDB4ZjANCg0KI2RlZmluZSBBVVRPX0RNQQ0KDQoNCiNlbmRp
ZiAvKiBfX0FTTV9JMzg2X0ZMT1BQWV9IICovDQo=
--747458502-666116313-994187795=:21966--
-
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/