mc_aflt
values[i] = mc_aflt->mflt_stat[i]->mf_flt_maddr.ma_bank;
values[i] = mc_aflt->mflt_stat[i]->mf_cntl;
values[i] = mc_aflt->mflt_stat[i]->mf_err_add;
if (mc_aflt->mflt_stat[0]->mf_type == FLT_TYPE_INTERMITTENT_CE ||
mc_aflt->mflt_stat[0]->mf_type == FLT_TYPE_PERMANENT_CE) {
values[i] = mc_aflt->mflt_stat[i]->mf_err_log;
flt_stat = mc_aflt->mflt_stat[i];
flt_stat = mc_aflt->mflt_stat[i];
ret = mc_set_mem_sid(mc_aflt->mflt_mcp, s + strlen(s),
mc_err_drain(mc_aflt_t *mc_aflt)
MC_LOG("mc_err_drain: %s\n", mc_aflt->mflt_erpt_class);
for (i = 0; i < mc_aflt->mflt_nflts; i++) {
rv = mcaddr_to_pa(mc_aflt->mflt_mcp,
&(mc_aflt->mflt_stat[i]->mf_flt_maddr), &pa);
if (rv == 0 && pa_is_valid(mc_aflt->mflt_mcp, pa))
mc_aflt->mflt_stat[i]->mf_flt_paddr = pa;
mc_aflt->mflt_stat[i]->mf_flt_paddr = (uint64_t)-1;
if (mc_aflt->mflt_stat[0]->mf_type !=
mc_aflt->mflt_stat[0]->mf_type != FLT_TYPE_PERMANENT_CE) {
mc_aflt->mflt_pr);
(void) page_retire(pa, mc_aflt->mflt_pr);
for (i = 0; i < mc_aflt->mflt_nflts; i++) {
if (mc_aflt->mflt_stat[i]->mf_flt_paddr != (uint64_t)-1) {
mc_aflt0 = *mc_aflt;
mc_aflt0.mflt_stat[0] = mc_aflt->mflt_stat[i];
mc_process_error_mir(mc_opl_t *mcp, mc_aflt_t *mc_aflt, mc_flt_stat_t *flt_stat)
int ptrl_error = mc_aflt->mflt_is_ptrl;
mc_aflt->mflt_erpt_class = MC_OPL_CMPE;
mc_aflt->mflt_nflts = 2;
mc_aflt->mflt_stat[0] = &flt_stat[0];
mc_aflt->mflt_stat[1] = &flt_stat[1];
mc_aflt->mflt_pr = PR_UE;
mc_aflt->mflt_erpt_class = MC_OPL_MUE;
mc_aflt->mflt_nflts = 2;
mc_aflt->mflt_stat[0] = &flt_stat[0];
mc_aflt->mflt_stat[1] = &flt_stat[1];
mc_aflt->mflt_pr = PR_UE;
mc_err_drain(mc_aflt);
mc_aflt->mflt_erpt_class = MC_OPL_SUE;
mc_aflt->mflt_stat[0] = &flt_stat[i];
mc_aflt->mflt_nflts = 1;
mc_aflt->mflt_pr = PR_MCE;
mc_err_drain(mc_aflt);
mc_aflt->mflt_erpt_class = MC_OPL_CMPE;
mc_aflt->mflt_nflts = 1;
mc_aflt->mflt_stat[0] = &flt_stat[i];
mc_aflt->mflt_pr = PR_UE;
mc_aflt->mflt_erpt_class = MC_OPL_SUE;
mc_aflt->mflt_stat[0] = &flt_stat[i];
mc_aflt->mflt_nflts = 1;
mc_aflt->mflt_pr = PR_MCE;
mc_err_drain(mc_aflt);
mc_aflt_t mc_aflt;
bzero(&mc_aflt, sizeof (mc_aflt_t));
mc_aflt.mflt_mcp = mcp;
mc_aflt.mflt_id = gethrtime();
mc_aflt.mflt_is_ptrl = 0;
mi_valid = mc_process_error_mir(mcp, &mc_aflt, &mi_flt_stat[0]);
mc_aflt.mflt_is_ptrl = 1;
rsaddr->mi_valid = mc_process_error_mir(mcp, &mc_aflt, &flt_stat[0]);
mc_process_error(mc_opl_t *mcp, int bank, mc_aflt_t *mc_aflt,
int ptrl_error = mc_aflt->mflt_is_ptrl;
mc_aflt->mflt_erpt_class = NULL;
mc_aflt->mflt_erpt_class = MC_OPL_UE;
mc_aflt->mflt_pr = PR_UE;
mc_aflt->mflt_erpt_class = MC_OPL_ICE;
mc_aflt->mflt_pr = PR_MCE;
mc_aflt->mflt_erpt_class = MC_OPL_CE;
mc_aflt->mflt_pr = PR_MCE;
mc_aflt->mflt_erpt_class = MC_OPL_UE;
mc_aflt->mflt_pr = PR_UE;
mc_aflt->mflt_erpt_class);
if (mc_aflt->mflt_erpt_class) {
mc_aflt->mflt_stat[0] = flt_stat;
mc_aflt->mflt_nflts = 1;
mc_err_drain(mc_aflt);
mc_aflt_t mc_aflt;
bzero(&mc_aflt, sizeof (mc_aflt_t));
mc_aflt.mflt_mcp = mcp;
mc_aflt.mflt_id = gethrtime();
mc_aflt.mflt_is_ptrl = 0;
mi_valid = mc_process_error(mcp, bank, &mc_aflt, &mi_flt_stat);
mc_aflt.mflt_is_ptrl = 1;
rsaddr->mi_valid = mc_process_error(mcp, bank, &mc_aflt,
mc_ereport_post(mc_aflt_t *mc_aflt)
nflts = mc_aflt->mflt_nflts;
flt_stat = mc_aflt->mflt_stat[0];
(void) ddi_pathname(mc_aflt->mflt_mcp->mc_dip, device_path);
mc_aflt->mflt_is_ptrl ? MC_OPL_PTRL_SUBCLASS : MC_OPL_MI_SUBCLASS,
mc_aflt->mflt_erpt_class);
fm_ena_generate(mc_aflt->mflt_id, FM_ENA_FMT1), detector, NULL);