Home
last modified time | relevance | path

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

1234

/linux-6.15/arch/powerpc/kernel/
H A Dmce.c97 struct machine_check_event *mce; in save_mce_event() local
109 mce->version = MCE_V1; in save_mce_event()
110 mce->srr0 = nip; in save_mce_event()
111 mce->srr1 = regs->msr; in save_mce_event()
112 mce->gpr3 = regs->gpr[3]; in save_mce_event()
113 mce->in_use = 1; in save_mce_event()
114 mce->cpu = get_paca()->paca_index; in save_mce_event()
130 mce_set_error_info(mce, mce_err); in save_mce_event()
168 machine_check_ue_event(mce); in save_mce_event()
205 if (mce) in get_mce_event()
[all …]
/linux-6.15/arch/x86/kernel/cpu/mce/
H A Dinternal.h49 bool intel_filter_mce(struct mce *m);
50 bool intel_mce_usable_address(struct mce *m);
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);
125 static inline int apei_write_mce(struct mce *m) in apei_write_mce()
149 static inline bool mce_cmp(struct mce *m1, struct mce *m2) in mce_cmp()
263 extern bool filter_mce(struct mce *m);
264 void mce_prep_record_common(struct mce *m);
268 extern bool amd_filter_mce(struct mce *m);
[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()
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()
137 mce_handle_storm(mce->bank, false); in mce_track_storm()
138 cmci_storm_end(mce->bank); in mce_track_storm()
143 mce_handle_storm(mce->bank, true); 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()
197 *ubuf += sizeof(struct mce); in __mce_read_apei()
226 struct mce *m = &mcelog->entry[i]; in mce_chrdev_read()
289 struct mce m; in mce_chrdev_write()
301 usize = sizeof(struct mce); in mce_chrdev_write()
[all …]
H A Dinject.c41 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()
117 memset(m, 0, sizeof(struct mce)); in setup_inj_struct()
126 static void inject_mce(struct mce *m) in inject_mce()
138 memcpy(i, m, sizeof(struct mce)); in inject_mce()
296 struct mce *m = (struct mce *)data; in mce_inject_raise()
403 struct mce *m = (struct mce *)data; in inj_extcpu_set()
475 struct mce m = *(struct mce *)info; in prepare_msrs()
[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.c142 struct mce *m = &err->m; in mce_prep_record()
177 struct mce *m = &err->m; in __print_mce()
226 struct mce *m = &err->m; in print_mce()
295 struct mce *m = &err->m; in mce_panic()
305 struct mce *m = &err->m; in mce_panic()
461 struct mce *m; in mce_gather_info()
635 struct mce *mce = (struct mce *)data; in uc_decode_notifier() local
638 if (!mce || !mce_usable_address(mce)) in uc_decode_notifier()
736 struct mce *m; in machine_check_poll()
1063 struct mce *m = NULL; in mce_reign()
[all …]
H A Dgenpool.c78 struct mce *mce; in mce_gen_pool_process() local
86 mce = &node->err.m; in mce_gen_pool_process()
87 blocking_notifier_call_chain(&x86_mce_decoder_chain, 0, mce); in mce_gen_pool_process()
H A DMakefile9 mce-inject-y := inject.o
10 obj-$(CONFIG_X86_MCE_INJECT) += mce-inject.o
/linux-6.15/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()
/linux-6.15/drivers/edac/
H A Die31200_edac.c348 static void __ie31200_check(struct mem_ctl_info *mci, struct mce *mce) in __ie31200_check() argument
352 info.erraddr = mce ? mce->addr : 0; in __ie31200_check()
511 static void mce_check(struct mce *mce) in mce_check() argument
521 __ie31200_check(priv->mci, mce); in mce_check()
527 struct mce *mce = (struct mce *)data; in mce_handler() local
543 mce->extcpu, type, mce->mcgstatus, in mce_handler()
544 mce->bank, mce->status); in mce_handler()
549 mce->cpuvendor, mce->cpuid, mce->time, in mce_handler()
550 mce->socketid, mce->apicid); in mce_handler()
552 mce_check(mce); in mce_handler()
[all …]
H A Dskx_common.c620 const struct mce *m, in skx_mce_output_error()
717 struct mce *mce = (struct mce *)data; in skx_mce_check_error() local
723 if (mce->kflags & MCE_HANDLED_CEC) in skx_mce_check_error()
726 err_src = skx_error_source(mce); in skx_mce_check_error()
733 res.mce = mce; in skx_mce_check_error()
736 pr_err("Invalid address 0x%llx in IA32_MC%d_ADDR\n", mce->addr, mce->bank); in skx_mce_check_error()
761 mce->mcgstatus, mce->bank, mce->status); in skx_mce_check_error()
767 "%u APIC 0x%x\n", mce->cpuvendor, mce->cpuid, in skx_mce_check_error()
768 mce->time, mce->socketid, mce->apicid); in skx_mce_check_error()
772 mce->kflags |= MCE_HANDLED_EDAC; in skx_mce_check_error()
[all …]
H A Dmce_amd.c13 static void (*decode_dram_ecc)(int node_id, struct mce *m);
15 void amd_register_ecc_decoder(void (*f)(int, struct mce *)) in amd_register_ecc_decoder() argument
288 static void decode_mc0_mce(struct mce *m) in decode_mc0_mce()
398 static void decode_mc1_mce(struct mce *m) in decode_mc1_mce()
544 static void decode_mc2_mce(struct mce *m) in decode_mc2_mce()
555 static void decode_mc3_mce(struct mce *m) in decode_mc3_mce()
584 static void decode_mc4_mce(struct mce *m) in decode_mc4_mce()
642 static void decode_mc5_mce(struct mce *m) in decode_mc5_mce()
674 static void decode_mc6_mce(struct mce *m) in decode_mc6_mce()
732 static void decode_smca_error(struct mce *m) in decode_smca_error()
[all …]
H A Digen6_edac.c939 struct mce *mce = (struct mce *)data; in ecclog_mce_handler() local
942 if (mce->kflags & MCE_HANDLED_CEC) in ecclog_mce_handler()
950 if ((mce->status & 0xefff) >> 7 != 1) in ecclog_mce_handler()
953 if (mce->mcgstatus & MCG_STATUS_MCIP) in ecclog_mce_handler()
959 mce->extcpu, type, mce->mcgstatus, in ecclog_mce_handler()
960 mce->bank, mce->status); in ecclog_mce_handler()
961 edac_dbg(0, "TSC 0x%llx\n", mce->tsc); in ecclog_mce_handler()
962 edac_dbg(0, "ADDR 0x%llx\n", mce->addr); in ecclog_mce_handler()
965 mce->cpuvendor, mce->cpuid, mce->time, in ecclog_mce_handler()
966 mce->socketid, mce->apicid); in ecclog_mce_handler()
[all …]
H A Dpnd2_edac.c1369 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()
1399 mce->cpuvendor, mce->cpuid, mce->time, mce->socketid, mce->apicid); in pnd2_mce_check_error()
1401 pnd2_mce_output_error(mci, mce, &daddr); in pnd2_mce_check_error()
1404 mce->kflags |= MCE_HANDLED_EDAC; 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 *));
/linux-6.15/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-6.15/drivers/cxl/core/
H A Dmce.c17 struct mce *mce = data; in cxl_handle_mce() local
21 if (!mce || !mce_usable_address(mce)) in cxl_handle_mce()
27 spa = mce->addr & MCI_ADDR_PHYSADDR; in cxl_handle_mce()
/linux-6.15/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);
299 DECLARE_PER_CPU(struct mce, injectm);
372 extern bool amd_mce_is_memory_error(struct mce *m);
383 static inline bool amd_mce_is_memory_error(struct mce *m) { return false; }; in amd_mce_is_memory_error()
/linux-6.15/tools/testing/selftests/kvm/x86/
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-6.15/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-6.15/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-6.15/drivers/net/ethernet/marvell/octeontx2/af/
H A Drvu_nix.c3202 struct mce *mce; in nix_delete_mcast_mce_list() local
3225 struct mce *mce, *prev_mce; in nix_update_ingress_mce_list_hw() local
3257 mce->rq_rss_index, mce->dest_type, in nix_update_ingress_mce_list_hw()
3275 struct mce *mce, *prev_mce; in nix_update_egress_mce_list_hw() local
3323 struct mce *mce; in nix_del_mce_list_entry() local
3362 struct mce *mce; in nix_add_mce_list_entry() local
3402 struct mce *mce, *tail = NULL; in nix_update_mce_list_entry() local
3429 mce = kzalloc(sizeof(*mce), GFP_KERNEL); in nix_update_mce_list_entry()
3449 struct mce *mce; in nix_update_mce_list() local
5206 struct mce *mce; in nix_mcast_update_mce_entry() local
[all …]
/linux-6.15/Documentation/devicetree/bindings/media/
H A Drc.yaml62 - rc-dvico-mce
73 - rc-fusionhdtv-mce
81 - rc-imon-mce
126 - rc-rc6-mce
/linux-6.15/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 \

1234