Browse Source

Plan 9 from Bell Labs 2006-02-22

David du Colombier 18 years ago
parent
commit
ed88ebfe97
6 changed files with 33 additions and 23 deletions
  1. 4 4
      dist/replica/_plan9.db
  2. 4 4
      dist/replica/plan9.db
  3. 4 0
      dist/replica/plan9.log
  4. 1 0
      sys/games/lib/fortunes
  5. 19 14
      sys/src/9/pc/etherigbe.c
  6. 1 1
      sys/src/cmd/8l/asm.c

+ 4 - 4
dist/replica/_plan9.db

@@ -16,7 +16,7 @@
 386/bin - 20000000775 sys sys 1018897690 0
 386/bin/8a - 775 sys sys 1135570766 116009
 386/bin/8c - 775 sys sys 1138464441 361964
-386/bin/8l - 775 sys sys 1130384229 115712
+386/bin/8l - 775 sys sys 1140553397 115719
 386/bin/9660srv - 775 sys sys 1135570766 104023
 386/bin/aan - 775 sys sys 1138500151 131061
 386/bin/acid - 775 sys sys 1138500164 400525
@@ -5746,7 +5746,7 @@ sys/games - 20000000775 sys sys 952648872 0
 sys/games/lib - 20000000775 sys sys 952648879 0
 sys/games/lib/4scores - 10000000664 sys sys 1118680448 0
 sys/games/lib/5scores - 10000000664 sys sys 1118680453 0
-sys/games/lib/fortunes - 664 sys sys 1140048019 257519
+sys/games/lib/fortunes - 664 sys sys 1140522013 257576
 sys/games/lib/mahjongg - 20000000775 sys sys 1095792278 0
 sys/games/lib/mahjongg/backgrounds - 20000000775 sys sys 1095792293 0
 sys/games/lib/mahjongg/backgrounds/default.bit - 664 sys sys 1095792293 346803
@@ -7966,7 +7966,7 @@ sys/src/9/pc/etherelnk3.c - 664 sys sys 1131290378 48733
 sys/src/9/pc/etherga620.c - 664 sys sys 1134390125 28760
 sys/src/9/pc/etherga620fw.h - 664 sys sys 1026847642 222295
 sys/src/9/pc/etherif.h - 664 sys sys 1088178711 961
-sys/src/9/pc/etherigbe.c - 664 sys sys 1131896403 44621
+sys/src/9/pc/etherigbe.c - 664 sys sys 1140545255 44829
 sys/src/9/pc/ethermii.c - 664 sys sys 1084331434 4612
 sys/src/9/pc/ethermii.h - 664 sys sys 1086873891 3258
 sys/src/9/pc/etherrhine.c - 664 sys sys 1081706478 13799
@@ -9235,7 +9235,7 @@ sys/src/cmd/8c/sgen.c - 664 sys sys 1089299181 12833
 sys/src/cmd/8c/swt.c - 664 sys sys 1098463321 10943
 sys/src/cmd/8c/txt.c - 664 sys sys 1138460007 23789
 sys/src/cmd/8l - 20000000775 sys sys 1017165863 0
-sys/src/cmd/8l/asm.c - 664 sys sys 1107755623 11882
+sys/src/cmd/8l/asm.c - 664 sys sys 1140545812 11882
 sys/src/cmd/8l/compat.c - 664 sys sys 944960733 445
 sys/src/cmd/8l/l.h - 664 sys sys 1120557254 5785
 sys/src/cmd/8l/list.c - 664 sys sys 1045503947 4185

+ 4 - 4
dist/replica/plan9.db

@@ -16,7 +16,7 @@
 386/bin - 20000000775 sys sys 1018897690 0
 386/bin/8a - 775 sys sys 1135570766 116009
 386/bin/8c - 775 sys sys 1138464441 361964
-386/bin/8l - 775 sys sys 1130384229 115712
+386/bin/8l - 775 sys sys 1140553397 115719
 386/bin/9660srv - 775 sys sys 1135570766 104023
 386/bin/aan - 775 sys sys 1138500151 131061
 386/bin/acid - 775 sys sys 1138500164 400525
@@ -5746,7 +5746,7 @@ sys/games - 20000000775 sys sys 952648872 0
 sys/games/lib - 20000000775 sys sys 952648879 0
 sys/games/lib/4scores - 10000000664 sys sys 1118680448 0
 sys/games/lib/5scores - 10000000664 sys sys 1118680453 0
-sys/games/lib/fortunes - 664 sys sys 1140048019 257519
+sys/games/lib/fortunes - 664 sys sys 1140522013 257576
 sys/games/lib/mahjongg - 20000000775 sys sys 1095792278 0
 sys/games/lib/mahjongg/backgrounds - 20000000775 sys sys 1095792293 0
 sys/games/lib/mahjongg/backgrounds/default.bit - 664 sys sys 1095792293 346803
@@ -7966,7 +7966,7 @@ sys/src/9/pc/etherelnk3.c - 664 sys sys 1131290378 48733
 sys/src/9/pc/etherga620.c - 664 sys sys 1134390125 28760
 sys/src/9/pc/etherga620fw.h - 664 sys sys 1026847642 222295
 sys/src/9/pc/etherif.h - 664 sys sys 1088178711 961
-sys/src/9/pc/etherigbe.c - 664 sys sys 1131896403 44621
+sys/src/9/pc/etherigbe.c - 664 sys sys 1140545255 44829
 sys/src/9/pc/ethermii.c - 664 sys sys 1084331434 4612
 sys/src/9/pc/ethermii.h - 664 sys sys 1086873891 3258
 sys/src/9/pc/etherrhine.c - 664 sys sys 1081706478 13799
@@ -9235,7 +9235,7 @@ sys/src/cmd/8c/sgen.c - 664 sys sys 1089299181 12833
 sys/src/cmd/8c/swt.c - 664 sys sys 1098463321 10943
 sys/src/cmd/8c/txt.c - 664 sys sys 1138460007 23789
 sys/src/cmd/8l - 20000000775 sys sys 1017165863 0
-sys/src/cmd/8l/asm.c - 664 sys sys 1107755623 11882
+sys/src/cmd/8l/asm.c - 664 sys sys 1140545812 11882
 sys/src/cmd/8l/compat.c - 664 sys sys 944960733 445
 sys/src/cmd/8l/l.h - 664 sys sys 1120557254 5785
 sys/src/cmd/8l/list.c - 664 sys sys 1045503947 4185

+ 4 - 0
dist/replica/plan9.log

@@ -27809,3 +27809,7 @@
 1140343241 0 m lib/face/48x48x4/g/geoff.1 - 664 sys sys 1140277644 1168
 1140447670 0 a sys/lib/kbmap/svorak - 664 sys sys 1140447136 1446
 1140447670 1 c sys/man/4/nfs - 664 sys sys 1140447003 4475
+1140523292 0 c sys/games/lib/fortunes - 664 sys sys 1140522013 257576
+1140546700 0 c sys/src/9/pc/etherigbe.c - 664 sys sys 1140545255 44829
+1140546700 1 c sys/src/cmd/8l/asm.c - 664 sys sys 1140545812 11882
+1140553902 0 c 386/bin/8l - 775 sys sys 1140553397 115719

+ 1 - 0
sys/games/lib/fortunes

@@ -4105,3 +4105,4 @@ we live in a world of dogmas, probably trying to fight it with a stronger dogma
 Equations are the devil's sentences.  - Stephen Colbert
 cpu: can't dial: plan9.lanl.gov: The operation completed successfully.
 A kiss without a beard is like an egg without salt.  - Dutch proverb
+Nothing is good enough for the fortune file! - Dan Cross

+ 19 - 14
sys/src/9/pc/etherigbe.c

@@ -38,7 +38,7 @@ enum {
 	i82545gmc	= (0x1026<<16)|0x8086,
 	i82547gi   	= (0x1075<<16)|0x8086,
 	i82541gi   	= (0x1076<<16)|0x8086,
-	i82541gi2		= (0x1077<<16)|0x8086,
+	i82541gi2	= (0x1077<<16)|0x8086,
 	i82546gb   	= (0x1079<<16)|0x8086,
 	i82541pi	= (0x107c<<16)|0x8086,
 	i82546eb	= (0x1010<<16)|0x8086,
@@ -173,7 +173,9 @@ enum {					/* Eecd */
 	Do		= 0x00000008,	/* Data Output from the EEPROM */
 	Areq		= 0x00000040,	/* EEPROM Access Request */
 	Agnt		= 0x00000080,	/* EEPROM Access Grant */
+	Eepresent	= 0x00000100,	/* EEPROM Present */
 	Eesz256		= 0x00000200,	/* EEPROM is 256 words not 64 */
+	Eeszaddr	= 0x00000400,	/* EEPROM size for 8254[17] */
 	Spi		= 0x00002000,	/* EEPROM is SPI not Microwire */
 };
 
@@ -440,7 +442,7 @@ enum {
 
 typedef struct Ctlr Ctlr;
 typedef struct Ctlr {
-	ulong	port;
+	int	port;
 	Pcidev*	pcidev;
 	Ctlr*	next;
 	int	active;
@@ -831,8 +833,8 @@ igbelproc(void* arg)
 		case i82540em:
 		case i82540eplp:
 		case i82547gi:
-		case i82541gi2:
 		case i82541gi:
+		case i82541gi2:
 		case i82541pi:
 			break;
 		}
@@ -883,12 +885,12 @@ igbetxinit(Ctlr* ctlr)
 	case i82540em:
 	case i82540eplp:
 	case i82541gi:
+	case i82541gi2:
 	case i82541pi:
 	case i82545gmc:
 	case i82546gb:
 	case i82546eb:
 	case i82547gi:
-	case i82541gi2:
 		r = 8;
 		break;
 	}
@@ -922,11 +924,11 @@ igbetxinit(Ctlr* ctlr)
 	case i82540em:
 	case i82540eplp:
 	case i82547gi:
-	case i82541gi2:
 	case i82545gmc:
 	case i82546gb:
 	case i82546eb:
 	case i82541gi:
+	case i82541gi2:
 	case i82541pi:
 		r = csr32r(ctlr, Txdctl);
 		r &= ~WthreshMASK;
@@ -1056,12 +1058,12 @@ igberxinit(Ctlr* ctlr)
 	case i82540em:
 	case i82540eplp:
 	case i82541gi:
+	case i82541gi2:
 	case i82541pi:
 	case i82545gmc:
 	case i82546gb:
 	case i82546eb:
 	case i82547gi:
-	case i82541gi2:
 		csr32w(ctlr, Radv, 64);
 		break;
 	}
@@ -1182,7 +1184,7 @@ igbeattach(Ether* edev)
 		qunlock(&ctlr->alock);
 		return;
 	}
-	ctlr->rdba = (Rd*)ROUNDUP((ulong)ctlr->alloc, 128);
+	ctlr->rdba = (Rd*)ROUNDUP((uintptr)ctlr->alloc, 128);
 	ctlr->tdba = (Td*)(ctlr->rdba+ctlr->nrd);
 
 	ctlr->rb = malloc(ctlr->nrd*sizeof(Block*));
@@ -1452,8 +1454,8 @@ igbemii(Ctlr* ctlr)
 	case i82540em:
 	case i82540eplp:
 	case i82547gi:
-	case i82541gi2:
 	case i82541gi:
+	case i82541gi2:
 	case i82541pi:
 	case i82545gmc:
 	case i82546gb:
@@ -1486,8 +1488,8 @@ igbemii(Ctlr* ctlr)
 	 */
 	switch(ctlr->id){
 	case i82547gi:
-	case i82541gi2:
 	case i82541gi:
+	case i82541gi2:
 	case i82541pi:
 	case i82545gmc:
 	case i82546gb:
@@ -1586,7 +1588,7 @@ at93c46io(Ctlr* ctlr, char* op, int data)
 			break;
 		}
 		csr32w(ctlr, Eecd, eecd);
-		microdelay(1);
+		microdelay(50);
 	}
 	if(loop >= 0)
 		return -1;
@@ -1605,11 +1607,10 @@ at93c46r(Ctlr* ctlr)
 		print("igbe: SPI EEPROM access not implemented\n");
 		return 0;
 	}
-	if(eecd & Eesz256)
+	if(eecd & (Eeszaddr|Eesz256))
 		bits = 8;
 	else
 		bits = 6;
-	snprint(rop, sizeof(rop), "S :%dDCc;", bits+3);
 
 	sum = 0;
 
@@ -1617,11 +1618,11 @@ at93c46r(Ctlr* ctlr)
 	default:
 		areq = 0;
 		break;
+	case i82541gi:
+	case i82547gi:
 	case i82540em:
 	case i82540eplp:
-	case i82541gi:
 	case i82541pi:
-	case i82547gi:
 	case i82541gi2:
 	case i82545gmc:
 	case i82546gb:
@@ -1639,6 +1640,7 @@ at93c46r(Ctlr* ctlr)
 		}
 		break;
 	}
+	snprint(rop, sizeof(rop), "S :%dDCc;", bits+3);
 
 	for(addr = 0; addr < 0x40; addr++){
 		/*
@@ -1761,6 +1763,8 @@ igbereset(Ctlr* ctlr)
 	if ((ctlr->id == i82546gb || ctlr->id == i82546eb) && BUSFNO(ctlr->pcidev->tbdf) == 1)
 		ctlr->eeprom[Ea+2] += 0x100;	// second interface
 	for(i = Ea; i < Eaddrlen/2; i++){
+if(i == Ea && ctlr->id == i82541gi && ctlr->eeprom[i] == 0xFFFF)
+    ctlr->eeprom[i] = 0xD000;
 		ctlr->ra[2*i] = ctlr->eeprom[i];
 		ctlr->ra[2*i+1] = ctlr->eeprom[i]>>8;
 	}
@@ -1978,3 +1982,4 @@ etherigbelink(void)
 	addethercard("i82543", igbepnp);
 	addethercard("igbe", igbepnp);
 }
+

+ 1 - 1
sys/src/cmd/8l/asm.c

@@ -2,7 +2,7 @@
 
 #define	Dbufslop	100
 
-#define PADDR(a)	((ulong)(a) & ~0x80000000)
+#define PADDR(a)	((ulong)(a) & ~0xF0000000)
 
 long
 entryvalue(void)