summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/board/emulation/index.rst1
-rw-r--r--doc/board/emulation/qemu-arm.rst (renamed from doc/README.qemu-arm)44
2 files changed, 30 insertions, 15 deletions
diff --git a/doc/board/emulation/index.rst b/doc/board/emulation/index.rst
index 6d533f3c36..a2b1a600b7 100644
--- a/doc/board/emulation/index.rst
+++ b/doc/board/emulation/index.rst
@@ -6,4 +6,5 @@ Emulation
.. toctree::
:maxdepth: 2
+ qemu-arm
qemu-x86
diff --git a/doc/README.qemu-arm b/doc/board/emulation/qemu-arm.rst
index e67bc13f70..ca751d4af4 100644
--- a/doc/README.qemu-arm
+++ b/doc/board/emulation/qemu-arm.rst
@@ -1,9 +1,8 @@
-# SPDX-License-Identifier: GPL-2.0+
-#
-# Copyright (C) 2017, Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
+.. SPDX-License-Identifier: GPL-2.0+
+.. Copyright (C) 2017, Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
-U-Boot on QEMU's 'virt' machine on ARM & AArch64
-================================================
+QEMU ARM
+========
QEMU for ARM supports a special 'virt' machine designed for emulation and
virtualization purposes. This document describes how to run U-Boot under it.
@@ -26,11 +25,13 @@ Building U-Boot
---------------
Set the CROSS_COMPILE environment variable as usual, and run:
-- For ARM:
+- For ARM::
+
make qemu_arm_defconfig
make
-- For AArch64:
+- For AArch64::
+
make qemu_arm64_defconfig
make
@@ -38,31 +39,44 @@ Running U-Boot
--------------
The minimal QEMU command line to get U-Boot up and running is:
-- For ARM:
+- For ARM::
+
qemu-system-arm -machine virt -bios u-boot.bin
-- For AArch64:
+- For AArch64::
+
qemu-system-aarch64 -machine virt -cpu cortex-a57 -bios u-boot.bin
Note that for some odd reason qemu-system-aarch64 needs to be explicitly
told to use a 64-bit CPU or it will boot in 32-bit mode.
Additional persistent U-boot environment support can be added as follows:
-- Create envstore.img using qemu-img:
+
+- Create envstore.img using qemu-img::
+
qemu-img create -f raw envstore.img 64M
-- Add a pflash drive parameter to the command line:
+
+- Add a pflash drive parameter to the command line::
+
-drive if=pflash,format=raw,index=1,file=envstore.img
Additional peripherals that have been tested to work in both U-Boot and Linux
can be enabled with the following command line parameters:
-- To add a Serial ATA disk via an Intel ICH9 AHCI controller, pass e.g.:
+- To add a Serial ATA disk via an Intel ICH9 AHCI controller, pass e.g.::
+
-drive if=none,file=disk.img,id=mydisk -device ich9-ahci,id=ahci -device ide-drive,drive=mydisk,bus=ahci.0
-- To add an Intel E1000 network adapter, pass e.g.:
+
+- To add an Intel E1000 network adapter, pass e.g.::
+
-netdev user,id=net0 -device e1000,netdev=net0
-- To add an EHCI-compliant USB host controller, pass e.g.:
+
+- To add an EHCI-compliant USB host controller, pass e.g.::
+
-device usb-ehci,id=ehci
-- To add a NVMe disk, pass e.g.:
+
+- To add a NVMe disk, pass e.g.::
+
-drive if=none,file=disk.img,id=mydisk -device nvme,drive=mydisk,serial=foo
These have been tested in QEMU 2.9.0 but should work in at least 2.5.0 as well.