docs/platform: Update QEMU platforms documentation

Mostly reformating. Some minor edits.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
This commit is contained in:
Damien Le Moal
2019-01-24 00:56:44 +09:00
committed by Anup Patel
parent ecfd63025d
commit 84cd4b7cd0
2 changed files with 93 additions and 59 deletions

View File

@@ -1,42 +1,52 @@
QEMU SiFive Unleashed Machine QEMU SiFive Unleashed Machine Platform
============================= ======================================
The **QEMU SiFive Unleashed Machine** is an emulation of The **QEMU SiFive Unleashed Machine** is an emulation of the SiFive Unleashed
SiFive Unleashed platform. platform.
To build platform specific library and firmwares, provide To build this platform specific library and firmwares, provide the
`PLATFORM=qemu/sifive_u` parameter to top-level make. *PLATFORM=qemu/sifive_u* parameter to the top level `make` command line.
Platform Options Platform Options
---------------- ----------------
We don't have any platform specific options for this platform. The *QEMU SiFive Unleashed Machine* platform does not have any platform specific
options.
Try on QEMU RISC-V 64bit Executing on QEMU RISC-V 64bit
------------------------ ------------------------------
**No Payload** **No Payload Case**
*Build*: Build:
``` ```
make PLATFORM=qemu/virt make PLATFORM=qemu/virt
```
*Run*:
```
qemu-system-riscv64 -M sifive_u -m 256M -display none -serial stdio -kernel build/platform/qemu/sifive_u/firmware/fw_payload.elf
``` ```
**U-Boot Payload** Run:
```
qemu-system-riscv64 -M sifive_u -m 256M -display none -serial stdio \
-kernel build/platform/qemu/sifive_u/firmware/fw_payload.elf
```
*Note*: We assume that U-Boot is compiled using `qemu-riscv64_smode_defconfig`. **U-Boot as a Payload**
*Build*: Note: the command line examples here assume that U-Boot was compiled using
the `qemu-riscv64_smode_defconfig` configuration.
Build:
``` ```
make PLATFORM=qemu/virt FW_PAYLOAD_PATH=<uboot_build_directory>/u-boot.bin make PLATFORM=qemu/virt FW_PAYLOAD_PATH=<uboot_build_directory>/u-boot.bin
``` ```
*Run*:
Run:
```
qemu-system-riscv64 -M sifive_u -m 256M -display none -serial stdio \
-kernel build/platform/qemu/sifive_u/firmware/fw_payload.elf
```
or
```
qemu-system-riscv64 -M sifive_u -m 256M -display none -serial stdio \
-kernel build/platform/qemu/sifive_u/firmware/fw_jump.elf \
-device loader,file=<uboot_build_directory>/u-boot.bin,addr=0x80200000
``` ```
qemu-system-riscv64 -M sifive_u -m 256M -display none -serial stdio -kernel build/platform/qemu/sifive_u/firmware/fw_payload.elf
or
qemu-system-riscv64 -M sifive_u -m 256M -display none -serial stdio -kernel build/platform/qemu/sifive_u/firmware/fw_jump.elf -device loader,file=<uboot_build_directory>/u-boot.bin,addr=0x80200000
```

View File

