FreeBSD/Linux Kernel Cross Reference
sys/sqt/engine.h
1 /*
2 * Mach Operating System
3 * Copyright (c) 1991 Carnegie Mellon University
4 * Copyright (c) 1991 Sequent Computer Systems
5 * All Rights Reserved.
6 *
7 * Permission to use, copy, modify and distribute this software and its
8 * documentation is hereby granted, provided that both the copyright
9 * notice and this permission notice appear in all copies of the
10 * software, derivative works or modified versions, and any portions
11 * thereof, and that both notices appear in supporting documentation.
12 *
13 * CARNEGIE MELLON AND SEQUENT COMPUTER SYSTEMS ALLOW FREE USE OF
14 * THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON AND
15 * SEQUENT COMPUTER SYSTEMS DISCLAIM ANY LIABILITY OF ANY KIND FOR
16 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
17 *
18 * Carnegie Mellon requests users of this software to return to
19 *
20 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
21 * School of Computer Science
22 * Carnegie Mellon University
23 * Pittsburgh PA 15213-3890
24 *
25 * any improvements or extensions that they make and grant Carnegie Mellon
26 * the rights to redistribute these changes.
27 */
28
29 /*
30 * HISTORY
31 * $Log: engine.h,v $
32 * Revision 2.3 91/07/31 18:00:44 dbg
33 * Changed copyright.
34 * [91/07/31 dbg]
35 *
36 * Revision 2.2 91/05/08 12:55:47 dbg
37 * Adapted from Sequent SYMMETRY sources.
38 * [91/04/26 14:51:36 dbg]
39 *
40 */
41
42 /*
43 * $Header: engine.h,v 2.3 91/07/31 18:00:44 dbg Exp $
44 *
45 * engine.h
46 * Per-processor basic "engine" structure. Fundamental representation
47 * of a processor for dispatching and initialization.
48 *
49 * Allocated per-processor at boot-time in an array. Base stored in
50 * "engine".
51 */
52
53 /*
54 * Revision 1.1 89/07/19 14:48:54 kak
55 * Initial revision
56 *
57 * Revision 2.7 89/02/20 07:59:43 djg
58 * fixed comment for E_FPU387 flag. 1=387 0 = no 387
59 *
60 * Revision 2.6 88/11/10 08:25:57 djg
61 * bak242
62 *
63 */
64
65 #ifndef _SQT_ENGINE_H_
66 #define _SQT_ENGINE_H_
67
68 struct engine {
69 unsigned char e_slicaddr; /* the processor's SLIC address */
70 char e_unused;
71 short e_flags; /* processor flags - see below */
72 unsigned int e_diag_flag; /* copy of power-up diagnostic flags */
73 int e_cpu_speed; /* copy of config cpu speed */
74 unsigned int e_fpuon; /* bits to turn on fpu */
75 unsigned int e_fpuoff; /* bits to turn on fpu */
76 };
77
78 /* currently defined flag bits */
79 #define E_OFFLINE 0x01 /* processor is off-line */
80 #define E_BAD 0x02 /* processor is bad */
81 #define E_SHUTDOWN 0x04 /* shutdown has been requested */
82 #define E_DRIVER 0x08 /* processor has driver bound */
83 #define E_PAUSED 0x10 /* processor paused - see panic */
84 #define E_FPU387 0x20 /* 1==387 0 not (i386 only) */
85 #define E_FPA 0x40 /* processor has an FPA (i386 only) */
86 #define E_NOWAY (E_OFFLINE|E_BAD|E_SHUTDOWN|E_PAUSED)
87
88 /* Cannot switch process to Engine - see runme */
89 #define E_UNAVAIL -1
90
91 #ifdef KERNEL
92 extern struct engine *engine; /* Engine Array Base */
93 extern struct engine *engine_Nengine;/* just past Engine Array Base */
94 extern unsigned Nengine; /* # Engines to alloc at boot */
95 extern unsigned nonline; /* count of online engines */
96 #endif KERNEL
97
98 #endif /* _SQT_ENGINE_H_ */
99
Cache object: c7e28b77dd31608c76e14ea466121158
|