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>
