Jump to content

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


Duran Keeley
 Share

1,898 posts in this topic

Recommended Posts

Hi Tora Chi Yo!

I now get panic from your patch.diff ! 

I found and fix (modified) ! Now without panic ! 

 

1) In sse3_run() :

// SSE3 Type 1

    if((*bytep == 0x66 && bytep[1] == 0x0f && bytep[2] != 0x38) || (*bytep == 0x66 && bytep[1] == 0x0f && bytep[2] != 0x3A)) <<-- you see 0x3a and 0x38 <<-- you should delete and should how show : 

// SSE3 Type 1

    if((*bytep == 0x66 && bytep[1] == 0x0f ) || (*bytep == 0x66 && bytep[1] == 0x0f ))  < because 0x38 and 0x3a - this only for ssse3 =)))

 

2) in operands()

in mod==2 i fix :

 

//INS    phaddw xmm0, xmmword ptr [rax+1020304h]

address = reg_sel[base] + ...

to 

address = reg_sel[index] + ...

 

and other fix ... )))

 

 

Include patch.diff )

Now without glitches in safari from my opemu ))) 

 

kernel_10.10_all_amd_rc5.zip

  • Like 6
Link to comment
Share on other sites

Just making sure I'm understanding correctly (been lurking for several months now), but to go from 10.10.1 to 10.10.3 (directly or indirectly), I should back up System.kext, Sandbox.kext, IOPCIFamily.kext, and AppleACPIPlatform.kext, right? 

Also, am I missing any Kexts that I should back up? AMD FX-4100 here. Just want to make sure I've got everything in order before I pull the trigger and download the update combo installers.

One more thing: if there's anything I can do to help in testing, I'll do so.

Link to comment
Share on other sites

Hi Tora Chi Yo!

I now get panic from your patch.diff ! 

I found and fix (modified) ! Now without panic ! 

 

1) In sse3_run() :

// SSE3 Type 1

    if((*bytep == 0x66 && bytep[1] == 0x0f && bytep[2] != 0x38) || (*bytep == 0x66 && bytep[1] == 0x0f && bytep[2] != 0x3A)) <<-- you see 0x3a and 0x38 <<-- you should delete and should how show : 

// SSE3 Type 1

    if((*bytep == 0x66 && bytep[1] == 0x0f ) || (*bytep == 0x66 && bytep[1] == 0x0f ))  < because 0x38 and 0x3a - this only for ssse3 =)))

 

2) in operands()

in mod==2 i fix :

 

//INS    phaddw xmm0, xmmword ptr [rax+1020304h]

address = reg_sel[base] + ...

to 

address = reg_sel[index] + ...

 

and other fix ... )))

 

 

Include patch.diff )

Now without glitches in safari from my opemu ))) 

 

attachicon.gifkernel_10.10_all_amd_rc5.zip

 

 

HI Bronya

 

//INS phaddw xmm0, xmmword ptr [rax+1020304h]

 

[rax+.....]

 

this rax is Base Not Index
 

 

if index in Pointer [ ] is display [rax*2] or[rax*4] or[rax*8]
 
index register  in Pointer Must is [index * Scaling factor]
 
 
Use this Debuger "Hopper.Disassembler"open any binary file 
 
Enter HEX instruction set encoded
 
Click “ ⌘ + Shift + H” Can modify the HEX value
 
Before the operation you may want to read the Intel manual 32bit-addressing mode Table 2-2
 
if SIB Byte HEX value increment 1 Change register Is Base
 
if SIB Byte HEX value increment 8 Change register Is Index

Yes, it still is present in latest OS X.

