Jump to content

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


271 posts in this topic

Recommended Posts

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

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.

 

  • Like 1

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)

the same here with sierra kernel, Opemu ud2 error loop

15195009311941324549050.jpg

15195011467461968370655.jpg

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

  • Like 1

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

Note that Shanee's kernel is a kernel for El Capitan ☺

  • Like 1

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

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

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

  • Like 1

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?  

  • Like 1

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
  • 2 months later...

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

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
  • 1 year later...

Guys after some time i am back with machine languange and architecture knowladge together with low level c programming skills, and so today i am asking you, how was this opemu supposed to work?

Why do you think it didn't worked? have you found any documentation about the see 4.1 and 4.2 istructions sets?

×
×
  • Create New...