doc: Convert semihosting readme to rST

This converts the semihosting readme to rST. I have tried to make only
cosmetic changes, but I did fix up the first link (which was broken).

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
This commit is contained in:
Sean Anderson 2022-03-22 16:59:09 -04:00 committed by Tom Rini
parent 8d78a6b674
commit d0ed9b1081
2 changed files with 21 additions and 15 deletions

View file

@ -11,6 +11,7 @@ Use U-Boot
netconsole netconsole
partitions partitions
cmdline cmdline
semihosting
Shell commands Shell commands
-------------- --------------

View file

@ -1,35 +1,40 @@
SPDX-License-Identifier: GPL-2.0+ .. SPDX-License-Identifier: GPL-2.0+
/* .. Copyright 2014 Broadcom Corporation.
* Copyright 2014 Broadcom Corporation.
*/ Semihosting
===========
Semihosting is ARM's way of having a real or virtual target communicate Semihosting is ARM's way of having a real or virtual target communicate
with a host or host debugger for basic operations such as file I/O, with a host or host debugger for basic operations such as file I/O,
console I/O, etc. Please see console I/O, etc. Please see `Arm's semihosting documentation
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/Bgbjjgij.html for more information. <https://developer.arm.com/documentation/100863/latest/>`_ for more
information.
For developing on armv8 virtual fastmodel platforms, semihosting is a For developing on armv8 virtual fastmodel platforms, semihosting is a
valuable tool since it allows access to image/configuration files before valuable tool since it allows access to image/configuration files before
eMMC or other NV media are available. eMMC or other NV media are available.
There are two main ARM virtual Fixed Virtual Platform (FVP) models, There are two main ARM virtual Fixed Virtual Platform (FVP) models,
Versatile Express (VE) FVP and BASE FVP (See `Versatile Express (VE) FVP and BASE FVP
http://www.arm.com/products/tools/models/fast-models/foundation-model.php) <http://www.arm.com/products/tools/models/fast-models/foundation-model.php>`_.
The initial vexpress64 u-boot board created here runs on the VE virtual The initial vexpress64 u-boot board created here runs on the VE virtual
platform using the license-free Foundation_v8 simulator. Fortunately, platform using the license-free Foundation_v8 simulator. Fortunately,
the Foundation_v8 simulator also supports the BASE_FVP model which the Foundation_v8 simulator also supports the BASE_FVP model which
companies can purchase licenses for and contain much more functionality. companies can purchase licenses for and contain much more functionality.
So we can, in u-boot, run either model by either using the VE FVP (default), So we can, in U-Boot, run either model by either using the VE FVP (default),
or turning on CONFIG_BASE_FVP for the more full featured model. or turning on ``CONFIG_BASE_FVP`` for the more full featured model.
Rather than create a new armv8 board similar to armltd/vexpress64, add Rather than create a new armv8 board similar to ``armltd/vexpress64``, add
semihosting calls to the existing one, enabled with CONFIG_SEMIHOSTING semihosting calls to the existing one, enabled with ``CONFIG_SEMIHOSTING``
and CONFIG_BASE_FVP both set. Also reuse the existing board config file and ``CONFIG_BASE_FVP`` both set. Also reuse the existing board config file
vexpress_aemv8.h but differentiate the two models by the presence or vexpress_aemv8.h but differentiate the two models by the presence or
absence of CONFIG_BASE_FVP. This change is tested and works on both the absence of ``CONFIG_BASE_FVP``. This change is tested and works on both the
Foundation and Base fastmodel simulators. Foundation and Base fastmodel simulators.
The semihosting code adds a command: Loading files
-------------
The semihosting code adds a "hostfs"::
smhload <image> <address> [env var] smhload <image> <address> [env var]