Browse Source

Plan 9 from Bell Labs 2006-09-13

David du Colombier 17 years ago
parent
commit
4a30e95b4a

+ 16 - 15
dist/replica/_plan9.db

@@ -229,7 +229,7 @@
 386/bin/faces - 775 sys sys 1155491750 194710
 386/bin/factor - 775 sys sys 1148500632 61793
 386/bin/fcp - 775 sys sys 1148500632 82527
-386/bin/file - 775 sys sys 1157570246 124531
+386/bin/file - 775 sys sys 1158088707 125045
 386/bin/fmt - 775 sys sys 1148500633 65661
 386/bin/fortune - 775 sys sys 1148500633 67450
 386/bin/fossil - 20000000775 sys sys 1042005470 0
@@ -400,7 +400,7 @@
 386/bin/seq - 775 sys sys 1148500688 38431
 386/bin/sha1sum - 775 sys sys 1148500688 61460
 386/bin/size - 775 sys sys 1148500689 78775
-386/bin/sleep - 775 sys sys 1085077097 3413
+386/bin/sleep - 775 sys sys 1158088708 3875
 386/bin/snap - 775 sys sys 1136346852 313627
 386/bin/snapfs - 775 sys sys 1134389876 388292
 386/bin/sniffer - 775 sys sys 1038443185 99028
@@ -560,7 +560,7 @@
 386/lib/libhttpd.a - 664 sys sys 1153069071 99458
 386/lib/libip.a - 664 sys sys 1143777863 35576
 386/lib/libl.a - 664 sys sys 1143777863 5372
-386/lib/libmach.a - 664 sys sys 1148180229 785314
+386/lib/libmach.a - 664 sys sys 1158088709 785352
 386/lib/libmemdraw.a - 664 sys sys 1143777866 284092
 386/lib/libmemlayer.a - 664 sys sys 1143777866 47360
 386/lib/libmp.a - 664 sys sys 1144169680 79980
@@ -5388,7 +5388,7 @@ power/include/ape/float.h - 664 sys sys 969656988 1608
 power/include/ape/math.h - 664 sys sys 1078495287 2176
 power/include/ape/stdarg.h - 664 sys sys 944946355 324
 power/include/ape/ureg.h - 664 sys sys 944946362 1025
-power/include/u.h - 664 sys sys 1115924096 2795
+power/include/u.h - 664 sys sys 1158071170 2826
 power/include/ureg.h - 664 sys sys 1032057837 997
 power/lib - 20000000775 sys sys 947992106 0
 power/lib/ape - 20000000775 sys sys 947992106 0
@@ -7400,7 +7400,7 @@ sys/man/1/units - 664 sys sys 1113743326 2046
 sys/man/1/uptime - 664 sys sys 1074733782 380
 sys/man/1/vac - 664 sys sys 1021579977 3227
 sys/man/1/vi - 664 sys sys 1101668051 2904
-sys/man/1/vnc - 664 sys sys 1045501432 4186
+sys/man/1/vnc - 664 sys sys 1158063994 4313
 sys/man/1/vt - 664 sys sys 1133880370 2256
 sys/man/1/wc - 664 sys sys 1113743327 908
 sys/man/1/who - 664 sys sys 944959674 332
@@ -7668,6 +7668,7 @@ sys/man/6/keys.who - 664 sys sys 1110641163 775
 sys/man/6/man - 664 sys sys 944959678 4961
 sys/man/6/map - 664 sys sys 944959678 1892
 sys/man/6/mhtml - 664 sys sys 1138458169 1711
+sys/man/6/mnihongo - 664 sys sys 1158064572 716
 sys/man/6/mpictures - 664 sys sys 944959678 2899
 sys/man/6/ms - 664 sys sys 958249504 6815
 sys/man/6/namespace - 664 sys sys 1048637182 1576
@@ -7735,7 +7736,7 @@ sys/man/8/nfsserver - 664 sys sys 1142693998 3585
 sys/man/8/pcmcia - 664 sys sys 944959679 408
 sys/man/8/pem - 664 sys sys 1060263669 1189
 sys/man/8/ping - 664 sys sys 1139667147 3489
-sys/man/8/plan9.ini - 664 sys sys 1155153087 22548
+sys/man/8/plan9.ini - 664 sys sys 1158101763 22701
 sys/man/8/pop3 - 664 sys sys 1063854676 2720
 sys/man/8/ppp - 664 sys sys 1125530075 4414
 sys/man/8/prep - 664 sys sys 1152729153 14013
@@ -8010,13 +8011,13 @@ sys/src/9/pc/mp.h - 664 sys sys 1153193597 6795
 sys/src/9/pc/nv_dma.h - 664 sys sys 1081384508 12943
 sys/src/9/pc/pc - 664 sys sys 1143768293 1452
 sys/src/9/pc/pcauth - 664 sys sys 1131907692 715
