9os

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit f400e7a78dac28cbb9e6904cbb75184e06aeda83
parent 15d37b0609aad81a55e4791b03436d514d24ed07
Author: Dimitris Papastamos <dimitris.papastamos@arm.com>
Date:   Fri, 12 Oct 2018 16:42:00 +0100

[arm64] Force C handler to switch trapframe and exit from EL3r

It makes sense to see the entire flow within the C code without having
to look at the low level assembly handler.

Change-Id: I0afd8fa01a3c27587634c5c8cfcc1de4e54f944d

Diffstat:
March/arm64/crt-none.s | 5+++--
March/arm64/rom.c | 1+
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/crt-none.s b/arch/arm64/crt-none.s @@ -39,7 +39,7 @@ _start: mov x0,sp bl main - ldr x0,=outsync + adr x0,outsync b panic _badtrap: @@ -75,7 +75,8 @@ _synchdl: mov x0,sp bl synchdl - b swtch + adr x0,outsync + b panic outsync: .asciz "out of sync" diff --git a/arch/arm64/rom.c b/arch/arm64/rom.c @@ -7,6 +7,7 @@ void synchdl(struct trapframe *fp) { dbg("sync handler\n"); + swtch(fp); } void