mhaeuser Posted July 16, 2016 Share Posted July 16, 2016 Yo, Going through the Apple EFI firmware file of a relatively recent update to the iMac 17,1, I just noticed that support for handling FAT Binaries has returned at some point. I do not know when it was re-added and to which models, though check out the following pics: old iMac 15,1 firmware recent iMac 17,1 firmware iMac 17,1 DxeCore's FAT Binary handling code snippet The first pic shows an older iMac 15,1 firmware - searching for the FAT Binary signature, only a very few are found. These are in TE images, which are executed as part of PEI, so likely not related to FAT Binaries and not applicable to boot.efi anyway. The second shows a rather recent iMac17,1 firmware with quite a few more results, including in DxeCore, which is the module that exposes the LoadImage() function which also loads boot.efi. Finally, DxeCore loaded in IDA Pro reveals that it is indeed FAT Binary code (1000007h is the CPU Type for X86-64, by the way). Why did they add it? I don't know. One of the rather popular rumors is that Apple may introduce ARM Mac models, and this could be just another hint to it. On the other side, I hoped that with the new Apple Filesystem, they finally ditched bless and used the UEFI-way of booting, though this would not require FAT Binaries. Seems like it is not happening... or it is for the current HFS+ support. PS: Andrew Fish is quite active in edk2-devel lately. Seems like Apple still pays devs for EFI development, even though the Mac gets less attention. And I guess they aren't paid for chilling, so something must be going on, I guess? Regards. 6 Link to comment Share on other sites More sharing options...
TheRacerMaster Posted July 16, 2016 Share Posted July 16, 2016 iMac16,1/16,2 only has the FAT bin sig in a TE image (just like iMac15,1 - GUID 4D37DA42-3A0C-4EDA-B9EB-BC0E1DB4713B), even though it was released at the same time as iMac17,1. MacBook9,1 (the only other Skylake Mac) has the FAT bin sig in various PE images (including DxeCore), just like iMac17,1, so it seems to be only Skylake Macs that have FAT binary support. Nice find BTW. 2 Link to comment Share on other sites More sharing options...
Huckleberry Pie Posted July 17, 2016 Share Posted July 17, 2016 Well, Andy hinted that he's been working with Mac OS on ARM some time ago, so these ARM rumours may have at least some basis. Link to comment Share on other sites More sharing options...
mhaeuser Posted July 17, 2016 Author Share Posted July 17, 2016 iMac16,1/16,2 only has the FAT bin sig in a TE image (just like iMac15,1 - GUID 4D37DA42-3A0C-4EDA-B9EB-BC0E1DB4713B), even though it was released at the same time as iMac17,1. MacBook9,1 (the only other Skylake Mac) has the FAT bin sig in various PE images (including DxeCore), just like iMac17,1, so it seems to be only Skylake Macs that have FAT binary support. Nice find BTW. Yeah, I guess Apple has separate code basis for different platforms. Well, Andy hinted that he's been working with Mac OS on ARM some time ago, so these ARM rumours may have at least some basis. Source? And which Andy? AnV? 1 Link to comment Share on other sites More sharing options...
Huckleberry Pie Posted July 18, 2016 Share Posted July 18, 2016 Yeah, I guess Apple has separate code basis for different platforms. Source? And which Andy? AnV? Yup, I am referring to AnV himself. Link to comment Share on other sites More sharing options...
Recommended Posts