9c70db9a43
When we use qemu tcg simulation, the page size of bios is 4KB. When using the level 2 super huge page (page size is 1G) to create the page table, it is found that the content of the corresponding address space is abnormal, resulting in the bios can not start the operating system and graphical interface normally. The lddir and ldpte instruction emulation has a problem with the use of super huge page processing above level 2. The page size is not correctly calculated, resulting in the wrong page size of the table entry found by tlb. Signed-off-by: Xianglai Li <lixianglai@loongson.cn> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Song Gao <gaosong@loongson.cn> Message-Id: <20240318070332.1273939-1-lixianglai@loongson.cn> |
||
---|---|---|
.. | ||
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/