Lines Matching refs:spf_flt

113 static void cpu_ce_log_status(spitf_async_flt *spf_flt, char *unum);
114 static void cpu_log_ecmem_info(spitf_async_flt *spf_flt);
118 static void check_misc_err(spitf_async_flt *spf_flt);
122 static uint64_t clear_errors(spitf_async_flt *spf_flt, uint64_t *acc_afsr);
815 spitf_async_flt spf_flt;
837 bzero(&spf_flt, sizeof (spitf_async_flt));
838 ecc = (struct async_flt *)&spf_flt;
849 spf_flt.flt_sdbh = sdbh;
850 spf_flt.flt_sdbl = sdbl;
855 check_misc_err(&spf_flt);
861 cpu_aflt_log(CE_PANIC, 1, &spf_flt, CMN_LFLAGS,
890 cpu_aflt_log(CE_PANIC, 1, &spf_flt, CMN_LFLAGS,
928 spitf_async_flt spf_flt;
934 spf_flt.cmn_asyncflt = *aflt;
935 cpu_aflt_log(CE_CONT, 0, &spf_flt, CE_LFLAGS, unum,
967 cpu_ce_log_status(spitf_async_flt *spf_flt, char *unum)
972 struct async_flt *aflt = (struct async_flt *)spf_flt;
984 cpu_aflt_log(CE_CONT, 0, spf_flt, CPU_ERRID_FIRST,
1247 spitf_async_flt spf_flt;
1295 bzero(&spf_flt, sizeof (spitf_async_flt));
1296 aflt = (struct async_flt *)&spf_flt;
1323 spf_flt.flt_sdbh = sdbh;
1324 spf_flt.flt_sdbl = sdbl;
1329 check_misc_err(&spf_flt);
1435 spf_flt.flt_type = CPU_UE_ERR;
1463 (uint64_t *)&spf_flt.flt_ec_data[0],
1464 &spf_flt.flt_ec_tag, &oafsr, &acc_afsr);
1467 state = (uchar_t)((spf_flt.flt_ec_tag &
1471 ((spf_flt.flt_ec_tag & cpu_ec_tag_mask) ==
1485 (spf_flt.flt_ec_tag & cpu_ec_tag_mask) !=
1490 ecdptr = &spf_flt.flt_ec_data[i];
1503 spf_flt.flt_ec_tag = AFLT_INV_ADDR;
1505 spf_flt.flt_ec_lcnt = 1;
1537 (void *)&spf_flt, sizeof (spf_flt), ue_queue,
1546 (void *)&spf_flt, sizeof (spf_flt), ue_queue,
1565 spf_flt.flt_type = CPU_EDP_LDP_ERR;
1579 scan_ecache(&aflt->flt_addr, &spf_flt.flt_ec_data[0],
1580 &spf_flt.flt_ec_tag, &spf_flt.flt_ec_lcnt, &oafsr);
1598 (void *)&spf_flt, sizeof (spf_flt), ue_queue,
1620 spf_flt.flt_type = CPU_BTO_BERR_ERR;
1624 (void *)&spf_flt, sizeof (spf_flt), ue_queue,
1647 spf_flt.flt_type = CPU_WP_ERR;
1649 (void *)&spf_flt, sizeof (spf_flt), ue_queue,
1663 spf_flt.flt_type = CPU_TRAPPING_CP_ERR;
1665 (void *)&spf_flt, sizeof (spf_flt), ue_queue,
1675 spf_flt.flt_type = CPU_ORPHAN_CP_ERR;
1684 scan_ecache(&aflt->flt_addr, &spf_flt.flt_ec_data[0],
1685 &spf_flt.flt_ec_tag, &spf_flt.flt_ec_lcnt,
1700 (void *)&spf_flt, sizeof (spf_flt), ue_queue,
1757 (void) clear_errors(&spf_flt, NULL);
1780 * Make sure the spf_flt.flt_type value is set, and
1790 spf_flt.flt_type = CPU_ADDITIONAL_ERR;
1793 (void *)&spf_flt, sizeof (spf_flt), ue_queue,
1804 cpu_aflt_log(CE_PANIC, 1, &spf_flt, CPU_ERRID_FIRST,
1822 check_misc_err(spitf_async_flt *spf_flt)
1824 struct async_flt *aflt = (struct async_flt *)spf_flt;
1839 cpu_aflt_log(CE_PANIC, 1, spf_flt, CMN_LFLAGS,
2010 spitf_async_flt *spf_flt = (spitf_async_flt *)aflt;
2025 cpu_aflt_log(CE_WARN, 2, spf_flt, CPU_ERRID_FIRST, NULL,
2039 cpu_aflt_log(CE_WARN, 1, spf_flt, UE_LFLAGS, unum,
2043 cpu_aflt_log(CE_WARN, 1, spf_flt, CPU_ERRID_FIRST, NULL,
2049 cpu_log_ecmem_info(spf_flt);
2062 spitf_async_flt *spf_flt = (spitf_async_flt *)flt;
2068 switch (spf_flt->flt_type) {
2112 cpu_aflt_log(CE_WARN, 1, spf_flt, PARERR_LFLAGS,
2116 cpu_aflt_log(CE_WARN, 1, spf_flt, PARERR_LFLAGS,
2120 if (spf_flt->flt_ec_lcnt > 0) {
2121 cpu_log_ecmem_info(spf_flt);
2123 cpu_aflt_log(CE_CONT, 2, spf_flt, CPU_ERRID_FIRST,
2126 cpu_aflt_log(CE_CONT, 2, spf_flt, CPU_ERRID_FIRST,
2142 cpu_aflt_log(CE_WARN, 1, spf_flt, WP_LFLAGS, NULL,
2153 spf_flt, BERRTO_LFLAGS, NULL,
2160 spf_flt, BERRTO_LFLAGS, NULL,
2184 cpu_aflt_log(CE_WARN, 1, spf_flt, CP_LFLAGS, NULL,
2190 if (spf_flt->flt_ec_lcnt > 0)
2191 cpu_log_ecmem_info(spf_flt);
2193 cpu_aflt_log(CE_WARN, 2, spf_flt, CPU_ERRID_FIRST,
2204 cpu_aflt_log(CE_WARN, 1, spf_flt, CP_LFLAGS, NULL,
2234 cpu_aflt_log(CE_NOTE, 2, spf_flt,
2237 cpu_log_ecmem_info(spf_flt);
2249 cpu_aflt_log(CE_NOTE, 2, spf_flt, (CP_LFLAGS | CPU_FLTCPU),
2253 if (spf_flt->flt_ec_lcnt > 0)
2254 cpu_log_ecmem_info(spf_flt);
2256 cpu_aflt_log(CE_NOTE, 2, spf_flt,
2263 cpu_aflt_log(CE_WARN, 1, spf_flt, PARERR_LFLAGS, NULL,
2265 cpu_log_ecmem_info(spf_flt);
2269 cpu_aflt_log(CE_WARN, 1, spf_flt, PARERR_LFLAGS, NULL,
2271 cpu_log_ecmem_info(spf_flt);
2275 cpu_aflt_log(CE_WARN, 1, spf_flt, PARERR_LFLAGS, NULL,
2277 cpu_log_ecmem_info(spf_flt);
2281 cpu_aflt_log(CE_WARN, 1, spf_flt, PARERR_LFLAGS, NULL,
2283 cpu_log_ecmem_info(spf_flt);
2288 cpu_aflt_log(CE_WARN, 1, spf_flt, CMN_LFLAGS & ~CPU_SPACE, NULL,
2294 "fault type %x", (void *)spf_flt, spf_flt->flt_type);
2322 cpu_aflt_log(CE_CONT, 3, spf_flt, CPU_ERRID_FIRST,
2327 cpu_aflt_log(CE_CONT, 3, spf_flt, CPU_ERRID_FIRST,
2331 cpu_aflt_log(CE_CONT, 3, spf_flt, CPU_ERRID_FIRST,
2336 cpu_aflt_log(CE_CONT, 3, spf_flt, CPU_ERRID_FIRST, NULL,
2405 spitf_async_flt *spf_flt = (spitf_async_flt *)arg;
2434 spf_flt->flt_sdbh = (ushort_t)(sdbh & 0x3FF);
2435 spf_flt->flt_sdbl = (ushort_t)(sdbl & 0x3FF);
2454 spf_flt->flt_ec_lcnt = 0;
2469 if (valid || spf_flt->flt_ec_lcnt == 0) {
2470 spf_flt->flt_ec_tag = ec_tag;
2471 bcopy(&ec_data, &spf_flt->flt_ec_data,
2473 spf_flt->flt_ec_lcnt = 1;
2707 spitf_async_flt spf_flt; /* for logging */
2709 (struct async_flt *)&spf_flt;
2711 /* Package the info nicely in the spf_flt struct */
2712 bzero(&spf_flt, sizeof (spitf_async_flt));
2715 spf_flt.flt_sdbh = (ushort_t)(udbh & 0x3FF);
2716 spf_flt.flt_sdbl = (ushort_t)(udbl & 0x3FF);
2718 cpu_aflt_log(CE_CONT, 0, &spf_flt, (CPU_AFSR |
2920 clear_errors(spitf_async_flt *spf_flt, uint64_t *acc_afsr)
2922 struct async_flt *aflt = (struct async_flt *)spf_flt;
2931 if (spf_flt != NULL) {
2937 spf_flt->flt_sdbh = (ushort_t)(udbh & 0x3FF);
2938 spf_flt->flt_sdbl = (ushort_t)(udbl & 0x3FF);
3046 cpu_log_ecmem_info(spitf_async_flt *spf_flt)
3048 struct async_flt *aflt = (struct async_flt *)spf_flt;
3049 uint64_t ecache_tag = spf_flt->flt_ec_tag;
3059 if (spf_flt->flt_ec_tag != AFLT_INV_ADDR) {
3077 if (spf_flt->flt_ec_lcnt > 1) {
3079 "Badlines found=%d", spf_flt->flt_ec_lcnt);
3084 cpu_aflt_log(CE_CONT, 2, spf_flt, CPU_ERRID_FIRST, NULL,
3091 cpu_aflt_log(CE_CONT, 2, spf_flt, CPU_ERRID_FIRST, NULL,
3113 ecdptr = &spf_flt->flt_ec_data[i];
3130 cpu_aflt_log(CE_CONT, 2, spf_flt, NO_LFLAGS, NULL,
3136 cpu_aflt_log(CE_CONT, 2, spf_flt, NO_LFLAGS, NULL,
3890 spitf_async_flt spf_flt;
3895 bzero(&spf_flt, sizeof (spitf_async_flt));
3896 aflt = &spf_flt.cmn_asyncflt;
3899 spf_flt.flt_ec_data[i] = ec_data[i];
3902 spf_flt.flt_ec_tag = ec_tag;
3905 spf_flt.flt_type = ec_action[mpb].ec_log_type;
3906 } else spf_flt.flt_type = (ushort_t)mpb;
3927 cpu_errorq_dispatch(class, (void *)&spf_flt, sizeof (spf_flt),
3943 spitf_async_flt spf_flt;
3947 bzero(&spf_flt, sizeof (spitf_async_flt));
3948 aflt = &spf_flt.cmn_asyncflt;
3955 scan_ecache(&aflt->flt_addr, &spf_flt.flt_ec_data[0],
3956 &spf_flt.flt_ec_tag, &spf_flt.flt_ec_lcnt, &oafsr);
3972 spf_flt.flt_type = (ushort_t)type;
3984 if (spf_flt.flt_ec_lcnt > 0) {
3993 (void *)&spf_flt, sizeof (spf_flt), ue_queue, aflt->flt_panic);