Jump to content

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


Duran Keeley
 Share

1,948 posts in this topic

Recommended Posts

Well chosen Terminal command can do it with the OS running.

Other thing:

I want to find the cause and fix it... would be more interesting as it most likely would fix all issues.

No more custom components then...

Stable good system ootb with only simple change of kernel.

I'm also thinking of switching the code back to opemu mark 3 as we now have SSEPlus!

Should be fine thus and support more and better instructions easily.

I would be able to add SSE4.1 and SSE4.2 with almost zero effort.

If one of those is used then, ... You guessed it ... it'll work...


I'm totally not worried about Windows 10...

In all accounts it is still Windows 7 with 8 extensions and a "stolen" "expose".

I'm totally not impressed with what they have done in the last few years.

If I had this amount of time I'd totally overhaul that OS...

They have thousands of Developers and this is what they accomplished? lol... what a laugh...

Those modifications could have been done in about 3 months by good skilled development engineers.

They're lazy and money hungry...

"You get free upgrade for the first year".

Yeah sure... I get full free OS forever with OS X...

Follow Apple then there too MS, oh yeah... right... no hardware to sell other than crappy tablets.

Too bad lol.

  • Like 6
Link to comment
Share on other sites

Folks, I'm impressed. When Mavericks finally went open source, it took a really long time to make it useable, and we should remember Mavericks was, in many aspects, incremental an update to Mountain Lion, while Yosemite had a lot of code rewritten from the roots. Luckily to us, Apple released the open source code in a period of weeks from the App Store release of 10.10, but we're even luckier to have quite a few skilled developers so committed to get everything running like it should, even for nine SSSE3 CPUs. Nice work, people: hats off to all of you.

 

I'm using AnV's BSA_YOS_R7D from here:             #612            

 

Both the installer and the OS proper work on my Athlon II X2 250, with no perceptible graphics glitches - but before I patched the appropriate AMD kexts for my HD5450, I was getting that hideously distorted multicoloured desktop background shown in AnV's post             #630            's second thumbnail picture. It seems I also cannot drag and drop files using my mouse. Didn't try screenshots yet, but watched a lot of Netflix stuff without issues. Will test further, in a more systematic way,

 

All the best!

  • Like 2
Link to comment
Share on other sites

@grom606

 

carlo_67, on 25 Jan 2015 - 6:21 PM, said:

snapback.png

 

Not goes white screen with rainbow spinning
 

 

is fine if I install my kext AppleAcpi ... / IOPCIFAmily ......
file:///Users/carlo/Desktop/sysctl%20-a%20

 

 

Replace kext http://www.hackintos...for-amd-kernel/  Schermata 2015-01-27 a 07.58.25.png

This link is a malware
 
however I do not know where you got that file already but had been posted by me earlier post#586
 
Link to comment
Share on other sites

Well chosen Terminal command can do it with the OS running.

Other thing:

I want to find the cause and fix it... would be more interesting as it most likely would fix all issues.

No more custom components then...

Stable good system ootb with only simple change of kernel.

I'm also thinking of switching the code back to opemu mark 3 as we now have SSEPlus!

Should be fine thus and support more and better instructions easily.

I would be able to add SSE4.1 and SSE4.2 with almost zero effort.

If one of those is used then, ... You guessed it ... it'll work...

I'm totally not worried about Windows 10...

In all accounts it is still Windows 7 with 8 extensions and a "stolen" "expose".

I'm totally not impressed with what they have done in the last few years.

If I had this amount of time I'd totally overhaul that OS...

They have thousands of Developers and this is what they accomplished? lol... what a laugh...

Those modifications could have been done in about 3 months by good skilled development engineers.

They're lazy and money hungry...

"You get free upgrade for the first year".

Yeah sure... I get full free OS forever with OS X...

Follow Apple then there too MS, oh yeah... right... no hardware to sell other than crappy tablets.

Too bad lol.

 

 

Hi AnV
 
I have a new found
 
On My machine OPEMU SSE3 dont works
 
SSSE3 working Only
 
My Processor AthlonII X2 270 is no SSSE3 instructions
 
Here is My Guess
 
Mac OS X Minimum Requirements are CPU Must Support MMX SSE SSE2 SSE3 SSSE3 instructions etc.
 
But Athlon No SSSE3. When Run APP have SSSE3 Opcode. So return "case T_INVALID_OPCODE" (in trap.c)
 
because Athlon dont know SSSE3. So Need SSSE3 Opcode Emulator.
 
Athlon has SSE3, know SSE3. So Not return "case T_INVALID_OPCODE”. dnot Run “SSE3_abc_run” code.
 
FX CPU Support SSSE3. May Not need SSE3/SSSE3 Opcode Emulator.
 
If FX CPU Not need SSE3/SSSE3 Opcode Emulator. can use the following code to test(opemu):
 
unsigned char opemu_ktrap(x86_saved_state_t *state)
{
    x86_saved_state64_t *saved_state = saved_state64(state);
    uint8_t *code_buffer = (uint8_t *)saved_state->isf.rip;
    unsigned int bytes_skip = 0;

    // rdmsr 0x0f 0x32
    if((code_buffer[0]==0x0f) && (code_buffer[1]==0x32))
    {
        printf("[MSR] unknown location 0x%016llx\r\n", saved_state->rcx);
        // best we can do is return 0;
        saved_state->rdx = saved_state->rax = 0;
        bytes_skip = 2;
    }


    if(!bytes_skip)
    {
        uint8_t *ripptr = (uint8_t *)&(saved_state->isf.rip);
        printf("invalid kernel opcode (64-bit): ");
        print_bytes(ripptr, 16);
        /* Fall through to trap */
        return 0;
    }
    return 1;
}


void opemu_utrap(x86_saved_state_t *state)
{
    int longmode;
    unsigned int bytes_skip = 0;
    vm_offset_t addr;


    if ((longmode = is_saved_state64(state)))
    {
        x86_saved_state64_t *saved_state = saved_state64(state);
        uint8_t *code_buffer = (uint8_t*)saved_state->isf.rip;
        addr = saved_state->isf.rip;
        uint16_t opcode;
        opcode = *(uint16_t *) addr;
        x86_saved_state64_t *regs;
        regs = saved_state64(state);


        //sysenter 0x0f 0x34
        if (opcode == 0x340f)
        {
            regs->isf.rip = regs->rdx;
            regs->isf.rsp = regs->rcx;


            if((signed int)regs->rax < 0)
            {
                //printf("mach call 64\n");
                mach_call_munger64(state);
            }
            else
            {
                //printf("unix call 64\n");
                unix_syscall64(state);
            }
            return;
        }


        //sysexit 0x0f 0x35
        if (opcode == 0x350f)
        {
            regs->isf.rip = regs->rdx;
            regs->isf.rsp = regs->rcx;
            /*if (kernel_trap)
            {
                addr = regs->rcx;
                return 0x7FFF;
            } else { */
            thread_exception_return();
            //}
            return;
        }


        if(!bytes_skip)
        {
            uint8_t *ripptr = (uint8_t *)&(regs->isf.rip);
            printf("invalid user opcode 64: ");
            print_bytes(ripptr, 16);
            /* Fall through to trap */
            return ;
        }
    }
    else
    {
        x86_saved_state32_t *saved_state = saved_state32(state);
        uint64_t op = saved_state->eip;
        uint8_t *code_buffer = (uint8_t*)op;
        addr = saved_state->eip;
        uint16_t opcode;
        opcode = *(uint16_t *) addr;
        x86_saved_state32_t *regs;
        regs = saved_state32(state);


        //sysenter 0x0f 0x34
        if (opcode == 0x340f)
        {
            regs->eip = regs->edx;
            regs->uesp = regs->ecx;


            if((signed int)regs->eax < 0)
            {
                mach_call_munger(state);
            }
            else
            {
                unix_syscall(state);
            }
            return;
        }


        //sysexit 0x0f 0x35
        if (opcode == 0x350f)
        {
            regs->eip = regs->edx;
            regs->uesp = regs->ecx;
            thread_exception_return();
            return;
        }


        if(!bytes_skip)
        {
            uint8_t *eipptr = (uint8_t *)&(regs->eip);
            printf("invalid user opcode 32: ");
            print_bytes(eipptr, 16);
            /* Fall through to trap */
            return ;
        }
    }
    thread_exception_return();
    /*** NOTREACHED ***/
   // return ;//EMULATION_FAILED;
}
Link to comment
Share on other sites

 

 

If FX CPU Not need SSE3/SSSE3 Opcode Emulator. can use the following code to test(opemu):

 

