Contribute
Register

SSDT for i7-2600

Status
Not open for further replies.
I thought you were successful in post #111 but only had two states 16 and 35. That was when I asked for the ioreg. But I guess you weren't using SSDT/patched DSDT at that time?
Unfortunately no :) I was too happy because I solved the problem of booting with appropriate smbios :)

What you should be doing is patching only your own DSDT, not using a DSDT from someone else. I cannot look at the entirety of a DSDT and tell you why it doesn't work (especially if I don't have the computer). But if you have your *own* DSDT that you can boot with, and a set of patches that you apply, then that is more interesting.
I know that you can not check all the DSDT... sorry
The DSDT situation is that:
I have one DSDT that I obtain extracting DSDT whit DSDTEditor and patching with OL**IA patch, with this I'm able to boot the system with non appropriate smbios (imac13,2 and MM6,2).
The second DSDT is the one that I copied from the installer of this forum http://www.insanelymac.com/forum/to...nstall-guide/?hl= andy mountain lion p8p67
that was made for ASUS p8p67 pro MB (my MB), with this I'm able to boot the system with appropriate smbios.
I have one third DSDT that I extracted from Windows 7 (64bit) with Aida64*, this must be one "blank" DSDT.
Let me ask you this: Can you boot successfully without a patched DSDT? If so, can you upload it here?
If we assumed that the second DSDT has not CPU patch, yes, if not there's the third one.
I think I can try to boot with noDSDT option enabled and extract one new with MaciASL, but it could be the same that I extract with Windows.

Sorry if I copied an pasted this post but I was scared that it went unnoticed because of post #120, is my fault, I write too much post and I should do one thing at a time :)
 
Attached the "blank" DSDT from windows and one copy of it patched with MaciASL and:
Code:
[FONT=Courier]#Maintained by: RehabMan for: Laptop Patches[/FONT]
[FONT=Courier]#fix_PLD.txt[/FONT]
[FONT=Courier]
[/FONT]
[FONT=Courier]# _PLD is supposed to return a variable length Package of Buffers[/FONT]
[FONT=Courier]into_all all code_regex (Name\s*\(_PLD,\s*)Buffer(\s\([^\)].*\)[^\)]*) replaceall_matched[/FONT]
[FONT=Courier]begin[/FONT]
[FONT=Courier]%1Package() { Buffer%2 }[/FONT]
[FONT=Courier]end;
It solve the errors, only warning now.[/FONT]

The DSDTs that you sent me last time inside DSDTPatched.aml.zip and dsdtAndy.zip did not originate from the same computer that DSDTWIN.AML and DSDTWIN 2.AML did.

I suggest you patch you own DSDT instead of trying to use one from another computer.

You can learn a lot about what has been done to a DSDT or how the base DSDT might differ by comparing your native DSDT to the ones that you've downloaded. Save them as .dsl so they are text files, then use DiffMerge to compare them.

I compared DSDTWIN.dsl to DSDTPatched.dsl and dsdt.dsl and it can see that there are several OperationRegions with different addresses. Which means you shouldn't be using that DSDT. If you do that comparison you will see all the patches that have been done. You can even use the same technique to determine what patches you might be missing (patch your own, then compare).
 
I suggest you patch you own DSDT instead of trying to use one from another computer.

Ok, this could be the better choice and I want follow this way.
But this is the second time that I install Mac OS X on my PC and the first one was by one automatic installer for my MB, so I did not learn anything...
This is the first time that I work with DSDT/SSDT and I think that I need some information more to do one good job.

I compared DSDTWIN.dsl to DSDTPatched.dsl and dsdt.dsl and it can see that there are several OperationRegions with different addresses. Which means you shouldn't be using that DSDT. If you do that comparison you will see all the patches that have been done. You can even use the same technique to determine what patches you might be missing (patch your own, then compare).

I'm not sure if I understand right.
Must I check the differences between my DSDT and one patched DSDT to discover which patch I have to apply?
I know that the DSDT is one part of ACPI (Advanced Configuration and Power Interface) that is one standard for hardware detection, I know that OS X has one incomplete implementation of the ACPI and this is the reason why it support only some type of DSDT.
Have I to modify my DSDT using one language understandable for OS X?
If yes, how I can discover which parts have to be modified?
In general, what I can read about DSDT to start modify mine?
Is DSDTWIN one good start or is better if I extract another one with MaciASL?
Thanks in advance.​
 
I'm not sure if I understand right.
Must I check the differences between my DSDT and one patched DSDT to discover which patch I have to apply?
I know that the DSDT is one part of ACPI (Advanced Configuration and Power Interface) that is one standard for hardware detection, I know that OS X has one incomplete implementation of the ACPI and this is the reason why it support only some type of DSDT.
Have I to modify my DSDT using one language understandable for OS X?
If yes, how I can discover which parts have to be modified?
In general, what I can read about DSDT to start modify mine?
Is DSDTWIN one good start or is better if I extract another one with MaciASL?
Thanks in advance.[/LEFT]

You can at least get an idea as to the type of patches that were applied by looking at the differences.

But unless you have an issue, there is no reason to apply a particular patch to a DSDT. First you have the problem to solve, then you use DSDT patches to solve it, if that is the correct way to solve it.
 
Ok...
So, which procedure I have to follow?
How I can discover issues?
Should I make one list of the MB ports (PCI, USB, ethernet, etc) and test each one to know if it work properly?
Or is better if I do one list of everything that's on my PC (bus, ram, GPU, CPU, etc...) and compare it with the DSDT information?

I extracted the DSDT from Linux (/sys/ACPI/tables/DSDT) (attached) and it seems equal to the one I extract from Win7, can we assume that this are "blank" DSDT that I can use for my work?
I never wrote nothing in binary, (I'm one Architect not one Informatics Engineer :)) and I really do not know how to start.
Should I try to use the freshly extracted DSDT, copy the eventually boot error and googling for it, than patch and repeat?
There's a way to save the boot log? If yes could be more "professional"...
There's one list of common problems and solution that I have to check before the first boot?
 

Attachments

  • Linux.zip
    42.5 KB · Views: 71
Hi!
I think that the Linux\Windows DSDT is one good stet point.
I opened with maciasl and remove errors with
Code:
[FONT=Courier]#Maintained by: RehabMan for: Laptop Patches[/FONT]
[FONT=Courier]#fix_PLD.txt[/FONT]
[FONT=Courier]
[/FONT]
[FONT=Courier]# _PLD is supposed to return a variable length Package of Buffers[/FONT]
[FONT=Courier]into_all all code_regex (Name\s*\(_PLD,\s*)Buffer(\s\([^\)].*\)[^\)]*) replaceall_matched[/FONT]
[FONT=Courier]begin[/FONT]
[FONT=Courier]%1Package() { Buffer%2 }[/FONT]
[FONT=Courier]end;
[/FONT]
And tried to use it, the system did not start.
Restored the previous DSDT I start the system and find the "system.log" file (easy...like on linux :) ).
in the system.log I find the part related to the boot with the first DSDT boot:
Code:
[/FONT]
[FONT=Helvetica]BOOT_TIME 1383837759 0[/FONT]
[FONT=Helvetica]localhost kernel[0]: PMAP: PCID enabled[/FONT]
[FONT=Helvetica]localhost kernel[0]: Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64[/FONT]
[FONT=Helvetica]localhost kernel[0]: vm_page_bootstrap: 2023543 free pages and 57225 wired pages[/FONT]
[FONT=Helvetica]localhost kernel[0]: kext submap [0xffffff7f8073e000 - 0xffffff8000000000], kernel text [0xffffff8000200000 - 0xffffff800073e000][/FONT]
[FONT=Helvetica]localhost kernel[0]: zone leak detection enabled[/FONT]
[FONT=Helvetica]localhost kernel[0]: standard timeslicing quantum is 10000 us[/FONT]
[FONT=Helvetica]localhost kernel[0]: standard background quantum is 2500 us[/FONT]
[FONT=Helvetica]localhost kernel[0]: mig_table_max_displ = 74[/FONT]
[FONT=Helvetica]localhost kernel[0]: TSC Deadline Timer supported and enabled[/FONT]
[FONT=Helvetica]localhost kernel[0]: Refusing new kext com.jmicron.JMicronATA, v1.0.2: already have prelinked v1.1.6.[/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto kext started![/FONT]
[FONT=Helvetica]localhost kernel[0]: Running kernel space in FIPS MODE[/FONT]
[FONT=Helvetica]localhost com.apple.launchd[1]: *** launchd[1] has started up. ***[/FONT]
[FONT=Helvetica]localhost kernel[0]: Plist hmac value is    735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d[/FONT]
[FONT=Helvetica]localhost kernel[0]: Computed hmac value is 735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d[/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS integrity POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS AES CBC POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS TDES CBC POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS AES ECB AESNI POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS AES XTS AESNI POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS SHA POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS HMAC POST test passed![/FONT]
[FONT=Helvetica]localhost bootlog[0]: BOOT_TIME 1383837975 0
[FONT=Courier]
[/FONT]

and the part related to the last boot:
Code:
[FONT=Helvetica]BOOT_TIME 1383837975 0
localhost kernel[0]: PMAP: PCID enabled
localhost kernel[0]: Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64
localhost kernel[0]: vm_page_bootstrap: 2023544 free pages and 57224 wired pages
localhost kernel[0]: kext submap [0xffffff7f8073e000 - 0xffffff8000000000], kernel text [0xffffff8000200000 - 0xffffff800073e000]
localhost kernel[0]: zone leak detection enabled
localhost kernel[0]: standard timeslicing quantum is 10000 us
localhost kernel[0]: standard background quantum is 2500 us
localhost kernel[0]: mig_table_max_displ = 74
localhost kernel[0]: TSC Deadline Timer supported and enabled
localhost kernel[0]: Refusing new kext com.jmicron.JMicronATA, v1.0.2: already have prelinked v1.1.6.
localhost kernel[0]: corecrypto kext started!
localhost kernel[0]: Running kernel space in FIPS MODE
localhost kernel[0]: Plist hmac value is    735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d
localhost kernel[0]: Computed hmac value is 735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d
localhost kernel[0]: corecrypto.kext FIPS integrity POST test passed!
localhost kernel[0]: corecrypto.kext FIPS AES CBC POST test passed!
localhost kernel[0]: corecrypto.kext FIPS TDES CBC POST test passed!
localhost kernel[0]: corecrypto.kext FIPS AES ECB AESNI POST test passed!
localhost kernel[0]: corecrypto.kext FIPS AES XTS AESNI POST test passed!
localhost kernel[0]: corecrypto.kext FIPS SHA POST test passed!
localhost kernel[0]: corecrypto.kext FIPS HMAC POST test passed!
localhost kernel[0]: corecrypto.kext FIPS ECDSA POST test passed!
localhost kernel[0]: corecrypto.kext FIPS DRBG POST test passed!
localhost kernel[0]: corecrypto.kext FIPS POST passed!
... ... ...
[/FONT]

The first boot stop after localhost kernel[0]: corecrypto.kext FIPS HMAC POST test passed!
Should I suppose that the problem is loading localhost kernel[0]: corecrypto.kext FIPS ECDSA POST that is the next one in the second boot log?
Thanks in advance...
 
In the last boot log I find also this:
Code:
[FONT=Helvetica]ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed[/FONT]
[FONT=Helvetica]ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed[/FONT]
[FONT=Helvetica]ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized[/FONT]
[FONT=Helvetica][AGPM Controller] unknownPlatform[/FONT]
In my DSDT I can read:
Code:
        Method (CST, 0, NotSerialized)
        {
            If (LNotEqual (And (PDCV, 0x0200), 0x0200))
            {
                If (LEqual (NCST, 0x02))
                {
                    Store (One, NCST)
                }
            }


            If (LEqual (NCST, Zero))
            {
                Return (C1ST)
            }


            If (LEqual (NCST, One))
            {
                Return (CIST)
            }


            If (LEqual (NCST, 0x02))
            {
                Return (CMST)
            }


            Return (C1ST)
        }
Have I to delete this part and re-try with SSDT?
Thanks in advance :)
 
Hi!
I think that the Linux\Windows DSDT is one good stet point.
I opened with maciasl and remove errors with
Code:
[FONT=Courier]#Maintained by: RehabMan for: Laptop Patches[/FONT]
[FONT=Courier]#fix_PLD.txt[/FONT]
[FONT=Courier]
[/FONT]
[FONT=Courier]# _PLD is supposed to return a variable length Package of Buffers[/FONT]
[FONT=Courier]into_all all code_regex (Name\s*\(_PLD,\s*)Buffer(\s\([^\)].*\)[^\)]*) replaceall_matched[/FONT]
[FONT=Courier]begin[/FONT]
[FONT=Courier]%1Package() { Buffer%2 }[/FONT]
[FONT=Courier]end;
[/FONT]
And tried to use it, the system did not start.
Restored the previous DSDT I start the system and find the "system.log" file (easy...like on linux :) ).
in the system.log I find the part related to the boot with the first DSDT boot:
Code:
[/FONT]
[FONT=Helvetica]BOOT_TIME 1383837759 0[/FONT]
[FONT=Helvetica]localhost kernel[0]: PMAP: PCID enabled[/FONT]
[FONT=Helvetica]localhost kernel[0]: Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64[/FONT]
[FONT=Helvetica]localhost kernel[0]: vm_page_bootstrap: 2023543 free pages and 57225 wired pages[/FONT]
[FONT=Helvetica]localhost kernel[0]: kext submap [0xffffff7f8073e000 - 0xffffff8000000000], kernel text [0xffffff8000200000 - 0xffffff800073e000][/FONT]
[FONT=Helvetica]localhost kernel[0]: zone leak detection enabled[/FONT]
[FONT=Helvetica]localhost kernel[0]: standard timeslicing quantum is 10000 us[/FONT]
[FONT=Helvetica]localhost kernel[0]: standard background quantum is 2500 us[/FONT]
[FONT=Helvetica]localhost kernel[0]: mig_table_max_displ = 74[/FONT]
[FONT=Helvetica]localhost kernel[0]: TSC Deadline Timer supported and enabled[/FONT]
[FONT=Helvetica]localhost kernel[0]: Refusing new kext com.jmicron.JMicronATA, v1.0.2: already have prelinked v1.1.6.[/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto kext started![/FONT]
[FONT=Helvetica]localhost kernel[0]: Running kernel space in FIPS MODE[/FONT]
[FONT=Helvetica]localhost com.apple.launchd[1]: *** launchd[1] has started up. ***[/FONT]
[FONT=Helvetica]localhost kernel[0]: Plist hmac value is    735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d[/FONT]
[FONT=Helvetica]localhost kernel[0]: Computed hmac value is 735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d[/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS integrity POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS AES CBC POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS TDES CBC POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS AES ECB AESNI POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS AES XTS AESNI POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS SHA POST test passed![/FONT]
[FONT=Helvetica]localhost kernel[0]: corecrypto.kext FIPS HMAC POST test passed![/FONT]
[FONT=Helvetica]localhost bootlog[0]: BOOT_TIME 1383837975 0
[FONT=Courier]
[/FONT]

and the part related to the last boot:
Code:
[FONT=Helvetica]BOOT_TIME 1383837975 0
localhost kernel[0]: PMAP: PCID enabled
localhost kernel[0]: Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64
localhost kernel[0]: vm_page_bootstrap: 2023544 free pages and 57224 wired pages
localhost kernel[0]: kext submap [0xffffff7f8073e000 - 0xffffff8000000000], kernel text [0xffffff8000200000 - 0xffffff800073e000]
localhost kernel[0]: zone leak detection enabled
localhost kernel[0]: standard timeslicing quantum is 10000 us
localhost kernel[0]: standard background quantum is 2500 us
localhost kernel[0]: mig_table_max_displ = 74
localhost kernel[0]: TSC Deadline Timer supported and enabled
localhost kernel[0]: Refusing new kext com.jmicron.JMicronATA, v1.0.2: already have prelinked v1.1.6.
localhost kernel[0]: corecrypto kext started!
localhost kernel[0]: Running kernel space in FIPS MODE
localhost kernel[0]: Plist hmac value is    735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d
localhost kernel[0]: Computed hmac value is 735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d
localhost kernel[0]: corecrypto.kext FIPS integrity POST test passed!
localhost kernel[0]: corecrypto.kext FIPS AES CBC POST test passed!
localhost kernel[0]: corecrypto.kext FIPS TDES CBC POST test passed!
localhost kernel[0]: corecrypto.kext FIPS AES ECB AESNI POST test passed!
localhost kernel[0]: corecrypto.kext FIPS AES XTS AESNI POST test passed!
localhost kernel[0]: corecrypto.kext FIPS SHA POST test passed!
localhost kernel[0]: corecrypto.kext FIPS HMAC POST test passed!
localhost kernel[0]: corecrypto.kext FIPS ECDSA POST test passed!
localhost kernel[0]: corecrypto.kext FIPS DRBG POST test passed!
localhost kernel[0]: corecrypto.kext FIPS POST passed!
... ... ...
[/FONT]

The first boot stop after localhost kernel[0]: corecrypto.kext FIPS HMAC POST test passed!
Should I suppose that the problem is loading localhost kernel[0]: corecrypto.kext FIPS ECDSA POST that is the next one in the second boot log?
Thanks in advance...

Same old problem with SSDT junk in your DSDT (it seems the OEM is doing it that way instead of having pstate/cstate info in SSDT). You need to get rid of that stuff...

- - - Updated - - -

In the last boot log I find also this:
Code:
[FONT=Helvetica]ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed[/FONT]
[FONT=Helvetica]ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed[/FONT]
[FONT=Helvetica]ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized[/FONT]
[FONT=Helvetica][AGPM Controller] unknownPlatform[/FONT]
In my DSDT I can read:
Code:
        Method (CST, 0, NotSerialized)
        {
            If (LNotEqual (And (PDCV, 0x0200), 0x0200))
            {
                If (LEqual (NCST, 0x02))
                {
                    Store (One, NCST)
                }
            }


            If (LEqual (NCST, Zero))
            {
                Return (C1ST)
            }


            If (LEqual (NCST, One))
            {
                Return (CIST)
            }


            If (LEqual (NCST, 0x02))
            {
                Return (CMST)
            }


            Return (C1ST)
        }
Have I to delete this part and re-try with SSDT?
Thanks in advance :)

Yes, or the whole scope (_PR) section...
 
Same old problem with SSDT junk in your DSDT (it seems the OEM is doing it that way instead of having pstate/cstate info in SSDT). You need to get rid of that stuff...

I'm trying....difficult ... very difficult...:)

Yes, or the whole scope (_PR) section...

I'm able to boot without the CST method, but it do not change anything.
I'm not able to boot without the whole scope (_PR) section...

Doing experiments now... :D
 
HI!!!
Solved something....

With this /Extra (Attached) I'm able to use 16,26,32,35 P-states...Fantastic!!!
I modified the DSDT with my CPU specific, seems that I solve the problem of "
ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized
" I did not find it in to the last BOOTLOG (attached).

If I put DropSSDT=Yes in org.chameleon.* the system does not start and in the system.log there's no information about that boot try, I attached some pictures of the problem.

In DCPIManager I find it: 09/11/13 15:51:55, P States: I/O error, throttling to 9Hz... what does it means?

Do you know something about modify ACPI_SMC_PlattformPlugin.kext, plugin for IOPlattformPluginFamily.kext, I read that it manage SpeedStepper in function of the chosen smbios and that I can edit my smbios type in the ACPI_SMC_PlattformPlugin.kext/Contents to be optimized for my SSDT.
Seem that I'm still not able to use the 3.8GHz max turbo frequency, do you know something about it?

Thanks in advance
 

Attachments

  • Extra.zip
    201.5 KB · Views: 95
  • IMG_2545.jpg
    IMG_2545.jpg
    257.8 KB · Views: 145
  • IMG_2546.jpg
    IMG_2546.jpg
    318.9 KB · Views: 142
  • IMG_2547.jpg
    IMG_2547.jpg
    285.9 KB · Views: 147
  • LastBOOT.zip
    4.6 KB · Views: 71
Status
Not open for further replies.
Back
Top