[syslinux:elflink] syslinux_boot_linux(): revert to text mode unless vga=current
syslinux-bot for H. Peter Anvin
hpa at zytor.com
Fri May 18 16:30:02 PDT 2012
Commit-ID: a965da4a4fa04471c68d0cbdc91deba61362a160
Gitweb: http://www.syslinux.org/commit/a965da4a4fa04471c68d0cbdc91deba61362a160
Author: H. Peter Anvin <hpa at zytor.com>
AuthorDate: Fri, 18 May 2012 16:26:53 -0700
Committer: H. Peter Anvin <hpa at zytor.com>
CommitDate: Fri, 18 May 2012 16:26:53 -0700
syslinux_boot_linux(): revert to text mode unless vga=current
When loading a Linux kernel, revert to text mode before invoking
unless vga=current.
Signed-off-by: H. Peter Anvin <hpa at zytor.com>
---
com32/lib/syslinux/load_linux.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/com32/lib/syslinux/load_linux.c b/com32/lib/syslinux/load_linux.c
index 45cd696..e5fd333 100644
--- a/com32/lib/syslinux/load_linux.c
+++ b/com32/lib/syslinux/load_linux.c
@@ -466,6 +466,17 @@ int syslinux_boot_linux(void *kernel_buf, size_t kernel_size,
dprintf("Initial movelist:\n");
syslinux_dump_movelist(fraglist);
+ if (video_mode != 0x0f04) {
+ /*
+ * video_mode is not "current", so if we are in graphics mode we
+ * need to revert to text mode...
+ */
+ dprintf("*** Calling vgaclearmode()...\n");
+ vgaclearmode();
+ } else {
+ dprintf("*** vga=current, not calling vgaclearmode()...\n");
+ }
+
syslinux_shuffle_boot_rm(fraglist, mmap, 0, ®s);
bail:
More information about the Syslinux-commits
mailing list