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 |