forked from Minki/linux
66bb0aa077
they had small conflicts (respectively within KVM documentation, and with 3.16-rc changes). Since they were all within the subsystem, I took care of them. Stephen Rothwell reported some snags in PPC builds, but they are all fixed now; the latest linux-next report was clean. New features for ARM include: - KVM VGIC v2 emulation on GICv3 hardware - Big-Endian support for arm/arm64 (guest and host) - Debug Architecture support for arm64 (arm32 is on Christoffer's todo list) And for PPC: - Book3S: Good number of LE host fixes, enable HV on LE - Book3S HV: Add in-guest debug support This release drops support for KVM on the PPC440. As a result, the PPC merge removes more lines than it adds. :) I also included an x86 change, since Davidlohr tied it to an independent bug report and the reporter quickly provided a Tested-by; there was no reason to wait for -rc2. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJT4iIJAAoJEBvWZb6bTYbyZqoP/3Wxy8NWPFJ8HGt81NHlGnDS a9UbL7EibcOEG+aaKqmtBglTD5YDiGBDNCxxiSJaDHt+grLN4fsWIliJob1nJFoO 90f89EWN2XjeCrJXA5nUoeg5tpc5OoYKsiP6pTgzIwkP8vvs/H1+zpcTS/UmYsr/ qipVMMsM+zZeHWZcSbqjW88z7YqIn1sr5282wJ85cbyv4KGizb/G4dyPuDqLb6np hkAD8Ah6VV2suQ2FSy7G2fg20R0vglUi60hkEHLoCBPVqJCl7SmC8MvxNbjBnP8S J36R0R0u1wHYKzAGooLJGVOZ/o/gSiVqKX+++L2EvJBN+kuA6u/7fxLyBT+LwDAE IF/Aln5rpg1fe+eywvhz86WljTVEQ8bO1zVsIQUPY+/ZOPedZHMwyvXft8ogbjSp 2m9OJ/3e8Aggh0OeHpCDoeow+QDUXvX0YdCw+2Yh0p+7VMXqkyp0QEiBu38jrusC rB3VNifJbDSWLKdG9LfCAPHnxZD2XYEwv2WFBo6KQOGMGHfx0GXpCOL/jQihrhA6 HtEG5Bs3lvnHQemdpUZ58xojiABbMaUPdcnPXQQEp23WhZzrfLMLzqVG0VYnhSsC 9pi7MJj8c31rqx5WU2oRM28i/BvNxN0NCtkDpineO5s3f89Ws1xnwxqlm38AKP0J irJQTYFEqec+GM9JK1rG =hyQP -----END PGP SIGNATURE----- Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull second round of KVM changes from Paolo Bonzini: "Here are the PPC and ARM changes for KVM, which I separated because they had small conflicts (respectively within KVM documentation, and with 3.16-rc changes). Since they were all within the subsystem, I took care of them. Stephen Rothwell reported some snags in PPC builds, but they are all fixed now; the latest linux-next report was clean. New features for ARM include: - KVM VGIC v2 emulation on GICv3 hardware - Big-Endian support for arm/arm64 (guest and host) - Debug Architecture support for arm64 (arm32 is on Christoffer's todo list) And for PPC: - Book3S: Good number of LE host fixes, enable HV on LE - Book3S HV: Add in-guest debug support This release drops support for KVM on the PPC440. As a result, the PPC merge removes more lines than it adds. :) I also included an x86 change, since Davidlohr tied it to an independent bug report and the reporter quickly provided a Tested-by; there was no reason to wait for -rc2" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (122 commits) KVM: Move more code under CONFIG_HAVE_KVM_IRQFD KVM: nVMX: fix "acknowledge interrupt on exit" when APICv is in use KVM: nVMX: Fix nested vmexit ack intr before load vmcs01 KVM: PPC: Enable IRQFD support for the XICS interrupt controller KVM: Give IRQFD its own separate enabling Kconfig option KVM: Move irq notifier implementation into eventfd.c KVM: Move all accesses to kvm::irq_routing into irqchip.c KVM: irqchip: Provide and use accessors for irq routing table KVM: Don't keep reference to irq routing table in irqfd struct KVM: PPC: drop duplicate tracepoint arm64: KVM: fix 64bit CP15 VM access for 32bit guests KVM: arm64: GICv3: mandate page-aligned GICV region arm64: KVM: GICv3: move system register access to msr_s/mrs_s KVM: PPC: PR: Handle FSCR feature deselects KVM: PPC: HV: Remove generic instruction emulation KVM: PPC: BOOKEHV: rename e500hv_spr to bookehv_spr KVM: PPC: Remove DCR handling KVM: PPC: Expose helper functions for data/inst faults KVM: PPC: Separate loadstore emulation from priv emulation KVM: PPC: Handle magic page in kvmppc_ld/st ...
129 lines
2.8 KiB
Makefile
129 lines
2.8 KiB
Makefile
#
|
|
# Makefile for Kernel-based Virtual Machine module
|
|
#
|
|
|
|
subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
|
|
|
|
ccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm
|
|
KVM := ../../../virt/kvm
|
|
|
|
common-objs-y = $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o \
|
|
$(KVM)/eventfd.o
|
|
|
|
CFLAGS_e500_mmu.o := -I.
|
|
CFLAGS_e500_mmu_host.o := -I.
|
|
CFLAGS_emulate.o := -I.
|
|
CFLAGS_emulate_loadstore.o := -I.
|
|
|
|
common-objs-y += powerpc.o emulate.o emulate_loadstore.o
|
|
obj-$(CONFIG_KVM_EXIT_TIMING) += timing.o
|
|
obj-$(CONFIG_KVM_BOOK3S_HANDLER) += book3s_exports.o
|
|
|
|
AFLAGS_booke_interrupts.o := -I$(obj)
|
|
|
|
kvm-e500-objs := \
|
|
$(common-objs-y) \
|
|
booke.o \
|
|
booke_emulate.o \
|
|
booke_interrupts.o \
|
|
e500.o \
|
|
e500_mmu.o \
|
|
e500_mmu_host.o \
|
|
e500_emulate.o
|
|
kvm-objs-$(CONFIG_KVM_E500V2) := $(kvm-e500-objs)
|
|
|
|
kvm-e500mc-objs := \
|
|
$(common-objs-y) \
|
|
booke.o \
|
|
booke_emulate.o \
|
|
bookehv_interrupts.o \
|
|
e500mc.o \
|
|
e500_mmu.o \
|
|
e500_mmu_host.o \
|
|
e500_emulate.o
|
|
kvm-objs-$(CONFIG_KVM_E500MC) := $(kvm-e500mc-objs)
|
|
|
|
kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) := \
|
|
book3s_64_vio_hv.o
|
|
|
|
kvm-pr-y := \
|
|
fpu.o \
|
|
emulate.o \
|
|
book3s_paired_singles.o \
|
|
book3s_pr.o \
|
|
book3s_pr_papr.o \
|
|
book3s_emulate.o \
|
|
book3s_interrupts.o \
|
|
book3s_mmu_hpte.o \
|
|
book3s_64_mmu_host.o \
|
|
book3s_64_mmu.o \
|
|
book3s_32_mmu.o
|
|
|
|
ifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE
|
|
kvm-book3s_64-module-objs := \
|
|
$(KVM)/coalesced_mmio.o
|
|
|
|
kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
|
|
book3s_rmhandlers.o
|
|
endif
|
|
|
|
kvm-hv-y += \
|
|
book3s_hv.o \
|
|
book3s_hv_interrupts.o \
|
|
book3s_64_mmu_hv.o
|
|
|
|
kvm-book3s_64-builtin-xics-objs-$(CONFIG_KVM_XICS) := \
|
|
book3s_hv_rm_xics.o
|
|
|
|
ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
|
|
kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
|
|
book3s_hv_rmhandlers.o \
|
|
book3s_hv_rm_mmu.o \
|
|
book3s_hv_ras.o \
|
|
book3s_hv_builtin.o \
|
|
$(kvm-book3s_64-builtin-xics-objs-y)
|
|
endif
|
|
|
|
kvm-book3s_64-objs-$(CONFIG_KVM_XICS) += \
|
|
book3s_xics.o
|
|
|
|
kvm-book3s_64-module-objs += \
|
|
$(KVM)/kvm_main.o \
|
|
$(KVM)/eventfd.o \
|
|
powerpc.o \
|
|
emulate_loadstore.o \
|
|
book3s.o \
|
|
book3s_64_vio.o \
|
|
book3s_rtas.o \
|
|
$(kvm-book3s_64-objs-y)
|
|
|
|
kvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-module-objs)
|
|
|
|
kvm-book3s_32-objs := \
|
|
$(common-objs-y) \
|
|
fpu.o \
|
|
book3s_paired_singles.o \
|
|
book3s.o \
|
|
book3s_pr.o \
|
|
book3s_emulate.o \
|
|
book3s_interrupts.o \
|
|
book3s_mmu_hpte.o \
|
|
book3s_32_mmu_host.o \
|
|
book3s_32_mmu.o
|
|
kvm-objs-$(CONFIG_KVM_BOOK3S_32) := $(kvm-book3s_32-objs)
|
|
|
|
kvm-objs-$(CONFIG_KVM_MPIC) += mpic.o
|
|
kvm-objs-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o
|
|
|
|
kvm-objs := $(kvm-objs-m) $(kvm-objs-y)
|
|
|
|
obj-$(CONFIG_KVM_E500V2) += kvm.o
|
|
obj-$(CONFIG_KVM_E500MC) += kvm.o
|
|
obj-$(CONFIG_KVM_BOOK3S_64) += kvm.o
|
|
obj-$(CONFIG_KVM_BOOK3S_32) += kvm.o
|
|
|
|
obj-$(CONFIG_KVM_BOOK3S_64_PR) += kvm-pr.o
|
|
obj-$(CONFIG_KVM_BOOK3S_64_HV) += kvm-hv.o
|
|
|
|
obj-y += $(kvm-book3s_64-builtin-objs-y)
|