4f7b1ecba8
Currently the TCGCPUOps::cpu_exec_halt method is optional, and if it is not set then the default is to call the CPUClass::has_work method (which has an identical function signature). We would like to make the cpu_exec_halt method mandatory so we can remove the runtime check and fallback handling. In preparation for that, make all the targets which don't need special handling in their cpu_exec_halt set it to their cpu_has_work implementation instead of leaving it unset. (This is every target except for arm and i386.) In the riscv case this requires us to make the function not be local to the source file it's defined in. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> |
||
---|---|---|
.. | ||
kvm | ||
tcg | ||
cpu_helper.c | ||
cpu-csr.h | ||
cpu-param.h | ||
cpu-qom.h | ||
cpu.c | ||
cpu.h | ||
disas.c | ||
gdbstub.c | ||
helper.h | ||
insns.decode | ||
internals.h | ||
Kconfig | ||
loongarch-qmp-cmds.c | ||
machine.c | ||
meson.build | ||
README | ||
trace-events | ||
trace.h | ||
translate.h | ||
vec.h |
- Introduction LoongArch is the general processor architecture of Loongson. The following versions of the LoongArch core are supported core: 3A5000 https://github.com/loongson/LoongArch-Documentation/releases/download/2021.08.17/LoongArch-Vol1-v1.00-EN.pdf We can get the latest loongarch documents at https://github.com/loongson/LoongArch-Documentation/tags. - System emulation You can reference docs/system/loongarch/loongson3.rst to get the information about system emulation of LoongArch. - Linux-user emulation We already support Linux user emulation. We can use LoongArch cross-tools to build LoongArch executables on X86 machines, and We can also use qemu-loongarch64 to run LoongArch executables. 1. Config cross-tools env. see System emulation. 2. Test tests/tcg/multiarch. ./configure --static --prefix=/usr --disable-werror --target-list="loongarch64-linux-user" --enable-debug cd build make && make check-tcg 3. Run LoongArch system basic command with loongarch-clfs-system. - Config clfs env. wget https://github.com/loongson/build-tools/releases/download/2022.05.29/loongarch64-clfs-system-5.0.tar.bz2 tar -vxf loongarch64-clfs-system-5.0.tar.bz2 -C /opt/clfs cp /opt/clfs/lib64/ld-linux-loongarch-lp64d.so.1 /lib64 export LD_LIBRARY_PATH="/opt/clfs/lib64" - Run LoongArch system basic command. ./qemu-loongarch64 /opt/clfs/usr/bin/bash ./qemu-loongarch64 /opt/clfs/usr/bin/ls ./qemu-loongarch64 /opt/clfs/usr/bin/pwd - Note. We can get the latest LoongArch documents or LoongArch tools at https://github.com/loongson/