[U-Boot] [PATCH v3 8/8] x86: qemu: add documentaion for the fw_cfg interface

Miao Yan yanmiaobest at gmail.com
Tue Dec 29 11:35:54 CET 2015


Document the usage of 'fw' command

Signed-off-by: Miao Yan <yanmiaobest at gmail.com>
---
Changes in v2:
  - various cleanup

 doc/README.x86 | 36 +++++++++++++++++++++++++++++++++---
 1 file changed, 33 insertions(+), 3 deletions(-)

diff --git a/doc/README.x86 b/doc/README.x86
index 1271e5e..0687dc1 100644
--- a/doc/README.x86
+++ b/doc/README.x86
@@ -295,9 +295,39 @@ 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. U-Boot uses fw_cfg interface provided by QEMU to detect certain
+system information, such as cpu number, so 'n' can be any number allowed by
+QEMU.
+
+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/sda1 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:
+
+ => fw
+fw - QEMU firmware interface
+
+Usage:
+fw <command>
+    - list        : print firmware(s) currently loaded
+    - cpus        : print online cpu number
+    - load <addr> : load kernel (if any) to address <addr>
+
+=> fw load
+loading kernel to address 01000000, initrd 015dd010
+
+Here the kernel (bzImage) is loaded to 01000000 and initrd is to 0x15dd010. Then, 'zboot'
+can be used to boot the kernel:
+
+=> zboot 01000000 - 015dd010
 
 CPU Microcode
 -------------
-- 
1.9.1



More information about the U-Boot mailing list