| /linux/arch/x86/kernel/cpu/mce/ |
| A D | internal.h | 29 struct mce mce; member 34 int mce_gen_pool_add(struct mce *mce); 49 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); 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); [all …]
|
| A D | threshold.c | 97 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 …]
|
| 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 101 if (filter_mce(mce)) in mce_gen_pool_add() 113 memcpy(&node->mce, mce, sizeof(*mce)); in mce_gen_pool_add()
|
| 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() 197 *ubuf += sizeof(struct mce); in __mce_read_apei() 226 struct mce *m = &mcelog->entry[i]; in mce_chrdev_read() 296 struct mce m; in mce_chrdev_write() 308 usize = sizeof(struct mce); in mce_chrdev_write() [all …]
|
| A D | inject.c | 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() 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() 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() [all …]
|
| A D | apei.c | 31 struct mce m; in apei_mce_report_mem_error() 71 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()
|
| A D | core.c | 151 void mce_log(struct mce *m) in mce_log() 285 struct mce *m = &l->mce; in mce_panic() 294 struct mce *m = &l->mce; in mce_panic() 577 struct mce *m = (struct mce *)data; in mce_early_notifier() 600 struct mce *mce = (struct mce *)data; in uc_decode_notifier() local 603 if (!mce || !mce_usable_address(mce)) in uc_decode_notifier() 627 struct mce *m = (struct mce *)data; in mce_default_notifier() 695 struct mce m; in machine_check_poll() 1020 struct mce *m = NULL; in mce_reign() 1271 __mc_scan_banks(struct mce *m, struct pt_regs *regs, struct mce *final, in __mc_scan_banks() [all …]
|
| A D | Makefile | 9 mce-inject-y := inject.o 10 obj-$(CONFIG_X86_MCE_INJECT) += mce-inject.o
|
| /linux/arch/powerpc/kernel/ |
| A D | mce.c | 97 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/drivers/acpi/nfit/ |
| A D | mce.c | 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() 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/drivers/edac/ |
| A D | skx_common.c | 545 const struct mce *m, in skx_mce_output_error() 647 struct mce *mce = (struct mce *)data; in skx_mce_check_error() local 652 if (mce->kflags & MCE_HANDLED_CEC) in skx_mce_check_error() 656 if (!skx_error_in_mem(mce) || !(mce->status & MCI_STATUS_ADDRV)) in skx_mce_check_error() 660 res.mce = mce; in skx_mce_check_error() 663 pr_err("Invalid address 0x%llx in IA32_MC%d_ADDR\n", mce->addr, mce->bank); in skx_mce_check_error() 688 mce->mcgstatus, mce->bank, mce->status); in skx_mce_check_error() 694 "%u APIC 0x%x\n", mce->cpuvendor, mce->cpuid, in skx_mce_check_error() 695 mce->time, mce->socketid, mce->apicid); in skx_mce_check_error() 699 mce->kflags |= MCE_HANDLED_EDAC; in skx_mce_check_error() [all …]
|
| 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() 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 …]
|
| A D | igen6_edac.c | 922 struct mce *mce = (struct mce *)data; in ecclog_mce_handler() local 925 if (mce->kflags & MCE_HANDLED_CEC) in ecclog_mce_handler() 933 if ((mce->status & 0xefff) >> 7 != 1) in ecclog_mce_handler() 936 if (mce->mcgstatus & MCG_STATUS_MCIP) in ecclog_mce_handler() 942 mce->extcpu, type, mce->mcgstatus, in ecclog_mce_handler() 943 mce->bank, mce->status); in ecclog_mce_handler() 944 edac_dbg(0, "TSC 0x%llx\n", mce->tsc); in ecclog_mce_handler() 945 edac_dbg(0, "ADDR 0x%llx\n", mce->addr); in ecclog_mce_handler() 948 mce->cpuvendor, mce->cpuid, mce->time, in ecclog_mce_handler() 949 mce->socketid, mce->apicid); in ecclog_mce_handler() [all …]
|
| A D | pnd2_edac.c | 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() 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 …]
|
| A D | mce_amd.h | 79 void amd_register_ecc_decoder(void (*f)(int, struct mce *)); 80 void amd_unregister_ecc_decoder(void (*f)(int, struct mce *));
|
| /linux/Documentation/translations/zh_CN/mm/ |
| A D | hwpoison.rst | 143 x86 有 mce-inject, mce-test 145 在mce-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/ |
| A D | mce.h | 174 struct mce entry[]; 224 void mce_prep_record(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 bool mce_usable_address(struct mce *m); 269 DECLARE_PER_CPU(struct mce, injectm); 342 extern bool amd_mce_is_memory_error(struct mce *m); 353 static inline bool amd_mce_is_memory_error(struct mce *m) { return false; }; in amd_mce_is_memory_error()
|
| A D | tdx.h | 118 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/ |
| A D | ucna_injection_test.c | 157 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/ |
| A D | acpi_extlog.c | 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()
|
| /linux/Documentation/arch/x86/x86_64/ |
| A D | boot-options.rst | 14 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 …]
|
| /linux/Documentation/mm/ |
| A D | hwpoison.rst | 159 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/ |
| A D | rvu_nix.c | 3138 struct mce *mce; in nix_delete_mcast_mce_list() local 3161 struct mce *mce, *prev_mce; in nix_update_ingress_mce_list_hw() local 3193 mce->rq_rss_index, mce->dest_type, in nix_update_ingress_mce_list_hw() 3211 struct mce *mce, *prev_mce; in nix_update_egress_mce_list_hw() local 3259 struct mce *mce; in nix_del_mce_list_entry() local 3298 struct mce *mce; in nix_add_mce_list_entry() local 3338 struct mce *mce, *tail = NULL; in nix_update_mce_list_entry() local 3365 mce = kzalloc(sizeof(*mce), GFP_KERNEL); in nix_update_mce_list_entry() 3385 struct mce *mce; in nix_update_mce_list() local 5139 struct mce *mce; in nix_mcast_update_mce_entry() local [all …]
|
| /linux/Documentation/devicetree/bindings/media/ |
| A D | rc.yaml | 62 - rc-dvico-mce 73 - rc-fusionhdtv-mce 81 - rc-imon-mce 126 - rc-rc6-mce
|
| /linux/drivers/media/rc/keymaps/ |
| A D | Makefile | 44 rc-dvico-mce.o \ 54 rc-fusionhdtv-mce.o \ 62 rc-imon-mce.o \ 106 rc-rc6-mce.o \
|