Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rdma_filter(D3) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought






       rdma_filter(D3)                                      rdma_filter(D3)


       NAME
             rdma_filter - filter transfers to use only DMA-able memory

       SYNOPSIS
             #include <sys/types.h>
             #include <sys/buf.h>
             #include <sys/ddi.h>
             void rdma_filter(void (*strat)(), buf_t *bp);

          Arguments
             strat     Address of the driver's strategy routine.

             bp        Pointer to the buf(D4) structure describing the I/O
                       request.

       DESCRIPTION
             rdma_filter ensures that DMA transfers only occur to DMA-able
             memory.  On systems with restrictions on DMA-able memory,
             rdma_filter calls the function specified by strat, passing a
             buffer that is guaranteed to be DMA-able.  On systems without
             restrictions on DMA-able memory, rdma_filter simply calls the
             strat function passing on the buffer without modification.

          Return Values
             None.  Any errors will be marked in the buffer header
             structure.

       USAGE
             rdma_filter can be used as an alternative to the D_DMA device
             flag [see devflag(D1)].  When the devflag D_DMA flag is set,
             all I/O requests to the device are filtered before calling the
             device's strategy routine.  By using rdma_filter instead of
             the D_DMA device flag, drivers can achieve a higher degree of
             control over the sometimes expensive conversions to DMA-able
             memory.

             Drivers that use rdma_filter should not set the D_DMA device
             flag.

          Level
             Base only.

          Synchronization Constraints
             Can sleep.




                           Copyright 1994 Novell, Inc.               Page 1













      rdma_filter(D3)                                      rdma_filter(D3)


            Driver-defined basic locks and read/write locks may not be
            held across calls to this function.

            Driver-defined sleep locks may be held across calls to this
            function.

      REFERENCES
            buf(D4), buf_breakup(D3), devflag(D1), strategy(D2)

      NOTICES
         Portability
            All processors

         Applicability
            ddi: 1, 2, 4

            buf_breakup(D3) replaces rdma_filter.































                          Copyright 1994 Novell, Inc.               Page 2








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026