mirror of
https://github.com/ipxe/ipxe
synced 2026-02-28 03:11:18 +03:00
[efi] Add ability to reboot to firmware setup menu
Add the ability to reboot to the firmware setup menu (if supported) by setting the relevant value in the OsIndications variable. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -38,12 +38,16 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||
struct reboot_options {
|
||||
/** Perform a warm reboot */
|
||||
int warm;
|
||||
/** Reboot to firmware setup */
|
||||
int setup;
|
||||
};
|
||||
|
||||
/** "reboot" option list */
|
||||
static struct option_descriptor reboot_opts[] = {
|
||||
OPTION_DESC ( "warm", 'w', no_argument,
|
||||
struct reboot_options, warm, parse_flag ),
|
||||
OPTION_DESC ( "setup", 's', no_argument,
|
||||
struct reboot_options, setup, parse_flag ),
|
||||
};
|
||||
|
||||
/** "reboot" command descriptor */
|
||||
@@ -69,6 +73,8 @@ static int reboot_exec ( int argc, char **argv ) {
|
||||
/* Reboot system */
|
||||
if ( opts.warm )
|
||||
flags |= REBOOT_WARM;
|
||||
if ( opts.setup )
|
||||
flags |= REBOOT_SETUP;
|
||||
reboot ( flags );
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user