mtrr_add_page(9)
NAME
mtrr_add_page - Add a memory type region
SYNOPSIS
int mtrr_add_page (unsigned long base, unsigned long size, unsigned int type, char increment);
ARGUMENTS
- base Physical base address of region in pages (4
- KB)
- size Physical size of region in pages (4 KB)
- type Type of MTRR desired
- increment If this is true do usage counting on the
- region
DESCRIPTION
Memory type region registers control the caching on newer
Intel and non Intel processors. This function allows
drivers to request an MTRR is added. The details and hard
ware specifics of each processor's implementation are hid
den from the caller, but nevertheless the caller should
expect to need to provide a power of two size on an equiv
alent power of two boundary.
If the region cannot be added either because all regions
are in use or the CPU cannot support it a negative value
is returned. On success the register number for this entry
is returned, but should be treated as a cookie only.
On a multiprocessor machine the changes are made to all
processors. This is required on x86 by the Intel proces
sors.
The available types are
MTRR_TYPE_UNCACHABLE - No caching
MTRR_TYPE_WRBACK - Write data back in bursts when
ever
MTRR_TYPE_WRCOMB - Write data back soon but allow
bursts
MTRR_TYPE_WRTHROUGH - Cache reads but not writes
BUGS
- Needs a quiet flag for the cases where drivers do not
- mind failures and do not wish system log messages to be
sent.