Index: trunk/CHANGES =================================================================== --- trunk/CHANGES (revision 797) +++ trunk/CHANGES (revision 798) @@ -1,3 +1,4 @@ +- Added the BOOT2_MAX_LENGTH constant in memory.h. This is now used in moot.c to relocate the correct number of bytes for boot2. - Added module system. - Added automatic P-States & C-States generation for native power management. - Added Booter Log Dump Tool Index: trunk/i386/boot2/mboot.c =================================================================== --- trunk/i386/boot2/mboot.c (revision 797) +++ trunk/i386/boot2/mboot.c (revision 798) @@ -297,9 +297,9 @@ // Get us in to low memory so we can run everything - // We cannot possibly be more than 383.5k and copying extra won't really hurt anything + // We cannot possibly be more than 447k and copying extra won't really hurt anything // We use the address of the assembly entrypoint to get our starting location. - memcpy(&boot2_sym, (char*)&boot2_sym + OFFSET_1MEG, 0x5fe00 /* 383.5k */); + memcpy(&boot2_sym, (char*)&boot2_sym + OFFSET_1MEG, BOOT2_MAX_LENGTH /* 447k */); // This is a little assembler routine that returns to us in the correct selector // instead of the kernel selector we're running in now and at the correct Index: trunk/i386/libsa/memory.h =================================================================== --- trunk/i386/libsa/memory.h (revision 797) +++ trunk/i386/libsa/memory.h (revision 798) @@ -57,6 +57,8 @@ #define BOOT2_SEG 0x2000 #define BOOT2_OFS 0x0200 // 512 byte disk sector offset +#define BOOT2_MAX_LENGTH 0x6FE00 // Maximum size for boot2 is currentl 447kb + #define BIOS_ADDR 0x8000 // BIOS disk I/O buffer #define BIOS_LEN 0x8000 // 32K - divisible by 512 and 2048