next contents previous
Next: dup (2) Up: contents Previous: dp_xmfree (2)





DP_XMSHARE(2-N)            SYSTEM CALLS           DP_XMSHARE(2-N)


NAME
     dp_xmshare,  dp_xmshare_fix -- attach a global memory region
     into a global virtual space


SYNOPSIS
     #include <sys/mppg.h>

     void *dp_xmshare(void *addr);
     void *dp_xmshare_fix(void *addr,void *gaddr);


DESCRIPTION
     dp_xmshare attaches the specified global memory region  into
     a  global virtual space.  dp_xmshare_fix attaches the speci-
     fied global memory region into the specified  address  on  a
     global virtual space.  The global memory which is attached a
     global virtual space will be able to used for  INA  instruc-
     tions.   addr specifies the start address of the global mem-
     ory  region  on  the  process   virtual   space   given   by
     dp_xmalloc(2).   gaddr  specifies  the address on the global
     virtual space to be attached.  An address on the global vir-
     tual  space consists with a logical node number (bit0-bit15)
     and an address in the node (bit24-bit63).  For  gaddr,  only
     the part of the address in the node is valid and the part of
     the logical node number will be ignored.

     The  global  memory  which  is  attached  by  dp_xmshare  or
     dp_xmshare_fix  will  be  able to referred to from a process in
     the same MPPG on the other node.

     The calling process must belong to a multi-node MPPG.

     dp_xmshare fails if one or more of the following are true:

     [EINVAL]   The calling process does not belong  to  a  multi-
                node MPPG.

     [EINVAL]   addr  is  not  a start address of a global memory
                region.

     [EINVAL]   The specified global  memory  region  is  already
                attached in the global virtual space.

     [EAGAIN]   Cannot allocate a system resource.

     dp_xmshare_fix fails if one or more of the following are
     true:

     [EINVAL]   The calling process does not belong  to  a  multi-
                node MPPG.

     [EINVAL]   addr  is  not  a start address of a global memory
                region.



SUPER-UX            Last change: Oct 13, 1999                   1





DP_XMSHARE(2-N)            SYSTEM CALLS           DP_XMSHARE(2-N)


     [EINVAL]   gaddr is an illegal address.

     [EINVAL]   The address of specified by gaddr is already used
                in the global virtual space.

     [EAGAIN]   Cannot allocate a system resource.


SEE ALSO
     dp_create(2),    dp_join(2),    dp_exit(2),   dp_xmalloc(2),
     dp_xmfree(2),    dp_xmatt(2),    dp_cntl(2),     dp_kill(2),
     dp_resume(2)
     Global Memory in the SUPER-UX Programmer's Guide

DIAGNOSTICS
     Upon successful completion, dp_xmshare or dp_xmshare_fix returns
     the start address of the global memory on the global virtual
     space.   The returned address includes the part of the logi-
     cal node number (bit0-bit15).  Otherwise, a value of  -1  is
     returned and errno is set to indicate the error.





































SUPER-UX            Last change: Oct 13, 1999                   2




next contents previous
Next: dup (2) Up: contents Previous: dp_xmfree (2)

G1AB02E Programmer's Reference Manual