Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
bbf45ba5 HB |
2 | # |
3 | # Makefile for Kernel-based Virtual Machine module | |
4 | # | |
5 | ||
4108d9ba | 6 | ccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm |
535cf7b3 | 7 | KVM := ../../../virt/kvm |
bbf45ba5 | 8 | |
4b3d173d | 9 | common-objs-y = $(KVM)/kvm_main.o $(KVM)/eventfd.o |
0af574be | 10 | common-objs-$(CONFIG_KVM_VFIO) += $(KVM)/vfio.o |
4b3d173d | 11 | common-objs-$(CONFIG_KVM_MMIO) += $(KVM)/coalesced_mmio.o |
bbf45ba5 | 12 | |
4b3d173d | 13 | common-objs-y += powerpc.o emulate_loadstore.o |
73e75b41 | 14 | obj-$(CONFIG_KVM_EXIT_TIMING) += timing.o |
c14dea04 | 15 | obj-$(CONFIG_KVM_BOOK3S_HANDLER) += book3s_exports.o |
bbf45ba5 | 16 | |
58ab5e0c | 17 | AFLAGS_booke_interrupts.o := -I$(objtree)/$(obj) |
bbf45ba5 | 18 | |
bc8080cb | 19 | kvm-e500-objs := \ |
c4f9c779 | 20 | $(common-objs-y) \ |
4b3d173d | 21 | emulate.o \ |
bc8080cb HB |
22 | booke.o \ |
23 | booke_emulate.o \ | |
24 | booke_interrupts.o \ | |
25 | e500.o \ | |
b71c9e2f AG |
26 | e500_mmu.o \ |
27 | e500_mmu_host.o \ | |
bc8080cb | 28 | e500_emulate.o |
bf7ca4bd | 29 | kvm-objs-$(CONFIG_KVM_E500V2) := $(kvm-e500-objs) |
c4f9c779 | 30 | |
73196cd3 SW |
31 | kvm-e500mc-objs := \ |
32 | $(common-objs-y) \ | |
4b3d173d | 33 | emulate.o \ |
73196cd3 SW |
34 | booke.o \ |
35 | booke_emulate.o \ | |
36 | bookehv_interrupts.o \ | |
37 | e500mc.o \ | |
b71c9e2f AG |
38 | e500_mmu.o \ |
39 | e500_mmu_host.o \ | |
73196cd3 SW |
40 | e500_emulate.o |
41 | kvm-objs-$(CONFIG_KVM_E500MC) := $(kvm-e500mc-objs) | |
42 | ||
76d837a4 | 43 | kvm-book3s_64-builtin-objs-$(CONFIG_SPAPR_TCE_IOMMU) := \ |
066212e0 PM |
44 | book3s_64_vio_hv.o |
45 | ||
2ba9f0d8 | 46 | kvm-pr-y := \ |
963cf3dc | 47 | fpu.o \ |
29577fc0 | 48 | emulate.o \ |
831317b6 | 49 | book3s_paired_singles.o \ |
f05ed4d5 | 50 | book3s_pr.o \ |
0254f074 | 51 | book3s_pr_papr.o \ |
2191d657 AG |
52 | book3s_emulate.o \ |
53 | book3s_interrupts.o \ | |
fef093be | 54 | book3s_mmu_hpte.o \ |
c4f9c779 AG |
55 | book3s_64_mmu_host.o \ |
56 | book3s_64_mmu.o \ | |
57 | book3s_32_mmu.o | |
066212e0 | 58 | |
009c872a SG |
59 | kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \ |
60 | tm.o | |
61 | ||
9975f5e3 | 62 | ifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE |
9975f5e3 | 63 | kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \ |
177339d7 | 64 | book3s_rmhandlers.o |
9975f5e3 | 65 | endif |
de56a948 | 66 | |
2ba9f0d8 | 67 | kvm-hv-y += \ |
de56a948 PM |
68 | book3s_hv.o \ |
69 | book3s_hv_interrupts.o \ | |
9e04ba69 | 70 | book3s_64_mmu_hv.o \ |
8e3f5fc1 PM |
71 | book3s_64_mmu_radix.o \ |
72 | book3s_hv_nested.o | |
066212e0 | 73 | |
4bb3c7a0 PM |
74 | kvm-hv-$(CONFIG_PPC_TRANSACTIONAL_MEM) += \ |
75 | book3s_hv_tm.o | |
76 | ||
e7d26f28 | 77 | kvm-book3s_64-builtin-xics-objs-$(CONFIG_KVM_XICS) := \ |
5af50993 | 78 | book3s_hv_rm_xics.o book3s_hv_rm_xive.o |
066212e0 | 79 | |
4bb3c7a0 PM |
80 | kvm-book3s_64-builtin-tm-objs-$(CONFIG_PPC_TRANSACTIONAL_MEM) += \ |
81 | book3s_hv_tm_builtin.o | |
82 | ||
2ba9f0d8 AK |
83 | ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE |
84 | kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HANDLER) += \ | |
3f257774 | 85 | book3s_hv_hmi.o \ |
177339d7 | 86 | book3s_hv_rmhandlers.o \ |
54738c09 | 87 | book3s_hv_rm_mmu.o \ |
b4072df4 | 88 | book3s_hv_ras.o \ |
e7d26f28 | 89 | book3s_hv_builtin.o \ |
4bb3c7a0 | 90 | $(kvm-book3s_64-builtin-tm-objs-y) \ |
e7d26f28 | 91 | $(kvm-book3s_64-builtin-xics-objs-y) |
2ba9f0d8 | 92 | endif |
de56a948 | 93 | |
bc5ad3f3 BH |
94 | kvm-book3s_64-objs-$(CONFIG_KVM_XICS) += \ |
95 | book3s_xics.o | |
96 | ||
90c73795 | 97 | kvm-book3s_64-objs-$(CONFIG_KVM_XIVE) += book3s_xive.o book3s_xive_native.o |
76d837a4 | 98 | kvm-book3s_64-objs-$(CONFIG_SPAPR_TCE_IOMMU) += book3s_64_vio.o |
5af50993 | 99 | |
4b3d173d PM |
100 | kvm-book3s_64-module-objs := \ |
101 | $(common-objs-y) \ | |
de56a948 | 102 | book3s.o \ |
8e591cb7 | 103 | book3s_rtas.o \ |
de56a948 | 104 | $(kvm-book3s_64-objs-y) |
a8606e20 PM |
105 | |
106 | kvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-module-objs) | |
c4f9c779 | 107 | |
4f841390 AG |
108 | kvm-book3s_32-objs := \ |
109 | $(common-objs-y) \ | |
4b3d173d | 110 | emulate.o \ |
4f841390 AG |
111 | fpu.o \ |
112 | book3s_paired_singles.o \ | |
113 | book3s.o \ | |
f05ed4d5 | 114 | book3s_pr.o \ |
4f841390 AG |
115 | book3s_emulate.o \ |
116 | book3s_interrupts.o \ | |
fef093be | 117 | book3s_mmu_hpte.o \ |
4f841390 AG |
118 | book3s_32_mmu_host.o \ |
119 | book3s_32_mmu.o | |
120 | kvm-objs-$(CONFIG_KVM_BOOK3S_32) := $(kvm-book3s_32-objs) | |
121 | ||
5df554ad | 122 | kvm-objs-$(CONFIG_KVM_MPIC) += mpic.o |
535cf7b3 | 123 | kvm-objs-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o |
5df554ad | 124 | |
c4f9c779 AG |
125 | kvm-objs := $(kvm-objs-m) $(kvm-objs-y) |
126 | ||
bf7ca4bd | 127 | obj-$(CONFIG_KVM_E500V2) += kvm.o |
73196cd3 | 128 | obj-$(CONFIG_KVM_E500MC) += kvm.o |
c4f9c779 | 129 | obj-$(CONFIG_KVM_BOOK3S_64) += kvm.o |
4f841390 | 130 | obj-$(CONFIG_KVM_BOOK3S_32) += kvm.o |
c4f9c779 | 131 | |
2ba9f0d8 AK |
132 | obj-$(CONFIG_KVM_BOOK3S_64_PR) += kvm-pr.o |
133 | obj-$(CONFIG_KVM_BOOK3S_64_HV) += kvm-hv.o | |
134 | ||
a8606e20 | 135 | obj-y += $(kvm-book3s_64-builtin-objs-y) |