Paolo Bonzini <pbonz...@redhat.com> writes:

> The e801 memory sizes in the multiboot structures hard-code the available
> low memory to 640.  However, the value should not include the size of the
> EBDA.  Fill the value in the option ROM, getting the size of low memory
> from the BIOS.
>
> Cc: Alexander Graf <ag...@suse.de>
> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> ---
>         Alex, can you ack this patch for 1.3?

Applied. Thanks.

Didn't see a clear ack from Alex but since this does fix a bug, I
figured we should carry it for 1.3.

Regards,

Anthony Liguori

>
>  pc-bios/multiboot.bin         | Bin 1024 -> 1024 bytes
>  pc-bios/optionrom/multiboot.S |   7 +++++++
>  2 files changed, 7 insertions(+)
>
> diff --git a/pc-bios/multiboot.bin b/pc-bios/multiboot.bin
> index 
> f74a6e142fddc054d7f40ab346a108532afac40f..7b3c1745a430ea5e0e15b9aa817d1cbbaa40db14
>  100644
> GIT binary patch
> delta 81
> zcmZqRXyBNj#q7o8KT+38L4+xd@o;KdryK*rZVrajPB|8aZaEhwAcKt|ty|7*VtW(k
> kS)sHUDQSyY7$$Qv{%2ueV91@!$z;eVv)P(y2P2~%0BkrF9smFU
>
> delta 72
> zcmZqRXyBNj#capqJW<z5frBZH@o;KdryK*rZVrajPB|8aZaE7kAcKt|ty|7&VtdnM
> bA;$lVDU(H+3>gJByEE-zoLs=f!*~_|qXQE}
>
> diff --git a/pc-bios/optionrom/multiboot.S b/pc-bios/optionrom/multiboot.S
> index f08222a..003bcfb 100644
> --- a/pc-bios/optionrom/multiboot.S
> +++ b/pc-bios/optionrom/multiboot.S
> @@ -75,6 +75,13 @@ run_multiboot:
>       shr             $4, %eax
>       mov             %ax, %fs
>  
> +     /* Account for the EBDA in the multiboot structure's e801
> +      * map.
> +      */
> +     int             $0x12
> +     cwtl
> +     movl            %eax, %fs:4
> +
>       /* ES = mmap_addr */
>       mov             %fs:48, %eax
>       shr             $4, %eax
> -- 
> 1.8.0

Reply via email to