nvidiafeaturerequests

This is an old revision of the document!


Nvidia currently supports the FreeBSD/i386 platform, which essentially means that anyone can download their binary driver and get hardware accellerated OpenGL support (yes, you can actually play and enjoy games like Doom3 and Quake4 on FreeBSD. Awesome, isn't it?). Nvidia has lately been looking at possible ways to (a) improve their current driver for the FreeBSD/i386 platform and (b) create a new driver for the FreeBSD/amd64 platform. This has transformed into several kernel feature requests, which are necessary in order to achieve (a) and (b). This page tries to document each feature request and its current status (in FreeBSD-8).

List of tasks

Task Why? Priority Status Responsible
Implement pmap_mapdev_attr() on FreeBSD/i386 and on FreeBSD/amd64. Allows reliable creation of kernel mappings of I/O memory with specific cache attributes (with per-page granularity). Needed for FreeBSD/amd64. Complete alc@
Design/implement better mmap(2) mechanism for mapping memory to user space (context information, cache attributes). Allows reliable creation of user mappings of DMA and I/O memory and support for systems with more than 4GB of RAM. PCI-E performance improvements, SLI support, FreeBSD/amd64 support. Not started -
Implement pmap_change_attr() on FreeBSD/i386 and on FreeBSD/amd64. Allows prevention of cache coherency problems. Needed for FreeBSD/amd64. Complete alc@
Implement vmap()-like kernel interface. Allows creation of contiguous kernel mappings of parts of or complete non-contiguous DMA/system memory allocations. Support for systems with >4GB RAM. Not started -
Implement mechanism to allow character drivers to maintain per-open instance data (e.g. like the Linux kernel's 'struct file *'). Allows per thread NVIDIA notification delivery; also reduces CPU overhead for notification delivery from the NVIDIA kernel module to the X driver and to OpenGL. The FreeBSD kernel provides some support for this via cloning devices; the NVIDIA FreeBSD graphics driver used this interface for a while, but bugs/limitations and differences between kernel versions made it necessary to revert to regular device nodes. Improved X/OpenGL performance. Complete kib@

Contact

  • czander (at nvidiadotcom) if you'd like to work on something on this list.

Status, information etc

Downloads

  • nvidiafeaturerequests.1233059551.txt.gz
  • Last modified: 2009/01/27 12:32
  • by MariusNuennerich