summaryrefslogtreecommitdiff
path: root/src/mainboard/google
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2013-03-07 15:23:45 -0800
committerRonald G. Minnich <rminnich@gmail.com>2013-03-08 22:03:37 +0100
commitb21eaa74a656fa33f943f76ea0c53ca8374760f6 (patch)
tree0271598a31c34c9c36f236fef4760b3932380c08 /src/mainboard/google
parentc2f2bd0a6d00a7f8df4005f148f67373db6d26d6 (diff)
ARMV7 and Google/Snow: Add exception support code to the ramstage
This is previously used exception code from libpayload. On startup it installs and then tests an exception handler. The test is an unaligned memory operation. Yes, we've seen what might be exceptions in the ramstage, and it makes sense to handle them. This code is identical in structure and operation to the previously committed payload exception handler, though we reserve the right to change it as circumstances require. The remaining question is whether we need it in romstage. Change-Id: I24484686c33c9757af8ba171ebae9773828fb69d Signed-off-by: Gabe Black <gabeblack@google.com> Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-on: http://review.coreboot.org/2614 Tested-by: build bot (Jenkins) Reviewed-by: David Hendricks <dhendrix@chromium.org>
Diffstat (limited to 'src/mainboard/google')
-rw-r--r--src/mainboard/google/snow/ramstage.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mainboard/google/snow/ramstage.c b/src/mainboard/google/snow/ramstage.c
index 9f259ef30e..be5216f2b7 100644
--- a/src/mainboard/google/snow/ramstage.c
+++ b/src/mainboard/google/snow/ramstage.c
@@ -19,6 +19,7 @@
#include <console/console.h>
#include <cbmem.h>
+#include <arch/exception.h>
#include <cpu/samsung/exynos5250/clk.h>
#include <cpu/samsung/exynos5250/power.h>
@@ -26,8 +27,10 @@ void hardwaremain(int boot_complete);
void main(void)
{
console_init();
- printk(BIOS_INFO, "hello from ramstage\n");
+ printk(BIOS_INFO, "hello from ramstage; now with deluxe exception handling.\n");
+ /* this is going to move, but we must have it now and we're not sure where */
+ exception_init();
/* place at top of physical memory */
high_tables_size = CONFIG_COREBOOT_TABLES_SIZE;
high_tables_base = CONFIG_SYS_SDRAM_BASE +