summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/msr.h
blob: e8e2e4172bc44f59e1186b27d0031a74eb374898 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef CPU_X86_ASM_MSR_H
#define CPU_X86_ASM_MSR_H

static inline uint64_t rdmsr(unsigned index)
{
	uint64_t result;
	asm volatile (
		"rdmsr"
		: "=A" (result)
		: "c" (index)
		);
	return result;
}

static inline void wrmsr(unsigned index, uint64_t msr)
{
	asm volatile (
		"wrmsr"
		: /* No outputs */
		: "c" (index), "A" (msr)
		);
}

#endif /* CPU_X86_ASM_MSR_H */