Jump to content

Mavericks kernel testing on AMD (formerly Mountain Lion kernel testing on AMD)


theconnactic
 Share

6,414 posts in this topic

Recommended Posts

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

  • Like 2
Link to comment
Share on other sites

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.

post-969896-0-02921800-1349890357_thumb.png

  • Like 1
Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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

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).

  • Like 2
Link to comment
Share on other sites

@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

  • Like 1
Link to comment
Share on other sites

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.

 

.

  • Like 1
Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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

:wallbash::boxing:

  • Like 1
Link to comment
Share on other sites

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 :)

  • Like 1
Link to comment
Share on other sites

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

:wallbash::boxing:

 

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

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

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.

  • Like 1
Link to comment
Share on other sites

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

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

  • Like 1
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...