Browse Source

Plan 9 from Bell Labs 2004-01-26

David du Colombier 20 years ago
parent
commit
a62b0e3db7

+ 12 - 8
dist/replica/plan9.db

@@ -5279,7 +5279,7 @@ sys/src/9/pc/archmp.c - 664 sys sys 1067722683 2323
 sys/src/9/pc/audio.h - 664 sys sys 1015014513 343
 sys/src/9/pc/cga.c - 664 sys sys 1015014513 1843
 sys/src/9/pc/dat.h - 664 sys sys 1071245548 6177
-sys/src/9/pc/devarch.c - 664 sys sys 1074785125 18549
+sys/src/9/pc/devarch.c - 664 sys sys 1075072880 18432
 sys/src/9/pc/devether.c - 664 sys sys 1048644042 10178
 sys/src/9/pc/devfloppy.c - 664 sys sys 1055689885 20024
 sys/src/9/pc/devi82365.c - 664 sys sys 1020284820 19987
@@ -5293,6 +5293,7 @@ sys/src/9/pc/devtv.c - 664 sys sys 1071245470 45750
 sys/src/9/pc/devusb.c - 664 sys sys 1063857423 18352
 sys/src/9/pc/devvga.c - 664 sys sys 1063857412 8714
 sys/src/9/pc/dma.c - 664 sys sys 1015014515 4736
+sys/src/9/pc/errstr.h - 664 sys sys 1075069582 2137
 sys/src/9/pc/ether2000.c - 664 sys sys 1017854323 2839
 sys/src/9/pc/ether2114x.c - 664 sys sys 1067891102 41253
 sys/src/9/pc/ether589.c - 664 sys sys 1015014516 4644
@@ -5341,7 +5342,6 @@ sys/src/9/pc/pccpu - 664 sys sys 1073852088 802
 sys/src/9/pc/pccpuf - 664 sys sys 1073851852 1315
 sys/src/9/pc/pcdisk - 664 sys sys 1073851851 1427
 sys/src/9/pc/pcf - 664 sys sys 1073851852 1455
-sys/src/9/pc/pcf.c - 664 sys sys 1058659039 5110
 sys/src/9/pc/pcfl - 664 sys sys 1042004821 1563
 sys/src/9/pc/pcflop - 664 sys sys 1067722894 1383
 sys/src/9/pc/pci.c - 664 sys sys 1071245502 24015
@@ -10773,19 +10773,20 @@ sys/src/cmd/upas/bayes/msgtok.c - 664 sys sys 1063951010 4185
 sys/src/cmd/upas/bayes/regcomp.c - 664 sys sys 1063951010 9707
 sys/src/cmd/upas/bayes/regen.c - 664 sys sys 1063951011 2452
 sys/src/cmd/upas/common - 20000000775 sys sys 1015088626 0
+sys/src/cmd/upas/common/appendfiletombox.c - 664 sys sys 1075064534 2154
 sys/src/cmd/upas/common/aux.c - 664 sys sys 1019498851 2300
 sys/src/cmd/upas/common/become.c - 664 sys sys 1015009623 430
-sys/src/cmd/upas/common/common.h - 664 sys sys 1015009623 1921
+sys/src/cmd/upas/common/common.h - 664 sys sys 1075069143 2021
 sys/src/cmd/upas/common/config.c - 664 sys sys 944961316 254
 sys/src/cmd/upas/common/libsys.c - 664 sys sys 1071334866 14459
 sys/src/cmd/upas/common/mail.c - 664 sys sys 944961315 1346
 sys/src/cmd/upas/common/makefile - 664 sys sys 944961315 366
-sys/src/cmd/upas/common/mkfile - 664 sys sys 1031707285 251
+sys/src/cmd/upas/common/mkfile - 664 sys sys 1075069142 273
 sys/src/cmd/upas/common/process.c - 664 sys sys 1015009624 2984
 sys/src/cmd/upas/common/sys.h - 664 sys sys 1055699577 2223
 sys/src/cmd/upas/filterkit - 20000000775 sys sys 1018549521 0
 sys/src/cmd/upas/filterkit/dat.h - 664 sys sys 1018549520 107
-sys/src/cmd/upas/filterkit/deliver.c - 664 sys sys 1063854806 1951
+sys/src/cmd/upas/filterkit/deliver.c - 664 sys sys 1075069156 1075
 sys/src/cmd/upas/filterkit/list.c - 664 sys sys 1020313488 4751
 sys/src/cmd/upas/filterkit/mkfile - 664 sys sys 1048645255 264
 sys/src/cmd/upas/filterkit/pipefrom.sample - 775 sys sys 1041184939 380
@@ -10796,7 +10797,7 @@ sys/src/cmd/upas/filterkit/token.c - 664 sys sys 1018549521 1312
 sys/src/cmd/upas/fs - 20000000775 sys sys 988250018 0
 sys/src/cmd/upas/fs/dat.h - 664 sys sys 1047490337 4267
 sys/src/cmd/upas/fs/fs.c - 664 sys sys 1068350246 27381
-sys/src/cmd/upas/fs/imap4.c - 664 sys sys 1071689378 16021
+sys/src/cmd/upas/fs/imap4.c - 664 sys sys 1075069146 16233
 sys/src/cmd/upas/fs/mbox.c - 664 sys sys 1071334860 28493
 sys/src/cmd/upas/fs/mkfile - 664 sys sys 1047490336 321
 sys/src/cmd/upas/fs/plan9.c - 664 sys sys 1071334861 7465
@@ -10820,7 +10821,7 @@ sys/src/cmd/upas/misc/omail.rc - 775 sys sys 944961318 197
 sys/src/cmd/upas/misc/qmail - 775 sys sys 944961318 119
 sys/src/cmd/upas/misc/remotemail - 775 sys sys 954266541 113
 sys/src/cmd/upas/misc/rewrite - 664 sys sys 954264578 661
-sys/src/cmd/upas/mkfile - 664 sys sys 1064589595 1904
+sys/src/cmd/upas/mkfile - 664 sys sys 1075069142 1910
 sys/src/cmd/upas/ml - 20000000775 sys sys 1015096763 0
 sys/src/cmd/upas/ml/common.c - 664 sys sys 1046643067 3371
 sys/src/cmd/upas/ml/dat.h - 664 sys sys 1015096762 517
@@ -10830,7 +10831,7 @@ sys/src/cmd/upas/ml/mlmgr.c - 664 sys sys 1045505888 2332
 sys/src/cmd/upas/ml/mlowner.c - 664 sys sys 1015096763 1142
 sys/src/cmd/upas/ned - 20000000775 sys sys 1015013194 0
 sys/src/cmd/upas/ned/mkfile - 664 sys sys 1060041738 233
-sys/src/cmd/upas/ned/nedmail.c - 664 sys sys 1071335787 43442
+sys/src/cmd/upas/ned/nedmail.c - 664 sys sys 1075069148 43120
 sys/src/cmd/upas/pop3 - 20000000775 sys sys 1015009816 0
 sys/src/cmd/upas/pop3/mkfile - 664 sys sys 1064589604 186
 sys/src/cmd/upas/pop3/pop3.c - 664 sys sys 1063854524 14283
@@ -10877,6 +10878,9 @@ sys/src/cmd/upas/smtp/smtpd.c - 664 sys sys 1072561144 24496
 sys/src/cmd/upas/smtp/smtpd.h - 664 sys sys 1067722781 1111
 sys/src/cmd/upas/smtp/smtpd.y - 664 sys sys 1061836986 6949
 sys/src/cmd/upas/smtp/spam.c - 664 sys sys 1067722785 9661
+sys/src/cmd/upas/unesc - 20000000775 sys sys 1075080255 0
+sys/src/cmd/upas/unesc/mkfile - 664 sys sys 1075080255 164
+sys/src/cmd/upas/unesc/unesc.c - 664 sys sys 1075080255 789
 sys/src/cmd/upas/vf - 20000000775 sys sys 1015096796 0
 sys/src/cmd/upas/vf/mkfile - 664 sys sys 1064393881 241
 sys/src/cmd/upas/vf/vf.c - 664 sys sys 1064589607 16851

+ 339 - 0
dist/replica/plan9.log

@@ -13440,3 +13440,342 @@
 1074884437 1 c sys/src/9/port/edf.h - 664 sys sys 1074883055 1145
 1074884437 2 a sys/src/cmd/trace.c - 664 sys sys 1074883076 17752
 1074925924 0 a 386/bin/trace - 775 sys sys 1074924943 180054
+1075066258 0 a sys/src/cmd/upas/common/appendfiletombox.c - 664 sys sys 1075064534 2154
+1075069858 0 a sys/src/9/pc/arp.8 - 664 sys sys 1075069562 19409
+1075069858 1 a sys/src/9/pc/cga.8 - 664 sys sys 1075069557 3537
+1075069858 2 a sys/src/9/pc/devmouse.8 - 664 sys sys 1075069561 22154
+1075069858 3 a sys/src/9/pc/devpnp.8 - 664 sys sys 1075069561 31322
+1075069858 4 a sys/src/9/pc/devtls.8 - 664 sys sys 1075069560 90227
+1075069858 5 a sys/src/9/pc/dma.8 - 664 sys sys 1075069561 6179
+1075069858 6 a sys/src/9/pc/ether2000.8 - 664 sys sys 1075069559 5259
+1075069858 7 a sys/src/9/pc/ether79c970.8 - 664 sys sys 1075069560 18133
+1075069858 8 a sys/src/9/pc/ether82557.8 - 664 sys sys 1075069559 36866
+1075069858 9 a sys/src/9/pc/ether83815.8 - 664 sys sys 1075069562 29208
+1075069858 10 a sys/src/9/pc/etherec2t.8 - 664 sys sys 1075069559 7863
+1075069858 11 a sys/src/9/pc/etherelnk3.8 - 664 sys sys 1075069560 54137
+1075069858 12 a sys/src/9/pc/etherwavelan.8 - 664 sys sys 1075069559 7821
+1075069858 13 a sys/src/9/pc/i8253.8 - 664 sys sys 1075069557 8160
+1075069858 14 a sys/src/9/pc/i8259.8 - 664 sys sys 1075069557 5758
+1075069858 15 a sys/src/9/pc/init.h - 664 sys sys 1075069557 1836
+1075069858 16 a sys/src/9/pc/init.out - 775 sys sys 1075069557 1044
+1075069858 17 a sys/src/9/pc/init9.8 - 664 sys sys 1075069557 190
+1075069858 18 a sys/src/9/pc/initcode.8 - 664 sys sys 1075069557 1906
+1075069858 19 a sys/src/9/pc/kbd.8 - 664 sys sys 1075069557 13542
+1075069858 20 a sys/src/9/pc/l.8 - 664 sys sys 1075069556 11933
+1075069858 21 a sys/src/9/pc/memory.8 - 664 sys sys 1075069557 15018
+1075069858 22 a sys/src/9/pc/mmu.8 - 664 sys sys 1075069558 12297
+1075069858 23 a sys/src/9/pc/pc.c - 664 sys sys 1075069556 5111
+1075069858 24 a sys/src/9/pc/plan9l.8 - 664 sys sys 1075069556 543
+1075069858 25 a sys/src/9/pc/print.8 - 664 sys sys 1075069558 1308
+1075069858 26 a sys/src/9/pc/random.8 - 664 sys sys 1075069558 3927
+1075069858 27 a sys/src/9/pc/rdb.8 - 664 sys sys 1075069558 3575
+1075069858 28 a sys/src/9/pc/trap.8 - 664 sys sys 1075069558 41238
+1075069858 29 a sys/src/9/pc/uarti8250.8 - 664 sys sys 1075069559 17178
+1075069858 30 a sys/src/9/pc/vgabt485.8 - 664 sys sys 1075069560 7354
+1075069858 31 a sys/src/9/pc/vgamga4xx.8 - 664 sys sys 1075069560 15257
+1075069858 32 a sys/src/9/pc/vgax.8 - 664 sys sys 1075069560 3407
+1075069858 33 a sys/src/9/pc/apic.8 - 664 sys sys 1075069568 10125
+1075069858 34 a sys/src/9/pc/archmp.8 - 664 sys sys 1075069577 4585
+1075069858 35 a sys/src/9/pc/chandial.8 - 664 sys sys 1075069572 4920
+1075069858 36 a sys/src/9/pc/cis.8 - 664 sys sys 1075069563 16145
+1075069858 37 a sys/src/9/pc/devarch.8 - 664 sys sys 1075069567 39987
+1075069858 38 a sys/src/9/pc/devaudio.8 - 664 sys sys 1075069568 38248
+1075069858 39 a sys/src/9/pc/devcons.8 - 664 sys sys 1075069568 46711
+1075069858 40 a sys/src/9/pc/devdraw.8 - 664 sys sys 1075069578 100682
+1075069858 41 a sys/src/9/pc/devdup.8 - 664 sys sys 1075069571 6673
+1075069858 42 a sys/src/9/pc/devenv.8 - 664 sys sys 1075069566 16835
+1075069858 43 a sys/src/9/pc/devether.8 - 664 sys sys 1075069579 20151
+1075069858 44 a sys/src/9/pc/devfloppy.8 - 664 sys sys 1075069574 38070
+1075069858 45 a sys/src/9/pc/devi82365.8 - 664 sys sys 1075069565 37562
+1075069858 46 a sys/src/9/pc/devkprof.8 - 664 sys sys 1075069576 6331
+1075069858 47 a sys/src/9/pc/devlpt.8 - 664 sys sys 1075069579 11111
+1075069858 48 a sys/src/9/pc/devmnt.8 - 664 sys sys 1075069570 40434
+1075069858 49 a sys/src/9/pc/devpccard.8 - 664 sys sys 1075069574 63769
+1075069858 50 a sys/src/9/pc/devpipe.8 - 664 sys sys 1075069576 14135
+1075069858 51 a sys/src/9/pc/devproc.8 - 664 sys sys 1075069573 65219
+1075069858 52 a sys/src/9/pc/devrtc.8 - 664 sys sys 1075069573 15865
+1075069858 53 a sys/src/9/pc/devsd.8 - 664 sys sys 1075069579 63215
+1075069858 54 a sys/src/9/pc/devsrv.8 - 664 sys sys 1075069572 12888
+1075069858 55 a sys/src/9/pc/devssl.8 - 664 sys sys 1075069570 57153
+1075069858 56 a sys/src/9/pc/devtv.8 - 664 sys sys 1075069566 379885
+1075069858 57 a sys/src/9/pc/devuart.8 - 664 sys sys 1075069575 25360
+1075069858 58 a sys/src/9/pc/devusb.8 - 664 sys sys 1075069576 44952
+1075069858 59 a sys/src/9/pc/ether2114x.8 - 664 sys sys 1075069564 47992
+1075069858 60 a sys/src/9/pc/ether589.8 - 664 sys sys 1075069576 6568
+1075069858 61 a sys/src/9/pc/ether8139.8 - 664 sys sys 1075069566 21936
+1075069858 62 a sys/src/9/pc/ether82543gc.8 - 664 sys sys 1075069572 32784
+1075069858 63 a sys/src/9/pc/etherigbe.8 - 664 sys sys 1075069564 45131
+1075069858 64 a sys/src/9/pc/ethermedium.8 - 664 sys sys 1075069573 27406
+1075069858 65 a sys/src/9/pc/etherrhine.8 - 664 sys sys 1075069569 19918
+1075069858 66 a sys/src/9/pc/ethersink.8 - 664 sys sys 1075069566 2780
+1075069858 67 a sys/src/9/pc/ethersmc.8 - 664 sys sys 1075069573 19080
+1075069858 68 a sys/src/9/pc/icmp6.8 - 664 sys sys 1075069570 30548
+1075069858 69 a sys/src/9/pc/il.8 - 664 sys sys 1075069575 46687
+1075069858 70 a sys/src/9/pc/ipifc.8 - 664 sys sys 1075069572 74450
+1075069858 71 a sys/src/9/pc/iproute.8 - 664 sys sys 1075069579 28992
+1075069858 72 a sys/src/9/pc/ipv6.8 - 664 sys sys 1075069574 20446
+1075069858 73 a sys/src/9/pc/loopbackmedium.8 - 664 sys sys 1075069563 4083
+1075069858 74 a sys/src/9/pc/mouse.8 - 664 sys sys 1075069563 9191
+1075069858 75 a sys/src/9/pc/mp.8 - 664 sys sys 1075069576 25347
+1075069858 76 a sys/src/9/pc/netif.8 - 664 sys sys 1075069578 34606
+1075069858 77 a sys/src/9/pc/netlog.8 - 664 sys sys 1075069577 9933
+1075069858 78 a sys/src/9/pc/pci.8 - 664 sys sys 1075069563 38960
+1075069858 79 a sys/src/9/pc/pcmciamodem.8 - 664 sys sys 1075069571 3692
+1075069858 80 a sys/src/9/pc/pktmedium.8 - 664 sys sys 1075069569 2650
+1075069858 81 a sys/src/9/pc/ptclbsum386.8 - 664 sys sys 1075069568 1272
+1075069858 82 a sys/src/9/pc/screen.8 - 664 sys sys 1075069562 13839
+1075069858 83 a sys/src/9/pc/sdata.8 - 664 sys sys 1075069570 71100
+1075069858 84 a sys/src/9/pc/sdmylex.8 - 664 sys sys 1075069568 27806
+1075069858 85 a sys/src/9/pc/tcp.8 - 664 sys sys 1075069567 95272
+1075069858 86 a sys/src/9/pc/usbuhci.8 - 664 sys sys 1075069571 59398
+1075069858 87 a sys/src/9/pc/vga.8 - 664 sys sys 1075069564 11975
+1075069858 88 a sys/src/9/pc/vga3dfx.8 - 664 sys sys 1075069567 6251
+1075069858 89 a sys/src/9/pc/vgaark2000pv.8 - 664 sys sys 1075069569 5913
+1075069858 90 a sys/src/9/pc/vgaclgd542x.8 - 664 sys sys 1075069562 9550
+1075069858 91 a sys/src/9/pc/vgact65545.8 - 664 sys sys 1075069575 5015
+1075069858 92 a sys/src/9/pc/vgacyber938x.8 - 664 sys sys 1075069562 7482
+1075069858 93 a sys/src/9/pc/vgaet4000.8 - 664 sys sys 1075069567 7652
+1075069858 94 a sys/src/9/pc/vgamach64xx.8 - 664 sys sys 1075069569 39662
+1075069858 95 a sys/src/9/pc/vgamga2164w.8 - 664 sys sys 1075069577 6823
+1075069858 96 a sys/src/9/pc/vganeomagic.8 - 664 sys sys 1075069569 12007
+1075069858 97 a sys/src/9/pc/vganvidia.8 - 664 sys sys 1075069575 10978
+1075069858 98 a sys/src/9/pc/vgargb524.8 - 664 sys sys 1075069565 6236
+1075069858 99 a sys/src/9/pc/vgas3.8 - 664 sys sys 1075069571 17276
+1075069858 100 a sys/src/9/pc/vgasavage.8 - 664 sys sys 1075069578 6620
+1075069858 101 a sys/src/9/pc/vgatvp3020.8 - 664 sys sys 1075069578 6686
+1075069858 102 a sys/src/9/pc/vgatvp3026.8 - 664 sys sys 1075069574 5836
+1075069858 103 a sys/src/9/pc/wavelan.8 - 664 sys sys 1075069565 57988
+1075069858 104 a sys/src/9/pc/9pc - 775 sys sys 1075069629 1844550
+1075069858 105 a sys/src/9/pc/9pc.gz - 664 sys sys 1075069634 636303
+1075069858 106 a sys/src/9/pc/alarm.8 - 664 sys sys 1075069585 3578
+1075069858 107 a sys/src/9/pc/alloc.8 - 664 sys sys 1075069585 7314
+1075069858 108 a sys/src/9/pc/allocb.8 - 664 sys sys 1075069585 6730
+1075069858 109 a sys/src/9/pc/auth.8 - 664 sys sys 1075069585 5631
+1075069858 110 a sys/src/9/pc/bootpc.8 - 664 sys sys 1075069590 861
+1075069858 111 a sys/src/9/pc/bootpc.c - 664 sys sys 1075069590 339
+1075069858 112 a sys/src/9/pc/bootpc.out - 775 sys sys 1075069590 86612
+1075069858 113 a sys/src/9/pc/cache.8 - 664 sys sys 1075069586 17342
+1075069858 114 a sys/src/9/pc/chan.8 - 664 sys sys 1075069586 46168
+1075069858 115 a sys/src/9/pc/dev.8 - 664 sys sys 1075069586 15382
+1075069858 116 a sys/src/9/pc/devcap.8 - 664 sys sys 1075069580 8873
+1075069858 117 a sys/src/9/pc/devip.8 - 664 sys sys 1075069582 59933
+1075069858 118 a sys/src/9/pc/devroot.8 - 664 sys sys 1075069590 10522
+1075069858 119 a sys/src/9/pc/devvga.8 - 664 sys sys 1075069584 22756
+1075069858 120 a sys/src/9/pc/edf.8 - 664 sys sys 1075069587 33390
+1075069858 121 a sys/src/9/pc/errstr.h - 664 sys sys 1075069582 2137
+1075069858 122 a sys/src/9/pc/ether8003.8 - 664 sys sys 1075069584 9065
+1075069858 123 a sys/src/9/pc/ether8390.8 - 664 sys sys 1075069583 22848
+1075069858 124 a sys/src/9/pc/etherga620.8 - 664 sys sys 1075069581 410537
+1075069858 125 a sys/src/9/pc/ethermii.8 - 664 sys sys 1075069583 8564
+1075069858 126 a sys/src/9/pc/fault.8 - 664 sys sys 1075069586 13232
+1075069858 127 a sys/src/9/pc/icmp.8 - 664 sys sys 1075069580 17461
+1075069858 128 a sys/src/9/pc/inferno.8 - 664 sys sys 1075069583 1846
+1075069858 129 a sys/src/9/pc/ip.8 - 664 sys sys 1075069581 22320
+1075069858 130 a sys/src/9/pc/ipaux.8 - 664 sys sys 1075069582 25827
+1075069858 131 a sys/src/9/pc/latin1.8 - 664 sys sys 1075069586 16148
+1075069858 132 a sys/src/9/pc/main.8 - 664 sys sys 1075069590 29855
+1075069858 133 a sys/src/9/pc/netdevmedium.8 - 664 sys sys 1075069585 5113
+1075069858 134 a sys/src/9/pc/nullmedium.8 - 664 sys sys 1075069584 1785
+1075069858 135 a sys/src/9/pc/page.8 - 664 sys sys 1075069587 14248
+1075069858 136 a sys/src/9/pc/parse.8 - 664 sys sys 1075069587 4957
+1075069858 137 a sys/src/9/pc/pc.8 - 664 sys sys 1075069615 5591
+1075069858 138 a sys/src/9/pc/pc.root.8 - 664 sys sys 1075069614 1076091
+1075069858 139 a sys/src/9/pc/pc.root.s - 664 sys sys 1075069601 3287985
+1075069858 140 a sys/src/9/pc/pc.rootc.8 - 664 sys sys 1075069592 1721
+1075069858 141 a sys/src/9/pc/pc.rootc.c - 664 sys sys 1075069591 596
+1075069858 142 a sys/src/9/pc/pgrp.8 - 664 sys sys 1075069587 8924
+1075069858 143 a sys/src/9/pc/portclock.8 - 664 sys sys 1075069587 12438
+1075069858 144 a sys/src/9/pc/proc.8 - 664 sys sys 1075069590 67497
+1075069858 145 a sys/src/9/pc/qio.8 - 664 sys sys 1075069588 32633
+1075069858 146 a sys/src/9/pc/qlock.8 - 664 sys sys 1075069588 6098
+1075069858 147 a sys/src/9/pc/rebootcmd.8 - 664 sys sys 1075069588 5115
+1075069858 148 a sys/src/9/pc/sd53c8xx.8 - 664 sys sys 1075069585 59671
+1075069858 149 a sys/src/9/pc/sdscsi.8 - 664 sys sys 1075069583 10489
+1075069858 150 a sys/src/9/pc/segment.8 - 664 sys sys 1075069588 24008
+1075069858 151 a sys/src/9/pc/swap.8 - 664 sys sys 1075069588 12585
+1075069858 152 a sys/src/9/pc/sysfile.8 - 664 sys sys 1075069589 51253
+1075069858 153 a sys/src/9/pc/sysproc.8 - 664 sys sys 1075069589 28657
+1075069858 154 a sys/src/9/pc/taslock.8 - 664 sys sys 1075069589 9115
+1075069858 155 a sys/src/9/pc/tod.8 - 664 sys sys 1075069589 9591
+1075069858 156 a sys/src/9/pc/uartpci.8 - 664 sys sys 1075069582 4596
+1075069858 157 a sys/src/9/pc/udp.8 - 664 sys sys 1075069581 24140
+1075069858 158 a sys/src/9/pc/vgaclgd546x.8 - 664 sys sys 1075069583 7893
+1075069858 159 a sys/src/9/pc/vgahiqvideo.8 - 664 sys sys 1075069582 8948
+1075069858 160 a sys/src/9/pc/vgai81x.8 - 664 sys sys 1075069580 7800
+1075069858 161 a sys/src/9/pc/vgat2r4.8 - 664 sys sys 1075069581 12529
+1075069858 162 a sys/src/9/pc/vgavmware.8 - 664 sys sys 1075069584 10262
+1075069858 163 a sys/src/9/pc/xalloc.8 - 664 sys sys 1075069589 6893
+1075069858 164 c sys/src/cmd/upas/common/common.h - 664 sys sys 1075069143 2021
+1075069858 165 c sys/src/cmd/upas/common/mkfile - 664 sys sys 1075069142 273
+1075069858 166 c sys/src/cmd/upas/filterkit/deliver.c - 664 sys sys 1075069156 1075
+1075069858 167 c sys/src/cmd/upas/fs/imap4.c - 664 sys sys 1075069146 16233
+1075069858 168 c sys/src/cmd/upas/mkfile - 664 sys sys 1075069142 1910
+1075069858 169 c sys/src/cmd/upas/ned/nedmail.c - 664 sys sys 1075069148 43120
+1075073460 0 c sys/src/9/pc/devarch.c - 664 sys sys 1075072880 18432
+1075080660 0 a sys/src/cmd/upas/unesc - 20000000775 sys sys 1075080255 0
+1075080660 1 a sys/src/cmd/upas/unesc/mkfile - 664 sys sys 1075080255 164
+1075080660 2 a sys/src/cmd/upas/unesc/unesc.c - 664 sys sys 1075080255 789
+1075080660 3 d sys/src/9/pc/xalloc.8 - 664 sys sys 1075069589 0
+1075080660 4 d sys/src/9/pc/wavelan.8 - 664 sys sys 1075069565 0
+1075080660 5 d sys/src/9/pc/vgax.8 - 664 sys sys 1075069560 0
+1075080660 6 d sys/src/9/pc/vgavmware.8 - 664 sys sys 1075069584 0
+1075080660 7 d sys/src/9/pc/vgatvp3026.8 - 664 sys sys 1075069574 0
+1075080660 8 d sys/src/9/pc/vgatvp3020.8 - 664 sys sys 1075069578 0
+1075080660 9 d sys/src/9/pc/vgat2r4.8 - 664 sys sys 1075069581 0
+1075080660 10 d sys/src/9/pc/vgasavage.8 - 664 sys sys 1075069578 0
+1075080660 11 d sys/src/9/pc/vgas3.8 - 664 sys sys 1075069571 0
+1075080660 12 d sys/src/9/pc/vgargb524.8 - 664 sys sys 1075069565 0
+1075080660 13 d sys/src/9/pc/vganvidia.8 - 664 sys sys 1075069575 0
+1075080660 14 d sys/src/9/pc/vganeomagic.8 - 664 sys sys 1075069569 0
+1075080660 15 d sys/src/9/pc/vgamga4xx.8 - 664 sys sys 1075069560 0
+1075080660 16 d sys/src/9/pc/vgamga2164w.8 - 664 sys sys 1075069577 0
+1075080660 17 d sys/src/9/pc/vgamach64xx.8 - 664 sys sys 1075069569 0
+1075080660 18 d sys/src/9/pc/vgai81x.8 - 664 sys sys 1075069580 0
+1075080660 19 d sys/src/9/pc/vgahiqvideo.8 - 664 sys sys 1075069582 0
+1075080660 20 d sys/src/9/pc/vgaet4000.8 - 664 sys sys 1075069567 0
+1075080660 21 d sys/src/9/pc/vgacyber938x.8 - 664 sys sys 1075069562 0
+1075080660 22 d sys/src/9/pc/vgact65545.8 - 664 sys sys 1075069575 0
+1075080660 23 d sys/src/9/pc/vgaclgd546x.8 - 664 sys sys 1075069583 0
+1075080660 24 d sys/src/9/pc/vgaclgd542x.8 - 664 sys sys 1075069562 0
+1075080660 25 d sys/src/9/pc/vgabt485.8 - 664 sys sys 1075069560 0
+1075080660 26 d sys/src/9/pc/vgaark2000pv.8 - 664 sys sys 1075069569 0
+1075080660 27 d sys/src/9/pc/vga3dfx.8 - 664 sys sys 1075069567 0
+1075080660 28 d sys/src/9/pc/vga.8 - 664 sys sys 1075069564 0
+1075080660 29 d sys/src/9/pc/usbuhci.8 - 664 sys sys 1075069571 0
+1075080660 30 d sys/src/9/pc/udp.8 - 664 sys sys 1075069581 0
+1075080660 31 d sys/src/9/pc/uartpci.8 - 664 sys sys 1075069582 0
+1075080660 32 d sys/src/9/pc/uarti8250.8 - 664 sys sys 1075069559 0
+1075080660 33 d sys/src/9/pc/trap.8 - 664 sys sys 1075069558 0
+1075080660 34 d sys/src/9/pc/tod.8 - 664 sys sys 1075069589 0
+1075080660 35 d sys/src/9/pc/tcp.8 - 664 sys sys 1075069567 0
+1075080660 36 d sys/src/9/pc/taslock.8 - 664 sys sys 1075069589 0
+1075080660 37 d sys/src/9/pc/sysproc.8 - 664 sys sys 1075069589 0
+1075080660 38 d sys/src/9/pc/sysfile.8 - 664 sys sys 1075069589 0
+1075080660 39 d sys/src/9/pc/swap.8 - 664 sys sys 1075069588 0
+1075080660 40 d sys/src/9/pc/segment.8 - 664 sys sys 1075069588 0
+1075080660 41 d sys/src/9/pc/sdscsi.8 - 664 sys sys 1075069583 0
+1075080660 42 d sys/src/9/pc/sdmylex.8 - 664 sys sys 1075069568 0
+1075080660 43 d sys/src/9/pc/sdata.8 - 664 sys sys 1075069570 0
+1075080660 44 d sys/src/9/pc/sd53c8xx.8 - 664 sys sys 1075069585 0
+1075080660 45 d sys/src/9/pc/screen.8 - 664 sys sys 1075069562 0
+1075080660 46 d sys/src/9/pc/rebootcmd.8 - 664 sys sys 1075069588 0
+1075080660 47 d sys/src/9/pc/rdb.8 - 664 sys sys 1075069558 0
+1075080660 48 d sys/src/9/pc/random.8 - 664 sys sys 1075069558 0
+1075080660 49 d sys/src/9/pc/qlock.8 - 664 sys sys 1075069588 0
+1075080660 50 d sys/src/9/pc/qio.8 - 664 sys sys 1075069588 0
+1075080660 51 d sys/src/9/pc/ptclbsum386.8 - 664 sys sys 1075069568 0
+1075080660 52 d sys/src/9/pc/proc.8 - 664 sys sys 1075069590 0
+1075080660 53 d sys/src/9/pc/print.8 - 664 sys sys 1075069558 0
+1075080660 54 d sys/src/9/pc/portclock.8 - 664 sys sys 1075069587 0
+1075080660 55 d sys/src/9/pc/plan9l.8 - 664 sys sys 1075069556 0
+1075080660 56 d sys/src/9/pc/pktmedium.8 - 664 sys sys 1075069569 0
+1075080660 57 d sys/src/9/pc/pgrp.8 - 664 sys sys 1075069587 0
+1075080660 58 d sys/src/9/pc/pcmciamodem.8 - 664 sys sys 1075069571 0
+1075080660 59 d sys/src/9/pc/pci.8 - 664 sys sys 1075069563 0
+1075080660 60 d sys/src/9/pc/pcf.c - 664 sys sys 1058659039 0
+1075080660 61 d sys/src/9/pc/pc.rootc.c - 664 sys sys 1075069591 0
+1075080660 62 d sys/src/9/pc/pc.rootc.8 - 664 sys sys 1075069592 0
+1075080660 63 d sys/src/9/pc/pc.root.s - 664 sys sys 1075069601 0
+1075080660 64 d sys/src/9/pc/pc.root.8 - 664 sys sys 1075069614 0
+1075080660 65 d sys/src/9/pc/pc.c - 664 sys sys 1075069556 0
+1075080660 66 d sys/src/9/pc/pc.8 - 664 sys sys 1075069615 0
+1075080660 67 d sys/src/9/pc/parse.8 - 664 sys sys 1075069587 0
+1075080660 68 d sys/src/9/pc/page.8 - 664 sys sys 1075069587 0
+1075080660 69 d sys/src/9/pc/nullmedium.8 - 664 sys sys 1075069584 0
+1075080660 70 d sys/src/9/pc/netlog.8 - 664 sys sys 1075069577 0
+1075080660 71 d sys/src/9/pc/netif.8 - 664 sys sys 1075069578 0
+1075080660 72 d sys/src/9/pc/netdevmedium.8 - 664 sys sys 1075069585 0
+1075080660 73 d sys/src/9/pc/mp.8 - 664 sys sys 1075069576 0
+1075080660 74 d sys/src/9/pc/mouse.8 - 664 sys sys 1075069563 0
+1075080660 75 d sys/src/9/pc/mmu.8 - 664 sys sys 1075069558 0
+1075080660 76 d sys/src/9/pc/memory.8 - 664 sys sys 1075069557 0
+1075080660 77 d sys/src/9/pc/main.8 - 664 sys sys 1075069590 0
+1075080660 78 d sys/src/9/pc/loopbackmedium.8 - 664 sys sys 1075069563 0
+1075080660 79 d sys/src/9/pc/latin1.8 - 664 sys sys 1075069586 0
+1075080660 80 d sys/src/9/pc/l.8 - 664 sys sys 1075069556 0
+1075080660 81 d sys/src/9/pc/kbd.8 - 664 sys sys 1075069557 0
+1075080660 82 d sys/src/9/pc/ipv6.8 - 664 sys sys 1075069574 0
+1075080660 83 d sys/src/9/pc/iproute.8 - 664 sys sys 1075069579 0
+1075080660 84 d sys/src/9/pc/ipifc.8 - 664 sys sys 1075069572 0
+1075080660 85 d sys/src/9/pc/ipaux.8 - 664 sys sys 1075069582 0
+1075080660 86 d sys/src/9/pc/ip.8 - 664 sys sys 1075069581 0
+1075080660 87 d sys/src/9/pc/initcode.8 - 664 sys sys 1075069557 0
+1075080660 88 d sys/src/9/pc/init9.8 - 664 sys sys 1075069557 0
+1075080660 89 d sys/src/9/pc/init.out - 775 sys sys 1075069557 0
+1075080660 90 d sys/src/9/pc/init.h - 664 sys sys 1075069557 0
+1075080660 91 d sys/src/9/pc/inferno.8 - 664 sys sys 1075069583 0
+1075080660 92 d sys/src/9/pc/il.8 - 664 sys sys 1075069575 0
+1075080660 93 d sys/src/9/pc/icmp6.8 - 664 sys sys 1075069570 0
+1075080660 94 d sys/src/9/pc/icmp.8 - 664 sys sys 1075069580 0
+1075080660 95 d sys/src/9/pc/i8259.8 - 664 sys sys 1075069557 0
+1075080660 96 d sys/src/9/pc/i8253.8 - 664 sys sys 1075069557 0
+1075080660 97 d sys/src/9/pc/fault.8 - 664 sys sys 1075069586 0
+1075080660 98 d sys/src/9/pc/etherwavelan.8 - 664 sys sys 1075069559 0
+1075080660 99 d sys/src/9/pc/ethersmc.8 - 664 sys sys 1075069573 0
+1075080660 100 d sys/src/9/pc/ethersink.8 - 664 sys sys 1075069566 0
+1075080660 101 d sys/src/9/pc/etherrhine.8 - 664 sys sys 1075069569 0
+1075080660 102 d sys/src/9/pc/ethermii.8 - 664 sys sys 1075069583 0
+1075080660 103 d sys/src/9/pc/ethermedium.8 - 664 sys sys 1075069573 0
+1075080660 104 d sys/src/9/pc/etherigbe.8 - 664 sys sys 1075069564 0
+1075080660 105 d sys/src/9/pc/etherga620.8 - 664 sys sys 1075069581 0
+1075080660 106 d sys/src/9/pc/etherelnk3.8 - 664 sys sys 1075069560 0
+1075080660 107 d sys/src/9/pc/etherec2t.8 - 664 sys sys 1075069559 0
+1075080660 108 d sys/src/9/pc/ether8390.8 - 664 sys sys 1075069583 0
+1075080660 109 d sys/src/9/pc/ether83815.8 - 664 sys sys 1075069562 0
+1075080660 110 d sys/src/9/pc/ether82557.8 - 664 sys sys 1075069559 0
+1075080660 111 d sys/src/9/pc/ether82543gc.8 - 664 sys sys 1075069572 0
+1075080660 112 d sys/src/9/pc/ether8139.8 - 664 sys sys 1075069566 0
+1075080660 113 d sys/src/9/pc/ether8003.8 - 664 sys sys 1075069584 0
+1075080660 114 d sys/src/9/pc/ether79c970.8 - 664 sys sys 1075069560 0
+1075080660 115 d sys/src/9/pc/ether589.8 - 664 sys sys 1075069576 0
+1075080660 116 d sys/src/9/pc/ether2114x.8 - 664 sys sys 1075069564 0
+1075080660 117 d sys/src/9/pc/ether2000.8 - 664 sys sys 1075069559 0
+1075080660 118 d sys/src/9/pc/edf.8 - 664 sys sys 1075069587 0
+1075080660 119 d sys/src/9/pc/dma.8 - 664 sys sys 1075069561 0
+1075080660 120 d sys/src/9/pc/devvga.8 - 664 sys sys 1075069584 0
+1075080660 121 d sys/src/9/pc/devusb.8 - 664 sys sys 1075069576 0
+1075080660 122 d sys/src/9/pc/devuart.8 - 664 sys sys 1075069575 0
+1075080660 123 d sys/src/9/pc/devtv.8 - 664 sys sys 1075069566 0
+1075080660 124 d sys/src/9/pc/devtls.8 - 664 sys sys 1075069560 0
+1075080660 125 d sys/src/9/pc/devssl.8 - 664 sys sys 1075069570 0
+1075080660 126 d sys/src/9/pc/devsrv.8 - 664 sys sys 1075069572 0
+1075080660 127 d sys/src/9/pc/devsd.8 - 664 sys sys 1075069579 0
+1075080660 128 d sys/src/9/pc/devrtc.8 - 664 sys sys 1075069573 0
+1075080660 129 d sys/src/9/pc/devroot.8 - 664 sys sys 1075069590 0
+1075080660 130 d sys/src/9/pc/devproc.8 - 664 sys sys 1075069573 0
+1075080660 131 d sys/src/9/pc/devpnp.8 - 664 sys sys 1075069561 0
+1075080660 132 d sys/src/9/pc/devpipe.8 - 664 sys sys 1075069576 0
+1075080660 133 d sys/src/9/pc/devpccard.8 - 664 sys sys 1075069574 0
+1075080660 134 d sys/src/9/pc/devmouse.8 - 664 sys sys 1075069561 0
+1075080660 135 d sys/src/9/pc/devmnt.8 - 664 sys sys 1075069570 0
+1075080660 136 d sys/src/9/pc/devlpt.8 - 664 sys sys 1075069579 0
+1075080660 137 d sys/src/9/pc/devkprof.8 - 664 sys sys 1075069576 0
+1075080660 138 d sys/src/9/pc/devip.8 - 664 sys sys 1075069582 0
+1075080660 139 d sys/src/9/pc/devi82365.8 - 664 sys sys 1075069565 0
+1075080660 140 d sys/src/9/pc/devfloppy.8 - 664 sys sys 1075069574 0
+1075080660 141 d sys/src/9/pc/devether.8 - 664 sys sys 1075069579 0
+1075080660 142 d sys/src/9/pc/devenv.8 - 664 sys sys 1075069566 0
+1075080660 143 d sys/src/9/pc/devdup.8 - 664 sys sys 1075069571 0
+1075080660 144 d sys/src/9/pc/devdraw.8 - 664 sys sys 1075069578 0
+1075080660 145 d sys/src/9/pc/devcons.8 - 664 sys sys 1075069568 0
+1075080660 146 d sys/src/9/pc/devcap.8 - 664 sys sys 1075069580 0
+1075080660 147 d sys/src/9/pc/devaudio.8 - 664 sys sys 1075069568 0
+1075080660 148 d sys/src/9/pc/devarch.8 - 664 sys sys 1075069567 0
+1075080660 149 d sys/src/9/pc/dev.8 - 664 sys sys 1075069586 0
+1075080660 150 d sys/src/9/pc/cis.8 - 664 sys sys 1075069563 0
+1075080660 151 d sys/src/9/pc/chandial.8 - 664 sys sys 1075069572 0
+1075080660 152 d sys/src/9/pc/chan.8 - 664 sys sys 1075069586 0
+1075080660 153 d sys/src/9/pc/cga.8 - 664 sys sys 1075069557 0
+1075080660 154 d sys/src/9/pc/cache.8 - 664 sys sys 1075069586 0
+1075080660 155 d sys/src/9/pc/bootpc.out - 775 sys sys 1075069590 0
+1075080660 156 d sys/src/9/pc/bootpc.c - 664 sys sys 1075069590 0
+1075080660 157 d sys/src/9/pc/bootpc.8 - 664 sys sys 1075069590 0
+1075080660 158 d sys/src/9/pc/auth.8 - 664 sys sys 1075069585 0
+1075080660 159 d sys/src/9/pc/arp.8 - 664 sys sys 1075069562 0
+1075080660 160 d sys/src/9/pc/archmp.8 - 664 sys sys 1075069577 0
+1075080660 161 d sys/src/9/pc/apic.8 - 664 sys sys 1075069568 0
+1075080660 162 d sys/src/9/pc/allocb.8 - 664 sys sys 1075069585 0
+1075080660 163 d sys/src/9/pc/alloc.8 - 664 sys sys 1075069585 0
+1075080660 164 d sys/src/9/pc/alarm.8 - 664 sys sys 1075069585 0
+1075080660 165 d sys/src/9/pc/9pc.gz - 664 sys sys 1075069634 0
+1075080660 166 d sys/src/9/pc/9pc - 775 sys sys 1075069629 0

+ 0 - 6
sys/src/9/pc/devarch.c

@@ -745,12 +745,6 @@ cpuidentify(void)
 		if(m->cpuiddx & 0x80)
 			rdmsr(0x01, &mct);
 	}
-if(m->cpuiddx & 0x20){
-    vlong apicbase;
-
-    rdmsr(0x1B, &apicbase);
-    print("apicbase 0x%lluX\n", apicbase);
-}
 
 	cputype = t;
 	return t->family;

+ 51 - 0
sys/src/9/pc/errstr.h

@@ -0,0 +1,51 @@
+char Enoerror[] = "no error";
+char Emount[] = "inconsistent mount";
+char Eunmount[] = "not mounted";
+char Eismtpt[] = "is a mount point";
+char Eunion[] = "not in union";
+char Emountrpc[] = "mount rpc error";
+char Eshutdown[] = "device shut down";
+char Enocreate[] = "mounted directory forbids creation";
+char Enonexist[] = "file does not exist";
+char Eexist[] = "file already exists";
+char Ebadsharp[] = "unknown device in # filename";
+char Enotdir[] = "not a directory";
+char Eisdir[] = "file is a directory";
+char Ebadchar[] = "bad character in file name";
+char Efilename[] = "file name syntax";
+char Eperm[] = "permission denied";
+char Ebadusefd[] = "inappropriate use of fd";
+char Ebadarg[] = "bad arg in system call";
+char Einuse[] = "device or object already in use";
+char Eio[] = "i/o error";
+char Etoobig[] = "read or write too large";
+char Etoosmall[] = "read or write too small";
+char Enoport[] = "network port not available";
+char Ehungup[] = "i/o on hungup channel";
+char Ebadctl[] = "bad process or channel control request";
+char Enodev[] = "no free devices";
+char Eprocdied[] = "process exited";
+char Enochild[] = "no living children";
+char Eioload[] = "i/o error in demand load";
+char Enovmem[] = "virtual memory allocation failed";
+char Ebadfd[] = "fd out of range or not open";
+char Enofd[] = "no free file descriptors";
+char Eisstream[] = "seek on a stream";
+char Ebadexec[] = "exec header invalid";
+char Etimedout[] = "connection timed out";
+char Econrefused[] = "connection refused";
+char Econinuse[] = "connection in use";
+char Eintr[] = "interrupted";
+char Enomem[] = "kernel allocate failed";
+char Enoswap[] = "swap space full";
+char Esoverlap[] = "segments overlap";
+char Emouseset[] = "mouse type already set";
+char Eshort[] = "i/o count too small";
+char Egreg[] = "ken has left the building";
+char Ebadspec[] = "bad attach specifier";
+char Enoreg[] = "process has no saved registers";
+char Enoattach[] = "mount/attach disallowed";
+char Eshortstat[] = "stat buffer too small";
+char Ebadstat[] = "malformed stat buffer";
+char Enegoff[] = "negative i/o offset";
+char Ecmdargs[] = "wrong #args in control message";

