From owner-freebsd-hackers Wed Aug 1 23:25:31 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from gull.mail.pas.earthlink.net (gull.mail.pas.earthlink.net [207.217.121.85]) by hub.freebsd.org (Postfix) with ESMTP id 3600437B401 for ; Wed, 1 Aug 2001 23:25:29 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from mindspring.com (dialup-209.245.131.20.Dial1.SanJose1.Level3.net [209.245.131.20]) by gull.mail.pas.earthlink.net (EL-8_9_3_3/8.9.3) with ESMTP id XAA19605; Wed, 1 Aug 2001 23:24:06 -0700 (PDT) Message-ID: <3B68F190.AB04ACB3@mindspring.com> Date: Wed, 01 Aug 2001 23:22:08 -0700 From: Terry Lambert Reply-To: tlambert2@mindspring.com X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: craig Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: How to visit physical memory above 4G? References: <002701c11aed$ae1b98a0$051a0a0a@fd.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > craig wrote: > > > I know PIII can support 64G physical memory. In FreeBSD how can I visit such > range memory(4G-64G) ? The short answer is "you can't". The longer answer is that you end up having to window it using segmentation; if you are familiar with the 4k window on video memory in the TI 99/4A, or the bank select on the 6510 (e.g. the ability to select between 32K of RAM, and 32K of ROM, but not both at the same time, on the Commodore C-64 and the similar arrangement on the C-128, etc.), then you;ll have an idea of how the thing works... assuming you can find a motherboard that can handle it. This basically means that the memory is useless as a DMA target or source for disk controllers or gigabit ethernet cards, and is pretty useless for swap, if you ever have to copy from one section to another (e.g. for IPC, SYSV shared memory, mmap'ed files, VM, or buffer cache, etc.). So for limited uses in data intensive applications, it might be usable, but in general, it's nothing more than a hack so that they can claim to "support" more than 4G, for some extremely limited definition of "support". But to directly answer your question: by rewriting much of the low core virtual memory and page mapping handling code to know about segmentation. Have fun doing this, since by the time you are done, you will probably be able to get IA64 machines for something less than the $7000/unit that you have to pay today, and they will likely have PCI/X, so you have enough bus bandwidth to actually make the RAM halfway usable. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message