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 > >> --- > >> 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 > >> #include > >> > >> +#ifdef CONFIG_X86 > >> +#include > >> +#endif > >> + > >> #include "internal.h" > >> > >> #define _COMPONENTACPI_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. ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
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 >> --- >> 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 >> #include >> >> +#ifdef CONFIG_X86 >> +#include >> +#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 ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH 2/3] x86/acpi: take rsdp address for boot params if available
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 > --- > 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 > #include > > +#ifdef CONFIG_X86 > +#include > +#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. Roger. ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
[Xen-devel] [PATCH 2/3] x86/acpi: take rsdp address for boot params if available
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 --- 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 #include +#ifdef CONFIG_X86 +#include +#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 if (efi_enabled(EFI_CONFIG_TABLES)) { if (efi.acpi20 != EFI_INVALID_TABLE_ADDR) -- 2.12.3 ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel