forked from Mirrors/opensbi
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:

committed by
Anup Patel

parent
ecfd63025d
commit
84cd4b7cd0
@@ -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*:
|
|
||||||
|
Run:
|
||||||
```
|
```
|
||||||
qemu-system-riscv64 -M sifive_u -m 256M -display none -serial stdio -kernel build/platform/qemu/sifive_u/firmware/fw_payload.elf
|
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**
|
**U-Boot as a 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*:
|
|
||||||
|
Run:
|
||||||
|
```
|
||||||
|
qemu-system-riscv64 -M sifive_u -m 256M -display none -serial stdio \
|
||||||
|
-kernel build/platform/qemu/sifive_u/firmware/fw_payload.elf
|
||||||
```
|
```
|
||||||
qemu-system-riscv64 -M sifive_u -m 256M -display none -serial stdio -kernel build/platform/qemu/sifive_u/firmware/fw_payload.elf
|
|
||||||
or
|
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_jump.elf \
|
||||||
|
-device loader,file=<uboot_build_directory>/u-boot.bin,addr=0x80200000
|
||||||
```
|
```
|
@@ -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*:
|
|
||||||
|
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
|
|
||||||
or
|
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
|
```
|
||||||
|
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**
|
**Linux Kernel Payload**
|
||||||
|
|
||||||
*Note*: We assume that Linux is compiled using `defconfig`.
|
Note: We assume that Linux kernel is compiled using
|
||||||
|
*arch/riscv/configs/defconfig*.
|
||||||
|
|
||||||
*Build*:
|
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 -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"
|
|
||||||
or
|
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"
|
|
||||||
```
|
```
|
||||||
|
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"
|
||||||
|
```
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user