110 lines
2.5 KiB
C
110 lines
2.5 KiB
C
/*++
|
|
|
|
Copyright (c) 1995 Digital Equipment Corporation
|
|
|
|
Module Name:
|
|
|
|
rwref.h
|
|
|
|
Abstract:
|
|
|
|
This file defines the structures and definitions of the Rawhide
|
|
interrupt architecture.
|
|
|
|
Author:
|
|
|
|
Matthew Buchman 18 Sept 1995
|
|
|
|
Environment:
|
|
|
|
Kernel mode
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef _RAWREFH_
|
|
#define _RAWREFH_
|
|
|
|
#if !defined(_LANGUAGE_ASSEMBLY)
|
|
|
|
//
|
|
// Layout of platform usable portion of vector table
|
|
//
|
|
|
|
enum _RAWHIDE_INTERRUPT_VECTORS {
|
|
|
|
//
|
|
// 16 Eisa/Isa vectors starting at vector 32.
|
|
//
|
|
|
|
RawhideEisaVectors = EISA_VECTORS, // Eisa base vector
|
|
RawhideIsaVectors = ISA_VECTORS, // Isa base vector
|
|
|
|
RawhideMaxEisaVector = MAXIMUM_EISA_VECTOR, // Maximum Eisa/Isa vector
|
|
|
|
//
|
|
// All buses, except bus 1, have 16 PCI vectors
|
|
// PciVector = 16*BusNumber + PinToLine(Slot, Interrupt)
|
|
//
|
|
|
|
RawhidePciVectors = PCI_VECTORS,
|
|
|
|
RawhidePci0Vectors = PCI_VECTORS, // PCI bus 0
|
|
RawhidePci1Vectors = (PCI_VECTORS + 0x10), // PCI bus 1
|
|
RawhidePci2Vectors = (PCI_VECTORS + 0x20), // PCI bus 2
|
|
RawhidePci3Vectors = (PCI_VECTORS + 0x30), // PCI bus 3
|
|
|
|
// One special case for PCI vectors is NCR810 Scsi on bus 1
|
|
// whereas MAXIMUM_PCI_VECTOR is unused on other platforms,
|
|
// we use it for this special case.
|
|
|
|
RawhideScsiVector = MAXIMUM_PCI_VECTOR, // NCR810 SCSI, bus 1
|
|
|
|
RawhideMaxPciVector = MAXIMUM_PCI_VECTOR, // Max Rawhide PCI vector
|
|
|
|
//
|
|
// Miscellaneous
|
|
//
|
|
|
|
|
|
RawhideHardErrVector, // IOD Hard Error
|
|
|
|
//
|
|
// Internal Bus Vectors
|
|
//
|
|
|
|
RawhideInternalBusVectors,
|
|
|
|
RawhideSoftErrVector = RawhideInternalBusVectors, // IOD Soft Error
|
|
|
|
RawhideI2cCtrlVector, // I^2C Controller, bus 0
|
|
RawhideI2cBusVector, // I^2C vector, bus 0
|
|
|
|
RawhideMaxInternalBusVector
|
|
|
|
};
|
|
|
|
#define IOD_PCI_VECTORS 0x10
|
|
|
|
//
|
|
// Internal Bus interrupt line values
|
|
//
|
|
// These line values allow device drivers to connect
|
|
// to interrupts for the Correctable, I2C Bus, and I2C
|
|
// controller interrupts. These interrupts are connected
|
|
// via the internal bus for NT 3.51
|
|
//
|
|
|
|
enum _RAWHIDE_INTERNAL_BUS_INTERRUPT_LINE {
|
|
|
|
RawhideSoftErrInterruptLine, // IOD Soft Error
|
|
RawhideI2cCtrlInterruptLine, // I^2C Controller, bus 0
|
|
RawhideI2cBusInterruptLine // I^2C vector, bus 0
|
|
|
|
};
|
|
|
|
#endif // _LANGUAGE_ASSEMBLY
|
|
|
|
#endif // _RAWREFH_
|