mirror of
https://github.com/AskDavis/Getting-Started-With-ACPI.git
synced 2026-01-01 05:05:57 -08:00
1 line
7.5 KiB
JavaScript
1 line
7.5 KiB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{414:function(t,e,a){t.exports=a.p+"assets/img/processor.38dc34ad.png"},415:function(t,e,a){t.exports=a.p+"assets/img/processor-2.8af8c8dd.png"},416:function(t,e,a){t.exports=a.p+"assets/img/cp00.d25cad0f.png"},417:function(t,e,a){t.exports=a.p+"assets/img/plug-bios.1b527198.png"},418:function(t,e,a){t.exports=a.p+"assets/img/plug-x299.8123a653.png"},419:function(t,e,a){t.exports=a.p+"assets/img/ssdt-mess.8323e4a6.png"},420:function(t,e,a){t.exports=a.p+"assets/img/ssdt-clean.b241b36e.png"},471:function(t,e,a){"use strict";a.r(e);var s=a(28),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(414),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(415),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(416),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(417),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(418),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(419),alt:""}})]),t._v(" "),s("td",{staticStyle:{"text-align":"center"}},[s("img",{attrs:{src:a(420),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}}]); |