From 129b4a792b980632ebfc24641538d533bf853e27 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 23 Jul 2003 17:40:02 +0000 Subject: 2003-07-18 Till Straumann PR 288/rtems * support/new_exception_processing/cpu.c: _ISR_Nest_level is now properly maintained and does not reside in SPRG0. --- c/src/lib/libcpu/powerpc/new-exceptions/cpu.c | 32 +++++++-------------------- 1 file changed, 8 insertions(+), 24 deletions(-) (limited to 'c/src/lib/libcpu') diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/cpu.c b/c/src/lib/libcpu/powerpc/new-exceptions/cpu.c index 9dcd1b4da2..289ce61b56 100644 --- a/c/src/lib/libcpu/powerpc/new-exceptions/cpu.c +++ b/c/src/lib/libcpu/powerpc/new-exceptions/cpu.c @@ -50,6 +50,14 @@ void _CPU_Initialize( ) { _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 @@ -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 -} - -- cgit v1.2.3