From a63ab9a742d487da4bc921fb14c7417ae4bb53c5 Mon Sep 17 00:00:00 2001 From: Thomas Nikolajsen Date: Wed, 11 Nov 2009 20:50:36 +0100 Subject: [PATCH] busdma: Put alignment/boundary check failure under bootverbose Handle pc64 and vkernel platforms like pc32 was done in e94a9b8c37942b871eb5b23f0643bce535926862 --- sys/platform/pc64/x86_64/busdma_machdep.c | 6 ++++-- sys/platform/vkernel/platform/busdma_machdep.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/platform/pc64/x86_64/busdma_machdep.c b/sys/platform/pc64/x86_64/busdma_machdep.c index 47292afb2f..0ee2246334 100644 --- a/sys/platform/pc64/x86_64/busdma_machdep.c +++ b/sys/platform/pc64/x86_64/busdma_machdep.c @@ -488,13 +488,15 @@ check_kmalloc(bus_dma_tag_t dmat, const void *vaddr0, int verify) uintptr_t vaddr = (uintptr_t)vaddr0; if ((vaddr ^ (vaddr + dmat->maxsize - 1)) & ~PAGE_MASK) { - kprintf("boundary check failed\n"); + if (verify || bootverbose) + kprintf("boundary check failed\n"); if (verify) print_backtrace(); /* XXX panic */ maxsize = dmat->maxsize; } if (vaddr & (dmat->alignment - 1)) { - kprintf("alignment check failed\n"); + if (verify || bootverbose) + kprintf("alignment check failed\n"); if (verify) print_backtrace(); /* XXX panic */ if (dmat->maxsize < dmat->alignment) diff --git a/sys/platform/vkernel/platform/busdma_machdep.c b/sys/platform/vkernel/platform/busdma_machdep.c index eebd17ad98..92f6797a0d 100644 --- a/sys/platform/vkernel/platform/busdma_machdep.c +++ b/sys/platform/vkernel/platform/busdma_machdep.c @@ -447,13 +447,15 @@ check_kmalloc(bus_dma_tag_t dmat, const void *vaddr0, int verify) uintptr_t vaddr = (uintptr_t)vaddr0; if ((vaddr ^ (vaddr + dmat->maxsize - 1)) & ~PAGE_MASK) { - kprintf("boundary check failed\n"); + if (verify || bootverbose) + kprintf("boundary check failed\n"); if (verify) print_backtrace(); /* XXX panic */ maxsize = dmat->maxsize; } if (vaddr & (dmat->alignment - 1)) { - kprintf("alignment check failed\n"); + if (verify || bootverbose) + kprintf("alignment check failed\n"); if (verify) print_backtrace(); /* XXX panic */ if (dmat->maxsize < dmat->alignment) -- 2.41.0