aboutsummaryrefslogtreecommitdiffstats
path: root/com32/mboot/mboot.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-11-13 20:16:43 -0800
committerH. Peter Anvin <hpa@zytor.com>2009-11-13 20:22:44 -0800
commit7b04ddff50bc4903d50ed570daf01422ebfaa6ed (patch)
tree94dc55c891e861e9fcae8b2ca417d7cefe3fa999 /com32/mboot/mboot.c
parent56e6eae7f4af352aaf33840fd652474098486ea6 (diff)
downloadsyslinux-7b04ddff50bc4903d50ed570daf01422ebfaa6ed.tar.gz
syslinux-7b04ddff50bc4903d50ed570daf01422ebfaa6ed.tar.xz
syslinux-7b04ddff50bc4903d50ed570daf01422ebfaa6ed.zip
mboot.c32: add VESA mode setting supportsyslinux-3.84-pre2
Add VESA mode setting support per the Multiboot specification. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'com32/mboot/mboot.c')
-rw-r--r--com32/mboot/mboot.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/com32/mboot/mboot.c b/com32/mboot/mboot.c
index e7bb8dbb..8425e068 100644
--- a/com32/mboot/mboot.c
+++ b/com32/mboot/mboot.c
@@ -152,6 +152,7 @@ int main(int argc, char *argv[])
{
int nmodules;
struct module_data *modules;
+ struct multiboot_header *mbh;
bool keeppxe = false;
openconsole(&dev_null_r, &dev_stdcon_w);
@@ -193,7 +194,8 @@ int main(int argc, char *argv[])
* Map the primary image. This should be done before mapping anything
* else, since it will have fixed address requirements.
*/
- if (map_image(modules[0].data, modules[0].len))
+ mbh = map_image(modules[0].data, modules[0].len);
+ if (!mbh)
return 1;
/* Map the mbinfo structure */
@@ -223,6 +225,9 @@ int main(int argc, char *argv[])
if (opt.solaris)
mboot_solaris_dhcp_hack();
+ /* Set the graphics mode if requested */
+ set_graphics_mode(mbh, &mbinfo);
+
/* Run it */
mboot_run(keeppxe ? 3 : 0);
error("mboot.c32: boot failed\n");