diff options
author | Anup Patel <anup.patel@wdc.com> | 2019-11-17 11:46:24 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2019-11-21 11:27:33 +0300 |
commit | 0e1322bacbaccb34f167ebe243ab04836b99105c (patch) | |
tree | b7c767b8dd31dba21d672afd6cb8dd9fc512721a /include/sbi/sbi_unpriv.h | |
parent | b1d8c988bcca84cf7cd8ee5bf4fe528e256cfeab (diff) | |
download | opensbi-0e1322bacbaccb34f167ebe243ab04836b99105c.tar.xz |
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_unpriv.h')
-rw-r--r-- | include/sbi/sbi_unpriv.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/include/sbi/sbi_unpriv.h b/include/sbi/sbi_unpriv.h new file mode 100644 index 0000000..747ba73 --- /dev/null +++ b/include/sbi/sbi_unpriv.h @@ -0,0 +1,44 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2019 Western Digital Corporation or its affiliates. + * + * Authors: + * Anup Patel <anup.patel@wdc.com> + */ + +#ifndef __SBI_UNPRIV_H__ +#define __SBI_UNPRIV_H__ + +#include <sbi/sbi_types.h> + +struct sbi_scratch; +struct sbi_trap_info; + +#define DECLARE_UNPRIVILEGED_LOAD_FUNCTION(type) \ + type sbi_load_##type(const type *addr, \ + struct sbi_scratch *scratch, \ + struct sbi_trap_info *trap); + +#define DECLARE_UNPRIVILEGED_STORE_FUNCTION(type) \ + void sbi_store_##type(type *addr, type val, \ + struct sbi_scratch *scratch, \ + struct sbi_trap_info *trap); + +DECLARE_UNPRIVILEGED_LOAD_FUNCTION(u8) +DECLARE_UNPRIVILEGED_LOAD_FUNCTION(u16) +DECLARE_UNPRIVILEGED_LOAD_FUNCTION(s8) +DECLARE_UNPRIVILEGED_LOAD_FUNCTION(s16) +DECLARE_UNPRIVILEGED_LOAD_FUNCTION(s32) +DECLARE_UNPRIVILEGED_STORE_FUNCTION(u8) +DECLARE_UNPRIVILEGED_STORE_FUNCTION(u16) +DECLARE_UNPRIVILEGED_STORE_FUNCTION(u32) +DECLARE_UNPRIVILEGED_LOAD_FUNCTION(u32) +DECLARE_UNPRIVILEGED_LOAD_FUNCTION(u64) +DECLARE_UNPRIVILEGED_STORE_FUNCTION(u64) +DECLARE_UNPRIVILEGED_LOAD_FUNCTION(ulong) + +ulong sbi_get_insn(ulong mepc, struct sbi_scratch *scratch, + struct sbi_trap_info *trap); + +#endif |