-sys/src/9/pc/pccd - 664 sys sys 1138115243 1451
+sys/src/9/pc/pccd - 664 sys sys 1158061762 1466
 sys/src/9/pc/pccpu - 664 sys sys 1155674606 925
 sys/src/9/pc/pccpuf - 664 sys sys 1155674479 1532
 sys/src/9/pc/pcdisk - 664 sys sys 1138115243 1471
 sys/src/9/pc/pcf - 664 sys sys 1138115243 1529
 sys/src/9/pc/pcfl - 664 sys sys 1042004821 1563
-sys/src/9/pc/pcflop - 664 sys sys 1138115244 1498
+sys/src/9/pc/pcflop - 664 sys sys 1158061762 1513
 sys/src/9/pc/pci.c - 664 sys sys 1155995367 26873
 sys/src/9/pc/pcmciamodem.c - 664 sys sys 1099761153 1586
 sys/src/9/pc/pcmkfile - 664 sys sys 1109303822 101
@@ -9012,7 +9013,7 @@ sys/src/boot/pc/apm.c - 664 sys sys 1015007947 289
 sys/src/boot/pc/bcom.c - 664 sys sys 1032215919 6421
 sys/src/boot/pc/boot.c - 664 sys sys 1130887226 8421
 sys/src/boot/pc/bootld.c - 664 sys sys 1015007948 1801
-sys/src/boot/pc/bootp.c - 664 sys sys 1114464742 12374
+sys/src/boot/pc/bootp.c - 664 sys sys 1158100619 12438
 sys/src/boot/pc/cga.c - 664 sys sys 1015007948 1362
 sys/src/boot/pc/cis.c - 664 sys sys 1144961189 9232
 sys/src/boot/pc/clock.c - 664 sys sys 1103641772 6425
@@ -10150,7 +10151,7 @@ sys/src/cmd/fax/receiverc - 775 sys sys 944960990 581
 sys/src/cmd/fax/send.c - 664 sys sys 944960990 923
 sys/src/cmd/fax/subr.c - 664 sys sys 1015090401 1245
 sys/src/cmd/fcp.c - 664 sys sys 1136651872 3799
-sys/src/cmd/file.c - 664 sys sys 1157143564 27438
+sys/src/cmd/file.c - 664 sys sys 1158063685 28062
 sys/src/cmd/fmt.c - 664 sys sys 1137603598 4078
 sys/src/cmd/fortune.c - 664 sys sys 1072729222 1779
 sys/src/cmd/fossil - 20000000775 sys sys 1042005512 0
@@ -13221,7 +13222,7 @@ sys/src/cmd/seq.c - 664 sys sys 1125529033 1683
 sys/src/cmd/sh.C - 664 sys sys 1055701754 10303
 sys/src/cmd/sha1sum.c - 664 sys sys 1014926229 1017
 sys/src/cmd/size.c - 664 sys sys 944961619 717
-sys/src/cmd/sleep.c - 664 sys sys 1126031186 170
+sys/src/cmd/sleep.c - 664 sys sys 1158061645 544
 sys/src/cmd/snap - 20000000775 sys sys 951229639 0
 sys/src/cmd/snap/mkfile - 664 sys sys 1023834477 257
 sys/src/cmd/snap/read.c - 664 sys sys 1141660969 4332
@@ -14248,7 +14249,7 @@ sys/src/cmd/vl/pass.c - 664 sys sys 1132449538 8706
 sys/src/cmd/vl/sched.c - 664 sys sys 1014936060 11363
 sys/src/cmd/vl/span.c - 664 sys sys 1045503977 12015
 sys/src/cmd/vnc - 20000000775 sys sys 1014926000 0
-sys/src/cmd/vnc/auth.c - 664 sys sys 1143759340 4233
+sys/src/cmd/vnc/auth.c - 664 sys sys 1158063989 4308
 sys/src/cmd/vnc/chan.c - 664 sys sys 1135487937 2623
 sys/src/cmd/vnc/color.c - 664 sys sys 1044880749 3088
 sys/src/cmd/vnc/compat.c - 664 sys sys 1135487951 3150
@@ -14275,10 +14276,10 @@ sys/src/cmd/vnc/rre.c - 664 sys sys 1044880750 11496
 sys/src/cmd/vnc/screen.c - 664 sys sys 1044880750 7537
 sys/src/cmd/vnc/screen.h - 664 sys sys 1044880750 880
 sys/src/cmd/vnc/utf2ksym.h - 664 sys sys 1082326667 18024
-sys/src/cmd/vnc/vnc.h - 664 sys sys 1044880750 2626
+sys/src/cmd/vnc/vnc.h - 664 sys sys 1158063990 2633
 sys/src/cmd/vnc/vncs.c - 664 sys sys 1108222270 21006
 sys/src/cmd/vnc/vncs.h - 664 sys sys 1046200146 908
-sys/src/cmd/vnc/vncv.c - 664 sys sys 1082221235 3197
+sys/src/cmd/vnc/vncv.c - 664 sys sys 1158063990 3316
 sys/src/cmd/vnc/vncv.h - 664 sys sys 1044880750 643
 sys/src/cmd/vnc/wsys.c - 664 sys sys 1138065372 4197
 sys/src/cmd/vt - 20000000775 sys sys 954038635 0
@@ -15261,7 +15262,7 @@ sys/src/libmach/mips2ureg.h - 664 sys sys 1143821483 886
 sys/src/libmach/mkfile - 664 sys sys 1144151016 482
 sys/src/libmach/obj.c - 664 sys sys 1148106918 5986
 sys/src/libmach/obj.h - 664 sys sys 1148170078 648
-sys/src/libmach/q.c - 664 sys sys 1131289379 3630
+sys/src/libmach/q.c - 664 sys sys 1158071179 3641
 sys/src/libmach/qdb.c - 664 sys sys 1136322404 27544
 sys/src/libmach/qobj.c - 664 sys sys 1148106912 2368
 sys/src/libmach/setmach.c - 664 sys sys 1119476886 2911

+ 16 - 15
dist/replica/plan9.db

@@ -229,7 +229,7 @@
 386/bin/faces - 775 sys sys 1155491750 194710
 386/bin/factor - 775 sys sys 1148500632 61793
 386/bin/fcp - 775 sys sys 1148500632 82527
-386/bin/file - 775 sys sys 1157570246 124531
+386/bin/file - 775 sys sys 1158088707 125045
 386/bin/fmt - 775 sys sys 1148500633 65661
 386/bin/fortune - 775 sys sys 1148500633 67450
 386/bin/fossil - 20000000775 sys sys 1042005470 0
@@ -400,7 +400,7 @@
 386/bin/seq - 775 sys sys 1148500688 38431
 386/bin/sha1sum - 775 sys sys 1148500688 61460
 386/bin/size - 775 sys sys 1148500689 78775
-386/bin/sleep - 775 sys sys 1085077097 3413
+386/bin/sleep - 775 sys sys 1158088708 3875
 386/bin/snap - 775 sys sys 1136346852 313627
 386/bin/snapfs - 775 sys sys 1134389876 388292
 386/bin/sniffer - 775 sys sys 1038443185 99028
@@ -560,7 +560,7 @@
 386/lib/libhttpd.a - 664 sys sys 1153069071 99458
 386/lib/libip.a - 664 sys sys 1143777863 35576
 386/lib/libl.a - 664 sys sys 1143777863 5372
-386/lib/libmach.a - 664 sys sys 1148180229 785314
+386/lib/libmach.a - 664 sys sys 1158088709 785352
 386/lib/libmemdraw.a - 664 sys sys 1143777866 284092
 386/lib/libmemlayer.a - 664 sys sys 1143777866 47360
 386/lib/libmp.a - 664 sys sys 1144169680 79980
@@ -5388,7 +5388,7 @@ power/include/ape/float.h - 664 sys sys 969656988 1608
 power/include/ape/math.h - 664 sys sys 1078495287 2176
 power/include/ape/stdarg.h - 664 sys sys 944946355 324
 power/include/ape/ureg.h - 664 sys sys 944946362 1025
-power/include/u.h - 664 sys sys 1115924096 2795
+power/include/u.h - 664 sys sys 1158071170 2826
 power/include/ureg.h - 664 sys sys 1032057837 997
 power/lib - 20000000775 sys sys 947992106 0
 power/lib/ape - 20000000775 sys sys 947992106 0
@@ -7400,7 +7400,7 @@ sys/man/1/units - 664 sys sys 1113743326 2046
 sys/man/1/uptime - 664 sys sys 1074733782 380
 sys/man/1/vac - 664 sys sys 1021579977 3227
 sys/man/1/vi - 664 sys sys 1101668051 2904
-sys/man/1/vnc - 664 sys sys 1045501432 4186
+sys/man/1/vnc - 664 sys sys 1158063994 4313
 sys/man/1/vt - 664 sys sys 1133880370 2256
 sys/man/1/wc - 664 sys sys 1113743327 908
 sys/man/1/who - 664 sys sys 944959674 332
@@ -7668,6 +7668,7 @@ sys/man/6/keys.who - 664 sys sys 1110641163 775
 sys/man/6/man - 664 sys sys 944959678 4961
 sys/man/6/map - 664 sys sys 944959678 1892
 sys/man/6/mhtml - 664 sys sys 1138458169 1711
+sys/man/6/mnihongo - 664 sys sys 1158064572 716
 sys/man/6/mpictures - 664 sys sys 944959678 2899
 sys/man/6/ms - 664 sys sys 958249504 6815
 sys/man/6/namespace - 664 sys sys 1048637182 1576
@@ -7735,7 +7736,7 @@ sys/man/8/nfsserver - 664 sys sys 1142693998 3585
 sys/man/8/pcmcia - 664 sys sys 944959679 408
 sys/man/8/pem - 664 sys sys 1060263669 1189
 sys/man/8/ping - 664 sys sys 1139667147 3489
-sys/man/8/plan9.ini - 664 sys sys 1155153087 22548
+sys/man/8/plan9.ini - 664 sys sys 1158101763 22701
 sys/man/8/pop3 - 664 sys sys 1063854676 2720
 sys/man/8/ppp - 664 sys sys 1125530075 4414
 sys/man/8/prep - 664 sys sys 1152729153 14013
