diff --git a/os/ports/GCC/PPC/SPC56x/ivor.s b/os/ports/GCC/PPC/SPC56x/ivor.s index 09cf5c967..9dbe2cde6 100644 --- a/os/ports/GCC/PPC/SPC56x/ivor.s +++ b/os/ports/GCC/PPC/SPC56x/ivor.s @@ -83,11 +83,20 @@ IVOR10: lis %r3, 0x0800 /* DIS bit mask. */ mtspr 336, %r3 /* TSR register. */ +#if CH_DBG_SYSTEM_STATE_CHECK + bl dbg_check_enter_isr + bl dbg_check_lock_from_isr +#endif + bl chSysTimerHandlerI +#if CH_DBG_SYSTEM_STATE_CHECK + bl dbg_check_unlock_from_isr + bl dbg_check_leave_isr +#endif + /* System tick handler invocation.*/ #if CH_DBG_SYSTEM_STATE_CHECK bl dbg_check_lock #endif - bl chSysTimerHandlerI bl chSchIsPreemptionRequired cmpli cr0, %r3, 0 beq cr0, .ctxrestore @@ -131,7 +140,7 @@ IVOR4: ori %r3, %r3, INTC_IACKR@l /* IACKR register address. */ lwz %r3, 0(%r3) /* IACKR register value. */ lwz %r3, 0(%r3) - mtCTR %r3 /* Software handler address. */ + mtCTR %r3 /* Software handler address. */ #if PPC_USE_IRQ_PREEMPTION /* Allows preemption while executing the software handler.*/ diff --git a/readme.txt b/readme.txt index 8535973ec..052505788 100644 --- a/readme.txt +++ b/readme.txt @@ -79,6 +79,8 @@ ***************************************************************************** *** 2.4.1 *** +- FIX: Fixed PPC port broken when CH_DBG_SYSTEM_STATE_CHECK is activated + (bug 3485667). - FIX: Fixed missing PLL3 check in STM32F107 HAL (bug 3485278). - FIX: Fixed ADC maximum frequency limit in STM32F2/F4 ADC drivers (bug 3484947).