Commit 29188c16 authored by Juergen Gross's avatar Juergen Gross Committed by Ingo Molnar
Browse files

x86/paravirt: Remove the WBINVD callback



The pv_ops::cpu.wbinvd paravirt callback is a leftover of lguest times.
Today it is no longer needed, as all users use the native WBINVD
implementation.

Remove the callback and rename native_wbinvd() to wbinvd().

Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20241203071550.26487-1-jgross@suse.com
parent 7a470e82
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -180,13 +180,6 @@ static inline void halt(void)
	PVOP_VCALL0(irq.halt);
}

extern noinstr void pv_native_wbinvd(void);

static __always_inline void wbinvd(void)
{
	PVOP_ALT_VCALL0(cpu.wbinvd, "wbinvd", ALT_NOT_XEN);
}

static inline u64 paravirt_read_msr(unsigned msr)
{
	return PVOP_CALL1(u64, cpu.read_msr, msr);
+0 −2
Original line number Diff line number Diff line
@@ -86,8 +86,6 @@ struct pv_cpu_ops {
	void (*update_io_bitmap)(void);
#endif

	void (*wbinvd)(void);

	/* cpuid emulation, mostly so that caps bits can be disabled */
	void (*cpuid)(unsigned int *eax, unsigned int *ebx,
		      unsigned int *ecx, unsigned int *edx);
+1 −7
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ static inline void wrpkru(u32 pkru)
}
#endif

static __always_inline void native_wbinvd(void)
static __always_inline void wbinvd(void)
{
	asm volatile("wbinvd": : :"memory");
}
@@ -167,12 +167,6 @@ static inline void __write_cr4(unsigned long x)
{
	native_write_cr4(x);
}

static __always_inline void wbinvd(void)
{
	native_wbinvd();
}

#endif /* CONFIG_PARAVIRT_XXL */

static __always_inline void clflush(volatile void *__p)
+1 −1
Original line number Diff line number Diff line
@@ -459,7 +459,7 @@ static int pseudo_lock_fn(void *_rdtgrp)
	 * increase likelihood that allocated cache portion will be filled
	 * with associated memory.
	 */
	native_wbinvd();
	wbinvd();

	/*
	 * Always called with interrupts enabled. By disabling interrupts
+0 −6
Original line number Diff line number Diff line
@@ -116,11 +116,6 @@ static noinstr void pv_native_set_debugreg(int regno, unsigned long val)
	native_set_debugreg(regno, val);
}

noinstr void pv_native_wbinvd(void)
{
	native_wbinvd();
}

static noinstr void pv_native_safe_halt(void)
{
	native_safe_halt();
@@ -148,7 +143,6 @@ struct paravirt_patch_template pv_ops = {
	.cpu.read_cr0		= native_read_cr0,
	.cpu.write_cr0		= native_write_cr0,
	.cpu.write_cr4		= native_write_cr4,
	.cpu.wbinvd		= pv_native_wbinvd,
	.cpu.read_msr		= native_read_msr,
	.cpu.write_msr		= native_write_msr,
	.cpu.read_msr_safe	= native_read_msr_safe,
Loading