[xen master] x86/boot: fix early error output

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[xen master] x86/boot: fix early error output

patchbot
commit 78e693cc123296db2f79e792cf474544c1ffd064
Author:     David Esler <[hidden email]>
AuthorDate: Fri Oct 20 09:29:29 2017 +0200
Commit:     Jan Beulich <[hidden email]>
CommitDate: Fri Oct 20 09:29:29 2017 +0200

    x86/boot: fix early error output
   
    In 9180f5365524 a change was made to the send_chr function to take in
    C-strings and output a character at a time until a NULL was encountered.
    However, when there is no VGA there is no code to increment the current
    character position resulting in an endless loop of the first character.
    This moves the (implicit) increment such that it occurs in all cases.
   
    Signed-off-by: David Esler <[hidden email]>
    Reviewed-by: Doug Goldstein <[hidden email]>
    [jb: correct title and description]
    Reviewed-by: Jan Beulich <[hidden email]>
    Reviewed-by: Daniel Kiper <[hidden email]>
---
 xen/arch/x86/boot/head.S | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index fd6fc33..9cc35da 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -173,10 +173,11 @@ not_multiboot:
 .Lget_vtb:
         mov     sym_esi(vga_text_buffer),%edi
 .Lsend_chr:
-        mov     (%esi),%bl
-        test    %bl,%bl        # Terminate on '\0' sentinel
+        lodsb
+        test    %al,%al        # Terminate on '\0' sentinel
         je      .Lhalt
         mov     $0x3f8+5,%dx   # UART Line Status Register
+        mov     %al,%bl
 2:      in      %dx,%al
         test    $0x20,%al      # Test THR Empty flag
         je      2b
@@ -185,7 +186,7 @@ not_multiboot:
         out     %al,%dx        # Send a character over the serial line
         test    %edi,%edi      # Is the VGA text buffer available?
         jz      .Lsend_chr
-        movsb                  # Write a character to the VGA text buffer
+        stosb                  # Write a character to the VGA text buffer
         mov     $7,%al
         stosb                  # Write an attribute to the VGA text buffer
         jmp     .Lsend_chr
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
[hidden email]
https://lists.xenproject.org/xen-changelog