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

Commit b5d72dda authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-linus-5.3a-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen updates from Juergen Gross:
 "Fixes and features:

   - A series to introduce a common command line parameter for disabling
     paravirtual extensions when running as a guest in virtualized
     environment

   - A fix for int3 handling in Xen pv guests

   - Removal of the Xen-specific tmem driver as support of tmem in Xen
     has been dropped (and it was experimental only)

   - A security fix for running as Xen dom0 (XSA-300)

   - A fix for IRQ handling when offlining cpus in Xen guests

   - Some small cleanups"

* tag 'for-linus-5.3a-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xen: let alloc_xenballooned_pages() fail if not enough memory free
  xen/pv: Fix a boot up hang revealed by int3 self test
  x86/xen: Add "nopv" support for HVM guest
  x86/paravirt: Remove const mark from x86_hyper_xen_hvm variable
  xen: Map "xen_nopv" parameter to "nopv" and mark it obsolete
  x86: Add "nopv" parameter to disable PV extensions
  x86/xen: Mark xen_hvm_need_lapic() and xen_x2apic_para_available() as __init
  xen: remove tmem driver
  Revert "x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized"
  xen/events: fix binding user event channels to cpus
parents 26473f83 a1078e82
Loading
Loading
Loading
Loading
+7 −21
Original line number Diff line number Diff line
@@ -4698,27 +4698,6 @@
			Force threading of all interrupt handlers except those
			marked explicitly IRQF_NO_THREAD.

	tmem		[KNL,XEN]
			Enable the Transcendent memory driver if built-in.

	tmem.cleancache=0|1 [KNL, XEN]
			Default is on (1). Disable the usage of the cleancache
			API to send anonymous pages to the hypervisor.

	tmem.frontswap=0|1 [KNL, XEN]
			Default is on (1). Disable the usage of the frontswap
			API to send swap pages to the hypervisor. If disabled
			the selfballooning and selfshrinking are force disabled.

	tmem.selfballooning=0|1 [KNL, XEN]
			Default is on (1). Disable the driving of swap pages
			to the hypervisor.

	tmem.selfshrinking=0|1 [KNL, XEN]
			Default is on (1). Partial swapoff that immediately
			transfers pages from Xen hypervisor back to the
			kernel based on different criteria.

	topology=	[S390]
			Format: {off | on}
			Specify if the kernel should make use of the cpu
@@ -5288,6 +5267,8 @@
	xen_nopv	[X86]
			Disables the PV optimizations forcing the HVM guest to
			run as generic HVM guest with no PV drivers.
			This option is obsoleted by the "nopv" option, which
			has equivalent effect for XEN platform.

	xen_scrub_pages=	[XEN]
			Boolean option to control scrubbing pages before giving them back
@@ -5302,6 +5283,11 @@
			improve timer resolution at the expense of processing
			more timer interrupts.

	nopv=		[X86,XEN,KVM,HYPER_V,VMWARE]
			Disables the PV optimizations forcing the guest to run
			as generic guest with no PV drivers. Currently support
			XEN HVM, KVM, HYPER_V and VMWARE guest.

	xirc2ps_cs=	[NET,PCMCIA]
			Format:
			<irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
+0 −1
Original line number Diff line number Diff line
@@ -1176,7 +1176,6 @@ idtentry stack_segment do_stack_segment has_error_code=1
#ifdef CONFIG_XEN_PV
idtentry xennmi			do_nmi			has_error_code=0
idtentry xendebug		do_debug		has_error_code=0
idtentry xenint3		do_int3			has_error_code=0
#endif

idtentry general_protection	do_general_protection	has_error_code=1
+12 −0
Original line number Diff line number Diff line
@@ -53,8 +53,20 @@ struct hypervisor_x86 {

	/* runtime callbacks */
	struct x86_hyper_runtime runtime;

	/* ignore nopv parameter */
	bool ignore_nopv;
};

extern const struct hypervisor_x86 x86_hyper_vmware;
extern const struct hypervisor_x86 x86_hyper_ms_hyperv;
extern const struct hypervisor_x86 x86_hyper_xen_pv;
extern const struct hypervisor_x86 x86_hyper_kvm;
extern const struct hypervisor_x86 x86_hyper_jailhouse;
extern const struct hypervisor_x86 x86_hyper_acrn;
extern struct hypervisor_x86 x86_hyper_xen_hvm;

extern bool nopv;
extern enum x86_hypervisor_type x86_hyper_type;
extern void init_hypervisor_platform(void);
static inline bool hypervisor_is_type(enum x86_hypervisor_type type)
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ asmlinkage void simd_coprocessor_error(void);
asmlinkage void xen_divide_error(void);
asmlinkage void xen_xennmi(void);
asmlinkage void xen_xendebug(void);
asmlinkage void xen_xenint3(void);
asmlinkage void xen_int3(void);
asmlinkage void xen_overflow(void);
asmlinkage void xen_bounds(void);
asmlinkage void xen_invalid_op(void);
+2 −0
Original line number Diff line number Diff line
@@ -301,6 +301,8 @@ extern struct x86_apic_ops x86_apic_ops;
extern void x86_early_init_platform_quirks(void);
extern void x86_init_noop(void);
extern void x86_init_uint_noop(unsigned int unused);
extern bool bool_x86_init_noop(void);
extern void x86_op_int_noop(int cpu);
extern bool x86_pnpbios_disabled(void);

#endif
Loading