Jump to content
spakk

TASK FORCE - [AMD] to missing SSE4.1 Instruction set - older CPUs on macOS Sierra (10.12.x)

270 posts in this topic

Recommended Posts

Advertisement

Wouldn't this kernel work on 65nm Core 2 processors?

unfortunately we haven't managed to create a working kernel yet, because of the complexity of doing this job, emulates this instructions is very difficult

Share this post


Link to post
Share on other sites

yes it boots, but does not olow that's what it has become. A new art

:hysterical:

that's el capitan not sierra

After booting with the old El Capitan kernel, my desktop picture looks like this.(Pic.4)

Probably there is an issue in roundd_ and  rounds_. With ydeng's latest code the system boots with OPEMU: ud2 error and never reaches blank screen, but if the code for roundd_ and  rounds_ is replaced with ydeng's previous one for them, the system will boot to the blank screen and without OPEMU: ud2 error.

 

Share this post


Link to post
Share on other sites

Probably there is an issue in roundd_ and  rounds_. With ydeng's latest code the system boots with OPEMU: ud2 error and never reaches blank screen, but if the code for roundd_ and  rounds_ is replaced with ydeng's previous one for them, the system will boot to the blank screen and without OPEMU: ud2 error.

 

I will test now the new OPCODE from ydeng

(the pictures are from the experiment with the first OPEMU from yedeng)

Share this post


Link to post
Share on other sites

the same here with sierra kernel, Opemu ud2 error loop

15195009311941324549050.jpg

15195011467461968370655.jpg

Share this post


Link to post
Share on other sites

I get OPEMU ud2 error loop with the latest code from ydeng as well.

 

Can you test this Sierra kernel?

I'll check this

and here is my last kernel

I get OPEMU ud2 error loop with the latest code from ydeng as well.

 

Can you test this Sierra kernel?

it stops at this point

AMD10.12-SSE4.1-Ydeng.zip

1519508324155442887398.jpg

Share this post


Link to post
Share on other sites

Trying to build a kernel for you to test but having an issue with the OPEMU posted. There's an undefined symbol,

undef: _op_sse41_run

Where is this getting defined?

Share this post


Link to post
Share on other sites

is it possible that you "ve not listed sse4.1 in osfmk/conf/files.x86_64   ?

Share this post


Link to post
Share on other sites

And there is the half asleep mistake lol Forgot to add the addition of sse41.c to the conf file  :D

 

Edit: Give this a go guys. 

it doesn't boot at all. just showing black screen

Share this post


Link to post
Share on other sites

Hey Ydeng, is it possible to integrate the AVX2 into OPEMU, so that to emulate AVX2 features for older CPUs ?

The problem may be caused by a unavailable AVX2 features. Please look at the content of this new file, since 10.12.0 : "osfmk/x86_64/lz4_decode_x86_64.s"

 

Edit:

Maybe I'm wrong with my guess. This assumption exists since apple has published the first Sierra source. Maybe someone has a viable solution to this problem.

 

that comes very close to the note you've made here:
(unfortunately I had other thoughts at that time)

http://www.insanelymac.com/forum/topic/322370-task-force-amd-to-missing-sse41-instruction-set-older-cpus-on-macos-sierra-1012x/page-4?do=findComment&comment=2497520

Share this post


Link to post
Share on other sites

Strange thing is in theory that should still boot on El Capitan. I'll play about with the opemu and try on my old Athlon as it's setup now.

 

GPU decided not to work in old PC so can't test. Give this a go on Sierra when you get a chance,

 

 

Sierra_Test.zip

Share this post


Link to post
Share on other sites

Strange thing is in theory that should still boot on El Capitan. I'll play about with the opemu and try on my old Athlon as it's setup now.

 

GPU decided not to work in old PC so can't test. Give this a go on Sierra when you get a chance,

It gets kernel panic after something like "OPEMU: pinsrd xmm1, esi, 0x1".

You can comment these lines to disable debug prints so I will be able to show that in pic

https://github.com/Shaneee92/SierraAMD-XNU/blob/34b926dc342319403feb392575dc6505fb6aa1e5/osfmk/i386/AT386/model_dep.c#L1468

https://github.com/Shaneee92/SierraAMD-XNU/blob/34b926dc342319403feb392575dc6505fb6aa1e5/osfmk/i386/AT386/model_dep.c#L1471

 

 

post-1299088-0-74020500-1519692992_thumb.jpg

Share this post


Link to post
Share on other sites

It gets kernel panic after something like "OPEMU: pinsrd xmm1, esi, 0x1".

You can comment these lines to disable debug prints so I will be able to show that in pic

https://github.com/Shaneee92/SierraAMD-XNU/blob/34b926dc342319403feb392575dc6505fb6aa1e5/osfmk/i386/AT386/model_dep.c#L1468

https://github.com/Shaneee92/SierraAMD-XNU/blob/34b926dc342319403feb392575dc6505fb6aa1e5/osfmk/i386/AT386/model_dep.c#L1471

 

I've noticed on your previous pic you are using MacMini and this one 14.2, have you tried MacPro 6.1 or 5.1?  

Share this post


Link to post
Share on other sites

These SSE4.1 instructions are also present and need added to the opemu. I've attempted to add to the opemu but too many errors on building,

PCMPEQB
PCMPEQW
PCMPEQD
PCMPEQQ

Share this post


Link to post
Share on other sites

Hy guys, any news? The project seems to be dead, i hope, that there is someone with new ideas to unlock the situation, i have also seen that maybe creating some assembly function into the c code to perform the sse4.1 tasks could be helfoul and also to chech the compiled assembly for thing like worg opcodes or instructions operands will be also usefould, but i understand that it's a lot complicated

Share this post


Link to post
Share on other sites

Reding apple's documentation another usefoul thing is to listen to kernel debug prints from a serial connection or network connection from another machine, so you won't miss any debug print and you can read all the prints from the kernel and system processes, just use the kdp_match_name boot arg as in this examples

 

kdp_match_name=en1

kdp_match_name=com1

 

Edited by ITzTravelInTime

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Sinn
      Hi
       
      After months again i want to install 10.10. I don't have old pendrive so i need to create new one. After created usb installation stick,change kernel and change some files in Extra folder i started to boot it up. Im stucked on "invalid kernel opcode (64 bit): 44 0f b6 1f 4c 8d 7f 01 41 83" What i shoud to do ? 
       
      AMD FX 8350
      Gigabyte Motherboard
      16 Gb of ram
      gtx 650ti
       
      Thanks in advance
×