]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
authorrobertmh <robertmh@localhost>
Mon, 4 May 2009 20:21:33 +0000 (20:21 +0000)
committerrobertmh <robertmh@localhost>
Mon, 4 May 2009 20:21:33 +0000 (20:21 +0000)
        * 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).

ChangeLog
include/grub/i386/linux.h
loader/i386/linux.c

index c6c5ca24254b427485d777217f3375941c4aa7e8..6bc5f305c1b46e280d1feaa09d8548c79de26541 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
 
        * disk/ata.c: Spelling fixes.
index dad38e5454ed9e35cd47ba49478778467da6c8ee..70eba1da7c793c1d505eb93b3f348b7e9c07dae1 100644 (file)
@@ -38,7 +38,7 @@
 #define GRUB_LINUX_VID_MODE_NORMAL     0xFFFF
 #define GRUB_LINUX_VID_MODE_EXTENDED   0xFFFE
 #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_CL_MAGIC            0xA33F
index 1a237108b4fe45755e8b4ee3dff3f3fc68509aa2..d67a5f8e3c004bca64503e8320429f609b319be3 100644 (file)
@@ -102,46 +102,65 @@ struct linux_vesafb_res
   grub_uint16_t height;
 };
 
+struct linux_vesafb_mode
+{
+  grub_uint8_t res_index;
+  grub_uint8_t depth;
+};
+
 enum vga_modes
   {
+    VGA_320_200,
+    VGA_640_400,
     VGA_640_480,
+    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,
   };
 
-struct linux_vesafb_mode
-{
-  grub_uint8_t res_index;
-  grub_uint8_t depth;
-};
-
 static struct linux_vesafb_res linux_vesafb_res[] =
   {
+    { 320, 200 },
+    { 640, 400 },
     { 640, 480 },
+    { 800, 500 },
     { 800, 600 },
+    { 896, 672 },
+    { 1024, 640 },
     { 1024, 768 },
-    { 1280, 1024 }
+    { 1152, 720 },
+    { 1280, 1024 },
+    { 1440, 900 },
+    { 1600, 1200 },
   };
 
-/* This is the reverse of the table in [linux]/Documentation/fb/vesafb.txt.  */
+/* 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[] =
   {
+    { VGA_640_400, 8 },                /* 0x300 */
     { VGA_640_480, 8 },                /* 0x301 */
-    { 0, 0 },
+    { VGA_800_600, 4 },                /* 0x302 */
     { VGA_800_600, 8 },                /* 0x303 */
-    { 0, 0 },
+    { VGA_1024_768, 4 },       /* 0x304 */
     { VGA_1024_768, 8 },       /* 0x305 */
-    { 0, 0 },
+    { VGA_1280_1024, 4 },      /* 0x306 */
     { VGA_1280_1024, 8 },      /* 0x307 */
     { 0, 0 },
     { 0, 0 },
     { 0, 0 },
     { 0, 0 },
     { 0, 0 },
-    { 0, 0 },
-    { 0, 0 },
-    { 0, 0 },
+    { VGA_320_200, 15 },       /* 0x30d */
+    { VGA_320_200, 16 },       /* 0x30e */
+    { VGA_320_200, 24 },       /* 0x30f */
     { VGA_640_480, 15 },       /* 0x310 */
     { VGA_640_480, 16 },       /* 0x311 */
     { VGA_640_480, 24 },       /* 0x312 */
@@ -154,6 +173,94 @@ struct linux_vesafb_mode linux_vesafb_modes[] =
     { VGA_1280_1024, 15 },     /* 0x319 */
     { VGA_1280_1024, 16 },     /* 0x31a */
     { 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