Function report |
Source Code:arch\x86\kernel\fpu\signal.c |
Create Date:2022-07-28 07:50:05 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Save the fpu, extended register state to the user signal frame.* 'buf_fx' is the 64-byte aligned pointer at which the [f|fx|x]save* state is copied.* 'buf' points to the 'buf_fx' or to the fsave header followed by 'buf_fx'.
Proto:int copy_fpstate_to_sigframe(void __user *buf, void __user *buf_fx, int size)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| void __user * | buf | |
| void __user * | buf_fx | |
| int | size |
| 166 | tsk = current process |
| 167 | ia32_fxstate = buf != buf_fx |
| 176 | If Not static_cpu_has(Onboard FPU ) Then Return If fpregs_soft_get(current process, NULL, 0, sizeof(structuser_i387_ia32_struct), NULL, (struct_fpstate_32__user * )buf) Then -1 Else 1 |
| 181 | retry : |
| 189 | If test_thread_flag(load FPU on return to userspace ) Then Internal helper, do not use directly. Use switch_fpu_return() instead. |
| 193 | ret = copy_fpregs_to_sigframe(buf_fx) |
| 194 | pagefault_enable() |
| 195 | fpregs_unlock() |
| 197 | If ret Then |
| 198 | If Not Fault everything in given userspace address range in. Then Go to retry |
| 200 | Return -EFAULT |
| 204 | If (ia32_fxstate || Not use_fxsr() ) && Signal frame handlers. Then Return -1 |
| 207 | If use_fxsr() && save_xstate_epilog(buf_fx, ia32_fxstate) Then Return -1 |
| 210 | Return 0 |
| Name | Describe |
|---|---|
| get_sigframe |
| 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 |