Browse Source

fix(cpus): update doc and check for plat_can_cmo

plat_can_cmo must not clobber x1 but the doc doesn't mention that. This
patch updates the doc to mention x1. It also adds check for plat_can_cmo
to `dcsw_op_louis` which was missed out in original patch.

Signed-off-by: Okash Khawaja <okash@google.com>
Change-Id: I721376bf3726520d0d5b0df0f33f98ce92257287
pull/1989/head
Okash Khawaja 2 years ago
committed by Manish Pandey
parent
commit
a2e0123484
  1. 4
      docs/getting_started/porting-guide.rst
  2. 1
      lib/aarch64/cache_helpers.S

4
docs/getting_started/porting-guide.rst

@ -1502,8 +1502,8 @@ When CONDITIONAL_CMO flag is enabled:
- This function indicates whether cache management operations should be
performed. It returns 0 if CMOs should be skipped and non-zero
otherwise.
- The function must not clobber x2 and x3. It's also not safe to rely on stack.
Otherwise obey AAPCS.
- The function must not clobber x1, x2 and x3. It's also not safe to rely on
stack. Otherwise obey AAPCS.
Modifications specific to a Boot Loader stage
---------------------------------------------

1
lib/aarch64/cache_helpers.S

@ -217,6 +217,7 @@ dcsw_loop_table:
func dcsw_op_louis
check_plat_can_cmo
dcsw_op #LOUIS_SHIFT, #CLIDR_FIELD_WIDTH, #LEVEL_SHIFT
endfunc dcsw_op_louis

Loading…
Cancel
Save