MirOS Manual: fga(4), fvme(4)

FGA(4)                 BSD Programmer's Manual (SPARC)                  FGA(4)


     fga - SPARC Force FGA5000 VME/SBus bridge driver


     fga0 at iommu0
     fvme* at fga0


     The fga driver provides a bridge between SBus and VME interfaces. It has
     support for accessing VME address and data spaces as if they were SBus
     address ranges, and mapping of VME interrupt levels to SBus interrupts.
     The fga also provides a set of semaphores and mailboxes which are acces-
     sible from user programs via ioctl(2).

     VME devices are attached to the fvme pseudo-devices, which provide an in-
     terface for drivers to establish VME level/vectored interrupts and map
     address ranges. By default the following address ranges are established:

           Size       SBus Slot   SBus Offset   VME Space   VME Offset
           256MB      1           0x0000000     A32/D32     0xf0000000
           256MB      4           0x0000000     A32/D16     0xf0000000
           16MB       5           0xe000000     A24/D16     0x000000
           64KB       5           0xffc0000     A16/D8      0x0000
           64KB       5           0xffd0000     A16/D16     0x0000
           64KB       5           0xffe0000     A16/D32     0x0000

     The abort switch on the FORCE CPU boards is also controlled by the fga,
     and is enabled if the eeprom variable abort-ena? is set to true. Toggling
     the switch when enabled stops the kernel and starts the kernel debugger


     The fga device responds to the following ioctl(2) calls defined in

     FGAIOCSEM  (struct fga_sem) Clear (release) the semaphore fgasem_num. The
                argument structure is defined as follows:

                      struct fga_sem {
                              u_int8_t fgasem_num; /* semaphore number */
                              u_int8_t fgasem_val; /* semaphore value */

     FGAIOSSEM  (struct fga_sem) Set (attempt to get) the semaphore
                fgasem_num. If successful, fgasem_val will have a value of 1,
                otherwise it will have a value of 0.

     FGAIOCMBX  (struct fga_sem) Clear (release) the mailbox fgasem_num.

     FGAIOSMBX  (struct fga_sem) Set (attempt to get) the mailbox fgasem_num.
                If successful, fgasem_val will have a value of 1, otherwise it
                will have a value of 0.


     ioctl(2), ddb(4), intro(4), eeprom(8)


     OpenBSD support for the fga first appeared in OpenBSD 2.6.


     The driver for the fga was written by Jason L. Wright <jason@thought.net>
     under contract with RTMX Incorporated.


     There are several features provided by the FGA5000 that are not imple-
     mented in the driver. Most notably, VME slave ranges are not mapped and
     the DMA engine is not used. Also, several VME interrupts are not handled:

MirOS BSD #10-current           July 25, 1999                                1

Generated on 2013-09-18 04:33:42 by $MirOS: src/scripts/roff2htm,v 1.77 2013/01/01 20:49:09 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2013 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.