函数逻辑报告 |
Source Code:arch\x86\kernel\apic\apic.c |
Create Date:2022-07-27 09:26:39 |
Last Modify:2020-03-16 21:21:31 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:calibrate_APIC_clock
函数原型:static int __init calibrate_APIC_clock(void)
返回类型:int
参数:无
866 | levt等于this_cpu_ptr( & lapic_events) |
871 | pm_referenced等于0 |
873 | 如果boot_cpu_has(TSC deadline timer )则返回:0 |
881 | 如果非lapic_init_clockevent()则 |
888 | features与等于CLOCK_EVT_FEAT_DUMMY的反 |
889 | 返回:0 |
892 | Define the default level of output to be very little* This can be turned up by using apic=verbose for more* information and apic=debug for _lots_ of information.* apic_verbosity is defined in apic.c(APIC_VERBOSE, "Using local APIC timer interrupts.\ncalibrating APIC timer ...\n") |
900 | 禁止中断() |
915 | 如果tsc_khz则 |
924 | 开中断() |
928 | 当1循环 |
929 | 如果tsc_khz则 |
935 | 否则 |
943 | cpu_relax() |
947 | 禁止中断() |
949 | 开中断() |
952 | 禁止中断() |
961 | pm_referenced等于非calibrate_by_pmtimer(lapic_cal_pm2 - lapic_cal_pm1, & delta, & deltatsc) |
964 | lapic_timer_period等于delta乘Clock divisor 除In this functions we calibrate APIC bus clocks to the external timer |
965 | lapic_init_clockevent() |
972 | 如果boot_cpu_has(Time Stamp Counter )则 |
973 | Define the default level of output to be very little* This can be turned up by using apic=verbose for more* information and apic=debug for _lots_ of information.* apic_verbosity is defined in apic.c(APIC_VERBOSE, "..... CPU clock speed is %ld.%04ld MHz.\n", (deltatsc / In this functions we calibrate APIC bus clocks to the external timer) / (1000000 / HZ), (deltatsc / In this functions we calibrate APIC bus clocks to the external timer) % (1000000 / HZ)) |
979 | Define the default level of output to be very little* This can be turned up by using apic=verbose for more* information and apic=debug for _lots_ of information.* apic_verbosity is defined in apic.c(APIC_VERBOSE, "..... host bus clock speed is %u.%04u MHz.\n", lapic_timer_period / (1000000 / HZ), lapic_timer_period % (1000000 / HZ)) |
987 | 如果lapic_timer_period小于1000000除HZ则 |
993 | features与等于CLOCK_EVT_FEAT_DUMMY的反 |
1007 | lapic_timer_set_periodic(levt) |
1008 | lapic_cal_loops等于负1 |
1011 | 开中断() |
1014 | cpu_relax() |
1017 | 禁止中断() |
1018 | lapic_timer_shutdown(levt) |
1021 | deltaj等于lapic_cal_j2减lapic_cal_j1 |
1027 | 否则features或等于CLOCK_EVT_FEAT_DUMMY |
1030 | 开中断() |
1032 | 如果features按位与CLOCK_EVT_FEAT_DUMMY则 |
1033 | 打印警告信息("APIC timer disabled due to verification failure\n") |
1034 | 返回:负1 |
1037 | 返回:0 |
名称 | 描述 |
---|---|
x86_init_noop | Setup the boot APIC* Calibrate and verify the result. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |