[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
This repository contains Fuchsia's Global Integration manifest files.
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.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.