Home
last modified time | relevance | path

Searched refs:mce (Results 1 – 25 of 58) sorted by relevance

123

/linux/arch/powerpc/kernel/
H A Dmce.c49 static void mce_set_error_info(struct machine_check_event *mce, in mce_set_error_info() argument
52 mce->error_type = mce_err->error_type; in mce_set_error_info()
55 mce->u.ue_error.ue_error_type = mce_err->u.ue_error_type; in mce_set_error_info()
58 mce->u.slb_error.slb_error_type = mce_err->u.slb_error_type; in mce_set_error_info()
61 mce->u.erat_error.erat_error_type = mce_err->u.erat_error_type; in mce_set_error_info()
64 mce->u.tlb_error.tlb_error_type = mce_err->u.tlb_error_type; in mce_set_error_info()
67 mce->u.user_error.user_error_type = mce_err->u.user_error_type; in mce_set_error_info()
70 mce->u.ra_error.ra_error_type = mce_err->u.ra_error_type; in mce_set_error_info()
73 mce->u.link_error.link_error_type = mce_err->u.link_error_type; in mce_set_error_info()
97 struct machine_check_event *mce; in save_mce_event() local
[all …]
/linux/arch/x86/kernel/cpu/mce/
H A Dinternal.h38 int mce_severity(struct mce *a, struct pt_regs *regs, char **msg, bool is_excp);
49 bool intel_filter_mce(struct mce *m);
50 bool intel_mce_usable_address(struct mce *m);
57 static inline bool intel_filter_mce(struct mce *m) { return false; } in intel_filter_mce()
58 static inline bool intel_mce_usable_address(struct mce *m) { return false; } in intel_mce_usable_address()
66 void mce_track_storm(struct mce *mce);
73 static inline void mce_track_storm(struct mce *mce) {} in mce_track_storm() argument
120 int apei_write_mce(struct mce *m);
121 ssize_t apei_read_mce(struct mce *m, u64 *record_id);
125 static inline int apei_write_mce(struct mce *m) in apei_write_mce()
[all …]
H A Dthreshold.c97 void mce_track_storm(struct mce *mce) in mce_track_storm() argument
105 if (storm->banks[mce->bank].poll_only) in mce_track_storm()
116 if (!storm->banks[mce->bank].in_storm_mode) { in mce_track_storm()
117 delta = now - storm->banks[mce->bank].timestamp; in mce_track_storm()
123 history = storm->banks[mce->bank].history << shift; in mce_track_storm()
125 storm->banks[mce->bank].timestamp = now; in mce_track_storm()
128 if ((mce->status & MCI_STATUS_VAL) && mce_is_correctable(mce)) in mce_track_storm()
131 storm->banks[mce->bank].history = history; in mce_track_storm()
133 if (storm->banks[mce->bank].in_storm_mode) { in mce_track_storm()
136 printk_deferred(KERN_NOTICE "CPU%d BANK%d CMCI storm subsided\n", smp_processor_id(), mce->bank); in mce_track_storm()
[all …]
H A Ddev-mcelog.c39 struct mce *mce = (struct mce *)data; in dev_mce_log() local
42 if (mce->kflags & MCE_HANDLED_CEC) in dev_mce_log()
60 memcpy(mcelog->entry + entry, mce, sizeof(struct mce)); in dev_mce_log()
71 mce->kflags |= MCE_HANDLED_MCELOG; in dev_mce_log()
166 struct mce m; in __mce_read_apei()
168 if (usize < sizeof(struct mce)) in __mce_read_apei()
184 if (copy_to_user(*ubuf, &m, sizeof(struct mce))) in __mce_read_apei()
197 *ubuf += sizeof(struct mce); in __mce_read_apei()
219 if (*off != 0 || usize < mcelog->len * sizeof(struct mce)) in mce_chrdev_read()
226 struct mce *m = &mcelog->entry[i]; in mce_chrdev_read()
[all …]
H A Dapei.c32 struct mce *m; in apei_mce_report_mem_error()
74 struct mce *m; in apei_smca_report_x86_error()
190 struct mce mce; member
193 int apei_write_mce(struct mce *m) in apei_write_mce()
211 rcd.sec_hdr.section_offset = (void *)&rcd.mce - (void *)&rcd; in apei_write_mce()
212 rcd.sec_hdr.section_length = sizeof(rcd.mce); in apei_write_mce()
220 memcpy(&rcd.mce, m, sizeof(*m)); in apei_write_mce()
225 ssize_t apei_read_mce(struct mce *m, u64 *record_id) in apei_read_mce()
248 memcpy(m, &rcd.mce, sizeof(*m)); in apei_read_mce()
H A Dcore.c120 void mce_prep_record_common(struct mce *m) in mce_prep_record_common()
129 void mce_prep_record_per_cpu(unsigned int cpu, struct mce *m) in mce_prep_record_per_cpu()
142 struct mce *m = &err->m; in mce_prep_record()
149 DEFINE_PER_CPU(struct mce, injectm);
177 struct mce *m = &err->m; in __print_mce()
226 struct mce *m = &err->m; in print_mce()
255 static const char *mce_dump_aux_info(struct mce *m) in mce_dump_aux_info()
295 struct mce *m = &err->m; in mce_panic()
305 struct mce *m = &err->m; in mce_panic()
359 return offsetof(struct mce, ip); in msr_to_offset()
[all …]
H A DMakefile9 mce-inject-y := inject.o
10 obj-$(CONFIG_X86_MCE_INJECT) += mce-inject.o
H A Dseverity.c286 static noinstr int error_context(struct mce *m, struct pt_regs *regs) in error_context()
321 static noinstr int mce_severity_amd(struct mce *m, struct pt_regs *regs, char **msg, bool is_excp) in mce_severity_amd()
381 static noinstr int mce_severity_intel(struct mce *m, struct pt_regs *regs, char **msg, bool is_excp) in mce_severity_intel()
414 int noinstr mce_severity(struct mce *m, struct pt_regs *regs, char **msg, bool is_excp) in mce_severity()
/linux/drivers/acpi/nfit/
H A Dmce.c16 struct mce *mce = (struct mce *)data; in nfit_handle_mce() local
21 if (!mce_is_memory_error(mce) || mce_is_correctable(mce)) in nfit_handle_mce()
25 if (!mce_usable_address(mce)) in nfit_handle_mce()
35 unsigned int align = 1UL << MCI_MISC_ADDR_LSB(mce->misc); in nfit_handle_mce()
46 if (spa->address > mce->addr) in nfit_handle_mce()
48 if ((spa->address + spa->length - 1) < mce->addr) in nfit_handle_mce()
67 ALIGN_DOWN(mce->addr, align), align); in nfit_handle_mce()
79 mce->kflags |= MCE_HANDLED_NFIT; in nfit_handle_mce()
H A DMakefile5 nfit-$(CONFIG_X86_MCE) += mce.o
/linux/drivers/edac/
H A Dskx_common.c568 const struct mce *m, in skx_mce_output_error()
646 static enum error_source skx_error_source(const struct mce *m) in skx_error_source()
665 struct mce *mce = (struct mce *)data; in skx_mce_check_error() local
671 if (mce->kflags & MCE_HANDLED_CEC) in skx_mce_check_error()
674 err_src = skx_error_source(mce); in skx_mce_check_error()
677 if (err_src == ERR_SRC_NOT_MEMORY || !(mce->status & MCI_STATUS_ADDRV)) in skx_mce_check_error()
681 res.mce = mce; in skx_mce_check_error()
682 res.addr = mce->addr & MCI_ADDR_PHYSADDR; in skx_mce_check_error()
684 pr_err("Invalid address 0x%llx in IA32_MC%d_ADDR\n", mce->addr, mce->bank); in skx_mce_check_error()
700 if (mce->mcgstatus & MCG_STATUS_MCIP) in skx_mce_check_error()
[all …]
H A Digen6_edac.c930 struct mce *mce = (struct mce *)data; in ecclog_mce_handler() local
933 if (mce->kflags & MCE_HANDLED_CEC) in ecclog_mce_handler()
941 if ((mce->status & 0xefff) >> 7 != 1) in ecclog_mce_handler()
944 if (mce->mcgstatus & MCG_STATUS_MCIP) in ecclog_mce_handler()
950 mce->extcpu, type, mce->mcgstatus, in ecclog_mce_handler()
951 mce->bank, mce->status); in ecclog_mce_handler()
952 edac_dbg(0, "TSC 0x%llx\n", mce->tsc); in ecclog_mce_handler()
953 edac_dbg(0, "ADDR 0x%llx\n", mce->addr); in ecclog_mce_handler()
954 edac_dbg(0, "MISC 0x%llx\n", mce->misc); in ecclog_mce_handler()
956 mce->cpuvendor, mce->cpuid, mce->time, in ecclog_mce_handler()
[all …]
H A Dpnd2_edac.c1122 static void pnd2_mce_output_error(struct mem_ctl_info *mci, const struct mce *m, in pnd2_mce_output_error()
1369 struct mce *mce = (struct mce *)data; in pnd2_mce_check_error() local
1375 if (!mci || (mce->kflags & MCE_HANDLED_CEC)) in pnd2_mce_check_error()
1384 if ((mce->status & 0xefff) >> 7 != 1) in pnd2_mce_check_error()
1387 if (mce->mcgstatus & MCG_STATUS_MCIP) in pnd2_mce_check_error()
1394 mce->extcpu, type, mce->mcgstatus, mce->bank, mce->status); in pnd2_mce_check_error()
1395 pnd2_mc_printk(mci, KERN_INFO, "TSC %llx ", mce->tsc); in pnd2_mce_check_error()
1396 pnd2_mc_printk(mci, KERN_INFO, "ADDR %llx ", mce->addr); in pnd2_mce_check_error()
1397 pnd2_mc_printk(mci, KERN_INFO, "MISC %llx ", mce->misc); in pnd2_mce_check_error()
1399 mce->cpuvendor, mce->cpuid, mce->time, mce->socketid, mce->apicid); in pnd2_mce_check_error()
[all …]
H A Dmce_amd.h79 void amd_register_ecc_decoder(void (*f)(int, struct mce *));
80 void amd_unregister_ecc_decoder(void (*f)(int, struct mce *));
H A Dsb_edac.c2371 const struct mce *m, u8 *socket, in get_memory_error_data_from_mce()
3079 const struct mce *m) in sbridge_mce_output_error()
3259 struct mce *mce = (struct mce *)data; in sbridge_mce_check_error() local
3263 if (mce->kflags & MCE_HANDLED_CEC) in sbridge_mce_check_error()
3272 if ((mce->status & 0xefff) >> 7 != 1) in sbridge_mce_check_error()
3276 if (!GET_BITFIELD(mce->status, 58, 58)) in sbridge_mce_check_error()
3280 if (!GET_BITFIELD(mce->status, 59, 59)) in sbridge_mce_check_error()
3284 if (GET_BITFIELD(mce->misc, 6, 8) != 2) in sbridge_mce_check_error()
3287 mci = get_mci_for_node_id(mce->socketid, IMC0); in sbridge_mce_check_error()
3291 if (mce->mcgstatus & MCG_STATUS_MCIP) in sbridge_mce_check_error()
[all …]
/linux/Documentation/translations/zh_CN/mm/
H A Dhwpoison.rst143 x86 有 mce-inject, mce-test
145mce-test中的一些便携式hwpoison测试程序,见下文。
150 http://halobates.de/mce-lc09-2.pdf
153 git://git.kernel.org/pub/scm/utils/cpu/mce/mce-test.git
156 git://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git
/linux/arch/x86/include/asm/
H A Dmce.h180 struct mce entry[];
210 struct mce m;
220 #define to_mce_hw_err(mce) container_of(mce, struct mce_hw_err, m) argument
280 bool mce_is_memory_error(struct mce *m);
281 bool mce_is_correctable(struct mce *m);
282 bool mce_usable_address(struct mce *m);
301 DECLARE_PER_CPU(struct mce, injectm);
374 extern bool amd_mce_is_memory_error(struct mce *m);
385 static inline bool amd_mce_is_memory_error(struct mce *m) { return false; }; in amd_mce_is_memory_error()
H A Dtdx.h118 const char *tdx_dump_mce_info(struct mce *m);
123 static inline const char *tdx_dump_mce_info(struct mce *m) { return NULL; } in tdx_dump_mce_info()
/linux/tools/testing/selftests/kvm/x86_64/
H A Ducna_injection_test.c157 struct kvm_x86_mce mce = {}; in inject_ucna() local
158 mce.status = status; in inject_ucna()
159 mce.mcg_status = 0; in inject_ucna()
165 mce.misc = (MCM_ADDR_PHYS << 6) | 0xc; in inject_ucna()
166 mce.addr = addr; in inject_ucna()
167 mce.bank = UCNA_BANK; in inject_ucna()
169 vcpu_ioctl(vcpu, KVM_X86_SET_MCE, &mce); in inject_ucna()
/linux/drivers/acpi/
H A Dacpi_extlog.c137 struct mce *mce = (struct mce *)data; in extlog_print() local
138 int bank = mce->bank; in extlog_print()
139 int cpu = mce->extcpu; in extlog_print()
151 if (mce->kflags & MCE_HANDLED_CEC) { in extlog_print()
189 mce->kflags |= MCE_HANDLED_EXTLOG; in extlog_print()
/linux/Documentation/arch/x86/x86_64/
H A Dboot-options.rst14 mce=off
16 mce=no_cmci
24 mce=dont_log_ce
29 mce=ignore_ce
38 mce=no_lmce
41 mce=bootlog
48 mce=nobootlog
50 mce=monarchtimeout (number)
54 mce=bios_cmci_threshold
61 mce=recovery
[all …]
H A Dmachinecheck.rst25 Documentation/ABI/testing/sysfs-mce for more details.
33 see http://one.firstfloor.org/~andi/mce.pdf
/linux/Documentation/mm/
H A Dhwpoison.rst159 x86 has mce-inject, mce-test
161 Some portable hwpoison test programs in mce-test, see below.
166 http://halobates.de/mce-lc09-2.pdf
169 git://git.kernel.org/pub/scm/utils/cpu/mce/mce-test.git
172 git://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git
/linux/drivers/net/ethernet/marvell/octeontx2/af/
H A Drvu_nix.c81 struct mce { struct
1130 memcpy(ctx, &req->mce, sizeof(struct nix_rx_mce_s)); in rvu_nix_blk_aq_enq_inst()
1208 memcpy(&rsp->mce, ctx, in rvu_nix_blk_aq_enq_inst()
3121 int mce, u8 op, u16 pcifunc, int next, in nix_blk_setup_mce() argument
3130 aq_req.qidx = mce; in nix_blk_setup_mce()
3133 aq_req.mce.op = mce_op; in nix_blk_setup_mce()
3134 aq_req.mce.index = index; in nix_blk_setup_mce()
3135 aq_req.mce.eol = eol; in nix_blk_setup_mce()
3136 aq_req.mce.pf_func = pcifunc; in nix_blk_setup_mce()
3137 aq_req.mce.next = next; in nix_blk_setup_mce()
[all …]
/linux/drivers/media/rc/keymaps/
H A DMakefile44 rc-dvico-mce.o \
54 rc-fusionhdtv-mce.o \
62 rc-imon-mce.o \
106 rc-rc6-mce.o \

123