qemu-trivial
[Top][All Lists]
Advanced

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

Re: [PATCH] optionrom/pvh: scan entire RSDP Area


From: Stefano Garzarella
Subject: Re: [PATCH] optionrom/pvh: scan entire RSDP Area
Date: Wed, 4 Mar 2020 09:55:41 +0100

CCing Paolo

On Tue, Mar 03, 2020 at 02:52:47AM -0800, Joe Richey wrote:
> From: Joe Richey <address@hidden>
> 
> Right now the PVH option rom scans for the RSDP from 0xE0000 to
> 0xE1FFF. This is probobly a typo, it should scan from 0xE0000 to
> 0xFFFFF.
> 
> This is actually an issue on some QEMU versions/machines. For example,
> when I run QEMU the RSDP is placed at 0xf5ad0 which will not be picked
> up by the current implementation.
> 
> This bug still allows a Linux guest to boot (in most configurations) as
> the kernel will just scan for the RSDP if one isn't provided.
> 
> Signed-off-by: Joe Richey <address@hidden>
> ---
>  pc-bios/optionrom/pvh_main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/pc-bios/optionrom/pvh_main.c b/pc-bios/optionrom/pvh_main.c
> index a015e1bf22..28e79d7fc4 100644
> --- a/pc-bios/optionrom/pvh_main.c
> +++ b/pc-bios/optionrom/pvh_main.c
> @@ -29,7 +29,7 @@ asm (".code32"); /* this code will be executed in protected 
> mode */
>  
>  #define RSDP_SIGNATURE          0x2052545020445352LL /* "RSD PTR " */
>  #define RSDP_AREA_ADDR          0x000E0000
> -#define RSDP_AREA_SIZE          2048
> +#define RSDP_AREA_SIZE          0x00020000
>  #define EBDA_BASE_ADDR          0x0000040E
>  #define EBDA_SIZE               1024
>  

The patch LGTM!

When I wrote this code I followed [1], where it is written that it can
be found in the "memory region from 0x000E0000 to 0x000FFFFF", so it
should be a typo.

Thanks for fixing it!


Fixes: 2785dc7b17 ("optionrom: add new PVH option rom")
Reviewed-by: Stefano Garzarella <address@hidden>


[1] https://wiki.osdev.org/RSDP#Detecting_the_RSDP




reply via email to

[Prev in Thread] Current Thread [Next in Thread]