ARM: Generalize armv7 as arm.

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>
This commit is contained in:
Gabe Black 2013-09-30 23:00:33 -07:00 committed by chrome-internal-fetch
commit 8423a41529
117 changed files with 123 additions and 126 deletions

View file

@ -21,8 +21,8 @@ romstage-y += chromeos.c
ramstage-y += chromeos.c
romstage-$(CONFIG_ARCH_X86) += vbnv_cmos.c
ramstage-$(CONFIG_ARCH_X86) += vbnv_cmos.c
romstage-$(CONFIG_ARCH_ARMV7) += vbnv_ec.c
ramstage-$(CONFIG_ARCH_ARMV7) += vbnv_ec.c
romstage-$(CONFIG_ARCH_ARM) += vbnv_ec.c
ramstage-$(CONFIG_ARCH_ARM) += vbnv_ec.c
romstage-$(CONFIG_ARCH_X86) += vboot.c
ramstage-y += gnvs.c
romstage-y += fmap.c
@ -61,9 +61,9 @@ ifeq ($(CONFIG_ARCH_X86),y)
VBOOT_STUB_DEPS += $(obj)/arch/x86/lib/memset.rmodules.o
VBOOT_STUB_DEPS += $(obj)/arch/x86/lib/memcpy.rmodules.o
endif
ifeq ($(CONFIG_ARCH_ARMV7),y)
VBOOT_STUB_DEPS += $(obj)/arch/armv7/memset.rmodules.o
VBOOT_STUB_DEPS += $(obj)/arch/armv7/memcpy.rmodules.o
ifeq ($(CONFIG_ARCH_ARM),y)
VBOOT_STUB_DEPS += $(obj)/arch/arm/memset.rmodules.o
VBOOT_STUB_DEPS += $(obj)/arch/arm/memcpy.rmodules.o
endif
VBOOT_STUB_DEPS += $(VB_LIB)
# Remove the '-include' option since that will break vboot's build and ensure

View file

@ -41,7 +41,7 @@ const struct fmap *fmap_find(void)
/* wrapping around 0x100000000 */
const struct fmap *fmap = (void *)
(CONFIG_FLASHMAP_OFFSET - CONFIG_ROM_SIZE);
#elif CONFIG_ARCH_ARMV7
#elif CONFIG_ARCH_ARM
struct cbfs_media default_media, *media;
media = &default_media;
init_default_cbfs_media(media);

View file

@ -244,7 +244,7 @@ static void vboot_load_ramstage(struct vboot_handoff *vboot_handoff,
"jmp *%%edi\n"
:: "D"(entry_point)
);
#elif CONFIG_ARCH_ARMV7
#elif CONFIG_ARCH_ARM
stage_exit(entry_point);
#endif
}