/* bootxx.c 6.1 83/07/29 */
char bootprog
[] = "xx(0,0)boot";
* Boot program... arguments passed in r10 and r11
* are passed through to the full boot program.
register howto
, devtype
; /* howto=r11, devtype=r10 */
printf("loading %s", bootprog
);
copyunix(howto
, devtype
, io
);
copyunix(howto
, devtype
, io
)
register howto
, devtype
, io
; /* howto=r11, devtype=r10 */
i
= read(io
, (char *)&x
, sizeof x
);
(x
.a_magic
!= 0407 && x
.a_magic
!= 0413 && x
.a_magic
!= 0410))
if ((x
.a_magic
== 0413 || x
.a_magic
== 0410) &&
lseek(io
, 0x400, 0) == -1)
if (read(io
, (char *)0, x
.a_text
) != x
.a_text
)
if (x
.a_magic
== 0413 || x
.a_magic
== 0410)
while ((int)addr
& CLOFSET
)
if (read(io
, addr
, x
.a_data
) != x
.a_data
)
x
.a_bss
+= 128*512; /* slop */
for (i
= 0; i
< x
.a_bss
; i
++)
(*((int (*)()) x
.a_entry
))();