[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 29/35] arm : acpi enable PSCI and hvc in acpi FADT table
From: Parth Dixit <parth.dixit@xxxxxxxxxx> Enable PSCI and hvc flags in FADT table so that dom0 uses PSCI to boot vcpu's Signed-off-by: Parth Dixit <parth.dixit@xxxxxxxxxx> --- xen/arch/arm/arm64/acpi/arm-core.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/xen/arch/arm/arm64/acpi/arm-core.c b/xen/arch/arm/arm64/acpi/arm-core.c index 6707e4c..9a26202 100644 --- a/xen/arch/arm/arm64/acpi/arm-core.c +++ b/xen/arch/arm/arm64/acpi/arm-core.c @@ -28,6 +28,7 @@ #include <xen/errno.h> #include <xen/stdbool.h> #include <xen/cpumask.h> +#include <acpi/actables.h> #include <asm/cputype.h> #include <asm/acpi.h> @@ -242,6 +243,19 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table) return 0; } +static void set_psci_fadt(void) +{ + struct acpi_table_fadt *fadt=NULL; + struct acpi_table_header *table=NULL; + u8 checksum; + + acpi_get_table(ACPI_SIG_FADT, 0, &table); + fadt = (struct acpi_table_fadt *)table; + fadt->arm_boot_flags |= ( ACPI_FADT_PSCI_COMPLIANT | ACPI_FADT_PSCI_USE_HVC ); + checksum = acpi_tb_checksum(ACPI_CAST_PTR(u8, fadt), fadt->header.length); + fadt->header.checksum = (u8)( fadt->header.checksum-checksum ); +} + int acpi_map_tables(struct domain *d) { int i,res; @@ -263,6 +277,8 @@ int acpi_map_tables(struct domain *d) return res; } + set_psci_fadt(); + for( i = 0; i < acpi_gbl_root_table_list.count; i++ ) { addr = acpi_gbl_root_table_list.tables[i].address; -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |