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

Reply via email to