instant idiot Posted October 10, 2012 Share Posted October 10, 2012 For what it's worth, here's what happens with theconnactic's kernel on an Intel Core i3-2350m which, of course, runs the unmodified mach_kernel perfectly. EDIT: Glad I could help! 1 Link to comment Share on other sites More sharing options...
theconnactic Posted October 10, 2012 Author Share Posted October 10, 2012 Instant idiot, thank you very much for this post! Earlier today, i asked for pictures of a vanilla verbose boot to see how it behaves and what lines appear, and what's the role of corecrypto. You gave me the latter. Thanks again, very valuable info. Link to comment Share on other sites More sharing options...
instant idiot Posted October 10, 2012 Share Posted October 10, 2012 Here's Mountain Lion booting on my 4530s (I think that's what you wanted.): Link to comment Share on other sites More sharing options...
zchef2k Posted October 10, 2012 Share Posted October 10, 2012 The diff in the link below contains some sort of sse3 emulation that was done for 1504.9.26. Apply it to the 1504.9.26 sources and take a look around- especially the sse3emu c and header files in osfmk/i386/commpage. Turbo and mercurysquad are credited in the diff's pseudocode. Is this what we're looking for? Here -Z 2 Link to comment Share on other sites More sharing options...
instant idiot Posted October 10, 2012 Share Posted October 10, 2012 It looks like R:A:W:X86's kernel has the (elusive?) SSE3 emulator built in! If that's the case, then wouldn't it be easy enough to get the emulator's source from R:A:W:X86's sources? (Not to mention that zchef2k apparently just found the sources for it.) This is with a 32-bit only SSE3 and SSSE3-less Intel Pentium M 1.8 GHz. It only stops at waiting for root device (USB issues, I guess.), so my guess is that it'll actually boot. 1 Link to comment Share on other sites More sharing options...
spakk Posted October 13, 2012 Share Posted October 13, 2012 HI theconnactic, how far are you with the SSSe3 emulator?, do you have any positive news? Unfortunately I have no knowledge of programming but check out this website at, please: http://sseplus.sourc....net/index.html and http://sseplus.sourc...et/modules.html, download the latest version "0.3.67" then unzip the file (Windows PC Version) and run under * \ SSEPlus_0.3.67 \ SSEPlus_0.3.67 \ Documentation \ "doxygen.exe" when the generation process is complete,than you go into directory *\SSEPlus_0.3.67\SSEPlus_0 .3.67\Documentation\publish\html and than you open this file "_documentation_8txt" My question to the programmers, are these generated data, useful for SSSE3 emulator? This process must of course be generated by an AMD Bulldozer PC. Please send me a reply 1 Link to comment Share on other sites More sharing options...
bcobco Posted October 13, 2012 Share Posted October 13, 2012 spakk thanks for finding that project. im sure that we can use this project. SSEPlus is a SIMD function library. It provides optimized emulation for newer SSE instructions. It also provides a rich set of high performance routines for common operations such as arithmetic, bitwise logic, and data packing and unpacking. http://sourceforge.net/projects/sseplus/ http://sseplus.sourceforge.net/ seems that we have now the pieces, they only need to solve the puzzle. 1 Link to comment Share on other sites More sharing options...
spakk Posted October 13, 2012 Share Posted October 13, 2012 Correct me if I should make one thoughtless error. MMX is for Intel CPU. AMD works with 3DNow and SSE2, I think we also need a MMX and SSSE3 emulator. bcobco what you think? Link to comment Share on other sites More sharing options...
spakk Posted October 13, 2012 Share Posted October 13, 2012 Maybe we should try running Mountain Lion under Bochs 2.6 and then we should patch the kernel. What do you think? http://bochs.sourceforge.net/ Bochs IA-32 Emulation Project Bochs is an open source emulator for IA-32 (Intel x86) machines. It has the ability to emulate a 386, 486, Pentium, Pentium Pro, AMD64, with or without MMX, SSE, SSE2, SSE3, SSSE3, SSE4-1 and SSE4-2 and 3DNow, with common I/O devices (such as a SoundBlaster sound card, a NE2000 compatible network card, etc) and a custom BIOS. You can run Windows 95/NT, Linux and DOS as guest operating systems in that machine. Your guest OS will be installed in a large file which the emulator will use to mimic a hard disk for the emulated machine. Supported platforms (and here I mean platforms on which Bochs will run) include Win32 (Windows 9x/ME/2k/XP), Macintosh, Mac OS X, BeOS, Amiga MorphOS, OS/2, and Unix/X11 systems (including Linux). 2 Link to comment Share on other sites More sharing options...
unimatrix725 Posted October 14, 2012 Share Posted October 14, 2012 I maybe incorrect.... Apple has always encrypted thier binaries. Long ago that was the purpose of the DSMOS.kext? Perhaps that may help with the corecrypto.kext or provide a direction? 1 Link to comment Share on other sites More sharing options...
Lordadmiral Drake Posted October 14, 2012 Share Posted October 14, 2012 @spakk: AMD CPUs Support MMX since the K6 series, no need for an emulator 2 Link to comment Share on other sites More sharing options...
spakk Posted October 14, 2012 Share Posted October 14, 2012 @spakk: AMD CPUs Support MMX since the K6 series, no need for an emulator @ Lordadmiral Drake, yes thank you for your feedback, I've read yesterday after I wrote this on wikipedia. It was a mistake on my thoughts. we need an emulator for SSSE3 1 Link to comment Share on other sites More sharing options...
spakk Posted October 14, 2012 Share Posted October 14, 2012 I have just a test with the kernel of bronzovka http://www.xup.in/dl...bAV_kernel.zip/ with "theconnactic" xnu.diff with boot flag:-legacy -v -f arch=x86_64 , get lots of error messages"in unsupported interface com.apple.kpi * messages. At the end come: Still waiting for root device Still waiting for root device USBF: 208.577 AppleUSBOHCI 0x15596000::CheckSleepCapability - Controller will be unloaded arcross sleep USBF: 209.271 AppleUSBOHCI 0x15596000::CreateRootHubDevice - Controller AppleUSBOHCI does not support sleep, Not setting characteristic in root hub 0x15596058 USBF: 209.277 AppleUSBHub 0x156c1c00::start - USB Generic Hub @ 1 0xb4000000 Still waiting for root device Still waiting for root device just before coming DSMOS But the BIOS settings are correct. I find no kernel panic log file in the Library, or I would load them here. . 1 Link to comment Share on other sites More sharing options...
SS01 Posted October 14, 2012 Share Posted October 14, 2012 I have just a test with the kernel of bronzovka http://www.xup.in/dl...bAV_kernel.zip/ with "theconnactic" xnu.diff with boot flag:-legacy -v -f arch=x86_64 , get lots of error messages"in unsupported interface com.apple.kpi * messages. At the end come: Still waiting for root device Still waiting for root device USBF: 208.577 AppleUSBOHCI 0x15596000::CheckSleepCapability - Controller will be unloaded arcross sleep USBF: 209.271 AppleUSBOHCI 0x15596000::CreateRootHubDevice - Controller AppleUSBOHCI does not support sleep, Not setting characteristic in root hub 0x15596058 USBF: 209.277 AppleUSBHub 0x156c1c00::start - USB Generic Hub @ 1 0xb4000000 Still waiting for root device Still waiting for root device just before coming DSMOS But the BIOS settings are correct. I find no kernel panic log file in the Library, or I would load them here. . try deleting the kexts you named from /S/L/E or /E/E 1 Link to comment Share on other sites More sharing options...
theconnactic Posted October 14, 2012 Author Share Posted October 14, 2012 It looks like R:A:W:X86's kernel has the (elusive?) SSE3 emulator built in! If that's the case, then wouldn't it be easy enough to get the emulator's source from R:A:W:X86's sources? (Not to mention that zchef2k apparently just found the sources for it.) This is with a 32-bit only SSE3 and SSSE3-less Intel Pentium M 1.8 GHz. It only stops at waiting for root device (USB issues, I guess.), so my guess is that it'll actually boot. Hi! Those "sources" aren't really sources, they're the binaries of the emulator, encroached in the c source code of Raw's diff as a big big big hex number assigned to a constant. I saw that some time ago, since then i've been looking for the real source code. Well, i have the maxxus' assembly code: it's a slower emulator and, since it's written in assembly, it's something, yet not as good as C sources. Thank you for the comment and for the tests you've been willing to make P.S.: Didn't understand why a 64-bit kernel went so far on a 32-bit CPU. Quite amazing. 1 Link to comment Share on other sites More sharing options...
spakk Posted October 14, 2012 Share Posted October 14, 2012 Next test with boot flag -v-f arch = x86_64 usekernelcache = no npci = 0x2000. USBF: 28.431 AppleUSBOHCI 0x*****::CheckSleepCapability - Controller will be unloaded arcross sleep USBF: 28.439 AppleUSBOHCI 0x*****::CreateRootHubDevice - Controller AppleUSBOHCI does not support sleep, Not setting characteristic in root hub 0x****** USBF: 289.445 AppleUSBHub 0x*****::start - USB Generic Hub @ 1 0xb4000000 Still waiting for root device Still waiting for root device Still waiting for root device 1 Link to comment Share on other sites More sharing options...
theconnactic Posted October 14, 2012 Author Share Posted October 14, 2012 HI theconnactic, how far are you with the SSSe3 emulator?, do you have any positive news? Unfortunately I have no knowledge of programming but check out this website at, please: http://sseplus.sourc....net/index.html and http://sseplus.sourc...et/modules.html, download the latest version "0.3.67" then unzip the file (Windows PC Version) and run under * \ SSEPlus_0.3.67 \ SSEPlus_0.3.67 \ Documentation \ "doxygen.exe" when the generation process is complete,than you go into directory *\SSEPlus_0.3.67\SSEPlus_0 .3.67\Documentation\publish\html and than you open this file "_documentation_8txt" My question to the programmers, are these generated data, useful for SSSE3 emulator? This process must of course be generated by an AMD Bulldozer PC. Please send me a reply No luck yet: i still didn't get a grasp on what makes the sse3 assembler tick, so i can change it in order to also support ssse3. Besisdes this, i'm not any close of being as comfortable with assembly as i'm with plain C. But i'm studying hard. Unfortunatelly i haven't the spare time in the amount i'd like for it, but i'm on it as much as i can 1 Link to comment Share on other sites More sharing options...
spakk Posted October 14, 2012 Share Posted October 14, 2012 try deleting the kexts you named from /S/L/E or /E/E Thanks, I'll check it. 1 Link to comment Share on other sites More sharing options...
theconnactic Posted October 14, 2012 Author Share Posted October 14, 2012 Next test with boot flag -v-f arch = x86_64 usekernelcache = no npci = 0x2000. USBF: 28.431 AppleUSBOHCI 0x*****::CheckSleepCapability - Controller will be unloaded arcross sleep USBF: 28.439 AppleUSBOHCI 0x*****::CreateRootHubDevice - Controller AppleUSBOHCI does not support sleep, Not setting characteristic in root hub 0x****** USBF: 289.445 AppleUSBHub 0x*****::start - USB Generic Hub @ 1 0xb4000000 Still waiting for root device Still waiting for root device Still waiting for root device Thank you very much for the tests and the reports! Have in mind that my diff is from the first test kernel i made, with only minor changes. That test gave me only instant reboots. In the next hours, i'll generate and post the diff for the latest beta, that one that is stuck at the corecrypto checks, so you can improve the horizons for your tests. I maybe incorrect.... Apple has always encrypted thier binaries. Long ago that was the purpose of the DSMOS.kext? Perhaps that may help with the corecrypto.kext or provide a direction? Unimatrix, it's precisely what i think. Maybe we must patch corecrypto, with or without ssse3 emulation. However, all our tries with the info.plist of the kext failed miserably. Link to comment Share on other sites More sharing options...
spakk Posted October 14, 2012 Share Posted October 14, 2012 Thank you very much for the tests and the reports! Have in mind that my diff is from the first test kernel i made, with only minor changes. That test gave me only instant reboots. In the next hours, i'll generate and post the diff for the latest beta, that one that is stuck at the corecrypto checks, so you can improve the horizons for your tests. I took the first xnu.diff with 7.75 MB so now I have changed the driver, it is unfortunately still: Still waiting for root device so now I go to bed, I have to go to work very early. Link to comment Share on other sites More sharing options...
ZackehSoul Posted October 15, 2012 Share Posted October 15, 2012 Maybe we must patch corecrypto, with or without ssse3 emulation. However, all our tries with the info.plist of the kext failed miserably. The only way to do this is by patching corecrypto.dylib but obviously that's closed source. 1 Link to comment Share on other sites More sharing options...
SS01 Posted October 15, 2012 Share Posted October 15, 2012 we could reverse engineer it.. or what if we spoofed it ala fakesmc and ddeleted the kext? Link to comment Share on other sites More sharing options...
spakk Posted October 15, 2012 Share Posted October 15, 2012 we could reverse engineer it.. or what if we spoofed it ala fakesmc and ddeleted the kext? I have zero - idea of reverse engineer, but here is IDA for Mac OS X ->>>http://www.hex-rays.com/products/ida/support/download_demo.shtml Link to comment Share on other sites More sharing options...
spakk Posted October 15, 2012 Share Posted October 15, 2012 I just tried something: Why I cannot see the corecrypto.kext File on System /Library/Extensions/?? on my external hard drive? if I have not started Mountain Lion. That is when I open the external hard drive with windows 7. Can it be that, in the boot of OS X, the kernel creates a virtual corecrypto.kext? and after completion of the OS X corecrypto.kext is deleted? and what does this mean?? http://support.apple.com/kb/DL1555 and this http://support.apple.com/kb/HT5396 and what does this mean?? http://www.opensourc...ern/OSKextLib.h or open the Mountain Lion xnu -->> *\xnu-2050.7.9\xnu-2050.7.9\libkern\libkern\crypto\* her are all the files for the corecrypto #define kIOPersonalityPublisherKey "IOPersonalityPublisher" #if CONFIG_KEC_FIPS /* * @define kAppleTextHashesKey * @abstract A dictionary conataining hashes for corecrypto kext. */ #define kAppleTextHashesKey "AppleTextHashes" #endif can someone explain to me? Can anyone confirm this? Sorry for my bad english 1 Link to comment Share on other sites More sharing options...
MacFaulty Posted October 15, 2012 Share Posted October 15, 2012 AFAIK, the corecrypto kext is in my install permanently there. Saw it in my win7 dualboot. Odd that it isn't there in yout install. Or odd that it's permanently there in my install, lol. 1 Link to comment Share on other sites More sharing options...
Recommended Posts