Unix |
Unix v7 |
|
![]() |
phys(2) |
![]() |
phys − allow a process to access physical addresses
phys(segreg, size, physadr)
The argument 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 call
phys(6, 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.
PDP-11 segmentation hardware
The function value zero is returned if the physical mapping is in effect. The value −1 is returned if not super-user, if segreg is not in the range 0-7, if size is not in the range 0-127, or if the specified segreg is already used for other than a previous call to phys.
This system call is obviously very machine dependent and very dangerous. This system call is not considered a permanent part of the system.
(phys = 52.)
sys phys; segreg; size; physadr
![]() |
phys(2) | ![]() |