You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/target/loongarch
Miao Hao dd29117174 target/loongarch: Add page table walker support for debugger usage
When dump memory content with gva address, software page table walker is
necessary to get responding gpa address.

Here page table walker is added for debugger usage.

Signed-off-by: Miao Hao <haomiao23s@ict.ac.cn>
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
7 days ago
..
kvm target/loongarch: Use auto method with LASX feature 4 weeks ago
tcg target/loongarch: Add page table walker support for debugger usage 7 days ago
Kconfig hw/loongarch: Add support loongson3 virt machine type. 3 years ago
README docs/system/loongarch: Update the LoongArch document 2 years ago
arch_dump.c include: Rename sysemu/ -> system/ 1 month ago
cpu-csr.h target/loongarch: Fix tlb huge page loading issue 10 months ago
cpu-param.h target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h' 9 months ago
cpu-qom.h target: Move ArchCPUClass definition to 'cpu.h' 1 year ago
cpu.c target/loongarch: Use auto method with LASX feature 4 weeks ago
cpu.h target/loongarch: Use auto method with LASX feature 4 weeks ago
cpu_helper.c target/loongarch: Add page table walker support for debugger usage 7 days ago
disas.c target/loongarch: honour show_opcodes when disassembling 11 months ago
gdbstub.c target/loongarch: Use explicit little-endian LD/ST API 3 months ago
helper.h target/loongarch: Only support 64bit pte width 2 weeks ago
insns.decode target/loongarch: Add preldx instruction 1 year ago
internals.h target/loongarch: Add page table walker support for debugger usage 7 days ago
loongarch-qmp-cmds.c target/loongarch/kvm: Implement LoongArch PMU extension 3 months ago
machine.c include: Rename sysemu/ -> system/ 1 month ago
meson.build target/loongarch: Support QMP dump-guest-memory 4 months ago
trace-events target/loongarch: Implement set vcpu intr for kvm 1 year ago
trace.h target/loongarch: Implement kvm get/set registers 1 year ago
translate.h target/loongarch: Add avail_LASX to check LASX instructions 1 year ago
vec.h target/loongarch: Move simply DO_XX marcos togther 1 year ago

README

- 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/