diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-09-23 17:37:50 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-09-23 17:37:50 +0200 |
commit | 5fc2176d9b3c5988c041fa5926fdd2da2ad560b9 (patch) | |
tree | 81556b99eadc66ff00a31ba4f21fceb1fd868b9a /xen/include/asm-x86/hvm | |
parent | 36291997b655421e1b5d3cfe5c012464b1041ba8 (diff) | |
download | xen-5fc2176d9b3c5988c041fa5926fdd2da2ad560b9.tar.gz xen-5fc2176d9b3c5988c041fa5926fdd2da2ad560b9.tar.bz2 xen-5fc2176d9b3c5988c041fa5926fdd2da2ad560b9.zip |
VMX: drop memory clobbers from vmread/vmwrite wrappers
All effects are properly being described by the asm() constraints.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jun Nakajima <jun.nakajima@intel.com>
Diffstat (limited to 'xen/include/asm-x86/hvm')
-rw-r--r-- | xen/include/asm-x86/hvm/vmx/vmx.h | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h index 0cb6a427ec..6f6b6728df 100644 --- a/xen/include/asm-x86/hvm/vmx/vmx.h +++ b/xen/include/asm-x86/hvm/vmx/vmx.h @@ -336,12 +336,11 @@ static inline void __vmread(unsigned long field, unsigned long *value) UNLIKELY_END_SECTION #ifdef HAVE_GAS_VMX : "=rm" (*value) - : "r" (field) + : "r" (field)); #else : "=c" (*value) - : "a" (field) + : "a" (field)); #endif - : "memory"); } static inline void __vmwrite(unsigned long field, unsigned long value) @@ -358,11 +357,10 @@ static inline void __vmwrite(unsigned long field, unsigned long value) UNLIKELY_END_SECTION : #ifdef HAVE_GAS_VMX - : "r" (field) , "rm" (value) + : "r" (field) , "rm" (value)); #else - : "a" (field) , "c" (value) + : "a" (field) , "c" (value)); #endif - : "memory"); } static inline bool_t __vmread_safe(unsigned long field, unsigned long *value) @@ -379,12 +377,11 @@ static inline bool_t __vmread_safe(unsigned long field, unsigned long *value) "setnbe %0" #ifdef HAVE_GAS_VMX : "=qm" (okay), "=rm" (*value) - : "r" (field) + : "r" (field)); #else : "=qm" (okay), "=c" (*value) - : "a" (field) + : "a" (field)); #endif - : "memory"); return okay; } |