lkml.org 
[lkml]   [2008]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 03 of 36] x86: add memory barriers to wrmsr
    Date
    From
    wrmsr is a special instruction which can have arbitrary system-wide
    effects. We don't want the compiler to reorder it with respect to
    memory operations, so make it a memory barrier.

    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    ---
    include/asm-x86/msr.h | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    diff --git a/include/asm-x86/msr.h b/include/asm-x86/msr.h
    --- a/include/asm-x86/msr.h
    +++ b/include/asm-x86/msr.h
    @@ -66,7 +66,7 @@
    static inline void native_write_msr(unsigned int msr,
    unsigned low, unsigned high)
    {
    - asm volatile("wrmsr" : : "c" (msr), "a"(low), "d" (high));
    + asm volatile("wrmsr" : : "c" (msr), "a"(low), "d" (high) : "memory");
    }

    static inline int native_write_msr_safe(unsigned int msr,
    @@ -81,7 +81,8 @@
    _ASM_EXTABLE(2b, 3b)
    : "=a" (err)
    : "c" (msr), "0" (low), "d" (high),
    - "i" (-EFAULT));
    + "i" (-EFAULT)
    + : "memory");
    return err;
    }




    \
     
     \ /
      Last update: 2008-06-25 06:55    [W:2.556 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site