函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:mce_panic

函数原型:static void mce_panic(const char *msg, struct mce *final, char *exp)

返回类型:void

参数:

类型参数名称
const char *msg
struct mce *final
char *exp
315  apei_err等于0
319  如果非fake_panic
323  如果atomic_inc_return( & mce_panicked)大于1则Panic in progress. Enable interrupts and wait for final IPI
325  The "volatile" is due to gcc bugs ()
327  bust_spinlocks(1)
328  console_verbose()
329  否则
331  如果atomic_inc_return( & mce_fake_panicked)大于1则返回
334  pending等于mce_gen_pool_prepare_records()
337  m等于mce
338  如果非Bank's MCi_STATUS MSR 按位与uncorrected error 的值则
339  print_mce(m)
340  如果非apei_errapei_err等于apei_write_mce(m)
346  m等于mce
347  如果非Bank's MCi_STATUS MSR 按位与uncorrected error 的值则继续下一循环
350  print_mce(m)
351  如果非apei_errapei_err等于apei_write_mce(m)
355  如果final
356  print_mce(final)
357  如果非apei_errapei_err等于apei_write_mce(final)
360  如果cpu_missingThese can be used to print at the various log levels.* All of these will print unconditionally, although note that pr_debug()* and other debug macros are compiled out unless either DEBUG is defined* or CONFIG_DYNAMIC_DEBUG is set.(HW_ERR* Add this to a message for hardware errors, so that user can report* it to hardware vendor instead of LKML or software vendor."Some CPUs didn't answer in synchronization\n")
362  如果expThese can be used to print at the various log levels.* All of these will print unconditionally, although note that pr_debug()* and other debug macros are compiled out unless either DEBUG is defined* or CONFIG_DYNAMIC_DEBUG is set.(HW_ERR* Add this to a message for hardware errors, so that user can report* it to hardware vendor instead of LKML or software vendor."Machine check: %s\n", exp)
364  如果非fake_panic
365  如果panic_timeout恒等于0则panic_timeout等于panic_timeout
367  panic - halt the system*@fmt: The text string to print* Display a message, then perform cleanups.* This function never returns.
368  否则These can be used to print at the various log levels.* All of these will print unconditionally, although note that pr_debug()* and other debug macros are compiled out unless either DEBUG is defined* or CONFIG_DYNAMIC_DEBUG is set.(HW_ERR* Add this to a message for hardware errors, so that user can report* it to hardware vendor instead of LKML or software vendor."Fake kernel panic: %s\n", msg)
调用者
名称描述
mce_timed_outCheck if a timeout waiting for other CPUs happened.
mce_reignThe Monarch's reign
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