2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set to 0x300. * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few resolutions. (linux_vesafb_modes): Add a lot of additional modes to the list (based on documentation from Wikipedia).
This commit is contained in:
parent
4241d2b13a
commit
74bfdd2f77
3 changed files with 137 additions and 21 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
|
||||||
|
|
||||||
|
* include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
|
||||||
|
to 0x300.
|
||||||
|
* loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
|
||||||
|
resolutions.
|
||||||
|
(linux_vesafb_modes): Add a lot of additional modes to the list (based
|
||||||
|
on documentation from Wikipedia).
|
||||||
|
|
||||||
2009-05-04 Pavel Roskin <proski@gnu.org>
|
2009-05-04 Pavel Roskin <proski@gnu.org>
|
||||||
|
|
||||||
* disk/ata.c: Spelling fixes.
|
* disk/ata.c: Spelling fixes.
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#define GRUB_LINUX_VID_MODE_NORMAL 0xFFFF
|
#define GRUB_LINUX_VID_MODE_NORMAL 0xFFFF
|
||||||
#define GRUB_LINUX_VID_MODE_EXTENDED 0xFFFE
|
#define GRUB_LINUX_VID_MODE_EXTENDED 0xFFFE
|
||||||
#define GRUB_LINUX_VID_MODE_ASK 0xFFFD
|
#define GRUB_LINUX_VID_MODE_ASK 0xFFFD
|
||||||
#define GRUB_LINUX_VID_MODE_VESA_START 0x0301
|
#define GRUB_LINUX_VID_MODE_VESA_START 0x0300
|
||||||
|
|
||||||
#define GRUB_LINUX_SETUP_MOVE_SIZE 0x9100
|
#define GRUB_LINUX_SETUP_MOVE_SIZE 0x9100
|
||||||
#define GRUB_LINUX_CL_MAGIC 0xA33F
|
#define GRUB_LINUX_CL_MAGIC 0xA33F
|
||||||
|
|
|
@ -102,46 +102,65 @@ struct linux_vesafb_res
|
||||||
grub_uint16_t height;
|
grub_uint16_t height;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum vga_modes
|
|
||||||
{
|
|
||||||
VGA_640_480,
|
|
||||||
VGA_800_600,
|
|
||||||
VGA_1024_768,
|
|
||||||
VGA_1280_1024,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct linux_vesafb_mode
|
struct linux_vesafb_mode
|
||||||
{
|
{
|
||||||
grub_uint8_t res_index;
|
grub_uint8_t res_index;
|
||||||
grub_uint8_t depth;
|
grub_uint8_t depth;
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct linux_vesafb_res linux_vesafb_res[] =
|
enum vga_modes
|
||||||
{
|
{
|
||||||
{ 640, 480 },
|
VGA_320_200,
|
||||||
{ 800, 600 },
|
VGA_640_400,
|
||||||
{ 1024, 768 },
|
VGA_640_480,
|
||||||
{ 1280, 1024 }
|
VGA_800_500,
|
||||||
|
VGA_800_600,
|
||||||
|
VGA_896_672,
|
||||||
|
VGA_1024_640,
|
||||||
|
VGA_1024_768,
|
||||||
|
VGA_1152_720,
|
||||||
|
VGA_1280_1024,
|
||||||
|
VGA_1440_900,
|
||||||
|
VGA_1600_1200,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This is the reverse of the table in [linux]/Documentation/fb/vesafb.txt. */
|
static struct linux_vesafb_res linux_vesafb_res[] =
|
||||||
|
{
|
||||||
|
{ 320, 200 },
|
||||||
|
{ 640, 400 },
|
||||||
|
{ 640, 480 },
|
||||||
|
{ 800, 500 },
|
||||||
|
{ 800, 600 },
|
||||||
|
{ 896, 672 },
|
||||||
|
{ 1024, 640 },
|
||||||
|
{ 1024, 768 },
|
||||||
|
{ 1152, 720 },
|
||||||
|
{ 1280, 1024 },
|
||||||
|
{ 1440, 900 },
|
||||||
|
{ 1600, 1200 },
|
||||||
|
};
|
||||||
|
|
||||||
|
/* This is the reverse of the table in [linux]/Documentation/fb/vesafb.txt
|
||||||
|
plus a few more modes based on the table in
|
||||||
|
http://en.wikipedia.org/wiki/VESA_BIOS_Extensions */
|
||||||
struct linux_vesafb_mode linux_vesafb_modes[] =
|
struct linux_vesafb_mode linux_vesafb_modes[] =
|
||||||
{
|
{
|
||||||
|
{ VGA_640_400, 8 }, /* 0x300 */
|
||||||
{ VGA_640_480, 8 }, /* 0x301 */
|
{ VGA_640_480, 8 }, /* 0x301 */
|
||||||
{ 0, 0 },
|
{ VGA_800_600, 4 }, /* 0x302 */
|
||||||
{ VGA_800_600, 8 }, /* 0x303 */
|
{ VGA_800_600, 8 }, /* 0x303 */
|
||||||
{ 0, 0 },
|
{ VGA_1024_768, 4 }, /* 0x304 */
|
||||||
{ VGA_1024_768, 8 }, /* 0x305 */
|
{ VGA_1024_768, 8 }, /* 0x305 */
|
||||||
{ 0, 0 },
|
{ VGA_1280_1024, 4 }, /* 0x306 */
|
||||||
{ VGA_1280_1024, 8 }, /* 0x307 */
|
{ VGA_1280_1024, 8 }, /* 0x307 */
|
||||||
{ 0, 0 },
|
{ 0, 0 },
|
||||||
{ 0, 0 },
|
{ 0, 0 },
|
||||||
{ 0, 0 },
|
{ 0, 0 },
|
||||||
{ 0, 0 },
|
{ 0, 0 },
|
||||||
{ 0, 0 },
|
{ 0, 0 },
|
||||||
{ 0, 0 },
|
{ VGA_320_200, 15 }, /* 0x30d */
|
||||||
{ 0, 0 },
|
{ VGA_320_200, 16 }, /* 0x30e */
|
||||||
{ 0, 0 },
|
{ VGA_320_200, 24 }, /* 0x30f */
|
||||||
{ VGA_640_480, 15 }, /* 0x310 */
|
{ VGA_640_480, 15 }, /* 0x310 */
|
||||||
{ VGA_640_480, 16 }, /* 0x311 */
|
{ VGA_640_480, 16 }, /* 0x311 */
|
||||||
{ VGA_640_480, 24 }, /* 0x312 */
|
{ VGA_640_480, 24 }, /* 0x312 */
|
||||||
|
@ -154,6 +173,94 @@ struct linux_vesafb_mode linux_vesafb_modes[] =
|
||||||
{ VGA_1280_1024, 15 }, /* 0x319 */
|
{ VGA_1280_1024, 15 }, /* 0x319 */
|
||||||
{ VGA_1280_1024, 16 }, /* 0x31a */
|
{ VGA_1280_1024, 16 }, /* 0x31a */
|
||||||
{ VGA_1280_1024, 24 }, /* 0x31b */
|
{ VGA_1280_1024, 24 }, /* 0x31b */
|
||||||
|
{ VGA_1600_1200, 8 }, /* 0x31c */
|
||||||
|
{ VGA_1600_1200, 15 }, /* 0x31d */
|
||||||
|
{ VGA_1600_1200, 16 }, /* 0x31e */
|
||||||
|
{ VGA_1600_1200, 24 }, /* 0x31f */
|
||||||
|
{ 0, 0 },
|
||||||
|
{ VGA_640_400, 15 }, /* 0x321 */
|
||||||
|
{ VGA_640_400, 16 }, /* 0x322 */
|
||||||
|
{ VGA_640_400, 24 }, /* 0x323 */
|
||||||
|
{ VGA_640_400, 32 }, /* 0x324 */
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ VGA_640_480, 32 }, /* 0x329 */
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ VGA_896_672, 8 }, /* 0x32f */
|
||||||
|
{ VGA_896_672, 15 }, /* 0x330 */
|
||||||
|
{ VGA_896_672, 16 }, /* 0x331 */
|
||||||
|
{ VGA_896_672, 24 }, /* 0x332 */
|
||||||
|
{ VGA_896_672, 32 }, /* 0x333 */
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ VGA_1600_1200, 32 }, /* 0x342 */
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ 0, 0 },
|
||||||
|
{ VGA_1440_900, 8 }, /* 0x360 */
|
||||||
|
{ VGA_1440_900, 15 }, /* 0x361 */
|
||||||
|
{ VGA_1440_900, 16 }, /* 0x362 */
|
||||||
|
{ VGA_1440_900, 24 }, /* 0x363 */
|
||||||
|
{ VGA_1440_900, 32 }, /* 0x364 */
|
||||||
|
{ VGA_1152_720, 8 }, /* 0x365 */
|
||||||
|
{ VGA_1152_720, 15 }, /* 0x366 */
|
||||||
|
{ VGA_1152_720, 16 }, /* 0x367 */
|
||||||
|
{ VGA_1152_720, 24 }, /* 0x368 */
|
||||||
|
{ VGA_1152_720, 32 }, /* 0x369 */
|
||||||
|
{ VGA_1024_640, 8 }, /* 0x36a */
|
||||||
|
{ VGA_1024_640, 15 }, /* 0x36b */
|
||||||
|
{ VGA_1024_640, 16 }, /* 0x36c */
|
||||||
|
{ VGA_1024_640, 24 }, /* 0x36d */
|
||||||
|
{ VGA_1024_640, 32 }, /* 0x36e */
|
||||||
|
{ VGA_800_500, 8 }, /* 0x36f */
|
||||||
|
{ VGA_800_500, 15 }, /* 0x370 */
|
||||||
|
{ VGA_800_500, 16 }, /* 0x371 */
|
||||||
|
{ VGA_800_500, 24 }, /* 0x372 */
|
||||||
|
{ VGA_800_500, 32 }, /* 0x373 */
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline grub_size_t
|
static inline grub_size_t
|
||||||
|
|
Loading…
Add table
Reference in a new issue