This is why I created my own custom OpenSSL upgrade (based on latest 1.0.1l and Apple's sources).

I was tired of seeing SSL errors...

Actually... when I first installed Yosemite, the first conclusion was that I had to delete the rejection cache and reset keychain...

I actually offered Apple my upgrades but never got a mail back... shame... they shouldn't waste proven technologies lol

Actually those are the same registers but lower bits...

/* 16 bits register */
typedef struct register16_s
{
    uint8_t L; // Lower 8 bits
    uint8_t H; // Upper 8 bits
} register16_t;

typedef union
{
    register16_t P; // Parts
    uint16_t D; // Data
} register16;

/* 32 bits register */
typedef struct register32_s
{
    register16 L; // Lower 16 bits
    register16 H; // Upper 16 bits
} register32_t;

typedef union
{
    register32_t P; // parts
    uint32_t D; // Data
} register32;

/* 64 bits register */
typedef struct register64_s
{
    register32 L; // Lower 32 bits
    register32 H; // Upper 32 bits
} register64_t;

typedef union
{
    register64_t P; // Parts
    uint64_t D; // Data
} register64;

Note the use of a union to be able to access direct values and structures to be able to access parts...

This way one can access both the upper and lower data parts (where required) and only handle those parts of the registers.

This is perfect for for example r8d.

As you would be able to handle only the 32 bits in the lower parts, not changing the upper parts.

Same for r8w...

 

@ AnV

 

C ++ aspect I was a beginner

 

I only know how to analyze

 

I try to further study

 
THX

:)

 

This is your APU test results ??

Hopper.Disassembler.v3.6.10.zip

  • Like 1
Link to comment
Share on other sites

ça je savais ;) [ийгщеу] I though you tested 10.10.2 on screenshot.

 

Yes :)

 

je n'ai pas envie de changer toute l'Extension , pour le voir fonctionner 10.10.2/3 , je veux l'Extension 14C109 fonctionnel , donc je teste des kernel ;) 

 

I did not want to change any Extension to see him run 10.10.2 / 3, I want the functional 14C109 Extension, so I tested the kernel

 

Я не хочу, чтобы изменить любое расширение, чтобы увидеть его запустить 10.10.2 / 3, я хочу функциональную 14C109 Расширение, так что я тестировал ядро

 

我不想改變任何分機看到他跑10.10.2/3,我想功能14C109擴展,所以我測試的內核

Link to comment
Share on other sites

Yes :)

 

je n'ai pas envie de changer toute l'Extension , pour le voir fonctionner 10.10.2/3 , je veux l'Extension 14C109 fonctionnel , donc je teste des kernel ;)

 

I did not want to change any Extension to see him run 10.10.2 / 3, I want the functional 14C109 Extension, so I tested the kernel

 

Salut Gils ;)

Je comprends pas bien, sur ton screenshot, tu es en version 10.10.2 (14C109) avec un kernel 14.0.0 donc logiquement, ça ne peut pas fonctionner comme tu l'as toi même dit. Que vient faire cette histoire d'Extension ?

 

Hello Gils

I'm not sure to understand. On your screenshot, you are on 10.10.2 (14C109) with a 14.0.0 kernel so, it can't work :wacko:  as you said you already know. What is this "Extension" thing you mentionned ?

  • Like 1
Link to comment
Share on other sites

Salut Gils ;)

Je comprends pas bien, sur ton screenshot, tu es en version 10.10.2 (14C109) avec un kernel 14.0.0 donc logiquement, ça ne peut pas fonctionner comme tu l'as toi même dit. Que vient faire cette histoire d'Extension ?

 

Hello Gils

I'm not sure to understand. On your screenshot, you are on 10.10.2 (14C109) with a 14.0.0 kernel so, it can't work :wacko:  as you said you already know. What is this "Extension" thing you mentionned ?

 

la méthode est simple ; il s'agit de copier l'Extension 10.10.1 dans la 14C109 pour la voir fonctionner avec un kernel 10.10 mais ce n'est pas intéressant ;) 

Link to comment
Share on other sites

Mais si c'est intéressant, enfin j'essaie juste de régler ce problème avec la 10.10.2 :P

Sure it is, I'm just trying to fix that issue with 10.10.2 update :)

 

Quelles extensions ? AppleACPIPlatform.kext & IOPCIFamily.kext ? Je l'ai fait mais j'ai un invalid kernel opcode

 

Which ones ? AppleACPIPlatform.kext & IOPCIFamily.kext ? I tried but I have an invalid kernel opcode

Link to comment
Share on other sites

Mais si c'est intéressant, enfin j'essaie juste de régler ce problème avec la 10.10.2 :P

Sure it is, I'm just trying to fix that issue with 10.10.2 update :)

 

Quelles extensions ? AppleACPIPlatform.kext & IOPCIFamily.kext ? Je l'ai fait mais j'ai un invalid kernel opcode

 

Which ones ? AppleACPIPlatform.kext & IOPCIFamily.kext ? I tried but I have an invalid kernel opcode

 

toute l'Extension apparemment  , Sandbox et AppleMatch suffisent normalement , je préfère attendre , je suis entre 2 , j'ai fait ma MAJ via menu pomme et je ne peux pas redémarrer sans le bon kernel  'j'écris un peu d'Anglais histoire de pas me faire engueuler !!  :hysterical:  "

 

all Extension apparently Sandbox and AppleMatch normally enough, I prefer to wait, I'm between 2, I made my MAJ via Apple menu and I can not restart without the proper kernel

  • Like 1
Link to comment
Share on other sites

@Gils, test the kernel attached below on your Kabini CPU.

I take it is an AMD Athlon 5350? (2,05 Ghz)

Remove fsb=100 and busratio=21

Only specify fsb if it still does not work...

I added the required TSC code to the sources...

It gets the busratio from the AMD COFFVID MSR register so it should always be correct...

Let me know as I looked up some info on the CPU... Kabini = model 22 (which was missing in the tsc.c file).

It should now properly scale the clock...

It should not use much of the opemu as those CPU's have plenty of instructions...

 

Some info:

http://tweakers.net/pricewatch/376732/amd-athlon-5350-boxed/specificaties/

Instruction sets:
AES, AVX, MMX, SSE, SSE2, SSE3, SSE4, SSE4.1, SSE4.2, SSSE3, x86-64

I uploaded the sources to my Github parts... easier that way...

NOTE: Patch was not updated...

BSA_YOS_R8D_10.10.2.zip

  • Like 3
Link to comment
Share on other sites

@Gils, test the kernel attached below on your Kabini CPU.

I take it is an AMD Athlon 5350? (2,05 Ghz)

Remove fsb=100 and busratio=21

Only specify fsb if it still does not work...

I added the required TSC code to the sources...

It gets the busratio from the AMD COFFVID MSR register so it should always be correct...

Let me know as I looked up some info on the CPU... Kabini = model 22 (which was missing in the tsc.c file).

It should now properly scale the clock...

It should not use much of the opemu as those CPU's have plenty of instructions...

 

Some info:

http://tweakers.net/pricewatch/376732/amd-athlon-5350-boxed/specificaties/

Instruction sets:
AES, AVX, MMX, SSE, SSE2, SSE3, SSE4, SSE4.1, SSE4.2, SSSE3, x86-64

I uploaded the sources to my Github parts... easier that way...

NOTE: Patch was not updated...

 

 

Currently On the Mac OS

 
Possible use to the instruction set
 
Look Xnu /osfmk/i386/commpage/commpage.c
Function commpage_init_cpu_capabilities
 
		case 9:
			bits |= kHasAVX1_0;
			/* fall thru */
		case 8:
			bits |= kHasSSE4_2;
			/* fall thru */
		case 7:
			bits |= kHasSSE4_1;
			/* fall thru */
		case 6:
			bits |= kHasSupplementalSSE3;
			/* fall thru */
		case 5:
			bits |= kHasSSE3;
			/* fall thru */
		case 4:
			bits |= kHasSSE2;
			/* fall thru */
		case 3:
			bits |= kHasSSE;
			/* fall thru */
		case 2:
			bits |= kHasMMX;

 

AVX1.0
SSE4.2
SSE4.1
SSSE3   <<< Minimum Requirements
SSE3
SSE2
SSE
MMX
 
K10 FX & APU Series Supported Currently Mac All May be Used instruction set
 
