qemu/target/loongarch
Bibo Mao f83434f3dc target/loongarch: Add loongarch vector property unconditionally
Currently LSX/LASX vector property is decided by the default value.
Instead vector property should be added unconditionally, and it is
irrelative with its default value. If vector is disabled by default,
vector also can be enabled from command line.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20240521080549.434197-2-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>
2024-05-23 09:30:41 +08:00
..
kvm target/loongarch/kvm: fpu save the vreg registers high 192bit 2024-05-23 09:30:41 +08:00
tcg accel/tcg: Provide default implementation of disas_log 2024-05-15 08:55:18 +02:00
Kconfig hw/loongarch: Add support loongson3 virt machine type. 2022-06-06 18:09:03 +00:00
README docs/system/loongarch: Update the LoongArch document 2022-08-13 04:45:03 -07:00
cpu-csr.h target/loongarch: Fix tlb huge page loading issue 2024-03-20 10:20:03 +08:00
cpu-param.h target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h' 2024-04-26 15:31:37 +02:00
cpu-qom.h target: Move ArchCPUClass definition to 'cpu.h' 2023-11-07 13:08:48 +01:00
cpu.c target/loongarch: Add loongarch vector property unconditionally 2024-05-23 09:30:41 +08:00
cpu.h target/loongarch: Add TCG macro in structure CPUArchState 2024-05-09 15:18:48 +08:00
cpu_helper.c target/loongarch: Add TCG macro in structure CPUArchState 2024-05-09 15:18:48 +08:00
disas.c target/loongarch: honour show_opcodes when disassembling 2024-03-06 12:35:51 +00:00
gdbstub.c target/loongarch: Prefer fast cpu_env() over slower CPU QOM cast macro 2024-03-12 12:04:24 +01:00
helper.h target/loongarch: Implement xvshuf xvperm{i} xvshuf4i 2023-09-20 14:33:42 +08:00
insns.decode target/loongarch: Add preldx instruction 2023-10-13 09:50:16 +08:00
internals.h target/loongarch: Fix tlb huge page loading issue 2024-03-20 10:20:03 +08:00
loongarch-qmp-cmds.c target/loongarch: Fix query-cpu-model-expansion to reject props 2024-03-12 14:03:37 +01:00
machine.c target/loongarch/kvm: Fix VM recovery from disk failures 2024-05-23 09:30:41 +08:00
meson.build target/loongarch: Fix qtest test-hmp error when KVM-only build 2024-02-01 15:29:40 +08:00
trace-events target/loongarch: Implement set vcpu intr for kvm 2024-01-11 19:22:32 +08:00
trace.h target/loongarch: Implement kvm get/set registers 2024-01-11 19:14:00 +08:00
translate.h target/loongarch: Add avail_LASX to check LASX instructions 2023-09-20 11:43:11 +08:00
vec.h target/loongarch: Move simply DO_XX marcos togther 2023-09-20 14:33:43 +08:00

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/