diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/dmv177/include')
-rw-r--r-- | c/src/lib/libbsp/powerpc/dmv177/include/bsp.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/dmv177/include/bsp.h b/c/src/lib/libbsp/powerpc/dmv177/include/bsp.h index 5bb9e4c1ce..f99211f8d3 100644 --- a/c/src/lib/libbsp/powerpc/dmv177/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/dmv177/include/bsp.h @@ -81,6 +81,11 @@ extern "C" { #define Clear_tm27_intr() \ do { \ unsigned32 _clicks = 0xffffffff; \ + unsigned32 _msr = 0; \ + _ISR_Set_level( 0 ); \ + asm volatile( "mfmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ + _msr &= ~0x8000; \ + asm volatile( "mtmsr %0 ;" : "=r" (_msr) : "r" (_msr) ); \ asm volatile( "mtdec %0" : "=r" ((_clicks)) : "r" ((_clicks)) ); \ } while (0) |