| ff491036 | 17-Nov-2022 |
Andre Przywara <andre.przywara@arm.com> |
refactor(brbe): enable FEAT_BRBE for FEAT_STATE_CHECKED
At the moment we only support FEAT_BRBE to be either unconditionally compiled in, or to be not supported at all.
Add support for runtime dete
refactor(brbe): enable FEAT_BRBE for FEAT_STATE_CHECKED
At the moment we only support FEAT_BRBE to be either unconditionally compiled in, or to be not supported at all.
Add support for runtime detection (ENABLE_BRBE_FOR_NS=2), by splitting is_feat_brbe_present() into an ID register reading function and a second function to report the support status. That function considers both build time settings and runtime information (if needed), and is used before we access BRBE related registers.
The FVP platform decided to compile in support unconditionally (=1), even though FEAT_BRBE is an ARMv9 feature, so is not available with the FVP model's default command line. Change that to the now supported dynamic option (=2), so the right decision can be made by the code at runtime.
Change-Id: I5f2e2c9648300f65f0fa9a5f8e2f34e73529d053 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| f5360cfa | 17-Nov-2022 |
Andre Przywara <andre.przywara@arm.com> |
refactor(trbe): enable FEAT_TRBE for FEAT_STATE_CHECKED
At the moment we only support FEAT_TRBE to be either unconditionally compiled in, or to be not supported at all.
Add support for runtime dete
refactor(trbe): enable FEAT_TRBE for FEAT_STATE_CHECKED
At the moment we only support FEAT_TRBE to be either unconditionally compiled in, or to be not supported at all.
Add support for runtime detection (ENABLE_TRBE_FOR_NS=2), by splitting is_feat_trbe_present() into an ID register reading function and a second function to report the support status. That function considers both build time settings and runtime information (if needed), and is used before we access TRBE related registers.
The FVP platform decided to compile in support unconditionally (=1), even though FEAT_TRBE is an ARMv9 feature, so is not available with the FVP model's default command line. Change that to the now supported dynamic option (=2), so the right decision can be made by the code at runtime.
Change-Id: Iee7f88ea930119049543a8a4a105389997e7692c Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| de8c4892 | 15-Feb-2023 |
Andre Przywara <andre.przywara@arm.com> |
fix(cpufeat): context-switch: move FGT availability check to callers
To be inline with other features, and to allow the availability to be checked for different contexts, move the FGT availability c
fix(cpufeat): context-switch: move FGT availability check to callers
To be inline with other features, and to allow the availability to be checked for different contexts, move the FGT availability check out of the save/restore functions. This is instead now checked at the caller.
Change-Id: I96e0638714f9d1b6fdadc1cb989cbd33bd48b1f6 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| a4cccb4f | 01-Feb-2023 |
Andre Przywara <andre.przywara@arm.com> |
feat(cpufeat): extend check_feature() to deal with min/max
So far the check_feature() function compares the subfield of a CPU ID register against 0, to learn if a feature is enabled or not. This is
feat(cpufeat): extend check_feature() to deal with min/max
So far the check_feature() function compares the subfield of a CPU ID register against 0, to learn if a feature is enabled or not. This is problematic for checks that require a certain revision of a feature, so we should check against a minimum version number instead. On top of that we might need to add code to support newer versions of a feature, so we should be alerted if new hardware introduces a higher number.
Extend the check_feature() function to take two extra arguments: the minimum version, and the greatest currently known number. Then make sure that the CPU ID field is in this range.
Change-Id: I425b68535a2ba9eafd31854e74d142183b521cd5 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| fd1dd4cb | 25-Jan-2023 |
Andre Przywara <andre.przywara@arm.com> |
refactor(cpufeat): wrap CPU ID register field isolation
Some MISRA test complains about our code to isolate CPU ID register fields: the ID registers (and associated masks) are 64 bits wide, but the
refactor(cpufeat): wrap CPU ID register field isolation
Some MISRA test complains about our code to isolate CPU ID register fields: the ID registers (and associated masks) are 64 bits wide, but the eventual field is always 4 bits wide only, so we use an unsigned int to represent that. MISRA dislikes the differing width here.
Since the code to extract a feature field from a CPU ID register is very schematic already, provide a wrapper macro to make this more readable, and do the proper casting in one central place on the way.
While at it, use the same macro for the AArch32 feature detection side.
Change-Id: Ie102a9e7007a386f5879ec65e159ff041504a4ee Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 55a32830 | 27-Feb-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes I960771e6,I291dc627,I57f31664 into integration
* changes: fix(ufs): set the PRDT length field properly fix(ufs): flush the entire PRDT fix(ufs): only allow using one slot |
| 766d78b1 | 27-Feb-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "mbedtls3_support" into integration
* changes: feat(stm32mp1): add mbedtls-3.3 support config refactor(fvp): minor cleanup with TRUSTED_BOARD_BOOT style(crypto): add b
Merge changes from topic "mbedtls3_support" into integration
* changes: feat(stm32mp1): add mbedtls-3.3 support config refactor(fvp): minor cleanup with TRUSTED_BOARD_BOOT style(crypto): add braces for if statement feat(fvp): increase BL1_RW and BL2 size feat(mbedtls): add support for mbedtls-3.3 refactor(crypto): avoid using struct mbedtls_pk_rsassa_pss_options refactor(mbedtls): avoid including MBEDTLS_CONFIG_FILE
show more ...
|
| 65982a94 | 27-Feb-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(docs): add plantuml as a dependency
This wasn't listed on the web interface configuration. Perhaps it came preloaded. Anyway, it's needed for diagrams. Add it back.
Signed-off-by: Boyan Karatot
fix(docs): add plantuml as a dependency
This wasn't listed on the web interface configuration. Perhaps it came preloaded. Anyway, it's needed for diagrams. Add it back.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I20c1eb0e8d5abaa3533169dd9704cbd3b0eb06a5
show more ...
|
| 78b5ef6b | 27-Feb-2023 |
Joanna Farley <joanna.farley@arm.com> |
Merge "revert(zynqmp): remove EM SMC handler" into integration |
| c9498c8f | 23-Jan-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(stm32mp1): add mbedtls-3.3 support config
Add stm32mp1_mbedtls_config-3.h config file for stm32mp1 builds with mbedtls-3.3
Change-Id: I4581cb0ea7b2c7022e71aefd7ff05ee3a72f5883 Signed-off-by: G
feat(stm32mp1): add mbedtls-3.3 support config
Add stm32mp1_mbedtls_config-3.h config file for stm32mp1 builds with mbedtls-3.3
Change-Id: I4581cb0ea7b2c7022e71aefd7ff05ee3a72f5883 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 82b70384 | 27-Feb-2023 |
Michal Simek <michal.simek@amd.com> |
revert(zynqmp): remove EM SMC handler
EM support was out of SMC SIP range that's why has been moved to SIP range 0x3000 by commit acbae3998bd8 ("fix(zynqmp): move EM SMC range to SIP range"). But af
revert(zynqmp): remove EM SMC handler
EM support was out of SMC SIP range that's why has been moved to SIP range 0x3000 by commit acbae3998bd8 ("fix(zynqmp): move EM SMC range to SIP range"). But after another investigation was found that this interface has no user in any our SW and likely never adopted by anybody else. That's why simply remove it. If there is any user it can be added back but as TF-A size is challenging removing unused code is very welcome. Origin code was added by commit 504925f99da0 ("xilinx: zynqmp: Add support for Error Management").
Change-Id: I2d9222d7dde507400893e06f7f12e1713ce6bc9a Signed-off-by: Michal Simek <michal.simek@amd.com>
show more ...
|
| ad0cbbf5 | 06-May-2020 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8m): fix the dfiphymaster setting after dvfs
the dfi phy master setting need to be save/restore to make sure it aligned with the initial config.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> R
fix(imx8m): fix the dfiphymaster setting after dvfs
the dfi phy master setting need to be save/restore to make sure it aligned with the initial config.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <anson.huang@nxp.com> Change-Id: I4f572b9aff9cc47a6c28524ce0fe03cdc66b88a1
show more ...
|
| 0e39488f | 22-Apr-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8m): update the ddr4 dvfs flow to include ddr3l support
the DDR3L & DDR4 can share same piece of code for DDR frequency scaling. So update the ddr4 dvfs flow to support DDR3L too.
Signed-of
feat(imx8m): update the ddr4 dvfs flow to include ddr3l support
the DDR3L & DDR4 can share same piece of code for DDR frequency scaling. So update the ddr4 dvfs flow to support DDR3L too.
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <anson.huang@nxp.com> Change-Id: Ifc6981f05ed8a4e399adad97690197a9680f554d
show more ...
|
| 5277c096 | 13-Apr-2020 |
Jacky Bai <ping.bai@nxp.com> |
fix(imx8m): correct the rank info get fro mstr
the bitfield of active_ranks in MSTR is defined as below. Correct the rank num get in dram_info.
0x01: one rank; 0x11: two rank;
Signed-off-by: J
fix(imx8m): correct the rank info get fro mstr
the bitfield of active_ranks in MSTR is defined as below. Correct the rank num get in dram_info.
0x01: one rank; 0x11: two rank;
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Anson Huang <anson.huang@nxp.com> Change-Id: Idcadb39f492a8fe81c973ac4136d9a1eaa32f54b
show more ...
|
| 093888ca | 13-Apr-2020 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx8m): fix the ddr4 dvfs random hang on imx8m
Remove the while loop waiting in step12 to align with what we did before, just use a 'if' condition check for debug purpose.
Tested-by: Peng Fan
feat(imx8m): fix the ddr4 dvfs random hang on imx8m
Remove the while loop waiting in step12 to align with what we did before, just use a 'if' condition check for debug purpose.
Tested-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Id2685c5f628270a24944470d675a5c8706f39f13
show more ...
|
| 20fdbcf5 | 22-Feb-2023 |
Jorge Troncoso <jatron@google.com> |
fix(ufs): set the PRDT length field properly
The PRDT length field contains the count of the entries in the PRDT. See JEDEC Standard No. 223E, section 6.1.1, "UTP Transfer Request Descriptor," page
fix(ufs): set the PRDT length field properly
The PRDT length field contains the count of the entries in the PRDT. See JEDEC Standard No. 223E, section 6.1.1, "UTP Transfer Request Descriptor," page 66. Previously we were setting the PRDT length field to the number of bytes in the PRDT divided by four (the size in units of 32 bits). This was incorrect according to the spec.
Signed-off-by: Jorge Troncoso <jatron@google.com> Change-Id: I960771e6ce57002872392993042fae9ec505447e
show more ...
|
| 83ef8698 | 22-Feb-2023 |
Jorge Troncoso <jatron@google.com> |
fix(ufs): flush the entire PRDT
Previously, if the image being read exceeded 12,800 KB (or 50 PRDT entries of size 256 KB), the UFS driver would not flush the entire Physical Region Descriptor Table
fix(ufs): flush the entire PRDT
Previously, if the image being read exceeded 12,800 KB (or 50 PRDT entries of size 256 KB), the UFS driver would not flush the entire Physical Region Descriptor Table (PRDT). This would cause the UFS host controller to read empty PRDT entries, which eventually would make the system crash. This change updates the UFS driver to flush the entire PRDT, irrespective of the size of the image being read.
This change also throws an error if the memory allocated for UFS descriptors is not sufficient to hold the entire Physical Region Descriptor Table (PRDT).
Signed-off-by: Jorge Troncoso <jatron@google.com> Change-Id: I291dc62748992481be3cc156ce1474a6e3990ea9
show more ...
|
| 56db7b8b | 22-Feb-2023 |
Jorge Troncoso <jatron@google.com> |
fix(ufs): only allow using one slot
Currently the UFS driver places the Command UPIU, Response UPIU, and PRDT immediately after the UTP Transfer Request Descriptor. This space would normally be rese
fix(ufs): only allow using one slot
Currently the UFS driver places the Command UPIU, Response UPIU, and PRDT immediately after the UTP Transfer Request Descriptor. This space would normally be reserved for other slots in the UTP Transfer Request List, but because we always use slot zero, the other slots in the UTP Transfer Request List are never used and this is okay.
Because the Command UPIU, Response UPIU, and PRDT are placed inside the UTP Transfer Request List, the UFS driver would break if two or more slots were used at the same time. Therefore, in a sense the get_empty_slot() function is misleading. It gives developers the illusion that they can use two or more slots simultaneously but in reality they cannot.
This change deletes the get_empty_slot() function and replaces it with is_slot_available() so that only one slot can be used.
Signed-off-by: Jorge Troncoso <jatron@google.com> Change-Id: I57f316640a1cdd56493505ede61f3012ceb2f305
show more ...
|
| 3d2da6f5 | 25-Feb-2023 |
Joanna Farley <joanna.farley@arm.com> |
Merge "feat(zynqmp): add hooks for mmap and early setup" into integration |
| 19c1dcef | 12-Jan-2023 |
Mate Toth-Pal <mate.toth-pal@arm.com> |
fix(rme): update sample platform attestation token
Update FVP platform attestation token to comply with RMM Beta0 specification. The changes are: - change platform implementation id claim value from
fix(rme): update sample platform attestation token
Update FVP platform attestation token to comply with RMM Beta0 specification. The changes are: - change platform implementation id claim value from 64 to 32 bits - change Realm Challenge - update Hash Algorithm Identifier claim value - add protected header - change signing algotithm to ECDSA ES384
Change-Id: I1c5907d1a4961ce08a1408d25128de125b3f2e7f Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
show more ...
|
| 295f0d84 | 24-Feb-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "feat(build): allow additional CFLAGS for library build" into integration |
| 70134000 | 23-Feb-2023 |
Amit Nagal <amit.nagal@amd.com> |
feat(zynqmp): add hooks for mmap and early setup
Add early setup hooks (via custom_early_setup()) and provide a way to cover custom memory mapping which includes extending memory map via custom_mmap
feat(zynqmp): add hooks for mmap and early setup
Add early setup hooks (via custom_early_setup()) and provide a way to cover custom memory mapping which includes extending memory map via custom_mmap_add().
This likely also require to align MAX_XLAT_TABLE, MAX_XLAT_TABLES macros. It can be done for example by defining these macros in custom_pkg.mk MAX_MMAP_REGIONS := XY $(eval $(call add_define,MAX_MMAP_REGIONS)) MAX_XLAT_TABLES := XZ $(eval $(call add_define,MAX_XLAT_TABLES))
custom_early_setup() can be used for early low level operations related to setting up the system to correct state.
Signed-off-by: Amit Nagal <amit.nagal@amd.com> Change-Id: I61df6f9ba5af0bc97c430974fb10a2edde44f23d
show more ...
|
| dc2b8e80 | 23-Feb-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topic "panic_cleanup" into integration
* changes: refactor(bl31): use elx_panic for sysreg_handler64 refactor(aarch64): rename do_panic and el3_panic refactor(aarch64): remo
Merge changes from topic "panic_cleanup" into integration
* changes: refactor(bl31): use elx_panic for sysreg_handler64 refactor(aarch64): rename do_panic and el3_panic refactor(aarch64): remove weak links to el3_panic refactor(aarch64): refactor usage of elx_panic refactor(aarch64): cleanup HANDLE_EA_EL3_FIRST_NS usage
show more ...
|
| 66a387d4 | 23-Feb-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix: remove useless "return" at void functions" into integration |
| b48b921b | 23-Feb-2023 |
Joanna Farley <joanna.farley@arm.com> |
Merge "fix(zynqmp): add bitmask for get_op_char API" into integration |