From df4c0acd2d443f428961c149304536b84067d671 Mon Sep 17 00:00:00 2001 From: Chuck Jordan Date: Fri, 7 Oct 2016 11:51:41 -0700 Subject: [PATCH] arc: Fix comment about IRQ call stack The code density registers are NOT saved on the stack. This is controlled by bit 13 in AUX_IRQ_CTRL, which didn't even have a symbol defined for it. I've also added _ARC_V2_AUX_IRQ_CTRL_LP for bit 13. Change-Id: Ie80853b72bed4e60a5cf1cf0a8c905a3d86180d9 Signed-off-by: Chuck Jordan --- arch/arc/core/isr_wrapper.S | 10 ++++++---- arch/arc/include/v2/irq.h | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/arc/core/isr_wrapper.S b/arch/arc/core/isr_wrapper.S index c6f63068470..c6d32dc6557 100644 --- a/arch/arc/core/isr_wrapper.S +++ b/arch/arc/core/isr_wrapper.S @@ -61,9 +61,6 @@ IRQ stack frame layout: status32 pc - [jli_base] - [ldi_base] - [ei_base] lp_count lp_start lp_end @@ -74,7 +71,12 @@ IRQ stack frame layout: low address - [registers not taken into account in the current implementation] +Registers not taken into account in the current implementation. + jli_base + ldi_base + ei_base + accl + acch The context switch code adopts this standard so that it is easier to follow: diff --git a/arch/arc/include/v2/irq.h b/arch/arc/include/v2/irq.h index 7879c3fee45..494b5eb697b 100644 --- a/arch/arc/include/v2/irq.h +++ b/arch/arc/include/v2/irq.h @@ -31,6 +31,7 @@ extern "C" { #define _ARC_V2_AUX_IRQ_CTRL_BLINK (1 << 9) #define _ARC_V2_AUX_IRQ_CTRL_LOOP_REGS (1 << 10) +#define _ARC_V2_AUX_IRQ_CTRL_LP (1 << 13) #define _ARC_V2_AUX_IRQ_CTRL_14_REGS 7 #define _ARC_V2_AUX_IRQ_CTRL_16_REGS 8 #define _ARC_V2_AUX_IRQ_CTRL_32_REGS 16