allocate virtual address space for buffer page list
Synopsis (Not in current DDI version)
void bp_mapin(struct buf_t *bp);
function is used to map virtual address space to
a page list maintained by the
during a paged-I/O request.
Pointer to the buffer header structure.
A paged-I/O request is identified by the B_PAGEIO flag
being set in the ``b_flags'' field of the buffer header passed
to a driver's
Before calling bp_mapin, the
offset of the location in the first page where the I/O is to
begin is stored in the
b_un.b_addr field of the buf
structure referenced by bp (for strategy routines, this is
done for the driver by the system).
bp_mapin allocates system virtual address space,
maps that space to the page list, and returns the
new virtual address in the
b_un.b_addr field of the buf structure.
This address is the virtual address of the start of the page mappings,
plus the offset given by the original value of bp->b_un.b_addr.
After the I/O completes, the
virtual address space can be deallocated using the
B_PAGEIO will not be set
unless the driver has the D_NOBRKUP flag set
Context and synchronization
User or blockable
1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp
Differences beteen versions
This function is replaced by
in DDI 8.
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005