2020-09-30 17:12:29 +02:00

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_