NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-macppc/39176
The following reply was made to PR port-macppc/39176; it has been noted by
GNATS.
From: "Marco Trillo" <marcotrillo%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: kristerw%netbsd.org@localhost, port-macppc%netbsd.org@localhost
Subject: Re: port-macppc/39176
Date: Sun, 27 Jul 2008 15:50:39 +0200
------=_Part_9183_32054307.1217166639451
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi,
> My old mac Mini has problems with interrups on wdc1. The problem started
> when the ppcoea-renovation was merged.
> [...]
> The merge did change the dmesg output for the wdc0 in a way that
> that may be relevant:
> [...]
> +wdc1:0:0: lost interrupt
> + type: ata tc_bcount: 512 tc_skip: 0
> +wdc1:0:0: intr with DRQ (st=0x58)
> +wd0c: device timeout reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
> +wdc1:0:0: lost interrupt
I don't know if it's related to your problem, but I think the timing
setting stuff on wdc at pci (src/sys/arch/macppc/dev/kauai.c) it's
currently broken.
Can you test the attached patch for kauai.c to see if your problems persist?
It works fine for me on a Intrepid Kauai controller.
Thanks!
Some comments with respect to the patch:
I think that the following lines in kauai.c (rev. 1.25):
58 #define PIO_CONFIG_REG (0x200 >> 4) /* PIO and DMA access timing */
59 #define DMA_CONFIG_REG (0x210 >> 4) /* UDMA access timing */
should read instead:
58 #define PIO_CONFIG_REG 0x200 /* PIO and DMA access timing */
59 #define DMA_CONFIG_REG 0x210 /* UDMA access timing */
Before the ppcoea-renovation branch was merged, kauai.c used
macppc_make_bus_space_tag(regbase, 4); to map the registers so the tag
included an automatic stride.
After the branch was merged, it does not create a private tag anymore
and this automatic stride is not done; so the definitions should be
updated to reflect that (the '>> 4' shift is no longer necessary).
Another issue is that the code in calc_timing_kauai() uses the
DMA_CONFIG_REG register to set both DMA and UDMA access timing; but
this register is only for UDMA; the DMA timings should go along with
the PIO timings into the PIO_CONFIG_REG register (as the comments in
the above lines 58-59 say).
This can be verified by looking at Mac OS X's AppleKauaiATA.cpp
driver, in lines 985 and 986 [1] .
(The patch also renames the DMA_CONFIG_REG to UDMA_CONFIG_REG to avoid
confussion.)
[1]
http://www.opensource.apple.com/darwinsource/10.4.11.ppc/AppleKauaiATA-121.3.4/AppleKauaiATA.cpp
Greetings,
Marco.
------=_Part_9183_32054307.1217166639451
Content-Type: application/octet-stream; name=kauai.c.diff
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fj5pdc3r0
Content-Disposition: attachment; filename=kauai.c.diff
LS0tIGthdWFpLmMub3JpZwkyMDA4LTA3LTI3IDE0OjM5OjU4LjAwMDAwMDAwMCArMDIwMAorKysg
a2F1YWkuYwkyMDA4LTA3LTI3IDE0OjM5OjM0LjAwMDAwMDAwMCArMDIwMApAQCAtNTIsMTEgKzUy
LDE1IEBACiAjaW5jbHVkZSA8bWFjcHBjL2Rldi9kYmRtYS5oPgogCiAjZGVmaW5lIFdEQ19SRUdf
TlBPUlRTCQk4Ci0jZGVmaW5lIFdEQ19BVVhSRUdfT0ZGU0VUCTB4MTYKKyNkZWZpbmUgV0RDX0FV
WFJFR19PRkZTRVQJMHgxNjAKICNkZWZpbmUgV0RDX0FVWFJFR19OUE9SVFMJMQogCi0jZGVmaW5l
IFBJT19DT05GSUdfUkVHICgweDIwMCA+PiA0KQkvKiBQSU8gYW5kIERNQSBhY2Nlc3MgdGltaW5n
ICovCi0jZGVmaW5lIERNQV9DT05GSUdfUkVHICgweDIxMCA+PiA0KQkvKiBVRE1BIGFjY2VzcyB0
aW1pbmcgKi8KKyNkZWZpbmUgS0FVQUlfRkNSICAgICAgICAgICAgICAgMHgwMDAgICAvKiBGZWF0
dXJlIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUElPX0NPTkZJR19SRUcgICAgICAgICAg
MHgyMDAJLyogUElPIGFuZCBETUEgYWNjZXNzIHRpbWluZyAqLworI2RlZmluZSBVRE1BX0NPTkZJ
R19SRUcgICAgICAgICAweDIxMAkvKiBVRE1BIGFjY2VzcyB0aW1pbmcgKi8KKworI2RlZmluZSBN
QVhCWVRFUyAgICAgICAgICAgICAgICAoMSA8PCAoREVWX0JTSElGVCArIE5CQlkpKQorI2RlZmlu
ZSBNQVhQQUdFUyAgICAgICAgICAgICAgICAoKE1BWEJZVEVTICsgUEdPRlNFVCkgJiB+UEdPRlNF
VCkKIAogc3RydWN0IGthdWFpX3NvZnRjIHsKIAlzdHJ1Y3Qgd2RjX3NvZnRjIHNjX3dkY2RldjsK
QEAgLTY2LDEwICs3MCw4IEBACiAJc3RydWN0IGF0YV9xdWV1ZSBzY19xdWV1ZTsKIAlkYmRtYV9y
ZWdtYXBfdCAqc2NfZG1hcmVnOwogCWRiZG1hX2NvbW1hbmRfdAkqc2NfZG1hY21kOwotCXVfaW50
IHNjX3Bpb3RpbWluZ19yWzJdOwotCXVfaW50IHNjX3Bpb3RpbWluZ193WzJdOwotCXVfaW50IHNj
X2RtYXRpbWluZ19yWzJdOwotCXVfaW50IHNjX2RtYXRpbWluZ193WzJdOworCXVfaW50IHNjX3Bp
b3RpbWluZ1syXTsKKwl1X2ludCBzY191ZG1hdGltaW5nWzJdOwogCXZvaWQgKCpzY19jYWxjX3Rp
bWluZykoc3RydWN0IGthdWFpX3NvZnRjICosIGludCk7CiB9OwogCkBAIC04MCw5ICs4MiwxMCBA
QAogc3RhdGljIGludCBrYXVhaV9kbWFfZmluaXNoKHZvaWQgKiwgaW50LCBpbnQsIGludCk7CiBz
dGF0aWMgdm9pZCBrYXVhaV9zZXRfbW9kZXMoc3RydWN0IGF0YV9jaGFubmVsICopOwogc3RhdGlj
IHZvaWQgY2FsY190aW1pbmdfa2F1YWkoc3RydWN0IGthdWFpX3NvZnRjICosIGludCk7CitzdGF0
aWMgdm9pZCBjYWxjX3RpbWluZ19zaGFzdGEoc3RydWN0IGthdWFpX3NvZnRjICosIGludCk7CiAK
IENGQVRUQUNIX0RFQ0xfTkVXKGthdWFpLCBzaXplb2Yoc3RydWN0IGthdWFpX3NvZnRjKSwKLSAg
ICBrYXVhaV9tYXRjaCwga2F1YWlfYXR0YWNoLCBOVUxMLCB3ZGNhY3RpdmF0ZSk7CisgICAgICAg
ICAgICAgICAgICBrYXVhaV9tYXRjaCwga2F1YWlfYXR0YWNoLCBOVUxMLCB3ZGNhY3RpdmF0ZSk7
CiAKIGludAoga2F1YWlfbWF0Y2goZGV2aWNlX3QgcGFyZW50LCBjZmRhdGFfdCBtYXRjaCwgdm9p
ZCAqYXV4KQpAQCAtMTEyLDEwICsxMTUsMTEgQEAKIAlwY2lfaW50cl9oYW5kbGVfdCBpaDsKIAlw
YWRkcl90IHJlZ2Jhc2UsIGRtYWJhc2U7CiAJaW50IG5vZGUsIHJlZ1s1XSwgaTsKKyAgICAgICAg
Y2hhciBkZXZpbmZvWzEyOF07CiAKIAlzYy0+c2Nfd2RjZGV2LnNjX2F0YWMuYXRhY19kZXYgPSBz
ZWxmOwogCi0Jc2MtPnNjX2RtYWNtZCA9IGRiZG1hX2FsbG9jKHNpemVvZihkYmRtYV9jb21tYW5k
X3QpICogMjApOworCXNjLT5zY19kbWFjbWQgPSBkYmRtYV9hbGxvYygoTUFYUEFHRVMgKyA0KSAq
IHNpemVvZihkYmRtYV9jb21tYW5kX3QpKTsKIAogCW5vZGUgPSBwY2lkZXZfdG9fb2ZkZXYocGEt
PnBhX3BjLCBwYS0+cGFfdGFnKTsKIAlpZiAobm9kZSA9PSAwKSB7CkBAIC0xNDMsMjQgKzE0Nywy
NyBAQAogCQlhcHJpbnRfZXJyb3IoIjogdW5hYmxlIHRvIG1hcCBpbnRlcnJ1cHRcbiIpOwogCQly
ZXR1cm47CiAJfQotCWFwcmludF9ub3JtYWwoIjogaW50ZXJydXB0aW5nIGF0ICVzXG4iLCBwY2lf
aW50cl9zdHJpbmcocGEtPnBhX3BjLCBpaCkpOworICAgICAgICAKKyAgICAgICAgcGNpX2Rldmlu
Zm8ocGEtPnBhX2lkLCBwYS0+cGFfY2xhc3MsIDAsIGRldmluZm8sIHNpemVvZihkZXZpbmZvKSk7
CisgICAgICAgIGFwcmludF9ub3JtYWwoIjogJXNcbiIsIGRldmluZm8pOworCWFwcmludF9ub3Jt
YWwoIiVzOiBpbnRlcnJ1cHRpbmcgYXQgJXNcbiIsIGRldmljZV94bmFtZShzZWxmKSwKKyAgICAg
ICAgICAgICAgICAgICAgICBwY2lfaW50cl9zdHJpbmcocGEtPnBhX3BjLCBpaCkpOwogCiAJc2Mt
PnNjX3dkY2Rldi5yZWdzID0gd2RyID0gJnNjLT5zY193ZGNfcmVnczsKIAogCXdkci0+Y21kX2lv
dCA9IHdkci0+Y3RsX2lvdCA9IHBhLT5wYV9tZW10OwogCi0JaWYgKGJ1c19zcGFjZV9tYXAod2Ry
LT5jbWRfaW90LCByZWdiYXNlLCBXRENfUkVHX05QT1JUUyA8PCA0LCAwLAotCSAgICAmd2RyLT5j
bWRfYmFzZWlvaCkgfHwKLQkgICAgYnVzX3NwYWNlX3N1YnJlZ2lvbih3ZHItPmNtZF9pb3QsIHdk
ci0+Y21kX2Jhc2Vpb2gsCi0JCQlXRENfQVVYUkVHX09GRlNFVCA8PCA0LCAxLCAmd2RyLT5jdGxf
aW9oKSkgeworCWlmIChidXNfc3BhY2VfbWFwKHdkci0+Y21kX2lvdCwgcmVnYmFzZSwgTkJQRywg
MCwgJndkci0+Y21kX2Jhc2Vpb2gpIHx8CisJICAgIGJ1c19zcGFjZV9zdWJyZWdpb24od2RyLT5j
bWRfaW90LCB3ZHItPmNtZF9iYXNlaW9oLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgV0RDX0FVWFJFR19PRkZTRVQsIDEsICZ3ZHItPmN0bF9pb2gpKSB7CisKIAkJYXByaW50X2Vy
cm9yX2RldihzZWxmLCAiY291bGRuJ3QgbWFwIHJlZ2lzdGVyc1xuIik7CiAJCXJldHVybjsKIAl9
CiAJZm9yIChpID0gMDsgaSA8IFdEQ19OUkVHOyBpKyspIHsKIAkJaWYgKGJ1c19zcGFjZV9zdWJy
ZWdpb24od2RyLT5jbWRfaW90LCB3ZHItPmNtZF9iYXNlaW9oLCBpIDw8IDQsCiAJCSAgICBpID09
IDAgPyA0IDogMSwgJndkci0+Y21kX2lvaHNbaV0pICE9IDApIHsKLQkJCWJ1c19zcGFjZV91bm1h
cCh3ZHItPmNtZF9pb3QsIHdkci0+Y21kX2Jhc2Vpb2gsCi0JCQkgICAgV0RDX1JFR19OUE9SVFMg
PDwgNCk7CisJCQlidXNfc3BhY2VfdW5tYXAod2RyLT5jbWRfaW90LCB3ZHItPmNtZF9iYXNlaW9o
LCBOQlBHKTsKIAkJCWFwcmludF9lcnJvcl9kZXYoc2VsZiwKIAkJCSAgICAiY291bGRuJ3Qgc3Vi
cmVnaW9uIHJlZ2lzdGVyc1xuIik7CiAJCQlyZXR1cm47CkBAIC0xNzUsNyArMTgyLDEwIEBACiAK
IAlzYy0+c2Nfd2RjZGV2LnNjX2F0YWMuYXRhY19waW9fY2FwID0gNDsKIAlzYy0+c2Nfd2RjZGV2
LnNjX2F0YWMuYXRhY19kbWFfY2FwID0gMjsKLQlzYy0+c2Nfd2RjZGV2LnNjX2F0YWMuYXRhY191
ZG1hX2NhcCA9IDU7CisJaWYgKFBDSV9QUk9EVUNUKHBhLT5wYV9pZCkgPT0gUENJX1BST0RVQ1Rf
QVBQTEVfU0hBU1RBX0FUQSkKKyAgICAgICAgICAgICAgICBzYy0+c2Nfd2RjZGV2LnNjX2F0YWMu
YXRhY191ZG1hX2NhcCA9IDY7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzYy0+c2Nf
d2RjZGV2LnNjX2F0YWMuYXRhY191ZG1hX2NhcCA9IDU7CiAJc2MtPnNjX3dkY2Rldi5zY19hdGFj
LmF0YWNfY2FwIHw9IEFUQUNfQ0FQX0RBVEExNjsKIAlzYy0+c2Nfd2RjZGV2LnNjX2F0YWMuYXRh
Y19jYXAgfD0gQVRBQ19DQVBfRE1BIHwgQVRBQ19DQVBfVURNQTsKIAlzYy0+c2NfY2hhbnB0ciA9
IGNocDsKQEAgLTE4Niw4ICsxOTYsMTMgQEAKIAlzYy0+c2Nfd2RjZGV2LmRtYV9zdGFydCA9IGth
dWFpX2RtYV9zdGFydDsKIAlzYy0+c2Nfd2RjZGV2LmRtYV9maW5pc2ggPSBrYXVhaV9kbWFfZmlu
aXNoOwogCXNjLT5zY193ZGNkZXYuc2NfYXRhYy5hdGFjX3NldF9tb2RlcyA9IGthdWFpX3NldF9t
b2RlczsKLQlzYy0+c2NfY2FsY190aW1pbmcgPSBjYWxjX3RpbWluZ19rYXVhaTsKLQlzYy0+c2Nf
ZG1hcmVnID0gKHZvaWQgKilkbWFiYXNlOworCQorICAgICAgICBpZiAoUENJX1BST0RVQ1QocGEt
PnBhX2lkKSA9PSBQQ0lfUFJPRFVDVF9BUFBMRV9TSEFTVEFfQVRBKQorICAgICAgICAgICAgICAg
IHNjLT5zY19jYWxjX3RpbWluZyA9IGNhbGNfdGltaW5nX3NoYXN0YTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIHNjLT5zY19jYWxjX3RpbWluZyA9IGNhbGNfdGltaW5nX2thdWFpOwor
CQorICAgICAgICBzYy0+c2NfZG1hcmVnID0gbWFwaW9kZXYoZG1hYmFzZSwgMHgxMDAwKTsKIAog
CWNocC0+Y2hfY2hhbm5lbCA9IDA7CiAJY2hwLT5jaF9hdGFjID0gJnNjLT5zY193ZGNkZXYuc2Nf
YXRhYzsKQEAgLTE5OCwxMSArMjEzLDIzIEBACiAJd2RjYXR0YWNoKGNocCk7CiB9CiAKK3N0YXRp
YyB2b2lkCitrYXVhaV93cml0ZV90aW1pbmcoc3RydWN0IGthdWFpX3NvZnRjICpzYywgaW50IGRy
aXZlKQoreworICAgICAgICBzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNocCA9ICZzYy0+c2NfY2hhbm5l
bDsKKyAgICAgICAgc3RydWN0IHdkY19yZWdzICp3ZHIgPSBDSEFOX1RPX1dEQ19SRUdTKGNocCk7
CisKKyAgICAgICAgYnVzX3NwYWNlX3dyaXRlXzQod2RyLT5jbWRfaW90LCB3ZHItPmNtZF9iYXNl
aW9oLCBLQVVBSV9GQ1IsIDB4Nyk7CisgICAgICAgIGJ1c19zcGFjZV93cml0ZV80KHdkci0+Y21k
X2lvdCwgd2RyLT5jbWRfYmFzZWlvaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUElPX0NP
TkZJR19SRUcsIHNjLT5zY19waW90aW1pbmdbZHJpdmVdKTsKKyAgICAgICAgYnVzX3NwYWNlX3dy
aXRlXzQod2RyLT5jbWRfaW90LCB3ZHItPmNtZF9iYXNlaW9oLCAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgVURNQV9DT05GSUdfUkVHLCBzYy0+c2NfdWRtYXRpbWluZ1tkcml2ZV0pOyAKK30K
Kwogdm9pZAoga2F1YWlfc2V0X21vZGVzKHN0cnVjdCBhdGFfY2hhbm5lbCAqY2hwKQogewogCXN0
cnVjdCBrYXVhaV9zb2Z0YyAqc2MgPSAodm9pZCAqKWNocC0+Y2hfYXRhYzsKLQlzdHJ1Y3Qgd2Rj
X3JlZ3MgKndkciA9IENIQU5fVE9fV0RDX1JFR1MoY2hwKTsKIAlzdHJ1Y3QgYXRhX2RyaXZlX2Rh
dGFzICpkcnZwMCA9ICZjaHAtPmNoX2RyaXZlWzBdOwogCXN0cnVjdCBhdGFfZHJpdmVfZGF0YXMg
KmRydnAxID0gJmNocC0+Y2hfZHJpdmVbMV07CiAJc3RydWN0IGF0YV9kcml2ZV9kYXRhcyAqZHJ2
cDsKQEAgLTIxNywxMCArMjQ0LDcgQEAKIAkJZHJ2cCA9ICZjaHAtPmNoX2RyaXZlW2RyaXZlXTsK
IAkJaWYgKGRydnAtPmRyaXZlX2ZsYWdzICYgRFJJVkUpIHsKIAkJCSgqc2MtPnNjX2NhbGNfdGlt
aW5nKShzYywgZHJpdmUpOwotCQkJYnVzX3NwYWNlX3dyaXRlXzQod2RyLT5jbWRfaW90LCB3ZHIt
PmNtZF9iYXNlaW9oLAotCQkJICAgIFBJT19DT05GSUdfUkVHLCBzYy0+c2NfcGlvdGltaW5nX3Jb
ZHJpdmVdKTsKLQkJCWJ1c19zcGFjZV93cml0ZV80KHdkci0+Y21kX2lvdCwgd2RyLT5jbWRfYmFz
ZWlvaCwKLQkJCSAgICBETUFfQ09ORklHX1JFRywgc2MtPnNjX2RtYXRpbWluZ19yW2RyaXZlXSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBrYXVhaV93cml0ZV90aW1pbmcoc2MsIGRyaXZlKTsK
IAkJfQogCX0KIH0KQEAgLTIzNSwxOSArMjU5LDQwIEBACiAJMHgwNTAwMDI0OSwJLyogICAgICAz
ICovCiAJMHgwNDAwMDE0OAkvKiAgICAgIDQgKi8KIH07CitzdGF0aWMgY29uc3QgdV9pbnQgcGlv
X3RpbWluZ19zaGFzdGFbXSA9IHsKKyAgICAgICAgMHgwQTAwMEM5NywgICAgIC8qIE1vZGUgMCAq
LworICAgICAgICAweDA3MDAwNzEyLCAgICAgLyogICAgICAxICovCisgICAgICAgIDB4MDQwMDAz
Q0QsICAgICAvKiAgICAgIDIgKi8KKyAgICAgICAgMHgwNDAwMDI4QiwgICAgIC8qICAgICAgMyAq
LworICAgICAgICAweDA0MDAwMTBBICAgICAgLyogICAgICA0ICovCit9Owogc3RhdGljIGNvbnN0
IHVfaW50IGRtYV90aW1pbmdfa2F1YWlbXSA9IHsJLyogMHgwMGZmZjAwMCAqLwogCTB4MDA2MTgw
MDAsCS8qIE1vZGUgMCAqLwogCTB4MDAyMDkwMDAsCS8qICAgICAgMSAqLwogCTB4MDAxNDgwMDAJ
LyogICAgICAyICovCiB9Oworc3RhdGljIGNvbnN0IHVfaW50IGRtYV90aW1pbmdfc2hhc3RhW10g
PSB7CisgICAgICAgIDB4MDA4MjA4MDAsICAgICAvKiBNb2RlIDAgKi8KKyAgICAgICAgMHgwMDI4
QjAwMCwgICAgIC8qICAgICAgMSAqLworICAgICAgICAweDAwMUNBMDAwICAgICAgLyogICAgICAy
ICovCit9Owogc3RhdGljIGNvbnN0IHVfaW50IHVkbWFfdGltaW5nX2thdWFpW10gPSB7CS8qIDB4
MDAwMGZmZmYgKi8KLQkweDAwMDA3MGMwLAkvKiBNb2RlIDAgKi8KLQkweDAwMDA1ZDgwLAkvKiAg
ICAgIDEgKi8KLQkweDAwMDA0YTYwLAkvKiAgICAgIDIgKi8KLQkweDAwMDAzYTUwLAkvKiAgICAg
IDMgKi8KLQkweDAwMDAyYTMwLAkvKiAgICAgIDQgKi8KKwkweDAwMDA3MGMxLAkvKiBNb2RlIDAg
Ki8KKwkweDAwMDA1ZDgxLAkvKiAgICAgIDEgKi8KKwkweDAwMDA0YTYxLAkvKiAgICAgIDIgKi8K
KwkweDAwMDAzYTUxLAkvKiAgICAgIDMgKi8KKwkweDAwMDAyYTMxLAkvKiAgICAgIDQgKi8KIAkw
eDAwMDAyOTIxCS8qICAgICAgNSAqLwogfTsKK3N0YXRpYyBjb25zdCB1X2ludCB1ZG1hX3RpbWlu
Z19zaGFzdGFbXSA9IHsKKyAgICAgICAgMHgwMDAzNTkwMSwgICAgIC8qIE1vZGUgMCAqLworICAg
ICAgICAweDAwMDM0OGIxLCAgICAgLyogICAgICAxICovCisgICAgICAgIDB4MDAwMzM4ODEsICAg
ICAvKiAgICAgIDIgKi8KKyAgICAgICAgMHgwMDAzMzg2MSwgICAgIC8qICAgICAgMyAqLworICAg
ICAgICAweDAwMDMzODQxLCAgICAgLyogICAgICA0ICovCisgICAgICAgIDB4MDAwMzMwMzEsICAg
ICAvKiAgICAgIDUgKi8KKyAgICAgICAgMHgwMDAzMzAyMSAgICAgIC8qICAgICAgNiAqLworfTsK
IAogLyoKICAqIFRpbWluZyBjYWxjdWxhdGlvbiBmb3IgS2F1YWkuCkBAIC0yNjAsMzkgKzMwNSw3
MiBAQAogCWludCBwaW9tb2RlID0gZHJ2cC0+UElPX21vZGU7CiAJaW50IGRtYW1vZGUgPSBkcnZw
LT5ETUFfbW9kZTsKIAlpbnQgdWRtYW1vZGUgPSBkcnZwLT5VRE1BX21vZGU7Ci0JdV9pbnQgcGlv
Y29uZiwgZG1hY29uZjsKKwl1X2ludCBwaW9kbWFjb25mLCB1ZG1hY29uZjsKIAotCXBpb2NvbmYg
PSBwaW9fdGltaW5nX2thdWFpW3Bpb21vZGVdOworI2lmZGVmIERJQUdOT1NUSUMKKyAgICAgICAg
aWYgKHBpb21vZGUgPiA0IHx8IGRtYW1vZGUgPiAyIHx8IHVkbWFtb2RlID4gNSkKKyAgICAgICAg
ICAgICAgICBwYW5pYygiY2FsY190aW1pbmdfa2F1YWk6IGJhZCBtb2RlIik7CisjZW5kaWYKIAot
CWRtYWNvbmYgPSAwOworCXBpb2RtYWNvbmYgPSBwaW9fdGltaW5nX2thdWFpW3Bpb21vZGVdOwog
CWlmIChkcnZwLT5kcml2ZV9mbGFncyAmIERSSVZFX0RNQSkKLQkJZG1hY29uZiB8PSBkbWFfdGlt
aW5nX2thdWFpW2RtYW1vZGVdOwotCWlmIChkcnZwLT5kcml2ZV9mbGFncyAmIERSSVZFX1VETUEp
Ci0JCWRtYWNvbmYgfD0gdWRtYV90aW1pbmdfa2F1YWlbdWRtYW1vZGVdOworCQlwaW9kbWFjb25m
IHw9IGRtYV90aW1pbmdfa2F1YWlbZG1hbW9kZV07CisgICAgICAgIAorICAgICAgICB1ZG1hY29u
ZiA9IDA7CQorICAgICAgICBpZiAoZHJ2cC0+ZHJpdmVfZmxhZ3MgJiBEUklWRV9VRE1BKQorCQl1
ZG1hY29uZiA9IHVkbWFfdGltaW5nX2thdWFpW3VkbWFtb2RlXTsKIAotCWlmIChkcnZwLT5kcml2
ZV9mbGFncyAmIERSSVZFX1VETUEpCi0JCWRtYWNvbmYgfD0gMTsKLQotCXNjLT5zY19waW90aW1p
bmdfcltkcml2ZV0gPSBzYy0+c2NfcGlvdGltaW5nX3dbZHJpdmVdID0gcGlvY29uZjsKLQlzYy0+
c2NfZG1hdGltaW5nX3JbZHJpdmVdID0gc2MtPnNjX2RtYXRpbWluZ193W2RyaXZlXSA9IGRtYWNv
bmY7CisJc2MtPnNjX3Bpb3RpbWluZ1tkcml2ZV0gPSBwaW9kbWFjb25mOworCXNjLT5zY191ZG1h
dGltaW5nW2RyaXZlXSA9IHVkbWFjb25mOwogfQogCisvKgorICogVGltaW5nIGNvbmZpZ3VyYXRp
b24gZm9yIFNoYXN0YS4KKyAqLwordm9pZAorY2FsY190aW1pbmdfc2hhc3RhKHN0cnVjdCBrYXVh
aV9zb2Z0YyAqc2MsIGludCBkcml2ZSkKK3sKKyAgICAgICAgc3RydWN0IGF0YV9jaGFubmVsICpj
aHAgPSAmc2MtPnNjX2NoYW5uZWw7CisgICAgICAgIHN0cnVjdCBhdGFfZHJpdmVfZGF0YXMgKmRy
dnAgPSAmY2hwLT5jaF9kcml2ZVtkcml2ZV07CisgICAgICAgIGludCBwaW9tb2RlID0gZHJ2cC0+
UElPX21vZGU7CisgICAgICAgIGludCBkbWFtb2RlID0gZHJ2cC0+RE1BX21vZGU7CisgICAgICAg
IGludCB1ZG1hbW9kZSA9IGRydnAtPlVETUFfbW9kZTsKKyAgICAgICAgdV9pbnQgcGlvZG1hY29u
ZiwgdWRtYWNvbmY7CisKKyNpZmRlZiBESUFHTk9TVElDCisgICAgICAgIGlmIChwaW9tb2RlID4g
NCB8fCBkbWFtb2RlID4gMiB8fCB1ZG1hbW9kZSA+IDYpCisgICAgICAgICAgICAgICAgcGFuaWMo
ImNhbGNfdGltaW5nX3NoYXN0YTogYmFkIG1vZGUiKTsKKyNlbmRpZgorCisgICAgICAgIHBpb2Rt
YWNvbmYgPSBwaW9fdGltaW5nX3NoYXN0YVtwaW9tb2RlXTsKKyAgICAgICAgaWYgKGRydnAtPmRy
aXZlX2ZsYWdzICYgRFJJVkVfRE1BKQorICAgICAgICAgICAgICAgIHBpb2RtYWNvbmYgfD0gZG1h
X3RpbWluZ19zaGFzdGFbZG1hbW9kZV07CisKKyAgICAgICAgdWRtYWNvbmYgPSAwOworICAgICAg
ICBpZiAoZHJ2cC0+ZHJpdmVfZmxhZ3MgJiBEUklWRV9VRE1BKQorICAgICAgICAgICAgICAgIHVk
bWFjb25mID0gdWRtYV90aW1pbmdfc2hhc3RhW3VkbWFtb2RlXTsKKworICAgICAgICBzYy0+c2Nf
cGlvdGltaW5nW2RyaXZlXSA9IHBpb2RtYWNvbmY7CisgICAgICAgIHNjLT5zY191ZG1hdGltaW5n
W2RyaXZlXSA9IHVkbWFjb25mOworfQorIAogaW50CiBrYXVhaV9kbWFfaW5pdCh2b2lkICp2LCBp
bnQgY2hhbm5lbCwgaW50IGRyaXZlLCB2b2lkICpkYXRhYnVmLAogCXNpemVfdCBkYXRhbGVuLCBp
bnQgZmxhZ3MpCiB7CiAJc3RydWN0IGthdWFpX3NvZnRjICpzYyA9IHY7CiAJZGJkbWFfY29tbWFu
ZF90ICpjbWRwID0gc2MtPnNjX2RtYWNtZDsKLQlzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNocCA9ICZz
Yy0+c2NfY2hhbm5lbDsKLQlzdHJ1Y3Qgd2RjX3JlZ3MgKndkciA9IENIQU5fVE9fV0RDX1JFR1Mo
Y2hwKTsKIAl2YWRkcl90IHZhID0gKHZhZGRyX3QpZGF0YWJ1ZjsKIAlpbnQgcmVhZCA9IGZsYWdz
ICYgV0RDX0RNQV9SRUFEOwogCWludCBjbWQgPSByZWFkID8gREJETUFfQ01EX0lOX01PUkUgOiBE
QkRNQV9DTURfT1VUX01PUkU7CiAJdV9pbnQgb2Zmc2V0OwogCi0JYnVzX3NwYWNlX3dyaXRlXzQo
d2RyLT5jbWRfaW90LCB3ZHItPmNtZF9iYXNlaW9oLCBETUFfQ09ORklHX1JFRywKLQkgICAgcmVh
ZCA/IHNjLT5zY19kbWF0aW1pbmdfcltkcml2ZV0gOiBzYy0+c2NfZG1hdGltaW5nX3dbZHJpdmVd
KTsKLQlidXNfc3BhY2VfcmVhZF80KHdkci0+Y21kX2lvdCwgd2RyLT5jbWRfYmFzZWlvaCwgRE1B
X0NPTkZJR19SRUcpOworI2lmZGVmIERJQUdOT1NUSUMKKyAgICAgICAgaWYgKGRhdGFsZW4gPiBN
QVhCWVRFUykKKyAgICAgICAgICAgICAgICBwYW5pYygia2F1YWlfZG1hX2luaXQ6IGRhdGFsZW4g
PiBNQVhCWVRFUyIpOworI2VuZGlmCisgICAgICAgIAorICAgICAgICBrYXVhaV93cml0ZV90aW1p
bmcoc2MsIGRyaXZlKTsKIAogCW9mZnNldCA9IHZhICYgUEdPRlNFVDsKIAo=
------=_Part_9183_32054307.1217166639451--
Home |
Main Index |
Thread Index |
Old Index