Date: Thu, 10 Jan 2002 18:34:23 +0200 From: Stoian Mishinev <mishinev@digsys.bg> To: stable@freebsd.org Subject: Moxa C168H/PCI Message-ID: <200201101634.SAA20381@ws5-plovdiv.digsys.bg>
next in thread | raw e-mail | index | archive | help
This is a multipart MIME message. --==_Exmh_-4833217230 Content-Type: text/plain; charset=us-ascii Hi List, I'm trying to compile sio.c patched with cronyx's OMEGA drivers (www.cronyx.ru) as recommended from "Moxa Technologies Co Ltd". After some made by hand patches (the driver was written for 4.4-RELEASE) I've get this error: siopci0: <Moxa Technologies C168H/PCI> port 0x2c20-0x2c2f,0x2880-0x28bf,0x2800-0x287f irq 5 at device 13.0 on pci0 sio4: couldn't map ports/memory device_probe_and_attach: siopci0 attach returned 6 Any ideas are welcomed. Follow 1. dmesg 2. sio.c compiled patch 3. pciconf -lv output 4. kernel config file is GENERIC with no changes. --==_Exmh_-4833217230 Content-Type: text/plain ; name="pciconf"; charset=us-ascii Content-Description: pciconf Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pciconf" Y2hpcDBAcGNpMDowOjA6CWNsYXNzPTB4MDYwMDAwIGNhcmQ9MHgwMDAwMDAwMCBjaGlwPTB4 NzFhMDgwODYgcmV2PTB4MDAgaGRyPTB4MDAKICAgIHZlbmRvciAgID0gJ0ludGVsIENvcnBv cmF0aW9uJwogICAgZGV2aWNlICAgPSAnODI0NDNHWCA0NDBHWCBDUFUgdG8gUENJIEJyaWRn ZSAoQUdQIEltcGxlbWVudGVkKScKICAgIGNsYXNzICAgID0gYnJpZGdlCiAgICBzdWJjbGFz cyA9IEhPU1QtUENJCnBjaWIyQHBjaTA6MTowOgljbGFzcz0weDA2MDQwMCBjYXJkPTB4MDAw MDAwMDAgY2hpcD0weDcxYTE4MDg2IHJldj0weDAwIGhkcj0weDAxCiAgICB2ZW5kb3IgICA9 ICdJbnRlbCBDb3Jwb3JhdGlvbicKICAgIGRldmljZSAgID0gJzgyNDQzR1ggUENJLXRvLVBD SSBCcmlkZ2UgKEFHUCknCiAgICBjbGFzcyAgICA9IGJyaWRnZQogICAgc3ViY2xhc3MgPSBQ Q0ktUENJCmFoYzBAcGNpMDoxMjowOgljbGFzcz0weDAxMDAwMCBjYXJkPTB4MDA1MzkwMDQg Y2hpcD0weDAwNWY5MDA1IHJldj0weDAwIGhkcj0weDAwCiAgICB2ZW5kb3IgICA9ICdBZGFw dGVjJwogICAgZGV2aWNlICAgPSAnQUlDLTc4OTYvNyBVbHRyYTIgU0NTSSBDb250cm9sbGVy JwogICAgY2xhc3MgICAgPSBtYXNzIHN0b3JhZ2UKICAgIHN1YmNsYXNzID0gU0NTSQphaGMx QHBjaTA6MTI6MToJY2xhc3M9MHgwMTAwMDAgY2FyZD0weDAwNTM5MDA0IGNoaXA9MHgwMDVm OTAwNSByZXY9MHgwMCBoZHI9MHgwMAogICAgdmVuZG9yICAgPSAnQWRhcHRlYycKICAgIGRl dmljZSAgID0gJ0FJQy03ODk2LzcgVWx0cmEyIFNDU0kgQ29udHJvbGxlcicKICAgIGNsYXNz ICAgID0gbWFzcyBzdG9yYWdlCiAgICBzdWJjbGFzcyA9IFNDU0kKbm9uZTBAcGNpMDoxMzow OgljbGFzcz0weDA3MDA4MCBjYXJkPTB4MDAwMDAwMDAgY2hpcD0weDE2ODAxMzkzIHJldj0w eDAyIGhkcj0weDAwCiAgICB2ZW5kb3IgICA9ICdNb3hhIFRlY2hub2xvZ2llcyBDbyBMdGQn CiAgICBkZXZpY2UgICA9ICdDMTY4SCcKICAgIGNsYXNzICAgID0gc2ltcGxlIGNvbW1zCiAg ICBzdWJjbGFzcyA9IFVBUlQKZnhwMEBwY2kwOjE0OjA6CWNsYXNzPTB4MDIwMDAwIGNhcmQ9 MHgzMDAwODA4NiBjaGlwPTB4MTIyOTgwODYgcmV2PTB4MDggaGRyPTB4MDAKICAgIHZlbmRv ciAgID0gJ0ludGVsIENvcnBvcmF0aW9uJwogICAgZGV2aWNlICAgPSAnODI1NTcvOC85IEV0 aGVyRXhwcmVzcyBQUk8vMTAwKEIpIEV0aGVybmV0IEFkYXB0ZXInCiAgICBjbGFzcyAgICA9 IG5ldHdvcmsKICAgIHN1YmNsYXNzID0gZXRoZXJuZXQKaXNhYjBAcGNpMDoxODowOgljbGFz cz0weDA2MDEwMCBjYXJkPTB4MDAwMDAwMDAgY2hpcD0weDcxMTA4MDg2IHJldj0weDAyIGhk cj0weDAwCiAgICB2ZW5kb3IgICA9ICdJbnRlbCBDb3Jwb3JhdGlvbicKICAgIGRldmljZSAg ID0gJzgyMzcxQUIvRUIvTUIgUElJWDQgSVNBIEJyaWRnZScKICAgIGNsYXNzICAgID0gYnJp ZGdlCiAgICBzdWJjbGFzcyA9IFBDSS1JU0EKYXRhcGNpMEBwY2kwOjE4OjE6CWNsYXNzPTB4 MDEwMTgwIGNhcmQ9MHgwMDAwMDAwMCBjaGlwPTB4NzExMTgwODYgcmV2PTB4MDEgaGRyPTB4 MDAKICAgIHZlbmRvciAgID0gJ0ludGVsIENvcnBvcmF0aW9uJwogICAgZGV2aWNlICAgPSAn ODIzNzFBQi9FQi9NQiBQSUlYNCBFSURFIENvbnRyb2xsZXInCiAgICBjbGFzcyAgICA9IG1h c3Mgc3RvcmFnZQogICAgc3ViY2xhc3MgPSBBVEEKdWhjaTBAcGNpMDoxODoyOgljbGFzcz0w eDBjMDMwMCBjYXJkPTB4MDAwMDAwMDAgY2hpcD0weDcxMTI4MDg2IHJldj0weDAxIGhkcj0w eDAwCiAgICB2ZW5kb3IgICA9ICdJbnRlbCBDb3Jwb3JhdGlvbicKICAgIGRldmljZSAgID0g JzgyMzcxQUIvRUIvTUIgUElJWDQgVVNCIENvbnRyb2xsZXInCiAgICBjbGFzcyAgICA9IHNl cmlhbCBidXMKICAgIHN1YmNsYXNzID0gVVNCCmNoaXAxQHBjaTA6MTg6MzoJY2xhc3M9MHgw NjgwMDAgY2FyZD0weDAwMDAwMDAwIGNoaXA9MHg3MTEzODA4NiByZXY9MHgwMiBoZHI9MHgw MAogICAgdmVuZG9yICAgPSAnSW50ZWwgQ29ycG9yYXRpb24nCiAgICBkZXZpY2UgICA9ICc4 MjM3MUFCL0VCL01CIFBJSVg0IFBvd2VyIE1hbmFnZW1lbnQgQ29udHJvbGxlcicKICAgIGNs YXNzICAgID0gYnJpZGdlCiAgICBzdWJjbGFzcyA9IFBDSS11bmtub3duCm5vbmUxQHBjaTA6 MjA6MDoJY2xhc3M9MHgwMzAwMDAgY2FyZD0weDAwYmMxMDEzIGNoaXA9MHgwMGJjMTAxMyBy ZXY9MHgyMyBoZHI9MHgwMAogICAgdmVuZG9yICAgPSAnQ2lycnVzIExvZ2ljJwogICAgZGV2 aWNlICAgPSAnQ0wtR0Q1NDgwIDY0LWJpdCBTR1JBTSBHVUkgYWNjZWxlcmF0b3InCiAgICBj bGFzcyAgICA9IGRpc3BsYXkKICAgIHN1YmNsYXNzID0gVkdBCnBjaWIzQHBjaTE6MTU6MDoJ Y2xhc3M9MHgwNjA0MDAgY2FyZD0weDAwMDAwMGRjIGNoaXA9MHgwMDIzMTAxMSByZXY9MHgw NiBoZHI9MHgwMQogICAgdmVuZG9yICAgPSAnRGlnaXRhbCBFcXVpcG1lbnQgQ29ycG9yYXRp b24nCiAgICBkZXZpY2UgICA9ICdEQzIxMTUwIFBDSSB0byBQQ0kgQnJpZGdlJwogICAgY2xh c3MgICAgPSBicmlkZ2UKICAgIHN1YmNsYXNzID0gUENJLVBDSQo= --==_Exmh_-4833217230 Content-Type: text/plain ; name="sio.c-patch-4.4-01-12-2001-STABLE"; charset=us-ascii Content-Description: sio.c-patch-4.4-01-12-2001-STABLE Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="sio.c-patch-4.4-01-12-2001-STABLE" KioqIC9zeXMvaXNhL3Npby5jCVRodSBKYW4gMTAgMTc6MjM6NDUgMjAwMgotLS0gL3N5cy9p c2Evc2lvLmMtR0VORVJJQwlUaHUgSmFuIDEwIDE1OjQ4OjExIDIwMDIKKioqKioqKioqKioq KioqCioqKiAxMzgsMTQzICoqKioKLS0tIDEzOCwxNDggLS0tLQogIAogICNkZWZpbmUJY29t X3NjcgkJNwkvKiBzY3JhdGNoIHJlZ2lzdGVyIGZvciAxNjQ1MC0xNjU1MCAoUi9XKSAqLwog IAorICNkZWZpbmUJc2lvX2dldHJlZyhjb20sIG9mZikgXAorIAkoYnVzX3NwYWNlX3JlYWRf MSgoY29tKS0+YnN0LCAoY29tKS0+YnNoLCAob2ZmKSkpCisgI2RlZmluZQlzaW9fc2V0cmVn KGNvbSwgb2ZmLCB2YWx1ZSkgXAorIAkoYnVzX3NwYWNlX3dyaXRlXzEoKGNvbSktPmJzdCwg KGNvbSktPmJzaCwgKG9mZiksICh2YWx1ZSkpKQorIAogIC8qCiAgICogY29tIHN0YXRlIGJp dHMuCiAgICogKENTX0JVU1kgfCBDU19UVEdPKSBhbmQgKENTX0JVU1kgfCBDU19UVEdPIHwg Q1NfT0RFVlJFQURZKSBtdXN0IGJlIGhpZ2hlcgoqKioqKioqKioqKioqKioKKioqIDIxMywy MTkgKioqKgogIAlpbnQJdW5pdDsJCS8qIHVuaXQJbnVtYmVyICovCiAgCWludAlkdHJfd2Fp dDsJLyogdGltZSB0byBob2xkIERUUiBkb3duIG9uIGNsb3NlICgqIDEvaHopICovCiAgCXVf aW50CXR4X2ZpZm9fc2l6ZTsKLSAJdV9pbnQJb3NjaWxsYXRvcjsKICAJdV9pbnQJd29wZW5l cnM7CS8qICMgcHJvY2Vzc2VzIHdhaXRpbmcgZm9yIERDRCBpbiBvcGVuKCkgKi8KICAKICAJ LyoKLS0tIDIxOCwyMjMgLS0tLQoqKioqKioqKioqKioqKioKKioqIDI4MywzMTQgKioqKgog IAl1X2NoYXIJb2J1ZjJbMjU2XTsKICB9OwogIAotICNkZWZpbmUgTUFYQ0hBTgkJOAkJLyog dXAgdG8gOCBjaGFubmVscyBwZXIgbXVsdGlwb3J0ICovCi0gCi0gc3RydWN0IG11bHRpY29t IHsKLSAJaW50CQluY2hhbjsJCS8qIGNoYW5uZWxzIHBlciBhZGFwdGVyICovCi0gCXN0cnVj dCByZXNvdXJjZQkqcmVzOwotIAlzdHJ1Y3QgcmVzb3VyY2UJKmlycTsKLSAJdm9pZAkJKmlu dHJoYW5kOwotIAlzdHJ1Y3QgY29tX3MJY29tIFtNQVhDSEFOXTsKLSB9OwotIAogICNpZmRl ZiBDT01fRVNQCiAgc3RhdGljCWludAllc3BhdHRhY2gJX19QKChzdHJ1Y3QgY29tX3MgKmNv bSwgUG9ydF90IGVzcF9wb3J0KSk7CiAgI2VuZGlmCiAgc3RhdGljCWludAlzaW9hdHRhY2gJ X19QKChkZXZpY2VfdCBkZXYsIGludCByaWQpKTsKICBzdGF0aWMJaW50CXNpb19pc2FfYXR0 YWNoCV9fUCgoZGV2aWNlX3QgZGV2KSk7Ci0gc3RhdGljCWludAlzaW9fYXR0YWNoX3VuaXQJ X19QKChzdHJ1Y3QgY29tX3MgKmNvbSwgaW50IHVuaXQsIFBvcnRfdCBpb2Jhc2UsCi0gCQkJ CSAgICB1X2ludCBmbGFncywgYm9vbF90IG5vX2lycSwKLSAJCQkJICAgIGJ1c19zcGFjZV90 YWdfdCB0LCBidXNfc3BhY2VfaGFuZGxlX3QgaCkpOwotIHN0YXRpYwlpbnQJc2lvX2ZpbmRf ZnJlcQlfX1AoKHN0cnVjdCBjb21fcyAqY29tKSk7CiAgCiAgc3RhdGljCXRpbWVvdXRfdCBz aW9idXN5Y2hlY2s7CiAgc3RhdGljCXRpbWVvdXRfdCBzaW9kdHJ3YWtldXA7CiAgc3RhdGlj CXZvaWQJY29taGFyZGNsb3NlCV9fUCgoc3RydWN0IGNvbV9zICpjb20pKTsKICBzdGF0aWMJ dm9pZAlzaW9pbnB1dAlfX1AoKHN0cnVjdCBjb21fcyAqY29tKSk7CiAgc3RhdGljCXZvaWQJ c2lvaW50cjEJX19QKChzdHJ1Y3QgY29tX3MgKmNvbSkpOwotIHN0YXRpYwl2b2lkCXNpb19w Y2lfaW50cglfX1AoKHZvaWQgKmFyZykpOwogIHN0YXRpYwl2b2lkCXNpb2ludHIJCV9fUCgo dm9pZCAqYXJnKSk7CiAgc3RhdGljCWludAljb21tY3RsCQlfX1AoKHN0cnVjdCBjb21fcyAq Y29tLCBpbnQgYml0cywgaW50IGhvdykpOwogIHN0YXRpYwlpbnQJY29tcGFyYW0JX19QKChz dHJ1Y3QgdHR5ICp0cCwgc3RydWN0IHRlcm1pb3MgKnQpKTsKLS0tIDI4NywzMDMgLS0tLQoq KioqKioqKioqKioqKioKKioqIDMzMSwzMzYgKioqKgotLS0gMzIwLDMyNiAtLS0tCiAgCiAg I2lmIE5QQ0kgPiAwCiAgc3RhdGljCWludAlzaW9fcGNpX2F0dGFjaCBfX1AoKGRldmljZV90 IGRldikpOworIHN0YXRpYwl2b2lkCXNpb19wY2lfa2x1ZGdlX3VuaXQgX19QKChkZXZpY2Vf dCBkZXYpKTsKICBzdGF0aWMJaW50CXNpb19wY2lfcHJvYmUgX19QKChkZXZpY2VfdCBkZXYp KTsKICAjZW5kaWYgLyogTlBDSSA+IDAgKi8KICAKKioqKioqKioqKioqKioqCioqKiAzMzgs MzQ4ICoqKioKICAKICAvKiB0YWJsZSBhbmQgbWFjcm8gZm9yIGZhc3QgY29udmVyc2lvbiBm cm9tIGEgdW5pdCBudW1iZXIgdG8gaXRzIGNvbSBzdHJ1Y3QgKi8KICBzdGF0aWMJZGV2Y2xh c3NfdAlzaW9fZGV2Y2xhc3M7CiEgc3RhdGljCWRldmNsYXNzX3QJc2lvX3BjY2FyZF9kZXZj bGFzczsKISBzdGF0aWMJZGV2Y2xhc3NfdAlzaW9fcGNpX2RldmNsYXNzOwohICNkZWZpbmUg U0lPX01BWFVOSVRTCTY0CQkvKiB1cCB0byA2NCBwb3J0cyAqLwohICNkZWZpbmUJY29tX2Fk ZHIodW5pdCkJKHBfY29tX2FkZHJbdW5pdF0pCiEgc3RhdGljCXN0cnVjdCBjb21fcwkqcF9j b21fYWRkcltTSU9fTUFYVU5JVFNdOwogIAogIHN0YXRpYyBkZXZpY2VfbWV0aG9kX3Qgc2lv X2lzYV9tZXRob2RzW10gPSB7CiAgCS8qIERldmljZSBpbnRlcmZhY2UgKi8KLS0tIDMyOCwz MzUgLS0tLQogIAogIC8qIHRhYmxlIGFuZCBtYWNybyBmb3IgZmFzdCBjb252ZXJzaW9uIGZy b20gYSB1bml0IG51bWJlciB0byBpdHMgY29tIHN0cnVjdCAqLwogIHN0YXRpYwlkZXZjbGFz c190CXNpb19kZXZjbGFzczsKISAjZGVmaW5lCWNvbV9hZGRyKHVuaXQpCSgoc3RydWN0IGNv bV9zICopIFwKISAJCQkgZGV2Y2xhc3NfZ2V0X3NvZnRjKHNpb19kZXZjbGFzcywgdW5pdCkp CiAgCiAgc3RhdGljIGRldmljZV9tZXRob2RfdCBzaW9faXNhX21ldGhvZHNbXSA9IHsKICAJ LyogRGV2aWNlIGludGVyZmFjZSAqLwoqKioqKioqKioqKioqKioKKioqIDM4NSwzOTMgKioq KgogIH07CiAgCiAgc3RhdGljIGRyaXZlcl90IHNpb19wY2lfZHJpdmVyID0gewohIAkic2lv cGNpIiwKICAJc2lvX3BjaV9tZXRob2RzLAohIAlzaXplb2Yoc3RydWN0IG11bHRpY29tKSwK ICB9OwogICNlbmRpZiAvKiBOUENJID4gMCAqLwogIAotLS0gMzcyLDM4MCAtLS0tCiAgfTsK ICAKICBzdGF0aWMgZHJpdmVyX3Qgc2lvX3BjaV9kcml2ZXIgPSB7CiEgCWRyaXZlcl9uYW1l LAogIAlzaW9fcGNpX21ldGhvZHMsCiEgCXNpemVvZihzdHJ1Y3QgY29tX3MpLAogIH07CiAg I2VuZGlmIC8qIE5QQ0kgPiAwICovCiAgCioqKioqKioqKioqKioqKgoqKiogNDMyLDQ0MCAq KioqCiAgc3RhdGljCXN0cnVjdAljYWxsb3V0X2hhbmRsZSBzaW9fdGltZW91dF9oYW5kbGUK ICAgICAgPSBDQUxMT1VUX0hBTkRMRV9JTklUSUFMSVpFUigmc2lvX3RpbWVvdXRfaGFuZGxl KTsKICBzdGF0aWMJaW50CXNpb19udW11bml0czsKLSBzdGF0aWMgIGludCAgICAgc2lvX3Bj aV9udW11bml0cyA9IE5TSU87CiAgCiEgI2RlZmluZSBDT01ESVZJU09SKG9zYyx4KSAgICAg ICAoKChvc2MpIC8gKHgpICsgOCkgLyAxNikKICAKICAjaWZkZWYgQ09NX0VTUAogIC8qIFhY WCBjb25maWd1cmUgdGhpcyBwcm9wZXJseS4gKi8KLS0tIDQxOSw0NDcgLS0tLQogIHN0YXRp YwlzdHJ1Y3QJY2FsbG91dF9oYW5kbGUgc2lvX3RpbWVvdXRfaGFuZGxlCiAgICAgID0gQ0FM TE9VVF9IQU5ETEVfSU5JVElBTElaRVIoJnNpb190aW1lb3V0X2hhbmRsZSk7CiAgc3RhdGlj CWludAlzaW9fbnVtdW5pdHM7CiAgCiEgc3RhdGljCXN0cnVjdCBzcGVlZHRhYiBjb21zcGVl ZHRhYltdID0gewohIAl7IDAsCQkwIH0sCiEgCXsgNTAsCQlDT01CUkQoNTApIH0sCiEgCXsg NzUsCQlDT01CUkQoNzUpIH0sCiEgCXsgMTEwLAkJQ09NQlJEKDExMCkgfSwKISAJeyAxMzQs CQlDT01CUkQoMTM0KSB9LAohIAl7IDE1MCwJCUNPTUJSRCgxNTApIH0sCiEgCXsgMjAwLAkJ Q09NQlJEKDIwMCkgfSwKISAJeyAzMDAsCQlDT01CUkQoMzAwKSB9LAohIAl7IDYwMCwJCUNP TUJSRCg2MDApIH0sCiEgCXsgMTIwMCwJCUNPTUJSRCgxMjAwKSB9LAohIAl7IDE4MDAsCQlD T01CUkQoMTgwMCkgfSwKISAJeyAyNDAwLAkJQ09NQlJEKDI0MDApIH0sCiEgCXsgNDgwMCwJ CUNPTUJSRCg0ODAwKSB9LAohIAl7IDk2MDAsCQlDT01CUkQoOTYwMCkgfSwKISAJeyAxOTIw MCwJQ09NQlJEKDE5MjAwKSB9LAohIAl7IDI4ODAwLAlDT01CUkQoMjg4MDApIH0sCiEgCXsg Mzg0MDAsCUNPTUJSRCgzODQwMCkgfSwKISAJeyA1NzYwMCwJQ09NQlJEKDU3NjAwKSB9LAoh IAl7IDExNTIwMCwJQ09NQlJEKDExNTIwMCkgfSwKISAJeyAtMSwJCS0xIH0KISB9OwogIAog ICNpZmRlZiBDT01fRVNQCiAgLyogWFhYIGNvbmZpZ3VyZSB0aGlzIHByb3Blcmx5LiAqLwoq KioqKioqKioqKioqKioKKioqIDQ0Myw1MDQgKioqKgogICNlbmRpZgogIAogIC8qCi0gICog UmVkZWZpbmUgaW5iL291dGIgdG8gaGFuZGxlIG1lbW9yeS1iYXNlZCBhZGFwdGVycy4KLSAg KiBJdCBpcyBlc3NlbnRpYWwgdGhhdCBQb3J0X3QgY29udGFpbnMgMzItYml0IHZhbHVlLgot ICAqLwotIHN0YXRpYwl1X2NoYXIJc2lvX2luYiBfX1AoKFBvcnRfdCBwb3J0KSk7Ci0gc3Rh dGljCXZvaWQJc2lvX291dGIgX19QKChQb3J0X3QgcG9ydCwgdV9jaGFyIGJ5dGUpKTsKLSBz dGF0aWMJdV9jaGFyCXNpb19nZXRyZWcgX19QKChzdHJ1Y3QgY29tX3MgKmNvbSwgYnVzX3Np emVfdCBvZmYpKTsKLSBzdGF0aWMJdm9pZAlzaW9fc2V0cmVnIF9fUCgoc3RydWN0IGNvbV9z ICpjb20sIGJ1c19zaXplX3Qgb2ZmLCB1X2NoYXIgdmFsKSk7Ci0gCi0gc3RhdGljIF9faW5s aW5lIHVfY2hhciAKLSBzaW9faW5iIChwb3J0KQotIAlQb3J0X3QJCXBvcnQ7Ci0gewotIAlp ZiAocG9ydCAmIH4weGZmZmYpCi0gCQlyZXR1cm4gKih2b2xhdGlsZSB1X2NoYXIqKSBwb3J0 OwotIAlyZXR1cm4gaW5iIChwb3J0KTsKLSB9Ci0gCi0gc3RhdGljIF9faW5saW5lIHZvaWQg Ci0gc2lvX291dGIgKHBvcnQsIGJ5dGUpCi0gCVBvcnRfdAkJcG9ydDsKLSAJdV9jaGFyCQli eXRlOwotIHsKLSAJaWYgKHBvcnQgJiB+MHhmZmZmKQotIAkJKih2b2xhdGlsZSB1X2NoYXIq KSBwb3J0ID0gYnl0ZTsKLSAJZWxzZQotIAkJb3V0YiAocG9ydCwgYnl0ZSk7Ci0gfQotIAot ICN1bmRlZiBpbmIKLSAjdW5kZWYgb3V0YgotICNkZWZpbmUgaW5iKHBvcnQpCXNpb19pbmIg KHBvcnQpCi0gI2RlZmluZSBvdXRiKHBvcnQsdmFsKQlzaW9fb3V0YiAocG9ydCwgdmFsKQot IAotIHN0YXRpYyBfX2lubGluZSB1X2NoYXIgCi0gc2lvX2dldHJlZyAoY29tLCBvZmYpCi0g CXN0cnVjdCBjb21fcwkqY29tOwotIAlidXNfc2l6ZV90CW9mZjsKLSB7Ci0gCWlmICgodW5z aWduZWQpIGNvbS0+YnNoICYgfjB4ZmZmZikKLSAJCXJldHVybiAqKHZvbGF0aWxlIHVfY2hh ciopIChjb20tPmJzaCArIG9mZik7Ci0gCXJldHVybiBidXNfc3BhY2VfcmVhZF8xIChjb20t PmJzdCwgY29tLT5ic2gsIG9mZik7Ci0gfQotIAotIHN0YXRpYyBfX2lubGluZSB2b2lkIAot IHNpb19zZXRyZWcgKGNvbSwgb2ZmLCB2YWwpCi0gCXN0cnVjdCBjb21fcwkqY29tOwotIAli dXNfc2l6ZV90CW9mZjsKLSAJdV9jaGFyCQl2YWw7Ci0gewotIAlpZiAoKHVuc2lnbmVkKSBj b20tPmJzaCAmIH4weGZmZmYpCi0gCQkqKHZvbGF0aWxlIHVfY2hhciopIChjb20tPmJzaCAr IG9mZikgPSB2YWw7Ci0gCWVsc2UKLSAJCWJ1c19zcGFjZV93cml0ZV8xIChjb20tPmJzdCwg Y29tLT5ic2gsIG9mZiwgdmFsKTsKLSB9Ci0gCi0gLyoKICAgKiBoYW5kbGUgc3lzY3RsIHJl YWQvd3JpdGUgcmVxdWVzdHMgZm9yIGNvbnNvbGUgc3BlZWQKICAgKiAKICAgKiBJbiBhZGRp dGlvbiB0byBzZXR0aW5nIGNvbWRlZmF1bHRyYXRlIGZvciBJL08gdGhyb3VnaCAvZGV2L2Nv bnNvbGUsCi0tLSA0NTAsNDU1IC0tLS0KKioqKioqKioqKioqKioqCioqKiA2MjcsNjM2ICoq KioKICAJdV9pbnQzMl90CXR5cGU7CiAgCWNvbnN0IGNoYXIJKmRlc2M7CiAgCWludAkJcmlk OwotIAlpbnQJCW5jaGFuOwkJLyogY2hhbm5lbHMgcGVyIGFkYXB0ZXIgKi8KLSAJaW50CQlp b3N0ZXA7CQkvKiBhZGRyZXNzZXMgcGVyIGNoYW5uZWwgKi8KLSAJaW50CQlmaWZvX3NpemU7 CS8qIGZpZm8gc2l6ZSBpbiBieXRlcyAqLwotIAlpbnQJCWh3X3J0c19jdHM7CS8qIGhhcmR3 YXJlIHJ0cy9jdHMgc3VwcG9ydCAqLwogIH07CiAgCiAgc3RhdGljIHN0cnVjdCBwY2lfaWRz IHBjaV9pZHNbXSA9IHsKLS0tIDU3OCw1ODMgLS0tLQoqKioqKioqKioqKioqKioKKioqIDYz OSw3MTkgKioqKgogIAl7IDB4MDAwMDE1MWYsICJTbWFydExpbmsgNTYzNFBDViBTdXJmUmlk ZXIiLCAweDEwIH0sCiAgCXsgMHgwMTEwMTQwNywgIktvdXRlY2ggSU9GTEVYLTJTIFBDSSBE dWFsIFBvcnQgU2VyaWFsIiwgMHgxMCB9LAogIAl7IDB4MDExMTE0MDcsICJLb3V0ZWNoIElP RkxFWC0yUyBQQ0kgRHVhbCBQb3J0IFNlcmlhbCIsIDB4MTAgfSwKLSAJeyAweGMwMDExMGI1 LCAiQ3Jvbnl4IE9tZWdhLVBDSSBTZXJpYWwgQWRhcHRlciIsIDB4MTgsIDgsIDgsIDY0LCAx IH0sCi0gCXsgMHgwMTU4MTNhOCwgIkNyb255eCBPbWVnYTItUENJIFNlcmlhbCBBZGFwdGVy IiwgLTB4MTAsIDgsIDB4MjAwLCA2NCB9LAotIAl7IDB4MTY4MDEzOTMsICJNb3hhIFRlY2hu b2xvZ2llcyBDMTY4SC9QQ0kiLCAweDAyIH0sCiAgCXsgMHgwMDAwMDAwMCwgTlVMTCwgMCB9 CiAgfTsKICAKLSAvKgotICAqIEZpbmQgdGhlIG9zY2lsbGF0b3IgZnJlcXVlbmN5IG9mIHRo ZSBVQVJULgotICAqLwotIHN0YXRpYyBpbnQgCi0gc2lvX2ZpbmRfZnJlcShjb20pCi0gCXN0 cnVjdCBjb21fcwkqY29tOwotIHsKLSAJaW50IHQwLCBuOwotIAl1X2NoYXIgbHNyOwotIAot IAkvKiBTZXQgdGhlIGxvb3BiYWNrIG1vZGUsIDU3NjAwIGJhdWQuICovCi0gCW91dGIoY29t LT5pbnRyX2N0bF9wb3J0LCAwKTsKLSAJc2lvX3NldHJlZyhjb20sIGNvbV9jZmNyLCBDRkNS X0RMQUIpOwotIAlzaW9fc2V0cmVnKGNvbSwgY29tX2RsYmgsIDApOwotIAlzaW9fc2V0cmVn KGNvbSwgY29tX2RsYmwsIDIpOwotIAlzaW9fc2V0cmVnKGNvbSwgY29tX2NmY3IsIENGQ1Jf OEJJVFMpOwotIAlzaW9fc2V0cmVnKGNvbSwgY29tX2ZpZm8sIDApOwotIAlvdXRiKGNvbS0+ bW9kZW1fY3RsX3BvcnQsIE1DUl9MT09QQkFDSyk7Ci0gCSh2b2lkKSBpbmIgKGNvbS0+bGlu ZV9zdGF0dXNfcG9ydCk7Ci0gCi0gCS8qIENhdGNoIHRoZSB0aWNrLiAqLwotIAl0MCA9IHRp Y2tzOwotIAl3aGlsZSAodGlja3MgPT0gdDApCi0gCQljb250aW51ZTsKLSAKLSAJLyogUnVu IHVudGlsIHRoZSBuZXh0IHRpY2ssIHRyYW5zbWl0dGluZyBkYXRhLiAqLwotIAluID0gMDsK LSAJdDAgPSB0aWNrczsKLSAJd2hpbGUgKHRpY2tzID09IHQwKSB7Ci0gCQlsc3IgPSBpbmIg KGNvbS0+bGluZV9zdGF0dXNfcG9ydCk7Ci0gCQlpZiAobHNyICYgTFNSX1RYUkRZKQotIAkJ CXNpb19zZXRyZWcoY29tLCBjb21fZGF0YSwgMHg1QSk7Ci0gCi0gCQlpZiAobHNyICYgTFNS X1JYUkRZKSB7Ci0gCQkJKHZvaWQpIGluYiAoY29tLT5kYXRhX3BvcnQpOwotIAkJCSsrbjsK LSAJCX0KLSAJfQotIAlvdXRiKGNvbS0+bW9kZW1fY3RsX3BvcnQsIGNvbS0+bWNyX2ltYWdl KTsKLSAJc2lvX3NldHJlZyhjb20sIGNvbV9jZmNyLCBjb20tPmNmY3JfaW1hZ2UpOwotIAlz aW9fc2V0cmVnKGNvbSwgY29tX2ZpZm8sIEZJRk9fUkNWX1JTVCB8IEZJRk9fWE1UX1JTVCB8 IAotIAkJY29tLT5maWZvX2ltYWdlKTsKLSAJaWYgKENPTV9JSVJfVFhSRFlCVUcoY29tLT5m bGFncykpIHsKLSAJCW91dGIoY29tLT5pbnRyX2N0bF9wb3J0LCBJRVJfRVJYUkRZIHwgSUVS X0VSTFMKLSAJCQkJCXwgSUVSX0VNU0MpOwotIAl9IGVsc2UgewotIAkJb3V0Yihjb20tPmlu dHJfY3RsX3BvcnQsIElFUl9FUlhSRFkgfCBJRVJfRVRYUkRZCi0gCQkJCQl8IElFUl9FUkxT IHwgSUVSX0VNU0MpOwotIAl9Ci0gCi0gCW4gPSAobiAqIGh6ICsgNTc2MC8yKSAvIDU3NjA7 Ci0gCWlmIChuID4gNCkgcmV0dXJuIDggKiAxODQzMjAwOwotIAlpZiAobiA+IDIpIHJldHVy biA0ICogMTg0MzIwMDsKLSAJaWYgKG4gPiAxKSByZXR1cm4gMiAqIDE4NDMyMDA7Ci0gCXJl dHVybiAxODQzMjAwOwotIH0KLSAKICBzdGF0aWMgaW50CiAgc2lvX3BjaV9hdHRhY2goZGV2 KQogIAlkZXZpY2VfdAlkZXY7CiAgewogIAl1X2ludDMyX3QJdHlwZTsKICAJc3RydWN0IHBj aV9pZHMJKmlkOwotIAlzdHJ1Y3QgbXVsdGljb20JKmQgPSBkZXZpY2VfZ2V0X3NvZnRjKGRl dik7Ci0gCXN0cnVjdCBjb21fcwkqY29tOwotIAlQb3J0X3QJCWlvYmFzZTsKLSAJYnVzX3Nw YWNlX3RhZ190CWJzdDsKLSAJYnVzX3NwYWNlX2hhbmRsZV90IGJzaCwgYnNoX3BvcnQ7Ci0g CWludAkJcmlkLCBvZmZzZXQsIHMsIGZsYWdzLCBlcnIgPSAwOwogIAogIAl0eXBlID0gcGNp X2dldF9kZXZpZChkZXYpOwogIAlpZCA9IHBjaV9pZHM7Ci0tLSA1ODYsNjAwIC0tLS0KKioq KioqKioqKioqKioqCioqKiA3MjEsNzk2ICoqKioKICAJCWlkKys7CiAgCWlmIChpZC0+ZGVz YyA9PSBOVUxMKQogIAkJcmV0dXJuIChFTlhJTyk7CiAgCiEgCWJ6ZXJvKChjaGFyKilkLCBz aXplb2YoKmQpKTsKISAJcyA9IHNwbGltcCgpOwohIAlkLT5uY2hhbiA9IGlkLT5uY2hhbiA+ IDEgPyBpZC0+bmNoYW4gOiAxOwohIAohIAkvKiBBbGxvY2F0ZSBpL28gcmVnaW9uLiAqLwoh IAlyaWQgPSBpZC0+cmlkID4gMCA/IGlkLT5yaWQgOiAtIGlkLT5yaWQ7CiEgCWQtPnJlcyA9 IGJ1c19hbGxvY19yZXNvdXJjZShkZXYsIGlkLT5yaWQgPiAwID8KISAJCVNZU19SRVNfSU9Q T1JUIDogU1lTX1JFU19NRU1PUlksICZyaWQsIDAsIH4wLCAxLCBSRl9BQ1RJVkUpOwohIAlp ZiAoISBkLT5yZXMpIHsKISAJCXByaW50Zigic2lvJWQ6IGNvdWxkbid0IG1hcCBwb3J0cy9t ZW1vcnlcbiIsIHNpb19wY2lfbnVtdW5pdHMpOwohIAkJZXJyID0gRU5YSU87CiEgCQlnb3Rv IGZhaWw7CiEgCX0KICAKISAJLyogQWxsb2NhdGUgaW50ZXJydXB0LiAqLwohIAlyaWQgPSAw OwohIAlkLT5pcnEgPSBidXNfYWxsb2NfcmVzb3VyY2UoZGV2LCBTWVNfUkVTX0lSUSwgJnJp ZCwgMCwgfjAsIDEsCiEgCQlSRl9TSEFSRUFCTEUgfCBSRl9BQ1RJVkUpOwohIAlpZiAoISBk LT5pcnEpIHsKISAJCXByaW50Zigic2lvJWQ6IGNvdWxkbid0IG1hcCBpbnRlcnJ1cHRcbiIs IHNpb19wY2lfbnVtdW5pdHMpOwohIAkJZXJyID0gRU5YSU87CiEgCQlnb3RvIGZhaWw7CiEg CX0KISAKISAJLyogUmVnaXN0ZXIgdGhlIGludGVycnVwdCBoYW5kbGVyLiAqLwohIAllcnIg PSBidXNfc2V0dXBfaW50cihkZXYsIGQtPmlycSwgSU5UUl9UWVBFX1RUWSB8IElOVFJfVFlQ RV9GQVNULAohIAkJc2lvX3BjaV9pbnRyLCBkLCAmZC0+aW50cmhhbmQpOwohIAlpZiAoZXJy KSB7CiEgCQlwcmludGYoInNpbyVkOiBjb3VsZG4ndCBzZXQgdXAgaXJxXG4iLCBzaW9fcGNp X251bXVuaXRzKTsKISBmYWlsOgkJaWYgKGQtPnJlcykKISAJCQlidXNfcmVsZWFzZV9yZXNv dXJjZShkZXYsIGlkLT5yaWQgPiAwID8gU1lTX1JFU19JT1BPUlQgOgohIAkJCQlTWVNfUkVT X01FTU9SWSwgaWQtPnJpZCwgZC0+cmVzKTsKISAJCWlmIChkLT5pcnEpCiEgCQkJYnVzX3Jl bGVhc2VfcmVzb3VyY2UoZGV2LCBTWVNfUkVTX0lSUSwgMCwgZC0+aXJxKTsKISAJCWdvdG8g ZG9uZTsKISAJfQohIAohIAkvKiBBdHRhY2ggc2lvIHBvcnRzLiAqLwohIAlic3QgPSBybWFu X2dldF9idXN0YWcoZC0+cmVzKTsKISAJYnNoID0gcm1hbl9nZXRfYnVzaGFuZGxlKGQtPnJl cyk7CiEgCWlvYmFzZSA9IGlkLT5yaWQgPiAwID8gcm1hbl9nZXRfc3RhcnQoZC0+cmVzKSA6 CiEgCQkoUG9ydF90KSBybWFuX2dldF92aXJ0dWFsKGQtPnJlcyk7CiEgCWZsYWdzID0gaWQt PmZpZm9fc2l6ZSA8PCAyNDsKISAJaWYgKGlkLT5od19ydHNfY3RzKQohIAkJZmxhZ3MgfD0g MHgyMDAwMDsKISAJb2Zmc2V0ID0gMDsKISAJZm9yIChjb209ZC0+Y29tOyBjb208ZC0+Y29t K2QtPm5jaGFuOyArK2NvbSwgb2Zmc2V0Kz1pZC0+aW9zdGVwKSB7CiEgCQkvKiBHZXQgYSBo YW5kbGUgZm9yIGEgc3VicmVnaW9uIG9mIGFuIGFscmVhZHktbWFwcGVkIAohIAkJICogYXJl YSBvZiBidXMgc3BhY2UuICovCiEgI2lmIHdhaXRpbmdfZm9yX3NvbWVib2R5X3RvX2ltcGxl bWVudF9idXNfc3BhY2Vfc3VicmVnaW9uCiEgCQlpZiAoYnVzX3NwYWNlX3N1YnJlZ2lvbiAo YnN0LCBic2gsIG9mZnNldCwgOCwgJmJzaF9wb3J0KSAhPSAwKSB7CiEgCQkJcHJpbnRmKCJz aW8lZDogY2Fubm90IGdldCBidXMgc3VicmVnaW9uXG4iLCAKISAJCQkJc2lvX3BjaV9udW11 bml0cyk7CiEgCQkJY29udGludWU7CiAgCX0KLSAjZWxzZQotIAkJYnNoX3BvcnQgPSBic2gg KyBvZmZzZXQ7Ci0gI2VuZGlmCi0gCQkvKiBJbnRlcnJ1cHQgZW5hYmxlLCBkbyBpdCBfYmVm b3JlXyBzaW9fYXR0YWNoX3VuaXQuICovCi0gCQlvdXRiIChpb2Jhc2UgKyBvZmZzZXQgKyBj b21fbWNyLCAKLSAJCQlkLT5uY2hhbiA+IDEgPyBNQ1JfSUVOQUJMRSA6IDApOwotIAotIAkJ aWYgKHNpb19hdHRhY2hfdW5pdChjb20sIHNpb19wY2lfbnVtdW5pdHMrKywgaW9iYXNlICsg b2Zmc2V0LAotIAkJICAgIGZsYWdzLCAwLCBic3QsIGJzaF9wb3J0KSAhPSAwKQotIAkJCXBy aW50Zigic2lvJWQ6IGNhbm5vdCBhdHRhY2hcbiIsIHNpb19wY2lfbnVtdW5pdHMpOwotIAl9 Ci0gZG9uZToKLSAJc3BseCAocyk7Ci0gCXJldHVybiBlcnI7CiAgfQogIAogIHN0YXRpYyBp bnQKLS0tIDYwMiw2MzggLS0tLQogIAkJaWQrKzsKICAJaWYgKGlkLT5kZXNjID09IE5VTEwp CiAgCQlyZXR1cm4gKEVOWElPKTsKKyAJc2lvX3BjaV9rbHVkZ2VfdW5pdChkZXYpOworIAly ZXR1cm4gKHNpb2F0dGFjaChkZXYsIGlkLT5yaWQpKTsKKyB9CiAgCiEgLyoKISAgKiBEb24n dCBjdXQgYW5kIHBhc3RlIHRoaXMgdG8gb3RoZXIgZHJpdmVycy4gIEl0IGlzIGEgaG9ycmli bGUga2x1ZGdlCiEgICogd2hpY2ggd2lsbCBmYWlsIHRvIHdvcmsgYW5kIGFsc28gYmUgdW5u ZWNlc3NhcnkgaW4gZnV0dXJlIHZlcnNpb25zLgohICAqLwohIHN0YXRpYyB2b2lkCiEgc2lv X3BjaV9rbHVkZ2VfdW5pdChkZXYpCiEgCWRldmljZV90IGRldjsKISB7CiEgCWRldmNsYXNz X3QJZGM7CiEgCWludAkJZXJyOwohIAlpbnQJCXN0YXJ0OwohIAlpbnQJCXVuaXQ7CiAgCiEg CXVuaXQgPSAwOwohIAlzdGFydCA9IDA7CiEgCXdoaWxlIChyZXNvdXJjZV9pbnRfdmFsdWUo InNpbyIsIHVuaXQsICJwb3J0IiwgJnN0YXJ0KSA9PSAwICYmIAohIAkgICAgc3RhcnQgPiAw KQohIAkJdW5pdCsrOwohIAlpZiAoZGV2aWNlX2dldF91bml0KGRldikgPCB1bml0KSB7CiEg CQlkYyA9IGRldmljZV9nZXRfZGV2Y2xhc3MoZGV2KTsKISAJCXdoaWxlIChkZXZjbGFzc19n ZXRfZGV2aWNlKGRjLCB1bml0KSkKISAJCQl1bml0Kys7CiEgCQlkZXZpY2VfcHJpbnRmKGRl diwgIm1vdmluZyB0byBzaW8lZFxuIiwgdW5pdCk7CiEgCQllcnIgPSBkZXZpY2Vfc2V0X3Vu aXQoZGV2LCB1bml0KTsJLyogRVZJTCBETyBOT1QgQ09QWSAqLwohIAkJaWYgKGVycikKISAJ CQlkZXZpY2VfcHJpbnRmKGRldiwgImVycm9yIG1vdmluZyBkZXZpY2UgJWRcbiIsIGVycik7 CiAgCX0KICB9CiAgCiAgc3RhdGljIGludAoqKioqKioqKioqKioqKioKKioqIDgwNyw4MTMg KioqKgogIAlpZiAoaWQtPmRlc2MgPT0gTlVMTCkKICAJCXJldHVybiAoRU5YSU8pOwogIAlk ZXZpY2Vfc2V0X2Rlc2MoZGV2LCBpZC0+ZGVzYyk7CiEgCXJldHVybiAoMCk7CiAgfQogICNl bmRpZiAvKiBOUENJID4gMCAqLwogIAotLS0gNjQ5LDY1NSAtLS0tCiAgCWlmIChpZC0+ZGVz YyA9PSBOVUxMKQogIAkJcmV0dXJuIChFTlhJTyk7CiAgCWRldmljZV9zZXRfZGVzYyhkZXYs IGlkLT5kZXNjKTsKISAJcmV0dXJuIChzaW9wcm9iZShkZXYsIGlkLT5yaWQpKTsKICB9CiAg I2VuZGlmIC8qIE5QQ0kgPiAwICovCiAgCioqKioqKioqKioqKioqKgoqKiogMTI3MSwxMjgz ICoqKioKICAJaW50CQl4cmlkOwogIHsKICAJc3RydWN0IGNvbV9zCSpjb207CiAgCVBvcnRf dAkJaW9iYXNlOwogIAlpbnQJCXVuaXQ7CiAgCXVfaW50CQlmbGFnczsKICAJaW50CQlyaWQ7 CiAgCXN0cnVjdCByZXNvdXJjZSAqcG9ydDsKICAJaW50CQlyZXQ7Ci0gCWludAkJbm9faXJx OwogIAogIAlyaWQgPSB4cmlkOwogIAlwb3J0ID0gYnVzX2FsbG9jX3Jlc291cmNlKGRldiwg U1lTX1JFU19JT1BPUlQsICZyaWQsCi0tLSAxMTEzLDExMjcgLS0tLQogIAlpbnQJCXhyaWQ7 CiAgewogIAlzdHJ1Y3QgY29tX3MJKmNvbTsKKyAjaWZkZWYgQ09NX0VTUAorIAlQb3J0X3QJ CSplc3BwOworICNlbmRpZgogIAlQb3J0X3QJCWlvYmFzZTsKICAJaW50CQl1bml0OwogIAl1 X2ludAkJZmxhZ3M7CiAgCWludAkJcmlkOwogIAlzdHJ1Y3QgcmVzb3VyY2UgKnBvcnQ7CiAg CWludAkJcmV0OwogIAogIAlyaWQgPSB4cmlkOwogIAlwb3J0ID0gYnVzX2FsbG9jX3Jlc291 cmNlKGRldiwgU1lTX1JFU19JT1BPUlQsICZyaWQsCioqKioqKioqKioqKioqKgoqKiogMTI5 MCwxMzU1ICoqKioKICAJY29tID0gZGV2aWNlX2dldF9zb2Z0YyhkZXYpOwogIAlmbGFncyA9 IGRldmljZV9nZXRfZmxhZ3MoZGV2KTsKICAKLSAjaWZkZWYgQ09NX01VTFRJUE9SVAotIAlp ZiAoQ09NX0lTTVVMVElQT1JUKGZsYWdzKSkgewotIAkJZGV2aWNlX3QgbWFzdGVyZGV2Owot IAotIAkJbWFzdGVyZGV2ID0gZGV2Y2xhc3NfZ2V0X2RldmljZShzaW9fZGV2Y2xhc3MsCi0g CQkgICAgQ09NX01QTUFTVEVSKGZsYWdzKSk7Ci0gCQlub19pcnEgPSAobWFzdGVyZGV2ID09 IE5VTEwgfHwgYnVzX2dldF9yZXNvdXJjZShtYXN0ZXJkZXYsCi0gCQkgICAgU1lTX1JFU19J UlEsIDAsIE5VTEwsIE5VTEwpICE9IDApOwotIAkgfSBlbHNlCi0gI2VuZGlmIC8qIENPTV9N VUxUSVBPUlQgKi8KLSAJbm9faXJxID0gYnVzX2dldF9yZXNvdXJjZShkZXYsIFNZU19SRVNf SVJRLCAwLCBOVUxMLCBOVUxMKSAhPSAwOwotIAotIAlyZXQgPSBzaW9fYXR0YWNoX3VuaXQo Y29tLCB1bml0LCBpb2Jhc2UsIGZsYWdzLCBub19pcnEsCi0gCQlybWFuX2dldF9idXN0YWco cG9ydCksIHJtYW5fZ2V0X2J1c2hhbmRsZShwb3J0KSk7Ci0gCQkKLSAJaWYgKHJldCAhPSAw KSB7Ci0gCQkvKiBMZWF2ZSBpL28gcmVzb3VyY2VzIGFsbG9jYXRlZCBpZiB0aGlzIGlzIGEg YGNuJy1sZXZlbAotIAkJICogY29uc29sZSwgc28gdGhhdCBvdGhlciBkZXZpY2VzIGNhbid0 IHNuYXJmIHRoZW0uICovCi0gCQlpZiAoaW9iYXNlICE9IHNpb2NuaW9iYXNlKQotIAkJCWJ1 c19yZWxlYXNlX3Jlc291cmNlKGRldiwgU1lTX1JFU19JT1BPUlQsIHJpZCwgcG9ydCk7Ci0g CQlyZXR1cm4gcmV0OwotIAl9Ci0gCi0gCXJpZCA9IDA7Ci0gCWNvbS0+aXJxcmVzID0gYnVz X2FsbG9jX3Jlc291cmNlKGRldiwgU1lTX1JFU19JUlEsICZyaWQsIDB1bCwgfjB1bCwgMSwK LSAJICAgIFJGX0FDVElWRSk7Ci0gCWlmIChjb20tPmlycXJlcykgewotIAkJcmV0ID0gQlVT X1NFVFVQX0lOVFIoZGV2aWNlX2dldF9wYXJlbnQoZGV2KSwgZGV2LCBjb20tPmlycXJlcywK LSAJCQkJICAgICBJTlRSX1RZUEVfVFRZIHwgSU5UUl9UWVBFX0ZBU1QsCi0gCQkJCSAgICAg c2lvaW50ciwgY29tLCAmY29tLT5jb29raWUpOwotIAkJaWYgKHJldCkgewotIAkJCXJldCA9 IEJVU19TRVRVUF9JTlRSKGRldmljZV9nZXRfcGFyZW50KGRldiksIGRldiwKLSAJCQkJCSAg ICAgY29tLT5pcnFyZXMsIElOVFJfVFlQRV9UVFksCi0gCQkJCQkgICAgIHNpb2ludHIsIGNv bSwgJmNvbS0+Y29va2llKTsKLSAJCQlpZiAocmV0ID09IDApCi0gCQkJCWRldmljZV9wcmlu dGYoZGV2LCAidW5hYmxlIHRvIGFjdGl2YXRlIGludGVycnVwdCBpbiBmYXN0IG1vZGUgLSB1 c2luZyBub3JtYWwgbW9kZSIpOwotIAkJfQotIAkJaWYgKHJldCkKLSAJCQlkZXZpY2VfcHJp bnRmKGRldiwgImNvdWxkIG5vdCBhY3RpdmF0ZSBpbnRlcnJ1cHRcbiIpOwotIAl9Ci0gCWNv bS0+aW9wb3J0cmVzID0gcG9ydDsKLSAJcmV0dXJuIDA7Ci0gfQotIAotIGludAotIHNpb19h dHRhY2hfdW5pdChjb20sIHVuaXQsIGlvYmFzZSwgZmxhZ3MsIG5vX2lycSwgYnN0LCBic2gp Ci0gIAlzdHJ1Y3QgY29tX3MJKmNvbTsKLSAJaW50CQl1bml0OwotIAlQb3J0X3QJCWlvYmFz ZTsKLSAJdV9pbnQJCWZsYWdzOwotIAlib29sX3QJCW5vX2lycTsKLSAJYnVzX3NwYWNlX3Rh Z190CWJzdDsKLSAJYnVzX3NwYWNlX2hhbmRsZV90IGJzaDsKLSB7Ci0gI2lmZGVmIENPTV9F U1AKLSAJUG9ydF90CQkqZXNwcDsKLSAjZW5kaWYKLSAKLSAJaWYgKHVuaXQgPj0gU0lPX01B WFVOSVRTKQotIAkJcmV0dXJuIEVOWElPOwogIAlpZiAodW5pdCA+PSBzaW9fbnVtdW5pdHMp CiAgCQlzaW9fbnVtdW5pdHMgPSB1bml0ICsgMTsKICAJLyoKLS0tIDExMzQsMTEzOSAtLS0t CioqKioqKioqKioqKioqKgoqKiogMTM2NiwxMzc3ICoqKioKICAJICovCiAgCWJ6ZXJvKGNv bSwgc2l6ZW9mICpjb20pOwogIAljb20tPnVuaXQgPSB1bml0OwohIAljb20tPmJzdCA9IGJz dDsKISAJY29tLT5ic2ggPSBic2g7CiAgCWNvbS0+Y2Zjcl9pbWFnZSA9IENGQ1JfOEJJVFM7 CiAgCWNvbS0+ZHRyX3dhaXQgPSAzICogaHo7CiAgCWNvbS0+bG9zZXNfb3V0aW50cyA9IENP TV9MT1NFU09VVElOVFMoZmxhZ3MpICE9IDA7CiEgCWNvbS0+bm9faXJxID0gbm9faXJxOwog IAljb20tPnR4X2ZpZm9fc2l6ZSA9IDE7CiAgCWNvbS0+b2J1ZnNbMF0ubF9oZWFkID0gY29t LT5vYnVmMTsKICAJY29tLT5vYnVmc1sxXS5sX2hlYWQgPSBjb20tPm9idWYyOwotLS0gMTE1 MCwxMTYyIC0tLS0KICAJICovCiAgCWJ6ZXJvKGNvbSwgc2l6ZW9mICpjb20pOwogIAljb20t PnVuaXQgPSB1bml0OwohIAljb20tPmlvcG9ydHJlcyA9IHBvcnQ7CiEgCWNvbS0+YnN0ID0g cm1hbl9nZXRfYnVzdGFnKHBvcnQpOwohIAljb20tPmJzaCA9IHJtYW5fZ2V0X2J1c2hhbmRs ZShwb3J0KTsKICAJY29tLT5jZmNyX2ltYWdlID0gQ0ZDUl84QklUUzsKICAJY29tLT5kdHJf d2FpdCA9IDMgKiBoejsKICAJY29tLT5sb3Nlc19vdXRpbnRzID0gQ09NX0xPU0VTT1VUSU5U UyhmbGFncykgIT0gMDsKISAJY29tLT5ub19pcnEgPSBidXNfZ2V0X3Jlc291cmNlKGRldiwg U1lTX1JFU19JUlEsIDAsIE5VTEwsIE5VTEwpICE9IDA7CiAgCWNvbS0+dHhfZmlmb19zaXpl ID0gMTsKICAJY29tLT5vYnVmc1swXS5sX2hlYWQgPSBjb20tPm9idWYxOwogIAljb20tPm9i dWZzWzFdLmxfaGVhZCA9IGNvbS0+b2J1ZjI7CioqKioqKioqKioqKioqKgoqKiogMTQwNywx NDEyICoqKioKLS0tIDExOTIsMTIwMyAtLS0tCiAgCQljb20tPml0X2luLmNfaXNwZWVkID0g Y29tLT5pdF9pbi5jX29zcGVlZCA9IFRUWURFRl9TUEVFRDsKICAJaWYgKHNpb3NldHdhdGVy KGNvbSwgY29tLT5pdF9pbi5jX2lzcGVlZCkgIT0gMCkgewogIAkJZW5hYmxlX2ludHIoKTsK KyAJCS8qCisgCQkgKiBMZWF2ZSBpL28gcmVzb3VyY2VzIGFsbG9jYXRlZCBpZiB0aGlzIGlz IGEgYGNuJy1sZXZlbAorIAkJICogY29uc29sZSwgc28gdGhhdCBvdGhlciBkZXZpY2VzIGNh bid0IHNuYXJmIHRoZW0uCisgCQkgKi8KKyAJCWlmIChpb2Jhc2UgIT0gc2lvY25pb2Jhc2Up CisgCQkJYnVzX3JlbGVhc2VfcmVzb3VyY2UoZGV2LCBTWVNfUkVTX0lPUE9SVCwgcmlkLCBw b3J0KTsKICAJCXJldHVybiAoRU5PTUVNKTsKICAJfQogIAllbmFibGVfaW50cigpOwoqKioq KioqKioqKioqKioKKioqIDE0NTYsMTQ2OCAqKioqCiAgCQkJcHJpbnRmKCIgMTY1NTBBIGZp Zm8gZGlzYWJsZWQiKTsKICAJCX0gZWxzZSB7CiAgCQkJY29tLT5oYXNmaWZvID0gVFJVRTsK LSAJCQljb20tPnR4X2ZpZm9fc2l6ZSA9IENPTV9GSUZPU0laRShmbGFncyk7CiAgCQkJaWYg KENPTV9TVDE2NjUwQShmbGFncykpIHsKICAJCQkJY29tLT5zdDE2NjUwYSA9IDE7Ci0gCQkJ CWlmICghIGNvbS0+dHhfZmlmb19zaXplKQogIAkJCQljb20tPnR4X2ZpZm9fc2l6ZSA9IDMy OwogIAkJCQlwcmludGYoIiBTVDE2NjUwQSIpOwogIAkJCX0gZWxzZSB7CiAgCQkJCXByaW50 ZigiIDE2NTUwQSIpOwogIAkJCX0KICAJCX0KLS0tIDEyNDcsMTI1OCAtLS0tCiAgCQkJcHJp bnRmKCIgMTY1NTBBIGZpZm8gZGlzYWJsZWQiKTsKICAJCX0gZWxzZSB7CiAgCQkJY29tLT5o YXNmaWZvID0gVFJVRTsKICAJCQlpZiAoQ09NX1NUMTY2NTBBKGZsYWdzKSkgewogIAkJCQlj b20tPnN0MTY2NTBhID0gMTsKICAJCQkJY29tLT50eF9maWZvX3NpemUgPSAzMjsKICAJCQkJ cHJpbnRmKCIgU1QxNjY1MEEiKTsKICAJCQl9IGVsc2UgeworIAkJCQljb20tPnR4X2ZpZm9f c2l6ZSA9IENPTV9GSUZPU0laRShmbGFncyk7CiAgCQkJCXByaW50ZigiIDE2NTUwQSIpOwog IAkJCX0KICAJCX0KKioqKioqKioqKioqKioqCioqKiAxNDczLDE0ODMgKioqKgogIAkJCQli cmVhazsKICAJCQl9CiAgI2VuZGlmCiEgCQlpZiAoY29tLT5oYXNmaWZvKSB7CiAgCQkJaWYg KCFjb20tPnR4X2ZpZm9fc2l6ZSkKICAJCQkJY29tLT50eF9maWZvX3NpemUgPSAxNjsKICAJ CQllbHNlCiEgCQkJCXByaW50ZigiIHdpdGggJWQgYnl0ZXMgRklGTyIsCiAgCQkJCSAgICBj b20tPnR4X2ZpZm9fc2l6ZSk7CiAgCQl9CiAgCi0tLSAxMjYzLDEyNzMgLS0tLQogIAkJCQli cmVhazsKICAJCQl9CiAgI2VuZGlmCiEgCQlpZiAoIWNvbS0+c3QxNjY1MGEpIHsKICAJCQlp ZiAoIWNvbS0+dHhfZmlmb19zaXplKQogIAkJCQljb20tPnR4X2ZpZm9fc2l6ZSA9IDE2Owog IAkJCWVsc2UKISAJCQkJcHJpbnRmKCIgbG9va2FsaWtlIHdpdGggJWQgYnl0ZXMgRklGTyIs CiAgCQkJCSAgICBjb20tPnR4X2ZpZm9fc2l6ZSk7CiAgCQl9CiAgCioqKioqKioqKioqKioq KgoqKiogMTUxNCwxNTI0ICoqKioKLS0tIDEzMDQsMTMyMCAtLS0tCiAgCiAgI2lmZGVmIENP TV9NVUxUSVBPUlQKICAJaWYgKENPTV9JU01VTFRJUE9SVChmbGFncykpIHsKKyAJCWRldmlj ZV90IG1hc3RlcmRldjsKKyAKICAJCWNvbS0+bXVsdGlwb3J0ID0gVFJVRTsKICAJCXByaW50 ZigiIChtdWx0aXBvcnQiKTsKICAJCWlmICh1bml0ID09IENPTV9NUE1BU1RFUihmbGFncykp CiAgCQkJcHJpbnRmKCIgbWFzdGVyIik7CiAgCQlwcmludGYoIikiKTsKKyAJCW1hc3RlcmRl diA9IGRldmNsYXNzX2dldF9kZXZpY2Uoc2lvX2RldmNsYXNzLAorIAkJICAgIENPTV9NUE1B U1RFUihmbGFncykpOworIAkJY29tLT5ub19pcnEgPSAobWFzdGVyZGV2ID09IE5VTEwgfHwg YnVzX2dldF9yZXNvdXJjZShtYXN0ZXJkZXYsCisgCQkgICAgU1lTX1JFU19JUlEsIDAsIE5V TEwsIE5VTEwpICE9IDApOwogIAkgfQogICNlbmRpZiAvKiBDT01fTVVMVElQT1JUICovCiAg CWlmICh1bml0ID09IGNvbWNvbnNvbGUpCioqKioqKioqKioqKioqKgoqKiogMTUyNywxNTM0 ICoqKioKICAJCXByaW50ZigiIHdpdGggYSBib2d1cyBJSVJfVFhSRFkgcmVnaXN0ZXIiKTsK ICAJcHJpbnRmKCJcbiIpOwogIAotIAljb21fYWRkcih1bml0KSA9IGNvbTsKLSAKICAJaWYg KCFzaW9fcmVnaXN0ZXJlZCkgewogIAkJcmVnaXN0ZXJfc3dpKFNXSV9UVFksIHNpb3BvbGwp OwogIAkJc2lvX3JlZ2lzdGVyZWQgPSBUUlVFOwotLS0gMTMyMywxMzI4IC0tLS0KKioqKioq KioqKioqKioqCioqKiAxNTQ5LDE1NTQgKioqKgotLS0gMTM0MywxMzc2IC0tLS0KICAJY29t LT5wcHMucHBzY2FwID0gUFBTX0NBUFRVUkVBU1NFUlQgfCBQUFNfQ0FQVFVSRUNMRUFSOwog IAlwcHNfaW5pdCgmY29tLT5wcHMpOwogIAorIAlyaWQgPSAwOworIAljb20tPmlycXJlcyA9 IGJ1c19hbGxvY19yZXNvdXJjZShkZXYsIFNZU19SRVNfSVJRLCAmcmlkLCAwdWwsIH4wdWws IDEsCisgCSAgICBSRl9BQ1RJVkUpOworIAlpZiAoY29tLT5pcnFyZXMpIHsKKyAJCXJldCA9 IEJVU19TRVRVUF9JTlRSKGRldmljZV9nZXRfcGFyZW50KGRldiksIGRldiwgY29tLT5pcnFy ZXMsCisgCQkJCSAgICAgSU5UUl9UWVBFX1RUWSB8IElOVFJfVFlQRV9GQVNULAorIAkJCQkg ICAgIHNpb2ludHIsIGNvbSwgJmNvbS0+Y29va2llKTsKKyAJCWlmIChyZXQpIHsKKyAJCQly ZXQgPSBCVVNfU0VUVVBfSU5UUihkZXZpY2VfZ2V0X3BhcmVudChkZXYpLCBkZXYsCisgCQkJ CQkgICAgIGNvbS0+aXJxcmVzLCBJTlRSX1RZUEVfVFRZLAorIAkJCQkJICAgICBzaW9pbnRy LCBjb20sICZjb20tPmNvb2tpZSk7CisgCQkJaWYgKHJldCA9PSAwKQorIAkJCQlkZXZpY2Vf cHJpbnRmKGRldiwgInVuYWJsZSB0byBhY3RpdmF0ZSBpbnRlcnJ1cHQgaW4gZmFzdCBtb2Rl IC0gdXNpbmcgbm9ybWFsIG1vZGVcbiIpOworIAkJfQorIAkJaWYgKHJldCkKKyAJCQlkZXZp Y2VfcHJpbnRmKGRldiwgImNvdWxkIG5vdCBhY3RpdmF0ZSBpbnRlcnJ1cHRcbiIpOworICNp ZiBkZWZpbmVkKEREQikgJiYgKGRlZmluZWQoQlJFQUtfVE9fREVCVUdHRVIpIHx8IFwKKyAg ICAgZGVmaW5lZChBTFRfQlJFQUtfVE9fREVCVUdHRVIpKQorIAkJLyoKKyAJCSAqIEVuYWJs ZSBpbnRlcnJ1cHRzIGZvciBlYXJseSBicmVhay10by1kZWJ1Z2dlciBzdXBwb3J0CisgCQkg KiBvbiB0aGUgY29uc29sZS4KKyAJCSAqLworIAkJaWYgKHJldCA9PSAwICYmIHVuaXQgPT0g Y29tY29uc29sZSkKKyAJCQlvdXRiKHNpb2NuaW9iYXNlICsgY29tX2llciwgSUVSX0VSWFJE WSB8IElFUl9FUkxTIHwKKyAJCQkgICAgSUVSX0VNU0MpOworICNlbmRpZgorIAl9CisgCiAg CXJldHVybiAoMCk7CiAgfQogIAoqKioqKioqKioqKioqKioKKioqIDIwNDgsMjA3NCAqKioq CiAgfQogIAogIHN0YXRpYyB2b2lkCi0gc2lvX3BjaV9pbnRyKGFyZykKLSAJdm9pZAkJKmFy ZzsKLSB7Ci0gCXN0cnVjdCBtdWx0aWNvbQkqZCA9IGFyZzsKLSAJc3RydWN0IGNvbV9zCSpj b207Ci0gCWJvb2xfdAkJcG9zc2libHlfbW9yZV9pbnRyczsKLSAKLSAJZGlzYWJsZV9pbnRy KCk7Ci0gCWRvIHsKLSAJCXBvc3NpYmx5X21vcmVfaW50cnMgPSBGQUxTRTsKLSAJCWZvciAo Y29tPWQtPmNvbTsgY29tPGQtPmNvbStkLT5uY2hhbjsgKytjb20pIHsKLSAJCQlpZiAoKGlu Yihjb20tPmludF9pZF9wb3J0KSAmIElJUl9JTUFTSykgIT0gSUlSX05PUEVORCkgewotIAkJ CQlzaW9pbnRyMShjb20pOwotIAkJCQlwb3NzaWJseV9tb3JlX2ludHJzID0gVFJVRTsKLSAJ CQl9Ci0gCQl9Ci0gCX0gd2hpbGUgKHBvc3NpYmx5X21vcmVfaW50cnMpOwotIAllbmFibGVf aW50cigpOwotIH0KLSAKLSBzdGF0aWMgdm9pZAogIHNpb2ludHIxKGNvbSkKICAJc3RydWN0 IGNvbV9zCSpjb207CiAgewotLS0gMTg3MCwxODc1IC0tLS0KKioqKioqKioqKioqKioqCioq KiAyNTMzLDI1NTkgKioqKgogIAlpZiAodC0+Y19pc3BlZWQgPT0gMCkKICAJCXQtPmNfaXNw ZWVkID0gdC0+Y19vc3BlZWQ7CiAgCiEgCS8qIGNvbnZlcnQgcGFyYW1ldGVycyB0byB0aGUg Y29tIHN0cnVjdCBhbmQgdGhlIGRldmljZSAqLwogIAl1bml0ID0gREVWX1RPX1VOSVQodHAt PnRfZGV2KTsKICAJY29tID0gY29tX2FkZHIodW5pdCk7CiAgCWlmIChjb20gPT0gTlVMTCkK ICAJCXJldHVybiAoRU5PREVWKTsKLSAKLSAJLyogY2hlY2sgcmVxdWVzdGVkIHBhcmFtZXRl cnMgKi8KLSAJaWYgKCEgY29tLT5vc2NpbGxhdG9yKQotIAkJY29tLT5vc2NpbGxhdG9yID0g c2lvX2ZpbmRfZnJlcSAoY29tKTsKLSAJaWYgKHQtPmNfb3NwZWVkID09IDApCi0gCQlkaXZp c29yID0gMDsKLSAJZWxzZSB7Ci0gCQlkaXZpc29yID0gQ09NRElWSVNPUiAoY29tLT5vc2Np bGxhdG9yLCB0LT5jX29zcGVlZCk7Ci0gCQlpZiAoZGl2aXNvciA9PSAwKQotIAkJCWRpdmlz b3IgPSAxOwotIAkJdC0+Y19vc3BlZWQgPSBDT01ESVZJU09SIChjb20tPm9zY2lsbGF0b3Is IGRpdmlzb3IpOwotIAkJdC0+Y19pc3BlZWQgPSB0LT5jX29zcGVlZDsKLSAJfQotIAlpZiAo ZGl2aXNvciA+IDAgJiYgdC0+Y19pc3BlZWQgIT0gdC0+Y19vc3BlZWQpCi0gCQlyZXR1cm4g KEVJTlZBTCk7Ci0gCiAgCXMgPSBzcGx0dHkoKTsKICAJaWYgKGRpdmlzb3IgPT0gMCkKICAJ CSh2b2lkKWNvbW1jdGwoY29tLCBUSU9DTV9EVFIsIERNQklDKTsJLyogaGFuZyB1cCBsaW5l ICovCi0tLSAyMzM0LDIzNDkgLS0tLQogIAlpZiAodC0+Y19pc3BlZWQgPT0gMCkKICAJCXQt PmNfaXNwZWVkID0gdC0+Y19vc3BlZWQ7CiAgCiEgCS8qIGNoZWNrIHJlcXVlc3RlZCBwYXJh bWV0ZXJzICovCiEgCWRpdmlzb3IgPSB0dHNwZWVkdGFiKHQtPmNfb3NwZWVkLCBjb21zcGVl ZHRhYik7CiEgCWlmIChkaXZpc29yIDwgMCB8fCAoZGl2aXNvciA+IDAgJiYgdC0+Y19pc3Bl ZWQgIT0gdC0+Y19vc3BlZWQpKQohIAkJcmV0dXJuIChFSU5WQUwpOwohIAohIAkvKiBwYXJh bWV0ZXJzIGFyZSBPSywgY29udmVydCB0aGVtIHRvIHRoZSBjb20gc3RydWN0IGFuZCB0aGUg ZGV2aWNlICovCiAgCXVuaXQgPSBERVZfVE9fVU5JVCh0cC0+dF9kZXYpOwogIAljb20gPSBj b21fYWRkcih1bml0KTsKICAJaWYgKGNvbSA9PSBOVUxMKQogIAkJcmV0dXJuIChFTk9ERVYp OwogIAlzID0gc3BsdHR5KCk7CiAgCWlmIChkaXZpc29yID09IDApCiAgCQkodm9pZCljb21t Y3RsKGNvbSwgVElPQ01fRFRSLCBETUJJQyk7CS8qIGhhbmcgdXAgbGluZSAqLwoqKioqKioq KioqKioqKioKKioqIDMwODQsMzA5MCAqKioqCiAgCXVfY2hhcgltY3I7CiAgfTsKICAKISBz dGF0aWMgc3BlZWRfdCBzaW9jbmdldHNwZWVkIF9fUCgoUG9ydF90KSk7CiAgc3RhdGljIHZv aWQgc2lvY25jbG9zZQlfX1AoKHN0cnVjdCBzaW9jbnN0YXRlICpzcCwgUG9ydF90IGlvYmFz ZSkpOwogIHN0YXRpYyB2b2lkIHNpb2Nub3BlbglfX1AoKHN0cnVjdCBzaW9jbnN0YXRlICpz cCwgUG9ydF90IGlvYmFzZSwgaW50IHNwZWVkKSk7CiAgc3RhdGljIHZvaWQgc2lvY250eHdh aXQJX19QKChQb3J0X3QgaW9iYXNlKSk7Ci0tLSAyODc0LDI4ODAgLS0tLQogIAl1X2NoYXIJ bWNyOwogIH07CiAgCiEgc3RhdGljIHNwZWVkX3Qgc2lvY25nZXRzcGVlZCBfX1AoKFBvcnRf dCwgc3RydWN0IHNwZWVkdGFiICopKTsKICBzdGF0aWMgdm9pZCBzaW9jbmNsb3NlCV9fUCgo c3RydWN0IHNpb2Nuc3RhdGUgKnNwLCBQb3J0X3QgaW9iYXNlKSk7CiAgc3RhdGljIHZvaWQg c2lvY25vcGVuCV9fUCgoc3RydWN0IHNpb2Nuc3RhdGUgKnNwLCBQb3J0X3QgaW9iYXNlLCBp bnQgc3BlZWQpKTsKICBzdGF0aWMgdm9pZCBzaW9jbnR4d2FpdAlfX1AoKFBvcnRfdCBpb2Jh c2UpKTsKKioqKioqKioqKioqKioqCioqKiAzMTMyLDMxMzkgKioqKgogICAqLwogIAogIHN0 YXRpYyBzcGVlZF90CiEgc2lvY25nZXRzcGVlZChpb2Jhc2UpCiAgCVBvcnRfdCBpb2Jhc2U7 CiAgewogIAlpbnQJY29kZTsKICAJdV9jaGFyCWRsYmg7Ci0tLSAyOTIyLDI5MzAgLS0tLQog ICAqLwogIAogIHN0YXRpYyBzcGVlZF90CiEgc2lvY25nZXRzcGVlZChpb2Jhc2UsIHRhYmxl KQogIAlQb3J0X3QgaW9iYXNlOworIAlzdHJ1Y3Qgc3BlZWR0YWIgKnRhYmxlOwogIHsKICAJ aW50CWNvZGU7CiAgCXVfY2hhcglkbGJoOwoqKioqKioqKioqKioqKioKKioqIDMxNTAsMzE1 NiAqKioqCiAgCiAgCWNvZGUgPSBkbGJoIDw8IDggfCBkbGJsOwogIAohIAlyZXR1cm4gQ09N RElWSVNPUiAoMTg0MzIwMCwgY29kZSk7CiAgfQogIAogIHN0YXRpYyB2b2lkCi0tLSAyOTQx LDI5NTEgLS0tLQogIAogIAljb2RlID0gZGxiaCA8PCA4IHwgZGxibDsKICAKISAJZm9yICg7 IHRhYmxlLT5zcF9zcGVlZCAhPSAtMTsgdGFibGUrKykKISAJCWlmICh0YWJsZS0+c3BfY29k ZSA9PSBjb2RlKQohIAkJCXJldHVybiAodGFibGUtPnNwX3NwZWVkKTsKISAKISAJcmV0dXJu ICgwKTsJLyogZGlkbid0IG1hdGNoIGFueXRoaW5nIHNhbmUgKi8KICB9CiAgCiAgc3RhdGlj IHZvaWQKKioqKioqKioqKioqKioqCioqKiAzMTgxLDMxODcgKioqKgogIAkgKiBkYXRhIGlu cHV0IHJlZ2lzdGVyLiAgVGhpcyBhbHNvIHJlZHVjZXMgdGhlIGVmZmVjdHMgb2YgdGhlCiAg CSAqIFVNQzg2NjlGIGJ1Zy4KICAJICovCiEgCWRpdmlzb3IgPSBDT01ESVZJU09SICgxODQz MjAwLCBzcGVlZCk7CiAgCWRsYmwgPSBkaXZpc29yICYgMHhGRjsKICAJaWYgKHNwLT5kbGJs ICE9IGRsYmwpCiAgCQlvdXRiKGlvYmFzZSArIGNvbV9kbGJsLCBkbGJsKTsKLS0tIDI5NzYs Mjk4MiAtLS0tCiAgCSAqIGRhdGEgaW5wdXQgcmVnaXN0ZXIuICBUaGlzIGFsc28gcmVkdWNl cyB0aGUgZWZmZWN0cyBvZiB0aGUKICAJICogVU1DODY2OUYgYnVnLgogIAkgKi8KISAJZGl2 aXNvciA9IHR0c3BlZWR0YWIoc3BlZWQsIGNvbXNwZWVkdGFiKTsKICAJZGxibCA9IGRpdmlz b3IgJiAweEZGOwogIAlpZiAoc3AtPmRsYmwgIT0gZGxibCkKICAJCW91dGIoaW9iYXNlICsg Y29tX2RsYmwsIGRsYmwpOwoqKioqKioqKioqKioqKioKKioqIDMyNjMsMzI2OSAqKioqCiAg CQkJaW9iYXNlID0gcG9ydDsKICAJCQlzID0gc3BsdHR5KCk7CiAgCQkJaWYgKGJvb3Rob3d0 byAmIFJCX1NFUklBTCkgewohIAkJCQlib290X3NwZWVkID0gc2lvY25nZXRzcGVlZChpb2Jh c2UpOwogIAkJCQlpZiAoYm9vdF9zcGVlZCkKICAJCQkJCWNvbWRlZmF1bHRyYXRlID0gYm9v dF9zcGVlZDsKICAJCQl9Ci0tLSAzMDU4LDMwNjQgLS0tLQogIAkJCWlvYmFzZSA9IHBvcnQ7 CiAgCQkJcyA9IHNwbHR0eSgpOwogIAkJCWlmIChib290aG93dG8gJiBSQl9TRVJJQUwpIHsK ISAJCQkJYm9vdF9zcGVlZCA9IHNpb2NuZ2V0c3BlZWQoaW9iYXNlLCBjb21zcGVlZHRhYik7 CiAgCQkJCWlmIChib290X3NwZWVkKQogIAkJCQkJY29tZGVmYXVsdHJhdGUgPSBib290X3Nw ZWVkOwogIAkJCX0KKioqKioqKioqKioqKioqCioqKiAzNTI3LDM1MzQgKioqKgogIAogIERS SVZFUl9NT0RVTEUoc2lvLCBpc2EsIHNpb19pc2FfZHJpdmVyLCBzaW9fZGV2Y2xhc3MsIDAs IDApOwogICNpZiBOQ0FSRCA+IDAKISBEUklWRVJfTU9EVUxFKHNpbywgcGNjYXJkLCBzaW9f cGNjYXJkX2RyaXZlciwgc2lvX3BjY2FyZF9kZXZjbGFzcywgMCwgMCk7CiAgI2VuZGlmCiAg I2lmIE5QQ0kgPiAwCiEgRFJJVkVSX01PRFVMRShzaW8sIHBjaSwgc2lvX3BjaV9kcml2ZXIs IHNpb19wY2lfZGV2Y2xhc3MsIDAsIDApOwogICNlbmRpZgotLS0gMzMyMiwzMzI5IC0tLS0K ICAKICBEUklWRVJfTU9EVUxFKHNpbywgaXNhLCBzaW9faXNhX2RyaXZlciwgc2lvX2RldmNs YXNzLCAwLCAwKTsKICAjaWYgTkNBUkQgPiAwCiEgRFJJVkVSX01PRFVMRShzaW8sIHBjY2Fy ZCwgc2lvX3BjY2FyZF9kcml2ZXIsIHNpb19kZXZjbGFzcywgMCwgMCk7CiAgI2VuZGlmCiAg I2lmIE5QQ0kgPiAwCiEgRFJJVkVSX01PRFVMRShzaW8sIHBjaSwgc2lvX3BjaV9kcml2ZXIs IHNpb19kZXZjbGFzcywgMCwgMCk7CiAgI2VuZGlmCg== --==_Exmh_-4833217230 Content-Type: text/plain ; name="dmesg"; charset=us-ascii Content-Description: dmesg Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="dmesg" Q29weXJpZ2h0IChjKSAxOTkyLTIwMDEgVGhlIEZyZWVCU0QgUHJvamVjdC4KQ29weXJpZ2h0 IChjKSAxOTc5LCAxOTgwLCAxOTgzLCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkxLCAxOTkyLCAx OTkzLCAxOTk0CglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlh LiBBbGwgcmlnaHRzIHJlc2VydmVkLgpGcmVlQlNEIDQuNC0wMS0xMi0yMDAxLVNUQUJMRSAj MDogVGh1IEphbiAxMCAxNzozMjoyOCBFRVQgMjAwMgogICAgcm9vdEBmcmVlYnNkLmtjbS5i ZzovdXNyL3NyYy9zeXMvY29tcGlsZS9HRU5FUklDClRpbWVjb3VudGVyICJpODI1NCIgIGZy ZXF1ZW5jeSAxMTkzMTgyIEh6CkNQVTogUGVudGl1bSBJSUkvUGVudGl1bSBJSUkgWGVvbi9D ZWxlcm9uICg3NDYuNzYtTUh6IDY4Ni1jbGFzcyBDUFUpCiAgT3JpZ2luID0gIkdlbnVpbmVJ bnRlbCIgIElkID0gMHg2ODMgIFN0ZXBwaW5nID0gMwogIEZlYXR1cmVzPTB4Mzg3ZmJmZjxG UFUsVk1FLERFLFBTRSxUU0MsTVNSLFBBRSxNQ0UsQ1g4LEFQSUMsU0VQLE1UUlIsUEdFLE1D QSxDTU9WLFBBVCxQU0UzNixQTixNTVgsRlhTUixTU0U+CnJlYWwgbWVtb3J5ICA9IDI2ODM2 OTkyMCAoMjYyMDgwSyBieXRlcykKYXZhaWwgbWVtb3J5ID0gMjU2NjY3NjQ4ICgyNTA2NTJL IGJ5dGVzKQpQcmVsb2FkZWQgZWxmIGtlcm5lbCAia2VybmVsIiBhdCAweGMwNDg5MDAwLgpQ ZW50aXVtIFBybyBNVFJSIHN1cHBvcnQgZW5hYmxlZAptZDA6IE1hbGxvYyBkaXNrClVzaW5n ICRQSVIgdGFibGUsIDEyIGVudHJpZXMgYXQgMHhjMDBmZGYwMApucHgwOiA8bWF0aCBwcm9j ZXNzb3I+IG9uIG1vdGhlcmJvYXJkCm5weDA6IElOVCAxNiBpbnRlcmZhY2UKcGNpYjA6IDxJ bnRlbCA4MjQ0M0dYIGhvc3QgdG8gUENJIGJyaWRnZT4gb24gbW90aGVyYm9hcmQKcGNpMDog PFBDSSBidXM+IG9uIHBjaWIwCnBjaWIyOiA8SW50ZWwgODI0NDNHWCAoNDQwIEdYKSBQQ0kt UENJIChBR1ApIGJyaWRnZT4gYXQgZGV2aWNlIDEuMCBvbiBwY2kwCnBjaTE6IDxQQ0kgYnVz PiBvbiBwY2liMgpwY2liMzogPFBDSSB0byBQQ0kgYnJpZGdlICh2ZW5kb3I9MTAxMSBkZXZp Y2U9MDAyMyk+IGF0IGRldmljZSAxNS4wIG9uIHBjaTEKcGNpMjogPFBDSSBidXM+IG9uIHBj aWIzCmFoYzA6IDxBZGFwdGVjIGFpYzc4OTYvOTcgVWx0cmEyIFNDU0kgYWRhcHRlcj4gcG9y dCAweDIwMDAtMHgyMGZmIG1lbSAweGY0MTAwMDAwLTB4ZjQxMDBmZmYgaXJxIDExIGF0IGRl dmljZSAxMi4wIG9uIHBjaTAKYWljNzg5Ni85NzogVWx0cmEyIFdpZGUgQ2hhbm5lbCBBLCBT Q1NJIElkPTcsIDMyLzI1NSBTQ0JzCmFoYzE6IDxBZGFwdGVjIGFpYzc4OTYvOTcgVWx0cmEy IFNDU0kgYWRhcHRlcj4gcG9ydCAweDI0MDAtMHgyNGZmIG1lbSAweGY0MTAxMDAwLTB4ZjQx MDFmZmYgaXJxIDExIGF0IGRldmljZSAxMi4xIG9uIHBjaTAKYWljNzg5Ni85NzogVWx0cmEy IFdpZGUgQ2hhbm5lbCBCLCBTQ1NJIElkPTcsIDMyLzI1NSBTQ0JzCnNpb3BjaTA6IDxNb3hh IFRlY2hub2xvZ2llcyBDMTY4SC9QQ0k+IHBvcnQgMHgyYzIwLTB4MmMyZiwweDI4ODAtMHgy OGJmLDB4MjgwMC0weDI4N2YgaXJxIDUgYXQgZGV2aWNlIDEzLjAgb24gcGNpMApzaW80OiBj b3VsZG4ndCBtYXAgcG9ydHMvbWVtb3J5CmRldmljZV9wcm9iZV9hbmRfYXR0YWNoOiBzaW9w Y2kwIGF0dGFjaCByZXR1cm5lZCA2CmZ4cDA6IDxJbnRlbCBQcm8gMTAvMTAwQi8xMDArIEV0 aGVybmV0PiBwb3J0IDB4MjhjMC0weDI4ZmYgbWVtIDB4ZjQwMDAwMDAtMHhmNDBmZmZmZiww eGY0MTAyMDAwLTB4ZjQxMDJmZmYgaXJxIDEwIGF0IGRldmljZSAxNC4wIG9uIHBjaTAKZnhw MDogRXRoZXJuZXQgYWRkcmVzcyAwMDpkMDpiNzphOTo2ZDo5MQppbnBoeTA6IDxpODI1NTUg MTAvMTAwIG1lZGlhIGludGVyZmFjZT4gb24gbWlpYnVzMAppbnBoeTA6ICAxMGJhc2VULCAx MGJhc2VULUZEWCwgMTAwYmFzZVRYLCAxMDBiYXNlVFgtRkRYLCBhdXRvCmlzYWIwOiA8SW50 ZWwgODIzNzFBQiBQQ0kgdG8gSVNBIGJyaWRnZT4gYXQgZGV2aWNlIDE4LjAgb24gcGNpMApp c2EwOiA8SVNBIGJ1cz4gb24gaXNhYjAKYXRhcGNpMDogPEludGVsIFBJSVg0IEFUQTMzIGNv bnRyb2xsZXI+IHBvcnQgMHgyYzMwLTB4MmMzZiBhdCBkZXZpY2UgMTguMSBvbiBwY2kwCmF0 YTA6IGF0IDB4MWYwIGlycSAxNCBvbiBhdGFwY2kwCmF0YTE6IGF0IDB4MTcwIGlycSAxNSBv biBhdGFwY2kwCnVoY2kwOiA8SW50ZWwgODIzNzFBQi9FQiAoUElJWDQpIFVTQiBjb250cm9s bGVyPiBwb3J0IDB4MmMwMC0weDJjMWYgaXJxIDEwIGF0IGRldmljZSAxOC4yIG9uIHBjaTAK dXNiMDogPEludGVsIDgyMzcxQUIvRUIgKFBJSVg0KSBVU0IgY29udHJvbGxlcj4gb24gdWhj aTAKdXNiMDogVVNCIHJldmlzaW9uIDEuMAp1aHViMDogSW50ZWwgVUhDSSByb290IGh1Yiwg Y2xhc3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDEKdWh1YjA6IDIgcG9ydHMgd2l0aCAy IHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCmNoaXAxOiA8SW50ZWwgODIzNzFBQiBQb3dlciBt YW5hZ2VtZW50IGNvbnRyb2xsZXI+IHBvcnQgMHgxMDQwLTB4MTA0ZiBhdCBkZXZpY2UgMTgu MyBvbiBwY2kwCnBjaTA6IDxDaXJydXMgTG9naWMgR0Q1NDgwIFNWR0EgY29udHJvbGxlcj4g YXQgMjAuMApwY2liMTogPEludGVsIDgyNDQzR1ggaG9zdCB0byBBR1AgYnJpZGdlPiBvbiBt b3RoZXJib2FyZApwY2kzOiA8UENJIGJ1cz4gb24gcGNpYjEKb3JtMDogPE9wdGlvbiBST01z PiBhdCBpb21lbSAweGMwMDAwLTB4YzdmZmYsMHhjODAwMC0weGNkN2ZmLDB4Y2Q4MDAtMHhj ZTdmZiBvbiBpc2EwCmZkYzA6IDxORUMgNzIwNjVCIG9yIGNsb25lPiBhdCBwb3J0IDB4M2Yw LTB4M2Y1LDB4M2Y3IGlycSA2IGRycSAyIG9uIGlzYTAKZmRjMDogRklGTyBlbmFibGVkLCA4 IGJ5dGVzIHRocmVzaG9sZApmZDA6IDwxNDQwLUtCIDMuNSIgZHJpdmU+IG9uIGZkYzAgZHJp dmUgMAphdGtiZGMwOiA8S2V5Ym9hcmQgY29udHJvbGxlciAoaTgwNDIpPiBhdCBwb3J0IDB4 NjAsMHg2NCBvbiBpc2EwCmF0a2JkMDogPEFUIEtleWJvYXJkPiBmbGFncyAweDEgaXJxIDEg b24gYXRrYmRjMAprYmQwIGF0IGF0a2JkMApwc20wOiA8UFMvMiBNb3VzZT4gaXJxIDEyIG9u IGF0a2JkYzAKcHNtMDogbW9kZWwgR2VuZXJpYyBQUy8yIG1vdXNlLCBkZXZpY2UgSUQgMAp2 Z2EwOiA8R2VuZXJpYyBJU0EgVkdBPiBhdCBwb3J0IDB4M2MwLTB4M2RmIGlvbWVtIDB4YTAw MDAtMHhiZmZmZiBvbiBpc2EwCnNjMDogPFN5c3RlbSBjb25zb2xlPiBhdCBmbGFncyAweDEw MCBvbiBpc2EwCnNjMDogVkdBIDwxNiB2aXJ0dWFsIGNvbnNvbGVzLCBmbGFncz0weDMwMD4K c2lvMCBhdCBwb3J0IDB4M2Y4LTB4M2ZmIGlycSA0IGZsYWdzIDB4MTAgb24gaXNhMApzaW8w OiB0eXBlIDE2NTUwQQpzaW8xIGF0IHBvcnQgMHgyZjgtMHgyZmYgaXJxIDMgb24gaXNhMApz aW8xOiB0eXBlIDE2NTUwQQpwcGMwOiA8UGFyYWxsZWwgcG9ydD4gYXQgcG9ydCAweDM3OC0w eDM3ZiBpcnEgNyBvbiBpc2EwCnBwYzA6IEdlbmVyaWMgY2hpcHNldCAoRUNQL1BTMi9OSUJC TEUpIGluIENPTVBBVElCTEUgbW9kZQpwcGMwOiBGSUZPIHdpdGggMTYvMTYvOCBieXRlcyB0 aHJlc2hvbGQKcGxpcDA6IDxQTElQIG5ldHdvcmsgaW50ZXJmYWNlPiBvbiBwcGJ1czAKbHB0 MDogPFByaW50ZXI+IG9uIHBwYnVzMApscHQwOiBJbnRlcnJ1cHQtZHJpdmVuIHBvcnQKcHBp MDogPFBhcmFsbGVsIEkvTz4gb24gcHBidXMwCmFkMDogNjE0OU1CIDxRVUFOVFVNIEZJUkVC QUxMIENYNi40QT4gWzEzMzI4LzE1LzYzXSBhdCBhdGEwLW1hc3RlciBVRE1BMzMKYWNkMDog Q0RST00gPFNPTlkgQ0QtUk9NIENEVTQ4MjE+IGF0IGF0YTEtbWFzdGVyIHVzaW5nIFBJTzQK V2FpdGluZyAxNSBzZWNvbmRzIGZvciBTQ1NJIGRldmljZXMgdG8gc2V0dGxlCk1vdW50aW5n IHJvb3QgZnJvbSB1ZnM6L2Rldi9hZDBzMWEKZGEwIGF0IGFoYzAgYnVzIDAgdGFyZ2V0IDEg bHVuIDAKZGEwOiA8SUJNIEREWVMtVDE4MzUwTiBTOTNFPiBGaXhlZCBEaXJlY3QgQWNjZXNz IFNDU0ktMyBkZXZpY2UgCmRhMDogODAuMDAwTUIvcyB0cmFuc2ZlcnMgKDQwLjAwME1Ieiwg b2Zmc2V0IDYzLCAxNmJpdCksIFRhZ2dlZCBRdWV1ZWluZyBFbmFibGVkCmRhMDogMTc1MDFN QiAoMzU4NDM2NzAgNTEyIGJ5dGUgc2VjdG9yczogMjU1SCA2M1MvVCAyMjMxQykKZGExIGF0 IGFoYzAgYnVzIDAgdGFyZ2V0IDIgbHVuIDAKZGExOiA8SUJNIEREWVMtVDE4MzUwTiBTOTNF PiBGaXhlZCBEaXJlY3QgQWNjZXNzIFNDU0ktMyBkZXZpY2UgCmRhMTogODAuMDAwTUIvcyB0 cmFuc2ZlcnMgKDQwLjAwME1Ieiwgb2Zmc2V0IDYzLCAxNmJpdCksIFRhZ2dlZCBRdWV1ZWlu ZyBFbmFibGVkCmRhMTogMTc1MDFNQiAoMzU4NDM2NzAgNTEyIGJ5dGUgc2VjdG9yczogMjU1 SCA2M1MvVCAyMjMxQykKY2QwIGF0IGFoYzEgYnVzIDAgdGFyZ2V0IDMgbHVuIDAKY2QwOiA8 SFAgQ0QtV3JpdGVyKyA5MjAwIDEuMGM+IFJlbW92YWJsZSBDRC1ST00gU0NTSS00IGRldmlj ZSAKY2QwOiAxMC4wMDBNQi9zIHRyYW5zZmVycyAoMTAuMDAwTUh6LCBvZmZzZXQgMTUpCmNk MDogQXR0ZW1wdCB0byBxdWVyeSBkZXZpY2Ugc2l6ZSBmYWlsZWQ6IE5PVCBSRUFEWSwgTWVk aXVtIG5vdCBwcmVzZW50Cg== --==_Exmh_-4833217230 Content-Type: text/plain; charset=us-ascii Stoian Mishinev Telephone: (359) 32 621250 Digital Systems Ltd. Mobile: (359) 87 425785 8 Bulair Str. Fax: (359) 32 630119 Plovdiv 4000 Email: mishinev@digsys.bg Website: http://www.digsys.bg --==_Exmh_-4833217230-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200201101634.SAA20381>