summaryrefslogblamecommitdiffstats
path: root/private/ntos/nthals/halncr/i386/ncr.h
blob: 2963c59fc9ea1682bfffcd51b59be277e7d4c824 (plain) (tree)





























































































                                                                         
/*++

Copyright (C) 1992 NCR Corporation


Module Name:

    ncr.h

Author:

Abstract:

    System Load Equates for NCR multiprocessing hardware based on Voyager
    architecture.

++*/


#define NCR_VERSION_NUMBER      35001  

#define NCR_MAX_NUMBER_PROCESSORS	    16
#define NCR_MAX_NUMBER_DYADIC_PROCESSORS	8
#define NCR_MAX_NUMBER_QUAD_PROCESSORS	    16
#define NCR_CPI_VECTOR_BASE	0x60
#define NCR_QIC_CPI_VECTOR_BASE	0x70
#define NCR_QIC_SPURIOUS_VECTOR	0x50
#define NCR_IPI_LEVEL_CPI	0
#define NCR_CLOCK_LEVEL_CPI	2
#define NCR_SYSTEM_INTERRUPT	8
#define NCR_SINGLE_BIT_ERROR	0xF

#define NCR_SMCA_9      1
#define NCR_SMCA_11_3   3
#define NCR_SMCA_12_4   4
#define NCR_SMCA_13_5   5
#define NCR_SMCA_14_6   6
#define NCR_SMCA_15_7   7

//
// CPU flags
//

#define CPU_DYADIC      0x1
#define CPU_QUAD        0x2
#define CPU_EXTENDED    0x4


typedef struct ProcessorPrivateData	{
		unsigned long           MyProcessorFlags;
		unsigned long			MyLogicalMask;
		unsigned long			MyLogicalNumber;
		unsigned long			MyPICsIrql;
		unsigned long           MyAcquireCount;
		unsigned long			MyLockColl;
		unsigned long           MySpinCount;
		unsigned long           MySpinTSCLowDWord;
		unsigned long           MySpinTSCHighDWord;
		unsigned long           MyHighestSpinCount;
		unsigned long           MyHighestLock;
		unsigned long           MyHighestAddress;
		unsigned long			MyClaimedIRQs;
		unsigned long			MyClaimedIRQsCount;
}	*PProcessorPrivateData;

/*
 *  Values for NCRPlatform
 */
#define NCR3450	0x35333433
#define NCR3550	0x30353834
#define NCR3360 0x33333630




/*
 *  This structure is used to Send QIC Cross Processor Interrupts (CPI)
 */

typedef struct _QIC_IPI {
    struct _QIC_LEVEL {
        ULONG Ipi;
        ULONG Filler[7];
    } QIC_LEVEL[8];
} QIC_IPI, *PQIC_IPI;




#if DBG
#define DBGMSG(a)   DbgPrint a
#else
#define DBGMSG(a)
#endif