From owner-freebsd-multimedia Thu Jul 5 8:55:24 2001 Delivered-To: freebsd-multimedia@freebsd.org Received: from seed.pacific.net.sg (seed.pacific.net.sg [203.120.90.77]) by hub.freebsd.org (Postfix) with ESMTP id F0AE537B405 for ; Thu, 5 Jul 2001 08:55:18 -0700 (PDT) (envelope-from ktsin@acm.org) Received: from pop2.pacific.net.sg (pop2.pacific.net.sg [203.120.90.86]) by seed.pacific.net.sg with ESMTP id f65FtHY06933; Thu, 5 Jul 2001 23:55:17 +0800 (SGT) Received: from acm.org (adsl149.dyn209.pacific.net.sg [210.24.209.149]) by pop2.pacific.net.sg with ESMTP id XAA11781; Thu, 5 Jul 2001 23:55:15 +0800 (SGT) Message-ID: <3B448DE2.E93A2CC9@acm.org> Date: Thu, 05 Jul 2001 23:55:14 +0800 From: KT Sin X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.12 i386) X-Accept-Language: en, zh-TW, zh-CN, ko, ja MIME-Version: 1.0 To: "Alexander N. Kabaev" Cc: freebsd-multimedia@FreeBSD.ORG Subject: Re: XFree86 4.1.0 DRI patch for -CURRENT References: <20010704231137.A31583@kan.dnsalias.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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 > #include > #include > +#include > #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