MEM(4)

NAME
mem, kmem - memory files and memory controller

SYNOPSIS
mem* at mainbus0 flags 0x0000

DESCRIPTION
The mem driver controls and restricts access to the systems memory by the hardware buses and the processor.

It also provides an interface to userland through the special files /dev/mem and /dev/kmem. Physical memory is accessed through /dev/mem, while kernel virtual memory is accessed through /dev/kmem. Access to kernel virtual addresses not currently mapped to memory will fail. On hppa, the physical memory range is always contiguous and starts at address 0; kernel virtual memory begins at address 0 as well.

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.

FILES
/dev/mem
/dev/kmem

SEE ALSO
securelevel(7)

CAVEATS
On some systems featuring a “Viper” memory controller, OpenBSD may not configure bus arbitration correctly, causing the boot process to freeze during either mem or cpu(4) device probe.

In this case, a different initialization strategy can be achieved by setting flags to 0x0001 ( see boot_config(8) for details).