Lines Matching +full:lsb +full:- +full:first
1 // SPDX-License-Identifier: GPL-2.0-only
33 int lsb; in apei_mce_report_mem_error() local
35 if (!(mem_err->validation_bits & CPER_MEM_VALID_PA)) in apei_mce_report_mem_error()
39 * Even if the ->validation_bits are set for address mask, in apei_mce_report_mem_error()
43 if (mem_err->validation_bits & CPER_MEM_VALID_PA_MASK) in apei_mce_report_mem_error()
44 lsb = find_first_bit((void *)&mem_err->physical_addr_mask, PAGE_SHIFT); in apei_mce_report_mem_error()
46 lsb = PAGE_SHIFT; in apei_mce_report_mem_error()
50 m->bank = -1; in apei_mce_report_mem_error()
52 m->status = MCI_STATUS_VAL | MCI_STATUS_EN | MCI_STATUS_ADDRV | MCI_STATUS_MISCV | 0x9f; in apei_mce_report_mem_error()
53 m->misc = (MCI_MISC_ADDR_PHYS << 6) | lsb; in apei_mce_report_mem_error()
56 m->status |= MCI_STATUS_UC; in apei_mce_report_mem_error()
59 m->status |= MCI_STATUS_PCC; in apei_mce_report_mem_error()
60 m->tsc = rdtsc(); in apei_mce_report_mem_error()
63 m->addr = mem_err->physical_addr; in apei_mce_report_mem_error()
77 return -EINVAL; in apei_smca_report_x86_error()
81 * match with the first expected register in the register layout of in apei_smca_report_x86_error()
87 if ((ctx_info->msr_addr & MSR_AMD64_SMCA_MC0_STATUS) != in apei_smca_report_x86_error()
89 return -EINVAL; in apei_smca_report_x86_error()
94 * Sanity-check registers array size. in apei_smca_report_x86_error()
96 num_regs = ctx_info->reg_arr_size >> 3; in apei_smca_report_x86_error()
98 return -EINVAL; in apei_smca_report_x86_error()
108 return -EINVAL; in apei_smca_report_x86_error()
115 m->bank = (ctx_info->msr_addr >> 4) & 0xFF; in apei_smca_report_x86_error()
150 m->synd = *(i_mce + 5); in apei_smca_report_x86_error()
154 m->ipid = *(i_mce + 4); in apei_smca_report_x86_error()
160 m->misc = *(i_mce + 2); in apei_smca_report_x86_error()
164 m->addr = *(i_mce + 1); in apei_smca_report_x86_error()
168 m->status = *i_mce; in apei_smca_report_x86_error()
185 * byte-packed.
211 rcd.sec_hdr.section_offset = (void *)&rcd.mce - (void *)&rcd; in apei_write_mce()
243 if (rc == -ENOENT) in apei_read_mce()