| #
46e4724e |
| 07-Nov-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I54152fbb,I9b70c3a2 into integration
* changes: feat(cpufeat): introduce FEAT_RME_GDI support feat(cpufeat): add support for FEAT_RME_GPC2
|
| #
5e827bf0 |
| 24-Oct-2025 |
Timothy Hayes <timothy.hayes@arm.com> |
feat(cpufeat): introduce FEAT_RME_GDI support
This patch adds a new build flag ENABLE_FEAT_RME_GDI to enable this feature, along with defining various related register fields. At this point, when en
feat(cpufeat): introduce FEAT_RME_GDI support
This patch adds a new build flag ENABLE_FEAT_RME_GDI to enable this feature, along with defining various related register fields. At this point, when enabled, this feature enables the SA and NSP GPI encodings by setting the corresponding bits in GPCCR_EL3.
Change-Id: I54152fbb3d19b176264e5d16acbcc866725dc290 Signed-off-by: John Powell <john.powell@arm.com> Signed-off-by: Timothy Hayes <timothy.hayes@arm.com>
show more ...
|
| #
09a4bcb8 |
| 17-Sep-2025 |
Girish Pathak <girish.pathak@arm.com> |
feat(cpufeat): add support for FEAT_RME_GPC2
This change adds support for FEAT_RME_GPC2 and Non-Secure-Only (NSO) Physical Address Space.
Previously, all non-secure (NS) memory was accessible to th
feat(cpufeat): add support for FEAT_RME_GPC2
This change adds support for FEAT_RME_GPC2 and Non-Secure-Only (NSO) Physical Address Space.
Previously, all non-secure (NS) memory was accessible to the secure world and realm world. With GPC2 and the NSO bit in the GPT, memory can now be restricted to the non-secure world only. This is enabled automatically on supported systems when ENABLE_RME is true.
Change-Id: I9b70c3a23c5ec7d83bd787d0fb3edd55934f1d05 Signed-off-by: John Powell <john.powell@arm.com> Signed-off-by: Girish Pathak <girish.pathak@arm.com>
show more ...
|
| #
e1362231 |
| 12-Feb-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "memory_bank" into integration
* changes: fix(qemu): statically allocate bitlocks array feat(qemu): update for renamed struct memory_bank feat(fvp): increase GPT PPS t
Merge changes from topic "memory_bank" into integration
* changes: fix(qemu): statically allocate bitlocks array feat(qemu): update for renamed struct memory_bank feat(fvp): increase GPT PPS to 1TB feat(gpt): statically allocate bitlocks array chore(gpt): define PPS in platform header files feat(fvp): allocate L0 GPT at the top of SRAM feat(fvp): change size of PCIe memory region 2 feat(rmm): add PCIe IO info to Boot manifest feat(fvp): define single Root region
show more ...
|
| #
b0f1c840 |
| 24-Jan-2025 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
feat(gpt): statically allocate bitlocks array
Statically allocate 'gpt_bitlock' array of fine-grained 'bitlock_t' data structures in arm_bl31_setup.c. The amount of memory needed for this array is c
feat(gpt): statically allocate bitlocks array
Statically allocate 'gpt_bitlock' array of fine-grained 'bitlock_t' data structures in arm_bl31_setup.c. The amount of memory needed for this array is controlled by 'RME_GPT_BITLOCK_BLOCK' build option and 'PLAT_ARM_PPS' macro defined in platform_def.h which specifies the size of protected physical address space in bytes. 'PLAT_ARM_PPS' takes values from 4GB to 4PB supported by Arm architecture.
Change-Id: Icf620b5039e45df6828d58fca089cad83b0bc669 Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
261edb6a |
| 28-May-2024 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes I710d1780,Ia9a59bde into integration
* changes: feat(gpt): configure memory size protected by bitlock feat(gpt): add support for large GPT mappings
|
| #
d766084f |
| 13-May-2024 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
feat(gpt): configure memory size protected by bitlock
This patch adds support in GPT library for configuration of the memory block size protected by one bit of 'bitlock' structure. Build option 'RME
feat(gpt): configure memory size protected by bitlock
This patch adds support in GPT library for configuration of the memory block size protected by one bit of 'bitlock' structure. Build option 'RME_GPT_BITLOCK_BLOCK' defines the number of 512MB blocks covered by each bit. This numeric parameter must be a power of 2 and can take the values from 0 to 512. Setting this value to 0 chooses a single spinlock for all GPT L1 table entries. The default value is set to 1 which corresponds to 512MB per bit.
Change-Id: I710d178072894a3ef40daebea701f74d19e8a3d7 Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
ec0088bb |
| 13-Mar-2024 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
feat(gpt): add support for large GPT mappings
This patch adds support for large GPT mappings using Contiguous descriptors. The maximum size of supported contiguous block in MB is defined in RME_GPT_
feat(gpt): add support for large GPT mappings
This patch adds support for large GPT mappings using Contiguous descriptors. The maximum size of supported contiguous block in MB is defined in RME_GPT_MAX_BLOCK build parameter and takes values 0, 2, 32 and 512 and by default set to 2 in make_helpers/defaults.mk. Setting RME_GPT_MAX_BLOCK value to 0 disables use of Contiguous descriptors. Function gpt_tlbi_by_pa_ll() and its declaration are removed from lib/aarch64/misc_helpers.S and include/arch/aarch64/arch_helpers.h, because the GPT library now uses tlbirpalos_xxx() functions.
Change-Id: Ia9a59bde1741c5666b4ca1de9324e6dfd6f734eb Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
98f7b60e |
| 19-Apr-2024 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes Ic40e1b7a,I0398b550,Ife594ed6,I3eb0f29b into integration
* changes: fix(gpt): unify logging messages chore(gpt): remove gpt_ prefix feat(aarch64): add functions for TLBI RPALOS
Merge changes Ic40e1b7a,I0398b550,Ife594ed6,I3eb0f29b into integration
* changes: fix(gpt): unify logging messages chore(gpt): remove gpt_ prefix feat(aarch64): add functions for TLBI RPALOS feat(locks): add bitlock
show more ...
|
| #
b99926ef |
| 13-Mar-2024 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
fix(gpt): unify logging messages
This patch modifies GPT library comments and makes logging messages consistent with PRIx64 usage and TF-A format used in other modules. Minor changes are made to mak
fix(gpt): unify logging messages
This patch modifies GPT library comments and makes logging messages consistent with PRIx64 usage and TF-A format used in other modules. Minor changes are made to make the code compliant with MISRA C requirements.
Change-Id: Ic40e1b7ac43cd9602819698d00e1ce3a8c7183ce Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
9c33b087 |
| 09-Mar-2022 |
Soby Mathew <soby.mathew@arm.com> |
Merge "fix(gpt_rme): rework delegating/undelegating sequence" into integration
|
| #
6a00e9b0 |
| 21-Oct-2021 |
Robert Wakim <robert.wakim@arm.com> |
fix(gpt_rme): rework delegating/undelegating sequence
The previous delegating/undelegating sequence was incorrect as per the specification DDI0615, "Architecture Reference Manual Supplement, The Rea
fix(gpt_rme): rework delegating/undelegating sequence
The previous delegating/undelegating sequence was incorrect as per the specification DDI0615, "Architecture Reference Manual Supplement, The Realm Management Extension (RME), for Armv9-A" Sections A1.1.1 and A1.1.2
Off topic: - cleaning the gpt_is_gpi_valid and gpt_check_pass_overlap
Change-Id: Idb64d0a2e6204f1708951137062847938ab5e0ac Signed-off-by: Robert Wakim <robert.wakim@arm.com>
show more ...
|
| #
637fd777 |
| 17-Nov-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(rme): fixes a shift by 64 bits bug in the RME GPT library" into integration
|
| #
322b344e |
| 13-Oct-2021 |
johpow01 <john.powell@arm.com> |
fix(rme): fixes a shift by 64 bits bug in the RME GPT library
Under certain configurations of PPS and L0GPTSZ a macro could result in a right shift by 64 bits. This patch removes that possibility by
fix(rme): fixes a shift by 64 bits bug in the RME GPT library
Under certain configurations of PPS and L0GPTSZ a macro could result in a right shift by 64 bits. This patch removes that possibility by limiting the total size of each shift to the maximum width of the L0 or L1 index field in a physical address. In addition, it adds more detail about how these values are calculated.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Ie71c8e6f922a5bb522a6169701bfc36fc99f765a
show more ...
|
| #
1d651211 |
| 06-Oct-2021 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "za/feat_rme" into integration
* changes: refactor(gpt): productize and refactor GPT library feat(rme): disable Watchdog for Arm platforms if FEAT_RME enabled docs(rme
Merge changes from topic "za/feat_rme" into integration
* changes: refactor(gpt): productize and refactor GPT library feat(rme): disable Watchdog for Arm platforms if FEAT_RME enabled docs(rme): add build and run instructions for FEAT_RME fix(plat/fvp): bump BL2 stack size fix(plat/fvp): allow changing the kernel DTB load address refactor(plat/arm): rename ARM_DTB_DRAM_NS region macros refactor(plat/fvp): update FVP platform DTS for FEAT_RME feat(plat/arm): add GPT initialization code for Arm platforms feat(plat/fvp): add memory map for FVP platform for FEAT_RME refactor(plat/arm): modify memory region attributes to account for FEAT_RME feat(plat/fvp): add RMM image support for FVP platform feat(rme): add GPT Library feat(rme): add ENABLE_RME build option and support for RMM image refactor(makefile): remove BL prefixes in build macros feat(rme): add context management changes for FEAT_RME feat(rme): add Test Realm Payload (TRP) feat(rme): add RMM dispatcher (RMMD) feat(rme): run BL2 in root world when FEAT_RME is enabled feat(rme): add xlat table library changes for FEAT_RME feat(rme): add Realm security state definition feat(rme): add register definitions and helper functions for FEAT_RME
show more ...
|
| #
f19dc624 |
| 16-Jun-2021 |
johpow01 <john.powell@arm.com> |
refactor(gpt): productize and refactor GPT library
This patch updates and refactors the GPT library and fixes bugs.
- Support all combinations of PGS, PPS, and L0GPTSZ parameters. - PPS and PGS are
refactor(gpt): productize and refactor GPT library
This patch updates and refactors the GPT library and fixes bugs.
- Support all combinations of PGS, PPS, and L0GPTSZ parameters. - PPS and PGS are set at runtime, L0GPTSZ is read from GPCCR_EL3. - Use compiler definitions to simplify code. - Renaming functions to better suit intended uses. - MMU enabled before GPT APIs called. - Add comments to make function usage more clear in GPT library. - Added _rme suffix to file names to differentiate better from the GPT file system code. - Renamed gpt_defs.h to gpt_rme_private.h to better separate private and public code. - Renamed gpt_core.c to gpt_rme.c to better conform to TF-A precedent.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I4cbb23b0f81e697baa9fb23ba458aa3f7d1ed919
show more ...
|