Jump to content

Modified BIOS to get all cores working


Kabyl
 Share

1,884 posts in this topic

Recommended Posts

I will post an instructions doing this mod for AMI bios in a few days. I think teaching someone to fish is better then feeding them for life. I will find some time and write up the way I have extract the DSDT, decompile and inserted the DSDT back. Hopefully if Kabyl is not busy, he can give us some hints if I did something wrong.

 

About the Dell laptops. I am sitting on a laptop that I absolutely can not get osx to run without cpus=1 also. So far I have extracted the ROM but can not find any editor or find any DSDT strings inside the ROM. If someone can find a software to edit || decompress || decrypt the ROM, I can start working on it. But for now I think some how having the kernel read from an external DSDT file when it load (like linux) would be the best choice.

 

-DTsu

 

I'm really happy to ear that, there are far too much notebooks and motherboards for Kabyl to fix for ever. He's been really kind all this time, but no human can make all that work for ever.

 

Anyway I heard he (Kabyl) was working on a .kext that would fix DSDT problems in the same way Linux does. Any news about that?

 

Thanks in advance for your future guide, and thanks again to kabyl for his work and his solidarity.

Link to comment
Share on other sites

Satellite A200 (PSAEC)

 

BIOS:-

XP: http://support.toshiba-tro.de/tools/eula/c...la.asp?ID=59999

Vista: http://support.toshiba-tro.de/tools/eula/c...la.asp?ID=59994

 

Intel® Core™2 CPU T7200 @ 2.00GHz, Intel i945PM rev. 03, GeForce 7300 Go 256 MB (01d7).

 

I can boot only with 1 core if i'm using Vanilla kernel. If I boot it with 2 cores the system automtic reboot it self.

 

Try to enable NX in BIOS. It worked for me.

Link to comment
Share on other sites

Hello and thank you so much for your extra work to help so many of us.

 

I am trying to use an ASUS P5K motherboard with Intel E6750 Core Duo processor. Everything has been patched to work except in Apple Profiler it tells me:

 

Hardware Overview:

 

Model Name: Mac

Model Identifier: P5K

Processor Name: Intel Core 2 Duo

Processor Speed: 2.67 GHz

Number Of Processors: 0

Total Number Of Cores: 1

L2 Cache: 4 MB

Memory: 6 GB

Bus Speed: 1.33 GHz

Boot ROM Version: BOOT.EFI.V80

Serial Number: CK157KMHK5B

 

 

I believe it should state 1 processor and 2 cores.

 

I have attached the 1006 bios link which also adds the E6750 processor.

 

http://support.asus.com/download/download....SLanguage=en-us

 

Thanks so much.

 

Jerryfmd

Link to comment
Share on other sites

My laptop is a Toshiba tecra A8....

Intel core 2 duo T5500m1.6GHZ

Motherboard chipset:Intel Calistoga-G i945GM

ram: 1 GB

HD: 120GB

Video: Intel 945GM (256MB)

Audio: Alc 262 @ Intel ICH7-M

Keyboard: PS/2 standard

Mouse: Alps pointing device

Ethernet: Pro/1000 PL network connection

Wireless: Intel Pro/Wireless 3945ABG

The chipset seems to be ICH7-M...

 

Seems that It could only run in sigle core mode!!!

 

Let me know ...B_I_O_S

 

Thanks

Link to comment
Share on other sites

Here is a guide for modifying DSDT for AMI bios. I gathered most information from Kabyl. The orginal plan was to create a nice pdf but I am unable to gather enough time to sit down and create one. So hopefully, this guide will do for now. Feel free to add other bios moding guide here.

 

WARNING!!! BAD MODIFICATION OF THE ROM FILE AND FLASHING BACK INTO YOUR BIOS CAN KILL YOUR MOTHERBOARD! TRY THIS AT YOUR OWN RISK! I AM NOT RESPOSIBLE FOR ANY DAMAGE!!!!!! IF YOU ARE UNSURE OF WHAT YOU ARE DOING, DO NOT TRY THIS!!

 

1. Download the AMI bios you wish to modify. It should have the .ROM extension.

 

2. Run the MMTOOL.EXE from the AMI_DSDT_TOOLS.zip

post-165316-1215030676_thumb.png

3. Click "Load ROM" and choose your bios file.

4. We are now going to extract the DSDT from the ROM. Click on "Extract" tab. Then on the list box on the bottom half of the MMTOOL, select "1B" named "Single Link Arch BIOS".

5. Make sure "In uncompressed form" is selected. Enter a filename in the "Module File" textbox and then click on the "Extract" button (For example "SingleLink.dat")

 

6. Using WinHex and open up the file you extract ("SingleLink.dat"). We are going to look for the case sensitive string "DSDT". There should be two instance of this in the file. We are only interested in the second instance. So search for "DSDT" twice.

 

7. Right click on "D" of the "DSDT" and choose "Beginning of block".

 

8. From this position, search for the hex string 57 41 4B 68 2E (WAKh.)

 

9. Right click "h" of the "WAKh" and choose "End of block".

 

10. In the WinHex Menu, select the "Edit" drop down and move down to "Copy Block" then "Into New File" in the new choices. Enter a file name with the .aml extension (ex: mydsdt.aml).

 

11. Extract iasl.exe from AMI_DSDT_TOOLS.zip into the directory where you saved the .aml file. Open a command prompt and change to the directory where you saved the .aml file. use this command line to decompile the .aml file: "iasl.exe -d mydsdt.aml". "mydsdt.aml" is the .aml you saved earlier.

 

12. After running "iasl.exe -d mydsdt.aml", it should generate a file name "mydsdt.dsl".

 

13. Now here is where we start to remove the "Alias" in the dsdt. Use notepad and open the "mydsdt.dsl" you should see lines like:

        Processor (P001, 0x01, 0x00000810, 0x06) {}
       Alias (P001, CPU1)
       Processor (P002, 0x02, 0x00000000, 0x00) {}
       Alias (P002, CPU2)
       Processor (P003, 0x03, 0x00000000, 0x00) {}
       Alias (P003, CPU3)
       Processor (P004, 0x04, 0x00000000, 0x00) {}
       Alias (P004, CPU4)

 

We are going to remove any line that starts with "Alias". After it is removed, save the file.

 

14. Here is the part where if you have problems with your DSDT, you are going to have problems. There are number of resource on google that can help you debug the issue you will be having. Hopefully, you can don't have any issues. What I would usually do is google "dsdt" and the error message that iasl throws out. Kabyl might have hint on how to recompile the DSDT while ignoring the warnings and errors.

 

To compile your new mydsdt.dsl use the command line "iasl.exe mydsdt.dsl".

 

15. After running "iasl.exe mydsdt.dsl" it should produce a file named "DSDT.aml". We are now going to inject this file back into the .dat file we saved earlier ("SingleLink.dat"). In WinHex, open the "DSDT.aml" you compiled. Press "Control A" (Select all). On the lower right hand side of WinHex you should notice a hex representation of the size of the block you have selected (For example "Size: 5AC4"). Make note of this hex size.

 

16. What we are trying to do here is to insert the DSDT.aml into "SingleLink.dat" without changing the file size of "SingleLink.dat". Since the new DSDT (DSDT.aml) is smaller, we can just replace the DSDT and then pad the rest of the sectors with 00.

 

17. Go back to the "SingleLink.dat" and hopefully the DSDT block we copied into a new file is still there. If not, then repeat steps 7,8,9 again.

 

18. Left click on the "D" of the DSDT in the beginning of the block in "SingleLink.dat". In the WinHex "Edit" drop down on top, then select "Fill Block". We are going to "Fill with hex values" of "00".

 

19. You will see "00" filled block. Your current cursor position should still be where "D" was. Now on top of the WinHex windows, click on "Position" then choose "Goto offset". Select "current position" and put the hex size that you have made a note of in step 15 in "New position" text box. Click okay, and it will take you to the new offset position. Right click on the new position (blinking cursor) and select "End of block".

 

20. Go back to the beginning of the block where the "D" was before you filled it with 00 and left click on that position. In the WinHex menu on top click on "Edit" and select choose "Remove". You will get a popup box saying removing the current block will decrease the file. Click "yes" to continue

 

21. Now, goto your DSDT.aml file, select everything in this file by pressing "Control A". Then in the "Edit" menu in WinHex, choose "Copy Block" then click "Normally".

 

22. Go back to the "SingleLink.dat" file, your cursor should still be where the "D" was. In the WinHex menu on top, choose "Edit", then "Clipboard Data" then "Paste". A popup window will inform you that the data about to be pasted will increase the file size. Click Ok.

 

23. Goto the end of the block (should end with "WAKh") and make sure there is a hex character of 2E right after "WAKh". If there no 2E, then just modify the character right after "WAKh" to hex 2E.

 

