Skip to content
Snippets Groups Projects
Commit bd602528 authored by Daniel Schwierzeck's avatar Daniel Schwierzeck
Browse files

MIPS: reserve space for exception vectors


In order to set own exception handlers, a table with the exception
vectors must be built in DRAM and the CPU EBase register must be
set to the base address of this table.

Reserve the space above the stack and use gd->irq_sp as storage
for the exception base address.

Signed-off-by: default avatarDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
parent 67588bda
No related branches found
No related tags found
No related merge requests found
......@@ -7,6 +7,7 @@
obj-y += cache.o
obj-y += cache_init.o
obj-y += stack.o
obj-$(CONFIG_CMD_BOOTM) += bootm.o
......
/*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
DECLARE_GLOBAL_DATA_PTR;
int arch_reserve_stacks(void)
{
/* reserve space for exception vector table */
gd->start_addr_sp -= 0x500;
gd->start_addr_sp &= ~0xFFF;
gd->irq_sp = gd->start_addr_sp;
debug("Reserving %d Bytes for exception vector at: %08lx\n",
0x500, gd->start_addr_sp);
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment