Lines Matching refs:trap
14 struct kvm_cpu_trap *trap)
22 fault_addr = (trap->htval << 2) | (trap->stval & 0x3);
28 (trap->scause == EXC_STORE_GUEST_PAGE_FAULT && !writable)) {
29 switch (trap->scause) {
33 trap->htinst);
37 trap->htinst);
44 (trap->scause == EXC_STORE_GUEST_PAGE_FAULT) ? true : false);
57 * @trap: Output pointer to trap details
62 struct kvm_cpu_trap *trap)
64 register unsigned long taddr asm("a0") = (unsigned long)trap;
96 if (trap->scause == EXC_LOAD_PAGE_FAULT)
97 trap->scause = EXC_INST_PAGE_FAULT;
130 * kvm_riscv_vcpu_trap_redirect -- Redirect trap to Guest
133 * @trap: Trap details
136 struct kvm_cpu_trap *trap)
157 csr_write(CSR_VSCAUSE, trap->scause);
158 csr_write(CSR_VSTVAL, trap->stval);
159 csr_write(CSR_VSEPC, trap->sepc);
173 struct kvm_cpu_trap *trap)
178 if (trap->scause & CAUSE_IRQ_FLAG)
184 switch (trap->scause) {
189 kvm_riscv_vcpu_trap_redirect(vcpu, trap);
195 ret = kvm_riscv_vcpu_virtual_insn(vcpu, run, trap);
201 ret = gstage_page_fault(vcpu, run, trap);
219 trap->scause, trap->stval, trap->htval, trap->htinst);