Module Name: src
Committed By: bouyer
Date: Wed Jul 18 13:39:36 UTC 2018
Modified Files:
src/common/lib/libc/arch/i386/atomic: atomic.S
Log Message:
On Xen, always alias _atomic_cas_64 to _atomic_cas_cx8. AFAIK Xen doesn't
support CPUs that don't support cx8.
i386 XENPAE_DOMU boots again.
To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/common/lib/libc/arch/i386/atomic/atomic.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/common/lib/libc/arch/i386/atomic/atomic.S
diff -u src/common/lib/libc/arch/i386/atomic/atomic.S:1.22 src/common/lib/libc/arch/i386/atomic/atomic.S:1.23
--- src/common/lib/libc/arch/i386/atomic/atomic.S:1.22 Fri May 23 03:17:31 2014
+++ src/common/lib/libc/arch/i386/atomic/atomic.S Wed Jul 18 13:39:36 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: atomic.S,v 1.22 2014/05/23 03:17:31 uebayasi Exp $ */
+/* $NetBSD: atomic.S,v 1.23 2018/07/18 13:39:36 bouyer Exp $ */
/*-
* Copyright (c) 2007 The NetBSD Foundation, Inc.
@@ -43,6 +43,7 @@
#endif
#ifdef _HARDKERNEL
+#include "opt_xen.h"
#define LOCK(n) .Lpatch ## n: lock
#define ENDLABEL(a) _ALIGN_TEXT; LABEL(a)
#else
@@ -196,6 +197,9 @@ END(_membar_sync)
ENDLABEL(membar_sync_end)
#if defined(__HAVE_ATOMIC64_OPS) || defined(_KERNEL)
+#ifdef XEN
+STRONG_ALIAS(_atomic_cas_64,_atomic_cas_cx8)
+#else
ENTRY(_atomic_cas_64)
#ifdef _HARDKERNEL
pushf
@@ -227,6 +231,7 @@ ENTRY(_atomic_cas_64)
jmp 1b
END(_atomic_cas_64)
ENDLABEL(_atomic_cas_64_end)
+#endif /* !XEN */
ENTRY(_atomic_cas_cx8)
pushl %edi