+ 0 - 257
sys/src/9/pc/pcf.c

@@ -1,257 +0,0 @@
-#include "u.h"
-#include "../port/lib.h"
-#include "mem.h"
-#include "dat.h"
-#include "fns.h"
-#include "io.h"
-#include "../port/error.h"
-
-extern Dev rootdevtab;
-extern Dev consdevtab;
-extern Dev archdevtab;
-extern Dev pnpdevtab;
-extern Dev envdevtab;
-extern Dev pipedevtab;
-extern Dev procdevtab;
-extern Dev mntdevtab;
-extern Dev srvdevtab;
-extern Dev dupdevtab;
-extern Dev rtcdevtab;
-extern Dev ssldevtab;
-extern Dev tlsdevtab;
-extern Dev capdevtab;
-extern Dev kprofdevtab;
-extern Dev realtimedevtab;
-extern Dev etherdevtab;
-extern Dev ipdevtab;
-extern Dev drawdevtab;
-extern Dev mousedevtab;
-extern Dev vgadevtab;
-extern Dev sddevtab;
-extern Dev floppydevtab;
-extern Dev lptdevtab;
-extern Dev audiodevtab;
-extern Dev pccarddevtab;
-extern Dev i82365devtab;
-extern Dev uartdevtab;
-extern Dev usbdevtab;
-Dev* devtab[]={
-	&rootdevtab,
-	&consdevtab,
-	&archdevtab,
-	&pnpdevtab,
-	&envdevtab,
-	&pipedevtab,
-	&procdevtab,
-	&mntdevtab,
-	&srvdevtab,
-	&dupdevtab,
-	&rtcdevtab,
-	&ssldevtab,
-	&tlsdevtab,
-	&capdevtab,
-	&kprofdevtab,
-	&realtimedevtab,
-	&etherdevtab,
-	&ipdevtab,
-	&drawdevtab,
-	&mousedevtab,
-	&vgadevtab,
-	&sddevtab,
-	&floppydevtab,
-	&lptdevtab,
-	&audiodevtab,
-	&pccarddevtab,
-	&i82365devtab,
-	&uartdevtab,
-	&usbdevtab,
-	nil,
-};
-
-extern void devpccardlink(void);
-extern void devi82365link(void);
-extern void apmlink(void);
-extern void ether2000link(void);
-extern void ether2114xlink(void);
-extern void ether589link(void);
-extern void ether79c970link(void);
-extern void ether8003link(void);
-extern void ether8139link(void);
-extern void ether82543gclink(void);
-extern void ether82557link(void);
-extern void ether83815link(void);
-extern void etherec2tlink(void);
-extern void etherelnk3link(void);
-extern void etherga620link(void);
-extern void etherigbelink(void);
-extern void ethersinklink(void);
-extern void ethersmclink(void);
-extern void etherwavelanlink(void);
-extern void ethermediumlink(void);
-extern void pcmciamodemlink(void);
-extern void netdevmediumlink(void);
-extern void loopbackmediumlink(void);
-extern void usbuhcilink(void);
-void links(void){
-	bootlinks();
-
-	devpccardlink();
-	devi82365link();
-	apmlink();
-	ether2000link();
-	ether2114xlink();
-	ether589link();
-	ether79c970link();
-	ether8003link();
-	ether8139link();
-	ether82543gclink();
-	ether82557link();
-	ether83815link();
-	etherec2tlink();
-	etherelnk3link();
-	etherga620link();
-	etherigbelink();
-	ethersinklink();
-	ethersmclink();
-	etherwavelanlink();
-	ethermediumlink();
-	pcmciamodemlink();
-	netdevmediumlink();
-	loopbackmediumlink();
-	usbuhcilink();
-}
-
-extern PCArch archmp;
-PCArch* knownarch[] = {
-	&archmp,
-	nil,
-};
-
-#include "../port/sd.h"
-extern SDifc sdataifc;
-extern SDifc sd53c8xxifc;
-extern SDifc sdmylexifc;
-SDifc* sdifc[] = {
-	&sdataifc,
-	&sd53c8xxifc,
-	&sdmylexifc,
-	nil,
-};
-
-extern PhysUart i8250physuart;
-extern PhysUart pciphysuart;
-PhysUart* physuart[] = {
-	&i8250physuart,
-	&pciphysuart,
-	nil,
-};
-
-#define	Image	IMAGE
-#include <draw.h>
-#include <memdraw.h>
-#include <cursor.h>
-#include "screen.h"
-extern VGAdev vga3dfxdev;
-extern VGAdev vgaark2000pvdev;
-extern VGAdev vgaclgd542xdev;
-extern VGAdev vgaclgd546xdev;
-extern VGAdev vgact65545dev;
-extern VGAdev vgacyber938xdev;
-extern VGAdev vgaet4000dev;
-extern VGAdev vgahiqvideodev;
-extern VGAdev vgai81xdev;
-extern VGAdev vgamach64xxdev;
-extern VGAdev vgamga2164wdev;
-extern VGAdev vgamga4xxdev;
-extern VGAdev vganeomagicdev;
-extern VGAdev vganvidiadev;
-extern VGAdev vgas3dev;
-extern VGAdev vgat2r4dev;
-extern VGAdev vgavmwaredev;
-VGAdev* vgadev[] = {
-	&vga3dfxdev,
-	&vgaark2000pvdev,
-	&vgaclgd542xdev,
-	&vgaclgd546xdev,
-	&vgact65545dev,
-	&vgacyber938xdev,
-	&vgaet4000dev,
-	&vgahiqvideodev,
-	&vgai81xdev,
-	&vgamach64xxdev,
-	&vgamga2164wdev,
-	&vgamga4xxdev,
-	&vganeomagicdev,
-	&vganvidiadev,
-	&vgas3dev,
-	&vgat2r4dev,
-	&vgavmwaredev,
-	nil,
-};
-
-extern VGAcur vga3dfxcur;
-extern VGAcur vgaark2000pvcur;
-extern VGAcur vgabt485cur;
-extern VGAcur vgaclgd542xcur;
-extern VGAcur vgaclgd546xcur;
-extern VGAcur vgact65545cur;
-extern VGAcur vgacyber938xcur;
-extern VGAcur vgaet4000cur;
-extern VGAcur vgahiqvideocur;
-extern VGAcur vgai81xcur;
-extern VGAcur vgamach64xxcur;
-extern VGAcur vgamga2164wcur;
-extern VGAcur vgamga4xxcur;
-extern VGAcur vganeomagiccur;
-extern VGAcur vganvidiacur;
-extern VGAcur vgargb524cur;
-extern VGAcur vgas3cur;
-extern VGAcur vgat2r4cur;
-extern VGAcur vgatvp3020cur;
-extern VGAcur vgatvp3026cur;
-extern VGAcur vgavmwarecur;
-VGAcur* vgacur[] = {
-	&vga3dfxcur,
-	&vgaark2000pvcur,
-	&vgabt485cur,
-	&vgaclgd542xcur,
-	&vgaclgd546xcur,
-	&vgact65545cur,
-	&vgacyber938xcur,
-	&vgaet4000cur,
-	&vgahiqvideocur,
-	&vgai81xcur,
-	&vgamach64xxcur,
-	&vgamga2164wcur,
-	&vgamga4xxcur,
-	&vganeomagiccur,
-	&vganvidiacur,
-	&vgargb524cur,
-	&vgas3cur,
-	&vgat2r4cur,
-	&vgatvp3020cur,
-	&vgatvp3026cur,
-	&vgavmwarecur,
-	nil,
-};
-
-#include "../ip/ip.h"
-extern void ilinit(Fs*);
-extern void tcpinit(Fs*);
-extern void udpinit(Fs*);
-extern void ipifcinit(Fs*);
-extern void icmpinit(Fs*);
-extern void icmp6init(Fs*);
-void (*ipprotoinit[])(Fs*) = {
-	ilinit,
-	tcpinit,
-	udpinit,
-	ipifcinit,
-	icmpinit,
-	icmp6init,
-	nil,
-};
-
-	int cpuserver = 0;
-char* conffile = "pcf";
-ulong kerndate = KERNDATE;

+ 155 - 0
sys/src/cmd/upas/common/appendfiletombox.c

@@ -0,0 +1,155 @@
+#include "common.h"
+
+enum {
+	Buffersize = 64*1024,
+};
+
+typedef struct Inbuf Inbuf;
+struct Inbuf
+{
+	char buf[Buffersize];
+	char *wp;
+	char *rp;
+	int eof;
+	int in;
+	int out;
+	int last;
+	ulong bytes;
+};
+
+static Inbuf*
+allocinbuf(int in, int out)
+{
+	Inbuf *b;
+
+	b = mallocz(sizeof(Inbuf), 1);
+	if(b == nil)
+		sysfatal("reading mailbox: %r");
+	b->rp = b->wp = b->buf;
+	b->in = in;
+	b->out = out;
+	return b;
+}
+
+static int
+fill(Inbuf *b, int addspace)
+{
+	int i, n;
+
+	if(b->eof && b->wp - b->rp == 0)
+		return 0;
+
+	n = b->rp - b->buf;
+	if(n > 0){
+		i = write(b->out, b->buf, n);
+		if(i != n)
+			return -1;
+		b->last = b->buf[n-1];
+		b->bytes += n;
+	}
+	if(addspace){
+		if(write(b->out, " ", 1) != 1)
+			return -1;
+		b->last = ' ';
+		b->bytes++;
+	}
+
+	n = b->wp - b->rp;
+	memmove(b->buf, b->rp, n);
+	b->rp = b->buf;
+	b->wp = b->rp + n;
+
+	i = read(b->in, b->buf+n, sizeof(b->buf)-n);
+	if(i < 0)
+		return -1;
+	b->wp += i;
+
+	return b->wp - b->rp;
+}
+
+/* code to escape ' '*From' ' at the beginning of a line */
+int
+appendfiletombox(int in, int out)
+{
+	int addspace;
+	int n;
+	char *p;
+	int sol;
+	Inbuf *b;
+
+	seek(out, 0, 2);
+
+	b = allocinbuf(in, out);
+	addspace = 0;
+	sol = 1;
+
+	for(;;){
+		if(b->wp - b->rp < 5){
+			n = fill(b, addspace);
+			addspace = 0;
+			if(n < 0)
+				goto error;
+			if(n == 0)
+				break;
+			if(n < 5){
+				b->rp = b->wp;
+				continue;
+			}
+		}
+
+		/* state machine looking for ' '*From' ' */
+		if(!sol){
+			p = memchr(b->rp, '\n', b->wp - b->rp);
+			if(p == nil)
+				b->rp = b->wp;
+			else{
+				b->rp = p+1;
+				sol = 1;
+			}
+			continue;
+		} else {
+			if(*b->rp == ' ' || strncmp(b->rp, "From ", 5) != 0){
+				b->rp++;
+				continue;
+			}
+			addspace = 1;
+			sol = 0;
+		}
+	}
+
+	/* mailbox entries always terminate with two newlines */
+	n = b->last == '\n' ? 1 : 2;
+	if(write(out, "\n\n", n) != n)
+		goto error;
+	n += b->bytes;
+	free(b);
+	return n;
+error:
+	free(b);
+	return -1;
+}
+
+int
+appendfiletofile(int in, int out)
+{
+	int n;
+	Inbuf *b;
+
+	seek(out, 0, 2);
+
+	b = allocinbuf(in, out);
+	for(;;){
+		n = fill(b, 0);
+		if(n < 0)
+			goto error;
+		if(n == 0)
+			break;
+		b->rp = b->wp;
+	}
+	n = b->bytes;
+	free(b);
+	return n;
+error:
+	free(b);
+	return -1;
+}

+ 4 - 0
sys/src/cmd/upas/common/common.h

@@ -40,6 +40,10 @@ extern String*	escapespecial(String*);
 extern String*	unescapespecial(String*);
 extern int	returnable(char*);
 
+/* in copymessage */
+extern int	appendfiletombox(int, int);
+extern int	appendfiletofile(int, int);
+
 /* mailbox types */
 #define MF_NORMAL 0
 #define MF_PIPE 1

+ 1 - 0
sys/src/cmd/upas/common/mkfile

@@ -7,6 +7,7 @@ OFILES=aux.$O\
 	process.$O\
 	libsys.$O\
 	config.$O\
+	appendfiletombox.$O\
 
 HFILES=common.h\
 	sys.h\

+ 6 - 48
sys/src/cmd/upas/filterkit/deliver.c

@@ -1,7 +1,5 @@
-#include "sys.h"
 #include "dat.h"
-
-Biobuf in;
+#include "common.h"
 
 void
 usage(void)
@@ -15,16 +13,10 @@ main(int argc, char **argv)
 {
 	int fd;
 	char now[30];
-	char *p;
-	int n, bytes;
 	Addr *a;
 	char *deliveredto;
-	char last;
-	char *str;
 	Mlock *l;
-	char buf[256];
-
-	Binit(&in, 0, OREAD);
+	int bytes;
 
 	ARGBEGIN{
 	}ARGEND;
@@ -52,46 +44,12 @@ main(int argc, char **argv)
 	now[28] = 0;
 	if(fprint(fd, "From %s %s\n", a->val, now) < 0)
 		sysfatal("writing mailbox: %r");
-	last = '\n';
-
-	/* pass all \n terminated lines.  Escape '^From ' */
-	for(bytes = 0;; bytes += n){
-		p = Brdline(&in, '\n');
-		if(p == nil)
-			break;
-		n = Blinelen(&in);
-		if(last == '\n' && n >= 5 && strncmp(p, "From ", 5) == 0)
-			if(write(fd, " ", 1) != 1)
-				sysfatal("writing mailbox: %r");
-		if(write(fd, p, n) != n){
-			sysfatal("writing mailbox: %r");
-			bytes++;
-		}
-		last = p[n-1];
-	}
 
-	/* just in case all lines aren't null terminated */
-	for(;; bytes += n){
-		n = Bread(&in, buf, sizeof(buf));
-		if(n <= 0)
-			break;
-		if(last == '\n' && n >= 5 && strncmp(buf, "From ", 5) == 0)
-			if(write(fd, " ", 1) != 1)
-				sysfatal("writing mailbox: %r");
-		if(write(fd, buf, n) != n){
-			sysfatal("writing mailbox: %r");
-			bytes++;
-		}
-		last = buf[n-1];
-	}
-
-	/* a blank line must follow every message */
-	if(last == '\n')
-		str = "\n";
-	else
-		str ="\n\n";
-	if(write(fd, str, strlen(str)) < 0)
+	/* copy message handles escapes and any needed new lines */
+	bytes = appendfiletombox(0, fd);
+	if(bytes < 0)
 		sysfatal("writing mailbox: %r");
+
 	close(fd);
 	sysunlock(l);
 

+ 10 - 1
sys/src/cmd/upas/fs/imap4.c

@@ -9,6 +9,7 @@
 #pragma varargck	type	"Z"	char*
 
 int	doublequote(Fmt*);
+int	pipeline = 1;
 
 static char Eio[] = "i/o error";
 
@@ -594,6 +595,7 @@ imap4read(Imap *imap, Mailbox *mb, int doplumb)
 
 	// download new messages
 	t = imap->tag;
+	if(pipeline)
 	switch(rfork(RFPROC|RFMEM)){
 	case -1:
 		sysfatal("rfork: %r");
@@ -619,6 +621,12 @@ imap4read(Imap *imap, Mailbox *mb, int doplumb)
 		if(m->start != nil)
 			continue;
 
+		if(!pipeline){
+			Bprint(&imap->bout, "9X%lud UID FETCH %lud (UID RFC822.SIZE BODY[])\r\n",
+				(ulong)imap->tag, (ulong)m->imapuid);
+			Bflush(&imap->bout);
+		}
+
 		if(s = imap4fetch(mb, m)){
 			// message disappeared?  unchain
 			fprint(2, "download %lud: %s\n", (ulong)m->imapuid, s);
@@ -630,7 +638,8 @@ imap4read(Imap *imap, Mailbox *mb, int doplumb)
 		if(doplumb)
 			mailplumb(mb, m, 0);
 	}
-	waitpid();
+	if(pipeline)
+		waitpid();
 
 	if(nnew || mb->vers == 0){
 		mb->vers++;

+ 1 - 1
sys/src/cmd/upas/mkfile

@@ -1,7 +1,7 @@
 </$objtype/mkfile
 
 LIBS=common
-PROGS=smtp alias fs ned misc q send scanmail pop3 ml marshal vf filterkit
+PROGS=smtp alias fs ned misc q send scanmail pop3 ml marshal vf filterkit unesc
 #libs must be made first
 DIRS=$LIBS $PROGS
 

+ 8 - 31
sys/src/cmd/upas/ned/nedmail.c

@@ -722,18 +722,8 @@ snprintheader(char *buf, int len, Message *m)
 			m->filename);
 	} else if(*m->subject){
 		q = p = strdup(m->subject);
-		for(;;){
-			while(*p == ' ')
-				p++;
-			if(cistrncmp(p, "re:", 3) == 0)
-				p += 3;
-			else if(cistrncmp(p, "fwd:", 4) == 0)
-				p += 4;
-			else if(cistrncmp(p, "fw:", 4) == 0)
-				p += 3;
-			else
-				break;
-		}
+		while(*p == ' ')
+			p++;
 		if(strlen(p) > 50)
 			p[50] = 0;
 		cracktime(m->date, timebuf, sizeof(timebuf));
@@ -1894,8 +1884,7 @@ int
 appendtofile(Message *m, char *part, char *base, int mbox)
 {
 	String *file, *h;
-	int n, in, out, rv;
-	char buf[4096];
+	int in, out, rv;
 
 	file = extendpath(m->path, part);
 	in = open(s_to_c(file), OREAD);
@@ -1925,6 +1914,7 @@ appendtofile(Message *m, char *part, char *base, int mbox)
 		if(out < 0){
 			fprint(2, "!can't open %s: %r\n", s_to_c(file));
 			close(in);
+			s_free(file);
 			return -1;
 		}
 	}
@@ -1940,24 +1930,11 @@ appendtofile(Message *m, char *part, char *base, int mbox)
 		s_free(h);
 	}
 
-	rv = 0;
-	for(;;){
-		n = read(in, buf, sizeof(buf));
-		if(n < 0){
-			fprint(2, "!error reading file: %r\n");
-			rv = -1;
-			break;
-		}
-		if(n == 0)
-			break;
-		if(write(out, buf, n) != n){
-			fprint(2, "!error writing file: %r\n");
-			rv = -1;
-			break;
-		}
-	}
+	// copy the message escaping what we have to ad adding newlines if we have to
 	if(mbox)
-		write(out, "\n", 1);
+		rv = appendfiletombox(in, out);
+	else
+		rv = appendfiletofile(in, out);
 
 	close(in);
 	close(out);

+ 17 - 0
sys/src/cmd/upas/unesc/mkfile

@@ -0,0 +1,17 @@
+</$objtype/mkfile
+
+TARG=unesc
+
+OFILES=unesc.$O\
+
+BIN=/$objtype/bin/upas
+
+CC=pcc -c
+CFLAGS=-B
+
+UPDATE=\
+	mkfile\
+	$HFILES\
+	${OFILES:%.$O=%.c}\
+
+</sys/src/cmd/mkone

+ 48 - 0
sys/src/cmd/upas/unesc/unesc.c

@@ -0,0 +1,48 @@
+/*
+ *	upas/unesc - interpret =?foo?bar?=char?= escapes
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+hex(int c)
+{
+	if('0' <= c && c <= '9')
+		return c - '0';
+	if('A' <= c && c <= 'F')
+		return c - 'A' + 10;
+	if('a' <= c && c <= 'f')
+		return c - 'a' + 10;
+	return 0;
+}
+
+void
+main(int argc, char **argv)
+{
+	int c;
+
+	while((c=getchar()) != EOF){
+		if(c == '='){
+			if((c=getchar()) == '?'){
+				while((c=getchar()) != EOF && c != '?')
+					continue;
+				while((c=getchar()) != EOF && c != '?')
+					continue;
+				while((c=getchar()) != EOF && c != '?'){
+					if(c == '='){
+						c = hex(getchar()) << 4;
+						c |= hex(getchar());
+					}
+					putchar(c);
+				}
+				(void) getchar();	/* consume '=' */
+			}else{
+				putchar('=');
+				putchar(c);
+			}
+		}else
+			putchar(c);
+	}
+	exit(0);
+}