Date: Tue, 9 Oct 2001 18:08:41 -0700 From: "Eugene M. Kim" <gene@nttmcl.com> To: Jonathan Lemon <jlemon@flugsvamp.com> Cc: hackers@freebsd.org Subject: Re: VM question (I hate Intel 810/815 chipsets...) Message-ID: <20011009180841.A26019@alicia.nttmcl.com> In-Reply-To: <200110100037.f9A0bfv40852@prism.flugsvamp.com>; from jlemon@flugsvamp.com on Tue, Oct 09, 2001 at 07:37:41PM -0500 References: <local.mail.freebsd-hackers/20011009165735.A22544@alicia.nttmcl.com> <200110100037.f9A0bfv40852@prism.flugsvamp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Thank you for the reply. I also found contigmalloc() shortly after I posted the original question (what an embarrassment ;-p), then met another restriction: Because these memory regions are to be accessed by a userland process (X server), they have to be somehow mapped into the user space. So far it seems I would have to do something similar to vm_mmap(), but I'm not sure if this is a right direction. Do you have any suggestions? Cheers, Eugene On Tue, Oct 09, 2001 at 07:37:41PM -0500, Jonathan Lemon wrote: > > > In article <local.mail.freebsd-hackers/20011009165735.A22544@alicia.nttmcl.com> you write: > >What would be the best way to allocate: > > > >1) a VM page whose physical address falls within a certain boundary, and > >2) a VM object whose pages are contiguous in physical address space? > > > >Background: > >The !@*%^*!&#^%*&!#^$!@ Intel 810/815 graphics controller requires its > >instruction and hardware cursor buffers to reside within first 32MB and > >512MB of *physical* memory space respectively. :( :( ;( The XFree86 > >driver assumes the Linux memory model (virtual addr == physical addr), > >so it runs on Linux, but not always on FreeBSD. > > You probably want contigmalloc(), which allocates a range of memory > which is physically contiguous. (assuming this is a in-kernel driver) > > void * > contigmalloc( > unsigned long size, /* should be size_t here and for malloc() */ > struct malloc_type *type, > int flags, > unsigned long low, > unsigned long high, > unsigned long alignment, > unsigned long boundary) > > -- > Jonathan To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011009180841.A26019>