[ Previous | Next | Contents | Home | Search ]
AIX Version 4.3 Kernel and Subsystems Technical Reference, Volume 1

vm_cflush Kernel Service


Flushes the processor's cache for a specified address range.


#include <sys/types.h>
#include <sys/errno.h>
#include <sys/vmuser.h>
void vm_cflush (eaddr, nbytes)
caddr_t eaddr;
int nbytes;


eaddr Specifies the starting address of the specified range.
nbytes Specifies the number of bytes in the address range. If this parameter is negative or 0, no lines are invalidated.


The vm_cflush kernel service writes to memory all modified cache lines that intersect the address range (eaddr, eaddr + nbytes -1). The eaddr parameter can have any alignment in a page.

The vm_cflush kernel service can only be called with addresses in the system (kernel) address space.

Execution Environment

The vm_cflush kernel service can be called from both the interrupt and the process environment.

Return Values

The vm_cflush kernel service has no return values.

Implementation Specifics

The vm_cflush kernel service is part of Base Operating System (BOS) Runtime.

Related Information

Memory Kernel Services and Understanding Virtual Memory Manager Interfaces in AIX Kernel Extensions and Device Support Programming Concepts.

[ Previous | Next | Contents | Home | Search ]