summaryrefslogtreecommitdiffstats
path: root/private/ntos/nthals/halncr/i386/ncr.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/ntos/nthals/halncr/i386/ncr.h')
-rw-r--r--private/ntos/nthals/halncr/i386/ncr.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/private/ntos/nthals/halncr/i386/ncr.h b/private/ntos/nthals/halncr/i386/ncr.h
new file mode 100644
index 000000000..2963c59fc
--- /dev/null
+++ b/private/ntos/nthals/halncr/i386/ncr.h
@@ -0,0 +1,94 @@
+/*++
+
+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