Date: Thu, 05 Jul 2001 23:55:14 +0800 From: KT Sin <ktsin@acm.org> To: "Alexander N. Kabaev" <kabaev@mail.ru> Cc: freebsd-multimedia@FreeBSD.ORG Subject: Re: XFree86 4.1.0 DRI patch for -CURRENT Message-ID: <3B448DE2.E93A2CC9@acm.org> References: <20010704231137.A31583@kan.dnsalias.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi
Can this patch be used on -STABLE or is DRI working on -STABLE already?
kt
"Alexander N. Kabaev" wrote:
>
> Attached is a patch which, when applied to the bsd-2-0-0-0 branch
> from dri.sourceforge.net, allows DRI kernel modules to compile on
> todays -CURRENT.
>
> I was able to test Matrox driver with my G400 card only and your
> mileage can vary if you are using other supported card.
>
> Index: drm_bufs.h
> ===================================================================
> RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_bufs.h,v
> retrieving revision 1.10.2.16
> diff -u -r1.10.2.16 drm_bufs.h
> --- drm_bufs.h 2001/06/05 13:51:23 1.10.2.16
> +++ drm_bufs.h 2001/07/05 02:47:34
> @@ -40,6 +40,7 @@
> #include <vm/pmap.h>
> #include <vm/vm_extern.h>
> #include <vm/vm_map.h>
> +#include <vm/vm_param.h>
> #endif
> #include "drmP.h"
>
> @@ -1028,6 +1029,7 @@
> #endif
> #ifdef __FreeBSD__
> vm_offset_t virtual, address;
> + struct vmspace *vms = p->p_vmspace;
> #endif
> drm_buf_map_t request;
> int i;
> @@ -1073,7 +1075,8 @@
> #endif
>
> #ifdef __FreeBSD__
> - retcode = vm_mmap(&p->p_vmspace->vm_map,
> + virtual = round_page((vm_offset_t)vms->vm_daddr + MAXDSIZ);
> + retcode = vm_mmap(&vms->vm_map,
> &virtual,
> round_page(map->size),
> PROT_READ|PROT_WRITE, VM_PROT_ALL,
> @@ -1099,7 +1102,8 @@
> #endif
> #endif
> #ifdef __FreeBSD__
> - retcode = vm_mmap(&p->p_vmspace->vm_map,
> + virtual = round_page((vm_offset_t)vms->vm_daddr + MAXDSIZ);
> + retcode = vm_mmap(&vms->vm_map,
> &virtual,
> round_page(dma->byte_count),
> PROT_READ|PROT_WRITE, VM_PROT_ALL,
> Index: drm_fops.h
> ===================================================================
> RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_fops.h,v
> retrieving revision 1.4.2.6
> diff -u -r1.4.2.6 drm_fops.h
> --- drm_fops.h 2001/05/07 15:49:53 1.4.2.6
> +++ drm_fops.h 2001/07/05 02:47:35
> @@ -41,7 +41,11 @@
>
> drm_file_t *DRM(find_file_by_proc)(drm_device_t *dev, struct proc *p)
> {
> +#if __FreeBSD_version >= 500021
> + uid_t uid = p->p_ucred->cr_svuid;
> +#else
> uid_t uid = p->p_cred->p_svuid;
> +#endif
> pid_t pid = p->p_pid;
> drm_file_t *priv;
>
> @@ -113,7 +117,11 @@
> } else {
> priv = (drm_file_t *) DRM(alloc)(sizeof(*priv), DRM_MEM_FILES);
> bzero(priv, sizeof(*priv));
> +#if __FreeBSD_version >= 500021
> + priv->uid = p->p_ucred->cr_svuid;
> +#else
> priv->uid = p->p_cred->p_svuid;
> +#endif
> priv->pid = p->p_pid;
> priv->refs = 1;
> priv->minor = m;
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-multimedia" in the body of the message
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B448DE2.E93A2CC9>
