This is the mail archive of the
mailing list for the GCC project.
Re: m68k patch reviews
>> Interrupt functions in AmigaOS context are almost normal functions. They
>> have the same scratch registers and must use "rts" to return to the OS.
>> The only thing they must do is to set the condition codes on exit. Thus
>> the interrrupt attribute inserts a "tstl d0" before the "rts".
>That's because exec wraps them. Softints are really asynchronous callbacks,
>and exec interrupt handlers are called by the interrupt dispatcher, which
>is written in assembly like all the rest of exec.
>> > In the latter case, I think we could rename this attribute to
>> > 'interrupt_handler' and leave the Amiga semantics intact.
>> Please do. According the the GCC docs some ports use "interrupt" and some
>Yes, I've seen that. I'd just like to check with Peter Baradas if it's ok
>to rename the attribute at this point. Peter, do you expect this change to
>break much code on embedded targets? If it's acceptable for you, I will go
>on and rename it.
>From what I've read, it sounds like the Amiga interrupt is very
different(du to exec intercepting it) than that on raw iron. If you
want to add 'attribute(interrupt_handler)' which does the specific
stuff for Amiga(rts instead of rte, as well as inserting 'tstl d0'),
and leave the 'attribute(interrupt)' along, then I think we get the
best of both worlds.
Peter Barada Peter.Barada@motorola.com
Wizard 781-852-2768 (direct)
WaveMark Solutions(A Motorola Company) 781-270-0193 (fax)