| 9ce82519 | 13-Mar-2023 |
Ang Tien Sung <tien.sung.ang@intel.com> |
feat(intel): fix bridge disable and reset
Fix bridge sideband manager register clear and set incorrect implementation. To support non-graceful full bridge disable and enable.
Signed-off-by: Ang Tie
feat(intel): fix bridge disable and reset
Fix bridge sideband manager register clear and set incorrect implementation. To support non-graceful full bridge disable and enable.
Signed-off-by: Ang Tien Sung <tien.sung.ang@intel.com> Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Change-Id: I651f3ec163d954e8efb0542ec33bce96e51992db
show more ...
|
| 7f7a16a6 | 02-Mar-2023 |
Jit Loon Lim <jit.loon.lim@intel.com> |
fix(intel): update boot scratch to indicate to Uboot is PSCI ON
There is a use case where kernel requested ATF to power off/on only CPU0. However, after ATF power off/on CPU0, CPU0 did not back into
fix(intel): update boot scratch to indicate to Uboot is PSCI ON
There is a use case where kernel requested ATF to power off/on only CPU0. However, after ATF power off/on CPU0, CPU0 did not back into the state to wait for ATF. Instead, CPU0 continue to reentry SPL boot sequence because CPU0 is master/primary core. This causing the system reboot from SPL again, while the slave core still in kernel.
To resolve this, ATF is set the boot scratch register 8 bit 17 whenever it is a request from kernel to power off/on only CPU0. So, if this boot scratch bit is set, CPU 0 will be able to put into a state to wait for ATF.
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Change-Id: Ia0228c5396beaa479858f5bd02fc05139efd2423
show more ...
|
| 4b88d048 | 06-Apr-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(fvp): work around DRTM_SUPPORT BL31 progbits exceeded" into integration |
| 88a8938e | 06-Apr-2023 |
Akshay Belsare <akshay.belsare@amd.com> |
feat(zynqmp): add hooks for custom runtime setup
Add runtime setup hooks (via custom_runtime_setup()) for low level operations related to setting up the system to correct state.
Change-Id: I4af7050
feat(zynqmp): add hooks for custom runtime setup
Add runtime setup hooks (via custom_runtime_setup()) for low level operations related to setting up the system to correct state.
Change-Id: I4af7050dba2ee2446366d482bef5f5c5dde4bddf Signed-off-by: Amit Nagal <amit.nagal@amd.com> Signed-off-by: Akshay Belsare <akshay.belsare@amd.com>
show more ...
|
| 8e38b928 | 15-Mar-2023 |
Chungying Lu <chungying.lu@mediatek.corp-partner.google.com> |
feat(mt8188): add apu power on/off control
Add mt8188 apu power on/off control
Change-Id: I8e28bf7a4ad4067553981c67c4c2225fdd802859 Signed-off-by: Chungying Lu <chungying.lu@mediatek.com> Signed-of
feat(mt8188): add apu power on/off control
Add mt8188 apu power on/off control
Change-Id: I8e28bf7a4ad4067553981c67c4c2225fdd802859 Signed-off-by: Chungying Lu <chungying.lu@mediatek.com> Signed-off-by: jason-ch chen <Jason-ch.Chen@mediatek.com>
show more ...
|
| 73a7aca2 | 04-Apr-2023 |
Evgeny Iakovlev <eiakovlev@linux.microsoft.com> |
feat(qemu): increase max cpus per cluster to 16
Qemu-tcg with GICv3 emulation enabled will by default configure MPIDR topology to report up to 16 cpus per cluster. This is NOT overriden by qemu's -s
feat(qemu): increase max cpus per cluster to 16
Qemu-tcg with GICv3 emulation enabled will by default configure MPIDR topology to report up to 16 cpus per cluster. This is NOT overriden by qemu's -smp setting, e.g. -smp 8,clusters=2,cores=4,threads=1 will still generate MPIDR reads as if all 8 CPUs were within one cluster.
Increase the hardcoded limit to reflect that so that we accept PSCI calls that provide MPIDRs based on what was actually read from the emulated CPU.
Change-Id: Ia321d555f885c96a9a94ae053b340e3a9e300e6d Signed-off-by: Evgeny Iakovlev <eiakovlev@linux.microsoft.com>
show more ...
|
| e75a3b6e | 04-Apr-2023 |
Andre Przywara <andre.przywara@arm.com> |
fix(imx8mq): fix compilation with gcc >= 12.x
Starting with GCC >= 12.x the -Wall option includes -Werror=array-bounds checks. Per default GCC treats all memory accesses below 4096 as NULL, so acces
fix(imx8mq): fix compilation with gcc >= 12.x
Starting with GCC >= 12.x the -Wall option includes -Werror=array-bounds checks. Per default GCC treats all memory accesses below 4096 as NULL, so access to ROMAPI causes the following warning:
------------ In file included from plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c:20: In function 'mmio_read_8', inlined from 'imx8mq_soc_info_init' at plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c:70:16, inlined from 'bl31_platform_setup' at plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c:206:2: include/lib/mmio.h:19:16: error: array subscript 0 is outside array bounds of 'volatile uint8_t[0]' {aka 'volatile unsigned char[]'} [-Werror=array-bounds] 19 | return *(volatile uint8_t*)addr; | ^~~~~~~~~~~~~~~~~~~~~~~~ In function 'mmio_read_8', inlined from 'imx8mq_soc_info_init' at plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c:74:16, inlined from 'bl31_platform_setup' at plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c:206:2: include/lib/mmio.h:19:16: error: array subscript 0 is outside array bounds of 'volatile uint8_t[0]' {aka 'volatile unsigned char[]'} [-Werror=array-bounds] 19 | return *(volatile uint8_t*)addr; | ^~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors ------------
This comes arguably from us somewhat abusing pointers to access MMIO memory regions, which is not really covered by the C language.
Replace the pointer-dereferencing mmio_read_8() with an implementation that uses inline assembly, to directly generate an 8-bit load instruction. This avoids the compiler thinking that this access is using a pointer it needs to jealously look after.
Change-Id: Iab39f6f615d51d3e8a1c54a1262d1e6ec208811d Reported-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 6578343b | 13-Mar-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(cpus): add support for blackhawk cpu
Add basic CPU library code to support the Blackhawk CPU, BlackHawk core is based out of Hunter ELP core, so overall library code was adapted based on that.
feat(cpus): add support for blackhawk cpu
Add basic CPU library code to support the Blackhawk CPU, BlackHawk core is based out of Hunter ELP core, so overall library code was adapted based on that.
Change-Id: I4750e774732218ee669dceb734cd107f46b78492 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 516a52f6 | 10-Mar-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(cpus): add support for chaberton cpu
Add basic CPU library code to support the Chaberton CPU, Chaberton cores are based out of Hunter core, so overall library code was adapted based on that.
C
feat(cpus): add support for chaberton cpu
Add basic CPU library code to support the Chaberton CPU, Chaberton cores are based out of Hunter core, so overall library code was adapted based on that.
Change-Id: I58321c77f2c364225a764da6fa65656d1bec33f1 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 7762e5d0 | 04-Apr-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(fvp): work around DRTM_SUPPORT BL31 progbits exceeded
Just like the tspd, DRTM support pulls in a lot of code which can't fit into SRAM with everything else the fvp is including. Luckily, testin
fix(fvp): work around DRTM_SUPPORT BL31 progbits exceeded
Just like the tspd, DRTM support pulls in a lot of code which can't fit into SRAM with everything else the fvp is including. Luckily, testing this feature is only done on v8.0 models, meaning all feature related code can be excluded for this run, saving space. The benefit of doing it this way is that the test can continue running unaltered in the interim.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Iced2089837622fea49c10ae403c653dd1f331ca3
show more ...
|
| 986c4e99 | 14-Mar-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add separate RO and RW NSAIDs
To be able to further restrict the memory access for the Arm(R) Ethos(TM)-N NPU, separate read-only and read/write NSAIDs for the non-protected and prote
feat(ethos-n): add separate RO and RW NSAIDs
To be able to further restrict the memory access for the Arm(R) Ethos(TM)-N NPU, separate read-only and read/write NSAIDs for the non-protected and protected memory have been added to the Juno platform's TZMP1 TZC configuration for the NPU.
The platform definition has been updated accordingly and the NPU driver will now only give read/write access to the streams that require it.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I5a173500fc1943a5cd406a3b379e1f1f554eeda6
show more ...
|
| a19a0241 | 10-Feb-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add reserved memory address support
The FCONF parsing of the HW_CONFIG for the Arm(R) Ethos(TM)-N NPU now supports reading the address of the reserved memory setup for the NPU so the
feat(ethos-n): add reserved memory address support
The FCONF parsing of the HW_CONFIG for the Arm(R) Ethos(TM)-N NPU now supports reading the address of the reserved memory setup for the NPU so the address can be used in the SiP service for the NPU.
Change-Id: I0968255a966e84896b00ea935d6aa3d5232c5f7b Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
show more ...
|
| 313b776f | 13-Jan-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add NPU firmware validation
When the Arm(R) Ethos(TM)-N NPU driver is built with TZMP1 support, it will now validate the NPU firmware binary that BL2 is expected to load into the prot
feat(ethos-n): add NPU firmware validation
When the Arm(R) Ethos(TM)-N NPU driver is built with TZMP1 support, it will now validate the NPU firmware binary that BL2 is expected to load into the protected memory location specified by ARM_ETHOSN_NPU_IMAGE_BASE.
Juno has been updated with a new BL31 memory mapping to allow the SiP service to read the protected memory that contains the NPU firmware binary.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I633256ab7dd4f8f5a6f864c8c98a66bf9dfc37f3
show more ...
|
| a2cdbb1d | 18-Jan-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add check for NPU in SiP setup
The SiP service in the Arm(R) Ethos(TM)-N NPU driver requires that there is at least one NPU available. If there is no NPU available, the driver is eith
feat(ethos-n): add check for NPU in SiP setup
The SiP service in the Arm(R) Ethos(TM)-N NPU driver requires that there is at least one NPU available. If there is no NPU available, the driver is either used incorrectly or the HW config is incorrect.
To ensure that the SiP service is not incorrectly used, a setup handler has been added to the service that will validate that there is at least one NPU available.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I8139a652f265cfc0db4a37464f39f1fb92868e10
show more ...
|
| 33bcaed1 | 17-Jan-2023 |
Rob Hughes <robert.hughes@arm.com> |
feat(ethos-n)!: load NPU firmware at BL2
BL2 on Juno now loads the Arm(R) Ethos(TM)-N NPU firmware into a fixed address, using the existing image loading framework.
Includes support for TRUSTED_BOA
feat(ethos-n)!: load NPU firmware at BL2
BL2 on Juno now loads the Arm(R) Ethos(TM)-N NPU firmware into a fixed address, using the existing image loading framework.
Includes support for TRUSTED_BOARD_BOOT, if enabled, using the firmware content and key certificates from the FIP.
Supports the ARM_IO_IN_DTB option so can specify the firmware location from the dtb rather than it being hardcoded to the FIP
Update makefile to automatically embed the appropriate images into the FIP.
BREAKING CHANGE: Building the FIP when TZMP1 support is enabled in the NPU driver now requires a parameter to specify the NPU firmware file.
Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I8cd64fb20d58f8bd539facb085606213d6cead06
show more ...
|
| 2fad320f | 20-Jan-2023 |
Rob Hughes <robert.hughes@arm.com> |
feat(juno): support ARM_IO_IN_DTB option for Juno
Add UUIDs for loadable FIP images to Juno's tb_fw_config device tree, so that it can be built with the ARM_IO_IN_DTB option. Increase the max-size o
feat(juno): support ARM_IO_IN_DTB option for Juno
Add UUIDs for loadable FIP images to Juno's tb_fw_config device tree, so that it can be built with the ARM_IO_IN_DTB option. Increase the max-size of the tb_fw-config image accordingly, as the new entries enlarge that image(new size is 2,116 bytes, rounded up to 2,560 = 0xA00)
Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I557bca7dd32c3be084bbba11d84dfa2818cb6789
show more ...
|
| e208f324 | 20-Jan-2023 |
Rob Hughes <robert.hughes@arm.com> |
fix(fconf): fix FCONF_ARM_IO_UUID_NUMBER value
The FCONF_ARM_IO_UUID_NUMBER macro is hardcoded to the number of entries in the `load_info` array, but this number did not match the actual length of t
fix(fconf): fix FCONF_ARM_IO_UUID_NUMBER value
The FCONF_ARM_IO_UUID_NUMBER macro is hardcoded to the number of entries in the `load_info` array, but this number did not match the actual length of the array in the case that TRUSTED_BOARD_BOOT is defined, but SPD_spmd is not defined.
This patch fixes the hardcoded length by replacing it with a more flexible calculation which sums up the various contributing groups of entries.
Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I557bca7dd32c3be084bbba11d84dfa2818cb6790
show more ...
|
| 7f2bf23d | 20-Jan-2023 |
Rob Hughes <robert.hughes@arm.com> |
fix(fvp): incorrect UUID name in FVP tb_fw_config
Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I557bca7dd32c3be084bbba11d84dfa281
fix(fvp): incorrect UUID name in FVP tb_fw_config
Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I557bca7dd32c3be084bbba11d84dfa2818cb6791
show more ...
|
| f3096072 | 16-Nov-2022 |
Mohamed Elzahhar <Mohamed.Elzahhar@arm.com> |
feat(ethos-n): add support for NPU to cert_create
Add Juno specific Makefile to the certificate tool build. That Makefile is included by the certificate tool Makefile to add information about the au
feat(ethos-n): add support for NPU to cert_create
Add Juno specific Makefile to the certificate tool build. That Makefile is included by the certificate tool Makefile to add information about the authentication data for the Arm(R) Ethos(TM)-N NPU's firmware binary.
Signed-off-by: Mohamed Elzahhar <Mohamed.Elzahhar@arm.com> Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: Ie4b6a1c29d73b3ed5041b57f2cd88033be18a63a
show more ...
|
| c91b08c8 | 24-Nov-2022 |
Daniele Castro <daniele.castro@arm.com> |
feat(ethos-n): add NPU support in fiptool
Add platform specific Makefile to add UUIDs and command options for the Arm(R) Ethos(TM)-N NPU firmware binary and certificate data to the FIP so that the T
feat(ethos-n): add NPU support in fiptool
Add platform specific Makefile to add UUIDs and command options for the Arm(R) Ethos(TM)-N NPU firmware binary and certificate data to the FIP so that the TF-A's BL2 can later be used to load the Arm(R) Ethos(TM)-N NPU firmware binary into memory and verify its integrity.
Add separate driver specific include header file for the Arm(R) Ethos(TM)-N NPU images containing UUIDs and command options to make it easy to port the FIP support to other platforms.
Signed-off-by: Daniele Castro <daniele.castro@arm.com> Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I8cd64fb20d58f8bd539facb085606213d6cead05
show more ...
|
| 70a296ee | 16-Nov-2022 |
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> |
feat(ethos-n): add support to set up NSAID
For the TZC to allow the Arm(R) Ethos(TM)-N NPU to access the buffers allocated in a protected memory region, it must include the correct NSAID for that re
feat(ethos-n): add support to set up NSAID
For the TZC to allow the Arm(R) Ethos(TM)-N NPU to access the buffers allocated in a protected memory region, it must include the correct NSAID for that region in its transactions to the memory. This change updates the SiP service to configure the NSAIDs specified by a platform define. When doing a protected access the SiP service now configures the NSAIDs specified by the platform define. For unprotected access the NSAID is set to zero.
Signed-off-by: Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I3360ef33705162aba5c67670386922420869e331
show more ...
|
| d77c11e8 | 19-Sep-2022 |
Bjorn Engstrom <bjoern.engstroem@arm.com> |
feat(ethos-n): add protected NPU TZMP1 regions
TZMP1 protected memory regions have been added in the Juno platform to store sensitive data for the Arm(R) Ethos(TM)-N NPU This is enabled when buildin
feat(ethos-n): add protected NPU TZMP1 regions
TZMP1 protected memory regions have been added in the Juno platform to store sensitive data for the Arm(R) Ethos(TM)-N NPU This is enabled when building TF-A with ARM_ETHOSN_NPU_TZMP1.
The NPU uses two protected memory regions: 1) Firmware region to protect the NPU's firmware from being modified from the non-secure world 2) Data region for sensitive data used by the NPU
Respective memory region can only be accessed with their unique NSAID.
Signed-off-by: Bjorn Engstrom <bjoern.engstroem@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Signed-off-by: Rob Hughes <robert.hughes@arm.com> Change-Id: I65200047f10364ca18681ce348a6edb2ffb9b095
show more ...
|
| 035c9119 | 26-Aug-2022 |
Bjorn Engstrom <bjoern.engstroem@arm.com> |
build(ethos-n): add TZMP1 build flag
For the Arm(R) Ethos(TM)-N NPU Driver to support running inference with protected memory the TZC must be configured with appropriate regions.
This is controlled
build(ethos-n): add TZMP1 build flag
For the Arm(R) Ethos(TM)-N NPU Driver to support running inference with protected memory the TZC must be configured with appropriate regions.
This is controlled in build time by the now added build flag.
The new build flag is only supported with the Arm Juno platform and the TZC is configured with default memory regions as if TZMP1 wasn't enabled to facilitate adding the new memory regions later.
Signed-off-by: Bjorn Engstrom <bjoern.engstroem@arm.com> Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I9dc49ac5d091cfbc8c20d7c3ab394a2836438b0f
show more ...
|
| 138221c2 | 30-Mar-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(fvp): work around BL31 progbits exceeded
It is useful to have a single build for the FVP that includes as much stuff as possible. Such a build allows a single TF-A build to be used on a wide var
fix(fvp): work around BL31 progbits exceeded
It is useful to have a single build for the FVP that includes as much stuff as possible. Such a build allows a single TF-A build to be used on a wide variety of fvp command lines. Unfortunately, the fvp also has a (somewhat arbitrary) SRAM limit and enabling a bunch of stuff overruns what is available.
To workaround this limit, don't enable everything for all configurations. The offending configuration is when tsp is enabled, so try to slim the binary down only when building with it.
As this doesn't solve the issue of running out of space for BL31, update the linker error to give some clue as to what has (likely) caused it while more permanent fixes are found.
Also add FEAT_RNG to the mix as it got missed in the commotion.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Icb27cc837c2d90ca182693e9b3121b51383d51fd
show more ...
|
| 63eee17d | 03-Apr-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "jc/sve" into integration
* changes: fix(qemu): enable dynamic feature detection of FEAT_SVE for NormalWorld fix(tc): enable dynamic feature detection of FEAT_SVE for No
Merge changes from topic "jc/sve" into integration
* changes: fix(qemu): enable dynamic feature detection of FEAT_SVE for NormalWorld fix(tc): enable dynamic feature detection of FEAT_SVE for NormalWorld
show more ...
|