Jump to content

[AMD] Yosemite Kernel Testing (for help use the Help Topic)


Duran Keeley
 Share

1,898 posts in this topic

Recommended Posts

Kernel (AnV-R4 + Bronya-OPEMU-SSEPlus)

 

 

I build success

 

Use your OPEMU

 

In Function「opemu_utrap」

 

this is to KP

bytes_skip = ssse3_run(code_buffer, state, longmode, 1);

 

I changed 1 to 0 Can works

 

bytes_skip = ssse3_run(code_buffer, state, longmode, 0);

 

 

Yes , but should without KP ! If you received KP , because you changed :

if(size_128) ((ssp_m128*)src)->ui = (*(__uint128_t*)address);

to 

if(size_128) ((ssp_m128*)src)->i = (*(__m128i*)address); <-- this KP

 

Then My opemu NO KP !

Ok , i closed make kernel and xnu_diff . 

  • Like 1
Link to comment
Share on other sites

build Error MSG

 

CC opemu.o

/Volumes/DATA1/1010/xnu-2782.1.97-R4/osfmk/x86_64/opemu.c:1013:44: error: no

      member named 'ui' in 'ssp_m128'

            if(size_128) ((ssp_m128*)src)->ui = (*(__uint128_t*)address);

                         ~~~~~~~~~~~~~~~~  ^

1 error generated.

 

Yes , you should to be programmer )))

Answer tomorrow . 

Link to comment
Share on other sites

I created a new revised version based on Bronzovka's tips.

I expanded the union with a __uint128_t ui.

I removed the save and restore XMM code.

I coded all instructions to their REF variants.

I redefined SSP_FORCEINLINE to static inline.

I defined the macros as used by the 3 headers using the real SSE2 macros.

it should now work just fine.

Test please ;):D

EDIT: No feedback? Please post some test results, thx ;)

BSA_YOS_R4C.zip

  • Like 3
Link to comment
Share on other sites

I created a new revised version based on Bronzovka's tips.

I expanded the union with a __uint128_t ui.

I removed the save and restore XMM code.

I coded all instructions to their REF variants.

I redefined SSP_FORCEINLINE to static inline.

I defined the macros as used by the 3 headers using the real SSE2 macros.

it should now work just fine.

Test please ;):D

EDIT: No feedback? Please post some test results, thx ;)

My results:

With x86_64 kernel have multiply lines with "invalid user opcode 64" error during boot. Same result with replacing system.kext and without.

With x86_64H kernel have kernel panic after first line with "invalid user opcode 64" error. Same result with replacing system.kext and without.

Link to comment
Share on other sites

I created a new revised version based on Bronzovka's tips.

I expanded the union with a __uint128_t ui.

I removed the save and restore XMM code.

I coded all instructions to their REF variants.

I redefined SSP_FORCEINLINE to static inline.

I defined the macros as used by the 3 headers using the real SSE2 macros.

it should now work just fine.

Test please ;):D

EDIT: No feedback? Please post some test results, thx ;)

 

Its hard to provide feedback on something so close to perfection. I can say that because it is the kernel I have used for hours now without hiccups.

 

Y'all're doing a hell of a good job with these kernels

  • Like 1
Link to comment
Share on other sites

 

1010 AnV-R4 + Bronya SSEPlus FIX

 
Fixed APP Store
 
TEST Safari 8…

 

Test result

 

1010 AnV-R4 + Bronya SSEPlus FIX

 

fix.rev. 1

app store sometimes functioned

Safari sometimes crashed

 

fix.rev.2

app store no function

Safari crashed

 

 

1010 AnV R4C Fix

app store no function

Safari crashed

 

Test was accomplished without webkit.

