In article <local.mail.freebsd-hackers/[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message