Date: Thu, 24 Jul 1997 03:46:54 +0200 (MET DST) From: Luigi Rizzo <luigi@labinfo.iet.unipi.it> To: jas@flyingfox.com (Jim Shankland) Cc: hackers@FreeBSD.ORG Subject: Re: getting physically contiguous memory in the kernel Message-ID: <199707240146.DAA25440@labinfo.iet.unipi.it> In-Reply-To: <199707232315.QAA10162@biggusdiskus.flyingfox.com> from "Jim Shankland" at Jul 23, 97 04:14:44 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> Is there an easy way to get physically contiguous memory in the FreeBSD > kernel? The de driver calls malloc() to obtain a buffer, part of which > must be physically contiguous; this buffer has now grown to be > 4K, > causing the transmit descriptors to span a page boundary. When the > 2 pages are not physically contiguous, the driver breaks. look at contigmalloc() or (probably better) vm_page_alloc_contig(). The latter is used in /sys/pci/brooktree848.c for the brooktree driver and /sys/pci/meteor.c for the meteor driver. The former is generally used for allocating buffers for use with the ISA DMA. Cheers Luigi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707240146.DAA25440>