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