This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] MIPS function attributes for interrupt handlers
- From: "Fu, Chao-Ying" <fu at mips dot com>
- To: <gcc-patches at gcc dot gnu dot org>, "Richard Sandiford" <rdsandiford at googlemail dot com>, <anemet at caviumnetworks dot com>, <mark at codesourcery dot com>
- Cc: "Lau, David" <davidlau at mips dot com>
- Date: Tue, 24 Feb 2009 18:02:08 -0800
- Subject: Re: [PATCH] MIPS function attributes for interrupt handlers
- References: <94BD67F8AF3ED34FA362C662BA1F12C501007E7F@MTVEXCHANGE.mips.com>
- Reply-to: "Fu, Chao-Ying" <fu at mips dot com>
Hi All,
Based on the discussions last year, I will update my interrupt patch to
support only the following
attributes.
void __attribute__ ((interrupt )) v0 () { }
void __attribute__ ((interrupt (use_shadow_register_set))) v1 () { }
void __attribute__ ((interrupt (keep_interrupts_masked))) v2 () { }
void __attribute__ ((interrupt (use_shadow_register_set,
keep_interrupts_masked))) v3 () { }
The default "interrupt" attribute will generate code that doesn't use
shadow register sets,
and doesn't keep interrupts masked.
The previous "naked", "vector", "at_vector" attributes will be removed
from the patch, because
there are issues about the usage of "naked", and "vector"/"at_vector"
actually just put the functions
into named sections (not the memory address of vectors).
Are people ok with attributes and the names? Thanks!
Regards,
Chao-ying