Download INTRO (9) NetBSD Kernel Developer`s Manual INTRO (9

Transcript
VME (9)
NetBSD Kernel Developer’s Manual
VME (9)
int
vme_space_get(void ∗vc , vme_size_t size , vme_am_t ams , u_long align ,
vme_addr_t ∗addr);
DESCRIPTION
The VME bus provides support for VME devices. The VME bus is a high-performance backplane bus for use
in computer systems. It is based on the VMEbus specification initially released by the VMEbus International
Trade Association (VITA) in August of 1982. It has since undergone IEC and IEEE standardisation.
The VME bus supports 8, 16, and 32-bit transfers over non-multiplexed 32-bit data and address paths. The
latest revisions allow 64-bit, multiplexed transfers. It supports asynchronous, fully handshaken transfers at
speeds up to 80 MB/sec. It has a master-slave architecture, encouraging multiprocessing and supports up to
seven interrupt levels.
DATA TYPES
Drivers attached to the VME bus will make use of the following data types:
vme_chipset_tag_t
An opaque type identifying the bus controller.
vme_addr_t
Addresses on the bus.
vme_am_t
Address modifiers. Valid values are VME_AM_A32, VME_AM_A16, VME_AM_A24,
VME_AM_USERDEF (user/vendor definable), VME_AM_MBO, VME_AM_SUPER,
VME_AM_USER,
VME_AM_DATA,
VME_AM_PRG,
VME_AM_BLT32
and
VME_AM_BLT64.
vme_datasize_t
The datasize of the address space. Valid values are VME_D8, VME_D16, and VME_D32.
vme_mapresc_t
Generic placeholder for any resources needed for a mapping.
vme_intr_handle_t
An opaque type describing an interrupt mapping.
vme_swap_t
Hardware swap capabilities for controlling data endianness. Valid values have not been specified
yet.
struct vme_range
A structure used to describe an address range on the VME bus. It contains the following members:
vme_addr_t offset;
vme_size_t size;
vme_am_t am;
struct vme_attach_args
A structure used to inform the driver of the device properties. It contains the following members:
vme_chipset_tag_t va_vct;
bus_dma_tag_t va_bdt;
int ivector;
int ilevel;
int numcfranges;
NetBSD 3.0
June 12, 2001
2