On Mon, Mar 11, 2019 at 03:27:52PM +0000, Ang, Chee Hong wrote: > On Fri, 2019-03-08 at 13:09 -0500, Tom Rini wrote: > > On Tue, Feb 12, 2019 at 12:27:01AM -0800, chee.hong....@intel.com > > wrote: > > > > > > > > From: "Ang, Chee Hong" <chee.hong....@intel.com> > > > > > > Currently u-boot only support standard PSCI functions for power > > > management > > > and lack of convenient method to allow the users to extend the PSCI > > > functions > > > to support platform specific services. Most of the u-boot users > > > still rely > > > on ATF (ARM Trusted Firmware) to handle the standard power > > > management and > > > platform specific PSCI services. > > > The purpose of this patchsets is to allow u-boot users to support > > > their > > > own platform specific secure SMC/PSCI services without making any > > > SMC calls to ATF. This will benefit the users who need to use u- > > > boot as the > > > only bootloader and secure service provider without relying on ATF. > > > > > > Below is a simple code example for adding your own PSCI functions: > > > > > > #include <common.h> > > > #include <errno.h> > > > #include <asm/io.h> > > > #include <asm/psci.h> > > > #include <asm/secure.h> > > > > > > #define PSCI_SMC64_FUNC_ID1 0xC2000001 > > > #define PSCI_SMC64_FUNC_ID2 0xC2000002 > > > > > > static void __secure psci_plat_specific_func1(unsigned long > > > function_id) > > > { > > > /* Your code for handling the SMC/PSCI platform specific > > > service 1 */ > > > } > > > > > > static void __secure psci_plat_specific_func2(unsigned long > > > function_id) > > > { > > > /* Your code for handling the SMC/PSCI platform specific > > > service 2 */ > > > } > > > > > > DECLARE_SECURE_SVC(plat_specific_func1, PSCI_SMC64_FUNC_ID1, > > > psci_plat_specific_func1); > > > DECLARE_SECURE_SVC(plat_specific_func2, PSCI_SMC64_FUNC_ID2, > > > psci_plat_specific_func2); > > > > > > Ang, Chee Hong (1): > > > ARMv8: Disable fwcall when PSCI is enabled > > > > > > Chee Hong Ang (1): > > > ARMv8: Allow SiP service extensions on top of PSCI code > > Conceptually, I suppose this is a logical step. In specifics, would > > we > > want to make this functionality opt-in, or no, that doesn't make > > sense? > > > Allowing user to add platform specific service is part of SMC/PSCI > specification as specifed in ARM document (Table 2-1): > http://infocenter.arm.com/help/topic/com.arm.doc.den0028b/ARM_DEN0028B_ > SMC_Calling_Convention.pdf > > So I think this functionality should be part of the standard PSCI/SMC > implementation. Currently u-boot only support standard PSCI call which > is: > ---------------------------------------------- > | 0x84000000-0x8400001F | PSCI 32-bit calls | > | 0xC4000000-0xC400001F | PSCI 64-bit calls | > ---------------------------------------------- > > My implementation do not affect or alter the behavior of any existing > standard PSCI calls. > > Users can simply add their own platform specific services by using the > service call range as below: > ---------------------------------------------------- > | 0xC2000000-0xC200FFFF | SMC64: SiP Service Calls | > | 0xC3000000-0xC300FFFF | SMC64: OEM Service Calls | > ---------------------------------------------------- > > For complete service call ranges please refer to Table 6-2 in the ARM > document.
OK, thanks! -- Tom
signature.asc
Description: PGP signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot