diff --git a/404.html b/404.html index ff6fdef..e46b63a 100644 --- a/404.html +++ b/404.html @@ -11,13 +11,13 @@ - + -

404

Looks like we've got some broken links.
+ - + diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html index ad455da..bce6092 100644 --- a/CONTRIBUTING.html +++ b/CONTRIBUTING.html @@ -11,7 +11,7 @@ - + @@ -58,6 +58,6 @@

- + diff --git a/Desktops/desktop-disable.html b/Desktops/desktop-disable.html index 2a9f01e..c78b27e 100644 --- a/Desktops/desktop-disable.html +++ b/Desktops/desktop-disable.html @@ -11,7 +11,7 @@ - + @@ -57,6 +57,6 @@ Method (_SB.PCI0.PEG0.PEGP._DSM, 4, NotSerialized) ⟶

- + diff --git a/Desktops/desktop-ec.html b/Desktops/desktop-ec.html index e42c8fe..e3c7dbf 100644 --- a/Desktops/desktop-ec.html +++ b/Desktops/desktop-ec.html @@ -11,7 +11,7 @@ - + @@ -44,6 +44,6 @@ (opens new window) GitHub (opens new window)

# Fixing Embedded Controller (Desktop)

# You'll want to go to SSDT-EC under the Universal tab for the new SSDT-EC page

- + diff --git a/Laptops/backlight-methods/manual.html b/Laptops/backlight-methods/manual.html index 28468f4..deb3766 100644 --- a/Laptops/backlight-methods/manual.html +++ b/Laptops/backlight-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -44,7 +44,7 @@ (opens new window) GitHub (opens new window)

# Fixing Backlight: Manual

# Finding the ACPI path

For this guide, we're gonna assume Windows is already on this laptop, as otherwise creating this SSDT is a bit more difficult.

Now open DeviceManager, and head to the following:

Device Manager -> Display Adapters -> Properties -> Details > BIOS device name
-

Credit to 1Revenger1 for the image

From the above example, we can see our display is hooked up to PCI0.GFX0

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

By default, this uses PCI0.GFX0 for the pathing. you'll want to rename accordingly. For this example, we'll assume your pathing is PCI0.GPU0:

Before:

External (_SB_.PCI0.GFX0, DeviceObj) <- Rename this
+

Credit to 1Revenger1 for the image

From the above example, we can see our display is hooked up to PCI0.GFX0

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

By default, this uses PCI0.GFX0 for the pathing. you'll want to rename accordingly. For this example, we'll assume your pathing is PCI0.GPU0:

Before:

External (_SB_.PCI0.GFX0, DeviceObj) <- Rename this
 
 Scope (_SB.PCI0.GFX0) <- Rename this
 
@@ -54,7 +54,7 @@ Device(_SB.PCI0.GFX0.PNLF) <- Rename this
 Scope (_SB.PCI0.GPU0) <- Renamed
 
 Device(_SB.PCI0.GPU0.PNLF) <- Renamed
-

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

- + diff --git a/Laptops/backlight-methods/prebuilt.html b/Laptops/backlight-methods/prebuilt.html index 836adb2..d53916c 100644 --- a/Laptops/backlight-methods/prebuilt.html +++ b/Laptops/backlight-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Laptops/backlight.html b/Laptops/backlight.html index 6c0fa3a..267c736 100644 --- a/Laptops/backlight.html +++ b/Laptops/backlight.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Laptops/laptop-disable.html b/Laptops/laptop-disable.html index 8bb19d8..a99e5b9 100644 --- a/Laptops/laptop-disable.html +++ b/Laptops/laptop-disable.html @@ -11,7 +11,7 @@ - + @@ -63,6 +63,6 @@ External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) // dGPU ACPI Path ⟶

- + diff --git a/Laptops/laptop-ec.html b/Laptops/laptop-ec.html index 3d11f30..869b3f7 100644 --- a/Laptops/laptop-ec.html +++ b/Laptops/laptop-ec.html @@ -11,7 +11,7 @@ - + @@ -44,6 +44,6 @@ (opens new window) GitHub (opens new window)

# Fixing Embedded Controller (Laptop)

# You'll want to go to SSDT-EC under the Universal tab for the new SSDT-EC page

- + diff --git a/Laptops/trackpad-methods/manual.html b/Laptops/trackpad-methods/manual.html index 4b1ebaf..2585220 100644 --- a/Laptops/trackpad-methods/manual.html +++ b/Laptops/trackpad-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -70,6 +70,6 @@ ⟶

- + diff --git a/Laptops/trackpad-methods/prebuilt.html b/Laptops/trackpad-methods/prebuilt.html index 6efcd00..ed81a70 100644 --- a/Laptops/trackpad-methods/prebuilt.html +++ b/Laptops/trackpad-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Laptops/trackpad.html b/Laptops/trackpad.html index 285f794..976f41d 100644 --- a/Laptops/trackpad.html +++ b/Laptops/trackpad.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Manual/compile.html b/Manual/compile.html index 20fab6b..f56cdaa 100644 --- a/Manual/compile.html +++ b/Manual/compile.html @@ -11,7 +11,7 @@ - + @@ -55,6 +55,6 @@ ⟶

- + diff --git a/Manual/dump.html b/Manual/dump.html index 1fe94c2..0a21cce 100644 --- a/Manual/dump.html +++ b/Manual/dump.html @@ -11,7 +11,7 @@ - + @@ -63,6 +63,6 @@ fs0:\EFI\OC\Tools> acpidump.efi -b -n DSDT -z ⟶

- + diff --git a/SUMMARY.html b/SUMMARY.html index b9b0e14..4bd81e2 100644 --- a/SUMMARY.html +++ b/SUMMARY.html @@ -11,7 +11,7 @@ - + @@ -44,6 +44,6 @@ (opens new window) GitHub (opens new window)

# Table of contents

# Methods

# Manual

# Desktop

# Laptop

# Universal

# Cleanup

# Misc

- + diff --git a/Universal/awac-methods/manual-hedt.html b/Universal/awac-methods/manual-hedt.html index 93c6e3b..6761fbf 100644 --- a/Universal/awac-methods/manual-hedt.html +++ b/Universal/awac-methods/manual-hedt.html @@ -11,7 +11,7 @@ - + @@ -46,7 +46,7 @@ (opens new window)

# Fixing System Clocks on HEDT: Manual

# Seeing if you need SSDT-RTC0-RANGE

To start, first open your decompiled DSDT you got from Dumping the DSDT and Decompiling and Compiling with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension (opens new window) that can also help).

Now search for PNP0B00 and look at the _CRS entry within it:

And from the above example, we see we have 2 banks of RTC memory:

Now the problem is that the OEM forgot to mat sections 0x72 and 0x73. Because of this, macOS may halt while booting(prominently in Big Sur)

And finally, verify if it has an _STA method as well. This will be used shortly

# Finding the ACPI path

Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from Dumping the DSDT and Decompiling and Compiling with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension (opens new window) that can also help).

To start, search for the following:

You should get something like the following show up:

RTC Pathing LPC Pathing PCI Pathing

From the above, we can see we have RTC, LPC0 and PCI0. Now we can head to the next stage

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

By default, this uses PC00.LPC0.RTC for the pathing. you'll want to rename accordingly.

Following the example from above, we'll be renaming it to PCI0.LPC0.RTC:

Before:

External (_SB_.PC00.LPC0, DeviceObj) <- Rename this
+
  • Search PNP0A08 (If multiple show up, use the first one)

You should get something like the following show up:

RTC Pathing LPC Pathing PCI Pathing

From the above, we can see we have RTC, LPC0 and PCI0. Now we can head to the next stage

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

By default, this uses PC00.LPC0.RTC for the pathing. you'll want to rename accordingly.

Following the example from above, we'll be renaming it to PCI0.LPC0.RTC:

Before:

External (_SB_.PC00.LPC0, DeviceObj) <- Rename this
 
 External (_SB_.PC00.LPC0.RTC_, DeviceObj) <- Rename this
 
@@ -74,7 +74,7 @@ Scope (_SB.PCI0.LPC0) <- Renamed
             }
         }
   */ <- Remove if your RTC device didn't have an _STA
-

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

- + diff --git a/Universal/awac-methods/manual.html b/Universal/awac-methods/manual.html index 53b3265..d7f61a6 100644 --- a/Universal/awac-methods/manual.html +++ b/Universal/awac-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -45,15 +45,15 @@ GitHub (opens new window)

# Fixing System Clocks: Manual

# Determining which SSDT you need

Finding which SSDT you need is quite easy actually, first open your decompiled DSDT you got from Dumping the DSDT and Decompiling and Compiling with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension (opens new window) that can also help).

Next search for ACPI000E. You should get something similar:

The above tells us a few things:

But to double check, next search for PNP0B00:

And looks at that, we can in fact disable our AWAC and enable the RTC! If not skip to here: RTC0 Method

Now it's as simple as grabbing SSDT-AWAC.dsl (opens new window) and compile, no changes needed You can also use the below SSDT to the same effect:

# RTC0 Method

This method is for those who either don't have a PNP0B00 device to re-enable or have no easy way(via STAS variable).

# Finding the ACPI path

Assuming you've gotten your DSDT already opened from earlier, search for the following:

But to double check, next search for PNP0B00:

And looks at that, we can in fact disable our AWAC and enable the RTC! If not skip to here: RTC0 Method

Now it's as simple as grabbing SSDT-AWAC.dsl (opens new window) and compile, no changes needed You can also use the below SSDT to the same effect:

# RTC0 Method

This method is for those who either don't have a PNP0B00 device to re-enable or have no easy way(via STAS variable).

# Finding the ACPI path

Assuming you've gotten your DSDT already opened from earlier, search for the following:

You should get something like the following show up:

LPC Pathing PCI Pathing

From the above, we can see we have both PCI0 and LPC. Now we can head to the next stage

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

By default, this uses PCI0.LPCB for the pathing. you'll want to rename accordingly.

Following the example from above, we'll be renaming it to PCI0.LPC:

Before:

External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this
+
  • Search PNP0A08 (If multiple show up, use the first one)

You should get something like the following show up:

LPC Pathing PCI Pathing

From the above, we can see we have both PCI0 and LPC. Now we can head to the next stage

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

By default, this uses PCI0.LPCB for the pathing. you'll want to rename accordingly.

Following the example from above, we'll be renaming it to PCI0.LPC:

Before:

External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this
 
 Scope (_SB.PCI0.LPCB) <- Rename this
 

Following the example pathing we found, the SSDT should look something like this:

After:

External (_SB_.PCI0.LPC, DeviceObj) <- Renamed
 
 Scope (_SB.PCI0.LPC) <- Renamed
-

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

- + diff --git a/Universal/awac-methods/prebuilt.html b/Universal/awac-methods/prebuilt.html index 4c5d305..9e946e4 100644 --- a/Universal/awac-methods/prebuilt.html +++ b/Universal/awac-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/awac-methods/ssdttime.html b/Universal/awac-methods/ssdttime.html index 76b2ae5..3813eb0 100644 --- a/Universal/awac-methods/ssdttime.html +++ b/Universal/awac-methods/ssdttime.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/awac.html b/Universal/awac.html index dd84865..21b6f3f 100644 --- a/Universal/awac.html +++ b/Universal/awac.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/ec-fix.html b/Universal/ec-fix.html index d2a7164..e834040 100644 --- a/Universal/ec-fix.html +++ b/Universal/ec-fix.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/ec-methods/manual.html b/Universal/ec-methods/manual.html index b3251c9..231e834 100644 --- a/Universal/ec-methods/manual.html +++ b/Universal/ec-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -45,14 +45,14 @@ GitHub (opens new window)

# Fixing Embedded Controllers: Manual

TO-DO:

# Finding the ACPI path

To find the ACPI pathing, you have 2 methods:

# DSDT

Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from Dumping the DSDT and Decompiling and Compiling with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension (opens new window) that can also help).

Next, search for PNP0C09. You should get something similar:

From the above example we see 2 main things:

But now we get into edge case territory, what fun!

The main ones to check for are:

If none of the above apply to you, you're ready for the next section:

# DeviceManager

If you already have Windows installed on this machine, finding the EC pathing is fairly easy.

Start by opening up Device Manager in Windows and looking for a device named Embedded Controller. Once found, click on it and select the BIOS device Name entry. You should get something like this:

From the above, we can see that our pathing is SB.PC00.LPC0.EC0

Now with the pathing, you can head here: Edits to the sample SSDT

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

Now when opening this SSDT, you'll notice a few things. Mainly:

But now we get into edge case territory, what fun!

The main ones to check for are:

If none of the above apply to you, you're ready for the next section:

# DeviceManager

If you already have Windows installed on this machine, finding the EC pathing is fairly easy.

Start by opening up Device Manager in Windows and looking for a device named Embedded Controller. Once found, click on it and select the BIOS device Name entry. You should get something like this:

From the above, we can see that our pathing is SB.PC00.LPC0.EC0

Now with the pathing, you can head here: Edits to the sample SSDT

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

Now when opening this SSDT, you'll notice a few things. Mainly:

Before:

External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this
 
 Scope (_SB.PCI0.LPCB) <- Rename this
 

Following the example pathing we found, the SSDT should look something like this:

After:

External (_SB_.PC00.LPC0, DeviceObj) <- Renamed
 
 Scope (_SB.PC00.LPC0) <- Renamed
-

# Edge Cases

# Multiple PNP0C09's show up

When multiple PNP0C09 show up, we need to next check for the following properties:

What these signify is whether this PNP0C09 device is real or not, as per the ACPI spec (opens new window). So one's matching the above criteria are the one's we want to disable.

# No PNP0C09 show up

When this happens, you'll only need to create a "dummy" EC for macOS.

Try searching for any devices named: "LPCB", "LPC0", "LPC", "SBRG", "PX40". If you have any of these, try using the LPC pathing of each of those device in place of the Embedded Controller's pathing.

Note that DO NOT uncomment the EC disabling code as there are no devices that are considered "EC" in your machine.

# PNP0C09 already named EC

Congrats! No need to create an SSDT-EC! However you will still want USBX if you're Skylake or newer.

Prebuilt can be grabbed here: SSDT-USBX.aml (opens new window)

# PNP0C09 already has an _STA method

This is the equivalent of not having an EC as we can't control it with our SSDT-EC, instead we'll need to create a "dummy" EC for macOS. You'll still want to find the PCI and LPC pathing for this device. So follow the guide as if you were creating a laptop SSDT-EC/USBX.

Example of an EC with STA already:

Credit to rottenpants466

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

# Edge Cases

# Multiple PNP0C09's show up

When multiple PNP0C09 show up, we need to next check for the following properties:

What these signify is whether this PNP0C09 device is real or not, as per the ACPI spec (opens new window). So one's matching the above criteria are the one's we want to disable.

# No PNP0C09 show up

When this happens, you'll only need to create a "dummy" EC for macOS.

Try searching for any devices named: "LPCB", "LPC0", "LPC", "SBRG", "PX40". If you have any of these, try using the LPC pathing of each of those device in place of the Embedded Controller's pathing.

Note that DO NOT uncomment the EC disabling code as there are no devices that are considered "EC" in your machine.

# PNP0C09 already named EC

Congrats! No need to create an SSDT-EC! However you will still want USBX if you're Skylake or newer.

Prebuilt can be grabbed here: SSDT-USBX.aml (opens new window)

# PNP0C09 already has an _STA method

This is the equivalent of not having an EC as we can't control it with our SSDT-EC, instead we'll need to create a "dummy" EC for macOS. You'll still want to find the PCI and LPC pathing for this device. So follow the guide as if you were creating a laptop SSDT-EC/USBX.

Example of an EC with STA already:

Credit to rottenpants466

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

- + diff --git a/Universal/ec-methods/prebuilt.html b/Universal/ec-methods/prebuilt.html index 5c33981..06d449b 100644 --- a/Universal/ec-methods/prebuilt.html +++ b/Universal/ec-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -54,6 +54,6 @@ ⟶

- + diff --git a/Universal/ec-methods/ssdttime.html b/Universal/ec-methods/ssdttime.html index f2108c3..ea41a33 100644 --- a/Universal/ec-methods/ssdttime.html +++ b/Universal/ec-methods/ssdttime.html @@ -11,7 +11,7 @@ - + @@ -54,6 +54,6 @@ ⟶

- + diff --git a/Universal/imei-methods/manual.html b/Universal/imei-methods/manual.html index cfa5d24..d725e79 100644 --- a/Universal/imei-methods/manual.html +++ b/Universal/imei-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -43,7 +43,7 @@ Anti Buyers Guide (opens new window) GitHub - (opens new window)

# Fixing IMEI: Manual

# Finding the ACPI device

Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from Dumping the DSDT and Decompiling and Compiling with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension (opens new window) that can also help).

Next, search for the following devices:

If none of the 3 show up, you'll need to create an SSDT-IMEI.

If one of these 3 devices show up, you do not need SSDT-IMEI! You can simply skip this page.

The rest of this page will however assume none of those 3 devices showed up.

# Compiling the SSDT

So there's actually no edits required to SSDT-IMEI, you can either grab the source code and compile yourself or use the prebuilt

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

- + diff --git a/Universal/imei-methods/prebuilt.html b/Universal/imei-methods/prebuilt.html index d0bdfc5..569f5e2 100644 --- a/Universal/imei-methods/prebuilt.html +++ b/Universal/imei-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/imei.html b/Universal/imei.html index 27d4ca7..84963ba 100644 --- a/Universal/imei.html +++ b/Universal/imei.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/irq.html b/Universal/irq.html index 85cd0cb..1639351 100644 --- a/Universal/irq.html +++ b/Universal/irq.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/nvram-methods/manual.html b/Universal/nvram-methods/manual.html index 32471e9..dcf555e 100644 --- a/Universal/nvram-methods/manual.html +++ b/Universal/nvram-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -45,13 +45,13 @@ GitHub (opens new window)

# Fixing NVRAM: Manual

# Finding the ACPI path

Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from Dumping the DSDT and Decompiling and Compiling with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension (opens new window) that can also help).

Next, search for the following:

You should get something like the following show up:

LPC Pathing PCI Pathing

Now with the pathing, you can head here: Edits to the sample SSDT

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

By default, this uses PCI0.LPCB for the pathing. you'll want to rename accordingly.

Following the example from above, we'll be renaming it to PCI0.LPC:

Before:

External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this
+
  • Search PNP0A08 (If multiple show up, use the first one)

You should get something like the following show up:

LPC Pathing PCI Pathing

Now with the pathing, you can head here: Edits to the sample SSDT

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

By default, this uses PCI0.LPCB for the pathing. you'll want to rename accordingly.

Following the example from above, we'll be renaming it to PCI0.LPC:

Before:

External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this
 
 Scope (_SB.PCI0.LPCB) <- Rename this
 

Following the example pathing we found, the SSDT should look something like this:

After:

External (_SB_.PCI0.LPC, DeviceObj) <- Renamed
 
 Scope (_SB.PCI0.LPC) <- Renamed
-

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

- + diff --git a/Universal/nvram-methods/prebuilt.html b/Universal/nvram-methods/prebuilt.html index 38199ab..cf0232d 100644 --- a/Universal/nvram-methods/prebuilt.html +++ b/Universal/nvram-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -54,6 +54,6 @@ ⟶

- + diff --git a/Universal/nvram-methods/ssdttime.html b/Universal/nvram-methods/ssdttime.html index c58d61d..dcb5aee 100644 --- a/Universal/nvram-methods/ssdttime.html +++ b/Universal/nvram-methods/ssdttime.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/nvram.html b/Universal/nvram.html index 3fc9349..434f754 100644 --- a/Universal/nvram.html +++ b/Universal/nvram.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/plug-methods/manual.html b/Universal/plug-methods/manual.html index 006ae9d..935fe43 100644 --- a/Universal/plug-methods/manual.html +++ b/Universal/plug-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -43,7 +43,7 @@ Anti Buyers Guide (opens new window) GitHub - (opens new window)

# Fixing Power Management: Manual

# Finding the ACPI path

To find the ACPI pathing, you have 2 methods:

# DSDT

CPU naming is fairly easy to figure out, first open your decompiled DSDT you got from Dumping the DSDT and Decompiling and Compiling with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an ACPI extension (opens new window) that can also help).

Next search for Processor. This should give you a result like this:

As we can see, the first processor in our list is SB.PR00. This is what we'll be applying the plugin-type=1 property too.

X99 and X299 note:

Due to the different DSDT structure of these systems, you'll need to actually check in multiple places as the pathing isn't as obvious:

If we then search for instances of CP00 we find that its full ACPI pathing is SB.SCK0.CP00:

Now with the pathing, you can head here: Edits to the sample SSDT

# DeviceManager

If you already have Windows installed on this machine, finding the CPU pathing is fairly easy.

Start by opening up Device Manager in Windows and looking for a device named Processor. Once found, click on it and select the BIOS device Name entry. You should get something like this:

From the above, we can see that our pathing is PR.CPU0. Pay close attention to the start as PR is important for creating the SSDT

X99 and X299 note:

Odd quirk of DeviceManager in Windows is that the Processor's order does not actually match the ACPI path, instead giving something like SB.SCK0.CP10:

When this happens, you can either:

So with the above X299 example, our CPU pathing would be SB.SCK0.CP00

Now with the pathing, you can head here: Edits to the sample SSDT

# Edits to the sample SSDT

Now that we have our ACPI path, lets grab our SSDT and get to work:

From the above SSDT, it's very likely your processor is already there. If so, you can delete all the other entries other than yours and the Method PMPM as this is what injects the plugin-type=1 property into our system.

For the below example, we'll be using the X299 example(SB.SCK0.CP00)

Original Cleaned Up

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

- + diff --git a/Universal/plug-methods/prebuilt.html b/Universal/plug-methods/prebuilt.html index 26e29e4..5ad0a89 100644 --- a/Universal/plug-methods/prebuilt.html +++ b/Universal/plug-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -43,9 +43,9 @@ Anti Buyers Guide (opens new window) GitHub - (opens new window)

# Fixing Power Management: Prebuilt

By far the easiest way to get SSDT-PLUG is just downloading the below file:

This prebuilt file is just a precompiled version of SSDT-PLUG (opens new window) provided by Acidanthera.

The main things to note with this method:

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

- + diff --git a/Universal/plug-methods/ssdttime.html b/Universal/plug-methods/ssdttime.html index eaff0d1..ff23a2b 100644 --- a/Universal/plug-methods/ssdttime.html +++ b/Universal/plug-methods/ssdttime.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/plug.html b/Universal/plug.html index ec0122d..e6e1b61 100644 --- a/Universal/plug.html +++ b/Universal/plug.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/rhub-methods/manual.html b/Universal/rhub-methods/manual.html index 89afd53..de0e8ae 100644 --- a/Universal/rhub-methods/manual.html +++ b/Universal/rhub-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -60,6 +60,6 @@ Scope (_SB.PCI0.XHC.RHUB) <- Renamed ⟶

- + diff --git a/Universal/rhub-methods/prebuilt.html b/Universal/rhub-methods/prebuilt.html index 00c4c15..dd8ed66 100644 --- a/Universal/rhub-methods/prebuilt.html +++ b/Universal/rhub-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/rhub-methods/ssdttime.html b/Universal/rhub-methods/ssdttime.html index acea785..061ab86 100644 --- a/Universal/rhub-methods/ssdttime.html +++ b/Universal/rhub-methods/ssdttime.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Universal/rhub.html b/Universal/rhub.html index 414c318..5c80f2e 100644 --- a/Universal/rhub.html +++ b/Universal/rhub.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/smbus-methods/manual.html b/Universal/smbus-methods/manual.html index 987bec5..68a47e8 100644 --- a/Universal/smbus-methods/manual.html +++ b/Universal/smbus-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -44,7 +44,7 @@ (opens new window) GitHub (opens new window)

# Fixing SMBus support: Manual

# Finding the ACPI path

So to find the ACPI pathing of our SMBus, we've got 2 methods:

# Hackintool

To find the correct pathing for your devices, grab Hackintool (opens new window) (Github link (opens new window)) and head to the PCI tab:

Look for the SMBus device under Subclass, then look beside and you'll see the ACPI path(under IOReg Name). To convert , omit @...

With the ACPI pathing, you can now head here: Edits to the sample SSDT

# DeviceManager

If you already have Windows installed on this machine, finding the SMBus pathing is fairly easy.

Start by opening up Device Manager in Windows and looking for a device named SMBUS. Once found, click on it and select the BIOS device Name entry. You should get something like this:

From the above example, we can see the SMBus is located at:

PC00.SMBS
-

With the ACPI pathing, you can now head here: Edits to the sample SSDT

# Edits to the sample SSDT

Now that we know the ACPI pathing of the SMBus, we can finally start editing the our SSDT.

So the important parts we care about are:

Before:

External (_SB_.PCI0, DeviceObj) <- Rename this
+

With the ACPI pathing, you can now head here: Edits to the sample SSDT

# Edits to the sample SSDT

Now that we know the ACPI pathing of the SMBus, we can finally start editing the our SSDT.

So the important parts we care about are:

Before:

External (_SB_.PCI0, DeviceObj) <- Rename this
 External (_SB_.PCI0.SBUS.BUS0, DeviceObj) <- Rename this
 
 Scope (_SB.PCI0) <- Rename this
@@ -69,7 +69,7 @@ Scope (_SB.PC00) <- Renamed
 
 Device (_SB.PC00.SMBS.BUS0) <- Renamed
 

# Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

# Verify it's working

Once you've installed macOS, you can actually check whether your SSDT-SBUS-MCHC is working or not in terminal:

kextstat | grep -E "AppleSMBusController|AppleSMBusPCI"
-

- + diff --git a/Universal/smbus.html b/Universal/smbus.html index 39fca04..6c90220 100644 --- a/Universal/smbus.html +++ b/Universal/smbus.html @@ -11,7 +11,7 @@ - + @@ -55,6 +55,6 @@ ⟶

- + diff --git a/Universal/spoof.html b/Universal/spoof.html index b61c7cf..a2d39ae 100644 --- a/Universal/spoof.html +++ b/Universal/spoof.html @@ -11,7 +11,7 @@ - + @@ -83,6 +83,6 @@ Buffer () ⟶

- + diff --git a/Universal/unc0-methods/manual.html b/Universal/unc0-methods/manual.html index c20667a..b8b5aa8 100644 --- a/Universal/unc0-methods/manual.html +++ b/Universal/unc0-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -43,7 +43,7 @@ Anti Buyers Guide (opens new window) GitHub - (opens new window)

# Fixing Uncore Bridges: Manual

# Download the SSDT

Super simple, just grab the SSDT and compile:

See here how to compile: Compiling ACPI

# Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

