Jief_Machak Posted July 6, 2016 Author Share Posted July 6, 2016 Hey Download-fritz, don't be angry. I'm not saying you're wrong. Agree that you may have answered a bit... abruptly. Sorry. Link to comment Share on other sites More sharing options...
Jief_Machak Posted July 8, 2016 Author Share Posted July 8, 2016 To be sure I understood : when Clover is booted through EFI, the whole DUET package that emulate UEFI 2.x isn't loaded at all. Am I right ? Link to comment Share on other sites More sharing options...
Slice Posted July 8, 2016 Share Posted July 8, 2016 To be sure I understood : when Clover is booted through EFI, the whole DUET package that emulate UEFI 2.x isn't loaded at all. Am I right ? Yes. DUET is loaded first by legacy boot from Master Boot record. Link to comment Share on other sites More sharing options...
Jief_Machak Posted July 8, 2016 Author Share Posted July 8, 2016 When DUET is loaded, does that mean that pieces of EFI code stays in memory the whole time the os is running ? Link to comment Share on other sites More sharing options...
Slice Posted July 8, 2016 Share Posted July 8, 2016 When DUET is loaded, does that mean that pieces of EFI code stays in memory the whole time the os is running ? Not sure. DUET occupies low memory that modern system will not touch because it is legacy area. In the case of Mac boot.efi puts all data into DeviceTree and loads kernel(cache). No more EFI code used except GetVariable() and SetVariable() which loaded into special memory area. So called Runtime Services. In the case of Windows UEFI I don't know methods of work. I just know it works with my legacy Clover booting. Link to comment Share on other sites More sharing options...
Jief_Machak Posted July 8, 2016 Author Share Posted July 8, 2016 And DUET can only be loaded by legacy boot, or it could be an efi application. I mean : is it possible that an efi firmware loads DUET to partially or completely replace it ? Link to comment Share on other sites More sharing options...
Slice Posted July 8, 2016 Share Posted July 8, 2016 And DUET can only be loaded by legacy boot, or it could be an efi application. I mean : is it possible that an efi firmware loads DUET to partially or completely replace it ? One should write a efi application to load DUET binary to address 0xE000 and jump there in real mode. Or may be in protected mode but performing initialization like boot sector did. All this is open sourcered. Jumping in Real Mode you can switch from EFI32 to DUET EFI64. This also can be a small code snippet in Clover as it has legacy boot in real mode. Just tell him what to do. Link to comment Share on other sites More sharing options...
Pavo Posted July 8, 2016 Share Posted July 8, 2016 Jief_Machak, so correct me if I am wrong but from what I read on this thread is that you are booting Clover as legacy mode and able to get a boot screen on a real mac with a normal PC graphics card? Link to comment Share on other sites More sharing options...
mhaeuser Posted July 8, 2016 Share Posted July 8, 2016 One should write a efi application to load DUET binary to address 0xE000 and jump there in real mode. Or may be in protected mode but performing initialization like boot sector did. All this is open sourcered. Jumping in Real Mode you can switch from EFI32 to DUET EFI64. This also can be a small code snippet in Clover as it has legacy boot in real mode. Just tell him what to do. Actually not a bad idea, as hardware is already initialized by the time DUET executes... that also means SEC and PEI are pretty much redundant, so maybe catch the HOBs and call DUET DxeIpl with them? Probably would have to convert platform UEFI memory map to PEI HOB memory map format. Maybe ExitBootServices() first to make sure Platform UEFI is terminated? Link to comment Share on other sites More sharing options...
Jief_Machak Posted July 8, 2016 Author Share Posted July 8, 2016 @Pavo : now I've flashed my PC card with GOP, I can have graphic in EFI mode. But there is still a problem with Apple EFI which is not UEFI 2.x, needed to boot windows. Of course, I can still boot Clover legacy when I want Window and Clover EFI when I want Os X. I would be very neat to be able to boot DUET from Clover EFI. It would bring UEFI 2 to old mac. There is also new PC EFI only. No doubt there will be buggy implementation and that would be also nice to have DUET, I guess. So yes, if it's possible that EFI launch DUET who take over and bring missing functionality, that would be best of both world ? Download-Fritz, I have to read more about HOBs ? Link to comment Share on other sites More sharing options...
mhaeuser Posted July 8, 2016 Share Posted July 8, 2016 HOBs are data structures passed from PEI to DXE - they continue at least a description of the permanent memory (usually DRAM), but may contain more. Regarding your Windows issue - again, did you try booting it directly? As in having it set as default boot option (risky as you may have a hard time changing back) or launching from EFI Shell (Shell would need to be default, please not Clover -> Shell -> Windows). Link to comment Share on other sites More sharing options...
Jief_Machak Posted July 8, 2016 Author Share Posted July 8, 2016 How could I launch a shell if I don't boot Clover ? From what I read, Apple EFI cannot boot Windows EFI. Something about EFI 1.x vs EFI 2.x. My understanding (quite little, I agree) is that if DUET isn't loaded, Windows EFI cannot be launched. Something's missing in EFI 1. A protocol ? Link to comment Share on other sites More sharing options...
mhaeuser Posted July 8, 2016 Share Posted July 8, 2016 Apple has been implementing UEFI 2.0 features ever since thex went x64, though never really complied to either EFI or UEFI spec to full extent. And you would launch Shell the same way you would launch Clover, both are UEFI apps. Link to comment Share on other sites More sharing options...
Jief_Machak Posted July 8, 2016 Author Share Posted July 8, 2016 It seems not on a Mac Pro 3,1. MacPro 3,1 is EFI 64 bits. Clover report "Apple EFI 1.1". The more recent one have been updated. For shell, console mode doesn't work. Only graphic so far. It only works if I boot legacy. Something in egInitScreen ? I didn't have a look. Link to comment Share on other sites More sharing options...
mhaeuser Posted July 9, 2016 Share Posted July 9, 2016 You can't decide what features a firmware has by the name string it outputs... Apple supported GOP for quite a while now (2nd Choice) and it was introduced with UEFI 2.0. Regarding text mode: Idk, Never had an Intel Mac. Link to comment Share on other sites More sharing options...
Jief_Machak Posted July 9, 2016 Author Share Posted July 9, 2016 Again, not in Mac Pro 3,1... It's EFI 1.1 (Apple version not truly 1.1, no GOP). Link to comment Share on other sites More sharing options...
mhaeuser Posted July 9, 2016 Share Posted July 9, 2016 How do you know? Your firmware may support GOP consumption, but prefer the AppleGraphicsPolicy protocols, as Mac Pro is the only platform I know which still exposes them. Also, EFI 1.10 doesn't have X64 support in its specification... so, there we go EFI 1.10. It's Apple EFI and there is no way you can say which version of (U)EFI it conforms to, because it doesn't fully to any. Link to comment Share on other sites More sharing options...
Jief_Machak Posted July 9, 2016 Author Share Posted July 9, 2016 I agree. Everywhere I read that Apple made his own EFI for MacPro 3,1 (and others) adding some but not all from UEFI 2.x. The sure thing is, My MacPro can't boot Windows EFI. DUET can. My MacPro doesn't initialise my graphics card. Clover or Refind (i submitted a patch) can. If there is a way to add missing feature to Apple "EFI" firmware of my MacPro, it would be nice. Link to comment Share on other sites More sharing options...
mhaeuser Posted July 9, 2016 Share Posted July 9, 2016 I don't know if that EFI version supports GOP... if it does, it could be easy as removing the AppleGraphicsPolicy protocols when installed. Get a dump of your ROM (either from Apple website or via a flash tool) and search for GOP's GUID with UEFITool, then we'll know. Link to comment Share on other sites More sharing options...
Jief_Machak Posted July 9, 2016 Author Share Posted July 9, 2016 I'll be away for few days. When back, I'll dump my Mac Pro firmware (no idea how to to that by the way...). Link to comment Share on other sites More sharing options...
Pavo Posted September 24, 2016 Share Posted September 24, 2016 So I am trying to get Clover to inject a custom SSDT on a real 2010 MacPro5,1 any suggestions? Link to comment Share on other sites More sharing options...
Slice Posted September 24, 2016 Share Posted September 24, 2016 So I am trying to get Clover to inject a custom SSDT on a real 2010 MacPro5,1 any suggestions? You are the developer! 2 Link to comment Share on other sites More sharing options...
Pavo Posted September 24, 2016 Share Posted September 24, 2016 Well that besides the point, I have tried with dropping OEM and with not dropping OEM and only thing I can get to change is the PCI device name from PXS1 to GFX0 Link to comment Share on other sites More sharing options...
Actionable_Mango Posted November 14, 2016 Share Posted November 14, 2016 So today, I've added the screen initialisation that Clover does to rEFInd. Great, I can directly boot to rEFInd, thus eliminating the first step. Hi Jief, Do you know if your submitted patch has been added yet, and if not, is there a way I can implement your patch myself? There are many of us using Mac Pros that would like boot screens using PC cards, and rEFInd would be a more fitting solution for a real Mac than Clover. Edit: I found what I think is your submitted fork on SourceForge. Thanks. Link to comment Share on other sites More sharing options...
MaZeN oSaMa Posted December 8, 2016 Share Posted December 8, 2016 Hi Jief, Do you know if your submitted patch has been added yet, and if not, is there a way I can implement your patch myself? There are many of us using Mac Pros that would like boot screens using PC cards, and rEFInd would be a more fitting solution for a real Mac than Clover. Edit: I found what I think is your submitted fork on SourceForge. Thanks. Can u give me the link for his fork plz Link to comment Share on other sites More sharing options...
Recommended Posts