The Apple DART has a nifty feature that allows us protection of subranges
authorkettenis <kettenis@openbsd.org>
Thu, 11 Nov 2021 18:43:05 +0000 (18:43 +0000)
committerkettenis <kettenis@openbsd.org>
Thu, 11 Nov 2021 18:43:05 +0000 (18:43 +0000)
commit2c847e449f3f6837e1710bc93c7a053a7e76aa50
tree6322945acce40377f3450871386869e804e3f532
parenta29e5654ca7e80956bba2ba09dbe2f1f7c42d671
The Apple DART has a nifty feature that allows us protection of subranges
of a page with a granularity of 32-bit words.  Use this to expose just
those parts of memory to devices that we want the device to see.  This
means that handing down a small mbuf to a network card driver no longer
gives the hardware access to other mbufs in the same page.

It turns out that bge(4) always does aligned 64-bit access to memory though.
So round up/down to the nearest 64-bit boundary to prevent triggering an
IOMMU fault.

ok patrick@
sys/arch/arm64/dev/apldart.c