- + diff --git a/Universal/unc0-methods/prebuilt.html b/Universal/unc0-methods/prebuilt.html index 9eb7752..5c2713d 100644 --- a/Universal/unc0-methods/prebuilt.html +++ b/Universal/unc0-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Universal/unc0.html b/Universal/unc0.html index b1920a4..54f78a9 100644 --- a/Universal/unc0.html +++ b/Universal/unc0.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/assets/js/10.6aabc8ff.js b/assets/js/10.6aabc8ff.js new file mode 100644 index 0000000..c1b9b27 --- /dev/null +++ b/assets/js/10.6aabc8ff.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{368:function(e,t,a){e.exports=a.p+"assets/img/devicemanager.770a10fc.png"},369:function(e,t,a){e.exports=a.p+"assets/img/ssdt-before.f71c9e04.png"},370:function(e,t,a){e.exports=a.p+"assets/img/ssdt-after.28584bc4.png"},421:function(e,t,a){"use strict";a.r(t);var s=a(25),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-backlight-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-backlight-manual"}},[e._v("#")]),e._v(" Fixing Backlight: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[e._v("#")]),e._v(" Finding the ACPI path")]),e._v(" "),s("p",[e._v("For this guide, we're gonna assume Windows is already on this laptop, as otherwise creating this SSDT is a bit more difficult.")]),e._v(" "),s("p",[e._v("Now open DeviceManager, and head to the following:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("Device Manager -> Display Adapters -> Properties -> Details > BIOS device name\n")])])]),s("ul",[s("li",[e._v('Note some GPU ACPI pathing may be hiding under "BIOS device name"')])]),e._v(" "),s("p",[s("img",{attrs:{src:a(368),alt:"Credit to 1Revenger1 for the image"}})]),e._v(" "),s("p",[e._v("From the above example, we can see our display is hooked up to "),s("code",[e._v("PCI0.GFX0")])]),e._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("#")]),e._v(" Edits to the sample SSDT")]),e._v(" "),s("p",[e._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-PNLF.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PNLF.dsl"),s("OutboundLink")],1)]),e._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-PNLFCFL.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PNLFCFL.dsl"),s("OutboundLink")],1),e._v(" "),s("ul",[s("li",[e._v("For Coffee Lake and newer")])])])]),e._v(" "),s("p",[e._v("By default, this uses "),s("code",[e._v("PCI0.GFX0")]),e._v(" for the pathing. you'll want to rename accordingly. For this example, we'll assume your pathing is "),s("code",[e._v("PCI0.GPU0")]),e._v(":")]),e._v(" "),s("p",[s("strong",[e._v("Before")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.GFX0, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.GFX0) <- Rename this\n\nDevice(_SB.PCI0.GFX0.PNLF) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(369),alt:""}})]),e._v(" "),s("p",[e._v("Following the example pathing we found, the SSDT should look something like this:")]),e._v(" "),s("p",[s("strong",[e._v("After")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.GPU0, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.GPU0) <- Renamed\n\nDevice(_SB.PCI0.GPU0.PNLF) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(370),alt:""}})]),e._v(" "),s("h2",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),s("p",[e._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),s("p",[e._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/10.bf454f86.js b/assets/js/10.bf454f86.js deleted file mode 100644 index f2057f8..0000000 --- a/assets/js/10.bf454f86.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{368:function(e,t,a){e.exports=a.p+"assets/img/devicemanager.770a10fc.png"},369:function(e,t,a){e.exports=a.p+"assets/img/ssdt-before.f71c9e04.png"},370:function(e,t,a){e.exports=a.p+"assets/img/ssdt-after.28584bc4.png"},421:function(e,t,a){"use strict";a.r(t);var s=a(25),i=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-backlight-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-backlight-manual"}},[e._v("#")]),e._v(" Fixing Backlight: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[e._v("#")]),e._v(" Finding the ACPI path")]),e._v(" "),s("p",[e._v("For this guide, we're gonna assume Windows is already on this laptop, as otherwise creating this SSDT is a bit more difficult.")]),e._v(" "),s("p",[e._v("Now open DeviceManager, and head to the following:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("Device Manager -> Display Adapters -> Properties -> Details > BIOS device name\n")])])]),s("ul",[s("li",[e._v('Note some GPU ACPI pathing may be hiding under "BIOS device name"')])]),e._v(" "),s("p",[s("img",{attrs:{src:a(368),alt:"Credit to 1Revenger1 for the image"}})]),e._v(" "),s("p",[e._v("From the above example, we can see our display is hooked up to "),s("code",[e._v("PCI0.GFX0")])]),e._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("#")]),e._v(" Edits to the sample SSDT")]),e._v(" "),s("p",[e._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PNLF.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PNLF.dsl"),s("OutboundLink")],1)]),e._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PNLFCFL.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PNLFCFL.dsl"),s("OutboundLink")],1),e._v(" "),s("ul",[s("li",[e._v("For Coffee Lake and newer")])])])]),e._v(" "),s("p",[e._v("By default, this uses "),s("code",[e._v("PCI0.GFX0")]),e._v(" for the pathing. you'll want to rename accordingly. For this example, we'll assume your pathing is "),s("code",[e._v("PCI0.GPU0")]),e._v(":")]),e._v(" "),s("p",[s("strong",[e._v("Before")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.GFX0, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.GFX0) <- Rename this\n\nDevice(_SB.PCI0.GFX0.PNLF) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(369),alt:""}})]),e._v(" "),s("p",[e._v("Following the example pathing we found, the SSDT should look something like this:")]),e._v(" "),s("p",[s("strong",[e._v("After")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.GPU0, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.GPU0) <- Renamed\n\nDevice(_SB.PCI0.GPU0.PNLF) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(370),alt:""}})]),e._v(" "),s("h2",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),s("p",[e._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),s("p",[e._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/3.915b322b.js b/assets/js/3.7b201412.js similarity index 74% rename from assets/js/3.915b322b.js rename to assets/js/3.7b201412.js index c1a6846..a0f6e72 100644 --- a/assets/js/3.915b322b.js +++ b/assets/js/3.7b201412.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{393:function(t,e,a){t.exports=a.p+"assets/img/processor.38dc34ad.png"},394:function(t,e,a){t.exports=a.p+"assets/img/processor-2.8af8c8dd.png"},395:function(t,e,a){t.exports=a.p+"assets/img/cp00.d25cad0f.png"},396:function(t,e,a){t.exports=a.p+"assets/img/plug-bios.1b527198.png"},397:function(t,e,a){t.exports=a.p+"assets/img/plug-x299.8123a653.png"},398:function(t,e,a){t.exports=a.p+"assets/img/ssdt-mess.8323e4a6.png"},399:function(t,e,a){t.exports=a.p+"assets/img/ssdt-clean.b241b36e.png"},450:function(t,e,a){"use strict";a.r(e);var s=a(25),i=Object(s.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-power-management-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-power-management-manual"}},[t._v("#")]),t._v(" Fixing Power Management: Manual")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#DSDT"}},[t._v("DSDT")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[t._v("DeviceManager")])])])]),t._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),s("p",[t._v("To find the ACPI pathing, you have 2 methods:")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#DSDT"}},[t._v("DSDT")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[t._v("DeviceManager")])])]),t._v(" "),s("h3",{attrs:{id:"dsdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#dsdt"}},[t._v("#")]),t._v(" DSDT")]),t._v(" "),s("p",[t._v("CPU naming is fairly easy to figure out, first open your decompiled DSDT you got from "),s("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),s("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),s("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),s("p",[t._v("Next search for "),s("code",[t._v("Processor")]),t._v(". This should give you a result like this:")]),t._v(" "),s("p",[s("img",{attrs:{src:a(393),alt:""}})]),t._v(" "),s("p",[t._v("As we can see, the first processor in our list is "),s("code",[t._v("SB.PR00")]),t._v(". This is what we'll be applying the "),s("code",[t._v("plugin-type=1")]),t._v(" property too.")]),t._v(" "),s("p",[s("strong",[t._v("X99 and X299 note")]),t._v(":")]),t._v(" "),s("p",[t._v("Due to the different DSDT structure of these systems, you'll need to actually check in multiple places as the pathing isn't as obvious:")]),t._v(" "),s("p",[s("img",{attrs:{src:a(394),alt:""}})]),t._v(" "),s("p",[t._v("If we then search for instances of "),s("code",[t._v("CP00")]),t._v(" we find that its full ACPI pathing is "),s("code",[t._v("SB.SCK0.CP00")]),t._v(":")]),t._v(" "),s("p",[s("img",{attrs:{src:a(395),alt:""}})]),t._v(" "),s("p",[t._v("Now with the pathing, you can head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),s("h5",{attrs:{id:"devicemanager"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#devicemanager"}},[t._v("#")]),t._v(" DeviceManager")]),t._v(" "),s("p",[t._v("If you already have Windows installed on this machine, finding the CPU pathing is fairly easy.")]),t._v(" "),s("p",[t._v("Start by opening up Device Manager in Windows and looking for a device named "),s("code",[t._v("Processor")]),t._v(". Once found, click on it and select the "),s("code",[t._v("BIOS device Name")]),t._v(" entry. You should get something like this:")]),t._v(" "),s("p",[s("img",{attrs:{src:a(396),alt:""}})]),t._v(" "),s("p",[t._v("From the above, we can see that our pathing is "),s("code",[t._v("PR.CPU0")]),t._v(". Pay close attention to the start as "),s("code",[t._v("PR")]),t._v(" is important for creating the SSDT")]),t._v(" "),s("p",[s("strong",[t._v("X99 and X299 note")]),t._v(":")]),t._v(" "),s("p",[t._v("Odd quirk of DeviceManager in Windows is that the Processor's order does not actually match the ACPI path, instead giving something like "),s("code",[t._v("SB.SCK0.CP10")]),t._v(":")]),t._v(" "),s("p",[s("img",{attrs:{src:a(397),alt:""}})]),t._v(" "),s("p",[t._v("When this happens, you can either:")]),t._v(" "),s("ul",[s("li",[t._v("Look through and find the lowest value")]),t._v(" "),s("li",[t._v("Assume the lowest(commonly being "),s("code",[t._v("PR00")]),t._v(" or "),s("code",[t._v("CP00")]),t._v(")")])]),t._v(" "),s("p",[t._v("So with the above X299 example, our CPU pathing would be "),s("code",[t._v("SB.SCK0.CP00")])]),t._v(" "),s("p",[t._v("Now with the pathing, you can head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),s("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-PLUG.dsl"),s("OutboundLink")],1)])]),t._v(" "),s("p",[t._v("From the above SSDT, it's very likely your processor is already there. If so, you can delete all the other entries other than yours and the "),s("code",[t._v("Method PMPM")]),t._v(" as this is what injects the "),s("code",[t._v("plugin-type=1")]),t._v(" property into our system.")]),t._v(" "),s("ul",[s("li",[s("strong",[t._v("Reminder")]),t._v(": We only need to apply "),s("code",[t._v("plugin-type=1")]),t._v(" to the first thread")])]),t._v(" "),s("p",[t._v("For the below example, we'll be using the X299 example("),s("code",[t._v("SB.SCK0.CP00")]),t._v(")")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",{staticStyle:{"text-align":"center"}},[t._v("Original")]),t._v(" "),s("th",{staticStyle:{"text-align":"center"}},[t._v("Cleaned Up")])])]),t._v(" "),s("tbody",[s("tr",[s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(398),alt:""}})]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(399),alt:""}})])])])]),t._v(" "),s("h2",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),s("p",[t._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),s("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{393:function(t,e,a){t.exports=a.p+"assets/img/processor.38dc34ad.png"},394:function(t,e,a){t.exports=a.p+"assets/img/processor-2.8af8c8dd.png"},395:function(t,e,a){t.exports=a.p+"assets/img/cp00.d25cad0f.png"},396:function(t,e,a){t.exports=a.p+"assets/img/plug-bios.1b527198.png"},397:function(t,e,a){t.exports=a.p+"assets/img/plug-x299.8123a653.png"},398:function(t,e,a){t.exports=a.p+"assets/img/ssdt-mess.8323e4a6.png"},399:function(t,e,a){t.exports=a.p+"assets/img/ssdt-clean.b241b36e.png"},450:function(t,e,a){"use strict";a.r(e);var s=a(25),i=Object(s.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-power-management-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-power-management-manual"}},[t._v("#")]),t._v(" Fixing Power Management: Manual")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#DSDT"}},[t._v("DSDT")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[t._v("DeviceManager")])])])]),t._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),s("p",[t._v("To find the ACPI pathing, you have 2 methods:")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#DSDT"}},[t._v("DSDT")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[t._v("DeviceManager")])])]),t._v(" "),s("h3",{attrs:{id:"dsdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#dsdt"}},[t._v("#")]),t._v(" DSDT")]),t._v(" "),s("p",[t._v("CPU naming is fairly easy to figure out, first open your decompiled DSDT you got from "),s("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),s("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),s("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),s("p",[t._v("Next search for "),s("code",[t._v("Processor")]),t._v(". This should give you a result like this:")]),t._v(" "),s("p",[s("img",{attrs:{src:a(393),alt:""}})]),t._v(" "),s("p",[t._v("As we can see, the first processor in our list is "),s("code",[t._v("SB.PR00")]),t._v(". This is what we'll be applying the "),s("code",[t._v("plugin-type=1")]),t._v(" property too.")]),t._v(" "),s("p",[s("strong",[t._v("X99 and X299 note")]),t._v(":")]),t._v(" "),s("p",[t._v("Due to the different DSDT structure of these systems, you'll need to actually check in multiple places as the pathing isn't as obvious:")]),t._v(" "),s("p",[s("img",{attrs:{src:a(394),alt:""}})]),t._v(" "),s("p",[t._v("If we then search for instances of "),s("code",[t._v("CP00")]),t._v(" we find that its full ACPI pathing is "),s("code",[t._v("SB.SCK0.CP00")]),t._v(":")]),t._v(" "),s("p",[s("img",{attrs:{src:a(395),alt:""}})]),t._v(" "),s("p",[t._v("Now with the pathing, you can head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),s("h5",{attrs:{id:"devicemanager"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#devicemanager"}},[t._v("#")]),t._v(" DeviceManager")]),t._v(" "),s("p",[t._v("If you already have Windows installed on this machine, finding the CPU pathing is fairly easy.")]),t._v(" "),s("p",[t._v("Start by opening up Device Manager in Windows and looking for a device named "),s("code",[t._v("Processor")]),t._v(". Once found, click on it and select the "),s("code",[t._v("BIOS device Name")]),t._v(" entry. You should get something like this:")]),t._v(" "),s("p",[s("img",{attrs:{src:a(396),alt:""}})]),t._v(" "),s("p",[t._v("From the above, we can see that our pathing is "),s("code",[t._v("PR.CPU0")]),t._v(". Pay close attention to the start as "),s("code",[t._v("PR")]),t._v(" is important for creating the SSDT")]),t._v(" "),s("p",[s("strong",[t._v("X99 and X299 note")]),t._v(":")]),t._v(" "),s("p",[t._v("Odd quirk of DeviceManager in Windows is that the Processor's order does not actually match the ACPI path, instead giving something like "),s("code",[t._v("SB.SCK0.CP10")]),t._v(":")]),t._v(" "),s("p",[s("img",{attrs:{src:a(397),alt:""}})]),t._v(" "),s("p",[t._v("When this happens, you can either:")]),t._v(" "),s("ul",[s("li",[t._v("Look through and find the lowest value")]),t._v(" "),s("li",[t._v("Assume the lowest(commonly being "),s("code",[t._v("PR00")]),t._v(" or "),s("code",[t._v("CP00")]),t._v(")")])]),t._v(" "),s("p",[t._v("So with the above X299 example, our CPU pathing would be "),s("code",[t._v("SB.SCK0.CP00")])]),t._v(" "),s("p",[t._v("Now with the pathing, you can head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),s("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-PLUG.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-PLUG.dsl"),s("OutboundLink")],1)])]),t._v(" "),s("p",[t._v("From the above SSDT, it's very likely your processor is already there. If so, you can delete all the other entries other than yours and the "),s("code",[t._v("Method PMPM")]),t._v(" as this is what injects the "),s("code",[t._v("plugin-type=1")]),t._v(" property into our system.")]),t._v(" "),s("ul",[s("li",[s("strong",[t._v("Reminder")]),t._v(": We only need to apply "),s("code",[t._v("plugin-type=1")]),t._v(" to the first thread")])]),t._v(" "),s("p",[t._v("For the below example, we'll be using the X299 example("),s("code",[t._v("SB.SCK0.CP00")]),t._v(")")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",{staticStyle:{"text-align":"center"}},[t._v("Original")]),t._v(" "),s("th",{staticStyle:{"text-align":"center"}},[t._v("Cleaned Up")])])]),t._v(" "),s("tbody",[s("tr",[s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(398),alt:""}})]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(399),alt:""}})])])])]),t._v(" "),s("h2",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),s("p",[t._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),s("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/39.fa1ac8db.js b/assets/js/39.d30fc337.js similarity index 78% rename from assets/js/39.fa1ac8db.js rename to assets/js/39.d30fc337.js index f45ebff..ccad7ca 100644 --- a/assets/js/39.fa1ac8db.js +++ b/assets/js/39.d30fc337.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{442:function(e,t,i){"use strict";i.r(t);var a=i(25),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"fixing-imei-manual"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#fixing-imei-manual"}},[e._v("#")]),e._v(" Fixing IMEI: Manual")]),e._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#finding-the-acpi-device"}},[e._v("Finding the ACPI device")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])]),e._v(" "),i("h2",{attrs:{id:"finding-the-acpi-device"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-device"}},[e._v("#")]),e._v(" Finding the ACPI device")]),e._v(" "),i("p",[e._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),i("RouterLink",{attrs:{to:"/Manual/dump.html"}},[e._v("Dumping the DSDT")]),e._v(" and "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("Decompiling and Compiling")]),e._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),i("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI extension"),i("OutboundLink")],1),e._v(" that can also help).")],1),e._v(" "),i("p",[e._v("Next, search for the following devices:")]),e._v(" "),i("ul",[i("li",[i("code",[e._v("IMEI")])]),e._v(" "),i("li",[i("code",[e._v("HECI")])]),e._v(" "),i("li",[i("code",[e._v("MEI")])])]),e._v(" "),i("p",[e._v("If none of the 3 show up, you'll need to create an SSDT-IMEI.")]),e._v(" "),i("p",[i("strong",[e._v("If one of these 3 devices show up")]),e._v(", you do not need SSDT-IMEI! You can simply skip this page.")]),e._v(" "),i("p",[e._v("The rest of this page will however assume none of those 3 devices showed up.")]),e._v(" "),i("h2",{attrs:{id:"compiling-the-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),i("p",[e._v("So there's actually no edits required to SSDT-IMEI, you can either grab the source code and compile yourself or use the prebuilt")]),e._v(" "),i("ul",[i("li",[i("p",[i("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-IMEI-S.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("Prebuilt SSDT-IMEI"),i("OutboundLink")],1)])]),e._v(" "),i("li",[i("p",[i("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-IMEI.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-IMEI's source code"),i("OutboundLink")],1)])])]),e._v(" "),i("p",[e._v("With the SSDT done, you're now "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),i("h2",{attrs:{id:"wrapping-up"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),i("p",[e._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),e._v(" "),i("ul",[i("li",[i("RouterLink",{attrs:{to:"/cleanup.html"}},[i("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{442:function(e,t,i){"use strict";i.r(t);var a=i(25),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"fixing-imei-manual"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#fixing-imei-manual"}},[e._v("#")]),e._v(" Fixing IMEI: Manual")]),e._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#finding-the-acpi-device"}},[e._v("Finding the ACPI device")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),i("li",[i("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])]),e._v(" "),i("h2",{attrs:{id:"finding-the-acpi-device"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-device"}},[e._v("#")]),e._v(" Finding the ACPI device")]),e._v(" "),i("p",[e._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),i("RouterLink",{attrs:{to:"/Manual/dump.html"}},[e._v("Dumping the DSDT")]),e._v(" and "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("Decompiling and Compiling")]),e._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),i("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI extension"),i("OutboundLink")],1),e._v(" that can also help).")],1),e._v(" "),i("p",[e._v("Next, search for the following devices:")]),e._v(" "),i("ul",[i("li",[i("code",[e._v("IMEI")])]),e._v(" "),i("li",[i("code",[e._v("HECI")])]),e._v(" "),i("li",[i("code",[e._v("MEI")])])]),e._v(" "),i("p",[e._v("If none of the 3 show up, you'll need to create an SSDT-IMEI.")]),e._v(" "),i("p",[i("strong",[e._v("If one of these 3 devices show up")]),e._v(", you do not need SSDT-IMEI! You can simply skip this page.")]),e._v(" "),i("p",[e._v("The rest of this page will however assume none of those 3 devices showed up.")]),e._v(" "),i("h2",{attrs:{id:"compiling-the-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),i("p",[e._v("So there's actually no edits required to SSDT-IMEI, you can either grab the source code and compile yourself or use the prebuilt")]),e._v(" "),i("ul",[i("li",[i("p",[i("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-IMEI-S.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("Prebuilt SSDT-IMEI"),i("OutboundLink")],1)])]),e._v(" "),i("li",[i("p",[i("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-IMEI.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-IMEI's source code"),i("OutboundLink")],1)])])]),e._v(" "),i("p",[e._v("With the SSDT done, you're now "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),i("h2",{attrs:{id:"wrapping-up"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),i("p",[e._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),e._v(" "),i("ul",[i("li",[i("RouterLink",{attrs:{to:"/cleanup.html"}},[i("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/4.c95e4327.js b/assets/js/4.2ce9f0ff.js similarity index 67% rename from assets/js/4.c95e4327.js rename to assets/js/4.2ce9f0ff.js index 62844e8..5365a53 100644 --- a/assets/js/4.c95e4327.js +++ b/assets/js/4.2ce9f0ff.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{319:function(t,e,a){t.exports=a.p+"assets/img/lpc.bfa9cf23.png"},320:function(t,e,a){t.exports=a.p+"assets/img/pci0.4477f361.png"},378:function(t,e,a){t.exports=a.p+"assets/img/rtc-range-check.d964e9c9.png"},379:function(t,e,a){t.exports=a.p+"assets/img/rtc-name.afa4c3f4.png"},380:function(t,e,a){t.exports=a.p+"assets/img/ssdt-before-rename-hedt.4b47d5a3.png"},381:function(t,e,a){t.exports=a.p+"assets/img/ssdt-after-rename-hedt.ea1fe10e.png"},433:function(t,e,a){"use strict";a.r(e);var n=a(25),i=Object(n.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"fixing-system-clocks-on-hedt-manual"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#fixing-system-clocks-on-hedt-manual"}},[t._v("#")]),t._v(" Fixing System Clocks on HEDT: Manual")]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),n("li",[n("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),n("li",[n("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),n("li",[n("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),n("h2",{attrs:{id:"seeing-if-you-need-ssdt-rtc0-range"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#seeing-if-you-need-ssdt-rtc0-range"}},[t._v("#")]),t._v(" Seeing if you need SSDT-RTC0-RANGE")]),t._v(" "),n("p",[t._v("To start, first open your decompiled DSDT you got from "),n("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),n("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),n("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),n("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),n("p",[t._v("Now search for "),n("code",[t._v("PNP0B00")]),t._v(" and look at the "),n("code",[t._v("_CRS")]),t._v(" entry within it:")]),t._v(" "),n("p",[n("img",{attrs:{src:a(378),alt:""}})]),t._v(" "),n("p",[t._v("And from the above example, we see we have 2 banks of RTC memory:")]),t._v(" "),n("ul",[n("li",[t._v("Bank 1: starts at 0x70 and is length 0x2")]),t._v(" "),n("li",[t._v("Bank 2: starts at 0x74 and is length 0x4")])]),t._v(" "),n("p",[t._v("Now the problem is that the OEM forgot to mat sections 0x72 and 0x73. Because of this, macOS may halt while booting(prominently in Big Sur)")]),t._v(" "),n("p",[t._v("And finally, verify if it has an _STA method as well. This will be used shortly")]),t._v(" "),n("h2",{attrs:{id:"finding-the-acpi-path"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),n("p",[t._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),n("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),n("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),n("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),n("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),n("p",[t._v("To start, search for the following:")]),t._v(" "),n("ul",[n("li",[t._v("Finding the RTC name:\n"),n("ul",[n("li",[t._v("Search "),n("code",[t._v("PNP0B00")])])])]),t._v(" "),n("li",[t._v("Finding the LowPinCount path:\n"),n("ul",[n("li",[t._v("Search "),n("code",[t._v("Name (_ADR, 0x001F0000)")])])])]),t._v(" "),n("li",[t._v("Finding the PCI path:\n"),n("ul",[n("li",[t._v("Search "),n("code",[t._v("PNP0A08")]),t._v(" (If multiple show up, use the first one)")])])])]),t._v(" "),n("p",[t._v("You should get something like the following show up:")]),t._v(" "),n("table",[n("thead",[n("tr",[n("th",{staticStyle:{"text-align":"center"}},[t._v("RTC Pathing")]),t._v(" "),n("th",{staticStyle:{"text-align":"center"}},[t._v("LPC Pathing")]),t._v(" "),n("th",{staticStyle:{"text-align":"center"}},[t._v("PCI Pathing")])])]),t._v(" "),n("tbody",[n("tr",[n("td",{staticStyle:{"text-align":"center"}},[n("img",{attrs:{src:a(379),alt:""}})]),t._v(" "),n("td",{staticStyle:{"text-align":"center"}},[n("img",{attrs:{src:a(319),alt:""}})]),t._v(" "),n("td",{staticStyle:{"text-align":"center"}},[n("img",{attrs:{src:a(320),alt:""}})])])])]),t._v(" "),n("p",[t._v("From the above, we can see we have "),n("code",[t._v("RTC")]),t._v(", "),n("code",[t._v("LPC0")]),t._v(" and "),n("code",[t._v("PCI0")]),t._v(". Now we can head to the next stage")]),t._v(" "),n("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),n("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-RTC0-RANGE.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-RTC0-RANGE.dsl"),n("OutboundLink")],1)])]),t._v(" "),n("p",[t._v("By default, this uses "),n("code",[t._v("PC00.LPC0.RTC")]),t._v(" for the pathing. you'll want to rename accordingly.")]),t._v(" "),n("p",[t._v("Following the example from above, we'll be renaming it to "),n("code",[t._v("PCI0.LPC0.RTC")]),t._v(":")]),t._v(" "),n("p",[n("strong",[t._v("Before")]),t._v(":")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v("External (_SB_.PC00.LPC0, DeviceObj) <- Rename this\n\nExternal (_SB_.PC00.LPC0.RTC_, DeviceObj) <- Rename this\n\nScope (_SB.PC00.LPC0) <- Rename this\n")])])]),n("p",[n("img",{attrs:{src:a(380),alt:""}})]),t._v(" "),n("p",[t._v("Following the example pathing we found, the SSDT should look something like this:")]),t._v(" "),n("p",[n("strong",[t._v("After")]),t._v(":")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v("External (_SB_.PCI0.LPC0, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.LPC0.RTC) <- Renamed\n\nScope (_SB.PCI0.LPC0) <- Renamed\n\n\n /* <- Remove if your RTC device didn't have an _STA\n Scope (RTC)\n {\n Method (_STA, 0, NotSerialized) // _STA: Status\n {\n If (_OSI (\"Darwin\"))\n {\n Return (Zero)\n }\n Else\n {\n Return (0x0F)\n }\n }\n }\n */ <- Remove if your RTC device didn't have an _STA\n")])])]),n("p",[n("img",{attrs:{src:a(381),alt:""}})]),t._v(" "),n("h3",{attrs:{id:"compiling-the-ssdt"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),n("p",[t._v("With the SSDT done, you're now "),n("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),n("h2",{attrs:{id:"wrapping-up"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),n("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/cleanup.html"}},[n("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{319:function(t,e,a){t.exports=a.p+"assets/img/lpc.bfa9cf23.png"},320:function(t,e,a){t.exports=a.p+"assets/img/pci0.4477f361.png"},378:function(t,e,a){t.exports=a.p+"assets/img/rtc-range-check.d964e9c9.png"},379:function(t,e,a){t.exports=a.p+"assets/img/rtc-name.afa4c3f4.png"},380:function(t,e,a){t.exports=a.p+"assets/img/ssdt-before-rename-hedt.4b47d5a3.png"},381:function(t,e,a){t.exports=a.p+"assets/img/ssdt-after-rename-hedt.ea1fe10e.png"},433:function(t,e,a){"use strict";a.r(e);var n=a(25),i=Object(n.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"fixing-system-clocks-on-hedt-manual"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#fixing-system-clocks-on-hedt-manual"}},[t._v("#")]),t._v(" Fixing System Clocks on HEDT: Manual")]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),n("li",[n("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),n("li",[n("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),n("li",[n("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),n("h2",{attrs:{id:"seeing-if-you-need-ssdt-rtc0-range"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#seeing-if-you-need-ssdt-rtc0-range"}},[t._v("#")]),t._v(" Seeing if you need SSDT-RTC0-RANGE")]),t._v(" "),n("p",[t._v("To start, first open your decompiled DSDT you got from "),n("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),n("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),n("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),n("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),n("p",[t._v("Now search for "),n("code",[t._v("PNP0B00")]),t._v(" and look at the "),n("code",[t._v("_CRS")]),t._v(" entry within it:")]),t._v(" "),n("p",[n("img",{attrs:{src:a(378),alt:""}})]),t._v(" "),n("p",[t._v("And from the above example, we see we have 2 banks of RTC memory:")]),t._v(" "),n("ul",[n("li",[t._v("Bank 1: starts at 0x70 and is length 0x2")]),t._v(" "),n("li",[t._v("Bank 2: starts at 0x74 and is length 0x4")])]),t._v(" "),n("p",[t._v("Now the problem is that the OEM forgot to mat sections 0x72 and 0x73. Because of this, macOS may halt while booting(prominently in Big Sur)")]),t._v(" "),n("p",[t._v("And finally, verify if it has an _STA method as well. This will be used shortly")]),t._v(" "),n("h2",{attrs:{id:"finding-the-acpi-path"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),n("p",[t._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),n("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),n("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),n("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),n("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),n("p",[t._v("To start, search for the following:")]),t._v(" "),n("ul",[n("li",[t._v("Finding the RTC name:\n"),n("ul",[n("li",[t._v("Search "),n("code",[t._v("PNP0B00")])])])]),t._v(" "),n("li",[t._v("Finding the LowPinCount path:\n"),n("ul",[n("li",[t._v("Search "),n("code",[t._v("Name (_ADR, 0x001F0000)")])])])]),t._v(" "),n("li",[t._v("Finding the PCI path:\n"),n("ul",[n("li",[t._v("Search "),n("code",[t._v("PNP0A08")]),t._v(" (If multiple show up, use the first one)")])])])]),t._v(" "),n("p",[t._v("You should get something like the following show up:")]),t._v(" "),n("table",[n("thead",[n("tr",[n("th",{staticStyle:{"text-align":"center"}},[t._v("RTC Pathing")]),t._v(" "),n("th",{staticStyle:{"text-align":"center"}},[t._v("LPC Pathing")]),t._v(" "),n("th",{staticStyle:{"text-align":"center"}},[t._v("PCI Pathing")])])]),t._v(" "),n("tbody",[n("tr",[n("td",{staticStyle:{"text-align":"center"}},[n("img",{attrs:{src:a(379),alt:""}})]),t._v(" "),n("td",{staticStyle:{"text-align":"center"}},[n("img",{attrs:{src:a(319),alt:""}})]),t._v(" "),n("td",{staticStyle:{"text-align":"center"}},[n("img",{attrs:{src:a(320),alt:""}})])])])]),t._v(" "),n("p",[t._v("From the above, we can see we have "),n("code",[t._v("RTC")]),t._v(", "),n("code",[t._v("LPC0")]),t._v(" and "),n("code",[t._v("PCI0")]),t._v(". Now we can head to the next stage")]),t._v(" "),n("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),n("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-RTC0-RANGE.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-RTC0-RANGE.dsl"),n("OutboundLink")],1)])]),t._v(" "),n("p",[t._v("By default, this uses "),n("code",[t._v("PC00.LPC0.RTC")]),t._v(" for the pathing. you'll want to rename accordingly.")]),t._v(" "),n("p",[t._v("Following the example from above, we'll be renaming it to "),n("code",[t._v("PCI0.LPC0.RTC")]),t._v(":")]),t._v(" "),n("p",[n("strong",[t._v("Before")]),t._v(":")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v("External (_SB_.PC00.LPC0, DeviceObj) <- Rename this\n\nExternal (_SB_.PC00.LPC0.RTC_, DeviceObj) <- Rename this\n\nScope (_SB.PC00.LPC0) <- Rename this\n")])])]),n("p",[n("img",{attrs:{src:a(380),alt:""}})]),t._v(" "),n("p",[t._v("Following the example pathing we found, the SSDT should look something like this:")]),t._v(" "),n("p",[n("strong",[t._v("After")]),t._v(":")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v("External (_SB_.PCI0.LPC0, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.LPC0.RTC) <- Renamed\n\nScope (_SB.PCI0.LPC0) <- Renamed\n\n\n /* <- Remove if your RTC device didn't have an _STA\n Scope (RTC)\n {\n Method (_STA, 0, NotSerialized) // _STA: Status\n {\n If (_OSI (\"Darwin\"))\n {\n Return (Zero)\n }\n Else\n {\n Return (0x0F)\n }\n }\n }\n */ <- Remove if your RTC device didn't have an _STA\n")])])]),n("p",[n("img",{attrs:{src:a(381),alt:""}})]),t._v(" "),n("h3",{attrs:{id:"compiling-the-ssdt"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),n("p",[t._v("With the SSDT done, you're now "),n("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),n("h2",{attrs:{id:"wrapping-up"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),n("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),n("ul",[n("li",[n("RouterLink",{attrs:{to:"/cleanup.html"}},[n("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/46.545404ca.js b/assets/js/46.545404ca.js new file mode 100644 index 0000000..c5b131d --- /dev/null +++ b/assets/js/46.545404ca.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{451:function(e,t,r){"use strict";r.r(t);var a=r(25),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"fixing-power-management-prebuilt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fixing-power-management-prebuilt"}},[e._v("#")]),e._v(" Fixing Power Management: Prebuilt")]),e._v(" "),r("p",[e._v("By far the easiest way to get SSDT-PLUG is just downloading the below file:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-PLUG-DRTNIA.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PLUG-DRTNIA.aml"),r("OutboundLink")],1)])]),e._v(" "),r("p",[e._v("This prebuilt file is just a precompiled version of "),r("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-PLUG.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PLUG"),r("OutboundLink")],1),e._v(" provided by Acidanthera.")]),e._v(" "),r("p",[e._v("The main things to note with this method:")]),e._v(" "),r("ul",[r("li",[e._v("Quite Bloated\n"),r("ul",[r("li",[e._v("There's ACPI naming for every type, this means there's added delays in boot times(though unnoticeable to most as it's generally 0.5 seconds longer)")])])]),e._v(" "),r("li",[e._v("Doesn't really teach you anything\n"),r("ul",[r("li",[e._v("For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey")])])])]),e._v(" "),r("h2",{attrs:{id:"wrapping-up"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),r("p",[e._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),e._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/cleanup.html"}},[r("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/46.60703ffc.js b/assets/js/46.60703ffc.js deleted file mode 100644 index 5de5a22..0000000 --- a/assets/js/46.60703ffc.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{451:function(e,t,r){"use strict";r.r(t);var a=r(25),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"fixing-power-management-prebuilt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fixing-power-management-prebuilt"}},[e._v("#")]),e._v(" Fixing Power Management: Prebuilt")]),e._v(" "),r("p",[e._v("By far the easiest way to get SSDT-PLUG is just downloading the below file:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-PLUG-DRTNIA.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PLUG-DRTNIA.aml"),r("OutboundLink")],1)])]),e._v(" "),r("p",[e._v("This prebuilt file is just a precompiled version of "),r("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PLUG.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-PLUG"),r("OutboundLink")],1),e._v(" provided by Acidanthera.")]),e._v(" "),r("p",[e._v("The main things to note with this method:")]),e._v(" "),r("ul",[r("li",[e._v("Quite Bloated\n"),r("ul",[r("li",[e._v("There's ACPI naming for every type, this means there's added delays in boot times(though unnoticeable to most as it's generally 0.5 seconds longer)")])])]),e._v(" "),r("li",[e._v("Doesn't really teach you anything\n"),r("ul",[r("li",[e._v("For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey")])])])]),e._v(" "),r("h2",{attrs:{id:"wrapping-up"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),r("p",[e._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),e._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/cleanup.html"}},[r("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/5.198507b0.js b/assets/js/5.198507b0.js new file mode 100644 index 0000000..6bc9abb --- /dev/null +++ b/assets/js/5.198507b0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{319:function(t,e,a){t.exports=a.p+"assets/img/lpc.bfa9cf23.png"},320:function(t,e,a){t.exports=a.p+"assets/img/pci0.4477f361.png"},382:function(t,e,a){t.exports=a.p+"assets/img/ACPI000E.f11d4625.png"},383:function(t,e,a){t.exports=a.p+"assets/img/PNP0B00.cd0c5876.png"},384:function(t,e,a){t.exports=a.p+"assets/img/ssdt-before.b9b19f9b.png"},385:function(t,e,a){t.exports=a.p+"assets/img/ssdt-after.3d0ae705.png"},434:function(t,e,a){"use strict";a.r(e);var s=a(25),n=Object(s.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-system-clocks-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-system-clocks-manual"}},[t._v("#")]),t._v(" Fixing System Clocks: Manual")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#determining-which-ssdt-you-need"}},[t._v("Determining which SSDT you need")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#rtc0-method"}},[t._v("RTC0 Method")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])])])]),t._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),s("h2",{attrs:{id:"determining-which-ssdt-you-need"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#determining-which-ssdt-you-need"}},[t._v("#")]),t._v(" Determining which SSDT you need")]),t._v(" "),s("ul",[s("li",[s("strong",[t._v("Note")]),t._v(": X99 and X299 see "),s("RouterLink",{attrs:{to:"/Universal/awac-methods/manual-hedt.html"}},[t._v("here")])],1)]),t._v(" "),s("p",[t._v("Finding which SSDT you need is quite easy actually, first open your decompiled DSDT you got from "),s("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),s("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),s("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),s("p",[t._v("Next search for "),s("code",[t._v("ACPI000E")]),t._v(". You should get something similar:")]),t._v(" "),s("p",[s("img",{attrs:{src:a(382),alt:""}})]),t._v(" "),s("p",[t._v("The above tells us a few things:")]),t._v(" "),s("ul",[s("li",[t._v("We in fact do have an AWAC clock\n"),s("ul",[s("li",[t._v("If nothing shows up, you don't need to do anything for AWAC or RTC")])])]),t._v(" "),s("li",[t._v("It can be easily disabled with STAS(if not, you can skip to here: "),s("a",{attrs:{href:"#rtc0-method"}},[t._v("RTC0 Method")]),t._v(")\n"),s("ul",[s("li",[s("code",[t._v("_STA")]),t._v(" is the device status, with "),s("code",[t._v("Zero")]),t._v(" meaning it won't show up")])])])]),t._v(" "),s("p",[t._v("But to double check, next search for "),s("code",[t._v("PNP0B00")]),t._v(":")]),t._v(" "),s("p",[s("img",{attrs:{src:a(383),alt:""}})]),t._v(" "),s("p",[t._v("And looks at that, we can in fact disable our AWAC and enable the RTC! If not skip to here: "),s("a",{attrs:{href:"#rtc0-method"}},[t._v("RTC0 Method")])]),t._v(" "),s("p",[t._v("Now it's as simple as grabbing "),s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-AWAC.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-AWAC.dsl"),s("OutboundLink")],1),t._v(" and "),s("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("compile")]),t._v(", no changes needed You can also use the below SSDT to the same effect:")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-AWAC.aml",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-AWAC.aml"),s("OutboundLink")],1)])]),t._v(" "),s("h2",{attrs:{id:"rtc0-method"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#rtc0-method"}},[t._v("#")]),t._v(" RTC0 Method")]),t._v(" "),s("p",[t._v("This method is for those who either don't have a "),s("code",[t._v("PNP0B00")]),t._v(" device to re-enable or have no easy way(via STAS variable).")]),t._v(" "),s("h3",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),s("p",[t._v("Assuming you've gotten your DSDT already opened from earlier, search for the following:")]),t._v(" "),s("ul",[s("li",[t._v("Finding the LowPinCount path:\n"),s("ul",[s("li",[t._v("Search "),s("code",[t._v("Name (_ADR, 0x001F0000)")])])])]),t._v(" "),s("li",[t._v("Finding the PCI path:\n"),s("ul",[s("li",[t._v("Search "),s("code",[t._v("PNP0A08")]),t._v(" (If multiple show up, use the first one)")])])])]),t._v(" "),s("p",[t._v("You should get something like the following show up:")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",{staticStyle:{"text-align":"center"}},[t._v("LPC Pathing")]),t._v(" "),s("th",{staticStyle:{"text-align":"center"}},[t._v("PCI Pathing")])])]),t._v(" "),s("tbody",[s("tr",[s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(319),alt:""}})]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(320),alt:""}})])])])]),t._v(" "),s("p",[t._v("From the above, we can see we have both "),s("code",[t._v("PCI0")]),t._v(" and "),s("code",[t._v("LPC")]),t._v(". Now we can head to the next stage")]),t._v(" "),s("h3",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),s("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-RTC0.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-RTC0.dsl"),s("OutboundLink")],1)])]),t._v(" "),s("p",[t._v("By default, this uses "),s("code",[t._v("PCI0.LPCB")]),t._v(" for the pathing. you'll want to rename accordingly.")]),t._v(" "),s("p",[t._v("Following the example from above, we'll be renaming it to "),s("code",[t._v("PCI0.LPC")]),t._v(":")]),t._v(" "),s("p",[s("strong",[t._v("Before")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(384),alt:""}})]),t._v(" "),s("p",[t._v("Following the example pathing we found, the SSDT should look something like this:")]),t._v(" "),s("p",[s("strong",[t._v("After")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("External (_SB_.PCI0.LPC, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.LPC) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(385),alt:""}})]),t._v(" "),s("h3",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),s("p",[t._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),s("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/5.81383b1e.js b/assets/js/5.81383b1e.js deleted file mode 100644 index 8bab233..0000000 --- a/assets/js/5.81383b1e.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{319:function(t,e,a){t.exports=a.p+"assets/img/lpc.bfa9cf23.png"},320:function(t,e,a){t.exports=a.p+"assets/img/pci0.4477f361.png"},382:function(t,e,a){t.exports=a.p+"assets/img/ACPI000E.f11d4625.png"},383:function(t,e,a){t.exports=a.p+"assets/img/PNP0B00.cd0c5876.png"},384:function(t,e,a){t.exports=a.p+"assets/img/ssdt-before.b9b19f9b.png"},385:function(t,e,a){t.exports=a.p+"assets/img/ssdt-after.3d0ae705.png"},434:function(t,e,a){"use strict";a.r(e);var s=a(25),n=Object(s.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-system-clocks-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-system-clocks-manual"}},[t._v("#")]),t._v(" Fixing System Clocks: Manual")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#determining-which-ssdt-you-need"}},[t._v("Determining which SSDT you need")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#rtc0-method"}},[t._v("RTC0 Method")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])])])]),t._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),s("h2",{attrs:{id:"determining-which-ssdt-you-need"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#determining-which-ssdt-you-need"}},[t._v("#")]),t._v(" Determining which SSDT you need")]),t._v(" "),s("ul",[s("li",[s("strong",[t._v("Note")]),t._v(": X99 and X299 see "),s("RouterLink",{attrs:{to:"/Universal/awac-methods/manual-hedt.html"}},[t._v("here")])],1)]),t._v(" "),s("p",[t._v("Finding which SSDT you need is quite easy actually, first open your decompiled DSDT you got from "),s("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),s("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),s("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),s("p",[t._v("Next search for "),s("code",[t._v("ACPI000E")]),t._v(". You should get something similar:")]),t._v(" "),s("p",[s("img",{attrs:{src:a(382),alt:""}})]),t._v(" "),s("p",[t._v("The above tells us a few things:")]),t._v(" "),s("ul",[s("li",[t._v("We in fact do have an AWAC clock\n"),s("ul",[s("li",[t._v("If nothing shows up, you don't need to do anything for AWAC or RTC")])])]),t._v(" "),s("li",[t._v("It can be easily disabled with STAS(if not, you can skip to here: "),s("a",{attrs:{href:"#rtc0-method"}},[t._v("RTC0 Method")]),t._v(")\n"),s("ul",[s("li",[s("code",[t._v("_STA")]),t._v(" is the device status, with "),s("code",[t._v("Zero")]),t._v(" meaning it won't show up")])])])]),t._v(" "),s("p",[t._v("But to double check, next search for "),s("code",[t._v("PNP0B00")]),t._v(":")]),t._v(" "),s("p",[s("img",{attrs:{src:a(383),alt:""}})]),t._v(" "),s("p",[t._v("And looks at that, we can in fact disable our AWAC and enable the RTC! If not skip to here: "),s("a",{attrs:{href:"#rtc0-method"}},[t._v("RTC0 Method")])]),t._v(" "),s("p",[t._v("Now it's as simple as grabbing "),s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-AWAC.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-AWAC.dsl"),s("OutboundLink")],1),t._v(" and "),s("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("compile")]),t._v(", no changes needed You can also use the below SSDT to the same effect:")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-AWAC.aml",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-AWAC.aml"),s("OutboundLink")],1)])]),t._v(" "),s("h2",{attrs:{id:"rtc0-method"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#rtc0-method"}},[t._v("#")]),t._v(" RTC0 Method")]),t._v(" "),s("p",[t._v("This method is for those who either don't have a "),s("code",[t._v("PNP0B00")]),t._v(" device to re-enable or have no easy way(via STAS variable).")]),t._v(" "),s("h3",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),s("p",[t._v("Assuming you've gotten your DSDT already opened from earlier, search for the following:")]),t._v(" "),s("ul",[s("li",[t._v("Finding the LowPinCount path:\n"),s("ul",[s("li",[t._v("Search "),s("code",[t._v("Name (_ADR, 0x001F0000)")])])])]),t._v(" "),s("li",[t._v("Finding the PCI path:\n"),s("ul",[s("li",[t._v("Search "),s("code",[t._v("PNP0A08")]),t._v(" (If multiple show up, use the first one)")])])])]),t._v(" "),s("p",[t._v("You should get something like the following show up:")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",{staticStyle:{"text-align":"center"}},[t._v("LPC Pathing")]),t._v(" "),s("th",{staticStyle:{"text-align":"center"}},[t._v("PCI Pathing")])])]),t._v(" "),s("tbody",[s("tr",[s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(319),alt:""}})]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(320),alt:""}})])])])]),t._v(" "),s("p",[t._v("From the above, we can see we have both "),s("code",[t._v("PCI0")]),t._v(" and "),s("code",[t._v("LPC")]),t._v(". Now we can head to the next stage")]),t._v(" "),s("h3",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),s("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-RTC0.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-RTC0.dsl"),s("OutboundLink")],1)])]),t._v(" "),s("p",[t._v("By default, this uses "),s("code",[t._v("PCI0.LPCB")]),t._v(" for the pathing. you'll want to rename accordingly.")]),t._v(" "),s("p",[t._v("Following the example from above, we'll be renaming it to "),s("code",[t._v("PCI0.LPC")]),t._v(":")]),t._v(" "),s("p",[s("strong",[t._v("Before")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(384),alt:""}})]),t._v(" "),s("p",[t._v("Following the example pathing we found, the SSDT should look something like this:")]),t._v(" "),s("p",[s("strong",[t._v("After")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("External (_SB_.PCI0.LPC, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.LPC) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(385),alt:""}})]),t._v(" "),s("h3",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),s("p",[t._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),s("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/53.b2af6d87.js b/assets/js/53.74a8c54f.js similarity index 60% rename from assets/js/53.b2af6d87.js rename to assets/js/53.74a8c54f.js index 869ec28..148133c 100644 --- a/assets/js/53.b2af6d87.js +++ b/assets/js/53.74a8c54f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{461:function(t,e,a){"use strict";a.r(e);var r=a(25),n=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"fixing-uncore-bridges-manual"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fixing-uncore-bridges-manual"}},[t._v("#")]),t._v(" Fixing Uncore Bridges: Manual")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),a("h2",{attrs:{id:"download-the-ssdt"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#download-the-ssdt"}},[t._v("#")]),t._v(" Download the SSDT")]),t._v(" "),a("p",[t._v("Super simple, just grab the SSDT and compile:")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-UNC.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-UNC.dsl"),a("OutboundLink")],1)])]),t._v(" "),a("p",[t._v("See here how to compile: "),a("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Compiling ACPI")])],1),t._v(" "),a("h2",{attrs:{id:"wrapping-up"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),a("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/cleanup.html"}},[a("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{461:function(t,e,a){"use strict";a.r(e);var r=a(25),n=Object(r.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"fixing-uncore-bridges-manual"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#fixing-uncore-bridges-manual"}},[t._v("#")]),t._v(" Fixing Uncore Bridges: Manual")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),a("h2",{attrs:{id:"download-the-ssdt"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#download-the-ssdt"}},[t._v("#")]),t._v(" Download the SSDT")]),t._v(" "),a("p",[t._v("Super simple, just grab the SSDT and compile:")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-UNC.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-UNC.dsl"),a("OutboundLink")],1)])]),t._v(" "),a("p",[t._v("See here how to compile: "),a("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Compiling ACPI")])],1),t._v(" "),a("h2",{attrs:{id:"wrapping-up"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),a("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/cleanup.html"}},[a("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/6.81b7fa62.js b/assets/js/6.81b7fa62.js new file mode 100644 index 0000000..7c64e60 --- /dev/null +++ b/assets/js/6.81b7fa62.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{386:function(e,t,a){e.exports=a.p+"assets/img/pnp.8c2387eb.png"},387:function(e,t,a){e.exports=a.p+"assets/img/ec.dd4b7c64.png"},388:function(e,t,a){e.exports=a.p+"assets/img/ssdt-before.b846f355.png"},389:function(e,t,a){e.exports=a.p+"assets/img/ssdt-after.7996c4b7.png"},390:function(e,t,a){e.exports=a.p+"assets/img/sta.e2d0aed0.png"},439:function(e,t,a){"use strict";a.r(t);var r=a(25),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"fixing-embedded-controllers-manual"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("#")]),e._v(" Fixing Embedded Controllers: Manual")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("Fixing Embedded Controllers: Manual")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"#dsdt"}},[e._v("DSDT")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])])]),e._v(" "),r("li",[r("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#edge-cases"}},[e._v("Edge Cases")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"#multiple-pnp0c09s-show-up"}},[e._v("Multiple PNP0C09's show up")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#no-pnp0c09-show-up"}},[e._v("No PNP0C09 show up")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("PNP0C09 already named "),r("code",[e._v("EC")])])]),e._v(" "),r("li",[r("a",{attrs:{href:"#pnp0c09-already-has-an-_sta-method"}},[e._v("PNP0C09 already has an "),r("code",[e._v("_STA")]),e._v(" method")])])])]),e._v(" "),r("li",[r("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])])])]),e._v(" "),r("p",[e._v("TO-DO:")]),e._v(" "),r("ul",[r("li",[e._v("Finish Edge cases and sample SSDT edits")])]),e._v(" "),r("h2",{attrs:{id:"finding-the-acpi-path"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[e._v("#")]),e._v(" Finding the ACPI path")]),e._v(" "),r("p",[e._v("To find the ACPI pathing, you have 2 methods:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"#DSDT"}},[e._v("DSDT")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])]),e._v(" "),r("h3",{attrs:{id:"dsdt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#dsdt"}},[e._v("#")]),e._v(" DSDT")]),e._v(" "),r("p",[e._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),r("RouterLink",{attrs:{to:"/Manual/dump.html"}},[e._v("Dumping the DSDT")]),e._v(" and "),r("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("Decompiling and Compiling")]),e._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),r("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI extension"),r("OutboundLink")],1),e._v(" that can also help).")],1),e._v(" "),r("p",[e._v("Next, search for "),r("code",[e._v("PNP0C09")]),e._v(". You should get something similar:")]),e._v(" "),r("p",[r("img",{attrs:{src:a(386),alt:""}})]),e._v(" "),r("p",[e._v("From the above example we see 2 main things:")]),e._v(" "),r("ul",[r("li",[e._v("Name of our embedded controller\n"),r("ul",[r("li",[e._v("In this case being "),r("code",[e._v("EC0")])])])]),e._v(" "),r("li",[e._v("Pathing of our embedded controller\n"),r("ul",[r("li",[r("code",[e._v("PC00.LPC0")])])])])]),e._v(" "),r("p",[e._v("But now we get into edge case territory, what fun!")]),e._v(" "),r("p",[e._v("The main ones to check for are:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("Fixing Embedded Controllers: Manual")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"#dsdt"}},[e._v("DSDT")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])])]),e._v(" "),r("li",[r("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#edge-cases"}},[e._v("Edge Cases")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"#multiple-pnp0c09s-show-up"}},[e._v("Multiple PNP0C09's show up")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#no-pnp0c09-show-up"}},[e._v("No PNP0C09 show up")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("PNP0C09 already named "),r("code",[e._v("EC")])])]),e._v(" "),r("li",[r("a",{attrs:{href:"#pnp0c09-already-has-an-_sta-method"}},[e._v("PNP0C09 already has an "),r("code",[e._v("_STA")]),e._v(" method")])])])]),e._v(" "),r("li",[r("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),r("li",[r("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])])])]),e._v(" "),r("p",[e._v("If none of the above apply to you, you're ready for the next section:")]),e._v(" "),r("h3",{attrs:{id:"devicemanager"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#devicemanager"}},[e._v("#")]),e._v(" DeviceManager")]),e._v(" "),r("p",[e._v("If you already have Windows installed on this machine, finding the EC pathing is fairly easy.")]),e._v(" "),r("p",[e._v("Start by opening up Device Manager in Windows and looking for a device named "),r("code",[e._v("Embedded Controller")]),e._v(". Once found, click on it and select the "),r("code",[e._v("BIOS device Name")]),e._v(" entry. You should get something like this:")]),e._v(" "),r("p",[r("img",{attrs:{src:a(387),alt:""}})]),e._v(" "),r("p",[e._v("From the above, we can see that our pathing is "),r("code",[e._v("SB.PC00.LPC0.EC0")])]),e._v(" "),r("p",[e._v("Now with the pathing, you can head here: "),r("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),r("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("#")]),e._v(" Edits to the sample SSDT")]),e._v(" "),r("p",[e._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-EC-USBX.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-USBX"),r("OutboundLink")],1),e._v(" "),r("ul",[r("li",[e._v("For Skylake and newer and all AMD systems")])])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-EC.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC"),r("OutboundLink")],1),e._v(" "),r("ul",[r("li",[e._v("For Broadwell and older")])])])]),e._v(" "),r("p",[e._v("Now when opening this SSDT, you'll notice a few things. Mainly:")]),e._v(" "),r("ul",[r("li",[e._v("Some code is commented out\n"),r("ul",[r("li",[e._v("This is code for disabling our EC")]),e._v(" "),r("li",[e._v("Laptops users "),r("strong",[e._v("SHOULD NOT")]),e._v(" uncomment this")])])]),e._v(" "),r("li",[e._v("There's a new EC called "),r("code",[e._v("Device (EC)")]),e._v(" "),r("ul",[r("li",[r("strong",[e._v("DO NOT RENAME THIS")]),e._v(", this will be the EC we give to macOS")])])])]),e._v(" "),r("p",[r("strong",[e._v("Before")]),e._v(":")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[e._v("External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),r("p",[r("img",{attrs:{src:a(388),alt:""}})]),e._v(" "),r("p",[e._v("Following the example pathing we found, the SSDT should look something like this:")]),e._v(" "),r("p",[r("strong",[e._v("After")]),e._v(":")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[e._v("External (_SB_.PC00.LPC0, DeviceObj) <- Renamed\n\nScope (_SB.PC00.LPC0) <- Renamed\n")])])]),r("p",[r("img",{attrs:{src:a(389),alt:""}})]),e._v(" "),r("h2",{attrs:{id:"edge-cases"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#edge-cases"}},[e._v("#")]),e._v(" Edge Cases")]),e._v(" "),r("h3",{attrs:{id:"multiple-pnp0c09-s-show-up"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#multiple-pnp0c09-s-show-up"}},[e._v("#")]),e._v(" Multiple PNP0C09's show up")]),e._v(" "),r("p",[e._v("When multiple PNP0C09 show up, we need to next check for the following properties:")]),e._v(" "),r("ul",[r("li",[r("code",[e._v("_HID")]),e._v(" (Hardware ID)")]),e._v(" "),r("li",[r("code",[e._v("_CRS")]),e._v(" (Current Resource Settings)")]),e._v(" "),r("li",[r("code",[e._v("_GPE")]),e._v(" (General Purpose Events)")])]),e._v(" "),r("p",[e._v("What these signify is whether this PNP0C09 device is real or not, as per the "),r("a",{attrs:{href:"https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI spec"),r("OutboundLink")],1),e._v(". So one's matching the above criteria are the one's we want to disable.")]),e._v(" "),r("ul",[r("li",[e._v("Note: If _STA shows up as well, you'll need to go here: "),r("a",{attrs:{href:"#pnp0c09-already-has-an-sta-method"}},[e._v("PNP0C09 already has an "),r("code",[e._v("_STA")]),e._v(" method")])])]),e._v(" "),r("h3",{attrs:{id:"no-pnp0c09-show-up"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#no-pnp0c09-show-up"}},[e._v("#")]),e._v(" No PNP0C09 show up")]),e._v(" "),r("p",[e._v('When this happens, you\'ll only need to create a "dummy" EC for macOS.')]),e._v(" "),r("p",[e._v('Try searching for any devices named: "LPCB", "LPC0", "LPC", "SBRG", "PX40". If you have any of these, try using the LPC pathing of each of those device in place of the Embedded Controller\'s pathing.')]),e._v(" "),r("p",[e._v("Note that "),r("strong",[e._v("DO NOT")]),e._v(' uncomment the EC disabling code as there are no devices that are considered "EC" in your machine.')]),e._v(" "),r("h3",{attrs:{id:"pnp0c09-already-named-ec"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("#")]),e._v(" PNP0C09 already named "),r("code",[e._v("EC")])]),e._v(" "),r("p",[e._v("Congrats! No need to create an SSDT-EC! However you will still want USBX if you're Skylake or newer.")]),e._v(" "),r("p",[e._v("Prebuilt can be grabbed here: "),r("a",{attrs:{href:"https://github.com/dortania/OpenCore-Post-Install/blob/master/extra-files/SSDT-USBX.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-USBX.aml"),r("OutboundLink")],1)]),e._v(" "),r("h3",{attrs:{id:"pnp0c09-already-has-an-sta-method"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pnp0c09-already-has-an-sta-method"}},[e._v("#")]),e._v(" PNP0C09 already has an "),r("code",[e._v("_STA")]),e._v(" method")]),e._v(" "),r("p",[e._v("This is the equivalent of not having an EC as we can't control it with our SSDT-EC, instead we'll need to create a \"dummy\" EC for macOS. You'll still want to find the PCI and LPC pathing for this device. So follow the guide as if you were creating a laptop SSDT-EC/USBX.")]),e._v(" "),r("p",[e._v("Example of an EC with STA already:")]),e._v(" "),r("p",[r("img",{attrs:{src:a(390),alt:"Credit to rottenpants466"}})]),e._v(" "),r("h2",{attrs:{id:"compiling-the-ssdt"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),r("p",[e._v("With the SSDT done, you're now "),r("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),r("h2",{attrs:{id:"wrapping-up"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),r("p",[e._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),e._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/cleanup.html"}},[r("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/6.d1d08efa.js b/assets/js/6.d1d08efa.js deleted file mode 100644 index 9cdbd5c..0000000 --- a/assets/js/6.d1d08efa.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{386:function(e,t,a){e.exports=a.p+"assets/img/pnp.8c2387eb.png"},387:function(e,t,a){e.exports=a.p+"assets/img/ec.dd4b7c64.png"},388:function(e,t,a){e.exports=a.p+"assets/img/ssdt-before.b846f355.png"},389:function(e,t,a){e.exports=a.p+"assets/img/ssdt-after.7996c4b7.png"},390:function(e,t,a){e.exports=a.p+"assets/img/sta.e2d0aed0.png"},439:function(e,t,a){"use strict";a.r(t);var s=a(25),r=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-embedded-controllers-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("#")]),e._v(" Fixing Embedded Controllers: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("Fixing Embedded Controllers: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#dsdt"}},[e._v("DSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edge-cases"}},[e._v("Edge Cases")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#multiple-pnp0c09s-show-up"}},[e._v("Multiple PNP0C09's show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#no-pnp0c09-show-up"}},[e._v("No PNP0C09 show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("PNP0C09 already named "),s("code",[e._v("EC")])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-has-an-_sta-method"}},[e._v("PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])])])]),e._v(" "),s("p",[e._v("TO-DO:")]),e._v(" "),s("ul",[s("li",[e._v("Finish Edge cases and sample SSDT edits")])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[e._v("#")]),e._v(" Finding the ACPI path")]),e._v(" "),s("p",[e._v("To find the ACPI pathing, you have 2 methods:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#DSDT"}},[e._v("DSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])]),e._v(" "),s("h3",{attrs:{id:"dsdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#dsdt"}},[e._v("#")]),e._v(" DSDT")]),e._v(" "),s("p",[e._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),s("RouterLink",{attrs:{to:"/Manual/dump.html"}},[e._v("Dumping the DSDT")]),e._v(" and "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("Decompiling and Compiling")]),e._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),s("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI extension"),s("OutboundLink")],1),e._v(" that can also help).")],1),e._v(" "),s("p",[e._v("Next, search for "),s("code",[e._v("PNP0C09")]),e._v(". You should get something similar:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(386),alt:""}})]),e._v(" "),s("p",[e._v("From the above example we see 2 main things:")]),e._v(" "),s("ul",[s("li",[e._v("Name of our embedded controller\n"),s("ul",[s("li",[e._v("In this case being "),s("code",[e._v("EC0")])])])]),e._v(" "),s("li",[e._v("Pathing of our embedded controller\n"),s("ul",[s("li",[s("code",[e._v("PC00.LPC0")])])])])]),e._v(" "),s("p",[e._v("But now we get into edge case territory, what fun!")]),e._v(" "),s("p",[e._v("The main ones to check for are:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#fixing-embedded-controllers-manual"}},[e._v("Fixing Embedded Controllers: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#dsdt"}},[e._v("DSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edge-cases"}},[e._v("Edge Cases")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#multiple-pnp0c09s-show-up"}},[e._v("Multiple PNP0C09's show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#no-pnp0c09-show-up"}},[e._v("No PNP0C09 show up")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("PNP0C09 already named "),s("code",[e._v("EC")])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#pnp0c09-already-has-an-_sta-method"}},[e._v("PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])])])]),e._v(" "),s("p",[e._v("If none of the above apply to you, you're ready for the next section:")]),e._v(" "),s("h3",{attrs:{id:"devicemanager"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#devicemanager"}},[e._v("#")]),e._v(" DeviceManager")]),e._v(" "),s("p",[e._v("If you already have Windows installed on this machine, finding the EC pathing is fairly easy.")]),e._v(" "),s("p",[e._v("Start by opening up Device Manager in Windows and looking for a device named "),s("code",[e._v("Embedded Controller")]),e._v(". Once found, click on it and select the "),s("code",[e._v("BIOS device Name")]),e._v(" entry. You should get something like this:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(387),alt:""}})]),e._v(" "),s("p",[e._v("From the above, we can see that our pathing is "),s("code",[e._v("SB.PC00.LPC0.EC0")])]),e._v(" "),s("p",[e._v("Now with the pathing, you can head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("#")]),e._v(" Edits to the sample SSDT")]),e._v(" "),s("p",[e._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC-USBX.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC-USBX"),s("OutboundLink")],1),e._v(" "),s("ul",[s("li",[e._v("For Skylake and newer and all AMD systems")])])]),e._v(" "),s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-EC"),s("OutboundLink")],1),e._v(" "),s("ul",[s("li",[e._v("For Broadwell and older")])])])]),e._v(" "),s("p",[e._v("Now when opening this SSDT, you'll notice a few things. Mainly:")]),e._v(" "),s("ul",[s("li",[e._v("Some code is commented out\n"),s("ul",[s("li",[e._v("This is code for disabling our EC")]),e._v(" "),s("li",[e._v("Laptops users "),s("strong",[e._v("SHOULD NOT")]),e._v(" uncomment this")])])]),e._v(" "),s("li",[e._v("There's a new EC called "),s("code",[e._v("Device (EC)")]),e._v(" "),s("ul",[s("li",[s("strong",[e._v("DO NOT RENAME THIS")]),e._v(", this will be the EC we give to macOS")])])])]),e._v(" "),s("p",[s("strong",[e._v("Before")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(388),alt:""}})]),e._v(" "),s("p",[e._v("Following the example pathing we found, the SSDT should look something like this:")]),e._v(" "),s("p",[s("strong",[e._v("After")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PC00.LPC0, DeviceObj) <- Renamed\n\nScope (_SB.PC00.LPC0) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(389),alt:""}})]),e._v(" "),s("h2",{attrs:{id:"edge-cases"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edge-cases"}},[e._v("#")]),e._v(" Edge Cases")]),e._v(" "),s("h3",{attrs:{id:"multiple-pnp0c09-s-show-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#multiple-pnp0c09-s-show-up"}},[e._v("#")]),e._v(" Multiple PNP0C09's show up")]),e._v(" "),s("p",[e._v("When multiple PNP0C09 show up, we need to next check for the following properties:")]),e._v(" "),s("ul",[s("li",[s("code",[e._v("_HID")]),e._v(" (Hardware ID)")]),e._v(" "),s("li",[s("code",[e._v("_CRS")]),e._v(" (Current Resource Settings)")]),e._v(" "),s("li",[s("code",[e._v("_GPE")]),e._v(" (General Purpose Events)")])]),e._v(" "),s("p",[e._v("What these signify is whether this PNP0C09 device is real or not, as per the "),s("a",{attrs:{href:"https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("ACPI spec"),s("OutboundLink")],1),e._v(". So one's matching the above criteria are the one's we want to disable.")]),e._v(" "),s("ul",[s("li",[e._v("Note: If _STA shows up as well, you'll need to go here: "),s("a",{attrs:{href:"#pnp0c09-already-has-an-sta-method"}},[e._v("PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")])])]),e._v(" "),s("h3",{attrs:{id:"no-pnp0c09-show-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#no-pnp0c09-show-up"}},[e._v("#")]),e._v(" No PNP0C09 show up")]),e._v(" "),s("p",[e._v('When this happens, you\'ll only need to create a "dummy" EC for macOS.')]),e._v(" "),s("p",[e._v('Try searching for any devices named: "LPCB", "LPC0", "LPC", "SBRG", "PX40". If you have any of these, try using the LPC pathing of each of those device in place of the Embedded Controller\'s pathing.')]),e._v(" "),s("p",[e._v("Note that "),s("strong",[e._v("DO NOT")]),e._v(' uncomment the EC disabling code as there are no devices that are considered "EC" in your machine.')]),e._v(" "),s("h3",{attrs:{id:"pnp0c09-already-named-ec"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#pnp0c09-already-named-ec"}},[e._v("#")]),e._v(" PNP0C09 already named "),s("code",[e._v("EC")])]),e._v(" "),s("p",[e._v("Congrats! No need to create an SSDT-EC! However you will still want USBX if you're Skylake or newer.")]),e._v(" "),s("p",[e._v("Prebuilt can be grabbed here: "),s("a",{attrs:{href:"https://github.com/dortania/OpenCore-Post-Install/blob/master/extra-files/SSDT-USBX.aml",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-USBX.aml"),s("OutboundLink")],1)]),e._v(" "),s("h3",{attrs:{id:"pnp0c09-already-has-an-sta-method"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#pnp0c09-already-has-an-sta-method"}},[e._v("#")]),e._v(" PNP0C09 already has an "),s("code",[e._v("_STA")]),e._v(" method")]),e._v(" "),s("p",[e._v("This is the equivalent of not having an EC as we can't control it with our SSDT-EC, instead we'll need to create a \"dummy\" EC for macOS. You'll still want to find the PCI and LPC pathing for this device. So follow the guide as if you were creating a laptop SSDT-EC/USBX.")]),e._v(" "),s("p",[e._v("Example of an EC with STA already:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(390),alt:"Credit to rottenpants466"}})]),e._v(" "),s("h2",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),s("p",[e._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),s("h2",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),s("p",[e._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[e._v("Cleanup")])])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/7.696a5b2f.js b/assets/js/7.55681fe0.js similarity index 61% rename from assets/js/7.696a5b2f.js rename to assets/js/7.55681fe0.js index 8032fad..babb1c7 100644 --- a/assets/js/7.696a5b2f.js +++ b/assets/js/7.55681fe0.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{403:function(e,t,a){e.exports=a.p+"assets/img/pci.81a3ae52.png"},404:function(e,t,a){e.exports=a.p+"assets/img/smbus.d9dd6044.png"},405:function(e,t,a){e.exports=a.p+"assets/img/before-rename.c0ccc637.png"},406:function(e,t,a){e.exports=a.p+"assets/img/after-rename.48bf32ad.png"},407:function(e,t,a){e.exports=a.p+"assets/img/verify.58363d4d.png"},458:function(e,t,a){"use strict";a.r(t);var s=a(25),n=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-smbus-support-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-smbus-support-manual"}},[e._v("#")]),e._v(" Fixing SMBus support: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#hackintool"}},[e._v("Hackintool")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[e._v("#")]),e._v(" Finding the ACPI path")]),e._v(" "),s("p",[e._v("So to find the ACPI pathing of our SMBus, we've got 2 methods:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#hackintool"}},[e._v("Hackintool")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])]),e._v(" "),s("h3",{attrs:{id:"hackintool"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#hackintool"}},[e._v("#")]),e._v(" Hackintool")]),e._v(" "),s("p",[e._v("To find the correct pathing for your devices, grab "),s("a",{attrs:{href:"https://www.tonymacx86.com/threads/release-hackintool-v3-x-x.254559/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Hackintool"),s("OutboundLink")],1),e._v(" ("),s("a",{attrs:{href:"https://github.com/headkaze/Hackintool",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github link"),s("OutboundLink")],1),e._v(") and head to the PCI tab:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(403),alt:""}})]),e._v(" "),s("p",[e._v("Look for the SMBus device under Subclass, then look beside and you'll see the ACPI path(under IOReg Name). To convert , omit "),s("code",[e._v("@...")])]),e._v(" "),s("ul",[s("li",[s("code",[e._v("/PC00@0/SMBS@1F,4")]),e._v(" -> "),s("code",[e._v("PC00.SMBS")])])]),e._v(" "),s("p",[e._v("With the ACPI pathing, you can now head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("h3",{attrs:{id:"devicemanager"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#devicemanager"}},[e._v("#")]),e._v(" DeviceManager")]),e._v(" "),s("p",[e._v("If you already have Windows installed on this machine, finding the SMBus pathing is fairly easy.")]),e._v(" "),s("p",[e._v("Start by opening up Device Manager in Windows and looking for a device named "),s("code",[e._v("SMBUS")]),e._v(". Once found, click on it and select the "),s("code",[e._v("BIOS device Name")]),e._v(" entry. You should get something like this:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(404),alt:""}})]),e._v(" "),s("p",[e._v("From the above example, we can see the SMBus is located at:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("PC00.SMBS\n")])])]),s("p",[e._v("With the ACPI pathing, you can now head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("#")]),e._v(" Edits to the sample SSDT")]),e._v(" "),s("p",[e._v("Now that we know the ACPI pathing of the SMBus, we can finally start editing the our SSDT.")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-SBUS-MCHC.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-SBUS-MCHC.dsl"),s("OutboundLink")],1)])]),e._v(" "),s("p",[e._v("So the important parts we care about are:")]),e._v(" "),s("p",[s("strong",[e._v("Before")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0, DeviceObj) <- Rename this\nExternal (_SB_.PCI0.SBUS.BUS0, DeviceObj) <- Rename this\n\nScope (_SB.PCI0) <- Rename this\n{\n Device (MCHC)\n {\n Name (_ADR, Zero) // _ADR: Address\n }\n}\n\nDevice (_SB.PCI0.SBUS.BUS0) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(405),alt:""}})]),e._v(" "),s("p",[e._v("Following the example SMBus pathing we found, the SSDT should look something like this:")]),e._v(" "),s("p",[s("strong",[e._v("After")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PC00, DeviceObj) <- Renamed\nExternal (_SB_.PC00.SMBS.BUS0, DeviceObj) <- Renamed\n\nScope (_SB.PC00) <- Renamed\n{\n Device (MCHC)\n {\n Name (_ADR, Zero) // _ADR: Address\n }\n}\n\nDevice (_SB.PC00.SMBS.BUS0) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(406),alt:""}})]),e._v(" "),s("h1",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),s("p",[e._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),s("h1",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),s("p",[e._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[e._v("Cleanup")])])],1)]),e._v(" "),s("h1",{attrs:{id:"verify-it-s-working"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#verify-it-s-working"}},[e._v("#")]),e._v(" Verify it's working")]),e._v(" "),s("p",[e._v("Once you've installed macOS, you can actually check whether your SSDT-SBUS-MCHC is working or not in terminal:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v('kextstat | grep -E "AppleSMBusController|AppleSMBusPCI"\n')])])]),s("p",[s("img",{attrs:{src:a(407),alt:""}})])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{403:function(e,t,a){e.exports=a.p+"assets/img/pci.81a3ae52.png"},404:function(e,t,a){e.exports=a.p+"assets/img/smbus.d9dd6044.png"},405:function(e,t,a){e.exports=a.p+"assets/img/before-rename.c0ccc637.png"},406:function(e,t,a){e.exports=a.p+"assets/img/after-rename.48bf32ad.png"},407:function(e,t,a){e.exports=a.p+"assets/img/verify.58363d4d.png"},458:function(e,t,a){"use strict";a.r(t);var s=a(25),n=Object(s.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"fixing-smbus-support-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-smbus-support-manual"}},[e._v("#")]),e._v(" Fixing SMBus support: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#finding-the-acpi-path"}},[e._v("Finding the ACPI path")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#hackintool"}},[e._v("Hackintool")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])])]),e._v(" "),s("li",[s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("Compiling the SSDT")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#wrapping-up"}},[e._v("Wrapping up")])])]),e._v(" "),s("h2",{attrs:{id:"finding-the-acpi-path"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[e._v("#")]),e._v(" Finding the ACPI path")]),e._v(" "),s("p",[e._v("So to find the ACPI pathing of our SMBus, we've got 2 methods:")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#hackintool"}},[e._v("Hackintool")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#devicemanager"}},[e._v("DeviceManager")])])]),e._v(" "),s("h3",{attrs:{id:"hackintool"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#hackintool"}},[e._v("#")]),e._v(" Hackintool")]),e._v(" "),s("p",[e._v("To find the correct pathing for your devices, grab "),s("a",{attrs:{href:"https://www.tonymacx86.com/threads/release-hackintool-v3-x-x.254559/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Hackintool"),s("OutboundLink")],1),e._v(" ("),s("a",{attrs:{href:"https://github.com/headkaze/Hackintool",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github link"),s("OutboundLink")],1),e._v(") and head to the PCI tab:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(403),alt:""}})]),e._v(" "),s("p",[e._v("Look for the SMBus device under Subclass, then look beside and you'll see the ACPI path(under IOReg Name). To convert , omit "),s("code",[e._v("@...")])]),e._v(" "),s("ul",[s("li",[s("code",[e._v("/PC00@0/SMBS@1F,4")]),e._v(" -> "),s("code",[e._v("PC00.SMBS")])])]),e._v(" "),s("p",[e._v("With the ACPI pathing, you can now head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("h3",{attrs:{id:"devicemanager"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#devicemanager"}},[e._v("#")]),e._v(" DeviceManager")]),e._v(" "),s("p",[e._v("If you already have Windows installed on this machine, finding the SMBus pathing is fairly easy.")]),e._v(" "),s("p",[e._v("Start by opening up Device Manager in Windows and looking for a device named "),s("code",[e._v("SMBUS")]),e._v(". Once found, click on it and select the "),s("code",[e._v("BIOS device Name")]),e._v(" entry. You should get something like this:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(404),alt:""}})]),e._v(" "),s("p",[e._v("From the above example, we can see the SMBus is located at:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("PC00.SMBS\n")])])]),s("p",[e._v("With the ACPI pathing, you can now head here: "),s("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("Edits to the sample SSDT")])]),e._v(" "),s("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[e._v("#")]),e._v(" Edits to the sample SSDT")]),e._v(" "),s("p",[e._v("Now that we know the ACPI pathing of the SMBus, we can finally start editing the our SSDT.")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-SBUS-MCHC.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-SBUS-MCHC.dsl"),s("OutboundLink")],1)])]),e._v(" "),s("p",[e._v("So the important parts we care about are:")]),e._v(" "),s("p",[s("strong",[e._v("Before")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PCI0, DeviceObj) <- Rename this\nExternal (_SB_.PCI0.SBUS.BUS0, DeviceObj) <- Rename this\n\nScope (_SB.PCI0) <- Rename this\n{\n Device (MCHC)\n {\n Name (_ADR, Zero) // _ADR: Address\n }\n}\n\nDevice (_SB.PCI0.SBUS.BUS0) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(405),alt:""}})]),e._v(" "),s("p",[e._v("Following the example SMBus pathing we found, the SSDT should look something like this:")]),e._v(" "),s("p",[s("strong",[e._v("After")]),e._v(":")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("External (_SB_.PC00, DeviceObj) <- Renamed\nExternal (_SB_.PC00.SMBS.BUS0, DeviceObj) <- Renamed\n\nScope (_SB.PC00) <- Renamed\n{\n Device (MCHC)\n {\n Name (_ADR, Zero) // _ADR: Address\n }\n}\n\nDevice (_SB.PC00.SMBS.BUS0) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(406),alt:""}})]),e._v(" "),s("h1",{attrs:{id:"compiling-the-ssdt"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[e._v("#")]),e._v(" Compiling the SSDT")]),e._v(" "),s("p",[e._v("With the SSDT done, you're now "),s("RouterLink",{attrs:{to:"/Manual/compile.html"}},[e._v("ready to compile the SSDT!")])],1),e._v(" "),s("h1",{attrs:{id:"wrapping-up"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[e._v("#")]),e._v(" Wrapping up")]),e._v(" "),s("p",[e._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),e._v(" "),s("ul",[s("li",[s("RouterLink",{attrs:{to:"/cleanup.html"}},[s("strong",[e._v("Cleanup")])])],1)]),e._v(" "),s("h1",{attrs:{id:"verify-it-s-working"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#verify-it-s-working"}},[e._v("#")]),e._v(" Verify it's working")]),e._v(" "),s("p",[e._v("Once you've installed macOS, you can actually check whether your SSDT-SBUS-MCHC is working or not in terminal:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v('kextstat | grep -E "AppleSMBusController|AppleSMBusPCI"\n')])])]),s("p",[s("img",{attrs:{src:a(407),alt:""}})])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/9.06a10c92.js b/assets/js/9.4ca61683.js similarity index 61% rename from assets/js/9.06a10c92.js rename to assets/js/9.4ca61683.js index bb57ace..9f18d73 100644 --- a/assets/js/9.06a10c92.js +++ b/assets/js/9.4ca61683.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{319:function(t,e,a){t.exports=a.p+"assets/img/lpc.bfa9cf23.png"},320:function(t,e,a){t.exports=a.p+"assets/img/pci0.4477f361.png"},391:function(t,e,a){t.exports=a.p+"assets/img/ssdt-before.6ddf7dfa.png"},392:function(t,e,a){t.exports=a.p+"assets/img/ssdt-after.971e8c4d.png"},446:function(t,e,a){"use strict";a.r(e);var i=a(25),s=Object(i.a)({},(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[i("h1",{attrs:{id:"fixing-nvram-manual"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#fixing-nvram-manual"}},[t._v("#")]),t._v(" Fixing NVRAM: Manual")]),t._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),i("h2",{attrs:{id:"finding-the-acpi-path"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),i("p",[t._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),i("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),i("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),i("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),i("p",[t._v("Next, search for the following:")]),t._v(" "),i("ul",[i("li",[t._v("Finding the LowPinCount path:\n"),i("ul",[i("li",[t._v("Search "),i("code",[t._v("Name (_ADR, 0x001F0000)")])])])]),t._v(" "),i("li",[t._v("Finding the PCI path:\n"),i("ul",[i("li",[t._v("Search "),i("code",[t._v("PNP0A08")]),t._v(" (If multiple show up, use the first one)")])])])]),t._v(" "),i("p",[t._v("You should get something like the following show up:")]),t._v(" "),i("table",[i("thead",[i("tr",[i("th",{staticStyle:{"text-align":"center"}},[t._v("LPC Pathing")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("PCI Pathing")])])]),t._v(" "),i("tbody",[i("tr",[i("td",{staticStyle:{"text-align":"center"}},[i("img",{attrs:{src:a(319),alt:""}})]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[i("img",{attrs:{src:a(320),alt:""}})])])])]),t._v(" "),i("p",[t._v("Now with the pathing, you can head here: "),i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),i("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),i("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PMC.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-PMC.dsl"),i("OutboundLink")],1)])]),t._v(" "),i("p",[t._v("By default, this uses "),i("code",[t._v("PCI0.LPCB")]),t._v(" for the pathing. you'll want to rename accordingly.")]),t._v(" "),i("p",[t._v("Following the example from above, we'll be renaming it to "),i("code",[t._v("PCI0.LPC")]),t._v(":")]),t._v(" "),i("p",[i("strong",[t._v("Before")]),t._v(":")]),t._v(" "),i("div",{staticClass:"language- extra-class"},[i("pre",{pre:!0,attrs:{class:"language-text"}},[i("code",[t._v("External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),i("p",[i("img",{attrs:{src:a(391),alt:""}})]),t._v(" "),i("p",[t._v("Following the example pathing we found, the SSDT should look something like this:")]),t._v(" "),i("p",[i("strong",[t._v("After")]),t._v(":")]),t._v(" "),i("div",{staticClass:"language- extra-class"},[i("pre",{pre:!0,attrs:{class:"language-text"}},[i("code",[t._v("External (_SB_.PCI0.LPC, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.LPC) <- Renamed\n")])])]),i("p",[i("img",{attrs:{src:a(392),alt:""}})]),t._v(" "),i("h2",{attrs:{id:"compiling-the-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),i("p",[t._v("With the SSDT done, you're now "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),i("h2",{attrs:{id:"wrapping-up"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),i("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),i("ul",[i("li",[i("RouterLink",{attrs:{to:"/cleanup.html"}},[i("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{319:function(t,e,a){t.exports=a.p+"assets/img/lpc.bfa9cf23.png"},320:function(t,e,a){t.exports=a.p+"assets/img/pci0.4477f361.png"},391:function(t,e,a){t.exports=a.p+"assets/img/ssdt-before.6ddf7dfa.png"},392:function(t,e,a){t.exports=a.p+"assets/img/ssdt-after.971e8c4d.png"},446:function(t,e,a){"use strict";a.r(e);var i=a(25),s=Object(i.a)({},(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[i("h1",{attrs:{id:"fixing-nvram-manual"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#fixing-nvram-manual"}},[t._v("#")]),t._v(" Fixing NVRAM: Manual")]),t._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"#finding-the-acpi-path"}},[t._v("Finding the ACPI path")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#compiling-the-ssdt"}},[t._v("Compiling the SSDT")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#wrapping-up"}},[t._v("Wrapping up")])])]),t._v(" "),i("h2",{attrs:{id:"finding-the-acpi-path"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#finding-the-acpi-path"}},[t._v("#")]),t._v(" Finding the ACPI path")]),t._v(" "),i("p",[t._v("Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from "),i("RouterLink",{attrs:{to:"/Manual/dump.html"}},[t._v("Dumping the DSDT")]),t._v(" and "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("Decompiling and Compiling")]),t._v(" with either MaciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an "),i("a",{attrs:{href:"https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl",target:"_blank",rel:"noopener noreferrer"}},[t._v("ACPI extension"),i("OutboundLink")],1),t._v(" that can also help).")],1),t._v(" "),i("p",[t._v("Next, search for the following:")]),t._v(" "),i("ul",[i("li",[t._v("Finding the LowPinCount path:\n"),i("ul",[i("li",[t._v("Search "),i("code",[t._v("Name (_ADR, 0x001F0000)")])])])]),t._v(" "),i("li",[t._v("Finding the PCI path:\n"),i("ul",[i("li",[t._v("Search "),i("code",[t._v("PNP0A08")]),t._v(" (If multiple show up, use the first one)")])])])]),t._v(" "),i("p",[t._v("You should get something like the following show up:")]),t._v(" "),i("table",[i("thead",[i("tr",[i("th",{staticStyle:{"text-align":"center"}},[t._v("LPC Pathing")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("PCI Pathing")])])]),t._v(" "),i("tbody",[i("tr",[i("td",{staticStyle:{"text-align":"center"}},[i("img",{attrs:{src:a(319),alt:""}})]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[i("img",{attrs:{src:a(320),alt:""}})])])])]),t._v(" "),i("p",[t._v("Now with the pathing, you can head here: "),i("a",{attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("Edits to the sample SSDT")])]),t._v(" "),i("h2",{attrs:{id:"edits-to-the-sample-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#edits-to-the-sample-ssdt"}},[t._v("#")]),t._v(" Edits to the sample SSDT")]),t._v(" "),i("p",[t._v("Now that we have our ACPI path, lets grab our SSDT and get to work:")]),t._v(" "),i("ul",[i("li",[i("a",{attrs:{href:"https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/AcpiSamples/Source/SSDT-PMC.dsl",target:"_blank",rel:"noopener noreferrer"}},[t._v("SSDT-PMC.dsl"),i("OutboundLink")],1)])]),t._v(" "),i("p",[t._v("By default, this uses "),i("code",[t._v("PCI0.LPCB")]),t._v(" for the pathing. you'll want to rename accordingly.")]),t._v(" "),i("p",[t._v("Following the example from above, we'll be renaming it to "),i("code",[t._v("PCI0.LPC")]),t._v(":")]),t._v(" "),i("p",[i("strong",[t._v("Before")]),t._v(":")]),t._v(" "),i("div",{staticClass:"language- extra-class"},[i("pre",{pre:!0,attrs:{class:"language-text"}},[i("code",[t._v("External (_SB_.PCI0.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),i("p",[i("img",{attrs:{src:a(391),alt:""}})]),t._v(" "),i("p",[t._v("Following the example pathing we found, the SSDT should look something like this:")]),t._v(" "),i("p",[i("strong",[t._v("After")]),t._v(":")]),t._v(" "),i("div",{staticClass:"language- extra-class"},[i("pre",{pre:!0,attrs:{class:"language-text"}},[i("code",[t._v("External (_SB_.PCI0.LPC, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.LPC) <- Renamed\n")])])]),i("p",[i("img",{attrs:{src:a(392),alt:""}})]),t._v(" "),i("h2",{attrs:{id:"compiling-the-ssdt"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#compiling-the-ssdt"}},[t._v("#")]),t._v(" Compiling the SSDT")]),t._v(" "),i("p",[t._v("With the SSDT done, you're now "),i("RouterLink",{attrs:{to:"/Manual/compile.html"}},[t._v("ready to compile the SSDT!")])],1),t._v(" "),i("h2",{attrs:{id:"wrapping-up"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#wrapping-up"}},[t._v("#")]),t._v(" Wrapping up")]),t._v(" "),i("p",[t._v("Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:")]),t._v(" "),i("ul",[i("li",[i("RouterLink",{attrs:{to:"/cleanup.html"}},[i("strong",[t._v("Cleanup")])])],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/app.3effb94e.js b/assets/js/app.86862866.js similarity index 84% rename from assets/js/app.3effb94e.js rename to assets/js/app.86862866.js index 6204fbe..1eea648 100644 --- a/assets/js/app.3effb94e.js +++ b/assets/js/app.86862866.js @@ -1,9 +1,9 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var r,a,s=e[0],u=e[1],c=e[2],f=0,p=[];f0?o(r(t),9007199254740991):0}},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){var r=n(33),o=n(19);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(142),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},function(t,e,n){var r=n(6),o=n(1),i=n(7),a=Object.defineProperty,s={},u=function(t){throw t};t.exports=function(t,e){if(i(s,t))return s[t];e||(e={});var n=[][t],c=!!i(e,"ACCESSORS")&&e.ACCESSORS,l=i(e,0)?e[0]:u,f=i(e,1)?e[1]:void 0;return s[t]=!!n&&!o((function(){if(c&&!r)return!0;var t={length:-1};c?a(t,1,{enumerable:!0,get:u}):t[1]=1,n.call(t,l,f)}))}},function(t,e,n){var r=n(114),o=n(2),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports=!1},function(t,e,n){var r=n(6),o=n(80),i=n(35),a=n(15),s=n(34),u=n(7),c=n(109),l=Object.getOwnPropertyDescriptor;e.f=r?l:function(t,e){if(t=a(t),e=s(e,!0),c)try{return l(t,e)}catch(t){}if(u(t,e))return i(!o.f.call(t,e),t[e])}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,e,n){var r=n(231),o=n(234);t.exports=function(t,e){var n=o(t,e);return r(n)?n:void 0}},function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,s){var u,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),i&&(c._scopeId="data-v-"+i),a?(u=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=u):o&&(u=s?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(t,e){return u.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:c}}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";var r=n(0),o=n(31).filter,i=n(54),a=n(17),s=i("filter"),u=a("filter");r({target:"Array",proto:!0,forced:!s||!u},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},function(t,e,n){var r,o=n(5),i=n(189),a=n(78),s=n(36),u=n(113),c=n(75),l=n(49),f=l("IE_PROTO"),p=function(){},d=function(t){return" + diff --git a/index.html b/index.html index baab9ab..81d9851 100644 --- a/index.html +++ b/index.html @@ -11,7 +11,7 @@ - + @@ -56,6 +56,6 @@ ⟶

- + diff --git a/ssdt-methods/ssdt-easy.html b/ssdt-methods/ssdt-easy.html index eadc0f9..e5efdc3 100644 --- a/ssdt-methods/ssdt-easy.html +++ b/ssdt-methods/ssdt-easy.html @@ -11,7 +11,7 @@ - + @@ -57,6 +57,6 @@ If you have X99 or X299, you'll need to configure it to your system

- + diff --git a/ssdt-methods/ssdt-long.html b/ssdt-methods/ssdt-long.html index 72b406e..1446c23 100644 --- a/ssdt-methods/ssdt-long.html +++ b/ssdt-methods/ssdt-long.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/ssdt-methods/ssdt-methods.html b/ssdt-methods/ssdt-methods.html index 3b36dd1..3b785e3 100644 --- a/ssdt-methods/ssdt-methods.html +++ b/ssdt-methods/ssdt-methods.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/ssdt-methods/ssdt-prebuilt.html b/ssdt-methods/ssdt-prebuilt.html index 4ce4ac3..691d442 100644 --- a/ssdt-methods/ssdt-prebuilt.html +++ b/ssdt-methods/ssdt-prebuilt.html @@ -11,7 +11,7 @@ - + @@ -76,6 +76,6 @@ ⟶

- + diff --git a/ssdt-platform.html b/ssdt-platform.html index cf6c11d..582ae35 100644 --- a/ssdt-platform.html +++ b/ssdt-platform.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/troubleshooting.html b/troubleshooting.html index 0146c41..96f1368 100644 --- a/troubleshooting.html +++ b/troubleshooting.html @@ -11,7 +11,7 @@ - + @@ -68,6 +68,6 @@ Pass 1 parse of [DSDT] ⟶

- +