Subject: Patch (Re: Interrupts)
To: netbsd-macppc <port-macppc@NetBSD.ORG>
From: Michael <macallan18@earthlink.net>
List: port-macppc
Date: 12/06/2004 08:03:29
This is a multi-part message in MIME format.

--Multipart=_Mon__6_Dec_2004_08_03_29_-0500_HDYCK3WIfPIcMxRu
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hello,

here's what I did so far - changed a few things so it should act almost like Darwin regarding interrupts. Consider this work in progress, it might cause problems on different hardware.
I didn't get any lockups anymore, although sometimes it just sits there several seconds without apparently processing anything besides clock interrupts but it always recovers ( and the delay only happens with USB and audio with interrupts shared active at the same time, like xmms playing something and fsck digging through a USB disk )
Maybe I'll find something to make the delay less annoying.

have fun
Michael


--Multipart=_Mon__6_Dec_2004_08_03_29_-0500_HDYCK3WIfPIcMxRu
Content-Type: application/octet-stream;
 name="intr.patch"
Content-Disposition: attachment;
 filename="intr.patch"
Content-Transfer-Encoding: base64

SW5kZXg6IGV4dGludHIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9zcmMvc3lzL2Fy
Y2gvbWFjcHBjL21hY3BwYy9leHRpbnRyLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDQKZGlm
ZiAtdSAtdyAtcjEuNDQgZXh0aW50ci5jCi0tLSBleHRpbnRyLmMJMjAgSnVuIDIwMDQgMjA6NTA6
MTMgLTAwMDAJMS40NAorKysgZXh0aW50ci5jCTYgRGVjIDIwMDQgMTI6NTc6MjkgLTAwMDAKQEAg
LTE0OCw2ICsxNDgsOSBAQAogCiAjZGVmaW5lIGhhdmVfb3BlbnBpYwkob3BlbnBpY19iYXNlICE9
IE5VTEwpCiAKKy8qIGZvcm0gRGFyd2luIHNvdXJjZSAqLworI2RlZmluZSBJTlRfTEVWRUxfTUFT
SwkweDNmZjAwMDAwCisKIC8qCiAgKiBNYXAgNjQgaXJxcyBpbnRvIDMyIChiaXRzKS4KICAqLwpA
QCAtMTU5LDE0ICsxNjIsMTggQEAKIAogCWlmIChpcnEgPCAwIHx8IGlycSA+PSBJQ1VfTEVOKQog
CQlwYW5pYygiaW52YWxpZCBpcnEgJWQiLCBpcnEpOworCisjaWYgMQogCWlmICh2aXJxW2lycV0p
CiAJCXJldHVybiB2aXJxW2lycV07CisjZW5kaWYKIAogCXZpcnFfbWF4Kys7CiAJdiA9IHZpcnFf
bWF4OwogCWlmICh2ID4gSFdJUlFfTUFYKQogCQlwYW5pYygidmlycSBvdmVyZmxvdyIpOwogCisJ
cHJpbnRmKCJtYXBwaW5nIGlycSAleCB0byB2aXJxICV4XG4iLCBpcnEsIHYpOwogCWludHJzb3Vy
Y2VzW3ZdLmlzX2h3aXJxID0gaXJxOwogCXZpcnFbaXJxXSA9IHY7CiAKQEAgLTE5MSwxMSArMTk4
LDE0IEBACiBnY19yZWFkX2lycSgpCiB7CiAJaW50IHJ2ID0gMDsKLQlpbnQgbG8sIGhpLCBwOwor
CXVpbnQzMl90IGxvLCBoaSwgcDsKKwl1aW50MzJfdCBwcDsKIAotCWxvID0gaW4zMnJiKElOVF9T
VEFURV9SRUdfTCk7CisJbG8gPSBpbjMycmIoSU5UX1NUQVRFX1JFR19MKS8qICYgfklOVF9MRVZF
TF9NQVNLKi87CisJcHAgPSAoaW4zMnJiKElOVF9MRVZFTF9SRUdfTCkgJiBpbjMycmIoSU5UX0VO
QUJMRV9SRUdfTCkgJiBJTlRfTEVWRUxfTUFTSyk7CisJbG98PXBwOwogCWlmIChsbykKLQkJb3V0
MzJyYihJTlRfQ0xFQVJfUkVHX0wsIGxvKTsKKwkJb3V0MzJyYihJTlRfQ0xFQVJfUkVHX0wsIGxv
fElOVF9MRVZFTF9NQVNLKTsKIAl3aGlsZSAobG8pIHsKIAkJcCA9IDMxIC0gY250bHp3KGxvKTsK
IAkJcnYgfD0gMSA8PCB2aXJxW3BdOwpAQCAtMjAzLDggKzIxMywxMCBAQAogCX0KIAogCWlmICho
ZWF0aHJvd19GQ1IpCQkJLyogaGFzIGhlYXRocm93PyAqLworCXsKIAkJaGkgPSBpbjMycmIoSU5U
X1NUQVRFX1JFR19IKTsKLQllbHNlCisJCS8vaGkgfD0gaW4zMnJiKElOVF9MRVZFTF9SRUdfSCk7
CisJfSBlbHNlCiAJCWhpID0gMDsKIAogCWlmIChoaSkKQEAgLTIyMywxMiArMjM1LDI1IEBACiBn
Y19lbmFibGVfaXJxKGlycSkKIAlpbnQgaXJxOwogewotCXVfaW50IHg7CisJc3RydWN0IGNwdV9p
bmZvICpjaSA9IGN1cmNwdSgpOworCXVfaW50IHksdmk7CisJdV9pbnQgeCxtOwogCiAJaWYgKGly
cSA8IDMyKSB7CiAJCXggPSBpbjMycmIoSU5UX0VOQUJMRV9SRUdfTCk7Ci0JCXggfD0gMSA8PCBp
cnE7CisJCW0gPSAxIDw8IGlycTsKKwkJeCB8PSBtOwogCQlvdXQzMnJiKElOVF9FTkFCTEVfUkVH
X0wsIHgpOworCQkvKiBsb29rIGZvciBsb3N0IGludGVycnVwdHMgKi8KKwkJeT1pbjMycmIoSU5U
X0xFVkVMX1JFR19MKSAmIElOVF9MRVZFTF9NQVNLOworCQlpZih5Jm0pCisJCXsKKwkJCS8qIGxv
c3QgdGhpcyBvbmUgKi8KKwkJCXZpPXZpcnFbaXJxXTsKKwkJCS8qIG1hcmsgaXQgcGVuZGluZyBh
bmQgY2xlYXIgaXQgLSBub3Qgc3VyZSBpZiB0aGF0J3MgZW5vdWdoIHRob3VnaCAqLworCQkJY2kt
PmNpX2lwZW5kaW5nfD0oMTw8dmkpOworCQkJb3V0MzJyYihJTlRfQ0xFQVJfUkVHX0wsbSk7CisJ
CX0KIAl9IGVsc2UgewogCQl4ID0gaW4zMnJiKElOVF9FTkFCTEVfUkVHX0gpOwogCQl4IHw9IDEg
PDwgKGlycSAtIDMyKTsKQEAgLTI1MSw2ICsyNzYsMTEgQEAKIAkJeCAmPSB+KDEgPDwgKGlycSAt
IDMyKSk7CiAJCW91dDMycmIoSU5UX0VOQUJMRV9SRUdfSCwgeCk7CiAJfQorCisjaWZkZWYgSVJR
X0RFQlVHCisJaWYoaXJxPT0yNSkKKwkJcHJpbnRmKCJYIik7CisjZW5kaWYKIH0KIAogLyoKQEAg
LTM0Myw2ICszNzMsNyBAQAogCQlyZWdpc3RlciBpbnQgaXJxcyA9IDEgPDwgaXJxOwogCQlmb3Ig
KHEgPSBpcy0+aXNfaGFuZDsgcTsgcSA9IHEtPmloX25leHQpCiAJCQlpcnFzIHw9IGltYXNrW3Et
PmloX2xldmVsXTsKKwkJLy9wcmludGYoImlycSAlZDogJTA4eFxuIixpcnEsaXJxcyk7CiAJCWlz
LT5pc19tYXNrID0gaXJxczsKIAl9CiAKQEAgLTM2MCwxMCArMzkxLDEzIEBACiAJCQlvdXQzMnJi
KElOVF9FTkFCTEVfUkVHX0gsIDApOwogCQlmb3IgKGlycSA9IDAsIGlzID0gaW50cnNvdXJjZXM7
IGlycSA8IE5JUlE7IGlycSsrLCBpcysrKSB7CiAJCQlpZiAoaXMtPmlzX2hhbmQpCisJCQl7CisJ
CQkJLy9nY19kaXNhYmxlX2lycShpcy0+aXNfaHdpcnEpOwogCQkJCWdjX2VuYWJsZV9pcnEoaXMt
PmlzX2h3aXJxKTsKIAkJfQogCX0KIH0KK30KIAogaW50CiBmYWtlaW50cihhcmcpCkBAIC02OTks
NyArNzMzLDYgQEAKIAkJaXMgPSAmaW50cnNvdXJjZXNbaXJxXTsKIAkJaWYgKCFoYXZlX29wZW5w
aWMpCiAJCQlnY19lbmFibGVfaXJxKGlzLT5pc19od2lycSk7Ci0KIAkJY2ktPmNpX2lwZW5kaW5n
ICY9IH4oMSA8PCBpcnEpOwogCQlzcGxyYWlzZShpcy0+aXNfbWFzayk7CiAJCW10bXNyKGVtc3Ip
OwpAQCAtNzEyLDcgKzc0NSw2IEBACiAJCUtFUk5FTF9VTkxPQ0soKTsKIAkJbXRtc3IoZG1zcik7
CiAJCWNpLT5jaV9jcGwgPSBwY3BsOwotCiAJCWlzLT5pc19ldi5ldl9jb3VudCsrOwogCQlpZiAo
aGF2ZV9vcGVucGljKQogCQkJb3BlbnBpY19lbmFibGVfaXJxKGlzLT5pc19od2lycSwgaXMtPmlz
X3R5cGUpOwpAQCAtNzc3LDcgKzgwOSw3IEBACiAJCWdvdG8gYWdhaW47CiAJfQogCi0jaWYgMAor
I2lmIDEKIAlpZiAoY2ktPmNpX2lwZW5kaW5nICYgfnBjcGwpIHsKIAkJcHJpbnRmKCJkb19wZW5k
aW5nX2ludCAoYWdhaW4pIDB4JXhcbiIsIGNpLT5jaV9pcGVuZGluZyAmIH5wY3BsKTsKIAkJZ290
byBhZ2FpbjsK

--Multipart=_Mon__6_Dec_2004_08_03_29_-0500_HDYCK3WIfPIcMxRu--