Lines Matching full:mce
10 * The AMD part (from mce_amd_inj.c): a simple MCE injection facility
30 #include <asm/mce.h>
41 static struct mce i_mce;
69 struct mce *m = (struct mce *)data; \
83 struct mce *m = (struct mce *)data; \
103 struct mce *m = (struct mce *)data; in inj_ipid_set()
115 static void setup_inj_struct(struct mce *m) in setup_inj_struct()
117 memset(m, 0, sizeof(struct mce)); in setup_inj_struct()
125 /* Update fake mce registers on current CPU. */
126 static void inject_mce(struct mce *m) in inject_mce()
128 struct mce *i = &per_cpu(injectm, m->extcpu); in inject_mce()
138 memcpy(i, m, sizeof(struct mce)); in inject_mce()
144 static void raise_poll(struct mce *m) in raise_poll()
156 static void raise_exception(struct mce *m, struct pt_regs *pregs) in raise_exception()
180 struct mce *m = this_cpu_ptr(&injectm); in mce_raise_notify()
194 struct mce *m = this_cpu_ptr(&injectm); in mce_irq_ipi()
203 /* Inject mce on current CPU */
206 struct mce *m = this_cpu_ptr(&injectm); in raise_local()
212 pr_info("Triggering MCE exception on CPU %d\n", cpu); in raise_local()
225 pr_info("Invalid MCE context\n"); in raise_local()
228 pr_info("MCE exception done on CPU %d\n", cpu); in raise_local()
240 static void __maybe_unused raise_mce(struct mce *m) in raise_mce()
257 struct mce *mcpu = &per_cpu(injectm, cpu); in raise_mce()
278 pr_err("Timeout waiting for mce inject %lx\n", in raise_mce()
297 struct mce *m = (struct mce *)data; in mce_inject_raise()
404 struct mce *m = (struct mce *)data; in inj_extcpu_set()
476 struct mce m = *(struct mce *)info; in prepare_msrs()
524 /* prep MCE global settings for the injection */ in do_inject()
586 struct mce *m = (struct mce *)data; in inj_bank_set()
647 "\t attributes of the error which caused the MCE.\n"
675 "\t is set. Therefore, consider setting (debugfs_mountpoint)/mce/fake_panic \n"
718 dfs_inj = debugfs_create_dir("mce-inject", NULL); in debugfs_init()