From owner-acpi-jp@jp.FreeBSD.org Wed Jul 16 05:41:57 2003
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id h6FKfvM40167;
	Wed, 16 Jul 2003 05:41:57 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from rootlabs.com (root.org [67.118.192.226])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with SMTP/inet id h6FKfuT40162
	for <acpi-jp@jp.FreeBSD.org>; Wed, 16 Jul 2003 05:41:57 +0900 (JST)
	(envelope-from nate@rootlabs.com)
Received: (qmail 20688 invoked by uid 1000); 15 Jul 2003 20:41:52 -0000
From: Nate Lawson <nate@root.org>
To: acpi-jp@jp.FreeBSD.org
cc: takawata@freebsd.org, imp@bsdimp.com
In-Reply-To: <20030715133552.Q20667@root.org>
Message-ID: <20030715134134.E20667@root.org>
References: <20030715133552.Q20667@root.org>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="0-619937743-1058301712=:20667"
Reply-To: acpi-jp@jp.FreeBSD.org
Precedence: list
Date: Tue, 15 Jul 2003 13:41:52 -0700
X-Sequence: acpi-jp 2461
Subject: [acpi-jp 2461] Re: PATCH: ecdt support for EC (do not use!)
Sender: owner-acpi-jp@jp.FreeBSD.org
X-Originator: nate@root.org
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+030702

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

--0-619937743-1058301712=:20667
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Tue, 15 Jul 2003, Nate Lawson wrote:
> This patch is not ready for use (it panics after acpi_ec_attach) but I'd
> like some input on it.  On my laptop, it fixes probe for cbb and gets rid
> of all the acpi warnings.

Patch is attached.
--0-619937743-1058301712=:20667
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ec-ecdt.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <20030715134152.K20667@root.org>
Content-Description: 
Content-Disposition: attachment; filename="ec-ecdt.diff"

SW5kZXg6IGFjcGkuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp
bGU6IC9ob21lL25jdnMvc3JjL3N5cy9kZXYvYWNwaWNhL2FjcGkuYyx2DQpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuOTENCmRpZmYgLXUgLXIxLjkxIGFjcGku
Yw0KLS0tIGFjcGkuYwkxMyBKdWwgMjAwMyAyMjo1NzoxNiAtMDAwMAkxLjkx
DQorKysgYWNwaS5jCTE1IEp1bCAyMDAzIDIwOjA4OjQ4IC0wMDAwDQpAQCAt
MjYsNyArMjYsNyBAQA0KICAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YN
CiAgKiBTVUNIIERBTUFHRS4NCiAgKg0KLSAqCSRGcmVlQlNEOiBzcmMvc3lz
L2Rldi9hY3BpY2EvYWNwaS5jLHYgMS45MSAyMDAzLzA3LzEzIDIyOjU3OjE2
IG5qbCBFeHAgJA0KKyAqCSRGcmVlQlNEJA0KICAqLw0KIA0KICNpbmNsdWRl
ICJvcHRfYWNwaS5oIg0KQEAgLTM4Miw2ICszODIsMTIgQEANCiAJZGV2aWNl
X3ByaW50ZihkZXYsICJjb3VsZCBub3QgZW5hYmxlIEFDUEk6ICVzXG4iLCBB
Y3BpRm9ybWF0RXhjZXB0aW9uKHN0YXR1cykpOw0KIAlnb3RvIG91dDsNCiAg
ICAgfQ0KKw0KKyAgICAvKg0KKyAgICAgKiBDYWxsIHRoZSBFQ0RUIHByb2Jl
IGZ1bmN0aW9uIHRvIHByb3ZpZGUgRUMgZnVuY3Rpb25hbGl0eSBiZWZvcmUN
CisgICAgICogdGhlIG5hbWVzcGFjZSBoYXMgYmVlbiBldmFsdWF0ZWQuDQor
ICAgICAqLw0KKyAgICBhY3BpX2VjX2VjZHRfcHJvYmUoZGV2KTsNCiANCiAg
ICAgaWYgKEFDUElfRkFJTFVSRShzdGF0dXMgPSBBY3BpSW5pdGlhbGl6ZU9i
amVjdHMoZmxhZ3MpKSkgew0KIAlkZXZpY2VfcHJpbnRmKGRldiwgImNvdWxk
IG5vdCBpbml0aWFsaXplIEFDUEkgb2JqZWN0czogJXNcbiIsIEFjcGlGb3Jt
YXRFeGNlcHRpb24oc3RhdHVzKSk7DQpJbmRleDogYWNwaV9lYy5jDQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMv
c3lzL2Rldi9hY3BpY2EvYWNwaV9lYy5jLHYNCnJldHJpZXZpbmcgcmV2aXNp
b24gMS4zMw0KZGlmZiAtdSAtcjEuMzMgYWNwaV9lYy5jDQotLS0gYWNwaV9l
Yy5jCTE1IEp1bCAyMDAzIDE5OjI0OjM2IC0wMDAwCTEuMzMNCisrKyBhY3Bp
X2VjLmMJMTUgSnVsIDIwMDMgMjA6MDk6MDMgLTAwMDANCkBAIC0yNSw3ICsy
NSw3IEBADQogICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRg0KICAqIFNV
Q0ggREFNQUdFLg0KICAqDQotICoJJEZyZWVCU0Q6IHNyYy9zeXMvZGV2L2Fj
cGljYS9hY3BpX2VjLmMsdiAxLjMzIDIwMDMvMDcvMTUgMTk6MjQ6MzYgbmps
IEV4cCAkDQorICoJJEZyZWVCU0QkDQogICovDQogLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKg0KICAqDQpAQCAtMTQwLDYgKzE0MCw3IEBA
DQogI2luY2x1ZGUgPHN5cy9wYXJhbS5oPg0KICNpbmNsdWRlIDxzeXMva2Vy
bmVsLmg+DQogI2luY2x1ZGUgPHN5cy9idXMuaD4NCisjaW5jbHVkZSA8c3lz
L21hbGxvYy5oPg0KIA0KICNpbmNsdWRlIDxtYWNoaW5lL2J1cy5oPg0KICNp
bmNsdWRlIDxtYWNoaW5lL3Jlc291cmNlLmg+DQpAQCAtMjIxLDYgKzIyMiwx
NiBAQA0KICNkZWZpbmUgRUNfU0VUX0NTUihzYywgdikJCQkJCQlcDQogCWJ1
c19zcGFjZV93cml0ZV8xKChzYyktPmVjX2Nzcl90YWcsIChzYyktPmVjX2Nz
cl9oYW5kbGUsIDAsICh2KSkNCiANCisvKiBFbWJlZGRlZCBDb250cm9sbGVy
IEJvb3QgUmVzb3VyY2VzIFRhYmxlIChFQ0RUKSAqLw0KK3R5cGVkZWYgc3Ry
dWN0IHsNCisgICAgQUNQSV9UQUJMRV9IRUFERVIJCWhlYWRlcjsNCisgICAg
QUNQSV9HRU5FUklDX0FERFJFU1MJY29udHJvbDsNCisgICAgQUNQSV9HRU5F
UklDX0FERFJFU1MJZGF0YTsNCisgICAgVUlOVDMyCQkJdWlkOw0KKyAgICBV
SU5UOAkJCWdwZV9iaXQ7DQorICAgIGNoYXIJCQllY19pZFswXTsNCit9IEFD
UElfVEFCTEVfRUNEVDsNCisNCiAvKg0KICAqIERyaXZlciBzb2Z0Yy4NCiAg
Ki8NCkBAIC0yMzksNiArMjUwLDcgQEANCiAgICAgYnVzX3NwYWNlX3RhZ190
CWVjX2Nzcl90YWc7DQogICAgIGJ1c19zcGFjZV9oYW5kbGVfdAllY19jc3Jf
aGFuZGxlOw0KIA0KKyAgICBpbnQJCQllY191aWQ7DQogICAgIGludAkJCWVj
X2dsazsNCiAgICAgaW50CQkJZWNfZ2xraGFuZGxlOw0KICAgICBzdHJ1Y3Qg
bXR4CQllY19tdHg7DQpAQCAtMzA3LDEzICszMTksMTEgQEANCiAJCQkJVUlO
VDggKkRhdGEpOw0KIHN0YXRpYyBBQ1BJX1NUQVRVUwlFY1dyaXRlKHN0cnVj
dCBhY3BpX2VjX3NvZnRjICpzYywgVUlOVDggQWRkcmVzcywNCiAJCQkJVUlO
VDggKkRhdGEpOw0KLXN0YXRpYyB2b2lkCQlhY3BpX2VjX2lkZW50aWZ5KGRy
aXZlcl90IGRyaXZlciwgZGV2aWNlX3QgYnVzKTsNCiBzdGF0aWMgaW50CQlh
Y3BpX2VjX3Byb2JlKGRldmljZV90IGRldik7DQogc3RhdGljIGludAkJYWNw
aV9lY19hdHRhY2goZGV2aWNlX3QgZGV2KTsNCiANCiBzdGF0aWMgZGV2aWNl
X21ldGhvZF90IGFjcGlfZWNfbWV0aG9kc1tdID0gew0KICAgICAvKiBEZXZp
Y2UgaW50ZXJmYWNlICovDQotICAgIERFVk1FVEhPRChkZXZpY2VfaWRlbnRp
ZnksCWFjcGlfZWNfaWRlbnRpZnkpLA0KICAgICBERVZNRVRIT0QoZGV2aWNl
X3Byb2JlLAlhY3BpX2VjX3Byb2JlKSwNCiAgICAgREVWTUVUSE9EKGRldmlj
ZV9hdHRhY2gsCWFjcGlfZWNfYXR0YWNoKSwNCiANCkBAIC0zMjksMTkgKzMz
OSw5OCBAQA0KIHN0YXRpYyBkZXZjbGFzc190IGFjcGlfZWNfZGV2Y2xhc3M7
DQogRFJJVkVSX01PRFVMRShhY3BpX2VjLCBhY3BpLCBhY3BpX2VjX2RyaXZl
ciwgYWNwaV9lY19kZXZjbGFzcywgMCwgMCk7DQogDQorLyogVGVtcG9yYXJ5
IHNvZnRjIGZvciBFQ0RUIHJvdXRpbmVzLiAqLw0KK3N0YXRpYyBzdHJ1Y3Qg
YWNwaV9lY19zb2Z0YyAqc2NfZWNkdDsNCisNCiAvKg0KLSAqIExvb2sgZm9y
IGFuIEVDRFQgdGFibGUgYW5kIGlmIHdlIGZpbmQgb25lLCBzZXQgdXAgYSBk
ZWZhdWx0IEVDIA0KLSAqIHNwYWNlIGhhbmRsZXIgdG8gY2F0Y2ggcG9zc2li
bGUgYXR0ZW1wdHMgdG8gYWNjZXNzIEVDIHNwYWNlIGJlZm9yZQ0KKyAqIExv
b2sgZm9yIGFuIEVDRFQgYW5kIGlmIHdlIGZpbmQgb25lLCBzZXQgdXAgZGVm
YXVsdCBHUEUgYW5kIA0KKyAqIHNwYWNlIGhhbmRsZXJzIHRvIGNhdGNoIGF0
dGVtcHRzIHRvIGFjY2VzcyBFQyBzcGFjZSBiZWZvcmUNCiAgKiB3ZSBoYXZl
IGEgcmVhbCBkcml2ZXIgaW5zdGFuY2UgaW4gcGxhY2UuDQotICogV2UncmUg
bm90IHJlYWxseSBhbiBpZGVudGlmeSByb3V0aW5lLCBidXQgYmVjYXVzZSB3
ZSBnZXQgY2FsbGVkIA0KLSAqIGJlZm9yZSBtb3N0IG90aGVyIHRoaW5ncywg
dGhpcyB3b3JrcyBvdXQgT0suDQogICovDQotc3RhdGljIHZvaWQNCi1hY3Bp
X2VjX2lkZW50aWZ5KGRyaXZlcl90IGRyaXZlciwgZGV2aWNlX3QgYnVzKQ0K
K3ZvaWQNCithY3BpX2VjX2VjZHRfcHJvYmUoZGV2aWNlX3QgZGV2KQ0KIHsN
CisgICAgQUNQSV9UQUJMRV9FQ0RUCSplY2R0Ow0KKyAgICBBQ1BJX1NUQVRV
UwkJIHN0YXR1czsNCisNCiAgICAgQUNQSV9GVU5DVElPTl9UUkFDRSgoY2hh
ciAqKSh1aW50cHRyX3QpX19mdW5jX18pOw0KIA0KLSAgICAvKiBYWFggaW1w
bGVtZW50IC0gbmVlZCBhbiBBQ1BJIDIuMCBzeXN0ZW0gdG8gdGVzdCB0aGlz
ICovDQorICAgIC8qIEZpbmQgYW5kIHZhbGlkYXRlIHRoZSBFQ0RULiAqLw0K
KyAgICBzdGF0dXMgPSBBY3BpR2V0RmlybXdhcmVUYWJsZSgiRUNEVCIsIDEs
IEFDUElfTE9HSUNBTF9BRERSRVNTSU5HLCANCisJCShBQ1BJX1RBQkxFX0hF
QURFUiAqKikmZWNkdCk7DQorICAgIGlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVz
KSB8fA0KKwllY2R0LT5jb250cm9sLlJlZ2lzdGVyQml0V2lkdGggIT0gOCB8
fA0KKwllY2R0LT5kYXRhLlJlZ2lzdGVyQml0V2lkdGggIT0gOCkgew0KKwly
ZXR1cm47DQorICAgIH0NCisNCisgICAgLyogQ3JlYXRlIGEgdGVtcG9yYXJ5
IHNvZnRjIGZvciB0aGlzIGRldmljZS4gKi8NCisgICAgTUFMTE9DKHNjX2Vj
ZHQsIHN0cnVjdCBhY3BpX2VjX3NvZnRjICosIHNpemVvZigqc2NfZWNkdCks
IE1fREVWQlVGLA0KKwkgICBNX05PV0FJVCB8IE1fWkVSTyk7DQorICAgIHN0
YXR1cyA9IEFjcGlHZXRIYW5kbGUoTlVMTCwgZWNkdC0+ZWNfaWQsICZzY19l
Y2R0LT5lY19oYW5kbGUpOw0KKyAgICBpZiAoQUNQSV9GQUlMVVJFKHN0YXR1
cykpIHsNCisJcHJpbnRmKCJFQ0RUOiBjYW4ndCBnZXQgaGFuZGxlXG4iKTsN
CisJZ290byBvdXQ7DQorICAgIH0NCisgICAgc2NfZWNkdC0+ZWNfZGV2ID0g
ZGV2Ow0KKyAgICBzY19lY2R0LT5lY19wb2xsZGVsYXkgPSBFQ19QT0xMX0RF
TEFZOw0KKyAgICBzY19lY2R0LT5lY19ncGViaXQgPSBlY2R0LT5ncGVfYml0
Ow0KKyAgICBzY19lY2R0LT5lY19nbGsgPSAxOw0KKyAgICBzY19lY2R0LT5l
Y191aWQgPSBlY2R0LT51aWQ7DQorICAgIG10eF9pbml0KCZzY19lY2R0LT5l
Y19tdHgsICJBQ1BJIEVDRFQiLCBOVUxMLCBNVFhfREVGKTsNCisNCisgICAg
LyogQXR0YWNoIGJ1cyByZXNvdXJjZXMgZm9yIGRhdGEgYW5kIGNvbW1hbmQv
c3RhdHVzIHBvcnRzLiAqLw0KKyAgICBzY19lY2R0LT5lY19kYXRhX3JpZCA9
IDA7DQorICAgIHNjX2VjZHQtPmVjX2RhdGFfcmVzID0gYnVzX2FsbG9jX3Jl
c291cmNlKHNjX2VjZHQtPmVjX2RldiwgU1lTX1JFU19JT1BPUlQsDQorCQkJ
JnNjX2VjZHQtPmVjX2RhdGFfcmlkLCBlY2R0LT5kYXRhLkFkZHJlc3MsDQor
CQkJZWNkdC0+ZGF0YS5BZGRyZXNzLCAxLCBSRl9BQ1RJVkUpOw0KKyAgICBp
ZiAoc2NfZWNkdC0+ZWNfZGF0YV9yZXMgPT0gTlVMTCkgew0KKwlwcmludGYo
IkVDRFQ6IGNhbid0IGFsbG9jYXRlIGRhdGEgcG9ydFxuIik7DQorCWdvdG8g
b3V0Ow0KKyAgICB9DQorICAgIHNjX2VjZHQtPmVjX2RhdGFfdGFnID0gcm1h
bl9nZXRfYnVzdGFnKHNjX2VjZHQtPmVjX2RhdGFfcmVzKTsNCisgICAgc2Nf
ZWNkdC0+ZWNfZGF0YV9oYW5kbGUgPSBybWFuX2dldF9idXNoYW5kbGUoc2Nf
ZWNkdC0+ZWNfZGF0YV9yZXMpOw0KKw0KKyAgICBzY19lY2R0LT5lY19jc3Jf
cmlkID0gMTsNCisgICAgc2NfZWNkdC0+ZWNfY3NyX3JlcyA9IGJ1c19hbGxv
Y19yZXNvdXJjZShzY19lY2R0LT5lY19kZXYsIFNZU19SRVNfSU9QT1JULA0K
KwkJCSZzY19lY2R0LT5lY19jc3JfcmlkLCBlY2R0LT5jb250cm9sLkFkZHJl
c3MsDQorCQkJZWNkdC0+Y29udHJvbC5BZGRyZXNzLCAxLCBSRl9BQ1RJVkUp
Ow0KKyAgICBpZiAoc2NfZWNkdC0+ZWNfY3NyX3JlcyA9PSBOVUxMKSB7DQor
CXByaW50ZigiRUNEVDogY2FuJ3QgYWxsb2NhdGUgY29tbWFuZC9zdGF0dXMg
cG9ydFxuIik7DQorCWdvdG8gb3V0Ow0KKyAgICB9DQorICAgIHNjX2VjZHQt
PmVjX2Nzcl90YWcgPSBybWFuX2dldF9idXN0YWcoc2NfZWNkdC0+ZWNfY3Ny
X3Jlcyk7DQorICAgIHNjX2VjZHQtPmVjX2Nzcl9oYW5kbGUgPSBybWFuX2dl
dF9idXNoYW5kbGUoc2NfZWNkdC0+ZWNfY3NyX3Jlcyk7DQorDQorICAgIHN0
YXR1cyA9IEFjcGlJbnN0YWxsR3BlSGFuZGxlcihOVUxMLCBzY19lY2R0LT5l
Y19ncGViaXQsDQorCQlBQ1BJX0VWRU5UX0VER0VfVFJJR0dFUkVELCAmRWNH
cGVIYW5kbGVyLCBzY19lY2R0KTsNCisgICAgaWYgKEFDUElfRkFJTFVSRShz
dGF0dXMpKSB7DQorCXByaW50ZigiRUNEVDogY2FuJ3QgaW5zdGFsbCBHUEUg
aGFuZGxlclxuIik7DQorCWdvdG8gb3V0Ow0KKyAgICB9DQorDQorICAgIHN0
YXR1cyA9IEFjcGlJbnN0YWxsQWRkcmVzc1NwYWNlSGFuZGxlcihBQ1BJX1JP
T1RfT0JKRUNULCBBQ1BJX0FEUl9TUEFDRV9FQywNCisJCSZFY1NwYWNlSGFu
ZGxlciwgJkVjU3BhY2VTZXR1cCwgc2NfZWNkdCk7DQorICAgIGlmIChBQ1BJ
X0ZBSUxVUkUoc3RhdHVzKSkgew0KKwlwcmludGYoIkVDRFQ6IGNhbid0IGlu
c3RhbGwgYWRkcmVzcyBzcGFjZSBoYW5kbGVyXG4iKTsNCisJQWNwaVJlbW92
ZUdwZUhhbmRsZXIoTlVMTCwgc2NfZWNkdC0+ZWNfZ3BlYml0LCAmRWNHcGVI
YW5kbGVyKTsNCisJZ290byBvdXQ7DQorICAgIH0NCisNCisgICAgcmV0dXJu
Ow0KKw0KK291dDoNCisgICAgaWYgKHNjX2VjZHQtPmVjX2Nzcl9yZXMpIHsN
CisJYnVzX3JlbGVhc2VfcmVzb3VyY2Uoc2NfZWNkdC0+ZWNfZGV2LCBTWVNf
UkVTX0lPUE9SVCwNCisJCQkgICAgIHNjX2VjZHQtPmVjX2Nzcl9yaWQsIHNj
X2VjZHQtPmVjX2Nzcl9yZXMpOw0KKyAgICB9DQorICAgIGlmIChzY19lY2R0
LT5lY19kYXRhX3Jlcykgew0KKwlidXNfcmVsZWFzZV9yZXNvdXJjZShzY19l
Y2R0LT5lY19kZXYsIFNZU19SRVNfSU9QT1JULA0KKwkJCSAgICAgc2NfZWNk
dC0+ZWNfZGF0YV9yaWQsIHNjX2VjZHQtPmVjX2RhdGFfcmVzKTsNCisgICAg
fQ0KKyAgICBtdHhfZGVzdHJveSgmc2NfZWNkdC0+ZWNfbXR4KTsNCisgICAg
RlJFRShzY19lY2R0LCBNX0RFVkJVRik7DQorICAgIHNjX2VjZHQgPSBOVUxM
Ow0KIH0NCiANCiAvKg0KQEAgLTM3MSw3ICs0NjAsNyBAQA0KIHsNCiAgICAg
c3RydWN0IGFjcGlfZWNfc29mdGMJKnNjOw0KICAgICBBQ1BJX1NUQVRVUwkJ
CVN0YXR1czsNCi0gICAgaW50CQkJCWVycnZhbCA9IDA7DQorICAgIGludAkJ
CQllcnJ2YWwgPSAwLCB1aWQ7DQogDQogICAgIEFDUElfRlVOQ1RJT05fVFJB
Q0UoKGNoYXIgKikodWludHB0cl90KV9fZnVuY19fKTsNCiANCkBAIC0zODAs
NyArNDY5LDM0IEBADQogICAgIHNjLT5lY19kZXYgPSBkZXY7DQogICAgIHNj
LT5lY19oYW5kbGUgPSBhY3BpX2dldF9oYW5kbGUoZGV2KTsNCiAgICAgc2Mt
PmVjX3BvbGxkZWxheSA9IEVDX1BPTExfREVMQVk7DQorICAgIHNjLT5lY191
aWQgPSAtMTsNCiAgICAgbXR4X2luaXQoJnNjLT5lY19tdHgsICJBQ1BJIGVt
YmVkZGVkIGNvbnRyb2xsZXIiLCBOVUxMLCBNVFhfREVGKTsNCisNCisgICAg
LyoNCisgICAgICogSWYgd2Ugd2VyZSB1c2luZyBhbiBFQ0RUIHdpdGggdGhl
IHNhbWUgVUlELCBmcmVlIHVwIHRoYXQgdGVtcG9yYXJ5DQorICAgICAqIG9u
ZSBhbmQgdXNlIHRoaXMgb25lIGluc3RlYWQuDQorICAgICAqLw0KKyAgICBh
Y3BpX0V2YWx1YXRlSW50ZWdlcihzYy0+ZWNfaGFuZGxlLCAiX1VJRCIsICZ1
aWQpOw0KKyAgICBpZiAoc2NfZWNkdCAhPSBOVUxMICYmIHNjX2VjZHQtPmVj
X3VpZCA9PSB1aWQpIHsNCisJaWYgKHNjX2VjZHQtPmVjX2Nzcl9yZXMpIHsN
CisJICAgIGJ1c19yZWxlYXNlX3Jlc291cmNlKHNjX2VjZHQtPmVjX2Rldiwg
U1lTX1JFU19JT1BPUlQsDQorCQkJCSBzY19lY2R0LT5lY19jc3JfcmlkLCBz
Y19lY2R0LT5lY19jc3JfcmVzKTsNCisJfQ0KKwlpZiAoc2NfZWNkdC0+ZWNf
ZGF0YV9yZXMpIHsNCisJICAgIGJ1c19yZWxlYXNlX3Jlc291cmNlKHNjX2Vj
ZHQtPmVjX2RldiwgU1lTX1JFU19JT1BPUlQsDQorCQkJCSBzY19lY2R0LT5l
Y19kYXRhX3JpZCwgc2NfZWNkdC0+ZWNfZGF0YV9yZXMpOw0KKwl9DQorCVN0
YXR1cyA9IEFjcGlSZW1vdmVBZGRyZXNzU3BhY2VIYW5kbGVyKEFDUElfUk9P
VF9PQkpFQ1QsIEFDUElfQURSX1NQQUNFX0VDLA0KKwkJCQkgICAgICAmRWNT
cGFjZUhhbmRsZXIpOw0KKwlpZiAoQUNQSV9GQUlMVVJFKFN0YXR1cykpDQor
CQlwcmludGYoIkVDRFQgcmVtb3ZlIGFkZHIgaGFuZGxlcjogJXNcbiIsIEFj
cGlGb3JtYXRFeGNlcHRpb24oU3RhdHVzKSk7DQorCVN0YXR1cyA9IEFjcGlS
ZW1vdmVHcGVIYW5kbGVyKE5VTEwsIHNjX2VjZHQtPmVjX2dwZWJpdCwgJkVj
R3BlSGFuZGxlcik7DQorCWlmIChBQ1BJX0ZBSUxVUkUoU3RhdHVzKSkNCisJ
CXByaW50ZigiRUNEVCByZW1vdmUgZ3BlIGhhbmRsZXI6ICVzXG4iLCBBY3Bp
Rm9ybWF0RXhjZXB0aW9uKFN0YXR1cykpOw0KKwltdHhfZGVzdHJveSgmc2Nf
ZWNkdC0+ZWNfbXR4KTsNCisJRlJFRShzY19lY2R0LCBNX0RFVkJVRik7DQor
CXNjX2VjZHQgPSBOVUxMOw0KKyAgICB9DQogDQogICAgIC8qIEF0dGFjaCBi
dXMgcmVzb3VyY2VzIGZvciBkYXRhIGFuZCBjb21tYW5kL3N0YXR1cyBwb3J0
cy4gKi8NCiAgICAgc2MtPmVjX2RhdGFfcmlkID0gMDsNCkluZGV4OiBhY3Bp
dmFyLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9t
ZS9uY3ZzL3NyYy9zeXMvZGV2L2FjcGljYS9hY3BpdmFyLmgsdg0KcmV0cmll
dmluZyByZXZpc2lvbiAxLjQyDQpkaWZmIC11IC1yMS40MiBhY3BpdmFyLmgN
Ci0tLSBhY3BpdmFyLmgJMTUgSnVsIDIwMDMgMTk6MTk6NTQgLTAwMDAJMS40
Mg0KKysrIGFjcGl2YXIuaAkxNSBKdWwgMjAwMyAyMDowODo1NiAtMDAwMA0K
QEAgLTI1LDcgKzI1LDcgQEANCiAgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GDQogICogU1VDSCBEQU1BR0UuDQogICoNCi0gKgkkRnJlZUJTRDogc3Jj
L3N5cy9kZXYvYWNwaWNhL2FjcGl2YXIuaCx2IDEuNDIgMjAwMy8wNy8xNSAx
OToxOTo1NCBuamwgRXhwICQNCisgKgkkRnJlZUJTRCQNCiAgKi8NCiANCiAj
aW5jbHVkZSAiYnVzX2lmLmgiDQpAQCAtMzc0LDYgKzM3NCwxMSBAQA0KIGV4
dGVybiBpbnQJYWNwaV9iYXR0ZXJ5X2dldF9iYXR0ZGVzYyhpbnQsIHN0cnVj
dCBhY3BpX2JhdHRkZXNjICopOw0KIA0KIGV4dGVybiBpbnQJYWNwaV9jbWJh
dF9nZXRfYmF0dGluZm8oaW50LCBzdHJ1Y3QgYWNwaV9iYXR0aW5mbyAqKTsN
CisNCisvKg0KKyAqIEVtYmVkZGVkIGNvbnRyb2xsZXIuDQorICovDQorZXh0
ZXJuIHZvaWQJYWNwaV9lY19lY2R0X3Byb2JlKGRldmljZV90KTsNCiANCiAv
Kg0KICAqIEFDIGFkYXB0ZXIgaW50ZXJmYWNlLg0K

--0-619937743-1058301712=:20667--
