Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] x86: Re-introduce VIDEO_CURRENT_MODE into

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] x86: Re-introduce VIDEO_CURRENT_MODE into video.S video-mode-setting
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 19 Jun 2007 14:40:29 -0700
Delivery-date: Tue, 19 Jun 2007 14:38:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] x86: Re-introduce VIDEO_CURRENT_MODE into video.S video-mode-setting, Xen patchbot-unstable <=