MEMCONFIG(8) | System Manager's Manual | MEMCONFIG(8)

# NAME

`memconfig` — control system cache behaviour with respect to memory

# SYNOPSIS

`memconfig` | list [`-a`]

`memconfig` | set `-b` base `-l` length `-o` owner attribute

`memconfig` | clear `-o` owner

`memconfig` | clear `-b` base `-l` length

# DESCRIPTION

A number of supported system architectures allow the behaviour of the CPU cache to be programmed to behave differently depending on the region being written.

`memconfig` provides an interface to this facility, allowing CPU cache behavior to be altered for ranges of system physical memory.

These ranges are typically power-of-2 aligned and sized, however the specific rules governing their layout vary between architectures. The `memconfig` program does not attempt to enforce these rules, however the system will reject any attempt to set an illegal combination.

The operands and their options are as follows:

list
  List range slots.
  `-a`
    List all range slots, even those that are inactive.
set
  Set memory range attributes.
  `-b` base
    Memory range base address.
  `-l` length
    Length of memory range in bytes, power of 2.
  `-o` owner
    Text identifier for this setting (7 char max).
  attribute
    Attributes applied to this range; combinations of force, uncacheable, write-combine, write-through, write-back, or write-protect.
clear
  Clear memory range attributes. Ranges may be cleared by owner or by base/length combination.

  To clear based on ownership:

  `-o` owner
    All ranges with this owner will be cleared.

  To clear based on the base/length combination:

  `-b` base
    Memory range base address.
  `-l` length
    Length of memory range in bytes, power of 2.

  Base and length must exactly match an existing range.

# SEE ALSO

mtrr(4)

# HISTORY

`memconfig` was originally introduced in FreeBSD 3.3 as memcontrol.

January 20, 2014 | Debian