@@ -8010,13 +8011,13 @@ sys/src/9/pc/mp.h - 664 sys sys 1153193597 6795
 sys/src/9/pc/nv_dma.h - 664 sys sys 1081384508 12943
 sys/src/9/pc/pc - 664 sys sys 1143768293 1452
 sys/src/9/pc/pcauth - 664 sys sys 1131907692 715
-sys/src/9/pc/pccd - 664 sys sys 1138115243 1451
+sys/src/9/pc/pccd - 664 sys sys 1158061762 1466
 sys/src/9/pc/pccpu - 664 sys sys 1155674606 925
 sys/src/9/pc/pccpuf - 664 sys sys 1155674479 1532
 sys/src/9/pc/pcdisk - 664 sys sys 1138115243 1471
 sys/src/9/pc/pcf - 664 sys sys 1138115243 1529
 sys/src/9/pc/pcfl - 664 sys sys 1042004821 1563
-sys/src/9/pc/pcflop - 664 sys sys 1138115244 1498
+sys/src/9/pc/pcflop - 664 sys sys 1158061762 1513
 sys/src/9/pc/pci.c - 664 sys sys 1155995367 26873
 sys/src/9/pc/pcmciamodem.c - 664 sys sys 1099761153 1586
 sys/src/9/pc/pcmkfile - 664 sys sys 1109303822 101
@@ -9012,7 +9013,7 @@ sys/src/boot/pc/apm.c - 664 sys sys 1015007947 289
 sys/src/boot/pc/bcom.c - 664 sys sys 1032215919 6421
 sys/src/boot/pc/boot.c - 664 sys sys 1130887226 8421
 sys/src/boot/pc/bootld.c - 664 sys sys 1015007948 1801
-sys/src/boot/pc/bootp.c - 664 sys sys 1114464742 12374
+sys/src/boot/pc/bootp.c - 664 sys sys 1158100619 12438
 sys/src/boot/pc/cga.c - 664 sys sys 1015007948 1362
 sys/src/boot/pc/cis.c - 664 sys sys 1144961189 9232
 sys/src/boot/pc/clock.c - 664 sys sys 1103641772 6425
@@ -10150,7 +10151,7 @@ sys/src/cmd/fax/receiverc - 775 sys sys 944960990 581
 sys/src/cmd/fax/send.c - 664 sys sys 944960990 923
 sys/src/cmd/fax/subr.c - 664 sys sys 1015090401 1245
 sys/src/cmd/fcp.c - 664 sys sys 1136651872 3799
-sys/src/cmd/file.c - 664 sys sys 1157143564 27438
+sys/src/cmd/file.c - 664 sys sys 1158063685 28062
 sys/src/cmd/fmt.c - 664 sys sys 1137603598 4078
 sys/src/cmd/fortune.c - 664 sys sys 1072729222 1779
 sys/src/cmd/fossil - 20000000775 sys sys 1042005512 0
@@ -13221,7 +13222,7 @@ sys/src/cmd/seq.c - 664 sys sys 1125529033 1683
 sys/src/cmd/sh.C - 664 sys sys 1055701754 10303
 sys/src/cmd/sha1sum.c - 664 sys sys 1014926229 1017
 sys/src/cmd/size.c - 664 sys sys 944961619 717
-sys/src/cmd/sleep.c - 664 sys sys 1126031186 170
+sys/src/cmd/sleep.c - 664 sys sys 1158061645 544
 sys/src/cmd/snap - 20000000775 sys sys 951229639 0
 sys/src/cmd/snap/mkfile - 664 sys sys 1023834477 257
 sys/src/cmd/snap/read.c - 664 sys sys 1141660969 4332
@@ -14248,7 +14249,7 @@ sys/src/cmd/vl/pass.c - 664 sys sys 1132449538 8706
 sys/src/cmd/vl/sched.c - 664 sys sys 1014936060 11363
 sys/src/cmd/vl/span.c - 664 sys sys 1045503977 12015
 sys/src/cmd/vnc - 20000000775 sys sys 1014926000 0
-sys/src/cmd/vnc/auth.c - 664 sys sys 1143759340 4233
+sys/src/cmd/vnc/auth.c - 664 sys sys 1158063989 4308
 sys/src/cmd/vnc/chan.c - 664 sys sys 1135487937 2623
 sys/src/cmd/vnc/color.c - 664 sys sys 1044880749 3088
 sys/src/cmd/vnc/compat.c - 664 sys sys 1135487951 3150
@@ -14275,10 +14276,10 @@ sys/src/cmd/vnc/rre.c - 664 sys sys 1044880750 11496
 sys/src/cmd/vnc/screen.c - 664 sys sys 1044880750 7537
 sys/src/cmd/vnc/screen.h - 664 sys sys 1044880750 880
 sys/src/cmd/vnc/utf2ksym.h - 664 sys sys 1082326667 18024
-sys/src/cmd/vnc/vnc.h - 664 sys sys 1044880750 2626
+sys/src/cmd/vnc/vnc.h - 664 sys sys 1158063990 2633
 sys/src/cmd/vnc/vncs.c - 664 sys sys 1108222270 21006
 sys/src/cmd/vnc/vncs.h - 664 sys sys 1046200146 908
-sys/src/cmd/vnc/vncv.c - 664 sys sys 1082221235 3197
+sys/src/cmd/vnc/vncv.c - 664 sys sys 1158063990 3316
 sys/src/cmd/vnc/vncv.h - 664 sys sys 1044880750 643
 sys/src/cmd/vnc/wsys.c - 664 sys sys 1138065372 4197
 sys/src/cmd/vt - 20000000775 sys sys 954038635 0
@@ -15261,7 +15262,7 @@ sys/src/libmach/mips2ureg.h - 664 sys sys 1143821483 886
 sys/src/libmach/mkfile - 664 sys sys 1144151016 482
 sys/src/libmach/obj.c - 664 sys sys 1148106918 5986
 sys/src/libmach/obj.h - 664 sys sys 1148170078 648
-sys/src/libmach/q.c - 664 sys sys 1131289379 3630
+sys/src/libmach/q.c - 664 sys sys 1158071179 3641
 sys/src/libmach/qdb.c - 664 sys sys 1136322404 27544
 sys/src/libmach/qobj.c - 664 sys sys 1148106912 2368
 sys/src/libmach/setmach.c - 664 sys sys 1119476886 2911

+ 16 - 0
dist/replica/plan9.log

@@ -30425,3 +30425,19 @@
 1157979606 0 c sys/src/cmd/qa/lex.c - 664 sys sys 1157978856 16586
 1158013806 0 c sys/src/9/pc/etherelnk3.c - 664 sys sys 1158012427 48807
 1158013806 1 c sys/src/boot/pc/etherelnk3.c - 664 sys sys 1158012439 44736
+1158062406 0 c sys/src/9/pc/pccd - 664 sys sys 1158061762 1466
+1158062406 1 c sys/src/9/pc/pcflop - 664 sys sys 1158061762 1513
+1158062406 2 c sys/src/cmd/sleep.c - 664 sys sys 1158061645 544
+1158064206 0 c sys/man/1/vnc - 664 sys sys 1158063994 4313
+1158064206 1 c sys/src/cmd/vnc/auth.c - 664 sys sys 1158063989 4308
+1158064206 2 c sys/src/cmd/vnc/vnc.h - 664 sys sys 1158063990 2633
+1158064206 3 c sys/src/cmd/vnc/vncv.c - 664 sys sys 1158063990 3316
+1158064206 4 c sys/src/cmd/file.c - 664 sys sys 1158063685 28062
+1158066007 0 a sys/man/6/mnihongo - 664 sys sys 1158064572 716
+1158071406 0 c power/include/u.h - 664 sys sys 1158071170 2826
+1158071406 1 c sys/src/libmach/q.c - 664 sys sys 1158071179 3641
+1158089406 0 c 386/bin/file - 775 sys sys 1158088707 125045
+1158089406 1 c 386/bin/sleep - 775 sys sys 1158088708 3875
+1158089406 2 c 386/lib/libmach.a - 664 sys sys 1158088709 785352
+1158102006 0 c sys/man/8/plan9.ini - 664 sys sys 1158101763 22701
+1158102006 1 c sys/src/boot/pc/bootp.c - 664 sys sys 1158100619 12438

+ 9 - 8
power/include/u.h

@@ -3,19 +3,20 @@ typedef	unsigned short	ushort;
 typedef	unsigned char	uchar;
 typedef	unsigned long	ulong;
 typedef	unsigned int	uint;
-typedef	signed char	schar;
+typedef	  signed char	schar;
 typedef	long long	vlong;
 typedef	unsigned long long uvlong;
 typedef unsigned long	uintptr;
+typedef unsigned long	usize;
 typedef	ushort		Rune;
-typedef 	union FPdbleword FPdbleword;
-typedef long	jmp_buf[2];
+typedef union FPdbleword FPdbleword;
+typedef long		jmp_buf[2];
 #define	JMPBUFSP	0
 #define	JMPBUFPC	1
 #define	JMPBUFDPC	0
 typedef unsigned int	mpdigit;	/* for /sys/include/mp.h */
-typedef unsigned char u8int;
-typedef unsigned short u16int;
+typedef unsigned char	u8int;
+typedef unsigned short	u16int;
 typedef unsigned int	u32int;
 typedef unsigned long long u64int;
 
@@ -28,10 +29,10 @@ typedef unsigned long long u64int;
 #define	FPSZX	(1<<26)	/* zero divide exception ZX (sticky) */
 #define	FPSXX	(1<<25)	/* inexact exception XX (sticky) */
 #define	FPSVXSNAN (1<<24)	/* invalid operation exception for SNaN (sticky) */
