/* Handle any Correctable Errors (CEs) that have occurred. Check for valid ERROR ADDRESS and process.  */
static void amd64_handle_ce(struct mem_ctl_info *mci, struct err_regs *info)
/* Handle any Correctable Errors (CEs) that have occurred. Check for valid ERROR ADDRESS and process.  */
static void amd64_handle_ce(struct mem_ctl_info *mci, struct err_regs *info)
{
	struct amd64_pvt *pvt = mci->pvt_info;
	u64 sys_addr;
	if ((info->nbsh & K8_NBSH_VALID_ERROR_ADDR) == 0) {
		amd64_mc_printk(mci, KERN_ERR,
			"HW has no ERROR_ADDRESS available\n");
		edac_mc_handle_ce_no_info(mci, EDAC_MOD_STR);
		return;
	}
	sys_addr = pvt->ops->get_error_address(mci, info);
	amd64_mc_printk(mci, KERN_ERR,
		"CE ERROR_ADDRESS= 0x%llx\n", sys_addr);
	pvt->ops->map_sysaddr_to_csrow(mci, info, sys_addr);
}