/illumos-gate/usr/src/uts/sun4v/os/ |
H A D | error.c | 114 struct async_flt *aflt; in process_resumable_error() local 175 aflt = (struct async_flt *)&(errh_flt.cmn_asyncflt); in process_resumable_error() 176 aflt->flt_id = gethrtime(); in process_resumable_error() 177 aflt->flt_bus_id = getprocessorid(); in process_resumable_error() 178 aflt->flt_class = CPU_FAULT; in process_resumable_error() 179 aflt->flt_prot = AFLT_PROT_NONE; in process_resumable_error() 180 aflt->flt_priv = (((errh_flt.errh_er.attr & ERRH_MODE_MASK) in process_resumable_error() 185 aflt->flt_panic = 1; in process_resumable_error() 187 aflt->flt_panic = 0; in process_resumable_error() 193 (void) errh_rq_full(aflt); in process_resumable_error() [all …]
|
/illumos-gate/usr/src/uts/sun4u/cpu/ |
H A D | us3_common.c | 141 static void cpu_scrubphys(struct async_flt *aflt); 145 static void cpu_ereport_init(struct async_flt *aflt); 147 static uint8_t cpu_flt_bit_to_plat_error(struct async_flt *aflt); 154 static int cpu_error_to_resource_type(struct async_flt *aflt); 1188 struct async_flt *aflt; in cpu_check_cpu_logout() local 1214 aflt = (struct async_flt *)&ch_flt; in cpu_check_cpu_logout() 1215 aflt->flt_id = gethrtime_waitfree(); in cpu_check_cpu_logout() 1218 aflt->flt_stat = t_afsr; in cpu_check_cpu_logout() 1219 aflt->flt_addr = t_afar; in cpu_check_cpu_logout() 1220 aflt->flt_bus_id = cpuid; in cpu_check_cpu_logout() [all …]
|
H A D | opl_olympus.c | 1035 struct async_flt *aflt = (struct async_flt *)flt; local 1041 if (aflt->flt_status == OPL_ECC_URGENT_TRAP) 1062 ASSERT(aflt->flt_in_memory); 1074 if (!panicstr && aflt->flt_prot == AFLT_PROT_EC && 1075 page_retire_check(aflt->flt_addr, NULL) == 0) { 1080 softcall(ecc_page_zero, (void *)aflt->flt_addr); 1110 opl_flt->flt_eid_sid = aflt->flt_inst; 1118 opl_flt->flt_eid_sid = aflt->flt_inst; 1134 struct async_flt *aflt = (struct async_flt *)opl_flt; local 1135 (void) page_retire(aflt->flt_addr, PR_UE); [all …]
|
H A D | spitfire.c | 112 static void cpu_read_paddr(struct async_flt *aflt, short verbose, short ce_err); 116 static void log_ce_err(struct async_flt *aflt, char *unum); 117 static void log_ue_err(struct async_flt *aflt, char *unum); 120 static int check_ecc(struct async_flt *aflt); 926 log_ce_err(struct async_flt *aflt, char *unum) in log_ce_err() argument 930 if ((aflt->flt_stat & P_AFSR_CE) && (ce_verbose_memory == 0)) { in log_ce_err() 934 spf_flt.cmn_asyncflt = *aflt; in log_ce_err() 951 flt_to_error_type(struct async_flt *aflt) in flt_to_error_type() argument 953 if (aflt->flt_status & ECC_INTERMITTENT) in flt_to_error_type() 955 if (aflt->flt_status & ECC_PERSISTENT) in flt_to_error_type() [all …]
|
H A D | us3_cheetahplus.c | 378 struct async_flt *aflt = (struct async_flt *)flt; in cpu_impl_async_log_err() local 391 cpu_log_err(aflt); in cpu_impl_async_log_err() 402 cpu_log_err(aflt); in cpu_impl_async_log_err() 893 struct async_flt *aflt = (struct async_flt *)ch_flt; in pn_cpu_log_diag_l2_info() local 895 uint64_t faddr = aflt->flt_addr; in pn_cpu_log_diag_l2_info() 903 if (!IS_PANTHER(cpunodes[aflt->flt_inst].implementation)) in pn_cpu_log_diag_l2_info() 976 struct async_flt *aflt; in cpu_tlb_parity_error() local 1016 aflt = (struct async_flt *)&ch_flt; in cpu_tlb_parity_error() 1017 aflt->flt_id = gethrtime_waitfree(); in cpu_tlb_parity_error() 1018 aflt->flt_bus_id = getprocessorid(); in cpu_tlb_parity_error() [all …]
|
H A D | mach_cpu_module.c | 94 ce_scrub_xdiag_recirc(struct async_flt *aflt, errorq_t *eqp, in ce_scrub_xdiag_recirc() argument 100 flt_to_error_type(struct async_flt *aflt) in flt_to_error_type() argument 113 cpu_check_allcpus(struct async_flt *aflt) in cpu_check_allcpus() argument 141 cpu_get_mem_unum_aflt(int synd_stat, struct async_flt *aflt, in cpu_get_mem_unum_aflt() argument 170 cpu_ereport_post(struct async_flt *aflt) in cpu_ereport_post() argument 175 cpu_run_bus_error_handlers(struct async_flt *aflt, int expected) in cpu_run_bus_error_handlers() argument
|
H A D | us3_jalapeno.c | 315 struct async_flt *aflt = (struct async_flt *)flt; in cpu_impl_async_log_err() local 329 if (page_retire_check(aflt->flt_addr, &errors) == EINVAL) { in cpu_impl_async_log_err() 330 CE_XDIAG_SETSKIPCODE(aflt->flt_disp, in cpu_impl_async_log_err() 333 CE_XDIAG_SETSKIPCODE(aflt->flt_disp, in cpu_impl_async_log_err() 335 } else if (ce_scrub_xdiag_recirc(aflt, ce_queue, eqep, in cpu_impl_async_log_err() 347 cpu_log_err(aflt); in cpu_impl_async_log_err() 354 cpu_log_err(aflt); in cpu_impl_async_log_err()
|
/illumos-gate/usr/src/uts/sun4u/os/ |
H A D | ecc.c | 115 bus_async_log_err(struct async_flt *aflt) in bus_async_log_err() argument 125 if (aflt->flt_in_memory) in bus_async_log_err() 126 cpu_check_allcpus(aflt); in bus_async_log_err() 131 (void) cpu_get_mem_unum_aflt(AFLT_STAT_INVALID, aflt, in bus_async_log_err() 133 aflt->flt_func(aflt, unum); in bus_async_log_err() 170 ue_drain(void *ignored, struct async_flt *aflt, errorq_elem_t *eqep) in ue_drain() argument 172 cpu_ue_log_err(aflt); in ue_drain() 181 ce_drain(void *ignored, struct async_flt *aflt, errorq_elem_t *eqep) in ce_drain() argument 183 cpu_ce_log_err(aflt, eqep); in ce_drain() 190 ce_scrub(struct async_flt *aflt) in ce_scrub() argument [all …]
|
H A D | plat_ecc_unum.c | 509 plat_log_fruid_error2(int msg_type, char *unum, struct async_flt *aflt, in plat_log_fruid_error2() argument 529 if (aflt->flt_in_memory) { in plat_log_fruid_error2() 540 } else if (aflt->flt_status & ECC_ECACHE) { in plat_log_fruid_error2() 554 e2d.ee2d_owning_proc = aflt->flt_bus_id; in plat_log_fruid_error2() 562 e2d.ee2d_detecting_proc = aflt->flt_bus_id; in plat_log_fruid_error2() 564 e2d.ee2d_timestamp = aflt->flt_id; in plat_log_fruid_error2() 565 e2d.ee2d_afsr = aflt->flt_stat; in plat_log_fruid_error2() 566 e2d.ee2d_afar = aflt->flt_addr; in plat_log_fruid_error2() 589 plat_log_fruid_indictment(int msg_type, struct async_flt *aflt, char *unum) in plat_log_fruid_indictment() argument 684 contentsp->syndrome = aflt->flt_synd; in plat_log_fruid_indictment() [all …]
|
/illumos-gate/usr/src/uts/sun4u/io/ |
H A D | sysioerr.c | 100 sbus_log_csr_error(struct async_flt *aflt, char *unum); 770 struct async_flt aflt; in sbus_ctrl_ecc_err() local 774 bzero(&aflt, sizeof (aflt)); in sbus_ctrl_ecc_err() 775 aflt.flt_id = gethrtime(); in sbus_ctrl_ecc_err() 776 aflt.flt_stat = t_sb_csr; in sbus_ctrl_ecc_err() 777 aflt.flt_func = sbus_log_csr_error; in sbus_ctrl_ecc_err() 778 aflt.flt_bus_id = id; in sbus_ctrl_ecc_err() 779 aflt.flt_inst = inst; in sbus_ctrl_ecc_err() 780 aflt.flt_status = ECC_IOBUS; in sbus_ctrl_ecc_err() 781 aflt.flt_class = BUS_FAULT; in sbus_ctrl_ecc_err() [all …]
|
/illumos-gate/usr/src/uts/sun4u/sys/ |
H A D | us3_module.h | 494 extern void cpu_aflt_log(int ce_code, int tagnum, ch_async_flt_t *aflt, 496 extern uint8_t flt_to_trap_type(struct async_flt *aflt); 497 extern void cpu_log_err(struct async_flt *aflt); 507 extern void cpu_clearphys(struct async_flt *aflt); 587 extern void log_flt_func(struct async_flt *aflt, char *unum);
|
H A D | cpu_module.h | 142 void cpu_check_allcpus(struct async_flt *aflt); 167 int cpu_get_mem_unum_aflt(int synd_status, struct async_flt *aflt,
|
/illumos-gate/usr/src/uts/sun4/sys/ |
H A D | platform_module.h | 102 struct async_flt *aflt, struct plat_ecc_ch_async_flt *plat_ecc_ch_flt);
|