Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ shmconfig(1M) — CX/UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

shmdefine(1)

intro(2)

shmget(2)

shmbind(2)

shmctl(2)

ftok(3C)

memory(7)

shmconfig(1M)  —  CX/UX

NAME

shmconfig− configure shared memory regions

SYNOPSIS

/etc/shmconfig [−L[0-7] | −H[0-7] | −N | −C] −s size [−u user] [−g group] [−m mode] key

/etc/shmconfig [−L[0-7] | −H[0-7] | −I | −N | −C] −p paddr −s size [−u user] [−g group] [−m mode] key

DESCRIPTION

shmconfig is used to create shared memory regions that need to be treated as global resources by the system.  The regions created by shmconfig are usually created for the purposes of either reserving a particular IPC key or mapping a particular section of physical or I/O memory. 

Depending upon the command line options, the shared memory region may be created in either global memory, the local memory of a given CPU, or physical I/O memory.  The default is to place the region in global memory. 

For regions in global or local memory, the size argument is relayed to the virtual memory subsystem which then allocates pages to the region out of the appropriate memory pool.  With physically bound regions, the size argument is passed to the shmbind(2) system service as a check against the physical address arguments to ensure that the specified physical section lies in its expected space. 

The created region can optionally be assigned a user, group, and nine-bit mode value. 

OPTIONS

−L[0-7]
The shared memory region is to be loaded into the local memory of a particular CPU with a soft binding. A soft binding allows pages to be allocated from global memory when pages are not available for allocation from the local memory pool. This option has no effect on systems without local memory. The numerical argument specifies the cpuid of the processor in whose local memory the region’s pages are to be bound. 

−H[0-7]
The shared memory region is to be loaded into the local memory of a particular CPU with a hard binding. A hard binding means that the process will receive a SIGSEGV signal if pages cannot be allocated from the local memory pool when needed. This option has no effect on systems without local memory. The numerical argument specifies the cpuid of the processor in whose local memory the region’s pages are to be bound. 

−I The pages of the shared memory region are constrained to lie in I/O memory space.  This option may only be specified if you are creating a physically bound shared memory region. 

−N The pages of the shared memory region will not be cached.  This option is not needed when the region is bound to I/O memory space.  These regions are always cache-inhibited. 

−C The pages of the shared memory region will be cached in copyback mode.  (The default is writethrough mode.)  This option is ignored when the region is bound to I/O memory space, or when the −N cache-inhibit option has been specified.  This option is NOT recommended for shared memory regions that are used for I/O purposes. 

−s size
Size of the shared memory region in bytes.

−p paddr
The shared memory region created by the result of the shmconfig command will be a physically bound region with its starting address at paddr. 

−u user
The shared memory region created by shmconfig will have the shm_perm.uid field of its associated data structure set to the numerical uid value that corresponds to user. 

−g group
The shared memory region created by shmconfig will have the shm_perm.gid field of its associated data structure set to the numerical gid value that corresponds group. 

−m mode
The shared memory region created by shmconfig will have the lower nine bits of shm_perm.mode field of its associated data structure set to the value mode. 

The key parameter may be specified as either an integer or a pathname.  If specified as an integer, that value will be used as the key parameter for the shmget(2) call.  If specified as a pathname, the results of an ftok(key, 0) will be used as the key parameter for the shmget(2) call. 

DIAGNOSTICS

If shmconfig encounters an error, it will output a message indicating which system call failed and the reason for the failure. 

SEE ALSO

shmdefine(1), intro(2), shmget(2), shmbind(2), shmctl(2), ftok(3C), memory(7). 

CX/UX Administrator’s Reference

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026