Jump to content

Chameleon with DSDT override


mackerintel
 Share

253 posts in this topic

Recommended Posts

works here great too!

 

tested on Asus P5K and Asus P5B Deluxe/Wifi

 

thx to fassl who supported me via irc and all others who made this patch working

 

Hi, i have some issue :

 

Mobo : GA P35 DS3R

 

the fass's patch works, gives me an dsdt.aml, but at boot, just after the dsdt patching, the screen hangs with a lot of ascii colored keys all over the screen; like memory adressing bug

 

 

Mobo : Laptop HP NC6400

 

the fass's patch dont work : it says "no HPET Device found, adding one..." and then loops with this message

 

 

 

Can anyone help plz ?

 

Edit : it works with unmodified dsdt.aml of course

Link to comment
Share on other sites

Hi, i have some issue :

 

Mobo : GA P35 DS3R

 

the fass's patch works, gives me an dsdt.aml, but at boot, just after the dsdt patching, the screen hangs with a lot of ascii colored keys all over the screen; like memory adressing bug

Did you use the latest version (chameleondsdt_acpv12.zip from the first post)?

If yes try the last debug version with -v and post the results: http://forum.insanelymac.com/index.php?sho...mp;#entry944496

 

fassl patch give me a correct dsdt but when a try to replace the "boot" file, the computer doesn't start not even try to load text, it give me a error " no acpi driver etc..."

 

The same as for ovof + can you boot with -v debug=0xffffffff ?

Link to comment
Share on other sites

thanks for this, you rock man :(

 

WORKING !!! with the chameleonv12 fix and the fass's fix :)

 

on Gigabyte GA-P35-DS3R

 

now appleInteCPUPowermanagement is loaded (Apple RTC too)

 

 

BTW, it means that we can update Leopard without the sleep–rm–kext–script ? Great :)

 

Does this kext gives anything else ?

Link to comment
Share on other sites

Awesome job mackerintel for getting Chameleon to work with this :huh:

 

Hey,

 

I made a Tool to patch your DSDT, it will create a dsdt.aml with what you should be able to run AppleIntelCPUPowerManagement.kext and the upcoming AppleRTC kext without a panic. Have fun ;)

Readme is included. If it fails please PM me and attach the Patcher output.

 

greetz

 

PatchDSDT.zip

 

Thanks to all Chameleon/OSX Developers who make such things possible, especially zef, kabyl and modbin for helping me at any time and share their work/knowledge, keep it up thanks.

 

Great Patch :)

 

Working on my ASRock P43twins1600 as well :)

Thanks,

-Omn

Link to comment
Share on other sites

Can you do the following:

/PATH/TO/PatchDSDT -d

and send me the dsdt.dsl please.

 

greetz

 

Ok i found why :huh:

 

when dump DSDT and dissamble,

 

the HPET is not named HPET but CXXX :

 

			   Device (C219)
			{
				Name (_HID, EisaId ("PNP0103"))

 

 

BUT ! PNP0103 is the name of HPET device ;)

 

So i try ti manually patch the DSDT using this entry :–)

 

I'll tell you...

 

 

 

hee's the complete entry for HPET device on NC6400 HP laptop :

				Device (C219)
			{
				Name (_HID, EisaId ("PNP0103"))
				Name (C21A, 0xFFFFFFFD)
				Method (_STA, 0, NotSerialized)
				{
					If (LEqual (C21A, 0xFFFFFFFD))
					{
						Store (0x00, Local0)
						Store (\_SB.C09D (), Local1)
						If (LGreaterEqual (\C008 (), 0x04))
						{
							If (Local1)
							{
								Store (0x0F, Local0)
							}
						}
						Else
						{
							If (Local1)
							{
								Store (0x0B, Local0)
							}
						}

						Store (Local0, C21A)
					}

					Return (C21A)
				}

				Name (C01F, ResourceTemplate ()
				{
					Memory32Fixed (ReadOnly,
						0xFED00000,		 // Address Base
						0x00000400,		 // Address Length
						_Y0F)
				})
				Method (_CRS, 0, Serialized)
				{
					Store (\_SB.C09D (), Local1)
					If (Local1)
					{
						CreateDWordField (C01F, \_SB.C002.C003.C219._Y0F._BAS, C21C)
						Store (Local1, C21C)
					}

					Return (C01F)
				}
			}

 

I have to find what to patch now

Link to comment
Share on other sites

				Name (C01F, ResourceTemplate ()
				{
					Memory32Fixed (ReadOnly,
						0xFED00000,		 // Address Base
						0x00000400,		 // Address Length
						_Y0F)
				})

 

I have to find what to patch now

 

 

try:

 

Name (C01F, ResourceTemplate ()
{
	IRQNoFlags ()
		{0}
	IRQNoFlags ()
		{8}
Memory32Fixed (ReadOnly,
0xFED00000,		 // Address Base
0x00000400,		 // Address Length
_Y0F)
})

Link to comment
Share on other sites

Hey,

 

I made a Tool to patch your DSDT, it will create a dsdt.aml with what you should be able to run AppleIntelCPUPowerManagement.kext and the upcoming AppleRTC kext without a panic. Have fun :thanks_speechbubble:

Readme is included. If it fails please PM me and attach the Patcher output.

 

greetz

 

PatchDSDT.zip

 

Thanks to all Chameleon/OSX Developers who make such things possible, especially zef, kabyl and modbin for helping me at any time and share their work/knowledge, keep it up thanks.

 

Thank you for this patcher. I didn't try it yet but it really smells vanilla! It gave me an idea of creating perl script which will patch common DSDT problems (processor aliases, RTC,...). It would especially useful for installing vanilla OSX: so a perl script could dump DSDT, patch it, recompile, then unpack bootloader disc (eg dfe), add patched DSDT and recreate the image. And as it would in perl it could be done from linux (eventually from windows) before installing OSX. So could you say what exactly your patcher does?

 

P.S: I'm not really a Chameleon developer: I simply needed DSDT override so I wrote it and as I'm open-source fan I share this code with others

Link to comment
Share on other sites

I try to patch it like inside fass' patch :

 

- get rid off IRQNoFlags in RTC device

- get conditionnal return in HPET device to return thr right values

 

No luck, crash after loading AppleIntelCPUPM... juste before, in console, i can see : Package 0 didn't get HPET...

 

:thanks_speechbubble:

 

 

5014a5015,5016
>						 IRQNoFlags ()
>							 {8}
5024c5026,5048
<						 Return (0x0F)
---
>						 If (LEqual (C21A, 0xFFFFFFFD))
>						 {
>							 Store (0x00, Local0)
>							 Store (\_SB.C09D (), Local1)
>							 If (LGreaterEqual (\C008 (), 0x04))
>							 {
>								 If (Local1)
>								 {
>									 Store (0x0F, Local0)
>								 }
>							 }
>							 Else
>							 {
>								 If (Local1)
>								 {
>									 Store (0x0B, Local0)
>								 }
>							 }
> 
>							 Store (Local0, C21A)
>						 }
> 
>						 Return (C21A)
5036c5060,5067
<						Return (C01F)
---
>						 Store (\_SB.C09D (), Local1)
>						 If (Local1)
>						 {
>							 CreateDWordField (C01F, \_SB.C002.C003.C219._Y0F._BAS, C21C)
>							 Store (Local1, C21C)
>						 }
> 
>						 Return (C01F)

 

 

try:

 

Name (C01F, ResourceTemplate ()
{
	IRQNoFlags ()
		{0}
	IRQNoFlags ()
		{8}
Memory32Fixed (ReadOnly,
0xFED00000,		 // Address Base
0x00000400,		 // Address Length
_Y0F)
})

 

Ah ok, i try right now !

Link to comment
Share on other sites

Thank you for this patcher. I didn't try it yet but it really smells vanilla! It gave me an idea of creating perl script which will patch common DSDT problems (processor aliases, RTC,...). It would especially useful for installing vanilla OSX: so a perl script could dump DSDT, patch it, recompile, then unpack bootloader disc (eg dfe), add patched DSDT and recreate the image. And as it would in perl it could be done from linux (eventually from windows) before installing OSX. So could you say what exactly your patcher does?

 

P.S: I'm not really a Chameleon developer: I simply needed DSDT override so I wrote it and as I'm open-source fan I share this code with others

 

Yeah, that is what i wanted to add next to the patcher, the CPU aliases fix. As you i am also a fan of open-source, i sure will release the Source as soon as i cleaned the Code and added the CPU aliases fix. Also it also looks like i need to rewrite the search routine (look at ovof's post) and also need to add an OSI entry for Darwin, so if people will flash it to BIOS it will still work for the other OS's. If you want to help, feel free to contact me.

 

greetz

Link to comment
Share on other sites

Thanks FASS !

 

The IRQNoFLag was missing !!!!

 

AppleIntelCPUPowermanagement : initialization complete

:thanks_speechbubble:

 

 

 

Thanks FASS !

 

The IRQNoFLag was missing !!!!

 

AppleIntelCPUPowermanagement : initialization complete

:(

 

But its not the trick to enable dual core :( still crash (and no aliases in DSDT ??)

Link to comment
Share on other sites

WORKING !!! with the chameleonv12 fix and the fass's fix :censored2:

 

on Gigabyte GA-P35-DS3R

 

now appleInteCPUPowermanagement is loaded (Apple RTC too)

BTW, it means that we can update Leopard without the sleep–rm–kext–script ? Great :unsure:

 

Does this kext gives anything else ?

 

Hi, i also et those coloured ASCI Screen you had as frist tries, at boot using the comeleon2debug (as boot) and the DSTL.aml (of my GA-EP35-DS3).

I dont have the CPU=1 problem, but in my bios there is somethning wrong with the ACPI-Table of PSTATES (CPU).

How did you get that screen fixed and all working ?

(would be fine if you could tell me which dl links you used)

Link to comment
Share on other sites

Hi, i also et those coloured ASCI Screen you had as frist tries, at boot using the comeleon2debug (as boot) and the DSTL.aml (of my GA-EP35-DS3).

I dont have the CPU=1 problem, but in my bios there is somethning wrong with the ACPI-Table of PSTATES (CPU).

How did you get that screen fixed and all working ?

(would be fine if you could tell me which dl links you used)

 

using the link from mackerintel : chameleonv12

 

Thanks FASS !

 

The IRQNoFLag was missing !!!!

 

AppleIntelCPUPowermanagement : initialization complete

:censored2:

But its not the trick to enable dual core :unsure: still crash (and no aliases in DSDT ??)

 

Butx2, now sleep is working on NC6400 Hp Laptop :) but only S1

 

Does anyone if its possible to force S3 ? Using DSDT ? (no entry in bios for this)

Link to comment
Share on other sites

Hi, i also et those coloured ASCI Screen you had as frist tries, at boot using the comeleon2debug (as boot) and the DSTL.aml (of my GA-EP35-DS3).

I dont have the CPU=1 problem, but in my bios there is somethning wrong with the ACPI-Table of PSTATES (CPU).

How did you get that screen fixed and all working ?

(would be fine if you could tell me which dl links you used)

chameleon2debug is an old version which works only if you have no acpiv1 tables (gigabytes have it). Use the latest version. In case of problems use the latest debug version. I deleted all old files so people don't get confused anymore

For P-States try GenericCPUPowerManagement.kext from http://superhai.com/darwin.html. But be sure to have latest version because older ones have bugs. If I'll have enough time I'll have a look at P-State specification - my BIOS also doesn't provide P-states-table but it would be nice to use speedstep without extra kext

 

Yeah, that is what i wanted to add next to the patcher, the CPU aliases fix. As you i am also a fan of open-source, i sure will release the Source as soon as i cleaned the Code and added the CPU aliases fix. Also it also looks like i need to rewrite the search routine (look at ovof's post) and also need to add an OSI entry for Darwin, so if people will flash it to BIOS it will still work for the other OS's. If you want to help, feel free to contact me.

greetz

 

I actually thought that perl would be better suited for this kind of things. Especially that it has regexp. If you're interested in perl version I can do it. This would effectively solve search engine problems. But I'm not sure of having enough free time before the weekend

 

Can anyone supply DSDT dump from any apple notebook? This could help to understand apple's implementation of P-states among many other things. But please don't use apple's DSDT directly on non-apple computer.

Link to comment
Share on other sites

Hey,

 

I made a Tool to patch your DSDT, it will create a dsdt.aml with what you should be able to run AppleIntelCPUPowerManagement.kext and the upcoming AppleRTC kext without a panic. Have fun :)

Readme is included. If it fails please PM me and attach the Patcher output.

 

greetz

 

PatchDSDT.zip

 

Thanks to all Chameleon/OSX Developers who make such things possible, especially zef, kabyl and modbin for helping me at any time and share their work/knowledge, keep it up thanks.

 

Thanks or the patch tool. But it does't work here.

placed boot and the resulting dsdt.aml into the root of the startup drive. Everything looks fine but the system just hangs

at a certain point (random). Sometimes it loads everything but at the moment I would expect the loginscreen it just sits there.

 

I even see that AICPUPowerManagement initilizes completly.

Do I need to remove any disabler kext?

 

Thanks..

Link to comment
Share on other sites

Google is your friend :

 

DSDT from MacPro

Thank you for this. I tried using google but didn't find any downloadable dump. Just a small correction: it's a dump from MacBook Pro and not from MacPro

 

Thanks or the patch tool. But it does't work here.

placed boot and the resulting dsdt.aml into the root of the startup drive. Everything looks fine but the system just hangs

at a certain point (random). Sometimes it loads everything but at the moment I would expect the loginscreen it just sits there.

 

I even see that AICPUPowerManagement initilizes completly.

Do I need to remove any disabler kext?

 

Thanks..

Supply more information. As: does it work if you remove AppleCPUPowerManagement.kext? Does it work without DSDT override w/o AppleCPU... and so on. And please attach your system logs and your DSDT.

Link to comment
Share on other sites

NC6400 dual core issue.

 

1st solution :

 

The dual core issue with my HP laptop (NC6400) seems to come from a bad initialization of the second core during LAPIC initialization.

 

Does the DSDT pass any arguments for this to the OS ?

 

 

 

2nd solution :

 

i see in the DSDT that cores enumeration starts at 0x1 for CPU0, then 0x2 for CPU1. But in other DSDT, it starts at 0x0 for CPU0. Maybe its there the issue...

 

Edit : i think its here :

When ACPI inits, i've got this in console :

 

28/10/08 20:03:59 kernel AppleACPICPU: ProcessorApicId=1 LocalApicId=0 Enabled

28/10/08 20:03:59 kernel AppleACPICPU: ProcessorApicId=2 LocalApicId=1 Enabled

 

But in normal it should be :

28/10/08 20:03:59 kernel AppleACPICPU: ProcessorApicId=0 LocalApicId=0 Enabled

28/10/08 20:03:59 kernel AppleACPICPU: ProcessorApicId=1 LocalApicId=1 Enabled

 

I thnik i've really have an issue in cpu enumeration which the issue...

 

 

 

Still searching...

Link to comment
Share on other sites

2nd solution :

 

i see in the DSDT that cores enumeration starts at 0x1 for CPU0, then 0x2 for CPU1. But in other DSDT, it starts at 0x0 for CPU0. Maybe its there the issue...

 

Edit : i think its here :

When ACPI inits, i've got this in console :

 

28/10/08 20:03:59 kernel AppleACPICPU: ProcessorApicId=1 LocalApicId=0 Enabled

28/10/08 20:03:59 kernel AppleACPICPU: ProcessorApicId=2 LocalApicId=1 Enabled

 

But in normal it should be :

28/10/08 20:03:59 kernel AppleACPICPU: ProcessorApicId=0 LocalApicId=0 Enabled

28/10/08 20:03:59 kernel AppleACPICPU: ProcessorApicId=1 LocalApicId=1 Enabled

 

I thnik i've really have an issue in cpu enumeration which the issue...

Don't think that this is a problem. On my laptop in corrected DSDT (with which both cores work) I have:

	Scope (_PR)
{
	Processor (P001, 0x01, 0x00000810, 0x06) {}
}

Scope (_PR)
{
	Processor (P002, 0x02, 0x00000810, 0x06) {}
}

And if I remember correctly I also get

28/10/08 20:03:59 kernel AppleACPICPU: ProcessorApicId=1 LocalApicId=0 Enabled 
28/10/08 20:03:59 kernel AppleACPICPU: ProcessorApicId=2 LocalApicId=1 Enabled

EDIT: Booted my OSX and confirmed that I really get theese messages

Link to comment
Share on other sites

Hi, mackerintel!!

 

My system freezes right before GUI load. It doesn't boot neither normal mode nor debug.

 

I use this Chameleon bootloader to boot my system (unfortunately with one core). Could you try to patch it for DSDT override with DSDT.aml

 

http://rapidshare.com/files/158577540/Cham...sk.dmg.zip.html

 

Thanks.

a) To make Chameleon override DSDT just replace /boot with my boot file and add DSDT.aml

b You'll need patched DSDT for your system. No two systems are the same. Go here http://forum.insanelymac.com/index.php?showtopic=133683

c) DSDT override is not a magick wand and I'm not a wizard. DSDT override can solve many problems but not all of them. Your problem is probably graphics driver. Try to delete it to go to VGA mode. There are sufficiently many threads about graphic cards. Just use the search

Link to comment
Share on other sites

a) To make Chameleon override DSDT just replace /boot with my boot file and add DSDT.aml

b You'll need patched DSDT for your system. No two systems are the same. Go here http://forum.insanelymac.com/index.php?showtopic=133683

c) DSDT override is not a magick wand and I'm not a wizard. DSDT override can solve many problems but not all of them. Your problem is probably graphics driver. Try to delete it to go to VGA mode. There are sufficiently many threads about graphic cards. Just use the search

 

I've replaced mine /boot with yours boot file and added DSDT already.

DSDT.aml i've reached using DSDT patch by fassl.

Unfortunately for mine graphic card only one driver is useful. I'll try to delete it and write here about result.

Link to comment
Share on other sites

 Share

×
×
  • Create New...