Index: trunk/i386/libsaio/fake_efi.c =================================================================== --- trunk/i386/libsaio/fake_efi.c (revision 2430) +++ trunk/i386/libsaio/fake_efi.c (revision 2431) @@ -68,12 +68,22 @@ return ((uint64_t)addr | 0xFFFFFF8000000000ULL); } +// ========================================================================== +// ErmaC +static inline uint64_t getCPUTick(void) +{ + uint32_t lowest; + uint32_t highest; + __asm__ volatile ("rdtsc" : "=a" (lowest), "=d" (highest)); + return (uint64_t) highest << 32 | lowest; +} + /*========================================================================== * Fake EFI implementation */ /* Identify ourselves as the EFI firmware vendor */ -static EFI_CHAR16 const FIRMWARE_VENDOR[] = {'C','h','a','m','e','l','e','o','n','_','2','.','2', 0}; +static EFI_CHAR16 const FIRMWARE_VENDOR[] = {'C','h','a','m','e','l','e','o','n','_','2','.','3', 0}; // Bungo //static EFI_UINT32 const FIRMWARE_REVISION = 132; /* FIXME: Find a constant for this. */ static EFI_UINT32 const FIRMWARE_REVISION = 0x0001000a; // got from real MBP6,1 @@ -699,8 +709,28 @@ length = strlen(bootInfo->bootFile); DT__AddProperty(chosenNode, "boot-file", length + 1, bootInfo->bootFile); +// DT__AddProperty(chosenNode, "boot-device-path", bootDPsize, gBootDP); +// DT__AddProperty(chosenNode, "boot-file-path", bootFPsize, gBootFP); + +// DT__AddProperty(chosenNode, "boot-kernelcache-adler32", sizeof(adler32), adler32); + DT__AddProperty(chosenNode, "machine-signature", sizeof(EFI_UINT32), (EFI_UINT32 *)&MachineSig); + + +// +// + + + + + + + + + + +// } /* Index: trunk/i386/boot2/drivers.c =================================================================== --- trunk/i386/boot2/drivers.c (revision 2430) +++ trunk/i386/boot2/drivers.c (revision 2431) @@ -240,8 +240,11 @@ error("Could not load %s\n", gMKextName); return -1; } - } else { - if ( MAVERICKS ) { + } + else + { + if ( MAVERICKS || YOSEMITE ) // issue 352 + { strlcpy(gExtensionsSpec, dirSpec, 4087); /* 4096 - sizeof("Library/") */ strcat(gExtensionsSpec, "Library/"); FileLoadDrivers(gExtensionsSpec, 0); Index: trunk/i386/boot2/boot.h =================================================================== --- trunk/i386/boot2/boot.h (revision 2430) +++ trunk/i386/boot2/boot.h (revision 2431) @@ -30,7 +30,7 @@ #include "libsaio.h" // OS X Versions - +#define YOSEMITE checkOSVersion("10.10") // Yosemite #define MAVERICKS checkOSVersion("10.9") // Mavericks #define MOUNTAIN_LION checkOSVersion("10.8") // Mountain Lion #define LION checkOSVersion("10.7") // Lion Index: trunk/CHANGES =================================================================== --- trunk/CHANGES (revision 2430) +++ trunk/CHANGES (revision 2431) @@ -1,3 +1,4 @@ +- ErmaC : getCPUTick() helper function ( http://www.insanelymac.com/forum/topic/301350-lets-make-random-seed-really-random/ ) - ErmaC : Add Yosemite Icons detection for chameleon UI - blackosx : Add chameleon UI Icons for Yosemite - ErmaC : Use macro instead of full checkOSVersion