IBM Mainframe Discussion List <IBM-MAIN@BAMA.UA.EDU> wrote on 06/23/2006 
02:11:54 PM:

> so 3033 came up with a hack for supporting 32mbyte real storage. the 370 

> page table entry was 16bits with a 12bit page number field (for 
> specifying a real 4k page ... 12+12 gives 24bit addressing or 16mbytes),
> two defined bits, and two undefined bits. the gimmick scavenged one of 
> the undefined PTE bits to be used in real page numbers. you could now 
> address 2**13 4k real pages ... or 32mbytes. 

  The architecture scavenged two PTE bits
to allow for 64mbytes of real storage.  I don't think the 3033 ever
supported more than 32mbytes, and I am not sure about the 3081, but there
were customers running MVS/370 on the 3090 with 64mbytes of real storage.  
 

>CCW IDAL was 31bits ... 
> show you had bits to read/write pages into/out-of >16mbytes. the problem 

> was that all instructions were still limited to 24bit addressing (both 
> real and virtual). you could stick virtual pages above the 16mbyte line 
> ... but there was periodic requirement that some kernel code running in 
> "real mode" had to address virtual page contents about the 16mbyte line. 

> So there was this gimmick with a dummy virtual address space ... that 
> you stuffed an real page number below the 16mbyte line and the desired 
> real page number above the 16mbyte line, entered virtual address space 
> mode and copied the virtual page above the line to the virtual page 
> location (that was below the 16mbyte real line).

  In MVS/370, two virtual pages in common storage were reserved
for this purpose.  RSM provided a "window service", which you 
called passing one or two real frame numbers, and the address of
an exit routine.  RSM connected the real frames to the virtual 
pages, and called the exit routine.  When the exit returned, RSM
IPTEd the pages, and returned to the caller of the "window service".

  An important user of this service was the DASD ERP. The sense 
data for a correctable data check provided provided an offset into
the transfer block and 3 or 4 bytes of data to "exclusive or"
at that offset in order to correct the error.  Since ASM was using
31-bit IDAWs, the DASD ERP needed to use the window service when the
real address of the I/O buffer was above 16mbytes.  We had been running
SP1.3 as a beta test in production on the MVS development system
in Poughkeepsie on a 3033 with 32 mbytes of real storage for a few weeks,
and had been experiencing some bizarre storage overlays.  It turned out
that the DASD ERP support had not been installed on that system, so the
old DASD ERP was "correcting" the wrong real storage addresses. 
 
Jim Mulder   z/OS System Test   IBM Corp.  Poughkeepsie,  NY

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

Reply via email to