u-boot-brain/arch/powerpc/include/asm
Aneesh Bansal bdc22074c5 secure_boot: split the secure boot functionality in two parts
There are two phases in Secure Boot
1. ISBC: In BootROM, validate the BootLoader (U-Boot).
2. ESBC: In U-Boot, continuing the Chain of Trust by
         validating and booting LINUX.

For ESBC phase, there is no difference in SoC's based on ARM or
PowerPC cores.

But the exit conditions after ISBC phase i.e. entry conditions for
U-Boot are different for ARM and PowerPC.
PowerPC:

If Secure Boot is executed, a separate U-Boot target is required
which must be compiled with a diffrent Text Base as compared to
Non-Secure Boot. There are some LAW and TLB settings which are
required specifically for Secure Boot scenario.

ARM:
ARM based SoC's have a fixed memory map and exit conditions from
BootROM are same irrespective of boot mode (Secure or Non-Secure).

Thus the current Secure Boot functionlity has been split into
two parts:
CONFIG_CHAIN_OF_TRUST
This will have the following functionality as part of U-Boot:
1. Enable commands like esbc_validate, esbc_halt
2. Change the environment settings based on bootmode, determined
   at run time:
     - If bootmode is non-secure, no change
     - If bootmode is secure, set the following:
         - bootdelay = 0 (Don't give boot prompt)
         - bootcmd = Validate and execute the bootscript.

CONFIG_SECURE_BOOT
This is defined only for creating a different compile time target
for secure boot.

Traditionally, both these functionalities were defined under
CONFIG_SECURE_BOOT. This patch is aimed at removing the requirement
for a separate Secure Boot target for ARM based SoC's.
CONFIG_CHAIN_OF_TRUST will be defined and boot mode will be
determine at run time.

Another Security Requirement for running CHAIN_OF_TRUST is that
U-Boot environemnt must not be picked from flash/external memory.
This cannot be done based on bootmode at run time in current U-Boot
architecture. Once this dependency is resolved, no separate
SECURE_BOOT target will be required for ARM based SoC's.

Currently, the only code under CONFIG_SECURE_BOOT for ARM SoC's is
defining CONFIG_ENV_IS_NOWHERE

Signed-off-by: Aneesh Bansal <aneesh.bansal@nxp.com>
Acked-by: Ruchika Gupta <ruchika.gupta@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
2016-01-27 08:12:32 -08:00
..
arch-mpc83xx Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
arch-mpc85xx Correct License and Copyright information on few files 2015-08-12 20:47:46 -04:00
arch-ppc4xx powerpc: ppc4xx: Add a gpio.h header file 2015-02-12 10:35:31 -07:00
4xx_pci.h Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
4xx_pcie.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
5xx_immap.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
8xx_immap.h cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
atomic.h Replace "extern inline" with "static inline" 2015-11-09 18:19:40 -05:00
bitops.h Replace "extern inline" with "static inline" 2015-11-09 18:19:40 -05:00
byteorder.h Replace "extern inline" with "static inline" 2015-11-09 18:19:40 -05:00
cache.h mpc85xx/t104x: Enable L2 and CPC cache when resume 2014-07-22 16:25:55 -07:00
config_mpc85xx.h driver/ddr/fsl: Add workaround for A009663 2016-01-25 08:24:15 -08:00
config_mpc86xx.h Driver/DDR: Moving Freescale DDR driver to a common driver 2013-11-25 11:43:43 -08:00
config.h ns16550: unify serial_ppc 2015-11-21 21:50:04 -05:00
cpm_85xx.h cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
cpm_8260.h cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
e300.h Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
errno.h Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
fsl_dma.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
fsl_fdt.h t1040d4rdb: assign muxed pins to qe-tdm when set hwconfig qe-tdm 2015-11-02 08:48:20 -08:00
fsl_i2c.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
fsl_law.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
fsl_lbc.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
fsl_liodn.h net/fman: Support both new and legacy FMan Compatibles 2015-09-01 20:57:15 -05:00
fsl_mpc83xx_serdes.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
fsl_pci.h fsl/pci: Set CFG_READY for PCIe v3.0 and later 2015-05-04 09:24:23 -07:00
fsl_portals.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
fsl_secure_boot.h secure_boot: split the secure boot functionality in two parts 2016-01-27 08:12:32 -08:00
fsl_serdes.h arch/powerpc: Add SGMII support for the L2 Switch ports 2015-01-16 09:32:26 -08:00
fsl_srio.h powerpc: Remove __ilog2_u64 and ffs4 from bitops 2015-11-05 16:47:05 -05:00
global_data.h Revert "powerpc: ppc4xx: remove lwmon5 support" 2015-10-11 17:12:09 -04:00
gpio.h mpc83xx: Add a GPIO driver for the MPC83XX family 2012-01-09 20:10:33 -06:00
immap_83xx.h Driver/DDR: combine ccsr_ddr for 83xx, 85xx and 86xx 2013-11-25 11:43:46 -08:00
immap_85xx.h net: Move some header files to include/ 2015-10-29 10:34:00 -07:00
immap_86xx.h Driver/DDR: combine ccsr_ddr for 83xx, 85xx and 86xx 2013-11-25 11:43:46 -08:00
immap_512x.h powerpc: mpc512x: fix boot breakage 2014-10-27 14:35:53 +01:00
immap_8260.h powerpc: fix 8xx and 82xx type-punning warnings with GCC 4.7 2013-06-11 22:01:45 +02:00
interrupt.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
io.h Replace "extern inline" with "static inline" 2015-11-09 18:19:40 -05:00
iopin_8xx.h Replace "extern inline" with "static inline" 2015-11-09 18:19:40 -05:00
iopin_8260.h Replace "extern inline" with "static inline" 2015-11-09 18:19:40 -05:00
linkage.h powerpc: Add linkage.h file 2015-02-12 10:35:32 -07:00
m8260_pci.h cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
mc146818rtc.h Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
mmu.h PPC: 85xx: Generalize DDR TLB mapping function 2014-04-22 17:58:45 -07:00
mp.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mpc8xxx_spi.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
mpc85xx_gpio.h powerpc/mpc85xx: Fix compiling error for common/cmd_gpio.c 2015-05-04 09:26:09 -07:00
mpc512x.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mpc8349_pci.h Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
pci_io.h Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
posix_types.h Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
ppc4xx_config.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ppc4xx-ebc.h powerpc: ppc4xx: remove board support for bluestone 2014-10-10 09:44:43 -04:00
ppc4xx-emac.h SPDX: fix IBM-pibs license identifier 2013-09-20 10:30:54 -04:00
ppc4xx-gpio.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ppc4xx-i2c.h ppc4xx: Handle i2c stuck on combined xfer 2014-11-10 06:44:30 +01:00
ppc4xx-isram.h powerpc: ppc4xx: remove board support for bluestone 2014-10-10 09:44:43 -04:00
ppc4xx-mal.h SPDX: fix IBM-pibs license identifier 2013-09-20 10:30:54 -04:00
ppc4xx-sdram.h powerpc: ppc4xx: remove board support for bluestone 2014-10-10 09:44:43 -04:00
ppc4xx-uic.h powerpc: ppc4xx: remove board support for bluestone 2014-10-10 09:44:43 -04:00
ppc4xx.h powerpc: ppc4xx: remove board support for bluestone 2014-10-10 09:44:43 -04:00
ppc405.h SPDX: fix IBM-pibs license identifier 2013-09-20 10:30:54 -04:00
ppc405ep.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ppc405ex.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ppc405ez.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ppc405gp.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ppc440.h SPDX: fix IBM-pibs license identifier 2013-09-20 10:30:54 -04:00
ppc440ep_gr.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ppc440epx_grx.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ppc440gp.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ppc440gx.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ppc440sp.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ppc440spe.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ppc460ex_gt.h ppc: amcc: Omit unneeded ns16550 CONFIG if using driver model 2015-02-12 10:35:31 -07:00
ppc460sx.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
processor.h powerpc/mpc85xx: Add DSP side awareness for Freescale Heterogeneous SoCs 2015-03-04 10:15:29 -08:00
ptrace.h include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
sections.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
sigcontext.h Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
signal.h Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
spl.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
status_led.h powerpc: mpc8260: consolidate CONFIG_MPC8260 and CONFIG_8260 2014-03-07 10:59:06 -05:00
string.h Add strcasecmp() and strncasecmp() 2012-12-11 13:17:34 -07:00
types.h fsl_sec: Add hardware accelerated SHA256 and SHA1 2014-10-16 14:17:07 -07:00
u-boot.h ppc: Zap Hymod board 2014-10-27 14:35:55 +01:00
unaligned.h Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
xilinx_irq.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00