From aab6f6014b1719db0254f108d89bb0b6750c822a Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Fri, 22 Jan 2010 17:42:11 -0800 Subject: [PATCH] Add support for "vga=current" "vga=current" is a user-friendly synonym for "vga=0x0f04". Signed-off-by: H. Peter Anvin --- com32/lib/syslinux/load_linux.c | 3 +++ core/runkernel.inc | 11 +++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/com32/lib/syslinux/load_linux.c b/com32/lib/syslinux/load_linux.c index db98516..df79362 100644 --- a/com32/lib/syslinux/load_linux.c +++ b/com32/lib/syslinux/load_linux.c @@ -253,6 +253,9 @@ int syslinux_boot_linux(void *kernel_buf, size_t kernel_size, case 'n': /* "normal" */ video_mode = 0xffff; break; + case 'c': /* "current" */ + video_mode = 0x0f04; + break; default: video_mode = strtoul(arg, NULL, 0); break; diff --git a/core/runkernel.inc b/core/runkernel.inc index c437d72..f6ede38 100644 --- a/core/runkernel.inc +++ b/core/runkernel.inc @@ -138,15 +138,18 @@ parse_cmdline: jmp .next_opt opt_vga: - mov eax,[es:di-1] + mov ax,[es:di-1] mov bx,-1 - cmp eax,'=nor' ; vga=normal + cmp ax,'=nor' ; vga=normal je .vc0 dec bx ; bx <- -2 - cmp eax,'=ext' ; vga=ext + cmp ax,'=ext' ; vga=ext je .vc0 dec bx ; bx <- -3 - cmp eax,'=ask' ; vga=ask + cmp ax,'=ask' ; vga=ask + je .vc0 + mov bx,0x0f04 ; bx <- 0x0f04 (current mode) + cmp ax,'=cur' ; vga=current je .vc0 call parseint_esdi ; vga= jc .skip ; Not an integer -- 2.7.4