95799e36c1
This adds initial support for the Sdtrig extension via the Trigger Module, as defined in the RISC-V Debug Specification [1]. Only "Address / Data Match" trigger (type 2) is implemented as of now, which is mainly used for hardware breakpoint and watchpoint. The number of type 2 triggers implemented is 2, which is the number that we can find in the SiFive U54/U74 cores. [1] https://github.com/riscv/riscv-debug-spec/raw/master/riscv-debug-stable.pdf Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-Id: <20220315065529.62198-2-bmeng.cn@gmail.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
37 lines
926 B
Meson
37 lines
926 B
Meson
# FIXME extra_args should accept files()
|
|
dir = meson.current_source_dir()
|
|
|
|
gen = [
|
|
decodetree.process('insn16.decode', extra_args: ['--static-decode=decode_insn16', '--insnwidth=16']),
|
|
decodetree.process('insn32.decode', extra_args: '--static-decode=decode_insn32'),
|
|
decodetree.process('XVentanaCondOps.decode', extra_args: '--static-decode=decode_XVentanaCodeOps'),
|
|
]
|
|
|
|
riscv_ss = ss.source_set()
|
|
riscv_ss.add(gen)
|
|
riscv_ss.add(files(
|
|
'cpu.c',
|
|
'cpu_helper.c',
|
|
'csr.c',
|
|
'fpu_helper.c',
|
|
'gdbstub.c',
|
|
'op_helper.c',
|
|
'vector_helper.c',
|
|
'bitmanip_helper.c',
|
|
'translate.c',
|
|
'm128_helper.c'
|
|
))
|
|
riscv_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'), if_false: files('kvm-stub.c'))
|
|
|
|
riscv_softmmu_ss = ss.source_set()
|
|
riscv_softmmu_ss.add(files(
|
|
'arch_dump.c',
|
|
'pmp.c',
|
|
'debug.c',
|
|
'monitor.c',
|
|
'machine.c'
|
|
))
|
|
|
|
target_arch += {'riscv': riscv_ss}
|
|
target_softmmu_arch += {'riscv': riscv_softmmu_ss}
|