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