Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by ErmaC

  1. revision 2874 is up on the svn


    All the changes, improvements update and ports made by Micky1979 are committed...

    (I will w8 to publish a pre-packed pkg... the latest Micky's rc6 is the same as 2874)


    now is time for deep testing and fixing bugs, then we can merge it to the main trunk..


    NOTE: also for AMD developer can take this as base for his test and adding code for new cpus



  2. Guys, finally we have the NVRAM + kernel and kexts patcher (working on the prelinkedkernel). Moved the old and new code from drivers.c to load.c  in the appropriate DecodeMacho/segments functions  B)

    Later I'll give you a boot file to test! :thumbsup_anim:

    Congratulations!!! :D



  3. Speaking of which, is there any particular reason testing the new code to be done this way instead of using GIT's branching?

    PS: I see now that you have write access to the Micky1979's github repo... sorry...

    Hi philip_petev.

    I don't think there is any particular problem in branching it... but looking at the "complexity" of the project (IMHO) there no reason to

    branch it... (there is a single main shell script :o )... so if you prefer branch from the master into a "feature" branch then merge it...

    is up to you...


    PS: I don't know if you read my previous post.. I apply your changes to test script because I see later your write access to the repo..



  4. Made some changes to the script with the following fixes:


    I'd like to see some feedback from you before I can push those changes to the repo.

    Hi philip_petev,

    I push your suggest changes into a Test script (it work in the same way as the main script)



    Hope it help

    (I don't have time to try and test it)


    PS: I see now that you have write access to the Micky1979's github repo... sorry...



  5. AMD GREENLAND (Polaris 12?) (?)

    --> linux kernel 



      /* Polaris12 */
      {0x6980, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12",        kNull },
      {0x6981, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12",        kNull },
      {0x6985, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12",        kNull },
      {0x6986, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12",        kNull },
      {0x6987, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12",        kNull },
      {0x699F, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12",        kNull },

     CHIP_FAMILY_ELLESMERE, /* Polaris 10 */
     CHIP_FAMILY_BAFFIN,   /* Polaris 11 */
     CHIP_FAMILY_GREENLAND, /* Polaris 12 */
    } ati_chip_family_t;
    ati.c/h -> polaris12_IDs.zip



  6. Can i have any chance in your code?

    Hi Sherlocks...

    the recently changes no make any difference, because what the code do is a sort of LSPCI...

    capture data from the device iterate with the internal "reference" (the hardcoded controller name) and show it in the GUI...

    ...can be useful only in that way IMHO... like a direct "reference" for the hardware owned.

    now.. take in mind all the probe on the peripheral are categorized based on PCI class and class sub field, like

    network controller (02), graphics controller (03)

    or audio/multimedia (04) (HD subfield is 0x0403) maybe have a new subfield? maybe 0x0480? .. no idea...



  7. Tiny update to the recent implementation of the HDA infos


    This is still a work in progress, and not affect how Clover works.

    I "port" the codec list from Enoch and his relatives methods/functions (hda.c),

    renamed stuff related with HDA controller in Platform.h and Settings.c

    prepared the "place holder" for the codec info into menu.c


    I hope to dedicate more time on this... in the near future.


    - rEFIt_UEFI/Platform/hda.c

    - rEFIt_UEFI/Platform/hda.h

    - rEFIt_UEFI/Platform/Platform.h

    - rEFIt_UEFI/Platform/Settings.c

    - refit/menu.c


    --> Clover_HDA_update.zip





  8. Added ability to show Debian and Kali Linux distro in the Clover GUI


    Just added "DADDY" Debian on the top of all his Debian-based releases (derivatives) with one of his child (Kali) to the list.













    diff --git a/rEFIt_UEFI/entry_scan/loader.c b/rEFIt_UEFI/entry_scan/loader.c
    index 25657a9..5f1e86f 100644
    --- a/rEFIt_UEFI/entry_scan/loader.c
    +++ b/rEFIt_UEFI/entry_scan/loader.c
    @@ -80,8 +80,6 @@ STATIC LINUX_PATH_DATA LinuxEntryData[] = {
       { L"\\EFI\\Gentoo\\grubx64.efi", L"Gentoo EFI boot menu", L"gentoo,linux", "Gentoo" },
       { L"\\EFI\\Gentoo\\kernelx64.efi", L"Gentoo EFI kernel", L"gentoo,linux" },
       { L"\\EFI\\RedHat\\grubx64.efi", L"RedHat EFI boot menu", L"redhat,linux", "Redhat" },
    +  { L"\\EFI\\debian\\grubx64.efi", L"Debian EFI boot menu", L"debian,linux", "Debian" },
    +  { L"\\EFI\\kali\\grubx64.efi", L"Kali EFI boot menu", L"kali,linux", "Kali" },
       { L"\\EFI\\ubuntu\\grubx64.efi", L"Ubuntu EFI boot menu", L"ubuntu,linux", "Ubuntu" },
       { L"\\EFI\\kubuntu\\grubx64.efi", L"kubuntu EFI boot menu", L"kubuntu,linux", "kubuntu" },
       { L"\\EFI\\LinuxMint\\grubx64.efi", L"Linux Mint EFI boot menu", L"mint,linux", "Linux Mint" },
    - rEFIt_UEFI/entry_scan/loader.c





  9. i finished more update platformdata.c and clean up, i will update platformdata.c if i get it about missing data


    contain all macpro, all macbook, all macbookpro(from 1.1 to 13,3 15inch touchbar), macmini, imac(since 8,1)


    i tested clover build(base 3943), good working:)


    i spent many time for this. but i'm really happy to help clover team.


    i hope that my nickname Sherlocks, but shown sherlocks in menu.c, can you change like Sherlocks?


    have a nice day :)

    attachicon.gif스크린샷 2016-11-23 오후 10.30.38.png

    Good update!


    a tiny change for cpu.c due to this update...


          case CPU_MODEL_IVY_BRIDGE:
          case CPU_MODEL_IVY_BRIDGE_E5:
            DefaultType = MacBookAir52;
          case CPU_MODEL_HASWELL:
          case CPU_MODEL_HASWELL_E:
          case CPU_MODEL_ATOM_3700:
            DefaultType = MacBookAir62;
          case CPU_MODEL_HASWELL_ULT:
    -      case CPU_MODEL_HASWELL_U5:
          case CPU_MODEL_BROADWELL_HQ:
          case CPU_MODEL_SKYLAKE_U:
            DefaultType = MacBookPro111;
    +      case CPU_MODEL_HASWELL_U5: // Broadwell 0x3D
    +        DefaultType = MacBookPro121;
    +                break;
    For suite the new model with CPU probably more changes are needed...


    any chance to inject also the smc-compatible? w/o manually edit the FakeSMC?


    the array data coming from this spanish topic (thx Derty)

    CHAR8* SmcCompatible[] =
      "smc-napa",   // MacBook1,1
      "smc-napa",   // MacBook2,1
      "smc-napa",   // MacBook4,1 // need to find.. default "smc-napa" 
      "smc-mcp",    // MacBook5,1
      "smc-mcp",    // MacBook5,2
      "smc-mcp",    // MacBook6,1
      "smc-mcp",    // MacBook7,1
      "smc-napa",   // MacBook8,1 // need to find.. default "smc-napa"
      "smc-napa",   // MacBook9,1 // need to find.. default "smc-napa"
      "smc-napa",        // MacBookPro1,1   // need to find.. default "smc-napa"
      "smc-napa",        // MacBookPro2,2   // need to find.. default "smc-napa" 
      "smc-napa",        // MacBookPro3,1   // need to find.. default "smc-napa"
      "smc-napa",        // MacBookPro4,1   // need to find.. default "smc-napa",
      "smc-mcp",          // MacBookPro5,1
      "smc-mcp",          // MacBookPro5,3
      "smc-mcp",          // MacBookPro5,5
      "smc-napa",         // MacBookPro6,1   // need to find.. default "smc-napa"
      "smc-napa",         // MacBookPro6,2   // need to find.. default "smc-napa"
      "smc-huronriver",   // MacBookPro8,1
      "smc-huronriver",   // MacBookPro8,2
      "smc-huronriver",   // MacBookPro8,3
      "smc-napa",         // MacBookPro9,1   // need to find.. default "smc-napa"
      "smc-napa",         // MacBookPro9,2   // need to find.. default "smc-napa"
      "smc-napa",         // MacBookPro10,1  // need to find.. default "smc-napa"
      "smc-napa",         // MacBookPro10,2  // need to find.. default "smc-napa"
      "smc-napa",         // MacBookPro11,1  // need to find.. default "smc-napa"
      "smc-napa",         // MacBookPro11,2  // need to find.. default "smc-napa"
      "smc-napa",         // MacBookPro11,5  // need to find.. default "smc-napa"
      "smc-huronriver",   // MacBookPro12,1
      "smc-napa",         // MacBookPro13,1 // need to find.. default "smc-napa"
      "smc-napa",         // MacBookPro13,2  // need to find.. default "smc-napa"
      "smc-napa",         // MacBookPro13,3 // need to find.. default "smc-napa"
      "smc-santarosa",  // MacBookAir1,1
      "smc-mcp",        // MacBookAir2,1
      "smc-mcp",        // MacBookAir3,1
      "smc-napa",       // MacBookAir4,1   // need to find.. default "smc-napa"
      "smc-napa",       // MacBookAir4,2   // need to find.. default "smc-napa"
      "smc-napa",       // MacBookAir5,1   // need to find.. default "smc-napa"
      "smc-napa",       // MacBookAir5,2   // need to find.. default "smc-napa"
      "smc-napa",       // MacBookAir6,1   // need to find.. default "smc-napa"
      "smc-napa",       // MacBookAir6,2   // need to find.. default "smc-napa"
      "smc-napa",       // MacBookAir7,1   // need to find.. default "smc-napa"
      "smc-napa",       // MacBookAir7,2   // need to find.. default "smc-napa"
      "smc-napa",       // Macmini1,1
      "smc-napa",       // Macmini2,1
      "smc-mcp",        // Macmini3,1
      "smc-napa",       // Macmini4,1
      "smc-napa",       // Macmini5,1
      "smc-santarosa",  // Macmini6,1
      "smc-santarosa",  // Macmini6,2
      "smc-santarosa",  // Macmini7,1
      "smc-santarosa",     // iMac8,1
      "smc-napa",          // iMac9,1
      "smc-mcp",           // iMac10,1
      "smc-piketon",       // iMac11,1
      "smc-piketon",       // iMac11,2
      "smc-piketon",       // iMac11,3
      "smc-huronriver",    // iMac12,1
      "smc-huronriver",    // iMac12,2
      "smc-napa",          // iMac13,1 // need to find.. default "smc-napa"
      "smc-napa",          // iMac13,2 // need to find.. default "smc-napa"
      "smc-napa",          // iMac14,1 // need to find.. default "smc-napa"
      "smc-napa",          // iMac14,2 // need to find.. default "smc-napa"
      "smc-napa",          // iMac15,1 // need to find.. default "smc-napa"
      "smc-napa",          // iMac17,1 // need to find.. default "smc-napa"
      "smc-napa",       // MacPro1,1
      "smc-napa",       // MacPro2,1
      "smc-napa",       // MacPro3,1
      "smc-thurley",    // MacPro4,1
      "smc-thurley",    // MacPro5,1
      "smc-huronriver", // MacPro6,1


  10. TESTED: works, but still no difference: VRAM of RX460 and RX480 still NOT correct detected. Still shows "0MB" (sometimes "-1MB").

    Status of "ATI Card posted": NonPOSTed



    Yes I know!


    It's only a refactorized way for a better usage the logic not change.. ;)



  11. Hi all...


    I rewrote the function get_void_size... I think is more clear and correct.. I prefer it instead of nested condition





    void get_vram_size(void)
      //check card->vram_size in bytes!
      ati_chip_family_t chip_family = card->info->chip_family;
      card->vram_size = 128 << 20; //default 128Mb, this is minimum for OS
      if (gSettings.VRAM != 0) {
        card->vram_size = gSettings.VRAM;
        DBG("Set VRAM from config=%dMb\n", (INTN)RShiftU64(card->vram_size, 20));
        //    WRITEREG32(card->mmio, RADEON_CONFIG_MEMSIZE, card->vram_size);
      } else {
    // ErmaC: mem size workaround for Polaris10/11
    if (chip_family >= CHIP_FAMILY_MULLINS) {
          card->vram_size = ((UINT64)REG32(card->mmio, POLARIS_CONFIG_MEMSIZE)) << 20; // ydeng
        } else if (chip_family >= CHIP_FAMILY_CEDAR) {
          // size in MB on evergreen
          // XXX watch for overflow!!!
          card->vram_size = ((UINT64)REG32(card->mmio, R600_CONFIG_MEMSIZE)) << 20;
        } else if (chip_family >= CHIP_FAMILY_R600) {
          card->vram_size = REG32(card->mmio, R600_CONFIG_MEMSIZE);
        } else {
          card->vram_size = REG32(card->mmio, RADEON_CONFIG_MEMSIZE);
          if (card->vram_size == 0) {
            card->vram_size = REG32(card->mmio, RADEON_CONFIG_APER_SIZE);
            //Slice - previously I successfully made Radeon9000 working
            //by writing this register
            WRITEREG32(card->mmio, RADEON_CONFIG_MEMSIZE, (UINT32)card->vram_size);
    DBG("Set VRAM for %a=%dMb\n", chip_family_name[card->info->chip_family], (INTN)RShiftU64(card->vram_size, 20));
      gSettings.VRAM = card->vram_size;
      DBG("ATI: get_vram_size returned 0x%x\n", card->vram_size);



  12. Hi Slice, I'm still in bed with hight fever, yet, due to chickenpox and no enough spirit to go downstairs start the PC to made a commit with new edk2. (OMG, chickenpox is really hard and I also look like a raw hamburger)

    Can anyone (Needy, ErmaC, STLVNUB..) do it and also increase the version string? (on non test version)

    Don't worry Micky1979...

    I'm going to push it right now from test script.




    edit: DONE


    bool amdgpu_card_posted(struct amdgpu_device *adev)
        uint32_t reg;
        /* then check MEM_SIZE, in case the crtcs are off */
        reg = RREG32(mmCONFIG_MEMSIZE);
        if (reg)
            return true;
        return false;


    #define mmCONFIG_MEMSIZE 0x150a
    Mork von Ork

    can you give it a try? (as always the log pls...)


    -> CLOVER_REG_TEST.zip