diff options
author | Anup Patel <anup.patel@wdc.com> | 2018-12-11 19:24:06 +0530 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2018-12-11 19:24:06 +0530 |
commit | 9e8ff05cb61f157fb0bcb6b0071d7b6dc0763faa (patch) | |
tree | b9513a86b3b36e569cb46387846fee9c5544f566 /include/sbi/sbi_trap.h |
Initial commit.
Signed-off-by: Anup Patel <anup.patel@wdc.com>
Diffstat (limited to 'include/sbi/sbi_trap.h')
-rw-r--r-- | include/sbi/sbi_trap.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/include/sbi/sbi_trap.h b/include/sbi/sbi_trap.h new file mode 100644 index 0000000..a6b22e4 --- /dev/null +++ b/include/sbi/sbi_trap.h @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2018 Western Digital Corporation or its affiliates. + * + * Authors: + * Anup Patel <anup.patel@wdc.com> + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef __SBI_TRAP_H__ +#define __SBI_TRAP_H__ + +#include <sbi/sbi_types.h> + +struct sbi_trap_regs { + unsigned long zero; + unsigned long ra; + unsigned long sp; + unsigned long gp; + unsigned long tp; + unsigned long t0; + unsigned long t1; + unsigned long t2; + unsigned long s0; + unsigned long s1; + unsigned long a0; + unsigned long a1; + unsigned long a2; + unsigned long a3; + unsigned long a4; + unsigned long a5; + unsigned long a6; + unsigned long a7; + unsigned long s2; + unsigned long s3; + unsigned long s4; + unsigned long s5; + unsigned long s6; + unsigned long s7; + unsigned long s8; + unsigned long s9; + unsigned long s10; + unsigned long s11; + unsigned long t3; + unsigned long t4; + unsigned long t5; + unsigned long t6; + unsigned long mepc; + unsigned long mstatus; +} __attribute__((packed)); + +struct sbi_scratch; + +void sbi_trap_handler(struct sbi_trap_regs *regs, + struct sbi_scratch *scratch); + +#endif |