Browse Source

Plan 9 from Bell Labs 2008-04-27

David du Colombier 13 years ago
parent
commit
83e620c683
4 changed files with 131 additions and 67 deletions
  1. 34 33
      dist/replica/_plan9.db
  2. 34 33
      dist/replica/plan9.db
  3. 34 0
      dist/replica/plan9.log
  4. 29 1
      sys/src/boot/pc/ether82563.c

+ 34 - 33
dist/replica/_plan9.db

@@ -384,7 +384,7 @@
 386/bin/proof - 775 sys sys 1204604985 179949
 386/bin/ps - 775 sys sys 1168402346 68812
 386/bin/pwd - 775 sys sys 1148500685 36932
-386/bin/ramfs - 775 sys sys 1178568298 88610
+386/bin/ramfs - 775 sys sys 1209184388 89491
 386/bin/rc - 775 sys sys 1183001109 145286
 386/bin/rdbfs - 775 sys sys 1184731240 173180
 386/bin/read - 775 sys sys 1168402347 58283
@@ -562,38 +562,39 @@
 386/lib/ape/libregexp.a - 664 sys sys 1143777857 47500
 386/lib/ape/libutf.a - 664 sys sys 1146156980 88500
 386/lib/ape/libv.a - 664 sys sys 1202357672 19334
-386/lib/lib9p.a - 664 sys sys 1184529909 91012
-386/lib/libString.a - 664 sys sys 1168402362 22126
-386/lib/libauth.a - 664 sys sys 1179372118 58864
-386/lib/libauthsrv.a - 664 sys sys 1203713023 36452
-386/lib/libbin.a - 664 sys sys 1168402363 2534
-386/lib/libbio.a - 664 sys sys 1168402363 25980
-386/lib/libc.a - 664 sys sys 1206470110 502352
-386/lib/libcomplete.a - 664 sys sys 1168402364 6372
-386/lib/libcontrol.a - 664 sys sys 1205810549 274730
-386/lib/libdisk.a - 664 sys sys 1168402365 42368
-386/lib/libdraw.a - 664 sys sys 1197732882 375130
-386/lib/libflate.a - 664 sys sys 1168402366 76726
-386/lib/libframe.a - 664 sys sys 1184529910 66398
-386/lib/libgeometry.a - 664 sys sys 1168402366 50470
-386/lib/libhtml.a - 664 sys sys 1205438981 229376
-386/lib/libhttpd.a - 664 sys sys 1206470113 100892
-386/lib/libip.a - 664 sys sys 1204292555 38800
-386/lib/libl.a - 664 sys sys 1168402367 5372
-386/lib/libmach.a - 664 sys sys 1196972899 807480
-386/lib/libmemdraw.a - 664 sys sys 1168402369 284092
-386/lib/libmemlayer.a - 664 sys sys 1168402369 47360
-386/lib/libmp.a - 664 sys sys 1206470114 79978
-386/lib/libndb.a - 664 sys sys 1208546572 64960
-386/lib/liboventi.a - 664 sys sys 1206470118 99024
-386/lib/libplumb.a - 664 sys sys 1168402370 19408
-386/lib/libregexp.a - 664 sys sys 1200262805 37414
-386/lib/libscribble.a - 664 sys sys 1175972562 107238
-386/lib/libsec.a - 664 sys sys 1206479018 649042
+386/lib/lib9p.a - 664 sys sys 1209184390 91992
+386/lib/libString.a - 664 sys sys 1209184391 22466
+386/lib/libauth.a - 664 sys sys 1209184392 59742
+386/lib/libauthsrv.a - 664 sys sys 1209184392 36740
+386/lib/libavl.a - 664 sys sys 1209184393 11574
+386/lib/libbin.a - 664 sys sys 1209184393 2562
+386/lib/libbio.a - 664 sys sys 1209184393 26248
+386/lib/libc.a - 664 sys sys 1209184402 505820
+386/lib/libcomplete.a - 664 sys sys 1209184402 6440
+386/lib/libcontrol.a - 664 sys sys 1209184407 276774
+386/lib/libdisk.a - 664 sys sys 1209184408 42712
+386/lib/libdraw.a - 664 sys sys 1209184415 377774
+386/lib/libflate.a - 664 sys sys 1209184416 76866
+386/lib/libframe.a - 664 sys sys 1209184417 68780
+386/lib/libgeometry.a - 664 sys sys 1209184419 50810
+386/lib/libhtml.a - 664 sys sys 1209184423 229848
+386/lib/libhttpd.a - 664 sys sys 1209184424 101584
+386/lib/libip.a - 664 sys sys 1209184426 39112
+386/lib/libl.a - 664 sys sys 1209184426 5484
+386/lib/libmach.a - 664 sys sys 1209184439 809508
+386/lib/libmemdraw.a - 664 sys sys 1209184444 284960
+386/lib/libmemlayer.a - 664 sys sys 1209184446 47760
+386/lib/libmp.a - 664 sys sys 1209184448 80834
+386/lib/libndb.a - 664 sys sys 1209184449 65780
+386/lib/liboventi.a - 664 sys sys 1209184451 100220
+386/lib/libplumb.a - 664 sys sys 1209184452 19616
+386/lib/libregexp.a - 664 sys sys 1209184453 37586
+386/lib/libscribble.a - 664 sys sys 1209184455 107650
+386/lib/libsec.a - 664 sys sys 1209184465 650926
 386/lib/libstdio.a - 664 sys sys 1176432133 126062
-386/lib/libsunrpc.a - 664 sys sys 1198211722 353148
-386/lib/libthread.a - 664 sys sys 1184731247 71918
-386/lib/libventi.a - 664 sys sys 1206479021 190048
+386/lib/libsunrpc.a - 664 sys sys 1209184472 355136
+386/lib/libthread.a - 664 sys sys 1209184474 73142
+386/lib/libventi.a - 664 sys sys 1209184478 191764
 386/mbr - 775 sys sys 1131317338 407
 386/mkfile - 664 sys sys 948141303 46
 386/pbs - 775 sys sys 1143465402 495
@@ -9203,7 +9204,7 @@ sys/src/boot/pc/ether8003.c - 664 sys sys 1015007950 6446
 sys/src/boot/pc/ether8139.c - 664 sys sys 1121393459 14823
 sys/src/boot/pc/ether8169.c - 664 sys sys 1204324647 21870
 sys/src/boot/pc/ether82557.c - 664 sys sys 1140802406 19090
-sys/src/boot/pc/ether82563.c - 664 sys sys 1199772483 25481
+sys/src/boot/pc/ether82563.c - 664 sys sys 1209184829 26037
 sys/src/boot/pc/ether83815.c - 664 sys sys 1144961190 21993
 sys/src/boot/pc/ether8390.c - 664 sys sys 1112382847 16209
 sys/src/boot/pc/ether8390.h - 664 sys sys 1015007951 1392

+ 34 - 33
dist/replica/plan9.db

@@ -384,7 +384,7 @@
 386/bin/proof - 775 sys sys 1204604985 179949
 386/bin/ps - 775 sys sys 1168402346 68812
 386/bin/pwd - 775 sys sys 1148500685 36932
-386/bin/ramfs - 775 sys sys 1178568298 88610
+386/bin/ramfs - 775 sys sys 1209184388 89491
 386/bin/rc - 775 sys sys 1183001109 145286
 386/bin/rdbfs - 775 sys sys 1184731240 173180
 386/bin/read - 775 sys sys 1168402347 58283
@@ -562,38 +562,39 @@
 386/lib/ape/libregexp.a - 664 sys sys 1143777857 47500
 386/lib/ape/libutf.a - 664 sys sys 1146156980 88500
 386/lib/ape/libv.a - 664 sys sys 1202357672 19334
-386/lib/lib9p.a - 664 sys sys 1184529909 91012
-386/lib/libString.a - 664 sys sys 1168402362 22126
-386/lib/libauth.a - 664 sys sys 1179372118 58864
-386/lib/libauthsrv.a - 664 sys sys 1203713023 36452
-386/lib/libbin.a - 664 sys sys 1168402363 2534
-386/lib/libbio.a - 664 sys sys 1168402363 25980
-386/lib/libc.a - 664 sys sys 1206470110 502352
-386/lib/libcomplete.a - 664 sys sys 1168402364 6372
-386/lib/libcontrol.a - 664 sys sys 1205810549 274730
-386/lib/libdisk.a - 664 sys sys 1168402365 42368
-386/lib/libdraw.a - 664 sys sys 1197732882 375130
-386/lib/libflate.a - 664 sys sys 1168402366 76726
-386/lib/libframe.a - 664 sys sys 1184529910 66398
-386/lib/libgeometry.a - 664 sys sys 1168402366 50470
-386/lib/libhtml.a - 664 sys sys 1205438981 229376
-386/lib/libhttpd.a - 664 sys sys 1206470113 100892
-386/lib/libip.a - 664 sys sys 1204292555 38800
-386/lib/libl.a - 664 sys sys 1168402367 5372
-386/lib/libmach.a - 664 sys sys 1196972899 807480
-386/lib/libmemdraw.a - 664 sys sys 1168402369 284092
-386/lib/libmemlayer.a - 664 sys sys 1168402369 47360
-386/lib/libmp.a - 664 sys sys 1206470114 79978
-386/lib/libndb.a - 664 sys sys 1208546572 64960
-386/lib/liboventi.a - 664 sys sys 1206470118 99024
-386/lib/libplumb.a - 664 sys sys 1168402370 19408
-386/lib/libregexp.a - 664 sys sys 1200262805 37414
-386/lib/libscribble.a - 664 sys sys 1175972562 107238
-386/lib/libsec.a - 664 sys sys 1206479018 649042
+386/lib/lib9p.a - 664 sys sys 1209184390 91992
+386/lib/libString.a - 664 sys sys 1209184391 22466
+386/lib/libauth.a - 664 sys sys 1209184392 59742
+386/lib/libauthsrv.a - 664 sys sys 1209184392 36740
+386/lib/libavl.a - 664 sys sys 1209184393 11574
+386/lib/libbin.a - 664 sys sys 1209184393 2562
+386/lib/libbio.a - 664 sys sys 1209184393 26248
+386/lib/libc.a - 664 sys sys 1209184402 505820
+386/lib/libcomplete.a - 664 sys sys 1209184402 6440
+386/lib/libcontrol.a - 664 sys sys 1209184407 276774
+386/lib/libdisk.a - 664 sys sys 1209184408 42712
+386/lib/libdraw.a - 664 sys sys 1209184415 377774
+386/lib/libflate.a - 664 sys sys 1209184416 76866
+386/lib/libframe.a - 664 sys sys 1209184417 68780
+386/lib/libgeometry.a - 664 sys sys 1209184419 50810
+386/lib/libhtml.a - 664 sys sys 1209184423 229848
+386/lib/libhttpd.a - 664 sys sys 1209184424 101584
+386/lib/libip.a - 664 sys sys 1209184426 39112
+386/lib/libl.a - 664 sys sys 1209184426 5484
+386/lib/libmach.a - 664 sys sys 1209184439 809508
+386/lib/libmemdraw.a - 664 sys sys 1209184444 284960
+386/lib/libmemlayer.a - 664 sys sys 1209184446 47760
+386/lib/libmp.a - 664 sys sys 1209184448 80834
+386/lib/libndb.a - 664 sys sys 1209184449 65780
+386/lib/liboventi.a - 664 sys sys 1209184451 100220
+386/lib/libplumb.a - 664 sys sys 1209184452 19616
+386/lib/libregexp.a - 664 sys sys 1209184453 37586
+386/lib/libscribble.a - 664 sys sys 1209184455 107650
+386/lib/libsec.a - 664 sys sys 1209184465 650926
 386/lib/libstdio.a - 664 sys sys 1176432133 126062
-386/lib/libsunrpc.a - 664 sys sys 1198211722 353148
-386/lib/libthread.a - 664 sys sys 1184731247 71918
-386/lib/libventi.a - 664 sys sys 1206479021 190048
+386/lib/libsunrpc.a - 664 sys sys 1209184472 355136
+386/lib/libthread.a - 664 sys sys 1209184474 73142
+386/lib/libventi.a - 664 sys sys 1209184478 191764
 386/mbr - 775 sys sys 1131317338 407
 386/mkfile - 664 sys sys 948141303 46
 386/pbs - 775 sys sys 1143465402 495
@@ -9203,7 +9204,7 @@ sys/src/boot/pc/ether8003.c - 664 sys sys 1015007950 6446
 sys/src/boot/pc/ether8139.c - 664 sys sys 1121393459 14823
 sys/src/boot/pc/ether8169.c - 664 sys sys 1204324647 21870
 sys/src/boot/pc/ether82557.c - 664 sys sys 1140802406 19090
-sys/src/boot/pc/ether82563.c - 664 sys sys 1199772483 25481
+sys/src/boot/pc/ether82563.c - 664 sys sys 1209184829 26037
 sys/src/boot/pc/ether83815.c - 664 sys sys 1144961190 21993
 sys/src/boot/pc/ether8390.c - 664 sys sys 1112382847 16209
 sys/src/boot/pc/ether8390.h - 664 sys sys 1015007951 1392

+ 34 - 0
dist/replica/plan9.log

@@ -19040,3 +19040,37 @@
 1208986205 5 a sys/src/cmd/venti/words/wrtape - 775 sys sys 1019678881 555
 1209078004 0 c sys/src/cmd/ramfs.c - 664 sys sys 1209077281 16050
 1209146404 0 c sys/src/cmd/venti/words/dumpvacroots - 775 sys sys 1209145281 609
+1209186003 0 c 386/bin/ramfs - 775 sys sys 1209184388 89491
+1209186003 1 c 386/lib/lib9p.a - 664 sys sys 1209184390 91992
+1209186003 2 c 386/lib/libString.a - 664 sys sys 1209184391 22466
+1209186003 3 c 386/lib/libauth.a - 664 sys sys 1209184392 59742
+1209186003 4 c 386/lib/libauthsrv.a - 664 sys sys 1209184392 36740
+1209186003 5 a 386/lib/libavl.a - 664 sys sys 1209184393 11574
+1209186003 6 c 386/lib/libbin.a - 664 sys sys 1209184393 2562
+1209186003 7 c 386/lib/libbio.a - 664 sys sys 1209184393 26248
+1209186003 8 c 386/lib/libc.a - 664 sys sys 1209184402 505820
+1209186003 9 c 386/lib/libcomplete.a - 664 sys sys 1209184402 6440
+1209186003 10 c 386/lib/libcontrol.a - 664 sys sys 1209184407 276774
+1209186003 11 c 386/lib/libdisk.a - 664 sys sys 1209184408 42712
+1209186003 12 c 386/lib/libdraw.a - 664 sys sys 1209184415 377774
+1209186003 13 c 386/lib/libflate.a - 664 sys sys 1209184416 76866
+1209186003 14 c 386/lib/libframe.a - 664 sys sys 1209184417 68780
+1209186003 15 c 386/lib/libgeometry.a - 664 sys sys 1209184419 50810
+1209186003 16 c 386/lib/libhtml.a - 664 sys sys 1209184423 229848
+1209186003 17 c 386/lib/libhttpd.a - 664 sys sys 1209184424 101584
+1209186003 18 c 386/lib/libip.a - 664 sys sys 1209184426 39112
+1209186003 19 c 386/lib/libl.a - 664 sys sys 1209184426 5484
+1209186003 20 c 386/lib/libmach.a - 664 sys sys 1209184439 809508
+1209186003 21 c 386/lib/libmemdraw.a - 664 sys sys 1209184444 284960
+1209186003 22 c 386/lib/libmemlayer.a - 664 sys sys 1209184446 47760
+1209186003 23 c 386/lib/libmp.a - 664 sys sys 1209184448 80834
+1209186003 24 c 386/lib/libndb.a - 664 sys sys 1209184449 65780
+1209186003 25 c 386/lib/liboventi.a - 664 sys sys 1209184451 100220
+1209186003 26 c 386/lib/libplumb.a - 664 sys sys 1209184452 19616
+1209186003 27 c 386/lib/libregexp.a - 664 sys sys 1209184453 37586
+1209186003 28 c 386/lib/libscribble.a - 664 sys sys 1209184455 107650
+1209186003 29 c 386/lib/libsec.a - 664 sys sys 1209184465 650926
+1209186003 30 c 386/lib/libsunrpc.a - 664 sys sys 1209184472 355136
+1209186003 31 c 386/lib/libthread.a - 664 sys sys 1209184474 73142
+1209186003 32 c 386/lib/libventi.a - 664 sys sys 1209184478 191764
+1209186003 33 c sys/src/boot/pc/ether82563.c - 664 sys sys 1209184829 26037

+ 29 - 1
sys/src/boot/pc/ether82563.c

@@ -54,6 +54,7 @@ enum {
 	Rxcw		= 0x00000180,	/* Receive Configuration Word */
 	Ledctl		= 0x00000E00,	/* LED control */
 	Pba		= 0x00001000,	/* Packet Buffer Allocation */
+	Pbs		= 0x00001008,	/* Packet Buffer Size */
 
 	/* Interrupt */
 
@@ -384,13 +385,17 @@ enum {
 
 enum {
 	i82563,
+	i82566,
 	i82571,
+	i82572,
 	i82573,
 };
 
 static char *tname[] = {
 	"i82563",
+	"i82566",
 	"i82571",
+	"i82572",
 	"i82573",
 };
 
@@ -691,6 +696,10 @@ i82563init(Ether* edev)
 	i82563replenish(ctlr);
 	csr32w(ctlr, Rdtr, 0);
 	csr32w(ctlr, Rctl, Dpf | Bsize2048 | Bam | RdtmsHALF);
+	if(ctlr->type == i82573)
+		csr32w(ctlr, Ert, 1024/8);
+	if(ctlr->type == i82566)
+		csr32w(ctlr, Pbs, 16);
 	i82563im(ctlr, Rxt0 | Rxo | Rxdmt0 | Rxseq | Ack);
 
 	csr32w(ctlr, Tctl, 0x0F<<CtSHIFT | Psp | 0x3f<<ColdSHIFT | Mulr);
@@ -755,6 +764,8 @@ detach(Ctlr *ctlr)
 	delay(10);
 
 	r = csr32r(ctlr, Ctrl);
+	if(ctlr->type == i82566)
+		r |= Phy_rst;
 	csr32w(ctlr, Ctrl, Devrst | r);
 	/* apparently needed on multi-GHz processors to avoid infinite loops */
 	delay(1);
@@ -796,7 +807,12 @@ i82563reset(Ctlr* ctlr)
 
 	detach(ctlr);
 
-	r = eeload(ctlr);
+	if(ctlr->type == i82566) {
+		// r = fload(ctlr);
+		r = 0;
+		print("i82566 not done yet\n");
+	} else
+		r = eeload(ctlr);
 	if (r != 0 && r != 0xBABA){
 		print("%s: bad EEPROM checksum - 0x%4.4ux\n", Type, r);
 		return -1;
@@ -858,6 +874,18 @@ i82563pci(void)
 		case 0x10ba:
 			type = i82563;
 			break;
+		case 0x1049:		/* mm */
+		case 0x104a:		/* dm */
+		case 0x104d:		/* v */
+			type = i82566;
+			break;
+		case 0x10a4:
+		case 0x105e:
+			type = i82571;
+			break;
+		case 0x10b9:		/* sic, 82572 */
+			type = i82572;
+			break;
 		case 0x108b:		/*  e */
 		case 0x108c:		/*  e (iamt) */
 		case 0x109a:		/*  l */