phys(2)
NAME
phys − allow a process to access physical addresses
SYNTAX
int phys(segreg, size, physadr)
int segreg, size, physadr;
DESCRIPTION
The segreg specifies a process virtual (data-space) address range of 8K bytes starting at virtual address segreg×8K bytes. This address range is mapped into physical address physadr×64 bytes. Only the first size×64 bytes of this mapping is addressable. If size is zero, any previous mapping of this virtual address range is nullified. For example, the following call maps virtual addresses 0160000-0160077 into physical addresses 017777500-017777577:
phys(6, 1, 0177775);
In particular, virtual address 0160060 is the PDP-11 console located at physical address 017777560.
RESTRICTIONS
This call may only be executed by the superuser.
This system call is obviously very machine dependent and very dangerous. This system call is not considered a permanent part of the system.
DIAGNOSTICS
The phys call will fail if:
[EINVAL] The segreg is less than 0 or greater than 7.
[EINVAL] The specified size is less than 0 or greater than 128.
[EINVAL] An attempt was made to map a segment which was already mapped by some method other than by phys.
[EPERM] The process’s effective user ID is not the superuser.
ASSEMBLER
(phys = 52.)
sys phys; segreg; size; physadr
SEE ALSO
PDP-11 segmentation hardware