2008-09-01 Colin D Bennett <colin@gibibit.com>

* commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
        values with defines.

        * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
        (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
        (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
        (GRUB_VBE_MODEATTR_COLOR): Likewise.
        (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
        (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
        (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
        (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
        (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
        (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
        (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
        (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
        (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
        (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
This commit is contained in:
chaac 2008-09-01 15:58:13 +00:00
parent 93d5cbf809
commit f06199587d
3 changed files with 59 additions and 11 deletions

View File

@ -1,3 +1,28 @@
2008-09-01 Colin D Bennett <colin@gibibit.com>
* commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
values with defines.
* include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
(GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
(GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
(GRUB_VBE_MODEATTR_COLOR): Likewise.
(GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
(GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
(GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
(GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
(GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
(GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
(GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
(GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
(GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
(GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
(GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
(GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
(GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
(GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
(GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
2008-08-31 Robert Millan <rmh@aybabtu.com>
* loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix

View File

@ -57,6 +57,8 @@ grub_cmd_vbeinfo (struct grub_arg_list *state __attribute__ ((unused)),
controller_info.version & 0xFF,
controller_info.oem_software_rev >> 8,
controller_info.oem_software_rev & 0xFF);
/* The total_memory field is in 64 KiB units. */
grub_printf (" total memory: %d KiB\n",
(controller_info.total_memory << 16) / 1024);
@ -90,32 +92,32 @@ grub_cmd_vbeinfo (struct grub_arg_list *state __attribute__ ((unused)),
continue;
}
if ((mode_info_tmp.mode_attributes & 0x001) == 0)
if ((mode_info_tmp.mode_attributes & GRUB_VBE_MODEATTR_SUPPORTED) == 0)
/* If not available, skip it. */
continue;
if ((mode_info_tmp.mode_attributes & 0x002) == 0)
if ((mode_info_tmp.mode_attributes & GRUB_VBE_MODEATTR_RESERVED_1) == 0)
/* Not enough information. */
continue;
if ((mode_info_tmp.mode_attributes & 0x008) == 0)
if ((mode_info_tmp.mode_attributes & GRUB_VBE_MODEATTR_COLOR) == 0)
/* Monochrome is unusable. */
continue;
if ((mode_info_tmp.mode_attributes & 0x080) == 0)
if ((mode_info_tmp.mode_attributes & GRUB_VBE_MODEATTR_LFB_AVAIL) == 0)
/* We support only linear frame buffer modes. */
continue;
if ((mode_info_tmp.mode_attributes & 0x010) == 0)
if ((mode_info_tmp.mode_attributes & GRUB_VBE_MODEATTR_GRAPHICS) == 0)
/* We allow only graphical modes. */
continue;
switch (mode_info_tmp.memory_model)
{
case 0x04:
case GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL:
memory_model = "Packed";
break;
case 0x06:
case GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR:
memory_model = "Direct";
break;
@ -134,7 +136,7 @@ grub_cmd_vbeinfo (struct grub_arg_list *state __attribute__ ((unused)),
memory_model);
/* Show mask and position details for direct color modes. */
if (mode_info_tmp.memory_model == 0x06)
if (mode_info_tmp.memory_model == GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR)
grub_printf (", mask: %d/%d/%d/%d pos: %d/%d/%d/%d",
mode_info_tmp.red_mask_size,
mode_info_tmp.green_mask_size,

View File

@ -30,9 +30,30 @@
/* VBE status codes. */
#define GRUB_VBE_STATUS_OK 0x004f
/* VBE memory model types. */
#define GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL 0x04
#define GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR 0x06
/* Bits from the GRUB_VBE "mode_attributes" field in the mode info struct. */
#define GRUB_VBE_MODEATTR_SUPPORTED (1 << 0)
#define GRUB_VBE_MODEATTR_RESERVED_1 (1 << 1)
#define GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT (1 << 2)
#define GRUB_VBE_MODEATTR_COLOR (1 << 3)
#define GRUB_VBE_MODEATTR_GRAPHICS (1 << 4)
#define GRUB_VBE_MODEATTR_VGA_COMPATIBLE (1 << 5)
#define GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL (1 << 6)
#define GRUB_VBE_MODEATTR_LFB_AVAIL (1 << 7)
#define GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL (1 << 8)
#define GRUB_VBE_MODEATTR_INTERLACED_AVAIL (1 << 9)
#define GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL (1 << 10)
#define GRUB_VBE_MODEATTR_STEREO_AVAIL (1 << 11)
#define GRUB_VBE_MODEATTR_DUAL_DISPLAY_START (1 << 12)
/* Values for the GRUB_VBE memory_model field in the mode info struct. */
#define GRUB_VBE_MEMORY_MODEL_TEXT 0x00
#define GRUB_VBE_MEMORY_MODEL_CGA 0x01
#define GRUB_VBE_MEMORY_MODEL_HERCULES 0x02
#define GRUB_VBE_MEMORY_MODEL_PLANAR 0x03
#define GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL 0x04
#define GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256 0x05
#define GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR 0x06
#define GRUB_VBE_MEMORY_MODEL_YUV 0x07
/* Note: