x86: qemu: add documentaion for the fw_cfg interface

Document the usage of 'qfw' command

Signed-off-by: Miao Yan <yanmiaobest@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Miao Yan 2016-01-07 01:32:06 -08:00 committed by Bin Meng
parent 3c30fd6ae2
commit 5c2ed61ce2

View file

@ -295,9 +295,37 @@ show QEMU's VGA console window. Note this will disable QEMU's serial output.
If you want to check both consoles, use '-serial stdio'.
Multicore is also supported by QEMU via '-smp n' where n is the number of cores
to instantiate. Currently the default U-Boot built for QEMU supports 2 cores.
In order to support more cores, you need add additional cpu nodes in the device
tree and change CONFIG_MAX_CPUS accordingly.
to instantiate. Note, the maximum supported CPU number in QEMU is 255.
The fw_cfg interface in QEMU also provides information about kernel data, initrd,
command-line arguments and more. U-Boot supports directly accessing these informtion
from fw_cfg interface, this saves the time of loading them from hard disk or
network again, through emulated devices. To use it , simply providing them in
QEMU command line:
$ qemu-system-i386 -nographic -bios path/to/u-boot.rom -m 1024 -kernel /path/to/bzImage
-append 'root=/dev/ram console=ttyS0' -initrd /path/to/initrd -smp 8
Note: -initrd and -smp are both optional
Then start QEMU, in U-Boot command line use the following U-Boot command to setup kernel:
=> qfw
qfw - QEMU firmware interface
Usage:
qfw <command>
- list : print firmware(s) currently loaded
- cpus : print online cpu number
- load <kernel addr> <initrd addr> : load kernel and initrd (if any) and setup for zboot
=> qfw load
loading kernel to address 01000000 size 5d9d30 initrd 04000000 size 1b1ab50
Here the kernel (bzImage) is loaded to 01000000 and initrd is to 04000000. Then, 'zboot'
can be used to boot the kernel:
=> zboot 02000000 - 04000000 1b1ab50
CPU Microcode
-------------