From: Brad Smith Subject: myx 64-bit dma To: tech@openbsd.org Date: Thu, 26 Mar 2026 13:46:38 -0400 With myx(4) the BUS_DMA_64BIT flag is missing from bus_dmamem_alloc(). Tested with myx0 at pci19 dev 0 function 0 "Myricom Z8E" rev 0x01: msi, model 10G-PCIE2-8BL2-2S, address 00:60:dd:45:ba:f8 Index: if_myx.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_myx.c,v retrieving revision 1.121 diff -u -p -u -p -U7 -r1.121 if_myx.c --- if_myx.c 3 Jun 2025 00:20:31 -0000 1.121 +++ if_myx.c 25 Feb 2026 22:40:05 -0000 @@ -657,15 +657,15 @@ myx_dmamem_alloc(struct myx_softc *sc, s if (bus_dmamap_create(sc->sc_dmat, mxm->mxm_size, 1, mxm->mxm_size, 0, BUS_DMA_WAITOK | BUS_DMA_ALLOCNOW | BUS_DMA_64BIT, &mxm->mxm_map) != 0) return (1); if (bus_dmamem_alloc(sc->sc_dmat, mxm->mxm_size, align, 0, &mxm->mxm_seg, 1, &mxm->mxm_nsegs, - BUS_DMA_WAITOK | BUS_DMA_ZERO) != 0) + BUS_DMA_WAITOK | BUS_DMA_ZERO | BUS_DMA_64BIT) != 0) goto destroy; if (bus_dmamem_map(sc->sc_dmat, &mxm->mxm_seg, mxm->mxm_nsegs, mxm->mxm_size, &mxm->mxm_kva, BUS_DMA_WAITOK) != 0) goto free; if (bus_dmamap_load(sc->sc_dmat, mxm->mxm_map, mxm->mxm_kva, mxm->mxm_size, NULL, BUS_DMA_WAITOK) != 0) goto unmap;