Ok, here are the basic steps: 

- Locate the PTE and PGSTE 
- If PGSCPLOK=1, the page is locked to real, and
  if PGSPINCT=1, and PGSOVFLW and PGSOVFL1 are all 0, 
  then you're done.

  Otherwise, check if the page is (also or instead) 
  locked to logical:

- If PGSALIAS=0 or PGSPINCT, PGSOVFL1 and PGSOVFLW are
  all 0, then the page is not locked to logical. 

  Otherwise, if PGSALIAS=1 and any of PGSPINCT, 
  PGSOVFL1 and PGSOVFLW are not 0, continue: 

- The valid PTE contains the frame address (PFRA)
- Convert the frame address to a FRMTE address
  (see AEFRM MACRO for the conversion algorithm)
- Use FRMTE field FRMSXPN to generate the System
  Execution Space (Host Logical) page address (tack
  8 0 bits on the right).
- Convert the SXS page address to the SXS Table Entry
  (SXSTE) address (see SXSAE MACRO for the conversion
  algorithm).
- If SXSCPLOK=1, the page is locked to logical.

I hope that helps.  If you're planning on running these structures 
from "outside" of CP, say, from another virtual machine, note that 
they're not completely serialized and actions by the target virtual
machine (such as reset, clear, and release functions) can cause 
pages locked by command to be unlocked and the links between these
structures disconnected. 

- Bill Holder, z/VM Development, IBM

On Thu, 11 Dec 2008 13:30:46 -0500, David Kreuter
<dkreu...@vm-resources.com> wrote:

>nah I am in need of a method to determine which pages of a virtual machi
ne
have been locked by the lock command.
>David
>
>________________________________

Reply via email to