xref: /openbmc/linux/arch/powerpc/kvm/Makefile (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2bbf45ba5SHollis Blanchard#
3bbf45ba5SHollis Blanchard# Makefile for Kernel-based Virtual Machine module
4bbf45ba5SHollis Blanchard#
5bbf45ba5SHollis Blanchard
64108d9baSmatt mooneyccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm
7bbf45ba5SHollis Blanchard
85f33868aSDavid Woodhouseinclude $(srctree)/virt/kvm/Makefile.kvm
9bbf45ba5SHollis Blanchard
104b3d173dSPaul Mackerrascommon-objs-y += powerpc.o emulate_loadstore.o
1173e75b41SHollis Blanchardobj-$(CONFIG_KVM_EXIT_TIMING) += timing.o
12c14dea04SAlexander Grafobj-$(CONFIG_KVM_BOOK3S_HANDLER) += book3s_exports.o
13bbf45ba5SHollis Blanchard
1458ab5e0cSArnd BergmannAFLAGS_booke_interrupts.o := -I$(objtree)/$(obj)
15bbf45ba5SHollis Blanchard
16bc8080cbSHollis Blanchardkvm-e500-objs := \
17c4f9c779SAlexander Graf	$(common-objs-y) \
184b3d173dSPaul Mackerras	emulate.o \
19bc8080cbSHollis Blanchard	booke.o \
20bc8080cbSHollis Blanchard	booke_emulate.o \
21bc8080cbSHollis Blanchard	booke_interrupts.o \
22bc8080cbSHollis Blanchard	e500.o \
23b71c9e2fSAlexander Graf	e500_mmu.o \
24b71c9e2fSAlexander Graf	e500_mmu_host.o \
25bc8080cbSHollis Blanchard	e500_emulate.o
26bf7ca4bdSAlexander Grafkvm-objs-$(CONFIG_KVM_E500V2) := $(kvm-e500-objs)
27c4f9c779SAlexander Graf
2873196cd3SScott Woodkvm-e500mc-objs := \
2973196cd3SScott Wood	$(common-objs-y) \
304b3d173dSPaul Mackerras	emulate.o \
3173196cd3SScott Wood	booke.o \
3273196cd3SScott Wood	booke_emulate.o \
3373196cd3SScott Wood	bookehv_interrupts.o \
3473196cd3SScott Wood	e500mc.o \
35b71c9e2fSAlexander Graf	e500_mmu.o \
36b71c9e2fSAlexander Graf	e500_mmu_host.o \
3773196cd3SScott Wood	e500_emulate.o
3873196cd3SScott Woodkvm-objs-$(CONFIG_KVM_E500MC) := $(kvm-e500mc-objs)
3973196cd3SScott Wood
402ba9f0d8SAneesh Kumar K.Vkvm-pr-y := \
41963cf3dcSAlexander Graf	fpu.o \
4229577fc0SAlexander Graf	emulate.o \
43831317b6SAlexander Graf	book3s_paired_singles.o \
44f05ed4d5SPaul Mackerras	book3s_pr.o \
450254f074SAlexander Graf	book3s_pr_papr.o \
462191d657SAlexander Graf	book3s_emulate.o \
472191d657SAlexander Graf	book3s_interrupts.o \
48fef093beSAlexander Graf	book3s_mmu_hpte.o \
49c4f9c779SAlexander Graf	book3s_64_mmu_host.o \
50c4f9c779SAlexander Graf	book3s_64_mmu.o \
51c4f9c779SAlexander Graf	book3s_32_mmu.o
52066212e0SPaul Mackerras
53009c872aSSimon Guokvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
54f3601156SNicholas Piggin	book3s_64_entry.o \
55009c872aSSimon Guo	tm.o
56009c872aSSimon Guo
579975f5e3SAneesh Kumar K.Vifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE
589975f5e3SAneesh Kumar K.Vkvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
599975f5e3SAneesh Kumar K.V	book3s_rmhandlers.o
609975f5e3SAneesh Kumar K.Vendif
619975f5e3SAneesh Kumar K.V
622ba9f0d8SAneesh Kumar K.Vkvm-hv-y += \
63de56a948SPaul Mackerras	book3s_hv.o \
64de56a948SPaul Mackerras	book3s_hv_interrupts.o \
659e04ba69SPaul Mackerras	book3s_64_mmu_hv.o \
668e3f5fc1SPaul Mackerras	book3s_64_mmu_radix.o \
678e3f5fc1SPaul Mackerras	book3s_hv_nested.o
68066212e0SPaul Mackerras
69ca9f4942SBharata B Raokvm-hv-$(CONFIG_PPC_UV) += \
70ca9f4942SBharata B Rao	book3s_hv_uvmem.o
71ca9f4942SBharata B Rao
724bb3c7a0SPaul Mackerraskvm-hv-$(CONFIG_PPC_TRANSACTIONAL_MEM) += \
734bb3c7a0SPaul Mackerras	book3s_hv_tm.o
744bb3c7a0SPaul Mackerras
75e7d26f28SBenjamin Herrenschmidtkvm-book3s_64-builtin-xics-objs-$(CONFIG_KVM_XICS) := \
76b22af904SAlexey Kardashevskiy	book3s_hv_rm_xics.o
77066212e0SPaul Mackerras
784bb3c7a0SPaul Mackerraskvm-book3s_64-builtin-tm-objs-$(CONFIG_PPC_TRANSACTIONAL_MEM) += \
794bb3c7a0SPaul Mackerras	book3s_hv_tm_builtin.o
804bb3c7a0SPaul Mackerras
812ba9f0d8SAneesh Kumar K.Vifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
822ba9f0d8SAneesh Kumar K.Vkvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \
833f257774SPaolo Bonzini	book3s_hv_hmi.o \
8489d35b23SNicholas Piggin	book3s_hv_p9_entry.o \
85177339d7SPaul Mackerras	book3s_hv_rmhandlers.o \
8654738c09SDavid Gibson	book3s_hv_rm_mmu.o \
87b4072df4SPaul Mackerras	book3s_hv_ras.o \
88e7d26f28SBenjamin Herrenschmidt	book3s_hv_builtin.o \
89*db536084SKajol Jain	book3s_hv_p9_perf.o \
904bb3c7a0SPaul Mackerras	$(kvm-book3s_64-builtin-tm-objs-y) \
91e7d26f28SBenjamin Herrenschmidt	$(kvm-book3s_64-builtin-xics-objs-y)
922ba9f0d8SAneesh Kumar K.Vendif
93de56a948SPaul Mackerras
94bc5ad3f3SBenjamin Herrenschmidtkvm-book3s_64-objs-$(CONFIG_KVM_XICS) += \
95bc5ad3f3SBenjamin Herrenschmidt	book3s_xics.o
96bc5ad3f3SBenjamin Herrenschmidt
9790c73795SCédric Le Goaterkvm-book3s_64-objs-$(CONFIG_KVM_XIVE) += book3s_xive.o book3s_xive_native.o
9876d837a4SPaul Mackerraskvm-book3s_64-objs-$(CONFIG_SPAPR_TCE_IOMMU) += book3s_64_vio.o
995af50993SBenjamin Herrenschmidt
1004b3d173dSPaul Mackerraskvm-book3s_64-module-objs := \
1014b3d173dSPaul Mackerras	$(common-objs-y) \
102de56a948SPaul Mackerras	book3s.o \
1038e591cb7SMichael Ellerman	book3s_rtas.o \
104de56a948SPaul Mackerras	$(kvm-book3s_64-objs-y)
105a8606e20SPaul Mackerras
106a8606e20SPaul Mackerraskvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-module-objs)
107c4f9c779SAlexander Graf
1084f841390SAlexander Grafkvm-book3s_32-objs := \
1094f841390SAlexander Graf	$(common-objs-y) \
1104b3d173dSPaul Mackerras	emulate.o \
1114f841390SAlexander Graf	fpu.o \
1124f841390SAlexander Graf	book3s_paired_singles.o \
1134f841390SAlexander Graf	book3s.o \
114f05ed4d5SPaul Mackerras	book3s_pr.o \
1154f841390SAlexander Graf	book3s_emulate.o \
1164f841390SAlexander Graf	book3s_interrupts.o \
117fef093beSAlexander Graf	book3s_mmu_hpte.o \
1184f841390SAlexander Graf	book3s_32_mmu_host.o \
1194f841390SAlexander Graf	book3s_32_mmu.o
1204f841390SAlexander Grafkvm-objs-$(CONFIG_KVM_BOOK3S_32) := $(kvm-book3s_32-objs)
1214f841390SAlexander Graf
1225df554adSScott Woodkvm-objs-$(CONFIG_KVM_MPIC) += mpic.o
1235df554adSScott Wood
1245f33868aSDavid Woodhousekvm-y += $(kvm-objs-m) $(kvm-objs-y)
125c4f9c779SAlexander Graf
126bf7ca4bdSAlexander Grafobj-$(CONFIG_KVM_E500V2) += kvm.o
12773196cd3SScott Woodobj-$(CONFIG_KVM_E500MC) += kvm.o
128c4f9c779SAlexander Grafobj-$(CONFIG_KVM_BOOK3S_64) += kvm.o
1294f841390SAlexander Grafobj-$(CONFIG_KVM_BOOK3S_32) += kvm.o
130c4f9c779SAlexander Graf
1312ba9f0d8SAneesh Kumar K.Vobj-$(CONFIG_KVM_BOOK3S_64_PR) += kvm-pr.o
1322ba9f0d8SAneesh Kumar K.Vobj-$(CONFIG_KVM_BOOK3S_64_HV) += kvm-hv.o
1332ba9f0d8SAneesh Kumar K.V
134a8606e20SPaul Mackerrasobj-y += $(kvm-book3s_64-builtin-objs-y)
13541b7a347SDaniel Axtens
13641b7a347SDaniel Axtens# KVM does a lot in real-mode, and 64-bit Book3S KASAN doesn't support that
13741b7a347SDaniel Axtensifdef CONFIG_PPC_BOOK3S_64
13841b7a347SDaniel AxtensKASAN_SANITIZE := n
13941b7a347SDaniel Axtensendif
140