5350_CPUzs.jpg
 
K8 K10 because less than the minimum requirement No SSSE3
So Need SSSE3 Emulator
 
10.10.2 xnu version number is xnu-2782.10.72
 
10102-num_zps6fce6d45.png
 
Darwin Kernel Version 14.1.0: Mon Dec 22 23:10:38 PST 2014; root:xnu-2782.10.72~2/RELEASE_X86_64
 
 
Now APU Use xnu-2782.1.97 Kernel to invalid kernel opcode
 
This means that the New xnu Seems to have been redefined register
  • Like 1
Link to comment
Share on other sites

Can u pass me a link for Safari preview Webkit?

 

Anyone has cracking audio.....for me audio is stuttering a lot, ALC889, any way to solve?Use  VoodooHDA

I also have audio stuttering not cracking/crackling on ALC889 using Voodoo HDA 2.87

 

I am using AMD kernel (1010-SSEPLUS-Rev.6)

 

My build is:

 

Motherboard: AMD Crosshair V

CPU: Phenom II 1090t

RAM: 16GB DDR3

Graphics Card: Quadro FX 3800

HardDrive: Seagate 1TB

 

EDIT:

Hi Tora Chi Yo!

I now get panic from your patch.diff ! 

I found and fix (modified) ! Now without panic ! 

 

1) In sse3_run() :

// SSE3 Type 1

    if((*bytep == 0x66 && bytep[1] == 0x0f && bytep[2] != 0x38) || (*bytep == 0x66 && bytep[1] == 0x0f && bytep[2] != 0x3A)) <<-- you see 0x3a and 0x38 <<-- you should delete and should how show : 

// SSE3 Type 1

    if((*bytep == 0x66 && bytep[1] == 0x0f ) || (*bytep == 0x66 && bytep[1] == 0x0f ))  < because 0x38 and 0x3a - this only for ssse3 =)))

 

2) in operands()

in mod==2 i fix :

 

//INS    phaddw xmm0, xmmword ptr [rax+1020304h]

address = reg_sel[base] + ...

to 

address = reg_sel[index] + ...

 

and other fix ... )))

 

 

Include patch.diff )

Now without glitches in safari from my opemu ))) 

 

attachicon.gifkernel_10.10_all_amd_rc5.zip

Just tested this kernel ( kernel_10.10_all_amd_rc5 ) and it fixed the audio stutter problem on my ALC 889.

Link to comment
Share on other sites

 RC-5 TEST RESULTS 
 

tested on

  • MOBO: Gigibyte GA78LMT-USB3
  • PROCESSOR : AMD Phenom ii x6 1055t
  • GRAPHICS : His icooler 7770 GHz edition 
  • RAM : Corsair Ven. 8GB

 

APPLICATION SUPPORT

  •       XCODE LATEST WORKS
  •      ALL Adobe CC and CC 2014 apps work perfect, but CS6 apps not working... {does not matter, why use CS6 when CC works}
  •      MS OFFICE 11 WORKS 
  •      iLIFE WORKS
  •      VLC {works, but no sync audio-video sync without "fsb=XXX and busratio=XX"(same fix for audio issues also read below   if having problems)}
  •     all thumbnails and avatars work

 

BUGS : Nothing so far 

 

WORKING

  1. app store
  2. avr programming possible, usbasp working natively 

 

NOT WORKING SO FAR :

  1. ​iCloud not working
  2. iMessage 
  3. facetime
  4. others
     

GUIDE

AUDIO FIX {audio crackling and to of sync problems}

  1. Go to bios and set your cpu bus speed and multiplier 
  2. busratio will be something like 200 or something and multiplier will be 14,15, or something
  3. set multiplier to maximum (this will be the XX in busratio=XX)
  4. the bus speed is XXX in fsb=XXX

edit : easy way

  1. download cpu-x
  2. 29w8en4.png
  3. open the app ... here multiplier = busratio and Bus Speed = fsb
  4. save and enjoy 
Link to comment
Share on other sites

 Share

×
×
  • Create New...