31f694b911
Add support for the query-cpu-model-expansion QMP command to LoongArch. We support query the cpu features. e.g la464 and max cpu support LSX/LASX, default enable, la132 not support LSX/LASX. 1. start with '-cpu max,lasx=off' (QEMU) query-cpu-model-expansion type=static model={"name":"max"} {"return": {"model": {"name": "max", "props": {"lasx": false, "lsx": true}}}} 2. start with '-cpu la464,lasx=off' (QEMU) query-cpu-model-expansion type=static model={"name":"la464"} {"return": {"model": {"name": "max", "props": {"lasx": false, "lsx": true}}} 3. start with '-cpu la132,lasx=off' qemu-system-loongarch64: can't apply global la132-loongarch-cpu.lasx=off: Property 'la132-loongarch-cpu.lasx' not found 4. start with '-cpu max,lasx=off' or start with '-cpu la464,lasx=off' query cpu model la132 (QEMU) query-cpu-model-expansion type=static model={"name":"la132"} {"return": {"model": {"name": "la132"}}} Acked-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Song Gao <gaosong@loongson.cn> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231020084925.3457084-4-gaosong@loongson.cn> |
||
---|---|---|
.. | ||
insn_trans | ||
constant_timer.c | ||
cpu-csr.h | ||
cpu-param.h | ||
cpu.c | ||
cpu.h | ||
csr_helper.c | ||
disas.c | ||
fpu_helper.c | ||
gdbstub.c | ||
helper.h | ||
insns.decode | ||
internals.h | ||
iocsr_helper.c | ||
Kconfig | ||
loongarch-qmp-cmds.c | ||
machine.c | ||
meson.build | ||
op_helper.c | ||
README | ||
tlb_helper.c | ||
translate.c | ||
translate.h | ||
vec_helper.c | ||
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/