Pcisch-1 fatal pci bus error

pcisch-1 fatal pci bus error

12K/15K/E20K/E25K: domain panic, "pcisch-XX: Fatal PCI bus error(s)", 2017-11-08 1010705.1, Sun Fire[TM] 12K/15K/E20K/E25K: Reboot of one domain. {1} ok boot net - install -vBoot device: /[email protected],700000/netwo. Fatal Error Reset ;CPU 0000.0000.0000.0001 AFSR Probing I/O buses. 4320297 Fast Data Access MMU Miss error on boot 4339354 Skip problems 4342756 PCI: performance degradation 4320047 FATAL RESET seen with.

youtube video

Fix PCIe bus error when install Ubuntu on Asus

Pcisch-1 fatal pci bus error - opinion you

PCI_STAT_PERROR)) = mask; if (pbm_has_pass_1_cheerio(pci_p)) pci_bus_parking_enable &= ~mask; } break; default: if (!pci_disable_default_workarounds) { pci_dwsync_disable PSYCHO_PCI_CTRL_SBH_INT_EN); /* * Disable error interrupts via the interrupt mapping register. cfgpa) goto reprog; /* disable PBM arbiters - turn off bits 0-7 */ *pbm_csr_p = (pbm_ctl >> 8) << 8; /* make sure we own the bus by reading any child device config space */ (void) ldphysio(cfgpa); /* also flushes the prev write */ reprog: *tsb_bar_p = tsb_bar_val; *iommu_ctl_p = iommu_ctl; *pbm_csr_p = pbm_ctl; /* re-enable bus arbitration */ pbm_ctl = *pbm_csr_p; /* flush all prev writes */ } int pci_sc_ctx_inv(dev_info_t *dip, sc_t *sc_p, ddi_dma_impl_t *mp) { ASSERT(0); return (DDI_FAILURE); } void pci_cb_setup(pci_t *pci_p) { uint64_t csr, csr_pa, pa; cb_t *cb_p = pci_p->pci_cb_p; /* cb_p->cb_node_id = 0; */ cb_p->cb_ign = PCI_ID_TO_IGN(pci_p->pci_id); pa = (uint64_t)hat_getpfnum(kas.a_hat, pci_p->pci_address[0]); cb_p->cb_base_pa = pa = pa >> (32 - MMU_PAGESHIFT) << 32; cb_p->cb_map_pa = pa + PSYCHO_IB_OBIO_INTR_MAP_REG_OFFSET; cb_p->cb_clr_pa = pa + PSYCHO_IB_OBIO_CLEAR_INTR_REG_OFFSET; cb_p->cb_obsta_pa = pa + COMMON_IB_OBIO_INTR_STATE_DIAG_REG; csr_pa = pa + PSYCHO_CB_CONTROL_STATUS_REG_OFFSET; csr = lddphysio(csr_pa); /* * Clear any pending address parity errors. */ if (csr & COMMON_CB_CONTROL_STATUS_APERR) { csr (pbm_ctl_stat & COMMON_PCI_CTRL_SERR)) { pbm_ctl_stat = *pbm_p->pbm_ctrl_reg; pbm_afsr = *pbm_p->pbm_async_flt_status_reg; } } /*ARGSUSED*/ void pci_format_addr(dev_info_t *dip, uint64_t *afar, uint64_t afsr) { /* * For Psycho the full address is stored in hardware. So * there is no need to format it. */ } /*ARGSUSED*/ int pci_bus_quiesce(pci_t *pci_p, dev_info_t *dip, void *result) { return (DDI_FAILURE); } /*ARGSUSED*/ int pci_bus_unquiesce(pci_t *pci_p, dev_info_t *dip, void *result) { return (DDI_FAILURE); } int pci_reloc_getkey(void) { return (0x100); } void pci_vmem_free(iommu_t *iommu_p, ddi_dma_impl_t *mp, void *dvma_addr, size_t npages) { pci_vmem_do_free(iommu_p, dvma_addr, npages, (mp->dmai_flags & DMAI_FLAGS_VMEMCACHE)); } /* * NOTE: This call is only used by legacy systems (eg. E250 and E450) that * require unregistering the pci driver's thermal intrerrupt handler before * they can register their own. */ void pci_thermal_rem_intr(dev_info_t *rdip, uint_t inum) { pci_t *pci_p; dev_info_t *pdip; uint32_t dev_mondo, pci_mondo; int instance; for (pdip = ddi_get_parent(rdip); pdip; pdip = ddi_get_parent(pdip)) { if (strcmp(ddi_driver_name(pdip), "pcipsy") == 0) break; } if (!