Jump to content

Clover Problems and Solutions


ErmaC
3,206 posts in this topic

Recommended Posts

I think it's fairly obvious that reserving the relocation region before hand will be more beneficial than during exit boot. It doesn't appear that it should ever fail to allocate a region of at least 0x15000 pages on a slide offset. The only problem that I'm having is, if I add the driver to the drivers64UEFI folder, it loads and works but other drivers load before it and could possibly corrupt these regions. But if I add a special load and start for it (exactly the same but moved before the drivers scan), it crashes immediately upon scanning for drivers.... Loaded from the efi shell before hand works as well, so unsure what is happening that is making it crash on driver scan but only when loaded in clover before the scan (when it's needed to be loaded lol).

 

All of these found acceptable regions, and some have some pretty good slide=0 regions:

 

@gujiangjiang,

      Region: 0x0000000000013D8B pages at 0x0000000000100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x0000000000013D8B pages at 0x0000000000100000 slide=0

      Region: 0x000000000001DB6C pages at 0x0000000013ECB000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x000000000001DB37 pages at 0x0000000013F00000 slide=159

      Region: 0x0000000000001D61 pages at 0x0000000033E7B000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

      Region: 0x0000000000000192 pages at 0x0000000038E64000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

    Allocating relocation region - 0x000000000001DB37 pages at 0x0000000013F00000 slide=159

@danif,

 

from your 4g:

      Region: 0x000000000000FF00 pages at 0x0000000000100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x000000000000FF00 pages at 0x0000000000100000 slide=0

      Region: 0x000000000005539F pages at 0x000000001000B000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x0000000000020000 pages at 0x0000000010100000 slide=128

      Region: 0x000000000000029D pages at 0x00000000795AB000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

      Region: 0x0000000000F80000 pages at 0x0000000100000000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because outside limits 0x0000000000100000 - 0x00000000E0000000

    Allocating relocation region - 0x0000000000020000 pages at 0x0000000010100000 slide=128

from your no-4g:

      Region: 0x000000000000FF00 pages at 0x0000000000100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x000000000000FF00 pages at 0x0000000000100000 slide=0

      Region: 0x000000000001539F pages at 0x000000001000B000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x00000000000152AA pages at 0x0000000010100000 slide=128

      Region: 0x000000000000029D pages at 0x00000000395AB000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

    Allocating relocation region - 0x00000000000152AA pages at 0x0000000010100000 slide=128

So a slight difference but probably not going to affect that you should load at slide=128 with either setting.

 

@Riley Freeman,

 

I looked at both and they look about the same so here are just the non-connect ones,

from your z68:

      Region: 0x0000000000000F00 pages at 0x0000000000100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x0000000000000F00 pages at 0x0000000000100000 slide=0

      Region: 0x00000000000007E0 pages at 0x000000000E3FB000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

      Region: 0x0000000000000712 pages at 0x000000000ECEE000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

      Region: 0x00000000000CEE8A pages at 0x000000000F717000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x0000000000020000 pages at 0x000000000F900000 slide=124

    Allocating relocation region - 0x0000000000020000 pages at 0x000000000F900000 slide=124

from your x79:

      Region: 0x0000000000000F00 pages at 0x0000000000100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x0000000000000F00 pages at 0x0000000000100000 slide=0

      Region: 0x00000000000923B3 pages at 0x0000000001100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x0000000000020000 pages at 0x0000000001100000 slide=8

      Region: 0x00000000000233F0 pages at 0x00000000935A5000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has a higher slide position than current relocation region

      Region: 0x00000000000002BC pages at 0x00000000B6C96000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

      Region: 0x00000000000004B8 pages at 0x00000000B6FA6000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

      Region: 0x000000000000055E pages at 0x00000000BB2EC000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

    Allocating relocation region - 0x0000000000020000 pages at 0x0000000001100000 slide=8

