[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

Technical Reference: Kernel and Subsystems, Volume 1

xlate_unpin Kernel Service

Purpose

Unpins all pages of a virtual buffer.

Syntax

int xlate_unpin (dp, baddr, count)
struct xmem *dp;
caddr_t baddr;
int count;

Description

The xlate_unpin kernel service unpins pages from a prior call to the xlate_pin kernel service based on the baddr and count parameters. It does this by utilizing the pretranslated real page numbers appended to the cross memory descriptor pointed to by dp.

If the XLATE_PERSISTENT flag is not set in the prexflags flag word of the pretranslation data structure, the pretranslation data structures are also freed.

Parameters

dp Points to the cross memory descriptor.
baddr Points to the virtual buffer.
count Specifies the length of the virtual buffer.

Return Values

If successful, the xlate_unpin kernel service returns 0. If unsuccessful, one of the following is returned:

EINVAL Invalid cross memory descriptor or parameters.
ENOSPC Unable to allocate paging space (case of mmap segment).
ENOSPC Out of Paging Resources.
XMEM_FAIL Page Access violation.

Related Information

xlate_create Kernel Service, xlate_remove Kernel Service, xm_det Kernel Service, xm_mapin Kernel Service, or xlate_pin Kernel Service.

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]