Jump to content

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


Duran Keeley
 Share

1,898 posts in this topic

Recommended Posts

With BSA_YOS_R7D system overall performance is very good (Geekbench score is much lower than on Mavericks), but wrong colors in Launchpad, Safari and login screen! Appstore works!

 

With 1010-anv-r7-kernel.zip almost the same experience, but also wrong colors in Desktop.

 

Is there any fix for that?

Not untill we know what causes this. We'll need to check all instructions.
  • Like 1
Link to comment
Share on other sites

New kernel to test.

I again modded it to software data types.

Hopefully with more success now.

BSA_YOS_R7D

 

Hi Andy,

 

i test the version X86_64_R7D with webkit.

up to now very stable, app store works, safari once (within one hour) an error message brought.

 

the color are clear, youtube runs well. 

I installed additionally the safari picture preview kit.

Without the two kit unfortunately safari crashes, App Store can not correctly be opened, Preview Picture are distorted / in Safari are not correctly represented.

 

thanks

Link to comment
Share on other sites

kern_return_t glrPopulateDevice(io_connect_t connect, display_info_t* dinfo)
{
	/*
	 * For Intel, dinfo->config[0] determines type
	 *
	 *   0x100000U - "HD Graphics"
	 *   0x080000U - "GMA X3100"
	 *   0x040000U - "GMA 950"
	 *   else      - "GMA 900"
	 *
	 * Strings are
	 *   "Intel %s OpenGL Engine" (%s == model)
	 *   "Intel %s Compute Engine" (%s == model)
	 */
	strcpy(dinfo->engine1, "VMware SVGA II OpenGL Engine");
	strcpy(dinfo->engine2, "VMware SVGA II Compute Engine");
	return ERR_SUCCESS;
}
_Bool gldGetVersion(int* arg0, int* arg1, int* arg2, int* arg3)
{
	if (!glr_io_data.dinfo)
		return 0;
	/*
	 * Note these numbers are from OS 10.6.5
	 *
	 * arg3 is the renderer ID, which is
	 *   0x4000 for Intel GMA 950
	 *   0x0400 for GLRendererFloat
	 *   (see CGLRenderers.h)
	 */
	*arg0 = 3;
	*arg1 = 1;
	*arg2 = 0;
	*arg3 = kCGLRendererIntel900ID & 0xFFFFU;
	GLDLog(2, "%s(%d, %d, %d, %#x)\n", __FUNCTION__, *arg0, *arg1, *arg2, (uint32_t) *arg3);
	return 1;
}
HIDDEN
IOReturn CLASS::get_config(uint32_t* c1, uint32_t* c2, uint32_t* c3, uint32_t* c4, uint32_t* c5)
{
	uint32_t const vram_size = m_provider->getVRAMSize();

	/*
	 * c1 used by GLD to discern Intel 915/965/Ironlake(HD)
	 *   0x100000U - "HD Graphics"
	 *   0x080000U - "GMA X3100"
	 *   0x040000U - "GMA 950"
	 *   else      - "GMA 900" [Unsupported in OS 10.7]
	 */
	*c1 = version_major >= 11 ? 0x40000U : 0U;
#ifdef USE_OWN_GLD
#if 0
	*c2 = static_cast<uint32_t>(m_provider->getLogLevelGLD()) & 7U;
#else
	*c2 = 1U;	// set GLD logging to error level
#endif
#else
	*c2 = 0U;
#endif
	*c3 = vram_size;	// total memory available for textures (no accounting by VMsvga2)
	*c4 = vram_size;	// total VRAM size
#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1060
	*c5 = m_provider->getSurfaceRootUUID();
#else
	*c5 = 0U;
#endif
	DVLog(2, "%s(*%u, *%u, *%u, *%u, *%#x)\n", __FUNCTION__, *c1, *c2, *c3, *c4, *c5);
	return kIOReturnSuccess;
}
.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "10"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
sata0.present = "TRUE"
memsize = "2048"
sata0:0.present = "TRUE"
sata0:0.fileName = "Yosemite.vmdk"
sata0:1.present = "TRUE"
sata0:1.autodetect = "TRUE"
sata0:1.deviceType = "disk"
ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.virtualDev = "e1000e"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
ehci.pciSlotNumber = "34"
sound.present = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.autodetect = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
smc.present = "TRUE"
hpet0.present = "TRUE"
ich7m.present = "TRUE"
usb.vbluetooth.startConnected = "TRUE"
board-id.reflectHost = "TRUE"
firmware = "bios"
displayName = "Mac OS X 10.9"
guestOS = "other-64"
nvram = "Mac OS X 10.9.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
extendedConfigFile = "Mac OS X 10.9.vmxf"
uuid.bios = "56 4d 60 94 7b 5f f0 07-06 3e 57 83 a3 9b ca 83"
uuid.location = "56 4d 60 94 7b 5f f0 07-06 3e 57 83 a3 9b ca 83"
replay.supported = "FALSE"
replay.filename = ""
sata0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "160"
sound.pciSlotNumber = "33"
vmci0.pciSlotNumber = "35"
sata0.pciSlotNumber = "36"
ethernet0.generatedAddress = "00:0c:29:9b:ca:83"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "-1550071165"
monitor.phys_bits_used = "40"
vmotion.checkpointFBSize = "33554432"
cleanShutdown = "FALSE"
softPowerOff = "FALSE"
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
toolsInstallManager.updateCounter = "6"
checkpoint.vmState = ""
sata0:1.fileName = "C:\Users\Vivianne\Documents\Virtual Machines\OS X 10.10\OS X 10.10.vmdk"
sata0:2.present = "TRUE"
sata0:2.autodetect = "TRUE"
sata0:2.deviceType = "cdrom-raw"
sata0:1.redo = ""
workingDir = "."
tools.syncTime = "FALSE"
sata0:2.startConnected = "TRUE"
floppy0.present = "FALSE"
mouse.vusb.enable = "TRUE"
keyboard.vusb.enable = "TRUE"
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"

