Module Name: src
Committed By: matt
Date: Thu May 28 21:52:36 UTC 2015
Modified Files:
src/sys/arch/arm/include: locore.h
Log Message:
Appease clang's integrated assembler and have separate thumb2 and arm asm's
for ldrht
To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/include/locore.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/include/locore.h
diff -u src/sys/arch/arm/include/locore.h:1.22 src/sys/arch/arm/include/locore.h:1.23
--- src/sys/arch/arm/include/locore.h:1.22 Thu May 28 02:22:37 2015
+++ src/sys/arch/arm/include/locore.h Thu May 28 21:52:36 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.h,v 1.22 2015/05/28 02:22:37 matt Exp $ */
+/* $NetBSD: locore.h,v 1.23 2015/05/28 21:52:36 matt Exp $ */
/*
* Copyright (c) 1994-1996 Mark Brinicombe.
@@ -226,8 +226,10 @@ read_thumb_insn(vaddr_t va, bool user_p)
va &= ~1;
uint32_t insn;
if (user_p) {
-#ifdef _ARM_ARCH_T2
- __asm __volatile("ldrht %0, [%1]" : "=&r"(insn) : "r"(va));
+#if defined(__thumb__) && defined(_ARM_ARCH_T2)
+ __asm __volatile("ldrht %0, [%1, #0]" : "=&r"(insn) : "r"(va));
+#elif defined(_ARM_ARCH_7)
+ __asm __volatile("ldrht %0, [%1], #0" : "=&r"(insn) : "r"(va));
#else
__asm __volatile("ldrt %0, [%1]" : "=&r"(insn) : "r"(va & ~3));
#ifdef __ARMEB__