riscv_install_prog_srcs = \
riscv_hdrs = \
- htif.h \
common.h \
decode.h \
+ devices.h \
disasm.h \
mmu.h \
processor.h \
encoding.h \
cachesim.h \
memtracer.h \
+ tracer.h \
extension.h \
rocc.h \
insn_template.h \
mulhi.h \
+ debug_module.h \
+ remote_bitbang.h \
+ jtag_dtm.h \
riscv_precompiled_hdrs = \
insn_template.h \
riscv_srcs = \
- htif.cc \
processor.cc \
execute.cc \
sim.cc \
extensions.cc \
rocc.cc \
regnames.cc \
+ devices.cc \
+ rom.cc \
+ clint.cc \
+ debug_module.cc \
+ remote_bitbang.cc \
+ jtag_dtm.cc \
$(riscv_gen_srcs) \
riscv_test_srcs =
bltu \
bne \
c_add \
- c_addi16sp \
c_addi4spn \
c_addi \
- c_addiw \
c_addw \
+ c_and \
+ c_andi \
c_beqz \
c_bnez \
c_ebreak \
c_lw \
c_lwsp \
c_mv \
+ c_or \
c_slli \
+ c_srai \
+ c_srli \
+ c_sub \
+ c_subw \
+ c_xor \
csrrc \
csrrci \
csrrs \
divu \
divuw \
divw \
+ dret \
+ ebreak \
+ ecall \
fadd_d \
fadd_s \
fclass_d \
fmul_d \
fmul_s \
fmv_d_x \
- fmv_s_x \
+ fmv_w_x \
fmv_x_d \
- fmv_x_s \
+ fmv_x_w \
fnmadd_d \
fnmadd_s \
fnmsub_d \
fsub_d \
fsub_s \
fsw \
- hrts \
jal \
jalr \
lb \
lui \
lw \
lwu \
- mrth \
- mrts \
+ mret \
mul \
mulh \
mulhsu \
remuw \
remw \
sb \
- sbreak \
- scall \
sc_d \
sc_w \
sd \
- sfence_vm \
+ sfence_vma \
sh \
sll \
slli \
mv $@.tmp $@
insn_list.h: $(src_dir)/riscv/riscv.mk.in
- echo $(riscv_insn_list) | sed 's/\s\+\|$$/\n/g' | sed '/^$$/d' | sed 's/\./_/g' | sed 's/\(.*\)/DEFINE_INSN(\1)/' > $@.tmp
+ for insn in $(foreach insn,$(riscv_insn_list),$(subst .,_,$(insn))) ; do \
+ printf 'DEFINE_INSN(%s)\n' "$${insn}" ; \
+ done > $@.tmp
mv $@.tmp $@
$(riscv_gen_srcs): %.cc: insns/%.h insn_template.cc