Date: Tue, 9 Oct 2001 19:37:41 -0500 (CDT) From: Jonathan Lemon <jlemon@flugsvamp.com> To: gene@nttmcl.com, hackers@freebsd.org Subject: Re: VM question (I hate Intel 810/815 chipsets...) Message-ID: <200110100037.f9A0bfv40852@prism.flugsvamp.com> In-Reply-To: <local.mail.freebsd-hackers/20011009165735.A22544@alicia.nttmcl.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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?200110100037.f9A0bfv40852>