annotate src/m/alliant-2800.h @ 1436:e7c5faab6571

* xterm.c (compose_status): New variable. (XTread_socket): Pass it by reference to XLookupString. * xterm.c: Clean up some of the caps lock handling: (x_shift_lock_mask): New variable. (x_find_modifier_mappings): Set it, based on the modifier mappings. (x_convert_modifiers): Use x_shift_lock_mask, instead of assuming that the lock bit always means to shift the character. (XTread_socket): When handling KeyPress events, don't pass an XComposeStatus structure along to XLookupString. When handling MappingNotify events, call XRefreshKeyboardMapping for both MappingModifier and MappingKeyboard events, not just the latter.
author Jim Blandy <jimb@redhat.com>
date Mon, 19 Oct 1992 18:31:34 +0000
parents 1ffd52c765c7
children d76398601a0b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
523
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* alliant-2800.h - Alliant FX/2800 machine running Concentrix 2800.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 Copyright (C) 1990 Free Software Foundation, Inc.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 This file is part of GNU Emacs.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 GNU Emacs is distributed in the hope that it will be useful,
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 but WITHOUT ANY WARRANTY. No author or distributor
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 accepts responsibility to anyone for the consequences of using it
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 or for whether it serves any particular purpose or works at all,
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 unless he says so in writing. Refer to the GNU Emacs General Public
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 License for full details.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 Everyone is granted permission to copy, modify and redistribute
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 GNU Emacs, but only under the conditions described in the
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU Emacs General Public License. A copy of this license is
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 supposed to have been given to you along with GNU Emacs so you
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 can know your rights and responsibilities. It should be in a
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 file named COPYING. Among other things, the copyright notice
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 and this notice must be preserved on all copies. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 /* The following line tells the configuration script what sort of
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 operating system this machine is likely to run.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 USUAL-OPSYS="bsd4-3" */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 /* The following three symbols give information on
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 the size of various data types. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 #define SHORTBITS 16 /* Number of bits in a short */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 #define INTBITS 32 /* Number of bits in an int */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 #define LONGBITS 32 /* Number of bits in a long */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 /* Define BIG_ENDIAN iff lowest-numbered byte in a word
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 is the most significant byte. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 #undef BIG_ENDIAN
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 * group of arguments and treat it as an array of the arguments. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 #define NO_ARG_ARRAY
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 /* Define WORD_MACHINE if addresses and such have
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 * to be corrected before they can be used as byte counts. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 #undef WORD_MACHINE
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50 /* Now define a symbol for the cpu type, if your compiler
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 does not define it automatically:
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 vax, m68000, ns16000, pyramid, orion, tahoe and APOLLO
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 are the ones defined so far. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 #define ALLIANT
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 #define ALLIANT_2800
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57 #define sun /* Use X support for Sun keyboard stuff. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58 #define C_OPTIMIZE_SWITCH -Og /* No concurrent code allowed here. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 #define VALBITS 26
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 #define GCTYPEBITS 5
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 /* Use type int rather than a union, to represent Lisp_Object */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63 /* This is desirable for most machines. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 #define NO_UNION_TYPE
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 the 24-bit bit field into an int. In other words, if bit fields
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 are always unsigned.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 If you use NO_UNION_TYPE, this flag does not matter. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 /* On Alliants, bitfields are unsigned. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 #define EXPLICIT_SIGN_EXTEND
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 /* Concentrix uses a different kernel symbol for load average. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 #undef LDAV_SYMBOL /* Undo definition in s-bsd4-2.h */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79 #define LDAV_SYMBOL "_Loadavg"
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 /* Data type of load average, as read out of kmem. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83 #define LOAD_AVE_TYPE long
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85 /* Convert that into an integer that is 100 for a load average of 1.0 */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87 #define LOAD_AVE_CVT(x) (x * 100 / LOADAVG_SCALE)
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 /* include <sys/param.h> for the definition of LOADAVG_SCALE, and also
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 LOADAVG_SIZE, the number of items in the Loadavg array. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92 /* Define CANNOT_DUMP on machines where unexec does not work.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 Then the function dump-emacs will not be defined
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 and temacs will do (load "loadup") automatically unless told otherwise. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96 /* #define CANNOT_DUMP */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97 #define UNEXEC unexfx2800.o
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98 #define LIBS_MACHINE -lalliant
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 /* Define VIRT_ADDR_VARIES if the virtual addresses of
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101 pure and impure space as loaded can vary, and even their
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102 relative order cannot be relied on.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104 Otherwise Emacs assumes that text space precedes data space,
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
105 numerically. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107 #undef VIRT_ADDR_VARIES
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109 /* Define C_ALLOCA if this machine does not support a true alloca
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 and the one written in C should be used instead.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111 Define HAVE_ALLOCA to say that the system provides a properly
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112 working alloca function and it should be used.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113 Define neither one if an assembler-language alloca
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114 in the file alloca.s should be used. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116 #undef C_ALLOCA
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117 #define HAVE_ALLOCA
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119 /* Define NO_REMAP if memory segmentation makes it not work well
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120 to change the boundary between the text section and data section
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121 when Emacs is dumped. If you define this, the preloaded Lisp
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122 code will not be sharable; but that's better than failing completely. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123 /* Actually, Alliant CONCENTRIX does paging "right":
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124 data pages are copy-on-write, which means that the pure data areas
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
125 are shared automatically and remapping is not necessary. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
127 #define NO_REMAP
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129 /* Alliant needs special crt0.o because system version is not reentrant */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
131 #define START_FILES crt0.o
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133 /* Alliant dependent code for dumping executing image.
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134 See crt0.c code for alliant. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136 #define ADJUST_EXEC_HEADER {\
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 extern int _curbrk, _setbrk;\
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138 _setbrk = _curbrk;\
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139 hdr.a_bss_addr = bss_start;\
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
140 unexec_text_start = hdr.a_text_addr;}
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142 /* POSIX Compatibility */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143 /* Use System V.4 style getdents/readdir <dirent.h> for 2.2 and up. */
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144 #define SYSV_SYSTEM_DIR
aa0674056f59 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145 #define HAVE_CLOSEDIR