Function report |
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 activity | Download SCCT | Chinese |
Name:default_do_nmi
Proto:static void default_do_nmi(struct pt_regs *regs)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
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 |
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) |
Name | Describe |
---|---|
do_nmi |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |