Smith@@™ Posted January 31, 2010 Share Posted January 31, 2010 OK, I imported missing fixes from pcEFI10.5 and also found a bug and fixed it in nvidia code Here the experimental code for the GE fix: GEfix.tar.gz (Other users not affected by this bug, please don't use this fix yet, there is debug code displayed) Please smith@@ and others affected, tell me if it works for you know ... Hi rekur, i have try now, but nothing, the 9800gt is unknown, minimum resolution, 32 MB, don't qe/ci, the problem is the same i have try also with original dsdt, nothing like always. I have try again with pc efi and it works, it's really a strange problem I stay tuned;) Link to comment Share on other sites More sharing options...
rekursor Posted January 31, 2010 Share Posted January 31, 2010 Hi rekur, i have try now, but nothing, the 9800gt is unknown, minimum resolution, 32 MB, don't qe/ci, the problem is the same i have try also with original dsdt, nothing like always. I have try again with pc efi and it works, it's really a strange problem) Does this work with my old rek v2 patch on rc4 ? This is important to know for me, thanks Link to comment Share on other sites More sharing options...
Smith@@™ Posted January 31, 2010 Share Posted January 31, 2010 Does this work with my old rek v2 patch on rc4 ? I think of not but can you attach it to me, so i try?, I have "too much" boot and I could be wrong, sorry Thanks;) Link to comment Share on other sites More sharing options...
rekursor Posted January 31, 2010 Share Posted January 31, 2010 I think of not but can you attach it to me, so i try?, I have "too much" boot and I could be wrong, sorry Thanks;) np, it's here: http://www.insanelymac.com/forum/index.php...t&p=1360125 EDIT:please post as many details you see with Waiit=y, the verbose messages about Pciroot uid and so on... Link to comment Share on other sites More sharing options...
blackosx Posted January 31, 2010 Share Posted January 31, 2010 Done. Have you tested the installer yet? Also do you have any solution for the MBR. Linux users have a utility called ms-sys which writes a windows compatible MBR. I wish we had something like that too. Hi Dr. Hurt / Rekursor I have been working with r0m30 at the voodooproject's forums on a revised boot0 file which will run Chameleon from a non-active partition, allowing Windows7 to remain on the active partition with the result of Windows7 happily booting and sleeping when loaded through Chameleon. It works, though the changes need checking and verifying to make sure what has been done is safe/sensible for all setups etc. If this sounds like something to help with your issue then I will point you to the link when the voodooproject's forum is back up from it's current maintenance session. Link to comment Share on other sites More sharing options...
Smith@@™ Posted January 31, 2010 Share Posted January 31, 2010 np, it's here:http://www.insanelymac.com/forum/index.php...t&p=1360125 Same problem rek;) It is as if unable to load "the bios of the vga integrated in the boot", in fact if I force with an external bios, as I wrote, does not work the same Hi Dr. Hurt / Rekursor I have been working with r0m30 at the voodooproject's forums on a revised boot0 file which will run Chameleon from a non-active partition, allowing Windows7 to remain on the active partition with the result of Windows7 happily booting and sleeping when loaded through Chameleon. It works, though the changes need checking and verifying to make sure what has been done is safe/sensible for all setups etc. If this sounds like something to help with your issue then I will point you to the link when the voodooproject's forum is back up from it's current maintenance session. Is it possible try this boot0 already now? Link to comment Share on other sites More sharing options...
rekursor Posted January 31, 2010 Share Posted January 31, 2010 Hi Dr. Hurt / Rekursor I have been working with r0m30 at the voodooproject's forums on a revised boot0 file which will run Chameleon from a non-active partition, allowing Windows7 to remain on the active partition with the result of Windows7 happily booting and ... If this sounds like something to help with your issue then I will point you to the link when the voodooproject's forum is back up from it's current maintenance session. Yes please send us a patch, it comes at the good time, i.e before we issue an RC5 release, I'll apply it and test it asap so that we can figure out how good that works Thanks Same problem rek;) It is as if unable to load "the bios of the vga integrated in the boot", in fact if I force with an external bios, as I wrote, does not work the same Now lets go further, please tell if you read any of those msgs: printf("ERROR: nVidia ROM Patching Failed!\n"); printf("nVidia incorrect PCI ROM signature: 0x%x\n", rom_pci_header->signature); or if you get any otehr msg please write it down, I have to understand what piece of code fails for you Link to comment Share on other sites More sharing options...
blackosx Posted January 31, 2010 Share Posted January 31, 2010 Yes please send us a patch, it comes at the good time, i.e before we issue an RC5 release, I'll apply it and test it asap so that we can figure out how good that worksThanks Okay, but like I said, it needs an expert eye to make sure this is a good thing and has no bad side-affects. Link to the Post on VoodooProject's I have attached a DIFF file for boot0 and it needs to be written in to the first 440 bytes of the MBR. So I installed it using the following command: sudo dd if=boot0 of=/dev/disk0 bs=440 count=1 It's something I tried earlier today which works now, and if deemed sensible to use it, I am sure it can be coded in a cleaner way. Link to comment Share on other sites More sharing options...
rekursor Posted January 31, 2010 Share Posted January 31, 2010 Okay, but like I said, it needs an expert eye to make sure this is a good thing and has no bad side-affects.I have attached a DIFF file for boot0 and it needs to be written in to the first 440 bytes of the MBR. So I installed it using the following command: sudo dd if=boot0 of=/dev/disk0 bs=440 count=1 The code looks really ok as you just commented the part where it checks the partition is active so that it can do the trick, but my concern would be about how to install that (bs=440) for it to work, classical command like: sudo fdisk -f boot0 -u -y /dev/rdisk0 would not work anymore ? Link to comment Share on other sites More sharing options...
blackosx Posted January 31, 2010 Share Posted January 31, 2010 but my concern would be about how to install that (bs=440) for it to work,classical command like: sudo fdisk -f boot0 -u -y /dev/rdisk0 would not work anymore ? No, as fdisk will overwrite the complete MBR and destroy the code that Windows has there. Manually installing it won't be a problem as most people by now should be comfortable with that, but if not, I don't know if Dr. Hurt can automate that or not. Link to comment Share on other sites More sharing options...
rekursor Posted January 31, 2010 Share Posted January 31, 2010 No, as fdisk will overwrite the complete MBR and destroy the code that Windows has there. Manually installing it won't be a problem as most people by now should be comfortable with that, but if not, I don't know if Dr. Hurt can automate that or not. Well, I read more the ASM source code and I am wondering why in the following .Pass1: ; cmp BYTE [si + part.bootid], kPartActive; In pass 1 we are walking on the standard path ; jne .continue ; by trying to hop on the active partition. ; xor dh, dh ; Argument for loadBootSector to skip HFS+ partition ; Signature check. jmp .tryToBoot why dh is unset ? It seems to me that dh should set to 1 (signature check) if we don't test that the partition is active, we want to boot the first hfs+ partition that we find no ? So instead of commenting out xor dh,dh I would see: mov dh,1 instead (feels good to read some assembly code again, it's been a while ) EDIT: and I would add: we should not comment pass2, because we should in pass 2 check for any active partition, in other words i would suggest to swap pass1 and pass2 first we check any hfs+ part active or not, second (not found) we check for any active partition. Link to comment Share on other sites More sharing options...
blackosx Posted January 31, 2010 Share Posted January 31, 2010 Well, I read more the ASM source code and I am wondering why in the following .Pass1: ; cmp BYTE [si + part.bootid], kPartActive; In pass 1 we are walking on the standard path ; jne .continue ; by trying to hop on the active partition. ; xor dh, dh ; Argument for loadBootSector to skip HFS+ partition ; Signature check. jmp .tryToBoot why dh is unset ? It seems to me that dh should set to 1 (signature check) if we don't test that the partition is active, we want to boot the first hfs+ partition that we find no ? So instead of commenting out xor dh,dh I would see: mov dh,1 instead (feels good to read some assembly code again, it's been a while ) You're the guru Rekursor, Lol. My knowledge of assembler is limited and I used the human readable comments already present in the code to guess my way to this. I mean as r0m30 said in the voodooprojects' post, that code was already there, I just commented out the first pass. If you can make sense of it, improve it and make it workable then I look forward to seeing the results. I'm just sorry I don't have the skills to help your further with this. EDIT: and I would add:we should not comment pass2, because we should in pass 2 check for any active partition, in other words i would suggest to swap pass1 and pass2 first we check any hfs+ part active or not, second (not found) we check for any active partition. That makes sense, but we will still have to install the modified boot0 to the first 440 bytes of the MBR though. I will test your recommendation on my system as it's already setup for this. Link to comment Share on other sites More sharing options...
18seven Posted January 31, 2010 Share Posted January 31, 2010 IntelCPUPowerManagement loading but SpeedStep not work Patch in this thread (#147).Offset 000284D1 - cpu model for 64 bit kernel (current 0x0F), Offset 005E6817 - cpu model for 32 bit kernel (current 0x0F). Other CPU models you can grab from cpuid.h. May be need patch not only model type... i don't know. No. I use prepatched kernel. Thanks for the info tea. 18seven patch is currently integrated in prasys branch, I'll help to make it event more interesting, because we add some other useful shortcuts but basically it's 18seven patch Cool, glad to contribute. Link to comment Share on other sites More sharing options...
rekursor Posted January 31, 2010 Share Posted January 31, 2010 You're the guru Rekursor, Lol.My knowledge of assembler is limited and I used the human readable comments already present in the code to guess my way to this. I mean as r0m30 said in the voodooprojects' post, that code was already there, I just commented out the first pass. If you can make sense of it, improve it and make it workable then I look forward to seeing the results. I'm just sorry I don't have the skills to help your further with this. That makes sense, but we will still have to install the modified boot0 to the first 440 bytes of the MBR though. I will test your recommendation on my system as it's already setup for this. ok try this: replace only the following and tell me if it works for you: .Pass1: cmp BYTE [si + part.type], kPartTypeHFS ; In pass 2 we're going to find a HFS+ partition jne .continue ; equipped with boot1h in its boot record ; regardless if it's active or not. mov dh, 1 ; Argument for loadBootSector to check HFS+ partition signature. jmp .tryToBoot .Pass2: cmp BYTE [si + part.bootid], kPartActive; In pass 1 we are walking on the standard path jne .continue ; by trying to hop on the active partition. xor dh, dh ; Argument for loadBootSector to skip HFS+ partition ; Signature check. DebugChar('*') Link to comment Share on other sites More sharing options...
Smith@@™ Posted January 31, 2010 Share Posted January 31, 2010 Yes please send us a patch, it comes at the good time, i.e before we issue an RC5 release, I'll apply it and test it asap so that we can figure out how good that worksThanks Now lets go further, please tell if you read any of those msgs: printf("ERROR: nVidia ROM Patching Failed!\n"); printf("nVidia incorrect PCI ROM signature: 0x%x\n", rom_pci_header->signature); or if you get any otehr msg please write it down, I have to understand what piece of code fails for you Rek, you think that the problem can be resolved? Link to comment Share on other sites More sharing options...
blackosx Posted January 31, 2010 Share Posted January 31, 2010 ok try this:replace only the following and tell me if it works for you: .Pass1: cmp BYTE [si + part.type], kPartTypeHFS; In pass 2 we're going to find a HFS+ partition jne .continue ; equipped with boot1h in its boot record ; regardless if it's active or not. mov dh, 1 ; Argument for loadBootSector to check HFS+ partition signature. jmp .tryToBoot .Pass2: cmp BYTE [si + part.bootid], kPartActive; In pass 1 we are walking on the standard path jne .continue ; by trying to hop on the active partition. xor dh, dh ; Argument for loadBootSector to skip HFS+ partition ; Signature check. DebugChar('*') Already done exactly that and yes, it works great Windows7 still boots and sleeps just fine. The only question I have is what made Zef comment this out in the first place? Link to comment Share on other sites More sharing options...
rekursor Posted February 1, 2010 Share Posted February 1, 2010 Already done exactly that and yes, it works great Windows7 still boots and sleeps just fine. The only question I have is what made Zef comment this out in the first place? Maybe because if you don't install this in the first 440 sectors, it would have no effect anyway ? Rek, you think that the problem can be resolved? I won't resign so easily but we need more info here's a version with nvidia debug info, please report what it says: GEdebug.tar.gz Don't forget to boot with Wait=y Link to comment Share on other sites More sharing options...
blackosx Posted February 1, 2010 Share Posted February 1, 2010 Maybe because if you don't install this in the first 440 sectors, it would have no effect anyway ? Most probably, yes. Link to comment Share on other sites More sharing options...
Smith@@™ Posted February 1, 2010 Share Posted February 1, 2010 Maybe because if you don't install this in the first 440 sectors, it would have no effect anyway ? I won't resign so easily but we need more info here's a version with nvidia debug info, please report what it says: GEdebug.tar.gz Don't forget to boot with Wait=y Ok: LOADED HFS+file ............... nvidia GeForce 9800 GT 512MB NV92 [10de:0614] :: PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0) PROM Address 0xfd300000 Sinature 0x55aa Using PCI-Root-UID value:0 Found SMBIOS .... Customing SystemID .... Patched DMI table Loaded HFS+ file:DSDT.aml FADT changing PM profile from 0x01 to 0x03 FADT Restart fix applied FADT changing PM profile from 0x01 to 0x03 FADT Restart fix applied Patched ACPI version 2 DSDT Starting Darwing x86_64 ......... Edit: rek and if we inject directly in the booter this code (this is what i use): Method (_DSM, 4, NotSerialized) { Store (Package (0x16) { "@0,compatible", Buffer (0x0B) { "NVDA,NVMac" }, "@0,device_type", Buffer (0x08) { "display" }, "@0,name", Buffer (0x0F) { "NVDA,Display-A" }, "@1,compatible", Buffer (0x0B) { "NVDA,NVMac" }, "@1,device_type", Buffer (0x08) { "display" }, "@1,name", Buffer (0x0F) { "NVDA,Display-B" }, "NVCAP", Buffer (0x18) { /* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0008 */ 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }, "VRAM,totalsize", Buffer (0x04) { 0x00, 0x00, 0x00, 0x20 }, "device_type", Buffer (0x0D) { "NVDA,GeForce" }, "model", Buffer (0x1D) { "Nvidia GeForce 9800 GT [G92]" }, "rom-revision", Buffer (0x31) { "Nvidia GeForce 9800 GT [G92] OpenGL Engine [EFI]" } }, Local0) MCDP (Arg2, RefOf (Local0)) Return (Local0) } It's possible? Then click in com.apple with a type argument: Graphics Enabler --> 9800GT512 and vary from card to card.. I go to sleep, night;) Link to comment Share on other sites More sharing options...
rekursor Posted February 1, 2010 Share Posted February 1, 2010 Edit: rek and if we inject directly in the booter this code (this is what i use): Method (_DSM, 4, NotSerialized) { Store (Package (0x16) { "@0,compatible", Buffer (0x0B) { "NVDA,NVMac" }, "@0,device_type", Buffer (0x08) { "display" }, "@0,name", Buffer (0x0F) { "NVDA,Display-A" }, "@1,compatible", Buffer (0x0B) { "NVDA,NVMac" }, "@1,device_type", Buffer (0x08) { "display" }, "@1,name", Buffer (0x0F) { "NVDA,Display-B" }, "NVCAP", Buffer (0x18) { /* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0008 */ 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }, "VRAM,totalsize", Buffer (0x04) { 0x00, 0x00, 0x00, 0x20 }, "device_type", Buffer (0x0D) { "NVDA,GeForce" }, "model", Buffer (0x1D) { "Nvidia GeForce 9800 GT [G92]" }, "rom-revision", Buffer (0x31) { "Nvidia GeForce 9800 GT [G92] OpenGL Engine [EFI]" } }, Local0) MCDP (Arg2, RefOf (Local0)) Return (Local0) } It's possible? Then click in com.apple with a type argument: Graphics Enabler --> 9800GT512 and vary from card to card.. I go to sleep, night;) Ok smith@@ here's another fix attemp for your GE mode, my only ambition is to make it works as good as in PCEFI10.5 no better, hopefully no worse: GEfix2.tar.gz Link to comment Share on other sites More sharing options...
Smith@@™ Posted February 1, 2010 Share Posted February 1, 2010 Nothing. I go really now to sleep;) Link to comment Share on other sites More sharing options...
rekursor Posted February 1, 2010 Share Posted February 1, 2010 Nothing. I go really now to sleep;) Oh My! there was a problem with the make and the bin file was obsolete, anyway here's the RC5pre7 that fixes many pbs with the nvidia GE and pciroot detection. Hope it fixes your problem, but it should fix other problems for everyone on the nv GE. Here: Here: RC5pre7.tar.gz Gosh, I'm so tired too, worked my all week end on these bug fixes, time to make a (little) break Link to comment Share on other sites More sharing options...
H.3.X Posted February 1, 2010 Share Posted February 1, 2010 rek, same error here, damn.... GEfix1 let me boot without kp using GE, but no QE or CI, this new one is kp like the others...lets see if smith got more luck. Thanx again, i hope you dont get tired of us. Link to comment Share on other sites More sharing options...
scrax Posted February 1, 2010 Share Posted February 1, 2010 Most probably, yes. The installer use this code for boot1h: dd if="${resourcesPath}/boot/boot1h" of="$rdev" bs=512 count=2 i think that we need just to change it to: dd if="${resourcesPath}/boot/boot0" of="$disk" bs=440 count=1 i'm tring to make the package for it but i don't have the boot0 file modded, can you post it? Link to comment Share on other sites More sharing options...
blackosx Posted February 1, 2010 Share Posted February 1, 2010 The installer use this code for boot1h:dd if="${resourcesPath}/boot/boot1h" of="$rdev" bs=512 count=2 i think that we need just to change it to: dd if="${resourcesPath}/boot/boot0" of="$disk" bs=440 count=1 i'm tring to make the package for it but i don't have the boot0 file modded, can you post it? If you think it will work then great. I have posted the boot0 file that I am currently using to here on voodooproject's forum. Note: you need to be logged in to get it. If anybody wants to try it before a revised proven installer has been released then make sure you only write it to the first 440 bytes of the MBR. It works for me and should work for everyone but if more people with Windows7 installed on a different partition of the same HDD can test it to see if it works for them then good. Link to comment Share on other sites More sharing options...
Recommended Posts