arm64: Teach bus_dma on arm64 about NUMA
When allocating memory we should try to allocate from the NUMA node
closest to the device to reduce cross domain memory traffic. Teach the
arm64 bus_dma code to do this.
While here use mallocarray to guard against an unlikely integer
overflow.
Reviewed by: markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D42187
(cherry picked from commit 271e669ed5e55c95075b0dafaa58fded5b7556d0)