from your samsung:

      Region: 0x0000000000000F00 pages at 0x0000000000100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x0000000000000F00 pages at 0x0000000000100000 slide=0

      Region: 0x000000000001EF00 pages at 0x0000000001100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x000000000001EF00 pages at 0x0000000001100000 slide=8

      Region: 0x000000000001FE04 pages at 0x0000000020200000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x000000000001FD04 pages at 0x0000000020300000 slide=257

      Region: 0x000000000006B673 pages at 0x0000000040005000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x0000000000020000 pages at 0x0000000040100000 slide=512

      Region: 0x000000000000266E pages at 0x00000000AB76A000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

      Region: 0x0000000000000058 pages at 0x00000000AE2F7000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

      Region: 0x0000000000000029 pages at 0x00000000AE4DB000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

      Region: 0x000000000000044F pages at 0x00000000B94F5000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

    Allocating relocation region - 0x0000000000020000 pages at 0x0000000040100000 slide=512

@barijaona,

 

You have an excellent memmap with a huge region at slide=0.

      Region: 0x00000000000567A9 pages at 0x0000000000100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x0000000000020000 pages at 0x0000000000100000 slide=0

      Region: 0x000000000001983C pages at 0x0000000056929000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region

    Allocating relocation region - 0x0000000000020000 pages at 0x0000000000100000 slide=0

EDIT: Can someone with one of those attrocious X99 memmaps please perform this test??

Link to comment
Share on other sites

@apianti,

 

I tried to boot replacing aptiofix-free2000 with your OsxMemoryRelocationDxe.efi and adding slide=128 into config.plist but I get this error:

 

"Error allocating 0x800 pages at 0x0...10200000 alloc type 2

 Error loading kernel cache (0x9)

 Boot failed, sleeping..."

 

Should I do something different?

 

Attaching memmap

memmap.txt

Link to comment
Share on other sites

@apianti,

 

I tried to boot replacing aptiofix-free2000 with your OsxMemoryRelocationDxe.efi and adding slide=128 into config.plist but I get this error:

 

"Error allocating 0x800 pages at 0x0...10200000 alloc type 2

 Error loading kernel cache (0x9)

 Boot failed, sleeping..."

 

Should I do something different?

 

Oh man, don't use the driver yet! It's not done, lol. It's only proof of concept right now that I'm trying to work out. Looks promising though, only problem is that region is still reserved by the driver because it never frees it. Looks like it went right into the region and tried to allocate exactly where it was supposed to though. So that is another very positive thing.

 

EDIT: Although anyone wishing to perform this exact same test and post the results would help me greatly.

Link to comment
Share on other sites

Oh man, don't use the driver yet! It's not done, lol. It's only proof of concept right now that I'm trying to work out. Looks promising though, only problem is that region is still reserved by the driver because it never frees it. Looks like it went right into the region and tried to allocate exactly where it was supposed to though. So that is another very positive thing.

 

EDIT: Although anyone wishing to perform this exact same test and post the results would help me greatly.

Are you sure block-wise relocation wouldn't work better, leaving my comments about RT data relocation aside?

Link to comment
Share on other sites

Are you sure block-wise relocation wouldn't work better, leaving my comments about RT data relocation aside?

 

Well I am running some tests right now trying to figure out what is the best stuff to do. I want to use the region as both a relocation block or the eventual slide relocated space. I'm not sure if that is a good enough explanation. I want to try to allow the relocation region to be used as it normally would by boot.efi, unless relocation is definitely needed then use it as the relocation server block. The question is when is relocation needed and what is the cost/benefit of that situation or even coding it? Do the other fixes cover this well enough? Should something be over-complicated if it works for most? I don't know. I want to try to discover methods that don't require doing crazy stuff like the aptiofixes, but whether that's possible at this point is a good question. I've gotten to at least the apple logo and exit boot services being called at this point using purely EFI stuff.

Link to comment
Share on other sites

