xref: /linux/arch/powerpc/kvm/Makefile (revision 4b3d173d0440d37534906b6d93c02dfb577c68ce)
1bbf45ba5SHollis Blanchard#
2bbf45ba5SHollis Blanchard# Makefile for Kernel-based Virtual Machine module
3bbf45ba5SHollis Blanchard#
4bbf45ba5SHollis Blanchard
5ba55bd74SMichael Ellermansubdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
6ba55bd74SMichael Ellerman
74108d9baSmatt mooneyccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm
8535cf7b3SMarc ZyngierKVM := ../../../virt/kvm
9bbf45ba5SHollis Blanchard
10*4b3d173dSPaul Mackerrascommon-objs-y = $(KVM)/kvm_main.o $(KVM)/eventfd.o
110af574beSPaolo Bonzinicommon-objs-$(CONFIG_KVM_VFIO) += $(KVM)/vfio.o
12*4b3d173dSPaul Mackerrascommon-objs-$(CONFIG_KVM_MMIO) += $(KVM)/coalesced_mmio.o
13bbf45ba5SHollis Blanchard
14b71c9e2fSAlexander GrafCFLAGS_e500_mmu.o := -I.
15b71c9e2fSAlexander GrafCFLAGS_e500_mmu_host.o := -I.
1646f43c6eSMarcelo TosattiCFLAGS_emulate.o  := -I.
17d69614a2SAlexander GrafCFLAGS_emulate_loadstore.o  := -I.
1846f43c6eSMarcelo Tosatti
19*4b3d173dSPaul Mackerrascommon-objs-y += powerpc.o emulate_loadstore.o
2073e75b41SHollis Blanchardobj-$(CONFIG_KVM_EXIT_TIMING) += timing.o
21c14dea04SAlexander Grafobj-$(CONFIG_KVM_BOOK3S_HANDLER) += book3s_exports.o
22bbf45ba5SHollis Blanchard
2358ab5e0cSArnd BergmannAFLAGS_booke_interrupts.o := -I$(objtree)/$(obj)
24bbf45ba5SHollis Blanchard
25bc8080cbSHollis Blanchardkvm-e500-objs := \
26c4f9c779SAlexander Graf	$(common-objs-y) \
27*4b3d173dSPaul Mackerras	emulate.o \
28bc8080cbSHollis Blanchard	booke.o \
29bc8080cbSHollis Blanchard	booke_emulate.o \
30bc8080cbSHollis Blanchard	booke_interrupts.o \
31bc8080cbSHollis Blanchard	e500.o \
32b71c9e2fSAlexander Graf	e500_mmu.o \
33b71c9e2fSAlexander Graf	e500_mmu_host.o \
34bc8080cbSHollis Blanchard	e500_emulate.o
35bf7ca4bdSAlexander Grafkvm-objs-$(CONFIG_KVM_E500V2) := $(kvm-e500-objs)
36c4f9c779SAlexander Graf
3773196cd3SScott Woodkvm-e500mc-objs := \
3873196cd3SScott Wood	$(common-objs-y) \
39*4b3d173dSPaul Mackerras	emulate.o \
4073196cd3SScott Wood	booke.o \
4173196cd3SScott Wood	booke_emulate.o \
4273196cd3SScott Wood	bookehv_interrupts.o \
4373196cd3SScott Wood	e500mc.o \
44b71c9e2fSAlexander Graf	e500_mmu.o \
45b71c9e2fSAlexander Graf	e500_mmu_host.o \
4673196cd3SScott Wood	e500_emulate.o
4773196cd3SScott Woodkvm-objs-$(CONFIG_KVM_E500MC) := $(kvm-e500mc-objs)
4873196cd3SScott Wood
49066212e0SPaul Mackerraskvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) := \
50066212e0SPaul Mackerras	book3s_64_vio_hv.o
51066212e0SPaul Mackerras
522ba9f0d8SAneesh Kumar K.Vkvm-pr-y := \
53963cf3dcSAlexander Graf	fpu.o \
5429577fc0SAlexander Graf	emulate.o \
55831317b6SAlexander Graf	book3s_paired_singles.o \
56f05ed4d5SPaul Mackerras	book3s_pr.o \
570254f074SAlexander Graf	book3s_pr_papr.o \
582191d657SAlexander Graf	book3s_emulate.o \
592191d657SAlexander Graf	book3s_interrupts.o \
60fef093beSAlexander Graf	book3s_mmu_hpte.o \
61c4f9c779SAlexander Graf	book3s_64_mmu_host.o \
62c4f9c779SAlexander Graf	book3s_64_mmu.o \
63c4f9c779SAlexander Graf	book3s_32_mmu.o
64066212e0SPaul Mackerras
659975f5e3SAneesh Kumar K.Vifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE
669975f5e3SAneesh Kumar K.Vkvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
679975f5e3SAneesh Kumar K.V	book3s_rmhandlers.o
689975f5e3SAneesh Kumar K.Vendif
699975f5e3SAneesh Kumar K.V
702ba9f0d8SAneesh Kumar K.Vkvm-hv-y += \
71de56a948SPaul Mackerras	book3s_hv.o \
72de56a948SPaul Mackerras	book3s_hv_interrupts.o \
73de56a948SPaul Mackerras	book3s_64_mmu_hv.o
74066212e0SPaul Mackerras
75e7d26f28SBenjamin Herrenschmidtkvm-book3s_64-builtin-xics-objs-$(CONFIG_KVM_XICS) := \
76e7d26f28SBenjamin Herrenschmidt	book3s_hv_rm_xics.o
77066212e0SPaul Mackerras
782ba9f0d8SAneesh Kumar K.Vifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
792ba9f0d8SAneesh Kumar K.Vkvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
80177339d7SPaul Mackerras	book3s_hv_rmhandlers.o \
8154738c09SDavid Gibson	book3s_hv_rm_mmu.o \
82b4072df4SPaul Mackerras	book3s_hv_ras.o \
83e7d26f28SBenjamin Herrenschmidt	book3s_hv_builtin.o \
84e7d26f28SBenjamin Herrenschmidt	$(kvm-book3s_64-builtin-xics-objs-y)
852ba9f0d8SAneesh Kumar K.Vendif
86de56a948SPaul Mackerras
87bc5ad3f3SBenjamin Herrenschmidtkvm-book3s_64-objs-$(CONFIG_KVM_XICS) += \
88bc5ad3f3SBenjamin Herrenschmidt	book3s_xics.o
89bc5ad3f3SBenjamin Herrenschmidt
90*4b3d173dSPaul Mackerraskvm-book3s_64-module-objs := \
91*4b3d173dSPaul Mackerras	$(common-objs-y) \
92de56a948SPaul Mackerras	book3s.o \
93f31e65e1SBenjamin Herrenschmidt	book3s_64_vio.o \
948e591cb7SMichael Ellerman	book3s_rtas.o \
95de56a948SPaul Mackerras	$(kvm-book3s_64-objs-y)
96a8606e20SPaul Mackerras
97a8606e20SPaul Mackerraskvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-module-objs)
98c4f9c779SAlexander Graf
994f841390SAlexander Grafkvm-book3s_32-objs := \
1004f841390SAlexander Graf	$(common-objs-y) \
101*4b3d173dSPaul Mackerras	emulate.o \
1024f841390SAlexander Graf	fpu.o \
1034f841390SAlexander Graf	book3s_paired_singles.o \
1044f841390SAlexander Graf	book3s.o \
105f05ed4d5SPaul Mackerras	book3s_pr.o \
1064f841390SAlexander Graf	book3s_emulate.o \
1074f841390SAlexander Graf	book3s_interrupts.o \
108fef093beSAlexander Graf	book3s_mmu_hpte.o \
1094f841390SAlexander Graf	book3s_32_mmu_host.o \
1104f841390SAlexander Graf	book3s_32_mmu.o
1114f841390SAlexander Grafkvm-objs-$(CONFIG_KVM_BOOK3S_32) := $(kvm-book3s_32-objs)
1124f841390SAlexander Graf
1135df554adSScott Woodkvm-objs-$(CONFIG_KVM_MPIC) += mpic.o
114535cf7b3SMarc Zyngierkvm-objs-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o
1155df554adSScott Wood
116c4f9c779SAlexander Grafkvm-objs := $(kvm-objs-m) $(kvm-objs-y)
117c4f9c779SAlexander Graf
118bf7ca4bdSAlexander Grafobj-$(CONFIG_KVM_E500V2) += kvm.o
11973196cd3SScott Woodobj-$(CONFIG_KVM_E500MC) += kvm.o
120c4f9c779SAlexander Grafobj-$(CONFIG_KVM_BOOK3S_64) += kvm.o
1214f841390SAlexander Grafobj-$(CONFIG_KVM_BOOK3S_32) += kvm.o
122c4f9c779SAlexander Graf
1232ba9f0d8SAneesh Kumar K.Vobj-$(CONFIG_KVM_BOOK3S_64_PR) += kvm-pr.o
1242ba9f0d8SAneesh Kumar K.Vobj-$(CONFIG_KVM_BOOK3S_64_HV) += kvm-hv.o
1252ba9f0d8SAneesh Kumar K.V
126a8606e20SPaul Mackerrasobj-y += $(kvm-book3s_64-builtin-objs-y)
127