commit e9ce4b5143311cb0d25489884aa4afc468b8146f
parent 885b6b8340f34778237edaad965cf63006483be5
Author: Dimitris Papastamos <dimitris.papastamos@arm.com>
Date: Tue, 16 Oct 2018 22:27:05 +0100
[arm64] Enable interrupts after initializing UART
Change-Id: Ib8e17f03a12db23594ecc59b4dea93d7b223a9df
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/rom-none.c b/arch/arm64/rom-none.c
@@ -22,8 +22,6 @@ main(void *text, void *ram, size_t ramsiz)
fp = (struct trapframe *) (bp + bsssiz);
fp += NR_NESTED - 1;
wr_sp_r(fp);
- enaabt();
- isb();
memset(ram, 0, bsssiz);
memset(fp, 0, sizeof(*fp));
@@ -32,6 +30,8 @@ main(void *text, void *ram, size_t ramsiz)
bss->uartbase = (void *)UARTBASE;
uartinit(UARTCLK, UARTBAUDRATE);
+ enaabt();
+ isb();
fp->sp = bp + (ramsiz - 16);
fp->elr = rd_rvbar_el3();
@@ -39,6 +39,7 @@ main(void *text, void *ram, size_t ramsiz)
printk("romfw: text = %p, ram = %p, ramsiz = 0x%llx\n",
text, ram, ramsiz);
+
swtch(fp);
/*
* main is not expected to return. If it happens we will