Index: src/distrib/sets/lists/xserver/md.i386 =================================================================== RCS file: /cvsroot/src/distrib/sets/lists/xserver/md.i386,v retrieving revision 1.25 diff -u -r1.25 md.i386 --- src/distrib/sets/lists/xserver/md.i386 7 Oct 2004 13:50:18 -0000 1.25 +++ src/distrib/sets/lists/xserver/md.i386 4 Nov 2004 13:50:18 -0000 @@ -145,6 +145,8 @@ ./usr/X11R6/lib/modules/drivers/vmware_drv.o ./usr/X11R6/lib/modules/extensions/libGLcore.a ./usr/X11R6/lib/modules/extensions/libdbe.a +./usr/X11R6/lib/modules/extensions/libdri.a +./usr/X11R6/lib/modules/extensions/libdrm.a ./usr/X11R6/lib/modules/extensions/libextmod.a ./usr/X11R6/lib/modules/extensions/libglx.a ./usr/X11R6/lib/modules/extensions/librecord.a @@ -185,8 +187,26 @@ ./usr/X11R6/lib/modules/libint10.a ./usr/X11R6/lib/modules/liblayer.a ./usr/X11R6/lib/modules/libmfb.a +./usr/X11R6/lib/modules/libmga_dri.a +./usr/X11R6/lib/modules/libmga_dri.so +./usr/X11R6/lib/modules/libmga_dri.so.1 +./usr/X11R6/lib/modules/libmga_dri.so.1.0 +./usr/X11R6/lib/modules/libmga_dri_p.a +./usr/X11R6/lib/modules/libmga_dri_pic.a ./usr/X11R6/lib/modules/libpcidata.a +./usr/X11R6/lib/modules/libr200_dri.a +./usr/X11R6/lib/modules/libr200_dri.so +./usr/X11R6/lib/modules/libr200_dri.so.1 +./usr/X11R6/lib/modules/libr200_dri.so.1.0 +./usr/X11R6/lib/modules/libr200_dri_p.a +./usr/X11R6/lib/modules/libr200_dri_pic.a ./usr/X11R6/lib/modules/librac.a +./usr/X11R6/lib/modules/libradeon_dri.a +./usr/X11R6/lib/modules/libradeon_dri.so +./usr/X11R6/lib/modules/libradeon_dri.so.1 +./usr/X11R6/lib/modules/libradeon_dri.so.1.0 +./usr/X11R6/lib/modules/libradeon_dri_p.a +./usr/X11R6/lib/modules/libradeon_dri_pic.a ./usr/X11R6/lib/modules/libramdac.a ./usr/X11R6/lib/modules/libscanpci.a ./usr/X11R6/lib/modules/libshadow.a @@ -309,3 +329,5 @@ ./usr/X11R6/man/man4/void.4 -unknown- .man ./usr/X11R6/man/man4/wacom.4 -unknown- .man ./usr/X11R6/man/man5/XF86Config.5 -unknown- .man +./usr/lkm/mga.o +./usr/lkm/radeon.o Index: src/distrib/sets/lists/xserver4/md.i386 =================================================================== RCS file: /cvsroot/src/distrib/sets/lists/xserver4/md.i386,v retrieving revision 1.6 diff -u -r1.6 md.i386 --- src/distrib/sets/lists/xserver4/md.i386 6 Mar 2004 20:49:05 -0000 1.6 +++ src/distrib/sets/lists/xserver4/md.i386 4 Nov 2004 13:50:18 -0000 @@ -125,6 +125,8 @@ ./usr/X11R6/lib/modules/extensions ./usr/X11R6/lib/modules/extensions/libGLcore.a ./usr/X11R6/lib/modules/extensions/libdbe.a +./usr/X11R6/lib/modules/extensions/libdri.a +./usr/X11R6/lib/modules/extensions/libdrm.a ./usr/X11R6/lib/modules/extensions/libextmod.a ./usr/X11R6/lib/modules/extensions/libglx.a ./usr/X11R6/lib/modules/extensions/librecord.a @@ -169,9 +171,27 @@ ./usr/X11R6/lib/modules/libint10.a ./usr/X11R6/lib/modules/liblayer.a ./usr/X11R6/lib/modules/libmfb.a +./usr/X11R6/lib/modules/libmga_dri.a +./usr/X11R6/lib/modules/libmga_dri.so +./usr/X11R6/lib/modules/libmga_dri.so.1 +./usr/X11R6/lib/modules/libmga_dri.so.1.0 +./usr/X11R6/lib/modules/libmga_dri_p.a +./usr/X11R6/lib/modules/libmga_dri_pic.a ./usr/X11R6/lib/modules/libpcidata.a ./usr/X11R6/lib/modules/librac.a ./usr/X11R6/lib/modules/libramdac.a +./usr/X11R6/lib/modules/libr200_dri.a +./usr/X11R6/lib/modules/libr200_dri.so +./usr/X11R6/lib/modules/libr200_dri.so.1 +./usr/X11R6/lib/modules/libr200_dri.so.1.0 +./usr/X11R6/lib/modules/libr200_dri_p.a +./usr/X11R6/lib/modules/libr200_dri_pic.a +./usr/X11R6/lib/modules/libradeon_dri.a +./usr/X11R6/lib/modules/libradeon_dri.so +./usr/X11R6/lib/modules/libradeon_dri.so.1 +./usr/X11R6/lib/modules/libradeon_dri.so.1.0 +./usr/X11R6/lib/modules/libradeon_dri_p.a +./usr/X11R6/lib/modules/libradeon_dri_pic.a ./usr/X11R6/lib/modules/libscanpci.a ./usr/X11R6/lib/modules/libshadow.a ./usr/X11R6/lib/modules/libshadowfb.a @@ -237,3 +257,5 @@ ./usr/X11R6/man/cat4/wacom.0 ./usr/X11R6/man/cat5/XF86Config.0 ./usr/X11R6/man/cat5/getconfig.0 +./usr/lkm/mga.o +./usr/lkm/radeon.o Index: src/x11/Xserver/GL/dri/Makefile =================================================================== RCS file: /cvsroot/src/x11/Xserver/GL/dri/Makefile,v retrieving revision 1.1 diff -u -r1.1 Makefile --- src/x11/Xserver/GL/dri/Makefile 6 Mar 2004 10:30:26 -0000 1.1 +++ src/x11/Xserver/GL/dri/Makefile 4 Nov 2004 13:51:04 -0000 @@ -32,6 +32,6 @@ # subdirs install libxxx_dri.so.n.n however the final file installed # needs to be xxx_dri.so, since our .mk magic can't do this I've been # doing it by hand until I get enthusiastic about fixing it. -SUBDIR= mga_dri radeon_dri +SUBDIR= mga_dri radeon_dri r200_dri .include --- /dev/null 2004-11-05 12:07:59.000000000 +0000 +++ src/x11/Xserver/GL/dri/r200_dri/Makefile 2004-10-14 17:37:39.000000000 +0100 @@ -0,0 +1,133 @@ +# $NetBSD$ + +XMODULEDIR= ${X11USRLIBDIR}/modules + +NOLINT= 1 + +.include + +LIB= r200_dri + +# dri +.PATH: ${X11SRCDIR.xc}/lib/GL/dri +SRCS.dri= dri_util.c +CPPFLAGS.dri_util.c= -I${DESTDIR}${X11INCDIR}/X11 \ + -I${DESTDIR}${X11INCDIR}/X11/extensions \ + -I${X11SRCDIR.xc}/include/GL \ + -I${X11SRCDIR.xc}/programs/Xserver/include \ + -I${X11SRCDIR.xc}/programs/Xserver/GL/dri \ + -I${X11SRCDIR.xc}/lib/GL/include \ + -I${X11SRCDIR.xc}/extras/Mesa/include \ + -I${X11SRCDIR.xc}/extras/Mesa/src \ + -I${X11SRCDIR.xc}/lib/GL/glx \ + -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/os-support +CPPFLAGS.dri_util.c+= -DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules\" + + +# drm +.PATH: ${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/os-support/linux/drm +SRCS.drm= xf86drm.c xf86drmHash.c xf86drmRandom.c xf86drmSL.c +.for fn in ${SRCS.drm} +CPPFLAGS.${fn}= -I${DESTDIR}${X11INCDIR}/X11 \ + -I${DESTDIR}${X11INCDIR}/X11/extensions \ + -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/os-support \ + -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel +# -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/os-support/bsd/drm +.endfor + + +# mesa +.PATH: ${X11SRCDIR.xc}/extras/Mesa/src +SRCS.mesa= accum.c api_arrayelt.c api_eval.c api_loopback.c \ + api_noop.c api_validate.c attrib.c blend.c buffers.c \ + clip.c colortab.c context.c convolve.c debug.c depth.c \ + dispatch.c dlist.c drawpix.c enable.c enums.c \ + eval.c extensions.c feedback.c fog.c get.c \ + glthread.c hash.c hint.c histogram.c image.c \ + imports.c light.c lines.c matrix.c mmath.c pixel.c \ + points.c polygon.c rastpos.c state.c stencil.c \ + texcompress.c texformat.c teximage.c texobj.c texstate.c \ + texstore.c texutil.c varray.c vtxfmt.c vpexec.c \ + vpparse.c vpstate.c +.for fn in ${SRCS.mesa} +CPPFLAGS.${fn}= -I${X11SRCDIR.xc}/extras/Mesa/src/array_cache \ + -I${X11SRCDIR.xc}/extras/Mesa/src/math \ + -I${X11SRCDIR.xc}/extras/Mesa/src/swrast \ + -I${X11SRCDIR.xc}/extras/Mesa/src/swrast_setup \ + -I${X11SRCDIR.xc}/extras/Mesa/src/tnl \ + -I${X11SRCDIR.xc}/extras/Mesa/src/tnl_dd \ + -I${X11SRCDIR.xc}/lib/GL/include \ + -I${X11SRCDIR.xc}/extras/Mesa/src \ + -I${X11SRCDIR.xc}/include +.endfor + +# XXX MESA_ASM_OBJS + +.include + +.if ${TARGET_ENDIANNESS} == "1234" +X_BYTE_ORDER=X_LITTLE_ENDIAN +.elif ${TARGET_ENDIANNESS} == "4321" +X_BYTE_ORDER=X_BIG_ENDIAN +.else +X_BYTE_ORDER=0 +.endif + +# common +.PATH: ${X11SRCDIR.xc}/lib/GL/mesa/src/drv/common +SRCS.common= hwlog.c mm.c utils.c vblank.c texmem.c +.for fn in ${SRCS.common} +CPPFLAGS.${fn}= -I${X11SRCDIR.xc}/lib/GL/dri \ + -I${X11SRCDIR.xc}/lib/GL/glx \ + -I${X11SRCDIR.xc}/include/GL \ + -I${X11SRCDIR.xc}/include \ + -I${X11SRCDIR.xc}/programs/Xserver/GL/dri \ + -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/os-support \ + -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/common \ + -I${X11SRCDIR.xc}/lib/GL/dri/drm \ + -I${X11SRCDIR.xc}/lib/GL/include \ + -I${X11SRCDIR.xc}/extras/Mesa/src +CPPFLAGS.${fn}+=-DX_BYTE_ORDER=${X_BYTE_ORDER} +.endfor + +# XXX currently i386 specific +# r200 +.PATH: ${X11SRCDIR.xc}/lib/GL/mesa/src/drv/r200 +SRCS.r200= r200_cmdbuf.c r200_context.c r200_ioctl.c r200_lock.c \ + r200_maos.c \ + r200_pixel.c r200_sanity.c r200_screen.c r200_span.c \ + r200_state.c r200_state_init.c r200_swtcl.c r200_tcl.c \ + r200_tex.c r200_texmem.c r200_texstate.c r200_vtxfmt.c \ + r200_vtxfmt_c.c r200_vtxfmt_sse.c r200_vtxfmt_x86.c + +.for fn in ${SRCS.r200} +CPPFLAGS.${fn}= -I${DESTDIR}${X11INCDIR}/X11 \ + -I${X11SRCDIR.xc}/include/extensions +CPPFLAGS.${fn}+=-I${X11SRCDIR.xc}/extras/Mesa/src \ + -I${X11SRCDIR.xc}/lib/GL/mesa/src/drv/common \ + -I${X11SRCDIR.xc}/lib/GL/mesa/src/drv/r200 \ + -I${X11SRCDIR.xc}/lib/GL/dri \ + -I${X11SRCDIR.xc}/lib/GL/glx \ + -I${X11SRCDIR.xc}/include \ + -I${X11SRCDIR.xc}/include/GL \ + -I${X11SRCDIR.xc}/programs/Xserver/GL/dri \ + -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/os-support \ + -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/drivers/ati \ + -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/common \ + -I${X11SRCDIR.xc}/lib/GL/dri/drm \ + -I${X11SRCDIR.xc}/lib/GL/include \ + -I${X11SRCDIR.xc} +CPPFLAGS.${fn}+=-DX_BYTE_ORDER=${X_BYTE_ORDER} +.endfor + + +SRCS= ${SRCS.dri} ${SRCS.drm} ${SRCS.mesa} ${SRCS.common} ${SRCS.r200} + +CPPFLAGS+= ${X11FLAGS.DRI} ${X11FLAGS.EXTENSION} ${X11FLAGS.THREADLIB} # -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM + +LDADD= -lm +DPADD= ${LIBM} + +.include +LIBDIR= ${XMODULEDIR} +.include --- /dev/null 2004-11-05 12:07:59.000000000 +0000 +++ src/x11/Xserver/GL/dri/r200_dri/shlib_version 2004-10-14 17:37:39.000000000 +0100 @@ -0,0 +1,4 @@ +# $NetBSD$ +# +major=1 +minor=0 Index: src/x11/Xserver/hw/xfree86/drm/Makefile =================================================================== RCS file: /cvsroot/src/x11/Xserver/hw/xfree86/drm/Makefile,v retrieving revision 1.1 diff -u -r1.1 Makefile --- src/x11/Xserver/hw/xfree86/drm/Makefile 6 Mar 2004 11:36:05 -0000 1.1 +++ src/x11/Xserver/hw/xfree86/drm/Makefile 4 Nov 2004 13:51:05 -0000 @@ -28,6 +28,6 @@ LIBDIR= ${XMODULEDIR} .include -SUBDIR= mga #radeon +SUBDIR= mga radeon .include Index: src/x11/Xserver/hw/xfree86/drm/radeon/Makefile =================================================================== RCS file: /cvsroot/src/x11/Xserver/hw/xfree86/drm/radeon/Makefile,v retrieving revision 1.1 diff -u -r1.1 Makefile --- src/x11/Xserver/hw/xfree86/drm/radeon/Makefile 6 Mar 2004 11:44:41 -0000 1.1 +++ src/x11/Xserver/hw/xfree86/drm/radeon/Makefile 4 Nov 2004 13:51:05 -0000 @@ -15,7 +15,8 @@ opt_drm.h: echo > opt_drm.h - echo "#define DRM_DEBUG 1" >> opt_drm.h +# This is slightly too verbose! +# echo "#define DRM_DEBUG 1" >> opt_drm.h echo "#define DRM_LINUX 1" >> opt_drm.h CPPFLAGS+= -I${X11SRCDIR.xc}/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel \ Index: src/x11/lib/GL/Makefile =================================================================== RCS file: /cvsroot/src/x11/lib/GL/Makefile,v retrieving revision 1.8 diff -u -r1.8 Makefile --- src/x11/lib/GL/Makefile 5 Aug 2004 01:28:48 -0000 1.8 +++ src/x11/lib/GL/Makefile 4 Nov 2004 13:51:05 -0000 @@ -15,7 +17,7 @@ .PATH: ${X11SRCDIR.xc}/extras/Mesa/src SRCS.glx+= glapi.c -.if ${MACHINE} == "i386" +.if ${MACHINE} == "noti386" # Duplicate symbols with no x86 asm. .PATH: ${X11SRCDIR.xc}/extras/Mesa/src/X86 SRCS.glx+= glapi_x86.S CPPFLAGS+= -DUSE_X86_ASM -I${X11SRCDIR.xc}/extras/Mesa/src/X86 Index: src/x11/lib/OSmesa/Makefile =================================================================== RCS file: /cvsroot/src/x11/lib/OSmesa/Makefile,v retrieving revision 1.14 diff -u -r1.14 Makefile --- src/x11/lib/OSmesa/Makefile 5 Aug 2004 01:28:48 -0000 1.14 +++ src/x11/lib/OSmesa/Makefile 4 Nov 2004 13:51:05 -0000 @@ -71,7 +71,7 @@ # XXX removed in xf44 if not found to be needed remove by > xf44 # 3dnow_vertex.S, sse_vertex.S, x86_vertex.S -CPPFLAGS+= -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM +#CPPFLAGS+= -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM COMPILE.S= ${COMPILE.s} # XXX don't want -traditional-cpp AFLAGS+= -DUSE_GAS -I. -I${X11SRCDIR.xc}/extras/Mesa/src/X86 .endif Index: xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/ati_pcigart.h =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/ati_pcigart.h,v retrieving revision 1.1.1.3 diff -u -r1.1.1.3 ati_pcigart.h --- xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/ati_pcigart.h 5 Mar 2004 14:29:17 -0000 1.1.1.3 +++ xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/ati_pcigart.h 4 Nov 2004 13:51:43 -0000 @@ -58,8 +58,14 @@ goto done; } +#ifdef __FreeBSD__ address = (long)contigmalloc((1 << ATI_PCIGART_TABLE_ORDER) * PAGE_SIZE, DRM(M_DRM), M_NOWAIT, 0ul, 0xfffffffful, PAGE_SIZE, 0); +/* XXX: bus_dmamem_alloc */ +#elif defined __NetBSD__ + (void *)address = malloc((1 << ATI_PCIGART_TABLE_ORDER) * PAGE_SIZE, + DRM(M_DRM), M_NOWAIT); +#endif if ( !address ) { DRM_ERROR( "cannot allocate PCI GART page!\n" ); goto done; @@ -109,6 +115,8 @@ #if __FreeBSD_version > 500000 contigfree( (void *)addr, (1 << ATI_PCIGART_TABLE_ORDER) * PAGE_SIZE, DRM(M_DRM)); /* Not available on 4.x */ +#elif defined __NetBSD__ + free( (void *)addr, DRM(M_DRM)); #endif return 1; } Index: xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drmP.h =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drmP.h,v retrieving revision 1.2 diff -u -r1.2 drmP.h --- xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drmP.h 6 Mar 2004 11:24:28 -0000 1.2 +++ xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drmP.h 4 Nov 2004 13:51:43 -0000 @@ -308,18 +308,14 @@ } drm_vbl_sig_t; struct drm_device { -#ifdef __NetBSD__ - struct device device; /* NetBSD's softc is an extension of struct device */ - - DRM_SPINTYPE dev_lock; - DRM_SPINTYPE dma_lock; -#endif const char *name; /* Simple driver name */ char *unique; /* Unique identifier: e.g., busid */ int unique_len; /* Length of unique field */ #ifdef __FreeBSD__ device_t device; /* Device instance from newbus */ -#endif +#elif defined __NetBSD__ + struct device device; /* NetBSD's softc is an extension of struct device */ +#endif /* __NetBSD__ */ dev_t devnode; /* Device number for mknod */ int if_version; /* Highest interface version set */ @@ -331,9 +327,17 @@ struct mtx dma_lock; /* protects dev->dma */ #endif #if __HAVE_IRQ - struct mtx irq_lock; /* protects irq condition checks */ + struct mtx irq_lock; /* protects irq condition checks */ #endif struct mtx dev_lock; /* protects everything else */ +#elif defined(__NetBSD__) +#if __HAVE_DMA + DRM_SPINTYPE dma_lock; /* protects dev->dma */ +#endif +#if __HAVE_IRQ + struct simplelock irq_lock; /* protects irq condition checks */ +#endif + DRM_SPINTYPE dev_lock; /* protects everything else */ #endif /* Usage Counters */ int open_count; /* Outstanding files open */ @@ -368,6 +372,7 @@ #elif defined(__NetBSD__) struct pci_attach_args pa; pci_intr_handle_t ih; + bus_dma_tag_t dmat; #endif void *irqh; /* Handle from bus_setup_intr */ Index: xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_bufs.h =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_bufs.h,v retrieving revision 1.2 diff -u -r1.2 drm_bufs.h --- xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_bufs.h 6 Mar 2004 10:45:43 -0000 1.2 +++ xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_bufs.h 4 Nov 2004 13:51:43 -0000 @@ -262,7 +262,7 @@ #if __HAVE_PCI_DMA if (entry->seg_count) { for (i = 0; i < entry->seg_count; i++) { - if (entry->seglist[i] != NULL) + if ((vm_offset_t *)entry->seglist[i] != NULL) DRM(pci_free)(dev, entry->buf_size, (void *)entry->seglist[i], entry->seglist_bus[i]); @@ -482,7 +482,7 @@ while ( entry->buf_count < count ) { vaddr = (vm_offset_t) DRM(pci_alloc)(dev, size, alignment, 0xfffffffful, &bus_addr); - if (vaddr == NULL) { + if ((vm_offset_t *)vaddr == NULL) { /* Set count correctly so we free the proper amount. */ entry->buf_count = count; entry->seg_count = count; Index: xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_dma.h =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_dma.h,v retrieving revision 1.2 diff -u -r1.2 drm_dma.h --- xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_dma.h 6 Mar 2004 11:18:14 -0000 1.2 +++ xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_dma.h 4 Nov 2004 13:51:43 -0000 @@ -74,7 +74,7 @@ dma->bufs[i].buf_count, dma->bufs[i].seg_count); for (j = 0; j < dma->bufs[i].seg_count; j++) { - if (dma->bufs[i].seglist[j] != NULL) + if ((vm_offset_t *)dma->bufs[i].seglist[j] != NULL) DRM(pci_free)(dev, dma->bufs[i].buf_size, (void *)dma->bufs[i].seglist[j], dma->bufs[i].seglist_bus[j]); Index: xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_ioctl.h =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_ioctl.h,v retrieving revision 1.1.1.3 diff -u -r1.1.1.3 drm_ioctl.h --- xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_ioctl.h 5 Mar 2004 14:29:17 -0000 1.1.1.3 +++ xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_ioctl.h 4 Nov 2004 13:51:43 -0000 @@ -87,6 +87,7 @@ /* Return error if the busid submitted doesn't match the device's actual * busid. */ +#ifndef __NetBSD__ /* XXX: No sscanf in the kernel */ ret = sscanf(dev->unique, "PCI:%d:%d:%d", &bus, &slot, &func); if (ret != 3) return DRM_ERR(EINVAL); @@ -98,7 +99,7 @@ (slot != dev->pci_slot) || (func != dev->pci_func)) return DRM_ERR(EINVAL); - +#endif return 0; } Index: xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_netbsd.h =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_netbsd.h,v retrieving revision 1.2 diff -u -r1.2 drm_os_netbsd.h --- xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_netbsd.h 6 Mar 2004 11:27:47 -0000 1.2 +++ xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_netbsd.h 4 Nov 2004 13:51:43 -0000 @@ -62,13 +62,13 @@ #include #include -#include +#include #include #define __REALLY_HAVE_AGP __HAVE_AGP #define __REALLY_HAVE_MTRR 1 -#define __REALLY_HAVE_SG 0 +#define __REALLY_HAVE_SG (__HAVE_SG) #if __REALLY_HAVE_AGP #include @@ -105,6 +105,7 @@ #define DRM_SPINUNINIT(l) #define DRM_SPINLOCK(l) simple_lock(l) #define DRM_SPINUNLOCK(u) simple_unlock(u) +#define DRM_SPINLOCK_ASSERT(l) #define DRM_CURRENTPID curproc->p_pid /* Currently our DRMFILE (filp) is a void * which is actually the pid @@ -211,14 +212,15 @@ /* FIXME: can't find equivalent functionality for nocheck yet. * It'll be slower than linux, but should be correct. */ -#define DRM_VERIFYAREA_READ( uaddr, size ) \ - (!uvm_useracc((caddr_t)uaddr, size, VM_PROT_READ)) +#define DRM_VERIFYAREA_READ( uaddr, size ) (0) #define DRM_COPY_FROM_USER_UNCHECKED(arg1, arg2, arg3) \ copyin(arg2, arg1, arg3) #define DRM_COPY_TO_USER_UNCHECKED(arg1, arg2, arg3) \ copyout(arg2, arg1, arg3) #define DRM_GET_USER_UNCHECKED(val, uaddr) \ ((val) = fuword(uaddr), 0) +#define DRM_PUT_USER_UNCHECKED(uaddr, val) \ + suword(uaddr, val) /* DRM_READMEMORYBARRIER() prevents reordering of reads. * DRM_WRITEMEMORYBARRIER() prevents reordering of writes. Index: xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_pci.h =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_pci.h,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 drm_pci.h --- xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_pci.h 5 Mar 2004 14:29:17 -0000 1.1.1.1 +++ xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_pci.h 4 Nov 2004 13:51:43 -0000 @@ -44,9 +44,13 @@ { void *vaddr; +#ifdef __FreeBSD__ vaddr = contigmalloc(size, DRM(M_DRM), M_NOWAIT, 0ul, maxaddr, align, 0); - *busaddr = vtophys(vaddr); +#elif defined __NetBSD__ /* XXX: bus_dmamem_alloc */ + vaddr = malloc(size, DRM(M_DRM), M_NOWAIT); +#endif + *busaddr = vtophys((vaddr_t)vaddr); return vaddr; }