From patchwork Fri Nov 24 12:55:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abdellatif El Khlifi X-Patchwork-Id: 35172 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 704E1C61DF4 for ; Fri, 24 Nov 2023 12:55:47 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.134830.1700830538290206929 for ; Fri, 24 Nov 2023 04:55:38 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: abdellatif.elkhlifi@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 430DF1FB; Fri, 24 Nov 2023 04:56:24 -0800 (PST) Received: from e130802.arm.com (unknown [10.57.83.243]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 73C723F6C4; Fri, 24 Nov 2023 04:55:36 -0800 (PST) From: abdellatif.elkhlifi@arm.com To: meta-arm@lists.yoctoproject.org, Ross.Burton@arm.com Cc: nd@arm.com, Abdellatif El Khlifi Subject: [PATCH v2 4/4] arm-bsp/documentation: corstone1000: update the user guide Date: Fri, 24 Nov 2023 12:55:13 +0000 Message-Id: <20231124125513.358963-4-abdellatif.elkhlifi@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231124125513.358963-1-abdellatif.elkhlifi@arm.com> References: <20231124125513.358963-1-abdellatif.elkhlifi@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 24 Nov 2023 12:55:47 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/5274 From: Abdellatif El Khlifi align the user guide with the upcoming CORSTONE1000-2023.11 release Signed-off-by: Abdellatif El Khlifi --- .../documentation/corstone1000/user-guide.rst | 163 ++++-------------- 1 file changed, 31 insertions(+), 132 deletions(-) diff --git a/meta-arm-bsp/documentation/corstone1000/user-guide.rst b/meta-arm-bsp/documentation/corstone1000/user-guide.rst index 4f4cd43d..ad1b0c99 100644 --- a/meta-arm-bsp/documentation/corstone1000/user-guide.rst +++ b/meta-arm-bsp/documentation/corstone1000/user-guide.rst @@ -68,33 +68,33 @@ Trusted Firmware-A ================== Based on `Trusted Firmware-A `__ -+----------+-----------------------------------------------------------------------------------------------------+ -| bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.8.%.bbappend | -+----------+-----------------------------------------------------------------------------------------------------+ -| Recipe | <_workspace>/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.8.0.bb | -+----------+-----------------------------------------------------------------------------------------------------+ ++----------+-------------------------------------------------------------------------------------------------+ +| bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend | ++----------+-------------------------------------------------------------------------------------------------+ +| Recipe | <_workspace>/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.9.0.bb | ++----------+-------------------------------------------------------------------------------------------------+ OP-TEE ====== Based on `OP-TEE `__ -+----------+------------------------------------------------------------------------------------+ -| bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bbappend | -+----------+------------------------------------------------------------------------------------+ -| Recipe | <_workspace>/meta-arm/meta-arm/recipes-security/optee/optee-os_3.20.0.bb | -+----------+------------------------------------------------------------------------------------+ ++----------+----------------------------------------------------------------------------------------+ +| bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.22.0.bbappend | ++----------+----------------------------------------------------------------------------------------+ +| Recipe | <_workspace>/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.22.0.bb | ++----------+----------------------------------------------------------------------------------------+ U-Boot ====== Based on `U-Boot repo`_ -+----------+-------------------------------------------------------------------------+ -| bbappend | <_workspace>/meta-arm/meta-arm/recipes-bsp/u-boot/u-boot_%.bbappend | -+----------+-------------------------------------------------------------------------+ -| bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend | -+----------+-------------------------------------------------------------------------+ -| Recipe | <_workspace>/poky/meta/recipes-bsp/u-boot/u-boot_2023.01.bb | -+----------+-------------------------------------------------------------------------+ ++----------+----------------------------------------------------------------------------+ +| bbappend | <_workspace>/meta-arm/meta-arm/recipes-bsp/u-boot/u-boot_%.bbappend | ++----------+----------------------------------------------------------------------------+ +| bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_%.bbappend | ++----------+----------------------------------------------------------------------------+ +| Recipe | <_workspace>/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot_2023.07.02.bb | ++----------+----------------------------------------------------------------------------+ Linux ===== @@ -107,30 +107,20 @@ recipe responsible for building a tiny version of Linux is listed below. +-----------+----------------------------------------------------------------------------------------------+ | bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto_%.bbappend | +-----------+----------------------------------------------------------------------------------------------+ -| Recipe | <_workspace>/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb | +| Recipe | <_workspace>/poky/meta/recipes-kernel/linux/linux-yocto_6.5.bb | +-----------+----------------------------------------------------------------------------------------------+ | defconfig | <_workspace>/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/defconfig | +-----------+----------------------------------------------------------------------------------------------+ -External System Tests -===================== -Based on `Corstone-1000/applications `__ - -+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Recipe | <_workspace>/meta-arm/meta-arm-bsp/recipes-test/corstone1000-external-sys-tests/corstone1000-external-sys-tests_1.0.bb | -+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -The recipe provides the systems-comms-tests command run in Linux and used for testing the External System. - ************************************************** Software for Boot Processor (a.k.a Secure Enclave) ************************************************** Based on `Trusted Firmware-M `__ +----------+-----------------------------------------------------------------------------------------------------+ -| bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.%.bbappend | +| bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_%.bbappend | +----------+-----------------------------------------------------------------------------------------------------+ -| Recipe | <_workspace>/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.0.bb | +| Recipe | <_workspace>/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.1.bb | +----------+-----------------------------------------------------------------------------------------------------+ ******************************** @@ -156,7 +146,7 @@ to as ``<_workspace>`` in these instructions. To create the folder, run: cd <_workspace> Corstone-1000 software is based on the Yocto Project which uses kas and bitbake -commands to build the stack. To install kas tool, run: +commands to build the stack. kas version 4 is required. To install kas, run: :: @@ -168,7 +158,7 @@ In the top directory of the workspace ``<_workspace>``, run: :: - git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2023.06 + git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2023.11 To build a Corstone-1000 image for MPS3 FPGA, run: @@ -343,7 +333,7 @@ A Yocto recipe is provided and allows to download the latest supported FVP versi The recipe is located at <_workspace>/meta-arm/meta-arm/recipes-devtools/fvp/fvp-corstone1000.bb -The latest supported Fixed Virtual Platform (FVP) version is 11.19_21 and is automatically downloaded and installed when using the runfvp command as detailed below. The FVP version can be checked by running the following command: +The latest supported Fixed Virtual Platform (FVP) version is 11_23.25 and is automatically downloaded and installed when using the runfvp command as detailed below. The FVP version can be checked by running the following command: :: @@ -374,8 +364,6 @@ The host will boot trusted-firmware-a, OP-TEE, U-Boot and then Linux, and presen Login using the username root. -The External System can be released out of reset on demand using the systems-comms-tests command. - SystemReady-IR tests -------------------- @@ -408,8 +396,8 @@ boot. Run following commands to build such image. :: cd <_workspace> - git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2023.06 - git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2023.06 + git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2023.11 + git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2023.11 cp -f systemready-patch/embedded-a/corstone1000/erase_flash/0001-embedded-a-corstone1000-clean-secure-flash.patch meta-arm cd meta-arm git apply 0001-embedded-a-corstone1000-clean-secure-flash.patch @@ -595,7 +583,7 @@ Download u-boot under <_workspace> and install tools: Download systemready-patch repo under <_workspace>: :: - git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2023.06 + git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2023.11 ******************* Generating Capsules @@ -1163,7 +1151,7 @@ First, load FF-A TEE kernel module: :: - insmod /lib/modules/6.1.32-yocto-standard/extra/arm-ffa-tee.ko + insmod /lib/modules/*-yocto-standard/extra/arm-ffa-tee.ko Then, check whether the FF-A TEE driver is loaded correctly by using the following command: @@ -1188,105 +1176,16 @@ Now, run the PSA API tests in the following order: **NOTE:** The psa-crypto-api-test takes between 30 minutes to 1 hour to run. -External System tests ---------------------- - -************************************************************** -Running the External System test command (systems-comms-tests) -************************************************************** - -Test 1: Releasing the External System out of reset -================================================== - -Run this command in the Linux command-line: - -:: - - systems-comms-tests 1 - -The output on the External System terminal should be: - -:: - - ___ ___ - | / __| - |=== \___ - |___ |___/ - External System Cortex-M3 Processor - Running RTX RTOS - v0.1.0_2022-10-19_16-41-32-8c9dca7 - MHUv2 module 'MHU0_H' started - MHUv2 module 'MHU1_H' started - MHUv2 module 'MHU0_SE' started - MHUv2 module 'MHU1_SE' started - -Test 2: Communication -===================== - -Test 2 releases the External System out of reset if not already done. Then, it performs communication between host and External System. - -After running Test 1, run this command in the Linux command-line: - -:: - - systems-comms-tests 2 - -Additional output on the External System terminal will be printed: - -:: - - MHUv2: Message from 'MHU0_H': 0xabcdef1 - Received 'abcdef1' From Host MHU0 - CMD: Increment and return to sender... - MHUv2: Message from 'MHU1_H': 0xabcdef1 - Received 'abcdef1' From Host MHU1 - CMD: Increment and return to sender... - -When running Test 2 the first, Test 1 will be run in the background. - -The output on the External System terminal should be: - -:: - - ___ ___ - | / __| - |=== \___ - |___ |___/ - External System Cortex-M3 Processor - Running RTX RTOS - v0.1.0_2022-10-19_16-41-32-8c9dca7 - MHUv2 module 'MHU0_H' started - MHUv2 module 'MHU1_H' started - MHUv2 module 'MHU0_SE' started - MHUv2 module 'MHU1_SE' started - MHUv2: Message from 'MHU0_H': 0xabcdef1 - Received 'abcdef1' From Host MHU0 - CMD: Increment and return to sender... - MHUv2: Message from 'MHU1_H': 0xabcdef1 - Received 'abcdef1' From Host MHU1 - CMD: Increment and return to sender... - -The output on the Host terminal should be: - -:: - - Received abcdf00 from es0mhu0 - Received abcdf00 from es0mhu1 - - Tests results ------------- -As a reference for the end user, reports for various tests for `Corstone-1000 software (CORSTONE1000-2023.06) `__ +As a reference for the end user, reports for various tests for `Corstone-1000 software (CORSTONE1000-2023.11) `__ can be found `here `__. -Running the software on FVP on Windows --------------------------------------- +Running the software on FVP on Windows or AArch64 Linux +------------------------------------------------------------ -If the user needs to run the Corstone-1000 software on FVP on Windows. The user -should follow the build instructions in this document to build on Linux host -PC, and copy the output binaries to the Windows PC where the FVP is located, -and launch the FVP binary. +The user should follow the build instructions in this document to build on a Linux host machine. Then, copy the output binaries to the Windows or Aarch64 Linux machine where the FVP is located. Then, launch the FVP binary. Security Issue Reporting ------------------------