March 16, 2004 MEM 4 hp700

### 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 hp700, 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 NetBSD1.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 cpu(4) device probe.