Changed function to use original symbol values instead of recalculating them, as segment information is not available on macOS 11 and newer. Implemented full 32-bit support for TSC value calculations.
As of macOS 13 Developer Beta 3, the __PRELINK_INFO marker segment is
broken. It is not actually used in the Kernel Collection paths, so
just don't locate it at all to avoid future mistakes.
As of macOS 13 Developer Beta 3, the Kernel Collection's inner kernel
references a segment that precedes itself. The current model is that
a Kernel Collection is a container format and the included files are
(mostly) separate. Hence, this was treated as an out-of-bounds issue.
Kernel Collections apparently are rather an unconventional composite
format, where the sub-files are still part of the whole. Redesign
OcMachoLib to treat the Kernel Collection as the reference file.
Patches still use only the inner file, while parsing considers the
whole file.
* exclude memtest86 generated log files and reports from vault.plist
* make CreateVault scripts work on linux too
* create_vault.sh: use shellcheck suggestions
* create_vault.sh: use full path to sort for consistency
macOS 13 Developer Beta 1 introduced a new driver, bootrt.efi, which
now carries the kernel call gate. It communicates with efiboot via an
info buffer passed via LoadOptions. Patch it on load with our hook to
run our kernel entry code.
macOS 13 Developer Beta 1 introduced a new driver, bootrt.efi, which
now carries the kernel call gate. It communicates with efiboot via an
info buffer passed via LoadOptions.
The current relocation code is only supported in conjunction with
ProvideCustomSlide. Add support for disabled ProvideCustomSlide and
slide=0 in boot-args.