Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jun 2011 15:32:41 -0700
From:      Xin LI <delphij@delphij.net>
To:        FreeBSD Current <freebsd-current@FreeBSD.ORG>
Subject:   [RFC] winbond watchdog driver for FreeBSD/i386 and FreeBSD/amd64
Message-ID:  <4E0A5689.2020302@delphij.net>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------030701090905090802000303
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi,

I'd like to request for comments on the attached driver, which supports
watchdogs on several Winbond super I/O chip models and have been tested
on a few of recent Supermicro motherboards.

Cheers,
- -- 
Xin LI <delphij@delphij.net>	https://www.delphij.net/
FreeBSD - The Power to Serve!		Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (FreeBSD)

iQEcBAEBCAAGBQJOClaJAAoJEATO+BI/yjfBhUkH/16ECciGDOCh2TxvKbnUmE5M
vNpZdhRjliEcMHh3YLGz9Zj/LOlZ97EjRYd2UBq5r5sf5cLhgUaKNoy7MblyHXy3
SPrkjY1IDlwLAVAeU9sJ5JjhPSh8xt/aDKnolXucutUqeZQlITQoesbJR2u7WEV7
Miyrm5/ypGObWhKz2v4dJGuHMl00uOrQpRaHurABkI8r+En9VlaJPHzcUEvpg4yq
qomlAxpIA1ojCzor2CRDjvKS3N77hdy9Fh8rfhoLHZUalzWgNVOLsigLw26DuAcR
bjBUgPKBFfVgeLuqJKQ3wHcGye48vujS4rlhdA4dtExhgoz0IkrmTpQcQysK71c=
=LVyb
-----END PGP SIGNATURE-----

--------------030701090905090802000303
Content-Type: text/plain;
 name="0001-Driver-for-Winbond-watchdog.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="0001-Driver-for-Winbond-watchdog.patch"

