2.9BSD/usr/man/cat2/phys.2

Compare this file to the similar file:
Show the results in this format:


PHYS(2)             UNIX Programmer's Manual              PHYS(2)

NAME
     phys - allow a process to access physical addresses

SYNOPSIS
     phys(segreg, size, physadr)

DESCRIPTION
     The argument _s_e_g_r_e_g specifies a process virtual (data-space)
     address range of 8K bytes starting at virtual address
     _s_e_g_r_e_gx8K bytes.  This address range is mapped into physical
     address _p_h_y_s_a_d_rx64 bytes.  Only the first _s_i_z_ex64 bytes of
     this mapping is addressable.  If _s_i_z_e is zero, any previous
     mapping of this virtual address range is nullified.  For
     example, the call

          phys(7, 1, 0177775);

     will map virtual addresses 0160000-0160077 into physical
     addresses 017777500-017777577.  In particular, virtual
     address 0160060 is the PDP-11 console located at physical
     address 017777560.

     This call may only be executed by the super-user.

ERRORS
     _P_h_y_s will fail and the segmentation registers be unaffected
     if:

     [EPERM]             The process's effective user ID is not
                         the super-user.

     [EINVAL]            _S_e_g_r_e_g is less than 0 or greater than 7.

     [EINVAL]            _S_i_z_e is less than 0 or greater than 128.

SEE ALSO
     PDP-11 segmentation hardware

BUGS
     This system call is obviously very machine dependent and
     very dangerous.  This system call is not considered a per-
     manent part of the system.

     On systems with ENABLE/34(tm) memory mapping boards, _p_h_y_s
     cannot be used to map in the I/O page.

ASSEMBLER
     (phys = 52.)
     sys phys; segreg; size; physadr

Printed 9/28/83                                                 1