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 init_lvt: proc ();
14 
15 /****^  HISTORY COMMENTS:
16   1) change(76-02-17,Bratt), approve(), audit(), install():
17    Modified March 1982 by J. Bongiovanni to eliminate use of FSDCT
18    This module initializes the lvt and defines the RLV as containing
19    the RPV which is assumed to be already accepted.
20                                                    END HISTORY COMMENTS */
21 
22 dcl 1 local_label like label aligned;
23 dcl 1 local_lvte like lvte aligned;
24 dcl  code fixed bin (35);
25 dcl  pvt$root_pvtx fixed bin external;
26 dcl  pvt$root_lvid bit (36) aligned external;
27 dcl  read_disk entry (fixed bin, fixed bin, ptr, fixed bin (35));
28 dcl  logical_volume_manager$add entry (ptr, fixed bin (35));
29 dcl  syserr entry options (variable);
30 
31 /* initialize lvt */
32 
33           lvtp = addr (lvt$);
34           lvt.max_lvtex = 50;
35           lvt.high_water_lvtex = 0;
36           lvt.free_lvtep = null ();
37           lvt.ht (*) = null ();
38 
39 /* get RLV together */
40 
41           call read_disk (pvt$root_pvtx, LABEL_ADDR, addr (local_label), code);
42           if code ^= 0 then call syserr (1, "init_lvt: unable to read RPV label, code = ^o", code);
43           local_lvte.lvid = pvt$root_lvid;
44           local_lvte.access_class.min = local_label.min_access_class;
45           local_lvte.access_class.max = local_label.max_access_class;
46           unspec (local_lvte.flags) = (36)"0"b;
47           local_lvte.flags.public = "1"b;
48           call logical_volume_manager$add (addr (local_lvte), code);
49           if code ^= 0 then call syserr (1, "init_lvt: unable to define RLV, code = ^o", code);
50           return;
51 
52 /* ^L */
53 
54 %include fs_vol_label;
55 
56 /* ^L */
57 
58 %include disk_pack;
59 
60 /* ^L */
61 
62 %include lvt;
63 
64 ^L
65 /* BEGIN MESSAGE DOCUMENTATION
66 
67 Message:
68 init_lvt: unable to read RPV label, code = WWWW
69 
70 S:        $crash
71 
72 T:        $init
73 
74 M:        The RPV label,
75 which was successfully read a few seconds ago,
76 cannot be read.
77 
78 A:        $recover
79 $boot_tape
80 
81 
82 Message:
83 init_lvt: unable to define RLV, code = WWWW
84 
85 S:        $crash
86 
87 T:        $init
88 
89 M:        $err
90 
91 A:        $recover
92 $boot_tape
93 
94 
95 END MESSAGE DOCUMENTATION */
96 
97      end init_lvt;