qemu/docs/system
Bin Meng 143897b501 hw/riscv: microchip_pfsoc: Support direct kernel boot
At present the Microchip Icicle Kit machine only supports using
'-bios' to load the HSS, and does not support '-kernel' for direct
kernel booting just like other RISC-V machines do. One has to use
U-Boot which is chain-loaded by HSS, to load a kernel for testing.
This is not so convenient.

Adding '-kernel' support together with the existing '-bios', we
follow the following table to select which payload we execute:

  -bios |    -kernel | payload
  ------+------------+--------
      N |          N | HSS
      Y | don't care | HSS
      N |          Y | kernel

This ensures backwards compatibility with how we used to expose
'-bios' to users. When '-kernel' is used for direct boot, '-dtb'
must be present to provide a valid device tree for the board,
as we don't generate device tree.

When direct kernel boot is used, the OpenSBI fw_dynamic BIOS image
is used to boot a payload like U-Boot or OS kernel directly.

Documentation is updated to describe the direct kernel boot. Note
as of today there is still no PolarFire SoC support in the upstream
Linux kernel hence the document does not include instructions for
that. It will be updated in the future.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20210430071302.1489082-8-bmeng.cn@gmail.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2021-06-08 09:59:42 +10:00
..
arm arm: Consistently use "Cortex-Axx", not "Cortex Axx" 2021-06-03 16:43:25 +01:00
i386 docs: Move microvm.rst into the system manual 2020-11-23 11:10:04 +00:00
ppc docs/system: ppc: Add documentation for ppce500 machine 2021-05-04 11:41:25 +10:00
riscv hw/riscv: microchip_pfsoc: Support direct kernel boot 2021-06-08 09:59:42 +10:00
s390x docs: update to show preferred boolean syntax for -chardev 2021-02-25 14:14:33 +01:00
build-platforms.rst docs: simplify and clarify the platform support rules 2021-01-29 17:07:53 +00:00
cpu-hotplug.rst docs: update to show preferred boolean syntax for -chardev 2021-02-25 14:14:33 +01:00
cpu-models-mips.rst.inc docs/system: Update MIPS CPU documentation 2020-10-17 13:59:40 +02:00
cpu-models-x86.rst.inc docs: update to show preferred boolean syntax for -cpu 2021-02-25 14:14:33 +01:00
deprecated.rst Drop the deprecated unicore32 target 2021-05-12 18:20:52 +02:00
device-url-syntax.rst.inc block: Drop the sheepdog block driver 2021-05-12 17:42:23 +02:00
gdb.rst docs/system/gdb.rst: Document how to debug multicore machines 2021-04-06 15:04:49 +01:00
generic-loader.rst docs/system/generic-loader.rst: Fix style 2021-05-11 20:01:10 +10:00
guest-loader.rst docs: add some documentation for the guest-loader 2021-03-10 15:34:11 +00:00
images.rst docs: Get rid of the weird _005f links in the man page 2020-11-20 13:19:08 +01:00
index.rst docs: add nvme emulation documentation 2021-04-12 07:05:31 +02:00
invocation.rst docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
ivshmem.rst docs/system: convert Texinfo documentation to rST 2020-03-06 10:05:12 +00:00
keys.rst docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
keys.rst.inc docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
license.rst docs/system: convert Texinfo documentation to rST 2020-03-06 10:05:12 +00:00
linuxboot.rst docs/system: convert Texinfo documentation to rST 2020-03-06 10:05:12 +00:00
managed-startup.rst docs/system: convert managed startup to rST. 2020-03-06 10:05:12 +00:00
monitor.rst docs: Get rid of the weird _005f links in the man page 2020-11-20 13:19:08 +01:00
multi-process.rst multi-process: add configure and usage information 2021-02-09 20:53:56 +00:00
mux-chardev.rst docs: Get rid of the weird _005f links in the man page 2020-11-20 13:19:08 +01:00
mux-chardev.rst.inc docs: Split out sections for the manpage into .rst.inc files 2020-03-06 11:06:55 +00:00
net.rst docs/system: convert Texinfo documentation to rST 2020-03-06 10:05:12 +00:00
nvme.rst docs: add nvme emulation documentation 2021-04-12 07:05:31 +02:00
pr-manager.rst docs/system/pr-manager.rst: Fix minor docs nits 2020-11-23 11:10:04 +00:00
qemu-block-drivers.rst docs: Create defs.rst.inc as a place to define substitutions 2020-03-06 10:04:58 +00:00
qemu-block-drivers.rst.inc block: Drop the sheepdog block driver 2021-05-12 17:42:23 +02:00
qemu-cpu-models.rst docs/system: Convert qemu-cpu-models.texi to rST 2020-03-06 10:05:12 +00:00
qemu-manpage.rst docs: Generate qemu.1 manpage with Sphinx 2020-03-06 11:06:55 +00:00
quickstart.rst docs/system: add a gentle prompt for the complexity to come 2021-03-10 12:13:59 +00:00
removed-features.rst HMP: added info cpustats to removed_features.rst 2021-06-03 18:10:31 +10:00
security.rst docs/system: Convert security.texi to rST format 2020-03-06 10:05:12 +00:00
target-arm.rst docs/system: arm: Add sabrelite board description 2021-01-08 15:13:39 +00:00
target-avr.rst docs: update to show preferred boolean syntax for -chardev 2021-02-25 14:14:33 +01:00
target-i386-desc.rst.inc pcspk: update docs/system/target-i386-desc.rst.inc 2020-07-06 17:01:11 +02:00
target-i386.rst docs: Move microvm.rst into the system manual 2020-11-23 11:10:04 +00:00
target-m68k.rst docs: Roll semihosting option information into qemu-options.hx 2020-03-06 10:05:12 +00:00
target-mips.rst docs/system: Update MIPS machine documentation 2021-01-04 23:36:03 +01:00
target-ppc.rst docs/system: ppc: Add documentation for ppce500 machine 2021-05-04 11:41:25 +10:00
target-riscv.rst docs: Add documentation for shakti_c machine 2021-05-11 20:02:06 +10:00
target-rx.rst docs: Document the RX target 2020-06-22 18:37:12 +02:00
target-s390x.rst docs/system/s390x: Add a chapter about s390x boot devices 2020-08-27 12:37:03 +02:00
target-sparc.rst docs: Roll -prom-env and -g target-specific info into qemu-options.hx 2020-03-06 10:05:18 +00:00
target-sparc64.rst docs: Roll -prom-env and -g target-specific info into qemu-options.hx 2020-03-06 10:05:18 +00:00
target-xtensa.rst docs: Roll semihosting option information into qemu-options.hx 2020-03-06 10:05:12 +00:00
targets.rst docs/system: add a gentle prompt for the complexity to come 2021-03-10 12:13:59 +00:00
tls.rst docs: fix missing backslash in certtool shell example 2021-01-29 17:07:53 +00:00
usb.rst docs: Get rid of the weird _005f links in the man page 2020-11-20 13:19:08 +01:00
virtio-net-failover.rst docs: Move virtio-net-failover.rst into the system manual 2020-11-23 11:07:41 +00:00
virtio-pmem.rst docs/system/virtio-pmem.rst: Fix minor style issues 2020-11-23 11:07:41 +00:00
vnc-security.rst docs: update to show preferred boolean syntax for -vnc 2021-02-25 14:14:33 +01:00