Files
Getting-Started-With-ACPI/assets/js/4.9ad0dfa8.js

1 line
8.5 KiB
JavaScript

(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{329:function(e,t,a){e.exports=a.p+"assets/img/lpc.bfa9cf23.png"},330:function(e,t,a){e.exports=a.p+"assets/img/pci0.4477f361.png"},373:function(e,t,a){e.exports=a.p+"assets/img/ACPI000E.f11d4625.png"},374:function(e,t,a){e.exports=a.p+"assets/img/PNP0B00.cd0c5876.png"},375:function(e,t,a){e.exports=a.p+"assets/img/ssdt-before.b9b19f9b.png"},376:function(e,t,a){e.exports=a.p+"assets/img/ssdt-after.3d0ae705.png"},426: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-system-clocks-manual"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fixing-system-clocks-manual"}},[e._v("#")]),e._v(" Fixing System Clocks: Manual")]),e._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"#determining-which-ssdt-you-need"}},[e._v("Determining which SSDT you need")])]),e._v(" "),s("li",[s("a",{attrs:{href:"#rtc0-method"}},[e._v("RTC0 Method")]),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:"determining-which-ssdt-you-need"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#determining-which-ssdt-you-need"}},[e._v("#")]),e._v(" Determining which SSDT you need")]),e._v(" "),s("p",[e._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"}},[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("ACPI000E")]),e._v(". You should get something similar:")]),e._v(" "),s("p",[s("img",{attrs:{src:a(373),alt:""}})]),e._v(" "),s("p",[e._v("The above tells us a few things:")]),e._v(" "),s("ul",[s("li",[e._v("We in fact do have an AWAC clock\n"),s("ul",[s("li",[e._v("If nothing shows up, you don't need to do anything for AWAC or RTC")])])]),e._v(" "),s("li",[e._v("It can be easily disabled with STAS(if not, you can skip to here: "),s("a",{attrs:{href:"#rtc0-method"}},[e._v("RTC0 Method")]),e._v(")\n"),s("ul",[s("li",[s("code",[e._v("_STA")]),e._v(" is the device status, with "),s("code",[e._v("Zero")]),e._v(" meaning it won't show up")])])])]),e._v(" "),s("p",[e._v("But to double check, next search for "),s("code",[e._v("PNP0B00")]),e._v(":")]),e._v(" "),s("p",[s("img",{attrs:{src:a(374),alt:""}})]),e._v(" "),s("p",[e._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"}},[e._v("RTC0 Method")])]),e._v(" "),s("p",[e._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"}},[e._v("SSDT-AWAC.dsl"),s("OutboundLink")],1),e._v(" and "),s("a",{attrs:{href:"#compiling-the-ssdt"}},[e._v("compile")]),e._v(", no changes needed You can also use the below SSDT to the same effect:")]),e._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"}},[e._v("SSDT-AWAC.aml"),s("OutboundLink")],1)])]),e._v(" "),s("h3",{attrs:{id:"ini-edge-cases"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ini-edge-cases"}},[e._v("#")]),e._v(" _INI Edge Cases")]),e._v(" "),s("p",[e._v("Mainly seen on X299 refresh boards, there's already a "),s("code",[e._v("Scope (_SB) { Method (_INI...")]),e._v(" in your DSDT. This means our SSDT-AWAC will conflict with the one found in our DSDT. For these situations, you'll want to remove "),s("code",[e._v("Method (_INI, 0, NotSerialized) {}")]),e._v(" from the SSDT. You'll be left this this in the end:")]),e._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v('DefinitionBlock ("", "SSDT", 2, "DRTNIA", "AWAC", 0x00000000)\n{\n External (STAS, IntObj)\n\n Scope (_SB)\n {\n If (_OSI ("Darwin"))\n {\n STAS = One\n }\n }\n}\n')])])]),s("h2",{attrs:{id:"rtc0-method"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#rtc0-method"}},[e._v("#")]),e._v(" RTC0 Method")]),e._v(" "),s("p",[e._v("This method is for those who either don't have a "),s("code",[e._v("PNP0B00")]),e._v(" device to re-enable or have no easy way(via STAS variable).")]),e._v(" "),s("h3",{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("Assuming you've gotten your DSDT already opened from earlier, search for the following:")]),e._v(" "),s("ul",[s("li",[e._v("Finding the LowPinCount path:\n"),s("ul",[s("li",[e._v("Search "),s("code",[e._v("Name (_ADR, 0x001F0000)")])])])]),e._v(" "),s("li",[e._v("Finding the PCI path:\n"),s("ul",[s("li",[e._v("Search "),s("code",[e._v("PNP0A08")]),e._v(" (If multiple show up, use the first one)")])])])]),e._v(" "),s("p",[e._v("You should get something like the following show up:")]),e._v(" "),s("table",[s("thead",[s("tr",[s("th",{staticStyle:{"text-align":"center"}},[e._v("LPC Pathing")]),e._v(" "),s("th",{staticStyle:{"text-align":"center"}},[e._v("PCI Pathing")])])]),e._v(" "),s("tbody",[s("tr",[s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(329),alt:""}})]),e._v(" "),s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(330),alt:""}})])])])]),e._v(" "),s("p",[e._v("From the above, we can see we have both "),s("code",[e._v("PCI0")]),e._v(" and "),s("code",[e._v("LPC")]),e._v(". Now we can head to the next stage")]),e._v(" "),s("h3",{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-RTC0.dsl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSDT-RTC0.dsl"),s("OutboundLink")],1)])]),e._v(" "),s("p",[e._v("By default, this uses "),s("code",[e._v("PCI0.LPCB")]),e._v(" for the pathing. you'll want to rename accordingly.")]),e._v(" "),s("p",[e._v("Following the example from above, we'll be renaming it to "),s("code",[e._v("PCI0.LPC")]),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.LPCB, DeviceObj) <- Rename this\n\nScope (_SB.PCI0.LPCB) <- Rename this\n")])])]),s("p",[s("img",{attrs:{src:a(375),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.LPC, DeviceObj) <- Renamed\n\nScope (_SB.PCI0.LPC) <- Renamed\n")])])]),s("p",[s("img",{attrs:{src:a(376),alt:""}})]),e._v(" "),s("h3",{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=n.exports}}]);