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