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.