Lines Matching refs:regs

24 bool riscv_v_first_use_handler(struct pt_regs *regs);
31 static inline void __riscv_v_vstate_clean(struct pt_regs *regs)
33 regs->status = (regs->status & ~SR_VS) | SR_VS_CLEAN;
36 static inline void __riscv_v_vstate_dirty(struct pt_regs *regs)
38 regs->status = (regs->status & ~SR_VS) | SR_VS_DIRTY;
41 static inline void riscv_v_vstate_off(struct pt_regs *regs)
43 regs->status = (regs->status & ~SR_VS) | SR_VS_OFF;
46 static inline void riscv_v_vstate_on(struct pt_regs *regs)
48 regs->status = (regs->status & ~SR_VS) | SR_VS_INITIAL;
51 static inline bool riscv_v_vstate_query(struct pt_regs *regs)
53 return (regs->status & SR_VS) != 0;
156 static inline void riscv_v_vstate_discard(struct pt_regs *regs)
158 if ((regs->status & SR_VS) == SR_VS_OFF)
162 __riscv_v_vstate_dirty(regs);
166 struct pt_regs *regs)
168 if ((regs->status & SR_VS) == SR_VS_DIRTY) {
172 __riscv_v_vstate_clean(regs);
177 struct pt_regs *regs)
179 if ((regs->status & SR_VS) != SR_VS_OFF) {
183 __riscv_v_vstate_clean(regs);
190 struct pt_regs *regs;
192 regs = task_pt_regs(prev);
193 riscv_v_vstate_save(prev, regs);
206 static inline bool riscv_v_first_use_handler(struct pt_regs *regs) { return false; }
207 static inline bool riscv_v_vstate_query(struct pt_regs *regs) { return false; }
210 #define riscv_v_vstate_discard(regs) do {} while (0)
211 #define riscv_v_vstate_save(task, regs) do {} while (0)
212 #define riscv_v_vstate_restore(task, regs) do {} while (0)
214 #define riscv_v_vstate_off(regs) do {} while (0)
215 #define riscv_v_vstate_on(regs) do {} while (0)