imo AptioFix doesn't do anything 'unnecessary', just I don't like the methods. e.g. rather than overriding HandleProtocol() to return GOP, I would rather fix the issue by adding a GOP ConSplitter (I'm not sure yet if AMI has some kind of GOP ConSplitter that is not exposed the 'usual way'). For relocation, the kernel entry override is needed as boot.efi saves the relocated addresses to boot_args and DT. I also only want to relocate when needed, but then use a block per relocation instead of having a fixed-size region that is used on demand. That reduces the required space and adds some flexibility. The only contra is that when allocating such a relocation block, it could block a region that boot.efi might want to use after. That could be fixed by only allocating over 4G, but that ofc adds GetMemoryMap() calls and slows the process down. However, my goal is a as-clean-as-possible boot, so if nothing needs to be relocated, nothing has actually been done at all.

Link to comment
Share on other sites

It basically is, either it will just become the region, or will be used to relocate to slide=0. Although maybe I'm too lazy since AptioFix already works to do that for Lion... I have not finished yet obviously, but so far it doesn't seem to have adverse affect on booting anything that I've tried while it's active but it may be a good idea to free the region before booting other oses. I guess just see if the image is a loader type and free the region then.

 

 

I can't exactly remember why either of those exist, but I'm pretty sure both because of kernel panics, or something.

 

 

I doubt that slide=141 will help since most likely that memory will be broken up by allocations by then. This was just a test to see if it was possible to find a slide relocation region and reserve for later instead of trying to allocate when it's needed. I'm going to code some more and hopefully boot will be possible with this driver, and working RT for everyone. lol

AptioFixv2 + slide 141, can now boot(-v) in dell laptop.

But safe mode is not work.

Summary

Only AptioFixv2

-never boot osx

 

AptioFixv2 +slide 141(Your instruction)

-can boot(-v)

-can't boot(-x) safe mode

 

here is when using safe mode

post-980913-0-02328500-1496547369_thumb.jpeg

 

 

 

My method to resolve boot problem in dell laptop.

AptioFixv2-2000.efi+slide calcuation can -v boot and -x boot.

 

Thanks in advance

 

 

나의 LG-F800S 의 Tapatalk에서 보냄

  • Like 1
Link to comment
Share on other sites

My XPS15 9550 with v2+slide=159 and boot well.

 

But i cant set csr=00 and cant boot into safemode.

 

So i think the osxaptiov2fix is old and dont compatible with this new motherboad with big memory.

 

 

从我的 iPhone 发送,使用 Tapatalk

Link to comment
Share on other sites

OsxMemoryRelocation()
  AllocateRelocationRegion()
    GetMemMap(0x00000000CDE887B8 [0x0000000000000000], NULL, 0x00000000CDE887C8, 0x00000000CDE887C0, 0xCDE887B0)
    Allocating memory map
    GetMemMap(0x00000000CDE887B8 [0x0000000000000540], 0x00000000C85D5A98, 0x00000000CDE887C8, 0x00000000CDE887C0, 0xCDE887B0)
    Searching for best relocation region:
      Region: 0x000000000000003F pages at 0x0000000000000000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because outside limits 0x0000000000100000 - 0x00000000E0000000
      Region: 0x0000000000000001 pages at 0x000000000003F000 Type=0x00000006 Attribute=0x800000000000000F
      Region: 0x0000000000000060 pages at 0x0000000000040000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because outside limits 0x0000000000100000 - 0x00000000E0000000
      Region: 0x000000000000FF00 pages at 0x0000000000100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x000000000000FF00 pages at 0x0000000000100000 slide=0
      Region: 0x000000000000000B pages at 0x0000000010000000 Type=0x00000003 Attribute=0x000000000000000F
      Region: 0x00000000000000F5 pages at 0x000000001000B000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region does not have a slide position
      Region: 0x0000000000020000 pages at 0x0000000010100000 Type=0x00000002 Attribute=0x000000000000000F
      Region: 0x0000000000087384 pages at 0x0000000030100000 Type=0x00000007 Attribute=0x000000000000000F
        Relocation region - 0x0000000000020000 pages at 0x0000000030100000 slide=384
      Region: 0x0000000000000080 pages at 0x00000000B7484000 Type=0x00000004 Attribute=0x000000000000000F
      Region: 0x00000000000066E7 pages at 0x00000000B7504000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region
      Region: 0x000000000000019B pages at 0x00000000BDBEB000 Type=0x00000001 Attribute=0x000000000000000F
      Region: 0x0000000000000001 pages at 0x00000000BDD86000 Type=0x00000002 Attribute=0x000000000000000F
      Region: 0x000000000000C000 pages at 0x00000000BDD87000 Type=0x00000004 Attribute=0x000000000000000F
      Region: 0x0000000000000250 pages at 0x00000000C9D87000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because the region has less available pages than current relocation region
      Region: 0x0000000000000A0E pages at 0x00000000C9FD7000 Type=0x00000003 Attribute=0x000000000000000F
      Region: 0x0000000000000D63 pages at 0x00000000CA9E5000 Type=0x00000000 Attribute=0x000000000000000F
      Region: 0x0000000000000074 pages at 0x00000000CB748000 Type=0x00000009 Attribute=0x000000000000000F
      Region: 0x0000000000001E41 pages at 0x00000000CB7BC000 Type=0x0000000A Attribute=0x000000000000000F
      Region: 0x000000000000069F pages at 0x00000000CD5FD000 Type=0x00000006 Attribute=0x800000000000000F
      Region: 0x0000000000000067 pages at 0x00000000CDC9C000 Type=0x00000005 Attribute=0x800000000000000F
      Region: 0x0000000000000001 pages at 0x00000000CDD03000 Type=0x00000004 Attribute=0x000000000000000F
      Region: 0x0000000000000086 pages at 0x00000000CDD04000 Type=0x00000006 Attribute=0x800000000000000F
      Region: 0x0000000000000276 pages at 0x00000000CDD8A000 Type=0x00000004 Attribute=0x000000000000000F
      Region: 0x0000000000330000 pages at 0x0000000100000000 Type=0x00000007 Attribute=0x000000000000000F
        Skipping because outside limits 0x0000000000100000 - 0x00000000E0000000
      Region: 0x0000000000001000 pages at 0x00000000CE000000 Type=0x00000000 Attribute=0x0000000000000000
      Region: 0x0000000000010000 pages at 0x00000000E0000000 Type=0x0000000B Attribute=0x8000000000000001
      Region: 0x0000000000000029 pages at 0x00000000FED1C000 Type=0x0000000B Attribute=0x8000000000000001
      Region: 0x0000000000001000 pages at 0x00000000FF000000 Type=0x0000000B Attribute=0x8000000000000001
    Allocating relocation region - 0x0000000000020000 pages at 0x0000000030100000 slide=384
  AllocateRelocationRegion() => Success
  Overriding start image boot service method
OsxMemoryRelocation() => Success
Image 'FS3:\OsxMemoryRelocationDxe.efi' loaded at C9FD7000 - Success

Hello,

If it can help

Link to comment
Share on other sites

 

    Allocating relocation region - 0x0000000000020000 pages at 0x0000000030100000 slide=384
  AllocateRelocationRegion() => Success
  Overriding start image boot service method
OsxMemoryRelocation() => Success
Image 'FS3:\OsxMemoryRelocationDxe.efi' loaded at C9FD7000 - Success
Hello,

If it can help

It's impressive how much the memory is fragmented on those X99 boards

Link to comment
Share on other sites

@Slice

 

i did test High sierra.

 

some users has ACPIPlatform error. not related clover now. just suspect. other users have to find solution

sandy, broadwell, skylake(me) seems no problem. 

 

you have to just make folder "10.13" when commit

 

i will update platformdata.c infomation and gma.c source. 

 

 

thanks in advance :)

 

 

 

