From patchwork Thu Jul 6 14:42:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Emekcan Aras X-Patchwork-Id: 26975 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 AB03CEB64D9 for ; Thu, 6 Jul 2023 14:42:40 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.25757.1688654550525167595 for ; Thu, 06 Jul 2023 07:42:30 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: emekcan.aras@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 4F464D75; Thu, 6 Jul 2023 07:43:12 -0700 (PDT) Received: from e126835.cambridge.arm.com (e126835.cambridge.arm.com [10.1.27.128]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 41A8A3F762; Thu, 6 Jul 2023 07:42:29 -0700 (PDT) From: emekcan.aras@arm.com To: meta-arm@lists.yoctoproject.org, Ross.Burton@arm.com, Jon.Mason@arm.com Cc: nd@arm.com, Abdellatif El Khlifi , Emekcan Aras Subject: [PATCH mickledore 2/2] arm-bsp/documentation: corstone1000: update user guide Date: Thu, 6 Jul 2023 15:42:17 +0100 Message-Id: <20230706144217.70023-3-emekcan.aras@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230706144217.70023-1-emekcan.aras@arm.com> References: <20230706144217.70023-1-emekcan.aras@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 ; Thu, 06 Jul 2023 14:42:40 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/4863 From: Abdellatif El Khlifi Adding extra details to corstone1000 user guide. Signed-off-by: Abdellatif El Khlifi Signed-off-by: Emekcan Aras --- .../documentation/corstone1000/user-guide.rst | 58 +++++++++++++++---- 1 file changed, 46 insertions(+), 12 deletions(-) diff --git a/meta-arm-bsp/documentation/corstone1000/user-guide.rst b/meta-arm-bsp/documentation/corstone1000/user-guide.rst index 5937ff82..a5ccb313 100644 --- a/meta-arm-bsp/documentation/corstone1000/user-guide.rst +++ b/meta-arm-bsp/documentation/corstone1000/user-guide.rst @@ -203,7 +203,7 @@ Flash the firmware image on FPGA The user should download the FPGA bit file image ``AN550: Arm® Corstone™-1000 for MPS3 Version 2.0`` from `this link `__ -and under the section ``Arm® Corstone™-1000 for MPS3``. +and under the section ``Arm® Corstone™-1000 for MPS3``. The download is available after logging in. The directory structure of the FPGA bundle is shown below. @@ -428,8 +428,14 @@ software stack and flash the FPGA as normal. And continue the testing. Run SystemReady-IR ACS tests ============================ +Architecture Compliance Suite (ACS) is used to ensure architectural compliance +across different implementations of the architecture. Arm Enterprise ACS +includes a set of examples of the invariant behaviors that are provided by a +set of specifications for enterprise systems (For example: SBSA, SBBR, etc.), +so that implementers can verify if these behaviours have been interpreted correctly. + ACS image contains two partitions. BOOT partition and RESULT partition. -Following packages are under BOOT partition +Following test suites and bootable applications are under BOOT partition: * SCT * FWTS @@ -438,6 +444,24 @@ Following packages are under BOOT partition * grub * uefi manual capsule application +BOOT partition contains the following: + +:: + + ├── EFI + │   └── BOOT + │   ├── app + │   ├── bbr + │   ├── bootaa64.efi + │   ├── bsa + │   ├── debug + │   ├── Shell.efi + │   └── startup.nsh + ├── grub + ├── grub.cfg + ├── Image + └── ramdisk-busybox.img + RESULT partition is used to store the test results. **NOTE**: PLEASE MAKE SURE THAT THE RESULT PARTITION IS EMPTY BEFORE YOU START THE TESTING. OTHERWISE THE TEST RESULTS WILL NOT BE CONSISTENT @@ -481,7 +505,8 @@ Once the USB stick with ACS image is prepared, the user should make sure that ensure that only the USB stick with the ACS image is connected to the board, and then boot the board. -The FPGA will reset multiple times during the test, and it might take approx. 24-36 hours to finish the test. At the end of test, the FPGA host terminal will halt showing a shell prompt. Once test is finished the result can be copied following above instructions. +The FPGA will reset multiple times during the test, and it might take approx. 24-36 hours to finish the test. + FVP instructions for ACS image and run ====================================== @@ -554,6 +579,8 @@ Download edk2 under <_workspace>: :: git clone https://github.com/tianocore/edk2.git + cd edk2 + git checkout f2188fe5d1553ad1896e27b2514d2f8d0308da8a Download systemready-patch repo under <_workspace>: :: @@ -564,11 +591,6 @@ Download systemready-patch repo under <_workspace>: Generating Capsules ******************* -The capsule binary size (wic file) should be less than 15 MB. - -Based on the user's requirement, the user can change the firmware version -number given to ``--fw-version`` option (the version number needs to be >= 1). - Generating FPGA Capsules ======================== @@ -614,6 +636,16 @@ generate a UEFI capsule. --lsv 0 --guid e2bb9c06-70e9-4b14-97a3-5a7913176e3f --verbose --update-image-index \ 0 --verbose build/tmp/deploy/images/corstone1000-fvp/corstone1000_image.nopt + +Common Notes for FVP and FPGA +============================= + +The capsule binary size (wic file) should be less than 15 MB. + +Based on the user's requirement, the user can change the firmware version +number given to ``--fw-version`` option (the version number needs to be >= 1). + + **************** Copying Capsules **************** @@ -621,7 +653,7 @@ Copying Capsules Copying the FPGA capsules ========================= -The user should prepare a USB stick as explained in ACS image section (see above). +The user should prepare a USB stick as explained in ACS image section `FPGA instructions for ACS image`_. Place the generated ``cs1k_cap`` files in the root directory of the boot partition in the USB stick. Note: As we are running the direct method, the ``cs1k_cap`` file should not be under the EFI/UpdateCapsule directory as this may or may not trigger @@ -685,7 +717,7 @@ Run the FVP with the IR prebuilt image: :: - <_workspace>/meta-arm/scripts/runfvp --terminals=xterm <_workspace>/build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.fvpconf -- -C "board.msd_mmc.p_mmc_file ${/ir_acs_live_image.img}" + <_workspace>/meta-arm/scripts/runfvp --terminals=xterm <_workspace>/build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.fvpconf -- -C "board.msd_mmc.p_mmc_file=${/ir_acs_live_image.img}" Running the FPGA with the IR prebuilt image =========================================== @@ -884,7 +916,7 @@ Debian install and boot preparation (applicable to FPGA only) There is a known issue in the `Shim 15.7 `__ provided with the Debian installer image (see below). This bug causes a fatal -error when attempting to install Debian. +error when attempting to boot media installer for Debian, and it resets the MPS3 before installation starts. A patch to be applied to the Corstone-1000 stack (only applicable when installing Debian) is provided to `Skip the Shim `__. @@ -906,6 +938,8 @@ documentation. cd .. kas shell meta-arm/kas/corstone1000-mps3.yml -c="bitbake u-boot trusted-firmware-a corstone1000-image -c cleansstate; bitbake corstone1000-image" +Please update the cs1000.bin on the SD card with the newly generated wic file. + ************************************************* Debian/openSUSE install (applicable to FPGA only) ************************************************* @@ -1079,7 +1113,7 @@ First, load FF-A TEE kernel module: :: - insmod /lib/modules/6.1.25-yocto-standard/extra/arm-ffa-tee.ko + insmod /lib/modules/6.1.32-yocto-standard/extra/arm-ffa-tee.ko Then, check whether the FF-A TEE driver is loaded correctly by using the following command: