From: Keith W. <ke...@tu...> - 2002-05-13 22:15:24
|
Eric Anholt wrote: > > 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? Does the code you've linked implement these (or some of these) changes? Or is it the current bsd-only code. (I haven't looked at it yet) Keith |