Skip to content

Commit

Permalink
november 2020 updates
Browse files Browse the repository at this point in the history
  • Loading branch information
simprecicchiani committed Nov 5, 2020
1 parent 4b84193 commit 111f571
Show file tree
Hide file tree
Showing 258 changed files with 1,200 additions and 18,908 deletions.
19 changes: 17 additions & 2 deletions Docs/AcpiSamples/SSDT-EC-USBX.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,13 @@
*
* Try NOT to rename EC0, H_EC, etc. to EC.
* These devices are incompatible with macOS and may break
* at any time. AppleACPIEC kext must NOT load.
* at any time. AppleACPIEC kext must NOT load on desktops.
* See the disable code below.
*
* While on some laptops, this kext is essential to access EC
* region for battery status etc. Please ignore EC related
* patches under the circumstance.
*
* Reference USB: https://applelife.ru/posts/550233
* Reference EC: https://applelife.ru/posts/807985
*/
Expand Down Expand Up @@ -60,7 +64,7 @@ DefinitionBlock ("", "SSDT", 2, "ACDT", "SsdtEC", 0x00001000)
{
Return (Buffer (One)
{
0x03 // .
0x03 // .
})
}

Expand All @@ -76,6 +80,17 @@ DefinitionBlock ("", "SSDT", 2, "ACDT", "SsdtEC", 0x00001000)
0x0834
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
}
}

Expand Down
6 changes: 5 additions & 1 deletion Docs/AcpiSamples/SSDT-EC.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,13 @@
*
* Try NOT to rename EC0, H_EC, etc. to EC.
* These devices are incompatible with macOS and may break
* at any time. AppleACPIEC kext must NOT load.
* at any time. AppleACPIEC kext must NOT load on desktops.
* See the disable code below.
*
* While on some laptops, this kext is essential to access EC
* region for battery status etc. Please ignore EC related
* patches under the circumstance.
*
* Reference USB: https://applelife.ru/posts/550233
* Reference EC: https://applelife.ru/posts/807985
*/
Expand Down
11 changes: 11 additions & 0 deletions Docs/AcpiSamples/SSDT-IMEI.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,17 @@ DefinitionBlock ("", "SSDT", 2, "ACDT", "IMEI", 0x00000000)
Device (IMEI)
{
Name (_ADR, 0x00160000) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
}
}
}
Expand Down
82 changes: 50 additions & 32 deletions Docs/AcpiSamples/SSDT-PLUG.dsl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* XCPM power management compatibility table.
* XCPM power management compatibility table with Darwin method.
*
* Please note that this table is only a sample and may need to be
* adapted to fit your board's ACPI stack. For instance, both scope
Expand Down Expand Up @@ -35,9 +35,11 @@ DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000)
If (CondRefOf (\_SB.CPU0)) {
If ((ObjectType (\_SB.CPU0) == 0x0C)) {
Scope (\_SB.CPU0) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
If (_OSI ("Darwin")) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
Expand All @@ -46,9 +48,11 @@ DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000)
If (CondRefOf (\_PR.CPU0)) {
If ((ObjectType (\_PR.CPU0) == 0x0C)) {
Scope (\_PR.CPU0) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
If (_OSI ("Darwin")) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
Expand All @@ -57,9 +61,11 @@ DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000)
If (CondRefOf (\_SB.PR00)) {
If ((ObjectType (\_SB.PR00) == 0x0C)) {
Scope (\_SB.PR00) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
If (_OSI ("Darwin")) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
Expand All @@ -68,9 +74,11 @@ DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000)
If (CondRefOf (\_PR.CP00)) {
If ((ObjectType (\_PR.CP00) == 0x0C)) {
Scope (\_PR.CP00) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
If (_OSI ("Darwin")) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
Expand All @@ -79,53 +87,63 @@ DefinitionBlock ("", "SSDT", 2, "ACDT", "CpuPlug", 0x00003000)
If (CondRefOf (\_PR.C000)) {
If ((ObjectType (\_PR.C000) == 0x0C)) {
Scope (\_PR.C000) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
If (_OSI ("Darwin")) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
}

If (CondRefOf (\_PR.P000)) {
If (CondRefOf (\_PR.P000)) {
If ((ObjectType (\_PR.P000) == 0x0C)) {
Scope (\_PR.P000) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
If (_OSI ("Darwin")) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
}

If (CondRefOf (\_PR.PR00)) {
If (CondRefOf (\_PR.PR00)) {
If ((ObjectType (\_PR.PR00) == 0x0C)) {
Scope (\_PR.PR00) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
If (_OSI ("Darwin")) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
}

If (CondRefOf (\_SB.SCK0.CP00)) {
If (CondRefOf (\_SB.SCK0.CP00)) {
If ((ObjectType (\_SB.SCK0.CP00) == 0x0C)) {
Scope (\_SB.SCK0.CP00) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
If (_OSI ("Darwin")) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
}

If (CondRefOf (\_SB.SCK0.PR00)) {
If (CondRefOf (\_SB.SCK0.PR00)) {
If ((ObjectType (\_SB.SCK0.PR00) == 0x0C)) {
Scope (\_SB.SCK0.PR00) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
If (_OSI ("Darwin")) {
Method (_DSM, 4, NotSerialized)
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
}
}
}
}
Expand Down
22 changes: 22 additions & 0 deletions Docs/AcpiSamples/SSDT-SBUS-MCHC.dsl
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,17 @@ DefinitionBlock ("", "SSDT", 2, "ACDT", "MCHCSBUS", 0x00000000)
Device (MCHC)
{
Name (_ADR, Zero) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
}
}

Expand Down Expand Up @@ -39,6 +50,17 @@ DefinitionBlock ("", "SSDT", 2, "ACDT", "MCHCSBUS", 0x00000000)
})
}
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
}

Method (DTGP, 5, NotSerialized)
Expand Down
32 changes: 32 additions & 0 deletions Docs/AcpiSamples/SSDT-UNC.dsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Discovered on X99-series.
* These platforms have uncore PCI bridges for 4 CPU sockets
* present in ACPI despite having none physically.
*
* Under normal conditions these are disabled depending on
* CPU presence in the socket via Processor Bit Mask (PRBM),
* but on X99 this code is unused or broken as such bridges
* simply do not exist. We fix that by writing 0 to PRBM.
*
* Doing so is important as starting with macOS 11 IOPCIFamily
* will crash as soon as it sees non-existent PCI bridges.
*/

DefinitionBlock ("", "SSDT", 2, "ACDT", "UNC", 0x00000000)
{
External (_SB.UNC0, DeviceObj)
External (PRBM, IntObj)

Scope (_SB.UNC0)
{
Method (_INI, 0, NotSerialized)
{
// In most cases this patch does benefit all operating systems,
// yet on select pre-Windows 10 it may cause issues.
// Remove If (_OSI ("Darwin")) in case you have none.
If (_OSI ("Darwin")) {
PRBM = 0
}
}
}
}
63 changes: 59 additions & 4 deletions Docs/Changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,60 @@
OpenCore Changelog
==================
#### v0.6.3
- Added support for xml comments in plist files
- Updated underlying EDK II package to edk2-stable202008
- Provide fallbacks for NULL memory SMBIOS strings
- Fixed `BOOTx64.efi` and `BOOTIA32.efi` convention
- Fixed SMBIOS handling with multiple memory arrays
- Fixed memory array handle assignment on empty slots
- Fixed CPUID patching on certain versions of macOS 10.4.10 and 10.4.11
- Fixed incorrect core/thread counts on Pentium M processors
- Added `SSDT-UNC.dsl` ACPI sample to resolve X99 issues, thx @RemB
- Updated builtin firmware versions for SMBIOS and the rest
- Increased slide allocation reserve to 200 MB for Big Sur beta 10
- Fixed assert when trying to enable direct renderer on blit-only GOP
- Added support for custom memory properties
- Fixed intermittent 32-bit prelinking failures caused by improper Mach-O expansion
- Fixed failures in cacheless injection dependency resolution
- Fixed detection issues with older Atom CPUs
- Fixed `ScanPolicy` NVMe handling on MacPro5,1
- Fixed I/O issues on platforms incapable of reading over 1MB at once
- Fixed plist-only kext injection in Big Sur
- Add `ForceResolution` option for enabling non-default resolutions
- Fixed Ps2MouseDxe not properly loading under OpenDuetPkg
- Added workaround for read-only errors on some X299 boards
- Added support for `x86legacy` Secure Boot model
- Added missing Secure Boot NVRAM variables required by 11.0
- Added setting of `system-id` NVRAM variable
- Added `ForceSecureBootScheme` quirk for virtual machines
- Fixed kernel and ACPI patches failing to replace last bytes of memory

#### v0.6.2
- Updated builtin firmware versions for SMBIOS and the rest
- Added `ProcessorType` option to `Generic` allowing custom CPU names
- Fixed `UnblockFsConnect` option not working with APFS JumpStart
- Added IA32 binary variant to the release bundles
- Fixed improper handling of cacheless kexts without an Info.plist
- Fixed improper calculation of kext startup address for blocking
- Added mkext 32-bit kext injection (10.4-10.6)
- Added cacheless 32-bit kext injection (10.4-10.7)
- Added 32-bit kernel/kext patching/blocking support
- Fixed issues loading 10.7 EfiBoot
- Added `Type` to `ReservedMemory` to fulfil hibernation hack needs
- Added workaround to displaying `Preboot` instead of `Macintosh HD`
- Added prelinkedkernel 32-bit kext injection (10.6-10.7)
- Added `SystemMemoryStatus` to override memory replacement on some models
- Added older Pentium CPU recognition in SMBIOS
- Added `ExtendBTFeatureFlags` to properly set `FeatureFlags` for Bluetooth (which substitutes BT4LEContinuityFixup)
- Added `MinKernel`/`MaxKernel` to CPUID emulation and `DummyPowerManagement`
- Fixed `-legacy` not being added in `KernelArch` `Auto` mode
- Fixed `i386-user32` not forcing `i386` on macOS 10.7 on X64 firmware
- Fixed `i386-user32` being incorrectly enabled in macOS 10.4, 10.5, and 10.7
- Disabled prelinked boot for macOS 10.4 and 10.5 in `KernelCache` `Auto` mode
- Fixed `macserial` compatibility with iMac20,x serials and other models from 2020
- Added `LegacyCommpage` quirk to improve pre-SSSE3 userspace compatibility
- Fixed legacy SATA HDDs displaying as external drives in the picker

#### v0.6.1
- Improved recognition of early pressed hotkeys, thx @varahash
- Made DMG loading support configurable via `DmgLoading`
Expand Down Expand Up @@ -115,7 +170,7 @@ OpenCore Changelog
- Added prebuilt version of `CrScreenshotDxe` driver
- Fixed Hyper-V frequency detection compatibility
- Added `SysReport` option for DEBUG builds to dump system info
- Fixed crashes on some AMD firmwares when performing keyboard input
- Fixed crashes on some AMD firmware when performing keyboard input

#### v0.5.8
- Fixed invalid CPU object reference in SSDT-PLUG
Expand Down Expand Up @@ -173,8 +228,8 @@ OpenCore Changelog

#### v0.5.6
- Various improvements to builtin text renderer
- Fixed locating DMG recovery in APTIO IV firmwares on FAT32
- Fixed loading DMG recovery in APTIO IV firmwares on FAT32
- Fixed locating DMG recovery in APTIO IV firmware on FAT32
- Fixed loading DMG recovery in APTIO IV firmware on FAT32
- Removed `AvoidHighAlloc` quirk due to removed I/O over 4GB
- Moved `ConsoleMode`, `Resolution` options to `Output` section
- Moved console-related UEFI quirks to `Output` section
Expand All @@ -192,7 +247,7 @@ OpenCore Changelog
- Added `HideAuxiliary` and `Auxiliary` options
- Fixed picker timeout and log timestamps for VMware
- Fixed NULL parent DeviceHandle for launched tools
- Added bundled HiiDatabase driver for very old firmwares
- Added bundled HiiDatabase driver for very old firmware
- Added SSE2 support in memory intrinsics for better performance
- Improved ACPI PM timer CPU frequency calculation performance
- Improved LapicKernelPanic compatibility with newer macOS versions
Expand Down
Binary file modified Docs/Configuration.pdf
Binary file not shown.
Binary file modified Docs/Differences.pdf
Binary file not shown.
Loading

0 comments on commit 111f571

Please sign in to comment.