PHYS(2)

NOMBRE
phys - permite a un proceso acceder a una direccion fisica de memoria [NO IMPLEMENTADA]

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

DESCRIPCIÓN
ATENCION: Desde que esta funcion no esta implementada desde Linux 0.99.11, siempre devolverá -1 y fijará errno a ENOSYS. phys ubica memoria arbitrariamente en el espacio virtual de direcciones de un proceso. physnum es un valor en (0–3) que especifica cual de los 4 espacios fisicos va a ser fijado. Pueden estar activas hasta 4 llamadas a phys al mismo tiempo. virtaddr es el la direccion virtual del proceso. size es el numero de bytes a ubicar. physaddr es la direccion fisica modificar (mapear).

Los valores validos para virtaddr y physaddr estan delimitados por el hardware y deben ser multipos de la resolucion del esquema de manejo de memoria de la CPU. Si size no es cero, size es redondeado por exceso al proximo valor aceptable por la MMU. Si size es cero, cualquier asignacion previa mediante phys(2) para physnum es puesta a NULL.

VALOR DEVUELTO
Si es correcto es devuelto el valor 0. Caso de error es devuelto -1, y errno es fijado apropiadamente.

COMPATIBLE CON
Version 7.

ERRORES
phys es muy dependiente de la arquitectura.

VER TAMBIÉN
mmap(2), munmap(2)