From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH RFC 29/35] arm : acpi enable PSCI and hvc in acpi FADT table Date: Thu, 05 Feb 2015 04:33:59 +0000 Message-ID: <54D2F2B7.8030002@linaro.org> References: <1423058539-26403-1-git-send-email-parth.dixit@linaro.org> <1423058539-26403-30-git-send-email-parth.dixit@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1423058539-26403-30-git-send-email-parth.dixit@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: parth.dixit@linaro.org, xen-devel@lists.xen.org Cc: christoffer.dall@linaro.org, tim@xen.org, stefano.stabellini@citrix.com, ian.campbell@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org Hi Parth, On 04/02/2015 14:02, parth.dixit@linaro.org wrote: > From: Parth Dixit > > Enable PSCI and hvc flags in FADT table so that dom0 uses PSCI to > boot vcpu's VCPUs > > Signed-off-by: Parth Dixit > --- > 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 > #include > #include > +#include > > #include > #include > @@ -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(); > + With this change, the name of the function (acpi_map_tables) doesn't seem correct. > for( i = 0; i < acpi_gbl_root_table_list.count; i++ ) > { > addr = acpi_gbl_root_table_list.tables[i].address; > Regards, -- Julien Grall