Browse Source

Plan 9 from Bell Labs 2008-01-03

David du Colombier 16 years ago
parent
commit
19fdedaff0

+ 4 - 3
dist/replica/_plan9.db

@@ -147,7 +147,7 @@
 386/bin/aux/tr2post - 775 sys sys 1104121987 176578
 386/bin/aux/trampoline - 775 sys sys 1178568259 82677
 386/bin/aux/usage - 775 sys sys 1168402288 59809
-386/bin/aux/vga - 775 sys sys 1182482483 334774
+386/bin/aux/vga - 775 sys sys 1199305865 334943
 386/bin/aux/vmmousepoll - 775 sys sys 1032480572 41434
 386/bin/aux/vmware - 775 sys sys 1049428256 453
 386/bin/aux/vmwarefs - 775 sys sys 1095563640 99117
@@ -5637,6 +5637,7 @@ rc/bin/umem - 775 sys sys 1190076661 547
 rc/bin/uncompress - 775 sys sys 1158798931 30
 rc/bin/ups - 775 sys sys 1091021981 806
 rc/bin/uptime - 775 sys sys 1074730712 234
+rc/bin/usbfat: - 775 sys sys 1199300762 712
 rc/bin/usbstart - 775 sys sys 1044894155 81
 rc/bin/usps - 775 sys sys 1016826030 450
 rc/bin/vwhois - 775 sys sys 1106409971 445
@@ -9870,7 +9871,7 @@ sys/src/cmd/aux/vga/mga4xx.c - 664 sys sys 1158594482 36898
 sys/src/cmd/aux/vga/mkfile - 664 sys sys 1115734903 927
 sys/src/cmd/aux/vga/neomagic.c - 664 sys sys 1104430499 8975
 sys/src/cmd/aux/vga/notes.txt - 664 sys sys 1028334647 14376
-sys/src/cmd/aux/vga/nvidia.c - 664 sys sys 1182462658 32347
+sys/src/cmd/aux/vga/nvidia.c - 664 sys sys 1199290669 32518
 sys/src/cmd/aux/vga/palette.c - 664 sys sys 1014925010 2201
 sys/src/cmd/aux/vga/pci.c - 664 sys sys 1014925011 8659
 sys/src/cmd/aux/vga/pci.h - 664 sys sys 1014925011 3290
@@ -10421,7 +10422,7 @@ sys/src/cmd/fossil/flfmt9660.c - 664 sys sys 1132451844 12318
 sys/src/cmd/fossil/flfmt9660.h - 664 sys sys 1072830621 134
 sys/src/cmd/fossil/flproto - 664 sys sys 1173736837 222
 sys/src/cmd/fossil/fns.h - 664 sys sys 1189552875 3262
-sys/src/cmd/fossil/fossil-acid - 664 sys sys 1139667278 4365
+sys/src/cmd/fossil/fossil-acid - 664 sys sys 1199304805 4367
 sys/src/cmd/fossil/fossil.c - 664 sys sys 1077896345 2435
 sys/src/cmd/fossil/fs.c - 664 sys sys 1177432004 21598
 sys/src/cmd/fossil/fs.h - 664 sys sys 1189552775 1606

+ 4 - 3
dist/replica/plan9.db

@@ -147,7 +147,7 @@
 386/bin/aux/tr2post - 775 sys sys 1104121987 176578
 386/bin/aux/trampoline - 775 sys sys 1178568259 82677
 386/bin/aux/usage - 775 sys sys 1168402288 59809
-386/bin/aux/vga - 775 sys sys 1182482483 334774
+386/bin/aux/vga - 775 sys sys 1199305865 334943
 386/bin/aux/vmmousepoll - 775 sys sys 1032480572 41434
 386/bin/aux/vmware - 775 sys sys 1049428256 453
 386/bin/aux/vmwarefs - 775 sys sys 1095563640 99117
@@ -5637,6 +5637,7 @@ rc/bin/umem - 775 sys sys 1190076661 547
 rc/bin/uncompress - 775 sys sys 1158798931 30
 rc/bin/ups - 775 sys sys 1091021981 806
 rc/bin/uptime - 775 sys sys 1074730712 234
+rc/bin/usbfat: - 775 sys sys 1199300762 712
 rc/bin/usbstart - 775 sys sys 1044894155 81
 rc/bin/usps - 775 sys sys 1016826030 450
 rc/bin/vwhois - 775 sys sys 1106409971 445
@@ -9870,7 +9871,7 @@ sys/src/cmd/aux/vga/mga4xx.c - 664 sys sys 1158594482 36898
 sys/src/cmd/aux/vga/mkfile - 664 sys sys 1115734903 927
 sys/src/cmd/aux/vga/neomagic.c - 664 sys sys 1104430499 8975
 sys/src/cmd/aux/vga/notes.txt - 664 sys sys 1028334647 14376
-sys/src/cmd/aux/vga/nvidia.c - 664 sys sys 1182462658 32347
+sys/src/cmd/aux/vga/nvidia.c - 664 sys sys 1199290669 32518
 sys/src/cmd/aux/vga/palette.c - 664 sys sys 1014925010 2201
 sys/src/cmd/aux/vga/pci.c - 664 sys sys 1014925011 8659
 sys/src/cmd/aux/vga/pci.h - 664 sys sys 1014925011 3290
@@ -10421,7 +10422,7 @@ sys/src/cmd/fossil/flfmt9660.c - 664 sys sys 1132451844 12318
 sys/src/cmd/fossil/flfmt9660.h - 664 sys sys 1072830621 134
 sys/src/cmd/fossil/flproto - 664 sys sys 1173736837 222
 sys/src/cmd/fossil/fns.h - 664 sys sys 1189552875 3262
-sys/src/cmd/fossil/fossil-acid - 664 sys sys 1139667278 4365
+sys/src/cmd/fossil/fossil-acid - 664 sys sys 1199304805 4367
 sys/src/cmd/fossil/fossil.c - 664 sys sys 1077896345 2435
 sys/src/cmd/fossil/fs.c - 664 sys sys 1177432004 21598
 sys/src/cmd/fossil/fs.h - 664 sys sys 1189552775 1606

+ 4 - 0
dist/replica/plan9.log

@@ -18219,3 +18219,7 @@
 1198213204 7 c 386/lib/libndb.a - 664 sys sys 1198211713 64470
 1198213204 8 c 386/lib/libsunrpc.a - 664 sys sys 1198211722 353148
 1198245608 0 c sys/man/1/doc2txt - 664 sys sys 1198243815 2518
+1199291404 0 c sys/src/cmd/aux/vga/nvidia.c - 664 sys sys 1199290669 32518
+1199302204 0 a rc/bin/usbfat: - 775 sys sys 1199300762 712
+1199305806 0 c sys/src/cmd/fossil/fossil-acid - 664 sys sys 1199304805 4367
+1199307604 0 c 386/bin/aux/vga - 775 sys sys 1199305865 334943

+ 40 - 0
rc/bin/usbfat:

@@ -0,0 +1,40 @@
+#!/bin/rc
+# usbfat: [-f] [disk [mtpt]] - mount a USB disk's MS FAT file system
+rfork e
+opts=()
+while (! ~ $#* 0 && ~ $1 -*) {
+	switch ($1) {
+	case -f
+		opts=($opts $1)
+	case -*
+		echo usage: $0 '[-f] [disk [mtpt]]' >[1=2]
+		exit usage
+	}
+	shift
+}
+disk = /n/disk/0/data
+mtpt = /n/usb
+
+switch ($#*) {
+case 0
+	;
+case 1
+	disk = $1
+case 2
+	disk = $1
+	mtpt = $2
+case *
+	echo usage: $0 '[-f] [disk [mtpt]]' >[1=2]
+	exit usage
+}
+
+if (! test -e $disk)
+	usb/disk $opts
+blk = `{disk/fdisk -p $disk | awk '/^part dos / {print $3}'}
+if (~ $#blk 0 || ! ~ $blk [0-9]*) {
+	echo $0: no fdisk dos partition found... >[1=2]
+	dossrv -f $disk usbfat.$user
+}
+if not
+	dossrv -f $disk:$blk usbfat.$user
+mount -c /srv/usbfat.$user $mtpt

+ 26 - 16
sys/src/cmd/aux/vga/nvidia.c

@@ -289,8 +289,11 @@ snarf(Vga* vga, Ctlr* ctlr)
 	case 0x0144:
 	case 0x0146:
 	case 0x0148:
+	case 0x01D7:
 		nv->islcd = 1;
 		break;
+	default:
+		break;
 	}
 
 	if (nv->arch == 4) {
@@ -341,14 +344,14 @@ snarf(Vga* vga, Ctlr* ctlr)
 
 	nv->vpll = nv->pramdac[0x508/4];
 	if (nv->twoheads)
-		nv->vpll2  = nv->pramdac[0x520/4];
+		nv->vpll2 = nv->pramdac[0x520/4];
 	if (nv->twostagepll) {
-		nv->vpllB  = nv->pramdac[0x578/4];
+		nv->vpllB = nv->pramdac[0x578/4];
 		nv->vpll2B = nv->pramdac[0x57C/4];
 	}
-	nv->pllsel  = nv->pramdac[0x50C/4];
+	nv->pllsel = nv->pramdac[0x50C/4];
 	nv->general = nv->pramdac[0x600/4];
-	nv->scale   = nv->pramdac[0x848/4];
+	nv->scale = nv->pramdac[0x848/4];
 	nv->config = nv->pfb[0x200/4];
 
 	if (nv->pixel & 0x80)
@@ -366,13 +369,17 @@ snarf(Vga* vga, Ctlr* ctlr)
 			nv->dither = nv->pramdac[0x0528/4];
 		else if (nv->twoheads)
 			nv->dither = nv->pramdac[0x083C/4];
+		if(nv->islcd){
+			nv->timingH = vgaxi(Crtx, 0x53);
+			nv->timingV = vgaxi(Crtx, 0x54);
+		}
 	}
 
 	/*
 	 * DFP.
 	 */
 	if (nv->islcd) {
-		nv->fpwidth  = nv->pramdac[0x0820/4] + 1;
+		nv->fpwidth = nv->pramdac[0x0820/4] + 1;
 		nv->fpheight = nv->pramdac[0x0800/4] + 1;
 		nv->crtcsync = nv->pramdac[0x0828/4];
 	}
@@ -497,8 +504,8 @@ init(Vga* vga, Ctlr* ctlr)
 		nv->general = 0x00001100;
 	else
 		nv->general = 0x00000100;
-	//if (mode->z != 8)
-	//	nv->general |= 0x00000030;
+	if (0 && mode->z != 8)
+		nv->general |= 0x00000030;
 
 	if (mode->x < 1280)
 		nv->repaint1 = 0x04;
@@ -509,6 +516,9 @@ init(Vga* vga, Ctlr* ctlr)
 	vga->attribute[0x11] = Pblack;
 	vga->crt[0x14] = 0;
 
+	if(1 && vga->f[0] != VgaFreq0 && vga->f[1] != VgaFreq1)
+		vga->misc |= 0x08;
+
 	/* set vert blanking to cover full overscan */
 
 	tmp = vga->crt[0x12];
@@ -619,7 +629,7 @@ init(Vga* vga, Ctlr* ctlr)
 	nv->interlace = 0xFF;
 	if (nv->twoheads) {
 		nv->head |= 0x00001000;
-		nv->head2 |= ~0x00001000;
+		nv->head2 &= ~0x00001000;
 		nv->crtcowner = 0;
 		if((nv->did & 0x0ff0) == 0x0110)
 			nv->dither &= ~0x00010000;
@@ -683,7 +693,7 @@ load(Vga* vga, Ctlr* ctlr)
 	}
 
 	if (nv->arch >= 40) {
-		nv->pramin[0]      = 0x80000010;
+		nv->pramin[0] = 0x80000010;
 		nv->pramin[0x0001] = 0x00101202;
 		nv->pramin[0x0002] = 0x80000011;
 		nv->pramin[0x0003] = 0x00101204;
@@ -869,10 +879,10 @@ load(Vga* vga, Ctlr* ctlr)
 				nv->pgraph[0x0610/4] = 0x00be3c5f;
 
 
-				tmp = nv->pgraph[0x1540] & 0xff;
+				tmp = nv->pmc[0x1540/4] & 0xff;
 				for(i = 0; tmp && !(tmp & 1); tmp >>= 1, i++)
 					;
-				nv->pgraph[0x5000] = i;
+				nv->pgraph[0x5000/4] = i;
 
 				if ((nv->did & 0xfff0) == 0x0040) {
 					nv->pgraph[0x09b0/4] = 0x83280fff;
@@ -1113,13 +1123,13 @@ load(Vga* vga, Ctlr* ctlr)
 		nv->pramdac[0x00000848/4] = nv->scale;
 		nv->pramdac[0x00000828/4] = nv->crtcsync;
 	} else {
-		nv->pramdac[0x0000050C/4] = nv->pllsel;
-		nv->pramdac[0x00000508/4] = nv->vpll;
+		nv->pramdac[0x50C/4] = nv->pllsel;
+		nv->pramdac[0x508/4] = nv->vpll;
 		if (nv->twoheads)
-			nv->pramdac[0x00000520/4] = nv->vpll2;
+			nv->pramdac[0x520/4] = nv->vpll2;
 		if (nv->twostagepll) {
-			nv->pramdac[0x00000578/4] = nv->vpllB;
-			nv->pramdac[0x0000057C/4] = nv->vpll2B;
+			nv->pramdac[0x578/4] = nv->vpllB;
+			nv->pramdac[0x57C/4] = nv->vpll2B;
 		}
 	}
 	nv->pramdac[0x00000600/4] = nv->general;

+ 2 - 2
sys/src/cmd/fossil/fossil-acid

@@ -8,8 +8,8 @@ rc("cd /sys/src/cmd/fossil; mk disk.acid");
 include("/sys/src/cmd/fossil/disk.acid");
 rc("cd /sys/src/cmd/fossil; mk fs.acid");
 include("/sys/src/cmd/fossil/fs.acid");
-rc("cd /sys/src/libventi; mk plan9-thread.acid");
-include("/sys/src/libventi/plan9-thread.acid");
+rc("cd /sys/src/liboventi; mk plan9-thread.acid");
+include("/sys/src/liboventi/plan9-thread.acid");
 
 // make a list of pids from a list of Thread structures
 defn _threadlist(t)