Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5df97400 authored by Sheng Yang's avatar Sheng Yang Committed by Ingo Molnar
Browse files

x86: Add IA32_TSC_AUX MSR and use it



Clean up write_tsc() and write_tscp_aux() by replacing
hardcoded values.

No change in functionality.

Signed-off-by: default avatarSheng Yang <sheng@linux.intel.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
LKML-Reference: <1260942485-19156-4-git-send-email-sheng@linux.intel.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 0b962d47
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -12,6 +12,7 @@
#define MSR_FS_BASE		0xc0000100 /* 64bit FS base */
#define MSR_FS_BASE		0xc0000100 /* 64bit FS base */
#define MSR_GS_BASE		0xc0000101 /* 64bit GS base */
#define MSR_GS_BASE		0xc0000101 /* 64bit GS base */
#define MSR_KERNEL_GS_BASE	0xc0000102 /* SwapGS GS shadow */
#define MSR_KERNEL_GS_BASE	0xc0000102 /* SwapGS GS shadow */
#define MSR_TSC_AUX		0xc0000103 /* Auxiliary TSC */


/* EFER bits: */
/* EFER bits: */
#define _EFER_SCE		0  /* SYSCALL/SYSRET */
#define _EFER_SCE		0  /* SYSCALL/SYSRET */
+2 −2
Original line number Original line Diff line number Diff line
@@ -240,9 +240,9 @@ do { \
#define checking_wrmsrl(msr, val) wrmsr_safe((msr), (u32)(val),		\
#define checking_wrmsrl(msr, val) wrmsr_safe((msr), (u32)(val),		\
					     (u32)((val) >> 32))
					     (u32)((val) >> 32))


#define write_tsc(val1, val2) wrmsr(0x10, (val1), (val2))
#define write_tsc(val1, val2) wrmsr(MSR_IA32_TSC, (val1), (val2))


#define write_rdtscp_aux(val) wrmsr(0xc0000103, (val), 0)
#define write_rdtscp_aux(val) wrmsr(MSR_TSC_AUX, (val), 0)


struct msr *msrs_alloc(void);
struct msr *msrs_alloc(void);
void msrs_free(struct msr *msrs);
void msrs_free(struct msr *msrs);