Function report |
Source Code:arch\x86\kernel\fpu\xstate.c |
Create Date:2022-07-28 07:50:46 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Enable and initialize the xsave feature.* Called once per system bootup.
Proto:void __init fpu__init_system_xstate(void)
Type:void
Parameter:Nothing
| 719 | on_boot_cpu((__section__(".init.data"))) = 1 |
| 723 | WARN_ON_FPU(!on_boot_cpu) |
| 724 | on_boot_cpu = 0 |
| 726 | If Not boot_cpu_has(Onboard FPU ) Then |
| 727 | pr_info("x86/fpu: No FPU detected\n") |
| 728 | Return |
| 731 | If Not boot_cpu_has(XSAVE/XRSTOR/XSETBV/XGETBV instructions ) Then |
| 732 | pr_info("x86/fpu: x87 FPU will use %s\n", boot_cpu_has(FXSAVE/FXRSTOR, CR4.OSFXSR ) ? "FXSAVE" : "FSAVE") |
| 734 | Return |
| 737 | If Maximum supported CPUID level, -1=no CPUID: < XSTATE_CPUID Then |
| 738 | WARN_ON_FPU(1) |
| 739 | Return |
| 742 | cpuid_count(XSTATE_CPUID, 0, & eax, & ebx, & ecx, & edx) |
| 743 | Mask of xstate features supported by the CPU and the kernel: = eax + (edx << 32) |
| 751 | pr_err("x86/fpu: FP/SSE not present amongst the CPU's xstate features: 0x%llx.\n", Mask of xstate features supported by the CPU and the kernel:) |
| 752 | Go to out_disable |
| 759 | If Not boot_cpu_has(xsave_cpuid_features[i]) Then Mask of xstate features supported by the CPU and the kernel: &= ~BIT(i) |
| 767 | err = init_xstate_size() |
| 768 | If err Then Go to out_disable |
| 782 | pr_info("x86/fpu: Enabled xstate features 0x%llx, context size is %d bytes, using '%s' format.\n", Mask of xstate features supported by the CPU and the kernel:, Size of the FPU context state. All tasks in the system use the* same context size, regardless of what portion they use.* This is inherent to the XSAVE architecture which puts all state* components into a single, continuous memory block:, boot_cpu_has(XSAVES/XRSTORS instructions ) ? "compacted" : "standard") |
| 786 | Return |
| 788 | out_disable : |
| Name | Describe |
|---|---|
| fpu__init_system | Called on the boot CPU once per system bootup, to set up the initial* FPU state that is later cloned into all processes: |
| 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 |