Subject: Re: irq handling patch
To: None <Richard.Earnshaw@arm.com>
From: Chris Gilbert <chris@paradox.demon.co.uk>
List: port-arm32
Date: 04/16/2001 19:42:20
--------------Boundary-00=_KMEWZX4VSDIG1WE76PQH
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

On Tuesday 03 April 2001 11:05 am, Chris Gilbert wrote:
> On Tuesday 03 April 2001 10:56 am, Richard Earnshaw wrote:
> > > He works here.  I'll ask him.  I think fair credit in this case would
> > > be to add a comment before the code in question stating its origin --
> > > something along the lines of
> >
> > I've just spoken to David.  He is happy for the code to be used provided
> > that he is acknowledged.  So a comment along the lines of the one I
> > suggested would be fine.
>
> Ok I'll do that.  (should manage to find time tonight to do that and tweak
> the patch a bit more :)

And 2 weeks later I've managed to find time to tweak the patch some more, and 
give credit as appropriate.

If can people could again look at the patch, check I'm not missing anything 
obvious.

While I'm in this area the stray interrupt code is broken, currently it 
returns, without pulling the frame off the stack etc, I'm thinking maybe it 
should panic, but I'm not sure about doing a panic when handling interrupts.  
Perhaps it should be tidied up so that it can return, and we attempt to 
handle any more interrupts?

Cheers,
Chris

--------------Boundary-00=_KMEWZX4VSDIG1WE76PQH
Content-Type: text/plain;
  charset="iso-8859-1";
  name="irq2.diff"
Content-Transfer-Encoding: base64
Content-Description: irq handling ffs diff
Content-Disposition: attachment; filename="irq2.diff"

SW5kZXg6IGlvbWRfaXJxLlMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3Qvc3lzc3JjL3N5
cy9hcmNoL2FybTMyL2lvbWQvaW9tZF9pcnEuUyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMgpk
aWZmIC11IC1wIC1yMS4yMiBpb21kX2lycS5TCi0tLSBpb21kX2lycS5TCTIwMDEvMDIvMjUgMjM6
NTk6NDgJMS4yMgorKysgaW9tZF9pcnEuUwkyMDAxLzA0LzE2IDE4OjM1OjEyCkBAIC01MCw2ICs1
MCwyNCBAQAogCiAJLnRleHQKIAkuYWxpZ24JMAorLyoKKyAqIGZmcyB0YWJsZSB1c2VkIGZvciBz
ZXJ2aWNpbmcgaXJxJ3MgcXVpY2tseSBtdXN0IGJlIGhlcmUgb3RoZXJ3aXNlIGFkciBjYW4ndAor
ICogcmVhY2ggaXQKKyAqIFRoZSBhbGdvcml0aG0gZm9yIGZmcyB3YXMgZGV2aXNlZCBieSBELiBT
ZWFsIGFuZCBwb3N0ZWQgdG8KKyAqIGNvbXAuc3lzLmFybSBvbiAxNiBGZWIgMTk5NC4KKyAqLwor
LnR5cGUgTGlycV9mZnNfdGFibGUsIF9BU01fVFlQRV9PQkpFQ1Q7CitMaXJxX2Zmc190YWJsZToK
Ky8qIHNhbWUgYXMgZmZzIHRhYmxlIGJ1dCBhbGwgbnVtcyBhcmUgLTEgZnJvbSB0aGF0ICovCisv
KiAgICAgICAgICAgICAgIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgICAgICAgICAq
LworCS5ieXRlCSAwLCAgMCwgIDEsIDEyLCAgMiwgIDYsICAwLCAxMyAgLyogIDAtIDcgKi8KKwku
Ynl0ZQkgMywgIDAsICA3LCAgMCwgIDAsICAwLCAgMCwgMTQgIC8qICA4LTE1ICovCisJLmJ5dGUJ
MTAsICA0LCAgMCwgIDAsICA4LCAgMCwgIDAsIDI1ICAvKiAxNi0yMyAqLworCS5ieXRlCSAwLCAg
MCwgIDAsICAwLCAgMCwgMjEsIDI3LCAxNSAgLyogMjQtMzEgKi8KKwkuYnl0ZQkzMSwgMTEsICA1
LCAgMCwgIDAsICAwLCAgMCwgIDAJLyogMzItMzkgKi8KKwkuYnl0ZQkgOSwgIDAsICAwLCAyNCwg
IDAsICAwLCAyMCwgMjYgIC8qIDQwLTQ3ICovCisJLmJ5dGUJMzAsICAwLCAgMCwgIDAsICAwLCAy
MywgIDAsIDE5ICAvKiA0OC01NSAqLworCS5ieXRlICAgMjksICAwLCAyMiwgMTgsIDI4LCAxNywg
MTYsICAwICAvKiA1Ni02MyAqLwogCiAvKgogICoKQEAgLTgyLDExICsxMDAsMTIgQEAgTHNwbF9t
YXNrczoKIC8qCiAgKiBSZWdpc3RlciB1c2FnZQogICoKKyAqICByNSAgLSBBZGRyZXNzIG9mIGZm
cyB0YWJsZQogICogIHI2ICAtIEFkZHJlc3Mgb2YgY3VycmVudCBoYW5kbGVyCiAgKiAgcjcgIC0g
UG9pbnRlciB0byBoYW5kbGVyIHBvaW50ZXIgbGlzdAogICogIHI4ICAtIEN1cnJlbnQgSVJRIHJl
cXVlc3RzLgotICogIHI5ICAtIFVzZWQgdG8gY291bnQgdGhyb3VnaCBwb3NzaWJsZSBJUlEgYml0
cy4KICAqICByMTAgLSBCYXNlIGFkZHJlc3Mgb2YgSU9NRAorICogIHIxMSAtIElSUSByZXF1ZXN0
cyBzdGlsbCB0byBzZXJ2aWNlLgogICovCiAKIExpb21kX2Jhc2U6CkBAIC0xODEsNzMgKzIwMCwx
MTMgQEAgTGZpbmRfaGlnaGVzdF9pcGw6CiAJbXNyCWNwc3JfYWxsLCByMAogCiAJbGRyCXI3LCBb
cGMsICNMaXJxaGFuZGxlcnMgLSAuIC0gOF0KLSAgICAgICAgbW92CXI5LCAjMHgwMDAwMDAwMQot
CisJLyogCisJICogdGFrZSBhIGNvcHkgb2YgdGhlIElSUSByZXF1ZXN0IHNvIHRoYXQgd2UgY2Fu
IHN0cmlwIGJpdHMgb3V0IG9mIGl0CisJICogbm90ZSB0aGF0IHdlIG9ubHkgdXNlIDI0IGJpdHMg
d2l0aCBpb21kMiBjaGlwcworCSAqLworI2lmZGVmICBDUFVfQVJNNzUwMAorCW1vdglyMTEsIHI4
CisjZWxzZQorCWJpYwlyMTEsIHI4LCAjMHhmZjAwMDAwMAorI2VuZGlmCisJLyogZmZzIHJvdXRp
bmUgdG8gZmluZCBmaXJzdCBpcnEgdG8gc2VydmljZSAqLworCS8qIHN0YW5kYXJkIHRyaWNrIHRv
IGlzb2xhdGUgYm90dG9tIGJpdCBpbiBhMCBvciAwIGlmIGEwID0gMCBvbiBlbnRyeSAqLworCXJz
YglyNCwgcjExLCAjMAorCWFuZHMJcjEwLCByMTEsIHI0CisKKwkvKiAKKwkgKiBub3cgcjEwIGhh
cyBhdCBtb3N0IDEgc2V0IGJpdCwgY2FsbCB0aGlzIFgKKwkgKiBpZiBYID0gMCwgYnJhbmNoIHRv
IGV4aXQgY29kZQorCSAqLworCWJlcQlleGl0aXJxCisJYWRyCXI1LCBMaXJxX2Zmc190YWJsZQog
aXJxbG9vcDoKLQkvKiBUaGlzIHdvdWxkIGJlbmVmaXQgZnJvbSBhIHNwZWNpYWwgZmZzIHR5cGUg
cm91dGluZSAqLwotCXRzdAlyOCwgcjkJCQkvKiBJcyBhIGJpdCBzZXQgPyAqLwotCWJlcQluZXh0
aXJxCQkJLyogTm8gPyB0cnkgbmV4dCBiaXQgKi8KKwkvKgorCSAqIGF0IHRoaXMgcG9pbnQ6CisJ
ICoJcjUgPSBhZGRyZXNzIG9mIGZmcyB0YWJsZQorCSAqCXI3ID0gYWRkcmVzcyBvZiBpcnEgaGFu
ZGxlcnMgdGFibGUKKwkgKglyOCA9IGlycSByZXF1ZXN0CisJICoJcjEwID0gYml0IG9mIGlycSB0
byBiZSBzZXJ2aWNlZAorCSAqCXIxMSA9IGJpdG1hc2sgb2YgSVJRJ3MgdG8gc2VydmljZQorCSAq
LwogCi0JbGRyCXI2LCBbcjddCQkvKiBHZXQgYWRkcmVzcyBvZiBmaXJzdCBoYW5kbGVyIHN0cnVj
dHVyZSAqLworCS8qIG90aGVyd2lzZSBmaW5kIHRoZSBzZXQgYml0ICovCisJb3JyCXI5LCByMTAs
IHIxMCwgbHNsICM0CS8qIFggKiAweDExICovCisJb3JyCXI5LCByOSwgcjksIGxzbCAjNgkvKiBY
ICogMHg0NTEgKi8KKwlyc2IJcjksIHI5LCByOSwgbHNsICMxNgkvKiBYICogMHgwNDUwZmJhZiAq
LworCS8qIGZldGNoIHRoZSBiaXQgbnVtYmVyICovCisJbGRyYglyOSwgW3I1LCByOSwgbHNyICMy
NiBdCisKKwkvKiAKKwkgKiByOSA9IGlycSB0byBzZXJ2aWNlCisJICovCiAKKwkvKiBhcG9sb2dp
ZXMgZm9yIHRoZSBkb2dzIGRpbm5lciBvZiBjb2RlIGhlcmUsIGJ1dCBpdCdzIGluIGFuIGF0dGVt
cHQKKwkgKiB0byBtaW5pbWlzZSBzdGFsbGluZyBvbiBTQSdzLCBoZW5jZSBsb3RzIG9mIHRoaW5n
cyBoYXBwZW4gaGVyZToKKwkgKgktIGdldHRpbmcgYWRkcmVzcyBvZiBoYW5kbGVyLCBpZiBpdCBk
b2Vzbid0IGV4aXN0IHdlIGNhbGwKKwkgKgkgIHN0cmF5X2lycWhhbmRsZXIgdGhpcyBpcyBhc3N1
bWVkIHRvIGJlIHJhcmUgc28gd2UgZG9uJ3QKKwkgKgkgIGNhcmUgYWJvdXQgcGVyZm9ybWFuY2Ug
Zm9yIGl0CisJICoJLSBzdGF0aW5mbyBpcyB1cGRhdGVkCisJICoJLSB1bnNldHRpbmcgb2YgdGhl
IGlycSBiaXQgaW4gcjExCisJICoJLSBpcnEgc3RhdHMgKGlmIGVuYWJsZWQpIGFsc28gZ2V0IHB1
dCBpbiB0aGUgbWl4CisJICovCisJbGRyCXI0LCBMY250CQkvKiBTdGF0IGluZm8gQSAqLworCWxk
cglyNiwgW3I3LCByOSwgbHNsICMyXQkvKiBHZXQgYWRkcmVzcyBvZiBmaXJzdCBoYW5kbGVyIHN0
cnVjdHVyZSAqLworCisJbGRyCXIxLCBbcjQsICMoVl9JTlRSKV0JLyogU3RhdCBpbmZvIEIgKi8K
KwkKIAl0ZXEJcjYsICMweDAwMDAwMDAwCQkvKiBEbyB3ZSBoYXZlIGEgaGFuZGxlciAqLwogCW1v
dmVxCXIwLCByOAkJCS8qIElSUSByZXF1ZXN0cyBhcyBhcmcgMCAqLwogCWJlcQlfQ19MQUJFTChz
dHJheV9pcnFoYW5kbGVyKSAvKiBjYWxsIHNwZWNpYWwgaGFuZGxlciAqLwotCi0gICAgICAgIGxk
cglyMCwgTGNudAkJLyogU3RhdCBpbmZvICovCi0JbGRyCXIxLCBbcjAsICMoVl9JTlRSKV0KKwkK
KyNpZmRlZiBJUlFTVEFUUworCWxkcglyMiwgTGludHJjbnQKKwlsZHIJcjMsIFtyNiwgIyhJSF9O
VU0pXQorI2VuZGlmCisJLyogc3RhdCBpbmZvIEMgKi8KIAlhZGQJcjEsIHIxLCAjMHgwMDAwMDAw
MQotCXN0cglyMSwgW3IwLCAjKFZfSU5UUildCi0KLQkvKgotCSAqIFhYWDogU2hvdWxkIHN0YXRz
IGJlIGFjY3VtbGF0ZWQgZm9yIGV2ZXJ5IGludGVycnVwdCByb3V0aW5lCi0JICogY2FsbGVkIG9y
IGZvciBldmVyeSBwaHlzaWNhbCBpbnRlcnJ1cHQgdGhhdCBpcyBzZXJ2aWNlZC4KLQkgKi8KKwlz
dHIJcjEsIFtyNCwgIyhWX0lOVFIpXQogCiAjaWZkZWYgSVJRU1RBVFMKLQlsZHIJcjAsIExpbnRy
Y250Ci0JbGRyCXIxLCBbcjYsICMoSUhfTlVNKV0KKwlhZGQJcjIsIHIyLCByMywgbHNsICMyCisJ
bGRyCXIzLCBbcjJdCisjZW5kaWYKKwliaWMJcjExLCByMTEsIHIxMAkJLyogY2xlYXIgdGhlIElS
USBiaXQgKi8KIAotCWFkZAlyMCwgcjAsIHIxLCBsc2wgIzIKLQlsZHIJcjEsIFtyMF0KLQlhZGQJ
cjEsIHIxLCAjMHgwMDAwMDAwMQotCXN0cglyMSwgW3IwXQorI2lmZGVmIElSUVNUQVRTCisJYWRk
CXIzLCByMywgIzB4MDAwMDAwMDEKKwlzdHIJcjMsIFtyMl0KICNlbmRpZgkvKiBJUlFTVEFUUyAq
LwogCiBpcnFjaGFpbmxvb3A6Ci0JYWRkCWxyLCBwYywgI25leHRpbmNoYWluIC0gLiAtIDgJLyog
cmV0dXJuIGFkZHJlc3MgKi8KIAlsZHIJcjAsIFtyNiwgIyhJSF9BUkcpXQkvKiBHZXQgYXJndW1l
bnQgcG9pbnRlciAqLworCWFkZAlsciwgcGMsICNuZXh0aW5jaGFpbiAtIC4gLSA4CS8qIHJldHVy
biBhZGRyZXNzICovCiAJdGVxCXIwLCAjMHgwMDAwMDAwMAkJLyogSWYgYXJnIGlzIHplcm8gcGFz
cyBzdGFjayBmcmFtZSAqLwogCWFkZGVxCXIwLCBzcCwgIzgJCS8qIC4uLiBzdGFjayBmcmFtZSBb
WFhYIG5lZWRzIGNhcmVdICovCiAJbGRyCXBjLCBbcjYsICMoSUhfRlVOQyldCS8qIENhbGwgaGFu
ZGxlciAqLwogCiBuZXh0aW5jaGFpbjoKKwlsZHIJcjYsIFtyNiwgIyhJSF9ORVhUKV0JLyogZmV0
Y2ggbmV4dCBoYW5kbGVyICovCisJCiAJdGVxCXIwLCAjMHgwMDAwMDAwMQkJLyogV2FzIHRoZSBp
cnEgc2VydmljZWQgPyAqLwotCWJlcQlpcnFkb25lCi0KLQlsZHIJcjYsIFtyNiwgIyhJSF9ORVhU
KV0KLQl0ZXEJcjYsICMweDAwMDAwMDAwCisJCisJLyogaWYgaXQgd2FzIGl0J2xsIGp1c3QgZmFs
bCB0aHJvdWdoIHRoaXM6ICovCisJdGVxbmUJcjYsICMweDAwMDAwMDAwCiAJYm5lCWlycWNoYWlu
bG9vcAogCi1pcnFkb25lOgotbmV4dGlycToKLQlhZGQJcjcsIHI3LCAjMHgwMDAwMDAwNAkvKiB1
cGRhdGUgcG9pbnRlciB0byBoYW5kbGVycyAqLwotCW1vdglyOSwgcjksIGxzbCAjMQkJLyogbW92
ZSBvbiB0byBuZXh0IGJpdCAqLwotI2lmZGVmIENQVV9BUk03NTAwCi0JdGVxCXI5LCAjMAkJCS8q
IGRvbmUgdGhlIGxhc3QgYml0ID8gKi8KLSNlbHNlCi0JdGVxCXI5LCAjKDEgPDwgMjQpCQkvKiBk
b25lIHRoZSBsYXN0IGJpdCA/ICovCi0jZW5kaWYJLyogQ1BVX0FSTTc1MDAgKi8KLQlibmUJaXJx
bG9vcAkJCS8qIG5vIC0gbG9vcCBiYWNrLiAqLwotCi0JbGRtZmQJc3AhLCB7cjJ9Ci0JbGRyCXIx
LCBMY3VycmVudF9zcGxfbGV2ZWwKLQlzdHIJcjIsIFtyMV0KLQotCS8qIFJlc3RvcmUgcHJldmlv
dXMgZGlzYWJsZWQgbWFzayAqLwotCWxkbWZkCXNwISwge3IyfQorCS8qIENoZWNrIGZvciBuZXh0
IGlycSAqLworCXJzYglyNCwgcjExLCAjMAorCWFuZHMJcjEwLCByMTEsIHI0CisJLyogY2hlY2sg
aWYgdGhlcmUgYXJlIGFueW1vcmUgaXJxJ3MgdG8gc2VydmljZSAqLworCWJuZSAJaXJxbG9vcAor
CitleGl0aXJxOgorCWxkbWZkCXNwISwge3IyLCByM30KKwlsZHIJcjksIExjdXJyZW50X3NwbF9s
ZXZlbAogCWxkcglyMSwgTGRpc2FibGVkX21hc2sKLQlzdHIJcjIsIFtyMV0KKwlzdHIJcjIsIFty
OV0KKwlzdHIJcjMsIFtyMV0KKwogCWJsCV9DX0xBQkVMKGlycV9zZXRtYXNrcykKIAogCWJsCV9D
X0xBQkVMKGRvc29mdGludHMpCS8qIEhhbmRsZSB0aGUgc29mdCBpbnRlcnJ1cHRzICovCkBAIC0z
MzMsOCArMzkyLDggQEAgRU5UUlkoaXJxX3NldG1hc2tzKQogCiAJLyogQ2FsY3VsYXRlIElPTUQg
aW50ZXJydXB0IG1hc2sgKi8KIAlsZHIJcjEsIExjdXJyZW50X21hc2sJLyogQWxsIHRoZSBlbmFi
bGVkIGludGVycnVwdHMgKi8KLQlsZHIJcjEsIFtyMV0KIAlsZHIJcjIsIExzcGxfbWFzawkJLyog
QmxvY2sgZHVlIHRvIGN1cnJlbnQgc3BsIGxldmVsICovCisJbGRyCXIxLCBbcjFdCiAJbGRyCXIy
LCBbcjJdCiAJYW5kCXIxLCByMSwgcjIKIAlsZHIJcjIsIExkaXNhYmxlZF9tYXNrCS8qIEJsb2Nr
IGR1ZSB0byBhY3RpdmUgaW50ZXJydXB0cyAqLwpAQCAtNDc4LDYgKzUzNyw4IEBAIF9DX0xBQkVM
KGludHJjbnQpOgogCS5sb25nCTAKIF9DX0xBQkVMKGVpbnRyY250KToKICNlbmRpZgkvKiBJUlFT
VEFUUyAqLworCisKIAogLyogRklRIGNvZGUgKi8KIAo=

--------------Boundary-00=_KMEWZX4VSDIG1WE76PQH--