| Current File : //usr/share/man/man7d/mem.7d |
'\" 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.