sgi_use_anyaddr man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



sgi_use_anyaddr(1)					    sgi_use_anyaddr(1)

NAME
     sgi_use_anyaddr - disable reserved range for auto-placed mappings

SYNOPSIS
     sgi_use_anyaddr command [arguments]

DESCRIPTION
     sgi_use_anyaddr executes command with the reserved range of the virtual
     address space (from 0x30000000 to 0x40000000) disabled.  Normally, the
     kernel does not auto-place mappings made by mmap(2) and shmat(2) in the
     reserved range. By disabling the reserved range with sgi_use_anyaddr, the
     kernel is permitted to use any available virtual address for mapping
     requests made by command.	sgi_use_anyaddr is implemented by invoking
     syssgi(2) with request parameter SGI_UNSUPPORTED_MAP_RESERVED_RANGE and
     then performing an exec of command. The effect of this option is the same
     as if MAP_SGI_ANYADDR and SHM_SGI_ANYADDR were added to all future calls
     to mmap(2) and shmat(2) respectively by command.  Note that this syssgi
     option is inherited across fork and exec, so command and all its
     descendants will be affected by this.

     As described in mmap(2), the kernel chooses a virtual address for a new
     mapping created by mmap(2) or shmat(2) when zero is passed as the attach
     address.  When the kernel auto-places a mapping in this manner, it is
     guaranteed that it will not place the mapping in the reserved range.  The
     only mappings that can be placed in the reserved range are those where
     the user explicitly specifies an attach address that is in the reserved
     range.

     The reserved range was originally created in the earlier 90's by a
     MIPS/UNIX standards body at the request of application writers.  The
     application writers wanted a portion of the virtual address space where
     they could be assured they could place their own mappings via mmap(2) and
     shmat(2) without the risk of overlapping other mappings placed by the
     kernel.  A 256 MB region from 0x30000000 to 0x40000000 was reserved for
     use by applications to use by specifying an explicit attach address with
     mmap(2) or shmat(2). It is guaranteed the kernel will never auto-place a
     mapping in this range when zero is passed as the attach address to
     mmap(2) and shmat(2) because this range has been reserved for
     applications that specify explicit attach addresses in this range.

     At the time the reserved range was created, applications were still
     relatively small by today's standards, so having this 256 MB hole in the
     middle of the 2 GB user virtual address space was not an issue.
     Application program size has grown substantially over the years and some
     applications find they can no longer easily fit in the 2 GB address space
     available when running in 32-bit mode.  Having the reserved range take
     away 256 MB makes it difficult for some applications to allocate the
     memory space they require on 32-bit systems.  This command, the
     SGI_UNSUPPORTED_MAP_RESERVED_RANGE syssgi(2) option, the MAP_SGI_ANYADDR
     flag to mmap(2), and the SHM_SGI_ANYADDR flag to shmat(2) together allow
     the application to control when the reserved range is used so
     applications which so choose may disable it.  For compatibility, the

									Page 1

sgi_use_anyaddr(1)					    sgi_use_anyaddr(1)

     reserved range is normally enabled.

     The reserved range is in effect for 64-bit applications as well, but
     since the virtual address space is so large for these it is rarely an
     issue.  In general, 64-bit applications do not need to be concerned with
     these new flags and options to control the reserved range.

FILES
     /usr/lib/locale/locale/LC_MESSAGES/uxue
	  language-specific message file [See LANG on environ(5).]

SEE ALSO
     mmap(2), shmat(2).	 syssgi(2).

WARNINGS
     Some existing applications are dependent on the reserved range being
     honored by the kernel.  Using this command to disable the reserved range
     for a command that requires it may cause it to fail, dump core, or
     otherwise execute incorrectly.  This applies to any other programs the
     command may run via fork/exec since the option is inherited.  Therefore,
     this command and the syssgi(2) option must be used with extreme care.  It
     should only be used with programs the user is certain are not dependent
     on the reserved range.  The effect this command may have on applications
     that are in some way dependent on the reserved range is strictly
     unsupported by SGI.

									Page 2

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net