summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/shared
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-01-24 14:29:03 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-01-25 15:40:11 +0100
commit81aec1814674750f7ac2d59c4d55931251b22986 (patch)
treeb9b7681ccb367f1c1e4626709306748ccfb9b01c /bsps/powerpc/shared
parentlibmisc: Fix swapped parameters and enable floating point usage. (diff)
downloadrtems-81aec1814674750f7ac2d59c4d55931251b22986.tar.bz2
bsps/powerpc: Fix 64-bit issues in assembler files
We have to be careful with instructions which operate explicitly on words or doublewords. Update #3082.
Diffstat (limited to 'bsps/powerpc/shared')
-rw-r--r--bsps/powerpc/shared/cpu_asm.S8
-rw-r--r--bsps/powerpc/shared/start/bsp-start-zero.S8
2 files changed, 8 insertions, 8 deletions
diff --git a/bsps/powerpc/shared/cpu_asm.S b/bsps/powerpc/shared/cpu_asm.S
index 5b095d9cea..e4d627016c 100644
--- a/bsps/powerpc/shared/cpu_asm.S
+++ b/bsps/powerpc/shared/cpu_asm.S
@@ -266,8 +266,8 @@ PROC (_CPU_Context_switch):
#endif
/* Align to a cache line */
- clrrwi r3, r3, PPC_DEFAULT_CACHE_LINE_POWER
- clrrwi r5, r4, PPC_DEFAULT_CACHE_LINE_POWER
+ CLEAR_RIGHT_IMMEDIATE r3, r3, PPC_DEFAULT_CACHE_LINE_POWER
+ CLEAR_RIGHT_IMMEDIATE r5, r4, PPC_DEFAULT_CACHE_LINE_POWER
DATA_CACHE_ZERO_AND_TOUCH(r10, PPC_CONTEXT_CACHE_LINE_0)
@@ -557,7 +557,7 @@ restore_context:
PUBLIC_PROC (_CPU_Context_restore)
PROC (_CPU_Context_restore):
/* Align to a cache line */
- clrrwi r5, r3, PPC_DEFAULT_CACHE_LINE_POWER
+ CLEAR_RIGHT_IMMEDIATE r5, r3, PPC_DEFAULT_CACHE_LINE_POWER
GET_SELF_CPU_CONTROL r12
@@ -586,7 +586,7 @@ PROC (_CPU_Context_restore):
/* Calculate the heir context pointer */
sub r7, r4, r7
add r4, r8, r7
- clrrwi r5, r4, PPC_DEFAULT_CACHE_LINE_POWER
+ CLEAR_RIGHT_IMMEDIATE r5, r4, PPC_DEFAULT_CACHE_LINE_POWER
/* Update the executing */
PPC_REG_STORE r8, PER_CPU_OFFSET_EXECUTING(r12)
diff --git a/bsps/powerpc/shared/start/bsp-start-zero.S b/bsps/powerpc/shared/start/bsp-start-zero.S
index e87efff8c3..b559dfb166 100644
--- a/bsps/powerpc/shared/start/bsp-start-zero.S
+++ b/bsps/powerpc/shared/start/bsp-start-zero.S
@@ -21,7 +21,7 @@
*/
#include <rtems/asm.h>
-#include <rtems/powerpc/powerpc.h>
+#include <libcpu/powerpc-utility.h>
#include <bspopts.h>
.globl bsp_start_zero
@@ -35,10 +35,10 @@ bsp_start_zero:
bsp_start_zero_begin:
li r0, 0
subi r11, r3, 1
- clrrwi r11, r11, PPC_CACHE_ALIGN_POWER
+ CLEAR_RIGHT_IMMEDIATE r11, r11, PPC_CACHE_ALIGN_POWER
addi r10, r11, PPC_CACHE_ALIGNMENT
subf r11, r3, r10
- cmplw cr7, r11, r4
+ COMPARE_LOGICAL cr7, r11, r4
add r9, r3, r4
ble- cr7, head_end_done
mr r10, r9
@@ -56,7 +56,7 @@ head_loop_update:
bdnz+ head_loop_begin
subf r11, r3, r9
- srwi r11, r11, PPC_CACHE_ALIGN_POWER
+ SHIFT_RIGHT_IMMEDIATE r11, r11, PPC_CACHE_ALIGN_POWER
addi r11, r11, 1
mtctr r11