All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] optionrom/pvh: scan entire RSDP Area
@ 2020-03-03 10:52 Joe Richey
  2020-03-04  8:55 ` Stefano Garzarella
  0 siblings, 1 reply; 3+ messages in thread
From: Joe Richey @ 2020-03-03 10:52 UTC (permalink / raw)
  To: qemu-trivial, qemu-devel, Stefano Garzarella, Liam Merwick,
	Stefan Hajnoczi
  Cc: Joe Richey

From: Joe Richey <joerichey@google.com>

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 <joerichey@google.com>
---
 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
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] optionrom/pvh: scan entire RSDP Area
  2020-03-03 10:52 [PATCH] optionrom/pvh: scan entire RSDP Area Joe Richey
@ 2020-03-04  8:55 ` Stefano Garzarella
  2020-03-04 12:20   ` Paolo Bonzini
  0 siblings, 1 reply; 3+ messages in thread
From: Stefano Garzarella @ 2020-03-04  8:55 UTC (permalink / raw)
  To: Joe Richey
  Cc: qemu-trivial, Joe Richey, qemu-devel, Stefan Hajnoczi, Paolo Bonzini

CCing Paolo

On Tue, Mar 03, 2020 at 02:52:47AM -0800, Joe Richey wrote:
> From: Joe Richey <joerichey@google.com>
> 
> 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 <joerichey@google.com>
> ---
>  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 <sgarzare@redhat.com>


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



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] optionrom/pvh: scan entire RSDP Area
  2020-03-04  8:55 ` Stefano Garzarella
@ 2020-03-04 12:20   ` Paolo Bonzini
  0 siblings, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2020-03-04 12:20 UTC (permalink / raw)
  To: Stefano Garzarella, Joe Richey
  Cc: qemu-trivial, Joe Richey, qemu-devel, Stefan Hajnoczi

On 04/03/20 09:55, Stefano Garzarella wrote:
> CCing Paolo
> 
> On Tue, Mar 03, 2020 at 02:52:47AM -0800, Joe Richey wrote:
>> From: Joe Richey <joerichey@google.com>
>>
>> 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 <joerichey@google.com>
>> ---
>>  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 <sgarzare@redhat.com>
> 
> 
> [1] https://wiki.osdev.org/RSDP#Detecting_the_RSDP
> 

Queued, thanks for both the fix and the Cc.

Paolo



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-04 12:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-03 10:52 [PATCH] optionrom/pvh: scan entire RSDP Area Joe Richey
2020-03-04  8:55 ` Stefano Garzarella
2020-03-04 12:20   ` Paolo Bonzini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.