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

Commit 6e6c5b96 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

Pull xen updates from Juergen Gross:
 "Other than fixes and cleanups it contains:

   - support > 32 VCPUs at domain restore

   - support for new sysfs nodes related to Xen

   - some performance tuning for Linux running as Xen guest"

* tag 'for-linus-4.13-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  x86/xen: allow userspace access during hypercalls
  x86: xen: remove unnecessary variable in xen_foreach_remap_area()
  xen: allocate page for shared info page from low memory
  xen: avoid deadlock in xenbus driver
  xen: add sysfs node for hypervisor build id
  xen: sync include/xen/interface/version.h
  xen: add sysfs node for guest type
  doc,xen: document hypervisor sysfs nodes for xen
  xen/vcpu: Handle xen_vcpu_setup() failure at boot
  xen/vcpu: Handle xen_vcpu_setup() failure in hotplug
  xen/pv: Fix OOPS on restore for a PV, !SMP domain
  xen/pvh*: Support > 32 VCPUs at domain restore
  xen/vcpu: Simplify xen_vcpu related code
  xen-evtchn: Bind dyn evtchn:qemu-dm interrupt to next online VCPU
  xen: avoid type warning in xchg_xen_ulong
  xen: fix HYPERVISOR_dm_op() prototype
  xen: don't print error message in case of missing Xenstore entry
  arm/xen: Adjust one function call together with a variable assignment
  arm/xen: Delete an error message for a failed memory allocation in __set_phys_to_machine_multi()
  arm/xen: Improve a size determination in __set_phys_to_machine_multi()
parents c136b843 c54590ca
Loading
Loading
Loading
Loading
+119 −0
Original line number Diff line number Diff line
What:		/sys/hypervisor/compilation/compile_date
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Contains the build time stamp of the Xen hypervisor
		Might return "<denied>" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/compilation/compiled_by
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Contains information who built the Xen hypervisor
		Might return "<denied>" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/compilation/compiler
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Compiler which was used to build the Xen hypervisor
		Might return "<denied>" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/properties/capabilities
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Space separated list of supported guest system types. Each type
		is in the format: <class>-<major>.<minor>-<arch>
		With:
			<class>: "xen" -- x86: paravirtualized, arm: standard
				 "hvm" -- x86 only: fully virtualized
			<major>: major guest interface version
			<minor>: minor guest interface version
			<arch>:  architecture, e.g.:
				 "x86_32": 32 bit x86 guest without PAE
				 "x86_32p": 32 bit x86 guest with PAE
				 "x86_64": 64 bit x86 guest
				 "armv7l": 32 bit arm guest
				 "aarch64": 64 bit arm guest

What:		/sys/hypervisor/properties/changeset
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Changeset of the hypervisor (git commit)
		Might return "<denied>" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/properties/features
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Features the Xen hypervisor supports for the guest as defined
		in include/xen/interface/features.h printed as a hex value.

What:		/sys/hypervisor/properties/pagesize
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Default page size of the hypervisor printed as a hex value.
		Might return "0" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/properties/virtual_start
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Virtual address of the hypervisor as a hex value.

What:		/sys/hypervisor/type
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Type of hypervisor:
		"xen": Xen hypervisor

What:		/sys/hypervisor/uuid
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		UUID of the guest as known to the Xen hypervisor.

What:		/sys/hypervisor/version/extra
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		The Xen version is in the format <major>.<minor><extra>
		This is the <extra> part of it.
		Might return "<denied>" in case of special security settings
		in the hypervisor.

What:		/sys/hypervisor/version/major
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		The Xen version is in the format <major>.<minor><extra>
		This is the <major> part of it.

What:		/sys/hypervisor/version/minor
Date:		March 2009
KernelVersion:	2.6.30
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		The Xen version is in the format <major>.<minor><extra>
		This is the <minor> part of it.
+22 −2
Original line number Diff line number Diff line
What:		/sys/hypervisor/guest_type
Date:		June 2017
KernelVersion:	4.13
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Type of guest:
		"Xen": standard guest type on arm
		"HVM": fully virtualized guest (x86)
		"PV": paravirtualized guest (x86)
		"PVH": fully virtualized guest without legacy emulation (x86)

What:		/sys/hypervisor/pmu/pmu_mode
Date:		August 2015
KernelVersion:	4.3
Contact:	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Description:
Description:	If running under Xen:
		Describes mode that Xen's performance-monitoring unit (PMU)
		uses. Accepted values are
			"off"  -- PMU is disabled
@@ -17,7 +28,16 @@ What: /sys/hypervisor/pmu/pmu_features
Date:           August 2015
KernelVersion:  4.3
Contact:        Boris Ostrovsky <boris.ostrovsky@oracle.com>
Description:
Description:	If running under Xen:
		Describes Xen PMU features (as an integer). A set bit indicates
		that the corresponding feature is enabled. See
		include/xen/interface/xenpmu.h for available features

What:		/sys/hypervisor/properties/buildid
Date:		June 2017
KernelVersion:	4.13
Contact:	xen-devel@lists.xenproject.org
Description:	If running under Xen:
		Build id of the hypervisor, needed for hypervisor live patching.
		Might return "<denied>" in case of special security settings
		in the hypervisor.
+2 −0
Original line number Diff line number Diff line
@@ -14228,6 +14228,8 @@ F: drivers/xen/
F:	arch/x86/include/asm/xen/
F:	include/xen/
F:	include/uapi/xen/
F:	Documentation/ABI/stable/sysfs-hypervisor-xen
F:	Documentation/ABI/testing/sysfs-hypervisor-xen

XEN HYPERVISOR ARM
M:	Stefano Stabellini <sstabellini@kernel.org>
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ static inline int xen_irqs_disabled(struct pt_regs *regs)
	return raw_irqs_disabled_flags(regs->ARM_cpsr);
}

#define xchg_xen_ulong(ptr, val) atomic64_xchg(container_of((ptr),	\
#define xchg_xen_ulong(ptr, val) atomic64_xchg(container_of((long long*)(ptr),\
							    atomic64_t,	\
							    counter), (val))

+5 −5
Original line number Diff line number Diff line
@@ -144,17 +144,17 @@ bool __set_phys_to_machine_multi(unsigned long pfn,
		return true;
	}

	p2m_entry = kzalloc(sizeof(struct xen_p2m_entry), GFP_NOWAIT);
	if (!p2m_entry) {
		pr_warn("cannot allocate xen_p2m_entry\n");
	p2m_entry = kzalloc(sizeof(*p2m_entry), GFP_NOWAIT);
	if (!p2m_entry)
		return false;
	}

	p2m_entry->pfn = pfn;
	p2m_entry->nr_pages = nr_pages;
	p2m_entry->mfn = mfn;

	write_lock_irqsave(&p2m_lock, irqflags);
	if ((rc = xen_add_phys_to_mach_entry(p2m_entry)) < 0) {
	rc = xen_add_phys_to_mach_entry(p2m_entry);
	if (rc < 0) {
		write_unlock_irqrestore(&p2m_lock, irqflags);
		return false;
	}
Loading