diff options
Diffstat (limited to 'c/src/lib/libcpu/powerpc/new-exceptions')
-rw-r--r-- | c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S | 3 | ||||
-rw-r--r-- | c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_fatal.S | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S index d40e5cd48e..5b2a1b48e0 100644 --- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S +++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S @@ -278,6 +278,7 @@ ppc_exc_interrupt: #else /* PPC_EXC_CONFIG_USE_FIXED_HANDLER */ /* Call fixed high level handler */ bl bsp_interrupt_dispatch + PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE #endif /* PPC_EXC_CONFIG_USE_FIXED_HANDLER */ #ifdef RTEMS_PROFILING @@ -287,6 +288,7 @@ ppc_exc_interrupt: lwz r4, PPC_EXC_INTERRUPT_ENTRY_INSTANT_OFFSET(FRAME_REGISTER) GET_TIME_BASE r5 bl _Profiling_Outer_most_interrupt_entry_and_exit + PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE .Lprofiling_done: #endif /* RTEMS_PROFILING */ @@ -334,6 +336,7 @@ ppc_exc_interrupt: mfmsr r4 ori r4, r4, MSR_EE bl _Thread_Do_dispatch + PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE /* Disable interrupts */ wrteei 0 diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_fatal.S b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_fatal.S index 0bfba57352..1cb97e350a 100644 --- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_fatal.S +++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_fatal.S @@ -226,3 +226,4 @@ ppc_exc_fatal_normal: li r3, 9 addi r4, r1, FRAME_LINK_SPACE b _Terminate + PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE |