summaryrefslogtreecommitdiff
path: root/sys/arch/armv7
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2017-10-26 02:48:37 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2017-10-26 02:48:37 +0000
commite07b79f42aa5a8b9c9d6275e5e41ee843e6f431c (patch)
tree14e878f65cda0b86a26c3d43997c95d2b7d99f18 /sys/arch/armv7
parent35f104f298684a4f4ee1e94c5425713e8ed9405c (diff)
Use .arch_extension sec and virt to use smc and hvc instructions when
using the clang 5.0.0 integrated assembler with -march=armv7a. ok visa@ initial diff from and ok kettenis@
Diffstat (limited to 'sys/arch/armv7')
-rw-r--r--sys/arch/armv7/armv7/armv7_start.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/arch/armv7/armv7/armv7_start.S b/sys/arch/armv7/armv7/armv7_start.S
index aa027b3094f..db7292f7c65 100644
--- a/sys/arch/armv7/armv7/armv7_start.S
+++ b/sys/arch/armv7/armv7/armv7_start.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: armv7_start.S,v 1.14 2017/06/14 13:12:49 patrick Exp $ */
+/* $OpenBSD: armv7_start.S,v 1.15 2017/10/26 02:48:36 jsg Exp $ */
/* $NetBSD: lubbock_start.S,v 1.1 2003/06/18 10:51:15 bsh Exp $ */
/*
@@ -38,7 +38,13 @@
#undef DOMAIN_CLIENT /* XXX */
#include "assym.h"
+#ifdef __clang__
+.arch_extension sec
+.arch_extension virt
+#define HVC hvc #0
+#else
#define HVC .word 0xe1400070 @ hvc
+#endif
.text