On 2015年02月05日 00:43, Lorenzo Pieralisi wrote:
On Mon, Feb 02, 2015 at 12:45:39PM +0000, Hanjun Guo wrote:
From: Graeme Gregory graeme.gregory@linaro.org
There are two flags: PSCI_COMPLIANT and PSCI_USE_HVC. When set, the former signals to the OS that the firmware is PSCI compliant. The latter selects the appropriate conduit for PSCI calls by toggling between Hypervisor Calls (HVC) and Secure Monitor Calls (SMC).
FADT table contains such information in ACPI 5.1, FADT table was parsed in ACPI table init and copy to struct acpi_gbl_FADT, so use the flags in struct acpi_gbl_FADT for PSCI init.
So you do rely on a global FADT being available, if you use it for PSCI detection you can use it for ACPI revision detection too, right ?
Yes, I think so.
Point is, either we should not use the global FADT table, or we use it consistently, or there is something I am unaware of that prevents you from using in some code paths and I would like to understand why.
global FADT table is initialized when parsing the tables from RSDP in ACPICA core, and it should be work on ARM64 too.
Thanks Hanjun