diff --git a/arch/arm/include/arm/irq.h b/arch/arm/include/arm/irq.h index 6c7f3aecc07..376288220e0 100644 --- a/arch/arm/include/arm/irq.h +++ b/arch/arm/include/arm/irq.h @@ -84,7 +84,11 @@ #define REG_V7 REG_R10 #define REG_SB REG_R9 #define REG_SL REG_R10 -#define REG_FP REG_R11 +#ifdef CONFIG_ARM_THUMB + #define REG_FP REG_R7 +#else + #define REG_FP REG_R11 +#endif /* CONFIG_ARM_THUMB */ #define REG_IP REG_R12 #define REG_SP REG_R13 #define REG_LR REG_R14 diff --git a/arch/arm/include/armv6-m/irq.h b/arch/arm/include/armv6-m/irq.h index 9d23cc15271..104828b26ca 100644 --- a/arch/arm/include/armv6-m/irq.h +++ b/arch/arm/include/armv6-m/irq.h @@ -119,7 +119,7 @@ #define REG_V7 REG_R10 #define REG_SB REG_R9 #define REG_SL REG_R10 -#define REG_FP REG_R11 +#define REG_FP REG_R7 #define REG_IP REG_R12 #define REG_SP REG_R13 #define REG_LR REG_R14 diff --git a/arch/arm/include/armv7-a/irq.h b/arch/arm/include/armv7-a/irq.h index c954408be2e..7bbc7870cde 100644 --- a/arch/arm/include/armv7-a/irq.h +++ b/arch/arm/include/armv7-a/irq.h @@ -183,7 +183,11 @@ #define REG_V7 REG_R10 #define REG_SB REG_R9 #define REG_SL REG_R10 -#define REG_FP REG_R11 +#ifdef CONFIG_ARM_THUMB + #define REG_FP REG_R7 +#else + #define REG_FP REG_R11 +#endif /* CONFIG_ARM_THUMB */ #define REG_IP REG_R12 #define REG_SP REG_R13 #define REG_LR REG_R14 diff --git a/arch/arm/include/armv7-m/irq.h b/arch/arm/include/armv7-m/irq.h index 3ba7c7308a8..96fd94c1f04 100644 --- a/arch/arm/include/armv7-m/irq.h +++ b/arch/arm/include/armv7-m/irq.h @@ -75,7 +75,7 @@ #define REG_V7 REG_R10 #define REG_SB REG_R9 #define REG_SL REG_R10 -#define REG_FP REG_R11 +#define REG_FP REG_R7 #define REG_IP REG_R12 #define REG_SP REG_R13 #define REG_LR REG_R14 diff --git a/arch/arm/include/armv7-r/irq.h b/arch/arm/include/armv7-r/irq.h index bf502a4a149..5acced1f555 100644 --- a/arch/arm/include/armv7-r/irq.h +++ b/arch/arm/include/armv7-r/irq.h @@ -183,7 +183,11 @@ #define REG_V7 REG_R10 #define REG_SB REG_R9 #define REG_SL REG_R10 -#define REG_FP REG_R11 +#ifdef CONFIG_ARM_THUMB + #define REG_FP REG_R7 +#else + #define REG_FP REG_R11 +#endif /* CONFIG_ARM_THUMB */ #define REG_IP REG_R12 #define REG_SP REG_R13 #define REG_LR REG_R14 diff --git a/arch/arm/include/armv8-m/irq.h b/arch/arm/include/armv8-m/irq.h index 8898f30ef39..a89de9078ca 100644 --- a/arch/arm/include/armv8-m/irq.h +++ b/arch/arm/include/armv8-m/irq.h @@ -75,7 +75,7 @@ #define REG_V7 REG_R10 #define REG_SB REG_R9 #define REG_SL REG_R10 -#define REG_FP REG_R11 +#define REG_FP REG_R7 #define REG_IP REG_R12 #define REG_SP REG_R13 #define REG_LR REG_R14