unsigned char opemu_ktrap(x86_saved_state_t *state){    x86_saved_state64_t *saved_state = saved_state64(state);    uint8_t *code_buffer = (uint8_t *)saved_state->isf.rip;    unsigned int bytes_skip = 0;    // rdmsr 0x0f 0x32    if((code_buffer[0]==0x0f) && (code_buffer[1]==0x32))    {        printf("[MSR] unknown location 0x%016llx\r\n", saved_state->rcx);        // best we can do is return 0;        saved_state->rdx = saved_state->rax = 0;        bytes_skip = 2;    }    if(!bytes_skip)    {        uint8_t *ripptr = (uint8_t *)&(saved_state->isf.rip);        printf("invalid kernel opcode (64-bit): ");        print_bytes(ripptr, 16);        /* Fall through to trap */        return 0;    }    return 1;}void opemu_utrap(x86_saved_state_t *state){    int longmode;    unsigned int bytes_skip = 0;    vm_offset_t addr;    if ((longmode = is_saved_state64(state)))    {        x86_saved_state64_t *saved_state = saved_state64(state);        uint8_t *code_buffer = (uint8_t*)saved_state->isf.rip;        addr = saved_state->isf.rip;        uint16_t opcode;        opcode = *(uint16_t *) addr;        x86_saved_state64_t *regs;        regs = saved_state64(state);        //sysenter 0x0f 0x34        if (opcode == 0x340f)        {            regs->isf.rip = regs->rdx;            regs->isf.rsp = regs->rcx;            if((signed int)regs->rax < 0)            {                //printf("mach call 64\n");                mach_call_munger64(state);            }            else            {                //printf("unix call 64\n");                unix_syscall64(state);            }            return;        }        //sysexit 0x0f 0x35        if (opcode == 0x350f)        {            regs->isf.rip = regs->rdx;            regs->isf.rsp = regs->rcx;            /*if (kernel_trap)            {                addr = regs->rcx;                return 0x7FFF;            } else { */            thread_exception_return();            //}            return;        }        if(!bytes_skip)        {            uint8_t *ripptr = (uint8_t *)&(regs->isf.rip);            printf("invalid user opcode 64: ");            print_bytes(ripptr, 16);            /* Fall through to trap */            return ;        }    }    else    {        x86_saved_state32_t *saved_state = saved_state32(state);        uint64_t op = saved_state->eip;        uint8_t *code_buffer = (uint8_t*)op;        addr = saved_state->eip;        uint16_t opcode;        opcode = *(uint16_t *) addr;        x86_saved_state32_t *regs;        regs = saved_state32(state);        //sysenter 0x0f 0x34        if (opcode == 0x340f)        {            regs->eip = regs->edx;            regs->uesp = regs->ecx;            if((signed int)regs->eax < 0)            {                mach_call_munger(state);            }            else            {                unix_syscall(state);            }            return;        }        //sysexit 0x0f 0x35        if (opcode == 0x350f)        {            regs->eip = regs->edx;            regs->uesp = regs->ecx;            thread_exception_return();            return;        }        if(!bytes_skip)        {            uint8_t *eipptr = (uint8_t *)&(regs->eip);            printf("invalid user opcode 32: ");            print_bytes(eipptr, 16);            /* Fall through to trap */            return ;        }    }    thread_exception_return();    /*** NOTREACHED ***/   // return ;//EMULATION_FAILED;}

Hi !

Why remove the code ? The FX processors automatically determine ssse3 enabled or disabled , and if you disable ssse3 - then don't work ssse3 emulation . If insert ssse3 emulation in opemu , and if in old cpus no have ssse3 , then goto to emu ssse3  !

We know what to fix in opemu ! But we must check what the problem instructions ...

  • Like 4
Link to comment
Share on other sites

Hi !

Why remove the code ? The FX processors automatically determine ssse3 enabled or disabled , and if you disable ssse3 - then don't work ssse3 emulation . If insert ssse3 emulation in opemu , and if in old cpus no have ssse3 , then goto to emu ssse3  !

We know what to fix in opemu ! But we must check what the problem instructions ...

 

Not disable or enable problem
 
You Can Download "Hopper Disassembler"
 
Download My attachment   open with "Hopper Disassembler"
 
I write instructions OPCODE  to this binary File
 
goto RIP 1466
 
What is opcode     ->     Operation code
 
a binary file contents is compiled machine code
 
opcode.png
 
App binary file Instructions opcode  ->  CPU
 
if cpu Unable to discern Instructions
   goto case T_INVALID_OPCODE
 
You don’t do the test How do you know ?
 
 
If FX not run OPEMU SSSE3 EMU
On the FX machine You do the test Unable get any results

mach-o.bin.zip

Link to comment
Share on other sites

Kernel Panic after upgrading to 10.10.2

Last kernel BSA R7D not compatible with 10.10.2 ?

this should be a different cause. the source should work with the latest versions of Yosemite. Although I have not yet tested the current kernel

but the recent kernel running under 10.10.2 current build.

perhaps you need to use the System.kext from the kernel package.

repair disk permissions and refresh the cache, then start your system again.

  • Like 1
Link to comment
Share on other sites

FX CPU SSSE3 TEST

Other CPU Don’t Test


If your CPU support SSSE3 instructions

Help me test

it can into the desktop ?

if into desktop

Test Screen Capture & Image jpg Preview

I Want to know
FX is not Run SSSE3 Opcode EMU?
and SSSE3 OPCODE EMU is correct?

 

Please give me feedback

 

 

this opemu I dont add Any OPCode Emulator

 

Retain sysenter & sysexit only

kernel-SSSE3-TEST.zip

opemu-ssse3-test-for-fx.zip

  • Like 2
Link to comment
Share on other sites

FX CPU SSSE3 TEST

 

Other CPU Don’t Test

 

If your CPU support SSSE3 instructions

 

Help me test

 

it can into the desktop ?

 

if into desktop

 

Test Screen Capture & Image jpg Preview

 

I Want to know

FX is not Run SSSE3 Opcode EMU?

and SSSE3 OPCODE EMU is correct?

 

Please give me feedback

 

 post-168778-0-13141200-1422408503_thumb.jpg

 

Yes on getting to desktop and screenshot

 

AMD CPU in my signature

  • Like 3
Link to comment
Share on other sites

In Safari? Yes

 

No bugs

 

Thank you...

 

 

now I  know 

 

If CPU is Supported SSSE3 & SSE4.1 & SSE4.2 & AVX1.0   No Need OPEMU instructions Emulator

and Not Run Function SSSE3_run

 

SSE3_abc_run is for SSE2 CPU or K8 early period CPU

 

 

On FX NO Bug

FX is Supported SSSE3 & SSE4.1 & SSE4.2 & AVX1.0

 

On Athlon or Phenom bugs

 

Maybe:

1.SSSE3 instructions Emulator Error

old opemu Function palignr is error

SSEPlus Unknown  Maybe Fixed

 

2.Image error problem in ImageIO

Maybe ImageIO opcode Include  SSE 4.1 or 4.2 or AVX1.0 instructions

So May be required SSE4.x or AVX1.0 opcode Emulator

  • Like 2
Link to comment
Share on other sites

:)

 

