summaryrefslogtreecommitdiff
path: root/lib/sbi/sbi_misaligned_ldst.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sbi/sbi_misaligned_ldst.c')
-rw-r--r--lib/sbi/sbi_misaligned_ldst.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/lib/sbi/sbi_misaligned_ldst.c b/lib/sbi/sbi_misaligned_ldst.c
index 7c15a40..29d79bb 100644
--- a/lib/sbi/sbi_misaligned_ldst.c
+++ b/lib/sbi/sbi_misaligned_ldst.c
@@ -21,10 +21,8 @@ union reg_data {
u64 data_u64;
};
-int sbi_misaligned_load_handler(u32 hartid, ulong mcause,
- ulong addr, ulong tval2, ulong tinst,
- struct sbi_trap_regs *regs,
- struct sbi_scratch *scratch)
+int sbi_misaligned_load_handler(ulong addr, ulong tval2, ulong tinst,
+ struct sbi_trap_regs *regs)
{
ulong insn;
union reg_data val;
@@ -110,7 +108,7 @@ int sbi_misaligned_load_handler(u32 hartid, ulong mcause,
#endif
} else {
uptrap.epc = regs->mepc;
- uptrap.cause = mcause;
+ uptrap.cause = CAUSE_MISALIGNED_LOAD;
uptrap.tval = addr;
uptrap.tval2 = tval2;
uptrap.tinst = tinst;
@@ -141,10 +139,8 @@ int sbi_misaligned_load_handler(u32 hartid, ulong mcause,
return 0;
}
-int sbi_misaligned_store_handler(u32 hartid, ulong mcause,
- ulong addr, ulong tval2, ulong tinst,
- struct sbi_trap_regs *regs,
- struct sbi_scratch *scratch)
+int sbi_misaligned_store_handler(ulong addr, ulong tval2, ulong tinst,
+ struct sbi_trap_regs *regs)
{
ulong insn;
union reg_data val;
@@ -221,7 +217,7 @@ int sbi_misaligned_store_handler(u32 hartid, ulong mcause,
#endif
} else {
uptrap.epc = regs->mepc;
- uptrap.cause = mcause;
+ uptrap.cause = CAUSE_MISALIGNED_STORE;
uptrap.tval = addr;
uptrap.tval2 = tval2;
uptrap.tinst = tinst;