IntSrv_Int_attach

Synopsis

    #include "intserv.h"
    
    int IntSrv_Int_attach( char *cardID, unsigned short address,
    						int region, pid_t Proxy );
    int IntSrv_Int_detach( char *cardID );
    int IntSrv_IRQ_attach( char *cardID, int IRQ, pid_t Proxy );
    int IntSrv_IRQ_detach( char *cardID, int IRQ );
    

Description

IntSrv_Int_attach() and IntSrv_Int_detach() provide the API support for the interrupt architecture of the "Subbus64" bus. All boards on this bus share a common interrupt line. To determine which board asserted an interrupt, intserv reads from the interrupt acknowledge address. Each board is dynamically assigned one of the 8 acknowledge lines, and will assert that line during interrupt acknowledge if an interrupt is pending.

IntSrv_Int_attach() configures the card at the specified address and associates the Proxy with its interrupt. CardID is a string which uniquely identifies the card which is being configured. If the requesting process dies without detaching the interrupt and is then restarted, intserv will detect that a request for the same card has been received and figure out what the problem is.

IntSrv_Int_detach() disables the card's interrupt.

IntSrv_IRQ_attach() attaches a proxy to the specified IRQ. This allows a non-privileged process to service interrupts indirectly.

IntSrv_IRQ_detach() detaches the proxy from the specified IRQ.

Returns

Zero on success.

See Also

Indexer 64 Implementation

Source File

/usr/local/src/nortlib/intserv.c

Alphabetical List
Subject List
Return to Manuals Page
webmaster@huarp.harvard.edu
Copyright 2001 by the President and Fellows of Harvard College