Hi-

The cpint modules has a problem running on VM guests that have defined more
than 2G storage.   The code in question is:
..
SAM31
DIAG 0x08
SAM64
..

If the cpint module is loaded above the 31-bit address space the SAM31
fails with an exception.

The kernel function cpcmd() preforms the same function but is build into
the kernel so the code is located at an address in side the 31-bit address
space.   I would like to change cpint to call the cpcmd() function thus
eliminating the DIAG call in cpint and avoiding the problem.

 Is it safe to assume that the cpcmd() function will always be loaded into
the lower address?

Another suggestion:
Starting in VM 4.3 the DIAG 0x08 is allowed in the 64-bit mode so the SAM31
is not needed.  However, this would require adding logic to check the
version of VM if  >2GB.  This requires a DIAG 0x00 instruction this
instruction has the same restriction as DIAG 0x08, so catch 22.

David  Wilder
   IBM Global Services, Linux Change Team
   [EMAIL PROTECTED]
   (503) 578-3789  T/L 775-3789

Reply via email to