diff options
author | cth <none@none> | 2006-01-11 17:29:43 -0800 |
---|---|---|
committer | cth <none@none> | 2006-01-11 17:29:43 -0800 |
commit | 8a552b2db9c23aa11e42a38ff4a3a9558e186b8d (patch) | |
tree | 8e8fbe9302af8537fd0cac83c4b375b775336b94 /usr/src | |
parent | 9e344089c4979cd9fc4cf425a1d2b726285aa814 (diff) | |
download | illumos-joyent-8a552b2db9c23aa11e42a38ff4a3a9558e186b8d.tar.gz |
6370694 ddivs dmae tests cause ASSERT panics on x86.
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/i86pc/io/rootnex.c | 4 | ||||
-rw-r--r-- | usr/src/uts/i86pc/os/ddi_impl.c | 7 |
2 files changed, 5 insertions, 6 deletions
diff --git a/usr/src/uts/i86pc/io/rootnex.c b/usr/src/uts/i86pc/io/rootnex.c index 5cc8ae41c5..69789f49a7 100644 --- a/usr/src/uts/i86pc/io/rootnex.c +++ b/usr/src/uts/i86pc/io/rootnex.c @@ -20,7 +20,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -4149,7 +4149,6 @@ rootnex_dma_map(dev_info_t *dip, dev_info_t *rdip, struct ddi_dma_req *dmareq, * this interface is not supported in 64-bit x86 kernel. See comment in * rootnex_dma_mctl() */ - ASSERT(0); return (DDI_DMA_NORESOURCES); #else /* 32-bit x86 kernel */ @@ -4248,7 +4247,6 @@ rootnex_dma_mctl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, * It wasn't ported to the 64-bit kernel for s10, no reason to change * that in a future release. */ - ASSERT(0); return (DDI_FAILURE); #else /* 32-bit x86 kernel */ diff --git a/usr/src/uts/i86pc/os/ddi_impl.c b/usr/src/uts/i86pc/os/ddi_impl.c index c60ae037e8..ffbfe43ca2 100644 --- a/usr/src/uts/i86pc/os/ddi_impl.c +++ b/usr/src/uts/i86pc/os/ddi_impl.c @@ -20,7 +20,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -1313,6 +1313,9 @@ kalloca(size_t size, size_t align, int cansleep, int physcontig, vmem_t *vmp; kmem_cache_t *cp = NULL; + if (attr->dma_attr_addr_lo > mmu_ptob((uint64_t)ddiphysmin)) + return (NULL); + align = MAX(align, hdrsize); ASSERT((align & (align - 1)) == 0); @@ -1334,8 +1337,6 @@ kalloca(size_t size, size_t align, int cansleep, int physcontig, return (NULL); } - ASSERT(attr->dma_attr_addr_lo <= mmu_ptob((uint64_t)ddiphysmin)); - a = kmem_io_index(attr->dma_attr_addr_hi); if (rsize > PAGESIZE) { |