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 |