函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\mce\core.c Create Date:2022-07-27 09:01:10
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Do a quick check if any of the events requires a panic.* This decides if we keep the events around or clear them.

函数原型:static int mce_no_way_out(struct mce *m, char **msg, unsigned long *validp, struct pt_regs *regs)

返回类型:int

参数:

类型参数名称
struct mce *m
char **msg
unsigned long *validp
struct pt_regs *regs
813 i小于Operations with implied preemption/interrupt protection. These* operations can be used without worrying about preemption or interrupt.(mce_num_banks)循环
814  Bank's MCi_STATUS MSR 等于MSR access wrappers used for error injection
815  如果非Bank's MCi_STATUS MSR 按位与valid error 的值则继续下一循环
818  __set_bit - Set a bit in memory*@nr: the bit to set*@addr: the address to start counting from* Unlike set_bit(), this function is non-atomic. If it is called on the same* region of memory concurrently, the effect may be that only one operation* succeeds.
819  如果quirk_no_way_outquirk_no_way_out(i, m, regs)
822  Machine check bank reporting the error 等于i
823  如果mce_severity(m, tolerant, & tmp, true)大于等于MCE_PANIC_SEVERITY
825  msg等于tmp
826  返回:1
829  返回:0
调用者
名称描述
do_machine_checkThe actual machine check handler. This only handles real* exceptions when something got corrupted coming in through int 18.* This is executed in NMI context not subject to normal locking rules. This* implies that most kernel services cannot be safely used