-
Notifications
You must be signed in to change notification settings - Fork 2
nido/pscnv
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This driver is for OpenSolaris. there will be no KMS support and only for computing. nouveau_pscmm.c and nouveau_pscmm.h are the core part of PathScale memory manager which is part of nouveau kernel driver. The ioctls reserved from current nouveau will not be shown here. They includes nouveau_ioctl_fifo_alloc, nouveau_ioctl_fifo_free, nouveau_ioctl_grobj_alloc nouveau_ioctl_notifier_alloc and etc. It assume that VRAM can be divided into two parts, non-page and page. non-page includes scanout, hardware-status page etc which will not be evicted and shared by all channels. page part for user bos. pscmm files are only focus on user bo alloc/free, evict, move, mmap, exec and etc. By now: The per-channel page table init at the channel_init and not changed then. (Improved at next) No mmap/flush_range at first (Improved at next) No VBIOS init (Improved at next) Known issue: Console doesn't work after enable the driver, you can only access by ssh. For bo alloc/free, it use the algorithm in drm_mm.c (buddy). For bo evict/replacement, it introduce a no_evicted list to track the no_evicted bo. For other bo, it will use modified CAR to do replacement if the VRAM is full. For more detail, please check the pscmm plan. By now, it's only a skeletal code, only can do attach. More implement and test will be next. Any feedback or suggestions, please send to me [email protected]. HOW TO BUILD: 1. Build OpenSolaris b134 or later from source. 2. cp the project to usr/src/uts/intel/ (E.g. cp -r pscmm /WORKSPCAE/usr/src/uts/intel/) 3. cd drm && make all (build drm binarie) 4. cd nouveau && make all (build nouveau binarie) Install: cp nouveau_drm /kernel/misc or /kernel/misc/amd64 cp nouveau /kernel/drv or /kernel/drv/amd64
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published