/kernel/linux/linux-6.6/arch/powerpc/kernel/ |
H A D | mce.c | 10 #define pr_fmt(fmt) "mce: " fmt 25 #include <asm/mce.h> 49 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 in mce_set_error_info() 97 struct machine_check_event *mce; save_mce_event() local 191 get_mce_event(struct machine_check_event *mce, bool release) get_mce_event() argument [all...] |
/kernel/linux/linux-5.10/arch/powerpc/kernel/ |
H A D | mce.c | 10 #define pr_fmt(fmt) "mce: " fmt 22 #include <asm/mce.h> 66 static void mce_set_error_info(struct machine_check_event *mce, in mce_set_error_info() argument 69 mce->error_type = mce_err->error_type; in mce_set_error_info() 72 mce->u.ue_error.ue_error_type = mce_err->u.ue_error_type; in mce_set_error_info() 75 mce->u.slb_error.slb_error_type = mce_err->u.slb_error_type; in mce_set_error_info() 78 mce->u.erat_error.erat_error_type = mce_err->u.erat_error_type; in mce_set_error_info() 81 mce->u.tlb_error.tlb_error_type = mce_err->u.tlb_error_type; in mce_set_error_info() 84 mce->u.user_error.user_error_type = mce_err->u.user_error_type; in mce_set_error_info() 87 mce in mce_set_error_info() 107 struct machine_check_event *mce = this_cpu_ptr(&mce_event[index]); save_mce_event() local 192 get_mce_event(struct machine_check_event *mce, bool release) get_mce_event() argument [all...] |
/kernel/linux/linux-5.10/arch/x86/kernel/cpu/mce/ |
H A D | genpool.c | 35 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 [all...] |
H A D | internal.h | 6 #define pr_fmt(fmt) "mce: " fmt 9 #include <asm/mce.h> 32 struct mce mce; member 37 int mce_gen_pool_add(struct mce *mce); 41 extern int (*mce_severity)(struct mce *a, struct pt_regs *regs, 55 bool intel_filter_mce(struct mce *m); 64 static inline bool intel_filter_mce(struct mce *m) { return false; }; in intel_filter_mce() 70 int apei_write_mce(struct mce * [all...] |
H A D | dev-mcelog.c | 39 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() [all...] |
H A D | inject.c | 30 #include <asm/mce.h> 39 static struct mce i_mce; 67 struct mce *m = (struct mce *)data; \ 81 struct mce *m = (struct mce *)data; \ 97 static void setup_inj_struct(struct mce *m) in setup_inj_struct() 99 memset(m, 0, sizeof(struct mce)); in setup_inj_struct() 107 /* Update fake mce registers on current CPU. */ 108 static void inject_mce(struct mce * [all...] |
H A D | apei.c | 25 #include <asm/mce.h> 31 struct mce m; in apei_mce_report_mem_error() 68 struct mce mce; member 71 int apei_write_mce(struct mce *m) in apei_write_mce() 89 rcd.sec_hdr.section_offset = (void *)&rcd.mce - (void *)&rcd; in apei_write_mce() 90 rcd.sec_hdr.section_length = sizeof(rcd.mce); in apei_write_mce() 98 memcpy(&rcd.mce, m, sizeof(*m)); in apei_write_mce() 103 ssize_t apei_read_mce(struct mce *m, u64 *record_id) in apei_read_mce() 128 memcpy(m, &rcd.mce, sizeo in apei_read_mce() [all...] |
H A D | core.c | 53 #include <asm/mce.h> 63 #include <trace/events/mce.h> 101 static DEFINE_PER_CPU(struct mce, mces_seen); 125 static void (*quirk_no_way_out)(int bank, struct mce *m, struct pt_regs *regs); 133 /* Do initial initialization of a struct mce */ 134 noinstr void mce_setup(struct mce *m) in mce_setup() 136 memset(m, 0, sizeof(struct mce)); in mce_setup() 154 DEFINE_PER_CPU(struct mce, injectm); 157 void mce_log(struct mce *m) in mce_log() 201 static void __print_mce(struct mce * 637 struct mce *mce = (struct mce *)data; uc_decode_notifier() local [all...] |
/kernel/linux/linux-6.6/arch/x86/kernel/cpu/mce/ |
H A D | genpool.c | 35 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 [all...] |
H A D | internal.h | 6 #define pr_fmt(fmt) "mce: " fmt 9 #include <asm/mce.h> 29 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 * [all...] |
H A D | dev-mcelog.c | 39 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() [all...] |
H A D | apei.c | 25 #include <asm/mce.h> 31 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 * [all...] |
H A D | inject.c | 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() [all...] |
H A D | core.c | 53 #include <asm/mce.h> 63 #include <trace/events/mce.h> 89 static DEFINE_PER_CPU(struct mce, mces_seen); 118 /* Do initial initialization of a struct mce */ 119 void mce_setup(struct mce *m) in mce_setup() 121 memset(m, 0, sizeof(struct mce)); in mce_setup() 134 DEFINE_PER_CPU(struct mce, injectm); 137 void mce_log(struct mce *m) in mce_log() 160 static void __print_mce(struct mce *m) in __print_mce() 203 static void print_mce(struct mce * 582 struct mce *mce = (struct mce *)data; uc_decode_notifier() local [all...] |
/kernel/linux/linux-6.6/drivers/acpi/nfit/ |
H A D | mce.c | 10 #include <asm/mce.h> 16 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() 29 * mce->addr contains the physical addr accessed that caused the in nfit_handle_mce() 35 unsigned int align = 1UL << MCI_MISC_ADDR_LSB(mce->misc); in nfit_handle_mce() 45 /* find the spa that covers the mce add in nfit_handle_mce() [all...] |
/kernel/linux/linux-5.10/drivers/acpi/nfit/ |
H A D | mce.c | 10 #include <asm/mce.h> 16 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() 29 * mce->addr contains the physical addr accessed that caused the in nfit_handle_mce() 44 /* find the spa that covers the mce addr */ in nfit_handle_mce() 45 if (spa->address > mce in nfit_handle_mce() [all...] |
/kernel/linux/linux-6.6/drivers/edac/ |
H A D | skx_common.c | 21 #include <asm/mce.h> 534 const struct mce *m, in skx_mce_output_error() 612 static bool skx_error_in_1st_level_mem(const struct mce *m) in skx_error_in_1st_level_mem() 624 static bool skx_error_in_mem(const struct mce *m) in skx_error_in_mem() 636 struct mce *mce = (struct mce *)data; in skx_mce_check_error() local 641 if (mce->kflags & MCE_HANDLED_CEC) in skx_mce_check_error() 645 if (!skx_error_in_mem(mce) || !(mce in skx_mce_check_error() [all...] |
H A D | mce_amd.c | 13 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() 21 void amd_unregister_ecc_decoder(void (*f)(int, struct mce *)) in amd_unregister_ecc_decoder() 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 * [all...] |
/kernel/linux/linux-5.10/drivers/edac/ |
H A D | skx_common.c | 21 #include <asm/mce.h> 476 const struct mce *m, in skx_mce_output_error() 571 struct mce *mce = (struct mce *)data; in skx_mce_check_error() local 576 if (mce->kflags & MCE_HANDLED_CEC) in skx_mce_check_error() 580 if ((mce->status & 0xefff) >> 7 != 1 || !(mce->status & MCI_STATUS_ADDRV)) in skx_mce_check_error() 584 res.addr = mce->addr; in skx_mce_check_error() 598 if (mce in skx_mce_check_error() [all...] |
H A D | mce_amd.c | 13 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() 21 void amd_unregister_ecc_decoder(void (*f)(int, struct mce *)) in amd_unregister_ecc_decoder() 573 static void decode_mc0_mce(struct mce *m) in decode_mc0_mce() 683 static void decode_mc1_mce(struct mce *m) in decode_mc1_mce() 829 static void decode_mc2_mce(struct mce *m) in decode_mc2_mce() 840 static void decode_mc3_mce(struct mce *m) in decode_mc3_mce() 869 static void decode_mc4_mce(struct mce *m) in decode_mc4_mce() 927 static void decode_mc5_mce(struct mce *m) in decode_mc5_mce() 959 static void decode_mc6_mce(struct mce * [all...] |
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | mce.h | 5 #include <uapi/asm/mce.h> 136 /* mce.kflags flag bits for logging etc. */ 171 unsigned recordlen; /* length of struct mce */ 172 struct mce entry[]; 222 void mce_setup(struct mce *m); 223 void mce_log(struct mce *m); 246 bool mce_is_memory_error(struct mce *m); 247 bool mce_is_correctable(struct mce *m); 248 int mce_usable_address(struct mce *m); 266 DECLARE_PER_CPU(struct mce, inject [all...] |
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | mce.h | 5 #include <uapi/asm/mce.h> 132 /* mce.kflags flag bits for logging etc. */ 167 unsigned recordlen; /* length of struct mce */ 168 struct mce entry[]; 224 void mce_setup(struct mce *m); 225 void mce_log(struct mce *m); 248 bool mce_is_memory_error(struct mce *m); 249 bool mce_is_correctable(struct mce *m); 250 int mce_usable_address(struct mce *m); 268 DECLARE_PER_CPU(struct mce, inject [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/x86_64/ |
H A D | ucna_injection_test.c | 29 #include "mce.h" 160 struct kvm_x86_mce mce = {}; in inject_ucna() local 161 mce.status = status; in inject_ucna() 162 mce.mcg_status = 0; in inject_ucna() 168 mce.misc = (MCM_ADDR_PHYS << 6) | 0xc; in inject_ucna() 169 mce.addr = addr; in inject_ucna() 170 mce.bank = UCNA_BANK; in inject_ucna() 172 vcpu_ioctl(vcpu, KVM_X86_SET_MCE, &mce); in inject_ucna()
|
/kernel/linux/linux-5.10/drivers/acpi/ |
H A D | acpi_extlog.c | 17 #include <asm/mce.h> 137 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()
|
/kernel/linux/linux-6.6/drivers/acpi/ |
H A D | acpi_extlog.c | 17 #include <asm/mce.h> 137 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()
|