Browse Source

Plan 9 from Bell Labs 2004-07-09

David du Colombier 15 years ago
parent
commit
80d7555c8f
100 changed files with 2481 additions and 6817 deletions
  1. 0 42
      29000/include/u.h
  2. 0 58
      29000/include/ureg.h
  3. 0 6
      29000/mkfile
  4. 0 41
      960/include/u.h
  5. 0 7
      960/mkfile
  6. 217 314
      dist/replica/_plan9.db
  7. 216 315
      dist/replica/plan9.db
  8. 325 0
      dist/replica/plan9.log
  9. 23 16
      mail/lib/smtpd.conf.ext
  10. 4 1
      rc/bin/patch/apply
  11. 3 1
      rc/bin/patch/note
  12. 3 2
      rc/bin/replica/scan
  13. 1 0
      sys/games/lib/fortunes
  14. 6 6
      sys/include/a.out.h
  15. 0 34
      sys/include/bootexec.h
  16. 1 0
      sys/include/html.h
  17. 2 0
      sys/include/ip.h
  18. 1 0
      sys/include/libc.h
  19. 23 25
      sys/include/mach.h
  20. 1 1
      sys/include/trace.h
  21. 0 2
      sys/lib/dist/pc/inst/moveoldfs
  22. 2 2
      sys/lib/dist/pc/proto
  23. 2 0
      sys/lib/mimetype
  24. 0 4
      sys/lib/sysconfig/proto/armpaqproto
  25. 6 1
      sys/man/1/2a
  26. 8 24
      sys/man/1/2c
  27. 6 12
      sys/man/1/2l
  28. 23 17
      sys/man/1/INDEX
  29. 52 24
      sys/man/1/INDEX.html
  30. 0 117
      sys/man/1/rtstats
  31. 17 2
      sys/man/2/INDEX
  32. 29 13
      sys/man/2/INDEX.html
  33. 1 1
      sys/man/3/INDEX
  34. 8 4
      sys/man/3/INDEX.html
  35. 3 1
      sys/man/4/INDEX
  36. 20 4
      sys/man/4/INDEX.html
  37. 14 2
      sys/man/8/INDEX
  38. 33 29
      sys/man/8/INDEX.html
  39. 7 5
      sys/src/9/pc/devpccard.c
  40. 143 36
      sys/src/9/pc/ether2000.c
  41. 44 24
      sys/src/9/pc/vganeomagic.c
  42. 281 282
      sys/src/9/ppc/l.s
  43. 5 3
      sys/src/cmd/1a/lex.c
  44. 9 8
      sys/src/cmd/1c/cgen.c
  45. 1 0
      sys/src/cmd/1c/enam.c
  46. 1 1
      sys/src/cmd/1c/gc.h
  47. 1 0
      sys/src/cmd/1c/peep.c
  48. 4 2
      sys/src/cmd/1c/reg.c
  49. 7 5
      sys/src/cmd/1c/sgen.c
  50. 33 11
      sys/src/cmd/1c/swt.c
  51. 3 3
      sys/src/cmd/1l/asm.c
  52. 2 1
      sys/src/cmd/1l/l.h
  53. 20 9
      sys/src/cmd/1l/obj.c
  54. 2 2
      sys/src/cmd/2a/a.h
  55. 10 3
      sys/src/cmd/2a/lex.c
  56. 2 1
      sys/src/cmd/2c/2.out.h
  57. 9 8
      sys/src/cmd/2c/cgen.c
  58. 1 0
      sys/src/cmd/2c/enam.c
  59. 16 6
      sys/src/cmd/2c/list.c
  60. 1 0
      sys/src/cmd/2c/peep.c
  61. 4 2
      sys/src/cmd/2c/reg.c
  62. 7 5
      sys/src/cmd/2c/sgen.c
  63. 33 11
      sys/src/cmd/2c/swt.c
  64. 4 2
      sys/src/cmd/2l/l.h
  65. 21 9
      sys/src/cmd/2l/obj.c
  66. 8 1
      sys/src/cmd/5a/a.y
  67. 36 24
      sys/src/cmd/5a/lex.c
  68. 10 1
      sys/src/cmd/5c/5.out.h
  69. 50 47
      sys/src/cmd/5c/cgen.c
  70. 4 0
      sys/src/cmd/5c/enam.c
  71. 2 1
      sys/src/cmd/5c/gc.h
  72. 1 1
      sys/src/cmd/5c/mkfile
  73. 4 0
      sys/src/cmd/5c/peep.c
  74. 4 3
      sys/src/cmd/5c/reg.c
  75. 3 3
      sys/src/cmd/5c/sgen.c
  76. 40 17
      sys/src/cmd/5c/swt.c
  77. 41 8
      sys/src/cmd/5c/txt.c
  78. 44 16
      sys/src/cmd/5l/asm.c
  79. 26 15
      sys/src/cmd/5l/l.h
  80. 42 18
      sys/src/cmd/5l/noop.c
  81. 130 66
      sys/src/cmd/5l/obj.c
  82. 152 8
      sys/src/cmd/5l/pass.c
  83. 163 10
      sys/src/cmd/5l/span.c
  84. 0 205
      sys/src/cmd/6a/a.h
  85. 0 384
      sys/src/cmd/6a/a.y
  86. 0 10
      sys/src/cmd/6a/l.s
  87. 0 643
      sys/src/cmd/6a/lex.c
  88. 0 28
      sys/src/cmd/6a/main9.s
  89. 0 19
      sys/src/cmd/6a/mkfile
  90. 0 203
      sys/src/cmd/6c/6.out.h
  91. 0 126
      sys/src/cmd/6c/bits.c
  92. 0 1001
      sys/src/cmd/6c/cgen.c
  93. 0 137
      sys/src/cmd/6c/enam.c
  94. 0 334
      sys/src/cmd/6c/gc.h
  95. 0 240
      sys/src/cmd/6c/list.c
  96. 0 15
      sys/src/cmd/6c/mkenam
  97. 0 22
      sys/src/cmd/6c/mkfile
  98. 0 527
      sys/src/cmd/6c/peep.c
  99. 0 1117
      sys/src/cmd/6c/reg.c
  100. 0 0
      sys/src/cmd/6c/reg.h

+ 0 - 42
29000/include/u.h

@@ -1,42 +0,0 @@
-#define nil		((void*)0)
-typedef	unsigned short	ushort;
-typedef	unsigned char	uchar;
-typedef	unsigned long	ulong;
-typedef	unsigned int	uint;
-typedef	signed char	schar;
-typedef	long long	vlong;
-typedef	unsigned long long uvlong;
-typedef	ushort		Rune;
-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 int	u32int;
-typedef unsigned long long u64int;
-
-union FPdbleword
-{
-	double	x;
-	struct {	/* big endian */
-		ulong hi;
-		ulong lo;
-	};
-};
-
-typedef	char*	va_list;
-#define va_start(list, start) list =\
-	(sizeof(start) < 4?\
-		(char*)((int*)&(start)+1):\
-		(char*)(&(start)+1))
-#define va_end(list)\
-	USED(list)
-#define va_arg(list, mode)\
-	((sizeof(mode) == 1)?\
-		((mode*)(list += 4))[-1]:\
-	(sizeof(mode) == 2)?\
-		((mode*)(list += 4))[-1]:\
-		((mode*)(list += sizeof(mode)))[-1])

+ 0 - 58
29000/include/ureg.h

@@ -1,58 +0,0 @@
-struct Ureg
-{
-	ulong	cause;			/* trap number */
-	ulong	status;			/* old status */
-	ulong	cha;			/* channel address */
-	ulong	chd;			/* channel data */
-	ulong	chc;			/* channel control */
-	union{
-		ulong	pc0;
-		ulong	pc;
-	};
-	ulong	pc1;
-	ulong	pc2;
-	ulong	ipc;
-	ulong	ipa;
-	ulong	ipb;
-	ulong	q;
-	ulong	alustat;
-	ulong	cr;
-	ulong	r64;
-	ulong	sp;			/* r65 */
-	ulong	r66;
-	ulong	r67;
-	ulong	r68;
-	ulong	r69;
-	ulong	r70;
-	ulong	r71;
-	ulong	r72;
-	ulong	r73;
-	ulong	r74;
-	ulong	r75;
-	ulong	r76;
-	ulong	r77;
-	ulong	r78;
-	ulong	r79;
-	ulong	r80;
-	ulong	r81;
-	ulong	r82;
-	ulong	r83;
-	ulong	r84;
-	ulong	r85;
-	ulong	r86;
-	ulong	r87;
-	ulong	r88;
-	ulong	r89;
-	ulong	r90;
-	ulong	r91;
-	ulong	r92;
-	ulong	r93;
-	ulong	r94;
-	ulong	r95;
-	ulong	r96;
-	ulong	r97;
-	ulong	r98;
-	ulong	r99;
-	ulong	r100;
-	ulong	r101;
-};

+ 0 - 6
29000/mkfile

@@ -1,6 +0,0 @@
-</sys/src/mkfile.proto
-
-CC=9c
-LD=9l
-O=9
-AS=9a

+ 0 - 41
960/include/u.h

@@ -1,41 +0,0 @@
-#define nil		((void*)0)
-#define	float	long
-#define	double	long
-typedef	unsigned short	ushort;
-typedef	unsigned char	uchar;
-typedef	unsigned long	ulong;
-typedef	unsigned int	uint;
-typedef	signed char	schar;
-typedef	long		vlong;
-typedef	unsigned long	uvlong;
-typedef	ushort		Rune;
-typedef 	union FPdbleword FPdbleword;
-typedef long	jmp_buf[2];
-typedef unsigned int	mpdigit;	/* for /sys/include/mp.h */
-typedef unsigned char u8int;
-typedef unsigned short u16int;
-typedef unsigned int	u32int;
-typedef unsigned long long u64int;
-
-union FPdbleword
-{
-	double	x;
-	struct {	/* little endian */
-		ulong lo;
-		ulong hi;
-	};
-};
-
-typedef	char*	va_list;
-#define va_start(list, start) list =\
-	(sizeof(start) < 4?\
-		(char*)((int*)&(start)+1):\
-		(char*)(&(start)+1))
-#define va_end(list)\
-	USED(list)
-#define va_arg(list, mode)\
-	((sizeof(mode) == 1)?\
-		((mode*)(list += 4))[-4]:\
-	(sizeof(mode) == 2)?\
-		((mode*)(list += 4))[-2]:\
-		((mode*)(list += sizeof(mode)))[-1])

+ 0 - 7
960/mkfile

@@ -1,7 +0,0 @@
-</sys/src/mkfile.proto
-
-CC=6c
-LD=6l
-O=6
-RL=rl
-AS=6a

File diff suppressed because it is too large
+ 217 - 314
dist/replica/_plan9.db


File diff suppressed because it is too large
+ 216 - 315
dist/replica/plan9.db


+ 325 - 0
dist/replica/plan9.log

@@ -15837,3 +15837,328 @@
 1089084659 8 c sys/man/2/9p - 664 sys sys 1089084170 15221
 1089214223 0 c sys/man/2/ip - 664 sys sys 1089213089 7136
 1089214223 1 c sys/src/libip/bo.c - 664 sys sys 1089213099 811
+1089259232 0 c 386/bin/hget - 775 sys sys 1089257531 224015
+1089259232 1 c 386/bin/ftpfs - 775 sys sys 1089257530 146421
+1089259232 2 c 386/bin/netstat - 775 sys sys 1089257538 82357
+1089259232 3 c 386/bin/snoopy - 775 sys sys 1089257538 153188
+1089259232 4 c 386/bin/auth/authsrv - 775 sys sys 1089257526 163370
+1089259232 5 c 386/bin/auth/factotum - 775 sys sys 1089257527 307569
+1089259232 6 c 386/bin/auth/guard.srv - 775 sys sys 1089257528 140762
+1089259232 7 c 386/bin/auth/secstored - 775 sys sys 1089257528 194770
+1089259232 8 c 386/bin/aux/nfsserver - 775 sys sys 1089257529 183491
+1089259232 9 c 386/bin/aux/pcnfsd - 775 sys sys 1089257529 127413
+1089259232 10 c 386/bin/aux/portmapper - 775 sys sys 1089257529 126299
+1089259232 11 c 386/bin/aux/timesync - 775 sys sys 1089257530 125409
+1089259232 12 c 386/bin/ip/dhcpclient - 775 sys sys 1089257531 92091
+1089259232 13 c 386/bin/ip/dhcpd - 775 sys sys 1089257532 147194
+1089259232 14 c 386/bin/ip/dhcpleases - 775 sys sys 1089257532 84202
+1089259232 15 c 386/bin/ip/ftpd - 775 sys sys 1089257532 165934
+1089259232 16 c 386/bin/ip/gping - 775 sys sys 1089257533 180180
+1089259232 17 c 386/bin/ip/ipconfig - 775 sys sys 1089257533 135811
+1089259232 18 c 386/bin/ip/ping - 775 sys sys 1089257533 75000
+1089259232 19 c 386/bin/ip/ppp - 775 sys sys 1089257534 216401
+1089259232 20 c 386/bin/ip/pppoe - 775 sys sys 1089257534 75540
+1089259232 21 c 386/bin/ip/pptp - 775 sys sys 1089257534 124731
+1089259232 22 c 386/bin/ip/pptpd - 775 sys sys 1089257535 123832
+1089259232 23 c 386/bin/ip/rarpd - 775 sys sys 1089257535 109623
+1089259232 24 c 386/bin/ip/rip - 775 sys sys 1089257535 89203
+1089259232 25 c 386/bin/ip/tftpd - 775 sys sys 1089257536 104155
+1089259232 26 c 386/bin/ndb/cs - 775 sys sys 1089257536 147261
+1089259232 27 c 386/bin/ndb/dns - 775 sys sys 1089257537 218031
+1089259232 28 c 386/bin/ndb/dnsdebug - 775 sys sys 1089257537 192630
+1089259232 29 c 386/bin/ndb/dnstcp - 775 sys sys 1089257537 191267
+1089259232 30 c 386/bin/ndb/ipquery - 775 sys sys 1089257538 93556
+1089259232 31 c 386/bin/upas/ratfs - 775 sys sys 1089257539 109406
+1089259232 32 c 386/bin/upas/smtpd - 775 sys sys 1089257540 324203
+1089259232 33 c 386/lib/libip.a - 664 sys sys 1089257540 35264
+1089300639 0 c mail/lib/smtpd.conf.ext - 664 upas upas 1089299188 1032
+1089300639 1 c rc/bin/patch/apply - 775 sys sys 1089299188 1276
+1089300639 2 c rc/bin/patch/note - 664 sys sys 1089299189 655
+1089300639 3 c rc/bin/replica/scan - 775 sys sys 1089299188 472
+1089300639 4 c sys/games/lib/fortunes - 664 sys sys 1089299186 248807
+1089300639 5 c sys/include/html.h - 664 sys sys 1089299189 15169
+1089300639 6 c sys/include/ip.h - 664 sys sys 1089299185 2958
+1089300639 7 c sys/include/libc.h - 664 sys sys 1089299187 19463
+1089300639 8 c sys/include/trace.h - 664 sys sys 1089299189 642
+1089300639 9 c sys/lib/mimetype - 664 sys sys 1089299188 5778
+1089300639 10 c sys/lib/dist/pc/proto - 664 sys sys 1089299188 4314
+1089300639 11 c sys/lib/sysconfig/proto/armpaqproto - 664 sys sys 1089299189 2230
+1089300639 12 c sys/man/1/2a - 664 sys sys 1089299164 1188
+1089300639 13 c sys/man/1/2c - 664 sys sys 1089299164 7193
+1089300639 14 c sys/man/1/2l - 664 sys sys 1089299164 4000
+1089300639 15 c sys/src/9/boot/libboot.a8 - 664 sys sys 1089299185 63496
+1089300639 16 c sys/src/9/pc/devpccard.c - 664 sys sys 1089299187 40138
+1089300639 17 c sys/src/9/pc/ether2000.c - 664 sys sys 1089299187 4819
+1089300639 18 c sys/src/9/pc/vganeomagic.c - 664 sys sys 1089299188 11261
+1089300639 19 c sys/src/9/ppc/l.s - 664 sys sys 1089299185 20371
+1089300639 20 c sys/src/cmd/2a/a.h - 664 sys sys 1089299177 3090
+1089300639 21 c sys/src/cmd/2a/lex.c - 664 sys sys 1089299177 19549
+1089300639 22 c sys/src/cmd/2c/2.out.h - 664 sys sys 1089299176 5075
+1089300639 23 c sys/src/cmd/2c/cgen.c - 664 sys sys 1089299176 28451
+1089300639 24 c sys/src/cmd/2c/enam.c - 664 sys sys 1089299176 4239
+1089300639 25 c sys/src/cmd/2c/list.c - 664 sys sys 1089299176 5521
+1089300639 26 c sys/src/cmd/2c/peep.c - 664 sys sys 1089299176 15926
+1089300639 27 c sys/src/cmd/2c/reg.c - 664 sys sys 1089299176 22310
+1089300639 28 c sys/src/cmd/2c/sgen.c - 664 sys sys 1089299177 12738
+1089300639 29 c sys/src/cmd/2c/swt.c - 664 sys sys 1089299177 17110
+1089300639 30 c sys/src/cmd/2l/l.h - 664 sys sys 1089299175 4596
+1089300639 31 c sys/src/cmd/2l/obj.c - 664 sys sys 1089299175 24382
+1089300639 32 c sys/src/cmd/5a/a.y - 664 sys sys 1089299175 8671
+1089300639 33 c sys/src/cmd/5a/lex.c - 664 sys sys 1089299175 11260
+1089300639 34 c sys/src/cmd/5c/5.out.h - 664 sys sys 1089299174 2566
+1089300639 35 c sys/src/cmd/5c/cgen.c - 664 sys sys 1089299174 19625
+1089300639 36 c sys/src/cmd/5c/enam.c - 664 sys sys 1089299175 849
+1089300639 37 c sys/src/cmd/5c/gc.h - 664 sys sys 1089299174 6070
+1089300639 38 c sys/src/cmd/5c/mkfile - 664 sys sys 1089299173 310
+1089300639 39 c sys/src/cmd/5c/peep.c - 664 sys sys 1089299175 24469
+1089300639 40 c sys/src/cmd/5c/reg.c - 664 sys sys 1089299174 19492
+1089300639 41 c sys/src/cmd/5c/sgen.c - 664 sys sys 1089299174 9114
+1089300639 42 c sys/src/cmd/5c/swt.c - 664 sys sys 1089299174 12828
+1089300639 43 c sys/src/cmd/5c/txt.c - 664 sys sys 1089299173 19028
+1089300639 44 c sys/src/cmd/5l/asm.c - 664 sys sys 1089299173 32633
+1089300639 45 c sys/src/cmd/5l/l.h - 664 sys sys 1089299173 6841
+1089300639 46 c sys/src/cmd/5l/noop.c - 664 sys sys 1089299172 8989
+1089300639 47 c sys/src/cmd/5l/obj.c - 664 sys sys 1089299173 25833
+1089300639 48 c sys/src/cmd/5l/pass.c - 664 sys sys 1089299173 10297
+1089300639 49 c sys/src/cmd/5l/span.c - 664 sys sys 1089299172 16642
+1089300639 50 c sys/src/cmd/8a/a.h - 664 sys sys 1089299185 3016
+1089300639 51 c sys/src/cmd/8a/lex.c - 664 sys sys 1089299184 18202
+1089300639 52 c sys/src/cmd/8c/8.out.h - 664 sys sys 1089299180 4119
+1089300639 53 c sys/src/cmd/8c/cgen.c - 664 sys sys 1089299180 32120
+1089300639 54 c sys/src/cmd/8c/cgen64.c - 664 sys sys 1089299182 45852
+1089300639 55 c sys/src/cmd/8c/enam.c - 664 sys sys 1089299181 3227
+1089300639 56 c sys/src/cmd/8c/gc.h - 664 sys sys 1089299181 6418
+1089300639 57 c sys/src/cmd/8c/machcap.c - 664 sys sys 1089299180 1201
+1089300639 58 c sys/src/cmd/8c/mkfile - 664 sys sys 1089299181 322
+1089300639 59 c sys/src/cmd/8c/peep.c - 664 sys sys 1089299181 11182
+1089300639 60 c sys/src/cmd/8c/reg.c - 664 sys sys 1089299180 20556
+1089300639 61 c sys/src/cmd/8c/sgen.c - 664 sys sys 1089299181 12833
+1089300639 62 c sys/src/cmd/8c/swt.c - 664 sys sys 1089299180 10883
+1089300639 63 c sys/src/cmd/8c/txt.c - 664 sys sys 1089299180 24215
+1089300639 64 c sys/src/cmd/8l/asm.c - 664 sys sys 1089299184 10256
+1089300639 65 c sys/src/cmd/8l/l.h - 664 sys sys 1089299184 5823
+1089300639 66 c sys/src/cmd/8l/obj.c - 664 sys sys 1089299184 25826
+1089300639 67 c sys/src/cmd/8l/pass.c - 664 sys sys 1089299184 13655
+1089300639 68 c sys/src/cmd/8l/span.c - 664 sys sys 1089299184 23295
+1089300639 69 c sys/src/cmd/cc/cc.h - 664 sys sys 1089299183 12053
+1089300639 70 c sys/src/cmd/cc/com.c - 664 sys sys 1089299183 18909
+1089300639 71 c sys/src/cmd/cc/com64.c - 664 sys sys 1089299182 9975
+1089300639 72 c sys/src/cmd/cc/dcl.c - 664 sys sys 1089299183 26723
+1089300639 73 c sys/src/cmd/cc/dpchk.c - 664 sys sys 1089299182 7089
+1089300639 74 c sys/src/cmd/cc/lex.c - 664 sys sys 1089299182 23826
+1089300639 75 c sys/src/cmd/cc/lexbody - 664 sys sys 1089299183 9017
+1089300639 76 c sys/src/cmd/cc/macbody - 664 sys sys 1089299183 11365
+1089300639 77 c sys/src/cmd/cc/mkfile - 664 sys sys 1089299182 578
+1089300639 78 c sys/src/cmd/cc/sub.c - 664 sys sys 1089299183 33811
+1089300639 79 c sys/src/cmd/ip/snoopy/mkfile - 664 sys sys 1089299190 788
+1089300639 80 c sys/src/cmd/ip/snoopy/udp.c - 664 sys sys 1089299190 1990
+1089300639 81 c sys/src/cmd/ka/a.h - 664 sys sys 1089299172 2911
+1089300639 82 c sys/src/cmd/ka/lex.c - 664 sys sys 1089299171 12938
+1089300639 83 c sys/src/cmd/kc/enam.c - 664 sys sys 1089299170 1612
+1089300639 84 c sys/src/cmd/kc/k.out.h - 664 sys sys 1089299170 3063
+1089300639 85 c sys/src/cmd/kc/mul.c - 664 sys sys 1089299171 9255
+1089300639 86 c sys/src/cmd/kc/peep.c - 664 sys sys 1089299171 10332
+1089300639 87 c sys/src/cmd/kc/reg.c - 664 sys sys 1089299171 18937
+1089300639 88 c sys/src/cmd/kc/swt.c - 664 sys sys 1089299171 11895
+1089300639 89 c sys/src/cmd/kc/txt.c - 664 sys sys 1089299171 19578
+1089300639 90 c sys/src/cmd/kl/obj.c - 664 sys sys 1089299170 21649
+1089300639 91 c sys/src/cmd/kl/sched.c - 664 sys sys 1089299170 10796
+1089300639 92 c sys/src/cmd/qa/a.h - 664 sys sys 1089299169 3252
+1089300639 93 c sys/src/cmd/qa/a.y - 664 sys sys 1089299169 13384
+1089300639 94 c sys/src/cmd/qa/lex.c - 664 sys sys 1089299170 16573
+1089300639 95 c sys/src/cmd/1c/cgen.c - 664 sys sys 1089299179 28257
+1089300639 96 c sys/src/cmd/1c/enam.c - 664 sys sys 1089299179 4239
+1089300639 97 c sys/src/cmd/1c/gc.h - 664 sys sys 1089299178 6006
+1089300639 98 c sys/src/cmd/1c/peep.c - 664 sys sys 1089299178 15578
+1089300639 99 c sys/src/cmd/1c/reg.c - 664 sys sys 1089299178 21252
+1089300639 100 c sys/src/cmd/1c/sgen.c - 664 sys sys 1089299179 10853
+1089300639 101 c sys/src/cmd/1c/swt.c - 664 sys sys 1089299179 15357
+1089300639 102 c sys/src/cmd/qc/enam.c - 664 sys sys 1089299168 3653
+1089300639 103 c sys/src/cmd/qc/gc.h - 664 sys sys 1089299169 5971
+1089300639 104 c sys/src/cmd/qc/mkfile - 664 sys sys 1089299168 338
+1089300639 105 c sys/src/cmd/qc/peep.c - 664 sys sys 1089299168 15241
+1089300639 106 c sys/src/cmd/qc/q.out.h - 664 sys sys 1089299169 5042
+1089300639 107 c sys/src/cmd/qc/reg.c - 664 sys sys 1089299169 19059
+1089300639 108 c sys/src/cmd/qc/sgen.c - 664 sys sys 1089299169 9499
+1089300639 109 c sys/src/cmd/qc/swt.c - 664 sys sys 1089299168 11985
+1089300639 110 c sys/src/cmd/qc/txt.c - 664 sys sys 1089299169 20223
+1089300639 111 c sys/src/cmd/ql/asm.c - 664 sys sys 1089299167 13059
+1089300639 112 c sys/src/cmd/ql/asmout.c - 664 sys sys 1089299167 35642
+1089300639 113 c sys/src/cmd/ql/cnam.c - 664 sys sys 1089299167 335
+1089300639 114 c sys/src/cmd/ql/l.h - 664 sys sys 1089299168 5935
+1089300639 115 c sys/src/cmd/ql/list.c - 664 sys sys 1089299166 5663
+1089300639 116 c sys/src/cmd/ql/mkfile - 664 sys sys 1089299166 304
+1089300639 117 c sys/src/cmd/ql/noop.c - 664 sys sys 1089299167 8982
+1089300639 118 c sys/src/cmd/ql/obj.c - 664 sys sys 1089299167 25301
+1089300639 119 c sys/src/cmd/ql/optab.c - 664 sys sys 1089299167 13392
+1089300639 120 c sys/src/cmd/ql/pass.c - 664 sys sys 1089299168 11868
+1089300639 121 c sys/src/cmd/ql/sched.c - 664 sys sys 1089299166 12776
+1089300639 122 c sys/src/cmd/ql/span.c - 664 sys sys 1089299167 19882
+1089300639 123 c sys/src/cmd/upas/bayes/addhash.c - 664 sys sys 1089299190 1054
+1089300639 124 c sys/src/cmd/upas/bayes/hash.c - 664 sys sys 1089299190 4208
+1089300639 125 c sys/src/cmd/upas/bayes/msgclass.c - 664 sys sys 1089299190 4776
+1089300639 126 c sys/src/cmd/upas/fs/fs.c - 664 sys sys 1089299189 27390
+1089300639 127 c sys/src/cmd/upas/marshal/marshal.c - 664 sys sys 1089299189 32566
+1089300639 128 c sys/src/cmd/usb/mkfile - 664 sys sys 1089299190 221
+1089300639 129 c sys/src/cmd/va/a.h - 664 sys sys 1089299166 2915
+1089300639 130 c sys/src/cmd/va/lex.c - 664 sys sys 1089299166 12004
+1089300639 131 c sys/src/cmd/vc/enam.c - 664 sys sys 1089299165 1093
+1089300639 132 c sys/src/cmd/vc/peep.c - 664 sys sys 1089299165 10302
+1089300639 133 c sys/src/cmd/vc/reg.c - 664 sys sys 1089299166 19378
+1089300639 134 c sys/src/cmd/vc/sgen.c - 664 sys sys 1089299165 8548
+1089300639 135 c sys/src/cmd/vc/swt.c - 664 sys sys 1089299165 12101
+1089300639 136 c sys/src/cmd/vc/txt.c - 664 sys sys 1089299165 22720
+1089300639 137 c sys/src/cmd/vc/v.out.h - 664 sys sys 1089299165 2630
+1089300639 138 c sys/src/cmd/vl/l.h - 664 sys sys 1089299164 5422
+1089300639 139 c sys/src/cmd/vl/obj.c - 664 sys sys 1089299164 23039
+1089300639 140 c sys/src/cmd/1a/lex.c - 664 sys sys 1089299179 19313
+1089300639 141 c sys/src/cmd/1l/asm.c - 664 sys sys 1089299178 27888
+1089300639 142 c sys/src/cmd/1l/l.h - 664 sys sys 1089299178 4736
+1089300639 143 c sys/src/cmd/1l/obj.c - 664 sys sys 1089299178 23682
+1089300639 144 c sys/src/cmd/7c/7.out.h - 664 sys sys 1089299276 2660
+1089300639 145 m sys/src/cmd/7c/7.out.h - 664 sys sys 1089299276 2660
+1089300639 146 m sys/src/cmd/7c/enam.c - 664 sys sys 944961627 1595
+1089300639 147 m sys/src/cmd/7c/gc.h - 664 sys sys 1014926894 5832
+1089300639 148 m sys/src/cmd/7c/list.c - 664 sys sys 1067723063 3862
+1089300639 149 m sys/src/cmd/7c/mkenam - 664 sys sys 944961627 112
+1089300639 150 m sys/src/cmd/7c/mkfile - 664 sys sys 944961627 310
+1089300639 151 m sys/src/cmd/7c/mul.c - 664 sys sys 944961627 9189
+1089300639 152 m sys/src/cmd/7c/peep.c - 664 sys sys 950104622 11473
+1089300639 153 c sys/src/cmd/7c/reg.c - 664 sys sys 1089299275 19737
+1089300639 154 m sys/src/cmd/7c/reg.c - 664 sys sys 1089299275 19737
+1089300639 155 m sys/src/cmd/7c/sgen.c - 664 sys sys 952627644 8781
+1089300639 156 m sys/src/cmd/7c/swt.c - 664 sys sys 944961627 11569
+1089300639 157 c sys/src/cmd/7c/txt.c - 664 sys sys 1089299172 20195
+1089300639 158 c sys/src/cmd/fossil/view.c - 664 sys sys 1089299187 19664
+1089300639 159 c sys/src/cmd/trace.c - 664 sys sys 1089299188 17772
+1089300639 160 c sys/src/lib9p/fid.c - 664 sys sys 1089299187 1066
+1089300639 161 c sys/src/lib9p/req.c - 664 sys sys 1089299187 1652
+1089300639 162 c sys/src/libc/mkfile - 664 sys sys 1089299164 630
+1089300639 163 c sys/src/mkfile.proto - 664 sys sys 1089299185 266
+1089300639 164 d sys/src/libc/29000/vlrt.c - 664 sys sys 944961708 0
+1089300639 165 d sys/src/libc/29000/vlop.s - 664 sys sys 944961707 0
+1089300639 166 d sys/src/libc/29000/setjmp.s - 664 sys sys 944961707 0
+1089300639 167 d sys/src/libc/29000/notejmp.c - 664 sys sys 944961708 0
+1089300639 168 d sys/src/libc/29000/mul.s - 664 sys sys 944961708 0
+1089300639 169 d sys/src/libc/29000/mkfile - 664 sys sys 1067723170 0
+1089300639 170 d sys/src/libc/29000/main9p.s - 664 sys sys 1067722815 0
+1089300639 171 d sys/src/libc/29000/main9.s - 664 sys sys 1067722823 0
+1089300639 172 d sys/src/libc/29000/doprint.xc - 664 sys sys 944961707 0
+1089300639 173 d sys/src/libc/29000/div.s - 664 sys sys 944961707 0
+1089300639 174 d sys/src/libc/29000/argv0.s - 664 sys sys 1067722825 0
+1089300639 175 d sys/src/libc/29000 - 20000000775 sys sys 984709298 0
+1089300639 176 d sys/src/cmd/9l/span.c - 664 sys sys 1045503966 0
+1089300639 177 d sys/src/cmd/9l/sched.c - 664 sys sys 1014936054 0
+1089300639 178 d sys/src/cmd/9l/pass.c - 664 sys sys 1045503965 0
+1089300639 179 d sys/src/cmd/9l/optab.c - 664 sys sys 944960738 0
+1089300639 180 d sys/src/cmd/9l/obj.c - 664 sys sys 1045503965 0
+1089300639 181 d sys/src/cmd/9l/noop.c - 664 sys sys 1045503964 0
+1089300639 182 d sys/src/cmd/9l/mkfile - 664 sys sys 944960737 0
+1089300639 183 d sys/src/cmd/9l/list.c - 664 sys sys 1014924900 0
+1089300639 184 d sys/src/cmd/9l/l.h - 664 sys sys 1014924900 0
+1089300639 185 d sys/src/cmd/9l/asm.c - 664 sys sys 1045503951 0
+1089300639 186 d sys/src/cmd/9l - 20000000775 sys sys 954035219 0
+1089300639 187 d sys/src/cmd/9c/y - 664 sys sys 944960736 0
+1089300639 188 d sys/src/cmd/9c/txt.c - 664 sys sys 1067720683 0
+1089300639 189 d sys/src/cmd/9c/swt.c - 664 sys sys 984718266 0
+1089300639 190 d sys/src/cmd/9c/sgen.c - 664 sys sys 952627559 0
+1089300639 191 d sys/src/cmd/9c/reg.c - 664 sys sys 1014936624 0
+1089300639 192 d sys/src/cmd/9c/peep.c - 664 sys sys 944960736 0
+1089300639 193 d sys/src/cmd/9c/mul.c - 664 sys sys 944960735 0
+1089300639 194 d sys/src/cmd/9c/mkfile - 664 sys sys 944960735 0
+1089300639 195 d sys/src/cmd/9c/mkenam - 664 sys sys 944960735 0
+1089300639 196 d sys/src/cmd/9c/list.c - 664 sys sys 1067720727 0
+1089300639 197 d sys/src/cmd/9c/gc.h - 664 sys sys 1014924888 0
+1089300639 198 d sys/src/cmd/9c/enam.c - 664 sys sys 944960735 0
+1089300639 199 d sys/src/cmd/9c/cgen.c - 664 sys sys 984718266 0
+1089300639 200 d sys/src/cmd/9c/bits.c - 664 sys sys 944960735 0
+1089300639 201 d sys/src/cmd/9c/9.out.h - 664 sys sys 944960735 0
+1089300639 202 d sys/src/cmd/9c - 20000000775 sys sys 954034958 0
+1089300639 203 d sys/src/cmd/9a/mkfile - 664 sys sys 944960735 0
+1089300639 204 d sys/src/cmd/9a/lex.c - 664 sys sys 1067725161 0
+1089300639 205 d sys/src/cmd/9a/l.s - 664 sys sys 944960735 0
+1089300639 206 d sys/src/cmd/9a/a.y - 664 sys sys 944960735 0
+1089300639 207 d sys/src/cmd/9a/a.h - 664 sys sys 944960735 0
+1089300639 208 d sys/src/cmd/9a - 20000000775 sys sys 954034958 0
+1089300639 209 d sys/src/cmd/6l/span.c - 664 sys sys 1045503942 0
+1089300639 210 d sys/src/cmd/6l/pass.c - 664 sys sys 1045503941 0
+1089300639 211 d sys/src/cmd/6l/optab.c - 664 sys sys 944960729 0
+1089300639 212 d sys/src/cmd/6l/obj.c - 664 sys sys 1045503940 0
+1089300639 213 d sys/src/cmd/6l/noop.c - 664 sys sys 944960729 0
+1089300639 214 d sys/src/cmd/6l/mkfile - 664 sys sys 969510786 0
+1089300639 215 d sys/src/cmd/6l/list.c - 664 sys sys 1014924827 0
+1089300639 216 d sys/src/cmd/6l/l.s - 664 sys sys 944960729 0
+1089300639 217 d sys/src/cmd/6l/l.h - 664 sys sys 1014924826 0
+1089300639 218 d sys/src/cmd/6l/asm.c - 664 sys sys 1045503940 0
+1089300639 219 d sys/src/cmd/6l - 20000000775 sys sys 944960730 0
+1089300639 220 d sys/src/cmd/6c/txt.c - 664 sys sys 1067720681 0
+1089300639 221 d sys/src/cmd/6c/swt.c - 664 sys sys 944960729 0
+1089300639 222 d sys/src/cmd/6c/sgen.c - 664 sys sys 952627552 0
+1089300639 223 d sys/src/cmd/6c/reg.h - 664 sys sys 944960729 0
+1089300639 224 d sys/src/cmd/6c/reg.c - 664 sys sys 1014936441 0
+1089300639 225 d sys/src/cmd/6c/peep.c - 664 sys sys 944960729 0
+1089300639 226 d sys/src/cmd/6c/mkfile - 664 sys sys 944960729 0
+1089300639 227 d sys/src/cmd/6c/mkenam - 664 sys sys 944960729 0
+1089300639 228 d sys/src/cmd/6c/list.c - 664 sys sys 1067720726 0
+1089300639 229 d sys/src/cmd/6c/gc.h - 664 sys sys 1014924820 0
+1089300639 230 d sys/src/cmd/6c/enam.c - 664 sys sys 944960729 0
+1089300639 231 d sys/src/cmd/6c/cgen.c - 664 sys sys 956275617 0
+1089300639 232 d sys/src/cmd/6c/bits.c - 664 sys sys 944960728 0
+1089300639 233 d sys/src/cmd/6c/6.out.h - 664 sys sys 944960728 0
+1089300639 234 d sys/src/cmd/6c - 20000000775 sys sys 954034958 0
+1089300639 235 d sys/src/cmd/6a/mkfile - 664 sys sys 944960728 0
+1089300639 236 d sys/src/cmd/6a/main9.s - 664 sys sys 944960728 0
+1089300639 237 d sys/src/cmd/6a/lex.c - 664 sys sys 1067725159 0
+1089300639 238 d sys/src/cmd/6a/l.s - 664 sys sys 944960728 0
+1089300639 239 d sys/src/cmd/6a/a.y - 664 sys sys 944960728 0
+1089300639 240 d sys/src/cmd/6a/a.h - 664 sys sys 944960728 0
+1089300639 241 d sys/src/cmd/6a - 20000000775 sys sys 944960728 0
+1089300639 242 d 960/mkfile - 664 sys sys 948141303 0
+1089300639 243 d 960/include/u.h - 664 sys sys 1042604328 0
+1089300639 244 d 960/include - 20000000775 sys sys 948037594 0
+1089300639 245 d 960 - 20000000775 sys sys 948037581 0
+1089300639 246 d 386/bin/qc - 775 sys sys 1063639757 0
+1089300639 247 d 386/bin/1c - 775 sys sys 1063639729 0
+1089300639 248 d 29000/mkfile - 664 sys sys 948141302 0
+1089300639 249 d 29000/lib - 20000000775 sys sys 948037563 0
+1089300639 250 d 29000/include/ureg.h - 664 sys sys 944946363 0
+1089300639 251 d 29000/include/u.h - 664 sys sys 1042604325 0
+1089300639 252 d 29000/include - 20000000775 sys sys 954099548 0
+1089300639 253 d 29000 - 20000000775 sys sys 954099276 0
+1089302440 0 c sys/lib/dist/pc/inst/moveoldfs - 775 sys sys 1089300756 1347
+1089313242 0 c sys/src/libc/mkfile - 664 sys sys 1089312339 636
+1089315042 0 c 386/lib/libmach.a - 664 sys sys 1089313992 733484
+1089315042 1 c sys/include/a.out.h - 664 sys sys 1089314110 1168
+1089315042 2 c sys/include/bootexec.h - 664 sys sys 1089314125 2610
+1089315042 3 c sys/include/mach.h - 664 sys sys 1089313992 8164
+1089315042 4 c sys/src/libmach/executable.c - 664 sys sys 1089313993 13073
+1089315042 5 c sys/src/libmach/mkfile - 664 sys sys 1089313991 439
+1089315042 6 c sys/src/libmach/obj.c - 664 sys sys 1089313993 5760
+1089315042 7 c sys/src/libmach/setmach.c - 664 sys sys 1089313993 2682
+1089315042 8 d sys/src/libmach/xobj.c - 664 sys sys 964540518 0
+1089315042 9 d sys/src/libmach/x.c - 664 sys sys 964540518 0
+1089315042 10 d sys/src/libmach/9obj.c - 664 sys sys 964540516 0
+1089315042 11 d sys/src/libmach/9db.c - 664 sys sys 1014929544 0
+1089315042 12 d sys/src/libmach/9.c - 664 sys sys 964540515 0
+1089315042 13 d sys/src/libmach/6obj.c - 664 sys sys 964540514 0
+1089315042 14 d sys/src/libmach/6db.c - 664 sys sys 964540514 0
+1089315042 15 d sys/src/libmach/6.c - 664 sys sys 964540514 0
+1089322244 0 c sys/man/1/INDEX - 664 sys sys 1089320990 3026
+1089322244 1 c sys/man/1/INDEX.html - 664 sys sys 1089320990 16634
+1089322244 2 c sys/man/2/INDEX - 664 sys sys 1089321036 20431
+1089322244 3 c sys/man/2/INDEX.html - 664 sys sys 1089321037 27437
+1089322244 4 c sys/man/3/INDEX - 664 sys sys 1089321095 363
+1089322244 5 c sys/man/3/INDEX.html - 664 sys sys 1089321095 3590
+1089322244 6 c sys/man/4/INDEX - 664 sys sys 1089321110 987
+1089322244 7 c sys/man/4/INDEX.html - 664 sys sys 1089321110 4928
+1089322244 8 c sys/man/8/INDEX - 664 sys sys 1089321186 2669
+1089322244 9 c sys/man/8/INDEX.html - 664 sys sys 1089321186 7944
+1089322244 10 d sys/man/1/rtstats - 664 sys sys 1018897631 0
+1089340247 0 c 386/lib/libmach.a - 664 sys sys 1089339723 733484
+1089340247 1 c sys/man/1/INDEX - 664 sys sys 1089339723 3026
+1089340247 2 c sys/man/2/INDEX - 664 sys sys 1089339723 20431
+1089340247 3 c sys/man/3/INDEX - 664 sys sys 1089339723 363
+1089340247 4 c sys/man/4/INDEX - 664 sys sys 1089339723 987
+1089340247 5 c sys/man/8/INDEX - 664 sys sys 1089339723 2669
+1089343848 0 a sys/src/cmd/cc/scon.c - 664 sys sys 1089343502 8606
+1089343848 1 d sys/src/cmd/cc/con.c - 664 sys sys 1084472048 0

+ 23 - 16
mail/lib/smtpd.conf.ext

@@ -1,29 +1,36 @@
 #
-#	sample smtpd configuration options for external gateway system
-#	this file, /mail/lib/smtpd.conf.ext, is bound on /mail/lib/smtpd.conf
-#	by /rc/bin/service.alt/tcp25 before smtpd is started on an
-#	external port 25 connection.
+#	smtpd configuration options for external gateway
+#	change verifysenderdom & saveblockedmsg when dirty converted
 #
 
-#
-#	replace YOURDOM and YOUROTHERDOM with the names of your domain
-#	replace 10.0.0.0 with the IP address range of your networks
-
-
-defaultdomain		YOURDOM.com
-norelay			on	#turn off relaying
-verifysenderdom		on	#dns verification of sender domain
-saveblockedmsg		on	#save blocked messages
+defaultdomain		plan9.bell-labs.com
+norelay			on		#turn off relaying
+verifysenderdom		on		#dns verification of sender domain
+saveblockedmsg		on		#save blocked messages
 
 #
 #	networks that are allowed to relay through us
-#	our internal networks.
 #
-ournets		10.0.0.0/16		#your networks
+ournets		135.104.0.0/16		#mh
+ournets		135.180.0.0/16		#ho
+ournets		204.178.16.5/32		#www.bell-labs.com
+ournets		204.178.16.6/32		#dirty.bell-labs.com
+ournets		204.178.16.43/32	#www1.bell-labs.com
+ournets		204.178.16.49/32	#crufty.research.bell-labs.com
+ournets		204.178.31.0/24		#outside plan 9 machines
+
+ournets		64.36.89.66/32		#rsc, sorry
 
 #
 #	domains that we will accept mail for
 #	these must match the rewrite rules
 #
 
-ourdomains	*.YOURDOM.com, *.YOUROTHERDOM.com
+ourdomains	*.lucent.com, *.bell-labs.com
+ourdomains	[204.178.31.2]		#achille
+ourdomains	ampl.com		#dmg
+ourdomains	*.wavelet.org		#wim
+ourdomains	closedmind.org		#presotto
+ourdomains	huygens.org		#sape
+ourdomains	mullender.nl		#sape
+ourdomains	mdgw.com		#mflaster cliff

+ 4 - 1
rc/bin/patch/apply

@@ -28,7 +28,10 @@ if(! echo >.tmp || ! rm .tmp){
 
 echo -n merge... >[1=2]
 fn xxx {
-	ape/diff3 -m $1 $2.orig $2 >$2.new
+	if(! test -f $1)
+		cp $2 $2.new
+	if not
+		ape/diff3 -m $1 $2.orig $2 >$2.new
 	if(grep -s '^<<<<' $2.new){
 		echo conflicts merging $1';' see $d/$2.new >[1=2]
 		

+ 3 - 1
rc/bin/patch/note

@@ -1,3 +1,5 @@
+#!/bin/rc
+
 if(! ~ $#* 1){
 	echo 'usage: patch/note patch-name' >[1=2]
 	exit usage
@@ -19,7 +21,7 @@ if(! patch/okay .){
 	exit badpatch
 }
 
-if(~ `{cat /proc/$pid/fd | awk 'NR==2{print $NF}'} */dev/cons){
+if(~ `{cat /proc/$pid/fd | awk 'NR==2{print $NF}'} */dev/cons && ~ `{ls -l /dev/consctl | awk '{print $1}'} *rw*){
 	>/dev/consctl {
 		echo holdon
 		{echo `{date} `{cat /dev/user}

+ 3 - 2
rc/bin/replica/scan

@@ -13,5 +13,6 @@ need serverroot serverexclude serverproto serverdb serverlog
 
 must servermount
 replica/updatedb -r^$serverroot $serverexclude -p^$serverproto $serverdb >>$serverlog
-ndb=`{echo $serverdb | sed 's;(.*)/(.*);\1/_\2;'}
-replica/compactdb $serverdb >$ndb && mv $ndb $serverdb
+ndb=`{echo $serverdb | sed 's;(.*)/(.*);\1/n\2;'}
+odb=`{echo $serverdb | sed 's;(.*)/(.*);\1/_\2;'}
+replica/compactdb $serverdb >$ndb && mv $serverdb $odb && mv $ndb $serverdb

+ 1 - 0
sys/games/lib/fortunes

@@ -4010,3 +4010,4 @@ If you are idle for more than 1000 hours, the system will log you out.  Please s
 We lead by following standards. - sape
 -bash: /home/r/.bash_logout: Permission denied
 I am he as you are he as you are me and we are all together. - forsyth after Lennon on authentication
+Network services at the Murray Hill, NJ, location (100001) will be unavailable due to UPS (Uninterrupted Power Supply) maintenance from 8:00 p.m. EDT on Saturday, June 26, to 4:00 a.m. EDT on Sunday, June 27.

+ 6 - 6
sys/include/a.out.h

@@ -14,13 +14,13 @@ struct	Exec
 #define	_MAGIC(b)	((((4*b)+0)*b)+7)
 #define	A_MAGIC		_MAGIC(8)	/* 68020 */
 #define	I_MAGIC		_MAGIC(11)	/* intel 386 */
-#define	J_MAGIC		_MAGIC(12)	/* intel 960 */
+#define	J_MAGIC		_MAGIC(12)	/* intel 960 (retired) */
 #define	K_MAGIC		_MAGIC(13)	/* sparc */
-#define	V_MAGIC		_MAGIC(16)	/* mips 3000 */
-#define	X_MAGIC		_MAGIC(17)	/* att dsp 3210 */
-#define	M_MAGIC		_MAGIC(18)	/* mips 4000 */
-#define	D_MAGIC		_MAGIC(19)	/* amd 29000 */
-#define	E_MAGIC		_MAGIC(20)	/* arm 7-something */
+#define	V_MAGIC		_MAGIC(16)	/* mips 3000 BE */
+#define	X_MAGIC		_MAGIC(17)	/* att dsp 3210 (retired) */
+#define	M_MAGIC		_MAGIC(18)	/* mips 4000 BE */
+#define	D_MAGIC		_MAGIC(19)	/* amd 29000 (retired) */
+#define	E_MAGIC		_MAGIC(20)	/* arm */
 #define	Q_MAGIC		_MAGIC(21)	/* powerpc */
 #define	N_MAGIC		_MAGIC(22)	/* mips 4000 LE */
 #define	L_MAGIC		_MAGIC(23)	/* dec alpha */

+ 0 - 34
sys/include/bootexec.h

@@ -135,37 +135,3 @@ struct i386exec
 	struct coffsect ibsss;
 	struct coffsect icomments;
 };
-
-struct i960exec
-{
-	struct	i960coff{
-		ulong	i6sectmagic;
-		ulong	i6time;
-		ulong	i6syms;
-		ulong	i6nsyms;
-		ulong	i6opthdrflags;
-	};
-	struct	i960hdr{
-		ulong	i6magic;
-		ulong	i6textsize;
-		ulong	i6datasize;
-		ulong	i6bsssize;
-		ulong	i6entry;
-		ulong	i6textstart;
-		ulong	i6datastart;
-		ulong	i6tagentries;
-	};
-	struct i960sect{
-		char	name[8];
-		ulong	phys;
-		ulong	virt;
-		ulong	size;
-		ulong	fptr;
-		ulong	fptrreloc;
-		ulong	fptrlineno;
-		ulong	nrelocnlineno;
-		ulong	flags;
-		ulong	align;
-	}i6texts;
-	struct i960sect i6datas;
-};

+ 1 - 0
sys/include/html.h

@@ -214,6 +214,7 @@ struct Iimage
 	uchar	vspace;		// in pixels; buffer space on top and bottom
 	uchar	border;		// in pixels: border width to draw around image
 	Iimage*	nextimage;	// next in list of document's images
+	void*	aux;
 };
 
 

+ 2 - 0
sys/include/ip.h

@@ -114,8 +114,10 @@ int	equivip(uchar*, uchar*);
 
 Ipifc*	readipifc(char*, Ipifc*, int);
 
+void	hnputv(void*, uvlong);
 void	hnputl(void*, uint);
 void	hnputs(void*, ushort);
+uvlong	nhgetv(void*);
 uint	nhgetl(void*);
 ushort	nhgets(void*);
 ushort	ptclbsum(uchar*, int);

+ 1 - 0
sys/include/libc.h

@@ -205,6 +205,7 @@ extern	Rune*	runefmtstrflush(Fmt*);
 #pragma varargck	type	"<" void*
 #pragma varargck	type	"[" void*
 #pragma varargck	type	"H" void*
+#pragma varargck	type	"lH" void*
 
 extern	int	fmtinstall(int, int (*)(Fmt*));
 extern	int	dofmt(Fmt*, char*);

+ 23 - 25
sys/include/mach.h

@@ -10,23 +10,22 @@
  *		68020,
  *		i386,
  *		sparc,
- *		i960 (limited)
- *		3210DSP (limited)
  *		mips2 (R4000)
- *		arm (limited)
- *		power pc (limited)
-*/
+ *		arm
+ *		power pc
+ *		alpha
+ */
 enum
 {
 	MMIPS,			/* machine types */
 	MSPARC,
 	M68020,
 	MI386,
-	MI960,
-	M3210,
+	MI960,			/* retired */
+	M3210,			/* retired */
 	MMIPS2,
 	NMIPS2,
-	M29000,
+	M29000,			/* retired */
 	MARM,
 	MPOWER,
 	MALPHA,
@@ -42,17 +41,17 @@ enum
 	FNEXTB,			/* Next bootable */
 	FI386,			/* 8.out */
 	FI386B,			/* I386 bootable */
-	FI960,			/* 6.out */
-	FI960B,			/* I960 bootable */
-	F3210,			/* x.out */
-	FMIPS2BE,			/* 4.out */
-	F29000,			/* 9.out */
+	FI960,			/* retired */
+	FI960B,			/* retired */
+	F3210,			/* retired */
+	FMIPS2BE,		/* 4.out */
+	F29000,			/* retired */
 	FARM,			/* 5.out */
 	FARMB,			/* ARM bootable */
 	FPOWER,			/* q.out */
 	FPOWERB,		/* power pc bootable */
-	FMIPS2LE,		/* 4k little endian */
-	FALPHA,		/* 7.out */
+	FMIPS2LE,		/* 0.out */
+	FALPHA,			/* 7.out */
 	FALPHAB,		/* DEC Alpha bootable */
 	FMIPSLE,		/* 3k little endian */
 
@@ -64,8 +63,8 @@ enum
 	A68020,
 	AI386,
 	AI8086,			/* oh god */
-	AI960,
-	A29000,
+	AI960,			/* retired */
+	A29000,			/* retired */
 	AARM,
 	APOWER,
 	AALPHA,
@@ -74,10 +73,10 @@ enum
 	ObjSparc,		/* .k */
 	ObjMips,		/* .v */
 	Obj386,			/* .8 */
-	Obj960,			/* .6 */
-	Obj3210,		/* .x */
+	Obj960,			/* retired */
+	Obj3210,		/* retired */
 	ObjMips2,		/* .4 */
-	Obj29000,		/* .9 */
+	Obj29000,		/* retired */
 	ObjArm,			/* .5 */
 	ObjPower,		/* .q */
 	ObjMips2le,		/* .0 */
@@ -139,23 +138,22 @@ struct Reglist {
 	char	rformat;		/* print format: 'x', 'X', 'f', '8' */
 };
 
-enum {				/* bits in rflags field */
+enum {					/* bits in rflags field */
 	RINT	= (0<<0),
 	RFLT	= (1<<0),
 	RRDONLY	= (1<<1),
 };
+
 /*
  *	Machine-dependent data is stored in two structures:
  *		Mach  - miscellaneous general parameters
  *		Machdata - jump vector of service functions used by debuggers
  *
- *	Mach is defined in 2.c, 4.c, v.c, k.c, 8.c, 6.c and set in executable.c
+ *	Mach is defined in ?.c and set in executable.c
  *
- *	Machdata is defined in 2db.c, 4db.c, vdb.c, kdb.c, 8db.c, and 6db.c
+ *	Machdata is defined in ?db.c
  *		and set in the debugger startup.
  */
-
-
 struct Mach{
 	char	*name;
 	int	mtype;			/* machine type code */

+ 1 - 1
sys/include/trace.h

@@ -20,5 +20,5 @@ typedef struct Traceevent	Traceevent;
 struct Traceevent {
 	ulong	pid;	
 	ulong	etype;		/* Event type */
-	vlong	time;		/* time stamp (ns)  */
+	vlong	time;		/* time stamp  */
 };

+ 0 - 2
sys/lib/dist/pc/inst/moveoldfs

@@ -4,11 +4,9 @@
 # prereq: mountfs
 
 rootfiles=(\
-	29000\
 	386\
 	68000\
 	68020\
-	960\
 	LICENSE\
 	NOTICE\
 	acme\

+ 2 - 2
sys/lib/dist/pc/proto

@@ -23,8 +23,8 @@
 		disk	d555 sys sys
 			fdisk	555 sys sys
 			format	555 sys sys
-			kfs	555 sys sys
-			kfscmd	555 sys sys
+#			kfs	555 sys sys
+#			kfscmd	555 sys sys
 			mbr	555 sys sys
 			prep	555 sys sys
 		fossil	d555 sys sys

+ 2 - 0
sys/lib/mimetype

@@ -90,6 +90,8 @@
 .ppm		image		x-portable-pixmap	-	y
 .ppt		application	vnd.ms-powerpoint	-	n # Microsoft PowerPoint
 .ps		application	postscript	-		m
+.qcp		audio		vnd.qcelp	-		y # Qualcomm CELP
+.qcp2		audio		qcp		-		y # Qualcomm CELP
 .qt		video		quicktime	-		y
 .r		text		plain		-		y # ratfor program
 .ra		audio		x-pn-realaudio	-		y # G2 RealAudio

+ 0 - 4
sys/lib/sysconfig/proto/armpaqproto

@@ -24,7 +24,6 @@ adm
 arm
 	bin
 		acme
-		acid
 		auth
 			factotum
 			fgui
@@ -47,7 +46,6 @@ arm
 		exportfs
 		date
 		dc
-		ftpfs
 		grep
 		dd
 		disk
@@ -63,7 +61,6 @@ arm
 			ftpd
 			ipconfig
 			ping
-			traceroute
 		ls
 		mc
 		mkdir
@@ -87,7 +84,6 @@ arm
 		sed
 		sleep
 		srv
-		srvold9p
 		ssh
 		telnet
 		test

+ 6 - 1
sys/man/1/2a

@@ -1,6 +1,6 @@
 .TH 2A 1 
 .SH NAME
-0a, 1a, 2a, 4a, 5a, 6a, 7a, 8a, 9a, ka, qa, va, xa \- assemblers
+1a, 2a, 5a, 7a, 8a, ka, qa, va \- assemblers
 .SH SYNOPSIS
 .B 2a
 [
@@ -53,3 +53,8 @@ etc.
 .IR 2l (1).
 .PP
 Rob Pike, ``A manual for the Plan 9 assembler''
+.SH BUGS
+The list of assemblers given above is only partial,
+not all architectures are supported on all systems,
+some have been retired and some
+are provided by third parties.

+ 8 - 24
sys/man/1/2c

@@ -1,6 +1,6 @@
 .TH 2C 1 
 .SH NAME
-0c, 1c, 2c, 4c, 5c, 6c, 7c, 8c, 9c, kc, qc, vc, xc \- C compilers
+1c, 2c, 5c, 7c, 8c, kc, qc, vc \- C compilers
 .SH SYNOPSIS
 .B 2c
 [
@@ -16,35 +16,24 @@ These commands compile the named C
 .I files
 into object files for the corresponding architecture.
 Associated with each compiler is a string
-.IR objtype :
+.IR objtype ,
+for example
 .TP 1.5i
-.B "0c spim
-little-endian MIPS 4000 family
-.TP
 .B "1c 68000
 Motorola MC68000
 .TP
 .B "2c 68020
 Motorola MC68020
 .TP
-.B "4c mips2
-big-endian MIPS 4000 family
-.TP
 .B "5c arm
 ARM 7500
 .TP
-.B "6c 960
-Intel i960
-.TP
 .B "7c alpha
 Digital Alpha APX
 .TP
 .B "8c 386
 Intel i386, i486, Pentium, etc.
 .TP
-.B "9c 29000
-AMD 29000 family
-.TP
 .B "kc sparc
 Sun SPARC
 .TP
@@ -53,9 +42,6 @@ Power PC,
 .TP
 .B "vc mips
 big-endian MIPS 3000 family
-.TP
-.B "xc 3210
-AT&T DSP 3210.
 .PP
 The compilers handle most preprocessing directives themselves; a complete
 preprocessor is available in
@@ -64,20 +50,16 @@ which must be run separately.
 .PP
 Let the first letter of the compiler name be
 .IR O =
-.BR 0 ,
 .BR 1 ,
 .BR 2 ,
 .BR 4 ,
 .BR 5 ,
-.BR 6 ,
 .BR 7 ,
 .BR 8 ,
-.BR 9 ,
 .BR k ,
 .BR q ,
-.BR v ,
 or
-.BR x .
+.BR v .
 The output object files end in
 .RI . O .
 The letter is also the prefix of related programs:
@@ -381,8 +363,10 @@ machine-dependent part
 Rob Pike,
 ``How to Use the Plan 9 C Compiler''
 .SH BUGS
-The i960 compiler has been used only to program one I/O controller
-and is certainly buggy.
+The list of compilers given above is only partial,
+not all architectures are supported on all systems,
+some have been retired and some
+are provided by third parties.
 .PP
 The default preprocessor only handles
 .LR #define ,

+ 6 - 12
sys/man/1/2l

@@ -1,6 +1,6 @@
 .TH 2L 1 
 .SH NAME
-0l, 1l, 2l, 4l, 5l, 6l, 7l, 8l, 9l, kl, ql, vl, xl \- loaders
+1l, 2l, 5l, 7l, 8l, kl, ql, vl \- loaders
 .SH SYNOPSIS
 .B 2l
 [
@@ -101,23 +101,12 @@ Print the object code in assembly language, with addresses.
 .B -v
 Print debugging output that annotates the activities of the load.
 .TP
-.BI -c function
-.RI ( Xl
-only) Place the
-.I function
-in the internal RAM of the DSP3210.
 .TP
 .BI -M
 .RI ( Kl
 only) Generate instructions rather than calls to emulation routines
 for multiply and divide.
 .TP
-.BI -m size
-.RI ( Xl
-only) Use
-.I size
-(default 0, maximum 8192)
-bytes of internal RAM of the DSP3210 for functions and small data items.
 .TP
 .BI -E symbol
 The entry point for the binary is
@@ -191,3 +180,8 @@ etc.
 .PP
 Rob Pike,
 ``How to Use the Plan 9 C Compiler''
+.SH BUGS
+The list of loaders given above is only partial,
+not all architectures are supported on all systems,
+some have been retired and some
+are provided by third parties.

+ 23 - 17
sys/man/1/INDEX

@@ -1,50 +1,36 @@
 0intro 0intro
 intro 0intro
-0a 2a
 1a 2a
 2a 2a
-4a 2a
 5a 2a
-6a 2a
 7a 2a
 8a 2a
-9a 2a
 ka 2a
 qa 2a
 va 2a
-xa 2a
-0c 2c
 1c 2c
 2c 2c
-4c 2c
 5c 2c
-6c 2c
 7c 2c
 8c 2c
-9c 2c
 kc 2c
 qc 2c
 vc 2c
-xc 2c
-0l 2l
 1l 2l
 2l 2l
-4l 2l
 5l 2l
-6l 2l
 7l 2l
 8l 2l
-9l 2l
 kl 2l
 ql 2l
 vl 2l
-xl 2l
 acid acid
 trump acid
 truss acid
 acme acme
 awd acme
 win acme
+ap ap
 ar ar
 ascii ascii
 unicode ascii
@@ -65,6 +51,8 @@ cal cal
 calendar calendar
 cat cat
 read cat
+.I cb  cb
+cb cb
 chgrp chgrp
 chmod chmod
 cleanname cleanname
@@ -100,6 +88,14 @@ echo echo
 ed ed
 emacs emacs
 eqn eqn
+at expect
+drain expect
+expect expect
+pass expect
+face face
+faces face
+seemail face
+vwhois face
 faces faces
 seemail faces
 vwhois faces
@@ -119,6 +115,7 @@ grap grap
 graph graph
 grep grep
 gs gs
+gview gview
 
 bunzip2 gzip
 bzip2 gzip
@@ -132,12 +129,15 @@ hoc hoc
 idiff idiff
 join join
 gif jpg
+ico jpg
 jpg jpg
 png jpg
 ppm jpg
 togif jpg
+toico jpg
 topng jpg
 toppm jpg
+kbmap kbmap
 broke kill
 kill kill
 slay kill
@@ -173,12 +173,16 @@ page page
 iam passwd
 netkey passwd
 passwd passwd
+patch patch
 pcc pcc
 pic pic
 tpic pic
 pipefile pipefile
 plot plot
 plumb plumb
+pq pq
+pqgen pq
+pqsrv pq
 pr pr
 kprof prof
 prof prof
@@ -213,7 +217,6 @@ rio rio
 window rio
 wloc rio
 rm rm
-rtstats rtstats
 conswdir rwd
 rwd rwd
 B sam
@@ -234,7 +237,6 @@ split split
 src src
 scp ssh
 ssh ssh
-ssh_genkey ssh
 sshnet ssh
 sshserve ssh
 start stop
@@ -261,19 +263,23 @@ tee tee
 iwhois tel
 tel tel
 test test
+thesaurus thesaurus
 time time
 touch touch
 tr tr
+trace trace
 nroff troff
 troff troff
 troff2html troff2html
 tweak tweak
 uniq uniq
 units units
+uptime uptime
 vac vac
 0i vi
 5i vi
 ki vi
+qi vi
 vi vi
 vnc vnc
 vncs vnc

+ 52 - 24
sys/man/1/INDEX.html

@@ -12,19 +12,15 @@
 </DT>
 <DT><A HREF="/magic/man2html/1/2a">2a</A>
 -  assemblers
-<DD><TT> 0a, 1a, 2a, 4a, 5a, 6a, 7a, 8a, 9a, ka, qa, va, xa</TT>
+<DD><TT> 1a, 2a, 5a, 7a, 8a, ka, qa, va</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/2c">2c</A>
 -  C compilers
-<DD><TT> 0c, 1c, 2c, 4c, 5c, 6c, 7c, 8c, 9c, kc, qc, vc, xc</TT>
+<DD><TT> 1c, 2c, 5c, 7c, 8c, kc, qc, vc</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/2l">2l</A>
 -  loaders
-<DD><TT> 0l, 1l, 2l, 4l, 5l, 6l, 7l, 8l, 9l, kl, ql, vl, xl</TT>
-</DT>
-<DT><A HREF="/magic/man2html/1/aan">aan</A>
--  always available network
-<DD><TT> aan</TT>
+<DD><TT> 1l, 2l, 5l, 7l, 8l, kl, ql, vl</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/acid">acid</A>
 -  debugger
@@ -78,6 +74,10 @@
 -  catenate files
 <DD><TT> cat, read</TT>
 </DT>
+<DT><A HREF="/magic/man2html/1/cb">cb</A>
+-  C program beautifier
+<DD><TT> cb</TT>
+</DT>
 <DT><A HREF="/magic/man2html/1/chgrp">chgrp</A>
 -  change file group
 <DD><TT> chgrp</TT>
@@ -86,10 +86,6 @@
 -  change mode
 <DD><TT> chmod</TT>
 </DT>
-<DT><A HREF="/magic/man2html/1/cj">cj</A>
--  compress YCbCr411 frames into a baseline JPG file.
-<DD><TT> cj</TT>
-</DT>
 <DT><A HREF="/magic/man2html/1/cleanname">cleanname</A>
 -  clean a path name
 <DD><TT> cleanname</TT>
@@ -106,10 +102,6 @@
 -  select or reject lines common to two sorted files
 <DD><TT> comm</TT>
 </DT>
-<DT><A HREF="/magic/man2html/1/compress">compress</A>
--  compress and expand data
-<DD><TT> compress, uncompress, zcat</TT>
-</DT>
 <DT><A HREF="/magic/man2html/1/con">con</A>
 -  remote login, execution, and XMODEM file transfer
 <DD><TT> con, telnet, rx, xms, xmr</TT>
@@ -182,6 +174,14 @@
 -  typeset mathematics
 <DD><TT> eqn</TT>
 </DT>
+<DT><A HREF="/magic/man2html/1/expect">expect</A>
+-  dialer scripting tools
+<DD><TT> at, drain, expect, pass</TT>
+</DT>
+<DT><A HREF="/magic/man2html/1/face">face</A>
+-  mailbox interface
+<DD><TT> faces, seemail, vwhois</TT>
+</DT>
 <DT><A HREF="/magic/man2html/1/faces">faces</A>
 -  mailbox interface
 <DD><TT> faces, seemail, vwhois</TT>
@@ -195,7 +195,7 @@
 <DD><TT> file</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/filter">filter</A>
--  filterng mail
+-  filtering mail
 <DD><TT> filter, list, deliver, token, vf</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/fmt">fmt</A>
@@ -226,6 +226,10 @@
 -  Aladdin Ghostscript (PostScript and PDF language interpreter)
 <DD><TT> gs</TT>
 </DT>
+<DT><A HREF="/magic/man2html/1/gview">gview</A>
+-  interactive graph viewer
+<DD><TT> gview</TT>
+</DT>
 <DT><A HREF="/magic/man2html/1/gzip">gzip</A>
 -  compress and expand data
 <DD><TT> gzip, gunzip, bzip2, bunzip2, zip, unzip,</TT>
@@ -252,7 +256,11 @@
 </DT>
 <DT><A HREF="/magic/man2html/1/jpg">jpg</A>
 -  view and convert pictures
-<DD><TT> jpg, gif, png, ppm, togif, toppm, topng</TT>
+<DD><TT> jpg, gif, png, ppm, ico, togif, toppm, topng, toico</TT>
+</DT>
+<DT><A HREF="/magic/man2html/1/kbmap">kbmap</A>
+-  show a list of available keyboard maps and switch between them.
+<DD><TT> kbmap</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/kill">kill</A>
 -  print commands to kill processes
@@ -350,6 +358,10 @@
 -  change user password
 <DD><TT> passwd, netkey, iam</TT>
 </DT>
+<DT><A HREF="/magic/man2html/1/patch">patch</A>
+-  simple patch creation and tracking system
+<DD><TT> patch</TT>
+</DT>
 <DT><A HREF="/magic/man2html/1/pcc">pcc</A>
 -  APE C compiler driver
 <DD><TT> pcc</TT>
@@ -390,6 +402,10 @@
 -  process status
 <DD><TT> ps, psu</TT>
 </DT>
+<DT><A HREF="/magic/man2html/1/ps2pdf">ps2pdf</A>
+-  convert between PostScript and PDF
+<DD><TT> ps2pdf, pdf2ps</TT>
+</DT>
 <DT><A HREF="/magic/man2html/1/pwd">pwd</A>
 -  working directory
 <DD><TT> pwd, pbd</TT>
@@ -414,9 +430,9 @@
 -  remove files
 <DD><TT> rm</TT>
 </DT>
-<DT><A HREF="/magic/man2html/1/rtstats">rtstats</A>
--  show real-time process behavior
-<DD><TT> rtstats</TT>
+<DT><A HREF="/magic/man2html/1/rwd">rwd</A>
+-  maintain remote working directory
+<DD><TT> rwd, conswdir</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/sam">sam</A>
 -  screen editor with structural regular expressions
@@ -424,7 +440,7 @@
 </DT>
 <DT><A HREF="/magic/man2html/1/secstore">secstore</A>
 -  secstore commands
-<DD><TT> aescbc, secstore</TT>
+<DD><TT> aescbc, secstore, ipso</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/sed">sed</A>
 -  stream editor
@@ -464,7 +480,7 @@
 </DT>
 <DT><A HREF="/magic/man2html/1/ssh">ssh</A>
 -  secure login and file copy from/to Unix or Plan 9
-<DD><TT> ssh, sshnet, scp, sshserve, ssh_genkey</TT>
+<DD><TT> ssh, sshnet, scp, sshserve</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/stop">stop</A>
 -  print commands to stop and start processes
@@ -512,12 +528,16 @@
 </DT>
 <DT><A HREF="/magic/man2html/1/tel">tel</A>
 -  look in phone book
-<DD><TT> tel, ppq, iwhois</TT>
+<DD><TT> tel, iwhois</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/test">test</A>
 -  set status according to condition
 <DD><TT> test</TT>
 </DT>
+<DT><A HREF="/magic/man2html/1/thesaurus">thesaurus</A>
+-  search online thesaurus
+<DD><TT> thesaurus</TT>
+</DT>
 <DT><A HREF="/magic/man2html/1/time">time</A>
 -  time a command
 <DD><TT> time</TT>
@@ -530,6 +550,10 @@
 -  translate characters
 <DD><TT> tr</TT>
 </DT>
+<DT><A HREF="/magic/man2html/1/trace">trace</A>
+-  show (real-time) process behavior
+<DD><TT> trace</TT>
+</DT>
 <DT><A HREF="/magic/man2html/1/troff">troff</A>
 -  text formatting and typesetting
 <DD><TT> troff, nroff</TT>
@@ -550,13 +574,17 @@
 -  conversion program
 <DD><TT> units</TT>
 </DT>
+<DT><A HREF="/magic/man2html/1/uptime">uptime</A>
+-  show how long the system has been running
+<DD><TT> uptime</TT>
+</DT>
 <DT><A HREF="/magic/man2html/1/vac">vac</A>
 -  create a vac archive on Venti
 <DD><TT> vac</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/vi">vi</A>
 -  instruction simulators
-<DD><TT> 0i, 5i, ki, vi</TT>
+<DD><TT> 0i, 5i, ki, vi, qi</TT>
 </DT>
 <DT><A HREF="/magic/man2html/1/vnc">vnc</A>
 -  remote frame buffer server and viewer for Virtual Network Computing (VNC)

+ 0 - 117
sys/man/1/rtstats

@@ -1,117 +0,0 @@
-.TH RTSTATS 1
-.SH NAME
-rtstats \- show real-time process behavior
-.SH SYNOPSIS
-.B rtstats
-[
-.B \-T
-.I period
-]
-[
-.B \-D
-.I deadline
-]
-[
-.B \-C
-.I cost
-]
-[
-.B \-d
-.I dir
-]
-[
-.B \-t
-.I timedev
-]
-[
-.B \-b
-]
-[
-.B \-v
-]
-[
-.B \-w
-]
-.SH DESCRIPTION
-.I Rtstats
-displays the behavor of the real-time tasks running on a machine.
-In its window it shows a time line for each real-time task with
-black up arrows to indicate releases, black down arrows to indicate
-deadlines, red down arrows to indicate early deadline as a consequence
-of reaching cost, and green down arrows to indicate early deadline as
-a consequence of yielding.  Running tasks are shown as colored blocks,
-while pre-empted ones are shown as very thin colored blocks.
-.PP
-Normally,
-.B rtstats
-itself runs in real time so that one of the bars in the display represents
-.B rtstats
-itself.  The
-.B \-b
-flag makes it run as a best-effort process instead.
-.PP
-The
-.BR \-T ,
-.BR \-D ,
-and
-.BR \-C ,
-flags, respectively, specification a period, deadline or cost other than the
-defaults of 200ms, 80ms and 40ms.
-Times can be specified as a fixed-point decimal number, optionally followed
-by one of the units
-.BR s ,
-.BR ms ,
-.BR µs ,(or
-.BR us ),
-or
-.BR ns .
-Choosing periods, deadlines or costs less than 1ms or so will probably not produce very
-desirable results.
-.PP
-The
-.B \-d
-flag can be used to specify a real-time event file other than the default,
-.BR #R/realtime/nblog
-and the
-.B \-t
-flag can be used to specify another time source than
-.BR #R/realtime/time .
-.PP
-The
-.B \-v
-flag prints out the events as they are received from the event file.
-.PP
-The \-w
-flag makes
-.B rtstats
-open a new window for its display.
-.PP
-The following one-character commands are recognized by
-.BR rtstats :
-.TP
-.B +
-Zoom in by a factor of two,
-.TP
-.B -
-Zoom out by a factor of two,
-.TP
-.B p
-Pause or resume,
-.TP
-.B q
-Quit.
-.SH "SEE ALSO
-.IR realtime (3)
-.SH FILES
-.TF #R/realtime/nblog
-.TP
-.B #R/realtime/task
-Task directory
-.TP
-.B #R/realtime/nblog
-Real-time event log (non-blocking version)
-.TP
-.B #R/realtime/time
-Current real time.
-.SH SOURCE
-.B /sys/src/cmd/rtstats

+ 17 - 2
sys/man/2/INDEX

@@ -222,6 +222,7 @@ cmap2rgb color
 cmap2rgba color
 color color
 rgb2cmap color
+complete complete
 Control control
 Controlset control
 activate control
@@ -695,6 +696,7 @@ eipfmt ip
 equivip ip
 hnputl ip
 hnputs ip
+hnputv ip
 ip ip
 isv4 ip
 maskip ip
@@ -702,6 +704,7 @@ myetheraddr ip
 myipaddr ip
 nhgetl ip
 nhgets ip
+nhgetv ip
 parseether ip
 parseip ip
 parseipmask ip
@@ -723,7 +726,6 @@ closekeyboard keyboard
 ctlkeyboard keyboard
 initkeyboard keyboard
 keyboard keyboard
-atomic increment and decrement lock
 canlock lock
 canqlock lock
 canrlock lock
@@ -734,7 +736,10 @@ lock lock
 qlock lock
 qunlock lock
 rlock lock
+rsleep lock
 runlock lock
+rwakeup lock
+rwakeupall lock
 unlock lock
 wlock lock
 wunlock lock
@@ -926,6 +931,7 @@ isInf nan
 isNaN nan
 nan nan
 csgetval ndb
+csgetvalue ndb
 csipinfo ndb
 dnsquery ndb
 ipattr ndb
@@ -933,16 +939,23 @@ ndb ndb
 ndbcat ndb
 ndbchanged ndb
 ndbclose ndb
+ndbconcatenate ndb
+ndbdiscard ndb
+ndbfindattr ndb
 ndbfree ndb
+ndbgetipaddr ndb
 ndbgetval ndb
+ndbgetvalue ndb
 ndbhash ndb
 ndbipinfo ndb
 ndblookval ndb
 ndbopen ndb
 ndbparse ndb
 ndbreopen ndb
+ndbreorder ndb
 ndbsearch ndb
 ndbsnext ndb
+ndbsubstitute ndb
 atnotify notify
 noted notify
 notify notify
@@ -1020,6 +1033,7 @@ initThumbprints pushtls
 okThumbprint pushtls
 pushtls pushtls
 readcert pushtls
+readcertchain pushtls
 tlsClient pushtls
 tlsServer pushtls
 qball qball
@@ -1039,6 +1053,7 @@ quaternion quaternion
 qunit quaternion
 slerp quaternion
 doquote quote
+needsrcquote quote
 quote quote
 quotefmtinstall quote
 quoterunestrdup quote
@@ -1089,7 +1104,7 @@ X509toRSApub rsa
 X509verify rsa
 asn1dump rsa
 asn1toRSApriv rsa
-decodepem rsa
+decodePEM rsa
 rsa rsa
 rsadecrypt rsa
 rsaencrypt rsa

File diff suppressed because it is too large
+ 29 - 13
sys/man/2/INDEX.html


+ 1 - 1
sys/man/3/INDEX

@@ -13,6 +13,7 @@ floppy floppy
 fs fs
 i82365 i82365
 ip ip
+kbmap kbmap
 kprof kprof
 loopback loopback
 lpt lpt
@@ -22,7 +23,6 @@ mouse mouse
 pipe pipe
 pnp pnp
 proc proc
-realtime realtime
 root root
 rtc rtc
 sd sd

+ 8 - 4
sys/man/3/INDEX.html

@@ -50,6 +50,10 @@
 -  floppy disk interface
 <DD><TT> floppy</TT>
 </DT>
+<DT><A HREF="/magic/man2html/3/fs">fs</A>
+-  file system devices
+<DD><TT> fs</TT>
+</DT>
 <DT><A HREF="/magic/man2html/3/i82365">i82365</A>
 -  Personal Computer Memory Card Interface Association (PCMCIA) device
 <DD><TT> i82365</TT>
@@ -58,6 +62,10 @@
 -  network protocols over IP
 <DD><TT> ip</TT>
 </DT>
+<DT><A HREF="/magic/man2html/3/kbmap">kbmap</A>
+-  keyboard map
+<DD><TT> kbmap</TT>
+</DT>
 <DT><A HREF="/magic/man2html/3/kprof">kprof</A>
 -  kernel profiling
 <DD><TT> kprof</TT>
@@ -90,10 +98,6 @@
 -  running processes
 <DD><TT> proc</TT>
 </DT>
-<DT><A HREF="/magic/man2html/3/realtime">realtime</A>
--  real time scheduling
-<DD><TT> realtime</TT>
-</DT>
 <DT><A HREF="/magic/man2html/3/root">root</A>
 -  the root file system
 <DD><TT> root</TT>

+ 3 - 1
sys/man/4/INDEX

@@ -20,9 +20,9 @@ eject dossrv
 execnet execnet
 exportfs exportfs
 srvfs exportfs
+ext2srv ext2srv
 factotum factotum
 fgui factotum
-secretpem factotum
 fossil fossil
 fs fs
 ftpfs ftpfs
@@ -34,6 +34,7 @@ kfs kfs
 lnfs lnfs
 mntgen mntgen
 namespace namespace
+nfs nfs
 nntpfs nntpfs
 paqfs paqfs
 plumber plumber
@@ -67,6 +68,7 @@ upasfs upasfs
 usb usb
 usbaudio usb
 usbmouse usb
+usbprinter usb
 usbd usbd
 vacfs vacfs
 webcookies webcookies

+ 20 - 4
sys/man/4/INDEX.html

@@ -42,9 +42,17 @@
 -  network file server plumbing
 <DD><TT> exportfs, srvfs</TT>
 </DT>
+<DT><A HREF="/magic/man2html/4/ext2srv">ext2srv</A>
+-  ext2 file system
+<DD><TT> ext2srv</TT>
+</DT>
 <DT><A HREF="/magic/man2html/4/factotum">factotum</A>
-- 
-<DD><TT> factotum, fgui, secretpem\- authentication agent and its graphical interface</TT>
+-  authentication agent
+<DD><TT> factotum, fgui</TT>
+</DT>
+<DT><A HREF="/magic/man2html/4/fossil">fossil</A>
+-  archival file server
+<DD><TT> fossil</TT>
 </DT>
 <DT><A HREF="/magic/man2html/4/fs">fs</A>
 -  file server, dump
@@ -74,10 +82,18 @@
 -  long name file system
 <DD><TT> lnfs</TT>
 </DT>
+<DT><A HREF="/magic/man2html/4/mntgen">mntgen</A>
+-  automatically generate mount points for file systems
+<DD><TT> mntgen</TT>
+</DT>
 <DT><A HREF="/magic/man2html/4/namespace">namespace</A>
 -  structure of conventional file name space
 <DD><TT> namespace</TT>
 </DT>
+<DT><A HREF="/magic/man2html/4/nfs">nfs</A>
+-  Sun network file system client
+<DD><TT> nfs</TT>
+</DT>
 <DT><A HREF="/magic/man2html/4/nntpfs">nntpfs</A>
 -  network news transport protocol (NNTP) file system
 <DD><TT> nntpfs</TT>
@@ -116,7 +132,7 @@
 </DT>
 <DT><A HREF="/magic/man2html/4/srv">srv</A>
 -  start network file service
-<DD><TT> srv, srvold9p, 9fs</TT>
+<DD><TT> srv, srvold9p, 9fs, srvssh</TT>
 </DT>
 <DT><A HREF="/magic/man2html/4/tapefs">tapefs</A>
 -  mount archival file systems
@@ -136,7 +152,7 @@
 </DT>
 <DT><A HREF="/magic/man2html/4/usb">usb</A>
 -  Universal Serial Bus user level device drivers
-<DD><TT> usbmouse, usbaudio</TT>
+<DD><TT> usbmouse, usbaudio, usbprinter</TT>
 </DT>
 <DT><A HREF="/magic/man2html/4/usbd">usbd</A>
 -  Universal Serial Bus daemon

+ 14 - 2
sys/man/8/INDEX

@@ -1,6 +1,7 @@
 0intro 0intro
 intro 0intro
 9load 9load
+9pxeload 9load
 ld 9load
 9pcon 9pcon
 aan aan
@@ -38,6 +39,7 @@ imagemap httpd
 man2html httpd
 mirror httpd
 save httpd
+webls httpd
 init init
 ipconfig ipconfig
 rip ipconfig
@@ -108,6 +110,9 @@ nfsserver nfsserver
 pcnfsd nfsserver
 portmapper nfsserver
 pcmcia pcmcia
+pem pem
+pemdecode pem
+pemencode pem
 gping ping
 hogports ping
 ping ping
@@ -131,6 +136,13 @@ applylog replica
 compactdb replica
 replica replica
 updatedb replica
+asn12rsa rsa
+rsa rsa
+rsa2pub rsa
+rsa2ssh rsa
+rsa2x509 rsa
+rsafill rsa
+rsagen rsa
 scanmail scanmail
 testscan scanmail
 scuzz scuzz
@@ -150,6 +162,7 @@ tlsclient tlssrv
 tlsclienttunnel tlssrv
 tlssrv tlssrv
 tlssrvtunnel tlssrv
+trampoline trampoline
 udpecho udpecho
 bootfloppy update
 bootplan9 update
@@ -164,6 +177,7 @@ venti venti
 buildindex ventiaux
 checkarenas ventiaux
 checkindex ventiaux
+conf ventiaux
 copy ventiaux
 fmtarenas ventiaux
 fmtindex ventiaux
@@ -175,5 +189,3 @@ ventiaux ventiaux
 wrarenablocks ventiaux
 write ventiaux
 vga vga
-X509gen x509
-x509 x509

+ 33 - 29
sys/man/8/INDEX.html

@@ -12,12 +12,16 @@
 </DT>
 <DT><A HREF="/magic/man2html/8/9load">9load</A>
 -  PC bootstrap program
-<DD><TT> 9load, ld</TT>
+<DD><TT> 9load, ld, 9pxeload</TT>
 </DT>
 <DT><A HREF="/magic/man2html/8/9pcon">9pcon</A>
 -  9P to text translator
 <DD><TT> 9pcon</TT>
 </DT>
+<DT><A HREF="/magic/man2html/8/aan">aan</A>
+-  always available network
+<DD><TT> aan</TT>
+</DT>
 <DT><A HREF="/magic/man2html/8/aliasmail">aliasmail</A>
 -  expand system wide mail aliases
 <DD><TT> aliasmail</TT>
@@ -28,7 +32,7 @@
 </DT>
 <DT><A HREF="/magic/man2html/8/auth">auth</A>
 -  maintain authentication databases
-<DD><TT> changeuser, wrkey, convkeys, convkeys2, printnetkey, status, auth.srv, guard.srv, login, disable, enable</TT>
+<DD><TT> changeuser, wrkey, convkeys, convkeys2, printnetkey, status, authsrv, guard.srv, login, disable, enable</TT>
 </DT>
 <DT><A HREF="/magic/man2html/8/boot">boot</A>
 -  connect to the root file server
@@ -38,18 +42,10 @@
 -  bootstrapping procedures
 <DD><TT> booting</TT>
 </DT>
-<DT><A HREF="/magic/man2html/8/buildindex">buildindex</A>
--  rebuild a Venti index
-<DD><TT> buildindex</TT>
-</DT>
 <DT><A HREF="/magic/man2html/8/checkarenas">checkarenas</A>
 -  check the integrity, and optionally fix, Venti arenas
 <DD><TT> checkarenas</TT>
 </DT>
-<DT><A HREF="/magic/man2html/8/checkindex">checkindex</A>
--  check the integrity and optionally fix a Venti index
-<DD><TT> checkindex</TT>
-</DT>
 <DT><A HREF="/magic/man2html/8/cpurc">cpurc</A>
 -  boot script
 <DD><TT> cpurc, termrc</TT>
@@ -60,23 +56,15 @@
 </DT>
 <DT><A HREF="/magic/man2html/8/dhcpd">dhcpd</A>
 -  Internet booting
-<DD><TT> dhcpd, rarpd, tftpd</TT>
+<DD><TT> dhcpd, dhcpleases, rarpd, tftpd</TT>
 </DT>
 <DT><A HREF="/magic/man2html/8/drawterm">drawterm</A>
 -  connect to Plan 9 CPU servers from other operating systems
 <DD><TT> drawterm</TT>
 </DT>
-<DT><A HREF="/magic/man2html/8/fmtarenas">fmtarenas</A>
--  format a file into a number of Venti arenas
-<DD><TT> fmtarenas</TT>
-</DT>
-<DT><A HREF="/magic/man2html/8/fmtindex">fmtindex</A>
--  format a Venti index
-<DD><TT> fmtindex</TT>
-</DT>
-<DT><A HREF="/magic/man2html/8/fmtisect">fmtisect</A>
--  format a Venti index section
-<DD><TT> fmtisect</TT>
+<DT><A HREF="/magic/man2html/8/fossilcons">fossilcons</A>
+-  fossil console commands
+<DD><TT> fossilcons</TT>
 </DT>
 <DT><A HREF="/magic/man2html/8/fs">fs</A>
 -  file server maintenance
@@ -88,7 +76,7 @@
 </DT>
 <DT><A HREF="/magic/man2html/8/httpd">httpd</A>
 -  HTTP server
-<DD><TT> httpd, echo, save, imagemap, man2html</TT>
+<DD><TT> httpd, mirror, save, imagemap, man2html, webls</TT>
 </DT>
 <DT><A HREF="/magic/man2html/8/init">init</A>
 -  initialize machine upon booting
@@ -154,6 +142,10 @@
 -  identify a PCMCIA card
 <DD><TT> pcmcia</TT>
 </DT>
+<DT><A HREF="/magic/man2html/8/pem">pem</A>
+-  encode files in Privacy Enhanced Mail (PEM) format
+<DD><TT> pemdecode, pemencode</TT>
+</DT>
 <DT><A HREF="/magic/man2html/8/ping">ping</A>
 -  probe the Internet
 <DD><TT> ping, gping, traceroute, hogports</TT>
@@ -178,10 +170,6 @@
 -  queue management for spooled files
 <DD><TT> qer, runq</TT>
 </DT>
-<DT><A HREF="/magic/man2html/8/rdarena">rdarena</A>
--  extract a Venti arena
-<DD><TT> rdarena</TT>
-</DT>
 <DT><A HREF="/magic/man2html/8/reboot">reboot</A>
 -  reboot the system upon loss of remote file server connection
 <DD><TT> reboot</TT>
@@ -190,6 +178,10 @@
 -  simple client-server replica management
 <DD><TT> applychanges, applylog, compactdb, updatedb</TT>
 </DT>
+<DT><A HREF="/magic/man2html/8/rsa">rsa</A>
+-  generate and format rsa keys
+<DD><TT> rsagen, rsafill, asn12rsa, rsa2pub, rsa2ssh, rsa2x509</TT>
+</DT>
 <DT><A HREF="/magic/man2html/8/scanmail">scanmail</A>
 -  spam filters
 <DD><TT> scanmail, testscan</TT>
@@ -211,8 +203,8 @@
 <DD><TT> send</TT>
 </DT>
 <DT><A HREF="/magic/man2html/8/smtp">smtp</A>
--  mail transport and servers
-<DD><TT> smtp, smtpd, pop3, imap4d</TT>
+-  mail transport
+<DD><TT> smtp, smtpd</TT>
 </DT>
 <DT><A HREF="/magic/man2html/8/snoopy">snoopy</A>
 -  spy on network packets
@@ -222,6 +214,10 @@
 -  display graphs of system activity
 <DD><TT> stats</TT>
 </DT>
+<DT><A HREF="/magic/man2html/8/stub">stub</A>
+-  provide mount point stubs
+<DD><TT> stub</TT>
+</DT>
 <DT><A HREF="/magic/man2html/8/swap">swap</A>
 -  establish a swap file
 <DD><TT> swap</TT>
@@ -234,6 +230,10 @@
 -  TLS server and client
 <DD><TT> tlssrv, tlsclient, tlssrvtunnel, tlsclienttunnel</TT>
 </DT>
+<DT><A HREF="/magic/man2html/8/trampoline">trampoline</A>
+- 
+<DD><TT></TT>
+</DT>
 <DT><A HREF="/magic/man2html/8/udpecho">udpecho</A>
 -  echo UDP packets
 <DD><TT> udpecho</TT>
@@ -246,6 +246,10 @@
 -  an archival block storage server
 <DD><TT> venti</TT>
 </DT>
+<DT><A HREF="/magic/man2html/8/ventiaux">ventiaux</A>
+-  Venti maintenance and debugging commands
+<DD><TT> buildindex, checkarenas, checkindex, conf, copy, fmtarenas, fmtindex, fmtisect, rdarena, rdarenablocks, read, wrarenablocks, write</TT>
+</DT>
 <DT><A HREF="/magic/man2html/8/vga">vga</A>
 -  configure a VGA card
 <DD><TT> vga</TT>

+ 7 - 5
sys/src/9/pc/devpccard.c

@@ -20,6 +20,7 @@ enum {
 	TI_1420_did = 0xAC51,
 
 	Ricoh_vid = 0x1180,
+	Ricoh_475_did = 0x0475,
 	Ricoh_476_did = 0x0476,
 	Ricoh_478_did = 0x0478,
 
@@ -53,13 +54,14 @@ struct Variant {
 };
 
 static Variant variant[] = {
+{	Ricoh_vid,	Ricoh_475_did,	"Ricoh 475 PCI/Cardbus bridge",	},
 {	Ricoh_vid,	Ricoh_476_did,	"Ricoh 476 PCI/Cardbus bridge",	},
 {	Ricoh_vid,	Ricoh_478_did,	"Ricoh 478 PCI/Cardbus bridge",	},
-{	TI_vid,		TI_1131_did,		"TI PCI-1131 Cardbus Controller",	},
-{	TI_vid,		TI_1250_did,		"TI PCI-1250 Cardbus Controller",	},
-{	TI_vid,		TI_1450_did,		"TI PCI-1450 Cardbus Controller",	},
-{	TI_vid,		TI_1251A_did,		"TI PCI-1251A Cardbus Controller",	},
-{	TI_vid,		TI_1420_did,		"TI PCI-1420 Cardbus Controller", },
+{	TI_vid,		TI_1131_did,	"TI PCI-1131 Cardbus Controller", },
+{	TI_vid,		TI_1250_did,	"TI PCI-1250 Cardbus Controller", },
+{	TI_vid,		TI_1450_did,	"TI PCI-1450 Cardbus Controller", },
+{	TI_vid,		TI_1251A_did,	"TI PCI-1251A Cardbus Controller", },
+{	TI_vid,		TI_1420_did,	"TI PCI-1420 Cardbus Controller", },
 };
 
 /* Cardbus registers */

+ 143 - 36
sys/src/9/pc/ether2000.c

@@ -26,51 +26,158 @@ enum {
 	Reset		= 0x1F,		/* offset from I/O base of reset port */
 };
 
+typedef struct Ctlr Ctlr;
+typedef struct Ctlr {
+	Pcidev*	pcidev;
+	Ctlr*	next;
+	int	active;
+} Ctlr;
+
+static Ctlr* ctlrhead;
+static Ctlr* ctlrtail;
+
+static struct {
+	char*	name;
+	int	id;
+} ne2000pci[] = {
+	{ "Realtek 8029",	(0x8029<<16)|0x10EC, },
+	{ "Winbond 89C940",	(0x0940<<16)|0x1050, },
+	{ nil },
+};
+
+static Ctlr*
+ne2000match(Ether* edev, int id)
+{
+	int port;
+	Pcidev *p;
+	Ctlr *ctlr;
+
+	/*
+	 * Any adapter matches if no edev->port is supplied,
+	 * otherwise the ports must match.
+	 */
+	for(ctlr = ctlrhead; ctlr != nil; ctlr = ctlr->next){
+		if(ctlr->active)
+			continue;
+		p = ctlr->pcidev;
+		if(((p->did<<16)|p->vid) != id)
+			continue;
+		port = p->mem[0].bar & ~0x01;
+		if(edev->port != 0 && edev->port != port)
+			continue;
+
+		/*
+		 * It suffices to fill these in,
+		 * the rest is gleaned from the card.
+		 */
+		edev->port = port;
+		edev->irq = p->intl;
+
+		ctlr->active = 1;
+
+		return ctlr;
+	}
+
+	return nil;
+}
+
+static void
+ne2000pnp(Ether* edev)
+{
+	int i, id;
+	Pcidev *p;
+	Ctlr *ctlr;
+
+	/*
+	 * Make a list of all ethernet controllers
+	 * if not already done.
+	 */
+	if(ctlrhead == nil){
+		p = nil;
+		while(p = pcimatch(p, 0, 0)){
+			if(p->ccrb != 0x02 || p->ccru != 0)
+				continue;
+			ctlr = malloc(sizeof(Ctlr));
+			ctlr->pcidev = p;
+
+			if(ctlrhead != nil)
+				ctlrtail->next = ctlr;
+			else
+				ctlrhead = ctlr;
+			ctlrtail = ctlr;
+		}
+	}
+
+	/*
+	 * Is it a card with an unrecognised vid+did?
+	 * Normally a search is made through all the found controllers
+	 * for one which matches any of the known vid+did pairs.
+	 * If a vid+did pair is specified a search is made for that
+	 * specific controller only.
+	 */
+	id = 0;
+	for(i = 0; i < edev->nopt; i++){
+		if(cistrncmp(edev->opt[i], "id=", 3) == 0)
+			id = strtol(&edev->opt[i][3], nil, 0);
+	}
+
+	if(id != 0)
+		ne2000match(edev, id);
+	else for(i = 0; ne2000pci[i].name; i++){
+		if(ne2000match(edev, ne2000pci[i].id) != nil)
+			break;
+	}
+}
+
 static int
-reset(Ether* ether)
+ne2000reset(Ether* edev)
 {
 	static int first;
 	ushort buf[16];
 	ulong port;
-	Dp8390 *ctlr;
+	Dp8390 *dp8390;
 	int i;
 	uchar ea[Eaddrlen];
 
+	if(edev->port == 0)
+		ne2000pnp(edev);
+
 	/*
 	 * Set up the software configuration.
-	 * Use defaults for port, irq, mem and size
+	 * Use defaults for irq, mem and size
 	 * if not specified.
+	 * Must have a port, no more default.
 	 */
-	if(ether->port == 0)
-		ether->port = 0x300;
-	if(ether->irq == 0)
-		ether->irq = 2;
-	if(ether->mem == 0)
-		ether->mem = 0x4000;
-	if(ether->size == 0)
-		ether->size = 16*1024;
-	port = ether->port;
-
-	if(ioalloc(ether->port, 0x20, 0, "ne2000") < 0)
+	if(edev->port == 0)
+		return -1;
+	if(edev->irq == 0)
+		edev->irq = 2;
+	if(edev->mem == 0)
+		edev->mem = 0x4000;
+	if(edev->size == 0)
+		edev->size = 16*1024;
+	port = edev->port;
+
+	if(ioalloc(edev->port, 0x20, 0, "ne2000") < 0)
 		return -1;
 
-	ether->ctlr = malloc(sizeof(Dp8390));
-	ctlr = ether->ctlr;
-	ctlr->width = 2;
-	ctlr->ram = 0;
+	edev->ctlr = malloc(sizeof(Dp8390));
+	dp8390 = edev->ctlr;
+	dp8390->width = 2;
+	dp8390->ram = 0;
 
-	ctlr->port = port;
-	ctlr->data = port+Data;
+	dp8390->port = port;
+	dp8390->data = port+Data;
 
-	ctlr->tstart = HOWMANY(ether->mem, Dp8390BufSz);
-	ctlr->pstart = ctlr->tstart + HOWMANY(sizeof(Etherpkt), Dp8390BufSz);
-	ctlr->pstop = ctlr->tstart + HOWMANY(ether->size, Dp8390BufSz);
+	dp8390->tstart = HOWMANY(edev->mem, Dp8390BufSz);
+	dp8390->pstart = dp8390->tstart + HOWMANY(sizeof(Etherpkt), Dp8390BufSz);
+	dp8390->pstop = dp8390->tstart + HOWMANY(edev->size, Dp8390BufSz);
 
-	ctlr->dummyrr = 1;
-	for(i = 0; i < ether->nopt; i++){
-		if(strcmp(ether->opt[i], "nodummyrr"))
+	dp8390->dummyrr = 1;
+	for(i = 0; i < edev->nopt; i++){
+		if(strcmp(edev->opt[i], "nodummyrr"))
 			continue;
-		ctlr->dummyrr = 0;
+		dp8390->dummyrr = 0;
 		break;
 	}
 
@@ -92,12 +199,12 @@ reset(Ether* ether)
 	 * enough, there are other ethernet boards which could
 	 * match.
 	 */
-	dp8390reset(ether);
+	dp8390reset(edev);
 	memset(buf, 0, sizeof(buf));
-	dp8390read(ctlr, buf, 0, sizeof(buf));
+	dp8390read(dp8390, buf, 0, sizeof(buf));
 	if((buf[0x0E] & 0xFF) != 0x57 || (buf[0x0F] & 0xFF) != 0x57){
-		iofree(ether->port);
-		free(ether->ctlr);
+		iofree(edev->port);
+		free(edev->ctlr);
 		return -1;
 	}
 
@@ -107,11 +214,11 @@ reset(Ether* ether)
 	 * Set the ethernet address.
 	 */
 	memset(ea, 0, Eaddrlen);
-	if(memcmp(ea, ether->ea, Eaddrlen) == 0){
-		for(i = 0; i < sizeof(ether->ea); i++)
-			ether->ea[i] = buf[i];
+	if(memcmp(ea, edev->ea, Eaddrlen) == 0){
+		for(i = 0; i < sizeof(edev->ea); i++)
+			edev->ea[i] = buf[i];
 	}
-	dp8390setea(ether);
+	dp8390setea(edev);
 
 	return 0;
 }
@@ -119,5 +226,5 @@ reset(Ether* ether)
 void
 ether2000link(void)
 {
-	addethercard("NE2000", reset);
+	addethercard("NE2000", ne2000reset);
 }

+ 44 - 24
sys/src/9/pc/vganeomagic.c

@@ -36,6 +36,11 @@ neomagiclinear(VGAscr* scr, int* size, int* align)
 	aperture = 0;
 	if(p = pcimatch(nil, 0x10C8, 0)){
 		switch(p->did){
+		case 0x0003:		/* MagicGraph 128ZV */
+			aperture = p->mem[0].bar & ~0x0F;
+			*size = p->mem[0].size;
+//print("neomagiclinear0 %lux %d\n", aperture, *size);
+			break;
 		case 0x0004:		/* MagicGraph 128XD */
 		case 0x0005:		/* MagicMedia 256AV */
 		case 0x0006:		/* MagicMedia 256ZX */
@@ -55,6 +60,7 @@ neomagiclinear(VGAscr* scr, int* size, int* align)
 	scr->isupamem = 0;
 
 	aperture = upamalloc(aperture, *size, *align);
+//print("neomagiclinear1 %lux %d\n", aperture, *size);
 	if(aperture == 0){
 		if(wasupamem && upamalloc(oaperture, oapsize, 0)){
 			aperture = oaperture;
@@ -75,6 +81,8 @@ neomagicenable(VGAscr* scr)
 	Pcidev *p;
 	int align, curoff, size, vmsize;
 	ulong aperture;
+	ulong ioaddr;
+	ulong iosize;
 
 	/*
 	 * Only once, can't be disabled for now.
@@ -86,17 +94,29 @@ neomagicenable(VGAscr* scr)
 		return;
 	if(p = pcimatch(nil, 0x10C8, 0)){
 		switch(p->did){
+		case 0x0003:		/* MagicGraph 128VZ */
+			curoff = 0x100;
+			vmsize = 1152*1024;
+			ioaddr = (p->mem[0].bar & ~0x0F) + 0x200000;
+			iosize = 0x200000;
+			break;
 		case 0x0004:		/* MagicGraph 128XD */
 			curoff = 0x100;
 			vmsize = 2048*1024;
+			ioaddr = p->mem[1].bar & ~0x0F;
+			iosize = p->mem[1].size;
 			break;
 		case 0x0005:		/* MagicMedia 256AV */
 			curoff = 0x1000;
 			vmsize = 2560*1024;
+			ioaddr = p->mem[1].bar & ~0x0F;
+			iosize = p->mem[1].size;
 			break;
 		case 0x0006:		/* MagicMedia 256ZX */
 			curoff = 0x1000;
 			vmsize = 4096*1024;
+			ioaddr = p->mem[1].bar & ~0x0F;
+			iosize = p->mem[1].size;
 			break;
 		default:
 			return;
@@ -104,10 +124,10 @@ neomagicenable(VGAscr* scr)
 	}
 	else
 		return;
-	scr->io = upamalloc(p->mem[1].bar & ~0x0F, p->mem[1].size, 0);
+	scr->io = upamalloc(ioaddr, iosize, 0);
 	if(scr->io == 0)
 		return;
-	addvgaseg("neomagicmmio", scr->io, p->mem[1].size);
+	addvgaseg("neomagicmmio", scr->io, iosize);
 	scr->mmio = KADDR(scr->io);
 
 	/*
@@ -308,10 +328,10 @@ enum {
 	NEO_BC1_X_320 =		0x00000400,
 	NEO_BC1_X_640 =		0x00000800,
 	NEO_BC1_X_800 =		0x00000c00,
-	NEO_BC1_X_1024 =		0x00001000,
-	NEO_BC1_X_1152 =		0x00001400,
-	NEO_BC1_X_1280 =		0x00001800,
-	NEO_BC1_X_1600 =		0x00001c00,
+	NEO_BC1_X_1024 =	0x00001000,
+	NEO_BC1_X_1152 =	0x00001400,
+	NEO_BC1_X_1280 =	0x00001800,
+	NEO_BC1_X_1600 =	0x00001c00,
 	NEO_BC1_DST_TRANS =	0x00002000,
 	NEO_BC1_MSTR_BLT =	0x00004000,
 	NEO_BC1_FILTER_Z =	0x00008000,
@@ -320,41 +340,41 @@ enum {
 
 	NEO_BC3_SRC_XY_ADDR =	0x01000000,
 	NEO_BC3_DST_XY_ADDR =	0x02000000,
-	NEO_BC3_CLIP_ON =		0x04000000,
-	NEO_BC3_FIFO_EN =		0x08000000,
+	NEO_BC3_CLIP_ON =	0x04000000,
+	NEO_BC3_FIFO_EN =	0x08000000,
 	NEO_BC3_BLT_ON_ADDR =	0x10000000,
 	NEO_BC3_SKIP_MAPPING =	0x80000000,
 
-	NEO_MODE1_DEPTH8 =			0x0100,
-	NEO_MODE1_DEPTH16 =			0x0200,
-	NEO_MODE1_DEPTH24 =			0x0300,
-	NEO_MODE1_X_320 =			0x0400,
-	NEO_MODE1_X_640 =			0x0800,
-	NEO_MODE1_X_800 =			0x0c00,
-	NEO_MODE1_X_1024 =			0x1000,
-	NEO_MODE1_X_1152 =			0x1400,
-	NEO_MODE1_X_1280 =			0x1800,
-	NEO_MODE1_X_1600 =			0x1c00,
+	NEO_MODE1_DEPTH8 =	0x0100,
+	NEO_MODE1_DEPTH16 =	0x0200,
+	NEO_MODE1_DEPTH24 =	0x0300,
+	NEO_MODE1_X_320 =	0x0400,
+	NEO_MODE1_X_640 =	0x0800,
+	NEO_MODE1_X_800 =	0x0c00,
+	NEO_MODE1_X_1024 =	0x1000,
+	NEO_MODE1_X_1152 =	0x1400,
+	NEO_MODE1_X_1280 =	0x1800,
+	NEO_MODE1_X_1600 =	0x1c00,
 	NEO_MODE1_BLT_ON_ADDR =	0x2000,
 };
 
 /* Raster Operations */
 enum {
-	GXclear =			0x000000,	/* 0x0000 */
+	GXclear =		0x000000,	/* 0x0000 */
 	GXand =			0x080000,	/* 0x1000 */
-	GXandReverse =	0x040000,	/* 0x0100 */
-	GXcopy =			0x0c0000,	/* 0x1100 */
+	GXandReverse =		0x040000,	/* 0x0100 */
+	GXcopy =		0x0c0000,	/* 0x1100 */
 	GXandInvert =		0x020000,	/* 0x0010 */
-	GXnoop =			0x0a0000,	/* 0x1010 */
+	GXnoop =		0x0a0000,	/* 0x1010 */
 	GXxor =			0x060000,	/* 0x0110 */
 	GXor =			0x0e0000,	/* 0x1110 */
 	GXnor =			0x010000,	/* 0x0001 */
-	GXequiv =			0x090000,	/* 0x1001 */
+	GXequiv =		0x090000,	/* 0x1001 */
 	GXinvert =		0x050000,	/* 0x0101 */
 	GXorReverse =		0x0d0000,	/* 0x1101 */
 	GXcopyInvert =		0x030000,	/* 0x0011 */
 	GXorInverted =		0x0b0000,	/* 0x1011 */
-	GXnand =			0x070000,	/* 0x0111 */
+	GXnand =		0x070000,	/* 0x0111 */
 	GXset =			0x0f0000,	/* 0x1111 */
 };
 

File diff suppressed because it is too large
+ 281 - 282
sys/src/9/ppc/l.s


+ 5 - 3
sys/src/cmd/1a/lex.c

@@ -871,10 +871,10 @@ outhist(void)
 		op = 0;
 		if(p && p[0] != c && h->offset == 0 && pathname){
 			/* on windows skip drive specifier in pathname */
-			if(systemtype(Windows) && pathname[2] == c) {
+			if(systemtype(Windows) && pathname[1] == ':') {
 				op = p;
 				p = pathname+2;
-				*p = '/';
+				c = *p;
 			} else if(pathname[0] == c){
 				op = p;
 				p = pathname;
@@ -884,8 +884,10 @@ outhist(void)
 			q = strchr(p, c);
 			if(q) {
 				n = q-p;
-				if(n == 0)
+				if(n == 0){
 					n = 1;	/* leading "/" */
+					*p = '/';	/* don't emit "\" on windows */
+				}
 				q++;
 			} else {
 				n = strlen(p);

+ 9 - 8
sys/src/cmd/1c/cgen.c

@@ -26,14 +26,15 @@ cgen(Node *n, int result, Node *nn)
 	o = n->op;
 	if(n->addable >= INDEXED) {
 		if(result == D_NONE) {
-			switch(o) {
-			default:
-				nullwarn(Z, Z);
-				break;
-			case OINDEX:
-				nullwarn(l, r);
-				break;
-			}
+			if(nn == Z)
+				switch(o) {
+				default:
+					nullwarn(Z, Z);
+					break;
+				case OINDEX:
+					nullwarn(l, r);
+					break;
+				}
 			return;
 		}
 		gmove(n->type, nn->type, D_TREE, n, result, nn);

+ 1 - 0
sys/src/cmd/1c/enam.c

@@ -420,4 +420,5 @@ char	*anames[] =
 	"UNLK",
 	"UNPK",
 	"WORD",
+	"SIGNAME",
 };

+ 1 - 1
sys/src/cmd/1c/gc.h

@@ -14,7 +14,7 @@
 #define	SZ_VLONG	8
 #define	SZ_DOUBLE	8
 
-#define	ALLOP	91
+#define	ALLOP	92
 #define	NRGN	300
 #define	FNX	100
 #define	INDEXED	9

+ 1 - 0
sys/src/cmd/1c/peep.c

@@ -34,6 +34,7 @@ peep(void)
 		case ADATA:
 		case AGLOBL:
 		case ANAME:
+		case ASIGNAME:
 			p = p->link;
 		}
 	}

+ 4 - 2
sys/src/cmd/1c/reg.c

@@ -91,6 +91,7 @@ regopt(Prog *p)
 		case ADATA:
 		case AGLOBL:
 		case ANAME:
+		case ASIGNAME:
 			continue;
 		}
 		r = rega();
@@ -444,6 +445,7 @@ brk:
 			case ADATA:
 			case AGLOBL:
 			case ANAME:
+			case ASIGNAME:
 				break;
 			}
 		}
@@ -744,7 +746,7 @@ rpolca(long *idom, long rpo1, long rpo2)
 		while(rpo1 < rpo2){
 			t = idom[rpo2];
 			if(t >= rpo2)
-				sysfatal("bad idom");
+				fatal(Z, "bad idom");
 			rpo2 = t;
 		}
 	}
@@ -800,7 +802,7 @@ loopit(Reg *r, long nr)
 
 	d = postorder(r, rpo2r, 0);
 	if(d > nr)
-		sysfatal("too many reg nodes");
+		fatal(Z, "too many reg nodes");
 	nr = d;
 	for(i = 0; i < nr / 2; i++){
 		r1 = rpo2r[i];

+ 7 - 5
sys/src/cmd/1c/sgen.c

@@ -310,13 +310,15 @@ usedset(Node *n, int o)
 	complex(n);
 	switch(n->op) {
 	case OADDR:	/* volatile */
-//		gins(ANOP, n, Z);
+		gopcode(OTST, types[TINT], D_TREE, n, D_NONE, Z);
+		p->as = ANOP;
 		break;
 	case ONAME:
-//		if(o == OSET)
-//			gins(ANOP, Z, n);
-//		else
-//			gins(ANOP, n, Z);
+		if(o == OSET)
+			gopcode(OTST, types[TINT], D_NONE, Z, D_TREE, n);
+		else
+			gopcode(OTST, types[TINT], D_TREE, n, D_NONE, Z);
+		p->as = ANOP;
 		break;
 	}
 }

+ 33 - 11
sys/src/cmd/1c/swt.c

@@ -404,7 +404,7 @@ eval(Node *n, int g)
 }
 
 void	outhist(Biobuf*);
-void	zname(Biobuf*, char*, int, int);
+void	zname(Biobuf*, Sym*, int);
 void	zaddr(Biobuf*, Adr*, int);
 void	zwrite(Biobuf*, Prog*, int, int);
 
@@ -452,8 +452,8 @@ outcode(void)
 			if(h[sf].type == t)
 			if(h[sf].sym == s)
 				break;
-			zname(&b, s->name, t, sym);
 			s->sym = sym;
+			zname(&b, s, t);
 			h[sym].sym = s;
 			h[sym].type = t;
 			sf = sym;
@@ -472,8 +472,8 @@ outcode(void)
 			if(h[st].type == t)
 			if(h[st].sym == s)
 				break;
-			zname(&b, s->name, t, sym);
 			s->sym = sym;
+			zname(&b, s, t);
 			h[sym].sym = s;
 			h[sym].type = t;
 			st = sym;
@@ -510,13 +510,28 @@ zwrite(Biobuf *b, Prog *p, int sf, int st)
 }
 
 void
-zname(Biobuf *b, char *n, int t, int s)
+zname(Biobuf *b, Sym *s, int t)
 {
-
-	Bputc(b, ANAME);	/* as */
-	Bputc(b, ANAME>>8);
+	char *n;
+	ulong sig;
+
+	if(debug['T'] && t == D_EXTERN && s->sig != SIGDONE && s->type != types[TENUM] && s != symrathole){
+		sig = sign(s);
+		Bputc(b, ASIGNAME);
+		Bputc(b, ASIGNAME>>8);
+		Bputc(b, sig);
+		Bputc(b, sig>>8);
+		Bputc(b, sig>>16);
+		Bputc(b, sig>>24);
+		s->sig = SIGDONE;
+	}
+	else{
+		Bputc(b, ANAME);	/* as */
+		Bputc(b, ANAME>>8);	/* as */
+	}
 	Bputc(b, t);		/* type */
-	Bputc(b, s);		/* sym */
+	Bputc(b, s->sym);		/* sym */
+	n = s->name;
 	while(*n) {
 		Bputc(b, *n);
 		n++;
@@ -625,12 +640,17 @@ outhist(Biobuf *b)
 	for(h = hist; h != H; h = h->link) {
 		p = h->name;
 		op = 0;
+		/* on windows skip drive specifier in pathname */
+		if(systemtype(Windows) && p && p[1] == ':'){
+			p += 2;
+			c = *p;
+		}
 		if(p && p[0] != c && h->offset == 0 && pathname){
 			/* on windows skip drive specifier in pathname */
-			if(systemtype(Windows) && pathname[2] == c) {
+			if(systemtype(Windows) && pathname[1] == ':') {
 				op = p;
 				p = pathname+2;
-				*p = '/';
+				c = *p;
 			} else if(pathname[0] == c){
 				op = p;
 				p = pathname;
@@ -640,8 +660,10 @@ outhist(Biobuf *b)
 			q = utfrune(p, c);
 			if(q) {
 				n = q-p;
-				if(n == 0)
+				if(n == 0){
 					n = 1;	/* leading "/" */
+					*p = '/';	/* don't emit "\" on windows */
+				}