函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\microcode\core.c Create Date:2022-07-27 09:08:03
Last Modify:2020-03-16 20:13:29 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:microcode_init

函数原型:int __init microcode_init(void)

返回类型:int

参数:

838  c等于common cpu data for all cpus
841  如果dis_ucode_ldr则返回:负EINVAL
844  如果CPU vendor 恒等于X86_VENDOR_INTELmicrocode_ops = init_intel_microcode()
846  否则如果CPU vendor 恒等于X86_VENDOR_AMDmicrocode_ops = init_amd_microcode()
848  否则打印错误信息("no support for this CPU vendor\n")
851  如果非microcode_ops则返回:负ENODEV
854  ake device for request_firmware 等于platform_device_register_simple - add a platform-level device and its resources*@name: base name of the device we're adding*@id: instance id*@res: set of resources that needs to be allocated for the device*@num: number of resources* This function creates
856  如果是错误则返回:错误
859  get_online_cpus()
860  mutex_lock( & Synchronization.* All non cpu-hotplug-callback call sites use:* - microcode_mutex to synchronize with each other;* - get/put_online_cpus() to synchronize with* the cpu-hotplug-callback call sites.* We guarantee that only a single cpu is being)
862  error等于subsys_interface_register( & mc_cpu_interface)
863  如果非errorperf_check_microcode()
865  mutex_unlock( & Synchronization.* All non cpu-hotplug-callback call sites use:* - microcode_mutex to synchronize with each other;* - get/put_online_cpus() to synchronize with* the cpu-hotplug-callback call sites.* We guarantee that only a single cpu is being)
866  put_online_cpus()
868  如果error则转到:out_pdev
871  error等于sysfs_create_group( & kobj, & cpu_root_microcode_group)
874  如果error
875  打印错误信息("Error creating microcode group!\n")
876  转到:out_driver
879  error等于microcode_dev_init()
880  如果error则转到:out_ucode_group
883  register_syscore_ops( & mc_syscore_ops)
884  puhp_setup_state_nocalls - Setup hotplug state callbacks without calling the* callbacks*@state: The state for which the calls are installed*@name: Name of the callback
886  puhp_setup_state_nocalls - Setup hotplug state callbacks without calling the* callbacks*@state: The state for which the calls are installed*@name: Name of the callback
889  打印信息("Microcode Update Driver: v%s.", DRIVER_VERSION)
891  返回:0
893  out_ucode_group :
894  sysfs_remove_group( & kobj, & cpu_root_microcode_group)
897  out_driver :
898  get_online_cpus()
899  mutex_lock( & Synchronization.* All non cpu-hotplug-callback call sites use:* - microcode_mutex to synchronize with each other;* - get/put_online_cpus() to synchronize with* the cpu-hotplug-callback call sites.* We guarantee that only a single cpu is being)
901  subsys_interface_unregister( & mc_cpu_interface)
903  mutex_unlock( & Synchronization.* All non cpu-hotplug-callback call sites use:* - microcode_mutex to synchronize with each other;* - get/put_online_cpus() to synchronize with* the cpu-hotplug-callback call sites.* We guarantee that only a single cpu is being)
904  put_online_cpus()
906  out_pdev :
907  platform_device_unregister(ake device for request_firmware )
908  返回:error