Ok, all that is gone, still working great.
stripped2.dsl.zip 10.08KB
74 downloads
Great job. Let's get cracking shall we? Have a look at the following lines of code:
Scope (\)
{
Name (PICF, Zero)
Method (_PIC, 1, NotSerialized)
{
Store (Arg0, PICF)
}
}And this is what the ACPI specification has to say about it:
"
The \_PIC optional method is to report to the BIOS the current interrupt model used by the OS. This control method returns nothing. The argument passed into the method signifies the interrupt model OSPM has chosen, PIC mode, APIC mode, or SAPIC mode. Notice that calling this method is optional for OSPM. If the method is never called, the BIOS must assume PIC mode. It is important that the BIOS save the value passed in by OSPM for later use during wake operations."
Now note the last sentence, because that actually never happens in many of the DSDT's floating around here. And your DSDT, like many, only has two options, being: PIC (BIOS default) or APIC. What do you think about removing the extra bits? Let's have a look at one of these snippets:
Method (_PRT, 0, NotSerialized)
{
If (LNot (PICF))
{
Return (PICM)
}
Else
{
Return (APIC)
}
}Our goal is to have one Return() only! But that's not all of it because here's the longest part of it:
Name (PICM, Package (0x10) { Package (0x04) { 0xFFFF, Zero, LNKE, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0001FFFF, One, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKE, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0002FFFF, One, LNKA, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKE, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0007FFFF, Zero, LNK1, Zero }, Package (0x04) { 0x0007FFFF, One, LNK1, Zero }, Package (0x04) { 0x0007FFFF, 0x02, LNK1, Zero }, Package (0x04) { 0x0007FFFF, 0x03, LNK1, Zero } }) Name (APIC, Package (0x10) { Package (0x04) { 0xFFFF, Zero, Zero, 0x14 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x10 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0007FFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x0007FFFF, One, Zero, 0x17 }, Package (0x04) { 0x0007FFFF, 0x02, Zero, 0x17 }, Package (0x04) { 0x0007FFFF, 0x03, Zero, 0x17 } })Ok. This is a rather long example, but there are others which are less long, but clutter the DSDT. What do you think? Are you able to remove the extra bits?
But this time I won't tell you what to remove or how to change it. Let's call it a challenge. Here's one tip I have for you: Add an If clause to this code:
Load (IST0, HI0)
to check the value of PICF. This is basically everything you'll need to know. More even so surprise me

Good luck!
I've added SBUS and EC to my DSDT, but without success. Can't get it to compile. Could someone check it out?
DSDT_SBUS.EC.dsl.zip 17.99KB
35 downloads
Thanks
You sir should be able to use the great work done by fellow GB user/owner
mm67 or at least verify/compare your changes with his DSDT, or try
diff -uw old-file.dsl new-file.dsl