BUS-DMA alignment check - false positives
- From: Hans Petter Selasky <hselasky@xxxxxxx>
- Date: Sun, 27 Jan 2008 18:02:13 +0100
Hi,
When allocating DMA'able memory sometimes the virtual address can end up
non-aligned, while the physical address is correctly aligned. The question is
whether it is correct to mask the virtual address and not the physical
address:
i386/i386/busdma_machdep.c
} else if ((uintptr_t)*vaddr & (dmat->alignment - 1)) {
printf("bus_dmamem_alloc failed to align memory properly.\n");
}
When allocating 1<<15 bytes aligned at 1<<15 bytes.
bus_dmamem_alloc failed to align memory properly.
Physaddr=0x3e030000 rem=0x00000000
--HPS
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"
- Prev by Date: Re: resolver change?
- Next by Date: Re: resolver change?
- Previous by thread: Typo in /usr/src/sys/cam/cam_xpt.c
- Next by thread: weird netstat -i IF output in bridge configuration.
- Index(es):