Function report |
Source Code:arch\x86\kernel\fpu\xstate.c |
Create Date:2022-07-28 07:50:52 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Convert from kernel XSAVES compacted format to standard format and copy* to a user-space buffer. It supports partial copy but pos always starts from* zero. This is called from xstateregs_get() and there we check the CPU* has XSAVES.
Proto:int copy_xstate_to_user(void __user *ubuf, struct xregs_state *xsave, unsigned int offset_start, unsigned int size_total)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
void __user * | ubuf | |
struct xregs_state * | xsave | |
unsigned int | offset_start | |
unsigned int | size_total |
1074 | If Value for the false possibility is greater at compile time(offset_start != 0) Then Return -EFAULT |
1082 | xfeatures &= ~Supervisor features |
1087 | offset = offsetof(structxregs_state, header) |
1090 | ret = __copy_xstate_to_user(ubuf, & header, offset, size, size_total) |
1094 | When i < XFEATURE_MAX cycle |
1099 | src = Given an xstate feature nr, calculate where in the xsave* buffer the state is. Callers should ensure that the buffer* is valid. |
1101 | offset = xstate_offsets[i] |
1102 | size = xstate_sizes[i] |
1105 | If offset + size > size_total Then Break |
1108 | ret = __copy_xstate_to_user(ubuf, src, offset, size, size_total) |
1116 | offset = offsetof(structfxregs_state, mxcsr) |
1118 | __copy_xstate_to_user(ubuf, & MXCSR Register State , offset, size, size_total) |
1124 | offset = offsetof(structfxregs_state, sw_reserved) |
1125 | size = size of xstate_fx_sw_bytes |
1127 | ret = __copy_xstate_to_user(ubuf, xstate_fx_sw_bytes, offset, size, size_total) |
1131 | Return 0 |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |