2017-11-28 12:20:20

by Jürgen Groß

[permalink] [raw]
Subject: Re: [Xen-devel] [PATCH 2/3] x86/acpi: take rsdp address for boot params if available

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

From 1585306657308184649@xxx Tue Nov 28 10:50:42 +0000 2017
X-GM-THRID: 1585302521989218363
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread


2017-11-28 10:50:42

by Roger Pau Monne

[permalink] [raw]
Subject: Re: [Xen-devel] [PATCH 2/3] x86/acpi: take rsdp address for boot params if available

On Tue, Nov 28, 2017 at 11:30:15AM +0100, Juergen Gross wrote:
> 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.

Oh, right. This is working out of pure luck then.

Thanks, Roger.

From 1585304719874351718@xxx Tue Nov 28 10:19:55 +0000 2017
X-GM-THRID: 1585302521989218363
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread