arm-trusted-firmware/lib
Sona Mathew 40eef67e6e refactor(cpus): convert Cortex-A35 to use the errata framework
This involves replacing:
 * the reset_func with the standard cpu_reset_func_{start,end} to apply
   errata automatically
 * the <cpu>_errata_report with the errata_report_shim to report errata
   automatically
...and for each erratum:
 * the prologue with the workaround_<type>_start to do the checks and
   framework registration automatically
 * the epilogue with the workaround_<type>_end
 * the checker function with the check_erratum_<type> to make it more
   descriptive

It is important to note that the errata workaround and checking
sequences remain unchanged and preserve their git blame. Testing was
conducted by:

 * Manual comparison of disassembly of converted functions with non-
   converted functions.

	aarch64-none-elf-objdump -D <TF-A with
	conversion>/build/../release/bl31/bl31.elf
     	vs
	aarch64-none-elf-objdump -D <TF-A with
	clean repo>/build/fvp/release/bl31/bl31.elf

 * Build for release with all errata flags enabled and ensure the
   changes were identical.
	CROSS_COMPILE=aarch64-none-elf- make PLAT=fvp \
	DEBUG=0 HW_ASSISTED_COHERENCY=0 \
	BL33=<tf-a-tests>/build/fvp/debug/tftf.bin \
	all fip ERRATA_A35_855472=1

 * Build for debug with all errata enabled and step through ArmDS
   at reset to ensure all functions are entered.

Change-Id: Ib001e9fc269e60369ccfda0245a3e6247f0d6aaa
Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>
2023-08-04 17:23:18 -05:00
..
aarch32 fix(cpus): remove plat_can_cmo check for aarch32 2022-11-14 15:31:17 +01:00
aarch64 refactor(build): distinguish BL2 as TF-A entry point and BL2 running at EL3 2023-03-15 11:43:14 +00:00
bl_aux_params fix: libc: use long for 64-bit types on aarch64 2021-11-08 14:41:17 +00:00
compiler-rt feat(compiler-rt): update source files 2023-05-11 10:32:14 +01:00
coreboot feat(optee): add device tree for coreboot table 2023-05-11 10:46:57 +02:00
cpus refactor(cpus): convert Cortex-A35 to use the errata framework 2023-08-04 17:23:18 -05:00
debugfs fix(tree): correct some typos 2023-05-09 15:57:12 +01:00
el3_runtime refactor(cm): set MDCR_EL3/CPTR_EL3 bits in respective feat_init_el3() only 2023-07-24 11:04:44 +01:00
extensions refactor(cm): set MDCR_EL3/CPTR_EL3 bits in respective feat_init_el3() only 2023-07-24 11:04:44 +01:00
fconf chore(fconf): rename last occurences of set_fw_config_info() 2023-06-06 14:38:34 +02:00
gpt_rme fix(gpt_rme): fix compilation error for gpt_rme.c 2022-12-09 11:27:14 +00:00
libc feat(libc): add %X to printf/snprintf 2023-07-13 13:37:38 -07:00
libfdt chore(libfdt): update to v1.7.0 source files 2023-05-11 10:28:47 +01:00
locks style: remove useless trailing semicolon and line continuations 2023-03-09 14:59:08 +01:00
mpmm fix(errata): workaround for Cortex-A510 erratum 2250311 2022-02-24 23:30:41 +02:00
optee fix(tree): correct some typos 2023-05-09 15:57:12 +01:00
pmf build: always prefix section names with . 2023-02-20 18:29:33 +00:00
psa feat(psa): interface with RSS for retrieving ROTPK 2023-07-14 14:04:31 -05:00
psci refactor(cpus): convert the Cortex-A510 to use the errata framework 2023-07-27 09:35:12 +01:00
romlib style: normalize linker script code style 2023-02-10 17:01:46 +00:00
semihosting fix(semihosting): fix seek call failure check 2022-09-28 11:53:42 +01:00
stack_protector Disable stack protection explicitly 2019-10-20 14:59:09 -04:00
utils MISRA cleanup in mem_region and semihosting files 2020-08-07 19:11:23 -05:00
xlat_mpu refactor(fvp_r): remove unused files and clean up makefiles 2021-10-29 09:43:19 -05:00
xlat_tables fix(tree): correct some typos 2023-05-09 15:57:12 +01:00
xlat_tables_v2 fix(xlat): fix defects on the xlat library reported by coverity scan 2023-07-13 16:36:33 +01:00
zlib style: fix functions definitions 2023-03-13 12:34:40 +01:00