All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide
@ 2025-03-04 16:52 Harrison Mutai
  2025-03-04 16:52 ` [PATCH 1/2] vepxress64: disable CRC32 by default to prevent aborts Harrison Mutai
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Harrison Mutai @ 2025-03-04 16:52 UTC (permalink / raw)
  To: Tom Rini; +Cc: nd, Harrison Mutai, u-boot

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.

Harrison Mutai (2):
  vepxress64: disable CRC32 by default to prevent aborts
  vepxress64: add guide for running FVP with TF-A

 configs/vexpress_fvp_defconfig  |  1 +
 doc/board/armltd/vexpress64.rst | 54 +++++++++++++++++++++++++++++++--
 2 files changed, 53 insertions(+), 2 deletions(-)

-- 
2.46.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] vepxress64: disable CRC32 by default to prevent aborts
  2025-03-04 16:52 [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide Harrison Mutai
@ 2025-03-04 16:52 ` Harrison Mutai
  2025-03-04 16:53   ` Tom Rini
  2025-03-04 16:52 ` [PATCH 2/2] vepxress64: add guide for running FVP with TF-A Harrison Mutai
  2025-03-18 17:01 ` [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide Tom Rini
  2 siblings, 1 reply; 6+ messages in thread
From: Harrison Mutai @ 2025-03-04 16:52 UTC (permalink / raw)
  To: Tom Rini; +Cc: nd, Harrison Mutai, u-boot

On fast models, the CRC32 feature is disabled by default. When enabled
in U-Boot, it leads to synchronous aborts due to unrecognized
instructions. This change ensures CRC32 is disabled by default to
maintain compatibility.

Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
---
 configs/vexpress_fvp_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/vexpress_fvp_defconfig b/configs/vexpress_fvp_defconfig
index 7362c1fc35c..fda0f5283c9 100644
--- a/configs/vexpress_fvp_defconfig
+++ b/configs/vexpress_fvp_defconfig
@@ -2,4 +2,5 @@ CONFIG_ARM=y
 CONFIG_ARCH_VEXPRESS64=y
 CONFIG_DEFAULT_DEVICE_TREE="arm_fvp"
 CONFIG_IDENT_STRING=" arm_fvp"
+# CONFIG_ARM64_CRC32 is not set
 # CONFIG_DISPLAY_CPUINFO is not set
-- 
2.46.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] vepxress64: add guide for running FVP with TF-A
  2025-03-04 16:52 [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide Harrison Mutai
  2025-03-04 16:52 ` [PATCH 1/2] vepxress64: disable CRC32 by default to prevent aborts Harrison Mutai
@ 2025-03-04 16:52 ` Harrison Mutai
  2025-03-04 16:53   ` Tom Rini
  2025-03-18 17:01 ` [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide Tom Rini
  2 siblings, 1 reply; 6+ messages in thread
From: Harrison Mutai @ 2025-03-04 16:52 UTC (permalink / raw)
  To: Tom Rini; +Cc: nd, Harrison Mutai, u-boot

Add documentation on how to run FVP with U-Boot and TF-A. This helps
users configure and run U-Boot correctly on Arm models.

Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
---
 doc/board/armltd/vexpress64.rst | 54 +++++++++++++++++++++++++++++++--
 1 file changed, 52 insertions(+), 2 deletions(-)

diff --git a/doc/board/armltd/vexpress64.rst b/doc/board/armltd/vexpress64.rst
index a732fac899d..434cc785bd6 100644
--- a/doc/board/armltd/vexpress64.rst
+++ b/doc/board/armltd/vexpress64.rst
@@ -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
 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:
 
  * 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]_.
 
+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
 ----
 
@@ -62,7 +111,8 @@ tables.
 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
 .. [3] https://developer.arm.com/tools-and-software/development-boards/juno-development-board
-.. [4] https://trustedfirmware-a.readthedocs.io/
\ No newline at end of file
+.. [4] https://trustedfirmware-a.readthedocs.io/
+.. [5] https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/image-terminology.html#firmware-image-package-fip
-- 
2.46.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] vepxress64: disable CRC32 by default to prevent aborts
  2025-03-04 16:52 ` [PATCH 1/2] vepxress64: disable CRC32 by default to prevent aborts Harrison Mutai
@ 2025-03-04 16:53   ` Tom Rini
  0 siblings, 0 replies; 6+ messages in thread
From: Tom Rini @ 2025-03-04 16:53 UTC (permalink / raw)
  To: Harrison Mutai; +Cc: nd, u-boot

[-- Attachment #1: Type: text/plain, Size: 422 bytes --]

On Tue, Mar 04, 2025 at 04:52:01PM +0000, Harrison Mutai wrote:

> On fast models, the CRC32 feature is disabled by default. When enabled
> in U-Boot, it leads to synchronous aborts due to unrecognized
> instructions. This change ensures CRC32 is disabled by default to
> maintain compatibility.
> 
> Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] vepxress64: add guide for running FVP with TF-A
  2025-03-04 16:52 ` [PATCH 2/2] vepxress64: add guide for running FVP with TF-A Harrison Mutai
@ 2025-03-04 16:53   ` Tom Rini
  0 siblings, 0 replies; 6+ messages in thread
From: Tom Rini @ 2025-03-04 16:53 UTC (permalink / raw)
  To: Harrison Mutai; +Cc: nd, u-boot

[-- Attachment #1: Type: text/plain, Size: 318 bytes --]

On Tue, Mar 04, 2025 at 04:52:02PM +0000, Harrison Mutai wrote:

> Add documentation on how to run FVP with U-Boot and TF-A. This helps
> users configure and run U-Boot correctly on Arm models.
> 
> Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide
  2025-03-04 16:52 [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide Harrison Mutai
  2025-03-04 16:52 ` [PATCH 1/2] vepxress64: disable CRC32 by default to prevent aborts Harrison Mutai
  2025-03-04 16:52 ` [PATCH 2/2] vepxress64: add guide for running FVP with TF-A Harrison Mutai
@ 2025-03-18 17:01 ` Tom Rini
  2 siblings, 0 replies; 6+ messages in thread
From: Tom Rini @ 2025-03-18 17:01 UTC (permalink / raw)
  To: Harrison Mutai; +Cc: nd, u-boot

On Tue, 04 Mar 2025 16:52:00 +0000, Harrison Mutai wrote:

> 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.
> 
> Harrison Mutai (2):
>   vepxress64: disable CRC32 by default to prevent aborts
>   vepxress64: add guide for running FVP with TF-A
> 
> [...]

Applied to u-boot/next, thanks!

[1/2] vepxress64: disable CRC32 by default to prevent aborts
      commit: 1d41f7afdf17c45ff8a6853742c9a61b371b73d0
[2/2] vepxress64: add guide for running FVP with TF-A
      commit: c4b48b0a6b72e97842e87babf432fee4d3a2bb39
-- 
Tom



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-03-18 17:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-04 16:52 [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide Harrison Mutai
2025-03-04 16:52 ` [PATCH 1/2] vepxress64: disable CRC32 by default to prevent aborts Harrison Mutai
2025-03-04 16:53   ` Tom Rini
2025-03-04 16:52 ` [PATCH 2/2] vepxress64: add guide for running FVP with TF-A Harrison Mutai
2025-03-04 16:53   ` Tom Rini
2025-03-18 17:01 ` [PATCH 0/2] vepxpress64: disable CRC32 by default and add FVP with TF-A guide Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.