Jump to content

DSDT fix for processor thread count.


Apacalypse
 Share

14 posts in this topic

Recommended Posts

Hey guys I and many other people and getting this error when trying to run 2 processors in snow leopard or lion. it gives a kernel panic saying it found one less thread that it should have. I think i have identified the problem in the DSDT Under "Scope (_PR). I tried to change the processor arrangement from 1-16 to 0-15 and not it says i have one more. Any help would be greatly appreciated. here is the Kernel panic image.

post-646377-0-41719100-1327865517_thumb.jpg

Link to comment
Share on other sites

Here is my DSDT and APIC. There are a few things i didn't get to work, the built in network card, there is also port lag on all ports. I see that beach ball very often even for small files sizes. I have two GPUs I get full acceleration on one. the other says the other one just says display. I did the dual Nvidia edit but its a no go.

DSDT and APIC.zip

Link to comment
Share on other sites

are you sure that dsdt is the original one?

 

the processor shld be like that :

 

	Processor (CPU1, 0x01, 0x00000810, 0x06)
	{
		OperationRegion (STBL, SystemMemory, 0x7FFA00F0, 0x01D2)
		Name (NCPU, 0x02)
		Name (TYPE, 0x80000000)
		Name (HNDL, 0x80000000)
		Name (CFGD, 0x01000009)
		Name (TBLD, 0x80)
		Method (_PDC, 1, NotSerialized)
		{
			CreateDWordField (Arg0, Zero, REVS)
			CreateDWordField (Arg0, 0x04, SIZE)
			Store (SizeOf (Arg0), Local0)
			Store (Subtract (Local0, 0x08), Local1)
			CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
			Name (STS0, Buffer (0x04)
			{
				0x00, 0x00, 0x00, 0x00
			})
			Concatenate (STS0, TEMP, Local2)
			_OSC (Buffer (0x10)
				{
					/* 0000 */	0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
					/* 0008 */	0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
				}, REVS, SIZE, Local2)
		}
		Method (_OSC, 4, NotSerialized)
		{
			CreateDWordField (Arg3, Zero, STS0)
			CreateDWordField (Arg3, 0x04, CAP0)
			CreateDWordField (Arg0, Zero, IID0)
			CreateDWordField (Arg0, 0x04, IID1)
			CreateDWordField (Arg0, 0x08, IID2)
			CreateDWordField (Arg0, 0x0C, IID3)
			Name (UID0, Buffer (0x10)
			{
				/* 0000 */	0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
				/* 0008 */	0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
			})
			CreateDWordField (UID0, Zero, EID0)
			CreateDWordField (UID0, 0x04, EID1)
			CreateDWordField (UID0, 0x08, EID2)
			CreateDWordField (UID0, 0x0C, EID3)
			If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
				LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
			{
				Store (0x06, STS0)
				Return (Arg3)
			}
			If (LNotEqual (Arg1, One))
			{
				Store (0x0A, STS0)
				Return (Arg3)
			}
			Or (And (TYPE, 0x7FFFFFFF), CAP0, TYPE)
			If (And (CFGD, One))
			{
				If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE,
					0x09), 0x09)), LNot (And (TBLD, One))))
				{
					Or (TBLD, One, TBLD)
					Load (STBL, HNDL)
				}
			}
			If (And (CFGD, 0xF0))
			{
				If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
					)), LNot (And (TBLD, 0x02))))
				{
					Or (TBLD, 0x02, TBLD)
				}
			}
			Return (Arg3)
		}
	}

 

and not like yours :

 

	Processor (CPU1, 0x01, 0x00000810, 0x06)
	{
	}

 

this is a simpel example with vanilla speedsteping.

 

for your gfx please see here : http://www.insanelymac.com/forum/index.php?showtopic=275397&view=findpost&p=1792180

 

please give me the original one and the full mobo spec.

Link to comment
Share on other sites

this is the edited dsdt but i can get the original one. Do I just replace this information where processor 1 is and then repeat the same exact values for processor 2?

So for the Graphics your edit will work for two GPUs? So do I just duplicate the code similar to what I have already but with your edits but my values?

Link to comment
Share on other sites

does XPC have any processor fix attributes like the legacy kernel for slow leopard? The only way i was able to boot two processors was with the legacy kernel. I think Speed step is working now thank you. I was looking at your DSDT edit for the GPU also does this work with 2 GPUs and where do i get those values you said to replace?

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...