Index: trunk/i386/libsaio/stringTable.c =================================================================== --- trunk/i386/libsaio/stringTable.c (revision 1129) +++ trunk/i386/libsaio/stringTable.c (revision 1130) @@ -501,6 +501,8 @@ { override = true; + // NOTE: Values are defined by apple as being in com.apple.Boot.plist + // kMKextCacheKey, kKernelArchKey, kMKextCacheKey, kKernelCacheKey, kKernelNameKey, kKernelFlagsKey if (ret && (strcmp(key, kKernelNameKey) == 0) && (strcmp(overrideVal, "mach_kernel") == 0)) override = false; Index: trunk/i386/boot2/boot.c =================================================================== --- trunk/i386/boot2/boot.c (revision 1129) +++ trunk/i386/boot2/boot.c (revision 1130) @@ -433,6 +433,13 @@ archCpuType = CPU_TYPE_I386; } } + + if (getValueForKey(kKernelArchKey, &val, &len, &bootInfo->chameleonConfig)) { + if (strncmp(val, "i386", 4) == 0) { + archCpuType = CPU_TYPE_I386; + } + } + //archCpuType = CPU_TYPE_I386; // Notify moduals that we are attempting to boot Index: trunk/i386/boot2/boot.h =================================================================== --- trunk/i386/boot2/boot.h (revision 1129) +++ trunk/i386/boot2/boot.h (revision 1130) @@ -49,6 +49,7 @@ #define kTextModeKey "Text Mode" #define kQuietBootKey "Quiet Boot" #define kKernelFlagsKey "Kernel Flags" +#define kKernelArchKey "Kernel Architecture" #define karch "arch" /* boot.c */ #define kProductVersion "ProductVersion" /* boot.c */ #define kMKextCacheKey "MKext Cache"