This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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
>>   "interrupt_handler".
>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                   
Wizard                                   781-852-2768 (direct)
WaveMark Solutions(A Motorola Company)   781-270-0193 (fax)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]