Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\mce\core.c Create Date:2022-07-28 08:00:22
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:mce_panic

Proto:static void mce_panic(const char *msg, struct mce *final, char *exp)

Type:void

Parameter:

TypeParameterName
const char *msg
struct mce *final
char *exp
315  apei_err = 0
319  If Not fake_panic Then
323  If atomic_inc_return( & mce_panicked) > 1 Then 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  Else
331  If atomic_inc_return( & mce_fake_panicked) > 1 Then Return
334  pending = mce_gen_pool_prepare_records()
337  m = mce
338  If Not (Bank's MCi_STATUS MSR & uncorrected error ) Then
339  print_mce(m)
340  If Not apei_err Then apei_err = apei_write_mce(m)
346  m = mce
347  If Not (Bank's MCi_STATUS MSR & uncorrected error ) Then Continue
350  print_mce(m)
351  If Not apei_err Then apei_err = apei_write_mce(m)
355  If final Then
356  print_mce(final)
357  If Not apei_err Then apei_err = apei_write_mce(final)
360  If cpu_missing Then 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.( 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  If exp Then 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.( 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  If Not fake_panic Then
365  If panic_timeout == 0 Then 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  Else 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.( 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)
Caller
NameDescribe
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