Jump to content
Welcome to InsanelyMac.com - No more ads! And some exciting news... Read more... ×
Shaneee

Clover on AMD X64 Exception Type Error

52 posts in this topic

Recommended Posts

Hey guys still trying to sort this issue, http://i.imgur.com/YmZdvL7.jpg

 

Happens on almost all AMD CPU types except from FX and the newer APUs. Screenshot above is booting on my Athlon. Only happens on El Capitan.

 

I've tried several versions of Clover with all alternative boot files. Yosemite boots just fine but this error on 10.11.0 all the way to 10.11.6

 

This shows after Clover is loaded and the HDD is selected which means all the logs are clean and don't show this problem.

 

If I replace the boot.efi in /System/Library/CoreServices with the one from Yosemite then the system boots but there is no control of SIP and the system is sluggish. Because of this it can't be considered a fix.

 

I'm willing to test Clover builds and give more info if needed just let me know.

Share this post


Link to post
Share on other sites

Someone should debug Clover on AMD. Or, at least, step by step narrow down the search of trouble.

Such exception type can be encountered also on Intel CPU if incorrect Clover using.

Share this post


Link to post
Share on other sites

Someone should debug Clover on AMD. Or, at least, step by step narrow down the search of trouble.

Such exception type can be encountered also on Intel CPU if incorrect Clover using.

What can I do to debug? I can boot yosemite fine if that helps just need to install it again.

 

Sent from my SM-G920F using Tapatalk

Share this post


Link to post
Share on other sites

For example you may place the driver DumpUefiCalls.efi to drivers64 folder and then catch EfiCalls.log in EFI/CLOVER/misc/ folder.

It is impossible to say how to invent something. You must invent Hack for AMD and I can't help as I have no AMD CPU.

Anyway I am ready to implement any AMD dependent features if any.

Share this post


Link to post
Share on other sites

i think it comes from Cpu.c (InitializeCpu) at this line onward: 

 

Status = gLegacy8259->GetVector (gLegacy8259, Efi8259Irq0, (UINT8 *) &mTimerVector);

Share this post


Link to post
Share on other sites

For example you may place the driver DumpUefiCalls.efi to drivers64 folder and then catch EfiCalls.log in EFI/CLOVER/misc/ folder.

It is impossible to say how to invent something. You must invent Hack for AMD and I can't help as I have no AMD CPU.

Anyway I am ready to implement any AMD dependent features if any.

 

Here is the EfiCalls log file,

 

EfiCalls.log.zip

 

 

It sounds more like a boot.efi issue than Clover (as the exception doesn't occur on Yos boot), so maybe Apple simply enabled Intel-centric instruction set usage for newer boot.efi (such as SSE-whatever-version)?

 

That's what I thought as it seems to be when Clover has finished.

 

 

i think it comes from Cpu.c (InitializeCpu) at this line.

 

Status = gLegacy8259->GetVector (gLegacy8259, Efi8259Irq0, (UINT8 *) &mTimerVector);

 

What would need changed there then?

 

Really appreciate the help guys.

Share this post


Link to post
Share on other sites

What's the exact version of el captitan you are trying to boot?

 

Currently it is  10.11.6 but I've tried it on all versions of El Cap. 

Share this post


Link to post
Share on other sites

I was thinking on recent changes to the AppleAPIC.kext, it's a theory (why works in Yose but not in EC), but if you already installed 7 operating system there's no reason to continue and try to install an old version of 10.11

Cool, btw, the code here: http://www.virtualbox.org/svn/vbox/trunk/src/VBox/Devices/EFI/Firmware/PcAtChipsetPkg/8254TimerDxe/Timer.c

Off course, if there is the problem.  

Share this post


Link to post
Share on other sites

Here is the EfiCalls log file,

 

attachicon.gifEfiCalls.log.zip

 

 

 

See, your log is interrupted attempting close prelinkedkernel.

As it should be

FP.1F80D220[\System\Library\PrelinkedKernels\prelinkedkernel].Read(1048576, 1B514018) = Success
FP.1F80D220[\System\Library\PrelinkedKernels\prelinkedkernel].Read(1048576, 1B614018) = Success
FP.1F80D220[\System\Library\PrelinkedKernels\prelinkedkernel].Read(1048576, 1B714018) = Success
FP.1F80D220[\System\Library\PrelinkedKernels\prelinkedkernel].Read(839921, 1B814018) = Success
FP.1F80D220[\System\Library\PrelinkedKernels\prelinkedkernel].Close() = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x800, 0xDA00000/0xDA00000) = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x12A, 0xE200000/0xE200000) = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x13, 0xD900000/0xD900000) = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x1, 0xE32A000/0xE32A000) = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x1, 0xE32B000/0xE32B000) = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x19, 0xE32C000/0xE32C000) = Success

Something wrong with custom kernel/prelinkedkernel/filesystem?

Share this post


Link to post
Share on other sites

See, your log is interrupted attempting close prelinkedkernel.

As it should be

FP.1F80D220[\System\Library\PrelinkedKernels\prelinkedkernel].Read(1048576, 1B514018) = Success
FP.1F80D220[\System\Library\PrelinkedKernels\prelinkedkernel].Read(1048576, 1B614018) = Success
FP.1F80D220[\System\Library\PrelinkedKernels\prelinkedkernel].Read(1048576, 1B714018) = Success
FP.1F80D220[\System\Library\PrelinkedKernels\prelinkedkernel].Read(839921, 1B814018) = Success
FP.1F80D220[\System\Library\PrelinkedKernels\prelinkedkernel].Close() = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x800, 0xDA00000/0xDA00000) = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x12A, 0xE200000/0xE200000) = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x13, 0xD900000/0xD900000) = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x1, 0xE32A000/0xE32A000) = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x1, 0xE32B000/0xE32B000) = Success
-> AllocatePages(AllocateAddress, LoaderData, 0x19, 0xE32C000/0xE32C000) = Success

Something wrong with custom kernel/prelinkedkernel/filesystem?
Strange my system boots Enoch using the prelinkedkernel built in terminal.

 

Sent from my SM-G920F using Tapatalk

Share this post


Link to post
Share on other sites

Enoch loaded prelinkedkernel while with Clover this is the boot.efi business.

 

So if I understand the boot.efi isn't loading the prelinkedkernel correctly? 

 

Edit: I removed the prelinkedkernel and the com.apple.kext.caches folder and attempted to boot with Clover. I was met with the error loading kernel cache message. I then restored the com.apple.kext.caches folder to be met with the x64 Exception error again even with no prelinkedkernel present.

Share this post


Link to post
Share on other sites

Hey guys still trying to sort this issue, http://i.imgur.com/YmZdvL7.jpg

 

Happens on almost all AMD CPU types except from FX and the newer APUs. Screenshot above is booting on my Athlon. Only happens on El Capitan.

 

I've tried several versions of Clover with all alternative boot files. Yosemite boots just fine but this error on 10.11.0 all the way to 10.11.6

 

This shows after Clover is loaded and the HDD is selected which means all the logs are clean and don't show this problem.

 

If I replace the boot.efi in /System/Library/CoreServices with the one from Yosemite then the system boots but there is no control of SIP and the system is sluggish. Because of this it can't be considered a fix.

 

I'm willing to test Clover builds and give more info if needed just let me know.

To me it seems related to SSE 4.1 instruction set because only those AMD CPUs with SSE 4.1 can avoid this error for 10.11.x or 10.12GM booting.

Share this post


Link to post
Share on other sites

I'm new to this forum.  I've been referring to this very useful guide:

 

http://www.win-raid.com/t2375f25-Guide-NVMe-boot-without-modding-your-UEFI-BIOS-Clover-EFI-bootloader-method.html

 

This very handy reference shows how to use Clover to boot from a PCIe SSD (Toshiba OCZ RD400 Series Solid State Drive PCIe NVMe M.2 512GB & Add In Card (RVD400-M22280-512G-A)

 

And I have successfully booted from this drive using Clover on my Thinkstation D30 4229, which as far as I can see from Google is a user first.    

 

So I was on a roll and decided to do the same thing on my HP Z800 workstation.  That didn't work out, it refused to boot my USB Windows 10 install stick and I kept getting a screen with  !!!! X64 Exception Type.  But these machines run on Xeon processors.

 
So my happy roll was ended.  I was clever enough to follow the instructions and get Clover working for this task but I'm stuck now as I'm not an experienced.....any advice?

Share this post


Link to post
Share on other sites

@Slice any ideas about this? Was looking at the source and saw this in cpu.c

  DEBUG ((
    EFI_D_ERROR,
    "!!!! X64 Exception Type - %016lx !!!!\n",
    (UINT64)InterruptType
    ));

Is that the error I'm getting? I tried your AMD code from here, http://www.insanelymac.com/forum/topic/295573-clover-and-amd-cpu/

 

I replaced the current code but still the same error.

Share this post


Link to post
Share on other sites

Yes, this is ExceptionHandler().

It is called if CPU can't continue execution because of wrong CPU instruction or other problems.

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×