overdue-scratch

Author Topic: [Solved] Difference in booting with and w/o DSDT  (Read 15448 times)

0 Members and 1 Guest are viewing this topic.

Sarukawa

  • Entrant
  • Posts: 2
[Solved] Difference in booting with and w/o DSDT
« on: April 23, 2009, 08:51:02 PM »
I have a fixed bios and DSDT.aml extracted from it.
Booter:
Chameleon 1.0 and 2.0 (both last builds)

Problem:
- When booting w/o DSDT.aml all seems to be OK.
- When booting with DSDT.aml ive got absence of PS2 Controller and Battery.

System:
Asus eeePC1000H (AMI 1103 bios modded by Kabyl) OS.X 10.5.6 Kalyway
DSDT.aml was extracted by 2 ways: with the Koalala extracter and with MMTOOLS/WinHEX by myself. Iasl said, its no error with extracted DSDT.

Question:
Is it bug with Chameleon? I cant understand what is the difference in properly extracted DSDT and packed in bios.

upd:
Ok, this is the solve:
The key is: there is a big difference between DSDT extracted from bios ROM and the DSDT obtained by system from flashed bios.
What to do: dont use the Koalala and other patchers to dump DSDT.aml. There is also no way to make a proper DSDT by MMTOOLS and WinHEX. The ONLY way is dump DSDT by using acpidump in system loaded w/o chameleon DSDT injection.
« Last Edit: April 24, 2009, 08:31:00 AM by Sarukawa »

Lord Anubis

  • Member
  • Posts: 74
Re: [Solved] Difference in booting with and w/o DSDT
« Reply #1 on: April 24, 2009, 11:32:18 AM »
Hi,

Thank you for this info.

Please, can you explain a little more how to create a DSDT.aml with acpidump.

Where can I find acpidump for osx? I did google but i see only references to linux.

Do I have to install the DSDT.aml file on the chameleon part or on all the three OSX partitions?
I have a 2Gb part where I did install Chameleon and three OSX partitions.

Also when I use the DSDT file, do I still have to modify the com.apple.boot.plist and appleSMBios and put those on the Chameleon Partition?

Thanks.
Quicksilver 2002 Case - GB EP45-DS3P - 8Gb Kingston mem. - Q6600 - Asus 7300GT Silent 512Mb - 6 SATA drives - 1 IDE drives ( using F12/Chameleon for booting, not visible in OSX ) - 1 external Sata Samsung DVD - OSX 10.6.8 server retail - Chameleon 2.0RC1 + Cartri Bios

Sarukawa

  • Entrant
  • Posts: 2
Re: [Solved] Difference in booting with and w/o DSDT
« Reply #2 on: April 24, 2009, 06:57:59 PM »
The proper name of this utils - dumpacpitbls
You can find it here http://www.insanelymac.com/forum/index.php?showtopic=145792&st=40
I dunno where is others possible places for DSDT.aml except the primary OS X partition. I always place DSDT.aml at the / of my primary OS X partition, and no matter where Chameleon is installed.

And the only 1 another VERY important thing: you must load OS X w/o external DSDT.aml. Otherwise DSDT you dumped by dumpacpitbls will be wrong. And this is the hardest part, bcause u OS X can simply fault booting under u native bios. There is many ways how to do it, use google

upd: one more thing why to use your own DSDT dump as a base to make fixes: if u take another DSDT.aml from nearly the same, but not the same PC (little difference in hardware), your PS2 controller, battery etc. can disappear from ioreg. This is the key of PS2 and some other problems in 10.5.6 - need to use proper DSDT.
« Last Edit: April 24, 2009, 07:02:46 PM by Sarukawa »

Gringo Vermelho

  • Forum Moderator
  • Posts: 611
  • The gray monster energy hat
Re: [Solved] Difference in booting with and w/o DSDT
« Reply #3 on: August 20, 2009, 04:26:59 AM »
dont use the Koalala and other patchers to dump DSDT.aml.

You are quite wrong and probably scaring the noobs too.  :o

Koalala's ACPI patcher is perfectly fine for extracting the DSDT because it extracts it from your BIOS.rom as provided by your motherboard manufacturer - you must supply it with the same file that you download to update your BIOS with. So logically, you can safely use it on a system that already has its BIOS patched. Besides, it runs under Windows, so it doesn't mean anything that your OS X installation already is using a patched DSDT.aml. I've used it many times in Windows XP running in Parallels on my hackintosh.

You're correct when it comes to Fassls's DSDT patcher - if you run it a second time it will read the DSDT that you're already using and then patch that (again), so you should only use that on a non-patched system.

I don't understand why you are telling us not to use Winhex and MMTools to extract your DSDT either - when using those you're extracting the DSDT from a clean BIOS image straight from your motherboard manufacturer's website.

Another thing - I'm pretty sure that most of the patched BIOSes floating around only have the CPU aliases removed in the DSDT. So if you extract the DSDT of a running system with a patched BIOS, the only difference will be the missing CPU aliases, which is a Good Thing.

And it goes without saying (this goes out to the people who installed Chameleon 2.0 on their macs) that you should not be using DSDT dumps from other PCs than your own - unless they have the same motherboard as yours, of course. That said, it can be useful in an emergency situation, like if your DSDT.aml got corrupted or "lost" (read: when you did something dumb) and you can't boot.
« Last Edit: August 20, 2009, 04:28:33 AM by Gringo Vermelho »
10.9.5 - ASUS P8Z77-V Pro - i5 3570K - GTX 660 - Chameleon 2.3 svn-r2xxx
How to...
Install Chameleon: http://forum.voodooprojects.org/index.php/topic,649
Make your own Chameleon boot CD: http://forum.voodooprojects.org/index.php/topic,484.msg2131.html#msg2131

Kabyl

  • VoodooLabs
  • Posts: 158
Re: [Solved] Difference in booting with and w/o DSDT
« Reply #4 on: August 20, 2009, 06:55:29 AM »
He's right, the DSDT gets patched by the BIOS before the OS uses it, so you need to extract it from a running OS.

Gringo Vermelho

  • Forum Moderator
  • Posts: 611
  • The gray monster energy hat
Re: [Solved] Difference in booting with and w/o DSDT
« Reply #5 on: August 20, 2009, 07:51:36 AM »
*head explodes*
10.9.5 - ASUS P8Z77-V Pro - i5 3570K - GTX 660 - Chameleon 2.3 svn-r2xxx
How to...
Install Chameleon: http://forum.voodooprojects.org/index.php/topic,649
Make your own Chameleon boot CD: http://forum.voodooprojects.org/index.php/topic,484.msg2131.html#msg2131

Kabyl

  • VoodooLabs
  • Posts: 158
Re: [Solved] Difference in booting with and w/o DSDT
« Reply #6 on: August 20, 2009, 09:47:44 AM »
*head explodes*

Is that your way of saying "I got it"? :P

Gringo Vermelho

  • Forum Moderator
  • Posts: 611
  • The gray monster energy hat
Re: [Solved] Difference in booting with and w/o DSDT
« Reply #7 on: August 21, 2009, 03:51:17 AM »
lol

It's just that I didn't know that, and what you say completely invalidates a lot of things I've said and done in the past few days.

After picking up the pieces and pulling myself back together, I found out that it's possible to extract the DSDT under Windows using Everest. You can right-click the status bar at the bottom of the Everest window and there is an option to save the DSDT to a file.

Then I opened the DSDT that I've extracted from the motherboard BIOS file (straight from ASUS) and the one extracted with Everest in Winmerge to compare them and lo and behold, there are two lines that are different.

First is under Device (PCI0) , _HID, EisaId which is ("PNP0A08") on the DSDT extracted from the running system and ("PNP0A03") in the DSDT as extracted from the BIOS file.

The other one is a line that says OperationRegion (RAMW, SystemMemory, 0x7FFF000, 0x00010000) in the running DSDT. But 0x7FFF000 is 0xAABBCCDD in the one extracted from the file, which indeed looks suspiciously placeholder-like.

I guess these differences explain why I couldn't boot at all with a DSDT.aml generated from the file.

Going to try again with the lines above changed to match...

Thanks Kabyl.
10.9.5 - ASUS P8Z77-V Pro - i5 3570K - GTX 660 - Chameleon 2.3 svn-r2xxx
How to...
Install Chameleon: http://forum.voodooprojects.org/index.php/topic,649
Make your own Chameleon boot CD: http://forum.voodooprojects.org/index.php/topic,484.msg2131.html#msg2131