sherlocks fixes.zip

  • Like 5
Link to comment
Share on other sites

4080:

+ NumHighSie = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEYosECSieHighSearchEXT, sizeof(KBEYosECSieHighSearchEXT), KBEYosECSieHighReplaceEXT, 1) +
+ SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEHighSieSearchSIP, sizeof(KBEHighSieSearchSIP), KBEHighSieReplaceSIP, 1);
+ DBG_RT(Entry, "==> kernel High Sierra (DP1): %d replaces done.\n", Num);

 

should be "Num = ..."

  • Like 2
Link to comment
Share on other sites

report bug

 

on apfs partition

seem this partition structure

/dev/disk0 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *256.1 GB   disk0

   1:                        EFI EFI                     209.7 MB   disk0s1

   2:       Microsoft Basic Data Windows 7               110.0 GB   disk0s2

   3:       Microsoft Basic Data Win Data                60.1 GB    disk0s3

   4:                 Apple_APFS Container disk1         69.1 GB    disk0s4

   5:       Apple_KernelCoreDump                         655.4 MB   disk0s5

   6:                  Apple_HFS Mac Data                16.0 GB    disk0s6

 

/dev/disk1 (synthesized):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      APFS Container Scheme -                      +69.1 GB    disk1

                                 Physical Store disk0s4

   1:                APFS Volume Macintosh SSD           17.1 GB    disk1s1

   2:                APFS Volume Preboot                 19.9 MB    disk1s2

   3:                APFS Volume Recovery                521.1 MB   disk1s3

 

   4:                APFS Volume VM                      2.4 GB     disk1s4

 

