summaryrefslogblamecommitdiffstats
path: root/private/ntos/nthals/halsable/alpha/xioref.h
blob: 4b2b2bde055c2eff3bf9b244ed6d4cb0f691715b (plain) (tree)



















































































































































                                                                    
/*++

Copyright (c) 1995 Digital Equipment Corporation

Module Name:

    xioref.h

Abstract:

    This file defines the structures and definitions of the XIO
    interrupt architecture.

Author:

    Dave Richards   12-May-1995

Environment:

    Kernel mode

Revision History:

--*/

#ifndef _XIOREFH_
#define _XIOREFH_

#ifndef _LANGUAGE_ASSEMBLY

#ifdef XIO_PASS1

typedef struct _XIO_INTERRUPT_CSRS{
    UCHAR InterruptAcknowledge;         // IO Address 0x0532
    UCHAR Filler0;                      //
    UCHAR MasterControl;                // IO Address 0x0534
    UCHAR MasterMask;                   // IO Address 0x0535
    UCHAR SlaveControl;                 // IO Address 0x0536
    UCHAR SlaveMask;                    // IO Address 0x0537
} XIO_INTERRUPT_CSRS, *PXIO_INTERRUPT_CSRS;

enum _XIO_INTERRUPT_VECTORS {

    XioMasterBaseVector = 0x30,
    XioReservedVector = 0x30,
    XioSlaveCascadeVector,
    XioMasterPassiveReleaseVector = 0x37,

    XioSlaveBaseVector = 0x38,
    XioPciSlot0AVector = 0x38,
    XioPciSlot0BVector,
    XioPciSlot0CVector,
    XioPciSlot0DVector,
    XioPciSlot1AVector,
    XioPciSlot1BVector,
    XioPciSlot1CVector,
    XioPciSlot1DVector,
    XioSlavePassiveReleaseVector = 0x3f,

};

#endif // XIO_PASS1

#ifdef XIO_PASS2

enum _XIO_INTERRUPT_VECTORS {

    XioBaseVector = 0xc0,           // XIO Base Vector
    XioReservedVector = 0xc0,       //
    XioIcIcIrq0 = 0xc0,             //
    XioIcIcIrq1,                    //
    XioIcIcIrq2,                    //
    XioIcIcIrq3,                    //
    XioIcIcIrq4,                    //
    XioIcIcIrq5,                    //
    XioIcIcIrq6,                    //
    XioIcIcIrq7,                    //
    XioIcIcIrq8,                    //
    XioIcIcIrq9,                    //
    XioIcIcIrq10,                   //
    XioIcIcIrq11,                   //
    XioIcIcIrq12,                   //
    XioIcIcIrq13,                   //
    XioIcIcIrq14,                   //
    XioIcIcIrq15,                   //
    XioIcIcIrq16,                   //
    XioIcIcIrq17,                   //
    XioIcIcIrq18,                   //
    XioIcIcIrq19,                   //
    XioIcIcIrq20,                   //
    XioIcIcIrq21,                   //
    XioIcIcIrq22,                   //
    XioIcIcIrq23,                   //
    XioIcIcIrq24,                   //
    XioIcIcIrq25,                   //
    XioIcIcIrq26,                   //
    XioIcIcIrq27,                   //
    XioIcIcIrq28,                   //
    XioIcIcIrq29,                   //
    XioIcIcIrq30,                   //
    XioIcIcIrq31,                   //
    XioPciSlot4AVector,             // PCI Slot 4 A
    XioPciSlot4BVector,             // PCI Slot 4 B
    XioPciSlot4CVector,             // PCI Slot 4 C
    XioPciSlot4DVector,             // PCI Slot 4 D
    XioPciSlot5AVector,             // PCI Slot 5 A
    XioPciSlot5BVector,             // PCI Slot 5 B
    XioPciSlot5CVector,             // PCI Slot 5 C
    XioPciSlot5DVector,             // PCI Slot 5 D
    XioPciSlot6AVector,             // PCI Slot 6 A
    XioPciSlot6BVector,             // PCI Slot 6 B
    XioPciSlot6CVector,             // PCI Slot 6 C
    XioPciSlot6DVector,             // PCI Slot 6 D
    XioPciSlot7AVector,             // PCI Slot 7 A
    XioPciSlot7BVector,             // PCI Slot 7 B
    XioPciSlot7CVector,             // PCI Slot 7 C
    XioPciSlot7DVector,             // PCI Slot 7 D
    XioPciSlot0AVector,             // PCI Slot 0 A
    XioPciSlot0BVector,             // PCI Slot 0 B
    XioPciSlot0CVector,             // PCI Slot 0 C
    XioPciSlot0DVector,             // PCI Slot 0 D
    XioPciSlot1AVector,             // PCI Slot 1 A
    XioPciSlot1BVector,             // PCI Slot 1 B
    XioPciSlot1CVector,             // PCI Slot 1 C
    XioPciSlot1DVector,             // PCI Slot 1 D
    XioPciSlot2AVector,             // PCI Slot 2 A
    XioPciSlot2BVector,             // PCI Slot 2 B
    XioPciSlot2CVector,             // PCI Slot 2 C
    XioPciSlot2DVector,             // PCI Slot 2 D
    XioPciSlot3AVector,             // PCI Slot 3 A
    XioPciSlot3BVector,             // PCI Slot 3 B
    XioPciSlot3CVector,             // PCI Slot 3 C
    XioPciSlot3DVector              // PCI Slot 3 D

};

#endif // XIO_PASS2

//
// The following variable indicates whether an XIO module is present
// in the system.
//

extern BOOLEAN HalpXioPresent;

#endif // _LANGUAGE_ASSEMBLY

#endif // _XIOREFH_