u-boot/doc/usage/cmd/qfw.rst
Simon Glass d2e7972d7b qfw: Show the file address if available
Some files have an associated address. Show this with the 'qfw list'
command so that it is possible to dump the data.

Note that the reference to 'md' is for the md.rst file, not a
markdown file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2023-07-17 17:12:07 +08:00

92 lines
2.4 KiB
ReStructuredText

.. SPDX-License-Identifier: GPL-2.0+
qfw command
===========
Synopsis
--------
::
qfw list
qfw cpus
qfw load [kernel_addr [initrd_addr]]
Description
-----------
The *qfw* command is used to retrieve information form the QEMU firmware.
The *qfw list* sub-command displays the QEMU firmware files.
The *qfw cpus* sub-command displays the available CPUs.
The *qfw load* command is used to load a kernel and an initial RAM disk.
kernel_addr
address to which the file specified by the -kernel parameter of QEMU shall
be loaded. Defaults to environment variable *loadaddr* and further to
the value of *CONFIG_SYS_LOAD_ADDR*.
initrd_addr
address to which the file specified by the -initrd parameter of QEMU shall
be loaded. Defaults to environment variable *ramdiskaddr* and further to
the value of *CFG_RAMDISK_ADDR*.
Examples
--------
QEMU firmware files are listed via the *qfw list* command:
::
=> qfw list
00000000 bios-geometry
00000000 bootorder
000f0060 etc/acpi/rsdp
bed14040 etc/acpi/tables
00000000 etc/boot-fail-wait
00000000 etc/e820
00000000 etc/smbios/smbios-anchor
00000000 etc/smbios/smbios-tables
00000000 etc/system-states
00000000 etc/table-loader
00000000 etc/tpm/log
00000000 genroms/kvmvapic.bin
Where an address is shown, it indicates where the data is available for
inspection, e.g. using the :doc:`md`.
The available CPUs can be shown via the *qfw cpus* command:
::
=> qfw cpu
2 cpu(s) online
The *-kernel* and *-initrd* parameters allow to specify a kernel and an
initial RAM disk for QEMU:
.. code-block:: bash
$ qemu-system-x86_64 -machine pc-i440fx-2.5 -bios u-boot.rom -m 1G \
-nographic -kernel vmlinuz -initrd initrd
Now the kernel and the initial RAM disk can be loaded to the U-Boot memory via
the *qfw load* command and booted thereafter.
::
=> qfw load ${kernel_addr_r} ${ramdisk_addr_r}
loading kernel to address 0000000001000000 size 5048f0 initrd 0000000004000000 size 3c94891
=> zboot 1000000 5048f0 4000000 3c94891
Valid Boot Flag
Magic signature found
Linux kernel version 4.19.0-14-amd64 (debian-kernel@lists.debian.org) #1 SMP Debian 4.19.171-2 (2021-01-30)
Building boot_params at 0x00090000
Loading bzImage at address 100000 (5260160 bytes)
Configuration
-------------
The qfw command is only available if CONFIG_CMD_QFW=y.