1 /* ***********************************************************
 2    *                                                         *
 3    * Copyright, (C) Honeywell Bull Inc., 1987                *
 4    *                                                         *
 5    * Copyright, (C) Honeywell Information Systems Inc., 1982 *
 6    *                                                         *
 7    * Copyright (c) 1972 by Massachusetts Institute of        *
 8    * Technology and Honeywell Information Systems, Inc.      *
 9    *                                                         *
10    *********************************************************** */
11 
12 
13 active_all_rings_data: procedure;
14 
15 /* CDS source for the former active_all_rings_data.alm */
16 /* This data is only accessable out to ring 5. */
17 /* coded by Benson I. Margulies April 1981. */
18 /* the data is in the text section, but it gets patched in initialization */
19 /* Modified November 1984 by Keith Loepere to move pam flush stuff to
20    active_hardcore_data. */
21 /* format: style2 */
22 
23 %include cds_args;
24           declare 1 cdsa                 aligned like cds_args;
25 
26           declare com_err_               entry () options (variable);
27           declare create_data_segment_   entry (ptr, fixed bin (35));
28 
29           declare code                   fixed bin (35);
30           declare (addr, currentsize, string, unspec)
31                                          builtin;
32 
33           declare 1 aard                 aligned,           /* automatic structure */
34                     2 system_id          character (32),    /* sysid from system tape. */
35                     2 version_id         character (32),    /* supervisor version, = MIT system # */
36                     2 initializer_tty    character (32),    /* initial console attachment name. */
37                     2 initializer_dim    character (32),    /* initial console io module */
38                     2 hcscnt             fixed bin (35),    /* # of hardcore segments */
39                     2 default_max_segno  fixed bin (35),    /* dseg size by default */
40                     2 max_segno          fixed bin (35),    /* max Multics can do */
41                     2 maxlinks           fixed bin (35),    /* we will not chase past this many */
42                     2 max_tree_depth     fixed bin (35),    /* this many greater thans */
43                     2 stack_base_segno   fixed bin (35);    /* stack 0 */
44 
45           unspec (aard) = ""b;
46 
47           aard.max_tree_depth = 15;                         /* that many >'s in a pathname */
48 
49 /* These next two should be filled in by generate_mst, but
50    this puts something recognizable in just in case */
51 
52           aard.system_id, aard.version_id = "Unknown";
53 
54 /* otw_ is a magic thing that means to call ocdcm_ through hphcs_
55    to share a console with the hardcore. other things would allow
56    the use of, say, lcc channels. */
57 
58           aard.initializer_tty = "otw_";
59 
60 /* ocd_ runs a console. FNP channels cannot be used because
61    they are not loaded in ring 1. */
62 
63           aard.initializer_dim = "ocd_";
64 
65           aard.default_max_segno = 1023;
66           aard.max_segno = 4093;
67           aard.maxlinks = 10;
68           aard.max_tree_depth = 15;
69 
70           cdsa.sections (1).p = addr (aard);
71           cdsa.sections (1).len = currentsize (aard);
72           cdsa.sections (1).struct_name = "aard";
73           cdsa.seg_name = "active_all_rings_data";
74           cdsa.num_exclude_names = 0;                       /* no pad fields to flush */
75           string (cdsa.switches) = ""b;
76           cdsa.switches.have_text = "1"b;
77           call create_data_segment_ (addr (cdsa), code);
78           if code ^= 0
79           then call com_err_ (code, "active_all_rings_data");
80           return;
81      end active_all_rings_data;
82