MEM(4) | Device Drivers Manual (hppa) | MEM(4)

# NAME

`mem`, `kmem` —
memory files and memory controller

# SYNOPSIS

`mem* at mainbus0`

# 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.

The writeability of the /dev/mem and /dev/kmem special files are controlled by the system securelevel in addition to the filesystem permissions.

# FILES

/dev/mem
/dev/kmem

# HISTORY

The `mem` driver originates from OpenBSD. It was ported to NetBSD 1.6 by Matthew Fredette.

# BUGS

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

February 17, 2017 | NetBSD 9.5