Skip to contentSkip to conversation

arm: Fix armv8 compilation error

PATCH New Darwin Rambo 3 participants 4 messages Jun 9, 2014 – Jul 5, 2014 Arm (32-bit)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arm: Fix armv8 compilation error

From: "Shaibal.Dutta" <[email protected]>

Fix following compilation error when CONFIG_ARM64 is defined

Error: unknown or missing system register name at operand 2 -- `mrs x0,daifmsr daifset,#3'

---

 arch/arm/include/asm/proc-armv/system.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/include/asm/proc-armv/system.h +1 -1
index 693d1f4..c61374e 100644
@@ -22,7 +22,7 @@
 #define local_irq_save(flags)					\
 	({							\
 	asm volatile(						\
-	"mrs	%0, daif"					\
+	"mrs	%0, daif\n"					\
 	"msr	daifset, #3"					\
 	: "=r" (flags)						\
 	:							\
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/1 arm: Fix armv8 compilation error

Hi Darwin,

Quoted 11 lines · Darwin Rambo

From: "Shaibal.Dutta" <[email protected]>

Fix following compilation error when CONFIG_ARM64 is defined

Error: unknown or missing system register name at operand 2 -- `mrs x0,daifmsr daifset,#3'

---

I don't get any such error. Which board and which compiler does it appear for?

Amicalement,

Signature · 1 line
Albert.
#2 lore raw

PATCH 1/1 arm: Fix armv8 compilation error

Albert,

I don't think that there is any code currently submitted that triggers this error.
(it is "hidden" inside inline functions...)

However, you could add one line of code 'anywhere' to test this:

	test_and_set_bit(1, (volatile void *)0x12345678);

Thanks, Steve

PS.
- using:
gcc-linaro-aarch64-linux-gnu-4.8-2014.01_linux/bin/aarch64-linux-gnu-
- and: ./MAKEALL -a aarch64

Quoted 22 lines · Albert ARIBAUD

Hi Darwin,

Quoted 11 lines · Darwin Rambo

From: "Shaibal.Dutta" <[email protected]>

Fix following compilation error when CONFIG_ARM64 is defined

Error: unknown or missing system register name at operand 2 -- `mrs x0,daifmsr daifset,#3'

---

I don't get any such error. Which board and which compiler does it appear for?

Amicalement,

#3 lore raw

PATCH 1/1 arm: Fix armv8 compilation error

In reply to Darwin Rambo

Hi Darwin,

Quoted 20 lines · Darwin Rambo

From: "Shaibal.Dutta" <[email protected]>

Fix following compilation error when CONFIG_ARM64 is defined

Error: unknown or missing system register name at operand 2 -- `mrs x0,daifmsr daifset,#3'

---

 arch/arm/include/asm/proc-armv/system.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/include/asm/proc-armv/system.h +0 -0
index 693d1f4..c61374e 100644

arch/arm/include/asm/proc-armv/system.h line 28

Quoted 8 lines
arch/arm/include/asm/proc-armv/system.h +1 -1
@@ -22,7 +22,7 @@
 #define local_irq_save(flags)					\
 	({							\
 	asm volatile(						\
-	"mrs	%0, daif"					\
+	"mrs	%0, daif\n"					\
 	"msr	daifset, #3"					\
 	: "=r" (flags)						\
 	:							\

Applied to u-boot-arm/master, thanks!

Amicalement,

Signature · 1 line
Albert.