History log of /rk3399_ARM-atf/Makefile (Results 101 – 125 of 1167)
Revision Date Author Comments
# f4595e6e 06-May-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(build): put crttool in the build directory

Same as fiptool. Move all artefacts to the platform build directory and
convert to the standard build macro to make things more generic. Leave
a symli

feat(build): put crttool in the build directory

Same as fiptool. Move all artefacts to the platform build directory and
convert to the standard build macro to make things more generic. Leave
a symlink for the final binary in case someone depends on it.

Change-Id: I82ef846a95474ba385377032fb185e548827bf5c
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


# 96fbe884 02-May-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(build): put enctool in the build directory

Same as fiptool. Move all artefacts to the platform build directory and
convert to the standard build macro to make things more generic. Only
differen

feat(build): put enctool in the build directory

Same as fiptool. Move all artefacts to the platform build directory and
convert to the standard build macro to make things more generic. Only
difference is that there is no symlink as the tool is only used
internally and is not exported.

Change-Id: I7570f13505ed9c5d91b3582d9981177df4d5d04c
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


# cbd6cec3 02-May-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(build): put fiptool in the build directory

For some reason, tools are not built in the build directory, but rather
in the source directory, regardless of what BUILD_BASE might say. This
is espe

feat(build): put fiptool in the build directory

For some reason, tools are not built in the build directory, but rather
in the source directory, regardless of what BUILD_BASE might say. This
is especially annoying when trying to have a few builds going at the
same time (like in a CI). For example, run A may check if a file X
exists. Seeing that it does not, it will start building the file. At the
same time, run B may also check if file X exists but before A has
written it, starting a build again. Then it is possible for A to use the
file it believes to have built right at the moment B begins writing to
it (and truncating it beforehand). This results in gcc failing to read a
fail and a failed build. The more parallel runs there are, the more
likely this is to happen, and this is virtually guaranteed to happen
with just a handful onwards.

So move fiptool and all of its build artefacts to the build directory.
Since there are platform differences between the various fiptool
incarnations, this goes in the plat build rather than a more top-level
location.

This patch adds the build macro MAKE_TOOL to do this generically for any
kind of tool since the other tools suffer from the same shortfall. This
macro takes care to use unique names for every type of argument that
building a tool might need. The fiptool makefile and platform add-ons
are updated accordingly.

This should have never been allowed in the first place, but downstream
scripts almost certainly depend on this behaviour now. So add a symlink
in the place of the old fiptool so these continue working. With any
luck, this will be removed in the future.

Change-Id: I3d4d87dab0f53deab5b43fbc6652146f0e4e7e81
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


# adb219f0 07-Jul-2025 Govindraj Raja <govindraj.raja@arm.com>

Merge changes I9bc7b609,Ie56dc965,Ic57d46bf,I3f2ab549,I3ad715fa, ... into integration

* changes:
refactor(build): initialise `arch-features` closer to where it is needed
refactor(build): define

Merge changes I9bc7b609,Ie56dc965,Ic57d46bf,I3f2ab549,I3ad715fa, ... into integration

* changes:
refactor(build): initialise `arch-features` closer to where it is needed
refactor(build): define the W and DEBUG flags in the standard way
refactor(build): put the cross referencing of options together
fix: use LDLIBS instead of LDFLAGS for library search paths
fix(build): remove redundant variables
fix(intel): fix variable may be used uninitialized error

show more ...


# 0772fc7e 11-Apr-2025 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(build): initialise `arch-features` closer to where it is needed

Change-Id: I9bc7b609e7cb5aa42528ba151b5a30c386de0792
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>


# ee580c2d 11-Apr-2025 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(build): define the W and DEBUG flags in the standard way

We have the assert_boolean section where DEBUG belongs and W should have
an initial value (of 0) and only be allowed to be a number.

refactor(build): define the W and DEBUG flags in the standard way

We have the assert_boolean section where DEBUG belongs and W should have
an initial value (of 0) and only be allowed to be a number.

Change-Id: Ie56dc9659f32c8a202f4506bc27e8bbf84c0f73f
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


# b14987cf 09-Apr-2025 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(build): put the cross referencing of options together

We have an immense number of incompatible options and several places to
check them, making things hard to follow and leading to some
du

refactor(build): put the cross referencing of options together

We have an immense number of incompatible options and several places to
check them, making things hard to follow and leading to some
duplication. Previous attempts at reordering helped in the short term
but things have slowly deteriorated again.

Tackle this by introducing a single file to do all cross referencing of
all options. This should remove any ambiguity as to where these go.

No functional change besides relative ordering in the top-level Makefile.

Change-Id: Ic57d46bf602bd34d3af45a05e4ac8ca0dfcd1f7b
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


