From owner-cvs-all Thu Jun 20 5:10:30 2002 Delivered-To: cvs-all@freebsd.org Received: from beppo.feral.com (beppo.feral.com [192.67.166.79]) by hub.freebsd.org (Postfix) with ESMTP id EDF5A37B412; Thu, 20 Jun 2002 05:10:22 -0700 (PDT) Received: from mailhost.feral.com (mjacob@mailhost.feral.com [192.67.166.1]) by beppo.feral.com (8.11.3/8.11.3) with ESMTP id g5KCAGO29639; Thu, 20 Jun 2002 05:10:20 -0700 (PDT) (envelope-from mjacob@feral.com) Date: Thu, 20 Jun 2002 05:10:16 -0700 (PDT) From: Matthew Jacob X-Sender: mjacob@beppo Reply-To: mjacob@feral.com To: Peter Wemm Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/alpha/alpha support.s src/sys/i386/i386 support.s src/sys/ia64/ia64 support.s src/sys/powerpc/powerpc copyinout.c src/sys/sys systm.h src/sys/sparc64/sparc64 support.s In-Reply-To: <20020620090818.C4F36380E@overcee.wemm.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, 20 Jun 2002, Peter Wemm wrote: > Matthew Jacob wrote: > > > Log: > > > Deorbit suibyte(). It was only used for split address space systems > > > > Bonus points for naming that system and the instructions used to implement > > {su,fu}i{word,byte} > > Other than PDP-something, I'm not going to try. All I remember was that > they had 64K addressing split into 64K instruction and 64K data space. IIRC, mfpd/mtpd (move from/to previous) data space was the requirements for copying to/from user space. The address would be interpreted in the segmentation registers for whatever the *previous* data space was (based on bits in the PS (program status) register. On the 11/70 there were three modes (User, Supervisor && Kernel), but Unix only used User && Kernel. Other 11s only had User && Kernel mode. The 11/70 also had split I&D, so you could use the mfpi/mtpi instructions to move to/from instruction space. This is what made both system calls and character I/O so damned expensive for Unix- you had to move bytes/words in/out one at a time because the user and kernel really had vastly different and disjoint address spaces. For a beginning programmer, it was also like seeing a black hole for the first time to look at the code and wonder "where the heck are the bytes going to/coming from?". The concept of having a pointer decode/dererence in one address space with the source or result being in another seemed like somebody had invented perpetual motion. Sigh. I was lachrymous over time when computers seemed fun. Well, I gotta go load 177650 into my PC and toggle the run switch.... -matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message