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

Re: [Xen-devel] [PATCH 1/2] x86/boot: fix early error display



On Thu, Oct 12, 2017 at 03:50:06PM -0500, Doug Goldstein wrote:
> From: David Esler <drumandstrum@xxxxxxxxx>
>
> In 9180f5365524 a change was made to the send_chr function to take in
> C-strings and print out a character at a time until a NULL was
> encountered. However there is no code to increment the current character
> position resulting in an endless loop of the first character. This adds
> a simple increment.
>
> Reviewed-by: Doug Goldstein <cardoe@xxxxxxxxxx>
> Signed-off-by: David Esler <drumandstrum@xxxxxxxxx>
> ---
>  xen/arch/x86/boot/head.S | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index fd6fc337fe..f48bbbd2e5 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -174,6 +174,7 @@ not_multiboot:
>          mov     sym_esi(vga_text_buffer),%edi
>  .Lsend_chr:
>          mov     (%esi),%bl
> +        inc     %esi
>          test    %bl,%bl        # Terminate on '\0' sentinel
>          je      .Lhalt
>          mov     $0x3f8+5,%dx   # UART Line Status Register

I have a feeling that you have tested this on machine without
VGA text buffer available. Then your fix works. However, if VGA
text buffer is available then %esi is increased twice. First time
by inc here and once again by movsb below. So, I think that the
issue have to be fixed in a bit different way.

Daniel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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