tree 0808ac64dd2995844b73e423b6b82a8e93d04fc6
parent 1060243e968b736fe59134913d6a50cd398f513a
author Kathleen Capella <kathleen.capella@arm.com> 1681425417 -0400
committer Kathleen Capella <kathleen.capella@arm.com> 1687900421 -0400

refactor(cpus): convert the Cortex-A75 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 sequences remain
unchanged and preserve their git blame.

Testing was conducted by:
 * Building for release with all errata flags enabled and running script
   in change 19136 to compare output of objdump for each errata. Only
   ERRATA_A75_764081 and ERRATA_A75_790748 could be verified this way,
   rest had to be manually verified.
 * Manual comparison of disassembly of converted functions with non-
   converted functions

   aarch64-none-elf-objdump -D <trusted-firmware-a with conversion>/build/fvp/release/bl31/bl31.elf
     vs
   aarch64-none-elf-objdump -D <trusted-firmware-a clean repo>/build/fvp/release/bl31/bl31.elf

 * Build for release with all errata flags enabled and run default tftf
   tests

   CROSS_COMPILE=aarch64-none-elf- make PLAT=fvp HW_ASSISTED_COHERENCY=1 \
   USE_COHERENT_MEM=0 CTX_INCLUDE_AARCH32_REGS=1 \
   BL33=/home/katcap01/tf-a-tests/build/fvp/debug/tftf.bin \
   ERRATA_A75_764081=1 ERRATA_A75_790748=1 WORKAROUND_CVE_2017_5715=1 \
   WORKAROUND_CVE_2018_3639=1 \
   ERRATA_DSU_798953=1 ERRATA_DSU_936184=1 \
   WORKAROUND_CVE_2022_23960=1 \
   fip all

 * Build for debug with all errata enabled and step through ArmDS
   at reset to ensure all functions are entered.
Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Change-Id: I0cd393db825fcb5c7ddea3aa2a5934ffc4b6046e
