Skip site navigation (1)Skip section navigation (2)
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>