vit9696 4e0ff2dfa7 OcConsoleLib: Added Apple variant of GopPassThrough
On MP3,1 with UGA there is a dangling UGA protocol with 1024x768
resolution on ConOut, which points nowhere when no Apple GPU is
installed. Installing GOP on it results in black screen due to
the wrong GOP being chosen for ConOut.

The workaround is not to install the GOP without AppleFramebufferInfo
but this is only applicable to Apple machines, thus the option.
2021-05-23 10:32:35 +03:00
2021-05-19 20:09:48 +03:00
2021-02-18 19:00:48 +08:00
2020-05-17 14:28:41 +03:00
2021-05-09 14:52:18 +03:00

Build Status Scan Status

OpenCore bootloader with development SDK.

Discussion

Libraries

This repository also contains additional UEFI support common libraries shared by other projects in Acidanthera. The primary purpose of the library set is to provide supplemental functionality for Apple-specific UEFI drivers. Key features:

  • Apple disk image loading support
  • Apple keyboard input aggregation
  • Apple PE image signature verification
  • Apple UEFI secure boot supplemental code
  • Audio management with screen reading support
  • Basic ACPI and SMBIOS manipulation
  • CPU information gathering with timer support
  • Cryptographic primitives (SHA-256, RSA, etc.)
  • Decompression primitives (zlib, lzss, lzvn, etc.)
  • Helper code for ACPI reads and modifications
  • Higher level abstractions for files, strings, UEFI variables
  • Overflow checking arithmetics
  • PE image loading with no UEFI Secure Boot conflict
  • Plist configuration format parsing
  • PNG image manipulation
  • Text output and graphics output implementations
  • XNU kernel driver injection and patch engine

Early history of the codebase could be found in AppleSupportPkg and PicoLib library set by The HermitCrabs Lab.

OcGuardLib

This library implements basic safety features recommended for the use within the project. It implements fast safe integral arithmetics mapping on compiler builtins, type alignment checking, and UBSan runtime, based on NetBSD implementation.

The use of UBSan runtime requires the use of Clang compiler and -fsanitize=undefined argument. Refer to Clang documentation for more details.

Credits

Description
OpenCore bootloader
Readme 345 MiB
Languages
C 95.2%
Assembly 1.9%
Shell 0.9%
Python 0.9%
C++ 0.8%
Other 0.3%