diff --git a/ChangeLog b/ChangeLog index 6cf11a6..92d8d80 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2009-08-23 Vladimir Serbinenko + Support --no-smp and --no-acpi for NetBSD. + + * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition. + (NETBSD_AB_NOACPI): Likewise. + * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi. + (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI. + +2009-08-23 Vladimir Serbinenko + * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd. (openbsd_opts): Likewise. (netbsd_opts): Likewise. diff --git a/include/grub/i386/bsd.h b/include/grub/i386/bsd.h index 117ed5c..f39fc9d 100644 --- a/include/grub/i386/bsd.h +++ b/include/grub/i386/bsd.h @@ -189,6 +189,8 @@ struct grub_openbsd_bootargs #define NETBSD_AB_VERBOSE (1 << 17) /* boot verbosely */ #define NETBSD_AB_SILENT (1 << 18) /* boot silently */ #define NETBSD_AB_DEBUG (1 << 19) /* boot with debug messages */ +#define NETBSD_AB_NOSMP (1 << 28) /* Boot without SMP support. */ +#define NETBSD_AB_NOACPI (1 << 29) /* Boot without ACPI support. */ struct grub_netbsd_bootinfo { diff --git a/loader/i386/bsd.c b/loader/i386/bsd.c index d5f677a..10b92e3 100644 --- a/loader/i386/bsd.c +++ b/loader/i386/bsd.c @@ -103,6 +103,8 @@ static const grub_uint32_t openbsd_flags[] = static const struct grub_arg_option netbsd_opts[] = { + {"no-smp", '1', 0, "Disable SMP.", 0, 0}, + {"no-acpi", '2', 0, "Disable ACPI.", 0, 0}, {"askname", 'a', 0, "Ask for file name to reboot from.", 0, 0}, {"halt", 'b', 0, "Don't reboot, just halt.", 0, 0}, {"config", 'c', 0, "Change configured devices.", 0, 0}, @@ -118,10 +120,10 @@ static const struct grub_arg_option netbsd_opts[] = static const grub_uint32_t netbsd_flags[] = { - NETBSD_RB_ASKNAME, NETBSD_RB_HALT, NETBSD_RB_USERCONFIG, - NETBSD_RB_KDB, NETBSD_RB_MINIROOT, NETBSD_AB_QUIET, - NETBSD_RB_SINGLE, NETBSD_AB_VERBOSE, NETBSD_AB_DEBUG, - NETBSD_AB_SILENT, 0 + NETBSD_AB_NOSMP, NETBSD_AB_NOACPI, NETBSD_RB_ASKNAME, + NETBSD_RB_HALT, NETBSD_RB_USERCONFIG, NETBSD_RB_KDB, + NETBSD_RB_MINIROOT, NETBSD_AB_QUIET, NETBSD_RB_SINGLE, + NETBSD_AB_VERBOSE, NETBSD_AB_DEBUG, NETBSD_AB_SILENT, 0 }; static void