Re: [PATCH v2 RESEND 11/18] x86, acpi: Try to find SRAT in firmwareearlier.

From: Toshi Kani
Date: Tue Aug 06 2013 - 19:34:53 EST


On Fri, 2013-08-02 at 17:14 +0800, Tang Chen wrote:
> This patch introduce early_acpi_firmware_srat() to find the
> phys addr of SRAT provided by firmware. And call it in
> find_hotpluggable_memory().
>
> Since we have initialized acpi_gbl_root_table_list earlier,
> and store all the tables' phys addrs and signatures in it,
> it is easy to find the SRAT.
>
> Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx>
> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
> ---
> drivers/acpi/acpica/tbxface.c | 32 ++++++++++++++++++++++++++++++++
> drivers/acpi/osl.c | 22 ++++++++++++++++++++++
> include/acpi/acpixf.h | 4 ++++
> include/linux/acpi.h | 4 ++++
> mm/memory_hotplug.c | 8 ++++++--
> 5 files changed, 68 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/acpica/tbxface.c b/drivers/acpi/acpica/tbxface.c

Please add "ACPICA" to the patch title. This patch also needs to be
reviewed by ACPICA folks.

> index ad11162..6a92f12 100644
> --- a/drivers/acpi/acpica/tbxface.c
> +++ b/drivers/acpi/acpica/tbxface.c

:

> diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
> index dcbca3e..ec490fe 100644
> --- a/drivers/acpi/osl.c
> +++ b/drivers/acpi/osl.c
> @@ -53,6 +53,7 @@
> #include <acpi/acpi.h>
> #include <acpi/acpi_bus.h>
> #include <acpi/processor.h>
> +#include <acpi/acpixf.h>
>
> #define _COMPONENT ACPI_OS_SERVICES
> ACPI_MODULE_NAME("osl");
> @@ -760,6 +761,27 @@ void __init acpi_initrd_override(void *data, size_t size)
> }
> #endif /* CONFIG_ACPI_INITRD_TABLE_OVERRIDE */
>
> +#ifdef CONFIG_ACPI_NUMA
> +/*******************************************************************************
> + *
> + * FUNCTION: early_acpi_firmware_srat
> + *
> + * RETURN: Phys addr of SRAT on success, 0 on error.
> + *
> + * DESCRIPTION: Get the phys addr of SRAT provided by firmware.
> + *
> + ******************************************************************************/
> +phys_addr_t __init early_acpi_firmware_srat(void)
> +{
> + struct acpi_table_desc table_desc;
> +
> + if (acpi_get_table_desc(ACPI_SIG_SRAT, &table_desc))

This check should use ACPI_FAILURE() macro:

if (ACPI_FAILURE(acpi_get_table_desc(ACPI_SIG_SRAT, &table_desc))

Thanks,
-Toshi


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/