Lines Matching refs:xbuf
52 static inline void xsave(struct xsave_buffer *xbuf, uint64_t rfbm) in xsave() argument
58 : : "D" (xbuf), "a" (rfbm_lo), "d" (rfbm_hi) in xsave()
62 static inline void xrstor(struct xsave_buffer *xbuf, uint64_t rfbm) in xrstor() argument
68 : : "D" (xbuf), "a" (rfbm_lo), "d" (rfbm_hi)); in xrstor()
168 struct xsave_buffer *xbuf; in alloc_xbuf() local
171 xbuf = aligned_alloc(64, xbuf_size); in alloc_xbuf()
172 if (!xbuf) in alloc_xbuf()
174 return xbuf; in alloc_xbuf()
194 static void set_rand_tiledata(struct xsave_buffer *xbuf) in set_rand_tiledata() argument
196 int *ptr = (int *)&xbuf->bytes[xtiledata.xbuf_offset]; in set_rand_tiledata()
260 void *xbuf = ctx->uc_mcontext.fpregs; in handle_noperm() local
275 sw_bytes = get_fpx_sw_bytes(xbuf); in handle_noperm()
292 features = get_fpx_sw_bytes_features(xbuf); in handle_noperm()
309 static inline bool xrstor_safe(struct xsave_buffer *xbuf, uint64_t mask) in xrstor_safe() argument
312 xrstor(xbuf, mask); in xrstor_safe()
334 static inline bool load_rand_tiledata(struct xsave_buffer *xbuf) in load_rand_tiledata() argument
336 clear_xstate_header(xbuf); in load_rand_tiledata()
337 set_xstatebv(xbuf, XFEATURE_MASK_XTILEDATA); in load_rand_tiledata()
338 set_rand_tiledata(xbuf); in load_rand_tiledata()
339 return xrstor_safe(xbuf, XFEATURE_MASK_XTILEDATA); in load_rand_tiledata()
620 static inline void validate_tiledata_regs_same(struct xsave_buffer *xbuf) in validate_tiledata_regs_same() argument
622 int ret = __validate_tiledata_regs(xbuf); in validate_tiledata_regs_same()
628 static inline void validate_tiledata_regs_changed(struct xsave_buffer *xbuf) in validate_tiledata_regs_changed() argument
630 int ret = __validate_tiledata_regs(xbuf); in validate_tiledata_regs_changed()
701 struct xsave_buffer *xbuf; in check_tiledata() local
704 xbuf = alloc_xbuf(); in check_tiledata()
705 if (!xbuf) in check_tiledata()
712 load_rand_tiledata(xbuf); in check_tiledata()
720 validate_tiledata_regs_same(xbuf); in check_tiledata()
723 load_rand_tiledata(xbuf); in check_tiledata()
737 free(xbuf); in check_tiledata()
857 struct xsave_buffer *xbuf; in ptracer_inject_tiledata() local
860 xbuf = alloc_xbuf(); in ptracer_inject_tiledata()
861 if (!xbuf) in ptracer_inject_tiledata()
866 iov.iov_base = xbuf; in ptracer_inject_tiledata()
874 if (!__compare_tiledata_state(stashed_xsave, xbuf)) in ptracer_inject_tiledata()
881 load_rand_tiledata(xbuf); in ptracer_inject_tiledata()
884 &xbuf->bytes[xtiledata.xbuf_offset], in ptracer_inject_tiledata()
893 if (!__compare_tiledata_state(stashed_xsave, xbuf)) in ptracer_inject_tiledata()