From: Jens O. <je...@tu...> - 2002-05-13 22:59:34
|
Eric Anholt wrote: > 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, The watermark I would apply for measuring the success of OS-templating is device indepedence. If all device specific code can go into the shared/drm/kernel directory and only device independent code is found in the OS specific directories <os>/drm/kernel then this will be a huge step forward for the DRI. It's likely you'll end up with some OS specific #ifdef's in the shared directory, but if you can completely remove these ifdef's while supporting three or more OS's then we can be confident we have a great template interface, and you can focus more of your efforts on keeping up to date with general DRM functionality and less on each device specific implementation. Regards, Jens -- /\ Jens Owen / \/\ _ je...@tu... / \ \ \ Steamboat Springs, Colorado |