| .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), |
| .\" Fri Apr 2 11:32:09 MET DST 1993 |
| .\" |
| .\" %%%LICENSE_START(GPLv2+_DOC_FULL) |
| .\" This is free documentation; you can redistribute it and/or |
| .\" modify it under the terms of the GNU General Public License as |
| .\" published by the Free Software Foundation; either version 2 of |
| .\" the License, or (at your option) any later version. |
| .\" |
| .\" The GNU General Public License's references to "object code" |
| .\" and "executables" are to be interpreted as the output of any |
| .\" document formatting or typesetting system, including |
| .\" intermediate and printed output. |
| .\" |
| .\" This manual is distributed in the hope that it will be useful, |
| .\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| .\" GNU General Public License for more details. |
| .\" |
| .\" You should have received a copy of the GNU General Public |
| .\" License along with this manual; if not, see |
| .\" <http://www.gnu.org/licenses/>. |
| .\" %%%LICENSE_END |
| .\" |
| .\" Modified Sat Jul 24 16:59:10 1993 by Rik Faith (faith@cs.unc.edu) |
| .TH MEM 4 2015-01-02 "Linux" "Linux Programmer's Manual" |
| .SH NAME |
| mem, kmem, port \- system memory, kernel memory and system ports |
| .SH DESCRIPTION |
| .IR /dev/mem |
| is a character device file |
| that is an image of the main memory of the computer. |
| It may be used, for example, to examine (and even patch) the system. |
| .PP |
| Byte addresses in |
| .IR /dev/mem |
| are interpreted as physical memory addresses. |
| References to nonexistent locations cause errors to be returned. |
| .PP |
| Examining and patching is likely to lead to unexpected results |
| when read-only or write-only bits are present. |
| .PP |
| Since Linux 2.6.26, and depending on the architecture, the |
| .B CONFIG_STRICT_DEVMEM |
| kernel configuration option limits the areas |
| which can be accessed through this file. |
| For example: on x86, RAM access is not allowed but accessing |
| memory-mapped PCI regions is. |
| .PP |
| It is typically created by: |
| .PP |
| .in +4n |
| .EX |
| mknod \-m 660 /dev/mem c 1 1 |
| chown root:kmem /dev/mem |
| .EE |
| .in |
| .PP |
| The file |
| .IR /dev/kmem |
| is the same as |
| .IR /dev/mem , |
| except that the kernel virtual memory |
| rather than physical memory is accessed. |
| Since Linux 2.6.26, this file is available only if the |
| .B CONFIG_DEVKMEM |
| kernel configuration option is enabled. |
| .PP |
| It is typically created by: |
| .PP |
| .in +4n |
| .EX |
| mknod \-m 640 /dev/kmem c 1 2 |
| chown root:kmem /dev/kmem |
| .EE |
| .in |
| .PP |
| .IR /dev/port |
| is similar to |
| .IR /dev/mem , |
| but the I/O ports are accessed. |
| .PP |
| It is typically created by: |
| .PP |
| .in +4n |
| .EX |
| mknod \-m 660 /dev/port c 1 4 |
| chown root:kmem /dev/port |
| .EE |
| .in |
| .SH FILES |
| .I /dev/mem |
| .br |
| .I /dev/kmem |
| .br |
| .I /dev/port |
| .SH SEE ALSO |
| .BR chown (1), |
| .BR mknod (1), |
| .BR ioperm (2) |