-#define	FPSVXISI	(1<<23)	/* invalid operation exception for ∞-∞ (sticky) */
-#define	FPSVXIDI	(1<<22)	/* invalid operation exception for ∞/∞ (sticky) */
+#define	FPSVXISI (1<<23)	/* invalid operation exception for ∞-∞ (sticky) */
+#define	FPSVXIDI (1<<22)	/* invalid operation exception for ∞/∞ (sticky) */
 #define	FPSVXZDZ (1<<21)	/* invalid operation exception for 0/0 (sticky) */
-#define	FPSVXIMZ	(1<<20)	/* invalid operation exception for ∞*0 (sticky) */
+#define	FPSVXIMZ (1<<20)	/* invalid operation exception for ∞*0 (sticky) */
 #define	FPSVXVC	(1<<19)	/* invalid operation exception for invalid compare (sticky) */
 #define	FPSFR	(1<<18)	/* fraction rounded */
 #define	FPSFI	(1<<17)	/* fraction inexact */

+ 10 - 0
sys/man/1/vnc

@@ -19,6 +19,10 @@ vncs, vncv \- remote frame buffer server and viewer for Virtual Network Computin
 .IB width x height
 ]
 [
+.B -k
+.I keypattern
+]
+[
 .B -p
 .I pixfmt
 ]
@@ -109,6 +113,12 @@ set the virtual frame buffer to be
 1024x768)
 pixels.
 .TP
+.B -k \fIkeypattern
+add 
+.I keypattern
+to the pattern used to select a key from 
+.IR factotum (4).
+.TP
 .B -p \fIpixfmt
 set the virtual frame buffer's internal pixel format to
 .I pixfmt

+ 30 - 0
sys/man/6/mnihongo

@@ -0,0 +1,30 @@
+.TH MNIHONGO 6
+.SH NAME
+mnihongo \- macros for typesetting Japanese
+.SH SYNOPSIS
+.B troff -mnihongo
+.I ...
+.SH DESCRIPTION
+.I Mnihongo
+provides a simple 
+.IR troff (1)
+post-processor that formats Unicode characters that 
+might be Japanese text.
+It looks up the characters in the bitmap font
+.B /lib/font/bit/pelm/unicode.9x24.font
+and generates bitmap images embedded in the output.
+.PP
+During troff processing, widths of the Japanese characters
+are taken from the troff font 
+.BR Jp ,
+which is at best a simple approximation to the truth.
+.SH FILES
+.B /bin/aux/mnihongo
+.br
+.B /sys/lib/tmac/tmac.nihongo
+.br
+.B /lib/font/bit/pelm/unicode.9x24.font
+.SH SOURCE
+.B /sys/src/cmd/aux/mnihongo
+.SH SEE ALSO
+.IR troff (1)

+ 9 - 0
sys/man/8/plan9.ini

@@ -18,6 +18,15 @@ looks like a shell script containing lines of the form
 .LP
 each of which defines a kernel or device parameter.
 .PP
+Blank lines and
+Carriage Returns
+.IB ( \er )
+are ignored.
+.B #
+comments are ignored, but are only recognised if
+.L #
+appears at the start of a line.
+.PP
 For devices, the generic format of
 .I value
 is

+ 1 - 0
sys/src/9/pc/pccd

@@ -44,6 +44,7 @@ link
 	ether79c970	pci
 	ether8003	ether8390
 	ether8139	pci
+	ether8169	pci
 	ether82543gc	pci
 	ether82557	pci
 	ether83815	pci

+ 1 - 0
sys/src/9/pc/pcflop

@@ -44,6 +44,7 @@ link
 	ether79c970	pci
 	ether8003	ether8390
 	ether8139	pci
+	ether8169	pci
 	ether82543gc	pci
 	ether82557	pci
 	ether83815	pci

+ 2 - 1
sys/src/boot/pc/bootp.c

@@ -620,7 +620,8 @@ pxewalk(File* f, char* name)
 			return 0;
 
 		ini = pxether[f->fs->dev].ini;
-		snprint(ini, INIPATHLEN, "/cfg/pxe/%E", rep.chaddr);
+		/* use our mac address instead of relying on a bootp answer */
+		snprint(ini, INIPATHLEN, "/cfg/pxe/%E", myaddr.ea);
 		f->path = ini;
 
 		return 1;

+ 76 - 25
sys/src/cmd/file.c