24. Save the file and now we are ready to insert the file back into the .ROM

 

25. Go back into the MMTools and choose "Replace" tab. On the list box, chick on "1B | Single Link Arch BIOS". Next to the "Module file:" textbox, there should be a "Browse" button, find the modified "SingleLink.dat". Click on "Replace" button and you should be done.

 

26. Click on "Save ROM" button and save to a new ROM file. Flash this ROM into your BIOS.

 

 

Link to WinHex I found on Google: WinHex

AMI_DSDT_TOOLS.zip

Link to comment
Share on other sites

Hi, Kabyl! Thanks a lot for your great work.

 

In 26.06.08 the MSI had uploaded a new bios for MSI-P35-Neo (7360). There is a new 1.8 version there.

Could you please modify it? The previous bios, which you had modified, works fine, but sometimes it has some inexplicable issues.

All bios's settings may be reset by unknown reasons. I don't know it depends on what. The keyboard may not work in setup mode, I cannot enter the setup and so on. At least I had those troubles twice. It was resolved by the clearing CMOS. But on the whole it works good.

 

This is a link: http://download1.msi.com.tw/files/download...exe/7360v18.zip

 

Thank you.

Link to comment
Share on other sites

Hi David !

Thank for you work.

 

Seem to me, some thing wrong.

Using MMTools i was extract 1B module (uncompressed).

I found DSDT twice, but i can't faund seqeunce 57 41 4B 68 2E (WAKh.)

I found WAKh without DOT (2E), not one time,

 

00052480 00 00 00 14 32 50 54 53 5F 01 A0 2B 68 5C 2F 03 ....2PTS_. +h\/.

00052490 5F 53 42 5F 50 43 49 30 4E 50 54 53 68 5C 2F 04 _SB_PCI0NPTSh\/.

000524A0 5F 53 42 5F 50 43 49 30 53 42 52 47 53 50 54 53 _SB_PCI0SBRGSPTS

000524B0 68 4F 45 4D 53 68 14 45 04 57 41 4B 5F 01 57 44 hOEMSh.E.WAK_.WD

000524C0 54 53 68 5C 2F 03 5F 53 42 5F 50 43 49 30 4E 57 TSh\/._SB_PCI0NW

000524D0 41 4B 68 5C 2F 04 5F 53 42 5F 50 43 49 30 53 42 AKh\/._SB_PCI0SB

000524E0 52 47 53 57 41 4B 68 4F 45 4D 57 68 5C 2F 03 5F RGSWAKhOEMWh\/._

000524F0 53 42 5F 41 54 4B 44 47 45 4E 57 68 2E 8B C0 2E SB_ATKDGENWh.‹À.

00052500 8B C0 2E 8B C0 46 41 43 53 40 00 00 00 00 00 00 ‹À.‹ÀFACS@......

00052510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

00052520 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 ................

00052530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

00052540 00 00 00 00 00 4F 45 4D 42 60 00 00 00 01 00 41 .....OEMB`.....A

00052550 5F 4D 5F 49 5F 41 4D 49 5F 4F 45 4D 20 14 08 00 _M_I_AMI_OEM ...

00052560 01 4D 53 46 54 97 00 00 00 00 00 00 00 00 00 00 .MSFT—..........

 

Speech about AMI bios for laptop ASUS X55Sv file: X55SVas_207.rom from official site.

 

In module 1B from downloaded file http://osrom.net/files/BIOS.mod/NB/ASUS/M5...od.by.Kabyl.zip, the same, imposible to find string 57 41 4B 68 2E.

 

Can you help me ?

Link to comment
Share on other sites

Hi David !

Seem to me, some thing wrong.

Using MMTools i was extract 1B module (uncompressed).

I found DSDT twice, but i can't faund seqeunce 57 41 4B 68 2E (WAKh.)

I found WAKh without DOT (2E), not one time,

 

00052480 00 00 00 14 32 50 54 53 5F 01 A0 2B 68 5C 2F 03 ....2PTS_. +h\/.

00052490 5F 53 42 5F 50 43 49 30 4E 50 54 53 68 5C 2F 04 _SB_PCI0NPTSh\/.

000524A0 5F 53 42 5F 50 43 49 30 53 42 52 47 53 50 54 53 _SB_PCI0SBRGSPTS

000524B0 68 4F 45 4D 53 68 14 45 04 57 41 4B 5F 01 57 44 hOEMSh.E.WAK_.WD

000524C0 54 53 68 5C 2F 03 5F 53 42 5F 50 43 49 30 4E 57 TSh\/._SB_PCI0NW

000524D0 41 4B 68 5C 2F 04 5F 53 42 5F 50 43 49 30 53 42 AKh\/._SB_PCI0SB

000524E0 52 47 53 57 41 4B 68 4F 45 4D 57 68 5C 2F 03 5F RGSWAKhOEMWh\/._

000524F0 53 42 5F 41 54 4B 44 47 45 4E 57 68 2E 8B C0 2E SB_ATKDGENWh.‹À.

00052500 8B C0 2E 8B C0 46 41 43 53 40 00 00 00 00 00 00 ‹À.‹ÀFACS@......

00052510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

00052520 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 ................

00052530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

00052540 00 00 00 00 00 4F 45 4D 42 60 00 00 00 01 00 41 .....OEMB`.....A

