From owner-freebsd-current@FreeBSD.ORG Wed Jul 28 16:52:25 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F0D0F16A4CE; Wed, 28 Jul 2004 16:52:25 +0000 (GMT) Received: from sakura.ninth-nine.com (sakura.ninth-nine.com [219.127.74.120]) by mx1.FreeBSD.org (Postfix) with ESMTP id DDB6343D6E; Wed, 28 Jul 2004 16:52:24 +0000 (GMT) (envelope-from nork@FreeBSD.org) Received: from nadesico.ninth-nine.com (nadesico.ninth-nine.com [219.127.74.122]) by sakura.ninth-nine.com (8.12.11/8.12.11/NinthNine) with ESMTP id i6SGqMVZ097841; Thu, 29 Jul 2004 01:52:22 +0900 (JST) (envelope-from nork@FreeBSD.org) Date: Thu, 29 Jul 2004 01:52:22 +0900 From: Norikatsu Shigemura To: freebsd-current@FreeBSD.org, developers@FreeBSD.org Message-Id: <20040729015222.0949b382.nork@FreeBSD.org> In-Reply-To: <863c3cqkn2.fsf@kamino.rfc1149.org> References: <41067F70.3010308@hexanet.fr> <863c3cqkn2.fsf@kamino.rfc1149.org> X-Mailer: Sylpheed version 0.9.12-gtk2-20040622 (GTK+ 2.4.4; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Thu__29_Jul_2004_01_52_22_+0900_J9SQZX8UG6XYVLLz" X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.5.3 (sakura.ninth-nine.com [219.127.74.121]); Thu, 29 Jul 2004 01:52:23 +0900 (JST) cc: Arne Schwabe cc: f.hardy@hexanet.fr Subject: Re: Synaptics Touchpad xfree driver hack :) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jul 2004 16:52:26 -0000 This is a multi-part message in MIME format. --Multipart=_Thu__29_Jul_2004_01_52_22_+0900_J9SQZX8UG6XYVLLz Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Anyone, would you please commit attached patch? On Wed, 28 Jul 2004 16:19:45 +0200 Arne Schwabe wrote: > > I have a compaq 2519eu with a synaptics touchpad. > > I was tried your driver, but I can not patch may kernel. > > I am using a freeBSD 4.10 CURRENT. > > Have you got any solutions ? > I have written the Driver for 5-Current, but at the Moment I have no > time for 4.10, but it should not be too difficult if you can do it > yourself, the touchpad should work without the driver but without the > advanced features. I have the driver modified arne's patch to clean up. I am testing from before half a year -- the result is good. --Multipart=_Thu__29_Jul_2004_01_52_22_+0900_J9SQZX8UG6XYVLLz Content-Type: application/octet-stream; name="synaptic-current.diff" Content-Disposition: attachment; filename="synaptic-current.diff" Content-Transfer-Encoding: base64 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CihjZCAvdXNyL3Ny YyAmJiBwYXRjaCAtcDYpIDwgc3luYXB0aWMtY3VycmVudC5kaWZmCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gLy9kZXBvdC92ZW5kb3IvZnJlZWJzZC9z cmMvc3lzL2lzYS9wc20uYwkyMDA0LzA3LzE2IDIyOjA1OjM0CisrKyAvL2RlcG90L3VzZXIvbm9y ay9ub3JrX21vYmlsZS9zeXMvaXNhL3BzbS5jCTIwMDQvMDcvMjggMTY6MDA6MTkKQEAgLTE1OSw2 ICsxNTksNyBAQAogICAgIHN0cnVjdCByZXNvdXJjZSAqaW50cjsJLyogSVJRIHJlc291cmNlICov CiAgICAgdm9pZAkgICppaDsJCS8qIGludGVycnVwdCBoYW5kbGUgKi8KICAgICBtb3VzZWh3X3Qg ICAgIGh3OwkJLyogaGFyZHdhcmUgaW5mb3JtYXRpb24gKi8KKyAgICBzeW5hcHRpY3Nod190IHN5 bmh3OyAgICAvKiBTeW5hcHRpY3Mgc3BlY2lmaWMgaGFyZHdhcmUgaW5mb3JtYXRpb24gKi8KICAg ICBtb3VzZW1vZGVfdCAgIG1vZGU7CQkvKiBvcGVyYXRpb24gbW9kZSAqLwogICAgIG1vdXNlbW9k ZV90ICAgZGZsdF9tb2RlOwkvKiBkZWZhdWx0IG9wZXJhdGlvbiBtb2RlICovCiAgICAgbW91c2Vz dGF0dXNfdCBzdGF0dXM7CS8qIGFjY3VtdWxhdGVkIG1vdXNlIG1vdmVtZW50ICovCkBAIC0yOTAs NiArMjkxLDcgQEAKIHN0YXRpYyBwcm9iZWZ1bmNfdCBlbmFibGVfNGRtb3VzZTsKIHN0YXRpYyBw cm9iZWZ1bmNfdCBlbmFibGVfNGRwbHVzOwogc3RhdGljIHByb2JlZnVuY190IGVuYWJsZV9tbWFu cGx1czsKK3N0YXRpYyBwcm9iZWZ1bmNfdCBlbmFibGVfc3luYXB0aWNzOwogc3RhdGljIHByb2Jl ZnVuY190IGVuYWJsZV92ZXJzYXBhZDsKIHN0YXRpYyBpbnQgdGFtZV9tb3VzZShzdHJ1Y3QgcHNt X3NvZnRjICosIHBhY2tldGJ1Zl90ICosIG1vdXNlc3RhdHVzX3QgKiwgdW5zaWduZWQgY2hhciAq KTsKIApAQCAtMzIzLDYgKzMyNSw4IEBACiAgICAgICAweDgwLCBNT1VTRV9QUzJfUEFDS0VUU0la RSwgZW5hYmxlX2ttb3VzZSwgfSwKICAgICB7IE1PVVNFX01PREVMX1ZFUlNBUEFELAkJLyogSW50 ZXJsaW5rIGVsZWN0cm9uaWNzIFZlcnNhUGFkICovCiAgICAgICAweGU4LCBNT1VTRV9QUzJWRVJT QV9QQUNLRVRTSVpFLCBlbmFibGVfdmVyc2FwYWQsIH0sCisgICAgeyBNT1VTRV9NT0RFTF9TWU5B UFRJQ1MsCQkvKiBTeW5hcHRpY3MgVG91Y2hwYWQgKi8KKyAgICAgIDB4YzAsIE1PVVNFX1NZTkFQ VElDU19QQUNLRVRTSVpFLCBlbmFibGVfc3luYXB0aWNzLCB9LAogICAgIHsgTU9VU0VfTU9ERUxf R0VORVJJQywKICAgICAgIDB4YzAsIE1PVVNFX1BTMl9QQUNLRVRTSVpFLCBOVUxMLCB9LAogfTsK QEAgLTU3OCw2ICs1ODIsNyBAQAogICAgICAgICB7IE1PVVNFX01PREVMX0VYUExPUkVSLAkJIklu dGVsbGlNb3VzZSBFeHBsb3JlciIgfSwKICAgICAgICAgeyBNT1VTRV9NT0RFTF80RCwJCSI0RCBN b3VzZSIgfSwKICAgICAgICAgeyBNT1VTRV9NT0RFTF80RFBMVVMsCQkiNEQrIE1vdXNlIiB9LAor ICAgICAgICB7IE1PVVNFX01PREVMX1NZTkFQVElDUywJIlN5bmFwdGljcyBUb3VjaHBhZCIgfSwK ICAgICAgICAgeyBNT1VTRV9NT0RFTF9HRU5FUklDLAkJIkdlbmVyaWMgUFMvMiBtb3VzZSIgfSwK ICAgICAgICAgeyBNT1VTRV9NT0RFTF9VTktOT1dOLAkJTlVMTCB9LAogICAgIH07CkBAIC0xNzE5 LDYgKzE3MjQsMTIgQEAKIAlzcGx4KHMpOwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgTU9V U0VfU1lOR0VUSFdJTkZPOgorCXMgPSBzcGx0dHkoKTsKKwkqKHN5bmFwdGljc2h3X3QgKilhZGRy ID0gc2MtPnN5bmh3OworCXNwbHgocyk7CisJYnJlYWs7CisKICAgICBjYXNlIE9MRF9NT1VTRV9H RVRNT0RFOgogCXMgPSBzcGx0dHkoKTsKIAlzd2l0Y2ggKHNjLT5tb2RlLmxldmVsKSB7CkBAIC0x ODk2LDYgKzE5MDcsMjggQEAKIAl1bmJsb2NrX21vdXNlX2RhdGEoc2MsIGNvbW1hbmRfYnl0ZSk7 CiAJYnJlYWs7CiAKKyAgICBjYXNlIE1PVVNFX1NZTkFQVElDU19DTUQ6CisJaWYgKHNjLT5ody5t b2RlbCAhPSBNT1VTRV9NT0RFTF9TWU5BUFRJQ1MgfHwgc2MtPm1vZGUubGV2ZWwgPCBQU01fTEVW RUxfTkFUSVZFKQorCQlyZXR1cm4gRUlOVkFMOworCisJbW91c2VfZXh0X2NvbW1hbmQoc2MtPmti ZGMsICooaW50ICopYWRkcik7IAorCXNldF9tb3VzZV9zYW1wbGluZ19yYXRlKHNjLT5rYmRjLCAw eDAwMTQpOworCWJyZWFrOworCisgICAgY2FzZSBNT1VTRV9TWU5BUFRJQ1NfSU5GTzoKKwlpZiAo c2MtPmh3Lm1vZGVsICE9IE1PVVNFX01PREVMX1NZTkFQVElDUyB8fCBzYy0+bW9kZS5sZXZlbCA8 IFBTTV9MRVZFTF9OQVRJVkUpCisJCXJldHVybiBFSU5WQUw7CisKKwltb3VzZV9leHRfY29tbWFu ZChzYy0+a2JkYywgKihpbnQgKilhZGRyKTsgCisJc2VuZF9hdXhfY29tbWFuZChzYy0+a2JkYywg UFNNQ19TRU5EX0RFVl9TVEFUVVMpOworCXNldF9tb3VzZV9zYW1wbGluZ19yYXRlKHNjLT5rYmRj LCAweDAwMTQpOworCWJyZWFrOworCisgICAgY2FzZSBNT1VTRV9TWU5BUFRJQ1NfRU5BQkxFX1BB U1NUSFJPVUdIOgorCWlmIChzYy0+aHcubW9kZWwgIT0gTU9VU0VfTU9ERUxfU1lOQVBUSUNTIHx8 IHNjLT5tb2RlLmxldmVsIDwgUFNNX0xFVkVMX05BVElWRSkKKwkJcmV0dXJuIEVJTlZBTDsKKwli cmVhazsKKwogI2lmIChkZWZpbmVkKE1PVVNFX1NFVFJFU09MVVRJT04pKQogICAgIGNhc2UgTU9V U0VfU0VUUkVTT0xVVElPTjoKIAltb2RlLnJlc29sdXRpb24gPSAqKGludCAqKWFkZHI7CkBAIC0y MTU0LDcgKzIxODcsNyBAQAogICAgIH07CiAgICAgcmVnaXN0ZXIgc3RydWN0IHBzbV9zb2Z0YyAq c2MgPSBhcmc7CiAgICAgbW91c2VzdGF0dXNfdCBtczsKLSAgICBpbnQgeCwgeSwgejsKKyAgICBp bnQgeCwgeSwgeiwgdzsKICAgICBpbnQgYzsKICAgICBpbnQgbDsKICAgICBpbnQgeDAsIHkwOwpA QCAtMjQ0NCw2ICsyNDc3LDg1IEBACiAJICAgIH0KIAkgICAgYnJlYWs7CiAKKwljYXNlIE1PVVNF X01PREVMX1NZTkFQVElDUzoKKwkgICAgLyogVG91Y2hQYWQgUFMvMiBhYnNvbHV0ZSBtb2RlIG1l c3NhZ2UgZm9ybWF0CisJICAgICAqCisJICAgICAqICBCaXRzOiAgICAgICAgNyAgIDYgICA1ICAg NCAgIDMgICAyICAgMSAgIDAgKExTQikKKwkgICAgICogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCSAgICAgKiAgaXBhY2tldFswXTogIDEgICAwICBX MyAgVzIgICAwICBXMSAgIFIgICBMCisJICAgICAqICBpcGFja2V0WzFdOiBZYiAgWWEgIFk5ICBZ OCAgWGIgIFhhICBYOSAgWDgKKwkgICAgICogIGlwYWNrZXRbMl06IFo3ICBaNiAgWjUgIFo0ICBa MyAgWjIgIFoxICBaMAorCSAgICAgKiAgaXBhY2tldFszXTogIDEgICAxICBZYyAgWGMgICAwICBX MCAgIEQgICBVCisJICAgICAqICBpcGFja2V0WzRdOiBYNyAgWDYgIFg1ICBYNCAgWDMgIFgyICBY MSAgWDAKKwkgICAgICogIGlwYWNrZXRbNV06IFk3ICBZNiAgWTUgIFk0ICBZMyAgWTIgIFkxICBZ MAorCSAgICAgKgorCSAgICAgKiBMZWdlbmQ6CisJICAgICAqICBMOiBsZWZ0IHBoeXNpY2FsIG1v dXNlIGJ1dHRvbgorCSAgICAgKiAgUjogcmlnaHQgcGh5c2ljYWwgbW91c2UgYnV0dG9uCisJICAg ICAqICBEOiBkb3duIGJ1dHRvbgorCSAgICAgKiAgVTogdXAgYnV0dG9uCisJICAgICAqICBXOiAi d3Jpc3QiIHZhbHVlCisJICAgICAqICBYOiB4IHBvc2l0aW9uCisJICAgICAqICBZOiB4IHBvc2l0 aW9uCisJICAgICAqICBaOiBwcmVzc3VyZQorCSAgICAgKgorCSAgICAgKiBBYnNvbHV0ZSByZXBv cnRhYmxlIGxpbWl0czogICAgMCAtIDYxNDMuCisJICAgICAqIFR5cGljYWwgYmV6ZWwgbGltaXRl czogICAgICAxNDcyIC0gNTQ3Mi4KKwkgICAgICogVHlwaWNhbCBlZGdlIG1hcmluZ3M6ICAgICAg IDE2MzIgLSA1MzEyLgorCSAgICAgKiB3ID0gMyBQYXNzdGhyb3VnaCBQYWNrZXQKKwkgICAgICog KEkgaG9wZSBJIGd1ZXNzZWQgcmlnaHQsIGJ1dCBsb29rcyBhcyBpZiBJIGhhZCBsdWNrIDopKQor CSAgICAgKgorCSAgICAgKiBCeXRlIDIsNSw2ID09IEJ5dGUgMSwyLDMgb2YgIkd1ZXN0IgorCSAg ICAgKi8KKworCSAgICAvKiBTYW5pdHkgY2hlY2sgZm9yIG91dCBvZiBzeW5jIHBhY2tldHMuICov CisJICAgIGlmICgocGItPmlwYWNrZXRbMF0gJiAweGM4KSAhPSAweDgwIHx8IChwYi0+aXBhY2tl dFszXSAmIDB4YzgpICE9IDB4YzApCisJCWNvbnRpbnVlOworCisJICAgIHggPSB5ID0geDAgPSB5 MCA9IDA7CisKKwkgICAgLyogcHJlc3N1cmUgKi8KKwkgICAgeiA9IHBiLT5pcGFja2V0WzJdOwor CSAgICB3ID0gKChwYi0+aXBhY2tldFswXSAmIDB4MzApID4+IDIpIHwKKwkJKChwYi0+aXBhY2tl dFswXSAmIDB4MDQpID4+IDEpIHwKKwkJKChwYi0+aXBhY2tldFszXSAmIDB4MDQpID4+IDIpOwor CisJICAgIG1zLmJ1dHRvbiA9IDA7CisJICAgIGlmIChwYi0+aXBhY2tldFswXSAmIDB4MDEpCisJ CW1zLmJ1dHRvbiB8PSBNT1VTRV9CVVRUT04xRE9XTjsKKwkgICAgaWYgKHBiLT5pcGFja2V0WzBd ICYgMHgwMikKKwkJbXMuYnV0dG9uIHw9IE1PVVNFX0JVVFRPTjNET1dOOworCisJICAgIGlmICgo cGItPmlwYWNrZXRbM10gJiAweDAxKSAmJiAhKHBiLT5pcGFja2V0WzBdICYgMHgwMSkpCisJCW1z LmJ1dHRvbiB8PSBNT1VTRV9CVVRUT04yRE9XTjsKKwkgICAgaWYgKChwYi0+aXBhY2tldFszXSAm IDB4MDIpICYmICEocGItPmlwYWNrZXRbMF0gJiAweDAyKSkKKwkJbXMuYnV0dG9uIHw9IE1PVVNF X0JVVFRPTjRET1dOOworCisJICAgIC8qIFRoZXJlIGlzIGEgZmluZ2VyIG9uIHRoZSBwYWQgKi8K KwkgICAgaWYgKCh3ID49IDQgJiYgdyA8PSA3KSAmJiAoeiA+PSAxNiAmJiB6IDwgMjAwKSApIHsK KwkJeDAgPSAoKHBiLT5pcGFja2V0WzNdICYgMHgxMCkgPDwgOCkgfCAoKHBiLT5pcGFja2V0WzFd ICYgMHgwZikgPDwgOCkgfAorCQkgICAgcGItPmlwYWNrZXRbNF07CisJCXkwID0gKChwYi0+aXBh Y2tldFszXSAmIDB4MjApIDw8IDcpIHwgKChwYi0+aXBhY2tldFsxXSAmIDB4ZjApIDw8IDQpIHwK KwkJICAgIHBiLT5pcGFja2V0WzVdOworCisJCWlmIChzYy0+ZmxhZ3MgJiBQU01fRkxBR1NfRklO R0VSRE9XTikgeworCQkgICAgeDAgPSAoeDAgKyBzYy0+eG9sZCAqIDMpIC8gNDsKKwkJICAgIHkw ID0gKHkwICsgc2MtPnlvbGQgKiAzKSAvIDQ7CisKKwkJICAgIHggPSAoeDAgLSBzYy0+eG9sZCkg LyA0OworCQkgICAgeSA9ICh5MCAtIHNjLT55b2xkKSAvIDQ7CisJCX0gZWxzZSB7CisJCSAgICBz Yy0+ZmxhZ3MgfD0gUFNNX0ZMQUdTX0ZJTkdFUkRPV047CisJCX0KKworCQlzYy0+eG9sZCA9IHgw OworCQlzYy0+eW9sZCA9IHkwOworCSAgICB9IGVsc2UgeworCQlzYy0+ZmxhZ3MgJj0gflBTTV9G TEFHU19GSU5HRVJET1dOOworCSAgICB9CisJICAgIHogPSAwOworCSAgICBicmVhazsKKwogCWNh c2UgTU9VU0VfTU9ERUxfR0VORVJJQzoKIAlkZWZhdWx0OgogCSAgICBicmVhazsKQEAgLTI2Njcs NiArMjc3OSwxMjYgQEAKICAgICByZXR1cm4gVFJVRTsKIH0KIAorLyogU3luYXB0aWNzIFRvdWNo cGFkICovCitzdGF0aWMgaW50CitlbmFibGVfc3luYXB0aWNzKHN0cnVjdCBwc21fc29mdGMgKnNj KQoreworICAgIGludCBzdGF0dXNbM107CisKKyAgICBLQkRDIGtiZGMgPSBzYy0+a2JkYzsKKwor ICAgIGRpc2FibGVfYXV4X2RldihrYmRjKTsKKyAgICBzZXRfbW91c2Vfc2NhbGluZyhrYmRjLCAx KTsgIC8qIEp1c3QgdG8gYmUgb24gdGhlIHNhZmUgc2lkZSAqLworIAorICAgIGlmKCFtb3VzZV9l eHRfY29tbWFuZChrYmRjLCAwKSkKKwlyZXR1cm4gRkFMU0U7CisKKyAgICBpZiggZ2V0X21vdXNl X3N0YXR1cyhrYmRjLCBzdGF0dXMsIDAsIDMpICE9IDMpCisJcmV0dXJuIEZBTFNFOworCisgICAg aWYoc3RhdHVzWzFdICE9IDB4NDcpCS8qIElmIGl0IGlzIGEgU3luYXB0aWNzIGJ5dGUyIGlzICQ0 NyAqLworCXJldHVybiBGQUxTRTsKKworICAgIC8qIElkZW50aWZ5IHRoZSBUb3VjaHBhZCB2ZXJz aW9uIG51bWJlciAqLworICAgIHNjLT5zeW5ody5pbmZvTWlub3IgPSBzdGF0dXNbMF07CS8qIHRo ZSBmaXJzdCBCeXRlIGNvbnRhaW5zIHRoZSBtaW5vciB2ZXJzaW9uIG51bWJlciAqLworICAgIC8q IHRoZSBsb3dlciA0IGJpdHMgb2YgdGhpcmQgQnl0ZSBjb250YWluIHRoZSBpbmZvTWFqb3IgKi8K KyAgICAvKiB0aGUgdXBwZXIgNCBiaXRzIG9mIHRoaXJkIEJ5dGUgY29udGFpbiB0aGUgKG9ic29s dGUpIGluZm9Nb2RlbENvZGUgKi8KKyAgICBzYy0+c3luaHcuaW5mb01ham9yID0gc3RhdHVzWzJd ICYgMHgwZjsKKyAgICBpZih2ZXJib3NlID49IDIpIHsKKwlwcmludGYoIlN5bmFwdGljcyBUb3Vj aHBhZDpcbiIpOworCXByaW50ZigiICBWZXJzaW9uOiAlZC4lZFxuIiwgc2MtPnN5bmh3LmluZm9N YWpvciwgc2MtPnN5bmh3LmluZm9NaW5vcik7CisgICAgfQorCisgICAgaWYoc2MtPnN5bmh3Lmlu Zm9NYWpvciA8IDQpIHsKKwlwcmludGYoIlN5bmFwdGljcyBwcmlvciBWZXJzaW9uIDQgZGV0ZWN0 ZWQsIHRoaXMgaXMgbm90ICh5ZXQ/KSBzdXBwb3J0ZWRcbiIpOworCXJldHVybiBGQUxTRTsKKyAg ICB9CisKKyAgICBpZighbW91c2VfZXh0X2NvbW1hbmQoa2JkYywgMykpCisJcmV0dXJuIEZBTFNF OworCisgICAgaWYoZ2V0X21vdXNlX3N0YXR1cyhrYmRjLCBzdGF0dXMsIDAsIDMpICE9IDMpCisJ cmV0dXJuIEZBTFNFOworCisgICAgaWYoKHN0YXR1c1sxXSAmIDB4MDEpICE9IDApIHsKKwlwcmlu dGYoIiAgQ291bGQgbm90IHJlYWQgTW9kZWwgaWQgQnl0ZXMgZnJvbSB0aGUgVG91Y2hwYWQiKTsK KwlyZXR1cm4gRkFMU0U7CisgICAgfQorCisgICAgc2MtPnN5bmh3LmluZm9Sb3QxODAgICA9IChz dGF0dXNbMF0gJiAweDgwKSA+PiA3OworICAgIHNjLT5zeW5ody5pbmZvUG9ydHJhaXQgPSAoc3Rh dHVzWzBdICYgMHg0MCkgPj4gNjsKKyAgICBzYy0+c3luaHcuaW5mb1NlbnNvciAgID0gIHN0YXR1 c1swXSAmIDB4M2Y7CisgICAgc2MtPnN5bmh3LmluZm9IYXJkd2FyZSA9IChzdGF0dXNbMV0gJiAw eGZlKSA+PiAxOworICAgIHNjLT5zeW5ody5pbmZvTmV3QWJzICAgPSAoc3RhdHVzWzJdICYgMHg4 MCkgPj4gNzsKKyAgICBzYy0+c3luaHcuY2FwUGVuICAgICAgID0gKHN0YXR1c1syXSAmIDB4NDAp ID4+IDY7CisgICAgc2MtPnN5bmh3LmluZm9TaW1wbEMgICA9IChzdGF0dXNbMl0gJiAweDIwKSA+ PiA1OworICAgIHNjLT5zeW5ody5pbmZvR2VvbWV0cnkgPSAgc3RhdHVzWzJdICYgMHgwZjsKKyAg ICBpZih2ZXJib3NlID49IDIpIHsKKwlwcmludGYoIiAgTW9kZWwgaWQ6ICUwMnggJTAyeCAlMDJ4 XG4iLCBzdGF0dXNbMF0gLCBzdGF0dXNbMV0gLCBzdGF0dXNbMl0pOworCXByaW50ZigiIGluZm9S b3QxODA6ICVkXG4iLHNjLT5zeW5ody5pbmZvUm90MTgwKTsKKwlwcmludGYoIiBpbmZvUG9ydHJh aXQ6ICVkXG4iLHNjLT5zeW5ody5pbmZvUG9ydHJhaXQpOworCXByaW50ZigiIGluZm9TZW5zb3I6 ICVkXG4iLHNjLT5zeW5ody5pbmZvU2Vuc29yKTsKKwlwcmludGYoIiBpbmZvSGFyZHdhcmU6ICVk XG4iLHNjLT5zeW5ody5pbmZvSGFyZHdhcmUpOworCXByaW50ZigiIGluZm9OZXdBYnM6ICVkXG4i LHNjLT5zeW5ody5pbmZvTmV3QWJzKTsKKwlwcmludGYoIiBjYXBQZW46ICVkXG4iLHNjLT5zeW5o dy5jYXBQZW4pOworCXByaW50ZigiIGluZm9TaW1wbEM6ICVkXG4iLHNjLT5zeW5ody5pbmZvU2lt cGxDKTsKKwlwcmludGYoIiBpbmZvR2VvbWV0cnk6ICVkXG4iLHNjLT5zeW5ody5pbmZvR2VvbWV0 cnkpOworICAgIH0KKworICAgIGlmKCFtb3VzZV9leHRfY29tbWFuZChrYmRjLCAyKSkKKwlyZXR1 cm4gRkFMU0U7CisKKyAgICBpZihnZXRfbW91c2Vfc3RhdHVzKGtiZGMsIHN0YXR1cywgMCwgMykg IT0gMykKKwlyZXR1cm4gRkFMU0U7CisKKyAgICBpZihzdGF0dXNbMV0gIT0gMHg0NykgeworCXBy aW50ZigiICBDb3VsZCBub3QgcmVhZCBDYXBhYmlsaXRpZXMgZnJvbSB0aGUgVG91Y2hwYWRcbiIp OworCXJldHVybiBGQUxTRTsKKyAgICB9CisKKyAgICBzYy0+c3luaHcuY2FwRXh0ZW5kZWQgICAg PSAoc3RhdHVzWzBdICYgMHg4MCkgPj4gNzsKKyAgICBzYy0+c3luaHcuY2FwUGFzc3Rocm91Z2gg PSAoc3RhdHVzWzJdICYgMHg4MCkgPj4gNzsKKyAgICBzYy0+c3luaHcuY2FwU2xlZXAgICAgICAg PSAoc3RhdHVzWzJdICYgMHgxMCkgPj4gNDsKKyAgICBzYy0+c3luaHcuY2FwRm91ckJ1dHRvbnMg PSAoc3RhdHVzWzJdICYgMHgwOCkgPj4gMzsKKyAgICBzYy0+c3luaHcuY2FwTXVsdGlGaW5nZXIg PSAoc3RhdHVzWzJdICYgMHgwMikgPj4gMTsKKyAgICBzYy0+c3luaHcuY2FwUGFsbURldGVjdCAg PSAoc3RhdHVzWzJdICYgMHgwMSk7CisgICAgaWYodmVyYm9zZSA+PSAyKSB7CisJcHJpbnRmKCIg IENhcGFiaWxpdHkgQnl0ZXM6ICUwMnggJTAyeCAlMDJ4XG4iLCBzdGF0dXNbMF0sIHN0YXR1c1sx XSwgc3RhdHVzWzJdKTsKKyAgICB9CisKKworICAgIGlmKCFtb3VzZV9leHRfY29tbWFuZChrYmRj LCAxKSkKKwlyZXR1cm4gRkFMU0U7CisKKyAgICBpZihnZXRfbW91c2Vfc3RhdHVzKGtiZGMsIHN0 YXR1cywgMCwgMykgIT0gMykKKwlyZXR1cm4gRkFMU0U7CisKKyAgICBpZihzdGF0dXNbMF0gIT0g MHgzYiB8fCBzdGF0dXNbMV0gIT0gMHg0NykgeworCXByaW50ZigiICBDb3VsZCBub3QgcmVhZCBN b2RlIEJ5dGUgZnJvbSB0aGUgVG91Y2hwYWRcbiIpOworCXJldHVybiBGQUxTRTsKKyAgICB9CisK KyAgICBpZih2ZXJib3NlID49IDIpCisgICAgICBwcmludGYoIiAgTW9kZSBCeXRlIHNldCBieSBC aW9zOiAlMDJ4XG4iICwgc3RhdHVzWzJdKTsKKworICAgIC8qIE1vZGUgQnl0ZQorCTEgKGFic29s dXRlKQorCTEgcmF0ZSAoMCA9IDQwLzEgPSA4MCkKKwkwCisJMCAocmVzZXJ2ZWQpCisJMCAoU2xl ZXAgKE9ubHkgYnV0dG9ucykpCisJMCBEaXNHZXN0IChub3QgZm9yIGFic29sdXRlIE1vZGUpCisJ MCBwa3RzaXplICgwIGZvciBwczIpCisJMSB3bW9kZQorICAgICAqLworICAgIHNjLT5ody5idXR0 b25zID0gMzsKKworICAgIG1vdXNlX2V4dF9jb21tYW5kKGtiZGMsIDB4YzEpOwkvKiBlbmNvZGUg bW9kZSBieXRlICovCisgICAgc2V0X21vdXNlX3NhbXBsaW5nX3JhdGUoa2JkYywgMHgwMDE0KTsg Lyogc2V0IG1vZGUgYnl0ZSAqLworCisgICAgcmV0dXJuIFRSVUU7Cit9CisKIC8qIEtlbnNpbmd0 b24gVGhpbmtpbmdNb3VzZS9UcmFja2JhbGwgKi8KIHN0YXRpYyBpbnQKIGVuYWJsZV9rbW91c2Uo c3RydWN0IHBzbV9zb2Z0YyAqc2MpCi0tLSAvL2RlcG90L3ZlbmRvci9mcmVlYnNkL3NyYy9zeXMv c3lzL21vdXNlLmgJMjAwMi8wMy8yNCAwMzoxMDoxNgorKysgLy9kZXBvdC91c2VyL25vcmsvbm9y a19tb2JpbGUvc3lzL3N5cy9tb3VzZS5oCTIwMDQvMDQvMTEgMTY6MTE6MzYKQEAgLTQwLDYgKzQw LDEwIEBACiAjZGVmaW5lIE1PVVNFX1NFVFZBUlMJCV9JT1coJ00nLCA3LCBtb3VzZXZhcl90KQog I2RlZmluZSBNT1VTRV9SRUFEU1RBVEUJCV9JT1dSKCdNJywgOCwgbW91c2VkYXRhX3QpCiAjZGVm aW5lIE1PVVNFX1JFQUREQVRBCQlfSU9XUignTScsIDksIG1vdXNlZGF0YV90KQorI2RlZmluZSBN T1VTRV9TWU5BUFRJQ1NfQ01ECV9JT1coJ00nLCAxMCwgY2hhcikKKyNkZWZpbmUgTU9VU0VfU1lO QVBUSUNTX0lORk8JX0lPVygnTScsIDExLCBjaGFyKQorI2RlZmluZSBNT1VTRV9TWU5BUFRJQ1Nf RU5BQkxFX1BBU1NUSFJPVUdICV9JT1coJ00nLCAxMiwgY2hhcikKKyNkZWZpbmUgTU9VU0VfU1lO R0VUSFdJTkZPCV9JT1IoJ00nLCAxMywgc3luYXB0aWNzaHdfdCkKIAogI2lmIG5vdHlldAogI2Rl ZmluZSBNT1VTRV9TRVRSRVNPTFVUSU9OCV9JT1coJ00nLCAxMCwgaW50KQpAQCAtODgsNiArOTIs MjUgQEAKIAkJCQkgKi8KIH0gbW91c2Vod190OwogCit0eXBlZGVmIHN0cnVjdCBzeW5hcHRpY3No dyB7CisJaW50IGluZm9NYWpvcjsKKwlpbnQgaW5mb01pbm9yOworCWludCBpbmZvUm90MTgwOwor CWludCBpbmZvUG9ydHJhaXQ7CisJaW50IGluZm9TZW5zb3I7CisJaW50IGluZm9IYXJkd2FyZTsK KwlpbnQgaW5mb05ld0FiczsKKwlpbnQgY2FwUGVuOworCWludCBpbmZvU2ltcGxDOworCWludCBp bmZvR2VvbWV0cnk7CisJaW50IGNhcEV4dGVuZGVkOworCWludCBjYXBTbGVlcDsKKwlpbnQgY2Fw Rm91ckJ1dHRvbnM7CisJaW50IGNhcE11bHRpRmluZ2VyOworCWludCBjYXBQYWxtRGV0ZWN0Owor CWludCBjYXBQYXNzdGhyb3VnaDsKK30gc3luYXB0aWNzaHdfdDsKKwogLyogaWZ0eXBlICovCiAj ZGVmaW5lIE1PVVNFX0lGX1VOS05PV04JKC0xKQogI2RlZmluZSBNT1VTRV9JRl9TRVJJQUwJCTAK QEAgLTExOSw2ICsxNDIsNyBAQAogI2RlZmluZSBNT1VTRV9NT0RFTF9FWFBMT1JFUgkJMTAKICNk ZWZpbmUgTU9VU0VfTU9ERUxfNEQJCQkxMQogI2RlZmluZSBNT1VTRV9NT0RFTF80RFBMVVMJCTEy CisjZGVmaW5lIE1PVVNFX01PREVMX1NZTkFQVElDUwkJMTMKIAogdHlwZWRlZiBzdHJ1Y3QgbW91 c2Vtb2RlIHsKIAlpbnQgcHJvdG9jb2w7CQkvKiBNT1VTRV9QUk9UT19YWFggKi8KQEAgLTE4NSw2 ICsyMDksMTAgQEAKIAogI2VuZGlmIC8qIE1PVVNFX0dFVFZBUlMgKi8KIAorLyogU3luYXB0aWNz IFRvdWNocGFkICovCisjZGVmaW5lIE1PVVNFX1NZTkFQVElDU19QQUNLRVRTSVpFCTYKKy8qIFBh Y2tldHNpemUgNiBpcyB0aGUgcmVhbCBwYWNrZXRzaXplIGJ1dCB0aGF0IDMgd29ya3MgYmV0dGVy IDopICovCisKIC8qIE1pY3Jvc29mdCBTZXJpYWwgbW91c2UgZGF0YSBwYWNrZXQgKi8KICNkZWZp bmUgTU9VU0VfTVNTX1BBQ0tFVFNJWkUJMwogI2RlZmluZSBNT1VTRV9NU1NfU1lOQ01BU0sJMHg0 MAo= --Multipart=_Thu__29_Jul_2004_01_52_22_+0900_J9SQZX8UG6XYVLLz--