IBM introduced the Low Address Protection feature in the early 1980s shortly 
before they announced S/370/XA.  It was first supported on S/370.  They even 
published a very short book describing this new feature and 3 or 4 other 
features that were being introduced at the same time.  The only other feature I 
remember was a microcoded assist for SETFRR ADD and SETFRR DELETE.  Even a key 
0 program is prevented from storing into bytes 0-511.  This feature has 
prevented an untold number of reIPLs that would have been caused by key 0 
programs that were not fully debugged, and also there were many key 0 programs 
in which a lazy programmer, after disabling the current CPU for interrupts, 
would store something "temporarily" into some reserved field in bytes 0-511.  
All those kinds of programs began ABENDing after LAP was installed.  So the fix 
was to save whatever needed to be saved temporarily into some reserved field in 
bytes 512-4095, in which there are plenty of reserved fields, or!
  at least fields that cannot be used by any part of the operating system when 
the current CPU is running disabled.

At some time later, IBM also added a special protection feature for bytes 
512-2047 of page 0.  This feature, described in the Principles of Operation, 
and which is also both hardware and software, causes a program interrupt by any 
attempt for a non-key-0 program to fetch any storage in the first virtual 2K, 
where many register save areas are located, except for bytes 0-511, which may 
be fetched by a non-key-0 program.  This allows the normal program to do a L 
instruction at location 16, which is where the address of the CVT is located.  
If you try to display bytes 0-511 with TSO, you should be able to, but not 
bytes 512-2047.  And you can display bytes 2048-4095 with TSO.

The 512-2047 byte protection was added to reduce hacking.  LAP was added to 
reduce unplanned outages that were not caused by deliberate hacking.

Bill Fairchild
Rocket Software

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Edward Jaffe
Sent: Thursday, December 16, 2010 10:58 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Batch program to update CVTUSER

On 12/16/2010 8:00 AM, Bill Fairchild wrote:
> When LAP is enabled, any attempt by the running program to store into virtual 
> addresses 0-511 of page 0 on a CPU is prevented.

And I'll wager there's not a serious developer working today whose system has 
not been "saved" at least once by this wonderful feature!

--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
310-338-0400 x318
edja...@phoenixsoftware.com
http://www.phoenixsoftware.com/

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to