Source-Changes-HG archive

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

[src/netbsd-9]: src/sys/arch/x86/include Pull up following revision(s) (reque...



details:   https://anonhg.NetBSD.org/src/rev/ba4263d0bb39
branches:  netbsd-9
changeset: 458512:ba4263d0bb39
user:      martin <martin%NetBSD.org@localhost>
date:      Wed Oct 16 17:32:17 2019 +0000

description:
Pull up following revision(s) (requested by maxv in ticket #338):

        sys/arch/x86/include/cpufunc.h: revision 1.35

Add a memory barrier on wrmsr, because some MSRs control memory access
rights (we don't use them though). Also add barriers on fninit and clts
for safety.

diffstat:

 sys/arch/x86/include/cpufunc.h |  7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diffs (35 lines):

diff -r d4a9a9532bac -r ba4263d0bb39 sys/arch/x86/include/cpufunc.h
--- a/sys/arch/x86/include/cpufunc.h    Wed Oct 16 17:29:49 2019 +0000
+++ b/sys/arch/x86/include/cpufunc.h    Wed Oct 16 17:32:17 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: cpufunc.h,v 1.34 2019/07/05 17:08:55 maxv Exp $        */
+/*     $NetBSD: cpufunc.h,v 1.34.2.1 2019/10/16 17:32:17 martin Exp $  */
 
 /*
  * Copyright (c) 1998, 2007, 2019 The NetBSD Foundation, Inc.
@@ -271,7 +271,7 @@
 static inline void
 fninit(void)
 {
-       __asm volatile ("fninit");
+       __asm volatile ("fninit" ::: "memory");
 }
 
 static inline void
@@ -303,7 +303,7 @@
 static inline void
 clts(void)
 {
-       __asm volatile ("clts");
+       __asm volatile ("clts" ::: "memory");
 }
 
 void   stts(void);
@@ -433,6 +433,7 @@
                "wrmsr"
                :
                : "a" (low), "d" (high), "c" (msr)
+               : "memory"
        );
 }
 



Home | Main Index | Thread Index | Old Index