|
|
Access to system devices from Linux mode or for Linux executables is managed by the Device Kernel Interface (lxdevfs). Linux device node names, major and minor numbers, and control information, are different from UnixWare 7 device nodes. The Device Kernel Interface maps the Linux device names, along with their major and minor numbers and control information, to equivalent UnixWare 7 devices. This allows native UnixWare 7 devices to appear as though they are Linux devices.
Not all Linux devices and drivers have UnixWare 7 equivalents. If a Linux process attempts to access a device driver for which there is no UnixWare 7 equivalent, the process might display an error message or fail.
Linux block devices are not supported by the Device Kernel Interface. Likewise, some drivers are not supported. Most unsupported drivers are mapped to /dev/null. This prevents system panics when non-existent drivers are accessed, but the process accessing the driver might not run properly.
Mapping is provided for the following device classes:
Depending upon the mode you are in, or the type of executable being processed, different files provide device information. The Device Kernel Interface provides mapping whenever /linux/dev is accessed.
/etc/conf/pack.d/lxdevfs/space.c contains the mapping table for all devices. The table in the space.c file can be updated, but caution is advised because incorrect information can cause system panics. See ``Adding a device''.
The device nodes in /linux/dev are installed by the Caldera OpenLinux distribution used with the LKP, not by the LKP itself. The /linux/dev directory usually contains many device nodes for which there is no equivalent node in UnixWare 7. The presence of a device node in /linux/dev does not indicate that the device is supported; the device also requires an equivalent device node and a functioning device driver on the UnixWare 7 side in order to work. Only Linux devices that are specifically supported by the Device Kernel Interface work properly.