clover pkg is not working install properly if use apfs partition.

 

in pkg, shown VM partition.

post-980913-0-04358800-1496818968_thumb.png

 

need to fix install script

 

result

post-980913-0-29542200-1496819136_thumb.png

 

install log

 

 

Clover EFI installer log - Wed Jun  7 16:16:15 KST 2017
Installer version: v2.4k r4082 EFI bootloader
======================================================
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:       Microsoft Basic Data Windows 7               110.0 GB   disk0s2
   3:       Microsoft Basic Data Win Data                60.1 GB    disk0s3
   4:                 Apple_APFS Container disk1         69.1 GB    disk0s4
   5:       Apple_KernelCoreDump                         655.4 MB   disk0s5
   6:                  Apple_HFS Mac Data                16.0 GB    disk0s6

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +69.1 GB    disk1
                                 Physical Store disk0s4
   1:                APFS Volume Macintosh SSD           17.5 GB    disk1s1
   2:                APFS Volume Preboot                 19.9 MB    disk1s2
   3:                APFS Volume Recovery                521.1 MB   disk1s3
   4:                APFS Volume VM                      2.4 GB     disk1s4

======================================================
Backing up EFI files

======================================================
Installing BootSectors/BootLoader

Stage 0 - Don't write any of boot0af, boot0md, boot0ss to /
Stage 1 - Don't write any of boot1h2, boot1f32alt, boot1xalt to /
======================================================
Installing RC Scripts

Installing RC scripts on target volume '/'


Theme 'metal' (defined in config.plist) not found !
Using default theme 'random'
======================================================
=========== Clover EFI Installation Finish ===========
======================================================

 

 

 

added.

after used apfs(after install high sierra), can't detect recovery partition in GUI.

  • Like 1
Link to comment
Share on other sites

There is a typo in the ../Platform/Settings.c file
 
line 5628
 

            } else if (AsciiStrStr (Prop->string, "Install%20macOS%20%High20Sierra") || AsciiStrStr (Prop->string, "Install%20macOS%2010.13")) {

should be
 

            } else if (AsciiStrStr (Prop->string, "Install%20macOS%20High%20Sierra") || AsciiStrStr (Prop->string, "Install%20macOS%2010.13")) {

"Install%20macOS%20%High20Sierra"

 

should be

 

"Install%20macOS%20High%20Sierra"

 

Cordially

ErmaC

  • Like 3
Link to comment
Share on other sites

Hi folks,

 

i felt so free and updated the AMDController and Framebuffer infos within "ati.h" and "ati.c". so here they are:

 

ati.h:

typedef enum {
 kNull,
 /* OLDController */
 kWormy,
 kAlopias,
 kCaretta,
 kKakapo,
 kKipunji,
 kPeregrine,
 kRaven,
 kSphyrna,
 /* AMD2400Controller */
 kIago,
 /* AMD2600Controller */
 kHypoprion,
 kLamna,
 /* AMD3800Controller */
 kMegalodon,
 kTriakis,
 /* AMD4600Controller */
 kFlicker,
 kGliff,
 kShrike,
 /* AMD4800Controller */
 kCardinal,
 kMotmot,
 kQuail,
 /* AMD5000Controller */
 kDouc,
 kLangur,
 kUakari,
 kZonalis,
 kAlouatta,
 kHoolock,
 kVervet,
 kBaboon,
 kEulemur,
 kGalago,
 kColobus,
 kMangabey,
 kNomascus,
 kOrangutan,
 /* AMD6000Controller */
 kPithecia,
 kBulrushes,
 kCattail,
 kHydrilla,
 kDuckweed,
 kFanwort,
 kElodea,
 kKudzu,
 kGibba,
 kLotus,
 kIpomoea,
 kMuskgrass,
 kJuncus,
 kOsmunda,
 kPondweed,
 kSpikerush,
 kTypha,
 /* AMD7000Controller */
 kRamen,
 kTako,
 kNamako,
 kAji,
 kBuri,
 kChutoro,
 kDashimaki,
 kEbi,
 kGari,
 kFutomaki,
 kHamachi,
 kOPM,
 kIkura,
 kIkuraS,
 kJunsai,
 kKani,
 kKaniS,
 kDashimakiS,
 kMaguro,
 kMaguroS,
 /* AMD8000Controller */
 kExmoor,
 kBaladi,
 /* AMD9000Controller */
 kMalteseS,
 kLagotto,
 kGreyhoundS,
 kMaltese,
 kBasset,
 kGreyhound,
 kLabrador,
 /* AMD9300Controller */
 kFleuveSWIP,
 /* AMD9500Controller */
 kAcre,
 kDayman,
 kGuariba,
 kHuallaga,
 kOrinoco,
 /* AMD9510Controller*/
 kBerbice,
 /* AMD9515Controller */
 kMazaruni,
 kLongavi,
 /* AMD9520Controller */
 kElqui,
 kCaroni,
 kFlorin,
 kCfgEnd
} config_name_t;

and ati.c

card_config_t card_configs[] = {
  {NULL,  0},
  /* OLDController */
  {"Wormy", 2},
  {"Alopias", 2},
  {"Caretta", 1},
  {"Kakapo", 3},
  {"Kipunji", 4},
  {"Peregrine", 2},
  {"Raven", 3},
  {"Sphyrna", 1},
  /* AMD2400Controller */
  {"Iago", 2},
  /* AMD2600Controller */
  {"Hypoprion", 2},
  {"Lamna", 2},
  /* AMD3800Controller */
  {"Megalodon", 3},
  {"Triakis", 2},
  /* AMD4600Controller */
  {"Flicker", 3},
  {"Gliff", 3},
  {"Shrike", 3},
  /* AMD4800Controller */
  {"Cardinal", 2},
  {"Motmot", 2},
  {"Quail", 3},
  /* AMD5000Controller */
  {"Douc", 2},
  {"Langur", 3},
  {"Uakari", 4},
  {"Zonalis", 6},
  {"Alouatta", 4},
  {"Hoolock", 1},
  {"Vervet", 4},
  {"Baboon", 3},
  {"Eulemur", 3},
  {"Galago", 2},
  {"Colobus", 2},
  {"Mangabey", 2},
  {"Nomascus", 5},
  {"Orangutan", 2},
  /* AMD6000Controller */
  {"Pithecia", 3},
  {"Bulrushes", 6},
  {"Cattail", 4},
  {"Hydrilla", 5},
  {"Duckweed", 4},
  {"Fanwort", 4},
  {"Elodea", 5},
  {"Kudzu", 2},
  {"Gibba", 5},
  {"Lotus", 3},
  {"Ipomoea", 3},
  {"Muskgrass", 4},
  {"Juncus", 4},
  {"Osmunda",     4},
  {"Pondweed", 3},
  {"Spikerush",   4},
  {"Typha",       5},
  /* AMD7000Controller */
  {"Ramen", 6},
  {"Tako", 6},
  {"Namako", 4},
  {"Aji",  4},
  {"Buri", 4},
  {"Chutoro", 5},
  {"Dashimaki", 4},
  {"Ebi",  5},
  {"Gari", 5},
  {"Futomaki", 5},
  {"Hamachi", 4},
  {"OPM", 6},
  {"Ikura", 1},
  {"IkuraS", 6},
  {"Junsai", 6},
  {"Kani", 1},
  {"KaniS", 6},
  {"DashimakiS", 4},
  {"Maguro", 1},
  {"MaguroS", 6},
  /* AMD8000Controller */
  {"Exmoor", 6},
  {"Baladi", 6},
  /* AMD9000Controller */
  {"MalteseS", 1},
  {"Lagotto", 4},
  {"GreyhoundS", 1},
  {"Maltese", 6},
  {"Basset", 4},
  {"Greyhound", 6},
  {"Labrador", 6},
  /* AMD9300Controller */
  {"FlueveSWIP", 4},
  /* AMD9500Controller */
  {"Acre", 3},
  {"Dayman", 6},
  {"Guariba", 6},
  {"Huallaga", 3},
  {"Orinoco", 5},
  /* AMD9510Controller */
  {"Berbice", 5},
  /* AMD9515Controller */
  {"Mazaruni", 5},
  {"Longavi", 5},
  /* AMD9520Controller */
  {"Elqui", 5},
  {"Caroni", 5},
  {"Florin", 6}
};

Feel free to commit. Regards...

Already tested by myself and they seem to work - at least for me.

  • Like 3
Link to comment
Share on other sites

@Slice

i updated clover source.

i tested source with users during 4 days.
no problem.

PMheart added ML/MAV/YOS/EL debug kext inject code.
i added code. included my source files
but once i disable debug ML/MAV/YOS/EL
Because it causes more many boot times(search code has many) than before. to reduce boot time, just commented search ML/MAV/YOS/EL kernel debug.

sorry my english

updated list
-platform data
-kabylake gpu
-framebuffer informatio
-added APFS load info
-can read FirmwareFeaturesMask in gui with use FirmwareFeaturesMask in config.plist
-gathered FirmwareFeaturesMask, PlatformFeature. will can easily deal value(maintainance)
-fixed fakecpuid
-cleaned up code.
-etc



sourceforge i don't have exprience commit in sf.. apianti gave me r/w permission. it's hard for me than github. :rolleyes:

always thanks in advance.

 

removed file to avoid confusion.

i just edited files by fred's report. 

  • Like 8
Link to comment
Share on other sites

Hi Sherlocks

 

 

A little error in setting.c

 

 

  Prop = GetProperty (DictPointer, "FirmwareFeaturesMask");

  if (Prop != NULL) {

    //gFwFeatures = (UINT32)GetPropertyInteger (Prop, gFwFeaturesMask);

    gFwFeaturesMask = (UINT32)GetPropertyInteger (Prop, gFwFeaturesMask);

    DBG ("FirmwareFeaturesMask: 0x%08x\n", gFwFeaturesMask);

  }

 

Fred

  • Like 3
Link to comment
Share on other sites

@Slice

 

i updated clover source.

 

i tested source with users during 4 days.

no problem.

 

PMheart added ML/MAV/YOS/EL debug kext inject code.

i added code. included my source files

but once i disable debug ML/MAV/YOS/EL

Because it causes more many boot times(search code has many) than before. to reduce boot time, just commented search ML/MAV/YOS/EL kernel debug.

 

sorry my english

 

updated list

-platform data

-kabylake gpu

-framebuffer informatio

-added APFS load info

-can read FirmwareFeaturesMask in gui with use FirmwareFeaturesMask in config.plist

-gathered FirmwareFeaturesMask, PlatformFeature. will can easily deal value(maintainance)

-fixed fakecpuid

-cleaned up code.

-etc

 

 

 

sourceforge i don't have exprience commit in sf.. apianti gave me r/w permission. it's hard for me than github. :rolleyes:

 

always thanks in advance.

I saw you've commented the initialization of NumMLDebug, NumMavYosDebug, NumECDebug, but you didn't really comment out these:

  else if (NumECDebug == 1) {
    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEECDebugSearchEXT, sizeof(KBEECDebugSearchEXT), KBEECDebugReplaceEXT, 1) +
          SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEECDebugSearchSIP, sizeof(KBEECDebugSearchSIP), KBEECDebugReplaceSIP, 1);
    
  }
  else if (NumMavYosDebug == 1) {
    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMavYosDebugSearchEXT, sizeof(KBEMavYosDebugReplaceEXT), KBEMavYosDebugReplaceEXT, 1);
          DBG_RT(Entry, "==> kernel Yosemite Debug: %d replaces done.\n", Num);
  }
  else if (NumMLDebug == 1) {
    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMLDebugSearchEXT, sizeof(KBEMLDebugSearchEXT), KBEMLDebugReplaceEXT, 1);
          DBG_RT(Entry, "==> kernel Mountain Lion Debug: %d replaces done.\n", Num)
  }

So it will lead to compilation error...

Link to comment
Share on other sites

Hi Sherlocks

 

 

A little error in setting.c

 

 

  Prop = GetProperty (DictPointer, "FirmwareFeaturesMask");

  if (Prop != NULL) {

    //gFwFeatures = (UINT32)GetPropertyInteger (Prop, gFwFeaturesMask);

    gFwFeaturesMask = (UINT32)GetPropertyInteger (Prop, gFwFeaturesMask);

    DBG ("FirmwareFeaturesMask: 0x%08x\n", gFwFeaturesMask);

  }

 

Fred

 

So, what it should to be? The correct one Sir.. thanks..  :)

Link to comment
Share on other sites

Hi Sherlocks

 

 

A little error in setting.c

 

 

  Prop = GetProperty (DictPointer, "FirmwareFeaturesMask");

  if (Prop != NULL) {

    //gFwFeatures = (UINT32)GetPropertyInteger (Prop, gFwFeaturesMask);

    gFwFeaturesMask = (UINT32)GetPropertyInteger (Prop, gFwFeaturesMask);

    DBG ("FirmwareFeaturesMask: 0x%08x\n", gFwFeaturesMask);

  }

 

Fred

 

eagle eye thanks fred :)

 

 

I saw you've commented the initialization of NumMLDebug, NumMavYosDebug, NumECDebug, but you didn't really comment out these:

  else if (NumECDebug == 1) {
    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEECDebugSearchEXT, sizeof(KBEECDebugSearchEXT), KBEECDebugReplaceEXT, 1) +
          SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEECDebugSearchSIP, sizeof(KBEECDebugSearchSIP), KBEECDebugReplaceSIP, 1);
    
  }
  else if (NumMavYosDebug == 1) {
    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMavYosDebugSearchEXT, sizeof(KBEMavYosDebugReplaceEXT), KBEMavYosDebugReplaceEXT, 1);
          DBG_RT(Entry, "==> kernel Yosemite Debug: %d replaces done.\n", Num);
  }
  else if (NumMLDebug == 1) {
    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMLDebugSearchEXT, sizeof(KBEMLDebugSearchEXT), KBEMLDebugReplaceEXT, 1);
          DBG_RT(Entry, "==> kernel Mountain Lion Debug: %d replaces done.\n", Num)
  }

