Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\apic\vector.c Create Date:2022-07-28 08:28:33
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:print_local_APIC

Proto:static void __init print_local_APIC(void *dummy)

Type:void

Parameter:

TypeParameterName
void *dummy
1071  pr_debug("printing local APIC contents on CPU#%d/%d:\n", smp_processor_id(), hard_smp_processor_id())
1073  v = apic_read(APIC_ID)
1074  pr_info("... APIC ID: %08x (%01x)\n", v, read_apic_id())
1075  v = apic_read(APIC_LVR)
1076  pr_info("... 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  If APIC_INTEGRATED(ver) Then
1085  If Not APIC_XAPIC(ver) Then
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  If Not APIC_INTEGRATED(ver) || maxlvt == 3 Then
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  If Not x2apic_enabled() Then
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  If APIC_INTEGRATED(ver) Then
1122  If maxlvt > 3 Then 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  If maxlvt > 3 Then
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  If maxlvt > 2 Then
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  If boot_cpu_has(Extended APIC space ) Then
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  When i < maxlvt cycle
1166  v = apic_read(APIC_EILVTn(i))
1167  pr_debug("... APIC EILVT%d: %08x\n", i, v)
1170  Like KERN_CONT, pr_cont() should only be used when continuing* a line with no newline ('\n') enclosed. Otherwise it defaults* back to KERN_DEFAULT.("\n")