| #
17511817 |
| 01-Dec-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(gpt): remove unused `gpt_disable` function" into integration
|
| #
764e2bd9 |
| 24-Nov-2025 |
Ludovic Mermod <ludovic.mermod@arm.com> |
fix(gpt): remove unused `gpt_disable` function
After GPT protections are enabled, there are no scenarios where they need to be disabled, similarly to how TZC-400 protections are not disabled after b
fix(gpt): remove unused `gpt_disable` function
After GPT protections are enabled, there are no scenarios where they need to be disabled, similarly to how TZC-400 protections are not disabled after being setup.
Change-Id: I7eae3147130c7a6c3b7b3e9c10e8e7229f32505d Signed-off-by: Ludovic Mermod <ludovic.mermod@arm.com>
show more ...
|
| #
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 ...
|
| #
843bc862 |
| 30-Sep-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge "fix(gpt): fix fill_l1_cont_desc() function" into integration
|
| #
9bc1e599 |
| 02-Sep-2025 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
fix(gpt): fix fill_l1_cont_desc() function
GPT library function fill_l1_cont_desc() writes contiguous descriptors and is called in a loop by fill_l1_tbl() which fills out GPI entries in in a single
fix(gpt): fix fill_l1_cont_desc() function
GPT library function fill_l1_cont_desc() writes contiguous descriptors and is called in a loop by fill_l1_tbl() which fills out GPI entries in in a single L1 table. The loop terminates when the address of the first granule in range 'first' exceeds address of the last granule (inclusive) 'last'. This patch fixes the issue when fill_l1_cont_desc() was iterating through all matching contiguous block sizes 512, 32 and 2MB in a loop and filling consecutive smaller descriptors instead of filling a single one with a maximum size. This resulted for memory region 0x80000000 of size 1.5GB (3*512MB)to be filled with 2 512MB, 8 32MB and 128 2MB contiguous descriptors instead of 3 512MB descriptors with build option RME_GPT_MAX_BLOCK=512. This patch also removes unused definition of ARM_PAS_GPI_ANY macro in fvp_pas_def.h.
Change-Id: I9fcff512af306a57d17dee0bade74d2f3f79b5e9 Signed-off-by: AlexeiFedorov <Alexei.Fedorov@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 ...
|
| #
88c66f61 |
| 18-Sep-2024 |
Yann Gautier <yann.gautier@st.com> |
Merge "chore(gpt): fix typo in comment" into integration
|
| #
670150b8 |
| 20-Aug-2024 |
Moritz Fischer <moritzf@google.com> |
chore(gpt): fix typo in comment
Fix a confusing typo in comment docstring.
Change-Id: I9424454b9fa140bf6a482dea7f8cba24806068b6 Signed-off-by: Moritz Fischer <moritzf@google.com>
|
| #
db04e56c |
| 27-Jun-2024 |
Soby Mathew <soby.mathew@arm.com> |
Merge "fix(gpt): fix GPT library fill_l1_tbl() function" into integration
|
| #
d024cce3 |
| 20-Jun-2024 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
fix(gpt): fix GPT library fill_l1_tbl() function
GPT library function fill_l1_tbl() gets 'first' and 'last' parameters which are the start addresses of the 1st and the last granules in the range to
fix(gpt): fix GPT library fill_l1_tbl() function
GPT library function fill_l1_tbl() gets 'first' and 'last' parameters which are the start addresses of the 1st and the last granules in the range to fill L1 GPT table. When RME_GPT_MAX_BLOCK build option is not 0, condition for 'while' loop should be changed from 'first < last' to 'first <= last' in the case of 'first' = 'last' when a single granule is passed.
Change-Id: I9b49a78b5a2f7a01f51dbce43bd3f3cfbb458fa2 Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
85b9401b |
| 07-Jun-2024 |
Soby Mathew <soby.mathew@arm.com> |
Merge "fix(gpt): fix RME GPT library bug" into integration
|
| #
6350aea2 |
| 06-Jun-2024 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
fix(gpt): fix RME GPT library bug
This patch fixes fill_l1_tbl() function bug for RME_GPT_MAX_BLOCK build option set to 0 disabling filling L1 tables with Contiguous descriptors.
Change-Id: I3eedd6
fix(gpt): fix RME GPT library bug
This patch fixes fill_l1_tbl() function bug for RME_GPT_MAX_BLOCK build option set to 0 disabling filling L1 tables with Contiguous descriptors.
Change-Id: I3eedd6c1bb55b7c207bb3630d1ab2fda8f72eb17 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 ...
|
| #
20e2683d |
| 13-Mar-2024 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
chore(gpt): remove gpt_ prefix
This patch removes 'gpt_' prefix from the names of static functions for better code readability.
Change-Id: I0398b55047a73209da598b708240fcba47c779f7 Signed-off-by: A
chore(gpt): remove gpt_ prefix
This patch removes 'gpt_' prefix from the names of static functions for better code readability.
Change-Id: I0398b55047a73209da598b708240fcba47c779f7 Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
57c266dc |
| 28-Feb-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(gpt): use DC CIGDPAPA when MTE2 is implemented" into integration
|
| #
62d64652 |
| 17-Jan-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
fix(gpt): use DC CIGDPAPA when MTE2 is implemented
Use cache clean and invalidate of data and allocation tags by PA to PoPA maintenance instruction (dc cigdpapa) in the GPT library upon changing the
fix(gpt): use DC CIGDPAPA when MTE2 is implemented
Use cache clean and invalidate of data and allocation tags by PA to PoPA maintenance instruction (dc cigdpapa) in the GPT library upon changing the PAS for a memory region. This is required to flush allocation tags when MTE2 (and above) is implemented.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: I4b70afb297f693b1d446839607922c47111ce063
show more ...
|
| #
bc1123fa |
| 15-Dec-2022 |
Soby Mathew <soby.mathew@arm.com> |
Merge "fix(gpt_rme): fix compilation error for gpt_rme.c" into integration
|
| #
a0d5147b |
| 09-Dec-2022 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
fix(gpt_rme): fix compilation error for gpt_rme.c
This patch fixes compilation error for gpt_init_l0_tables() function in lib/gpt_rme/gpt_rme.c reported by GCC 13.0.0:
"gpt_rme/gpt_rme.c:765:5: err
fix(gpt_rme): fix compilation error for gpt_rme.c
This patch fixes compilation error for gpt_init_l0_tables() function in lib/gpt_rme/gpt_rme.c reported by GCC 13.0.0:
"gpt_rme/gpt_rme.c:765:5: error: conflicting types for 'gpt_init_l0_tables' due to enum/integer mismatch; have 'int(unsigned int, uintptr_t, size_t)' {aka 'int(unsigned int, long unsigned int, long unsigned int)'}"
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com> Change-Id: I38f28be290337e7d37d59b52cad7bde5b96b8d51
show more ...
|