bsps/powerpc: Add 64-bit SET_SELF_CPU_CONTROL

Update #3082.
This commit is contained in:
Sebastian Huber
2017-07-31 15:25:12 +02:00
parent 60d077f0ba
commit 50382788b3
3 changed files with 14 additions and 13 deletions

View File

@@ -165,9 +165,7 @@ _start:
/* Set small-data anchor */
LA r13, _SDA_BASE_
#ifdef RTEMS_SMP
SET_SELF_CPU_CONTROL r4
#endif
SET_SELF_CPU_CONTROL r4, r5
blr

View File

@@ -39,9 +39,7 @@ _start:
li r0, 0
stw r0, 0(r1)
#ifdef RTEMS_SMP
SET_SELF_CPU_CONTROL r3
#endif
SET_SELF_CPU_CONTROL r3, r4
/* Copy fast text */
LWI r3, bsp_section_fast_text_begin

View File

@@ -941,16 +941,21 @@ void ShowBATS(void);
mtmsr \level
.endm
.macro SET_SELF_CPU_CONTROL reg_0, reg_1
#if defined(RTEMS_SMP)
.macro SET_SELF_CPU_CONTROL reg
/* Use Book E Processor ID Register (PIR) */
mfspr \reg, 286
slwi \reg, \reg, PER_CPU_CONTROL_SIZE_LOG2
addis \reg, \reg, _Per_CPU_Information@ha
addi \reg, \reg, _Per_CPU_Information@l
mtspr PPC_PER_CPU_CONTROL_REGISTER, \reg
.endm
mfspr \reg_0, 286
slwi \reg_0, \reg_0, PER_CPU_CONTROL_SIZE_LOG2
#if defined(__powerpc64__)
LA \reg_1, _Per_CPU_Information
add \reg_0, \reg_0, \reg_1
#else
addis \reg_0, \reg_0, _Per_CPU_Information@ha
addi \reg_0, \reg_0, _Per_CPU_Information@l
#endif
mtspr PPC_PER_CPU_CONTROL_REGISTER, \reg_0
#endif
.endm
.macro GET_SELF_CPU_CONTROL reg
#if defined(RTEMS_SMP)