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__

Reply via email to