update 83815 boot driver to recognise SiS controllers and set their MAC adddresses (from ea= currently, since it's a nuisance to dig it out of ROM). also update load.c to make the above work by probing ethers only after reading plan9.ini. with these changes, I can boot through an sis controller, giving ea= in plan9.ini. --- added 1 Mar 2006 02:57 by geoff Drat. The change to load.c breaks 9pxeload. I guess this needs more work. Notes: Thu Mar 2 13:25:30 EST 2006 rsc Is this the patch you mentioned on 9fans that made things crash? Reference: /n/sources/patch/sorry/sis-boot Date: Wed Mar 1 11:58:47 CET 2006 Reviewed-by: rsc --- /sys/src/boot/pc/load.c Wed Mar 1 08:36:40 2006 +++ /sys/src/boot/pc/load.c Fri Mar 3 02:50:28 2006 @@ -282,15 +282,21 @@ panic("i'm too big\n"); readlsconf(); - for(tp = types; tp->type != Tnil; tp++){ - //if(tp->type == Tether) - // continue; - if((mp = probe(tp->type, Fini, Dany)) && (mp->flag & Fini)){ + /* first pass of probing, just non-ethers */ + for(tp = types; tp->type != Tnil; tp++) + if(tp->type != Tether && + (mp = probe(tp->type, Fini, Dany)) && (mp->flag & Fini)){ print("using %s!%s!%s\n", mp->name, mp->part, mp->ini); iniread = !dotini(mp->inifs); break; } - } + if(iniread) + /* now that we've read plan9.ini, probe ethers */ + for(tp = types; tp->type != Tnil; tp++) + if(tp->type == Tether) { + probe(tp->type, Fini, Dany); + break; + } apminit(); if((p = getconf("console")) != nil)