* grub-core/commands/videoinfo.c (hook): Indicate current video mode
with `*'. (grub_cmd_videoinfo): Fetch current video mode.
This commit is contained in:
parent
1e3d9b8612
commit
f9b75e8a67
2 changed files with 29 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2011-06-27 Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
|
||||||
|
* grub-core/commands/videoinfo.c (hook): Indicate current video mode
|
||||||
|
with `*'.
|
||||||
|
(grub_cmd_videoinfo): Fetch current video mode.
|
||||||
|
|
||||||
2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
|
2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
|
* grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
GRUB_MOD_LICENSE ("GPLv3+");
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
static unsigned height, width, depth;
|
static unsigned height, width, depth;
|
||||||
|
static struct grub_video_mode_info *current_mode;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
hook (const struct grub_video_mode_info *info)
|
hook (const struct grub_video_mode_info *info)
|
||||||
|
@ -41,7 +42,13 @@ hook (const struct grub_video_mode_info *info)
|
||||||
if (info->mode_number == GRUB_VIDEO_MODE_NUMBER_INVALID)
|
if (info->mode_number == GRUB_VIDEO_MODE_NUMBER_INVALID)
|
||||||
grub_printf (" ");
|
grub_printf (" ");
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (current_mode && info->mode_number == current_mode->mode_number)
|
||||||
|
grub_printf ("*");
|
||||||
|
else
|
||||||
|
grub_printf (" ");
|
||||||
grub_printf (" 0x%03x ", info->mode_number);
|
grub_printf (" 0x%03x ", info->mode_number);
|
||||||
|
}
|
||||||
grub_printf ("%4d x %4d x %2d ", info->width, info->height, info->bpp);
|
grub_printf ("%4d x %4d x %2d ", info->width, info->height, info->bpp);
|
||||||
|
|
||||||
if (info->mode_type & GRUB_VIDEO_MODE_TYPE_PURE_TEXT)
|
if (info->mode_type & GRUB_VIDEO_MODE_TYPE_PURE_TEXT)
|
||||||
|
@ -122,6 +129,8 @@ grub_cmd_videoinfo (grub_command_t cmd __attribute__ ((unused)),
|
||||||
|
|
||||||
FOR_VIDEO_ADAPTERS (adapter)
|
FOR_VIDEO_ADAPTERS (adapter)
|
||||||
{
|
{
|
||||||
|
struct grub_video_mode_info info;
|
||||||
|
|
||||||
grub_printf ("Adapter '%s':\n", adapter->name);
|
grub_printf ("Adapter '%s':\n", adapter->name);
|
||||||
|
|
||||||
if (!adapter->iterate)
|
if (!adapter->iterate)
|
||||||
|
@ -130,7 +139,17 @@ grub_cmd_videoinfo (grub_command_t cmd __attribute__ ((unused)),
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (adapter->id != id)
|
current_mode = NULL;
|
||||||
|
|
||||||
|
if (adapter->id == id)
|
||||||
|
{
|
||||||
|
if (grub_video_get_info (&info) == GRUB_ERR_NONE)
|
||||||
|
current_mode = &info;
|
||||||
|
else
|
||||||
|
/* Don't worry about errors. */
|
||||||
|
grub_errno = GRUB_ERR_NONE;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (adapter->init ())
|
if (adapter->init ())
|
||||||
{
|
{
|
||||||
|
@ -145,6 +164,8 @@ grub_cmd_videoinfo (grub_command_t cmd __attribute__ ((unused)),
|
||||||
|
|
||||||
adapter->iterate (hook);
|
adapter->iterate (hook);
|
||||||
|
|
||||||
|
current_mode = NULL;
|
||||||
|
|
||||||
if (adapter->id != id)
|
if (adapter->id != id)
|
||||||
{
|
{
|
||||||
if (adapter->fini ())
|
if (adapter->fini ())
|
||||||
|
|
Loading…
Add table
Reference in a new issue