summaryrefslogtreecommitdiff
path: root/bsd-core/drm_bufs.c
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2004-11-06 11:16:26 +0000
committerEric Anholt <anholt@freebsd.org>2004-11-06 11:16:26 +0000
commitd7510ea4136a031b16fb25a32bd77970d315707a (patch)
tree9dd4aa10245d01a8f5a1cd77d2a4e61cbbb0deb8 /bsd-core/drm_bufs.c
parentcf259f10aa8dbd83a4c086963fee7138280a9688 (diff)
Commit first pieces of port to OpenBSD, done by Martin Lexa (martin at
martinlexa dot cz). Now that we've got porting for all three major BSDs (and the fourth being very similar to FreeBSD), move the mostly-duplication drm_os_* files into drmP.h. Remove some cruft from linux heritage and from pieces of the DRM that have since been removed. Note that things are still not quite working for even FreeBSD, but these are first steps at cleanup, and just a WIP checkpoint.
Diffstat (limited to 'bsd-core/drm_bufs.c')
-rw-r--r--bsd-core/drm_bufs.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/bsd-core/drm_bufs.c b/bsd-core/drm_bufs.c
index 0148eaa0..860b38b5 100644
--- a/bsd-core/drm_bufs.c
+++ b/bsd-core/drm_bufs.c
@@ -831,22 +831,21 @@ int drm_mapbufs(DRM_IOCTL_ARGS)
vm_ooffset_t foff;
vm_size_t size;
vm_offset_t vaddr;
-#endif /* __FreeBSD__ */
-#ifdef __NetBSD__
+#elif defined(__NetBSD__) || defined(__OpenBSD__)
struct vnode *vn;
vm_size_t size;
vaddr_t vaddr;
-#endif /* __NetBSD__ */
+#endif /* __NetBSD__ || __OpenBSD__ */
drm_buf_map_t request;
int i;
DRM_COPY_FROM_USER_IOCTL( request, (drm_buf_map_t *)data, sizeof(request) );
-#ifdef __NetBSD__
+#if defined(__NetBSD__) || defined(__OpenBSD__)
if (!vfinddev(kdev, VCHR, &vn))
return 0; /* FIXME: Shouldn't this be EINVAL or something? */
-#endif /* __NetBSD__ */
+#endif /* __NetBSD__ || __OpenBSD */
#if defined(__FreeBSD__) && __FreeBSD_version >= 500000
vms = p->td_proc->p_vmspace;
@@ -880,12 +879,12 @@ int drm_mapbufs(DRM_IOCTL_ARGS)
vaddr = round_page((vm_offset_t)vms->vm_daddr + MAXDSIZ);
retcode = vm_mmap(&vms->vm_map, &vaddr, size, PROT_READ | PROT_WRITE,
VM_PROT_ALL, MAP_SHARED, SLIST_FIRST(&kdev->si_hlist), foff );
-#elif defined(__NetBSD__)
+#elif defined(__NetBSD__) || defined(__OpenBSD__)
vaddr = round_page((vaddr_t)vms->vm_daddr + MAXDSIZ);
retcode = uvm_mmap(&vms->vm_map, &vaddr, size,
UVM_PROT_READ | UVM_PROT_WRITE, UVM_PROT_ALL, MAP_SHARED,
&vn->v_uobj, foff, p->p_rlimit[RLIMIT_MEMLOCK].rlim_cur);
-#endif /* __NetBSD__ */
+#endif /* __NetBSD__ || __OpenBSD */
if (retcode)
goto done;