00052550 5F 4D 5F 49 5F 41 4D 49 5F 4F 45 4D 20 14 08 00 _M_I_AMI_OEM ...

00052560 01 4D 53 46 54 97 00 00 00 00 00 00 00 00 00 00 .MSFT—..........

 

Speech about AMI bios for laptop ASUS X55Sv file: X55SVas_207.rom from official site.

 

In module 1B from downloaded file http://osrom.net/files/BIOS.mod/NB/ASUS/M5...od.by.Kabyl.zip, the same, imposible to find string 57 41 4B 68 2E.

 

Can you help me ?

 

I would just retrive all the data from the 2nd instance of DSDT to here:

ÀFACS@

Right before the 00s. The footer of a compiled DSDT.aml looks like this (not exact for all):

post-165316-1215096063_thumb.png

 

If you get decompile errors then use the last WAKh as the end of block.

 

Hope that helps.

 

-DTsu

Link to comment
Share on other sites

I would just retrive all the data from the 2nd instance of DSDT to here:

ÀFACS@

Right before the 00s. The footer of a compiled DSDT.aml looks like this (not exact for all):

post-165316-1215096063_thumb.png

 

If you get decompile errors then use the last WAKh as the end of block.

 

Hope that helps.

 

-DTsu

 

Thank you David for help.

 

I shall continue search of the correct decision, it seems specifications of this part bios have changed.

 

Link to comment
Share on other sites

In 26.06.08 the MSI had uploaded a new bios for MSI-P35-Neo (7360). There is a new 1.8 version there.

Could you please modify it? The previous bios you modified works fine, but sometimes it has some inexplicable issues.

All bios's settings may be reset by unknown reasons. I don't know it depends on what. The keyboard may not work in setup mode, I cannot enter the setup and so on. At least I had those troubles twice. It was resolved by the clearing CMOS. But on the whole it works good.

 

Maybe the clock battery you're using is out of charge? I know it sounds stupid but that's the only thing that has made my settings die suddenly ever.

Link to comment
Share on other sites

Thx to david_tsu guide i got finally my bios modded for working osx leopard on 2 cores

 

its only the dos version but it shouldn't be a problem booting with an old win98 disk or bootcd for dos into dos and start the flashing process using: "afudos P35P130M" (without "quotes")

 

The bios is for the ASROCK 4Core1600P35-WiFi+ - dont know if it works for the without WIFI version... but the only difference between the WIFI+ and the standart boxed version is that the standart boxed version is dilivered without the wificard for the mini slot on the board... so it should theoretically work. if someone tests it please let the others know if it works.

 

