From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee Suthikulpanit Subject: Re: [V2 3/3] amd/seattle: Initial revision of AMD Seattle support Date: Thu, 2 Oct 2014 14:04:30 -0500 Message-ID: <542DA1BE.3020301@amd.com> References: <1412193085-30828-1-git-send-email-suravee.suthikulpanit@amd.com> <1412193085-30828-4-git-send-email-suravee.suthikulpanit@amd.com> <542D2BF2.2070205@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <542D2BF2.2070205@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: Julien Grall , stefano.stabellini@eu.citrix.com, ian.campbell@citrix.com Cc: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org Please see comments inline below. On 10/02/2014 05:41 AM, Julien Grall wrote: > Hi Suravee, > > On 10/01/2014 08:51 PM, suravee.suthikulpanit@amd.com wrote: >> From: Suravee Suthikulpanit >> >> This patch add inital (minimal) platform support for AMD Seattle, >> which mainly just define the matching ID, and specify system_off, >> and sytem_reset mechanism. >> >> Initially, the firmware only support a subset of PSCI-0.2 functions, >> system-off and sytem-reset. The boot protocol is still using spin-table. > > s/sytem-reset/system-reset/ Ah... Thanks > > I find "the boot protocol" not clear, I guess you are talking about CPU > bring up. Maybe something like "CPU management ..." will be better? > Reword to: "The mechanism for bring up auxiliary processors is still using spin-table." >> >> Signed-off-by: Suravee Suthikulpanit >> --- >> xen/arch/arm/platforms/Makefile | 1 + >> xen/arch/arm/platforms/seattle.c | 69 ++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 70 insertions(+) >> create mode 100644 xen/arch/arm/platforms/seattle.c >> >> diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile >> index 680364f..03e7a14 100644 >> --- a/xen/arch/arm/platforms/Makefile >> +++ b/xen/arch/arm/platforms/Makefile >> @@ -4,3 +4,4 @@ obj-$(CONFIG_ARM_32) += midway.o >> obj-$(CONFIG_ARM_32) += omap5.o >> obj-$(CONFIG_ARM_32) += sunxi.o >> obj-$(CONFIG_ARM_64) += xgene-storm.o >> +obj-$(CONFIG_ARM_64) += seattle.o > > NIT: Could we order the platform name alphabetically? i.e move > "seattle.o" just above "xgene-storm.o". Done >> diff --git a/xen/arch/arm/platforms/seattle.c b/xen/arch/arm/platforms/seattle.c >> new file mode 100644 >> index 0000000..06d4e99 >> --- /dev/null >> +++ b/xen/arch/arm/platforms/seattle.c >> @@ -0,0 +1,69 @@ >> +/* >> + * xen/arch/arm/seattle.c >> + * >> + * AMD Seattle specific settings >> + * >> + * Suravee Suthikulpanit >> + * Copyright (c) 2014 Advance Micro Devices Inc. >> + * >> + * This program is free software; you can redistribute it and/or modify >> + * it under the terms of the GNU General Public License as published by >> + * the Free Software Foundation; either version 2 of the License, or >> + * (at your option) any later version. >> + * >> + * This program is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + * GNU General Public License for more details. >> + */ >> + >> +#include > >> +#include >> +#include >> +#include >> +#include > > I don't think those 4 includes are required here. Done. >> +#include >> + >> +static const char * const seattle_dt_compat[] __initconst = >> +{ >> + "amd,seattle", >> + NULL >> +}; >> + >> +/* Seattle firmware only implements PSCI handler for >> + * system off and system reset at this point. >> + * This is temporary until full PSCI-0.2 is supported. >> + * Then, these function will be removed. >> + */ >> +static noinline void seattle_smc_psci(register_t func_id) >> +{ >> + asm volatile( >> + "smc #0" >> + : "+r" (func_id) >> + :); >> +} > > We already have multiple implementation of smc in different place. Can > we provide a common function rather than adding another one? The only place I found this is in the arch/arm/psci.c, which is used mainly for the PSCI stuff. I can declare that one as non-static, and use it here in the seattle.c. Suravee