
Move the TCGCPUOps handlers to a new unit: tcg-excp_helper.c, only built when TCG is selected. See in target/ppc/cpu_init.c: #ifdef CONFIG_TCG static const TCGCPUOps ppc_tcg_ops = { ... .do_unaligned_access = ppc_cpu_do_unaligned_access, .do_transaction_failed = ppc_cpu_do_transaction_failed, .debug_excp_handler = ppc_cpu_debug_excp_handler, .debug_check_breakpoint = ppc_cpu_debug_check_breakpoint, .debug_check_watchpoint = ppc_cpu_debug_check_watchpoint, }; #endif /* CONFIG_TCG */ Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com> Message-ID: <20250127102620.39159-5-philmd@linaro.org> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
61 lines
1.3 KiB
Meson
61 lines
1.3 KiB
Meson
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',
|
|
'tcg-excp_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_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-booke.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: 'CONFIG_KVM', if_true: files('kvm.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_system_arch += {'ppc': ppc_system_ss}
|