unfortunately no improvement  :(

 

thanks

Link to comment
Share on other sites

I'm finally back at work and tested three kernels:

 

The two kernels by AnV from #556 and the one kernel from #562.

 

With the X86_64 kernel from 556, I get the invalid opcode message without end.

With the X86_64H kernel from 556, I get a kernel panic due to invalid opcode.

 

With the kernel from 562, I can get to the desktop and open maps.google.com in Safari, iTunes store, iBooks store, etc. However, I can only open the App Store by using the "App Store..." link under the Apple menu (because I haven't updated to Safari 8.0.2). If I open the App Store from the Dock, none of the tabs load properly.

 

Finally, it looks like I may not be posting to this section much longer. I am going to be changing jobs soon. Since this AMD desktop is actually my current work computer, I won't have access to it after a few weeks. It seems to me that this is an exciting time for OS X on AMD, and I'm sorry that I will probably end up missing out on some interesting developments in this area.

 

That said, I will probably lurk from time-to-time to see how things are progressing.

 

Good luck!

Link to comment
Share on other sites

I forced the SSEPlus emulator fully in software.
In SSEPlus_ref.h:

#ifndef __BASE_H__
#define __BASE_H__

#define __SSEPLUS_LOGICAL_SSE2_H__ 1
#define __SSEPLUS_MEMORY_SSE2_H__ 1
#define __SSEPLUS_CONVERT_SSE2_H__ 1

#include "SSEPlus_platform.h"

#if 0
#include <xmmintrin.h>  // SSE  (Required to use the __m128, and __m128d type)
#include <emmintrin.h>  // SSE2 (Required to use the __m128i type)
#else
typedef struct {
    float f[4];
} __m128;

typedef struct {
    double d[2];
} __m128d;

#ifdef __LP64__
typedef struct {
    unsigned long i[2];
} __m128i;
#else
typedef struct {
    unsigned long long i[2];
} __m128i;
#endif

typedef struct {
    float m64[2];
} __m64;

static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
_mm_setzero_si128(void)
{
    return (__m128i){ 0LL, 0LL };
}
#endif

//---------------------------------------
// Type Definitions
//---------------------------------------

Meaning they now use my software structured types instead of vector types for the functions.

Which should work.

Kernels and diff attached.

Test please and report back ;)

R4D kernel (damn, already 4th test lol, R4D2 :P).

BSA_YOS_R4D.zip

  • Like 3
Link to comment
Share on other sites

Cannot reach desktop, kernel panics with both of them...

I'll test the opemu using a custom VMWare.

Hopefully with success...

  • Like 1
Link to comment
Share on other sites

Test result from R4D Kernel

 

attachicon.gifX86_64.JPG

 

attachicon.gifX86_64H.JPG

 

 

kernel panic ... 

 

 

thanks

Strange.

Also in VMWare, no reaching the installer gets stuck half way.

Must be that opemu error.

I need a fix for this.

Other than that, no errors.

  • Like 1
Link to comment
Share on other sites

 

=================

JPG Image Preview FIX 1st

=================

 

This is a temporary practice

 
the files from 10.9.5
 
Backup Original files
 
copy ImageIO.framework to /System/Library/Frameworks
 
copy Preview.app to /Applications
 

 

Yes, it functions.  :thumbsup_anim:  :D  :yes:

 

Thank you for this hint.

Link to comment
Share on other sites

I fully revised the instructions.

Now new SSEPlus opemu based on Bronya's idea.

It has Bronya's fix and my new fix for SSE3 based on the same idea.

Test please and report back.

Both arch built.

I labeled this R5.

BSA_YOS_R5.zip

  • Like 4
Link to comment
Share on other sites

Hi Andy,

 

test with or without webkit ?

 

thanks

Don't know, needs testing.

So test please ;)

  • Like 1
Link to comment
Share on other sites

quick test result

 

1.)  x86_64

 

X86_64 works with my Hardware  :P  :drool:  :yes:

app store, safari works  (with webkit)

I will for a long time test the kernel

 

Andy, am  I spezial test would drive trough?

 

 

2.)  x86_64H

 

X86_64H, kernel panic

 

thanks

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...