mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-09 03:21:51 +00:00
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: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
This commit is contained in:
parent
67588bdade
commit
bd60252811
2 changed files with 20 additions and 0 deletions
19
arch/mips/lib/stack.c
Normal file
19
arch/mips/lib/stack.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* 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;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue