函数逻辑报告 |
Source Code:arch\x86\kernel\cpu\mce\core.c |
Create Date:2022-07-27 09:01:09 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Poll for corrected events or events that happened before reset.* Those are just logged through /dev/mcelog.* This is executed in standard interrupt context.* Note: spec recommends to panic for fatal unsignalled* errors here
函数原型:bool machine_check_poll(enum mcp_flags flags, mce_banks_t *b)
返回类型:bool
参数:
类型 | 参数 | 名称 |
---|---|---|
enum mcp_flags | flags | |
mce_banks_t * | b |
700 | bool error_seen = false |
708 | 如果flags按位与 log time stamp 则CPU time stamp counter 等于dtsc() - returns the current TSC without ordering constraints* rdtsc() returns the result of RDTSC as a 64-bit integer |
712 | 如果非 subevents to enable 或非st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from则继续下一循环 |
715 | Bank's MCi_MISC MSR 等于0 |
716 | Bank's MCi_ADDR MSR 等于0 |
723 | 如果非Bank's MCi_STATUS MSR 按位与valid error 的值则继续下一循环 |
730 | 如果flags按位与MCP_UC或非Bank's MCi_STATUS MSR 按位与uncorrected error 的值则转到:log_it |
739 | 如果非ser则 |
740 | 如果Bank's MCi_STATUS MSR 按位与uncorrected error 则继续下一循环 |
742 | 转到:log_it |
746 | 如果非Bank's MCi_STATUS MSR 按位与r enabled 的值则转到:log_it |
753 | 如果非Bank's MCi_STATUS MSR 按位与processor context corrupt 的值且非Bank's MCi_STATUS MSR 按位与Signaled machine check 的值则转到:log_it |
761 | 继续下一循环 |
763 | log_it : |
764 | error_seen = true |
768 | Error severity 等于mce_severity( & m, tolerant, NULL, false) |
774 | 如果非flags按位与MCP_DONTLOG的值且非dont_log_ce则mce_log( & m) |
782 | 如果非mce_gen_pool_add( & m)则mce_schedule_work() |
789 | mce_wrmsrl(status(i), 0) |
799 | 返回:error_seen |
名称 | 描述 |
---|---|
mce_timer_fn | |
__mcheck_cpu_init_generic | |
mce_intel_cmci_poll | |
intel_threshold_interrupt | The interrupt handler. This is called on every event.* Just call the poller directly to log any events.* This could in theory increase the threshold under high load,* but doesn't for now. |
cmci_recheck | Just in case we missed an event during initialization check* all the CMCI owned banks. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |