Commit 57cb8450 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'x86_paravirt_for_v7.0_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 paravirt updates from Borislav Petkov:

 - A nice cleanup to the paravirt code containing a unification of the
   paravirt clock interface, taming the include hell by splitting the
   pv_ops structure and removing of a bunch of obsolete code (Juergen
   Gross)

* tag 'x86_paravirt_for_v7.0_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
  x86/paravirt: Use XOR r32,r32 to clear register in pv_vcpu_is_preempted()
  x86/paravirt: Remove trailing semicolons from alternative asm templates
  x86/pvlocks: Move paravirt spinlock functions into own header
  x86/paravirt: Specify pv_ops array in paravirt macros
  x86/paravirt: Allow pv-calls outside paravirt.h
  objtool: Allow multiple pv_ops arrays
  x86/xen: Drop xen_mmu_ops
  x86/xen: Drop xen_cpu_ops
  x86/xen: Drop xen_irq_ops
  x86/paravirt: Move pv_native_*() prototypes to paravirt.c
  x86/paravirt: Introduce new paravirt-base.h header
  x86/paravirt: Move paravirt_sched_clock() related code into tsc.c
  x86/paravirt: Use common code for paravirt_steal_clock()
  riscv/paravirt: Use common code for paravirt_steal_clock()
  loongarch/paravirt: Use common code for paravirt_steal_clock()
  arm64/paravirt: Use common code for paravirt_steal_clock()
  arm/paravirt: Use common code for paravirt_steal_clock()
  sched: Move clock related paravirt code to kernel/sched
  paravirt: Remove asm/paravirt_api_clock.h
  x86/paravirt: Move thunk macros to paravirt_types.h
  ...
parents 8cbd0d2b 31911d3c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1056,6 +1056,9 @@ config HAVE_IRQ_TIME_ACCOUNTING
	  Archs need to ensure they use a high enough resolution clock to
	  support irq time accounting and then call enable_sched_clock_irqtime().

config HAVE_PV_STEAL_CLOCK_GEN
	bool

config HAVE_MOVE_PUD
	bool
	help
+1 −0
Original line number Diff line number Diff line
@@ -1320,6 +1320,7 @@ config UACCESS_WITH_MEMCPY

config PARAVIRT
	bool "Enable paravirtualization code"
	select HAVE_PV_STEAL_CLOCK_GEN
	help
	  This changes the kernel so it can modify itself when it is run
	  under a hypervisor, potentially improving performance significantly

arch/arm/include/asm/paravirt.h

deleted100644 → 0
+0 −22
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_ARM_PARAVIRT_H
#define _ASM_ARM_PARAVIRT_H

#ifdef CONFIG_PARAVIRT
#include <linux/static_call_types.h>

struct static_key;
extern struct static_key paravirt_steal_enabled;
extern struct static_key paravirt_steal_rq_enabled;

u64 dummy_steal_clock(int cpu);

DECLARE_STATIC_CALL(pv_steal_clock, dummy_steal_clock);

static inline u64 paravirt_steal_clock(int cpu)
{
	return static_call(pv_steal_clock)(cpu);
}
#endif

#endif
+0 −1
Original line number Diff line number Diff line
#include <asm/paravirt.h>
+0 −1
Original line number Diff line number Diff line
@@ -83,7 +83,6 @@ AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt
obj-$(CONFIG_ARM_CPU_TOPOLOGY)  += topology.o
obj-$(CONFIG_VDSO)		+= vdso.o
obj-$(CONFIG_EFI)		+= efi.o
obj-$(CONFIG_PARAVIRT)	+= paravirt.o

obj-y			+= head$(MMUEXT).o
obj-$(CONFIG_DEBUG_LL)	+= debug.o
Loading