[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] x86: fix early option scanning



Make sure command lines like
... vgaxyz vga=
... console=vga vga=
mistakenly ignore the vga= option due to finding 'vga' earlier on the line.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

Index: 2007-06-18/xen/arch/x86/boot/cmdline.S
===================================================================
--- 2007-06-18.orig/xen/arch/x86/boot/cmdline.S 2007-06-15 14:05:46.000000000 
+0200
+++ 2007-06-18/xen/arch/x86/boot/cmdline.S      2007-06-18 14:40:13.000000000 
+0200
@@ -119,9 +119,11 @@
         ret
 
 .Lfind_option:
+        mov     4(%esp),%eax
         push    %ebx
-        push    4+8(%esp)
-        push    4+8(%esp)
+0:
+        pushl   4+8(%esp)
+        push    %eax
         call    .Lstrstr
         add     $8,%esp
         test    %eax,%eax
@@ -129,20 +131,20 @@
         cmp     %eax,4+4(%esp)
         je      1f
         cmpb    $' ',-1(%eax)
-        jne     2f
+        je      1f
+2:      inc     %eax
+        jmp     0b
 1:      mov     %eax,%ebx
-        push    4+8(%esp)
+        pushl   4+8(%esp)
         call    .Lstrlen
         add     $4,%esp
-        xchg    %eax,%ebx
-        add     %eax,%ebx
+        xadd    %eax,%ebx
         cmpb    $'\0',(%ebx)
         je      3f
         cmpb    $' ',(%ebx)
         je      3f
         cmpb    $'=',(%ebx)
-        je      3f
-2:      xor     %eax,%eax
+        jne     2b
 3:      pop     %ebx
         ret
 




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.