Gringo Vermelho

  • Forum Moderator
  • Posts: 611
  • The gray monster energy hat
Re: [Solved] Difference in booting with and w/o DSDT
« Reply #8 on: August 21, 2009, 05:27:27 AM »
Okay, done, it boots now, but something broke.

With the new BIOS and the same fixes in the new DSDT.aml that I was using with the old BIOS, I can't shut down or enter S3 sleep. I also have the old problem where after a hard reset or cold boot, it will halt at the IOAPIC line during boot.
Then I take my old copy of JaS 10.5.4 client server and boot from that, and when it passes the IOAPIC stuff i press the reset button, and then I can boot again.

If I use the old DSDT.aml with the new BIOS, everything is fine.

The old BIOS I was using was a Juzzi-patched one with the aliases removed.

I'm getting tired of this DSDT crap.

/Edit - fixed, see thread on ProjectOSX forums.
« Last Edit: September 07, 2009, 08:44:56 PM by Gringo Vermelho »
10.9.5 - ASUS P8Z77-V Pro - i5 3570K - GTX 660 - Chameleon 2.3 svn-r2xxx
How to...
Install Chameleon: http://forum.voodooprojects.org/index.php/topic,649
Make your own Chameleon boot CD: http://forum.voodooprojects.org/index.php/topic,484.msg2131.html#msg2131

nameless2k

  • Observer
  • Posts: 12
  • Individualism is a mass psychosis
    • Incomplete-News.com
Re: [Solved] Difference in booting with and w/o DSDT
« Reply #9 on: September 04, 2009, 08:53:37 PM »
He's right, the DSDT gets patched by the BIOS before the OS uses it, so you need to extract it from a running OS.


Right. But at how many positions? AFAIK it is only the "OperationRegion" that is directly dynamically related to the amount of RAM.

(..)
OperationRegion (SMOD, SystemMemory, 0x000FF840, One)
(..)
OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
(..)
OperationRegion (ELKM, SystemMemory, 0x000FFFEA, One)
(..)
OperationRegion (EXTM, SystemMemory, 0x000FF830, 0x10)
(..)

As I don't have access to my machine right now: I am wondering if the 0x4000 is the total amount of RAM of my machine? And the masterquestion: does anyone know how the OperationRegion gets calculated - means: can we make dsdt.aml files universal for different amounts of RAM (with same BIOS rev.) by patching the OperationRegion - means by letting Chameleon patch the OperationRegion dynamically at boot time?

And would it make sense to invest time in such a question? Means: are the BIOS/MoBo manufacturers going to do better jobs? Are they facing this as an issue for impact on sales? We should tell them by not buying that crap ;D
So is there any BIOS/MoBo company doing a well job with their ACPI implementations?
« Last Edit: September 04, 2009, 09:00:36 PM by nameless2k »
<b>1st. rig: Testing environment:</b> EP35-DS3 | nVidia GeForce 7600 GT | HP w2207 | HP w2207h (prevents sleep from working) | SAMSUNG SP2504C | TimeMachine | Chameleon RC1 (I am a bit conservative ;-) | 10.5.8
<b>2nd. rig: Production:</b>MacBook Pro 15" (2007)

Superhai

  • VoodooLabs
  • Posts: 102
Re: [Solved] Difference in booting with and w/o DSDT
« Reply #10 on: September 04, 2009, 10:08:04 PM »
means: can we make dsdt.aml files universal for different amounts of RAM (with same BIOS rev.) by patching the OperationRegion - means by letting Chameleon patch the OperationRegion dynamically at boot time?

And would it make sense to invest time in such a question? Means: are the BIOS/MoBo manufacturers going to do better jobs? Are they facing this as an issue for impact on sales? We should tell them by not buying that crap ;D
So is there any BIOS/MoBo company doing a well job with their ACPI implementations?

A DSDT is under no circumstances and should never be universal, it is specific for your current model.

The manufacturers have no problems selling their abysmal crap of bioses, simply because they work properly in most cases, and the various operating systems are forgiving and have workarounds -- except for apples, but it is not designed to work on other machines than their own.