[roll] Roll fuchsia [kernel][arm64] Clean kernel load image before secondary CPUs start

This is a step towards removing set-way data cache operations, but also
to finally put to bed the previous problem of how to ensure that
pre-cache secondary CPUs have a view of the relevant memory that's
coherent with the boot CPU. As reasoned elsewhere, it should suffice to
ensure that (1) the code the secondary CPUs would touch before enabling
caching and (2) the variables it loads are cleaned to the point of
coherency. While we could be surgical about that, it suffices to simply
clean the whole kernel load image, which surely would include (1) and
(2).

Previously this was done with an even larger hammer of cleaning the
whole boot CPU data cache. We don't need to go that big - and our desire
to not use set-way data cache operations suggests that we need an'
alternative. Also, for historical reasons, this call was made in
physboot; now it's done just before secondary CPUs are brought online
(i.e., at the top of topology_cpu_init()).

Also removed in this change are the artifacts of the previous attempt to
be more surgical, as alluded to above. The pitfall with that attempt was
that we didn't end up actually cleaning all of the secondary code! While
we properly bounded the instructions and cleaned that range, we didn't
account for branches taken within.

Original-Bug: 408020980
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1261588
Original-Revision: a50cad60f743b18b7e5a0f5afcf9feb16df489d3
GitOrigin-RevId: 5653ba4c531bbd4848d7c4f45e309a525057c4bf
Change-Id: I8190d2941697b211c5c9efa2988768701c7960f7
1 file changed
tree: df44845482c78c60e2952c0605ab3de09ca568d7
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.