Merge patch series "vepxpress64: disable CRC32 by default and add FVP with TF-A guide"
Harrison Mutai <harrison.mutai@arm.com> says: This patch introduces two updates to the vexpress64 project: - Disable CRC32 by default to prevent aborts in a standard FVP setup. - Add a guide for running FVP with TF-A, providing a clear starting point for users. Link: https://lore.kernel.org/r/20250304165204.53097-1-harrison.mutai@arm.com
This commit is contained in:
@@ -2,4 +2,5 @@ CONFIG_ARM=y
|
|||||||
CONFIG_ARCH_VEXPRESS64=y
|
CONFIG_ARCH_VEXPRESS64=y
|
||||||
CONFIG_DEFAULT_DEVICE_TREE="arm_fvp"
|
CONFIG_DEFAULT_DEVICE_TREE="arm_fvp"
|
||||||
CONFIG_IDENT_STRING=" arm_fvp"
|
CONFIG_IDENT_STRING=" arm_fvp"
|
||||||
|
# CONFIG_ARM64_CRC32 is not set
|
||||||
# CONFIG_DISPLAY_CPUINFO is not set
|
# CONFIG_DISPLAY_CPUINFO is not set
|
||||||
|
@@ -19,6 +19,11 @@ view", which gives a comprehensive model on which to build and test software.
|
|||||||
The supported FVPs are available free of charge and can be downloaded from the
|
The supported FVPs are available free of charge and can be downloaded from the
|
||||||
Arm developer site [1]_ (user registration might be required).
|
Arm developer site [1]_ (user registration might be required).
|
||||||
|
|
||||||
|
The Architecture Envelope Models (AEM) FVPs offer virtual platforms for Armv8-A,
|
||||||
|
Armv9-A, and Armv8-R architectures, including a comprehensive set of System IP.
|
||||||
|
For general use though, the Armv8-A Base Rev C FVP, which emulates a generic 64-bit
|
||||||
|
Armv8-A hardware platform, is a suitable option.
|
||||||
|
|
||||||
Supported features:
|
Supported features:
|
||||||
|
|
||||||
* GICv3
|
* GICv3
|
||||||
@@ -31,6 +36,50 @@ into the TF-A build: ``make PLAT=<platform> all fip BL33=u-boot.bin``
|
|||||||
|
|
||||||
The FVPs can be debugged using Arm Development Studio [2]_.
|
The FVPs can be debugged using Arm Development Studio [2]_.
|
||||||
|
|
||||||
|
Building U-Boot
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Set the ``CROSS_COMPILE`` environment variable as usual, and run:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
make vexpress_fvp_defconfig
|
||||||
|
make
|
||||||
|
|
||||||
|
Running U-Boot
|
||||||
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Set ``CROSS_COMPILE`` as usual and build TF-A:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
|
||||||
|
cd trusted-firmware-a
|
||||||
|
make PLAT=fvp BL33=/path/to/u-boot.bin fiptool all fip
|
||||||
|
|
||||||
|
This command generates the ROM image `bl1.bin`, and a boot image `fip.bin` in
|
||||||
|
TF-A's FIP format [5]_. It contains all images executed by TF-A, including U-Boot.
|
||||||
|
Note that TF-A outputs the built binaries into `build/fvp/release/`.
|
||||||
|
|
||||||
|
If you already have a FIP image, and are primarily interested in updating the BL33
|
||||||
|
image (i.e., U-Boot), use `fiptool` from TF-A:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
make fiptool
|
||||||
|
tools/fiptool/fiptool update --nt-fw=/path/to/u-boot.bin /path/to/fip.bin
|
||||||
|
|
||||||
|
To run the FVP:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
FVP_Base_RevC-2xAEMvA -C bp.flashloader0.fname=fip.bin \
|
||||||
|
-C bp.secureflashloader.fname=bl1.bin \
|
||||||
|
-C bp.vis.disable_visualisation=1
|
||||||
|
|
||||||
|
This setup relies on semi-hosting, as well as, having a kernel image (``Image``)
|
||||||
|
and ramdisk (``ramdisk.img``) in the current working directory.
|
||||||
|
|
||||||
Juno
|
Juno
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -62,7 +111,8 @@ tables.
|
|||||||
References
|
References
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. [1] https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms
|
.. [1] https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms/Arm%20Architecture%20FVPs
|
||||||
.. [2] https://developer.arm.com/tools-and-software/embedded/arm-development-studio
|
.. [2] https://developer.arm.com/tools-and-software/embedded/arm-development-studio
|
||||||
.. [3] https://developer.arm.com/tools-and-software/development-boards/juno-development-board
|
.. [3] https://developer.arm.com/tools-and-software/development-boards/juno-development-board
|
||||||
.. [4] https://trustedfirmware-a.readthedocs.io/
|
.. [4] https://trustedfirmware-a.readthedocs.io/
|
||||||
|
.. [5] https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/image-terminology.html#firmware-image-package-fip
|
||||||
|
Reference in New Issue
Block a user