函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\apic\apic.c Create Date:2022-07-27 09:26:21
Last Modify:2020-03-16 21:21:31 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:This function sets up the local APIC timer, with a timeout of* 'clocks' APIC bus clock. During calibration we actually call* this function twice on the boot CPU, once with a bogus timeout* value, second time for real. The other (noncalibrating) CPUs

函数原型:static void __setup_APIC_LVTT(unsigned int clocks, int oneshot, int irqen)

返回类型:void

参数:

类型参数名称
unsigned intclocks
intoneshot
intirqen
334  lvtt_value等于LOCAL_TIMER_VECTOR
335  如果非oneshotlvtt_value或等于APIC_LVT_TIMER_PERIODIC
337  否则如果boot_cpu_has(TSC deadline timer )则lvtt_value或等于APIC_LVT_TIMER_TSCDEADLINE
340  如果非Check, if the APIC is integrated or a separate chiplvtt_value或等于SET_APIC_TIMER_BASE(APIC_TIMER_BASE_DIV)
343  如果非irqenlvtt_value或等于APIC_LVT_MASKED
346  apic_write(APIC_LVTT, lvtt_value)
348  如果lvtt_value按位与APIC_LVT_TIMER_TSCDEADLINE
354  asm volatile
356  Print a one-time message (analogous to WARN_ONCE() et al):(debug-level messages "TSC deadline timer enabled\n")
357  返回
363  tmp_value等于apic_read(APIC_TDCR)
364  apic_write(APIC_TDCR, (tmp_value & ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE)) | APIC_TDR_DIV_16)
368  如果非oneshotapic_write(APIC_TMICT, clocks / Clock divisor )
调用者
名称描述
lapic_timer_set_periodic_oneshot
calibrate_APIC_clock