@@ -100,7 +100,6 @@ struct
 
 } language[] =
 {
-	Normal, 0,	0x0080, 0x0080,	"Extended Latin",
 	Normal,	0,	0x0100,	0x01FF,	"Extended Latin",
 	Normal,	0,	0x0370,	0x03FF,	"Greek",
 	Normal,	0,	0x0400,	0x04FF,	"Cyrillic",
@@ -133,7 +132,7 @@ enum
 {
 	Fascii,		/* printable ascii */
 	Flatin,		/* latin 1*/
-	Futf,		/* UTf character set */
+	Futf,		/* UTF character set */
 	Fbinary,	/* binary */
 	Feascii,	/* ASCII with control chars */
 	Fnull,		/* NULL in file */
@@ -267,10 +266,64 @@ type(char *file, int nlen)
 	close(fd);
 }
 
+/*
+ * Unicode 4.0 4-byte runes.
+ */
+typedef int Rune1;
+
+enum {
+	UTFmax1 = 4,
+};
+
+int
+fullrune1(char *p, int n)
+{
+	int c;
+	
+	if(n >= 1) {
+		c = *(uchar*)p;
+		if(c < 0x80)
+			return 1;
+		if(n >= 2 && c < 0xE0)
+			return 1;
+		if(n >= 3 && c < 0xF0)
+			return 1;
+		if(n >= 4)
+			return 1;
+	}
+	return 0;
+}
+
+int
+chartorune1(Rune1 *rune, char *str)
+{
+	int c, c1, c2, c3, n;
+	Rune r;
+	
+	c = *(uchar*)str;
+	if(c < 0xF0){
+		r = 0;
+		n = chartorune(&r, str);
+		*rune = r;
+		return n;
+	}
+	c &= ~0xF0;
+	c1 = *(uchar*)(str+1) & ~0x80;
+	c2 = *(uchar*)(str+2) & ~0x80;
+	c3 = *(uchar*)(str+3) & ~0x80;
+	n = (c<<18) | (c1<<12) | (c2<<6) | c3;
+	if(n < 0x10000 || n > 0x10FFFF){
+		*rune = Runeerror;
+		return 1;
+	}
+	*rune = n;
+	return 4;
+}
+
 void
 filetype(int fd)
 {
-	Rune r;
+	Rune1 r;
 	int i, f, n;
 	char *p, *eob;
 
@@ -309,22 +362,22 @@ filetype(int fd)
 		language[i].count = 0;
 	eob = (char *)buf+nbuf;
 	for(n = 0, p = (char *)buf; p < eob; n++) {
-		if (!fullrune(p, eob-p) && eob-p < UTFmax)
+		if (!fullrune1(p, eob-p) && eob-p < UTFmax1)
 			break;
-		p += chartorune(&r, p);
+		p += chartorune1(&r, p);
 		if (r == 0)
 			f = Cnull;
 		else if (r <= 0x7f) {
 			if (!isprint(r) && !isspace(r))
 				f = Ceascii;	/* ASCII control char */
 			else f = r;
-		} else if (r == 0x080) {
+		} else if (r == 0x80) {
 			bump_utf_count(r);
 			f = Cutf;
 		} else if (r < 0xA0)
-				f = Cbinary;	/* Invalid Runes */
+			f = Cbinary;	/* Invalid Runes */
 		else if (r <= 0xff)
-				f = Clatin;	/* Latin 1 */
+			f = Clatin;	/* Latin 1 */
 		else {
 			bump_utf_count(r);
 			f = Cutf;		/* UTF extension */
@@ -342,18 +395,10 @@ filetype(int fd)
 		guess = Flatin;
 	else if (cfreq[Ceascii])
 		guess = Feascii;
-	else if (cfreq[Cnull] == n) {
-		/*
-		 * ISO9660 CDs, venti and fossil partitions start with zeroes or
-		 * unwritten blocks, so this old heuristic is no longer helpful.
-		 */
-	/*
-		print(mime ? OCTET : "first block all null bytes\n");
-		return;
-	 */
+	else if (cfreq[Cnull])
 		guess = Fbinary;
-	}
-	else guess = Fascii;
+	else
+		guess = Fascii;
 	/*
 	 * lookup dictionary words
 	 */
@@ -392,7 +437,7 @@ bump_utf_count(Rune r)
 	high = sizeof(language)/sizeof(language[0])-1;
 	for (low = 0; low < high;) {
 		mid = (low+high)/2;
-		if (r >=language[mid].low) {
+		if (r >= language[mid].low) {
 			if (r <= language[mid].high) {
 				language[mid].count++;
 				break;
@@ -1291,11 +1336,12 @@ isp9font(void)
 		return 0;
 	if (!getfontnum(cp, &cp))	/* ascent */
 		return 0;
-	for (i = 0;; i++) {
+	for (i = 0; cp=(uchar*)strchr((char*)cp, '\n'); i++) {
 		if (!getfontnum(cp, &cp))	/* min */
 			break;
 		if (!getfontnum(cp, &cp))	/* max */
 			return 0;
+		getfontnum(cp, &cp);	/* optional offset */
 		while (WHITESPACE(*cp))
 			cp++;
 		for (p = cp; *cp && !WHITESPACE(*cp); cp++)
@@ -1308,12 +1354,15 @@ isp9font(void)
 				memcpy(pathname, fname, n);
 			else n = 0;
 		}
-		if (n+cp-p < sizeof(pathname)) {
+		if (n+cp-p+4 < sizeof(pathname)) {
 			memcpy(pathname+n, p, cp-p);
 			n += cp-p;
 			pathname[n] = 0;
-			if (access(pathname, AEXIST) < 0)
-				return 0;
+			if (access(pathname, AEXIST) < 0) {
+				strcpy(pathname+n, ".0");
+				if (access(pathname, AEXIST) < 0)
+					return 0;
+			}
 		}
 	}
 	if (i) {
@@ -1331,8 +1380,10 @@ getfontnum(uchar *cp, uchar **rp)
 	if (*cp < '0' || *cp > '9')
 		return 0;
 	strtoul((char *)cp, (char **)rp, 0);
-	if (!WHITESPACE(**rp))
+	if (!WHITESPACE(**rp)) {
+		*rp = cp;
 		return 0;
+	}
 	return 1;
 }
 

+ 25 - 1
sys/src/cmd/sleep.c

@@ -4,10 +4,34 @@
 void
 main(int argc, char *argv[])
 {
+	char *p;
 	long secs;
 
-	if(argc>1)
+	if(argc>1){
 		for(secs = atol(argv[1]); secs > 0; secs--)
 			sleep(1000);
+		/*
+		 * no floating point because it is useful to
+		 * be able to run sleep when bootstrapping
+		 * a machine.
+		 */
+		if(p = strchr(argv[1], '.')){
+			p++;
+			switch(strlen(p)){
+			case 0:
+				break;
+			case 1:
+				sleep(atoi(p)*100);
+				break;
+			case 2:
+				sleep(atoi(p)*10);
+				break;
+			default:
+				p[3] = 0;
+				sleep(atoi(p));
+				break;
+			}
+		}
+	}
 	exits(0);
 }

+ 4 - 2
sys/src/cmd/vnc/auth.c

@@ -143,13 +143,15 @@ vnchandshake(Vnc *v)
 }
 
 int
-vncauth(Vnc *v)
+vncauth(Vnc *v, char *keypattern)
 {
 	char pw[128], *reason;
 	uchar chal[VncChalLen];
 	ulong auth;
 	char *p, *server;
 
+	if(keypattern == nil)
+		keypattern = "";
 	auth = vncrdlong(v);
 	switch(auth){
 	default:
@@ -177,7 +179,7 @@ vncauth(Vnc *v)
 		if(p)
 			*p = 0;
 		if(auth_respond(chal, VncChalLen, nil, 0, chal, VncChalLen, auth_getkey,
-			"proto=vnc role=client server=%s", server) != VncChalLen){
+			"proto=vnc role=client server=%s %s", server, keypattern) != VncChalLen){
 			/* BUG This is for drawterm users who don't start their own factotums */
 			readln("password: ", pw, sizeof(pw));
 			vncencrypt(chal, VncChalLen, pw);

+ 1 - 1
sys/src/cmd/vnc/vnc.h

@@ -92,7 +92,7 @@ enum {
 typedef ulong Color;
 
 /* auth.c */
-extern	int		vncauth(Vnc*);
+extern	int		vncauth(Vnc*, char*);
 extern	int		vnchandshake(Vnc*);
 extern	int		vncsrvauth(Vnc*);
 extern	int		vncsrvhandshake(Vnc*);

+ 8 - 4
sys/src/cmd/vnc/vncv.c

@@ -72,7 +72,7 @@ vnchungup(Vnc*)
 void
 usage(void)
 {
-	fprint(2, "usage: vncv [-e encodings] [-csv] host[:n]\n");
+	fprint(2, "usage: vncv [-e encodings] [-k keypattern] [-csv] host[:n]\n");
 	exits("usage");
 }
 
@@ -80,17 +80,18 @@ void
 main(int argc, char **argv)
 {
 	int p, fd, dfd, cfd, shared;
-	char *addr;
+	char *keypattern, *addr;
 	Point d;
 	TLSconn conn;
 
+	keypattern = nil;
 	shared = 0;
 	ARGBEGIN{
 	case 'c':
 		bpp12 = 1;
 		break;
 	case 'e':
-		encodings = ARGF();
+		encodings = EARGF(usage());
 		break;
 	case 's':
 		shared = 1;
@@ -101,6 +102,9 @@ main(int argc, char **argv)
 	case 'v':
 		verbose = 1;
 		break;
+	case 'k':
+		keypattern = EARGF(usage());
+		break;
 	default:
 		usage();
 	}ARGEND;
@@ -123,7 +127,7 @@ main(int argc, char **argv)
 
 	if(vnchandshake(vnc) < 0)
 		sysfatal("handshake failure: %r");
-	if(vncauth(vnc) < 0)
+	if(vncauth(vnc, keypattern) < 0)
 		sysfatal("authentication failure: %r");
 	if(vncstart(vnc, shared) < 0)
 		sysfatal("init failure: %r");

+ 1 - 1
sys/src/libmach/q.c

@@ -113,7 +113,7 @@ Mach mpower =
 	0,		/* value */
 	0x1000,		/* page size */
 	0x80000000ULL,	/* kernel base */
-	0,		/* kernel text mask */
+	0xF0000000ULL,	/* kernel text mask */
 	0x7FFFFFFFULL,	/* user stack top */
 	4,		/* quantization of pc */
 	4,		/* szaddr */