reports, thx, greatings are always welcome, so... dont hacitade :(

 

have fun with 2 cores

 

DJnEO

 

DISCLAIMER: i give no warrenty for misflashed boards or everything else. try it on your own risk!

4Core1600P35_WiFi__v130_mod_dsdt_for_osx.zip

Link to comment
Share on other sites

Hi David,

 

Thanks a lot for your guide, it is very clear.

I own a P5Q and worked out the 0703 bios. Everything went fine, I'm just uncomfortable with the way I fixed the iasl compiling errors. I had quite a few errors about _T_0 or _T_1 being reserved words :

 

mydsdt.dsl  7500:                 Name (_T_0, Zero)
Error    1080 -       Use of reserved word ^  (_T_0)

mydsdt.dsl  7553:                     Name (_T_1, Zero)
Error    1080 -           Use of reserved word ^  (_T_1)

 

I fixed these by replacing every occurence of _T_0 and _T_1 by T_0 and T_1. Do you think this is correct ?

 

After fixing these errors, I still ended up with 6 warnings :

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20050930 [sep 30 2005]
Copyright © 2000 - 2005 Intel Corporation
Supports ACPI Specification Revision 3.0

No back ptr to Op: type 8
No back ptr to Op: type 8
No back ptr to Op: type 8
No back ptr to Op: type 8
No back ptr to Op: type 8
No back ptr to Op: type 8
No back ptr to Op: type 8
mydsdt4.dsl  9170:         Method (VGET, 1, NotSerialized)
Warning  2085 -                       ^ Not all control paths return a value (VGET)

mydsdt4.dsl  9215:         Method (TGET, 1, NotSerialized)
Warning  2085 -                       ^ Not all control paths return a value (TGET)

mydsdt4.dsl  9268:         Method (FGET, 1, NotSerialized)
Warning  2085 -                       ^ Not all control paths return a value (FGET)

mydsdt4.dsl  9299:             Store (VGET (Local0), Local1)
Warning  2090 -                          ^ Called method may not always return a value

mydsdt4.dsl  9334:             Store (TGET (Local0), Local1)
Warning  2090 -                          ^ Called method may not always return a value

mydsdt4.dsl  9363:             Store (FGET (Local0), Local1)
Warning  2090 -                          ^ Called method may not always return a value

ASL Input:  mydsdt4.dsl - 9814 lines, 306417 bytes, 4858 keywords
AML Output: DSDT.aml - 38434 bytes 995 named objects 3863 executable opcodes

Compilation complete. 0 Errors, 6 Warnings, 0 Remarks, 4 Optimizations

 

I haven't found any clues to clear the warnings, do these really need to be fixed ?

I'm a little uncomfortable flashing my bios, I would have much preferred avoiding these warnings.

 

Thanks a lot for your help.

Link to comment
Share on other sites

Hi David,

 

Thanks a lot for your guide, it is very clear.

I own a P5Q and worked out the 0703 bios. Everything went fine, I'm just uncomfortable with the way I fixed the iasl compiling errors. I had quite a few errors about _T_0 or _T_1 being reserved words :

 

mydsdt.dsl  7500:                 Name (_T_0, Zero)
Error    1080 -       Use of reserved word ^  (_T_0)

mydsdt.dsl  7553:                     Name (_T_1, Zero)
Error    1080 -           Use of reserved word ^  (_T_1)

 

I fixed these by replacing every occurence of _T_0 and _T_1 by T_0 and T_1. Do you think this is correct ?

 

After fixing these errors, I still ended up with 6 warnings :

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20050930 [sep 30 2005]
Copyright © 2000 - 2005 Intel Corporation
Supports ACPI Specification Revision 3.0

No back ptr to Op: type 8
No back ptr to Op: type 8
No back ptr to Op: type 8
No back ptr to Op: type 8
No back ptr to Op: type 8
No back ptr to Op: type 8
No back ptr to Op: type 8
mydsdt4.dsl  9170:         Method (VGET, 1, NotSerialized)
Warning  2085 -                       ^ Not all control paths return a value (VGET)

mydsdt4.dsl  9215:         Method (TGET, 1, NotSerialized)
Warning  2085 -                       ^ Not all control paths return a value (TGET)

mydsdt4.dsl  9268:         Method (FGET, 1, NotSerialized)
Warning  2085 -                       ^ Not all control paths return a value (FGET)

mydsdt4.dsl  9299:             Store (VGET (Local0), Local1)
Warning  2090 -                          ^ Called method may not always return a value

mydsdt4.dsl  9334:             Store (TGET (Local0), Local1)
Warning  2090 -                          ^ Called method may not always return a value

mydsdt4.dsl  9363:             Store (FGET (Local0), Local1)
Warning  2090 -                          ^ Called method may not always return a value

ASL Input:  mydsdt4.dsl - 9814 lines, 306417 bytes, 4858 keywords
AML Output: DSDT.aml - 38434 bytes 995 named objects 3863 executable opcodes

Compilation complete. 0 Errors, 6 Warnings, 0 Remarks, 4 Optimizations

 

I haven't found any clues to clear the warnings, do these really need to be fixed ?

I'm a little uncomfortable flashing my bios, I would have much preferred avoiding these warnings.

 

Thanks a lot for your help.

yes, you can ignore the warnings..

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...