Thread Dispatch via Interrupts
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Apr 29 09:01:01 UTC 2009
Hi,
a common task of interrupt handlers is to do a thread dispatch after the actual
interrupt processing. On many architectures this is done in assembler code
which lead recently to problems due to a data type size change, see also
https://www.rtems.org/bugzilla/show_bug.cgi?id=1385
On PowerPC we where not affected by this kind of problems, since we use this:
void _ISR_Thread_dispatch(void)
{
if (_Context_Switch_necessary) {
_Thread_Dispatch();
} else if (_ISR_Signals_to_thread_executing) {
_ISR_Signals_to_thread_executing = false;
if (
_Thread_Do_post_task_switch_extension
|| _Thread_Executing->do_post_task_switch_extension
) {
_Thread_Executing->do_post_task_switch_extension = false;
_API_extensions_Run_postswitch();
}
}
}
We should add this or a similar function to the super core.
The ARM and m68k for example the thread dispatch is not done in this way. Is
there a reason for this?
Have a nice day!
--
Sebastian Huber, Embedded Brains GmbH
Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
Phone : +49 89 18 90 80 79-6
Fax : +49 89 18 90 80 79-9
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the users
mailing list