theconnactic Posted December 5, 2012 Author Share Posted December 5, 2012 Hi, Sinetek! Trying to integrate your ssse3 emulator to my 10.7.5 generated a very annoying issue for me: it seems to compile fine until the end, but in the last moment i get this error: Undefined symbols: "_ssse3emu", referenced from: _ssse3emu_populate in commpage.o _ssse3emu_populate in commpage.o (maybe you meant: _ssse3emu_populate) "_ssse3emu_end", referenced from: _ssse3emu_populate in commpage.o Searching for where the problem may have appeared in the compilation process, i found these warnings: - no previous prototype for 'ssse3emu_populate' - pointer of type 'void *' used in subtraction So i decided to take a look where the root of the issue seems to be, at commpage.c. Here's the function ssse3emu_populate: void ssse3emu_populate(void) { int ssse3emu_size = (void*) ssse3emu_end - (void*) ssse3emu; printf("Enabling ssse3 emulator. Size %d should be less than %d. \n", ssse3emu_size, PAGE_SIZE); commpage_stuff2(_COMM_PAGE_SSSE3EMU, ssse3emu, ssse3emu_size, FALSE); } Notice, like i did, the two occurrences of "ssse3emu" just one "ssse3emu_end", just the way the missing symbols from the function appear to be flagged. They both are inside ssse3emu.c, so why they're report missing, Sinetek? How did you solve the issue for compiling your own kernel? Thank you very much. Link to comment Share on other sites More sharing options...
theconnactic Posted December 5, 2012 Author Share Posted December 5, 2012 I solved it myself: it was a matter of adding the ssse3emu.c to osfmk/config/filesi386 and filesx86_64 so the symbols are recognized. And now, i gladly present you, my friends, the sinactic (yeah, without sinetek and his history-making ssse3 emulator, nothing of this would be possible) i386 10.7.5 kernel. IMPORTANT: it's made for non-Bulldozer/Piledriver AMD CPUs, as well as legacy Intel CPUs (Pentium Ds, etc). Bulldozer and Piledriver CPUs already have ssse3, thus they can run 64-bit mode processes on the 32-bit kernel. The ssse3 emulator perhaps gives to old AMD and legacy Intel CPUs the same capability. They should be able to boot without the -legacy boot flag, if everything works like it should. If not, at least everything would be in place for the improved ssse3 emulator sinetek is working on, and it would just be a matter of swapping the emulator. Test and report please, with pics and vids if possible: sinactic.zip Link to comment Share on other sites More sharing options...
Sinetek Posted December 5, 2012 Share Posted December 5, 2012 yeah connactic, you're getting the hang of this. however you have to compile "ssse3emu.c" with the flag "-fno-jump-tables" otherwise it will crash at runtime because this is not a normal mach object but a binary blob in the commpage. See Makefile.i386 in osfmk to see how it's done. also, that emulation thingy will only work as long as no 64bit whatsoever is enabled. ie, no -force64 or anything, pure 32bits. the reason is that the kernel is still 32 bits EXCEPT a VERY small portion of the kernel which i depend on, is indeed 64 bits as soon as you -force64 it. (confusing isn't it?) this limitation is going away once i get more time. -- Sinetek 1 Link to comment Share on other sites More sharing options...
theconnactic Posted December 5, 2012 Author Share Posted December 5, 2012 P.S.: I'll post later both diffs, for the connactic 10.7.5 and the sinactic 10.7.5. And, of course, i want to give credit for the minds who made these kernels possible (they did the real hard work: i just collected and assembled the parts): for the connactic kernel, RAWx86, Bronzovka, AnV and the Voodoo team. For the synaptic kernel, all those people plus sinetek a.k.a. slackware, who wrote the ssse3 emulator. Thank you all, guys. Link to comment Share on other sites More sharing options...
theconnactic Posted December 5, 2012 Author Share Posted December 5, 2012 yeah connactic, you're getting the hang of this. however you have to compile "ssse3emu.c" with the flag "-fno-jump-tables" otherwise it will crash at runtime because this is not a normal mach object but a binary blob in the commpage. See Makefile.i386 in osfmk to see how it's done. also, that emulation thingy will only work as long as no 64bit whatsoever is enabled. ie, no -force64 or anything, pure 32bits. the reason is that the kernel is still 32 bits EXCEPT a VERY small portion of the kernel which i depend on, is indeed 64 bits as soon as you -force64 it. (confusing isn't it?) this limitation is going away once i get more time. -- Sinetek Thank you, Sinetek: i'll follow your suggestion. I noticed indeed that the kernel rufuses to compile at 64-bit because of the ssse3emu. The compiler complains about not being able to compile pusha and popa in 64-bit mode. Gilles, kernel 11.5: that's for Lion 10.7.5, and won't do well on your FX computer. Only for Phenoms and older CPUs. Link to comment Share on other sites More sharing options...
mac_carol Posted December 5, 2012 Share Posted December 5, 2012 I solved it myself: it was a matter of adding the ssse3emu.c to osfmk/config/filesi386 and filesx86_64 so the symbols are recognized. And now, i gladly present you, my friends, the sinactic (yeah, without sinetek and his history-making ssse3 emulator, nothing of this would be possible) i386 10.7.5 kernel. IMPORTANT: it's made for non-Bulldozer/Piledriver AMD CPUs, as well as legacy Intel CPUs (Pentium Ds, etc). Bulldozer and Piledriver CPUs already have ssse3, thus they can run 64-bit mode processes on the 32-bit kernel. The ssse3 emulator perhaps gives to old AMD and legacy Intel CPUs the same capability. They should be able to boot without the -legacy boot flag, if everything works like it should. If not, at least everything would be in place for the improved ssse3 emulator sinetek is working on, and it would just be a matter of swapping the emulator. Test and report please, with pics and vids if possible: sinactic.zip Tested your 11.4.2 kernel with LION 10.7.5 on AMD P-II x4 965 1. WITH: -legacy 2. WITHOUT -legacy Link to comment Share on other sites More sharing options...
Shaneee Posted December 5, 2012 Share Posted December 5, 2012 I solved it myself: it was a matter of adding the ssse3emu.c to osfmk/config/filesi386 and filesx86_64 so the symbols are recognized. And now, i gladly present you, my friends, the sinactic (yeah, without sinetek and his history-making ssse3 emulator, nothing of this would be possible) i386 10.7.5 kernel. IMPORTANT: it's made for non-Bulldozer/Piledriver AMD CPUs, as well as legacy Intel CPUs (Pentium Ds, etc). Bulldozer and Piledriver CPUs already have ssse3, thus they can run 64-bit mode processes on the 32-bit kernel. The ssse3 emulator perhaps gives to old AMD and legacy Intel CPUs the same capability. They should be able to boot without the -legacy boot flag, if everything works like it should. If not, at least everything would be in place for the improved ssse3 emulator sinetek is working on, and it would just be a matter of swapping the emulator. Test and report please, with pics and vids if possible: sinactic.zip I get the exact same as mac_carol above with Athlon II X2 215 Link to comment Share on other sites More sharing options...
theconnactic Posted December 5, 2012 Author Share Posted December 5, 2012 Panic with the ssse3 emulator. Okay, later tonight i'll recompile the kernel using the flags Sinetek suggested and post the result here for testing. Thank you very much, guys! We'll make it, we're almost there! Link to comment Share on other sites More sharing options...
theconnactic Posted December 5, 2012 Author Share Posted December 5, 2012 Hi, Gilles! The connactic 10.7.5 is for Bulldozer/Piledriver only. All other old AMD/legacy Intel CPUs must boot with -legacy. On your FX 6100, it will work under Lion 10.7.5 better than RAW's 10.7.4 kernel. On the 4800+, it should work with -legacy, and in fact it is working: the waiting for DSMOS is a decryption-related issue, caused by something else than the kernel. The sinactic 10.7.5 kernel is for old AMD/legacy Intel CPUs only, because of the ssse3 emulator. But it's not working, because it must be compiled in a different way. I'll try to recompile it the right way later tonight. I'm taking a look at the source of the ssse3 emulator, to see what help can i offer on its improvement. Thank you for the extensive tests. Link to comment Share on other sites More sharing options...
Sinetek Posted December 5, 2012 Share Posted December 5, 2012 how long do you all think it'll be before i get a Ceise And Desist from Apple?? 1 Link to comment Share on other sites More sharing options...
zchef2k Posted December 5, 2012 Share Posted December 5, 2012 how long do you all think it'll be before i get a Ceise And Desist from Apple?? They used to come in the form of job offers. Either way, {censored} 'em. 1 Link to comment Share on other sites More sharing options...
ZiggyW Posted December 5, 2012 Share Posted December 5, 2012 Hi theconnactic, I 've downloaded and using your kernel on my and fx 6100 system.Running now 10.7.5 Runs smooth ( ) but can't run google chrome or other 32bit apps . I appreciate your effort many thx to you and sinetek ! mainbord asus m4a89gtd hd 6850 4gb mem Link to comment Share on other sites More sharing options...
ZiggyW Posted December 5, 2012 Share Posted December 5, 2012 tu as installé le patch AnV ? you installed the patch AnV? no i dont have the amd AnV patch where can I find it? I want to use it the most for my logic programs and plug-in Link to comment Share on other sites More sharing options...
ZiggyW Posted December 6, 2012 Share Posted December 6, 2012 InfiniteMac - View Single Post - Legacy kernel 10.6.8 with custom dyld and new SSE3 emulator and VIA Nano cpu support thanks for the link. I found it a couple of days ago,but you can only download it when you're invited ! merci pour le lien. Je l'ai trouvé un il ya quelques jours, mais vous ne pouvez le télécharger quand vous êtes invités! je suis Hollandais Link to comment Share on other sites More sharing options...
theconnactic Posted December 6, 2012 Author Share Posted December 6, 2012 Good to know everything is working fine, ZiggyW. Keep in tune, news come out everyday here. P.S.: if you guys use IRC, please join #legacykernel at the server irc.osx86.hu Link to comment Share on other sites More sharing options...
theconnactic Posted December 6, 2012 Author Share Posted December 6, 2012 Sinetek, where do i add the flags so the ssse3emu.c compiles properly? osmfk/conf/filesi386? Link to comment Share on other sites More sharing options...
ZiggyW Posted December 6, 2012 Share Posted December 6, 2012 disk repair gave me this Password: bash-3.2# sudo diskutil repairpermissions / Started verify/repair permissions on disk2s2 Mac AMD FX6100 Group differs on "Library/Java"; should be 0; group is 80 Permissions differ on "Library/Java"; should be drwxr-xr-x ; they are drwxrwxr-x Repaired "Library/Java" User differs on "mach_kernel"; should be 0; user is 501 Group differs on "mach_kernel"; should be 0; group is 20 Permissions differ on "mach_kernel"; should be -rw-r--r-- ; they are -rwxr-xr-x Repaired "mach_kernel" User differs on "usr/share/collabd/webauthd"; should be 94; user is 221 Group differs on "usr/share/collabd/webauthd"; should be 94; group is 221 Repaired "usr/share/collabd/webauthd" User differs on "usr/share/collabd/webauthd/locales"; should be 94; user is 221 Group differs on "usr/share/collabd/webauthd/locales"; should be 94; group is 221 Repaired "usr/share/collabd/webauthd/locales" Permissions differ on "System/Library/CoreServices/Menu Extras/Displays.menu"; should be drwxr-xr-x ; they are lrwxr-xr-x Repaired "System/Library/CoreServices/Menu Extras/Displays.menu" Permissions differ on "System/Library/MonitorPanels/Arrange.monitorPanel"; should be drwxr-xr-x ; they are lrwxr-xr-x Repaired "System/Library/MonitorPanels/Arrange.monitorPanel" Permissions differ on "System/Library/MonitorPanels/Display.monitorPanel"; should be drwxr-xr-x ; they are lrwxr-xr-x Repaired "System/Library/MonitorPanels/Display.monitorPanel" Permissions differ on "System/Library/MonitorPanels/Profile.monitorPanel"; should be drwxr-xr-x ; they are lrwxr-xr-x Repaired "System/Library/MonitorPanels/Profile.monitorPanel" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane"; should be drwxr-xr-x ; they are lrwxr-xr-x Repaired "System/Library/PreferencePanes/Displays.prefPane" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/hr.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/hr.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/sk.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/sk.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/Dutch.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/Dutch.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/English.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/English.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/French.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/French.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/German.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/German.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/Italian.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/Italian.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/Japanese.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/Japanese.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/da.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/da.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/fi.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/fi.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/ko.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/ko.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/no.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/no.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/pl.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/pl.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/pt.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/pt.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/pt_PT.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/pt_PT.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/ru.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/ru.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/sv.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/sv.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/zh_CN.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/zh_CN.lproj/DisplaysPref.nib" Permissions differ on "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/zh_TW.lproj/DisplaysPref.nib"; should be drwxr-xr-x ; they are -rw-r--r-- Repaired "System/Library/PreferencePanes/Displays.prefPane/Contents/Resources/zh_TW.lproj/DisplaysPref.nib" Permissions differ on "private/var/run/com.apple.WindowServer.didRunThisBoot"; should be -rwx------ ; they are ---x------ Repaired "private/var/run/com.apple.WindowServer.didRunThisBoot" Finished verify/repair permissions on disk2s2 Mac AMD FX6100 bash-3.2# Link to comment Share on other sites More sharing options...
Sinetek Posted December 6, 2012 Share Posted December 6, 2012 hi, i got an idea, but I need the source to that instruction patcher, for 10.7 thanks little poll: Should we split this thread? If so, how? Link to comment Share on other sites More sharing options...
spakk Posted December 6, 2012 Share Posted December 6, 2012 hi, i got an idea, but I need the source to that instruction patcher, for 10.7 thanks little poll: Should we split this thread? If so, how? here is the patcher amd_insn_patcher_src and IOHIDFamily_nointervalcheck.kext Edit new file !!!!! >>> Link to comment Share on other sites More sharing options...
Sinetek Posted December 6, 2012 Share Posted December 6, 2012 I see. This is a fun piece of code, but the only bit that *may* be needed right now is CPUID patching. I don't know if the OS will load without patching cpuid, my guess is yes. This also does sysenter patching, but i've discovered and just confirmed now that this part I could relocate to the kernel, it'll be simpler and no patching/modifying signatures this way. TLDR; adding sysenter emulation would be cool. Link to comment Share on other sites More sharing options...
SS01 Posted December 6, 2012 Share Posted December 6, 2012 On CPUID patching, something which I dug up from Leopard days: http://www.insanelymac.com/forum/topic/78434-marvins-amd-utility-patches-cpuidtxt-files/ From my understanding the OS will boot with no CPUID, but some apps will crash. Good luck! Link to comment Share on other sites More sharing options...
spakk Posted December 7, 2012 Share Posted December 7, 2012 I have a question to you. as the first time I've installed Lion 10.7.4 on my AMD Phenom II X6 1100T, I was able to boot with help of cparm bootloader under the application modules stable my system. cparm and AndyVandijck have developed this boot loader for AMD CPUs. Please take a look at the site if that's helpful. >>>>http://osx86.co/f36/...-made-by-t7178/ The download link from cparm is dead, here are the standard modules and various other modules from my collection >>>> Link to comment Share on other sites More sharing options...
theconnactic Posted December 7, 2012 Author Share Posted December 7, 2012 Hi, folks! As i promised, i recompiled the sinactic 10.7.5 Lion kernel with the ssse3 emulator using the flags recommended by Sinetek. I added them at osmkf/conf/Makefilei386. Let's see if the ssse3 emulator starts without any runtime errors! Remember, this is for non-Bulldozer/Piledriver only. If possible, put vids or pics of your verbose boots. Good luck! sinactic.zip Link to comment Share on other sites More sharing options...
Sinetek Posted December 7, 2012 Share Posted December 7, 2012 oh wow, i found some amazingly great technical information somewhere. it is possible to spoof the CPUID instruction on AMD using the virtualization extensions. the problem is that cpuid isn't a priviledged instruction, but this would solve it. that would be the pinacle of all mach_kernels 1 Link to comment Share on other sites More sharing options...
theconnactic Posted December 7, 2012 Author Share Posted December 7, 2012 That's really great, sinetek! By the way, i couldn't get myself rid of the runtime errors for the ssse3 emulator. I added the flags to the makefilei386 file. What could the problem be? Link to comment Share on other sites More sharing options...
Recommended Posts