函数逻辑报告 |
Source Code:arch\x86\kernel\nmi.c |
Create Date:2022-07-27 08:34:40 |
Last Modify:2022-05-22 06:29:32 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:default_do_nmi
函数原型:static void default_do_nmi(struct pt_regs *regs)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct pt_regs * | regs |
312 | reason等于0 |
314 | bool b2b = false |
329 | 如果ip恒等于Operations for contexts that are safe from preemption/interrupts. These* operations verify that preemption is disabled.(last_nmi_rip)则b2b = true |
331 | 否则__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 | 如果handled则 |
347 | 如果handled大于1则__this_cpu_write(swallow_nmi, true) |
349 | 返回 |
362 | cpu_relax() |
365 | reason等于get_nmi_reason() |
367 | 如果reason按位与NMI_REASON_MASK则 |
368 | 如果reason按位与NMI_REASON_SERR则pci_serr_error(reason, regs) |
370 | 否则如果reason按位与NMI_REASON_IOCHK则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 | 返回 |
383 | raw_spin_unlock( & Prevent NMI reason port (0x61) being accessed simultaneously, can* only be used in NMI handler.) |
415 | 如果b2b且Operations for contexts that are safe from preemption/interrupts. These* operations verify that preemption is disabled.(swallow_nmi)则__this_cpu_add(swallow, 1) |
417 | 否则unknown_nmi_error(reason, regs) |
名称 | 描述 |
---|---|
do_nmi |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |