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>
This commit is contained in:
parent
c2f2bd0a6d
commit
b21eaa74a6
5 changed files with 318 additions and 1 deletions
|
|
@ -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 +
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue