From ab3ecaff41a8c96648359fc4f9b775a661d85361 Mon Sep 17 00:00:00 2001 From: Marcelo Povoa Date: Fri, 21 Feb 2014 14:00:53 -0800 Subject: [PATCH] aarch64/foundation-armv8: Set up RAM area and enter ramstage Increase available RAM to 16M, register a ram_resource to it and enter ramstage. Bounce buffer seems to be broken yet, so assign the payload entry to be above coreboot area at 0x80000000 and it should jump to it. BUG=None BRANCH=none TEST=Boot to minimal payload at 0x80100000 which halts the emulation Change-Id: I77d6c56f5d4104c95283598b3d6ddabb8e5d0c7b Signed-off-by: Marcelo Povoa Reviewed-on: https://chromium-review.googlesource.com/186745 Reviewed-by: David Hendricks --- src/arch/aarch64/Makefile.inc | 2 +- src/mainboard/emulation/foundation-armv8/Kconfig | 3 +-- src/mainboard/emulation/foundation-armv8/mainboard.c | 4 ++++ src/mainboard/emulation/foundation-armv8/romstage.c | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/arch/aarch64/Makefile.inc b/src/arch/aarch64/Makefile.inc index a945c692ad..e2fe2cbeb5 100644 --- a/src/arch/aarch64/Makefile.inc +++ b/src/arch/aarch64/Makefile.inc @@ -186,7 +186,7 @@ ramstage-y += cbmem.c $(obj)/arch/aarch64/coreboot_table.ramstage.o : $(OPTION_TABLE_H) romstage-srcs += $(objgenerated)/crt0.s -#ramstage-srcs += $(wildcard src/mainboard/$(MAINBOARDDIR)/mainboard.c) +ramstage-srcs += $(wildcard src/mainboard/$(MAINBOARDDIR)/mainboard.c) ifeq ($(CONFIG_BOARD_HAS_HARD_RESET),y) #ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/reset.c diff --git a/src/mainboard/emulation/foundation-armv8/Kconfig b/src/mainboard/emulation/foundation-armv8/Kconfig index 45439a5e7b..d1d1eab805 100644 --- a/src/mainboard/emulation/foundation-armv8/Kconfig +++ b/src/mainboard/emulation/foundation-armv8/Kconfig @@ -111,10 +111,9 @@ config RAMBASE hex default SYS_SDRAM_BASE -# according to stefan, this is RAMBASE + 1M. config RAMTOP hex - default 0x80100000 + default 0x81000000 config STACK_TOP hex diff --git a/src/mainboard/emulation/foundation-armv8/mainboard.c b/src/mainboard/emulation/foundation-armv8/mainboard.c index eda93c53e1..f5daa6d98a 100644 --- a/src/mainboard/emulation/foundation-armv8/mainboard.c +++ b/src/mainboard/emulation/foundation-armv8/mainboard.c @@ -19,9 +19,13 @@ static void mainboard_enable(device_t dev) { printk(BIOS_INFO, "Enable foundation/armv8 device...\n"); + + ram_resource(dev, 0, CONFIG_RAMBASE / KiB, + (CONFIG_RAMTOP - CONFIG_RAMBASE) / KiB); } struct chip_operations mainboard_ops = { + CHIP_NAME("Foundation ARMv8 Model") .enable_dev = mainboard_enable, }; diff --git a/src/mainboard/emulation/foundation-armv8/romstage.c b/src/mainboard/emulation/foundation-armv8/romstage.c index b52a254f47..41026626f9 100644 --- a/src/mainboard/emulation/foundation-armv8/romstage.c +++ b/src/mainboard/emulation/foundation-armv8/romstage.c @@ -25,5 +25,5 @@ void main(void) entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/coreboot_ram"); - //stage_exit(entry); + stage_exit(entry); }