PHYS(2)

NAME
phys - allow a process to access physical addresses [NOT IMPLEMENTED]

SYNOPSIS
int phys(int physnum, char *virtaddr, long size,
char *physaddr);

DESCRIPTION
WARNING: Since this function is not implemented as of Linux 0.99.11, it will always return -1 and set errno to ENOSYS. phys maps arbitrary physical memory into a process's virtual address space. physnum is number (0–3) that specifies which of the 4 physical spaces to set up. Up to 4 phys calls can be active at any one time. virtaddr is the process's virtual address. size is the number of bytes to map in. physaddr is the physical address to map in.

Valid virtaddr and physaddr values are constrained by hardware and must be at an address multiple of the resolution of the CPU's memory management scheme. If size is non zero, size is rounded up to the next MMU resolution boundary. If size is zero, any previous phys(2) mapping for that physnum is nullified.

RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

CONFORMING TO
Version 7.

BUGS
phys is very machine dependent.

SEE ALSO
mmap(2), munmap(2)