mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-27 17:49:23 +00:00
merge mainline into newreloc
This commit is contained in:
commit
8b0800f66f
239 files changed
+15971
-6550
No files matched your search
+34
-10
@@ -31,6 +31,7 @@
|
||||
#include <grub/gzio.h>
|
||||
#include <grub/command.h>
|
||||
#include <grub/misc.h>
|
||||
#include <grub/extcmd.h>
|
||||
#include <grub/env.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
@@ -1348,23 +1349,42 @@ grub_xnu_fill_devicetree (void)
|
||||
}
|
||||
|
||||
struct grub_video_bitmap *grub_xnu_bitmap = 0;
|
||||
grub_xnu_bitmap_mode_t grub_xnu_bitmap_mode;
|
||||
|
||||
/* Option array indices. */
|
||||
#define XNU_SPLASH_CMD_ARGINDEX_MODE 0
|
||||
|
||||
static const struct grub_arg_option xnu_splash_cmd_options[] =
|
||||
{
|
||||
{"mode", 'm', 0, "Background image mode.", "stretch|normal",
|
||||
ARG_TYPE_STRING},
|
||||
{0, 0, 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_xnu_splash (grub_command_t cmd __attribute__ ((unused)),
|
||||
grub_cmd_xnu_splash (grub_extcmd_t cmd,
|
||||
int argc, char *args[])
|
||||
{
|
||||
grub_err_t err;
|
||||
if (argc != 1)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "file name required");
|
||||
|
||||
if (cmd->state[XNU_SPLASH_CMD_ARGINDEX_MODE].set &&
|
||||
grub_strcmp (cmd->state[XNU_SPLASH_CMD_ARGINDEX_MODE].arg,
|
||||
"stretch") == 0)
|
||||
grub_xnu_bitmap_mode = GRUB_XNU_BITMAP_STRETCH;
|
||||
else
|
||||
grub_xnu_bitmap_mode = GRUB_XNU_BITMAP_CENTER;
|
||||
|
||||
err = grub_video_bitmap_load (&grub_xnu_bitmap, args[0]);
|
||||
if (err)
|
||||
grub_xnu_bitmap = 0;
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
#ifndef GRUB_UTIL
|
||||
#ifndef GRUB_MACHINE_EMU
|
||||
static grub_err_t
|
||||
grub_cmd_xnu_resume (grub_command_t cmd __attribute__ ((unused)),
|
||||
int argc, char *args[])
|
||||
@@ -1393,7 +1413,8 @@ grub_xnu_unlock ()
|
||||
}
|
||||
|
||||
static grub_command_t cmd_kernel64, cmd_kernel, cmd_mkext, cmd_kext;
|
||||
static grub_command_t cmd_kextdir, cmd_ramdisk, cmd_resume, cmd_splash;
|
||||
static grub_command_t cmd_kextdir, cmd_ramdisk, cmd_resume;
|
||||
static grub_extcmd_t cmd_splash;
|
||||
|
||||
GRUB_MOD_INIT(xnu)
|
||||
{
|
||||
@@ -1409,12 +1430,15 @@ GRUB_MOD_INIT(xnu)
|
||||
N_("DIRECTORY [OSBundleRequired]"),
|
||||
N_("Load XNU extension directory."));
|
||||
cmd_ramdisk = grub_register_command ("xnu_ramdisk", grub_cmd_xnu_ramdisk, 0,
|
||||
N_("Load XNU ramdisk. "
|
||||
"It will be seen as md0."));
|
||||
cmd_splash = grub_register_command ("xnu_splash", grub_cmd_xnu_splash, 0,
|
||||
N_("Load a splash image for XNU."));
|
||||
"Load XNU ramdisk. "
|
||||
"It will be seen as md0.");
|
||||
cmd_splash = grub_register_extcmd ("xnu_splash",
|
||||
grub_cmd_xnu_splash,
|
||||
GRUB_COMMAND_FLAG_BOTH, 0,
|
||||
N_("Load a splash image for XNU."),
|
||||
xnu_splash_cmd_options);
|
||||
|
||||
#ifndef GRUB_UTIL
|
||||
#ifndef GRUB_MACHINE_EMU
|
||||
cmd_resume = grub_register_command ("xnu_resume", grub_cmd_xnu_resume,
|
||||
0, N_("Load XNU hibernate image."));
|
||||
#endif
|
||||
@@ -1426,7 +1450,7 @@ GRUB_MOD_INIT(xnu)
|
||||
|
||||
GRUB_MOD_FINI(xnu)
|
||||
{
|
||||
#ifndef GRUB_UTIL
|
||||
#ifndef GRUB_MACHINE_EMU
|
||||
grub_unregister_command (cmd_resume);
|
||||
#endif
|
||||
grub_unregister_command (cmd_mkext);
|
||||
@@ -1434,8 +1458,8 @@ GRUB_MOD_FINI(xnu)
|
||||
grub_unregister_command (cmd_kextdir);
|
||||
grub_unregister_command (cmd_ramdisk);
|
||||
grub_unregister_command (cmd_kernel);
|
||||
grub_unregister_extcmd (cmd_splash);
|
||||
grub_unregister_command (cmd_kernel64);
|
||||
grub_unregister_command (cmd_splash);
|
||||
|
||||
grub_cpu_xnu_fini ();
|
||||
}
|
||||
Reference in new issue
Block a user