Adding support for WC (write-combining) memory to bus_dma
Robert Watson
rwatson at FreeBSD.org
Thu Jul 12 16:38:00 UTC 2012
On Thu, 12 Jul 2012, Ian Lepore wrote:
> To be clear, I'm not objecting to your proposed changes, I'm more just
> musing that similar problems exist in non-x86 architectures and maybe an MI
> solution is possible (or at least the groundwork could be laid)?
I was likewise going to comment that there are known defficiencies in handling
page table attributes on non-x86 -- for example, they are ignored on MIPS. I
encountered this when trying to add memory mapping support for a device driver
and discovered that all entries were being installed cached instead of the
requested uncached. I have local patches that propagate the same non-solution
used by FreeBSD/MIPS within the kernel to the d_mmap interface -- namely, if
you try to export something that isn't memory, then it knows it has to be
uncached. I plan to commit these fixes to the MIPS TLB code pretty soon, but
have been preoccupied with other things for the last few months. However,
some heavier lifting is required to add attribute support, and it's quite
desirable to do so.
Robert
More information about the freebsd-current
mailing list