arm-trusted-firmware/common
Govindraj Raja 306551362c feat(d128): add support for FEAT_D128
This patch disables trapping to EL3 when the FEAT_D128
specific registers are accessed by setting the SCR_EL3.D128En bit.

If FEAT_D128 is implemented, then FEAT_SYSREG128 is implemented.
With FEAT_SYSREG128 certain system registers are treated as 128-bit,
so we should be context saving and restoring 128-bits instead of 64-bit
when FEAT_D128 is enabled.

FEAT_SYSREG128 adds support for MRRS and MSRR instruction which
helps us to read write to 128-bit system register.
Refer to Arm Architecture Manual for further details.

Change the FVP platform to default to handling this as a dynamic option
so the right decision can be made by the code at runtime.

Change-Id: I1a53db5eac29e56c8fbdcd4961ede3abfcb2411a
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-10-24 14:51:55 -05:00
..
aarch32 refactor(aarch64): rename do_panic and el3_panic 2023-02-21 17:26:01 +00:00
aarch64 refactor(bl31): use elx_panic for sysreg_handler64 2023-02-22 17:24:17 +00:00
backtrace fix(debug): decouple "get_el_str()" from backtrace 2022-11-08 10:10:19 +00:00
bl_common.c feat(bl): add plat handler for image loading 2024-06-13 11:30:29 +02:00
desc_image_load.c SPMD: extract SPMC DTB header size from SPMD 2020-05-13 08:08:39 +02:00
fdt_fixup.c fix(fdt): reserved memory: detect existing region 2024-08-30 11:14:55 +02:00
fdt_wrappers.c feat(fdt-wrappers): add function to read uint64 with default value 2024-09-20 14:54:44 +02:00
fdt_wrappers.mk build(fdt-wrappers): introduce FDT wrappers makefile 2021-10-26 12:14:28 +01:00
feat_detect.c feat(d128): add support for FEAT_D128 2024-10-24 14:51:55 -05:00
image_decompress.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
runtime_svc.c Remove support for the SMC Calling Convention 2.0 2019-01-30 16:01:49 +00:00
tf_crc32.c refactor(hw_crc32): renamed hw_crc32 to tf_crc32 2021-08-02 17:15:41 +01:00
tf_log.c feat(common/debug): add new macro ERROR_NL() to print just a newline 2021-07-21 00:01:06 +02:00
uuid.c fix(uuid): add missing #include directives 2023-04-17 16:13:16 +01:00