[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86: Re-introduce VIDEO_CURRENT_MODE into video.S video-mode-setting
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Date 1182262199 -3600 # Node ID 07688f8f53943cb51c965fa91923b1c4a3e87d0f # Parent 8eaee9ef472f79af6a288a99c296dbc70510ba68 x86: Re-introduce VIDEO_CURRENT_MODE into video.S video-mode-setting code, and make visible at the command line via 'vga=current'. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- docs/src/user.tex | 1 + xen/arch/x86/boot/cmdline.S | 17 ++++++++++++++++- xen/arch/x86/boot/video.S | 2 ++ xen/arch/x86/boot/video.h | 9 +++++---- xen/drivers/video/vga.c | 3 +++ 5 files changed, 27 insertions(+), 5 deletions(-) diff -r 8eaee9ef472f -r 07688f8f5394 docs/src/user.tex --- a/docs/src/user.tex Tue Jun 19 15:03:55 2007 +0100 +++ b/docs/src/user.tex Tue Jun 19 15:09:59 2007 +0100 @@ -3178,6 +3178,7 @@ editing \path{grub.conf}. \begin{description} \item[ ask ] Display a vga menu allowing manual selection of video mode. + \item[ current ] Use existing vga mode without modification. \item[ text-$<$mode$>$ ] Select text-mode resolution, where mode is one of 80x25, 80x28, 80x30, 80x34, 80x43, 80x50, 80x60. \item[ gfx-$<$mode$>$ ] Select VESA graphics mode diff -r 8eaee9ef472f -r 07688f8f5394 xen/arch/x86/boot/cmdline.S --- a/xen/arch/x86/boot/cmdline.S Tue Jun 19 15:03:55 2007 +0100 +++ b/xen/arch/x86/boot/cmdline.S Tue Jun 19 15:09:59 2007 +0100 @@ -297,7 +297,7 @@ 1: lodsw call .Lstr_prefix add $8,%esp test %eax,%eax - jnz .Lcmdline_exit + jnz .Lparse_vga_current /* We have 'vga=mode-<mode>'. */ add $5,%ebx @@ -305,6 +305,19 @@ 1: lodsw call .Latoi add $4,%esp mov %ax,bootsym_phys(boot_vid_mode) + jmp .Lcmdline_exit + +.Lparse_vga_current: + /* Check for 'vga=current'. */ + push %ebx + pushl $sym_phys(.Lvga_current) + call .Lstr_prefix + add $8,%esp + test %eax,%eax + jnz .Lcmdline_exit + + /* We have 'vga=current'. */ + movw $VIDEO_CURRENT_MODE,bootsym_phys(boot_vid_mode) .Lcmdline_exit: popa @@ -328,6 +341,8 @@ 1: lodsw .asciz "gfx-" .Lvga_mode: .asciz "mode-" +.Lvga_current: + .asciz "current" .Lno_rm_opt: .asciz "no-real-mode" .Ledid_opt: diff -r 8eaee9ef472f -r 07688f8f5394 xen/arch/x86/boot/video.S --- a/xen/arch/x86/boot/video.S Tue Jun 19 15:03:55 2007 +0100 +++ b/xen/arch/x86/boot/video.S Tue Jun 19 15:09:59 2007 +0100 @@ -530,6 +530,7 @@ spec_inits: .word bootsym(set_8pixel) .word bootsym(set_80x43) .word bootsym(set_80x28) + .word bootsym(set_current) .word bootsym(set_80x30) .word bootsym(set_80x34) .word bootsym(set_80x60) @@ -575,6 +576,7 @@ set14: movw $0x1111, %ax movb $0x01, %ah # Define cursor scan lines 11-12 movw $0x0b0c, %cx int $0x10 +set_current: stc ret diff -r 8eaee9ef472f -r 07688f8f5394 xen/arch/x86/boot/video.h --- a/xen/arch/x86/boot/video.h Tue Jun 19 15:03:55 2007 +0100 +++ b/xen/arch/x86/boot/video.h Tue Jun 19 15:09:59 2007 +0100 @@ -16,10 +16,11 @@ #define VIDEO_80x50 0x0f01 #define VIDEO_80x43 0x0f02 #define VIDEO_80x28 0x0f03 -#define VIDEO_80x30 0x0f04 -#define VIDEO_80x34 0x0f05 -#define VIDEO_80x60 0x0f06 -#define VIDEO_LAST_SPECIAL 0x0f07 +#define VIDEO_CURRENT_MODE 0x0f04 +#define VIDEO_80x30 0x0f05 +#define VIDEO_80x34 0x0f06 +#define VIDEO_80x60 0x0f07 +#define VIDEO_LAST_SPECIAL 0x0f08 #define ASK_VGA 0xfffd #define VIDEO_VESA_BY_SIZE 0xffff diff -r 8eaee9ef472f -r 07688f8f5394 xen/drivers/video/vga.c --- a/xen/drivers/video/vga.c Tue Jun 19 15:03:55 2007 +0100 +++ b/xen/drivers/video/vga.c Tue Jun 19 15:09:59 2007 +0100 @@ -32,6 +32,9 @@ static unsigned char *video; * * 'vga=ask': * display a vga menu of available modes + * + * 'vga=current': + * use the current vga mode without modification * * 'vga=text-80x<rows>': * text mode, where <rows> is one of {25,28,30,34,43,50,60} _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |