target/loongarch: Add system emulation introduction
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn> Signed-off-by: Song Gao <gaosong@loongson.cn> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220606124333.2060567-19-yangxiaojuan@loongson.cn> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
14f2b0b741
commit
d88b51dc26
@ -1122,6 +1122,14 @@ F: include/hw/net/lasi_82596.h
|
||||
F: include/hw/pci-host/dino.h
|
||||
F: pc-bios/hppa-firmware.img
|
||||
|
||||
LoongArch Machines
|
||||
------------------
|
||||
Virt
|
||||
M: Xiaojuan Yang <yangxiaojuan@loongson.cn>
|
||||
M: Song Gao <gaosong@loongson.cn>
|
||||
S: Maintained
|
||||
F: docs/system/loongarch/loongson3.rst
|
||||
|
||||
M68K Machines
|
||||
-------------
|
||||
an5206
|
||||
|
41
docs/system/loongarch/loongson3.rst
Normal file
41
docs/system/loongarch/loongson3.rst
Normal file
@ -0,0 +1,41 @@
|
||||
:orphan:
|
||||
|
||||
==========================================
|
||||
loongson3 virt generic platform (``virt``)
|
||||
==========================================
|
||||
|
||||
The ``virt`` machine use gpex host bridge, and there are some
|
||||
emulated devices on virt board, such as loongson7a RTC device,
|
||||
IOAPIC device, ACPI device and so on.
|
||||
|
||||
Supported devices
|
||||
-----------------
|
||||
|
||||
The ``virt`` machine supports:
|
||||
- Gpex host bridge
|
||||
- Ls7a RTC device
|
||||
- Ls7a IOAPIC device
|
||||
- Ls7a ACPI device
|
||||
- Fw_cfg device
|
||||
- PCI/PCIe devices
|
||||
- Memory device
|
||||
- CPU device. Type: Loongson-3A5000.
|
||||
|
||||
CPU and machine Type
|
||||
--------------------
|
||||
|
||||
The ``qemu-system-loongarch64`` provides emulation for virt
|
||||
machine. You can specify the machine type ``virt`` and
|
||||
cpu type ``Loongson-3A5000``.
|
||||
|
||||
Boot options
|
||||
------------
|
||||
|
||||
Now the ``virt`` machine can run test program in ELF format and the
|
||||
method of compiling is in target/loongarch/README.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ qemu-system-loongarch64 -machine virt -m 4G -cpu Loongson-3A5000 \
|
||||
-smp 1 -kernel hello -monitor none -display none \
|
||||
-chardev file,path=hello.out,id=output -serial chardev:output
|
@ -8,3 +8,57 @@
|
||||
|
||||
We can get the latest loongarch documents at https://github.com/loongson/LoongArch-Documentation/tags.
|
||||
|
||||
|
||||
- System emulation
|
||||
|
||||
Mainly emulate a virt 3A5000 board and ls7a bridge that is not exactly the same as the host.
|
||||
3A5000 support multiple interrupt cascading while here we just emulate the extioi interrupt
|
||||
cascading. LS7A1000 host bridge support multiple devices, such as sata, gmac, uart, rtc
|
||||
and so on. But we just realize the rtc. Others use the qemu common devices. It does not affect
|
||||
the general use. We also introduced the emulation of devices at docs/system/loongarch/loongson3.rst.
|
||||
|
||||
This version only supports running binary files in ELF format, and does not depend on BIOS and kernel file.
|
||||
You can compile the test program with 'make & make check-tcg' and run the test case with the following command:
|
||||
|
||||
1. Install LoongArch cross-tools on X86 machines.
|
||||
|
||||
Download cross-tools.
|
||||
|
||||
wget https://github.com/loongson/build-tools/releases/latest/download/loongarch64-clfs-20211202-cross-tools.tar.xz
|
||||
|
||||
tar -vxf loongarch64-clfs-20211202-cross-tools.tar.xz -C /opt
|
||||
|
||||
Config cross-tools env.
|
||||
|
||||
. setenv.sh
|
||||
|
||||
setenv.sh:
|
||||
|
||||
#!/bin/sh
|
||||
set -x
|
||||
CC_PREFIX=/opt/cross-tools
|
||||
|
||||
export PATH=$CC_PREFIX/bin:$PATH
|
||||
export LD_LIBRARY_PATH=$CC_PREFIX/lib:$LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH=$CC_PREFIX/loongarch64-unknown-linux-gnu/lib/:$LD_LIBRARY_PATH
|
||||
set +x
|
||||
|
||||
2. Test tests/tcg/multiarch.
|
||||
|
||||
./configure --disable-rdma --disable-pvrdma --prefix=/usr \
|
||||
--target-list="loongarch64-softmmu" \
|
||||
--disable-libiscsi --disable-libnfs --disable-libpmem \
|
||||
--disable-glusterfs --enable-libusb --enable-usb-redir \
|
||||
--disable-opengl --disable-xen --enable-spice --disable-werror \
|
||||
--enable-debug --disable-capstone --disable-kvm --enable-profiler
|
||||
|
||||
cd build/
|
||||
|
||||
make && make check-tcg
|
||||
|
||||
or
|
||||
|
||||
./build/qemu-system-loongarch64 -machine virt -m 4G -cpu Loongson-3A5000 -smp 1 -kernel build/tests/tcg/loongarch64-softmmu/hello -monitor none -display none -chardev file,path=hello.out,id=output -serial chardev:output
|
||||
|
||||
- Note.
|
||||
We can get the latest LoongArch documents or LoongArch tools at https://github.com/loongson/
|
||||
|
Loading…
Reference in New Issue
Block a user