bsps/powerpc: Add PPC_EXC_INTERRUPT_FRAME_SIZE

Use a specific define for the interrupt exception frame size.

Update #3082.
This commit is contained in:
Sebastian Huber
2017-08-01 11:43:57 +02:00
parent 23cb9afeb6
commit a8694035ae
5 changed files with 11 additions and 9 deletions

View File

@@ -58,7 +58,7 @@ mpc55xx_exc_vector_base:
stw r4, GPR4_OFFSET(r1)
li r4, 4
b ppc_exc_wrap_nopush_std
stwu r1, -CPU_INTERRUPT_FRAME_SIZE(r1)
stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
#ifndef PPC_EXC_CONFIG_USE_FIXED_HANDLER
stw r4, PPC_EXC_VECTOR_PROLOGUE_OFFSET(r1)
li r4, -32763
@@ -88,7 +88,7 @@ mpc55xx_exc_vector_base:
stw r4, GPR4_OFFSET(r1)
li r4, 24
b ppc_exc_wrap_nopush_std
stwu r1, -CPU_INTERRUPT_FRAME_SIZE(r1)
stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
#ifndef PPC_EXC_CONFIG_USE_FIXED_HANDLER
stw r4, PPC_EXC_VECTOR_PROLOGUE_OFFSET(r1)
li r4, -32752
@@ -98,7 +98,7 @@ mpc55xx_exc_vector_base:
nop
nop
#endif
stwu r1, -CPU_INTERRUPT_FRAME_SIZE(r1)
stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
#ifndef PPC_EXC_CONFIG_USE_FIXED_HANDLER
stw r4, PPC_EXC_VECTOR_PROLOGUE_OFFSET(r1)
li r4, -32749

View File

@@ -333,7 +333,7 @@ bsp_exc_vector_base:
li r3, 3
b ppc_exc_fatal_normal
/* External input */
stwu r1, -CPU_INTERRUPT_FRAME_SIZE(r1)
stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
b ppc_exc_interrupt
nop
nop

View File

@@ -113,7 +113,7 @@ bsp_exc_vector_base:
stw r4, GPR4_OFFSET(r1)
li r4, 4
b ppc_exc_wrap_nopush_std
stwu r1, -CPU_INTERRUPT_FRAME_SIZE(r1)
stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
stw r4, PPC_EXC_VECTOR_PROLOGUE_OFFSET(r1)
li r4, -32763
b ppc_exc_interrupt
@@ -137,11 +137,11 @@ bsp_exc_vector_base:
stw r4, GPR4_OFFSET(r1)
li r4, 24
b ppc_exc_wrap_nopush_std
stwu r1, -CPU_INTERRUPT_FRAME_SIZE(r1)
stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
stw r4, PPC_EXC_VECTOR_PROLOGUE_OFFSET(r1)
li r4, -32752
b ppc_exc_interrupt
stwu r1, -CPU_INTERRUPT_FRAME_SIZE(r1)
stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
stw r4, PPC_EXC_VECTOR_PROLOGUE_OFFSET(r1)
li r4, -32749
b ppc_exc_interrupt

View File

@@ -73,7 +73,7 @@
ppc_exc_min_prolog_async_tmpl_normal:
stwu r1, -CPU_INTERRUPT_FRAME_SIZE(r1)
stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
#ifndef PPC_EXC_CONFIG_USE_FIXED_HANDLER
stw VECTOR_REGISTER, PPC_EXC_VECTOR_PROLOGUE_OFFSET(r1)
@@ -502,7 +502,7 @@ ppc_exc_interrupt:
#endif /* RTEMS_PROFILING */
/* Pop stack */
addi r1, r1, CPU_INTERRUPT_FRAME_SIZE
addi r1, r1, PPC_EXC_INTERRUPT_FRAME_SIZE
/* Return */
rfi

View File

@@ -160,6 +160,8 @@ extern "C" {
#define EXC_GENERIC_SIZE PPC_EXC_FRAME_SIZE
#define PPC_EXC_INTERRUPT_FRAME_SIZE CPU_INTERRUPT_FRAME_SIZE
#if defined(__ALTIVEC__) && !defined(PPC_MULTILIB_ALTIVEC)
#define EXC_VEC_OFFSET EXC_GENERIC_SIZE
#ifndef PPC_CACHE_ALIGNMENT