From owner-freebsd-questions Wed May 15 21:02:29 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id VAA20689 for questions-outgoing; Wed, 15 May 1996 21:02:29 -0700 (PDT) Received: from cs.rice.edu (cs.rice.edu [128.42.1.30]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id VAA20683 for ; Wed, 15 May 1996 21:02:27 -0700 (PDT) Received: from noel.cs.rice.edu (noel.cs.rice.edu [128.42.1.136]) by cs.rice.edu (8.7.1/8.7.1) with ESMTP id XAA05089 for ; Wed, 15 May 1996 23:02:13 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by noel.cs.rice.edu (8.7.3/8.7.3) with ESMTP id XAA00946 for ; Wed, 15 May 1996 23:02:12 -0500 (CDT) Message-Id: <199605160402.XAA00946@noel.cs.rice.edu> To: questions@freebsd.org Subject: Re: Size of the Virtual Memory Page Date: Wed, 15 May 1996 23:02:12 -0500 From: Alan Cox Sender: owner-questions@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Michael Smith stands accused of saying: > > BSD was written for the Vax architecture, and unless my memory's totally > busted, the Vax imposes a fixed 4096-byte physical page size. The VAX page size was 512 bytes. Keep in mind that the first VAXen were built ~1980. Some of them were shipped with as little as 512KB of physical memory. 4.4BSD, and thus FreeBSD, uses a stripped down version of the Mach virtual memory system. By 1985-1986 when Mach development was ramping up, most VAXen, including the development machines at CMU, had 8MB or more. Because Mach's VM system hid most of the machine dependent details of address translation in pmap.c, it was easy to pretend that the VAX had a larger page size. So the machine-independent parts of the VM system thought that the VAX had a 4K byte page. Roughly speaking, pmap_enter et al. diddled 8 VAX pte entries at a time to create the illusion of a 4K byte page. Alan P.S. Theoretically, you could do the same thing on the x86. John (Dyson), have you ever thought of trying this just for grins? Some stuff would likely break, but... :-)