Copyright Digital Equipment Corp. All rights reserved.

Arguments

 

region_id_64

   OpenVMS usage:region identifier
   type:         quadword (unsigned)
   access:       read only
   mechanism:    by 32- or 64-bit reference
   The region ID associated with the region to create the virtual
   address range. The file VADEF.H in SYS$STARLET_C.TLB and the
   $VADEF macro in STARLET.MLB define a symbolic name for each of
   the three default regions in P0, P1, and P2 space.

   The following region IDs are defined:

   Symbol     Region

   VA$C_P0    Program region
   VA$C_P1    Control region
   VA$C_P2    64-bit program region

   Other region IDs, as returned by the $CREATE_REGION_64 service,
   can be specified. Also, given a particular virtual address, the
   region ID for the region it is in can be obtained by calling the
   $GET_REGION_INFO system service specifying the VA$_REGSUM_BY_VA
   function.
 

start_va_64

   OpenVMS usage:address
   type:         quadword address
   access:       read only
   mechanism:    by value
   The starting address for the created virtual address range. The
   specified virtual address must be a CPU-specific page aligned
   address.
 

length_64

   OpenVMS usage:byte count
   type:         quadword (unsigned)
   access:       read only
   mechanism:    by value
   Length of the virtual address space to be created. The length
   specified must be a multiple of CPU-specific pages.
 

acmode

   OpenVMS usage:access_mode
   type:         longword (unsigned)
   access:       read only
   mechanism:    by value
   Access mode associated with the call to $CRETVA_64. The access
   mode determines the owner mode of the pages as well as the read
   and write protection on the pages. The acmode argument is a
   longword containing the access mode.

   The $PSLDEF macro in STARLET.MLB and the file PSLDEF.H in
   SYS$STARLET_C.TLB define the following symbols and their values
   for the four access modes:

   Value      Symbolic Name      Access Mode

   0          PSL$C_KERNEL       Kernel
   1          PSL$C_EXEC         Executive
   2          PSL$C_SUPER        Supervisor
   3          PSL$C_USER         User

   The $CRETVA_64 service uses whichever of the following access
   modes is least privileged:

   o  Access mode specified by the acmode argument

   o  Access mode of the caller

   The protection of the pages is read/write for the resultant
   access mode and those more privileged.

   Address space cannot be created within a region that has a create
   mode associated with it that is more privileged than the caller's
   mode. The condition value SS$_IVACMODE is returned if the caller
   is less privileged than the create mode for the region.
 

flags

   OpenVMS usage:mask_longword
   type:         longword (unsigned)
   access:       read only
   mechanism:    by value
   Flag mask controlling the characteristics of the demand-zero
   pages created. The flags argument is a longword bit vector in
   which each bit corresponds to a flag. The $VADEF macro and the
   VADEF.H file define a symbolic name for each flag. You construct
   the flags argument by performing a logical OR operation on the
   symbol names for all desired flags.

   The following table describes the flag that is valid for the
   $CRETVA_64 service:

   Flag               Description

   VA$M_NO_OVERMAP    Pages cannot overmap existing address space.
                      By default, pages can overmap existing address
                      space.

   All other bits in the flags argument are reserved for future
   use by VSI and should be specified as 0. The condition value
   SS$_IVVAFLG is returned if any undefined bits are set.
 

return_va_64

   OpenVMS usage:address
   type:         quadword (unsigned)
   access:       write only
   mechanism:    by 32- or 64-bit reference
   The lowest process virtual address of the created virtual address
   range. The return_va_64 argument is the 32- or 64-bit virtual
   address of a naturally aligned quadword into which the service
   returns the virtual address.
 

return_length_64

   OpenVMS usage:byte count
   type:         quadword (unsigned)
   access:       write only
   mechanism:    by 32- or 64-bit reference
   The length of the virtual address range created. The
   return_length_64 argument is the 32- or 64-bit virtual address
   of a naturally aligned quadword into which the service returns
   the length of the virtual address range in bytes.