From: York Sun <yorksun@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH][v4] powerpc/mpc85xx: SECURE BOOT- Add secure boot target for B4860QDS
Date: Mon, 10 Mar 2014 08:38:04 -0700 [thread overview]
Message-ID: <531DDC5C.8070805@freescale.com> (raw)
In-Reply-To: <afd943502e6345d7b300ed1f32437f09@DM2PR03MB415.namprd03.prod.outlook.com>
On 03/10/2014 02:14 AM, Bansal Aneesh-B39320 wrote:
>> -----Original Message-----
>> From: Sun York-R58495
>> Sent: Saturday, March 08, 2014 12:01 AM
>> To: Bansal Aneesh-B39320; u-boot at lists.denx.de
>> Cc: Wood Scott-B07421
>> Subject: Re: [PATCH][v4] powerpc/mpc85xx: SECURE BOOT- Add secure boot
>> target for B4860QDS
>>
>> On 03/07/2014 05:23 AM, Aneesh Bansal wrote:
>>> Changes:
>>> 1. L2 cache is being invalidated by Boot ROM code for e6500 core.
>>> So removing the invalidation from start.S 2. Clear the LAW and
>>> corresponding configuration for CPC. Boot ROM
>>> code uses it as hosekeeping area.
>>> 3. For Secure boot, CPC is configured as SRAM and used as house
>>> keeping area. This configuration is to be disabled once in uboot.
>>> Earlier this disabling of CPC as SRAM was happening in
>> cpu_init_r.
>>> As a result cache invalidation function was getting skipped in
>>> case CPC is configured as SRAM.This was causing random crashes.
>>>
>>> Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com>
>>> ---
>>> README | 4 ++++
>>> arch/powerpc/cpu/mpc85xx/cpu_init.c | 27
>> ++++++++++++++++++++++-----
>>> arch/powerpc/cpu/mpc85xx/start.S | 3 ++-
>>> arch/powerpc/include/asm/fsl_secure_boot.h | 6 ++++++
>>> boards.cfg | 1 +
>>> 5 files changed, 35 insertions(+), 6 deletions(-)
>>>
>>> Changes from v3:
>>> Renamed the macro to indicate CPC configured as SRAM at U-boot entry
>>> to CONFIG_SYS_CPC_SRAM
>>
>> Aneesh,
>>
>> I understand you are trying to address the comment about when CPC
>> needs to be disabled before initializing as normal CPC. But
>> introducing CONFIG_SYS_CPC_SRAM seems even more confusing. Let's take
>> one step back.
> In the previous patch we had defined it as CONFIG_SYS_SECURE_HKAREA_CPC. But as per the discussion on previous patch, we were advised to make it generic to have a macro stating that U-Boot is entered with the CPC configured as SRAM.
In your patch, you are using this new macro to disable SRAM. It would be more
clear if the macro is named CONFIG_SYS_CPC_REINIT_F.
>>
>> CPC as SRAM can be used for many reasons. There is only one reason we
>> should keep it as SRAM, i.e. u-boot is indeed using SRAM as its final
>> destination. For all other usages, we can safely reconfigure it as
>> normal CPC after u-boot relocates itself into DDR. If u-boot's final
>> destination is SRAM, it is a RAMBOOT. Can we use this condition to
>> deal with CPC?
> There is a separate condition for secure boot in which CPC is required as SRAM. For NOR secure boot, user needs to initialize a housekeeping area using PBI commands and provide pointer to this housekeeping area to boot ROM. Currently we are using CPC configured as SRAM for this area. Since, this area was initialized as SRAM by PBI commands, there is no cleanup of this area by Boot ROM. Since out of ROM, this are is no longer required, in case of NOR secure boot we need to disable this setting. NOR secure boot is not a RAMBOOT.
That's not conflict with my suggestion. This is NOT a RAMBOOT, so CPC should be
reinitialized.
>
>>
>> Do you see the need to disable CPC before relocation? You are doing so
>> in this patch. Does the temporary LAW or address conflict with u-boot?
> Earlier we were disabling cpc in cpu_init_r. However since cache invalidation function was getting skipped in the process, it was causing random crashes. Skipping invalidation works in RAMBOOT scenario, however since we don?t have valid data when CPC is configured as cache for the secure boot scenario which is not RAMBOOT, these crashes were occurring in few platforms. As a result we had to move this disable code early in the sequence, so that invalidation of cache doesn?t get skipped.
>>
As I suggested, if you have to do this before relocation, a macro
CONFIG_SYS_CPC_REINIT_F makes more sense.
York
next prev parent reply other threads:[~2014-03-10 15:38 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-07 13:23 [U-Boot] [PATCH][v4] powerpc/mpc85xx: SECURE BOOT- Add secure boot target for B4860QDS Aneesh Bansal
2014-03-07 18:30 ` York Sun
2014-03-07 18:54 ` Scott Wood
2014-03-07 18:58 ` York Sun
2014-03-07 19:00 ` Scott Wood
2014-03-07 19:07 ` York Sun
2014-03-10 23:24 ` Scott Wood
2014-03-11 2:46 ` York Sun
2014-03-10 9:14 ` aneesh.bansal at freescale.com
2014-03-10 15:38 ` York Sun [this message]
2014-03-10 23:55 ` Scott Wood
2014-03-11 0:00 ` York Sun
2014-03-11 8:43 ` aneesh.bansal at freescale.com
2014-03-07 18:43 ` Scott Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=531DDC5C.8070805@freescale.com \
--to=yorksun@freescale.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.