diff --git a/ChangeLog b/ChangeLog index 1de68ad..e5d7ba0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2009-08-25 Vladimir Serbinenko + Enable bsd.mod on coreboot. + + * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod. + (bsd_mod_SOURCES): New variable. + (bsd_mod_CFLAGS): Likewise. + (bsd_mod_LDFLAGS): Likewise. + (bsd_mod_ASFLAGS): Likewise. + * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes. + (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff. + +2009-08-25 Vladimir Serbinenko + Cleanup NetBSD root support. * loader/i386/bsd.c (grub_netbsd_boot): Remove call to diff --git a/conf/i386-coreboot.rmk b/conf/i386-coreboot.rmk index 7e9f853..196abe6 100644 --- a/conf/i386-coreboot.rmk +++ b/conf/i386-coreboot.rmk @@ -204,6 +204,13 @@ aout_mod_SOURCES = loader/aout.c aout_mod_CFLAGS = $(COMMON_CFLAGS) aout_mod_LDFLAGS = $(COMMON_LDFLAGS) +# For bsd.mod +pkglib_MODULES += bsd.mod +bsd_mod_SOURCES = loader/i386/bsd.c loader/i386/bsd32.c loader/i386/bsd64.c loader/i386/bsd_helper.S loader/i386/bsd_trampoline.S +bsd_mod_CFLAGS = $(COMMON_CFLAGS) +bsd_mod_LDFLAGS = $(COMMON_LDFLAGS) +bsd_mod_ASFLAGS = $(COMMON_ASFLAGS) + # For play.mod. play_mod_SOURCES = commands/i386/pc/play.c play_mod_CFLAGS = $(COMMON_CFLAGS) diff --git a/loader/i386/bsd.c b/loader/i386/bsd.c index 0b9a2b4..0cb3c75 100644 --- a/loader/i386/bsd.c +++ b/loader/i386/bsd.c @@ -37,10 +37,10 @@ #ifdef GRUB_MACHINE_PCBIOS #include +#endif #include #include #include -#endif #define ALIGN_DWORD(a) ALIGN_UP (a, 4) #define ALIGN_QWORD(a) ALIGN_UP (a, 8) @@ -138,7 +138,11 @@ grub_bsd_get_device (grub_uint32_t * biosdev, char *p; grub_device_t dev; +#ifdef GRUB_MACHINE_PCBIOS *biosdev = grub_get_root_biosnumber () & 0xff; +#else + *biosdev = 0xff; +#endif *unit = (*biosdev & 0x7f); *slice = 0xff; *part = 0xff;