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>