Contribute
Register

SSDT creation using MaciASL

Status
Not open for further replies.
I tried MaciASL. It gives a different output.

i5-2450M
TDP: 35 Watt
Max. Turbo Frequency: 3100 (3.1 GHz)

with MaciASL:

Code:
DefinitionBlock ("SSDT.aml", "SSDT", 1, "APPLE ", "CpuPm", 0x00001000)
{
    External (\_PR_.CPU0, DeviceObj)
    External (\_PR_.CPU1, DeviceObj)
    External (\_PR_.CPU2, DeviceObj)
    External (\_PR_.CPU3, DeviceObj)


    Scope (_PR.CPU0)
    {
        Name (APSN, 0x06)
        Name (APSS, Package (0x10)
        {


            Package (0x06)
            {
                0x00000C1C,
                0x000088B8,
                0x0000000A,
                0x0000000A,
                0x00001F00,
                0x00001F00
            },
...
...

The SSDT from Philip Petev's Probook Installer 6V:

Code:
DefinitionBlock ("ssdt.aml", "SSDT", 1, "APPLE ", "CpuPm", 0x00001000)
{
    External (_PR_.CPU0, DeviceObj)
    External (_PR_.CPU1, DeviceObj)
    External (_PR_.CPU2, DeviceObj)
    External (_PR_.CPU3, DeviceObj)


    Scope (\_PR.CPU0)
    {
        Method (APSN, 0, NotSerialized)
        {
            Return (0x06)
        }


        Method (APSS, 0, NotSerialized)
        {
            Return (Package (0x18)
            {
                Package (0x06)
                {
                    0x0C1C, 
                    0x88B8, 
                    0x0A, 
                    0x0A, 
                    0x1F00, 
                    0x1F00
                },
...
...

I think the output is a bit different, but the values are the same. Isn't it?
Here's another difference, maybe this is more significant:

with MaciASL:

Code:
Scope (\_PR.CPU1)
    {
        Method (APSS, 0, NotSerialized)
        {
            Return (\_PR.CPU0.APSS)
        }
    }


    Scope (\_PR.CPU2)
    {
        Method (APSS, 0, NotSerialized)
        {
            Return (\_PR.CPU0.APSS)
        }
    }
....
....

The SSDT from Philip Petev's Probook Installer 6V:

Code:
Scope (\_PR.CPU1)
    {
        Method (APSN, 0, NotSerialized)
        {
            Return (\_PR.CPU0.APSN ())
        }


        Method (APSS, 0, NotSerialized)
        {
            Return (\_PR.CPU0.APSS ())
        }


        Method (ACST, 0, NotSerialized)
        {
            Return (\_PR.CPU0.ACST ())
        }
    }


    Scope (\_PR.CPU2)
    {
        Method (APSN, 0, NotSerialized)
        {
            Return (\_PR.CPU0.APSN ())
        }


        Method (APSS, 0, NotSerialized)
        {
            Return (\_PR.CPU0.APSS ())
        }


        Method (ACST, 0, NotSerialized)
        {
            Return (\_PR.CPU0.ACST ())
        }
    }

The APSN and ACST entris are missing in MaciASL output.
I don't know which version should I use and trust. Any suggestion would be greatly appreciated. Thank you!
 
I tried MaciASL. It gives a different output.

...
I don't know which version should I use and trust. Any suggestion would be greatly appreciated. Thank you!

Either one will work. There is some "looseness" in the spec here.
 
Thank you. Where does MaciASL store the compiled file?
 
Thank you. Where does MaciASL store the compiled file?

It is just like editing any other file. If you choose Save As... it saves it where you tell it to. If you choose Save, it saves it where it was Opened.
 
The SSDT created with MaciASL doesn't seem to work:

ssdt.jpg

The SSDT generator you made work the best.
The only problem is my CPU temp is a bit higher with SSDT. With NullCPUPowerManagement CPU temperature is around -5C lower.

SSDT (fan always on):
idle: 40-42C
Browsing the web: 45-50C

NullCPUPowerManagement (fan always on):
idle: 35C-37C
Browsing the web: 40-45C
 
The SSDT created with MaciASL doesn't seem to work:

View attachment 48577

The SSDT generator you made work the best.
The only problem is my CPU temp is a bit higher with SSDT. With NullCPUPowerManagement CPU temperature is around -5C lower.

SSDT (fan always on):
idle: 40-42C
Browsing the web: 45-50C

NullCPUPowerManagement (fan always on):
idle: 35C-37C
Browsing the web: 40-45C

If you have a supported CPU from the Probook installer, then there is no reason to be doing this at all.
And I haven't tried it, but I seriously doubt your CPU runs cooler with NullCPU (your battery life will tell you). Give it time w/ NulllCPU -- it'll heat up.

But using the SSDT generator in MaciASL, you do have to do some special things for mobile (in particular, changing the low-frequency to 800).
 
But using the SSDT generator in MaciASL, you do have to do some special things for mobile (in particular, changing the low-frequency to 800).
You're right. I forget that. It works! Thank you.

MaciIASL gives exactly the same output as RevoGirl's script: http://www.tonymacx86.com/hp-probook-4530s/56477-make-your-own-ssdt-aml-revogirls-script.html
I compared both files side-by-side with UltraCompare.

The additional stuff is added with your script http://www.tonymacx86.com/hp-probook-4530s/56622-ssdts-all-i3-i5-i7-please-test-give-feedback.html

Code:
Method (APSN, 0, NotSerialized)
{
  Return (_PR.CPU0.APSN ())
}
Method (ACST, 0, NotSerialized)
{
  Return (_PR.CPU0.ACST ())
}

I think you fixed something in her SSDT generator.
 
You're right. I forget that. It works! Thank you.

MaciIASL gives exactly the same output as RevoGirl's script: http://www.tonymacx86.com/hp-probook-4530s/56477-make-your-own-ssdt-aml-revogirls-script.html
I compared both files side-by-side with UltraCompare.

The additional stuff is added with your script http://www.tonymacx86.com/hp-probook-4530s/56622-ssdts-all-i3-i5-i7-please-test-give-feedback.html

Code:
Method (APSN, 0, NotSerialized)
{
  Return (_PR.CPU0.APSN ())
}
Method (ACST, 0, NotSerialized)
{
  Return (_PR.CPU0.ACST ())
}

I think you fixed something in her SSDT generator.

Yeah, sort of... I mean to "fix" something it has to be "broken" in the first place. All of the examples I could find of SSDTs (I think even Apple's own SSDTs from real Macs) were symmetric with regard to each CPU object. At the time I did that I was the first on tonymacx86 to try using a proper SSDT to get 10.7.4 to run properly on a laptop... and very new to hackintosh... so I was being very careful and trying to do things as accurate as I could. So, I did that in my SSDT script. But I think it turns out that it is not necessary.

On the other hand, I think with Ivy it has turned out to be more necessary to have each object be symmetric at least with certain objects...

But bottom line for Sandy, either way works...
 
Thank you very much for help!
RevoGirl's mobile SSDT generator and MaciASL (same output).

Screen Shot 2013-03-08 at 4.25.20 PM.png
 
Status
Not open for further replies.
Back
Top