On Fri, Aug 19, 2016 at 11:41:59AM +1000, Paul Mackerras wrote: > As discussed recently on the kvm mailing list, David Gibson's > intention in commit 178a78750212 ("vfio: Enable VFIO device for > powerpc", 2016-02-01) was to have the KVM VFIO device built in > on all powerpc platforms. This patch adds the "select KVM_VFIO" > statement that makes this happen. > > Currently, arch/powerpc/kvm/Makefile doesn't include vfio.o for > the 64-bit kvm module, because the list of objects doesn't use > the $(common-objs-y) list. The reason it doesn't is because we > don't necessarily want coalesced_mmio.o or emulate.o (for example > if HV KVM is the only target), and common-objs-y includes both. > > Since this is confusing, this patch adjusts the definitions so that > we now use $(common-objs-y) in the list for the 64-bit kvm.ko > module, emulate.o is removed from common-objs-y and added in the > places that need it, and the inclusion of coalesced_mmio.o now > depends on CONFIG_KVM_MMIO. > > Signed-off-by: Paul Mackerras <paulus@xxxxxxxxxx> Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> > --- > arch/powerpc/kvm/Kconfig | 1 + > arch/powerpc/kvm/Makefile | 19 ++++++++----------- > 2 files changed, 9 insertions(+), 11 deletions(-) > > diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig > index c2024ac..c0a2478 100644 > --- a/arch/powerpc/kvm/Kconfig > +++ b/arch/powerpc/kvm/Kconfig > @@ -22,6 +22,7 @@ config KVM > select ANON_INODES > select HAVE_KVM_EVENTFD > select SRCU > + select KVM_VFIO > > config KVM_BOOK3S_HANDLER > bool > diff --git a/arch/powerpc/kvm/Makefile b/arch/powerpc/kvm/Makefile > index 1f9e552..bd9b82f 100644 > --- a/arch/powerpc/kvm/Makefile > +++ b/arch/powerpc/kvm/Makefile > @@ -7,16 +7,16 @@ 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 > +common-objs-y = $(KVM)/kvm_main.o $(KVM)/eventfd.o > common-objs-$(CONFIG_KVM_VFIO) += $(KVM)/vfio.o > +common-objs-$(CONFIG_KVM_MMIO) += $(KVM)/coalesced_mmio.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 > +common-objs-y += powerpc.o emulate_loadstore.o > obj-$(CONFIG_KVM_EXIT_TIMING) += timing.o > obj-$(CONFIG_KVM_BOOK3S_HANDLER) += book3s_exports.o > > @@ -24,6 +24,7 @@ AFLAGS_booke_interrupts.o := -I$(objtree)/$(obj) > > kvm-e500-objs := \ > $(common-objs-y) \ > + emulate.o \ > booke.o \ > booke_emulate.o \ > booke_interrupts.o \ > @@ -35,6 +36,7 @@ kvm-objs-$(CONFIG_KVM_E500V2) := $(kvm-e500-objs) > > kvm-e500mc-objs := \ > $(common-objs-y) \ > + emulate.o \ > booke.o \ > booke_emulate.o \ > bookehv_interrupts.o \ > @@ -61,9 +63,6 @@ kvm-pr-y := \ > 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 > @@ -88,11 +87,8 @@ 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 \ > +kvm-book3s_64-module-objs := \ > + $(common-objs-y) \ > book3s.o \ > book3s_64_vio.o \ > book3s_rtas.o \ > @@ -102,6 +98,7 @@ kvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-module-objs) > > kvm-book3s_32-objs := \ > $(common-objs-y) \ > + emulate.o \ > fpu.o \ > book3s_paired_singles.o \ > book3s.o \ -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature