From: Bin Meng <bmeng.cn@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 29/50] doc: board: Add QEMU x86 board doc
Date: Thu, 18 Jul 2019 00:34:14 -0700 [thread overview]
Message-ID: <1563435275-22326-30-git-send-email-bmeng.cn@gmail.com> (raw)
In-Reply-To: <1563435275-22326-1-git-send-email-bmeng.cn@gmail.com>
This extracts QEMU x86 board specific information from README.x86,
converts plain text documentation to reST format and adds it to
Sphinx TOC tree. No essential content change.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
---
doc/README.x86 | 93 -----------------------------------
doc/board/emulation/index.rst | 9 ++++
doc/board/emulation/qemu-x86.rst | 101 +++++++++++++++++++++++++++++++++++++++
doc/board/index.rst | 1 +
4 files changed, 111 insertions(+), 93 deletions(-)
create mode 100644 doc/board/emulation/index.rst
create mode 100644 doc/board/emulation/qemu-x86.rst
diff --git a/doc/README.x86 b/doc/README.x86
index c987439..8cee320 100644
--- a/doc/README.x86
+++ b/doc/README.x86
@@ -57,99 +57,6 @@ Both tell the Makefile to build u-boot.rom as a target.
---
-QEMU x86 target instructions for bare mode:
-
-To build u-boot.rom for QEMU x86 targets, just simply run
-
-$ make qemu-x86_defconfig (for 32-bit)
-or
-$ make qemu-x86_64_defconfig (for 64-bit)
-$ make all
-
-Note this default configuration will build a U-Boot for the QEMU x86 i440FX
-board. To build a U-Boot against QEMU x86 Q35 board, you can change the build
-configuration during the 'make menuconfig' process like below:
-
-Device Tree Control --->
- ...
- (qemu-x86_q35) Default Device Tree for DT control
-
-Test with QEMU for bare mode
-----------------------------
-QEMU is a fancy emulator that can enable us to test U-Boot without access to
-a real x86 board. Please make sure your QEMU version is 2.3.0 or above test
-U-Boot. To launch QEMU with u-boot.rom, call QEMU as follows:
-
-$ qemu-system-i386 -nographic -bios path/to/u-boot.rom
-
-This will instantiate an emulated x86 board with i440FX and PIIX chipset. QEMU
-also supports emulating an x86 board with Q35 and ICH9 based chipset, which is
-also supported by U-Boot. To instantiate such a machine, call QEMU with:
-
-$ qemu-system-i386 -nographic -bios path/to/u-boot.rom -M q35
-
-Note by default QEMU instantiated boards only have 128 MiB system memory. But
-it is enough to have U-Boot boot and function correctly. You can increase the
-system memory by pass '-m' parameter to QEMU if you want more memory:
-
-$ qemu-system-i386 -nographic -bios path/to/u-boot.rom -m 1024
-
-This creates a board with 1 GiB system memory. Currently U-Boot for QEMU only
-supports 3 GiB maximum system memory and reserves the last 1 GiB address space
-for PCI device memory-mapped I/O and other stuff, so the maximum value of '-m'
-would be 3072.
-
-QEMU emulates a graphic card which U-Boot supports. Removing '-nographic' will
-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. 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, which 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 01000000 - 04000000 1b1ab50
-
-To run 64-bit U-Boot, qemu-system-x86_64 should be used instead, e.g.:
-$ qemu-system-x86_64 -nographic -bios path/to/u-boot.rom
-
-A specific CPU can be specified via the '-cpu' parameter but please make
-sure the specified CPU supports 64-bit like '-cpu core2duo'. Conversely
-'-cpu pentium' won't work for obvious reasons that the processor only
-supports 32-bit.
-
-Note 64-bit support is very preliminary at this point. Lots of features
-are missing in the 64-bit world. One notable feature is the VGA console
-support which is currently missing, so that you must specify '-nographic'
-to get 64-bit U-Boot up and running.
-
CPU Microcode
-------------
Modern CPUs usually require a special bit stream called microcode [8] to be
diff --git a/doc/board/emulation/index.rst b/doc/board/emulation/index.rst
new file mode 100644
index 0000000..6d533f3
--- /dev/null
+++ b/doc/board/emulation/index.rst
@@ -0,0 +1,9 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+Emulation
+=========
+
+.. toctree::
+ :maxdepth: 2
+
+ qemu-x86
diff --git a/doc/board/emulation/qemu-x86.rst b/doc/board/emulation/qemu-x86.rst
new file mode 100644
index 0000000..c2e704a
--- /dev/null
+++ b/doc/board/emulation/qemu-x86.rst
@@ -0,0 +1,101 @@
+.. SPDX-License-Identifier: GPL-2.0+
+.. sectionauthor:: Bin Meng <bmeng.cn@gmail.com>
+
+QEMU x86
+========
+
+Build instructions for bare mode
+--------------------------------
+
+To build u-boot.rom for QEMU x86 targets, just simply run::
+
+ $ make qemu-x86_defconfig (for 32-bit)
+ $ make qemu-x86_64_defconfig (for 64-bit)
+ $ make all
+
+Note this default configuration will build a U-Boot for the QEMU x86 i440FX
+board. To build a U-Boot against QEMU x86 Q35 board, you can change the build
+configuration during the 'make menuconfig' process like below::
+
+ Device Tree Control --->
+ ...
+ (qemu-x86_q35) Default Device Tree for DT control
+
+Test with QEMU for bare mode
+----------------------------
+
+QEMU is a fancy emulator that can enable us to test U-Boot without access to
+a real x86 board. Please make sure your QEMU version is 2.3.0 or above test
+U-Boot. To launch QEMU with u-boot.rom, call QEMU as follows::
+
+ $ qemu-system-i386 -nographic -bios path/to/u-boot.rom
+
+This will instantiate an emulated x86 board with i440FX and PIIX chipset. QEMU
+also supports emulating an x86 board with Q35 and ICH9 based chipset, which is
+also supported by U-Boot. To instantiate such a machine, call QEMU with::
+
+ $ qemu-system-i386 -nographic -bios path/to/u-boot.rom -M q35
+
+Note by default QEMU instantiated boards only have 128 MiB system memory. But
+it is enough to have U-Boot boot and function correctly. You can increase the
+system memory by pass '-m' parameter to QEMU if you want more memory::
+
+ $ qemu-system-i386 -nographic -bios path/to/u-boot.rom -m 1024
+
+This creates a board with 1 GiB system memory. Currently U-Boot for QEMU only
+supports 3 GiB maximum system memory and reserves the last 1 GiB address space
+for PCI device memory-mapped I/O and other stuff, so the maximum value of '-m'
+would be 3072.
+
+QEMU emulates a graphic card which U-Boot supports. Removing '-nographic' will
+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. 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, which 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 01000000 - 04000000 1b1ab50
+
+To run 64-bit U-Boot, qemu-system-x86_64 should be used instead, e.g.::
+
+ $ qemu-system-x86_64 -nographic -bios path/to/u-boot.rom
+
+A specific CPU can be specified via the '-cpu' parameter but please make
+sure the specified CPU supports 64-bit like '-cpu core2duo'. Conversely
+'-cpu pentium' won't work for obvious reasons that the processor only
+supports 32-bit.
+
+Note 64-bit support is very preliminary at this point. Lots of features
+are missing in the 64-bit world. One notable feature is the VGA console
+support which is currently missing, so that you must specify '-nographic'
+to get 64-bit U-Boot up and running.
diff --git a/doc/board/index.rst b/doc/board/index.rst
index eb21a67..6d2356f 100644
--- a/doc/board/index.rst
+++ b/doc/board/index.rst
@@ -7,5 +7,6 @@ Board-specific doc
:maxdepth: 2
coreboot/index
+ emulation/index
google/index
intel/index
--
2.7.4
next prev parent reply other threads:[~2019-07-18 7:34 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-18 7:33 [U-Boot] [PATCH 00/50] doc: Shape into useful HTML docs Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 01/50] doc: Move existing rst files into api sub-directory Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 02/50] doc: Add top-level description about U-Boot documentation Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 03/50] doc: Add driver-model to Sphinx TOC tree Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 04/50] doc: driver-model: Convert README.txt to reST Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 05/50] doc: driver-model: Convert MIGRATION.txt " Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 06/50] doc: driver-model: Convert fdt-fixup.txt " Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 07/50] doc: driver-model: Convert fs_firmware_loader.txt " Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 08/50] doc: driver-model: Convert i2c-howto.txt " Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 09/50] doc: driver-model: Convert livetree.txt " Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 10/50] doc: driver-model: Convert of-plat.txt " Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 11/50] doc: driver-model: Convert pci-info.txt " Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 12/50] doc: driver-model: Convert pmic-framework.txt " Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 13/50] doc: driver-model: Convert remoteproc-framework.txt " Bin Meng
2019-07-18 7:33 ` [U-Boot] [PATCH 14/50] doc: driver-model: Convert serial-howto.txt " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 15/50] doc: driver-model: Convert spi-howto.txt " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 16/50] doc: driver-model: Convert usb-info.txt " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 17/50] doc: Add architecture specific info to Sphinx TOC tree Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 18/50] doc: arch: Convert README.mips to reST Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 19/50] doc: Add board specific info to Sphinx TOC tree Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 20/50] doc: board: Add Intel Crown Bay board doc Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 21/50] doc: board: Add Intel Bay Trail based board docs Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 22/50] doc: board: Add Intel Cherry Hill board doc Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 23/50] doc: board: Add Intel Cougar Canyon 2 " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 24/50] doc: board: Add Intel Edison " Bin Meng
2019-07-18 18:27 ` Andy Shevchenko
2019-07-18 7:34 ` [U-Boot] [PATCH 25/50] doc: board: Add Intel Galileo " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 26/50] doc: board: Add Google Chromebook Link " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 27/50] doc: board: Add Google Chromebook Samus " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 28/50] doc: board: Add coreboot " Bin Meng
2019-07-18 7:34 ` Bin Meng [this message]
2019-07-18 7:34 ` [U-Boot] [PATCH 30/50] doc: board: Convert README.qemu-arm to reST Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 31/50] doc: board: Convert README.qemu-riscv " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 32/50] doc: board: Convert README.qemu-mips " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 33/50] doc: board: Add AndesTech ax25-ae350 board doc Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 34/50] doc: board: Convert README.ag101p to reST Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 35/50] doc: board: Convert README.sifive-fu540 " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 36/50] doc: board: Convert README.sh7752evb " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 37/50] doc: board: Convert README.sh7753evb " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 38/50] doc: board: Convert README.at91 " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 39/50] doc: board: Convert README.b4860qds " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 40/50] doc: board: Convert README.zynq " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 41/50] doc: arch: Convert README.x86 " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 42/50] doc: arch: Convert README.arm64 " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 43/50] doc: arch: Convert README.NDS32 " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 44/50] doc: arch: Convert README.nios2 " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 45/50] doc: arch: Convert README.ARC " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 46/50] doc: arch: Convert README.m68k " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 47/50] doc: arch: Convert README.sh " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 48/50] doc: arch: Convert README.sandbox " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 49/50] doc: arch: Convert README.xtensa " Bin Meng
2019-07-18 7:34 ` [U-Boot] [PATCH 50/50] doc: Remove README.blackfin Bin Meng
2019-07-23 6:20 ` [U-Boot] [PATCH 00/50] doc: Shape into useful HTML docs Bin Meng
2019-07-23 15:00 ` Wolfgang Denk
2019-07-23 15:29 ` Tom Rini
2019-07-24 4:59 ` Bin Meng
2019-07-24 4:53 ` Bin Meng
2019-07-24 7:08 ` Wolfgang Denk
2019-07-24 7:13 ` Bin Meng
2019-07-24 14:14 ` Tom Rini
2019-07-24 14:16 ` Bin Meng
2019-07-24 14:18 ` Tom Rini
2019-07-24 19:30 ` Heinrich Schuchardt
2019-07-24 20:05 ` Tom Rini
2019-07-25 18:31 ` Heinrich Schuchardt
2019-07-26 1:54 ` Bin Meng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1563435275-22326-30-git-send-email-bmeng.cn@gmail.com \
--to=bmeng.cn@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox