main() { struct open_file f; char *addr; int n, error; bootdev_type = BUGDEV_DISK; printf("Boot: bug device: ctrl=%d, dev=%d\n", bugargs.ctrl_lun, bugargs.dev_lun); printf("\nbootxx: first level bootstrap program [%s]\n\n", version); f.f_flags = F_RAW; if (devopen(&f, 0, &addr)) { printf("bootxx: open failed\n"); _rtt(); } addr = (char *)STAGE2_RELOC; error = copyboot(&f, addr); f.f_dev->dv_close(&f); if (!error) { bugexec((void (*)())addr); } /* copyboot had a problem... */ _rtt(); }
int main(void) { struct open_file f; void *entry; char *addr; int error; #ifdef DEBUG printf("bootxx: open...\n"); #endif f.f_flags = F_RAW; if (devopen(&f, 0, &addr)) { putstr("bootxx: devopen failed\n"); return 1; } addr = (char*)LOADADDR; error = copyboot(&f, addr); f.f_dev->dv_close(&f); if (!error) { #ifdef DEBUG printf("bootxx: start 0x%x\n", (long)addr); #endif entry = addr; chain_to(entry); } /* copyboot had a problem... */ return 0; }