From mboxrd@z Thu Jan 1 00:00:00 1970 From: Albert ARIBAUD Date: Tue, 20 Oct 2015 23:04:03 +0200 Subject: [U-Boot] [PATCH V2 2/3] mx7: psci: add basic psci support In-Reply-To: References: <1445320795-2235-1-git-send-email-Peng.Fan@freescale.com> <1445320795-2235-2-git-send-email-Peng.Fan@freescale.com> <20151020162527.084b42bf@lilith> <20151020165526.1ae0c332@lilith> Message-ID: <20151020230403.3ba98b53@lilith> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Li, (sorry for my dropping other receipients from the discussion; restoring them On Tue, 20 Oct 2015 15:04:40 +0000, Li Frank wrote: > > > > -----Original Message----- > > From: Albert ARIBAUD [mailto:albert.u.boot at aribaud.net] > > Sent: Tuesday, October 20, 2015 9:55 AM > > To: Li Frank-B20596 > > Subject: Re: [U-Boot] [PATCH V2 2/3] mx7: psci: add basic psci support > > > > Hello Li, > > > > On Tue, 20 Oct 2015 14:29:46 +0000, Li Frank > > wrote: > > > > > > > > > > -----Original Message----- > > > > From: Albert ARIBAUD [mailto:albert.u.boot at aribaud.net] > > > > Sent: Tuesday, October 20, 2015 9:25 AM > > > > To: Li Frank-B20596 > > > > Cc: Fan Peng-B51431 ; u-boot at lists.denx.de; > > > > Estevam Fabio-R49496 > > > > Subject: Re: [U-Boot] [PATCH V2 2/3] mx7: psci: add basic psci > > > > support > > > > > > > > Hello Li, > > > > > > > > On Tue, 20 Oct 2015 14:05:45 +0000, Li Frank > > > > > > > > wrote: > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > From: Peng Fan [mailto:Peng.Fan at freescale.com] > > > > > > Sent: Tuesday, October 20, 2015 1:00 AM > > > > > > To: u-boot at lists.denx.de > > > > > > Cc: Fan Peng-B51431 ; Li Frank-B20596 > > > > > > ; Stefano Babic ; > > > > > > Estevam > > > > > > Fabio- > > > > > > R49496 > > > > > > Subject: [PATCH V2 2/3] mx7: psci: add basic psci support > > > > > > > > > > > > 1. add basic psci support for imx7 chip. > > > > > > 2. support cpu_on and cpu_off. > > > > > > 3. switch to non-secure mode when boot linux kernel. > > > > > > 4. set csu allow accessing all peripherial register in non-secure mode. > > > > > > > > > > > > Signed-off-by: Frank Li > > > > > > Signed-off-by: Peng Fan > > > > > > Cc: Stefano Babic > > > > > > Cc: Fabio Estevam > > > > > > --- > > > > > > > > > > > > Changes V2: > > > > > > Refine commit msg. > > > > > > > > > > > > arch/arm/cpu/armv7/mx7/Makefile | 4 ++ > > > > > > arch/arm/cpu/armv7/mx7/psci-mx7.c | 78 > > > > > > +++++++++++++++++++++++++++++++++++++++ > > > > > > arch/arm/cpu/armv7/mx7/psci.S | 54 > > +++++++++++++++++++++++++++ > > > > > > arch/arm/cpu/armv7/mx7/soc.c | 9 +++++ > > > > > > 4 files changed, 145 insertions(+) create mode 100644 > > > > > > arch/arm/cpu/armv7/mx7/psci-mx7.c create mode > > > > > > 100644 arch/arm/cpu/armv7/mx7/psci.S > > > > > > > > > > > > diff --git a/arch/arm/cpu/armv7/mx7/Makefile > > > > > > b/arch/arm/cpu/armv7/mx7/Makefile index e6ecef0..f25461c 100644 > > > > > > --- a/arch/arm/cpu/armv7/mx7/Makefile > > > > > > +++ b/arch/arm/cpu/armv7/mx7/Makefile > > > > > > @@ -6,3 +6,7 @@ > > > > > > # > > > > > > > > > > > > obj-y := soc.o clock.o clock_slice.o > > > > > > + > > > > > > +ifdef CONFIG_ARMV7_PSCI > > > > > > +obj-y += psci.o psci-mx7.o > > > > > > > > > > Obj-y += psci-mx7.o psci.o > > > > > The otherwise psci_text_end will not be last one. > > > > > > > > I don't like this object module order sensitivity. > > > > > > > > The object module order of secure code modules should not affect the > > > > resulting binary to the point of possibly preventing it from working > > > > -- after all, the object module order of 'vanilla' image code does > > > > not matter (1). We don't have this kind of problem when defining the > > > > image start and end, why would we have it with the secure code start and > > end? > > > > > > Secure code use psci_text_end to calculate stack top point. > > > > Yes, and that does not require defining psci_text_end in an object module, nor > > does it require specific object module ordering. > > If psci_text_end in mid of secure text, > And psci_text_end + 1k < total secure text size, stack will overwrite the code. This is a good reason to allocate the PSCCI stack and create a symbol for its top in the linker script. > > > > IOW, psci_text_end could (and should) be defined in the linker > > > > script, not in an object module. > > > > > > I agree. The other platform put psci_text_end to object module. > > > > Which 'other platform' is this? > > arch/arm/cpu/armv7/sunxi > arch/arm/cpu/armv7/ls102xa Ok, but they all use the same routine for moving the PSCI code and setting its stack, right? Amicalement, -- Albert.