Mercurial > illumos > illumos-gate
changeset 13216:8bfa85c99f86
185 PV boot panics due to unresolved iommulib symbol
Reviewed by: garrett@nexenta.com
Approved by: garrett@nexenta.com
author | Albert Lee <trisk@opensolaris.org> |
---|---|
date | Fri, 15 Oct 2010 02:44:16 +0100 |
parents | 25c1876a8d9c |
children | f6152e8361fb |
files | usr/src/uts/i86pc/io/rootnex.c |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/i86pc/io/rootnex.c Thu Oct 14 23:15:08 2010 +0100 +++ b/usr/src/uts/i86pc/io/rootnex.c Fri Oct 15 02:44:16 2010 +0100 @@ -2208,14 +2208,19 @@ * Clean up and return an error. */ +#if defined(__amd64) && !defined(__xpv) + if (dma->dp_dvma_used) { (void) iommulib_nexdma_unmapobject(dip, rdip, handle, &dma->dp_dvma); e = DDI_DMA_NOMAPPING; } else { +#endif e = rootnex_bind_slowpath(hp, dmareq, dma, attr, &dma->dp_dma, kmflag); +#if defined(__amd64) && !defined(__xpv) } +#endif if ((e != DDI_DMA_MAPPED) && (e != DDI_DMA_PARTIAL_MAP)) { if (dma->dp_need_to_free_cookie) { kmem_free(dma->dp_cookies, dma->dp_cookie_size); @@ -2328,9 +2333,11 @@ rootnex_teardown_copybuf(dma); rootnex_teardown_windows(dma); +#if defined(__amd64) && !defined(__xpv) if (IOMMU_USED(rdip)) (void) iommulib_nexdma_unmapobject(dip, rdip, handle, &dma->dp_dvma); +#endif /* * If we had to allocate space to for the worse case sgl (it didn't