From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by mx.groups.io with SMTP id smtpd.web10.31945.1641823310887325602 for ; Mon, 10 Jan 2022 06:01:51 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Wt7LeNZi; spf=pass (domain: kernel.org, ip: 145.40.73.55, mailfrom: ardb@kernel.org) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id D46DACE1275 for ; Mon, 10 Jan 2022 14:01:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5484CC36AF3 for ; Mon, 10 Jan 2022 14:01:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1641823305; bh=7hjJ9reRldDMdYNP33TDjxtpJzPgPc3GqFj/Gtz1+Nc=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Wt7LeNZiAj+LimmFG/O0/XwighGP2kW/XtmcZjd1VRJ9SY0R/PpKqMVccyIr96Y7m 1OiJca1aQ5nRagmnjPMPjEP1TYDg2lc1Wpmwgth4jsl7Yjsbbiqj2kqDUmdehIFAXH JOMXPSI5PSHyk0/WIWyDF/cAJBUKsmXsCxOra0uwsrn0IS3VDGcVp1BHlr5g51K5DK //RLVd+Zi4pYNS4xWfZ5ydXO0VM/SbEY9D8rP9aiy9xWcGgwtvFyslovrzkPQUF5XP q/o8bJ+j4Bb5ADlKti5wTya1s4KwenuX6OQ52L8mBNCbDzx3HuOz/MK9UyhSzKGaf8 QueeCn0nLJaoA== Received: by mail-wm1-f53.google.com with SMTP id v123so8814666wme.2 for ; Mon, 10 Jan 2022 06:01:45 -0800 (PST) X-Gm-Message-State: AOAM530v5748bh6yBcmWQxZSv9g0/dMemX5FmP2R6bZ582jd7BMYCkpP j8fxRMYoGT8zzmRpQvpwnou+R5Zma7z0eNLEV9A= X-Google-Smtp-Source: ABdhPJw7MkNx/dZ5n4O0VPm8+6FPjH8lnCuGDHtm4B0cwfhQqhBQpVZg0AYI735O/hJqHaOmtpzKGeAh7lM2/c11O4A= X-Received: by 2002:a05:600c:1991:: with SMTP id t17mr22276146wmq.25.1641823303551; Mon, 10 Jan 2022 06:01:43 -0800 (PST) MIME-Version: 1.0 References: <20220110134241.866-1-pete@akeo.ie> In-Reply-To: <20220110134241.866-1-pete@akeo.ie> From: "Ard Biesheuvel" Date: Mon, 10 Jan 2022 15:01:31 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [edk2-non-osi][PATCH 1/1] Platform/RaspberryPi: Update TF-A to v2.6 to enable the PCI SMCCC interface To: Pete Batard Cc: edk2-devel-groups-io , Ard Biesheuvel , Leif Lindholm , Jeremy Linton , Samer El-Haj-Mahmoud Content-Type: text/plain; charset="UTF-8" On Mon, 10 Jan 2022 at 14:43, Pete Batard wrote: > > The RPi4 has a single nonstandard PCI config region. It is broken into two > pieces, the root port config registers and a window to a single device's > config space which can move between devices. However there isn't (yet) an > authoritative public document on this since the available BCM2711 reference > notes that there is a PCIe root port in the memory map but doesn't describe > it. > > Considering that it's not ECAM compliant, yet relatively simple, it is > however possible to make use of the newly introduced PCI SMCCC interface > that was added for the RPi4 platform as part of the TF-A 2.6 release. > > As a result, we update the RPi4 TF-A to the 2.6 release version, and, for > good measure, the RPi3 also, using binaries that were built in an open and > verifiable manner through the GitHub Actions build script located at > https://github.com/pftf/pitf. > > For more details on the SMCCC interface, see DEN0115 available from: > https://developer.arm.com/documentation/den0115/latest > > Tested for regression on Pi 3 Model B and Pi 4 Model B. > > Signed-off-by: Pete Batard Thanks Pete Reviewed-by: Ard Biesheuvel Pushed as d02501aaa8d9..c1075e9ddd64 (after fixing up the GitHub Actions log links) -- Ard. > --- > Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md | 6 +++--- > Platform/RaspberryPi/RPi3/TrustedFirmware/bl1.bin | Bin 18853 -> 18853 bytes > Platform/RaspberryPi/RPi3/TrustedFirmware/fip.bin | Bin 53988 -> 53988 bytes > Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md | 6 +++--- > Platform/RaspberryPi/RPi4/TrustedFirmware/bl31.bin | Bin 41067 -> 45163 bytes > 5 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md b/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md > index cd88e0345c91..a136cfb9e413 100644 > --- a/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md > +++ b/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md > @@ -2,14 +2,14 @@ ARM Trusted Firmware for Raspberry Pi 3 > ======================================= > > The `bl1.bin` and `fip.bin` TF-A binaries found in this directory were built from the > -[official TF-A 2.5 release](https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tag/?h=v2.5) > +[official TF-A 2.6 release](https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tag/?h=v2.6) > through a [GitHub build script](https://github.com/pftf/pitf/blob/master/.github/workflows/build.yml) > that is designed to provide evidence that these binaries match the vanilla TF-A source. > > Per the [GitHub Actions log](https://github.com/pftf/pitf/runs/2822874196), > the SHA-256 sums for the blobs can be validated to be as follows: > -- `bl1.bin`: `5ba701a7e977d308a19928e19937107387677d52a1a4d628a5c2bb4e795aae8b` > -- `fip.bin`: `0c3f8a3e8192e5dcb3bdc5867976e4277e9d948159a92ee71a54e92cb8dce9a3` > +- `bl1.bin`: `787acb2ca1c99678dcdec70a64b9602f8f8f658a4abb0b3f7edfa5f5efb22f73` > +- `fip.bin`: `fd85f9a230aad88f6a59cf0c5d88e6067f23fb8080c6b8bdc61f1a5f6cbbf9ec` > > For Raspberry Pi 3 usage, TF-A was built using the command: > ``` > diff --git a/Platform/RaspberryPi/RPi3/TrustedFirmware/bl1.bin b/Platform/RaspberryPi/RPi3/TrustedFirmware/bl1.bin > index edfb46702e801a102c9d18e4a52bb4ab9bd72a47..cbbde5f744a7e2f50232a2e6c1a9de1d5254669c 100644 > GIT binary patch ... > diff --git a/Platform/RaspberryPi/RPi3/TrustedFirmware/fip.bin b/Platform/RaspberryPi/RPi3/TrustedFirmware/fip.bin > index 8feac04185377c5b9320a8bc32380b7b3b8ce43d..662d638e181af0461ef63058c459a48ef12971dd 100644 > GIT binary patch ... > diff --git a/Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md b/Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md > index 6631c05400dc..6db49445073a 100644 > --- a/Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md > +++ b/Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md > @@ -2,15 +2,15 @@ ARM Trusted Firmware for Raspberry Pi 4 > ======================================= > > The `bl31.bin` TF-A binary found in this directory was built from the > -[official TF-A 2.5 release](https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tag/?h=v2.5) > +[official TF-A 2.6 release](https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tag/?h=v2.6) > through a [GitHub build script](https://github.com/pftf/pitf/blob/master/.github/workflows/build.yml) > that is designed to provide evidence that these binaries match the vanilla TF-A source. > > Per the [GitHub Actions log](https://github.com/pftf/pitf/runs/2822874196), > the SHA-256 sum for the bin can be validated to be as follows: > -- `bl31.bin`: `59c4486a0a257c8d630d8ea39d6a13d038cd50be4fc9a81985bf2c32a7c3fca6` > +- `bl31.bin`: `48f129b3064fd44992c9903e8207eeee09f67edb6d06b14eba8e10614ac5c5b7` > > For Raspberry Pi 4 usage, TF-A was built using the command: > ``` > -make PLAT=rpi4 RPI3_PRELOADED_DTB_BASE=0x1F0000 PRELOADED_BL33_BASE=0x20000 SUPPORT_VFP=1 DEBUG=0 all > +make PLAT=rpi4 RPI3_PRELOADED_DTB_BASE=0x1F0000 PRELOADED_BL33_BASE=0x20000 SUPPORT_VFP=1 SMC_PCI_SUPPORT=1 DEBUG=0 all > ``` > diff --git a/Platform/RaspberryPi/RPi4/TrustedFirmware/bl31.bin b/Platform/RaspberryPi/RPi4/TrustedFirmware/bl31.bin > index c97aab3895bd3a831d1a3f8c6759959acf2dba04..37aa0c433e9ec4b32bacf383532125f722c1cfc9 100644 > GIT binary patch ... > > -- > 2.33.0.windows.2 >