diff options
author | Eric Anholt <anholt@freebsd.org> | 2004-11-06 11:16:26 +0000 |
---|---|---|
committer | Eric Anholt <anholt@freebsd.org> | 2004-11-06 11:16:26 +0000 |
commit | d7510ea4136a031b16fb25a32bd77970d315707a (patch) | |
tree | 9dd4aa10245d01a8f5a1cd77d2a4e61cbbb0deb8 /bsd-core/drm_bufs.c | |
parent | cf259f10aa8dbd83a4c086963fee7138280a9688 (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.c | 13 |
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; |