Add SSDT-RHUB support

This commit is contained in:
Mykola Grymalyuk
2020-06-16 10:50:03 -06:00
parent d65758d8b9
commit 7c3eb3ef1e
19 changed files with 229 additions and 89 deletions

Binary file not shown.

View File

@@ -6,36 +6,31 @@ DefinitionBlock ("", "SSDT", 2, "DRTNIA", "AMDGPU", 0x00001000)
External (_SB_.PCI0.PEG0.PEGP, DeviceObj)
Scope (\_SB.PCI0.PEG0.PEGP)
Scope (\_SB_.PCI0.PEG0.PEGP)
{
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
if (_OSI ("Darwin"))
{
If (_OSI ("Darwin"))
{
Store (Package ()
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
// Where we shove our FakeID
"device-id",
Buffer (0x04)
Local0 = Package (0x04)
{
0xB0, 0x67, 0x00, 0x00
},
// Where we shove our FakeID
"device-id",
Buffer (0x04)
{
0xB0, 0x67, 0x00, 0x00
},
// Changing the name of the GPU reported, mainly cosmetic
"model",
Buffer ()
{
"AMD Radeon R9 390"
// Changing the name of the GPU reported, mainly cosmetic
"model",
Buffer ()
{
"AMD Radeon R9 390"
}
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Else
{
}
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
Scope (\_SB.PCI0)

View File

@@ -1,70 +1,18 @@
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20200214 (64-bit version)
* Copyright (c) 2000 - 2020 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of /Users/mykolagrymalyuk/Documents/GitHub/Getting-Started-With-ACPI/extra-files/compiled/SSDT-PLUG-DRTNIA.aml, Thu May 28 18:59:18 2020
*
* Original Table Header:
* Signature "SSDT"
* Length 0x000002B5 (693)
* Revision 0x02
* Checksum 0xDD
* OEM ID "DRTNIA"
* OEM Table ID "CpuPlug"
* OEM Revision 0x00003000 (12288)
* Compiler ID "INTL"
* Compiler Version 0x20190509 (538510601)
* Adds plugin-type property to the furst thread of your CPU, this is just a mirror
* from OpenCorePkg
*/
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "CpuPlug", 0x00003000)
{
External (_PR_.C000, ProcessorObj)
External (_PR_.CPU0, ProcessorObj)
External (_PR_.P000, ProcessorObj)
External (_PR_.PR00, ProcessorObj)
External (_SB_.CPU0, ProcessorObj)
External (_SB_.PC00.LPC0, DeviceObj)
External (_SB_.PC00.LPC0.EC0_, DeviceObj)
External (_SB_.PC00.LPC0.EC__, DeviceObj)
External (_SB_.PC00.LPC0.ECDV, DeviceObj)
External (_SB_.PC00.LPC0.H_EC, DeviceObj)
External (_SB_.PC00.LPC0.PGEC, DeviceObj)
External (_SB_.PCI0.LPC0, DeviceObj)
External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
External (_SB_.PCI0.LPC0.EC__, DeviceObj)
External (_SB_.PCI0.LPC0.ECDV, DeviceObj)
External (_SB_.PCI0.LPC0.H_EC, DeviceObj)
External (_SB_.PCI0.LPC0.PGEC, DeviceObj)
External (_SB_.PCI0.LPC_, DeviceObj)
External (_SB_.PCI0.LPC_.EC0_, DeviceObj)
External (_SB_.PCI0.LPC_.EC__, DeviceObj)
External (_SB_.PCI0.LPC_.ECDV, DeviceObj)
External (_SB_.PCI0.LPC_.H_EC, DeviceObj)
External (_SB_.PCI0.LPC_.PGEC, DeviceObj)
External (_SB_.PCI0.LPCB, DeviceObj)
External (_SB_.PCI0.LPCB.EC0_, DeviceObj)
External (_SB_.PCI0.LPCB.EC__, DeviceObj)
External (_SB_.PCI0.LPCB.ECDV, DeviceObj)
External (_SB_.PCI0.LPCB.H_EC, DeviceObj)
External (_SB_.PCI0.LPCB.PGEC, DeviceObj)
External (_SB_.PCI0.PX40, DeviceObj)
External (_SB_.PCI0.PX40.EC0_, DeviceObj)
External (_SB_.PCI0.PX40.EC__, DeviceObj)
External (_SB_.PCI0.PX40.ECDV, DeviceObj)
External (_SB_.PCI0.PX40.H_EC, DeviceObj)
External (_SB_.PCI0.PX40.PGEC, DeviceObj)
External (_SB_.PCI0.SBRG, DeviceObj)
External (_SB_.PCI0.SBRG.EC0_, DeviceObj)
External (_SB_.PCI0.SBRG.EC__, DeviceObj)
External (_SB_.PCI0.SBRG.ECDV, DeviceObj)
External (_SB_.PCI0.SBRG.H_EC, DeviceObj)
External (_SB_.PCI0.SBRG.PGEC, DeviceObj)
External (_PR_.CPU0, ProcessorObj)
External (_PR_.CP00, ProcessorObj)
External (_PR_.C000, ProcessorObj)
External (_PR_.P000, ProcessorObj)
External (_SB_.PR00, ProcessorObj)
External (_PR_.PR00, ProcessorObj)
External (_SB_.SCK0.CP00, ProcessorObj)
External (_SB_.SCK0.PR00, ProcessorObj)
Method (PMPM, 4, NotSerialized)
{
If ((Arg2 == Zero))

View File

@@ -0,0 +1,57 @@
/*
* Goal of this SSDT is to shut off the RHUb to force macOS into
* manually building ports when the ACPI is screwed up
*/
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "RhubOff", 0x00001000)
{
// Handle 99% of XHCI naming variations
External (_SB_.PCI0.XHC_.RHUB, DeviceObj)
External (_SB_.PCI0.XHCI.RHUB, DeviceObj)
External (_SB_.PCI0.XHC1.RHUB, DeviceObj)
If (CondRefOf (\_SB.PCI0.XHC_.RHUB))
{
Scope (_SB.PCI0.XHC_.RHUB)
{
If (_OSI ("Darwin"))
{
Return (Zero)
}
Else
{
}
}
}
If (CondRefOf (\_SB.PCI0.XHCI.RHUB))
{
Scope (_SB.PCI0.XHCI.RHUB)
{
If (_OSI ("Darwin"))
{
Return (Zero)
}
Else
{
}
}
}
If (CondRefOf (\_SB.PCI0.XHC1.RHUB))
{
Scope (_SB.PCI0.XHC1.RHUB)
{
If (_OSI ("Darwin"))
{
Return (Zero)
}
Else
{
}
}
}
}

View File

@@ -0,0 +1,21 @@
/*
* Goal of this SSDT is to shut off the RHUB to force macOS into
* manually building ports when the ACPI is screwed up
*/
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "RhubOff", 0x00001000)
{
External (_SB_.PCI0.XHC1.RHUB, DeviceObj) // Full pathing to RHUB, change to yours
Scope (_SB.PCI0.XHC1.RHUB) // Full pathing to RHUB, change to yours
{
If (_OSI ("Darwin"))
{
Return (Zero) // This disables the device only in macOS
}
Else
{
}
}
}