Index: trunk/i386/libsaio/bootstruct.c =================================================================== --- trunk/i386/libsaio/bootstruct.c (revision 2805) +++ trunk/i386/libsaio/bootstruct.c (revision 2806) @@ -40,6 +40,8 @@ #define DBG(x...) msglog(x) #endif +#define MEG (1024*1024) + /*========================================================================== * Initialize the structure of parameters passed to * the kernel by the booter. @@ -150,8 +152,11 @@ void *addr; int i; - EfiMemoryRange *memoryMap = NULL; - MemoryRange *range = NULL; + /* Memory size to use for defaults calculations (cparm) */ + uint64_t sane_size = 0; + + EfiMemoryRange *memoryMap = NULL; + MemoryRange *range = NULL; int memoryMapCount = bootInfo->memoryMapCount; if (memoryMapCount == 0) @@ -209,6 +214,52 @@ memoryMap->VirtualStart = range->base; memoryMap->NumberOfPages = range->length >> I386_PGSHIFT; memoryMap->Attribute = 0; + + switch (memoryMap->Type) + { + case kEfiLoaderCode: + case kEfiLoaderData: + case kEfiBootServicesCode: + case kEfiBootServicesData: + case kEfiConventionalMemory: + /* + * Consolidate usable memory types into one (cparm). + */ + sane_size += (uint64_t)(memoryMap->NumberOfPages << I386_PGSHIFT); + break; + + case kEfiRuntimeServicesCode: + case kEfiRuntimeServicesData: + case kEfiACPIReclaimMemory: + case kEfiACPIMemoryNVS: + case kEfiPalCode: + /* + * sane_size should reflect the total amount of physical ram + * in the system, not just the amount that is available for + * the OS to use (cparm) + */ + sane_size += (uint64_t)(memoryMap->NumberOfPages << I386_PGSHIFT); + break; + default: + break; + } + + if (sane_size == 0) + { + + // I Guess that if sane_size == 0 we've got a big problem here, + // and it means that the memory map was not converted properly (cparm) + stop("Unable to convert memory map into proper format\n"); + return; + } + + /* + * For user visible memory size, round up to 128 Mb - accounting for the various stolen memory + * not reported by EFI. (cparm) + */ + + sane_size = (sane_size + 128 * MEG - 1) & ~((uint64_t)(128 * MEG - 1)); + bootArgs->PhysicalMemorySize = sane_size; } // copy bootFile into device tree Index: trunk/i386/libsaio/bootargs.h =================================================================== --- trunk/i386/libsaio/bootargs.h (revision 2805) +++ trunk/i386/libsaio/bootargs.h (revision 2806) @@ -132,11 +132,32 @@ #define kBootArgsFlagHiDPI (1 << 1) #define kBootArgsFlagBlack (1 << 2) #define kBootArgsFlagCSRActiveConfig (1 << 3) -#define kBootArgsFlagCSRPendingConfig (1 << 4) +#define kBootArgsFlagCSRConfigMode (1 << 4) #define kBootArgsFlagCSRBoot (1 << 5) #define kBootArgsFlagBlackBg (1 << 6) #define kBootArgsFlagLoginUI (1 << 7) +#define kBootArgsFlagInstallUI (1 << 8) +/* Rootless configuration flags */ +// http://www.idelta.info/archives/kext-to-check-sip-rootless-status-on-el-capitan/ +#define CSR_ALLOW_UNTRUSTED_KEXTS (1 << 0) /* Allow untrusted kexts */ +#define CSR_ALLOW_UNRESTRICTED_FS (1 << 1) /* Allow unrestricted file system. */ +#define CSR_ALLOW_TASK_FOR_PID (1 << 2) /* Allow test_for_pid() */ +#define CSR_ALLOW_KERNEL_DEBUGGER (1 << 3) +#define CSR_ALLOW_APPLE_INTERNAL (1 << 4) +#define CSR_ALLOW_UNRESTRICTED_DTRACE (1 << 5) /* Allow unrestricted dtrace */ +#define CSR_ALLOW_UNRESTRICTED_NVRAM (1 << 6) /* Allow unrestricted NVRAM */ +#define CSR_ALLOW_DEVICE_CONFIGURATION (1 << 7) /* Allow device configuration */ + +#define CSR_VALID_FLAGS (CSR_ALLOW_UNTRUSTED_KEXTS | \ + CSR_ALLOW_UNRESTRICTED_FS | \ + CSR_ALLOW_TASK_FOR_PID | \ + CSR_ALLOW_KERNEL_DEBUGGER | \ + CSR_ALLOW_APPLE_INTERNAL | \ + CSR_ALLOW_UNRESTRICTED_DTRACE | \ + CSR_ALLOW_UNRESTRICTED_NVRAM | \ + CSR_ALLOW_DEVICE_CONFIGURATION) + typedef struct boot_args { uint16_t Revision; /* Revision of boot_args structure */ @@ -181,10 +202,14 @@ uint64_t pciConfigSpaceBaseAddress; uint32_t pciConfigSpaceStartBusNumber; uint32_t pciConfigSpaceEndBusNumber; - uint32_t csrActiveConfig; - uint32_t csrPendingConfig; - uint32_t __reserved4[728]; + uint32_t csrActiveConfig; + uint32_t csrCapabilities; + uint32_t boot_SMC_plimit; + uint16_t bootProgressMeterStart; + uint16_t bootProgressMeterEnd; + uint32_t __reserved4[726]; + } boot_args; typedef struct boot_args_legacy Index: trunk/i386/boot2/boot.c =================================================================== --- trunk/i386/boot2/boot.c (revision 2805) +++ trunk/i386/boot2/boot.c (revision 2806) @@ -149,6 +149,80 @@ entry_t kernelEntry; bootArgs->kaddr = bootArgs->ksize = 0; + // =============================================================================== + + // OS X Mountain Lion 10.8 + if ( MacOSVerCurrent >= MacOSVer2Int("10.8") ) // Mountain Lion and Up! + { + // cparm + bool KPRebootOption = false; + bool HiDPIOption = false; + getBoolForKey(kRebootOnPanic, &KPRebootOption, &bootInfo->chameleonConfig); + if ( KPRebootOption ) + { + bootArgs->flags |= kBootArgsFlagRebootOnPanic; + } + + // cparm + getBoolForKey(kEnableHiDPI, &HiDPIOption, &bootInfo->chameleonConfig); + + if ( HiDPIOption ) + { + bootArgs->flags |= kBootArgsFlagHiDPI; + } + } + + // OS X Yosemite 10.10 + if ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) // Yosemite and Up! + { + // Pike R. Alpha + bool FlagBlackOption = false; + getBoolForKey(kBlackMode, &FlagBlackOption, &bootInfo->chameleonConfig); + if ( FlagBlackOption ) + { + //bootArgs->flags |= kBootArgsFlagBlack; + bootArgs->flags |= kBootArgsFlagBlackBg; // Micky1979 + } + } + + // OS X El Capitan 10.11 + if ( MacOSVerCurrent >= MacOSVer2Int("10.11") ) // El Capitan and Up! + { + // ErmaC + int crsValue; + +#if 0 + /* + * A special BootArgs flag "kBootArgsFlagCSRBoot" + * is set in the Recovery or Installation environment. + * This flag is kind of overkill by turning off all the protections + */ + + if (isRecoveryHD) + { + // SIP can be controlled with or without FileNVRAM.kext (Pike R. Alpha) + bootArgs->flags |= (kBootArgsFlagCSRActiveConfig + kBootArgsFlagCSRConfigMode + kBootArgsFlagCSRBoot); + } +#endif + + bootArgs->flags |= kBootArgsFlagCSRActiveConfig; + + // Set limit to 7bit + if ( getIntForKey(KCsrActiveConfig, &crsValue, &bootInfo->chameleonConfig) && (crsValue >= 0 && crsValue <= 127) ) + { + bootArgs->csrActiveConfig = crsValue; + } + else + { + // zenith432 + bootArgs->csrActiveConfig = 0x67; + } + bootArgs->csrCapabilities = CSR_VALID_FLAGS; + bootArgs->boot_SMC_plimit = 0; + } + + // =============================================================================== + execute_hook("ExecKernel", (void *)binary, NULL, NULL, NULL); ret = DecodeKernel(binary, @@ -320,14 +394,21 @@ } closedir(cacheDir); } - else + else if ( MacOSVerCurrent >= MacOSVer2Int("10.7") && MacOSVerCurrent < MacOSVer2Int("10.10") ) { - // Lion, Mountain Lion, Mavericks, Yosemite and El Capitan prelink kernel cache file - // for 10.7 10.8 10.9 10.10 10.11 + // Lion, Mountain Lion and Mavericks prelink kernel cache file + // for 10.7 10.8 10.9 snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%skernelcache", kDefaultCachePathSnow); verbose("Kernel Cache file path (Mac OS X 10.7 and newer): %s\n", kernelCacheFile); } + else + { + // Yosemite and El Capitan prelink kernel cache file + // for 10.10 10.11 + snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%sprelinkedkernel", kDefaultCachePathYosemite); + verbose("Kernel Cache file path (Mac OS X 10.10 and newer): %s\n", kernelCacheFile); + } } // Check if the kernel cache file exists @@ -903,16 +984,13 @@ // ========================================================================= bool checkOSVersion(const char *version) { - if ( (sizeof(version) > 4) && ('.' != version[4]) && ('\0' != version[4]) ) + if ( '\0' != version[4] ) { - return ((gMacOSVersion[0] == version[0]) && (gMacOSVersion[1] == version[1]) - && (gMacOSVersion[2] == version[2]) && (gMacOSVersion[3] == version[3]) - && (gMacOSVersion[4] == version[4])); + return !memcmp(&gMacOSVersion[0], &version[0], 5); } else { - return ((gMacOSVersion[0] == version[0]) && (gMacOSVersion[1] == version[1]) - && (gMacOSVersion[2] == version[2]) && (gMacOSVersion[3] == version[3])); + return !memcmp(&gMacOSVersion[0], &version[0], 4); } } Index: trunk/i386/boot2/boot.h =================================================================== --- trunk/i386/boot2/boot.h (revision 2805) +++ trunk/i386/boot2/boot.h (revision 2806) @@ -46,6 +46,7 @@ // kernel cache #define kDefaultCachePathLeo "/System/Library/Caches/com.apple.kernelcaches/" #define kDefaultCachePathSnow "/System/Library/Caches/com.apple.kext.caches/Startup/" +#define kDefaultCachePathYosemite "/System/Library/PrelinkedKernels/" // Lion installer #define kLionInstallerDataFolder "/Mac OS X Install Data/" @@ -170,6 +171,7 @@ #define kEnableHDMIAudio "EnableHDMIAudio" /* ati.c && nvidia.c */ /* cparm: added these keys */ +#define kRebootOnPanic "RebootOnPanic" #define kEnableHiDPI "EnableHiDPI" // enable High resolution display (aka Retina) /* ErmaC: added these keys */ @@ -186,6 +188,7 @@ #define kHDAEnabler "HDAEnabler" /* pci_setup.c */ #define kHDEFLayoutID "HDEFLayoutID" /* hda.c */ #define kHDAULayoutID "HDAULayoutID" /* hda.c */ +#define KCsrActiveConfig "CsrActiveConfig" /* boot.c */ /* Pike R. Alpha: added this key */ #define kBlackMode "BlackMode" Index: trunk/i386/util/fdisk/Makefile =================================================================== --- trunk/i386/util/fdisk/Makefile (revision 2805) +++ trunk/i386/util/fdisk/Makefile (revision 2806) @@ -13,8 +13,9 @@ include ${SRCROOT}/Make.rules -LDFLAGS := $(LDFALGS) -mmacosx-version-min=10.5 +LDFLAGS := $(LDFLAGS) -mmacosx-version-min=10.5 +CFLAGS := $(CFLAGS) -mmacosx-version-min=10.5 OBJS = cmd.o32 disk.o32 fdisk.o32 getrawpartition.o32 mbr.o32 misc.o32 opendev.o32 part.o32 user.o32 auto.o32 \ cmd.o64 disk.o64 fdisk.o64 getrawpartition.o64 mbr.o64 misc.o64 opendev.o64 part.o64 user.o64 auto.o64 Index: trunk/i386/util/boot1-install/Makefile =================================================================== --- trunk/i386/util/boot1-install/Makefile (revision 2805) +++ trunk/i386/util/boot1-install/Makefile (revision 2806) @@ -11,16 +11,17 @@ include ${SRCROOT}/Make.rules -LDFLAGS := $(LDFALGS) -mmacosx-version-min=10.5 \ +LDFLAGS := $(LDFLAGS) -mmacosx-version-min=10.5 \ -framework CoreFoundation \ -framework DiskArbitration \ -Wl,-no_source_version \ -Wl,-no_function_starts \ -Wl,-no_data_in_code_info \ -Wl,-no_version_load_command \ --Wl,-no_uuid \ --Wl,-no_dependent_dr_info +-Wl,-no_uuid +CFLAGS := $(CFLAGS) -mmacosx-version-min=10.5 + OBJS = boot1-install.o32 \ boot1-install.o64 Index: trunk/i386/util/Makefile =================================================================== --- trunk/i386/util/Makefile (revision 2805) +++ trunk/i386/util/Makefile (revision 2806) @@ -35,8 +35,10 @@ OBJS := $(addprefix $(OBJROOT)/, $(OBJS)) -LDFLAGS := $(LDFALGS) -framework IOKit -framework CoreFoundation -mmacosx-version-min=10.5 +LDFLAGS := $(LDFLAGS) -framework IOKit -framework CoreFoundation -mmacosx-version-min=10.5 +CFLAGS := $(CFLAGS) -mmacosx-version-min=10.5 + SYMPROG = $(addprefix $(SYMROOT)/, $(PROGRAMS)) DIRS_NEEDED = $(OBJROOT) $(SYMROOT) Index: trunk/doc/BootHelp.txt =================================================================== --- trunk/doc/BootHelp.txt (revision 2805) +++ trunk/doc/BootHelp.txt (revision 2806) @@ -77,6 +77,8 @@ BlackMode=Yes|No The new BlackMode loads the white Apple logo, instead of the gray Apple logo, on a black background (disabled by default). + CsrActiveConfig= Set CsrActiveConfig for OS 10.11.x, range 0..127 (default 0x67) + PciRoot= Use an alternate value for PciRoot (default value 0). UseKernelCache=Yes|No Yes will load pre-linked kernel and will ignore /E/E Index: branches/zenith432/i386/libsaio/bootstruct.c =================================================================== --- branches/zenith432/i386/libsaio/bootstruct.c (revision 2805) +++ branches/zenith432/i386/libsaio/bootstruct.c (revision 2806) @@ -40,6 +40,8 @@ #define DBG(x...) msglog(x) #endif +#define MEG (1024*1024) + /*========================================================================== * Initialize the structure of parameters passed to * the kernel by the booter. @@ -150,8 +152,11 @@ void *addr; int i; - EfiMemoryRange *memoryMap = NULL; - MemoryRange *range = NULL; + /* Memory size to use for defaults calculations (cparm) */ + uint64_t sane_size = 0; + + EfiMemoryRange *memoryMap = NULL; + MemoryRange *range = NULL; int memoryMapCount = bootInfo->memoryMapCount; if (memoryMapCount == 0) @@ -209,6 +214,52 @@ memoryMap->VirtualStart = range->base; memoryMap->NumberOfPages = range->length >> I386_PGSHIFT; memoryMap->Attribute = 0; + + switch (memoryMap->Type) + { + case kEfiLoaderCode: + case kEfiLoaderData: + case kEfiBootServicesCode: + case kEfiBootServicesData: + case kEfiConventionalMemory: + /* + * Consolidate usable memory types into one (cparm). + */ + sane_size += (uint64_t)(memoryMap->NumberOfPages << I386_PGSHIFT); + break; + + case kEfiRuntimeServicesCode: + case kEfiRuntimeServicesData: + case kEfiACPIReclaimMemory: + case kEfiACPIMemoryNVS: + case kEfiPalCode: + /* + * sane_size should reflect the total amount of physical ram + * in the system, not just the amount that is available for + * the OS to use (cparm) + */ + sane_size += (uint64_t)(memoryMap->NumberOfPages << I386_PGSHIFT); + break; + default: + break; + } + + if (sane_size == 0) + { + + // I Guess that if sane_size == 0 we've got a big problem here, + // and it means that the memory map was not converted properly (cparm) + stop("Unable to convert memory map into proper format\n"); + return; + } + + /* + * For user visible memory size, round up to 128 Mb - accounting for the various stolen memory + * not reported by EFI. (cparm) + */ + + sane_size = (sane_size + 128 * MEG - 1) & ~((uint64_t)(128 * MEG - 1)); + bootArgs->PhysicalMemorySize = sane_size; } // copy bootFile into device tree Index: branches/zenith432/i386/libsaio/bootargs.h =================================================================== --- branches/zenith432/i386/libsaio/bootargs.h (revision 2805) +++ branches/zenith432/i386/libsaio/bootargs.h (revision 2806) @@ -132,11 +132,32 @@ #define kBootArgsFlagHiDPI (1 << 1) #define kBootArgsFlagBlack (1 << 2) #define kBootArgsFlagCSRActiveConfig (1 << 3) -#define kBootArgsFlagCSRPendingConfig (1 << 4) +#define kBootArgsFlagCSRConfigMode (1 << 4) #define kBootArgsFlagCSRBoot (1 << 5) #define kBootArgsFlagBlackBg (1 << 6) #define kBootArgsFlagLoginUI (1 << 7) +#define kBootArgsFlagInstallUI (1 << 8) +/* Rootless configuration flags */ +// http://www.idelta.info/archives/kext-to-check-sip-rootless-status-on-el-capitan/ +#define CSR_ALLOW_UNTRUSTED_KEXTS (1 << 0) /* Allow untrusted kexts */ +#define CSR_ALLOW_UNRESTRICTED_FS (1 << 1) /* Allow unrestricted file system. */ +#define CSR_ALLOW_TASK_FOR_PID (1 << 2) /* Allow test_for_pid() */ +#define CSR_ALLOW_KERNEL_DEBUGGER (1 << 3) +#define CSR_ALLOW_APPLE_INTERNAL (1 << 4) +#define CSR_ALLOW_UNRESTRICTED_DTRACE (1 << 5) /* Allow unrestricted dtrace */ +#define CSR_ALLOW_UNRESTRICTED_NVRAM (1 << 6) /* Allow unrestricted NVRAM */ +#define CSR_ALLOW_DEVICE_CONFIGURATION (1 << 7) /* Allow device configuration */ + +#define CSR_VALID_FLAGS (CSR_ALLOW_UNTRUSTED_KEXTS | \ + CSR_ALLOW_UNRESTRICTED_FS | \ + CSR_ALLOW_TASK_FOR_PID | \ + CSR_ALLOW_KERNEL_DEBUGGER | \ + CSR_ALLOW_APPLE_INTERNAL | \ + CSR_ALLOW_UNRESTRICTED_DTRACE | \ + CSR_ALLOW_UNRESTRICTED_NVRAM | \ + CSR_ALLOW_DEVICE_CONFIGURATION) + typedef struct boot_args { uint16_t Revision; /* Revision of boot_args structure */ @@ -181,10 +202,14 @@ uint64_t pciConfigSpaceBaseAddress; uint32_t pciConfigSpaceStartBusNumber; uint32_t pciConfigSpaceEndBusNumber; - uint32_t csrActiveConfig; - uint32_t csrPendingConfig; - uint32_t __reserved4[728]; + uint32_t csrActiveConfig; + uint32_t csrCapabilities; + uint32_t boot_SMC_plimit; + uint16_t bootProgressMeterStart; + uint16_t bootProgressMeterEnd; + uint32_t __reserved4[726]; + } boot_args; typedef struct boot_args_legacy Index: branches/zenith432/i386/boot2/boot.c =================================================================== --- branches/zenith432/i386/boot2/boot.c (revision 2805) +++ branches/zenith432/i386/boot2/boot.c (revision 2806) @@ -149,6 +149,80 @@ entry_t kernelEntry; bootArgs->kaddr = bootArgs->ksize = 0; + // =============================================================================== + + // OS X Mountain Lion 10.8 + if ( MacOSVerCurrent >= MacOSVer2Int("10.8") ) // Mountain Lion and Up! + { + // cparm + bool KPRebootOption = false; + bool HiDPIOption = false; + getBoolForKey(kRebootOnPanic, &KPRebootOption, &bootInfo->chameleonConfig); + if ( KPRebootOption ) + { + bootArgs->flags |= kBootArgsFlagRebootOnPanic; + } + + // cparm + getBoolForKey(kEnableHiDPI, &HiDPIOption, &bootInfo->chameleonConfig); + + if ( HiDPIOption ) + { + bootArgs->flags |= kBootArgsFlagHiDPI; + } + } + + // OS X Yosemite 10.10 + if ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) // Yosemite and Up! + { + // Pike R. Alpha + bool FlagBlackOption = false; + getBoolForKey(kBlackMode, &FlagBlackOption, &bootInfo->chameleonConfig); + if ( FlagBlackOption ) + { + //bootArgs->flags |= kBootArgsFlagBlack; + bootArgs->flags |= kBootArgsFlagBlackBg; // Micky1979 + } + } + + // OS X El Capitan 10.11 + if ( MacOSVerCurrent >= MacOSVer2Int("10.11") ) // El Capitan and Up! + { + // ErmaC + int crsValue; + +#if 0 + /* + * A special BootArgs flag "kBootArgsFlagCSRBoot" + * is set in the Recovery or Installation environment. + * This flag is kind of overkill by turning off all the protections + */ + + if (isRecoveryHD) + { + // SIP can be controlled with or without FileNVRAM.kext (Pike R. Alpha) + bootArgs->flags |= (kBootArgsFlagCSRActiveConfig + kBootArgsFlagCSRConfigMode + kBootArgsFlagCSRBoot); + } +#endif + + bootArgs->flags |= kBootArgsFlagCSRActiveConfig; + + // Set limit to 7bit + if ( getIntForKey(KCsrActiveConfig, &crsValue, &bootInfo->chameleonConfig) && (crsValue >= 0 && crsValue <= 127) ) + { + bootArgs->csrActiveConfig = crsValue; + } + else + { + // zenith432 + bootArgs->csrActiveConfig = 0x67; + } + bootArgs->csrCapabilities = CSR_VALID_FLAGS; + bootArgs->boot_SMC_plimit = 0; + } + + // =============================================================================== + execute_hook("ExecKernel", (void *)binary, NULL, NULL, NULL); ret = DecodeKernel(binary, @@ -320,14 +394,21 @@ } closedir(cacheDir); } - else + else if ( MacOSVerCurrent >= MacOSVer2Int("10.7") && MacOSVerCurrent < MacOSVer2Int("10.10") ) { - // Lion, Mountain Lion, Mavericks, Yosemite and El Capitan prelink kernel cache file - // for 10.7 10.8 10.9 10.10 10.11 + // Lion, Mountain Lion and Mavericks prelink kernel cache file + // for 10.7 10.8 10.9 snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%skernelcache", kDefaultCachePathSnow); verbose("Kernel Cache file path (Mac OS X 10.7 and newer): %s\n", kernelCacheFile); } + else + { + // Yosemite and El Capitan prelink kernel cache file + // for 10.10 10.11 + snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%sprelinkedkernel", kDefaultCachePathYosemite); + verbose("Kernel Cache file path (Mac OS X 10.10 and newer): %s\n", kernelCacheFile); + } } // Check if the kernel cache file exists @@ -903,16 +984,13 @@ // ========================================================================= bool checkOSVersion(const char *version) { - if ( (sizeof(version) > 4) && ('.' != version[4]) && ('\0' != version[4]) ) + if ( '\0' != version[4] ) { - return ((gMacOSVersion[0] == version[0]) && (gMacOSVersion[1] == version[1]) - && (gMacOSVersion[2] == version[2]) && (gMacOSVersion[3] == version[3]) - && (gMacOSVersion[4] == version[4])); + return !memcmp(&gMacOSVersion[0], &version[0], 5); } else { - return ((gMacOSVersion[0] == version[0]) && (gMacOSVersion[1] == version[1]) - && (gMacOSVersion[2] == version[2]) && (gMacOSVersion[3] == version[3])); + return !memcmp(&gMacOSVersion[0], &version[0], 4); } } Index: branches/zenith432/i386/boot2/boot.h =================================================================== --- branches/zenith432/i386/boot2/boot.h (revision 2805) +++ branches/zenith432/i386/boot2/boot.h (revision 2806) @@ -46,6 +46,7 @@ // kernel cache #define kDefaultCachePathLeo "/System/Library/Caches/com.apple.kernelcaches/" #define kDefaultCachePathSnow "/System/Library/Caches/com.apple.kext.caches/Startup/" +#define kDefaultCachePathYosemite "/System/Library/PrelinkedKernels/" // Lion installer #define kLionInstallerDataFolder "/Mac OS X Install Data/" @@ -170,6 +171,7 @@ #define kEnableHDMIAudio "EnableHDMIAudio" /* ati.c && nvidia.c */ /* cparm: added these keys */ +#define kRebootOnPanic "RebootOnPanic" #define kEnableHiDPI "EnableHiDPI" // enable High resolution display (aka Retina) /* ErmaC: added these keys */ @@ -186,6 +188,7 @@ #define kHDAEnabler "HDAEnabler" /* pci_setup.c */ #define kHDEFLayoutID "HDEFLayoutID" /* hda.c */ #define kHDAULayoutID "HDAULayoutID" /* hda.c */ +#define KCsrActiveConfig "CsrActiveConfig" /* boot.c */ /* Pike R. Alpha: added this key */ #define kBlackMode "BlackMode" Index: branches/zenith432/i386/util/boot1-install/Makefile =================================================================== --- branches/zenith432/i386/util/boot1-install/Makefile (revision 2805) +++ branches/zenith432/i386/util/boot1-install/Makefile (revision 2806) @@ -18,8 +18,7 @@ -Wl,-no_function_starts \ -Wl,-no_data_in_code_info \ -Wl,-no_version_load_command \ --Wl,-no_uuid \ --Wl,-no_dependent_dr_info +-Wl,-no_uuid CFLAGS := $(CFLAGS) -mmacosx-version-min=10.5 Index: branches/zenith432/doc/BootHelp.txt =================================================================== --- branches/zenith432/doc/BootHelp.txt (revision 2805) +++ branches/zenith432/doc/BootHelp.txt (revision 2806) @@ -77,6 +77,8 @@ BlackMode=Yes|No The new BlackMode loads the white Apple logo, instead of the gray Apple logo, on a black background (disabled by default). + CsrActiveConfig= Set CsrActiveConfig for OS 10.11.x, range 0..127 (default 0x67) + PciRoot= Use an alternate value for PciRoot (default value 0). UseKernelCache=Yes|No Yes will load pre-linked kernel and will ignore /E/E