函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\apic\vector.c Create Date:2022-07-27 09:28:10
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:print_local_APIC

函数原型:static void __init print_local_APIC(void *dummy)

返回类型:void

参数:

类型参数名称
void *dummy
1071  pr_debug("printing local APIC contents on CPU#%d/%d:\n", 当前cpu ID(), hard_smp_processor_id())
1073  v等于apic_read(APIC_ID)
1074  打印信息("... APIC ID: %08x (%01x)\n", v, read_apic_id())
1075  v等于apic_read(APIC_LVR)
1076  打印信息("... APIC VERSION: %08x\n", v)
1077  ver等于GET_APIC_VERSION(v)
1078  maxlvt等于lapic_get_maxlvt - get the maximum number of local vector table entries
1080  v等于apic_read(APIC_TASKPRI)
1081  pr_debug("... APIC TASKPRI: %08x (%02x)\n", v, v & APIC_TPRI_MASK)
1084  如果APIC_INTEGRATED(ver)则
1085  如果非APIC_XAPIC(ver)则
1086  v等于apic_read(APIC_ARBPRI)
1087  pr_debug("... APIC ARBPRI: %08x (%02x)\n", v, v & APIC_ARBPRI_MASK)
1090  v等于apic_read(APIC_PROCPRI)
1091  pr_debug("... APIC PROCPRI: %08x\n", v)
1098  如果非APIC_INTEGRATED(ver)或maxlvt恒等于3则
1099  v等于apic_read(APIC_RRR)
1100  pr_debug("... APIC RRR: %08x\n", v)
1103  v等于apic_read(APIC_LDR)
1104  pr_debug("... APIC LDR: %08x\n", v)
1105  如果非x2apic_enabled()则
1106  v等于apic_read(APIC_DFR)
1107  pr_debug("... APIC DFR: %08x\n", v)
1109  v等于apic_read(APIC_SPIV)
1110  pr_debug("... APIC SPIV: %08x\n", v)
1112  pr_debug("... APIC ISR field:\n")
1113  print_APIC_field(APIC_ISR)
1114  pr_debug("... APIC TMR field:\n")
1115  print_APIC_field(APIC_TMR)
1116  pr_debug("... APIC IRR field:\n")
1117  print_APIC_field(APIC_IRR)
1120  如果APIC_INTEGRATED(ver)则
1122  如果maxlvt大于3则apic_write(APIC_ESR, 0)
1125  v等于apic_read(APIC_ESR)
1126  pr_debug("... APIC ESR: %08x\n", v)
1129  icr等于apic_icr_read()
1130  pr_debug("... APIC ICR: %08x\n", (u32)icr)
1131  pr_debug("... APIC ICR2: %08x\n", (u32)(icr >> 32))
1133  v等于apic_read(APIC_LVTT)
1134  pr_debug("... APIC LVTT: %08x\n", v)
1136  如果maxlvt大于3则
1138  v等于apic_read(APIC_LVTPC)
1139  pr_debug("... APIC LVTPC: %08x\n", v)
1141  v等于apic_read(APIC_LVT0)
1142  pr_debug("... APIC LVT0: %08x\n", v)
1143  v等于apic_read(APIC_LVT1)
1144  pr_debug("... APIC LVT1: %08x\n", v)
1146  如果maxlvt大于2则
1148  v等于apic_read(APIC_LVTERR)
1149  pr_debug("... APIC LVTERR: %08x\n", v)
1152  v等于apic_read(APIC_TMICT)
1153  pr_debug("... APIC TMICT: %08x\n", v)
1154  v等于apic_read(APIC_TMCCT)
1155  pr_debug("... APIC TMCCT: %08x\n", v)
1156  v等于apic_read(APIC_TDCR)
1157  pr_debug("... APIC TDCR: %08x\n", v)
1159  如果boot_cpu_has(Extended APIC space )则
1160  v等于apic_read(APIC_EFEAT)
1161  maxlvt等于v右移16位按位与0xff
1162  pr_debug("... APIC EFEAT: %08x\n", v)
1163  v等于apic_read(APIC_ECTRL)
1164  pr_debug("... APIC ECTRL: %08x\n", v)
1165 i小于maxlvt循环
1166  v等于apic_read(APIC_EILVTn(i))
1167  pr_debug("... APIC EILVT%d: %08x\n", i, v)
1170  打印标准信息("\n")