Module Name: src
Committed By: mrg
Date: Tue Sep 22 00:55:09 UTC 2020
Modified Files:
src/sys/arch/arm/arm: armv6_start.S
Log Message:
swp is only useful on armv7 uni-processor systems.
we will need the emulation if we want to run old binaries..
To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/arm/arm/armv6_start.S
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/arm/armv6_start.S
diff -u src/sys/arch/arm/arm/armv6_start.S:1.28 src/sys/arch/arm/arm/armv6_start.S:1.29
--- src/sys/arch/arm/arm/armv6_start.S:1.28 Mon Sep 21 21:26:43 2020
+++ src/sys/arch/arm/arm/armv6_start.S Tue Sep 22 00:55:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: armv6_start.S,v 1.28 2020/09/21 21:26:43 mrg Exp $ */
+/* $NetBSD: armv6_start.S,v 1.29 2020/09/22 00:55:08 mrg Exp $ */
/*-
* Copyright (c) 2012, 2017, 2018 The NetBSD Foundation, Inc.
@@ -572,6 +572,13 @@ generic_vstartv6:
#define CPU_CONTROL_XP_ENABLE_SET 0
#endif
+/* SWP is only usable on uni-processor ARMv7 systems. */
+#ifdef MULTIPROCESSOR
+#define CPU_CONTROL_XP_SWP_ENABLE 0
+#else
+#define CPU_CONTROL_XP_SWP_ENABLE CPU_CONTROL_SWP_ENABLE
+#endif
+
// bits to set in the Control Register
//
#define CPU_CONTROL_SET ( \
@@ -660,7 +667,7 @@ armv7_init:
#define ARMV7_SCTLR_SET ( \
CPU_CONTROL_UNAL_ENABLE | \
- CPU_CONTROL_SWP_ENABLE | \
+ CPU_CONTROL_XP_SWP_ENABLE | \
0)
mrc p15, 0, r0, c1, c0, 0