arm64: add exception_hwinit()
exception_hwinit() provides a path for just setting the hardware state. This allows for other CPUs but the boot CPU for setting up the appropriate vector table. BUG=chrome-os-partner:31545 BRANCH=None TEST=Built and booted to the kernel. Change-Id: Ifd44ab697bce5cd351f05069519785dc80e2b866 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 76a1c9cb3df930b28469608ecb5c35be7ccdadd1 Original-Change-Id: Ib09c813b49a4f00daca0b53d9dca972251fcf476 Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/214773 Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/9017 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
339f8b313a
commit
cc175767c9
|
@ -127,11 +127,16 @@ static uint64_t test_exception(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void exception_init(void)
|
||||
void exception_hwinit(void)
|
||||
{
|
||||
extern void *exception_table;
|
||||
|
||||
set_vbar(&exception_table);
|
||||
}
|
||||
|
||||
void exception_init(void)
|
||||
{
|
||||
/* Load the exception table. */
|
||||
exception_hwinit();
|
||||
|
||||
printk(BIOS_DEBUG, "ARM64: Exception handlers installed.\n");
|
||||
|
||||
|
|
|
@ -39,6 +39,8 @@ struct exception_state
|
|||
uint64_t regs[31];
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Initialize the exception handling on the current CPU. */
|
||||
void exception_hwinit(void);
|
||||
void exception_init(void);
|
||||
void set_vbar(void *vbar);
|
||||
void exception_dispatch(struct exception_state *state, int idx);
|
||||
|
|
Loading…
Reference in New Issue