From c9c835cc086b9fd79aaed5c0c9ccbfcfb2639198 Mon Sep 17 00:00:00 2001 From: Eric Norum Date: Wed, 1 Mar 2006 15:50:53 +0000 Subject: Add "cc" in the clobbered register list for interrupt enable/disable/flash operations. --- cpukit/score/cpu/m68k/ChangeLog | 5 +++++ cpukit/score/cpu/m68k/rtems/score/m68k.h | 14 +++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/cpukit/score/cpu/m68k/ChangeLog b/cpukit/score/cpu/m68k/ChangeLog index 0be0f1385e..0ca2da25ac 100644 --- a/cpukit/score/cpu/m68k/ChangeLog +++ b/cpukit/score/cpu/m68k/ChangeLog @@ -1,3 +1,8 @@ +2006-03-01 Eric Norum + + * rtems/score/m68k.h: Add "cc" in the clobbered register list for + interrupt enable/disable/flash operations. + 2003-09-04 Joel Sherrill * cpu.c, cpu_asm.S, rtems/score/cpu.h, rtems/score/m68k.h, diff --git a/cpukit/score/cpu/m68k/rtems/score/m68k.h b/cpukit/score/cpu/m68k/rtems/score/m68k.h index b38bf36c7d..066590a412 100644 --- a/cpukit/score/cpu/m68k/rtems/score/m68k.h +++ b/cpukit/score/cpu/m68k/rtems/score/m68k.h @@ -260,17 +260,19 @@ extern "C" { asm volatile ( "move.w %%sr,%0\n\t" \ "or.l %0,%1\n\t" \ "move.w %1,%%sr" \ - : "=d" (_level), "=d"(_tmpsr) : "1"(_tmpsr) ); \ + : "=d" (_level), "=d"(_tmpsr) : "1"(_tmpsr) \ + : "cc" ); \ } while( 0 ) #else #define m68k_disable_interrupts( _level ) \ asm volatile ( "move.w %%sr,%0\n\t" \ "or.w #0x0700,%%sr" \ - : "=d" (_level)) + : "=d" (_level) \ + : : "cc" ) #endif #define m68k_enable_interrupts( _level ) \ - asm volatile ( "move.w %0,%%sr " : : "d" (_level)); + asm volatile ( "move.w %0,%%sr " : : "d" (_level) : "cc"); #if ( M68K_COLDFIRE_ARCH == 1 ) #define m68k_flash_interrupts( _level ) \ @@ -278,13 +280,15 @@ extern "C" { asm volatile ( "move.w %2,%%sr\n\t" \ "or.l %2,%1\n\t" \ "move.w %1,%%sr" \ - : "=d"(_tmpsr) : "0"(_tmpsr), "d"(_level) ); \ + : "=d"(_tmpsr) : "0"(_tmpsr), "d"(_level) \ + : "cc"); \ } while( 0 ) #else #define m68k_flash_interrupts( _level ) \ asm volatile ( "move.w %0,%%sr\n\t" \ "or.w #0x0700,%%sr" \ - : : "d" (_level)) + : : "d" (_level) \ + : "cc" ) #endif #define m68k_get_interrupt_level( _level ) \ -- cgit v1.2.3