I now have access to a real AMD Athlon II X2.

It's my aunts PC which I am allowed to use.

I just converted a Chameleon based image to a vmdk (dd2vmdk) and I set the following configuration in the VMX file to enable full support.

I can now thus test out some specifics...

A tad slow (boot takes very long) but at least it works...

I will install a VMWare virtual machine and use my latest AMD kernel in order to make it work and do tests.

I also noticed on boot some things were misplaced (Black blocks on the installer which seemed to disappear after a while).

NOTE: I used Chameleon on a USB stick (and Yosemite installer), converted this to a raw image and then I made the vmdk config.

Perfect thus for hackintosh testing on AMD in VMWare Virtual Machine.

This works without any unlocker in VMWare Workstation versions even up to 11!

Oh yeah, before I forget, the download for dd2vmdk:

http://dd2vmdk.sf.net

The irony wants... so far I see no pixel bug further.

Seems to be video driver related... we should examine the video drivers in more detail...

Maybe framebuffer issues???

Some part of the code must cause this and it's either the IOFramebuffer or the IOAccelerator that causes it...

If it's IOFramebuffer related - we can make our own... the IOFramebuffer class is fully documented by Apple and fully open for anyone to use. VMWare has an open source graphics driver too...

http://sourceforge.net/projects/VMsvga2

A example of an Apple made IOFramebuffer is NVDAResman.kext.

Attached is an open source snapshot of the drivers inside VMWare.

If it's IOAccelerator related - we can only patch... in order to make an IOAccelerator we would need to implement every OpenGL instruction till OpenGL 4.

Since they're not openly coded I don't know how they work and can't thus make an IOAccelerator.

Other than that it contains only start / stop / probe (standard IOKit functions). an example of an IOAccelerator is NVDANV50Hal.kext.

EDIT: It would seem the VMWare project contains a very basic IOAccelerator.

It's only capable of accelerated block transfer (blit) functions but it's a start...

We would need to add Apple's OpenGL functions though if we wanted to make our own... this plainly will not do for HW acceleration in any way.

Only accelerated drawing is the result of this driver... not more...

The most up to date version is the 2D GL branch.

This would need still the 3D enhancements but it's nice to see these are openly coded....

Obviously some Yosemite tweaking would be required too!

Interesting chunk of code above.

Selecting the graphics device.

This would need tweaking to Intel HD in order to make it work with Yosemite.

Some functions may also need changing...

Judging by code above: it seems to emulate a GMA950...

It's still cool to know how that works thus...

Next cool piece of code - Same thing the code defining the CGL renderer...

Would also need Intel HD..

And yet another reference to the renderer id...

Would seem it really needs updating...

It also seems to implement the OpenCL engine (not bad!)

gldGetRendererInfo -> needs mods too!

Also sets a renderer id... I'm starting to think most older no more supported cards could be supported these days using a properly coded IOAccelerator.

With all of that info it should actually be possible (and with some extra reverse engineering) to make our own!

OpenCL is implemented through the gldCreateComputeContext and gldCreateComputeContext functions (that and some extra functions).

gldInitDispatch defines apparently the supported OpenGL functions...

Interesting...

Wow! The desktop surely is colorful :-/

The irony... it would seem like??? palignr still??

Color is not quite present in the screen capture.

First press of command 3 also had as result that image data could not be saved...

I saw clearly that it mostly "misses color".

Just finished installing the VMWare tools... we'll see now if things are better...

Installing VMWare tools with custom parts did not help.

It would seem the problem is in the opemu (palignr or some other instruction responsable for doing some essential work!)

Ethernet in the VM required a small fix.

Add to Info.plist 0x10d38086 of Intel82574L.kext and remove IOPCISecondaryMatch.

Then ethernet works.

I put the desktop on auto-switch between images. image is now fine... (weird but hell)

post-100023-0-94019500-1422313872_thumb.png

vmsvga2-code-166.zip

post-100023-0-22248500-1422319465_thumb.png

  • Like 7
Link to comment
Share on other sites

I also now see the Safari bug mentioned.

It seems indeed like a misalignment of pixels.

I tried capturing a screen (took 5 attempts but hell).

Final result lacked color...


Installed WebKit patch, Safari seems stable.

Gonna test App Store now as final thing for today (need Xcode...)


App Store seems to work but very slowly...

Djeez

Then again... no packages are showing up....

Interesting case...

It does however show an update (which I'm applying through the Terminal)


Nope... no luck... no App Store...

Would seem the opemu needs further fixing...

I'm betting pallignr gives incorrect results..


I'm installing all and now App Store works!

It would seem I needed to login quickly this way.

Type gcc and select download Xcode.

Force it to download it and enter apple id.

Store works...


I noticed:

When I switched the VM back to windowed... desktop distorted again.

The problem is definitely somewhere in the blitting algorithms...

If we could pinpoint that function... bingo... we know what is wrong...

I'm betting there is an SSSE3 function in there and that's the one we need to examine...

post-100023-0-83372800-1422321542_thumb.png

  • Like 3
Link to comment
Share on other sites

i am noticing lot activity on AMD side kernel lately, i think you all getting close of fixing yosemite kernel of making run faster on AMD FX  but the processor is running fine on this kernel but the problem is due to GPU drivers  are not running fast as should be like maverick last kernel was almost perfect speed in video and cpu, i understand this is very hard to code this correctly, everytime apple unleashed next os verison it gets worst for all of you, because without you, this can never work on AMD and correct specification Custom parts unlike LINUX and WIndows does very well..and still Windows 10 is something that apple couldn't counter this time around, this might be the best Windows version to reign in again...and its up to apple decision to counter that with more changes or yosemite might bust when that happen..

Link to comment
Share on other sites

I also now see the Safari bug mentioned.

It seems indeed like a misalignment of pixels.

I tried capturing a screen (took 5 attempts but hell).

Final result lacked color...

Installed WebKit patch, Safari seems stable.

Gonna test App Store now as final thing for today (need Xcode...)

App Store seems to work but very slowly...

Djeez

Then again... no packages are showing up....

Interesting case...

It does however show an update (which I'm applying through the Terminal)

Nope... no luck... no App Store...

Would seem the opemu needs further fixing...

I'm betting pallignr gives incorrect results..

I'm installing all and now App Store works!

It would seem I needed to login quickly this way.

Type gcc and select download Xcode.

Force it to download it and enter apple id.

Store works...

I noticed:

When I switched the VM back to windowed... desktop distorted again.

The problem is definitely somewhere in the blitting algorithms...

If we could pinpoint that function... bingo... we know what is wrong...

I'm betting there is an SSSE3 function in there and that's the one we need to examine...

 

Hi AnV

 

TEST this

 

Replace 10.9.5 ImageIO no pixel bug

 

But Can not replace the file on 10.10

replace the file Must operate on other OS

 

path: /System/Library/Frameworks/ImageIO.framework

ImageIO-1095.zip

  • Like 2
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.

  • 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

 Share

×
×
  • Create New...