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 539 val = paravirt_read_msr(msr, &_err); \ 540 540 } while(0) 541 541 542 - #define wrmsrl(msr,val) ((void)paravirt_write_msr(msr, val, 0)) 542 + #define wrmsrl(msr,val) wrmsr(msr, (u32)((u64)(val)), ((u64)(val))>>32) 543 543 #define wrmsr_safe(msr,a,b) paravirt_write_msr(msr, a, b) 544 544 545 545 /* rdmsr with exception handling */