# 711f42b2 20-Jun-2025 Olivier Deprez <olivier.deprez@arm.com>

Merge changes from topic "mb/lfa-core-work" into integration

* changes:
docs(maintainers): add myself as code owner for LFA service
docs(lfa): update porting guide with LFA platform APIs
feat(

Merge changes from topic "mb/lfa-core-work" into integration

* changes:
docs(maintainers): add myself as code owner for LFA service
docs(lfa): update porting guide with LFA platform APIs
feat(lfa): add LFA holding pen logic
feat(lfa): add initial implementation for LFA_ACTIVATE
feat(lfa): add initial implementation for LFA_PRIME
feat(fvp): implement platform API for load and auth image
feat(lfa): implement LFA_CANCEL SMC
feat(fvp): implement platform API for LFA cancel operation
feat(lfa): implement LFA_GET_INVENTORY SMC
feat(fvp): implement platform API for LFA activation pending check
feat(lfa): implement LFA_GET_INFO SMC and integrate LFA build
feat(fvp): initialize LFA component activators in platform layer
feat(rmm): add placeholder activator callbacks for LFA
feat(bl31): add placeholder activator implementation for LFA
feat(lfa): add activation handler interface for component activation
feat(fvp): implement LFA get components API
feat(lfa): create LFA SMC handler template

show more ...


# cf48f49f 15-Apr-2025 Manish V Badarkhe <Manish.Badarkhe@arm.com>

feat(lfa): create LFA SMC handler template

As per the specification v1.0[1], added all Live Firmware Activation
(LFA) SMCs, including their Function IDs (FIDs) and associated error
codes.
A dummy ha

feat(lfa): create LFA SMC handler template

As per the specification v1.0[1], added all Live Firmware Activation
(LFA) SMCs, including their Function IDs (FIDs) and associated error
codes.
A dummy handler function has been created as a template. Subsequent
patches will implement the handling of these SMCs.

[1]: https://developer.arm.com/documentation/den0147/latest/

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: I5d6500dcff35aa4a438cd5f97f349cd57406ddce

show more ...


# d8fdff38 19-Jun-2025 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge changes from topic "map-summary" into integration

* changes:
feat(memmap): add summary command to memory map script
refactor(memmap)!: change behavioural flags to commands
refactor(memma

Merge changes from topic "map-summary" into integration

* changes:
feat(memmap): add summary command to memory map script
refactor(memmap)!: change behavioural flags to commands
refactor(memmap): fix typing-related issues
refactor(memmap): create common image parser interface
refactor(memmap): represent image symbols with key-value map
refactor(memmap): factor memory regions into their own structure
refactor(memmap): apply additional type hints
refactor(memmap): check ELF object type rather than flag
refactor(memmap): remove unused functionality
fix(memmap): ensure terminal width is respected
style(memmap): format with Ruff

show more ...


# d154fe2b 13-Jun-2025 Manish Pandey <manish.pandey2@arm.com>

Merge changes I2af839ae,Ifd0c7b4e,I56763cb4,I93aec580,Icbd43503, ... into integration

* changes:
docs(fvp): add GICv5 build instructions and limitations
feat(fvp): add GICv5 support
feat(gicv5

Merge changes I2af839ae,Ifd0c7b4e,I56763cb4,I93aec580,Icbd43503, ... into integration

* changes:
docs(fvp): add GICv5 build instructions and limitations
feat(fvp): add GICv5 support
feat(gicv5): probe components
feat(gicv5): initialise the IWB
feat(gicv5): initialise the IRS
feat(gicv5): assign interrupt sources to appropriate security states
feat(gicv5): add a barebones GICv5 driver
feat(gicv5): add support for building with gicv5

show more ...


# 8cef63d6 07-Jan-2025 Boyan Karatotev <boyan.karatotev@arm.com>

feat(gicv5): add support for building with gicv5

The Generic Interrupt Controller v5 (GICv5) is the next generation of
Arm interrupt controllers. It is a clean slate design and has native
support fo

feat(gicv5): add support for building with gicv5

The Generic Interrupt Controller v5 (GICv5) is the next generation of
Arm interrupt controllers. It is a clean slate design and has native
support for the latest Armv9 features. As such it is entirely backwards
incompatible with GICv3/v4.

This patch adds the necessary boilerplate to select a build with GICv5.
The GIC has always had two parts. BL31 deals directly with the CPU
interface while platform code is responsible for managing the IRI. In v5
this split is formalised and the CPU interface, FEAT_GCIE, may be
implemented on its own. So reflect this split in our code with
ENABLE_FEAT_GCIE which only affects BL31 and the GICv5 IRI lies in the
generic GIC driver.

No actual functionality yet.

Change-Id: I97a0c3ba708877c213e50e7ef148e3412aa2af90
Co-developed-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


# 8daebefe 15-Apr-2025 Chris Kay <chris.kay@arm.com>

refactor(memmap)!: change behavioural flags to commands

This change factors out the following memory map tool flags into
independent commands:

- `--footprint` (becomes `memory footprint`)
- `--tree

refactor(memmap)!: change behavioural flags to commands

This change factors out the following memory map tool flags into
independent commands:

- `--footprint` (becomes `memory footprint`)
- `--tree` (becomes `memory tree`)
- `--symbol` (becomes `memory symbol`)

So, for example, where previously you would generate the memory
footprint of a build with:

memory --tree

You would now instead use:

memory footprint

Any flags specific to a command (e.g. `--depth` for `tree`) must be
specified after the command, e.g.

memory tree --depth 1

... instead of:

memory --depth 1 tree

BREAKING-CHANGE: The image memory map visualization tool now uses
commands, rather than arguments, to determine the behaviour of the
script. See the commit message for further details.

Change-Id: I11d54d1f6276b8447bdfb8496544ab80399459ac
Signed-off-by: Chris Kay <chris.kay@arm.com>

show more ...


# cbab37c9 09-Jun-2025 Manish Pandey <manish.pandey2@arm.com>

Merge "fix(build): remove SUPPORT_STACK_MEMTAG" into integration


# 6bf7c6ad 14-Apr-2025 Boyan Karatotev <boyan.karatotev@arm.com>

fix(build): remove SUPPORT_STACK_MEMTAG

This flag enables the memtag sanitizer in clang. However, for this to
work, other generic and platform-specific logic is required that was
never implemented.

fix(build): remove SUPPORT_STACK_MEMTAG

This flag enables the memtag sanitizer in clang. However, for this to
work, other generic and platform-specific logic is required that was
never implemented. So in effect, the feature is half-baked and at best a
simple test (of which we have plenty in tftf) or a NOP at worst.

So remove the option to simplify code a little.

Change-Id: Iab4150871c89545d813c5ae14be67bf6459d051a
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


# 6a468973 09-Jun-2025 Manish Pandey <manish.pandey2@arm.com>

Merge "build(poetry): wrap docs build in poetry" into integration


# c61c9a31 15-May-2025 Harrison Mutai <harrison.mutai@arm.com>

build(poetry): wrap docs build in poetry

Simplify building documentation by wrapping the Sphinx command inside
a Poetry environment. Previously, the developer had to manually
activate Poetry and in

build(poetry): wrap docs build in poetry

Simplify building documentation by wrapping the Sphinx command inside
a Poetry environment. Previously, the developer had to manually
activate Poetry and install the docs group. This change makes the
process consistent with other build targets and reduces user error.
Falls back gracefully if Poetry is not installed.

Change-Id: I1dfea58314253773bec5e2c70d27e2216e3143d9
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>

show more ...


# c1735145 22-May-2025 Manish Pandey <manish.pandey2@arm.com>

Merge "docs(changelog): changelog for v2.13 release" into integration


# 97a6de9e 07-May-2025 Govindraj Raja <govindraj.raja@arm.com>

docs(changelog): changelog for v2.13 release

Generated this change-log using below command:
npm run release -- --skip.commit --skip.tag --release-as 2.13.0

Change-Id: Ibb0623f04c641b65a03deaffd50a5

docs(changelog): changelog for v2.13 release

Generated this change-log using below command:
npm run release -- --skip.commit --skip.tag --release-as 2.13.0

Change-Id: Ibb0623f04c641b65a03deaffd50a5a8b65637419
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>

show more ...


# 10534543 28-Apr-2025 Govindraj Raja <govindraj.raja@arm.com>

Merge changes from topic "fix_pmuv3p9_test" into integration

* changes:
fix(smccc): properly set RAS feature bit
fix(trng): allow FEAT_RNG_TRAP in dynamic fashion
feat(smccc): add FEAT_TWED to

Merge changes from topic "fix_pmuv3p9_test" into integration

* changes:
fix(smccc): properly set RAS feature bit
fix(trng): allow FEAT_RNG_TRAP in dynamic fashion
feat(smccc): add FEAT_TWED to ARCH_FEATURE_AVAILABILITY
feat(cpufeat): add support for PMUv3p9

show more ...


# 9e0c318d 28-Apr-2025 Govindraj Raja <govindraj.raja@arm.com>

Merge "feat(cpufeat): add support for FEAT_PAUTH_LR" into integration


# 025b1b81 11-Mar-2025 John Powell <john.powell@arm.com>

feat(cpufeat): add support for FEAT_PAUTH_LR

This patch enables FEAT_PAUTH_LR at EL3 on systems that support it when
the new ENABLE_FEAT_PAUTH_LR flag is set.

Currently, PAUTH_LR is only supported

feat(cpufeat): add support for FEAT_PAUTH_LR

This patch enables FEAT_PAUTH_LR at EL3 on systems that support it when
the new ENABLE_FEAT_PAUTH_LR flag is set.

Currently, PAUTH_LR is only supported by arm clang compiler and not GCC.

Change-Id: I7db1e34b661ed95cad75850b62878ac5d98466ea
Signed-off-by: John Powell <john.powell@arm.com>

show more ...


# 139a5d05 18-Apr-2025 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

Merge changes I86959e67,I0b0d1d36,I5b5267f4,I056c8710,I3474aa97 into integration

* changes:
chore: fix preprocessor checks
refactor: convert arm platforms to use the generic GIC driver
refacto

Merge changes I86959e67,I0b0d1d36,I5b5267f4,I056c8710,I3474aa97 into integration

* changes:
chore: fix preprocessor checks
refactor: convert arm platforms to use the generic GIC driver
refactor(gic): promote most of the GIC driver to common code
refactor: make arm_gicv2.c and arm_gicv3.c common
refactor(fvp): use more arm generic code for gicv3

show more ...


# 5d893410 07-Jan-2025 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(gic): promote most of the GIC driver to common code

More often than not, Arm based systems include some revision of a GIC.
There are two ways of adding support for them in platform code - c

refactor(gic): promote most of the GIC driver to common code

More often than not, Arm based systems include some revision of a GIC.
There are two ways of adding support for them in platform code - calling
the top-level helpers from plat/arm/common/arm_gicvX.c or by using the
driver directly. Both of these methods allow for a high degree of
customisation - most functions are defined to be weak and there are no
calls to any of them in generic code.

As it turns out, requirements around those GICs are largely the same.
Platforms that use arm_gicvX.c use the helpers identically among each
other. Platforms that use the driver directly tend to end up with calls
that look a lot like the arm_gicvX.c helpers and the weakness of the
functions are never exercised.

All of this results in a lot of code duplication to do what is
essentially the same thing. Even though it's not a lot of code, when
multiplied among many platforms it becomes significant and makes
refactoring it quite difficult. It's also bug prone since the steps are
a little convoluted and things are likely to work even with subtle
errors (see 50009f61177421118f42d6a000611ba0e613d54b).

So promote as much of the GIC to be called from common code. Do the
setup in bl31_main() and have every PSCI method do the state management
directly instead of delegating it to the platform hooks. We can base
this implementation on arm_gicvX.c since they already offer logical
names and have worked quite well so far with minimal changes.

The main benefit of doing this is reduced code duplication. If we assume
that, outside of some platform setup, GIC management is identical, then
a platform can add support by telling the build system, regardless of
GIC revision. The other benefit is performance - BL31 and PSCI already
know the core_pos and they can pass it as an argument instead of having
to call plat_my_core_pos(). Now, the only platform specific GIC actions
necessary are the saving and restoring of context on entering and
exiting a power domain. The PSCI library does not keep track of this so
it is unable perform it itself. The routines themselves are also
provided.

For compatibility all of this is hidden behind a build flag. Platforms
are encouraged to adopt this driver, but it would not be practical to
convert and validate every GIC based platform.

This patch renames the functions in question to follow the
gic_<function>() convention. This allows the names to be version
agnostic.

Finally, drop the weak definitions - they are unused, likely to remain
so, and can be added back if the need arises.

Change-Id: I5b5267f4b72f633fb1096400ec8e4b208694135f
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


# ee656609 16-Apr-2025 André Przywara <andre.przywara@arm.com>

Merge changes Id942c20c,Idd286bea,I8917a26e,Iec8c3477,If3c25dcd, ... into integration

* changes:
feat(cpufeat): enable FEAT_PAuth to FEAT_STATE_CHECKED
perf(cpufeat): centralise PAuth key saving

Merge changes Id942c20c,Idd286bea,I8917a26e,Iec8c3477,If3c25dcd, ... into integration

* changes:
feat(cpufeat): enable FEAT_PAuth to FEAT_STATE_CHECKED
perf(cpufeat): centralise PAuth key saving
refactor(cpufeat): convert FEAT_PAuth setup to C
refactor(cpufeat): prepare FEAT_PAuth for FEATURE_DETECTION
chore(cpufeat): remove PAuth presence checks
feat(cpufeat): enable FEAT_BTI to FEAT_STATE_CHECKED

show more ...


12345678910>>...47