@@ -1,59 +1,83 @@
QEMU RISC-V Virt Machine QEMU RISC-V Virt Machine Platform
======================== =================================
The **QEMU RISC-V Virt Machine** is virtual platform created The **QEMU RISC-V Virt Machine** is virtual platform created for RISC-V
for RISC-V software development. It is also referred to as software development and test. It is also referred to as
QEMU RISC-V VirtIO machine because it uses VirtIO devices *QEMU RISC-V VirtIO machine* because it uses VirtIO devices for network,
for network, storage, and other types of IO. storage, and other types of IO.
To build platform specific library and firmwares, provide To build platform specific library and firmwares, provide the
`PLATFORM=qemu/virt` parameter to top-level make. *PLATFORM=qemu/virt* parameter to the top level `make` command.
Platform Options Platform Options
---------------- ----------------
We don't have any platform specific options for this platform. The *QEMU RISC-V Virt Machine* platform does not have any platform specific
options.
Try on QEMU RISC-V 64bit Execution on QEMU RISC-V 64bit
------------------------ ------------------------------
**No Payload** **No Payload Case**
*Build*: Build:
``` ```
make PLATFORM=qemu/virt make PLATFORM=qemu/virt
``` ```
*Run*:
Run:
``` ```
qemu-system-riscv64 -M virt -m 256M -display none -serial stdio -kernel build/platform/qemu/virt/firmware/fw_payload.elf qemu-system-riscv64 -M virt -m 256M -display none -serial stdio \
-kernel build/platform/qemu/virt/firmware/fw_payload.elf
``` ```
**U-Boot Payload** **U-Boot Payload**
*Note*: We assume that U-Boot is compiled using `qemu-riscv64_smode_defconfig`. Note: the command line examples here assume that U-Boot was compiled using
the `qemu-riscv64_smode_defconfig` configuration.
*Build*: Build:
``` ```
make PLATFORM=qemu/virt FW_PAYLOAD_PATH=<uboot_build_directory>/u-boot.bin make PLATFORM=qemu/virt FW_PAYLOAD_PATH=<uboot_build_directory>/u-boot.bin
```
*Run*:
```
qemu-system-riscv64 -M virt -m 256M -display none -serial stdio -kernel build/platform/qemu/virt/firmware/fw_payload.elf
or
qemu-system-riscv64 -M virt -m 256M -display none -serial stdio -kernel build/platform/qemu/virt/firmware/fw_jump.elf -device loader,file=<uboot_build_directory>/u-boot.bin,addr=0x80200000
``` ```
**Linux Payload** Run:
```
qemu-system-riscv64 -M virt -m 256M -display none -serial stdio \
-kernel build/platform/qemu/virt/firmware/fw_payload.elf
```
or
```
qemu-system-riscv64 -M virt -m 256M -display none -serial stdio \
-kernel build/platform/qemu/virt/firmware/fw_jump.elf \
-device loader,file=<uboot_build_directory>/u-boot.bin,addr=0x80200000
```
*Note*: We assume that Linux is compiled using `defconfig`. **Linux Kernel Payload**
*Build*: Note: We assume that Linux kernel is compiled using
*arch/riscv/configs/defconfig*.
Build:
``` ```
make PLATFORM=qemu/virt FW_PAYLOAD_PATH=<linux_build_directory>/arch/riscv/boot/Image make PLATFORM=qemu/virt FW_PAYLOAD_PATH=<linux_build_directory>/arch/riscv/boot/Image
``` ```
*Run*:
Run:
``` ```
qemu-system-riscv64 -M virt -m 256M -display none -serial stdio -kernel build/platform/qemu/virt/firmware/fw_payload.elf -drive file=<path_to_linux_rootfs>,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -append "root=/dev/vda rw console=ttyS0" qemu-system-riscv64 -M virt -m 256M -display none -serial stdio \
or -kernel build/platform/qemu/virt/firmware/fw_payload.elf \
qemu-system-riscv64 -M virt -m 256M -display none -serial stdio -kernel build/platform/qemu/virt/firmware/fw_jump.elf -device loader,file=<linux_build_directory>/arch/riscv/boot/Image,addr=0x80200000 -drive file=<path_to_linux_rootfs>,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -append "root=/dev/vda rw console=ttyS0" -drive file=<path_to_linux_rootfs>,format=raw,id=hd0 \
``` -device virtio-blk-device,drive=hd0 \
-append "root=/dev/vda rw console=ttyS0"
```
or
```
qemu-system-riscv64 -M virt -m 256M -display none -serial stdio \
-kernel build/platform/qemu/virt/firmware/fw_jump.elf \
-device loader,file=<linux_build_directory>/arch/riscv/boot/Image,addr=0x80200000 \
-drive file=<path_to_linux_rootfs>,format=raw,id=hd0 \
-device virtio-blk-device,drive=hd0 \
-append "root=/dev/vda rw console=ttyS0"
```