[U-Boot] [PATCH] exynos: Leave the compiler to choose the register to avoid possible r0 corruption
Guillaume GARDET
guillaume.gardet at free.fr
Fri Jan 4 08:23:19 UTC 2019
Reported-by: Siarhei Siamashka <siarhei.siamashka at gmail.com>
Signed-off-by: Guillaume GARDET <guillaume.gardet at free.fr>
Cc: Albert Aribaud <albert.u.boot at aribaud.net>
Cc: Minkyu Kang <mk7.kang at samsung.com>
Cc: Tom Rini <trini at konsulko.com>
---
arch/arm/mach-exynos/include/mach/system.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm/mach-exynos/include/mach/system.h b/arch/arm/mach-exynos/include/mach/system.h
index 81fa9800b4..48f13c7648 100644
--- a/arch/arm/mach-exynos/include/mach/system.h
+++ b/arch/arm/mach-exynos/include/mach/system.h
@@ -58,8 +58,7 @@ struct exynos5_sysreg {
/* Move 0xd3 value to CPSR register to enable SVC mode */
#define svc32_mode_en() __asm__ __volatile__ \
("@ I&F disable, Mode: 0x13 - SVC\n\t" \
- "mov r0, #0x13|0xC0\n\t" \
- "msr cpsr_c, r0\n\t" : : )
+ "msr cpsr_c, %0\n\t" : : "r"(0x13|0xC0))
/* Set program counter with the given value */
#define set_pc(x) __asm__ __volatile__ ("mov pc, %0\n\t" : : "r"(x))
--
2.20.1
More information about the U-Boot
mailing list