*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> sparc/fga (4)              
Title
Content
Arch
Section
 

FGA(4)

Contents


NAME    [Toc]    [Back]

     fga - SPARC Force FGA5000 VME/SBus bridge driver

SYNOPSIS    [Toc]    [Back]

     fga0 at iommu0
     fvme* at fga0

DESCRIPTION    [Toc]    [Back]

     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 accessible
 from user programs via ioctl(2).

     VME devices are attached to the fvme  pseudo-devices,  which
provide an interface
  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    [Toc]    [Back]

           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
 ddb(4).

IOCTLS    [Toc]    [Back]

     The  fga device responds to the following ioctl(2) calls defined in
     <machine/fgaio.h>:

     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.

SEE ALSO    [Toc]    [Back]

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

HISTORY    [Toc]    [Back]

     OpenBSD support for the fga first appeared in OpenBSD 2.6.

AUTHORS    [Toc]    [Back]

     The driver for the fga was written by Jason L.  Wright  <ja[email protected]>
     under contract with RTMX Incorporated.

BUGS    [Toc]    [Back]

     There  are several features provided by the FGA5000 that are
not implemented
 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:
 SYSFAIL and ACFAIL.

OpenBSD     3.6                           July      25,      1999
[ Back ]
 Similar pages
Name OS Title
scf OpenBSD SPARC Force sysconfig driver
xbox OpenBSD SPARC SBus Expansion Subsystem
stp OpenBSD sbus PCMCIA bridge
led OpenBSD SPARC LED driver
apio OpenBSD SBus Aurora pio1 driver
asio OpenBSD SBus Aurora sio2 driver
ppb OpenBSD PCI/PCI bridge driver
cbb FreeBSD cardbus bridge driver
oldcard FreeBSD PC Card bridge driver
card FreeBSD PC Card bridge driver
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service