Yes, you can remove these, along with UAR1 and all junk used by it.
Thnx Master Chief for your answer
T.
Yes, you can remove these, along with UAR1 and all junk used by it.
Great – I was a little busy the other day, but I will have a look at it, later today.Here are lspci's.
Now imagine a smart boot loader, one selecting ACPI mode for your chipset... problem solved – you end up with a blistering fast boot process (no more ACPI nagging at boot time).At least with the GA-P35-DS3 (not the EP35-DS3!) you don't have a choice. You either enable AHCI for all ICH9-SATA ports or you don't.
I don't see the problem. BIOS intializes AHCI for SATA ports. The bootloader takes over the responsibility after all ports have been initialized, not?Now imagine a smart boot loader, one selecting ACPI mode for your chipset... problem solved – you end up with a blistering fast boot process (no more ACPI nagging at boot time).
I'm talking about skipping the BIOS initialization, which slows down the boot process considerably. Just ask William ParkerI don't see the problem. BIOS intializes AHCI for SATA ports. The bootloader takes over the responsibility after all ports have been initialized, not?
And with the beta BIOS with AHCI version 1.20something AHCI initialization wasn't such a problem anymore.
Yes, you can remove these, along with UAR1 and all junk used by it.
I'm talking about skipping the BIOS initialization, which slows down the boot process considerably. Just ask William Parker
Note: I want firmware (BIOS) to load the kernel without any initialization whatsoever, because OS X can handle it... enter Google OS – I am pretty sure that its source code is being read a lot these days. People looking for clues...
dsdt.zip 6.64KB
20 downloads
If (LEqual (Arg0, 0x05)) // S5 (shutdown). { Store (One, \_SB.PCI0.LPCB.AG3E) // Return to S5 after a power failure // Mimic "Start up automatically after power failure" checkbox on Energy Saver (Preferences). }Note: You may need to remove the If clause and just use the Store command. OperationRegion (LPC0, PCI_Config, 0xA0, 0x60) // General PM Configuration 3 Register (ICH9R-316972.pdf / 13.8.1.3 / page 492). Field (LPC0, AnyAcc, NoLock, Preserve) { , 10, XPME, 1, // Bit 10 - BIOS_PCI_EXP_EN. Offset (0x04), // General PM Configuration 3 Register (ICH9R-316972.pdf / 13.8.1.3 - / page 492). AG3E, 1, // Bit 0 – AFTERG3_EN. Offset (0x50), // Root Complex Base Address Register (ICH9R-316972.pdf / 13.1.35 / page 451). RCBA, 32 }I hope that these comments are clear enough
I like to remind GigaByte users to include something like this to Method _PTS:
If (LEqual (Arg0, 0x05)) // S5 (shutdown). { Store (One, \_SB.PCI0.LPCB.AG3E) // Return to S5 after a power failure // Mimic "Start up automatically after power failure" checkbox on Energy Saver (Preferences). }Note: You may need to remove the If clause and just use the Store command.
Method (_PTS, 1, NotSerialized)
{
Or (Arg0, 0xF0, Local0)
Store (Local0, DBG1)
If (LEqual (Arg0, 0x05))
{
Store (ESMI, Local0)
And (Local0, 0xFB, Local0)
Store (Local0, ESMI)
}
Store (Arg0, \_SB.PCI0.LPCB.EC.ECSS)
G3HT ()
\_SB.PCI0.SBUS.DISB ()
}Method (_PTS, 1, NotSerialized)
{
Or (Arg0, 0xF0, Local0)
Store (Local0, DBG1)
If (LEqual (Arg0, 0x05))
{
Store (One, \_SB.PCI0.LPCB.AG3E)
}
Store (Arg0, \_SB.PCI0.LPCB.EC.ECSS)
G3HT ()
\_SB.PCI0.SBUS.DISB ()
}And this code snippet under Device (LPCB)
OperationRegion (LPC0, PCI_Config, 0xA0, 0x60) // General PM Configuration 3 Register (ICH9R-316972.pdf / 13.8.1.3 / page 492). Field (LPC0, AnyAcc, NoLock, Preserve) { , 10, XPME, 1, // Bit 10 - BIOS_PCI_EXP_EN. Offset (0x04), // General PM Configuration 3 Register (ICH9R-316972.pdf / 13.8.1.3 - / page 492). AG3E, 1, // Bit 0 �" AFTERG3_EN. Offset (0x50), // Root Complex Base Address Register (ICH9R-316972.pdf / 13.1.35 / page 451). RCBA, 32 }I hope that these comments are clear enough![]()
p.s. And before you say: My board has a ICH10 on board... well. That is irrelevant to the matter.
Field (LPC0, AnyAcc, NoLock, Preserve)
{
, 10,
XPME, 1,
Offset (0x04),
AG3E, 1,
Offset (0x50),
RAEN, 1,
, 13,
RCBA, 18
}Field (LPC0, AnyAcc, NoLock, Preserve)
{
, 10,
XPME, 1,
Offset (0x04),
AG3E, 1,
Offset (0x50),
RCBA, 32
}
The idea is to add Store (One, \_SB.PCI0.LPCB.AG3E) inside the If (LEqual (Arg0, 0x05)) {}So with a _PTS like this.
... see post # 611You would change to.... see post # 611Getting rid of the ESMI.
For this I have... see post # 611Which would be after your suggested change.... see post # 611
Or would the RAEN part still be in there and does this eliminate the need to have the box checked to "Start up automatically after power failure" as well?
dsdt.dsl.zip 8.13KB
19 downloads
OperationRegion (LPC0, PCI_Config, 0x[b][color="#008000"]A0[/color][/b], 0x[b][color="#008000"]60[/color][/b])[size=1] // General PM Configuration 3 Register (ICH9R-316972.pdf / 13.8.1.3 / page 492).[/size] Field (LPC0, AnyAcc, NoLock, Preserve) { [size=4][color="#FF0000"][b],[/b][/color][/size] 10, XPME, 1, /[size=1]/ Bit 10 - BIOS_PCI_EXP_EN.[/size] Offset (0x04), [size=1] // General PM Configuration 3 Register (ICH9R-316972.pdf / 13.8.1.3 - / page 492).[/size] AG3E, 1, [size=1]// Bit 0 – AFTERG3_EN.[/size] Offset (0x50), [size=1] // Root Complex Base Address Register (ICH9R-316972.pdf / 13.1.35 / page 451).[/size] RCBA, 32 }OperationRegion (LPC0, PCI_Config, 0x[b]40[/b], 0x[b]C0[/b])[size=1] Field (LPC0, AnyAcc, NoLock, Preserve) { [b]Offset (0x20)[/b], PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, Offset (0x28), PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8, Offset (0x40), IOD0, 8, IOD1, 8, Offset (0x60), , 10, XPME, 1, Offset (0x64), AG3E, 1, Offset (0xB0), RAEN, 1, , 13, RCBA, 18[/size] }
What I do is to skip the unused part by taking 0x40 from the old DSDT and add the value of Offset(0x60) giving me that 0xA0. Enter a new base address of 0xA0. And when you see something like this:MC :
see post #...
Field (LPC0, AnyAcc, NoLock, Preserve)
{
, 10,
XPME, 1, // Bit 10 - BIOS_PCI_EXP_EN.
...The lack of a identifier (name) simply means that we skip – are not interested in – the first ten (10) bits. And XPME is bit ten (10) because we start from zero (0) instead of the usual one (1) and thus we skip bit: 0,1,2,3,4,5,6,7,8,9 here. And thus we assign XPME to bit ten (10).
Add Store (One, \_SB.PCI0.LPCB.AG3E) to Method _WAK and see how the checkbox changes from unchecked to checked. If not then something is wrong.Master Chief,
I added LPCB.AG3E to PTS as well as the LPC0 to LPCB but I am still getting a reboot when waking from sleep when "Start up automatically after power failure" is unchecked. I tried removing the ESMI stuff with no change and I moved LPCB.AG3E outside the if as well and still no change.
Attached is my dsdt.dsl.dsdt.dsl.zip 8.13KB 19 downloads
Did that but still no change in behavior on waking from sleep when unchecked.Add Store (One, \_SB.PCI0.LPCB.AG3E) to Method _WAK and see how the checkbox changes from unchecked to checked. If not then something is wrong.
I did lspci -d 8086:27b8 -xxxvvv and I do see the A5 register changing when I check and uncheck the preference.You can also verify this by entering lspci -nn in a terminal window, to get the device-id (by looking for the ISA bridge) and then to enter lspci -d 8086:2916 -xxxvvv (using the device id) and see how register A5 changes from 38 into 39 and vise versa.
I know and am slowly picking through the posts to figure out and understand what the changes do and how they will be different for my ICH7 board. I know some of my namespaces are different than yours but that is because I am targeting making my hack look like an iMac5,1 or iMac6,1 because they were the the last real Macs that had the ICH7 chipset. The USB naming seems to be the biggest difference. What areas are you referring to that you see need work?p.s. Looking at your DSDT... you still have work to do!
Let's see if I get this right. It works when you tick the checkbox, but it fails when you add it in your DSDT?Did that but still no change in behavior on waking from sleep when unchecked.
There's a whole lot of things to work on. Here are a few pointers: _STA, _S3D, _PRW, _PRT, MCDP -> MCID, PIRA, PIRB, PIRC, PIRD, PIRE, PIRF, PIRG, PIRG, SLDM, _CRS, SPKR, EXFG, ENFGI know and am slowly picking through the posts to figure out and understand what the changes do and how they will be different for my ICH7 board. I know some of my namespaces are different than yours but that is because I am targeting making my hack look like an iMac5,1 or iMac6,1 because they were the the last real Macs that had the ICH7 chipset. The USB naming seems to be the biggest difference. What areas are you referring to that you see need work?
Thanks!
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, USBW)
}
Else
{
Store (Zero, USBW)
}
}Mine: Method (_PSW, 1, NotSerialized)
{
Multiply (0x03, Arg0, USBW)
}Just look at my DSDT (or another GB one from this thread) and see what we changed. The result will be a much cleaner dsdt.dsl and a smaller dsdt.aml