* [PATCH] fix rdmsrl() truncation bug
@ 2005-12-27 17:04 Avi Kivity
0 siblings, 0 replies; only message in thread
From: Avi Kivity @ 2005-12-27 17:04 UTC (permalink / raw)
To: xen-devel
rdmsrl() shifts an unsigned long by 32 bits, which on x86_32 results in
the data being discarded. patch fixes that by casting to __u64 before
the shift.
Signed-off-by: Avi Kivity <avi@qumranet.com>
diff -r 829517be689f xen/include/asm-x86/msr.h
--- a/xen/include/asm-x86/msr.h Fri Dec 23 15:42:46 2005
+++ b/xen/include/asm-x86/msr.h Tue Dec 27 19:02:09 2005
@@ -12,7 +12,7 @@
__asm__ __volatile__("rdmsr" \
: "=a" (a__), "=d" (b__) \
: "c" (msr)); \
- val = a__ | (b__<<32); \
+ val = a__ | ((__u64)b__<<32); \
} while(0);
#define wrmsr(msr,val1,val2) \
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-12-27 17:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-27 17:04 [PATCH] fix rdmsrl() truncation bug Avi Kivity
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.