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