xref: /original-bsd/share/man/man4/man4.tahoe/mem.4 (revision 2301fdfb)
Copyright (c) 1986 Regents of the University of California.
All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.

@(#)mem.4 6.2 (Berkeley) 06/30/87

MEM 4 ""
C 7
NAME
mem, kmem, vmem - main memory
DESCRIPTION
.lg Mem is a special file that is an image of the main memory of the computer. It may be used, for example, to examine (and even to patch) the system.

Byte addresses in mem are interpreted as physical memory addresses. References to non-existent locations cause errors to be returned.

Examining and patching device registers is likely to lead to unexpected results when read-only or write-only bits are present.

The file kmem is the same as mem except that kernel virtual memory rather than physical memory is accessed.

The file vmem allows access to the mapped portion of the VERSAbus i/o space. On the Tahoe the upper megabyte of the physical address space is accessible through this file (0xfff00000 through 0xffffffff). Accesses to the upper 64 kilobytes of the i/o space result in VERSAbus transfers with a 16-bit address (the offset in this region) and a ``non-privileged short i/o'' VERSAbus address modifier. Accesses to the remainder of the mapped region, result in VERSAbus transfers with a 24-bit address and a ``non-privileged standard'' VERSAbus address modifier. This region is actually part of the region between 0xfeff0000 and 0xffff0000 which generates VERSAbus transfers with a 24-bit address. Accesses to the remainder of the one gigabyte i/o space generate transfers that utilize a 32-bit address with a ``non-privileged extended'' address modifier. Any 32-bit address generated by a cpu access to this part of the i/o space have the upper two bits zero; thus, for example, an access to physical address 0xfe000000 causes the address 0x3e000000 to be supplied in the resultant VERSAbus read/write cycle.

On the Tahoe, the per-process data for the current process begins at virtual address 0xbffff000.

FILES
/dev/mem, /dev/kmem, /dev/vmm
BUGS
Memory files are accessed one byte at a time, an inappropiate method for some device registers.