So it will lead to compilation error...

 

never get complie error. i tested complie and boot. nop

anyway num of kernel debug is not exist - never enter above code(NumECDebug, NumMavYosDebug, NumMLDebug = 0). because i commented SearchAndCount of NumECDebug, NumMavYosDebug, NumMLDebug.

 

if there are many SearchAndCount, we will get long boot time.

 

 

v2 reflected only fred's report. other is same. thanks

sherlocks cloverfixv2.zip

  • Like 2
Link to comment
Share on other sites

Below is "APFS load info" isn't?

 

apfs loaded. log is good.

 

if you have hfs+, you can see. this is my log

 

0:130  0:001  Loading HFSPlus.efi  status=Success

0:131  0:000   - driver needs connecting
0:131  0:000  Loading AppleImageCodec-64.efi  status=Success
0:131  0:000  Loading AppleUITheme-64.efi  status=Success
0:132  0:000  Loading DataHubDxe-64.efi  status=Success
0:137  0:004  Loading AppleKeyAggregator-64.efi  status=Success
0:138  0:000  Loading apfs.efi  status=Success
0:139  0:001   - driver needs connecting
0:139  0:000  Loading FSInject-64.efi  status=Success
0:140  0:000  Loading FirmwareVolume-64.efi  status=Success
0:140  0:000  Loading EmuVariableUefi-64.efi  status=Success
0:141  0:000  EmuVariableUefi Initialize: VariableCommonInitialize = Success, orig services stored, install gEmuVariableControlProtocolGuid = Success
0:141  0:000  Loading SMCHelper-64.efi  status=Success
0:142  0:000  2 drivers needs connecting ...
0:142  0:000  PlatformDriverOverrideProtocol->GetDriver overriden
0:142  0:000  HFS+ driver loaded
0:142  0:000  APFS driver loaded
Link to comment
Share on other sites

×
×
  • Create New...