OpenBSD manual page server

Manual Page Search Parameters
MEM(4) Device Drivers Manual (loongson) MEM(4)

mem, kmemmemory files

The file /dev/mem is an interface to the physical memory of the computer. Byte offsets in this file are interpreted as physical memory addresses. Reading and writing this file is equivalent to reading and writing memory itself. An error will be returned if an attempt is made to reference an offset outside of /dev/mem.

Kernel virtual memory is accessed via the file /dev/kmem in the same manner as /dev/mem. Only kernel virtual addresses that are currently mapped to memory are allowed.

On the loongson, physical memory is always contiguous, but can be accessed from two distinct physical address windows:

This layout implies that a given memory location within the first 256 megabytes may indifferently be addressed in the 0x00000000 - 0x0fffffff address range or the 0x80000000 - 0x8fffffff address range.

The kernel virtual memory begins at address 0xc000000000000000.

Even with sufficient file system permissions, these devices can only be opened when the securelevel(7) is insecure or when the kern.allowkmem sysctl(2) variable is set.

/dev/mem
 
/dev/kmem
 

securelevel(7)

The /dev/mem and /dev/kmem files appeared in Version 6 AT&T UNIX.

January 12, 2018 OpenBSD-6.8