pio_mapalloc(D3X)

pio_mapalloc - allocate a PIO map

As shipped in IRIX 6.5.30. Unchanged since IRIX 6.5.

NAME
     pio_mapalloc - allocate a PIO map

SYNOPSIS
     #include <sys/types.h>
     #include <sys/ddi.h>
     #include <sys/pio.h>

     piomap_t *
     pio_mapalloc(uint bus, uint adap, iospace_t *iospace, int flag, char *name);

   Arguments
     bus  The type of I/O bus the map is for. Valid I/O bus types are
          ADAP_VME,ADAP_GFX,ADAP_SCSI,ADAP_LOCAL,ADAP_GIO,ADAP_EISA,ADAP_IBUS,
          ADAP_EPC,ADAP_DANG,ADAP_PCI.

     adap Identifies the particular I/O bus.

     iospace
          This defines the space on the I/O bus to be mapped. Valid spaces for
          each bus are as follows.

     VME  PIOMAP_A16N,PIOMAP_A16S,PIOMAP_A24N,PIOMAP_A24S,PIOMAP_A32N,
          PIOMAP_A32S,PIOMAP_A64

     EISA PIOMAP_EISA_IO, PIOMAP_EISA_MEM

     PCI  PIOMAP_PCI_IO,PIOMAP_PCI_MEM,PIOMAP_PCI_CFG,PIOMAP_PCI_ID

     IBUS PIOMAP_FCI

     GIO  PIOMAP_GIO32, PIOMAP_GIO64

     flag PIOMAP_FIXED or PIOMAP_UNFIXED.

     name A character string used to identify the map. Useful for debugging a
          driver.

DESCRIPTION
     pio_mapalloc creates PIO maps used to access the I/O bus space from a
     driver. PIO maps can be FIXED or UNFIXED. FIXED maps provide the driver
     with a kernel address which can be used as a normal pointer to access the
     bus space. UNFIXED maps require the use of special routines access to the
     bus space.

   Return Values
     A pointer to a piomap_t type structure which is used with the reset of
     the routines.

   See Also
     pio_mapfree(D3X), pio_mapaddr(D3X), pio_badaddr(D3X), pio_wbadaddr(D3X),
     pio_bcopyin(D3X), pio_bcopyout(D3X)