Index: branches/azimutz/CleanCut/doc-azi/CHANGES.txt =================================================================== --- branches/azimutz/CleanCut/doc-azi/CHANGES.txt (revision 528) +++ branches/azimutz/CleanCut/doc-azi/CHANGES.txt (revision 529) @@ -49,11 +49,9 @@ ---------------//---------------//--------------- -- (rev 335) +- (rev 335) (REVERTED to trunk way, rev 520) Change: merged the educational side of arch=i386 + the practical one of -x32, into a simple 32 booter flag. - - Type just 32 to get you booted into i386 arch. Note: -x32 was removed from trunk on rev 377. @@ -69,18 +67,16 @@ ---------------//---------------//--------------- -- (rev 335) +- (rev 335) (REMOVED, rev 520) Change: added -legacy kernel flag. This flag tells the booter to load i386 arch before is passed to the kernel. This procedure only needs to be done on Snow Leopard. -legacy tells the kernel to disable "64 Bit Mode", which allows 64 bit processors to run 64 bit apps under i386 mach kernel. - Type -legacy to get you booted into i386 arch, Legacy Mode. + Type -legacy to get you booted into Legacy Mode. Note: only useful on 64 bit processors. - Note: this flag is not really needed; typing "32 -legacy" (no "") does the trick. It's just handy! - Note: just out of curiosity and for those who don't know, Legacy Mode is in fact the mode used by 32 bit "only" processors! Since OS X kernel can handle 64 bit apps even on i386 arch, 64 bit processors need this flag to disable any handling of 64 bit instructions, when @@ -91,7 +87,7 @@ ---------------//---------------//--------------- -- (rev 335) +- (rev 335) (REVERTED to trunk way, rev 520) Change: added 64 bit booter flag, to keep company to the 32 one :) Motif: mainly to override 32 or -legacy if they are flagged on the Boot.plist. @@ -280,9 +276,20 @@ trunk. More details on the README.txt , under Chazi project. ---------------//---------------//--------------- + +- (rev 520) +Change: removed -legacy flag interaction with the booter and reverted 32/64 flags to the trunk way. + + Type arch=i386 to load i386 kernel architecture. + arch=x86_64 overrides i386 arch, if flagged on Boot.plist. + On Snow type arch=i386 -legacy to load i386 arch Legacy Mode. +Motif: don't want to contribute to confusion... and laziness ;) + ---------------//---------------//--------------- + + Azimutz Index: branches/azimutz/CleanCut/doc-azi/README.txt =================================================================== --- branches/azimutz/CleanCut/doc-azi/README.txt (revision 528) +++ branches/azimutz/CleanCut/doc-azi/README.txt (revision 529) @@ -1,4 +1,4 @@ -About the CleanCut: +About CleanCut: This is a "clean" cut of the Chazi project, it's not meant to be used! If you want to test something, head to Chazi folder. Index: branches/azimutz/CleanCut/i386/boot2/boot.c =================================================================== --- branches/azimutz/CleanCut/i386/boot2/boot.c (revision 528) +++ branches/azimutz/CleanCut/i386/boot2/boot.c (revision 529) @@ -396,25 +396,26 @@ // Other status (e.g. 0) means that we should proceed with boot. - // If cpu doesn't handle 64 bit instructions,... - if (!platformCPUFeature(CPU_FEATURE_EM64T) || - // ... user forced i386 kernel architecture on cpu with "em64t"... - getValueForKey(kArchI386Flag, &val, &len, &bootInfo->bootConfig) || - // ... or forced Legacy Mode... - getValueForKey(kLegacyModeFlag, &val, &len, &bootInfo->bootConfig)) + // If cpu handles 64 bit instructions... + if (platformCPUFeature(CPU_FEATURE_EM64T)) { - // ... use i386 kernel arch. - archCpuType = CPU_TYPE_I386; + // use x86_64 kernel arch,... + archCpuType = CPU_TYPE_X86_64; } else { - // Else use x86_64 kernel arch. - archCpuType = CPU_TYPE_X86_64; + // else use i386 kernel arch. + archCpuType = CPU_TYPE_I386; } - // Override i386/-legacy, if flagged on Boot.plist. - if (getValueForKey(kArchX86_64Flag, &val, &len, &bootInfo->bootConfig)) + // If user override... + if (getValueForKey(kArchKey, &val, &len, &bootInfo->bootConfig)) { - archCpuType = CPU_TYPE_X86_64; + // matches i386... + if (strncmp(val, "i386", 4) == 0) + { + // use i386 kernel arch. + archCpuType = CPU_TYPE_I386; + } } if (!getBoolForKey (kWake, &tryresume, &bootInfo->bootConfig)) { Index: branches/azimutz/CleanCut/i386/boot2/boot.h =================================================================== --- branches/azimutz/CleanCut/i386/boot2/boot.h (revision 528) +++ branches/azimutz/CleanCut/i386/boot2/boot.h (revision 529) @@ -67,6 +67,7 @@ #define kForceWake "ForceWake" // boot.c #define kWakeImage "WakeImage" // boot.c #define kProductVersion "ProductVersion" // boot.c +#define kArchKey "arch" // boot.c #define kDSDTKey "DSDT" // acpi_patcher.c #define kDropSSDT "DropSSDT" // acpi_patcher.c #define kRestartFix "RestartFix" // acpi_patcher.c @@ -105,9 +106,6 @@ #define kIgnoreCachesFlag "-f" // options.c #define kIgnoreBootFileFlag "-F" // options.c #define kSingleUserModeFlag "-s" // options.c -#define kArchI386Flag "32" // boot.c -#define kLegacyModeFlag "-legacy" // boot.c -#define kArchX86_64Flag "64" // boot.c /* * Booter behavior control