18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Makefile for Kernel-based Virtual Machine module 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm 78c2ecf20Sopenharmony_ciKVM := ../../../virt/kvm 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cicommon-objs-y = $(KVM)/kvm_main.o $(KVM)/eventfd.o 108c2ecf20Sopenharmony_cicommon-objs-$(CONFIG_KVM_VFIO) += $(KVM)/vfio.o 118c2ecf20Sopenharmony_cicommon-objs-$(CONFIG_KVM_MMIO) += $(KVM)/coalesced_mmio.o 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cicommon-objs-y += powerpc.o emulate_loadstore.o 148c2ecf20Sopenharmony_ciobj-$(CONFIG_KVM_EXIT_TIMING) += timing.o 158c2ecf20Sopenharmony_ciobj-$(CONFIG_KVM_BOOK3S_HANDLER) += book3s_exports.o 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciAFLAGS_booke_interrupts.o := -I$(objtree)/$(obj) 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_cikvm-e500-objs := \ 208c2ecf20Sopenharmony_ci $(common-objs-y) \ 218c2ecf20Sopenharmony_ci emulate.o \ 228c2ecf20Sopenharmony_ci booke.o \ 238c2ecf20Sopenharmony_ci booke_emulate.o \ 248c2ecf20Sopenharmony_ci booke_interrupts.o \ 258c2ecf20Sopenharmony_ci e500.o \ 268c2ecf20Sopenharmony_ci e500_mmu.o \ 278c2ecf20Sopenharmony_ci e500_mmu_host.o \ 288c2ecf20Sopenharmony_ci e500_emulate.o 298c2ecf20Sopenharmony_cikvm-objs-$(CONFIG_KVM_E500V2) := $(kvm-e500-objs) 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_cikvm-e500mc-objs := \ 328c2ecf20Sopenharmony_ci $(common-objs-y) \ 338c2ecf20Sopenharmony_ci emulate.o \ 348c2ecf20Sopenharmony_ci booke.o \ 358c2ecf20Sopenharmony_ci booke_emulate.o \ 368c2ecf20Sopenharmony_ci bookehv_interrupts.o \ 378c2ecf20Sopenharmony_ci e500mc.o \ 388c2ecf20Sopenharmony_ci e500_mmu.o \ 398c2ecf20Sopenharmony_ci e500_mmu_host.o \ 408c2ecf20Sopenharmony_ci e500_emulate.o 418c2ecf20Sopenharmony_cikvm-objs-$(CONFIG_KVM_E500MC) := $(kvm-e500mc-objs) 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_cikvm-book3s_64-builtin-objs-$(CONFIG_SPAPR_TCE_IOMMU) := \ 448c2ecf20Sopenharmony_ci book3s_64_vio_hv.o 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_cikvm-pr-y := \ 478c2ecf20Sopenharmony_ci fpu.o \ 488c2ecf20Sopenharmony_ci emulate.o \ 498c2ecf20Sopenharmony_ci book3s_paired_singles.o \ 508c2ecf20Sopenharmony_ci book3s_pr.o \ 518c2ecf20Sopenharmony_ci book3s_pr_papr.o \ 528c2ecf20Sopenharmony_ci book3s_emulate.o \ 538c2ecf20Sopenharmony_ci book3s_interrupts.o \ 548c2ecf20Sopenharmony_ci book3s_mmu_hpte.o \ 558c2ecf20Sopenharmony_ci book3s_64_mmu_host.o \ 568c2ecf20Sopenharmony_ci book3s_64_mmu.o \ 578c2ecf20Sopenharmony_ci book3s_32_mmu.o 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_cikvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \ 608c2ecf20Sopenharmony_ci tm.o 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ciifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE 638c2ecf20Sopenharmony_cikvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \ 648c2ecf20Sopenharmony_ci book3s_rmhandlers.o 658c2ecf20Sopenharmony_ciendif 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_cikvm-hv-y += \ 688c2ecf20Sopenharmony_ci book3s_hv.o \ 698c2ecf20Sopenharmony_ci book3s_hv_interrupts.o \ 708c2ecf20Sopenharmony_ci book3s_64_mmu_hv.o \ 718c2ecf20Sopenharmony_ci book3s_64_mmu_radix.o \ 728c2ecf20Sopenharmony_ci book3s_hv_nested.o 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_cikvm-hv-$(CONFIG_PPC_UV) += \ 758c2ecf20Sopenharmony_ci book3s_hv_uvmem.o 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_cikvm-hv-$(CONFIG_PPC_TRANSACTIONAL_MEM) += \ 788c2ecf20Sopenharmony_ci book3s_hv_tm.o 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_cikvm-book3s_64-builtin-xics-objs-$(CONFIG_KVM_XICS) := \ 818c2ecf20Sopenharmony_ci book3s_hv_rm_xics.o book3s_hv_rm_xive.o 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_cikvm-book3s_64-builtin-tm-objs-$(CONFIG_PPC_TRANSACTIONAL_MEM) += \ 848c2ecf20Sopenharmony_ci book3s_hv_tm_builtin.o 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ciifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE 878c2ecf20Sopenharmony_cikvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \ 888c2ecf20Sopenharmony_ci book3s_hv_hmi.o \ 898c2ecf20Sopenharmony_ci book3s_hv_rmhandlers.o \ 908c2ecf20Sopenharmony_ci book3s_hv_rm_mmu.o \ 918c2ecf20Sopenharmony_ci book3s_hv_ras.o \ 928c2ecf20Sopenharmony_ci book3s_hv_builtin.o \ 938c2ecf20Sopenharmony_ci $(kvm-book3s_64-builtin-tm-objs-y) \ 948c2ecf20Sopenharmony_ci $(kvm-book3s_64-builtin-xics-objs-y) 958c2ecf20Sopenharmony_ciendif 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_cikvm-book3s_64-objs-$(CONFIG_KVM_XICS) += \ 988c2ecf20Sopenharmony_ci book3s_xics.o 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_cikvm-book3s_64-objs-$(CONFIG_KVM_XIVE) += book3s_xive.o book3s_xive_native.o 1018c2ecf20Sopenharmony_cikvm-book3s_64-objs-$(CONFIG_SPAPR_TCE_IOMMU) += book3s_64_vio.o 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_cikvm-book3s_64-module-objs := \ 1048c2ecf20Sopenharmony_ci $(common-objs-y) \ 1058c2ecf20Sopenharmony_ci book3s.o \ 1068c2ecf20Sopenharmony_ci book3s_rtas.o \ 1078c2ecf20Sopenharmony_ci $(kvm-book3s_64-objs-y) 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_cikvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-module-objs) 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_cikvm-book3s_32-objs := \ 1128c2ecf20Sopenharmony_ci $(common-objs-y) \ 1138c2ecf20Sopenharmony_ci emulate.o \ 1148c2ecf20Sopenharmony_ci fpu.o \ 1158c2ecf20Sopenharmony_ci book3s_paired_singles.o \ 1168c2ecf20Sopenharmony_ci book3s.o \ 1178c2ecf20Sopenharmony_ci book3s_pr.o \ 1188c2ecf20Sopenharmony_ci book3s_emulate.o \ 1198c2ecf20Sopenharmony_ci book3s_interrupts.o \ 1208c2ecf20Sopenharmony_ci book3s_mmu_hpte.o \ 1218c2ecf20Sopenharmony_ci book3s_32_mmu_host.o \ 1228c2ecf20Sopenharmony_ci book3s_32_mmu.o 1238c2ecf20Sopenharmony_cikvm-objs-$(CONFIG_KVM_BOOK3S_32) := $(kvm-book3s_32-objs) 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_cikvm-objs-$(CONFIG_KVM_MPIC) += mpic.o 1268c2ecf20Sopenharmony_cikvm-objs-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_cikvm-objs := $(kvm-objs-m) $(kvm-objs-y) 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ciobj-$(CONFIG_KVM_E500V2) += kvm.o 1318c2ecf20Sopenharmony_ciobj-$(CONFIG_KVM_E500MC) += kvm.o 1328c2ecf20Sopenharmony_ciobj-$(CONFIG_KVM_BOOK3S_64) += kvm.o 1338c2ecf20Sopenharmony_ciobj-$(CONFIG_KVM_BOOK3S_32) += kvm.o 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ciobj-$(CONFIG_KVM_BOOK3S_64_PR) += kvm-pr.o 1368c2ecf20Sopenharmony_ciobj-$(CONFIG_KVM_BOOK3S_64_HV) += kvm-hv.o 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ciobj-y += $(kvm-book3s_64-builtin-objs-y) 139