M. R. Miller 5ce54f3a0f New procedure for determining the core crystal clock frequency:
1. Try obtaining crystal clock frequency from CPUID_TIME_STAMP_COUNTER (15h) leaf from ECX.
  2. On failure, take predefined values for known processor models.
  3. On failure, check for CPUID_PROCESSOR_FREQUENCY availability and divide by the TSC ratio.
  4. On failure, assume 24 MHz.

Added info about the highest supported leaf (OC_CPU_INFO::MaxId).
Fixed a few places which were incorrectly comparing standard CPUID leaves against the maximum extended function leaf (OC_CPU_INFO::MaxExtId).
Add a warning in case the TSC- and ART-derived frequency calculations are wildly different.
2019-08-20 14:11:48 +03:00
2019-04-10 08:29:47 +03:00
2019-07-16 20:21:43 +03:00
2019-07-24 10:46:01 +03:00
2019-03-29 13:44:17 +03:00
2018-10-02 20:04:48 +03:00
2019-03-19 20:33:20 +02:00
2019-06-04 20:46:51 +03:00

OcSupportPkg

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.

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

Features

  • Apple PE image signature verification
  • CPU information gathering
  • Cryptographic primitives (SHA-256, RSA, etc.)
  • Helper code for ACPI reads and modifications
  • Higher level abstractions for files, strings, timers, variables
  • Overflow checking arithmetics
  • PE image loading with no UEFI Secure Boot conflict
  • Plist configuration format parsing
  • PNG image loading

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%