u-boot/common
Masahiro Yamada 7b74c4b60b Revert "armv8: release slave cores from CPU_RELEASE_ADDR"
This reverts commit 8c36e99f21.

There is misunderstanding in commit 8c36e99f21 ("armv8: release
slave cores from CPU_RELEASE_ADDR").  How to bring the slave cores
into U-Boot proper is platform-specific.  So, it should be cared
in SoC/board files instead of common/spl/spl.c.  As you see SPL
is the acronym of Secondary Program Loader, there is generally
something that runs before SPL (the First one is usually Boot ROM).

How to wake up slave cores from the Boot ROM is really SoC specific.
So, the intention for the spin table support is to bring the slave
cores into U-Boot proper in an SoC specific manner.  (this must be
done after relocation.  see below.)

If you bring the slaves into SPL, it is SoC own code responsibility
to transfer them to U-Boot proper.  The Spin Table defines the
interface between a boot-loader and Linux kernel.  It is unrelated
to the interface between SPL and U-Boot proper.

One more thing is missing in the commit; spl_image->entry_point
points to the entry address of U-Boot *before* relocation.  U-Boot
relocates itself between board_init_f() and board_init_r().  This
means the master CPU sees the different copy of the spin code than
the slave CPUs enter.  The spin_table_update_dt() protects the code
*after* relocation.  As a result, the slave CPUs spin in unprotected
code, which leads to unstable behavior.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2017-01-28 14:04:38 -05:00
..
eeprom cmd: eeprom: add support for layout aware commands 2016-05-20 17:02:07 -04:00
init board_init.c: Always use memset() 2017-01-20 15:38:01 -05:00
spl Revert "armv8: release slave cores from CPU_RELEASE_ADDR" 2017-01-28 14:04:38 -05:00
autoboot.c autoboot: move bootdelay >= 0 check to abortboot() 2016-07-01 17:42:56 -04:00
bedbug.c Consolidate bool type 2013-04-01 16:33:52 -04:00
board_f.c Drop prt_mpc5xxx_clks() in favour of print_cpuinfo() 2017-01-25 17:38:44 -05:00
board_info.c generic-board: make show_board_info a weak function 2016-11-28 15:10:32 -05:00
board_r.c Drop CONFIG_CMD_DOC 2017-01-25 17:38:45 -05:00
bootm.c bootm: fix passing argc to standalone apps 2016-10-01 20:04:37 -04:00
bootm_os.c bootm: qnx: Disable data cache before booting QNX image 2017-01-20 15:38:05 -05:00
bootretry.c Rename bootretry functions and remove #ifdefs 2014-05-29 17:49:00 -04:00
bootstage.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
bouncebuf.c Fix a few printf argument verification warnings 2014-09-15 13:32:55 -04:00
cli.c hush: complete renaming CONFIG_SYS_HUSH_PARSER to CONFIG_HUSH_PARSER 2016-06-24 17:24:34 -04:00
cli_hush.c hush: Add rudimentary support for PS1 and PS2 2016-02-08 10:10:37 -05:00
cli_readline.c common: cli_readline: Improve command line editing 2016-08-20 14:03:24 -04:00
cli_simple.c common: cli_simple: use strlcpy instead of strcpy 2016-01-13 21:05:26 -05:00
command.c Drop command-processing code when CONFIG_CMDLINE is disabled 2016-04-01 17:17:40 -04:00
console.c Convert CONSOLE_PRE_CONSOLE_BUFFER options to Kconfig 2016-10-23 18:33:19 -04:00
cros_ec.c cros_ec: Remove unused cros_ec_board_init() function 2015-04-18 11:11:16 -06:00
ddr_spd.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
dfu.c cmd: dfu: Add error handling for board_usb_init 2016-11-03 11:55:25 +01:00
dlmalloc.c malloc: improve memalign fragmentation fix 2016-05-23 11:50:17 -04:00
dlmalloc.src Consolidate bool type 2013-04-01 16:33:52 -04:00
edid.c edid: Add a function to read detailed monitor timings 2015-05-13 09:24:10 -07:00
env_attr.c env: Add regex support to env_attrs 2015-05-21 09:13:19 -04:00
env_callback.c common: env: initialize scalar variable 2016-01-04 12:25:35 -05:00
env_common.c Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
env_dataflash.c env: Add env_export() wrapper 2014-03-21 16:43:59 -04:00
env_eeprom.c env_eeprom invalidates gd->env_addr by setting it to an offset value 2016-04-11 12:44:37 -04:00
env_embedded.c tools/env: Correct include kconfig 2016-11-23 23:41:23 -08:00
env_ext4.c common: Fix support for environment file in EXT4 2016-06-24 17:24:35 -04:00
env_fat.c dm: block: Rename device number member dev to devnum 2016-03-14 15:34:50 -06:00
env_flags.c tools: fix env_flags build 2016-02-15 20:58:25 +00:00
env_flash.c env_flash.c: Drop unused variables 2014-04-17 17:44:36 -04:00
env_mmc.c dm: env: mmc: Convert env_mmc to support CONFIG_BLK 2016-05-27 10:23:08 -06:00
env_nand.c common: env_nand: Ensure that we have nand_info[0] prior to use 2016-08-15 18:46:41 -04:00
env_nowhere.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
env_nvram.c env: Add env_export() wrapper 2014-03-21 16:43:59 -04:00
env_onenand.c env: Add env_export() wrapper 2014-03-21 16:43:59 -04:00
env_remote.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
env_sata.c common: env: support sata device 2016-04-18 12:29:14 -04:00
env_sf.c dm: spi: Read default speed and mode values from DT 2016-07-09 20:16:34 +05:30
env_ubi.c common: env_ubi: Clear environment buffer before reading 2016-06-13 06:41:20 +02:00
exports.c board/ls2085rdb: Export functions for standalone AQ FW load apps 2015-07-20 11:44:37 -07:00
fb_mmc.c disk: convert CONFIG_EFI_PARTITION to Kconfig 2017-01-28 08:47:42 -05:00
fb_nand.c fastboot: sparse: implement reserve() 2016-06-27 16:37:39 -04:00
fdt_support.c libfdt: replace ARCH_FIXUP_FDT with ARCH_FIXUP_FDT_MEMORY 2016-12-02 20:54:34 -07:00
flash.c mpc8xx: remove SPD823TS board support 2015-01-05 12:08:51 -05:00
hash.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
hwconfig.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ide.c dm: ide: Add support for driver-model block devices 2016-05-17 09:54:43 -06:00
image-android.c common: image: minimal android image iminfo support 2016-06-24 17:23:07 -04:00
image-fdt.c libfdt: replace ARCH_FIXUP_FDT with ARCH_FIXUP_FDT_MEMORY 2016-12-02 20:54:34 -07:00
image-fit.c splash: add support for loading splash from a FIT image 2017-01-13 17:40:38 +01:00
image-sig.c image: Combine image_sig_algo with image_sign_info 2016-11-21 14:07:31 -05:00
image-sparse.c fastboot: sparse: improve CHUNK_TYPE_FILL write performance 2016-06-27 16:37:39 -04:00
image.c common/image.c: Use correct suffixes for binary sizes 2017-01-20 15:37:59 -05:00
iomux.c Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
iotrace.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
kallsyms.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
Kconfig Drop prt_mpc5xxx_clks() in favour of print_cpuinfo() 2017-01-25 17:38:44 -05:00
kgdb.c Fix spelling of "occurred". 2016-05-02 18:37:09 -04:00
kgdb_stubs.c Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
lcd.c lcd: Fix compile warning in 64bit mode 2016-03-27 09:12:17 -04:00
lcd_console.c common/lcd_console: introduce display/framebuffer rotation 2015-04-18 17:40:37 +02:00
lcd_console_rotation.c common/lcd_console: introduce display/framebuffer rotation 2015-04-18 17:40:37 +02:00
lcd_simplefb.c common/lcd_simplefb: Add support for 32bit organized framebuffers 2015-07-23 18:10:58 +02:00
lynxkdi.c checkpatch whitespace cleanups 2011-10-22 01:13:35 +02:00
main.c Drop use of CONFIG_SYS_GENERIC_BOARD in U-Boot 2016-05-27 15:39:54 -04:00
Makefile common: dfu: saperate the dfu common functionality 2016-09-27 23:30:18 +02:00
malloc_simple.c malloc_simple: Add debug statements to memalign_simple 2017-01-28 14:04:34 -05:00
memsize.c Revert "common/memsize.c: Simplify RAM size detection" 2016-02-10 08:34:42 -05:00
menu.c Fix typo choosen in comments and printf logs 2016-03-27 09:12:23 -04:00
miiphyutil.c common: miiphyutil: Add helper function for mdio bus name 2016-12-20 07:40:04 +01:00
s_record.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
sata.c sata: fix sata command can not being executed bug 2016-11-28 19:49:47 -05:00
scsi.c scsi: dm: Unbind all scsi based block devices before new scan 2017-01-09 11:25:20 -07:00
splash.c splash: Introduce default_splash_locations 2016-07-26 08:47:37 +02:00
splash_source.c splash: fix splash source flags check 2017-01-13 20:45:25 +01:00
stdio.c stdio: Correct numbering logic in stdio_probe_device() 2016-11-25 17:59:30 -07:00
system_map.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
update.c update: tftp: dfu: Extend update_tftp() function to support DFU 2015-09-07 13:41:05 +02:00
usb.c usb: squash lines for immediate return 2016-09-23 17:53:48 -04:00
usb_hub.c dm: Use dm_scan_fdt_dev() directly where possible 2016-07-27 14:15:54 -06:00
usb_kbd.c Convert CONFIG_SYS_STDIO_DEREGISTER to Kconfig 2016-10-23 18:34:17 -04:00
usb_storage.c usb: storage: Show number of storage devices detected for DM_USB 2017-01-17 10:26:21 +01:00
xyzModem.c xyz-modem: Change getc timeout loop waiting 2016-11-28 19:49:48 -05:00