of  storage  which  crosses  the  boundary  between  two  pages  with  different  
storage keys. This restriction applies not only toSS   instructions,  
such asMVC   and  ZAP,  but  also  to  RS   instructions,  such  as  STft,   and  to  RX   instructions,  such  as  ST   and  STD,   which  may   have  nonaligned  addresses  on  
theSystea/370.   An  exception  is  the  eVCL   instruction  which  can  be  
restarted after crossing a page boundary because the registers are
updated when the paging exception occurs.
This restriction also applies toI/O   instructions.  If  the  key  
specified in theCCW   is  zero,  then  the  data  area  for  input  may  not  cross  
the boundary between two pages with different storage keys. It  can  be  seen  that  this  system  is  most   inefficient  when  
"storage-key thrashing" occurs --when the virtualmachine   with  a  VPK   of  
ojumps   around,  storing  into  pages  with  different  VSK's.   ERROR  CODES   FROft   DeSFREE,   DeSFRES,   AND  DftSFRET   !   nonzero   ccde,   return   f=o:   or    indicates  that  the  request  could  not  be  satisfied.  Register  15  contains  
this return code, indicating which error has occurred. The codes below
apply to theDMSFRES,   DMSFREE   and  DftSFRET   macros.  
Code,--   2  
3ErI2I   DMSFREE   --  Insufficient  storage  space  is  available  to  satisfy  the  
request fer free storage. In the case of a variable request,
even theminimum   request  could  not  be  satisfied.  DftSFREE   or  DMSFRET   User   storage  pointers  destroyed.  DMSFREE   or  DMSFRET   Nucleus  storage  pointers  destroyed.  4   DMSFREE   An  invalid  size  was  requested.  This  error  exit   is  
taken if the requested size is not greater than zero. In the
case of variable requests, this errorexit   is  taken  if  the  minimum   request  is  greater  than  the  maximum   request.  However,  
the error is not detected ifDftSPREE   is  able  to  satisfy  the  maximum   request.  
5DMSFRET   An  invalid  size  was   passed  to  the  DMSFRET   macro.  This  
error exit is taken if the specified length is net positive.
6DMSFRET   --  The  block  of  storage  which  is  teing   released  was  never  
allocated byDMSFREE.   Such   an  error  is  detected  if  one  of  the  
following errors is found:
a. The block is not entirely inside either the free storage area
inlow   storage  or  the  user  program   area  between  FREELOWE   and  FREEUPPR.   b.  The  block  crosses  
allocated for user
type storage.
a page-boundary which separates a page
storagefrom   a  page  allocated  for  nucleus  
c. The block overlaps another block already on the free storage
chain.
7DMSFRET   --  The  address  given  for  the  block  being  released  is  not  
a doubleword boundary.
8DMSFRES   --  An  illegal  request  code  was  passed  to  the  DMSPRES   routine.  Because  all  request  codes  are  generated  by  the  macro,   this  error  code  should  never  appear.  
2-110IBM   VM/370   System   Logic  and  Program  Determination--Volume   2  
storage keys. This restriction applies not only to
such as
the
restarted after crossing a page boundary because the registers are
updated when the paging exception occurs.
This restriction also applies to
specified in the
the boundary between two pages with different storage keys.
"storage-key thrashing" occurs --when the virtual
o
this return code, indicating which error has occurred. The codes below
apply to the
Code
3
request fer free storage. In the case of a variable request,
even the
taken if the requested size is not greater than zero. In the
case of variable requests, this error
the error is not detected if
5
error exit is taken if the specified length is net positive.
6
allocated by
following errors is found:
a. The block is not entirely inside either the free storage area
in
allocated for user
type storage.
a page-boundary which separates a page
storage
c. The block overlaps another block already on the free storage
chain.
7
a doubleword boundary.
8
2-110
            
            




















































































































































































































































































