Apply by doing:
cd /usr/src
patch -p0 < 003_bus_dma.patch
Then build and install a new kernel.
Index: sys/arch/i386/i386/bus_dma.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/bus_dma.c,v
retrieving revision 1.3
diff -u -p sys/arch/i386/i386/bus_dma.c
--- sys/arch/i386/i386/bus_dma.c 5 Feb 2009 01:13:21 -0000 1.3
+++ sys/arch/i386/i386/bus_dma.c 24 Apr 2009 13:54:31 -0000
@@ -370,6 +370,7 @@ _bus_dmamem_map(bus_dma_tag_t t, bus_dma_segment_t *se
bus_addr_t addr;
int curseg, pmapflags;
+ pmapflags = VM_PROT_READ | VM_PROT_WRITE | PMAP_WIRED;
if (flags & BUS_DMA_NOCACHE)
pmapflags |= PMAP_NOCACHE;
@@ -387,9 +388,7 @@ _bus_dmamem_map(bus_dma_tag_t t, bus_dma_segment_t *se
if (size == 0)
panic("_bus_dmamem_map: size botch");
pmap_enter(pmap_kernel(), va, addr,
- VM_PROT_READ | VM_PROT_WRITE,
- VM_PROT_READ | VM_PROT_WRITE | PMAP_WIRED |
- pmapflags);
+ VM_PROT_READ | VM_PROT_WRITE, pmapflags);
}
}
pmap_update(pmap_kernel());