1*61590Sbostic.\" Copyright (c) 1986, 1991, 1993 2*61590Sbostic.\" The Regents of the University of California. All rights reserved. 330149Smckusick.\" 447673Scael.\" %sccs.include.redist.man% 530149Smckusick.\" 6*61590Sbostic.\" @(#)mem.4 8.1 (Berkeley) 06/05/93 747673Scael.\" 847673Scael.Dd 947673Scael.Dt MEM 4 tahoe 1047673Scael.Os 1147673Scael.Sh NAME 1247673Scael.Nm mem , 1347673Scael.Nm kmem , 1447673Scael.Nm vmem 1547673Scael.Nd main memory 1647673Scael.Sh DESCRIPTION 1747673ScaelThe special file 1847673Scael.Nm /dev/mem 1947673Scaelis an interface to the physical memory of the computer. 2047673ScaelByte offsets in this file are interpreted as physical memory addresses. 2147673ScaelReading and writing this file is equivalent to reading and writing 2247673Scaelmemory itself. 2347673ScaelOnly offsets within the bounds of 2447673Scael.Nm /dev/mem 2547673Scaelare allowed. 2647673Scael.Pp 2747673ScaelKernel virtual memory is accessed through the interface 2847673Scael.Nm /dev/kmem 2947673Scaelin the same manner as 3047673Scael.Nm /dev/mem . 3147673ScaelOnly kernel virtual addresses that are currently mapped to memory are allowed. 3247673Scael.Pp 3330149SmckusickThe file 3447673Scael.Nm /dev/vmem 3547673Scaelallows access to the mapped portion of the 3647673Scael.Tn VERSAbus 3747673Scael.Tn I/O 3847673Scaelspace. On the Tahoe the upper megabyte 3931722Ssamof the physical address space is accessible through 4031722Ssamthis file (0xfff00000 through 0xffffffff). 4131722SsamAccesses to the upper 64 kilobytes of 4247673Scaelthe 4347673Scael.Tn I/O 4447673Scaelspace result in 4547673Scael.Tn VERSAbus 4647673Scaeltransfers with a 4731722Ssam16-bit address (the offset in this region) and a 4847673Scael.Dq No non-privileged short Tn I/O 4947673Scael.Tn VERSAbus 5047673Scaeladdress modifier. 5131722SsamAccesses to the remainder of the mapped region, 5247673Scaelresult in 5347673Scael.Tn VERSAbus 5447673Scaeltransfers with a 24-bit address 5547673Scaeland a ``non-privileged standard'' 5647673Scael.Tn VERSAbus 5747673Scaeladdress 5831722Ssammodifier. This region is actually part of the region 5931722Ssambetween 0xfeff0000 and 0xffff0000 6047673Scaelwhich generates 6147673Scael.Tn VERSAbus 6247673Scaeltransfers with a 24-bit address. 6347673ScaelAccesses to the remainder of the one gigabyte 6447673Scael.Tn I/O 6547673Scaelspace 6631722Ssamgenerate transfers that utilize a 32-bit address with 6731722Ssama ``non-privileged extended'' address modifier. Any 6831722Ssam32-bit address generated by a cpu access to this part 6947673Scaelof the 7047673Scael.Tn I/O 7147673Scaelspace have the upper two bits zero; thus, 7231722Ssamfor example, an access to physical address 0xfe000000 7331722Ssamcauses the address 0x3e000000 to be supplied in the 7447673Scaelresultant 7547673Scael.Tn VERSAbus 7647673Scaelread/write cycle. 7747673Scael.Pp 7831722SsamOn the Tahoe, the 7947673Scaelbase address for the 8047673Scaelper-process data of the current process 8147673Scaelis virtual address 0xbffff000. 8247673Scael.Sh FILES 8347673Scael.Bl -tag -width Pa -compact 8447673Scael.It Pa /dev/mem 8547673Scael.It Pa /dev/kmem 8647673Scael.It Pa /dev/vmm 8747673Scael.El 8847673Scael.Sh HISTORY 8947673ScaelThe 9047673Scael.Nm mem , 9147673Scael.Nm kmem 9247673Scaelfiles appeared in 9347673Scael.At v6 . 9447673ScaelThe file 9547673Scael.Nm vmem 9647673Scaelappeared in 9747673Scael.Bx 4.3 tahoe . 9847673Scael.Sh BUGS 9930149SmckusickMemory files are accessed one byte 10030149Smckusickat a time, an inappropiate method for some 10130149Smckusickdevice registers. 102