diff options
author | H. Peter Anvin <hpa@zytor.com> | 2010-01-22 17:42:11 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-01-22 17:42:11 -0800 |
commit | aab6f6014b1719db0254f108d89bb0b6750c822a (patch) | |
tree | b0866b2b6bae03e9e83ff843793ddf24123dbd8a | |
parent | 2219c1192672effd3d8ad878aba93b543608c9f4 (diff) | |
download | syslinux-aab6f6014b1719db0254f108d89bb0b6750c822a.tar.gz |
Add support for "vga=current"
"vga=current" is a user-friendly synonym for "vga=0x0f04".
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r-- | com32/lib/syslinux/load_linux.c | 3 | ||||
-rw-r--r-- | 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 db985163..df793625 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 c437d72d..f6ede382 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=<number> jc .skip ; Not an integer |