| 1 | ppc_ss = ss.source_set() |
| 2 | ppc_ss.add(files( |
| 3 | 'cpu-models.c', |
| 4 | 'cpu.c', |
| 5 | 'cpu_init.c', |
| 6 | 'excp_helper.c', |
| 7 | 'gdbstub.c', |
| 8 | 'helper_regs.c', |
| 9 | )) |
| 10 | |
| 11 | ppc_ss.add(when: 'CONFIG_TCG', if_true: files( |
| 12 | 'dfp_helper.c', |
| 13 | 'fpu_helper.c', |
| 14 | 'int_helper.c', |
| 15 | 'mem_helper.c', |
| 16 | 'misc_helper.c', |
| 17 | 'tcg-excp_helper.c', |
| 18 | 'timebase_helper.c', |
| 19 | 'translate.c', |
| 20 | 'power8-pmu.c', |
| 21 | )) |
| 22 | |
| 23 | ppc_ss.add(libdecnumber) |
| 24 | |
| 25 | gen = [ |
| 26 | decodetree.process('insn32.decode', |
| 27 | extra_args: '--static-decode=decode_insn32'), |
| 28 | decodetree.process('insn64.decode', |
| 29 | extra_args: ['--static-decode=decode_insn64', |
| 30 | '--insnwidth=64']), |
| 31 | ] |
| 32 | ppc_ss.add(when: 'CONFIG_TCG', if_true: gen) |
| 33 | |
| 34 | ppc_user_ss = ss.source_set() |
| 35 | ppc_user_ss.add(files( |
| 36 | 'user_only_helper.c', |
| 37 | )) |
| 38 | |
| 39 | ppc_system_ss = ss.source_set() |
| 40 | ppc_system_ss.add(files( |
| 41 | 'arch_dump.c', |
| 42 | 'machine.c', |
| 43 | 'mmu-hash32.c', |
| 44 | 'mmu-booke.c', |
| 45 | 'mmu_common.c', |
| 46 | 'monitor.c', |
| 47 | 'ppc-qmp-cmds.c', |
| 48 | )) |
| 49 | ppc_system_ss.add(when: 'CONFIG_TCG', if_true: files( |
| 50 | 'mmu_helper.c', |
| 51 | ), if_false: files( |
| 52 | 'tcg-stub.c', |
| 53 | )) |
| 54 | ppc_system_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c')) |
| 55 | |
| 56 | ppc_system_ss.add(when: 'TARGET_PPC64', if_true: files( |
| 57 | 'compat.c', |
| 58 | 'mmu-book3s-v3.c', |
| 59 | 'mmu-hash64.c', |
| 60 | 'mmu-radix64.c', |
| 61 | )) |
| 62 | |
| 63 | target_arch += {'ppc': ppc_ss} |
| 64 | target_user_arch += {'ppc': ppc_user_ss} |
| 65 | target_system_arch += {'ppc': ppc_system_ss} |