.nr H1 8 .nr H2 0 .ds CF \*(DY .ds RH "Magic numbers .bp .LG .B .ce 8. KERNEL MAGIC NUMBERS .sp 2 .R .NL .PP This sections contains a collection of magic numbers for use in patching core or an executable unix binary. Some of them have also been mentioned earlier in this paper. With the exception of the \fIxp_type[i]\fP variables (which hold bytes) and \fIswplo\fP (which is a long) all locations given contain short integers. N.B.: in the case of paired interrupt vectors (for DHs and DZs) the address of the second vector of the pair is four more than the address of the first vector. .PP .sp 1i .TS center; c s s s s c c c c c l l n n n. Interrupt Vectors .sp .5 Vector Handler Contents Block device Character device 0160 rlio 01202 8 18 0210 hkio 01142 4 19 0220 rkio 01172 0 9 0224 tmio 01222 3 12 0224 htio 01152 7 15 0224 tsio 01232 9 20 0254 xpio 01242 6 14 0260 rpio 01212 1 11 \(dg dzin 01132 - 21 \(dg dzdma 02202 - 21 \(dg dhin 01112 - 4 \(dg dhou 01122 - 4 \(dg lpio 01162 - 2 .TE .FS \u\(dg\d Set by \fIautoconfig\fP\|(8). .FE .bp .TS center; c s s c c c l n n. Other Variables .sp .5 Name Address Contents xp_addr 061464 0176700 xp_type[0] 061472 \(dd xp_type[1] 061506 \(dd xp_type[2] 061522 \(dd xp_type[3] 061536 \(dd HKADDR 061006 0177440 HTADDR 0114226 \(dg RKADDR 061152 0177400 RLADDR 061154 0174400 RPADDR 061236 0176710 TMADDR 0113320 \(dg TSADDR 0113612 \(dg dz_addr 0113314 \(dg dh_addr 0114136 \(dg lp_addr 0113452 \(dg rootdev 060772 * pipedev 060776 * swapdev 060774 * swplo 061000 * nswap 061004 * .TE .FS \(dg Set by \fIautoconfig\fP\|(8). .br \(dd Set by reading the corresponding drive type register. .br * System dependent. .FE