From owner-pups@minnie.cs.adfa.edu.au Thu Sep  9 09:16:09 1999
Received: (from major@localhost)
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) id JAA08269
	for pups-liszt; Thu, 9 Sep 1999 09:15:06 +1000 (EST)
Received: from moe.2bsd.com (0@MOE.2BSD.COM [206.139.202.200])
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id JAA08259
	for <pups@minnie.cs.adfa.edu.au>; Thu, 9 Sep 1999 09:14:58 +1000 (EST)
Received: (from sms@localhost)
	by moe.2bsd.com (8.9.0/8.9.0) id KAA26837
	for pups@minnie.cs.adfa.edu.au; Wed, 8 Sep 1999 10:00:05 -0700 (PDT)
Date: Wed, 8 Sep 1999 10:00:05 -0700 (PDT)
From: "Steven M. Schultz" <sms@moe.2bsd.com>
Message-Id: <199909081700.KAA26837@moe.2bsd.com>
To: pups@minnie.cs.adfa.edu.au
Subject: Re: Diff between 11/20 and 11/45?
Sender: owner-pups@minnie.cs.adfa.edu.au
Precedence: bulk

Hi -

> From: Dave Horsfall <dave@fgh.geac.com.au>
> Do you recall the PC-board hack on the sep-ID machines that changed

	No, I do not recall seeing a PCB hack (hacking on an 11/70 was
	frowned upon ;))

> the MFPI instruction to do something that was expressly prohibited?

	But I do know what that 'something' was.   In "user" or "supervisor"
	mode MPFI functioned as "MFPD" - a user program could not read its own 
	I(nstruction) space.    Only for "kernel" mode did MFPI access the
	I space.

> Something about allowing a user program to access something else, for
> some obscure hack or other...

	It was aimed at providing "execute only" code - a program could "run"
	but not "read" its code space.

	This caused problems though if trap handlers (floating point exception
	handling comes to mind) needed to retrieve the faulted instruction
	for inspection/analysis.  Thus in 2BSD there is a system call that
	programs can issue to request the KERNEL to do the 'mfpi' for them
	and return the value.

	Steven Schultz
	sms@moe.2bsd.com

