| 3fb7d622 | 26-Apr-2023 |
Harrison Mutai <harrison.mutai@arm.com> |
docs: update release and code freeze dates
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com> Change-Id: If782bd337d10213cb74503f4ea54ed304d6e4c34 |
| 1d6d6802 | 06-Dec-2022 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(pmu): unconditionally save PMCR_EL0
Reading back a RES0 bit does not necessarily mean it will be read as 0. The Arm ARM explicitly warns against doing this. The PMU initialisation code tries to
fix(pmu): unconditionally save PMCR_EL0
Reading back a RES0 bit does not necessarily mean it will be read as 0. The Arm ARM explicitly warns against doing this. The PMU initialisation code tries to set such bits to 1 (in MDCR_EL3) regardless of whether they are in use or are RES0, checking their value could be wrong and PMCR_EL0 might not end up being saved.
Save PMCR_EL0 unconditionally to prevent this. Remove the security state change as the outgoing state is not relevant to what the root world context should look like.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Id43667d37b0e2da3ded0beaf23fa0d4f9013f470
show more ...
|
| 1d0d5e40 | 23-Mar-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(gicv3): restore scr_el3 after changing it
EL3's context is poorly defined as it is and polluting it further is not a good idea. Put it back as it was before the function call.
Signed-off-by: Bo
fix(gicv3): restore scr_el3 after changing it
EL3's context is poorly defined as it is and polluting it further is not a good idea. Put it back as it was before the function call.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I9d13c9517962b501246989fd2126d08410191784
show more ...
|
| 0d122947 | 08-Mar-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(cm): make SVE and SME build dependencies logical
Currently, enabling SME forces SVE off. However, the SME enablement requires SVE to be enabled, which is reflected in code. This is the oppo
refactor(cm): make SVE and SME build dependencies logical
Currently, enabling SME forces SVE off. However, the SME enablement requires SVE to be enabled, which is reflected in code. This is the opposite of what the build flags require.
Further, the few platforms that enable SME also explicitly enable SVE. Their platform.mk runs after the defaults.mk file so this override never materializes. As a result, the override is only present on the commandline.
Change it to something sensible where if SME is on then code can rely on SVE being on too. Do this with a check in the Makefile as it is the more widely used pattern. This maintains all valid use cases but subtly changes corner cases no one uses at the moment to require a slightly different combination of flags.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: If7ca3972ebc3c321e554533d7bc81af49c2472be
show more ...
|
| 76fef475 | 04-May-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "mp/group0_support" into integration
* changes: feat(tc): allow secure watchdog timer to trigger periodically feat(sbsa): helper api for refreshing watchdog timer |
| 5602ce1d | 24-Apr-2023 |
Manish Pandey <manish.pandey2@arm.com> |
feat(fvp): introduce PLATFORM_TEST_RAS_FFH config
While doing RAS related tests there were few patches related with fault injection and handling were applied through CI hooks. These patches were inv
feat(fvp): introduce PLATFORM_TEST_RAS_FFH config
While doing RAS related tests there were few patches related with fault injection and handling were applied through CI hooks. These patches were invisible as they were applied and removed after the build is done.
This patch introduces build macro PLATFORM_TEST_RAS_FFH and moves the patches applied through CI under this.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Iddba52f3ebf21f575a473e50c607a944391156b9
show more ...
|
| 28b2d86c | 22-Mar-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
feat(tc): allow secure watchdog timer to trigger periodically
This patch does the following: 1. Configures SBSA secure watchdog timer as Group0 interrupt for TC platform while keeping it as G
feat(tc): allow secure watchdog timer to trigger periodically
This patch does the following: 1. Configures SBSA secure watchdog timer as Group0 interrupt for TC platform while keeping it as Group1 secure interrupt for other CSS based SoCs. 2. Programs the watchdog timer to trigger periodically 3. Provides a Group0 interrupt handler for TC platform port to deactivate the EL3 interrupt due to expiry of secure watchdog timer and refresh it explicitly.
Change-Id: I3847d6eb7347c6ea0e527b97b096119ca1e6701b Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| e8166d3e | 22-Mar-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
feat(sbsa): helper api for refreshing watchdog timer
This patch adds a helper API to explicitly refresh SBSA secure watchdog timer. Please refer section A.3 of the following spec:
https://developer
feat(sbsa): helper api for refreshing watchdog timer
This patch adds a helper API to explicitly refresh SBSA secure watchdog timer. Please refer section A.3 of the following spec:
https://developer.arm.com/documentation/den0029/latest/
Change-Id: I2d0943792aea0092bee1e51d74b908348587e66b Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| c194aa0c | 04-May-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "feat(fvp): define ns memory in the SPMC manifest" into integration |
| e603983d | 04-May-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "allwinner_t507" into integration
* changes: feat(allwinner): add support for Allwinner T507 SoC feat(allwinner): add function to detect H616 die variant feat(allwinne
Merge changes from topic "allwinner_t507" into integration
* changes: feat(allwinner): add support for Allwinner T507 SoC feat(allwinner): add function to detect H616 die variant feat(allwinner): add extra CPU control registers refactor(allwinner): consolidate sunxi_cfg.h files
show more ...
|
| 03971a07 | 04-May-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "fix(tc): only suspend booting after running plat tests" into integration |
| 9b266556 | 03-May-2023 |
laurenw-arm <lauren.wehrmeister@arm.com> |
fix(tc): only suspend booting after running plat tests
1. When doing a normal boot, tc_bl31_common_platform_setup() should simply configure the platform and return.
2. When we are running the platf
fix(tc): only suspend booting after running plat tests
1. When doing a normal boot, tc_bl31_common_platform_setup() should simply configure the platform and return.
2. When we are running the platform tests instead, tc_bl31_common_platform_setup() should run the tests then suspend booting (and thus never return).
We were incorreclty suspending the boot in case 1 as well. Put that code under a preprocessor condition (PLATFORM_TEST_NV_COUNTERS or PLATFORM_TEST_TFM_TESTSUITE) to fix this.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I7d20800e3bcd85261e2cdad325586d184e12a3e3
show more ...
|
| 1369fb82 | 24-Apr-2023 |
Yann Gautier <yann.gautier@st.com> |
build!: check boolean flags are not empty
For numeric flags, there is a check for the value to be set. Do the same for boolean flags. This avoids issues where a flag is defined but without a value,
build!: check boolean flags are not empty
For numeric flags, there is a check for the value to be set. Do the same for boolean flags. This avoids issues where a flag is defined but without a value, leading to potential unexpected behaviors.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Ib00da2784339471058887e93434d96ccba2aebb2
show more ...
|
| 17f9732d | 03-May-2023 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "mp/group0_support" into integration
* changes: docs(spm): support for handling Group0 interrupts feat(spmd): introduce platform handler for Group0 interrupt feat(spmd
Merge changes from topic "mp/group0_support" into integration
* changes: docs(spm): support for handling Group0 interrupts feat(spmd): introduce platform handler for Group0 interrupt feat(spmd): add support for FFA_EL3_INTR_HANDLE_32 ABI feat(spmd): register handler for group0 interrupt from NWd
show more ...
|
| 8a6d0d26 | 27-Apr-2023 |
Andre Przywara <andre.przywara@arm.com> |
fix(psci): do not panic on illegal MPIDR
Commit 66327414fb1e ("fix(psci): potential array overflow with cpu on") changed an assert in the PSCI library's psci_cpu_on_start() function to a runtime err
fix(psci): do not panic on illegal MPIDR
Commit 66327414fb1e ("fix(psci): potential array overflow with cpu on") changed an assert in the PSCI library's psci_cpu_on_start() function to a runtime error message, followed by a panic. This does not seem right for two reasons: - We must not panic() triggered by conditions influenced by lower EL callers. If non-secure world provides illegal arguments to a PSCI call, we can easily detect this and return -PSCI_E_INVALID_PARAMS, as the PSCI spec demands. In fact this is done already, which brings us to the next reason: - psci_cpu_on_start() is effectively a function private to the PSCI library: its prototype is in psci_private.h. It's just not static because it lives in a different code file from the main PSCI code. We check for illegal MPID values already in psci_cpu_on(), and return an error value to the caller, as we should. This function is the ONLY caller of psci_cpu_on_start(), so there is no way we get an illegal target_cpu argument into this function. An assert() is thus the proper way to check for this.
Mostly revert the patch mentioned above, just extending the assert so that it does also check for not exceeding the array boundaries. To harden the code, add a check against PLATFORM_MAX_CORE_COUNT in psci_validate_mpidr(), and return with the proper PSCI error code if this number is exceeded.
This also fixes the sun50i_a64 build with DEBUG=1, which exceeded an SRAM limit due to the error message.
Change-Id: I48fc58d96b0173da5b934750f4cadf7884ef5e42 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 5bdafc40 | 21-Feb-2023 |
Werner Lewis <werner.lewis@arm.com> |
fix(n1sdp): add platform-specific power domain functions
Commit 4d8c18196378824e388cf31ef991ba8fbbb09cbf added a redistributor power off to resolve an error on N1SDP/Morello. Prior to this fix, turn
fix(n1sdp): add platform-specific power domain functions
Commit 4d8c18196378824e388cf31ef991ba8fbbb09cbf added a redistributor power off to resolve an error on N1SDP/Morello. Prior to this fix, turning off both cores in a cluster would cause a hang when powering back on either core. This change introduced issues on other platforms with a different GIC implementation, and was reverted in commit 60719e4e0965aead49d927f12bf2a37bd2629012.
This commit uses the previous fix in platform-specific implementations of power domain off/suspend functions.
Signed-off-by: Werner Lewis <werner.lewis@arm.com> Change-Id: I52c463646c494fe931ff4ce47afb940a56978fcd
show more ...
|
| 02a5bcb0 | 15-Feb-2023 |
Werner Lewis <werner.lewis@arm.com> |
fix(morello): add platform-specific power domain functions
Commit 4d8c18196378824e388cf31ef991ba8fbbb09cbf added a redistributor power off to resolve an error on N1SDP/Morello. Prior to this fix, tu
fix(morello): add platform-specific power domain functions
Commit 4d8c18196378824e388cf31ef991ba8fbbb09cbf added a redistributor power off to resolve an error on N1SDP/Morello. Prior to this fix, turning off both cores in a cluster would cause a hang when powering back on either core. This change introduced issues on other platforms with a different GIC implementation, and was reverted in commit 60719e4e0965aead49d927f12bf2a37bd2629012.
This commit uses the previous fix in platform-specific implementations of power domain off/suspend functions.
Signed-off-by: Werner Lewis <werner.lewis@arm.com> Change-Id: Ib7689a5e08ada3862406fa92019a6f0bcfb48d79
show more ...
|
| 0c2583c6 | 11-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
fix(el3-spmc): correctly account for emad_offset
Use the address of emad 0 instead of the size of the MRD.
Change-Id: I31ec0001b4474e78caa9dfb468f63122a3708781 Signed-off-by: Demi Marie Obenour <de
fix(el3-spmc): correctly account for emad_offset
Use the address of emad 0 instead of the size of the MRD.
Change-Id: I31ec0001b4474e78caa9dfb468f63122a3708781 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 46d6b370 | 11-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): avoid unnecessarily revalidating offset
The offset has been validated on the first loop iteration. Subsequent iterations can assume it is valid.
Change-Id: Ib06cd0240220b8aa42b
refactor(el3-spmc): avoid unnecessarily revalidating offset
The offset has been validated on the first loop iteration. Subsequent iterations can assume it is valid.
Change-Id: Ib06cd0240220b8aa42bcd34c3c40b69d2d86aa72 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| d781959f | 11-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
fix(el3-spmc): only call spmc_shm_check_obj() on complete objects
When called on incomplete objects, it might fail or access uninitialized memory. This allows simplifying spmc_shm_check_obj().
Chan
fix(el3-spmc): only call spmc_shm_check_obj() on complete objects
When called on incomplete objects, it might fail or access uninitialized memory. This allows simplifying spmc_shm_check_obj().
Change-Id: I7c11f15d4c8ebe8cd15e7d8c37a0d0f3daa83675 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 77acde4c | 11-Jan-2023 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(spmc): assert on out-of-bounds emad access
This always indicates a bug.
Change-Id: Ie0d5d4c84d9fb615ba6cdf0e6d46eab778fc7e94 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> |
| cbbb8a03 | 31-Dec-2022 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): spmc_shmem_obj_get_emad() will never fail
Earlier validation ensures spmc_shmem_obj_get_emad() will never fail, so trip an assertion instead of returning NULL.
Change-Id: I285f3
refactor(el3-spmc): spmc_shmem_obj_get_emad() will never fail
Earlier validation ensures spmc_shmem_obj_get_emad() will never fail, so trip an assertion instead of returning NULL.
Change-Id: I285f3b59150773b2404db5719753fdb240e9ed63 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| 56c052d3 | 31-Dec-2022 |
Demi Marie Obenour <demiobenour@gmail.com> |
fix(el3-spmc): validate descriptor headers
This avoids out-of-bounds reads later.
Change-Id: Iee4245a393f1fde63d8ebada25ea2568cf984871 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> |
| 52d8d506 | 31-Dec-2022 |
Demi Marie Obenour <demiobenour@gmail.com> |
fix(el3-spmc): use version-dependent minimum descriptor length
A v1.1 descriptor has a minimum length exceeding that of a v1.0 descriptor.
Change-Id: I06265d58f53eccb0d39927fe9ff396b73735df97 Signe
fix(el3-spmc): use version-dependent minimum descriptor length
A v1.1 descriptor has a minimum length exceeding that of a v1.0 descriptor.
Change-Id: I06265d58f53eccb0d39927fe9ff396b73735df97 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|
| eef12e26 | 31-Dec-2022 |
Demi Marie Obenour <demiobenour@gmail.com> |
refactor(el3-spmc): check emad_count offset
Subsequent code will assume that it version-independent, so check it with a CASSERT.
Change-Id: I233b51ef700103f1a0789d5608e3b02c96d0eeb7 Signed-off-by:
refactor(el3-spmc): check emad_count offset
Subsequent code will assume that it version-independent, so check it with a CASSERT.
Change-Id: I233b51ef700103f1a0789d5608e3b02c96d0eeb7 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
show more ...
|