diff options
author | Borislav Petkov <bp@suse.de> | 2013-12-04 12:31:31 +0100 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2014-01-13 19:57:27 +0100 |
commit | e1b43e3f13f7157249fb962ccf88b84eb0421fb4 (patch) | |
tree | ba9ef92b4dc9cfe9baaae81b2af7f2cde41799d3 /arch/x86/include/asm/microcode.h | |
parent | 5aa3d718f259007121b9366d36315fb8a2983d3d (diff) | |
download | linux-stable-e1b43e3f13f7157249fb962ccf88b84eb0421fb4.tar.gz linux-stable-e1b43e3f13f7157249fb962ccf88b84eb0421fb4.tar.bz2 linux-stable-e1b43e3f13f7157249fb962ccf88b84eb0421fb4.zip |
x86, microcode: Share native MSR accessing variants
We want to use those in AMD's early loading path too. Also, add a
native_wrmsrl variant.
Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
Diffstat (limited to 'arch/x86/include/asm/microcode.h')
-rw-r--r-- | arch/x86/include/asm/microcode.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/x86/include/asm/microcode.h b/arch/x86/include/asm/microcode.h index f98bd6625318..b59827e76529 100644 --- a/arch/x86/include/asm/microcode.h +++ b/arch/x86/include/asm/microcode.h @@ -1,6 +1,21 @@ #ifndef _ASM_X86_MICROCODE_H #define _ASM_X86_MICROCODE_H +#define native_rdmsr(msr, val1, val2) \ +do { \ + u64 __val = native_read_msr((msr)); \ + (void)((val1) = (u32)__val); \ + (void)((val2) = (u32)(__val >> 32)); \ +} while (0) + +#define native_wrmsr(msr, low, high) \ + native_write_msr(msr, low, high) + +#define native_wrmsrl(msr, val) \ + native_write_msr((msr), \ + (u32)((u64)(val)), \ + (u32)((u64)(val) >> 32)) + struct cpu_signature { unsigned int sig; unsigned int pf; |