vm_cflush Kernel Service

Purpose

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

Syntax

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/vmuser.h>

void vm_cflush ( eaddr,  nbytes)
caddr_t eaddr;
int nbytes;

Parameters

Item Description
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.

Description

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.