aboutsummaryrefslogtreecommitdiff
path: root/include/sbi/sbi_trap.h
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2019-11-17 14:16:24 +0530
committerAnup Patel <anup@brainfault.org>2019-11-21 13:57:33 +0530
commit0e1322bacbaccb34f167ebe243ab04836b99105c (patch)
treeb7c767b8dd31dba21d672afd6cb8dd9fc512721a /include/sbi/sbi_trap.h
parentb1d8c988bcca84cf7cd8ee5bf4fe528e256cfeab (diff)
lib: Better naming of unpriv APIs for wider use
The unpriv APIs can be useful to external firmware and out-of-tree platform support code. This patch adds "sbi_" prefix to unpriv load/store APIs and rename struct riscv_unpriv to struct sbi_trap_info everywhere. We also place struct sbi_trap_info in sbi/sbi_trap.h so that we can use it for sbi_trap_redirect() as well. Overall, this patch will make naming of unpriv APIs consistent with other OpenSBI APIs. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com>
Diffstat (limited to 'include/sbi/sbi_trap.h')
-rw-r--r--include/sbi/sbi_trap.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/include/sbi/sbi_trap.h b/include/sbi/sbi_trap.h
index bc26ad1..4baa3a5 100644
--- a/include/sbi/sbi_trap.h
+++ b/include/sbi/sbi_trap.h
@@ -170,12 +170,24 @@ struct sbi_trap_regs {
unsigned long mstatusH;
} __packed;
+/** Representation of trap details */
+struct sbi_trap_info {
+ /** epc Trap program counter */
+ unsigned long epc;
+ /** cause Trap exception cause */
+ unsigned long cause;
+ /** tval Trap value */
+ unsigned long tval;
+};
+
struct sbi_scratch;
-int sbi_trap_redirect(struct sbi_trap_regs *regs, struct sbi_scratch *scratch,
- ulong epc, ulong cause, ulong tval);
+int sbi_trap_redirect(struct sbi_trap_regs *regs,
+ struct sbi_trap_info *trap,
+ struct sbi_scratch *scratch);
-void sbi_trap_handler(struct sbi_trap_regs *regs, struct sbi_scratch *scratch);
+void sbi_trap_handler(struct sbi_trap_regs *regs,
+ struct sbi_scratch *scratch);
#endif