fix nmi_watchdog=2 bootup hang

wrmsrl() is broken, dropping the upper 32bits of the value to be
written. This broke the NMI watchdog on AMD hardware. (and it
probably broke other code too.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by Björn Steinbrink and committed by Linus Torvalds b9e3614f 18954864

+1 -1
+1 -1
include/asm-i386/paravirt.h
··· 539 val = paravirt_read_msr(msr, &_err); \ 540 } while(0) 541 542 - #define wrmsrl(msr,val) ((void)paravirt_write_msr(msr, val, 0)) 543 #define wrmsr_safe(msr,a,b) paravirt_write_msr(msr, a, b) 544 545 /* rdmsr with exception handling */
··· 539 val = paravirt_read_msr(msr, &_err); \ 540 } while(0) 541 542 + #define wrmsrl(msr,val) wrmsr(msr, (u32)((u64)(val)), ((u64)(val))>>32) 543 #define wrmsr_safe(msr,a,b) paravirt_write_msr(msr, a, b) 544 545 /* rdmsr with exception handling */