Jump to content
Sign in to follow this  
Followers 0
bilbo

injection plugin type=1 in not common processor declaration

11 posts in this topic

Recommended Posts

Hi everybody.

 

I'm trying to fix known error "getCPUIDinfo: this is an unknown CPU model 0x3a" . As I founded, I must to inject plugin-type=1 on my DSDT. Searching.. I've read how do it. Pached DSDT should be:

 

 

 

 

Scope (_PR)
{
Processor (CPU0, 0x01, 0x00000410, 0x06) {
Method (_DSM, 4, NotSerialized)
{
Store ("Writing plugin-type to Registry!", Debug)
Store (Package (0x02)
{
"plugin-type",
0x01
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

Processor (CPU1, 0x02, 0x00000410, 0x06) {}
Processor (CPU2, 0x03, 0x00000410, 0x06) {}
Processor (CPU3, 0x04, 0x00000410, 0x06) {}
Processor (CPU4, 0x05, 0x00000410, 0x06) {}
Processor (CPU5, 0x06, 0x00000410, 0x06) {}
Processor (CPU6, 0x07, 0x00000410, 0x06) {}
Processor (CPU7, 0x08, 0x00000410, 0x06) {}
}

 

 

 

 

 

My problem. My DSDT doesn't have that kind of processor declaration. ( Scope(_PR) ... Processor CPU0, CPU1  .....) .

 

In fact, My DSDT didn't have processor declarations  They were in the second SSDT table of my motherboard. (it has 3 ssdts).  Pike's script gave me "No ACPI Processor delcaration found in the DSDT" . What I did was copy the whole branch to the end of my DSDT. ... and perfect.... PIKE's script doesn't return any error. 

 

My processor declaration is not usual. My CPU: Intel Xeon 2630 v2  (Ivybridge EP) dual processor. It's a _SB branch with a more complex structure in comparition to common cpu declarations.It has the next strucuture:

 

 

 

 

_SB

 

   ---> SCKO

          --->C001

          --->C002

          --->C003

          .

          .

          --->C01D

 

   --->SCK1

          --->C001

          --->C002

          --->C003

          .

          .

          --->C01D

  

    --->SCK2

    --->SCK3

    --->SCK4

 

 

 


One screenshot:

 

Screen_Shot_2014_09_19_at_5_36_17_PM.jpg

 

One piece of code:

 

 

 

 

Scope (_SB)
{
Name (\PETE, Zero)
Name (\PSTE, Zero)
Name (\TSTE, Zero)
Name (\NPB0, One)
Name (\NPB1, One)
Name (\NPB2, Zero)
Name (\NPB3, Zero)
Name (P0ID, Zero)
Name (P1ID, 0x20)
Name (P2ID, 0x40)
Name (P3ID, 0x60)
Name (P0BM, 0x0FFF)
Name (P1BM, 0x0FFF)
Name (P2BM, Zero)
Name (P3BM, Zero)
Name (CUU0, Zero)
Name (CUU1, Zero)
Name (CUU2, Zero)
Name (CUU3, Zero)
Name (\TST0, Zero)
Name (\TST1, Zero)
Name (\TST2, Zero)
Name (\TST3, Zero)
Method (PSTA, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
If (NPB0)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}

If (LEqual (Arg0, One))
{
If (NPB1)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}

If (LEqual (Arg0, 0x02))
{
If (NPB2)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}

If (LEqual (Arg0, 0x03))
{
If (NPB3)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}

Return (Zero)
}

Method (CSTA, 2, NotSerialized)
{
Store (Zero, Local0)
If (LEqual (Arg0, Zero))
{
ShiftRight (P0BM, Arg1, Local0)
}

If (LEqual (Arg0, One))
{
ShiftRight (P1BM, Arg1, Local0)
}

If (LEqual (Arg0, 0x02))
{
ShiftRight (P2BM, Arg1, Local0)
}

If (LEqual (Arg0, 0x03))
{
ShiftRight (P3BM, Arg1, Local0)
}

And (Local0, One, Local0)
If (LEqual (Local0, Zero))
{
Return (Zero)
}
Else
{
Return (One)
}
}

Device (SCK0)
{
Name (_HID, "ACPI0004")
Name (_UID, "CPUSCK0")
Name (SCKN, Zero)
Name (LSTA, 0xFF)
Method (_STA, 0, NotSerialized)
{
Store ("CPUSCK0", CUU0)
Store (PSTA (Zero), Local0)
And (Local0, 0x03, Local1)
Store (Local1, LSTA)
Return (Local0)
}

Processor (C000, 0x00, 0x00000410, 0x06)
{
Name (_HID, "ACPI0007")
Name (_UID, "PCI0-CP000")
Name (_PXM, Zero)
Method (_STA, 0, NotSerialized)
{
If (LEqual (CSTA (Zero, Zero), Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}

Processor (C001, 0x01, 0x00000410, 0x06)
{
Name (_HID, "ACPI0007")
Name (_UID, "PCI0-CP001")
Name (_PXM, Zero)
Method (_STA, 0, NotSerialized)
{
If (LEqual (CSTA (Zero, One), Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}

Processor (C002, 0x02, 0x00000410, 0x06)
{
Name (_HID, "ACPI0007")
Name (_UID, "PCI0-CP002")
Name (_PXM, Zero)
Method (_STA, 0, NotSerialized)
{
If (LEqual (CSTA (Zero, 0x02), Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}

Processor (C003, 0x03, 0x00000410, 0x06)
{
Name (_HID, "ACPI0007")
Name (_UID, "PCI0-CP003")
Name (_PXM, Zero)
Method (_STA, 0, NotSerialized)
{
If (LEqual (CSTA (Zero, 0x03), Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}

Processor (C004, 0x04, 0x00000410, 0x06)
{
Name (_HID, "ACPI0007")
Name (_UID, "PCI0-CP004")
Name (_PXM, Zero)
Method (_STA, 0, NotSerialized)
{
If (LEqual (CSTA (Zero, 0x04), Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}

Processor (C005, 0x05, 0x00000410, 0x06)
{
Name (_HID, "ACPI0007")
Name (_UID, "PCI0-CP005")
Name (_PXM, Zero)
Method (_STA, 0, NotSerialized)
{
If (LEqual (CSTA (Zero, 0x05), Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}

Processor (C006, 0x06, 0x00000410, 0x06)
{
Name (_HID, "ACPI0007")
Name (_UID, "PCI0-CP006")
Name (_PXM, Zero)
Method (_STA, 0, NotSerialized)
{
If (LEqual (CSTA (Zero, 0x06), Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}

Processor (C007, 0x07, 0x00000410, 0x06)
{
Name (_HID, "ACPI0007")
Name (_UID, "PCI0-CP007")
Name (_PXM, Zero)
Method (_STA, 0, NotSerialized)
{
If (LEqual (CSTA (Zero, 0x07), Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}

Processor (C008, 0x08, 0x00000410, 0x06)
{
Name (_HID, "ACPI0007")
Name (_UID, "PCI0-CP008")
Name (_PXM, Zero)
Method (_STA, 0, NotSerialized)
{
If (LEqual (CSTA (Zero, 0x08), Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}

Processor (C009, 0x09, 0x00000410, 0x06)
{
Name (_HID, "ACPI0007")
Name (_UID, "PCI0-CP009")
Name (_PXM, Zero)
Method (_STA, 0, NotSerialized)
{
If (LEqual (CSTA (Zero, 0x09), Zero))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}

 

 

 


 

 

 

I'm a noob patching DSDT. I try to look for examples and adapt info to my needs. But I don't know how adapt this. How can I inject plugin-type=1 in my processor declarations code?

 

Thanks in advance

 

 

Share this post


Link to post
Share on other sites
Advertisement

Ok. I have my SSDT generated by Pike's script. Without errors.  But how I have to do? I don't see any part of processor declaration into ssdt...or can I inject the code at any part of ssdt?

Share this post


Link to post
Share on other sites

Chameleon. Mavericks 10.9.4

 

DSDT extracted, fixed and patched.

 

I have 3 SSDT natively, and a 4th generated by Pike´s script

 

As I said, SSDT 2 has the processor declarations. I copied it to DSDT to avoid ""No ACPI Processor delcaration found in the DSDT"" error. Thought , I really don't know if that is right.

 

ssdt was generated using: -p 'E5-2630 v2' -TURBO 3100 -c 1 -w 1 -l 2  .... without errors.

Share this post


Link to post
Share on other sites

I think I didn´t explain it fine...

 

I´m already using the ssdt´s. and I have the error "getCPUIDinfo: this is an unknown CPU model 0x3a". After and before of use ssdt´s. What I´m trying to do is inject plugin-type=1, wherever where I have to do (dsdt, ssdt..)

 

Sorry for my english

Share this post


Link to post
Share on other sites

I think I didn´t explain it fine...

 

I´m already using the ssdt´s. and I have the error "getCPUIDinfo: this is an unknown CPU model 0x3a". After and before of use ssdt´s. What I´m trying to do is inject plugin-type=1, wherever where I have to do (dsdt, ssdt..)

 

Sorry for my english

You don't need to manually inject it, ssdtprgen will do it for you if you specify the plugin type with -x 1 (xpcm enabled). Try it like this:

./ssdtPRGen.sh -p 'E5-2630 v2' -w 3 -x 1

Share this post


Link to post
Share on other sites

 

You don't need to manually inject it, ssdtprgen will do it for you if you specify the plugin type with -x 1 (xpcm enabled). Try it like this:

./ssdtPRGen.sh -p 'E5-2630 v2' -w 3 -x 1

 

 

It worked!!! I don´t have "unknown CPU model 0x3a" error anymore ... Thanks so much!! :)

Share this post


Link to post
Share on other sites

 

You don't need to manually inject it, ssdtprgen will do it for you if you specify the plugin type with -x 1 (xpcm enabled). Try it like this:

./ssdtPRGen.sh -p 'E5-2630 v2' -w 3 -x 1

Dude, I LOVE YOU! 

 

After searching everywhere the solution for loading plugin x86plataform finally I found this post. It only took me change the processor model (for mine is the E3-1241 v3) and problem solved.

 

Thank you, thank you, THANK YOU!  :thumbsup_anim:  :thumbsup_anim:  :thumbsup_anim:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

×