les test kernel FX / APU et Athlon ssse3 n'ont aucun intérêt car ils fonctionnent parfaitement , le kernel de Bronya ou Andy suffisent largement , sauf iCloud qui est le problème ;)

 

vaut mieux se concentrer sur les vieux CPU K10 :)

 

kernel test FX / Athlon SSSE3 APU and have no interest because they work perfectly, the kernel Bronya and Andy than enough unless iCloud is the problem ;)


is better to focus on the old K10 CPU :)

 
 
  • Like 3
Link to comment
Share on other sites

Not work with 10.10.2

Kernel Panic :(

Replace System.kext with the custom one. System.kext must match kernel version. Remember: version is stamped inside and matches the Darwin 13.2.0 whereas kernel is 13.0.0
Link to comment
Share on other sites

 

:)

 

les test kernel FX / APU et Athlon ssse3 n'ont aucun intérêt car ils fonctionnent parfaitement , le kernel de Bronya ou Andy suffisent largement , sauf iCloud qui est le problème ;)

 

vaut mieux se concentrer sur les vieux CPU K10 :)

 

kernel test FX / Athlon SSSE3 APU and have no interest because they work perfectly, the kernel Bronya and Andy than enough unless iCloud is the problem ;)

 

 

is better to focus on the old K10 CPU :)

 
 

 

i understand your enthusiasm on getting K10 support, but in my understanding they shouldn't continue the support on older AMD due to OS constrains on SSSE3, AVX1,2, SSE4-2 and older cpu's would not benefit on performance..they still need to get the library's to work first on every apps..due to differences of instructions on Intel and AMD FX but that easy can be fix by translating to the correct patches...and also on GPU need more attention to benefit yosemite...so it be wise to let them work on only FX and APU's cpus this is the only architect is similar to i7 Haswell...all others can't be fixed

Link to comment
Share on other sites

 Share

×
×
  • Create New...