As most of you know, I've been working on the BSD DRM for a year or so now. I've been working on the code based on bsd-2-0-0-branch, which uses C macros and ifdefs to deal with the differences between Linux and FreeBSD. To see the current state of the code checked into FreeBSD CVS (it's close to trunk, but lacks i8x0 and sis are missing and gamma is outdated) you can take a look at http://gladstone.uoregon.edu/~eanholt/dri/sysdrm-2002-05-13.tar.gz
Keeping up with the changes going on in the DRI CVS is a decent bit of work for a student volunteer. I would love to see BSD users be able to test things like the mach64 branch and such, but I barely have time to keep up with trunk (and I didn't even do that, as happened in the latest X release). However, importing the OS-templated code directly would be terrible -- the diffs are around 400k and the last time I tested on linux it didn't work. I would like to see a form of OS-templated code get into CVS. If the rest of the DRI developers are interested in having this done, this is what I would like to happen: Step 1: - repocopy most of linux/drm/kernel/ to shared/drm/kernel (see below) - make the build symlink stuff in shared/drm/kernel to <os>/drm/kernel - cvs rm the repocopied stuff from linux/drm/kernel This would have to happen simultaneously in the branches to preserve history. Step 2: In the bsd branch (bsd-3-0-0), create the drm_os_* headers and commit the DRM_OS_ERR and DRM_OS_IOCTL changes. These cover a large number of the bytes of the diff. Quickly test and merge it, as they should be harmless. Step 3: Start applying the BSD changes to the bsd branch. These will be tested on Linux as they are applied. Once that bsd branch is brought up to the point of being better than FreeBSD's DRM, I would merge it back to FreeBSD and hopefully merge to trunk. Then I could work on adding the new stuff I've worked on (PCIGART, i8x0) then work on new things (NetBSD, which looks like it wouldn't be very difficult at all). Most of the *.[ch] from linux/drm/kernel would be repocopied. Currently the BSD branch has its own drm_vm.h and drm_agpsupport.h, and does not use drm_proc.h and drm_stub.h, (which would be left in linux/drm/kernel). Additionally I think we would split drm_fops.h for the two OSes, because the shared code is so limited it makes reading the file tough. What do people think about the code, and if they like it, what about the process for getting it into CVS? -- Eric Anholt <[EMAIL PROTECTED]> http://gladstone.uoregon.edu/~eanholt/dri/ _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel