There are ARM systems which are essentially heterogeneous multicores where some cores implement a different ARM architecture version than other cores. A specific example is the tegra124 which boots on an ARMv4 coprocessor while most code, including most of the firmware, runs on the main ARMv7 core. To support SOCs like this, the plan is to generalize the ARM architecture so that all versions are available, and an SOC/CPU can then select what architecture variant should be used for each component of the firmware; bootblock, romstage, and ramstage. BUG=chrome-os-partner:23009 TEST=Built libpayload and coreboot for link, pit and nyan. Booted into the bootblock on nyan. BRANCH=None Change-Id: I22e048c3bc72bd56371e14200942e436c1e312c2 Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-on: https://chromium-review.googlesource.com/171338 Reviewed-by: Gabe Black <gabeblack@chromium.org> Commit-Queue: Gabe Black <gabeblack@chromium.org> Tested-by: Gabe Black <gabeblack@chromium.org>
53 lines
1 KiB
Text
53 lines
1 KiB
Text
menu "Architecture (arm)"
|
|
|
|
|
|
config ARM_ARCH_OPTIONS
|
|
bool
|
|
default y
|
|
select HAVE_ARCH_MEMSET
|
|
select HAVE_ARCH_MEMCPY
|
|
select HAVE_ARCH_MEMMOVE
|
|
|
|
# Maximum reboot count
|
|
# TODO: Improve description.
|
|
config MAX_REBOOT_CNT
|
|
int
|
|
default 3
|
|
|
|
# If a custom bootblock is necessary, this option should be "select"-ed by
|
|
# the thing that needs it, probably the CPU.
|
|
config ARM_BOOTBLOCK_CUSTOM
|
|
bool
|
|
default n
|
|
|
|
choice
|
|
prompt "Bootblock behaviour"
|
|
default ARM_BOOTBLOCK_SIMPLE
|
|
depends on !ARM_BOOTBLOCK_CUSTOM
|
|
|
|
config ARM_BOOTBLOCK_SIMPLE
|
|
bool "Always load fallback"
|
|
|
|
config ARM_BOOTBLOCK_NORMAL
|
|
bool "Switch to normal if non-volatile memory says so"
|
|
|
|
endchoice
|
|
|
|
config CPU_HAS_BOOTBLOCK_INIT
|
|
bool
|
|
default n
|
|
|
|
config MAINBOARD_HAS_BOOTBLOCK_INIT
|
|
bool
|
|
default n
|
|
|
|
config UPDATE_IMAGE
|
|
bool "Update existing coreboot.rom image"
|
|
default n
|
|
help
|
|
If this option is enabled, no new coreboot.rom file
|
|
is created. Instead it is expected that there already
|
|
is a suitable file for further processing.
|
|
The bootblock will not be modified.
|
|
|
|
endmenu
|