mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-11-16 12:34:45 +00:00
2003-07-18 Till Straumann <strauman@slac.stanford.edu>
PR 288/rtems * support/new_exception_processing/cpu.c: _ISR_Nest_level is now properly maintained and does not reside in SPRG0.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2003-07-18 Till Straumann <strauman@slac.stanford.edu>
|
||||||
|
|
||||||
|
PR 288/rtems
|
||||||
|
* support/new_exception_processing/cpu.c: _ISR_Nest_level is now
|
||||||
|
properly maintained and does not reside in SPRG0.
|
||||||
|
|
||||||
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||||
|
|
||||||
* configure.ac: Remove AC_CONFIG_AUX_DIR.
|
* configure.ac: Remove AC_CONFIG_AUX_DIR.
|
||||||
|
|||||||
@@ -50,6 +50,14 @@ void _CPU_Initialize(
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
_CPU_Table = *cpu_table;
|
_CPU_Table = *cpu_table;
|
||||||
|
|
||||||
|
{ unsigned hasFixed = 0;
|
||||||
|
/* assert that our BSP has fixed PR288 */
|
||||||
|
__asm__ __volatile__ ("mfspr %0, %2":"=r"(hasFixed):"0"(hasFixed),"i"(SPRG0));
|
||||||
|
if ( PPC_BSP_HAS_FIXED_PR288 != hasFixed ) {
|
||||||
|
BSP_panic("This BSP needs to fix PR#288");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*PAGE
|
/*PAGE
|
||||||
@@ -143,27 +151,3 @@ void _CPU_Install_interrupt_stack( void )
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/*PAGE
|
|
||||||
*
|
|
||||||
* This is the PowerPC specific implementation of the routine which
|
|
||||||
* returns TRUE if an interrupt is in progress.
|
|
||||||
*/
|
|
||||||
|
|
||||||
boolean _ISR_Is_in_progress( void )
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Until the patch on PR288 is in all new exception BSPs, this is
|
|
||||||
* the safest thing to do.
|
|
||||||
*/
|
|
||||||
#ifdef mpc8260
|
|
||||||
return (_ISR_Nest_level != 0);
|
|
||||||
#else
|
|
||||||
register unsigned int isr_nesting_level;
|
|
||||||
/*
|
|
||||||
* Move from special purpose register 0 (mfspr SPRG0, r3)
|
|
||||||
*/
|
|
||||||
asm volatile ("mfspr %0, 272" : "=r" (isr_nesting_level));
|
|
||||||
return isr_nesting_level;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user