From owner-freebsd-hackers Wed Jul 23 16:16:49 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id QAA22006 for hackers-outgoing; Wed, 23 Jul 1997 16:16:49 -0700 (PDT) Received: from biggusdiskus.flyingfox.com (biggusdiskus.flyingfox.com [206.14.52.27]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id QAA22000 for ; Wed, 23 Jul 1997 16:16:46 -0700 (PDT) Received: (from jas@localhost) by biggusdiskus.flyingfox.com (8.8.5/8.8.5) id QAA10162 for hackers@freebsd.org; Wed, 23 Jul 1997 16:15:03 -0700 (PDT) Date: Wed, 23 Jul 1997 16:15:03 -0700 (PDT) From: Jim Shankland Message-Id: <199707232315.QAA10162@biggusdiskus.flyingfox.com> To: hackers@freebsd.org Subject: getting physically contiguous memory in the kernel Sender: owner-freebsd-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk 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. For now, I've workes around this by malloc-ing the transmit and receive descriptor arrays separately; this should work, as they're individually less than 4KB. But is there a better way? Jim Shankland Flying Fox Computer Systems, Inc.