memory files and memory controller
mem* at mainbus0 flags 0x0000
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
. Physical memory is accessed
, 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)
insecure or when the kern.allowkmem
variable is set.
On some systems featuring a “Viper” memory controller,
may not configure bus arbitration correctly,
causing the boot process to freeze during either
In this case, a different initialization strategy can be achieved by setting
to 0x0001 (see