On 28/11/17 11:18, Roger Pau Monné wrote:
> On Tue, Nov 28, 2017 at 10:43:59AM +0100, Juergen Gross wrote:
>> In case the rsdp address in struct boot_params is specified don't try
>> to find the table by searching, but take the address directly as set
>> by the boot loader.
>>
>> Signed-off-by: Juergen Gross <[email protected]>
>> ---
>>  drivers/acpi/osl.c | 8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
>> index 3bb46cb24a99..3b25e2ad7d75 100644
>> --- a/drivers/acpi/osl.c
>> +++ b/drivers/acpi/osl.c
>> @@ -45,6 +45,10 @@
>>  #include <linux/uaccess.h>
>>  #include <linux/io-64-nonatomic-lo-hi.h>
>>  
>> +#ifdef CONFIG_X86
>> +#include <asm/setup.h>
>> +#endif
>> +
>>  #include "internal.h"
>>  
>>  #define _COMPONENT          ACPI_OS_SERVICES
>> @@ -195,6 +199,10 @@ acpi_physical_address __init 
>> acpi_os_get_root_pointer(void)
>>      if (acpi_rsdp)
>>              return acpi_rsdp;
>>  #endif
>> +#ifdef CONFIG_X86
>> +    if (boot_params.hdr.acpi_rsdp_addr)
>> +            return boot_params.hdr.acpi_rsdp_addr;
>> +#endif
> 
> I'm struggling to figure out how was PVH getting the RSDP previously,
> because that should be removed now that it's in the zero-page.

I don't think it should be removed, because this was the legacy case
(searching through memory). It was pure luck that Xen put it at the
right location.


Juergen

Reply via email to