Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Jun 2002 05:10:16 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        Peter Wemm <peter@wemm.org>
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 
Message-ID:  <Pine.BSF.4.21.0206200451300.29502-100000@beppo>
In-Reply-To: <20020620090818.C4F36380E@overcee.wemm.org>

next in thread | previous in thread | raw e-mail | index | archive | help



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0206200451300.29502-100000>