| 11d05a77 | 01-Feb-2024 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
feat(fwu): add a config flag for including image info in the FWU metadata
The version 2 of the FWU metadata structure is designed such that the information on the updatable images can be omitted fro
feat(fwu): add a config flag for including image info in the FWU metadata
The version 2 of the FWU metadata structure is designed such that the information on the updatable images can be omitted from the metadata structure. Add a configuration flag, PSA_FWU_METADATA_FW_STORE_DESC, which is used to select whether the metadata structure has this information included or not. It's value is set to 1 by default.
Change-Id: I4463a20c94d2c745ddb0b2cc8932c12d418fbd42 Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
show more ...
|
| 1c0d0252 | 20-Feb-2024 |
Chris Kay <chris.kay@arm.com> |
build: correct minor toolchain documentation error
Default values for toolchain tools are instead provided by the main toolchain makefile, rather than a parent makefile. This was an oversight from a
build: correct minor toolchain documentation error
Default values for toolchain tools are instead provided by the main toolchain makefile, rather than a parent makefile. This was an oversight from a previous version of the original toolchain refactor patch.
Change-Id: I75752ed7874b36e1c679d94292a2664e234c484b Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| ef685219 | 20-Feb-2024 |
Mark Dykes <mark.dykes@arm.com> |
Merge "build: use toolchain identifiers in conditions" into integration |
| 60dd8069 | 20-Feb-2024 |
Mark Dykes <mark.dykes@arm.com> |
Merge "build: use new toolchain variables for tools" into integration |
| 084c9d3c | 20-Feb-2024 |
Mark Dykes <mark.dykes@arm.com> |
Merge "build: refactor toolchain detection" into integration |
| 8e397889 | 26-Jan-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(mte): add mte2 feat
Add support for feat mte2. tfsr_el2 is available only with mte2, however currently its context_save/restore is done with mte rather than mte2, so introduce 'is_feat_mte2_sup
feat(mte): add mte2 feat
Add support for feat mte2. tfsr_el2 is available only with mte2, however currently its context_save/restore is done with mte rather than mte2, so introduce 'is_feat_mte2_supported' to check mte2.
Change-Id: I108d9989a8f5b4d1d2f3b9865a914056fa566cf2 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 8620bd0b | 04-Dec-2023 |
Chris Kay <chris.kay@arm.com> |
build: use toolchain identifiers in conditions
The toolchain refactor change introduces the `${toolchain}-${tool}-id` variables, which provide identifiers for all of the toolchain tools used by the
build: use toolchain identifiers in conditions
The toolchain refactor change introduces the `${toolchain}-${tool}-id` variables, which provide identifiers for all of the toolchain tools used by the build system. This change replaces the various conditions that are in use to identify these tools based on the path with a standard set of comparisons against these new identifier variables.
Change-Id: Ib60e592359fa6e415c19a012e68d660f87436ca7 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| ffb77421 | 04-Dec-2023 |
Chris Kay <chris.kay@arm.com> |
build: use new toolchain variables for tools
This change migrates the values of `CC`, `CPP`, `AS` and other toolchain variables to the new `$(toolchain)-$(tool)` variables, which were introduced by
build: use new toolchain variables for tools
This change migrates the values of `CC`, `CPP`, `AS` and other toolchain variables to the new `$(toolchain)-$(tool)` variables, which were introduced by the toolchain refactor patch. These variables should be equivalent to the values that they're replacing.
Change-Id: I644fe4ce82ef1894bed129ddb4b6ab94fb04985d Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| cc277de8 | 20-Oct-2023 |
Chris Kay <chris.kay@arm.com> |
build: refactor toolchain detection
This change refactors how we identify the toolchain, with the ultimate aim of eventually cleaning up the various mechanisms that we employ to configure default to
build: refactor toolchain detection
This change refactors how we identify the toolchain, with the ultimate aim of eventually cleaning up the various mechanisms that we employ to configure default tools, identify the tools in use, and configure toolchain flags.
To do this, we introduce three new concepts in this change:
- Toolchain identifiers, - Tool class identifiers, and - Tool identifiers.
Toolchain identifiers identify a configurable chain of tools targeting one platform/machine/architecture. Today, these are:
- The host machine, which receives the `host` identifier, - The AArch32 architecture, which receives the `aarch32` identifier, and - The AArch64 architecture, which receivs the `aarch64` identifier.
The tools in a toolchain may come from different vendors, and are not necessarily expected to come from one single toolchain distribution. In most cases it is perfectly valid to mix tools from different toolchain distributions, with some exceptions (notably, link-time optimization generally requires the compiler and the linker to be aligned).
Tool class identifiers identify a class (or "role") of a tool. C compilers, assemblers and linkers are all examples of tool classes.
Tool identifiers identify a specific tool recognized and supported by the build system. Every tool that can make up a part of a toolchain must receive a tool identifier.
These new identifiers can be used to retrieve information about the toolchain in a more standardized fashion.
For example, logic in a Makefile that should only execute when the C compiler is GNU GCC can now check the tool identifier for the C compiler in the relevant toolchain:
ifeq ($($(ARCH)-cc-id),gnu-gcc) ... endif
Change-Id: Icc23e43aaa32f4fd01d8187c5202f5012a634e7c Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 3dafd960 | 24-Jan-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(build): minor updates
Move RME to 9.2 optional features and add minor updates to comments.
Change-Id: I12a4940e82ca5df72af5421ddab43bc6a1628e95 Signed-off-by: Govindraj Raja <govindraj.raj
refactor(build): minor updates
Move RME to 9.2 optional features and add minor updates to comments.
Change-Id: I12a4940e82ca5df72af5421ddab43bc6a1628e95 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 7275ac2a | 23-Jan-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(build): march handling with arch-features
Currently all march compiler option handling is moved to build utility in march.mk.
We pass arch-features to build which appends to march options, so t
fix(build): march handling with arch-features
Currently all march compiler option handling is moved to build utility in march.mk.
We pass arch-features to build which appends to march options, so this should be done once we decide march options and moving it to march.mk file.
Change-Id: Ifaf99af5f371fd28db376a12657ccf4f363295c2 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 2a71f163 | 23-Jan-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(build): refactor mandatory options
Currently we enable all mandatory options for a current MAJOR.MINOR number without considering architecturally to what version the current arch should be
refactor(build): refactor mandatory options
Currently we enable all mandatory options for a current MAJOR.MINOR number without considering architecturally to what version the current arch should be compliant with.
For example Arch v9 should be compliant with 8.5 and shouldn't consider being compliant with 8.9, so refactor FEAT_* handling to ensure we capture and handle compliance correctly.
So refactor to use a list and add FEAT_* which are only compliant with a given arch rather than relying on all the FEAT_* from previous should be enabled for given arch version.
Change-Id: I8b0dd076c168a647de43b8618fbbe607412f7cab Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 48c37bee | 02-Feb-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(build): allow mandatory feats disabling" into integration |
| 6c1ae075 | 11-Jan-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(build): allow mandatory feats disabling
Currently any arch FEAT_* can be enabled from: - command line build options - platform makefile - from arch_features.mk
These are in order. Howev
refactor(build): allow mandatory feats disabling
Currently any arch FEAT_* can be enabled from: - command line build options - platform makefile - from arch_features.mk
These are in order. However, mandatory features are enforced from arch_features.mk and platform makefile can't override them.
Allow command line options or platforms makefile to disable any mandatory features.
Change-Id: I6fdca1a3d0b405a88cd7a20309e0c1eecd57a650 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 30019d86 | 25-Oct-2023 |
Sona Mathew <sonarebecca.mathew@arm.com> |
feat(cpufeat): add feature detection for FEAT_CSV2_3
This feature provides support to context save the SCXTNUM_ELx register. FEAT_CSV2_3 implies the implementation of FEAT_CSV2_2. FEAT_CSV2_3 is sup
feat(cpufeat): add feature detection for FEAT_CSV2_3
This feature provides support to context save the SCXTNUM_ELx register. FEAT_CSV2_3 implies the implementation of FEAT_CSV2_2. FEAT_CSV2_3 is supported in AArch64 state only and is an optional feature in Arm v8.0 implementations.
This patch adds feature detection for v8.9 feature FEAT_CSV2_3, adds macros for ID_AA64PFR0_EL1.CSV2 bits [59:56] for detecting FEAT_CSV2_3 and macro for ENABLE_FEAT_CSV2_3.
Change-Id: Ida9f31e832b5f11bd89eebd6cc9f10ddad755c14 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 07da4854 | 24-Jan-2024 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes from topics "rcar-tools-fix", "toolchain-cleanup" into integration
* changes: build: remove the `NM` variable build: prefer `gcc-ar` over `ar` build: add `--no-warn-rwx-segments`
Merge changes from topics "rcar-tools-fix", "toolchain-cleanup" into integration
* changes: build: remove the `NM` variable build: prefer `gcc-ar` over `ar` build: add `--no-warn-rwx-segments` when linking with GCC build: always use the C compiler to assemble build: always use the C compiler to preprocess fix(rcar): fix implicit rule invocations in tools
show more ...
|
| 0a33adc0 | 21-Dec-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(mte): deprecate CTX_INCLUDE_MTE_REGS
Currently CTX_INCLUDE_MTE_REGS is used for dual purpose, to enable allocation tags register and to context save and restore them and also to check if mt
refactor(mte): deprecate CTX_INCLUDE_MTE_REGS
Currently CTX_INCLUDE_MTE_REGS is used for dual purpose, to enable allocation tags register and to context save and restore them and also to check if mte feature is available.
To make it more meaningful, remove CTX_INCLUDE_MTE_REGS and introduce FEAT_MTE. This would enable allocation tags register when FEAT_MTE is enabled and also supported from platform.
Also arch features can be conditionally enabled disabled based on arch version from `make_helpers/arch_features.mk`
Change-Id: Ibdd2d43874634ad7ddff93c7edad6044ae1631ed Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 86e489c1 | 16-Jan-2024 |
Chris Kay <chris.kay@arm.com> |
build: add `--no-warn-rwx-segments` when linking with GCC
This flag is currently not included when linking with BFD via GCC. Without it, builds can fail when linking via GCC.
Change-Id: Id37e05f6fb
build: add `--no-warn-rwx-segments` when linking with GCC
This flag is currently not included when linking with BFD via GCC. Without it, builds can fail when linking via GCC.
Change-Id: Id37e05f6fb4eea4620861eb1bc8668c41f21ba20 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 781cb314 | 15-Jan-2024 |
Chris Kay <chris.kay@arm.com> |
build: always use the C compiler to preprocess
We're a bit inconsistent about which tool we use to preprocess source files; in some places we use `$(CC) -E` whilst in others we use `cpp`.
This chan
build: always use the C compiler to preprocess
We're a bit inconsistent about which tool we use to preprocess source files; in some places we use `$(CC) -E` whilst in others we use `cpp`.
This change forces all invocations of the C preprocessor to use the first scheme, which ensures that the preprocessor behaves the same way as the C compiler used when compiling C source files.
Change-Id: Iede2f25ff86ea8b43d7a523e32648058d5023832 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| bfef8b90 | 08-Nov-2023 |
Juan Pablo Conde <juanpablo.conde@arm.com> |
feat(context-mgmt): report context memory usage
This patch provides a reporting functionality to display the memory consumed by the context in each security state and for each exception level. Flag
feat(context-mgmt): report context memory usage
This patch provides a reporting functionality to display the memory consumed by the context in each security state and for each exception level. Flag PLATFORM_REPORT_CTX_MEM_USE enables or disables this feature.
Change-Id: I1515366bf87561dcedf2b3206be167804df681d4 Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com> Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| 9acff28a | 06-Oct-2023 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
build(mpam): add new build option CTX_INCLUDE_MPAM_REGS
New build option CTX_INCLUDE_MPAM_REGS is added to select if the firmware needs to save the MPAM EL2 registers during world switches. This opt
build(mpam): add new build option CTX_INCLUDE_MPAM_REGS
New build option CTX_INCLUDE_MPAM_REGS is added to select if the firmware needs to save the MPAM EL2 registers during world switches. This option is currently disabled as MPAM is only enabled for NS world.
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: Ie2e5e184cdb65f7e1a98d8fe81590253fd859679
show more ...
|
| 8ddb02d5 | 30-Nov-2023 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "fix-lto-build" into integration
* changes: fix(build): don't generate build-id fix(build): add forgotten BL_LDFLAGS to lto command line feat(build): check that .text
Merge changes from topic "fix-lto-build" into integration
* changes: fix(build): don't generate build-id fix(build): add forgotten BL_LDFLAGS to lto command line feat(build): check that .text section starts at page boundary
show more ...
|
| ad866942 | 28-Nov-2023 |
Mark Dykes <mark.dykes@arm.com> |
Merge "feat(security): add support for SLS mitigation" into integration |
| 538516f5 | 28-Sep-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
feat(security): add support for SLS mitigation
This patch enables support for the gcc compiler option "-mharden-sls", the default is not to use this option. Setting HARDEN_SLS=1 sets "-mharden-sls=a
feat(security): add support for SLS mitigation
This patch enables support for the gcc compiler option "-mharden-sls", the default is not to use this option. Setting HARDEN_SLS=1 sets "-mharden-sls=all" that enables all hardening against straight line speculation.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I59f5963c22431571f5aebe7e0c5642b32362f4c9
show more ...
|
| 878354a8 | 07-Nov-2023 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(rss)!: remove PLAT_RSS_NOT_SUPPORTED build option
Removed the PLAT_RSS_NOT_SUPPORTED build option, which was initially introduced for building the Base AEM FVP platform platform with RSS. H
refactor(rss)!: remove PLAT_RSS_NOT_SUPPORTED build option
Removed the PLAT_RSS_NOT_SUPPORTED build option, which was initially introduced for building the Base AEM FVP platform platform with RSS. However, we now have a well-defined TC2 platform with RSS, making it unnecessary to keep this flag.
Note - Theoretically this is a breaking change. Other platforms could be using the PLAT_RSS_NOT_SUPPORTED build option. Among upstream platforms, only the Base AEM FVP uses it right now but we don't know about downstream platforms.
Change-Id: I931905a4c6ac1ebe3895ab6e0287d0fa07721707 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|