aboutsummaryrefslogtreecommitdiff
path: root/target/ppc/meson.build
blob: 4c2635039e3bb68e87ea9b65d26015cdf3e275e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
ppc_ss = ss.source_set()
ppc_ss.add(files(
  'cpu-models.c',
  'cpu.c',
  'cpu_init.c',
  'excp_helper.c',
  'gdbstub.c',
  'helper_regs.c',
))

ppc_ss.add(when: 'CONFIG_TCG', if_true: files(
  'dfp_helper.c',
  'fpu_helper.c',
  'int_helper.c',
  'mem_helper.c',
  'misc_helper.c',
  'timebase_helper.c',
  'translate.c',
  'power8-pmu.c',
))

ppc_ss.add(libdecnumber)

gen = [
  decodetree.process('insn32.decode',
                     extra_args: '--static-decode=decode_insn32'),
  decodetree.process('insn64.decode',
                     extra_args: ['--static-decode=decode_insn64',
                                  '--insnwidth=64']),
]
ppc_ss.add(when: 'CONFIG_TCG', if_true: gen)

ppc_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'), if_false: files('kvm-stub.c'))
ppc_ss.add(when: 'CONFIG_USER_ONLY', if_true: files('user_only_helper.c'))

ppc_system_ss = ss.source_set()
ppc_system_ss.add(files(
  'arch_dump.c',
  'machine.c',
  'mmu-hash32.c',
  'mmu_common.c',
  'ppc-qmp-cmds.c',
))
ppc_system_ss.add(when: 'CONFIG_TCG', if_true: files(
  'mmu_helper.c',
), if_false: files(
  'tcg-stub.c',
))

ppc_system_ss.add(when: 'TARGET_PPC64', if_true: files(
  'compat.c',
  'mmu-book3s-v3.c',
  'mmu-hash64.c',
  'mmu-radix64.c',
))

target_arch += {'ppc': ppc_ss}
target_softmmu_arch += {'ppc': ppc_system_ss}