Home
last modified time | relevance | path

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

123

/Linux-v6.1/arch/powerpc/kernel/
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-v6.1/arch/x86/kernel/cpu/mce/
Dgenpool.c35 struct mce *m1, *m2; in is_duplicate_mce_record()
37 m1 = &t->mce; in is_duplicate_mce_record()
40 m2 = &node->mce; in is_duplicate_mce_record()
78 struct mce *mce; in mce_gen_pool_process() local
86 mce = &node->mce; in mce_gen_pool_process()
87 blocking_notifier_call_chain(&x86_mce_decoder_chain, 0, mce); in mce_gen_pool_process()
97 int mce_gen_pool_add(struct mce *mce) in mce_gen_pool_add() argument
101 if (filter_mce(mce)) in mce_gen_pool_add()
113 memcpy(&node->mce, mce, sizeof(*mce)); in mce_gen_pool_add()
Dinternal.h29 struct mce mce; member
34 int mce_gen_pool_add(struct mce *mce);
38 int mce_severity(struct mce *a, struct pt_regs *regs, char **msg, bool is_excp);
51 bool intel_filter_mce(struct mce *m);
60 static inline bool intel_filter_mce(struct mce *m) { return false; } in intel_filter_mce()
66 int apei_write_mce(struct mce *m);
67 ssize_t apei_read_mce(struct mce *m, u64 *record_id);
71 static inline int apei_write_mce(struct mce *m) in apei_write_mce()
75 static inline ssize_t apei_read_mce(struct mce *m, u64 *record_id) in apei_read_mce()
95 static inline bool mce_cmp(struct mce *m1, struct mce *m2) in mce_cmp()
[all …]
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()
167 struct mce m; in __mce_read_apei()
169 if (usize < sizeof(struct mce)) in __mce_read_apei()
185 if (copy_to_user(*ubuf, &m, sizeof(struct mce))) in __mce_read_apei()
198 *ubuf += sizeof(struct mce); in __mce_read_apei()
220 if (*off != 0 || usize < mcelog->len * sizeof(struct mce)) in mce_chrdev_read()
227 struct mce *m = &mcelog->entry[i]; in mce_chrdev_read()
[all …]
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()
115 static void setup_inj_struct(struct mce *m) in setup_inj_struct()
117 memset(m, 0, sizeof(struct mce)); in setup_inj_struct()
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()
[all …]
Dapei.c31 struct mce m; in apei_mce_report_mem_error()
70 struct mce m; in apei_smca_report_x86_error()
141 struct mce mce; member
144 int apei_write_mce(struct mce *m) in apei_write_mce()
162 rcd.sec_hdr.section_offset = (void *)&rcd.mce - (void *)&rcd; in apei_write_mce()
163 rcd.sec_hdr.section_length = sizeof(rcd.mce); in apei_write_mce()
171 memcpy(&rcd.mce, m, sizeof(*m)); in apei_write_mce()
176 ssize_t apei_read_mce(struct mce *m, u64 *record_id) in apei_read_mce()
199 memcpy(m, &rcd.mce, sizeof(*m)); in apei_read_mce()
Dcore.c94 static DEFINE_PER_CPU(struct mce, mces_seen);
124 void mce_setup(struct mce *m) in mce_setup()
126 memset(m, 0, sizeof(struct mce)); in mce_setup()
139 DEFINE_PER_CPU(struct mce, injectm);
142 void mce_log(struct mce *m) in mce_log()
165 static void __print_mce(struct mce *m) in __print_mce()
208 static void print_mce(struct mce *m) in print_mce()
237 static noinstr void mce_panic(const char *msg, struct mce *final, char *exp) in mce_panic()
267 struct mce *m = &l->mce; in mce_panic()
276 struct mce *m = &l->mce; in mce_panic()
[all …]
DMakefile9 mce-inject-y := inject.o
10 obj-$(CONFIG_X86_MCE_INJECT) += mce-inject.o
/Linux-v6.1/drivers/acpi/nfit/
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-v6.1/drivers/edac/
Dskx_common.c534 const struct mce *m, in skx_mce_output_error()
628 static bool skx_error_in_1st_level_mem(const struct mce *m) in skx_error_in_1st_level_mem()
646 struct mce *mce = (struct mce *)data; in skx_mce_check_error() local
651 if (mce->kflags & MCE_HANDLED_CEC) in skx_mce_check_error()
655 if ((mce->status & 0xefff) >> 7 != 1 || !(mce->status & MCI_STATUS_ADDRV)) in skx_mce_check_error()
659 res.mce = mce; in skx_mce_check_error()
660 res.addr = mce->addr; in skx_mce_check_error()
665 if (!(adxl_component_count && skx_adxl_decode(&res, skx_error_in_1st_level_mem(mce)))) in skx_mce_check_error()
674 if (mce->mcgstatus & MCG_STATUS_MCIP) in skx_mce_check_error()
682 "Bank %d: 0x%llx\n", mce->extcpu, type, in skx_mce_check_error()
[all …]
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
21 void amd_unregister_ecc_decoder(void (*f)(int, struct mce *)) in amd_unregister_ecc_decoder() argument
764 static void decode_mc0_mce(struct mce *m) in decode_mc0_mce()
874 static void decode_mc1_mce(struct mce *m) in decode_mc1_mce()
1020 static void decode_mc2_mce(struct mce *m) in decode_mc2_mce()
1031 static void decode_mc3_mce(struct mce *m) in decode_mc3_mce()
1060 static void decode_mc4_mce(struct mce *m) in decode_mc4_mce()
1118 static void decode_mc5_mce(struct mce *m) in decode_mc5_mce()
1150 static void decode_mc6_mce(struct mce *m) in decode_mc6_mce()
[all …]
Digen6_edac.c738 struct mce *mce = (struct mce *)data; in ecclog_mce_handler() local
741 if (mce->kflags & MCE_HANDLED_CEC) in ecclog_mce_handler()
749 if ((mce->status & 0xefff) >> 7 != 1) in ecclog_mce_handler()
752 if (mce->mcgstatus & MCG_STATUS_MCIP) in ecclog_mce_handler()
758 mce->extcpu, type, mce->mcgstatus, in ecclog_mce_handler()
759 mce->bank, mce->status); in ecclog_mce_handler()
760 edac_dbg(0, "TSC 0x%llx\n", mce->tsc); in ecclog_mce_handler()
761 edac_dbg(0, "ADDR 0x%llx\n", mce->addr); in ecclog_mce_handler()
762 edac_dbg(0, "MISC 0x%llx\n", mce->misc); in ecclog_mce_handler()
764 mce->cpuvendor, mce->cpuid, mce->time, in ecclog_mce_handler()
[all …]
Dpnd2_edac.c1121 static void pnd2_mce_output_error(struct mem_ctl_info *mci, const struct mce *m, in pnd2_mce_output_error()
1372 struct mce *mce = (struct mce *)data; in pnd2_mce_check_error() local
1378 if (!mci || (mce->kflags & MCE_HANDLED_CEC)) in pnd2_mce_check_error()
1387 if ((mce->status & 0xefff) >> 7 != 1) in pnd2_mce_check_error()
1390 if (mce->mcgstatus & MCG_STATUS_MCIP) in pnd2_mce_check_error()
1397 mce->extcpu, type, mce->mcgstatus, mce->bank, mce->status); in pnd2_mce_check_error()
1398 pnd2_mc_printk(mci, KERN_INFO, "TSC %llx ", mce->tsc); in pnd2_mce_check_error()
1399 pnd2_mc_printk(mci, KERN_INFO, "ADDR %llx ", mce->addr); in pnd2_mce_check_error()
1400 pnd2_mc_printk(mci, KERN_INFO, "MISC %llx ", mce->misc); in pnd2_mce_check_error()
1402 mce->cpuvendor, mce->cpuid, mce->time, mce->socketid, mce->apicid); in pnd2_mce_check_error()
[all …]
Dmce_amd.h79 void amd_register_ecc_decoder(void (*f)(int, struct mce *));
80 void amd_unregister_ecc_decoder(void (*f)(int, struct mce *));
Di10nm_base.c360 static bool i10nm_mc_decode_available(struct mce *mce) in i10nm_mc_decode_available() argument
367 if ((mce->status & (MCI_STATUS_MISCV | MCI_STATUS_ADDRV)) in i10nm_mc_decode_available()
371 bank = mce->bank; in i10nm_mc_decode_available()
379 if (MCI_MISC_ECC_MODE(mce->misc) == MCI_MISC_ECC_DDRT) in i10nm_mc_decode_available()
382 if (i10nm_mscod_is_ddrt(MCI_STATUS_MSCOD(mce->status))) in i10nm_mc_decode_available()
394 struct mce *m = res->mce; in i10nm_mc_decode()
709 struct mce m; in debugfs_u64_set()
Dsb_edac.c2369 const struct mce *m, u8 *socket, in get_memory_error_data_from_mce()
3077 const struct mce *m) in sbridge_mce_output_error()
3258 struct mce *mce = (struct mce *)data; in sbridge_mce_check_error() local
3262 if (mce->kflags & MCE_HANDLED_CEC) in sbridge_mce_check_error()
3271 if ((mce->status & 0xefff) >> 7 != 1) in sbridge_mce_check_error()
3275 if (!GET_BITFIELD(mce->status, 58, 58)) in sbridge_mce_check_error()
3279 if (!GET_BITFIELD(mce->status, 59, 59)) in sbridge_mce_check_error()
3283 if (GET_BITFIELD(mce->misc, 6, 8) != 2) in sbridge_mce_check_error()
3286 mci = get_mci_for_node_id(mce->socketid, IMC0); in sbridge_mce_check_error()
3290 if (mce->mcgstatus & MCG_STATUS_MCIP) in sbridge_mce_check_error()
[all …]
/Linux-v6.1/Documentation/translations/zh_CN/mm/
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-v6.1/arch/x86/include/asm/
Dmce.h169 struct mce entry[];
219 void mce_setup(struct mce *m);
220 void mce_log(struct mce *m);
243 bool mce_is_memory_error(struct mce *m);
244 bool mce_is_correctable(struct mce *m);
245 int mce_usable_address(struct mce *m);
263 DECLARE_PER_CPU(struct mce, injectm);
334 extern bool amd_mce_is_memory_error(struct mce *m);
345 static inline bool amd_mce_is_memory_error(struct mce *m) { return false; }; in amd_mce_is_memory_error()
/Linux-v6.1/drivers/acpi/
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()
148 if (estatus == NULL || (mce->kflags & MCE_HANDLED_CEC)) in extlog_print()
184 mce->kflags |= MCE_HANDLED_EXTLOG; in extlog_print()
/Linux-v6.1/tools/testing/selftests/kvm/x86_64/
Ducna_injection_test.c164 struct kvm_x86_mce mce = {}; in inject_ucna() local
165 mce.status = status; in inject_ucna()
166 mce.mcg_status = 0; in inject_ucna()
172 mce.misc = (MCM_ADDR_PHYS << 6) | 0xc; in inject_ucna()
173 mce.addr = addr; in inject_ucna()
174 mce.bank = UCNA_BANK; in inject_ucna()
176 vcpu_ioctl(vcpu, KVM_X86_SET_MCE, &mce); in inject_ucna()
/Linux-v6.1/Documentation/mm/
Dhwpoison.rst161 x86 has mce-inject, mce-test
163 Some portable hwpoison test programs in mce-test, see below.
168 http://halobates.de/mce-lc09-2.pdf
171 git://git.kernel.org/pub/scm/utils/cpu/mce/mce-test.git
174 git://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git
/Linux-v6.1/Documentation/x86/x86_64/
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 …]
Dmachinecheck.rst25 Documentation/ABI/testing/sysfs-mce for more details.
33 see http://one.firstfloor.org/~andi/mce.pdf
/Linux-v6.1/drivers/media/rc/keymaps/
DMakefile42 rc-dvico-mce.o \
52 rc-fusionhdtv-mce.o \
60 rc-imon-mce.o \
103 rc-rc6-mce.o \
/Linux-v6.1/include/trace/events/
Dmce.h3 #define TRACE_SYSTEM mce
14 TP_PROTO(struct mce *m),

123