Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/arm swp is only useful on armv7 uni-processor s...



details:   https://anonhg.NetBSD.org/src/rev/824314eedb10
branches:  trunk
changeset: 944164:824314eedb10
user:      mrg <mrg%NetBSD.org@localhost>
date:      Tue Sep 22 00:55:08 2020 +0000

description:
swp is only useful on armv7 uni-processor systems.

we will need the emulation if we want to run old binaries..

diffstat:

 sys/arch/arm/arm/armv6_start.S |  11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diffs (32 lines):

diff -r 4ee628efe9ba -r 824314eedb10 sys/arch/arm/arm/armv6_start.S
--- a/sys/arch/arm/arm/armv6_start.S    Tue Sep 22 00:41:27 2020 +0000
+++ b/sys/arch/arm/arm/armv6_start.S    Tue Sep 22 00:55:08 2020 +0000
@@ -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 @@
 #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 @@
 
 #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



Home | Main Index | Thread Index | Old Index