/seL4-test-master/tools/riscv-pk/machine/ |
H A D | minit.c | 29 write_csr(mstatus, MSTATUS_FS); 74 assert(read_csr(mstatus) & MSTATUS_FS); 213 uintptr_t mstatus = read_csr(mstatus); local 214 mstatus = INSERT_FIELD(mstatus, MSTATUS_MPP, PRV_S); 215 mstatus = INSERT_FIELD(mstatus, MSTATUS_MPIE, 0); 216 write_csr(mstatus, mstatus); 232 uintptr_t mstatus = read_csr(mstatus); local [all...] |
H A D | fp_ldst.c | 15 if (unlikely((mstatus & MSTATUS_FS) == 0)) 16 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 31 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 40 if (unlikely((mstatus & MSTATUS_FS) == 0)) 41 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 56 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn);
|
H A D | emulation.c | 18 if (unlikely((mstatus & MSTATUS_FS) == 0)) 19 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 68 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 133 uintptr_t mstatus = read_csr(mstatus); local 138 insn = get_insn(mepc, &mstatus); 140 return emulate_rvc(regs, mcause, mepc, mstatus, insn); 148 f(regs, mcause, mepc, mstatus, insn); 154 return redirect_trap(mepc, mstatus, insn); 157 static inline int emulate_read_csr(int num, uintptr_t mstatus, uintptr_ argument 241 emulate_write_csr(int num, uintptr_t value, uintptr_t mstatus) argument [all...] |
H A D | mtrap.c | 179 void redirect_trap(uintptr_t epc, uintptr_t mstatus, uintptr_t badaddr) argument 185 if (mstatus & MSTATUS_MPV) { 187 hstatus |= (mstatus & MSTATUS_SPP) ? HSTATUS_SP2P : 0; 191 hstatus |= (mstatus & MSTATUS_MPV) ? HSTATUS_SPV : 0; 193 hstatus |= (mstatus & MSTATUS_MTL) ? HSTATUS_STL : 0; 196 mstatus &= ~MSTATUS_MPV; 197 mstatus &= ~MSTATUS_MTL; 206 uintptr_t new_mstatus = mstatus & ~(MSTATUS_SPP | MSTATUS_SPIE | MSTATUS_SIE); 208 new_mstatus |= (mstatus * (MSTATUS_SPIE / MSTATUS_SIE)) & MSTATUS_SPIE; 209 new_mstatus |= (mstatus / (mpp_ [all...] |
H A D | fp_emulation.c | 48 if (unlikely((mstatus & MSTATUS_FS) == 0)) 49 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 56 return f(regs, mcause, mepc, mstatus, insn); 62 void emulate_any_fadd(uintptr_t* regs, uintptr_t mcause, uintptr_t mepc, uintptr_t mstatus, insn_t insn, int32_t neg_b) argument 73 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 79 return emulate_any_fadd(regs, mcause, mepc, mstatus, insn, 0); 84 return emulate_any_fadd(regs, mcause, mepc, mstatus, insn, INT32_MIN); 98 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 113 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 120 return truly_illegal_insn(regs, mcause, mepc, mstatus, ins [all...] |
H A D | unprivileged_memory.h | 16 asm ("csrrs %0, mstatus, %3\n" \ 18 "csrw mstatus, %0" \ 29 asm volatile ("csrrs %0, mstatus, %3\n" \ 31 "csrw mstatus, %0" \ 67 static uintptr_t __attribute__((always_inline)) get_insn(uintptr_t mepc, uintptr_t* mstatus) argument 73 asm ("csrrs %[mstatus], mstatus, %[mprv]\n" 75 "csrw mstatus, %[mstatus]" 76 : [mstatus] " [all...] |
H A D | muldiv_emulation.c | 37 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 60 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn);
|
H A D | misaligned_ldst.c | 19 uintptr_t mstatus; local 20 insn_t insn = get_insn(mepc, &mstatus); 70 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); 90 uintptr_t mstatus; local 91 insn_t insn = get_insn(mepc, &mstatus); 137 return truly_illegal_insn(regs, mcause, mepc, mstatus, insn);
|
H A D | fp_emulation.h | 46 else if (GET_RM(insn) > 4) return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); \ 67 else if (GET_RM(insn) > 4) return truly_illegal_insn(regs, mcause, mepc, mstatus, insn); \ 72 # define SET_FS_DIRTY() set_csr(mstatus, MSTATUS_FS)
|
H A D | emulation.h | 12 #define DECLARE_EMULATION_FUNC(name) void name(uintptr_t* regs, uintptr_t mcause, uintptr_t mepc, uintptr_t mstatus, insn_t insn) 16 void redirect_trap(uintptr_t epc, uintptr_t mstatus, uintptr_t badaddr);
|
H A D | encoding.h | 30 /* hypervisr extension bits in mstatus */ 1299 DECLARE_CSR(mstatus, CSR_MSTATUS)
|