Home
last modified time | relevance | path

Searched refs:uptrap (Results 1 – 25 of 28) sorted by relevance

12

/dports/emulators/qemu60/qemu-6.0.0/roms/opensbi/lib/sbi/
H A Dsbi_misaligned_ldst.c45 if (uptrap.cause) { in sbi_misaligned_load_handler()
114 uptrap.tval = addr; in sbi_misaligned_load_handler()
115 uptrap.tval2 = tval2; in sbi_misaligned_load_handler()
116 uptrap.tinst = tinst; in sbi_misaligned_load_handler()
123 &uptrap); in sbi_misaligned_load_handler()
124 if (uptrap.cause) { in sbi_misaligned_load_handler()
165 if (uptrap.cause) { in sbi_misaligned_store_handler()
225 uptrap.tval = addr; in sbi_misaligned_store_handler()
226 uptrap.tval2 = tval2; in sbi_misaligned_store_handler()
233 &uptrap); in sbi_misaligned_store_handler()
[all …]
H A Dsbi_illegal_insn.c119 struct sbi_trap_info uptrap; in sbi_illegal_insn_handler() local
133 insn = sbi_get_insn(regs->mepc, &uptrap); in sbi_illegal_insn_handler()
134 if (uptrap.cause) { in sbi_illegal_insn_handler()
135 uptrap.epc = regs->mepc; in sbi_illegal_insn_handler()
136 return sbi_trap_redirect(regs, &uptrap); in sbi_illegal_insn_handler()
H A Dsbi_ecall_legacy.c28 struct sbi_trap_info *uptrap) in sbi_load_hart_mask_unpriv() argument
33 mask = sbi_load_ulong(pmask, uptrap); in sbi_load_hart_mask_unpriv()
34 if (uptrap->cause) in sbi_load_hart_mask_unpriv()
/dports/emulators/qemu5/qemu-5.2.0/roms/opensbi/lib/sbi/
H A Dsbi_misaligned_ldst.c44 if (uptrap.cause) { in sbi_misaligned_load_handler()
112 uptrap.tval = addr; in sbi_misaligned_load_handler()
113 uptrap.tval2 = tval2; in sbi_misaligned_load_handler()
114 uptrap.tinst = tinst; in sbi_misaligned_load_handler()
121 &uptrap); in sbi_misaligned_load_handler()
122 if (uptrap.cause) { in sbi_misaligned_load_handler()
162 if (uptrap.cause) { in sbi_misaligned_store_handler()
221 uptrap.tval = addr; in sbi_misaligned_store_handler()
222 uptrap.tval2 = tval2; in sbi_misaligned_store_handler()
229 &uptrap); in sbi_misaligned_store_handler()
[all …]
H A Dsbi_illegal_insn.c119 struct sbi_trap_info uptrap; in sbi_illegal_insn_handler() local
123 insn = sbi_get_insn(regs->mepc, &uptrap); in sbi_illegal_insn_handler()
124 if (uptrap.cause) { in sbi_illegal_insn_handler()
125 uptrap.epc = regs->mepc; in sbi_illegal_insn_handler()
126 return sbi_trap_redirect(regs, &uptrap); in sbi_illegal_insn_handler()
H A Dsbi_ecall_legacy.c27 struct sbi_trap_info *uptrap) in sbi_load_hart_mask_unpriv() argument
32 mask = sbi_load_ulong(pmask, uptrap); in sbi_load_hart_mask_unpriv()
33 if (uptrap->cause) in sbi_load_hart_mask_unpriv()
/dports/emulators/qemu-guest-agent/qemu-5.0.1/roms/opensbi/lib/sbi/
H A Dsbi_misaligned_ldst.c46 if (uptrap.cause) { in sbi_misaligned_load_handler()
115 uptrap.cause = mcause; in sbi_misaligned_load_handler()
116 uptrap.tval = addr; in sbi_misaligned_load_handler()
117 uptrap.tval2 = tval2; in sbi_misaligned_load_handler()
118 uptrap.tinst = tinst; in sbi_misaligned_load_handler()
125 scratch, &uptrap); in sbi_misaligned_load_handler()
126 if (uptrap.cause) { in sbi_misaligned_load_handler()
168 if (uptrap.cause) { in sbi_misaligned_store_handler()
229 uptrap.tval = addr; in sbi_misaligned_store_handler()
230 uptrap.tval2 = tval2; in sbi_misaligned_store_handler()
[all …]
H A Dsbi_illegal_insn.c140 struct sbi_trap_info uptrap; in sbi_illegal_insn_handler() local
144 insn = sbi_get_insn(regs->mepc, scratch, &uptrap); in sbi_illegal_insn_handler()
145 if (uptrap.cause) { in sbi_illegal_insn_handler()
146 uptrap.epc = regs->mepc; in sbi_illegal_insn_handler()
147 return sbi_trap_redirect(regs, &uptrap, in sbi_illegal_insn_handler()
H A Dsbi_trap.c223 struct sbi_trap_info trap, *uptrap; in sbi_trap_handler() local
273 uptrap = sbi_hart_get_trap_info(scratch); in sbi_trap_handler()
274 if ((regs->mstatus & MSTATUS_MPRV) && uptrap) { in sbi_trap_handler()
276 uptrap->epc = regs->mepc; in sbi_trap_handler()
278 uptrap->cause = mcause; in sbi_trap_handler()
279 uptrap->tval = mtval; in sbi_trap_handler()
280 uptrap->tval2 = mtval2; in sbi_trap_handler()
281 uptrap->tinst = mtinst; in sbi_trap_handler()
H A Dsbi_ecall_legacy.c25 struct sbi_trap_info *uptrap) in sbi_load_hart_mask_unpriv() argument
30 mask = sbi_load_ulong(pmask, scratch, uptrap); in sbi_load_hart_mask_unpriv()
31 if (uptrap->cause) in sbi_load_hart_mask_unpriv()
/dports/sysutils/opensbi/opensbi-0.9/lib/sbi/
H A Dsbi_misaligned_ldst.c45 if (uptrap.cause) { in sbi_misaligned_load_handler()
114 uptrap.tval = addr; in sbi_misaligned_load_handler()
115 uptrap.tval2 = tval2; in sbi_misaligned_load_handler()
116 uptrap.tinst = tinst; in sbi_misaligned_load_handler()
123 &uptrap); in sbi_misaligned_load_handler()
124 if (uptrap.cause) { in sbi_misaligned_load_handler()
165 if (uptrap.cause) { in sbi_misaligned_store_handler()
225 uptrap.tval = addr; in sbi_misaligned_store_handler()
226 uptrap.tval2 = tval2; in sbi_misaligned_store_handler()
233 &uptrap); in sbi_misaligned_store_handler()
[all …]
H A Dsbi_illegal_insn.c119 struct sbi_trap_info uptrap; in sbi_illegal_insn_handler() local
133 insn = sbi_get_insn(regs->mepc, &uptrap); in sbi_illegal_insn_handler()
134 if (uptrap.cause) { in sbi_illegal_insn_handler()
135 uptrap.epc = regs->mepc; in sbi_illegal_insn_handler()
136 return sbi_trap_redirect(regs, &uptrap); in sbi_illegal_insn_handler()
H A Dsbi_ecall_legacy.c28 struct sbi_trap_info *uptrap) in sbi_load_hart_mask_unpriv() argument
33 mask = sbi_load_ulong(pmask, uptrap); in sbi_load_hart_mask_unpriv()
34 if (uptrap->cause) in sbi_load_hart_mask_unpriv()
/dports/emulators/qemu/qemu-6.2.0/roms/opensbi/lib/sbi/
H A Dsbi_misaligned_ldst.c45 if (uptrap.cause) { in sbi_misaligned_load_handler()
114 uptrap.tval = addr; in sbi_misaligned_load_handler()
115 uptrap.tval2 = tval2; in sbi_misaligned_load_handler()
116 uptrap.tinst = tinst; in sbi_misaligned_load_handler()
123 &uptrap); in sbi_misaligned_load_handler()
124 if (uptrap.cause) { in sbi_misaligned_load_handler()
165 if (uptrap.cause) { in sbi_misaligned_store_handler()
225 uptrap.tval = addr; in sbi_misaligned_store_handler()
226 uptrap.tval2 = tval2; in sbi_misaligned_store_handler()
233 &uptrap); in sbi_misaligned_store_handler()
[all …]
H A Dsbi_illegal_insn.c119 struct sbi_trap_info uptrap; in sbi_illegal_insn_handler() local
133 insn = sbi_get_insn(regs->mepc, &uptrap); in sbi_illegal_insn_handler()
134 if (uptrap.cause) { in sbi_illegal_insn_handler()
135 uptrap.epc = regs->mepc; in sbi_illegal_insn_handler()
136 return sbi_trap_redirect(regs, &uptrap); in sbi_illegal_insn_handler()
H A Dsbi_ecall_legacy.c28 struct sbi_trap_info *uptrap) in sbi_load_hart_mask_unpriv() argument
33 mask = sbi_load_ulong(pmask, uptrap); in sbi_load_hart_mask_unpriv()
34 if (uptrap->cause) in sbi_load_hart_mask_unpriv()
/dports/emulators/qemu42/qemu-4.2.1/roms/opensbi/lib/sbi/
H A Dsbi_misaligned_ldst.c29 struct unpriv_trap uptrap; in sbi_misaligned_load_handler() local
39 if (uptrap.cause) in sbi_misaligned_load_handler()
41 uptrap.cause, uptrap.tval); in sbi_misaligned_load_handler()
111 scratch, &uptrap); in sbi_misaligned_load_handler()
112 if (uptrap.cause) in sbi_misaligned_load_handler()
114 uptrap.cause, uptrap.tval); in sbi_misaligned_load_handler()
146 if (uptrap.cause) in sbi_misaligned_store_handler()
148 uptrap.cause, uptrap.tval); in sbi_misaligned_store_handler()
208 scratch, &uptrap); in sbi_misaligned_store_handler()
209 if (uptrap.cause) in sbi_misaligned_store_handler()
[all …]
H A Dsbi_ecall.c121 struct unpriv_trap uptrap = {0}; in sbi_ecall_0_1_handler() local
142 ret = sbi_ipi_send_many(scratch, &uptrap, (ulong *)args[0], in sbi_ecall_0_1_handler()
150 ret = sbi_ipi_send_many(scratch, &uptrap, (ulong *)args[0], in sbi_ecall_0_1_handler()
159 ret = sbi_ipi_send_many(scratch, &uptrap, (ulong *)args[0], in sbi_ecall_0_1_handler()
169 ret = sbi_ipi_send_many(scratch, &uptrap, (ulong *)args[0], in sbi_ecall_0_1_handler()
181 *tcause = uptrap.cause; in sbi_ecall_0_1_handler()
182 *tval = uptrap.tval; in sbi_ecall_0_1_handler()
H A Dsbi_illegal_insn.c138 struct unpriv_trap uptrap; in sbi_illegal_insn_handler() local
142 insn = get_insn(regs->mepc, virt, scratch, &uptrap); in sbi_illegal_insn_handler()
143 if (uptrap.cause) in sbi_illegal_insn_handler()
145 regs->mepc, uptrap.cause, uptrap.tval); in sbi_illegal_insn_handler()
H A Dsbi_trap.c221 struct unpriv_trap *uptrap; in sbi_trap_handler() local
262 uptrap = sbi_hart_get_trap_info(scratch); in sbi_trap_handler()
263 if ((regs->mstatus & MSTATUS_MPRV) && uptrap) { in sbi_trap_handler()
265 regs->mepc += uptrap->ilen; in sbi_trap_handler()
266 uptrap->cause = mcause; in sbi_trap_handler()
267 uptrap->tval = mtval; in sbi_trap_handler()
H A Dsbi_ipi.c60 int sbi_ipi_send_many(struct sbi_scratch *scratch, struct unpriv_trap *uptrap, in sbi_ipi_send_many() argument
68 mask &= load_ulong(pmask, scratch, uptrap); in sbi_ipi_send_many()
69 if (uptrap->cause) in sbi_ipi_send_many()
/dports/emulators/qemu-utils/qemu-4.2.1/roms/opensbi/lib/sbi/
H A Dsbi_misaligned_ldst.c29 struct unpriv_trap uptrap; in sbi_misaligned_load_handler() local
39 if (uptrap.cause) in sbi_misaligned_load_handler()
41 uptrap.cause, uptrap.tval); in sbi_misaligned_load_handler()
111 scratch, &uptrap); in sbi_misaligned_load_handler()
112 if (uptrap.cause) in sbi_misaligned_load_handler()
114 uptrap.cause, uptrap.tval); in sbi_misaligned_load_handler()
146 if (uptrap.cause) in sbi_misaligned_store_handler()
148 uptrap.cause, uptrap.tval); in sbi_misaligned_store_handler()
208 scratch, &uptrap); in sbi_misaligned_store_handler()
209 if (uptrap.cause) in sbi_misaligned_store_handler()
[all …]
H A Dsbi_ecall.c121 struct unpriv_trap uptrap = {0}; in sbi_ecall_0_1_handler() local
142 ret = sbi_ipi_send_many(scratch, &uptrap, (ulong *)args[0], in sbi_ecall_0_1_handler()
150 ret = sbi_ipi_send_many(scratch, &uptrap, (ulong *)args[0], in sbi_ecall_0_1_handler()
159 ret = sbi_ipi_send_many(scratch, &uptrap, (ulong *)args[0], in sbi_ecall_0_1_handler()
169 ret = sbi_ipi_send_many(scratch, &uptrap, (ulong *)args[0], in sbi_ecall_0_1_handler()
181 *tcause = uptrap.cause; in sbi_ecall_0_1_handler()
182 *tval = uptrap.tval; in sbi_ecall_0_1_handler()
H A Dsbi_illegal_insn.c138 struct unpriv_trap uptrap; in sbi_illegal_insn_handler() local
142 insn = get_insn(regs->mepc, virt, scratch, &uptrap); in sbi_illegal_insn_handler()
143 if (uptrap.cause) in sbi_illegal_insn_handler()
145 regs->mepc, uptrap.cause, uptrap.tval); in sbi_illegal_insn_handler()
H A Dsbi_trap.c221 struct unpriv_trap *uptrap; in sbi_trap_handler() local
262 uptrap = sbi_hart_get_trap_info(scratch); in sbi_trap_handler()
263 if ((regs->mstatus & MSTATUS_MPRV) && uptrap) { in sbi_trap_handler()
265 regs->mepc += uptrap->ilen; in sbi_trap_handler()
266 uptrap->cause = mcause; in sbi_trap_handler()
267 uptrap->tval = mtval; in sbi_trap_handler()

12