From owner-FreeBSD-users-jp@jp.FreeBSD.org Wed Nov 28 08:58:34 2007
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id lARNwYb71211;
	Wed, 28 Nov 2007 08:58:34 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from vs02.admiral.net (vs02.admiral.net [65.121.144.49])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id lARNwX671188
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Wed, 28 Nov 2007 08:58:33 +0900 (JST)
	(envelope-from nishida@asusa.net)
Received: from localhost (localhost.admiral.net [127.0.0.1])
	by vs02.admiral.net (Postfix) with ESMTP id 60C85785B0
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Wed, 28 Nov 2007 08:58:32 +0900 (JST)
Received: from usam.asusa.net (usa.asusa.net [65.121.144.8])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by vs02.admiral.net (Postfix) with ESMTP id 3C5A0785AF
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Wed, 28 Nov 2007 08:58:32 +0900 (JST)
Received: (qmail 8998 invoked from network); 27 Nov 2007 15:58:32 -0800
X-ASJ-Track-ID: <20071127235832.8998.qmail@usam.asusa.net>
X-ASJ-Auth-ID: auth
X-ASJ-Arrival-IP: 65.121.144.11
X-ASJ-SPF-Info: auth
X-ASJ-Received-SPF: pass (send with smtp authentication by nishida%asusa.net@65.121.144.11)
Received: from unknown (HELO ?192.168.0.50?) (nishida%asusa.net@65.121.144.11)
  by usam.asusa.net with SMTP; 27 Nov 2007 15:58:32 -0800
Message-ID: <474CAF20.20708@asusa.net>
From: Hiroshi Nishida <nishida@asusa.net>
User-Agent: Thunderbird 1.5 (X11/20060123)
MIME-Version: 1.0
To: FreeBSD-users-jp@jp.FreeBSD.org
Content-Type: multipart/mixed;
 boundary="------------060102010405040201060103"
X-Virus-Scanned: by ASJ VSCAN based on AMaViS perl-11-ASJ-ETHEL-07030100-ML-SPEEDY58
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Tue, 27 Nov 2007 15:58:24 -0800
X-Sequence: FreeBSD-users-jp 91226
Subject: [FreeBSD-users-jp 91226] Intel 965/33 agpgart patch for 6.3-Beta2
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: nishida@asusa.net
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+060209

This is a multi-part message in MIME format.
--------------060102010405040201060103
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

$B@>ED$H?=$7$^$9!#(B

$BI,MW$K6n$i$l$F!"(B6 $BMQ$N(B 965/33 $B%A%C%W%;%C%HBP1~(B agp $B%Q%C%A$r:n$C$F$_$^$7$?!#(B
7 $B$r8+$J$,$iE,Ev$K:n$C$?$N$G!"%_%9$b$"$k$+$H;W$$$^$9!#(B

$B$I$J$?$+%F%9%H$7$FD:$1$l$P$H;W$$$^$9!#(B

$B;d$N(B 965GM $B$J%N!<%H%Q%=%3%s$G$O!"(BXorg 7.3 + Driver "intel" $B$G0l1~(B
X $B$,N)$A>e$,$C$F$$$^$9!#(B

dmesg $B$O0J2<$N$h$&$J46$8$G$9!#(B

agp0: <Intel GM965 SVGA controller> port 0x1800-0x1807 mem
0xf5000000-0xf50fffff,0xd0000000-0xdfffffff irq 16 at device 2.0 on pci0

$B$=$l$G$O$h$m$7$/$*4j$$$$$?$7$^$9!#(B

-- 
Hiroshi Nishida
nishida@asusa.net

--------------060102010405040201060103
Content-Type: text/plain;
 name="agp_i810.diff"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="agp_i810.diff"

LS0tIGFncF9pODEwLmMJMjAwNy0xMS0yNyAxNTo0MTozOC4wMDAwMDAwMDAgLTA4MDAKKysr
IGFncF9pODEwLmMubmV3CTIwMDctMTEtMjcgMTU6NDA6NTEuMDAwMDAwMDAwIC0wODAwCkBA
IC0yOCw2ICsyOCw3IEBACiAvKgogICogRml4ZXMgZm9yIDgzMC84NDVHIHN1cHBvcnQ6IERh
dmlkIERhd2VzIDxkYXdlc0B4ZnJlZTg2Lm9yZz4KICAqIDg1MkdNLzg1NUdNLzg2NUcgc3Vw
cG9ydCBhZGRlZCBieSBEYXZpZCBEYXdlcyA8ZGF3ZXNAeGZyZWU4Ni5vcmc+CisgKiBBbiBl
eHBlcmltZW50YWwgOTY1LzMzIHN1cHBvcnQgYWRkZWQgYnkgSGlyb3NoaSBOaXNoaWRhCiAg
Ki8KIAogI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgpAQCAtNzEsNiArNzIsOCBAQAogI2RlZmlu
ZSBDSElQX0k4MzAgMQkvKiA4MzBNLzg0NUcgKi8KICNkZWZpbmUgQ0hJUF9JODU1IDIJLyog
ODUyR00vODU1R00vODY1RyAqLwogI2RlZmluZSBDSElQX0k5MTUgMwkvKiA5MTVHLzkxNUdN
ICovCisjZGVmaW5lIENISVBfSTk2NSA0CS8qIEc5NjUgKi8KKyNkZWZpbmUgQ0hJUF9HMzMg
IDUJLyogRzMzL1EzMy9RMzUgKi8KIAogc3RydWN0IGFncF9pODEwX3NvZnRjIHsKIAlzdHJ1
Y3QgYWdwX3NvZnRjIGFncDsKQEAgLTE1Miw2ICsxNTUsMjQgQEAKIAogCWNhc2UgMHgyN0Ey
ODA4NjoKIAkJcmV0dXJuICgiSW50ZWwgODI5NDVHTSAoOTQ1R00gR01DSCkgU1ZHQSBjb250
cm9sbGVyIik7CisKKwljYXNlIDB4Mjk3MjgwODY6CisJCXJldHVybiAoIkludGVsIDk0Nkda
IFNWR0EgY29udHJvbGxlciIpOworCisJY2FzZSAweDI5ODI4MDg2OgorCQlyZXR1cm4gKCJJ
bnRlbCBHOTY1IFNWR0EgY29udHJvbGxlciIpOworCisJY2FzZSAweDI5OTI4MDg2OgorCQly
ZXR1cm4gKCJJbnRlbCBROTY1IFNWR0EgY29udHJvbGxlciIpOworCisJY2FzZSAweDI5YTI4
MDg2OgorCQlyZXR1cm4gKCJJbnRlbCBHOTY1IFNWR0EgY29udHJvbGxlciIpOworCisJY2Fz
ZSAweDJhMDI4MDg2OgorCQlyZXR1cm4gKCJJbnRlbCBHTTk2NSBTVkdBIGNvbnRyb2xsZXIi
KTsKKworCWNhc2UgMHgyYTEyODA4NjoKKwkJcmV0dXJuICgiSW50ZWwgR01FOTY1IFNWR0Eg
Y29udHJvbGxlciIpOwogCX07CiAKIAlyZXR1cm4gTlVMTDsKQEAgLTI2MCw2ICsyODEsMTIg
QEAKIAkJY2FzZSAweDI1OTI4MDg2OgogCQljYXNlIDB4Mjc3MjgwODY6CS8qIDk0NUcgR01D
SCAqLwogCQljYXNlIDB4MjdBMjgwODY6CS8qIDk0NUdNIEdNQ0ggKi8KKwkJY2FzZSAweDI5
NzI4MDg2OgkvKiA5NDZHWiAqLworCQljYXNlIDB4Mjk4MjgwODY6CS8qIEc5NjUgKi8KKwkJ
Y2FzZSAweDI5OTI4MDg2OgkvKiBROTY1ICovCisJCWNhc2UgMHgyOWEyODA4NjoJLyogRzk2
NSAqLworCQljYXNlIDB4MmEwMjgwODY6CS8qIEdNOTY1ICovCisJCWNhc2UgMHgyYTEyODA4
NjoJLyogR01FOTY1ICovCiAJCQlnY2MxID0gcGNpX3JlYWRfY29uZmlnKGJkZXYsIEFHUF9J
OTE1X0RFVkVOLCA0KTsKIAkJCWlmICgoZ2NjMSAmIEFHUF9JOTE1X0RFVkVOX0QyRjApID09
CiAJCQkgICAgQUdQX0k5MTVfREVWRU5fRDJGMF9ESVNBQkxFRCkgewpAQCAtMzE3LDI0ICsz
NDQsNTAgQEAKIAljYXNlIDB4MjdBMjgwODY6CS8qIDk0NUdNIEdNQ0ggKi8KIAkJc2MtPmNo
aXB0eXBlID0gQ0hJUF9JOTE1OwogCQlicmVhazsKKwljYXNlIDB4Mjk3MjgwODY6CisJY2Fz
ZSAweDI5ODI4MDg2OgorCWNhc2UgMHgyOTkyODA4NjoKKwljYXNlIDB4MjlhMjgwODY6CisJ
Y2FzZSAweDJhMDI4MDg2OgorCWNhc2UgMHgyYTEyODA4NjoKKwkJc2MtPmNoaXB0eXBlID0g
Q0hJUF9JOTY1OworCQlicmVhazsKIAl9OwogCisjaWYgMAogCS8qIFNhbWUgZm9yIGk4MTAg
YW5kIGk4MzAgKi8KIAlpZiAoc2MtPmNoaXB0eXBlID09IENISVBfSTkxNSkKIAkJcmlkID0g
QUdQX0k5MTVfTU1BRFI7CiAJZWxzZQogCQlyaWQgPSBBR1BfSTgxMF9NTUFEUjsKKyNlbHNl
CisJc3dpdGNoIChzYy0+Y2hpcHR5cGUpIHsKKwljYXNlIENISVBfSTkxNToKKwljYXNlIENI
SVBfRzMzOgorCQlyaWQgPSBBR1BfSTkxNV9NTUFEUjsKKwkJYnJlYWs7CisJY2FzZSBDSElQ
X0k5NjU6CisJCXJpZCA9IEFHUF9JOTY1X0dUVE1NQURSOworCQlicmVhazsKKwlkZWZhdWx0
OgorCQlyaWQgPSBBR1BfSTgxMF9NTUFEUjsKKwkJYnJlYWs7CisJfQorCisJcHJpbnRmKCJD
aGlwIFR5cGU6ICVkLCByaWQ6JXhcbiIsIHNjLT5jaGlwdHlwZSwgcmlkKTsKKyNlbmRpZgog
CiAJc2MtPnJlZ3MgPSBidXNfYWxsb2NfcmVzb3VyY2VfYW55KGRldiwgU1lTX1JFU19NRU1P
UlksICZyaWQsCiAJCQkJCSAgUkZfQUNUSVZFKTsKIAlpZiAoIXNjLT5yZWdzKSB7CiAJCWFn
cF9nZW5lcmljX2RldGFjaChkZXYpOworCQlwcmludGYoIkVOT0RFViBhdCBhZ3BfaTgxMF9h
dHRhY2goKSAxXG4iKTsKIAkJcmV0dXJuIEVOT0RFVjsKIAl9CiAJc2MtPmJzdCA9IHJtYW5f
Z2V0X2J1c3RhZyhzYy0+cmVncyk7CiAJc2MtPmJzaCA9IHJtYW5fZ2V0X2J1c2hhbmRsZShz
Yy0+cmVncyk7CiAKLQlpZiAoc2MtPmNoaXB0eXBlID09IENISVBfSTkxNSkgeworCWlmIChz
Yy0+Y2hpcHR5cGUgPT0gQ0hJUF9JOTE1IHx8IHNjLT5jaGlwdHlwZSA9PSBDSElQX0czMykg
ewogCQlyaWQgPSBBR1BfSTkxNV9HVFRBRFI7CiAJCXNjLT5ndHQgPSBidXNfYWxsb2NfcmVz
b3VyY2VfYW55KGRldiwgU1lTX1JFU19NRU1PUlksICZyaWQsCiAJCQkJCQkgUkZfQUNUSVZF
KTsKQEAgLTM0Miw2ICszOTUsNyBAQAogCQkJYnVzX3JlbGVhc2VfcmVzb3VyY2UoZGV2LCBT
WVNfUkVTX01FTU9SWSwKIAkJCQkJICAgICBBR1BfSTkxNV9NTUFEUiwgc2MtPnJlZ3MpOwog
CQkJYWdwX2dlbmVyaWNfZGV0YWNoKGRldik7CisJCQlwcmludGYoIkVOT0RFViBhdCBhZ3Bf
aTgxMF9hdHRhY2goKSAyXG4iKTsKIAkJCXJldHVybiBFTk9ERVY7CiAJCX0KIAkJc2MtPmd0
dF9ic3QgPSBybWFuX2dldF9idXN0YWcoc2MtPmd0dCk7CkBAIC0zNjIsMTIgKzQxNiwyOCBA
QAogCQkJYnVzX3JlbGVhc2VfcmVzb3VyY2UoZGV2LCBTWVNfUkVTX01FTU9SWSwKIAkJCQkJ
ICAgICBBR1BfSTkxNV9HVFRBRFIsIHNjLT5yZWdzKTsKIAkJCWFncF9nZW5lcmljX2RldGFj
aChkZXYpOworCQkJcHJpbnRmKCJFTk9ERVYgYXQgYWdwX2k4MTBfYXR0YWNoKCkgM1xuIik7
CiAJCQlyZXR1cm4gRU5PREVWOwogCQl9CiAKIAl9CisJZWxzZSBpZiAoc2MtPmNoaXB0eXBl
ID09IENISVBfSTk2NSkgeworCQlyaWQgPSBBR1BfSTkxNV9HTUFEUjsKKwkJc2MtPmdtID0g
YnVzX2FsbG9jX3Jlc291cmNlX2FueShkZXYsIFNZU19SRVNfTUVNT1JZLCAmcmlkLCAwKTsK
KwkJaWYgKHNjLT5nbSA9PSBOVUxMKSB7CisJCQlidXNfcmVsZWFzZV9yZXNvdXJjZShkZXYs
IFNZU19SRVNfTUVNT1JZLAorCQkJCQkgICAgIEFHUF9JOTE1X01NQURSLCBzYy0+cmVncyk7
CisJCQlhZ3BfZ2VuZXJpY19kZXRhY2goZGV2KTsKKwkJCXByaW50ZigiRU5PREVWIGF0IGFn
cF9pODEwX2F0dGFjaCgpIDRcbiIpOworCQkJcmV0dXJuIEVOT0RFVjsKKwkJfQorCX0KIAog
CXNjLT5pbml0aWFsX2FwZXJ0dXJlID0gQUdQX0dFVF9BUEVSVFVSRShkZXYpOworCWlmIChz
Yy0+aW5pdGlhbF9hcGVydHVyZSA9PSAwKSB7CisJCWRldmljZV9wcmludGYoZGV2LCAiYmFk
IGluaXRpYWwgYXBlcnR1cmUgc2l6ZSwgZGlzYWJsaW5nXG4iKTsKKwkJcmV0dXJuIEVOWElP
OworCX0KIAogCWdhdHQgPSBtYWxsb2MoIHNpemVvZihzdHJ1Y3QgYWdwX2dhdHQpLCBNX0FH
UCwgTV9OT1dBSVQpOwogCWlmICghZ2F0dCkgewpAQCAtNDMyLDQwICs1MDIsODIgQEAKIAkJ
V1JJVEU0KEFHUF9JODEwX1BHVEJMX0NUTCwgcGd0YmxjdGwpOwogCiAJCWdhdHQtPmFnX3Bo
eXNpY2FsID0gcGd0YmxjdGwgJiB+MTsKLQl9IGVsc2UgaWYgKHNjLT5jaGlwdHlwZSA9PSBD
SElQX0k4NTUgfHwgc2MtPmNoaXB0eXBlID09IENISVBfSTkxNSkgewkvKiBDSElQX0k4NTUg
Ki8KLQkJdW5zaWduZWQgaW50IGdjYzEsIHBndGJsY3RsLCBzdG9sZW47CisJfSBlbHNlIGlm
IChzYy0+Y2hpcHR5cGUgPT0gQ0hJUF9JODU1IHx8IHNjLT5jaGlwdHlwZSA9PSBDSElQX0k5
MTUgfHwKKwkJICAgc2MtPmNoaXB0eXBlID09IENISVBfSTk2NSB8fCBzYy0+Y2hpcHR5cGUg
PT0gQ0hJUF9HMzMpIHsKKwkJdW5zaWduZWQgaW50IGdjYzEsIHBndGJsY3RsLCBzdG9sZW4s
IGd0dF9zaXplOwogCiAJCS8qIFN0b2xlbiBtZW1vcnkgaXMgc2V0IHVwIGF0IHRoZSBiZWdp
bm5pbmcgb2YgdGhlIGFwZXJ0dXJlIGJ5CiAJCSAqIHRoZSBCSU9TLCBjb25zaXN0aW5nIG9m
IHRoZSBHQVRUIGZvbGxvd2VkIGJ5IDRrYiBmb3IgdGhlIEJJT1MKIAkJICogZGlzcGxheS4K
IAkJICovCisjaWYgMAogCQlpZiAoc2MtPmNoaXB0eXBlID09IENISVBfSTg1NSkKIAkJCXN0
b2xlbiA9IDEzMjsKIAkJZWxzZQogCQkJc3RvbGVuID0gMjYwOworI2Vsc2UKKwkJc3dpdGNo
IChzYy0+Y2hpcHR5cGUpIHsKKwkJY2FzZSBDSElQX0k4NTU6CisJCQlndHRfc2l6ZSA9IDEy
ODsKKwkJCWJyZWFrOworCQljYXNlIENISVBfSTkxNToKKwkJCWd0dF9zaXplID0gMjU2Owor
CQkJYnJlYWs7CisJCWNhc2UgQ0hJUF9JOTY1OgorCQljYXNlIENISVBfRzMzOgorCQkJc3dp
dGNoIChSRUFENChBR1BfSTgxMF9QR1RCTF9DVEwpICYKKwkJCQlBR1BfSTgxMF9QR1RCTF9T
SVpFX01BU0spIHsKKwkJCWNhc2UgQUdQX0k4MTBfUEdUQkxfU0laRV8xMjhLQjoKKwkJCQln
dHRfc2l6ZSA9IDEyODsKKwkJCQlicmVhazsKKwkJCWNhc2UgQUdQX0k4MTBfUEdUQkxfU0la
RV8yNTZLQjoKKwkJCQlndHRfc2l6ZSA9IDI1NjsKKwkJCQlicmVhazsKKwkJCWNhc2UgQUdQ
X0k4MTBfUEdUQkxfU0laRV81MTJLQjoKKwkJCQlndHRfc2l6ZSA9IDUxMjsKKwkJCQlicmVh
azsKKwkJCWRlZmF1bHQ6CisJCQkJZGV2aWNlX3ByaW50ZihkZXYsICJCYWQgUEdUQkwgc2l6
ZVxuIik7CisJCQkJYWdwX2dlbmVyaWNfZGV0YWNoKGRldik7CisJCQkJcmV0dXJuIEVJTlZB
TDsKKwkJCX0KKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZGV2aWNlX3ByaW50ZihkZXYs
ICJCYWQgY2hpcHR5cGVcbiIpOworCQkJYWdwX2dlbmVyaWNfZGV0YWNoKGRldik7CisJCQly
ZXR1cm4gRUlOVkFMOworCQl9CisjZW5kaWYKIAorCQkvKiBHQ0MxIGlzIGNhbGxlZCBNR0dD
IG9uIGk5MTUrICovCiAJCWdjYzEgPSBwY2lfcmVhZF9jb25maWcoc2MtPmJkZXYsIEFHUF9J
ODU1X0dDQzEsIDEpOwogCQlzd2l0Y2ggKGdjYzEgJiBBR1BfSTg1NV9HQ0MxX0dNUykgewog
CQkJY2FzZSBBR1BfSTg1NV9HQ0MxX0dNU19TVE9MRU5fMU06Ci0JCQkJc2MtPnN0b2xlbiA9
ICgxMDI0IC0gc3RvbGVuKSAqIDEwMjQgLyA0MDk2OworCQkJCXN0b2xlbiA9IDEwMjQ7CiAJ
CQkJYnJlYWs7CiAJCQljYXNlIEFHUF9JODU1X0dDQzFfR01TX1NUT0xFTl80TTogCi0JCQkJ
c2MtPnN0b2xlbiA9ICg0MDk2IC0gc3RvbGVuKSAqIDEwMjQgLyA0MDk2OworCQkJCXN0b2xl
biA9IDQwOTY7CiAJCQkJYnJlYWs7CiAJCQljYXNlIEFHUF9JODU1X0dDQzFfR01TX1NUT0xF
Tl84TTogCi0JCQkJc2MtPnN0b2xlbiA9ICg4MTkyIC0gc3RvbGVuKSAqIDEwMjQgLyA0MDk2
OworCQkJCXN0b2xlbiA9IDgxOTI7CiAJCQkJYnJlYWs7CiAJCQljYXNlIEFHUF9JODU1X0dD
QzFfR01TX1NUT0xFTl8xNk06IAotCQkJCXNjLT5zdG9sZW4gPSAoMTYzODQgLSBzdG9sZW4p
ICogMTAyNCAvIDQwOTY7CisJCQkJc3RvbGVuID0gMTYzODQ7CiAJCQkJYnJlYWs7CiAJCQlj
YXNlIEFHUF9JODU1X0dDQzFfR01TX1NUT0xFTl8zMk06IAotCQkJCXNjLT5zdG9sZW4gPSAo
MzI3NjggLSBzdG9sZW4pICogMTAyNCAvIDQwOTY7CisJCQkJc3RvbGVuID0gMzI3Njg7CiAJ
CQkJYnJlYWs7CiAJCQljYXNlIEFHUF9JOTE1X0dDQzFfR01TX1NUT0xFTl80OE06IAotCQkJ
CXNjLT5zdG9sZW4gPSAoNDkxNTIgLSBzdG9sZW4pICogMTAyNCAvIDQwOTY7CisJCQkJc3Rv
bGVuID0gNDkxNTI7CiAJCQkJYnJlYWs7CiAJCQljYXNlIEFHUF9JOTE1X0dDQzFfR01TX1NU
T0xFTl82NE06IAotCQkJCXNjLT5zdG9sZW4gPSAoNjU1MzYgLSBzdG9sZW4pICogMTAyNCAv
IDQwOTY7CisJCQkJc3RvbGVuID0gNjU1MzY7CisJCQkJYnJlYWs7CisJCQljYXNlIEFHUF9H
MzNfR0NDMV9HTVNfU1RPTEVOXzEyOE06CisJCQkJc3RvbGVuID0gMTI4ICogMTAyNDsKKwkJ
CQlicmVhazsKKwkJCWNhc2UgQUdQX0czM19HQ0MxX0dNU19TVE9MRU5fMjU2TToKKwkJCQlz
dG9sZW4gPSAyNTYgKiAxMDI0OwogCQkJCWJyZWFrOwogCQkJZGVmYXVsdDoKIAkJCQlzYy0+
c3RvbGVuID0gMDsKQEAgLTQ3Myw2ICs1ODUsNyBAQAogCQkJCWFncF9nZW5lcmljX2RldGFj
aChkZXYpOwogCQkJCXJldHVybiBFSU5WQUw7CiAJCX0KKwkJc2MtPnN0b2xlbiA9IChzdG9s
ZW4gLSBndHRfc2l6ZSAtIDQpICogMTAyNCAvIDQwOTY7CiAJCWlmIChzYy0+c3RvbGVuID4g
MCkKIAkJCWRldmljZV9wcmludGYoZGV2LCAiZGV0ZWN0ZWQgJWRrIHN0b2xlbiBtZW1vcnlc
biIsIHNjLT5zdG9sZW4gKiA0KTsKIAkJZGV2aWNlX3ByaW50ZihkZXYsICJhcGVydHVyZSBz
aXplIGlzICVkTVxuIiwgc2MtPmluaXRpYWxfYXBlcnR1cmUgLyAxMDI0IC8gMTAyNCk7CkBA
IC01MTgsNiArNjMxLDcgQEAKIAl9CiAJZnJlZShzYy0+Z2F0dCwgTV9BR1ApOwogCisjaWYg
MAogCWlmIChzYy0+Y2hpcHR5cGUgPT0gQ0hJUF9JOTE1KSB7CiAJCWJ1c19yZWxlYXNlX3Jl
c291cmNlKGRldiwgU1lTX1JFU19NRU1PUlksIEFHUF9JOTE1X0dNQURSLAogCQkJCSAgICAg
c2MtPmdtKTsKQEAgLTUyOSw2ICs2NDMsMzUgQEAKIAkJYnVzX3JlbGVhc2VfcmVzb3VyY2Uo
ZGV2LCBTWVNfUkVTX01FTU9SWSwgQUdQX0k4MTBfTU1BRFIsCiAJCQkJICAgICBzYy0+cmVn
cyk7CiAJfQorI2Vsc2UKKwlzd2l0Y2ggKHNjLT5jaGlwdHlwZSkgeworCWNhc2UgQ0hJUF9J
ODEwOgorCWNhc2UgQ0hJUF9JODMwOgorCWNhc2UgQ0hJUF9JODU1OgorCQlidXNfcmVsZWFz
ZV9yZXNvdXJjZShkZXYsIFNZU19SRVNfTUVNT1JZLCBBR1BfSTgxMF9NTUFEUiwKKwkJCQkg
ICAgIHNjLT5yZWdzKTsKKwkJYnJlYWs7CisJY2FzZSBDSElQX0k5MTU6CisJY2FzZSBDSElQ
X0czMzoKKwkJYnVzX3JlbGVhc2VfcmVzb3VyY2UoZGV2LCBTWVNfUkVTX01FTU9SWSwgQUdQ
X0k5MTVfR01BRFIsCisJCQkJICAgICBzYy0+Z20pOworCQlidXNfcmVsZWFzZV9yZXNvdXJj
ZShkZXYsIFNZU19SRVNfTUVNT1JZLCBBR1BfSTkxNV9HVFRBRFIsCisJCQkJICAgICBzYy0+
Z3R0KTsKKwkJYnVzX3JlbGVhc2VfcmVzb3VyY2UoZGV2LCBTWVNfUkVTX01FTU9SWSwgQUdQ
X0k5MTVfTU1BRFIsCisJCQkJICAgICBzYy0+cmVncyk7CisJCWJyZWFrOworCWNhc2UgQ0hJ
UF9JOTY1OgorCQlidXNfcmVsZWFzZV9yZXNvdXJjZShkZXYsIFNZU19SRVNfTUVNT1JZLCBB
R1BfSTkxNV9HVFRBRFIsCisJCQkJICAgICBzYy0+Z3R0KTsKKwkJYnVzX3JlbGVhc2VfcmVz
b3VyY2UoZGV2LCBTWVNfUkVTX01FTU9SWSwgQUdQX0k5NjVfR1RUTU1BRFIsCisJCQkJICAg
ICBzYy0+cmVncyk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldmljZV9wcmludGYoZGV2
LCAiQmFkIGNoaXB0eXBlIGF0IGFncF9pODEwX2RldGFjaCgpXG4iKTsKKwkJYWdwX2dlbmVy
aWNfZGV0YWNoKGRldik7CisJCXJldHVybiBFSU5WQUw7CisJfQorI2VuZGlmCiAJYWdwX2Zy
ZWVfcmVzKGRldik7CiAKIAljaGlsZCA9IGRldmljZV9maW5kX2NoaWxkKCBkZXYsICJkcm1z
dWIiLCAwICk7CkBAIC01NjEsNiArNzA0LDggQEAKIAljYXNlIENISVBfSTg1NToKIAkJcmV0
dXJuIDEyOCAqIDEwMjQgKiAxMDI0OwogCWNhc2UgQ0hJUF9JOTE1OgorCWNhc2UgQ0hJUF9J
OTY1OgorCWNhc2UgQ0hJUF9HMzM6CiAJCS8qIFRoZSBkb2N1bWVudGF0aW9uIHN0YXRlcyB0
aGF0IEFHUF9JOTE1X01TQUMgc2hvdWxkIGhhdmUgYml0CiAJCSAqIDEgc2V0IGlmIHRoZSBh
cGVydHVyZSBpcyAxMjhNQiBpbnN0ZWFkIG9mIDI1Ni4gIEhvd2V2ZXIsCiAJCSAqIHRoYXQg
Yml0IGFwcGVhcnMgdG8gbm90IGdldCBzZXQsIHNvIHdlIGluc3RlYWQgdXNlIHRoZQpAQCAt
NjIwLDYgKzc2NSw4IEBACiAJCX0KIAkJYnJlYWs7CiAJY2FzZSBDSElQX0k5MTU6CisJY2Fz
ZSBDSElQX0k5NjU6CisJY2FzZSBDSElQX0czMzoKIAkJdGVtcCA9IHBjaV9yZWFkX2NvbmZp
ZyhkZXYsIEFHUF9JOTE1X01TQUMsIDEpOwogCQl0ZW1wICY9IH5BR1BfSTkxNV9NU0FDX0dN
QVNJWkU7CiAKQEAgLTY0Miw2ICs3ODksNDYgQEAKIAlyZXR1cm4gMDsKIH0KIAorLyoqCisg
KiBXcml0ZXMgYSBHVFQgZW50cnkgbWFwcGluZyB0aGUgcGFnZSBhdCB0aGUgZ2l2ZW4gb2Zm
c2V0IGZyb20gdGhlIGJlZ2lubmluZworICogb2YgdGhlIGFwZXJ0dXJlIHRvIHRoZSBnaXZl
biBwaHlzaWNhbCBhZGRyZXNzLgorICovCitzdGF0aWMgdm9pZAorYWdwX2k4MTBfd3JpdGVf
Z3R0X2VudHJ5KGRldmljZV90IGRldiwgaW50IG9mZnNldCwgdm1fb2Zmc2V0X3QgcGh5c2lj
YWwsCisJCQkgaW50IGVuYWJsZWQpCit7CisJc3RydWN0IGFncF9pODEwX3NvZnRjICpzYyA9
IGRldmljZV9nZXRfc29mdGMoZGV2KTsKKwl1X2ludDMyX3QgcHRlOworCisJcHRlID0gKHVf
aW50MzJfdClwaHlzaWNhbCB8IDE7CisJaWYgKHNjLT5jaGlwdHlwZSA9PSBDSElQX0k5NjUg
fHwgc2MtPmNoaXB0eXBlID09IENISVBfRzMzKSB7CisJCXB0ZSB8PSAocGh5c2ljYWwgJiAw
eDAwMDAwMDBmMDAwMDAwMDB1bGwpID4+IDI4OworCX0gZWxzZSB7CisJCS8qIElmIHdlIGRv
IGFjdHVhbGx5IGhhdmUgbWVtb3J5IGFib3ZlIDRHQiBvbiBhbiBvbGRlciBzeXN0ZW0sCisJ
CSAqIGNyYXNoIGNsZWFubHkgcmF0aGVyIHRoYW4gc2NyaWJibGUgb24gc3lzdGVtIG1lbW9y
eSwKKwkJICogc28gd2Uga25vdyB3ZSBuZWVkIHRvIGZpeCBpdC4KKwkJICovCisJCUtBU1NF
UlQoKHB0ZSAmIDB4MDAwMDAwMGYwMDAwMDAwMHVsbCkgPT0gMCwKKwkJICAgICgiPjRHQiBw
aHlzaWNhbCBhZGRyZXNzIGluIGFncCIpKTsKKwl9CisKKwlzd2l0Y2ggKHNjLT5jaGlwdHlw
ZSkgeworCWNhc2UgQ0hJUF9JODEwOgorCWNhc2UgQ0hJUF9JODMwOgorCWNhc2UgQ0hJUF9J
ODU1OgorCQlXUklURTQoQUdQX0k4MTBfR1RUICsgKG9mZnNldCA+PiBBR1BfUEFHRV9TSElG
VCkgKiA0LAorCQkgICAgcGh5c2ljYWwgfCAxKTsKKwkJYnJlYWs7CisJY2FzZSBDSElQX0k5
MTU6CisJY2FzZSBDSElQX0czMzoKKwkJV1JJVEVHVFQoKG9mZnNldCA+PiBBR1BfUEFHRV9T
SElGVCkgKiA0LCBwdGUpOworCQlicmVhazsKKwljYXNlIENISVBfSTk2NToKKwkJV1JJVEU0
KChvZmZzZXQgPj4gQUdQX1BBR0VfU0hJRlQpICogNCArICg1MTIgKiAxMDI0KSwgcHRlKTsK
KwkJYnJlYWs7CisJfQorfQorCiBzdGF0aWMgaW50CiBhZ3BfaTgxMF9iaW5kX3BhZ2UoZGV2
aWNlX3QgZGV2LCBpbnQgb2Zmc2V0LCB2bV9vZmZzZXRfdCBwaHlzaWNhbCkKIHsKQEAgLTY1
OSwxMSArODQ2LDE1IEBACiAJCX0KIAl9CiAKKyNpZiAwCiAJaWYgKHNjLT5jaGlwdHlwZSA9
PSBDSElQX0k5MTUpIHsKIAkJV1JJVEVHVFQoKG9mZnNldCA+PiBBR1BfUEFHRV9TSElGVCkg
KiA0LCBwaHlzaWNhbCB8IDEpOwogCX0gZWxzZSB7CiAJCVdSSVRFNChBR1BfSTgxMF9HVFQg
KyAob2Zmc2V0ID4+IEFHUF9QQUdFX1NISUZUKSAqIDQsIHBoeXNpY2FsIHwgMSk7CiAJfQor
I2Vsc2UKKwlhZ3BfaTgxMF93cml0ZV9ndHRfZW50cnkoZGV2LCBvZmZzZXQsIHBoeXNpY2Fs
LCAxKTsKKyNlbmRpZgogCiAJcmV0dXJuIDA7CiB9CkBAIC02ODMsMTEgKzg3NCwxNSBAQAog
CQl9CiAJfQogCisjaWYgMAogCWlmIChzYy0+Y2hpcHR5cGUgPT0gQ0hJUF9JOTE1KSB7CiAJ
CVdSSVRFR1RUKChvZmZzZXQgPj4gQUdQX1BBR0VfU0hJRlQpICogNCwgMCk7CiAJfSBlbHNl
IHsKIAkJV1JJVEU0KEFHUF9JODEwX0dUVCArIChvZmZzZXQgPj4gQUdQX1BBR0VfU0hJRlQp
ICogNCwgMCk7CiAJfQorI2Vsc2UKKwlhZ3BfaTgxMF93cml0ZV9ndHRfZW50cnkoZGV2LCBv
ZmZzZXQsIDAsIDApOworI2VuZGlmCiAJCiAJcmV0dXJuIDA7CiB9CkBAIC04NDgsNiArMTA0
Myw3IEBACiAJCWZvciAoaSA9IDA7IGkgPCBtZW0tPmFtX3NpemU7IGkgKz0gQUdQX1BBR0Vf
U0laRSkgewogCQkJdV9pbnQzMl90IHBoeXNpY2FsID0gbWVtLT5hbV9waHlzaWNhbCArIGk7
CiAKKyNpZiAwCiAJCQlpZiAoc2MtPmNoaXB0eXBlID09IENISVBfSTkxNSkgewogCQkJCVdS
SVRFR1RUKCgob2Zmc2V0ICsgaSkgPj4gQUdQX1BBR0VfU0hJRlQpICogNCwKIAkJCQkgICAg
cGh5c2ljYWwgfCAxKTsKQEAgLTg1Niw2ICsxMDUyLDkgQEAKIAkJCQkgICAgKChvZmZzZXQg
KyBpKSA+PiBBR1BfUEFHRV9TSElGVCkgKiA0LAogCQkJCSAgICBwaHlzaWNhbCB8IDEpOwog
CQkJfQorI2Vsc2UKKwkJCWFncF9pODEwX3dyaXRlX2d0dF9lbnRyeShkZXYsIG9mZnNldCAr
IGksIHBoeXNpY2FsLCAxKTsKKyNlbmRpZgogCQl9CiAJCWFncF9mbHVzaF9jYWNoZSgpOwog
CQltZW0tPmFtX29mZnNldCA9IG9mZnNldDsKQEAgLTg5NCw2ICsxMDkzLDcgQEAKIAkJZm9y
IChpID0gMDsgaSA8IG1lbS0+YW1fc2l6ZTsgaSArPSBBR1BfUEFHRV9TSVpFKSB7CiAJCQl2
bV9vZmZzZXRfdCBvZmZzZXQgPSBtZW0tPmFtX29mZnNldDsKIAorI2lmIDAKIAkJCWlmIChz
Yy0+Y2hpcHR5cGUgPT0gQ0hJUF9JOTE1KSB7CiAJCQkJV1JJVEVHVFQoKChvZmZzZXQgKyBp
KSA+PiBBR1BfUEFHRV9TSElGVCkgKiA0LAogCQkJCSAgICAwKTsKQEAgLTkwMSw2ICsxMTAx
LDkgQEAKIAkJCQlXUklURTQoQUdQX0k4MTBfR1RUICsKIAkJCQkgICAgKChvZmZzZXQgKyBp
KSA+PiBBR1BfUEFHRV9TSElGVCkgKiA0LCAwKTsKIAkJCX0KKyNlbHNlCisJCQlhZ3BfaTgx
MF93cml0ZV9ndHRfZW50cnkoZGV2LCBvZmZzZXQgKyBpLCAwLCAwKTsKKyNlbmRpZgogCQl9
CiAJCWFncF9mbHVzaF9jYWNoZSgpOwogCQltZW0tPmFtX2lzX2JvdW5kID0gMDsKLS0tIGFn
cHJlZy5oCTIwMDctMTEtMjcgMTU6NDE6NDkuMDAwMDAwMDAwIC0wODAwCisrKyBhZ3ByZWcu
aC5uZXcJMjAwNy0xMS0yNyAxNTozMjo0MC4wMDAwMDAwMDAgLTA4MDAKQEAgLTE4MCwxMCAr
MTgwLDE5IEBACiAgKiBNZW1vcnkgbWFwcGVkIHJlZ2lzdGVyIG9mZnNldHMgZm9yIGk4MTAg
Y2hpcHNldC4KICAqLwogI2RlZmluZSBBR1BfSTgxMF9QR1RCTF9DVEwJMHgyMDIwCi0jZGVm
aW5lIEFHUF9JODEwX0RSVAkJMHgzMDAwCi0jZGVmaW5lIEFHUF9JODEwX0RSVF9VTlBPUFVM
QVRFRCAweDAwCi0jZGVmaW5lIEFHUF9JODEwX0RSVF9QT1BVTEFURUQJMHgwMQotI2RlZmlu
ZSBBR1BfSTgxMF9HVFQJCTB4MTAwMDAKKworLyoqCisgKiBUaGlzIGZpZWxkIGRldGVybWlu
ZXMgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSBnbG9iYWwgR1RUIG9uIHRoZSA5NjUKKyAqIGFu
ZCBHMzMKKyAqLworI2RlZmluZSBBR1BfSTgxMF9QR1RCTF9TSVpFX01BU0sJMHgwMDAwMDAw
ZQorI2RlZmluZSBBR1BfSTgxMF9QR1RCTF9TSVpFXzUxMktCCSgwIDw8IDEpCisjZGVmaW5l
IEFHUF9JODEwX1BHVEJMX1NJWkVfMjU2S0IJKDEgPDwgMSkKKyNkZWZpbmUgQUdQX0k4MTBf
UEdUQkxfU0laRV8xMjhLQgkoMiA8PCAxKQorI2RlZmluZSBBR1BfSTgxMF9EUlQJCQkweDMw
MDAKKyNkZWZpbmUgQUdQX0k4MTBfRFJUX1VOUE9QVUxBVEVECTB4MDAKKyNkZWZpbmUgQUdQ
X0k4MTBfRFJUX1BPUFVMQVRFRAkJMHgwMQorI2RlZmluZSBBR1BfSTgxMF9HVFQJCQkweDEw
MDAwCiAgCiAvKgogICogQ29uZmlnIHJlZ2lzdGVycyBmb3IgaTgzME1HIGRldmljZSAwCkBA
IC0yNDQsNiArMjUzLDIxIEBACiAjZGVmaW5lIEFHUF9JOTE1X01TQUNfR01BU0laRV8yNTYJ
MHgwMAogCiAvKgorICogRzk2NSByZWdpc3RlcnMKKyAqLworI2RlZmluZSBBR1BfSTk2NV9H
VFRNTUFEUgkJMHgxMAorI2RlZmluZSBBR1BfSTk2NV9NU0FDCQkJMHg2MgorI2RlZmluZSBB
R1BfSTk2NV9NU0FDX0dNQVNJWkVfMTI4CTB4MDAKKyNkZWZpbmUgQUdQX0k5NjVfTVNBQ19H
TUFTSVpFXzI1NgkweDAyCisjZGVmaW5lIEFHUF9JOTY1X01TQUNfR01BU0laRV81MTIJMHgw
NgorCisvKgorICogRzMzIHJlZ2lzdGVycworICovCisjZGVmaW5lIEFHUF9HMzNfR0NDMV9H
TVNfU1RPTEVOXzEyOE0JMHg4MAorI2RlZmluZSBBR1BfRzMzX0dDQzFfR01TX1NUT0xFTl8y
NTZNCTB4OTAKKworLyoKICAqIE5WSURJQSBuRm9yY2UvbkZvcmNlMiByZWdpc3RlcnMKICAq
LwogI2RlZmluZQlBR1BfTlZJRElBXzBfQVBCQVNFCQkweDEwCg==
--------------060102010405040201060103--
