mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-07 05:34:28 +00:00
0017931971
Per a request from Andre Przywara and agreed with by Peter Hoyes, the vexpress aemv8r support wasn't quite ready to be merged, but the discussion had moved off list. We should keep the first patch in the series for now, but revert the rest. This reverts the following commits:e0bd6f31ce
doc: Add documentation for the Arm vexpress board configs30e5a449e8
arm: Use armv8_switch_to_el1 env to switch to EL1b53bbca63b
vexpress64: Add BASER_FVP vexpress board variant2f5b7b7490
armv8: Add ARMv8 MPU configuration logic37a757e227
armv8: Ensure EL1&0 VMSA is enabled Signed-off-by: Tom Rini <trini@konsulko.com>
38 lines
1.7 KiB
Text
38 lines
1.7 KiB
Text
SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright 2014 Broadcom Corporation.
|
|
*/
|
|
|
|
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,
|
|
console I/O, etc. Please see
|
|
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/Bgbjjgij.html for more information.
|
|
|
|
For developing on armv8 virtual fastmodel platforms, semihosting is a
|
|
valuable tool since it allows access to image/configuration files before
|
|
eMMC or other NV media are available.
|
|
|
|
There are two main ARM virtual Fixed Virtual Platform (FVP) models,
|
|
Versatile Express (VE) FVP and BASE FVP (See
|
|
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
|
|
platform using the license-free Foundation_v8 simulator. Fortunately,
|
|
the Foundation_v8 simulator also supports the BASE_FVP model which
|
|
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),
|
|
or turning on CONFIG_BASE_FVP for the more full featured model.
|
|
|
|
Rather than create a new armv8 board similar to armltd/vexpress64, add
|
|
semihosting calls to the existing one, enabled with CONFIG_SEMIHOSTING
|
|
and CONFIG_BASE_FVP both set. Also reuse the existing board config file
|
|
vexpress_aemv8a.h but differentiate the two models by the presence or
|
|
absence of CONFIG_BASE_FVP. This change is tested and works on both the
|
|
Foundation and Base fastmodel simulators.
|
|
|
|
The semihosting code adds a command:
|
|
|
|
smhload <image> <address> [env var]
|
|
|
|
That will load an image from the host filesystem into RAM at the specified
|
|
address and optionally store the load end address in the specified
|
|
environment variable.
|