2f6474e463
Convert the XEN/PV hypercall to IDTENTRY: - Emit the ASM stub with DECLARE_IDTENTRY - Remove the ASM idtentry in 64-bit - Remove the open coded ASM entry code in 32-bit - Remove the old prototypes The handler stubs need to stay in ASM code as they need corner case handling and adjustment of the stack pointer. Provide a new C function which invokes the entry/exit handling and calls into the XEN handler on the interrupt stack if required. The exit code is slightly different from the regular idtentry_exit() on non-preemptible kernels. If the hypercall is preemptible and need_resched() is set then XEN provides a preempt hypercall scheduling function. Move this functionality into the entry code so it can use the existing idtentry functionality. [ mingo: Build fixes. ] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org> Acked-by: Andy Lutomirski <luto@kernel.org> Acked-by: Juergen Gross <jgross@suse.com> Tested-by: Juergen Gross <jgross@suse.com> Link: https://lore.kernel.org/r/20200521202118.055270078@linutronix.de
45 lines
1.7 KiB
Makefile
45 lines
1.7 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
obj-$(CONFIG_HOTPLUG_CPU) += cpu_hotplug.o
|
|
obj-y += grant-table.o features.o balloon.o manage.o time.o
|
|
obj-y += mem-reservation.o
|
|
obj-y += events/
|
|
obj-y += xenbus/
|
|
|
|
nostackp := $(call cc-option, -fno-stack-protector)
|
|
CFLAGS_features.o := $(nostackp)
|
|
|
|
dom0-$(CONFIG_ARM64) += arm-device.o
|
|
dom0-$(CONFIG_PCI) += pci.o
|
|
dom0-$(CONFIG_USB_SUPPORT) += dbgp.o
|
|
dom0-$(CONFIG_XEN_ACPI) += acpi.o $(xen-pad-y)
|
|
xen-pad-$(CONFIG_X86) += xen-acpi-pad.o
|
|
dom0-$(CONFIG_X86) += pcpu.o
|
|
obj-$(CONFIG_XEN_DOM0) += $(dom0-y)
|
|
obj-$(CONFIG_BLOCK) += biomerge.o
|
|
obj-$(CONFIG_XEN_BALLOON) += xen-balloon.o
|
|
obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o
|
|
obj-$(CONFIG_XEN_GNTDEV) += xen-gntdev.o
|
|
obj-$(CONFIG_XEN_GRANT_DEV_ALLOC) += xen-gntalloc.o
|
|
obj-$(CONFIG_XENFS) += xenfs/
|
|
obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o
|
|
obj-$(CONFIG_XEN_PVHVM) += platform-pci.o
|
|
obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o
|
|
obj-$(CONFIG_XEN_MCE_LOG) += mcelog.o
|
|
obj-$(CONFIG_XEN_PCIDEV_BACKEND) += xen-pciback/
|
|
obj-$(CONFIG_XEN_PRIVCMD) += xen-privcmd.o
|
|
obj-$(CONFIG_XEN_STUB) += xen-stub.o
|
|
obj-$(CONFIG_XEN_ACPI_HOTPLUG_MEMORY) += xen-acpi-memhotplug.o
|
|
obj-$(CONFIG_XEN_ACPI_HOTPLUG_CPU) += xen-acpi-cpuhotplug.o
|
|
obj-$(CONFIG_XEN_ACPI_PROCESSOR) += xen-acpi-processor.o
|
|
obj-$(CONFIG_XEN_EFI) += efi.o
|
|
obj-$(CONFIG_XEN_SCSI_BACKEND) += xen-scsiback.o
|
|
obj-$(CONFIG_XEN_AUTO_XLATE) += xlate_mmu.o
|
|
obj-$(CONFIG_XEN_PVCALLS_BACKEND) += pvcalls-back.o
|
|
obj-$(CONFIG_XEN_PVCALLS_FRONTEND) += pvcalls-front.o
|
|
xen-evtchn-y := evtchn.o
|
|
xen-gntdev-y := gntdev.o
|
|
xen-gntdev-$(CONFIG_XEN_GNTDEV_DMABUF) += gntdev-dmabuf.o
|
|
xen-gntalloc-y := gntalloc.o
|
|
xen-privcmd-y := privcmd.o privcmd-buf.o
|
|
obj-$(CONFIG_XEN_FRONT_PGDIR_SHBUF) += xen-front-pgdir-shbuf.o
|