Jump to content

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


spakk
 Share

272 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

Link to comment
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.

 

  • Like 1
Link to comment
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)

Link to comment
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

  • Like 1
Link to comment
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

Link to comment
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

  • Like 1
Link to comment
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?  

  • Like 1
Link to comment
Share on other sites

  • 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

Link to comment
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
  • Like 1
Link to comment
Share on other sites

  • 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?

Link to comment
Share on other sites

  • 2 years later...

Hello Ydeng,

Hello Community,

 

I used your last Opemu source (last upload) and built a new High Sierra kernel with it.
the booting with the new kernel is okay as seen in the attached video but it always ends

up freezing at this line 'HID: Legacy Shim 2', as far as I can see this freezing is only caused

by USB driver issues.  

 

I've revised my Dsdt and used all the necessary USB driver kexts, unfortunately that didn't

bring the hoped-for success. (see attached video and picture).  

Conclusion after having used several kernels in the meantime,
this error is only caused by the Opemu.

 

I hope you have an idea and still free capacity to continue working on the programming.

I firmly believe that you or Andy-Vandijck, Meowthra, Bronya, Sinetek or Jalavoui will succeed

 

IMG-20220519-WA0014.jpg

IMG-20220519-WA0015.jpg

IMG-20220519-WA0016.jpg

HighSierra-10.13.6_OLD-AMD-CPUs.zip

 

For testing, use a clean install of High Sierra or create a USB installer using Enoch or Clover bootloader

and my test kernel and try to test it and post your results
thx for testing

Link to comment
Share on other sites

 Share

×
×
  • Create New...