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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Xiaojuan Yang
						Xiaojuan Yang