[roll] Roll fuchsia [kernel][userboot] Load userboot via physboot-extracted ELF segments This revamps how the userboot binary is mapped into the first user process. No build-time details of the userboot binary are extracted to compile in constants as before. Instead, with the ELF loading details culled from the ELF file and vetted in physboot, the kernel now loads userboot solely based on that. This is approximately general ELF loading, supporting whatever number of segments. The caveats are that the userboot VMO is used directly for a writable segment (no COW); because of that, the ELF file must use aligned nonoverlapping file segments (which the vetting in physboot's ElfImage already requires). This also adds handles to userboot's bootstrap message from the kernel that in a processargs bootstrap would be PA_THREAD_SELF and PA_VMAR_LOADED. This fills out all the handles that userboot might use as a "normal" static PIE (just with a custom bootstrap message protocol). Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1266525 Original-Revision: be0403dbbb08ec1fb94b0a07335c56e43e73caab GitOrigin-RevId: 1368a57457d29530f2f54b143f3d156f004e261e Change-Id: Ifd51b914c05bbb3c1554aa9442c94a1d8171b1fa
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.