[lkml]   [2015]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v9 05/21] ARM64 / ACPI: Get RSDP and ACPI boot-time tables
On Wed, Feb 25, 2015 at 04:39:45PM +0800, Hanjun Guo wrote:
> From: Al Stone <>
> As we want to get ACPI tables to parse and then use the information
> for system initialization, we should get the RSDP (Root System
> Description Pointer) first, it then locates Extended Root Description
> Table (XSDT) which contains all the 64-bit physical address that
> pointer to other boot-time tables.
> Introduce acpi.c and its related head file in this patch to provide
> fundamental needs of extern variables and functions for ACPI core,
> and then get boot-time tables as needed.
> - asm/acenv.h for arch specific ACPICA environments and
> implementation, It is needed unconditionally by ACPI core;
> - asm/acpi.h for arch specific variables and functions needed by
> ACPI driver core;
> - acpi.c for ARM64 related ACPI implementation for ACPI driver
> core;
> acpi_boot_table_init() is introduced to get RSDP and boot-time tables,
> it will be called in setup_arch() before paging_init(), so we should
> use eary_memremap() mechanism here to get the RSDP and all the table
> pointers.
> FADT Major.Minor version was introduced in ACPI 5.1, it is the same
> as ACPI version.
> In ACPI 5.1, some major gaps are fixed for ARM, such as updates in
> MADT table for GIC and SMP init, without those updates, we can not
> get the MPIDR for SMP init, and GICv2/3 related init information, so
> we can't boot arm64 ACPI properly with table versions predating 5.1.
> If firmware provides ACPI tables with ACPI version less than 5.1,
> OS has no way to retrieve the configuration data that is necessary
> to init SMP boot protocol and the GIC properly, so disable ACPI if
> we get an FADT table with version less that 5.1 when acpi_boot_table_init()
> called.
> CC: Catalin Marinas <>
> CC: Will Deacon <>
> CC: Lorenzo Pieralisi <>
> Tested-by: Suravee Suthikulpanit <>
> Tested-by: Yijing Wang <>
> Tested-by: Mark Langsdorf <>
> Tested-by: Jon Masters <>
> Tested-by: Timur Tabi <>
> Tested-by: Robert Richter <>
> Acked-by: Robert Richter <>
> Signed-off-by: Al Stone <>
> Signed-off-by: Graeme Gregory <>
> Signed-off-by: Tomasz Nowicki <>
> Signed-off-by: Hanjun Guo <>

As long as it goes in together with later patches that adjust what's
enabled by default:

Acked-by: Olof Johansson <>


 \ /
  Last update: 2015-03-05 19:21    [W:0.960 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site