> Openbsd on amd64 assumes that DMA is only possible to the lower 4GB. Not exactly. On an architecture-by-architecture basis, OpenBSD is capable of insisting DMA reachable memory only lands in a smaller zone of memory -- because it makes the other layers of code easier.
> More interesting would be bufs and mbufs. Why is it interesting for mbufs? Please describe the environment where anywhere near that many mbufs make sense. And bufs don't need it either. Have you actually cranked your buffer cache that high? I have test this, on sparc64 which has unlimited DMA reach due to the iommu. The system comes to a crawl when there are too many mbufs or bufs, probably due to management structures unable to handle the pressure. What is the usage case for this diff, if it cannot be enabled?