xref: /original-bsd/sys/vax/mdec/rdboot.c (revision 241757c4)
1 /*
2 **	@(#)rdboot.c	7.1 (Berkeley) 01/22/88
3 */
4 
5 /*
6 ** This is a VMB boot block for microvax.  For more info, see
7 ** the KA-630 User's manual.
8 */
9 
10 /*
11 **          ---------------------------------------------------
12 ** BB + 0: |      1     |      N     |      any value          |
13 **          ---------------------------------------------------
14 */
15 xxx:	.long	0x001040000
16 /*
17 **          ---------------------------------------------------
18 **      4: |        low  lbn         |      high lbn           |
19 **          ---------------------------------------------------
20 */
21 	.long	0x000010000
22 /*
23 ** BB + 2*N
24 **          ---------------------------------------------------
25 **    + 0: | check byte |      K     |     0     |   18 (HEX)  |
26 **          ---------------------------------------------------
27 */
28 	.long	0x0e7000018
29 /*
30 **          ---------------------------------------------------
31 **    + 4: |     any  value          |  1 or 81  |      0      |
32 **          ---------------------------------------------------
33 */
34 	.long	0x000008100
35 /*
36 **          ---------------------------------------------------
37 **    + 8: |     size in blocks of the image                   |
38 **          ---------------------------------------------------
39 */
40 	.long	0x00000000f
41 /*
42 **          ---------------------------------------------------
43 **    +12: |     load offset from default load address         |
44 **          ---------------------------------------------------
45 */
46 	.long	0x000000000
47 /*
48 **          ---------------------------------------------------
49 **    +16: |     offset into image to start execution          |
50 **          ---------------------------------------------------
51 */
52 	.long	0x000000002
53 /*
54 **          ---------------------------------------------------
55 **    +20: |     sum of previous three longwords               |
56 **          ---------------------------------------------------
57 */
58 	.long	0x000000011
59 /*
60 **
61 ** BB +0:	These two bytes can have any value
62 **
63 ** BB+2:	This value is the word offset from the start of the
64 **		bootblock to the identification area described below.
65 **
66 ** BB+3:	This byte must be one.
67 **
68 ** BB+4:	This longword contains the logical block number
69 **		(word swapped) of the secondary image.
70 **
71 ** BB+(2*n)+0:	This byte defines the expected instruction set.
72 **		18(hex) means VAX.
73 **
74 ** BB+(2*n)+1:	This byte defines the expected controller type, 0
75 **		means unknown.
76 **
77 ** BB+(2*n)+2:	This byte defines the file structure on the volume,
78 **		it may be any value.
79 **
80 ** BB+(2*n)+3:	This byte must be the ones complement of the sum of
81 **		the previous three bytes.
82 **
83 ** BB+(2*n)+4:	This byte must be zero.
84 **
85 ** BB+(2*n)+5:	This byte must be 1 or 81 (hex).  This byte defines
86 **		the version number of the format standard and the
87 **		type of disk.  The version is one, the high bit is 0
88 **		for single sided, 1 for double sided.
89 **
90 ** BB+(2*n)+6:	These two bytes may be any value, but generally they
91 **		are zero.
92 **
93 ** BB+(2*n)+8:	This entry is a longword containing the size in
94 **		blocks of the secondary bootstrap image.
95 **
96 ** BB+(2*n)+12:	This entry is a longword containing a load offset
97 **		(usually zero) from the default load address of the
98 **		secondary bootstrap.
99 **
100 ** BB+(2*n)+16:	This entry is a longword containing the byte offset
101 **		into the secondary bootstrap where execution is to
102 **		begin.
103 **
104 ** BB+(2*n)+20:	This entry is a longword containing the sum of the
105 **		previous three longwords.
106 */
107