diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-12-30 17:11:05 +0100 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-12-30 17:11:05 +0100 |
commit | 96905f367b75df68b45656b915c719c4d1264b63 (patch) | |
tree | c39fca1083f84b521889142366c95e9e412215fe | |
parent | 0129e126c463c8624316e816ee13726c95e166fa (diff) | |
download | xen-96905f367b75df68b45656b915c719c4d1264b63.tar.gz xen-96905f367b75df68b45656b915c719c4d1264b63.tar.bz2 xen-96905f367b75df68b45656b915c719c4d1264b63.zip |
Fix rdmsrl() for x86_32 -- high 32 bits must be cast to
u64 before shifting left.
Signed-off-by: Avi Kivity <avi@qumranet.com>
-rw-r--r-- | xen/include/asm-x86/msr.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/include/asm-x86/msr.h b/xen/include/asm-x86/msr.h index f9a07e4791..3c1e8fb6ba 100644 --- a/xen/include/asm-x86/msr.h +++ b/xen/include/asm-x86/msr.h @@ -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) \ |