'\" te .\" Copyright 2002 Sun Microsystems Inc. All Rights Reserved. .\" Copyright 1989 AT&T .TH mem 7D "18 Feb 2002" "SunOS 5.11" "Devices" .SH NAME mem, kmem, allkmem \- physical or virtual memory access .SH SYNOPSIS .LP .nf /dev/mem .fi .LP .nf /dev/kmem .fi .LP .nf /dev/allkmem .fi .SH DESCRIPTION .sp .LP The file \fB/dev/mem\fR is a special file that provides access to the physical memory of the computer. .sp .LP The file \fB/dev/kmem\fR is a special file that provides access to the virtual address space of the operating system kernel, excluding memory that is associated with an I/O device. .sp .LP The file \fB/dev/allkmem\fR is a special file that provides access to the virtual address space of the operating system kernel, including memory that is associated with an I/O device. You can use any of these devices to examine and modify the system. .sp .LP Byte addresses in \fB/dev/mem\fR are interpreted as physical memory addresses. Byte addresses in \fB/dev/kmem\fR and \fB/dev/allkmem\fR are interpreted as kernel virtual memory addresses. A reference to a non-existent location returns an error. See ERRORS for more information. .sp .LP The file \fB/dev/mem\fR accesses physical memory; the size of the file is equal to the amount of physical memory in the computer. This size may be larger than 4GB on a system running the 32-bit operating environment. In this case, you can access memory beyond 4GB using a series of \fBread\fR(2) and \fBwrite\fR(2) calls, a \fBpread64()\fR or \fBpwrite64()\fR call, or a combination of \fBllseek\fR(2) and \fBread\fR(2) or \fBwrite\fR(2). .SH ERRORS .sp .ne 2 .mk .na \fB\fBEFAULT\fR\fR .ad .RS 10n .rt Occurs when trying to \fBwrite\fR(2) a read-only location (\fBallkmem\fR), \fBread\fR(2) a write-only location (\fBallkmem\fR), or \fBread\fR(2) or \fBwrite\fR(2) a non-existent or unimplemented location (\fBmem\fR, \fBkmem\fR, \fBallkmem\fR). .RE .sp .ne 2 .mk .na \fB\fBEIO\fR\fR .ad .RS 10n .rt Occurs when trying to \fBread\fR(2) or \fBwrite\fR(2) a memory location that is associated with an I/O device using the \fB/dev/kmem\fR special file. .RE .sp .ne 2 .mk .na \fB\fBENXIO\fR\fR .ad .RS 10n .rt Results from attempting to \fBmmap\fR(2) a non-existent physical (\fBmem\fR) or virtual (\fBkmem\fR, \fBallkmem\fR) memory address. .RE .SH FILES .sp .ne 2 .mk .na \fB\fB/dev/mem\fR\fR .ad .RS 16n .rt Provides access to the computer's physical memory. .RE .sp .ne 2 .mk .na \fB\fB/dev/kmem\fR\fR .ad .RS 16n .rt Provides access to the virtual address space of the operating system kernel, excluding memory that is associated with an I/O device. .RE .sp .ne 2 .mk .na \fB\fB/dev/allkmem\fR\fR .ad .RS 16n .rt Provides access to the virtual address space of the operating system kernel, including memory that is associated with an I/O device. .RE .SH SEE ALSO .sp .LP \fBllseek\fR(2), \fBmmap\fR(2), \fBread\fR(2), \fBwrite\fR(2) .SH WARNINGS .sp .LP Using these devices to modify (that is, write to) the address space of a live running operating system or to modify the state of a hardware device is extremely dangerous and may result in a system panic if kernel data structures are damaged or if device state is changed.