| 67265f2f | 31-Mar-2023 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
fix(tc): enable dynamic feature detection of FEAT_SVE for NormalWorld
Currently, TF-A supports three states for feature flags: 0: FEAT_DISABLED 1: FEAT_STATE_ALWAYS (for fixed/real platforms) 2: FEA
fix(tc): enable dynamic feature detection of FEAT_SVE for NormalWorld
Currently, TF-A supports three states for feature flags: 0: FEAT_DISABLED 1: FEAT_STATE_ALWAYS (for fixed/real platforms) 2: FEAT_STATE_CHECK (for configurable platforms) to meet the feature detection requirements dynamically, mainly targetting configurable/Fixed Virtual platforms.
With this mechanism in place, we are refactoring all the existing feature flags to the FEAT_STATE_CHECK option(=2), including FEAT_SVE explicitly for FVPs.
SVE Patch Reference: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19888/25
This newly introduced change, breaks the existing behaviour especially for virtual platforms, who have set the ENABLE_SVE_FOR_NS flag to 1.
Moving ahead, we advise the platforms to take the following steps while enabling the features:
1. If the platform is configurable (virtual), and want to ensure feature detection happens dynamically at runtime, set the build flags to FEAT_STATE_CHECK(=2).
2. For real(fixed) platforms, depending on the features supported by the hardware and platform wants to enable it, platforms could set build flags to FEAT_STATE_ALWAYS(=1).
(Note: Only the non-secure world enablement related build flags have been refactored to take the values within 0 to 2. As earlier Secure world enablement flags will still remain boolean.)
Henceforth, in order to keep it aligned with this tri-state mechanism, changing the TC platform default to the now supported dynamic option(=2), so the right decision can be made by the code at runtime.
Change-Id: I4c1ebeb55a00a7f148fac1573a6694b7c02a0a81 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| d23acc9e | 21-Mar-2023 |
Andre Przywara <andre.przywara@arm.com> |
refactor(amu): unify ENABLE_AMU and ENABLE_FEAT_AMUv1
So far we have the ENABLE_AMU build option to include AMU register handling code for enabling and context switch. There is also an ENABLE_FEAT_A
refactor(amu): unify ENABLE_AMU and ENABLE_FEAT_AMUv1
So far we have the ENABLE_AMU build option to include AMU register handling code for enabling and context switch. There is also an ENABLE_FEAT_AMUv1 option, solely to protect the HAFGRTR_EL2 system register handling. The latter needs some alignment with the new feature scheme, but it conceptually overlaps with the ENABLE_AMU option.
Since there is no real need for two separate options, unify both into a new ENABLE_FEAT_AMU name in a first step. This is mostly just renaming at this point, a subsequent patch will make use of the new feature handling scheme.
Change-Id: I97d8a55bdee2ed1e1509fa9f2b09fd0bdd82736e Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 90118bb5 | 03-Feb-2023 |
Andre Przywara <andre.przywara@arm.com> |
refactor(cpufeat): rename ENABLE_SPE_FOR_LOWER_ELS to ENABLE_SPE_FOR_NS
At the moment we hardcode the SPE functionality to be available on the non-secure side only, by setting MDCR_EL2.E2PB accordin
refactor(cpufeat): rename ENABLE_SPE_FOR_LOWER_ELS to ENABLE_SPE_FOR_NS
At the moment we hardcode the SPE functionality to be available on the non-secure side only, by setting MDCR_EL2.E2PB accordingly.
This should be reflected in the feature selection symbol, so rename that to ENABLE_SPE_FOR_NS, to make it clearer that SPE is not supported in the secure world.
Change-Id: I3f9b48eab1a45d6ccfcbb9c90a11eeb66867ad9a Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| d632452c | 15-Mar-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(tc): unify TC ROM start addresses" into integration |
| 40858762 | 15-Mar-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "test(tc): test for AP/RSS NV counter interface" into integration |
| 42d4d3ba | 22-Nov-2022 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
refactor(build): distinguish BL2 as TF-A entry point and BL2 running at EL3
BL2_AT_EL3 is an overloaded macro which has two uses: 1. When BL2 is entry point into TF-A(no BL1) 2. When BL2 is runnin
refactor(build): distinguish BL2 as TF-A entry point and BL2 running at EL3
BL2_AT_EL3 is an overloaded macro which has two uses: 1. When BL2 is entry point into TF-A(no BL1) 2. When BL2 is running at EL3 exception level These two scenarios are not exactly same even though first implicitly means second to be true. To distinguish between these two use cases we introduce new macros. BL2_AT_EL3 is renamed to RESET_TO_BL2 to better convey both 1. and 2. Additional macro BL2_RUNS_AT_EL3 is added to cover all scenarious where BL2 runs at EL3 (including four world systems).
BREAKING CHANGE: BL2_AT_EL3 renamed to RESET_TO_BL2 across the repository.
Change-Id: I477e1d0f843b44b799c216670e028fcb3509fb72 Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
show more ...
|
| 1b076113 | 07-Feb-2023 |
laurenw-arm <lauren.wehrmeister@arm.com> |
test(tc): test for AP/RSS NV counter interface
Change in PLATFORM_TEST build flag from boolean -> string, with the current string options being tfm-testsuite and rss-nv-counters.
To get the old beh
test(tc): test for AP/RSS NV counter interface
Change in PLATFORM_TEST build flag from boolean -> string, with the current string options being tfm-testsuite and rss-nv-counters.
To get the old behavior, i.e. where we used to use PLATFORM_TEST=1, we now need to pass PLATFORM_TEST=tfm-testsuite.
Adding new test of the AP/RSS interface for non-volatile counters. The test reads, increments, and reads again each 3 types of NV counters for: CCA, secure, and non-secure firmware. Enabled by PLATFORM_TEST=rss-nv-counters.
Change-Id: I2044cc9b2f37984697e0754c9c824eab51a11e7f Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Signed-off-by: Raef Coles <raef.coles@arm.com>
show more ...
|
| d07b8aac | 21-Feb-2023 |
Tintu Thomas <tintu.thomas@arm.com> |
fix(tc): change the FIP offset to 8 KiB boundary
* This change overrides the default PLAT_ARM_FIP_OFFSET_IN_GPT
* This aligns the FIP base in GPT image to the RSS ATU page size boundary (8 KiB).
fix(tc): change the FIP offset to 8 KiB boundary
* This change overrides the default PLAT_ARM_FIP_OFFSET_IN_GPT
* This aligns the FIP base in GPT image to the RSS ATU page size boundary (8 KiB). RSS XIP feature requires the FIP to be aligned to the page size boundary. TC platform will require the XIP feature.
* The aligned FIP_A is starting at sector 48. Hence the offset will be 48*512 = 0x6000.
Signed-off-by: Tintu Thomas <tintu.thomas@arm.com> Change-Id: I8135ecd4168231847c80151c33ef8353a1586b9a
show more ...
|
| f9e11c72 | 16-Feb-2023 |
Raef Coles <raef.coles@arm.com> |
fix(tc): unify TC ROM start addresses
Because RSS now does not map the header into the TC2 ROM, it is no longer necessary to have the code start at 0x1000, so unify with other TC platforms at 0x0.
fix(tc): unify TC ROM start addresses
Because RSS now does not map the header into the TC2 ROM, it is no longer necessary to have the code start at 0x1000, so unify with other TC platforms at 0x0.
Change-Id: I7ec34bb814865ba39678f4da0412294d4679052d Signed-off-by: Raef Coles <raef.coles@arm.com>
show more ...
|
| 034a2e3e | 01-Feb-2023 |
Raef Coles <raef.coles@arm.com> |
refactor(fiptool): move plat_fiptool.mk to tools
Move all plat_fiptool.mks into tools, change the logic to recursively check for tools/fiptool/plat_fiptool/<plat_path>/plat_fiptool.mk
I.e. for a pl
refactor(fiptool): move plat_fiptool.mk to tools
Move all plat_fiptool.mks into tools, change the logic to recursively check for tools/fiptool/plat_fiptool/<plat_path>/plat_fiptool.mk
I.e. for a platform that has the path "plat/arm/board/tc/platform.mk", the makefile will now load the first existing file from: - tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk - tools/fiptool/plat_fiptool/arm/board/plat_fiptool.mk - tools/fiptool/plat_fiptool/arm/plat_fiptool.mk
This enables fiptool to support multiple platforms, or a specific one.
Remove file-copying previously being used to handle old default path. Remove custom file cleaning in plat_fiptool.mk.
Change-Id: I95245bcf7143b329481d4394ab64f29bfe9de5ab Signed-off-by: Raef Coles <raef.coles@arm.com>
show more ...
|
| 872d8656 | 23-Jan-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "feat(rss): add TC platform UUIDs for RSS images" into integration |
| 6ef63af6 | 14-Dec-2022 |
Raef Coles <raef.coles@arm.com> |
feat(rss): add TC platform UUIDs for RSS images
Add platform fiptool and UUIDs to the TC platform, to allow RSS images to be inserted into and used from FIPs
Change-Id: Ic8e11bd4a766bdc616af7dee60d
feat(rss): add TC platform UUIDs for RSS images
Add platform fiptool and UUIDs to the TC platform, to allow RSS images to be inserted into and used from FIPs
Change-Id: Ic8e11bd4a766bdc616af7dee60d44fc5d1f6e7b6 Signed-off-by: Raef Coles <raef.coles@arm.com>
show more ...
|
| 7e3f6a87 | 11-Apr-2022 |
Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> |
fix(plat/tc): increase TC_TZC_DRAM1_SIZE
Increase TC_TZC_DRAM1_SIZE for Trusty image and its memory size. Update OP-TEE reserved memory range in DTS
Change-Id: Iad433c3c155f28860b15bde2398df6534871
fix(plat/tc): increase TC_TZC_DRAM1_SIZE
Increase TC_TZC_DRAM1_SIZE for Trusty image and its memory size. Update OP-TEE reserved memory range in DTS
Change-Id: Iad433c3c155f28860b15bde2398df653487189dd Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
show more ...
|
| 15a6c959 | 20-Dec-2022 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "feat(tc): add delegated attest and measurement tests" into integration |
| 25dd2172 | 21-Oct-2022 |
Mate Toth-Pal <mate.toth-pal@arm.com> |
feat(tc): add delegated attest and measurement tests
This patch adds Delegated Attestation and Measured Boot tests to the plat/arm/board/tc platform. The test suite can be activated by adding the bu
feat(tc): add delegated attest and measurement tests
This patch adds Delegated Attestation and Measured Boot tests to the plat/arm/board/tc platform. The test suite can be activated by adding the build time option `PLATFORM_TEST=1` to the make command. In this case the boot sequence is not finished, plat_error_handler is called after the tests are run (regardless of the test result.)
The actual test code is coming from the Trusted-Firmware-M project. Some of the files of the tf-m-tests and tf-m-extras repo are linked to the BL31 image.
Versions used for testing: https://git.trustedfirmware.org/TF-M/tf-m-tests 614e8c358377e4146e8ee13d1246e59d01b4bf1b
https: //git.trustedfirmware.org/TF-M/tf-m-extras 3be9fdd557e6df449de93c2101973fb011699b3d
Change-Id: I98f0f5f760a39d2d7e0dd11d33663ddb75f0b6fc Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
show more ...
|
| f0f2c903 | 07-Dec-2022 |
Tony K Nadackal <tony.nadackal@arm.com> |
fix(scmi): change function prototype to fix gcc error
Change function prototype of plat_css_get_scmi_info() to fix the GCC sign conversion error "comparison between signed and unsigned integer expre
fix(scmi): change function prototype to fix gcc error
Change function prototype of plat_css_get_scmi_info() to fix the GCC sign conversion error "comparison between signed and unsigned integer expressions". Changing channel_id type to unsigned int since it can never be a negative value.
Signed-off-by: Tony K Nadackal <tony.nadackal@arm.com> Change-Id: I579b21497329db40897c10d86c8fc68e4877f3db
show more ...
|
| 42c70c08 | 11-Nov-2022 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
build: deprecate Arm TC0 FVP platform
Arm has decided to deprecate the TC0 platform. The development of software and fast models for TC0 platform has been discontinued. TC0 platform has been superse
build: deprecate Arm TC0 FVP platform
Arm has decided to deprecate the TC0 platform. The development of software and fast models for TC0 platform has been discontinued. TC0 platform has been superseded by the TC1 and TC2 platforms, which are already supported in TF-A and CI repositories.
Change-Id: I0269816a6ee733f732669027eae4e14cd60b6084 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 46cc41d5 | 10-Oct-2022 |
Manish Pandey <manish.pandey2@arm.com> |
fix(ras): restrict RAS support for NS world
Current RAS framework in TF-A only supports handling errors originating from NS world but the HANDLE_EA_EL3_FIRST flag configures it for all lower Els. To
fix(ras): restrict RAS support for NS world
Current RAS framework in TF-A only supports handling errors originating from NS world but the HANDLE_EA_EL3_FIRST flag configures it for all lower Els. To make the current design of RAS explicit, rename this macro to HANDLE_EA_EL3_FIRST_NS and set EA bit in scr_el3 only when switching to NS world.
Note: I am unaware of any platform which traps errors originating in Secure world to EL3, if there is any such platform then it need to be explicitly implemented in TF-A
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: If58eb201d8fa792c16325c85c26056e9b409b750
show more ...
|
| 8e75b542 | 11-Oct-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "feat(cpu): add library support for Hunter ELP" into integration |
| 8c87becb | 03-Oct-2022 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(cpu): add library support for Hunter ELP
Add basic CPU library code to support the Hunter ELP CPU in TF-A. Hunter-ELP adds v9.2 architecture support and is derived from Makalu-ELP. As such, the
feat(cpu): add library support for Hunter ELP
Add basic CPU library code to support the Hunter ELP CPU in TF-A. Hunter-ELP adds v9.2 architecture support and is derived from Makalu-ELP. As such, the library code is adapted from the Makalu-ELP support library.
Change-Id: I7e93b9af6b1f0bc4d08c3cf5caf071d2cbdbc89f Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 6cb5d326 | 16-Sep-2022 |
Tamas Ban <tamas.ban@arm.com> |
feat(tc): enable RSS backend based measured boot
Measurements taken during boot are stored in RSS. These measurements are included in the platform attestation token.
Change-Id: Iac3356f813fb4173156
feat(tc): enable RSS backend based measured boot
Measurements taken during boot are stored in RSS. These measurements are included in the platform attestation token.
Change-Id: Iac3356f813fb417315681c718839319832a76191 Signed-off-by: David Vincze <david.vincze@arm.com> Signed-off-by: Tamas Ban <tamas.ban@arm.com>
show more ...
|
| e6c13165 | 04-May-2022 |
David Vincze <david.vincze@arm.com> |
feat(tc): increase maximum BL1/BL2/BL31 sizes
The maximum size of BL1/BL2/BL31 is increased due to the added new functionalities, such as RSS based measured boot on TC2.
Change-Id: I939c7c3da6bf870
feat(tc): increase maximum BL1/BL2/BL31 sizes
The maximum size of BL1/BL2/BL31 is increased due to the added new functionalities, such as RSS based measured boot on TC2.
Change-Id: I939c7c3da6bf870db46b32cd2836c6737de278bb Signed-off-by: David Vincze <david.vincze@arm.com> Signed-off-by: Tamas Ban <tamas.ban@arm.com>
show more ...
|
| 445130b1 | 11-Apr-2022 |
David Vincze <david.vincze@arm.com> |
feat(tc): add RSS-AP message size macro
Define the RSS_COMMS_PAYLOAD_MAX_SIZE macro. Its value is platform specific and gives the largest message size which are exchanged on the TC2 platform between
feat(tc): add RSS-AP message size macro
Define the RSS_COMMS_PAYLOAD_MAX_SIZE macro. Its value is platform specific and gives the largest message size which are exchanged on the TC2 platform between RSS and AP.
Change-Id: Id831c282dc9a39755b82befead1a81767e217215 Signed-off-by: David Vincze <david.vincze@arm.com> Signed-off-by: Tamas Ban <tamas.ban@arm.com>
show more ...
|
| 6299c3a0 | 13-Apr-2022 |
David Vincze <david.vincze@arm.com> |
feat(tc): add MHU addresses for AP-RSS comms on TC2
Change-Id: I600485ca83f91378d07cac6cee484bc4a1bf2a9c Signed-off-by: David Vincze <david.vincze@arm.com> |
| c58b9a8e | 23-Aug-2022 |
Rupinderjit Singh <rupinderjit.singh@arm.com> |
refactor(cpu): update IP names of Makalu CPU lib
* ASM files are renamed to have public IP names in their filename. * updated other files to include ASM filename changes.
Signed-off-by: Rupin
refactor(cpu): update IP names of Makalu CPU lib
* ASM files are renamed to have public IP names in their filename. * updated other files to include ASM filename changes.
Signed-off-by: Rupinderjit Singh <rupinderjit.singh@arm.com> Change-Id: Ie899c512b11fd7c4312e3a808bb6b9d2376cdb8c
show more ...
|