Index: trunk/i386/libsaio/acpi_patcher.c =================================================================== --- trunk/i386/libsaio/acpi_patcher.c (revision 2846) +++ trunk/i386/libsaio/acpi_patcher.c (revision 2847) @@ -467,6 +467,14 @@ rsdt_entries[i-dropoffset]=rsdt_entries[i]; + // Dropping DMAR (DMA Remapping table) table can fix stuck on "waitForSystemMapper" or "PCI configuration begin" if nothing wokrks except rolling old AppleACPIplatform.kext back. Needs testing with current OEM AppleACPIplatform.kext not with old rolled back one + if (tableSign(table, "DMAR")) + { + DBG("\tOEM DMAR table was dropped\n"); + dropoffset++; + continue; + } + if (drop_ssdt && tableSign(table, "SSDT")) { DBG("\tOEM SSDT tables was dropped\n"); @@ -592,6 +600,14 @@ } xsdt_entries[i - dropoffset] = xsdt_entries[i]; + // Dropping DMAR (DMA Remapping table) table can fix stuck on "waitForSystemMapper" or "PCI configuration begin" if nothing wokrks except rolling old AppleACPIplatform.kext back. Needs testing with current OEM AppleACPIplatform.kext not with old rolled back one + if (tableSign(table, "DMAR")) + { + DBG("\tOEM DMAR table was dropped\n"); + dropoffset++; + continue; + } + if (drop_ssdt && tableSign(table, "SSDT")) { DBG("\tOEM SSDT tables was dropped\n"); Index: trunk/i386/libsaio/hda.c =================================================================== --- trunk/i386/libsaio/hda.c (revision 2846) +++ trunk/i386/libsaio/hda.c (revision 2847) @@ -335,6 +335,7 @@ { HDA_CODEC_ALC898, 0, "ALC898" }, // { HDA_CODEC_ALC899, 0, "ALC899" }, { HDA_CODEC_ALC900, 0, "ALC1150" }, + { HDA_CODEC_ALC1220, 0, "ALC1220" }, { HDA_CODEC_AD1882, 0, "AD1882" }, { HDA_CODEC_AD1882A, 0, "AD1882A" }, Index: trunk/i386/libsaio/hda.h =================================================================== --- trunk/i386/libsaio/hda.h (revision 2846) +++ trunk/i386/libsaio/hda.h (revision 2847) @@ -456,6 +456,7 @@ //#define HDA_CODEC_ALC898 HDA_CODEC_CONSTRUCT(REALTEK, 0x0898) //#define HDA_CODEC_ALC899 HDA_CODEC_CONSTRUCT(REALTEK, 0x0899) #define HDA_CODEC_ALC900 HDA_CODEC_CONSTRUCT(REALTEK, 0x0900) +#define HDA_CODEC_ALC1220 HDA_CODEC_CONSTRUCT(REALTEK, 0x1220) #define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff) /* Motorola */ Index: trunk/i386/libsaio/ati.c =================================================================== --- trunk/i386/libsaio/ati.c (revision 2846) +++ trunk/i386/libsaio/ati.c (revision 2847) @@ -2203,7 +2203,7 @@ void get_vram_size(void) { ati_chip_family_t chip_family = card->info->chip_family; - + card->vram_size = 0; if (chip_family >= CHIP_FAMILY_CEDAR) Index: trunk/i386/libsaio/disk.c =================================================================== --- trunk/i386/libsaio/disk.c (revision 2846) +++ trunk/i386/libsaio/disk.c (revision 2847) @@ -1710,7 +1710,7 @@ char *MavPattern = "Install%20OS%20X%20Mavericks"; char *YosPattern = "Install%20OS%20X%20Yosemite"; char *ECPattern = "Install%20OS%20X%20El%20Capitan"; - char *SierraPattern = "Install%10.12"; + char *SierraPattern = "Install%20macOS%20Sierra"; /* * Only look for OS Version on HFS+ Index: trunk/i386/boot2/drivers.c =================================================================== --- trunk/i386/boot2/drivers.c (revision 2846) +++ trunk/i386/boot2/drivers.c (revision 2847) @@ -1155,12 +1155,17 @@ switch (gDarwinMinor) { case 0: kernelOSVer = 0xA0C0000; break; - default:kernelOSVer = 0xA0C0000; break; //Last known kernel (add here updates) + case 1: kernelOSVer = 0xA0C0100; break; + case 2: kernelOSVer = 0xA0C0200; break; + case 3: kernelOSVer = 0xA0C0200; break; + case 4: kernelOSVer = 0xA0C0300; break; + case 5: kernelOSVer = 0xA0C0400; break; + default:kernelOSVer = 0xA0C0400; break; //Last known kernel (add here updates) } break; default: - kernelOSVer = 0xA0B0100; - break; //Last known kernel + kernelOSVer = 0xA0C0400; + break; } } else @@ -1215,8 +1220,12 @@ case 0xA0B0600: gDarwinMajor = 15; gDarwinMinor = 6; gDarwinRev = 0; break; // 10.11.6 // Sierra case 0xA0C0000: gDarwinMajor = 16; gDarwinMinor = 0; gDarwinRev = 0; break; // 10.12 + case 0xA0C0100: gDarwinMajor = 16; gDarwinMinor = 1; gDarwinRev = 0; break; // 10.12.1 + case 0xA0C0200: gDarwinMajor = 16; gDarwinMinor = 3; gDarwinRev = 0; break; // 10.12.2 + case 0xA0C0300: gDarwinMajor = 16; gDarwinMinor = 4; gDarwinRev = 0; break; // 10.12.3 + case 0xA0C0400: gDarwinMajor = 16; gDarwinMinor = 5; gDarwinRev = 0; break; // 10.12.4 // default = last known kernel - default: gDarwinMajor = 16; gDarwinMinor = 0; gDarwinRev = 0; break; // 10.12; + default: gDarwinMajor = 16; gDarwinMinor = 5; gDarwinRev = 0; break; // 10.12.4; } } Index: trunk/i386/boot2/boot.c =================================================================== --- trunk/i386/boot2/boot.c (revision 2846) +++ trunk/i386/boot2/boot.c (revision 2847) @@ -164,7 +164,7 @@ gMacOSVersion[0] = 0; // TODO identify sierra as macOS - verbose("Booting on %s %s (%s)\n", (MacOSVerCurrent < MacOSVer2Int("10.8")) ? "Mac OS X" : "OS X", gBootVolume->OSFullVer, gBootVolume->OSBuildVer ); + verbose("Booting on %s %s (%s)\n", (MacOSVerCurrent < MacOSVer2Int("10.8")) ? "Mac OS X" : (MacOSVerCurrent < MacOSVer2Int("10.12")) ? "OS X" : "macOS", gBootVolume->OSFullVer, gBootVolume->OSBuildVer ); setupBooterArgs();