From a78df7ba0c11a7318a7d25fdc830cdaef1b74dd3 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 22 Aug 2008 13:35:08 +0000 Subject: Index: ChangeLog =================================================================== RCS file: /usr1/CVS/rtems/c/src/lib/libcpu/powerpc/ChangeLog,v retrieving revision 1.309 diff -u -r1.309 ChangeLog --- ChangeLog 20 Aug 2008 17:29:18 -0000 1.309 +++ ChangeLog 22 Aug 2008 13:35:03 -0000 @@ -1,3 +1,8 @@ +2008-08-22 Sebastian Huber + + * shared/include/powerpc-utility.h: Fixed parameter evaluation in + special purpose register macros. + 2008-08-20 Sebastian Huber * mpc55xx/fec/fec.c: Added copyright information. --- c/src/lib/libcpu/powerpc/ChangeLog | 5 +++++ .../powerpc/shared/include/powerpc-utility.h | 24 ++++++++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) (limited to 'c/src/lib/libcpu') diff --git a/c/src/lib/libcpu/powerpc/ChangeLog b/c/src/lib/libcpu/powerpc/ChangeLog index 0c77b6c642..e935d4ec01 100644 --- a/c/src/lib/libcpu/powerpc/ChangeLog +++ b/c/src/lib/libcpu/powerpc/ChangeLog @@ -1,3 +1,8 @@ +2008-08-22 Sebastian Huber + + * shared/include/powerpc-utility.h: Fixed parameter evaluation in + special purpose register macros. + 2008-08-20 Sebastian Huber * mpc55xx/fec/fec.c: Added copyright information. diff --git a/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h b/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h index bfbf919e2c..c7dd8301ce 100644 --- a/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h +++ b/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h @@ -282,9 +282,10 @@ static inline void ppc_set_decrementer_register( uint32_t dec) do { \ rtems_interrupt_level level; \ uint32_t val; \ + uint32_t mybits = bits; \ rtems_interrupt_disable( level); \ val = PPC_SPECIAL_PURPOSE_REGISTER( spr); \ - val |= bits; \ + val |= mybits; \ PPC_SET_SPECIAL_PURPOSE_REGISTER( spr, val); \ rtems_interrupt_enable( level); \ } while (0) @@ -300,10 +301,12 @@ static inline void ppc_set_decrementer_register( uint32_t dec) do { \ rtems_interrupt_level level; \ uint32_t val; \ + uint32_t mybits = bits; \ + uint32_t mymask = mask; \ rtems_interrupt_disable( level); \ val = PPC_SPECIAL_PURPOSE_REGISTER( spr); \ - val &= ~mask; \ - val |= bits; \ + val &= ~mymask; \ + val |= mybits; \ PPC_SET_SPECIAL_PURPOSE_REGISTER( spr, val); \ rtems_interrupt_enable( level); \ } while (0) @@ -318,9 +321,10 @@ static inline void ppc_set_decrementer_register( uint32_t dec) do { \ rtems_interrupt_level level; \ uint32_t val; \ + uint32_t mybits = bits; \ rtems_interrupt_disable( level); \ val = PPC_SPECIAL_PURPOSE_REGISTER( spr); \ - val &= ~bits; \ + val &= ~mybits; \ PPC_SET_SPECIAL_PURPOSE_REGISTER( spr, val); \ rtems_interrupt_enable( level); \ } while (0) @@ -367,9 +371,10 @@ static inline void ppc_set_decrementer_register( uint32_t dec) do { \ rtems_interrupt_level level; \ uint32_t val; \ + uint32_t mybits = bits; \ rtems_interrupt_disable( level); \ val = PPC_DEVICE_CONTROL_REGISTER( dcr); \ - val |= bits; \ + val |= mybits; \ PPC_SET_DEVICE_CONTROL_REGISTER( dcr, val); \ rtems_interrupt_enable( level); \ } while (0) @@ -385,10 +390,12 @@ static inline void ppc_set_decrementer_register( uint32_t dec) do { \ rtems_interrupt_level level; \ uint32_t val; \ + uint32_t mybits = bits; \ + uint32_t mymask = mask; \ rtems_interrupt_disable( level); \ val = PPC_DEVICE_CONTROL_REGISTER( dcr); \ - val &= ~mask; \ - val |= bits; \ + val &= ~mymask; \ + val |= mybits; \ PPC_SET_DEVICE_CONTROL_REGISTER( dcr, val); \ rtems_interrupt_enable( level); \ } while (0) @@ -403,9 +410,10 @@ static inline void ppc_set_decrementer_register( uint32_t dec) do { \ rtems_interrupt_level level; \ uint32_t val; \ + uint32_t mybits = bits; \ rtems_interrupt_disable( level); \ val = PPC_DEVICE_CONTROL_REGISTER( dcr); \ - val &= ~bits; \ + val &= ~mybits; \ PPC_SET_DEVICE_CONTROL_REGISTER( dcr, val); \ rtems_interrupt_enable( level); \ } while (0) -- cgit v1.2.3