On Sun, Dec 26, 2010 at 11:33:42PM -0500, Kevin O'Connor wrote:
Hrmm - I should probably have done the following (incremental patch) to ensure no conflict with bootorder file reading:
diff --git a/src/boot.c b/src/boot.c index f7cc8d5..73ac5c8 100644 --- a/src/boot.c +++ b/src/boot.c @@ -70,12 +70,12 @@ loadBootOrder(void) } while(f); }
-#define MAX_BOOT_PRIO 0xff +#define DEFAULT_PRIO 9999
-int DefaultFloppyPrio = 1; -int DefaultCDPrio = 2; -int DefaultHDPrio = 3; -int DefaultBEVPrio = 4; +static int DefaultFloppyPrio = 101; +static int DefaultCDPrio = 102; +static int DefaultHDPrio = 103; +static int DefaultBEVPrio = 104;
void boot_setup(void) @@ -92,9 +92,10 @@ boot_setup(void) IPL.checkfloppysig = 0; u32 bootorder = (inb_cmos(CMOS_BIOS_BOOTFLAG2) | ((inb_cmos(CMOS_BIOS_BOOTFLAG1) & 0xf0) << 4)); - DefaultFloppyPrio = DefaultCDPrio = DefaultHDPrio = MAX_BOOT_PRIO; + DefaultFloppyPrio = DefaultCDPrio = DefaultHDPrio + = DefaultBEVPrio = DEFAULT_PRIO; int i; - for (i=1; i<4; i++) { + for (i=101; i<104; i++) { u32 val = bootorder & 0x0f; bootorder >>= 4; switch (val) { @@ -157,14 +158,14 @@ boot_add_bev(u16 seg, u16 bev, u16 desc) { bootentry_add(IPL_TYPE_BEV, DefaultBEVPrio, SEGOFF(seg, bev).segoff , desc ? MAKE_FLATPTR(seg, desc) : "Unknown"); - DefaultBEVPrio = MAX_BOOT_PRIO; + DefaultBEVPrio = DEFAULT_PRIO; }
// Add a bcv entry for an expansion card harddrive or legacy option rom void boot_add_bcv(u16 seg, u16 ip, u16 desc) { - bootentry_add(IPL_TYPE_BCV, MAX_BOOT_PRIO, SEGOFF(seg, ip).segoff + bootentry_add(IPL_TYPE_BCV, DEFAULT_PRIO, SEGOFF(seg, ip).segoff , desc ? MAKE_FLATPTR(seg, desc) : "Legacy option rom"); }
@@ -193,7 +194,7 @@ boot_add_cd(struct drive_s *drive_g) void boot_add_cbfs(void *data, const char *desc) { - bootentry_add(IPL_TYPE_CBFS, MAX_BOOT_PRIO, (u32)data, desc); + bootentry_add(IPL_TYPE_CBFS, DEFAULT_PRIO, (u32)data, desc); }