RnJvbSAzNDNiMmU3YjZlZDE5ZTRiNmNhMmJmNzZjMGNhNmI4NTQ0ZGQ0MzIwIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBYaW4gTEkgPGRAZGVscGhpai5uZXQ+CkRhdGU6IE1v
biwgMjcgSnVuIDIwMTEgMjE6NTQ6MTMgLTA3MDAKU3ViamVjdDogW1BBVENIXSBEcml2ZXIg
Zm9yIFdpbmJvbmQgd2F0Y2hkb2cuCgotLS0KIHNoYXJlL21hbi9tYW40L01ha2VmaWxlICAg
ICAgICB8ICAgIDMgKwogc2hhcmUvbWFuL21hbjQvd2luYm9uZHdkLjQgICAgIHwgICA4OCAr
KysrKysrKysrCiBzeXMvYW1kNjQvY29uZi9OT1RFUyAgICAgICAgICAgfCAgICAyICsKIHN5
cy9jb25mL2ZpbGVzLmFtZDY0ICAgICAgICAgICB8ICAgIDEgKwogc3lzL2NvbmYvZmlsZXMu
aTM4NiAgICAgICAgICAgIHwgICAgMSArCiBzeXMvZGV2L3dpbmJvbmR3ZC93aW5ib25kd2Qu
YyAgfCAgMzY4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHN5
cy9kZXYvd2luYm9uZHdkL3dpbmJvbmR3ZC5oICB8ICAgNDcgKysrKysKIHN5cy9pMzg2L2Nv
bmYvTk9URVMgICAgICAgICAgICB8ICAgIDIgKwogc3lzL21vZHVsZXMvTWFrZWZpbGUgICAg
ICAgICAgIHwgICAgMyArCiBzeXMvbW9kdWxlcy93aW5ib25kd2QvTWFrZWZpbGUgfCAgICA4
ICsKIDEwIGZpbGVzIGNoYW5nZWQsIDUyMyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygt
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNoYXJlL21hbi9tYW40L3dpbmJvbmR3ZC40CiBjcmVh
dGUgbW9kZSAxMDA2NDQgc3lzL2Rldi93aW5ib25kd2Qvd2luYm9uZHdkLmMKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBzeXMvZGV2L3dpbmJvbmR3ZC93aW5ib25kd2QuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IHN5cy9tb2R1bGVzL3dpbmJvbmR3ZC9NYWtlZmlsZQoKZGlmZiAtLWdpdCBhL3No
YXJlL21hbi9tYW40L01ha2VmaWxlIGIvc2hhcmUvbWFuL21hbjQvTWFrZWZpbGUKaW5kZXgg
N2NjY2NmYi4uNzc3ZTJmZCAxMDA2NDQKLS0tIGEvc2hhcmUvbWFuL21hbjQvTWFrZWZpbGUK
KysrIGIvc2hhcmUvbWFuL21hbjQvTWFrZWZpbGUKQEAgLTQ0Nyw2ICs0NDcsNyBAQCBNQU49
CWFhYy40IFwKIAl0dW4uNCBcCiAJdHdhLjQgXAogCXR3ZS40IFwKKwl0d3MuNCBcCiAJdHgu
NCBcCiAJdHhwLjQgXAogCXUzZy40IFwKQEAgLTUwMyw2ICs1MDQsNyBAQCBNQU49CWFhYy40
IFwKIAl3YXRjaGRvZy40IFwKIAl3Yi40IFwKIAl3aS40IFwKKwkke193aW5ib25kd2QuNH0g
XAogCXdpdG5lc3MuNCBcCiAJd2xhbi40IFwKIAl3bGFuX2FjbC40IFwKQEAgLTcwNiw2ICs3
MDgsNyBAQCBfc3BlYWtlci40PQlzcGVha2VyLjQKIF9zcGtyLjQ9CXNwa3IuNAogX3RwbS40
PQkJdHBtLjQKIF91cnR3LjQ9CXVydHcuNAorX3dpbmJvbmR3ZC40PQl3aW5ib25kd2QuNAog
X3dwaS40PQkJd3BpLjQKIF94ZW4uND0JCXhlbi40CiAKZGlmZiAtLWdpdCBhL3NoYXJlL21h
bi9tYW40L3dpbmJvbmR3ZC40IGIvc2hhcmUvbWFuL21hbjQvd2luYm9uZHdkLjQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZkMjcxOQotLS0gL2Rldi9udWxsCisr
KyBiL3NoYXJlL21hbi9tYW40L3dpbmJvbmR3ZC40CkBAIC0wLDAgKzEsODggQEAKKy5cIi0K
Ky5cIiBDb3B5cmlnaHQgKGMpIDIwMTEgWGluIExJIDxkZWxwaGlqQEZyZWVCU0Qub3JnPgor
LlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMK
Ky5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1B
R0UuCisuXCIKKy5cIiAkRnJlZUJTRCQKKy5cIgorLkRkIEp1bHkgMSwgMjAxMQorLkR0IFdJ
TkJPTkRXRCA0CisuT3MKKy5TaCBOQU1FCisuTm0gd2luYm9uZHdkCisuTmQgZGV2aWNlIGRy
aXZlciBmb3IgdGhlIFdpbmJvbmQgU3VwZXIgSS9PIHdhdGNoZG9nIHRpbWVyCisuU2ggU1lO
T1BTSVMKK1RvIGNvbXBpbGUgdGhpcyBkcml2ZXIgaW50byB0aGUga2VybmVsLAorcGxhY2Ug
dGhlIGZvbGxvd2luZyBsaW5lIGluIHlvdXIKK2tlcm5lbCBjb25maWd1cmF0aW9uIGZpbGU6
CisuQmQgLXJhZ2dlZCAtb2Zmc2V0IGluZGVudAorLkNkICJkZXZpY2Ugd2luYm9uZHdkIgor
LkVkCisuUHAKK0FsdGVybmF0aXZlbHksIHRvIGxvYWQgdGhlIGRyaXZlciBhcyBhCittb2R1
bGUgYXQgYm9vdCB0aW1lLCBwbGFjZSB0aGUgZm9sbG93aW5nIGxpbmUgaW4KKy5YciBsb2Fk
ZXIuY29uZiA1IDoKKy5CZCAtbGl0ZXJhbCAtb2Zmc2V0IGluZGVudAord2luYm9uZHdkX2xv
YWQ9IllFUyIKKy5FZAorLlNoIERFU0NSSVBUSU9OCitUaGUKKy5ObQorZHJpdmVyIHByb3Zp
ZGVzCisuWHIgd2F0Y2hkb2cgNAorc3VwcG9ydCBmb3IgdGhlIHdhdGNoZG9nIGludGVycnVw
dCB0aW1lciBwcmVzZW50IG9uCithbGwgV2luYm9uZCBzdXBlciBJL08gY29udHJvbGxlcnMu
CisuUHAKK1RoZSBXaW5ib25kIHN1cGVyIEkvTyBjb250cm9sbGVyIGhhdmUgYSBidWlsdC1p
biB3YXRjaGRvZyB0aW1lciwKK3doaWNoIGNhbiBiZSBlbmFibGVkIGFuZCBkaXNhYmxlZCBi
eSB1c2VyJ3MgcHJvZ3JhbSBhbmQgc2V0IGJldHdlZW4KKzEgdG8gMjU1IHNlY29uZHMgb3Ig
MSB0byAyNTUgbWludXRlcy4KK1N1cHBvcnRlZCB3YXRjaGRvZyBpbnRlcnZhbHMgcmFuZ2Ug
ZnJvbSAxIHRvIDI1NSBzZWNvbmRzLgorLlBwCitPbiBzb21lIHN5c3RlbXMgdGhlIHdhdGNo
ZG9nIHRpbWVyIGlzIGVuYWJsZWQgYW5kIHNldCB0byA1IG1pbnV0ZXMKK2J5IEJJT1Mgb24g
Ym9vdC4KK1RoZQorLk5tCitkcml2ZXIgd2lsbCBkZXRlY3QgYW5kIHByaW50IG91dCB0aGUg
ZXhpc3Rpbmcgc2V0dGluZywgaG93ZXZlciwgCitpdCB3aWxsIG5vdCBtYWtlIGFueSBjaGFu
Z2VzIHVubGVzcyB0b2xkIGJ5IHRoZSB1c2VybGFuZCB0aHJvdWdoCit0aGUKKy5YciB3YXRj
aGRvZyA0CitpbnRlcmZhY2UsCitmb3IgaW5zdGFuY2UgYnkgdXNpbmcgdGhlCisuWHIgd2F0
Y2hkb2dkIDgKK2RhZW1vbi4KKy5TaCBTRUUgQUxTTworLlhyIHdhdGNoZG9nIDQgLAorLlhy
IHdhdGNoZG9nIDggLAorLlhyIHdhdGNoZG9nZCA4ICwKKy5YciB3YXRjaGRvZyA5CisuU2gg
SElTVE9SWQorVGhlCisuTm0KK2RyaXZlciBmaXJzdCBhcHBlYXJlZCBpbgorLkZ4IDkuMCAu
CisuU2ggQVVUSE9SUworLkFuIC1ub3NwbGl0CitUaGUKKy5ObQorZHJpdmVyIGFuZCB0aGlz
IG1hbnVhbCBwYWdlIHdlcmUgd3JpdHRlbiBieQorLkFuIFhpbiBMSSBBcSBkZWxwaGlqQEZy
ZWVCU0Qub3JnIC4KZGlmZiAtLWdpdCBhL3N5cy9hbWQ2NC9jb25mL05PVEVTIGIvc3lzL2Ft
ZDY0L2NvbmYvTk9URVMKaW5kZXggNGE0N2FjZS4uM2IyNWFlYSAxMDA2NDQKLS0tIGEvc3lz
L2FtZDY0L2NvbmYvTk9URVMKKysrIGIvc3lzL2FtZDY0L2NvbmYvTk9URVMKQEAgLTQ1Myw5
ICs0NTMsMTEgQEAgZGV2aWNlCQl0cG0KICMKICMgaWNod2Q6IEludGVsIElDSCB3YXRjaGRv
ZyB0aW1lcgogIyBhbWRzYndkOiBBTUQgU0I3eHggd2F0Y2hkb2cgdGltZXIKKyMgd2luYm9u
ZHdkOiBXaW5ib25kIHdhdGNoZG9nIHRpbWVyCiAjCiBkZXZpY2UJCWljaHdkCiBkZXZpY2UJ
CWFtZHNid2QKK2RldmljZQkJd2luYm9uZHdkCiAKICMKICMgVGVtcGVyYXR1cmUgc2Vuc29y
czoKZGlmZiAtLWdpdCBhL3N5cy9jb25mL2ZpbGVzLmFtZDY0IGIvc3lzL2NvbmYvZmlsZXMu
YW1kNjQKaW5kZXggMTM4OGQwMS4uMThkYmVhNiAxMDA2NDQKLS0tIGEvc3lzL2NvbmYvZmls
ZXMuYW1kNjQKKysrIGIvc3lzL2NvbmYvZmlsZXMuYW1kNjQKQEAgLTIyMyw2ICsyMjMsNyBA
QCBkZXYvdHBtL3RwbS5jCQkJb3B0aW9uYWwJdHBtCiBkZXYvdHBtL3RwbV9hY3BpLmMJCW9w
dGlvbmFsCXRwbSBhY3BpCiBkZXYvdHBtL3RwbV9pc2EuYwkJb3B0aW9uYWwJdHBtIGlzYQog
ZGV2L3VhcnQvdWFydF9jcHVfYW1kNjQuYwlvcHRpb25hbAl1YXJ0CitkZXYvd2luYm9uZHdk
L3dpbmJvbmR3ZC5jCW9wdGlvbmFsCXdpbmJvbmR3ZAogZGV2L3dwaS9pZl93cGkuYwkJb3B0
aW9uYWwJd3BpCiBpc2Evc3lzY29uc19pc2EuYwkJb3B0aW9uYWwJc2MKIGlzYS92Z2FfaXNh
LmMJCQlvcHRpb25hbAl2Z2EKZGlmZiAtLWdpdCBhL3N5cy9jb25mL2ZpbGVzLmkzODYgYi9z
eXMvY29uZi9maWxlcy5pMzg2CmluZGV4IDQxYTE3NzIuLjExMjExNWQgMTAwNjQ0Ci0tLSBh
L3N5cy9jb25mL2ZpbGVzLmkzODYKKysrIGIvc3lzL2NvbmYvZmlsZXMuaTM4NgpAQCAtMjM4
LDYgKzIzOCw3IEBAIGRldi90cG0vdHBtX2lzYS5jCQlvcHRpb25hbCB0cG0gaXNhCiBkZXYv
dWFydC91YXJ0X2NwdV9pMzg2LmMJb3B0aW9uYWwgdWFydAogZGV2L2FjcGljYS9hY3BpX2lm
Lm0JCXN0YW5kYXJkCiBkZXYvYWNwaV9zdXBwb3J0L2FjcGlfd21pX2lmLm0Jc3RhbmRhcmQK
K2Rldi93aW5ib25kd2Qvd2luYm9uZHdkLmMJb3B0aW9uYWwgd2luYm9uZHdkCiBkZXYvd3Bp
L2lmX3dwaS5jCQlvcHRpb25hbCB3cGkKIGkzODYvYWNwaWNhL2FjcGlfbWFjaGRlcC5jCW9w
dGlvbmFsIGFjcGkKIGFjcGlfd2FrZWNvZGUubwkJCW9wdGlvbmFsIGFjcGkJCQkJXApkaWZm
IC0tZ2l0IGEvc3lzL2Rldi93aW5ib25kd2Qvd2luYm9uZHdkLmMgYi9zeXMvZGV2L3dpbmJv
bmR3ZC93aW5ib25kd2QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5m
YTUzNzM1Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzL2Rldi93aW5ib25kd2Qvd2luYm9uZHdk
LmMKQEAgLTAsMCArMSwzNjggQEAKKy8qLQorICogQ29weXJpZ2h0IChjKSAyMDEwIGlYc3lz
dGVtcywgSW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICBXcml0dGVuIGJ5
OiBYaW4gTEkgPGRlbHBoaWpARnJlZUJTRC5vcmc+CisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
QVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAq
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworLyoK
KyAqIFdpbmJvbmQgV2F0Y2hkb2cgVGltZXIgKFdEVCkgZHJpdmVyCisgKi8KKworI2luY2x1
ZGUgPHN5cy9jZGVmcy5oPgorX19GQlNESUQoIiRGcmVlQlNEJCIpOworCisjaW5jbHVkZSA8
c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8c3lzL2tlcm5lbC5oPgorI2luY2x1ZGUgPHN5cy9t
b2R1bGUuaD4KKyNpbmNsdWRlIDxzeXMvc3lzdG0uaD4KKyNpbmNsdWRlIDxzeXMvYnVzLmg+
CisjaW5jbHVkZSA8bWFjaGluZS9idXMuaD4KKyNpbmNsdWRlIDxzeXMvcm1hbi5oPgorI2lu
Y2x1ZGUgPG1hY2hpbmUvcmVzb3VyY2UuaD4KKyNpbmNsdWRlIDxzeXMvd2F0Y2hkb2cuaD4K
KworI2luY2x1ZGUgPGlzYS9pc2F2YXIuaD4KKyNpbmNsdWRlIDxkZXYvcGNpL3BjaXZhci5o
PgorCisjaW5jbHVkZSA8ZGV2L3dpbmJvbmR3ZC93aW5ib25kd2QuaD4KKworc3RhdGljIGRl
dmNsYXNzX3Qgd2luYm9uZHdkX2RldmNsYXNzOworCisjZGVmaW5lIHdpbmJvbmR3ZF9yZWFk
XzEoc2MsIG9mZikgXAorCSAgICBidXNfc3BhY2VfcmVhZF8xKChzYyktPndiX2JzdCwgKHNj
KS0+d2JfYnNoLCAob2ZmKSkKKworI2RlZmluZSB3aW5ib25kd2Rfd3JpdGVfMShzYywgb2Zm
LCB2YWwpIFwKKwkgICAgYnVzX3NwYWNlX3dyaXRlXzEoKHNjKS0+d2JfYnN0LCAoc2MpLT53
Yl9ic2gsIChvZmYpLCAodmFsKSkKKworLyoKKyAqIEVudGVyIFdpbmJvbmQgRXh0ZW5kZWQg
RnVuY3Rpb25zIFN0YXRlCisgKi8KK3N0YXRpYyBfX2lubGluZSB2b2lkCit3aW5ib25kd2Rf
Y29uZmlnX2VudGVyKHN0cnVjdCB3aW5ib25kd2Rfc29mdGMgKnNjKQoreworCisJd2luYm9u
ZHdkX3dyaXRlXzEoc2MsIDAsIDB4ODcpOworCXdpbmJvbmR3ZF93cml0ZV8xKHNjLCAwLCAw
eDg3KTsKK30KKworLyoKKyAqIExlYXZlIFdpbmJvbmQgRXh0ZW5kZWQgRnVuY3Rpb25zIFN0
YXRlCisgKi8KK3N0YXRpYyBfX2lubGluZSB2b2lkCit3aW5ib25kd2RfY29uZmlnX2xlYXZl
KHN0cnVjdCB3aW5ib25kd2Rfc29mdGMgKnNjKQoreworCisJd2luYm9uZHdkX3dyaXRlXzEo
c2MsIDAsIDB4YWEpOworfQorCitzdGF0aWMgX19pbmxpbmUgdW5zaWduZWQgY2hhcgord2lu
Ym9uZHdkX3JlYWRfcmVnKHN0cnVjdCB3aW5ib25kd2Rfc29mdGMgKnNjLCB1bnNpZ25lZCBj
aGFyIHJlZykKK3sKKworCXdpbmJvbmR3ZF93cml0ZV8xKHNjLCAwLCByZWcpOworCXJldHVy
biAod2luYm9uZHdkX3JlYWRfMShzYywgMSkpOworfQorCisvKgorICogV3JpdGUgc3BlY2lm
aWVkIGV4dGVuZGVkIGZ1bmN0aW9uIHJlZ2lzdGVyCisgKi8KK3N0YXRpYyBfX2lubGluZSB2
b2lkCit3aW5ib25kd2Rfd3JpdGVfcmVnKHN0cnVjdCB3aW5ib25kd2Rfc29mdGMgKnNjLCB1
bnNpZ25lZCBjaGFyIHJlZywgdW5zaWduZWQgY2hhciB2YWwpCit7CisKKwl3aW5ib25kd2Rf
d3JpdGVfMShzYywgMCwgcmVnKTsKKwl3aW5ib25kd2Rfd3JpdGVfMShzYywgMSwgdmFsKTsK
K30KKworLyoKKyAqIFNlbGVjdCB0aGUgd2F0Y2hkb2cgZGV2aWNlIChHUElPIFBvcnQgMiwg
TG9naWNhbCBkZXZpY2UgOCkKKyAqLworc3RhdGljIHZvaWQKK3dpbmJvbmR3ZF9zZWxlY3Qo
c3RydWN0IHdpbmJvbmR3ZF9zb2Z0YyAqc2MpCit7CisKKwl3aW5ib25kd2RfY29uZmlnX2Vu
dGVyKHNjKTsKKwl3aW5ib25kd2Rfd3JpdGVfcmVnKHNjLCAvKiBMRE4gYml0IDc6MSAqLyAw
eDcsIC8qIEdQSU8gUG9ydCAyICovIDB4OCk7CisJd2luYm9uZHdkX3dyaXRlX3JlZyhzYywg
LyogQ1IzMCAqLyAweDMwLCAvKiBBY3RpdmF0ZSAqLyAweDEpOworfQorCisvKgorICogRGVz
ZWxlY3QgdGhlIHdhdGNoZG9nIGRldmljZSAob25seSBhIGNvbmZpZ19sZWF2ZSBpcyBuZWVk
ZWQpCisgKi8KK3N0YXRpYyB2b2lkCit3aW5ib25kd2RfZGVzZWxlY3Qoc3RydWN0IHdpbmJv
bmR3ZF9zb2Z0YyAqc2MpCit7CisKKwl3aW5ib25kd2RfY29uZmlnX2xlYXZlKHNjKTsKK30K
KworLyoKKyAqIFNob3cgdGltZW91dAorICovCitzdGF0aWMgdm9pZAord2luYm9uZHdkX3No
b3dfdGltZW91dChzdHJ1Y3Qgd2luYm9uZHdkX3NvZnRjICpzYykKK3sKKwljb25zdCBjaGFy
ICptb2RlX3N0cjsKKwl1bnNpZ25lZCBjaGFyIHRpbWVvdXQsIG1vZGU7CisKKwl3aW5ib25k
d2Rfc2VsZWN0KHNjKTsKKwl0aW1lb3V0ID0gd2luYm9uZHdkX3JlYWRfcmVnKHNjLCAweGY2
IC8qIFRpbWVvdXQgQ1IgKi8pOworCWlmICh0aW1lb3V0ID09IDApIHsKKwkJc2MtPmFjdGl2
ZSA9IDA7CisJCWlmIChib290dmVyYm9zZSkKKwkJCWRldmljZV9wcmludGYoc2MtPmRldmlj
ZSwKKwkJCSAgICAiV2luYm9uZCB3YXRjaGRvZyBub3QgcnVubmluZ1xuIik7CisJfSBlbHNl
IHsKKwkJc2MtPmFjdGl2ZSA9IDE7CisJCW1vZGUgPSB3aW5ib25kd2RfcmVhZF9yZWcoc2Ms
IDB4ZjUgLyogQml0IDM6IGNvdW50IG1vZGUgKi8pOworCQltb2RlX3N0ciA9IChtb2RlICYg
KDEgPDwgMikpPyAibWludXRlIiA6ICJzZWNvbmQiOworCQlkZXZpY2VfcHJpbnRmKHNjLT5k
ZXZpY2UsCisJCSAgICAiV2luYm9uZCB3YXRjaGRvZyB3aWxsIHRpbWVvdXQgYWZ0ZXIgJWho
dSAlcyVzXG4iLAorCQkgICAgdGltZW91dCwgbW9kZV9zdHIsICgodGltZW91dCA+IDEpPyAi
cyIgOiAiIikpOworCX0KKwl3aW5ib25kd2RfZGVzZWxlY3Qoc2MpOworfQorCisvKgorICog
U2V0IHRpbWVvdXQgaW4gc2Vjb25kczsgMCA9IGRpc2FibGUKKyAqLworc3RhdGljIHZvaWQK
K3dpbmJvbmR3ZF9zZXRfdGltZW91dChzdHJ1Y3Qgd2luYm9uZHdkX3NvZnRjICpzYywgdW5z
aWduZWQgY2hhciB0aW1lb3V0KQoreworCXVuc2lnbmVkIGNoYXIgbW9kZTsKKworCS8qIERv
bid0IGJvdGhlciB0byBkaXNhYmxlIGlmIHRoZSB3YXRjaGRvZyBpcyBub3QgcnVubmluZyAq
LworCWlmIChzYy0+YWN0aXZlID09IDAgJiYgdGltZW91dCA9PSAwKQorCQlyZXR1cm47CisK
Kwl3aW5ib25kd2Rfc2VsZWN0KHNjKTsKKwltb2RlID0gd2luYm9uZHdkX3JlYWRfcmVnKHNj
LCAweGY1IC8qIEJpdCAzOiBjb3VudCBtb2RlICovKTsKKwltb2RlICY9IH4oMSA8PCAyKTsJ
LyogQ2hvb3NlIHNlY29uZHMgbW9kZSAqLworCXdpbmJvbmR3ZF93cml0ZV9yZWcoc2MsIDB4
ZjUsIG1vZGUpOworCisJd2luYm9uZHdkX3dyaXRlX3JlZyhzYywgMHhmNiAvKiBUaW1lb3V0
IENSICovLCB0aW1lb3V0KTsKKwl3aW5ib25kd2RfZGVzZWxlY3Qoc2MpOworCisJaWYgKGJv
b3R2ZXJib3NlKSB7CisJCWlmICh0aW1lb3V0ID09IDApCisJCQlkZXZpY2VfcHJpbnRmKHNj
LT5kZXZpY2UsCisJCQkgICAgIldpbmJvbmQgd2F0Y2hkb2cgZGlzYWJsZWQuXG4iKTsKKwkJ
ZWxzZQorCQkJZGV2aWNlX3ByaW50ZihzYy0+ZGV2aWNlLAorCQkJICAgICJXaW5ib25kIHdh
dGNoZG9nIHRpbWVvdXQgYWZ0ZXIgJWhodSBzZWNvbmRzLlxuIiwKKwkJCSAgICB0aW1lb3V0
KTsKKwl9CisKKwlzYy0+YWN0aXZlID0gKHRpbWVvdXQgPT0gMCkgPyAwIDogMTsKK30KKwor
LyoKKyAqIFdhdGNoZG9nIGV2ZW50IGhhbmRsZXIgLSBjYWxsZWQgYnkgdGhlIGZyYW1ld29y
ayB0byBlbmFibGUgb3IgZGlzYWJsZQorICogdGhlIHdhdGNoZG9nIG9yIGNoYW5nZSB0aGUg
aW5pdGlhbCB0aW1lb3V0IHZhbHVlLgorICovCitzdGF0aWMgdm9pZAord2luYm9uZHdkX2V2
ZW50KHZvaWQgKmFyZywgdW5zaWduZWQgaW50IGNtZCwgaW50ICplcnJvcikKK3sKKwlzdHJ1
Y3Qgd2luYm9uZHdkX3NvZnRjICpzYyA9IGFyZzsKKwl1bnNpZ25lZCBjaGFyIHJ0aW1lb3V0
OworCXVpbnQ2NF90IHRpbWVvdXQ7CisKKwlpZiAoY21kID09IDApCisJCXdpbmJvbmR3ZF9z
ZXRfdGltZW91dChzYywgMCk7CisJZWxzZSB7CisJCXRpbWVvdXQgPSAodWludDY0X3QpMSA8
PCAoY21kICYgV0RfSU5URVJWQUwpOworCQlpZiAodGltZW91dCA8ICh1aW50NjRfdCkweGZm
ICogMTAwMCAqIDEwMDAgKiAxMDAwKSB7CisJCQlydGltZW91dCA9IHRpbWVvdXQgLyAoMTAw
MCAqIDEwMDAgKiAxMDAwKTsKKwkJCWlmIChydGltZW91dCA9PSAwKQorCQkJCXJ0aW1lb3V0
ID0gMHhmZjsKKwkJCXdpbmJvbmR3ZF9zZXRfdGltZW91dChzYywgcnRpbWVvdXQpOworCQl9
IGVsc2UgeworCQkJZGV2aWNlX3ByaW50ZihzYy0+ZGV2aWNlLAorCQkJICAgICJWYWx1ZSAl
dSB0b28gYmlnLCBkaXNhYmxpbmdcbiIsIGNtZCAmIFdEX0lOVEVSVkFMKTsKKwkJCS8qIFBy
b3Bvc2VkIHRpbWVvdXQgY2FuIG5vdCBiZSBzYXRpc2lmaWVkICovCisJCQl3aW5ib25kd2Rf
c2V0X3RpbWVvdXQoc2MsIDApOworCQl9CisJfQorfQorCisvKgorICogQSBoYWNrIHRvIHBy
b2JlIFdpbmJvbmQgY2hpcCdzIGJhc2UgcG9ydC4KKyAqLworc3RhdGljIHVuc2lnbmVkIGlu
dAord2luYm9uZHdkX2Jhc2Vwb3J0X3Byb2JlKHZvaWQpCit7CisJdW5zaWduZWQgY2hhciB2
YWw7CisJaW50IGk7CisJY29uc3QgdW5zaWduZWQgaW50IGJhc2Vwb3J0X2NhbmRpZGF0ZXNb
XSA9IHsgMHgyZSwgMHg0ZSwgMCB9OworCisJZm9yIChpID0gMDsgYmFzZXBvcnRfY2FuZGlk
YXRlc1tpXSAhPSAwOyBpKyspIHsKKwkJLyoKKwkJICogRW50ZXIgY29uZmlnIG1vZGUuCisJ
CSAqCisJCSAqIE91dHB1dCBtYWdpYyBudW1iZXIgdHdpY2UgdG8gdGhlIGluZGV4IHJlZ2lz
dGVyCisJCSAqLworCQlvdXRiKGJhc2Vwb3J0X2NhbmRpZGF0ZXNbaV0sIDB4ODcpOworCQlv
dXRiKGJhc2Vwb3J0X2NhbmRpZGF0ZXNbaV0sIDB4ODcpOworCisJCS8qCisJCSAqIEkga25v
dyB0aGlzIGlzIHVnbHkgYnV0IEkgZGlkbid0IGZvdW5kIGEgd2F5IHRvIGRvCisJCSAqIHRo
aXMgaW4gYSBjbGVhbmVyIG1hbm5lci4KKwkJICovCisJCS8qIEdldCBkYXRhIGZyb20gQ1Ig
MHgyMCAoRGV2aWNlIElEKSAqLworCQlvdXRiKGJhc2Vwb3J0X2NhbmRpZGF0ZXNbaV0sIDB4
MjApOworCQl2YWwgPSBpbmIoYmFzZXBvcnRfY2FuZGlkYXRlc1tpXSsxKTsKKworCQlpZiAo
Ym9vdHZlcmJvc2UpCisJCQlwcmludGYoIndpbmJvbmR3ZDA6IENSMjAgcHJvYmluZyBwb3J0
IDB4JXggZ290IDB4JXhcbiIsIGJhc2Vwb3J0X2NhbmRpZGF0ZXNbaV0sIHZhbCk7CisKKwkJ
aWYgKHZhbCAhPSAweGZmKSB7CisJCQlvdXRiKGJhc2Vwb3J0X2NhbmRpZGF0ZXNbaV0sIDB4
YWEpOworCQkJcmV0dXJuIGJhc2Vwb3J0X2NhbmRpZGF0ZXNbaV07CisJCX0KKwl9CisKKwly
ZXR1cm4gKHVuc2lnbmVkIGludCkoLTEpOworfQorCQkKKwkKKworLyoKKyAqIExvb2sgZm9y
IFdpbmJvbmQgZGV2aWNlLgorICovCitzdGF0aWMgdm9pZAord2luYm9uZHdkX2lkZW50aWZ5
KGRyaXZlcl90ICpkcml2ZXIsIGRldmljZV90IHBhcmVudCkKK3sKKwl1bnNpZ25lZCBpbnQg
YmFzZXBvcnQ7CisJZGV2aWNlX3QgZGV2OworCisgICAgICAgIGlmICgoZGV2ID0gZGV2aWNl
X2ZpbmRfY2hpbGQocGFyZW50LCBkcml2ZXItPm5hbWUsIDApKSA9PSBOVUxMKSB7CisJCWlm
IChyZXNvdXJjZV9pbnRfdmFsdWUoIndpbmJvbmR3ZCIsIDAsICJiYXNlcG9ydCIsICZiYXNl
cG9ydCkgIT0gMCkgeworCQkJYmFzZXBvcnQgPSB3aW5ib25kd2RfYmFzZXBvcnRfcHJvYmUo
KTsKKwkJCWlmIChiYXNlcG9ydCA9PSAodW5zaWduZWQgaW50KSgtMSkpIHsKKwkJCQlwcmlu
dGYoIndpbmJvbmR3ZDA6IENvbXBhdGlibGUgV2luYm9uZCBTdXBlciBJL08gbm90IGZvdW5k
LlxuIik7CisJCQkJcmV0dXJuOworCQkJfQorCQl9CisKKwkJZGV2ID0gQlVTX0FERF9DSElM
RChwYXJlbnQsIDAsIGRyaXZlci0+bmFtZSwgMCk7CisKKwkJYnVzX3NldF9yZXNvdXJjZShk
ZXYsIFNZU19SRVNfSU9QT1JULCAwLCBiYXNlcG9ydCwgMik7CisJfQorCisJaWYgKGRldiA9
PSBOVUxMKQorCQlyZXR1cm47Cit9CisKK3N0YXRpYyBpbnQKK3dpbmJvbmR3ZF9wcm9iZShk
ZXZpY2VfdCBkZXYpCit7CisKKwkvKiBEbyBub3QgY2xhaW0gc29tZSBJU0EgUG5QIGRldmlj
ZSBieSBhY2NpZGVudC4gKi8KKwlpZiAoaXNhX2dldF9sb2dpY2FsaWQoZGV2KSAhPSAwKQor
CQlyZXR1cm4gKEVOWElPKTsKKwlyZXR1cm4gKDApOworfQorCitzdGF0aWMgaW50Cit3aW5i
b25kd2RfYXR0YWNoKGRldmljZV90IGRldikKK3sKKwlzdHJ1Y3Qgd2luYm9uZHdkX3NvZnRj
ICpzYzsKKwl1bnNpZ25lZCBpbnQgYmFzZXBvcnQ7CisKKwlzYyA9IGRldmljZV9nZXRfc29m
dGMoZGV2KTsKKwlzYy0+ZGV2aWNlID0gZGV2OworCisJaWYgKHJlc291cmNlX2ludF92YWx1
ZSgid2luYm9uZHdkIiwgMCwgImJhc2Vwb3J0IiwgJmJhc2Vwb3J0KSAhPSAwKSB7CisJCWJh
c2Vwb3J0ID0gd2luYm9uZHdkX2Jhc2Vwb3J0X3Byb2JlKCk7CisJCWlmIChiYXNlcG9ydCA9
PSAodW5zaWduZWQgaW50KSgtMSkpIHsKKwkJCWRldmljZV9wcmludGYoZGV2LAorCQkJICAg
ICJObyBjb21wYXRpYmxlIFdpbmJvbmQgU3VwZXIgSS9PIGZvdW5kLlxuIik7CisJCQlyZXR1
cm4gKEVOWElPKTsKKwkJfQorCX0KKworCS8qIGFsbG9jYXRlIEkvTyByZWdpc3RlciBzcGFj
ZSAqLworCXNjLT53Yl9yaWQgPSAwOworCXNjLT53Yl9yZXMgPSBidXNfYWxsb2NfcmVzb3Vy
Y2UoZGV2LCBTWVNfUkVTX0lPUE9SVCwgJnNjLT53Yl9yaWQsCisJICAgIGJhc2Vwb3J0LCBi
YXNlcG9ydCArIDEsIDIsIFJGX0FDVElWRSB8IFJGX1NIQVJFQUJMRSk7CisJaWYgKHNjLT53
Yl9yZXMgPT0gTlVMTCkgeworCQlkZXZpY2VfcHJpbnRmKGRldiwgIlVuYWJsZSB0byByZXNl
cnZlIEV4dGVuZGVkIEZ1bmN0aW9uIFJlZ2lzdGVyc1xuIik7CisJCWdvdG8gZmFpbDsKKwl9
CisJc2MtPndiX2JzdCA9IHJtYW5fZ2V0X2J1c3RhZyhzYy0+d2JfcmVzKTsKKwlzYy0+d2Jf
YnNoID0gcm1hbl9nZXRfYnVzaGFuZGxlKHNjLT53Yl9yZXMpOworCisJLyogRGlzcGxheSB0
aGUgZGV2aWNlIHN0YXR1cyAqLworCXdpbmJvbmR3ZF9zaG93X3RpbWVvdXQoc2MpOworCisJ
LyogcmVnaXN0ZXIgdGhlIHdhdGNoZG9nIGV2ZW50IGhhbmRsZXIgKi8KKwlzYy0+ZXZfdGFn
ID0gRVZFTlRIQU5ETEVSX1JFR0lTVEVSKHdhdGNoZG9nX2xpc3QsIHdpbmJvbmR3ZF9ldmVu
dCwgc2MsIDApOworCisJcmV0dXJuICgwKTsKKworZmFpbDoKKwlpZiAoc2MtPndiX3JlcyAh
PSBOVUxMKQorCQlidXNfcmVsZWFzZV9yZXNvdXJjZShkZXYsIFNZU19SRVNfSU9QT1JULAor
CQkgICAgc2MtPndiX3JpZCwgc2MtPndiX3Jlcyk7CisJcmV0dXJuIChFTlhJTyk7Cit9CisK
K3N0YXRpYyBpbnQKK3dpbmJvbmR3ZF9kZXRhY2goZGV2aWNlX3QgZGV2KQoreworCXN0cnVj
dCB3aW5ib25kd2Rfc29mdGMgKnNjOworCisJc2MgPSBkZXZpY2VfZ2V0X3NvZnRjKGRldik7
CisKKwkvKiBkZXJlZ2lzdGVyIGV2ZW50IGhhbmRsZXIgKi8KKwlpZiAoc2MtPmV2X3RhZyAh
PSBOVUxMKQorCQlFVkVOVEhBTkRMRVJfREVSRUdJU1RFUih3YXRjaGRvZ19saXN0LCBzYy0+
ZXZfdGFnKTsKKwlzYy0+ZXZfdGFnID0gTlVMTDsKKworCS8qIERpc2FibGUgdGhlIHdhdGNo
ZG9nICovCisJaWYgKHNjLT5hY3RpdmUpCisJCXdpbmJvbmR3ZF9zZXRfdGltZW91dChzYywg
MCk7CisKKwkvKiBkZWFsbG9jYXRlIEkvTyByZWdpc3RlciBzcGFjZSAqLworCWJ1c19yZWxl
YXNlX3Jlc291cmNlKGRldiwgU1lTX1JFU19JT1BPUlQsIHNjLT53Yl9yaWQsIHNjLT53Yl9y
ZXMpOworCisJcmV0dXJuICgwKTsKK30KKworc3RhdGljIGRldmljZV9tZXRob2RfdCB3aW5i
b25kd2RfbWV0aG9kc1tdID0geworCURFVk1FVEhPRChkZXZpY2VfaWRlbnRpZnksIHdpbmJv
bmR3ZF9pZGVudGlmeSksCisJREVWTUVUSE9EKGRldmljZV9wcm9iZSwJd2luYm9uZHdkX3By
b2JlKSwKKwlERVZNRVRIT0QoZGV2aWNlX2F0dGFjaCwgd2luYm9uZHdkX2F0dGFjaCksCisJ
REVWTUVUSE9EKGRldmljZV9kZXRhY2gsIHdpbmJvbmR3ZF9kZXRhY2gpLAorCURFVk1FVEhP
RChkZXZpY2Vfc2h1dGRvd24sIHdpbmJvbmR3ZF9kZXRhY2gpLAorCXswLDB9Cit9OworCitz
dGF0aWMgZHJpdmVyX3Qgd2luYm9uZHdkX2RyaXZlciA9IHsKKwkid2luYm9uZHdkIiwKKwl3
aW5ib25kd2RfbWV0aG9kcywKKwlzaXplb2Yoc3RydWN0IHdpbmJvbmR3ZF9zb2Z0YyksCit9
OworCitEUklWRVJfTU9EVUxFKHdpbmJvbmR3ZCwgaXNhLCB3aW5ib25kd2RfZHJpdmVyLCB3
aW5ib25kd2RfZGV2Y2xhc3MsIE5VTEwsIE5VTEwpOwpkaWZmIC0tZ2l0IGEvc3lzL2Rldi93
aW5ib25kd2Qvd2luYm9uZHdkLmggYi9zeXMvZGV2L3dpbmJvbmR3ZC93aW5ib25kd2QuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2ExYTIzCi0tLSAvZGV2L251
bGwKKysrIGIvc3lzL2Rldi93aW5ib25kd2Qvd2luYm9uZHdkLmgKQEAgLTAsMCArMSw0NyBA
QAorLyotCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgaVhzeXN0ZW1zLCBJbmMuCisgKiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogICAgIFdyaXR0ZW4gYnk6IFhpbiBMSSA8ZGVscGhpakBG
cmVlQlNELm9yZz4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJV
VE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKiAkRnJlZUJTRCQKKyAqLworCisjaWZu
ZGVmIF9XSU5CT05EV0RfSF8KKyNkZWZpbmUgX1dJTkJPTkRXRF9IXworCitzdHJ1Y3Qgd2lu
Ym9uZHdkX3NvZnRjIHsKKwlkZXZpY2VfdAkJIGRldmljZTsKKworCWludAkJCSBhY3RpdmU7
CisJdW5zaWduZWQgaW50CQkgdGltZW91dDsKKworCWludAkJCSB3Yl9yaWQ7CisJc3RydWN0
IHJlc291cmNlCQkqd2JfcmVzOworCWJ1c19zcGFjZV90YWdfdAkJIHdiX2JzdDsKKwlidXNf
c3BhY2VfaGFuZGxlX3QJIHdiX2JzaDsKKworCWV2ZW50aGFuZGxlcl90YWcJIGV2X3RhZzsK
K307CisKKyNlbmRpZiAvKiBfV0lOQk9ORFdEX0hfICovCmRpZmYgLS1naXQgYS9zeXMvaTM4
Ni9jb25mL05PVEVTIGIvc3lzL2kzODYvY29uZi9OT1RFUwppbmRleCA4NjZlNjQxLi44MGQ4
MmEyIDEwMDY0NAotLS0gYS9zeXMvaTM4Ni9jb25mL05PVEVTCisrKyBiL3N5cy9pMzg2L2Nv
bmYvTk9URVMKQEAgLTgyOCw5ICs4MjgsMTEgQEAgaGludC5wY2YuMC5pcnE9IjUiCiAjCiAj
IGljaHdkOiBJbnRlbCBJQ0ggd2F0Y2hkb2cgdGltZXIKICMgYW1kc2J3ZDogQU1EIFNCN3h4
IHdhdGNoZG9nIHRpbWVyCisjIHdpbmJvbmR3ZDogV2luYm9uZCB3YXRjaGRvZyB0aW1lcgog
IwogZGV2aWNlCQlpY2h3ZAogZGV2aWNlCQlhbWRzYndkCitkZXZpY2UJCXdpbmJvbmR3ZAog
CiAjCiAjIFRlbXBlcmF0dXJlIHNlbnNvcnM6CmRpZmYgLS1naXQgYS9zeXMvbW9kdWxlcy9N
YWtlZmlsZSBiL3N5cy9tb2R1bGVzL01ha2VmaWxlCmluZGV4IDJkYmMzZDkuLmRlNTMzZTQg
MTAwNjQ0Ci0tLSBhL3N5cy9tb2R1bGVzL01ha2VmaWxlCisrKyBiL3N5cy9tb2R1bGVzL01h
a2VmaWxlCkBAIC0zMjAsNiArMzIwLDcgQEAgU1VCRElSPQkke18zZGZ4fSBcCiAJdnggXAog
CXdiIFwKIAkke193aX0gXAorCSR7X3dpbmJvbmR3ZH0gXAogCXdsYW4gXAogCXdsYW5fYWNs
IFwKIAl3bGFuX2FtcnIgXApAQCAtNDY5LDYgKzQ3MCw3IEBAIF9zdGc9CQlzdGcKIF9zdHJl
YW1zPQlzdHJlYW1zCiBfc3ZyND0JCXN2cjQKIF93aT0JCXdpCitfd2luYm9uZHdkPQl3aW5i
b25kd2QKIF94ZT0JCXhlCiAuaWYgJHtNS19aRlN9ICE9ICJubyIgfHwgZGVmaW5lZChBTExf
TU9EVUxFUykKIF96ZnM9CQl6ZnMKQEAgLTYyMyw2ICs2MjUsNyBAQCBfdHdhPQkJdHdhCiBf
dmVzYT0JCXZlc2EKIF94ODZiaW9zPQl4ODZiaW9zCiBfd2k9CQl3aQorX3dpbmJvbmR3ZD0J
d2luYm9uZHdkCiBfd3BpPQkJd3BpCiBfd3BpZnc9CQl3cGlmdwogLmlmICR7TUtfWkZTfSAh
PSAibm8iIHx8IGRlZmluZWQoQUxMX01PRFVMRVMpCmRpZmYgLS1naXQgYS9zeXMvbW9kdWxl
cy93aW5ib25kd2QvTWFrZWZpbGUgYi9zeXMvbW9kdWxlcy93aW5ib25kd2QvTWFrZWZpbGUK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgyZDM3ZgotLS0gL2Rldi9u
dWxsCisrKyBiL3N5cy9tb2R1bGVzL3dpbmJvbmR3ZC9NYWtlZmlsZQpAQCAtMCwwICsxLDgg
QEAKKyMgJEZyZWVCU0QkCisKKy5QQVRIOiAkey5DVVJESVJ9Ly4uLy4uL2Rldi93aW5ib25k
d2QKKworS01PRD0Jd2luYm9uZHdkCitTUkNTPQl3aW5ib25kd2QuYyBkZXZpY2VfaWYuaCBi
dXNfaWYuaCBwY2lfaWYuaCBpc2FfaWYuaAorCisuaW5jbHVkZSA8YnNkLmttb2QubWs+Ci0t
IAoxLjcuNS40Cgo=
--------------030701090905090802000303--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E0A5689.2020302>