Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\nmi.c Create Date:2022-07-28 07:35:16
Last Modify:2022-05-22 06:29:32 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:default_do_nmi

Proto:static void default_do_nmi(struct pt_regs *regs)

Type:void

Parameter:

TypeParameterName
struct pt_regs *regs
312  reason = 0
314  bool b2b = false
329  If ip == Operations for contexts that are safe from preemption/interrupts. These* operations verify that preemption is disabled.(last_nmi_rip) Then b2b = true
331  Else __this_cpu_write(swallow_nmi, false)
334  __this_cpu_write(last_nmi_rip, ip)
336  handled = nmi_handle(NMI_LOCAL, regs)
337  __this_cpu_add(normal, handled)
338  If handled Then
347  If handled > 1 Then __this_cpu_write(swallow_nmi, true)
349  Return
360  When Not Define the various spin_lock methods. Note we define these* regardless of whether CONFIG_SMP or CONFIG_PREEMPTION are set. The* various methods are defined as nops in the case they are not* required.( & Prevent NMI reason port (0x61) being accessed simultaneously, can* only be used in NMI handler.) cycle
361  run_crash_ipi_callback(regs)
362  cpu_relax()
365  reason = get_nmi_reason()
367  If reason & NMI_REASON_MASK Then
368  If reason & NMI_REASON_SERR Then pci_serr_error(reason, regs)
370  Else if reason & NMI_REASON_IOCHK Then io_check_error(reason, regs)
377  reassert_nmi()
379  __this_cpu_add(external, 1)
380  raw_spin_unlock( & Prevent NMI reason port (0x61) being accessed simultaneously, can* only be used in NMI handler.)
381  Return
383  raw_spin_unlock( & Prevent NMI reason port (0x61) being accessed simultaneously, can* only be used in NMI handler.)
415  If b2b && Operations for contexts that are safe from preemption/interrupts. These* operations verify that preemption is disabled.(swallow_nmi) Then __this_cpu_add(swallow, 1)
417  Else unknown_nmi_error(reason, regs)
Caller
NameDescribe
do_nmi