relikwie Posted December 26, 2009 Share Posted December 26, 2009 <...> But... everything you see here will not even be needed anymore... in the near future that is. Which basically means that I am writing (finishing) the first ACPI patcher and DSDT generator. And the good news is that it will be released in 2010 (soonish). p.s. In case this all isn't clear enough; We will soon no longer need to have a DSDT – anywhere on your system – and hacking DSDT and P-States soon after that will be done for you... 'automagically'. That my friends is my Christmas present for you... Happy Hacking! Thats is wonderfull news! Hopefully these will apply to the GB users too I'm staying tuned... You should join voodoo project and take it to a new level. Anyhow, "bedankt voor de bloemen". Link to comment Share on other sites More sharing options...
Smith@@™ Posted December 26, 2009 Share Posted December 26, 2009 Hi all. I am currently re-installing OS X 10.6 and waiting for it to finish... and I want to use this time to also show you my new SSDT table: DefinitionBlock ("ssdt.aml", "SSDT", 1, "MC", "POWERM", 0x00000001) { Scope (_SB) { Name (NCPU, [color="#FF0000"]0x04[/color]) Name (PST0, [color="#FF0000"]0x4720[/color]) Name (PST1,[color="#FF0000"] 0x071E[/color]) Name (PST2, [color="#FF0000"]0x461C[/color]) Name (PST3, [color="#FF0000"]0x0616[/color]) Name (CST, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address ,) }, One, One, 0x041C }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset [color="#FF0000"]0x0000000000000814[/color], // Address ,) }, 0x02, One, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset [color="#FF0000"]0x0000000000000815[/color], // Address ,) }, 0x03, 0x55, 0xFA } }) Processor (CPU1, 0x01, [color="#FF0000"]0x00000810[/color], 0x06) { Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU2, 0x02, [color="#FF0000"]0x00000810[/color], 0x06) { Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU3, 0x03, [color="#FF0000"]0x00000810[/color], 0x06) { Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU4, 0x04, [color="#FF0000"]0x00000810[/color], 0x06) { Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } } } This file is located in: /Extra/ACPI/ and is only 342 bytes. Which is only 15% of what I used to use (my dsdt.aml was 2265 bytes). And this guys & gals is only 0.0096% of the original DSDT. And I'm not even counting the CPUnPM.aml files which we also used to load. Remember? Now note the red parts, because these are the thing you have to verify and change accordantly. For now that is! And start with NCPU which obviously represents the number of cores. Anyway. Set it to 0x02 when you have an Intel Core 2 Duo processor, or 0x08 when you have an Intel Core i7. In that case you'll also want to add a few more Processor blocks. And there's more good news, because we are also going to change the way P-States are specified. For now you'll only use PSTn (1, 2, - 9, A) with the usual value. That is all. But... everything you see here will not even be needed anymore... in the near future that is. Which basically means that I am writing (finishing) the first ACPI patcher and DSDT generator. And the good news is that it will be released in 2010 (soonish). p.s. In case this all isn't clear enough; We will soon no longer need to have a DSDT – anywhere on your system – and hacking DSDT and P-States soon after that will be done for you... 'automagically'. That my friends is my Christmas present for you... Happy Hacking! Wow Link to comment Share on other sites More sharing options...
scrax Posted December 27, 2009 Share Posted December 27, 2009 It's interesting but I don't understand how to compile it: Intel ACPI Component Architecture ASL Optimizing Compiler version 20091112 [Nov 13 2009] Copyright (C) 2000 - 2009 Intel Corporation Supports ACPI Specification Revision 4.0 /Users/scrax/Desktop/SSDTv0.2.dsl 18: Alias (PSS, _PSS) Error 4065 - Object not found or not accessible from scope ^ (_PSS) /Users/scrax/Desktop/SSDTv0.2.dsl 19: Alias (PSD, _PSD) Error 4065 - Object not found or not accessible from scope ^ (_PSD) /Users/scrax/Desktop/SSDTv0.2.dsl 23: Alias (PSS, _PSS) Error 4065 - Object not found or not accessible from scope ^ (_PSS) /Users/scrax/Desktop/SSDTv0.2.dsl 24: Alias (PSD, _PSD) Error 4065 - Object not found or not accessible from scope ^ (_PSD) Elapsed time for major events Miscellaneous compile statistics 102 : Parse nodes 20 : Namespace searches 14 : Named objects 0 : Control methods 22 : Memory Allocations 188712 : Total allocated memory 0 : Constant subtrees folded ASL Input: /Users/scrax/Desktop/SSDTv0.2.dsl - 29 lines, 1043 bytes, 14 keywords Compilation complete. 4 Errors, 0 Warnings, 0 Remarks, 0 Optimizations And what bootloader support /Extra/ACPI ? this is the code i use for my CPU: DefinitionBlock ("ssdt.aml", "SSDT", 1, "MC", "POWERM", 0x00000001) { Scope (_SB) { Name (NCPU, 0x02) Name (PST0, 0x082A) Name (PST1, 0x0724) Name (PST2, 0x061D) Name (CST, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register ( FFixedHW, 0x01, 0x02, 0x0000000000000000, ,) }, One, One, 0x041C }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, 0x00, 0x0000000000000814, ,) }, 0x02, One, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, 0x00, 0x0000000000000815, ,) }, 0x03, 0x55, 0xFA } }) Processor (CPU1, 0x01, 0x00000810, 0x06) { Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } Processor (CPU2, 0x02, 0x00000810, 0x06) { Alias (PSS, _PSS) Alias (PSD, _PSD) Alias (CST, _CST) } } } Link to comment Share on other sites More sharing options...
Master Chief Posted December 27, 2009 Share Posted December 27, 2009 It's interesting but I don't understand how to compile it: That's because I left something out. And intentionally because I knew that this was going to happen. Please be patience my friend. I'll help you when I'm done, but it is after all still Christmas. At least for some of us And what bootloader support /Extra/ACPI ? The one I am using. The one I am going to provide one day soon. Link to comment Share on other sites More sharing options...
scrax Posted December 27, 2009 Share Posted December 27, 2009 That's because I left something out. And intentionally because I knew that this was going to happen. Please be patience my friend. I'll help you when I'm done, but it is after all still Christmas. At least for some of us like i said It's just great, can't wait to test... I've spent my Christmas a bit sick and so In this day I am at home testing various things Thanks for the reply. When you have time for another question about the firewire hotplug,could you tell me if you made some progress? Store (Package (0x02){"[color="#FF0000"]fwports[/color]",Buffer (0x04){0x0[color="#FF0000"]1[/color], 0x00, 0x00, 0x00}}, Local0) and why this "in red modifications" to the patch posted here ? Link to comment Share on other sites More sharing options...
Smith@@™ Posted December 27, 2009 Share Posted December 27, 2009 Hi master, listen, but of the dsdt what will? I would say, the dsdt table WHERE WILL? In bios directly? Or?? Second: your new bootloader on which bootloader will be based?? Hi my friend -- ---- -- Link to comment Share on other sites More sharing options...
bossob Posted December 27, 2009 Share Posted December 27, 2009 Is it possible (and if it is )how do i make a modified install dvd5 with only the files needed for p5k pro mobo and ati 4870hd and cpu Q6600 Link to comment Share on other sites More sharing options...
Master Chief Posted December 27, 2009 Share Posted December 27, 2009 ...When you have time for another question about the firewire hotplug,could you tell me if you made some progress? I'll let you know the minute it works. ...and why this "in red modifications" to the patch posted here ? I found this in an iMac9.1 and thus I gave it a try. You can enter: grep -r 'fwport' . and grep -r 'fwhub' . to find the matching kext. Note: There's also fwtune and fwswappedbib but I haven't looked into it. Not yet that is. Thats is wonderfull news! Hopefully these will apply to the GB users too I'm staying tuned... You should join voodoo project and take it to a new level. Hopefully yes (the GB part). But I won't join any team, but my own. Not that I don't like them, or their work, but that's the way it is (thinking of setting up my own forum... or I might accept a staff membership here). Anyhow, "bedankt voor de bloemen". I think that this is the second time you used it, but I don't understand it. Sorry. Is it possible (and if it is )how do i make a modified install dvd5 with only the files needed for p5k pro mobo and ati 4870hd and cpu Q6600 Yes it is possible, but that's OT talk. And there are obviously other, much better places to discus this. Not here. Thank you. Tip: Think USB stick (much faster). Hi master, listen, but of the dsdt what will? I would say, the dsdt table WHERE WILL? In bios directly? Or?? Eventually in the same spot (in memory) but it will be generated for you. Second: your new bootloader on which bootloader will be based?? A rewrite of Chameleon 1.0 and it will be called "Revolution". p.s. Something took off a massive five revs at boot time!!! Edit: I am still trying to find out what it was that changed it this much. The biggest hurdle now is CPU Power Management. I mean take a look at your kernel.log and see what I am talking about. This thing is taking way too much time to initialize... Edit: I am going to move this to a new thread now... Done. Here it is. Link to comment Share on other sites More sharing options...
scrax Posted December 28, 2009 Share Posted December 28, 2009 I'll let you know the minute it works.I think that this is the second time you used it, but I don't understand it. Sorry. Ok, i'll wait. I think it's Dutch for "Thanks for the flowers" Link to comment Share on other sites More sharing options...
barnum Posted December 28, 2009 Share Posted December 28, 2009 Yes sure, you have a pm thanks Link to comment Share on other sites More sharing options...
pcn Posted December 28, 2009 Share Posted December 28, 2009 I'm wondering: does anyone have working Gbit on their P5K PRO? I have a Gbit enabled switch but when I manually change the link type to 1000baseT, my ethernet doesn't work anymore. 100Mbit works like a charm. Link to comment Share on other sites More sharing options...
bossob Posted December 28, 2009 Share Posted December 28, 2009 I'm wondering: does anyone have working Gbit on their P5K PRO? I have a Gbit enabled switch but when I manually change the link type to 1000baseT, my ethernet doesn't work anymore. 100Mbit works like a charm. same here, but i dont need the gbit Link to comment Share on other sites More sharing options...
bossob Posted December 28, 2009 Share Posted December 28, 2009 Who here can use my insane and/or extremely insane DSDT's with only the PSS object changed? The reason I ask is that we could use a few extra testing for Revolution. i have to say i would love to test it.but i am not that familiar with mac yet.so maby i better not. unless its straight forward to use. Link to comment Share on other sites More sharing options...
Õun Posted December 29, 2009 Share Posted December 29, 2009 DSDT V3.3 post #535 (page 27) I checked your DSDT code and noticed that you have disabled the _PIC method (Well forwarded it to debug port which is the same thing). Is it because you know that SL is using APIC, so you have removed all the If statements that are checking it or is there something else? And I also noticed that you have implemented all the CPU throttling and C-states functions directly under CPUs, no if statements anymore to check the capabilities via _OST and dynamic loading after that. Again have you removed those checks because you know that SL will always support them? What I'm trying to do is optimize my DSDT to SL and remove all unnecessary things from my code, so your comments are more than welcome and if you can provide the background for your decisions, that would be even better. And one more question. When you user Store (something, DBG9), where and how can you see this information. Is it visible only when using remote debugging (Ethernet, Firewire etc), or will it be logged to any log as well? I have tried different boot options without success (debug=0x8, io=0x80) Link to comment Share on other sites More sharing options...
scrax Posted December 31, 2009 Share Posted December 31, 2009 EDIT: Now i'll test the new SSDT 2ndEDIT: At a first look there are no changes at all from previous version, If I extract the dsdt it's the same as before (with SSDTv2) but it loads the SSDT v3 with my p-state checking it with wait=yes at boot ioreg also doesn't change. NOTE: firewire is working as expected (no hotplug) also with L18 instead of L1E, the unrecognized device is SMBUS i've attached the ioreg with SSDTv3 and bootv2 Mac_Pro_di_scrax_.ioreg.zip dsdtWITHbootv2_SSDTv3.dsl.zip When compiling Chameleon2RC4 with modded /i386/libsaio/dsdt_patcher.c and /i386/libsaio/acpi_patcher.h (with the output from the perl script used with my working dsdt.aml) i need to make some changes to be able to compile it without errors: from this: int setupACPI() // I use upper case here! to this: int setupAcpi() // I use upper case here! from this: fadt_mod->Flags |= 0x400; to this: // fadt_mod->Flags |= 0x400; there are still some warning at the end that i ignored. But after that the boot is not working as expected, audio is still missing no more shutdown/reboot/stop (fadt related ?) and in the extracted dsdt i can see the mods i made, but the last lines with your method are messed up Link to comment Share on other sites More sharing options...
TheChief Posted December 31, 2009 Share Posted December 31, 2009 We're still in an early testing phase of course – to gather data for the new ACPI patcher – but it is already important that you can compile Chameleon RC4 with the modified files... without any errors! I have attached a new ZIP file with my latest changes so please give them a try. Note: In case you are using my Perl script – which is also included in the attachment – then check the number of bytes, because it must be dividable by four. And if not, then add Noop just above the last close } I did the same with the included test DSDT.dsl so you can see what I did. And please note that you shouldn't use my perk script but the data provided in acpi_patcher.h otherwise you are not helping me! Revolution_V03.zip Link to comment Share on other sites More sharing options...
scrax Posted January 1, 2010 Share Posted January 1, 2010 but it is already important that you can compile Chameleon RC4 with the modified files... without any errors! Ok I can compile Chameleon with the attached file without any errors, and without any changes by me. If i start with the resulting boot I don't see any differences from boot v2 in ioreg or for audio. The injection in SSDTv3 are not recognized. Just for test i'll try to convert the working dsdt i have with your script and then try to compile that Edit: Done! with my dsdt compiled the revolution boot is working as expected with audio and all my dsdt. From the first test seems that i have this new warning at boot with bootv2, bootv3 and also my boot: Warning - kext com.apple.iokit.CHUDProf has immediate dependencies on both com.apple.kernel* and com.apple.kpi.* components; use only one style. Link to comment Share on other sites More sharing options...
TheChief Posted January 1, 2010 Share Posted January 1, 2010 Ok I can compile Chameleon with the attached file without any errors, and without any changes by me. Perfect. Step 1 completed. If i start with the resulting boot I don't see any differences from boot v2 in ioreg or for audio. The injection in SSDTv3 are not recognized. That's because the majority of the DSDT code is the same for all boards. That is for ICHn based boards. Not NVIDIA et all. And the basic idea for now is to include a general / stripped down DSDT in the boot loader, and to let you add board specific items in SSDT. This way more people can start using it, eventually. But there's a catch... and that is that you can't override objects in the DSDT. You can only add new objects. Please keep this in mind! From the first test seems that i have this new warning at boot with bootv2, bootv3 and also my boot: That's because you installed Xcode. You may remove the three CHUD*.kext's if you like (I moved them into an Xcode specific folder) but do keep them for later use. Link to comment Share on other sites More sharing options...
scrax Posted January 1, 2010 Share Posted January 1, 2010 Perfect. Step 1 completed. Good. EDIT: I was wrong yesterday, the boot v3 and the SSDT v3 are working as expected. The audio is now working in ioreg i see the changes. So now for Step 2 I'll try to add SBUS (pci8086,2930@1F,3) in my SSDT. Another thing i'll try to change is the firewire ADR from 18 to 1E (PCI0@0/PCIB@1E/pci1106,3044@3) And i'll test also a boot without EFI string but just SSDT injection to see if there are big differences Some thing I don't understand yet: At boot if I start whit wait=yes, the bootloader tells me that he has loaded dsdt.aml smbios.plist and ssdt.aml but I was thinking that the dsdt.aml loading was removed. Rekursor patch is not working or not integrated? My UUID is not the one set by SystemUUID in c.a.B.p but the default Chameleons one (DF557FA2-C304-556B-A442-960AB835CB5D), restart after stop is working so your OSXRestart is integrated and working, you confirm? EDIT2: Adding Firewire and Sbus is not working, maybe something wrong in my edit, attached SSDTv4 with my mod SSDTv4.dsl.zip Link to comment Share on other sites More sharing options...
dgsga Posted January 1, 2010 Share Posted January 1, 2010 We're still in an early testing phase of course – to gather data for the new ACPI patcher – but it is already important that you can compile Chameleon RC4 with the modified files... without any errors! I have attached a new ZIP file with my latest changes so please give them a try. Note: In case you are using my Perl script – which is also included in the attachment – then check the number of bytes, because it must be dividable by four. And if not, then add Noop just above the last close } I did the same with the included test DSDT.dsl so you can see what I did. And please note that you shouldn't use my perk script but the data provided in acpi_patcher.h otherwise you are not helping me! Hi MC Your latest version of Revolution works a treat with my Asus X58 board and modded DSDT.aml converted into acpi_patcher.h using the perl script. Np problems compiling your original either. Great work! Link to comment Share on other sites More sharing options...
TheChief Posted January 1, 2010 Share Posted January 1, 2010 Good. EDIT: I was wrong yesterday, the boot v3 and the SSDT v3 are working as expected. The audio is now working in ioreg i see the changes. Great. Up to the next step. So now for Step 2 I'll try to add SBUS (pci8086,2930@1F,3) in my SSDT. Device (SBUS) will be defined in the next update. Another thing i'll try to change is the firewire ADR from 18 to 1E (PCI0@0/PCIB@1E/pci1106,3044@3) I see you did that already. And i'll test also a boot without EFI string but just SDT injection to see if there are big differences Should work. Note: You'll need to use device-properties in a next update for graphics and USB because I have removed the following files: ati.c ati.h hpet.c hpet.h nvidia.c nvidia.h And even more files will be gone in a next update, simply because I want to add Revolution to a modified BIOS. Some thing I don't understand yet:At boot if I start whit wait=yes, the bootloader tells me that he has loaded dsdt.aml smbios.plist and ssdt.aml but I was thinking that the dsdt.aml loading was removed. We don't load DSDT from file – you can replace / rename all of them on your hard disk if you like – but we still replace the built-in factory DSDT yes. Rekursor patch is not working or not integrated? My UUID is not the one set by SystemUUID in c.a.B.p but the default Chameleons one (DF557FA2-C304-556B-A442-960AB835CB5D), Not implemented. restart after stop is working so your OSXRestart is integrated and working, you confirm? No. Duvel300 wrote this patch. I simply stripped it down to another one liner (which is all we need). Note: I did not add a license header to the files, but I will fix this with a next update in the usual Mozilla style – all files without a license header are automatically covered by the APSL. EDIT2: Adding Firewire and Sbus is not working, maybe something wrong in my edit, attached SSDTv4 with my mod SSDTv4.dsl.zip Please be more specific. What exactly isn't working? The rest of the SSDT code is still working? Hi MC Your latest version of Revolution works a treat with my Asus X58 board and modded DSDT.aml converted into acpi_patcher.h using the perl script. Np problems compiling your original either. Great work! Thank you for the confirmation, but please make sure that you strip your DSDT.dsl to a bare minimum (±2KB). Link to comment Share on other sites More sharing options...
mm67 Posted January 1, 2010 Share Posted January 1, 2010 We're still in an early testing phase of course – to gather data for the new ACPI patcher – but it is already important that you can compile Chameleon RC4 with the modified files... without any errors! I have attached a new ZIP file with my latest changes so please give them a try. Note: In case you are using my Perl script – which is also included in the attachment – then check the number of bytes, because it must be dividable by four. And if not, then add Noop just above the last close } I did the same with the included test DSDT.dsl so you can see what I did. And please note that you shouldn't use my perk script but the data provided in acpi_patcher.h otherwise you are not helping me! What do you think about page 510 of ICH9 datasheet, does desktop ICH9 support C3 and C4 ? Link to comment Share on other sites More sharing options...
scrax Posted January 1, 2010 Share Posted January 1, 2010 Device (SBUS) will be defined in the next update. Ok i'll wait. Please be more specific. What exactly isn't working? The rest of the SSDT code is still working? P-states are working but all the board specific items in SSDT are not recognized also audio that wasn't changed from your SSDTv3 in the one i've edited don't work anymore. Now I try with a more clean SSDT and report back the results EDIT: For what I can see now, the SBUS device was giving me problem in ssdt, after removing that it is all working ok. Now I have: boot v3 SSDT v3 without any comment so SATA, AUDIO, PATA and FIREWIRE (with 0x18 -> 0x1E and L_18 -> L_1E mod) added to generic boot dsdt SATA, LPCB, SBUS. USB device-id and GFX string in c.a.B.p Device Properties Next step, i'll comment back the sata SSDT part cause it's already in the EFI string 2ndEDIT: Done and it works from EFI string only. note: no more "Waiting for DSMOS..." message at boot for now. 3rdEDIT: I've adjusted the pata part for my needs and added a cosmetic test for this two: Scope (_SB.PCI0) { Device (MCHC) { Name (_ADR, Zero) } Device (SBUS) { Name (_ADR, 0x001F0003) } } Now i have the same Ioreg as with chameleon2RC4 and my old dsdt.aml Link to comment Share on other sites More sharing options...
TheChief Posted January 2, 2010 Share Posted January 2, 2010 What do you think about page 510 of ICH9 datasheet, does desktop ICH9 support C3 and C4 ? The "(Mobile Only)" part is a bit confusing yes. I can't however not check the ICH10 datasheet – not at this very moment because I am moving the actual HD – so you have to wait or clue me in. Is this "Mobile Only" note also part of the ICH10 datasheet or not? Link to comment Share on other sites More sharing options...
scrax Posted January 2, 2010 Share Posted January 2, 2010 Not implemented. I know that you are removing things to the boot loader, but this was the only thing that i was missing from Chameleon2RC4 and so i tried to add it myself and it worked! So now i have a Revolution v3.1 i think that is working as before but with the SystemUUID patch by rekursor added. Here you are the fake_efi.c I modified fake_efi.c.zip Now I have all working (except SBUS that I only renamed the device-id ) like with Chameleon2RC4 but with a faster and with less warning boot. Link to comment Share on other sites More sharing options...
Recommended Posts