From 1d6633f662a234913e9b167be32dcb8619c072bb Mon Sep 17 00:00:00 2001 From: David Brownlee Date: Tue, 3 Jan 2017 20:37:51 +0000 Subject: [PATCH] Original 4.3BSD-Quasijarus0b release notes 4.3BSD-Quasijarus0b was released on 2003-12-07. The major changes from 4.3BSD-Quasijarus0a to 4.3BSD-Quasijarus0b are: * Y2K fixes throughout the system. * Fix for a critical bug in c2, the peephole optimiser, which caused it under certain circumstances to throw out instructions loading registers which were later used in deferred or indexed addressing modes. The resulting misoptimised code thus dereferenced bogus addresses, dumping core or even worse, behaving unpredictably. Many other minor bugs have also been fixed in c2. Since all system binaries are compiled with -O this potentially affects every binary in the system. * As(1) now automatically chooses between byte branches, word branches, and long jumps, and ignores the -J option. It now also provides relaxed forms of SOB, AOB, and ACB instructions, which are now used by c2. * Cc(1) -J option causes switch tables to be generated in long form like on Sun3. * A number of tables have been enlarged in the C compiler and preprocessor. * When emulating CRC, MATCHC, and MOVTUC instructions on uVAXen the registers and condition codes were being set incorrectly in some corner cases. This has been fixed. * A security hole in kernel affecting VAX CPUs without PDP-11 compatibility mode support (uVAXen and VAX 8200) has been plugged. The hole allowed any ordinary unprivileged user who is able to run programs on the machine to cause a kernel panic by giving PSL=1 to the sigreturn(2) system call. * A kernel panic-causing bug in TCP has been fixed. The kernel could panic if a setsockopt(2) was attempted on a TCP socket that had its connection reset. Fix from 4.4BSD. * Support for DEC DSV11 point-to-point links using Cisco HDLC protocol. * Sendmail cf files: the prophecy has come true. HOSTS.TXT is gone, everyone uses DNS, and there are no more NIC-registered hosts to worry about. * Several new MSCP disks have been added to the distributed /etc/disktab and to the compiled-in disk tables in the uda(4) and kdb(4) drivers. * The MicroVAX boot code no longer requires the boot disk to be unit 0. It must still be on the first MSCP controller, though. * An RX50 console floppy is now available for the standard system to bootstrap on a VAX 8200. Unfortunately a bug has crept into the released standalone system breaking cold installation. 4.3BSD-Quasijarus0c has been released as a fix. @(#)0b.html 1.2 04/02/15 Michael Sokolov msokolov@ivan.Harhan.ORG --- bin/adb/adb.vax/Makefile | 6 +- bin/as/as.vax/Makefile | 6 +- bin/as/as.vax/as.h | 5 +- bin/as/as.vax/ascode.c | 8 +- bin/as/as.vax/asjxxx.c | 438 +- bin/as/as.vax/asmain.c | 11 +- bin/as/as.vax/aspseudo.c | 7 +- bin/as/as.vax/instrs | 90 +- bin/cc.c | 11 +- bin/date.c | 12 +- doc/smm/00.contents | 9 +- doc/smm/01.setup/0.t | 80 + doc/smm/01.setup/1.t | 407 ++ doc/smm/01.setup/2.t | 953 ++++ doc/smm/01.setup/3.t | 677 +++ doc/smm/01.setup/4.t | 1331 +++++ doc/smm/01.setup/5.t | 594 +++ doc/smm/01.setup/6.t | 636 +++ doc/smm/01.setup/Makefile | 29 +- doc/smm/01.setup/a.t | 323 ++ doc/smm/01.setup/b.t | 290 ++ doc/smm/01.setup/c.t | 227 + doc/smm/01.setup/spell.ok | 671 +++ doc/smm/01.setup/tahoe/vaxhints.t | 307 ++ doc/smm/23.qjchanges/0a.t | 77 + doc/smm/23.qjchanges/0b.t | 78 + doc/smm/23.qjchanges/Makefile | 32 + doc/smm/23.qjchanges/title.t | 35 + doc/usd/24.troff/m0a | 3 +- etc/ftpd/ftpd.c | 16 +- etc/talkd/Makefile | 6 +- etc/talkd/process.c | 16 +- etc/termcap/reorder | 5 +- etc/termcap/termcap.src | 64 +- etc/tzone/Makefile | 4 +- files.txt | 1364 ++--- lib/c2/c2.vax/Makefile | 6 +- lib/c2/c2.vax/c2.h | 12 +- lib/c2/c2.vax/c20.c | 6 +- lib/c2/c2.vax/c21.c | 229 +- lib/cpp/cpp.c | 8 +- lib/mip/config.h | 8 +- lib/pcc/pcc.vax/code.c | 63 +- man/man1/Makefile | 62 +- man/man1/admin.1 | 8 +- man/man1/as.1 | 14 +- man/man1/bdiff.1 | 6 +- man/man1/cc.1 | 26 +- man/man1/chghist.1 | 8 +- man/man1/comb.1 | 8 +- man/man1/compress.1 | 110 +- man/man1/date.1 | 14 +- man/man1/delta.1 | 8 +- man/man1/ftp.1 | 16 +- man/man1/get.1 | 8 +- man/man1/gzcompat.1 | 39 + man/man1/prt.1 | 18 +- man/man1/rmdel.1 | 8 +- man/man1/sccs.1 | 6 +- man/man1/sccsdiff.1 | 8 +- man/man1/sccshelp.1 | 70 + man/man1/what.1 | 8 +- man/man8/Makefile | 4 +- man/man8/zdump.8 | 42 + man/man8/zic.8 | 294 ++ qjchanges.txt | 198 + setup.txt | 6477 ++++++++++++++++++++++++ sys/GENERIC/Makefile | 6 +- sys/GENERIC/autoconf.o | Bin 14585 -> 14582 bytes sys/GENERIC/bi.o | Bin 802 -> 835 bytes sys/GENERIC/clock.o | Bin 2170 -> 2199 bytes sys/GENERIC/cons.o | Bin 3255 -> 3288 bytes sys/GENERIC/cpudata.o | Bin 2944 -> 2977 bytes sys/GENERIC/crl.o | Bin 2937 -> 2966 bytes sys/GENERIC/dh.o | Bin 7540 -> 7540 bytes sys/GENERIC/dhu.o | Bin 6471 -> 6471 bytes sys/GENERIC/dkbad.o | Bin 393 -> 393 bytes sys/GENERIC/dmf.o | Bin 6577 -> 6577 bytes sys/GENERIC/dmx.o | Bin 5116 -> 5108 bytes sys/GENERIC/dmz.o | Bin 4767 -> 4763 bytes sys/GENERIC/dsv.h | 1 + sys/GENERIC/dz.o | Bin 8080 -> 8076 bytes sys/GENERIC/emulate.o | Bin 2830 -> 2846 bytes sys/GENERIC/flp.o | Bin 2852 -> 2877 bytes sys/GENERIC/hp.o | Bin 13441 -> 13425 bytes sys/GENERIC/ht.o | Bin 6004 -> 6021 bytes sys/GENERIC/idc.o | Bin 12923 -> 12932 bytes sys/GENERIC/idp_usrreq.o | Bin 3765 -> 3757 bytes sys/GENERIC/if_de.o | Bin 7983 -> 8004 bytes sys/GENERIC/if_ec.o | Bin 7675 -> 7696 bytes sys/GENERIC/if_ether.o | Bin 4982 -> 4978 bytes sys/GENERIC/if_ex.o | Bin 7615 -> 7644 bytes sys/GENERIC/if_il.o | Bin 7099 -> 7132 bytes sys/GENERIC/if_qe.o | Bin 8265 -> 8306 bytes sys/GENERIC/if_uba.o | Bin 4202 -> 4194 bytes sys/GENERIC/in.o | Bin 3320 -> 3320 bytes sys/GENERIC/init_main.o | Bin 6077 -> 6110 bytes sys/GENERIC/ip_icmp.o | Bin 4239 -> 4231 bytes sys/GENERIC/ip_input.o | Bin 7987 -> 7967 bytes sys/GENERIC/ip_output.o | Bin 3337 -> 3333 bytes sys/GENERIC/ka630.o | Bin 1883 -> 1916 bytes sys/GENERIC/ka650.o | Bin 3988 -> 4021 bytes sys/GENERIC/ka730.o | Bin 1084 -> 1117 bytes sys/GENERIC/ka750.o | Bin 1067 -> 1100 bytes sys/GENERIC/ka780.o | Bin 1191 -> 1224 bytes sys/GENERIC/ka820.o | Bin 2868 -> 2901 bytes sys/GENERIC/ka860.o | Bin 1825 -> 1858 bytes sys/GENERIC/kdb.o | Bin 15119 -> 15309 bytes sys/GENERIC/kern_clock.o | Bin 4363 -> 4359 bytes sys/GENERIC/kern_descrip.o | Bin 4594 -> 4586 bytes sys/GENERIC/kern_exec.o | Bin 6485 -> 6485 bytes sys/GENERIC/kern_malloc.o | Bin 3481 -> 3477 bytes sys/GENERIC/kern_mman.o | Bin 3973 -> 4006 bytes sys/GENERIC/kern_sig.o | Bin 6668 -> 6664 bytes sys/GENERIC/kern_synch.o | Bin 4648 -> 4648 bytes sys/GENERIC/kern_time.o | Bin 3423 -> 3456 bytes sys/GENERIC/locore.o | Bin 80707 -> 80807 bytes sys/GENERIC/lp.o | Bin 3636 -> 3632 bytes sys/GENERIC/machdep.o | Bin 10564 -> 10617 bytes sys/GENERIC/mba.o | Bin 4580 -> 4576 bytes sys/GENERIC/mem.o | Bin 2710 -> 2706 bytes sys/GENERIC/mscp.o | Bin 6724 -> 6720 bytes sys/GENERIC/mt.o | Bin 7361 -> 7378 bytes sys/GENERIC/ns_cksum.o | Bin 726 -> 718 bytes sys/GENERIC/ns_error.o | Bin 2911 -> 2907 bytes sys/GENERIC/ns_input.o | Bin 5661 -> 5653 bytes sys/GENERIC/ns_pcb.o | Bin 3315 -> 3315 bytes sys/GENERIC/param.o | Bin 2179 -> 2179 bytes sys/GENERIC/qd.o | Bin 25906 -> 25883 bytes sys/GENERIC/quota_kern.o | Bin 5258 -> 5254 bytes sys/GENERIC/qv.o | Bin 9639 -> 9660 bytes sys/GENERIC/rk.o | Bin 9644 -> 9657 bytes sys/GENERIC/rl.o | Bin 7301 -> 7322 bytes sys/GENERIC/route.o | Bin 3043 -> 3027 bytes sys/GENERIC/rx50.o | Bin 1929 -> 1954 bytes sys/GENERIC/spp_usrreq.o | Bin 11672 -> 11656 bytes sys/GENERIC/subr_prf.o | Bin 4454 -> 4438 bytes sys/GENERIC/subr_rmap.o | Bin 2619 -> 2607 bytes sys/GENERIC/swapgeneric.o | Bin 3106 -> 3106 bytes sys/GENERIC/sys_generic.o | Bin 4839 -> 4831 bytes sys/GENERIC/sys_inode.o | Bin 6667 -> 6659 bytes sys/GENERIC/sys_process.o | Bin 3786 -> 3770 bytes sys/GENERIC/tcp_input.o | Bin 7800 -> 7776 bytes sys/GENERIC/tcp_usrreq.o | Bin 3774 -> 3834 bytes sys/GENERIC/tm.o | Bin 7907 -> 7932 bytes sys/GENERIC/tmscp.o | Bin 13963 -> 13960 bytes sys/GENERIC/trap.o | Bin 4019 -> 4039 bytes sys/GENERIC/ts.o | Bin 7974 -> 8003 bytes sys/GENERIC/tty.o | Bin 12097 -> 12049 bytes sys/GENERIC/tty_pty.o | Bin 5491 -> 5479 bytes sys/GENERIC/tty_subr.o | Bin 3210 -> 3206 bytes sys/GENERIC/tu.o | Bin 8386 -> 8403 bytes sys/GENERIC/uba.o | Bin 7165 -> 7194 bytes sys/GENERIC/uda.o | Bin 19357 -> 20770 bytes sys/GENERIC/ufs_alloc.o | Bin 12675 -> 12655 bytes sys/GENERIC/ufs_bmap.o | Bin 2828 -> 2816 bytes sys/GENERIC/ufs_inode.o | Bin 6165 -> 6145 bytes sys/GENERIC/ufs_namei.o | Bin 8344 -> 8332 bytes sys/GENERIC/ufs_subr.o | Bin 4528 -> 4528 bytes sys/GENERIC/ufs_syscalls.o | Bin 11877 -> 11869 bytes sys/GENERIC/uipc_mbuf.o | Bin 5764 -> 5760 bytes sys/GENERIC/uipc_socket.o | Bin 7551 -> 7527 bytes sys/GENERIC/uipc_usrreq.o | Bin 5843 -> 5831 bytes sys/GENERIC/up.o | Bin 10219 -> 10228 bytes sys/GENERIC/ut.o | Bin 7805 -> 7826 bytes sys/GENERIC/vers.c | 4 +- sys/GENERIC/vers.o | Bin 275 -> 295 bytes sys/GENERIC/version | 2 +- sys/GENERIC/vm_drum.o | Bin 4730 -> 4730 bytes sys/GENERIC/vm_machdep.o | Bin 3095 -> 3095 bytes sys/GENERIC/vm_mem.o | Bin 7151 -> 7180 bytes sys/GENERIC/vm_page.o | Bin 12190 -> 12299 bytes sys/GENERIC/vm_proc.o | Bin 4840 -> 4873 bytes sys/GENERIC/vm_pt.o | Bin 6055 -> 6051 bytes sys/GENERIC/vm_sched.o | Bin 5772 -> 5768 bytes sys/GENERIC/vm_swap.o | Bin 4671 -> 4700 bytes sys/GENERIC/vm_text.o | Bin 5522 -> 5555 bytes sys/GENERIC/vmunix | Bin 484352 -> 485376 bytes sys/cassette/boot | Bin 34680 -> 35096 bytes sys/cassette/copy | Bin 38952 -> 39360 bytes sys/cassette/drtest | Bin 27224 -> 27224 bytes sys/cassette/format | Bin 32400 -> 32400 bytes sys/conf/GENERIC.allvax | 2 +- sys/conf/GENERIC.vax | 2 +- sys/conf/IFCTFVAX | 38 + sys/conf/IVAN | 37 + sys/conf/LUTHIEN | 9 +- sys/conf/MICROVAXII | 2 +- sys/conf/files.vax | 1 + sys/consolerl/boot | Bin 34680 -> 35096 bytes sys/consolerl/copy | Bin 38952 -> 39360 bytes sys/consolerl/drtest | Bin 27224 -> 27224 bytes sys/consolerl/format | Bin 32400 -> 32400 bytes sys/floppy/boot | Bin 34680 -> 35096 bytes sys/floppy/copy | Bin 38952 -> 39360 bytes sys/floppy/drtest | Bin 27224 -> 27224 bytes sys/floppy/format | Bin 32400 -> 32400 bytes sys/h/time.h | 7 +- sys/mdec/boot58/boot58.exe | Bin 0 -> 11776 bytes sys/mdec/boot58/bootblk | Bin 0 -> 512 bytes sys/mdec/boot58/consol.hlp | Bin 0 -> 2560 bytes sys/net/if_hdlc.h | 38 + sys/netinet/tcp_usrreq.c | 19 +- sys/rx50/Makefile | 32 + sys/rx50/anyboo.cmd | 6 + sys/rx50/boot | Bin 0 -> 35096 bytes sys/rx50/boot58.exe | 1 + sys/rx50/bootblk | 1 + sys/rx50/consol.hlp | 1 + sys/rx50/copy | Bin 0 -> 39360 bytes sys/rx50/defboo.cmd | 8 + sys/rx50/drtest | Bin 0 -> 27224 bytes sys/rx50/format | Bin 0 -> 32400 bytes sys/rx50/sngboo.cmd | 8 + sys/sys/vm_page.c | 6 +- sys/vax/autoconf.c | 3 +- sys/vax/cpu.h | 4 +- sys/vax/cpudata.c | 16 +- sys/vax/emulate.s | 109 +- sys/vax/inline/inline | Bin 26624 -> 26624 bytes sys/vax/inline/libcpats.o | Bin 932 -> 932 bytes sys/vax/inline/machdep.o | Bin 5063 -> 5063 bytes sys/vax/inline/machpats.o | Bin 2913 -> 2913 bytes sys/vax/inline/main.o | Bin 4424 -> 4420 bytes sys/vax/kdb_instrs | 1 + sys/vax/machdep.c | 9 +- sys/vax/trap.c | 14 +- sys/vax/vmparam.h | 3 +- sys/vaxbi/kdb.c | 20 +- sys/vaxdist/disktab | 158 +- sys/vaxdist/maketape | 46 +- sys/vaxdist/motd | 2 +- sys/vaxdist/tp/boot | Bin 39892 -> 40304 bytes sys/vaxdist/tp/copy | Bin 38952 -> 39360 bytes sys/vaxdist/tp/format | Bin 32396 -> 32328 bytes sys/vaxif/if_dmc.c | 4 +- sys/vaxif/if_dmv.c | 4 +- sys/vaxif/if_dsv.c | 1048 ++++ sys/vaxif/if_dsvreg.h | 260 + sys/vaxif/if_qe.c | 13 +- sys/vaxstand/Makefile | 32 +- sys/vaxstand/autoconf.o | Bin 3695 -> 3675 bytes sys/vaxstand/boot | Bin 41984 -> 43008 bytes sys/vaxstand/boot.o | Bin 2229 -> 2225 bytes sys/vaxstand/boothk | Bin 6560 -> 6564 bytes sys/vaxstand/boothp | Bin 7608 -> 6616 bytes sys/vaxstand/bootkra | Bin 6596 -> 6108 bytes sys/vaxstand/bootra | Bin 7460 -> 6876 bytes sys/vaxstand/bootrl | Bin 6768 -> 6768 bytes sys/vaxstand/bootup | Bin 7588 -> 7152 bytes sys/vaxstand/cat | Bin 47104 -> 48128 bytes sys/vaxstand/copy | Bin 48128 -> 48128 bytes sys/vaxstand/copy.o | Bin 727 -> 723 bytes sys/vaxstand/dkbad.o | Bin 167 -> 167 bytes sys/vaxstand/drtest | Bin 32768 -> 32768 bytes sys/vaxstand/drtest.o | Bin 1200 -> 1200 bytes sys/vaxstand/format | Bin 38912 -> 38912 bytes sys/vaxstand/format.o | Bin 8559 -> 8563 bytes sys/vaxstand/hp.o | Bin 5622 -> 5618 bytes sys/vaxstand/hpmaptype.o | Bin 1568 -> 1564 bytes sys/vaxstand/ht.o | Bin 1351 -> 1351 bytes sys/vaxstand/idc.o | Bin 1773 -> 1773 bytes sys/vaxstand/kdb.c | 4 +- sys/vaxstand/kdb.o | Bin 2349 -> 2420 bytes sys/vaxstand/libsa.a | Bin 71126 -> 72146 bytes sys/vaxstand/ls | Bin 48128 -> 48128 bytes sys/vaxstand/ls.o | Bin 868 -> 868 bytes sys/vaxstand/prf.o | Bin 1143 -> 1131 bytes sys/vaxstand/qdcons.o | Bin 6264 -> 6252 bytes sys/vaxstand/qvcons.o | Bin 3034 -> 3026 bytes sys/vaxstand/relsrt0.o | Bin 913 -> 917 bytes sys/vaxstand/rl.o | Bin 1953 -> 1949 bytes sys/vaxstand/sm_hp.o | Bin 1574 -> 1511 bytes sys/vaxstand/sm_kdb.o | Bin 0 -> 1507 bytes sys/vaxstand/sm_sys.o | Bin 4087 -> 4123 bytes sys/vaxstand/sm_uda.o | Bin 0 -> 1913 bytes sys/vaxstand/sm_up.o | Bin 2638 -> 2587 bytes sys/vaxstand/srt0.c | 11 +- sys/vaxstand/srt0.o | Bin 746 -> 754 bytes sys/vaxstand/sys.o | Bin 5963 -> 5995 bytes sys/vaxstand/tpboot | Bin 39892 -> 40304 bytes sys/vaxstand/tpboot.o | Bin 2091 -> 2087 bytes sys/vaxstand/tpcopy | Bin 38952 -> 39360 bytes sys/vaxstand/tpformat | Bin 32396 -> 32328 bytes sys/vaxstand/tpformat.o | Bin 8555 -> 8563 bytes sys/vaxstand/tpsrt0.o | Bin 746 -> 754 bytes sys/vaxstand/ts.o | Bin 1873 -> 1873 bytes sys/vaxstand/uda.c | 26 +- sys/vaxstand/uda.o | Bin 2911 -> 3697 bytes sys/vaxstand/up.o | Bin 5327 -> 5315 bytes sys/vaxstand/upmaptype.o | Bin 870 -> 866 bytes sys/vaxstand/ut.o | Bin 1570 -> 1566 bytes sys/vaxuba/dh.c | 8 +- sys/vaxuba/dhu.c | 10 +- sys/vaxuba/dhureg.h | 4 +- sys/vaxuba/uda.c | 132 +- ucb/compress/compress.c | 181 +- ucb/compress/gzcompat.c | 138 +- ucb/ftp/cmds.c | 9 +- ucb/sccs.c | 5 +- ucb/talk/Makefile | 2 +- ucb/talk/get_addrs.c | 24 +- ucb/w.c | 31 +- usr.bin/at/Makefile | 15 +- usr.bin/at/at.c | 29 +- usr.bin/at/atq.c | 13 +- usr.bin/at/atrm.c | 4 +- usr.bin/at/atrun.c | 13 +- usr.bin/roff/common_source/n1.c | 8 +- usr.bin/roff/common_source/ni.c | 5 +- usr.bin/roff/common_source/tdef.h | 4 +- usr.bin/roff/common_source/v.h | 4 +- usr.bin/sccscmds/cmd/get.c | 15 +- usr.bin/sccscmds/cmd/makefile | 4 +- usr.bin/sccscmds/cmd/prs.c | 689 ++- usr.bin/sccscmds/cmd/prt.c | 12 +- usr.bin/sccscmds/com/date_ab.c | 10 +- usr.bin/sccscmds/com/date_ba.c | 4 +- usr.bin/sccscmds/util/Makefile | 4 +- usr.bin/sccscmds/util/index.c | 42 + usr.lib/Makefile | 4 +- usr.lib/libF77/Version | Bin 4731 -> 4731 bytes usr.lib/libF77/Version.c | 2 +- usr.lib/libF77/profiled/Version | Bin 4731 -> 4731 bytes usr.lib/libI77/Version | Bin 1319 -> 1319 bytes usr.lib/libI77/Version.c | 2 +- usr.lib/libI77/profiled/Version | Bin 1319 -> 1319 bytes usr.lib/libU77/Version | Bin 1963 -> 1963 bytes usr.lib/libU77/Version.c | 2 +- usr.lib/libU77/profiled/Version | Bin 1963 -> 1963 bytes usr.lib/libcurses/cr_put.c | 4 +- usr.lib/libz/ChangeLog | 239 + usr.lib/libz/Makefile | 20 +- usr.lib/libz/README | 99 + usr.lib/libz/algorithm.doc | 105 + usr.lib/man/tmac.an.new | 10 +- usr.lib/me/tmac.e | 6 +- usr.lib/ms/Makefile | 31 + usr.lib/ms/acc.ms | 80 + usr.lib/ms/cov.ms | 257 + usr.lib/ms/eqn.ms | 58 + usr.lib/ms/ref.ms | 156 + usr.lib/ms/tbl.ms | 83 + usr.lib/ms/ths.ms | 24 + usr.lib/ms/tmac.s | 1025 ++++ usr.lib/ms/tmac.scover | 323 ++ usr.lib/ms/tmac.sdisp | 60 + usr.lib/ms/tmac.skeep | 80 + usr.lib/ms/tmac.srefs | 137 + usr.lib/ms/toc.ms | 105 + usr.lib/sendmail/Makefile | 4 +- usr.lib/sendmail/cf/cf/Makefile | 22 +- usr.lib/sendmail/cf/cf/baretcpproto.mc | 11 + usr.lib/sendmail/cf/cf/harhantcp.mc | 10 + usr.lib/sendmail/cf/cf/proto.mc | 20 +- usr.lib/sendmail/cf/cf/tcpproto.mc | 5 +- usr.lib/sendmail/cf/m4/boilerplate.m4 | 4 +- usr.lib/sendmail/cf/m4/nsmacros.m4 | 9 +- usr.lib/sendmail/cf/m4/rule0.m4 | 10 +- usr.lib/sendmail/cf/m4/smtpm.m4 | 66 + usr.lib/sendmail/cf/m4/smtpuucpm.m4 | 4 +- usr.lib/sendmail/cf/m4/version.m4 | 4 +- usr.lib/sendmail/doc/intro.me | 2 +- usr.lib/sendmail/doc/op.me | 2 +- usr.lib/sendmail/src/Version.c | 21 +- usr.lib/sendmail/src/daemon.c | 29 +- usr.lib/sendmail/src/deliver.c | 5 +- usr.lib/sendmail/src/envelope.c | 8 +- usr.lib/sendmail/src/sendmail.h | 5 +- usr.lib/sendmail/src/srvrsmtp.c | 59 +- usr.lib/sendmail/src/version.c | 4 +- 371 files changed, 21420 insertions(+), 1853 deletions(-) create mode 100644 doc/smm/01.setup/0.t create mode 100644 doc/smm/01.setup/1.t create mode 100644 doc/smm/01.setup/2.t create mode 100644 doc/smm/01.setup/3.t create mode 100644 doc/smm/01.setup/4.t create mode 100644 doc/smm/01.setup/5.t create mode 100644 doc/smm/01.setup/6.t create mode 100644 doc/smm/01.setup/a.t create mode 100644 doc/smm/01.setup/b.t create mode 100644 doc/smm/01.setup/c.t create mode 100644 doc/smm/01.setup/spell.ok create mode 100644 doc/smm/01.setup/tahoe/vaxhints.t create mode 100644 doc/smm/23.qjchanges/0a.t create mode 100644 doc/smm/23.qjchanges/0b.t create mode 100644 doc/smm/23.qjchanges/Makefile create mode 100644 doc/smm/23.qjchanges/title.t create mode 100644 man/man1/gzcompat.1 create mode 100644 man/man1/sccshelp.1 create mode 100644 man/man8/zdump.8 create mode 100644 man/man8/zic.8 create mode 100644 qjchanges.txt create mode 100644 setup.txt create mode 100644 sys/GENERIC/dsv.h create mode 100644 sys/conf/IFCTFVAX create mode 100644 sys/conf/IVAN create mode 100644 sys/mdec/boot58/boot58.exe create mode 100644 sys/mdec/boot58/bootblk create mode 100644 sys/mdec/boot58/consol.hlp create mode 100644 sys/net/if_hdlc.h create mode 100644 sys/rx50/Makefile create mode 100644 sys/rx50/anyboo.cmd create mode 100644 sys/rx50/boot create mode 120000 sys/rx50/boot58.exe create mode 120000 sys/rx50/bootblk create mode 120000 sys/rx50/consol.hlp create mode 100644 sys/rx50/copy create mode 100644 sys/rx50/defboo.cmd create mode 100644 sys/rx50/drtest create mode 100644 sys/rx50/format create mode 100644 sys/rx50/sngboo.cmd create mode 100644 sys/vaxif/if_dsv.c create mode 100644 sys/vaxif/if_dsvreg.h create mode 100644 sys/vaxstand/sm_kdb.o create mode 100644 sys/vaxstand/sm_uda.o create mode 100644 usr.bin/sccscmds/util/index.c create mode 100644 usr.lib/libz/ChangeLog create mode 100644 usr.lib/libz/README create mode 100644 usr.lib/libz/algorithm.doc create mode 100644 usr.lib/ms/Makefile create mode 100644 usr.lib/ms/acc.ms create mode 100644 usr.lib/ms/cov.ms create mode 100644 usr.lib/ms/eqn.ms create mode 100644 usr.lib/ms/ref.ms create mode 100644 usr.lib/ms/tbl.ms create mode 100644 usr.lib/ms/ths.ms create mode 100644 usr.lib/ms/tmac.s create mode 100644 usr.lib/ms/tmac.scover create mode 100644 usr.lib/ms/tmac.sdisp create mode 100644 usr.lib/ms/tmac.skeep create mode 100644 usr.lib/ms/tmac.srefs create mode 100644 usr.lib/ms/toc.ms create mode 100644 usr.lib/sendmail/cf/cf/baretcpproto.mc create mode 100644 usr.lib/sendmail/cf/cf/harhantcp.mc create mode 100644 usr.lib/sendmail/cf/m4/smtpm.m4 diff --git a/bin/adb/adb.vax/Makefile b/bin/adb/adb.vax/Makefile index 1ec5bfe8..e6911f5b 100644 --- a/bin/adb/adb.vax/Makefile +++ b/bin/adb/adb.vax/Makefile @@ -3,7 +3,7 @@ # All rights reserved. The Berkeley software License Agreement # specifies the terms and conditions for redistribution. # -# @(#)Makefile 5.1 (Berkeley) 6/5/87 +# @(#)Makefile 5.2 (Berkeley) 8/29/00 # LIBC= /lib/libc.a DFLAGS= -DADB @@ -33,9 +33,9 @@ instrs.adb: ${AS}/instrs (echo FLAVOR ADB; cat ${AS}/instrs) | awk -f ${AS}/instrs > instrs.adb clean: FRC - rm -f ${OBJS} core adb + rm -f ${OBJS} core adb instrs.adb -depend: FRC +depend: instrs.adb FRC mkdep ${CFLAGS} -I. -I${AS} ${SRCS} install: FRC diff --git a/bin/as/as.vax/Makefile b/bin/as/as.vax/Makefile index 0d0317a2..ac56b515 100644 --- a/bin/as/as.vax/Makefile +++ b/bin/as/as.vax/Makefile @@ -3,7 +3,7 @@ # All rights reserved. The Berkeley software License Agreement # specifies the terms and conditions for redistribution. # -# @(#)Makefile 5.5 (Berkeley) 6/2/87 +# @(#)Makefile 5.6 (Berkeley) 8/28/00 # # as.h Definitions for data structures # asnumber.h Definitions for all numbers: byte .. G format float @@ -101,9 +101,9 @@ lint: FRC lint ${CFLAGS} ${SRCS} clean: FRC - rm -f ${OBJS} instrs.as as core a.out errs + rm -f ${OBJS} astoks.h instrs.as as core a.out errs -depend: instrs.as FRC +depend: astoks.h instrs.as FRC mkdep ${CFLAGS} ${SRCS} install: FRC diff --git a/bin/as/as.vax/as.h b/bin/as/as.vax/as.h index f3b7b5dc..14d30ed0 100644 --- a/bin/as/as.vax/as.h +++ b/bin/as/as.vax/as.h @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)as.h 5.3 (Berkeley) 7/6/85 + * @(#)as.h 5.5 (Berkeley) 11/8/03 */ #define reg register @@ -193,7 +193,7 @@ struct symtab{ * Redefinitions of the fields in symtab for * use when the symbol table entry marks a jxxx instruction. */ -#define s_jxbump s_ptype /* tag == JX..., how far to expand */ +#define s_jxstate s_ptype /* tag == JX..., relaxation state */ #define s_jxfear s_desc /* how far needs to be bumped */ /* * Redefinitions of fields in the struct nlist for symbols so that @@ -421,7 +421,6 @@ struct strdesc *savestr(); extern int savelabels; /*save labels in a.out*/ extern int orgwarn; /* questionable origin ? */ extern int useVM; /*use virtual memory temp file*/ - extern int jxxxJUMP; /*use jmp instead of brw for jxxx */ extern int readonlydata; /*initialized data into text space*/ extern int nGHnumbers; /* GH numbers used */ extern int nGHopcodes; /* GH opcodes used */ diff --git a/bin/as/as.vax/ascode.c b/bin/as/as.vax/ascode.c index 3676854e..125a52d5 100644 --- a/bin/as/as.vax/ascode.c +++ b/bin/as/as.vax/ascode.c @@ -5,7 +5,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)ascode.c 5.1 (Berkeley) 4/24/85"; +static char sccsid[] = "@(#)ascode.c 5.2 (Berkeley) 8/29/00"; #endif not lint #include @@ -107,8 +107,6 @@ insout(opcode, ap, nact) putins(opcode, ap, nact); } -extern int d124; - putins(opcode, ap, n) struct Opcode opcode; register struct arg *ap; @@ -258,7 +256,7 @@ putins(opcode, ap, n) yywarning("%s: destination label is external", FETCHNAME(ITABFETCH(opcode))); if (!ISBYTE(argtype)) - yyerror("%s: Branch too far(%db): try -J flag", + yyerror("%s: Branch too far(%db)", FETCHNAME(ITABFETCH(opcode)), argtype); break; @@ -271,7 +269,7 @@ putins(opcode, ap, n) FETCHNAME(ITABFETCH(opcode))); xp->e_xtype = XABS; if (!ISWORD(argtype)) - yyerror("%s: Branch too far(%db): try -J flag", + yyerror("%s: Branch too far(%db)", FETCHNAME(ITABFETCH(opcode)), argtype); xp->e_xvalue = argtype>>8; diff --git a/bin/as/as.vax/asjxxx.c b/bin/as/as.vax/asjxxx.c index d989497e..6764c207 100644 --- a/bin/as/as.vax/asjxxx.c +++ b/bin/as/as.vax/asjxxx.c @@ -5,28 +5,50 @@ */ #ifndef lint -static char sccsid[] = "@(#)asjxxx.c 5.4 (Berkeley) 12/11/87"; +static char sccsid[] = "@(#)asjxxx.c 5.9 (Berkeley) 11/8/03"; #endif not lint #include #include "as.h" #include "assyms.h" -#define JBR 0x11 +/* These are the opcodes involved in relaxation. */ +#define BRB 0x11 #define BRW 0x31 #define JMP 0x17 +#define DECL 0xD7 +#define BLEQ 0x15 +#define BLSS 0x19 +#define SOBGTR 0xF5 +#define SOBGEQ 0xF4 +#define AOBLSS 0xF2 +#define AOBLEQ 0xF3 +#define ACBB 0x9D +#define ACBW 0x3D +#define ACBL 0xF1 +#define ACBF 0x4F /* also ACBG */ +#define ACBD 0x6F /* also ACBH */ -/* - * The number of bytes to add if the jxxx must be "exploded" - * into the long form - */ -#define JBRDELTA 1 /* brb ==> brw */ -#define JXXXDELTA 3 /* brb ==> brb brw */ -#define JBRJDELTA d124 /* brb ==> jmp L^(pc) *d124 */ -#define JXXXJDELTA d124+2 /* brb ==> brb jmp L^(pc) *d124 */ +/* Relaxation states for s_jxstate. */ +#define RELSTATE_UNCONDW 0x00 +#define RELSTATE_UNCONDB 0x01 +#define RELSTATE_CONDW 0x02 +#define RELSTATE_CONDB 0x03 +#define RELSTATE_SOBW 0x04 +#define RELSTATE_SOBB 0x05 +#define RELSTATE_AOBLSSW 0x06 +#define RELSTATE_AOBLSSB 0x07 +#define RELSTATE_AOBLEQW 0x08 +#define RELSTATE_AOBLEQB 0x09 +#define RELSTATE_ACBXW 0x0A +/* Mask for all byte relaxation states. */ +#define RELSTATE_BYTE 0x01 +/* The following two are special kludges. */ +#define RELSTATE_ALIGN 0x0B +#define RELSTATE_LONG 0x0C -int jbrfsize = JBRDELTA; -int jxxxfsize = JXXXDELTA; +/* Bumps for byte to word relaxations, indexed by s_jxstate>>1. */ +static int byterelax_bumps[5] = {1, 3, 4, 5, 2}; /* * These variables are filled by asscan.c with the @@ -36,17 +58,6 @@ int jxxxfsize = JXXXDELTA; struct symtab *lastnam; struct symtab *lastjxxx; -initijxxx() -{ - jbrfsize = jxxxJUMP ? JBRJDELTA : JBRDELTA; - jxxxfsize = jxxxJUMP ? JXXXJDELTA : JXXXDELTA; - /* - * Note: ifjxxxJUMP is set, then we do NOT do any tunnelling; - * this was too complicated to figure out, and in the first - * version of the assembler, tunnelling proved to be the hardest - * to get to work! - */ -} /* * Handle jxxx instructions */ @@ -69,11 +80,36 @@ ijxout(opcode, ap, nact) putins(opcode, ap, nact); jumpfrom = lastjxxx; jumpfrom->s_tag = JXACTIVE; - jumpfrom->s_jxbump = 0; - if (opcode.Op_popcode == JBR) - jumpfrom->s_jxfear = jbrfsize; - else - jumpfrom->s_jxfear = jxxxfsize; + switch (opcode.Op_popcode) { + case BRB: + jumpfrom->s_jxstate = RELSTATE_UNCONDB; + jumpfrom->s_jxfear = 4; + break; + default: /* conditional branch */ + jumpfrom->s_jxstate = RELSTATE_CONDB; + jumpfrom->s_jxfear = 6; + break; + case SOBGTR: + case SOBGEQ: + jumpfrom->s_jxstate = RELSTATE_SOBB; + jumpfrom->s_jxfear = 7; + break; + case AOBLSS: + jumpfrom->s_jxstate = RELSTATE_AOBLSSB; + jumpfrom->s_jxfear = 8; + break; + case AOBLEQ: + jumpfrom->s_jxstate = RELSTATE_AOBLEQB; + jumpfrom->s_jxfear = 8; + break; + case ACBB: + case ACBW: + case ACBL: + case ACBF: /* also ACBG */ + case ACBD: /* also ACBH */ + jumpfrom->s_jxstate = RELSTATE_ACBXW; + jumpfrom->s_jxfear = 8; + } if (lastnam == 0) yyerror("jxxx destination not a label"); jumpfrom->s_dest = lastnam; @@ -105,29 +141,92 @@ ijxout(opcode, ap, nact) if (lastjxxx->s_tag == JXTUNNEL){ lastjxxx->s_tag = JXINACTIVE; tunnel = lastjxxx->s_dest; - xp->e_xvalue = tunnel->s_value /*index of instruction following*/ - - 3 /* size of brw + word*/ - + ( ( (tunnel->s_jxfear == jbrfsize) && - (tunnel->s_jxbump == 0))?1:0); - /*non bumped branch byteis only 2 back*/ + xp->e_xvalue = tunnel->s_value; /*index of instruction following*/ + if (tunnel->s_jxstate & RELSTATE_BYTE) + xp->e_xvalue -= 2; + else if (tunnel->s_jxstate == RELSTATE_LONG) + xp->e_xvalue -= 6; + else + xp->e_xvalue -= 3; } - if (lastjxxx->s_jxbump == 0){ /*wasn't bumped, so is short form*/ + /* Now determine what instruction or sequence to emit. */ + if ((lastjxxx->s_jxstate & RELSTATE_BYTE) + || lastjxxx->s_jxstate == RELSTATE_ACBXW) { + /* No relaxation, real VAX instruction. */ putins(opcode, ap, nact); + } else if (lastjxxx->s_jxstate == RELSTATE_AOBLEQW) { + /* Turn AOBLEQ into ACBL. */ + struct arg narglist[4]; + struct exp nxp; + nopcode.Op_eopcode = CORE; + nopcode.Op_popcode = ACBL; + nxp.e_xtype = XABS; + nxp.e_number.num_tag = TYPL; + nxp.e_xvalue = 1; + narglist[0] = ap[0]; + narglist[1].a_atype = AIMM; + narglist[1].a_areg1 = 0; + narglist[1].a_xp = &nxp; + narglist[2] = ap[1]; + narglist[3] = ap[2]; + putins(nopcode, narglist, 4); } else { - if (opcode.Op_popcode != JBR){ - /* - * branch reverse conditional byte over - * branch unconditional word - */ + /* + * Relaxed sequence. The start of the sequence depends + * on what we are relaxing, but at the end we'll always + * have a BRW or JMP to the real destination. + */ + switch (opcode.Op_popcode) { + case BRB: + /* Nothing except the big jump! */ + break; + default: /* conditional branch */ + /* Reversed branch around. */ oxvalue = xp->e_xvalue; xp->e_xvalue = lastjxxx->s_value; nopcode = opcode; nopcode.Op_popcode ^= 1; putins(nopcode, ap, nact); xp->e_xvalue = oxvalue; + break; + case SOBGTR: + case SOBGEQ: + /* DECL and reversed branch around. */ + nopcode.Op_eopcode = CORE; + nopcode.Op_popcode = DECL; + putins(nopcode, ap, 1); + oxvalue = xp->e_xvalue; + xp->e_xvalue = lastjxxx->s_value; + nopcode.Op_popcode = + (opcode.Op_popcode == SOBGTR) ? BLEQ : BLSS; + putins(nopcode, aplast, 1); + xp->e_xvalue = oxvalue; + break; + case AOBLSS: + case AOBLEQ: + case ACBB: + case ACBW: + case ACBL: + case ACBF: /* also ACBG */ + case ACBD: /* also ACBH */ + /* Real instruction, then branch around. */ + oxvalue = xp->e_xvalue; + xp->e_xvalue = lastjxxx->s_value; + if (lastjxxx->s_jxstate != RELSTATE_LONG) + xp->e_xvalue -= 3; + else + xp->e_xvalue -= 6; + putins(opcode, ap, nact); + nopcode.Op_eopcode = CORE; + nopcode.Op_popcode = BRB; + xp->e_xvalue = lastjxxx->s_value; + putins(nopcode, aplast, 1); + xp->e_xvalue = oxvalue; } nopcode.Op_eopcode = CORE; - nopcode.Op_popcode = jxxxJUMP ? JMP : BRW; + nopcode.Op_popcode = + (lastjxxx->s_jxstate == RELSTATE_LONG) ? JMP : BRW; + aplast->a_dispsize = 4; putins(nopcode, aplast, 1); } } @@ -161,7 +260,7 @@ jalign(xp, sp) * is set in the command line, and defaults to 2. */ if ( ( (xp->e_xtype & XTYPE) != XABS) - || (xp->e_xvalue < 0) + || (xp->e_xvalue <= 0) || (xp->e_xvalue > 16) ) { yyerror("Illegal `align' argument"); @@ -179,7 +278,8 @@ jalign(xp, sp) flushfield(NBWD/4); if (passno == 1) { sp->s_tag = JXALIGN; - sp->s_jxfear = (1 << xp->e_xvalue) - 1; + sp->s_jxstate = RELSTATE_ALIGN; + sp->s_jxfear = (1 << xp->e_xvalue) - 2; sp->s_type = dotp->e_xtype; sp->s_index = dotp-usedot; #ifdef DEBUG @@ -220,18 +320,15 @@ jxxxfix() register struct symtab *intdest; /*intermediate dest*/ register struct symtab **cointdest, *ubintdest; - register struct symtab *tunnel; - int displ,nchange; + int displ, lowlim, highlim, nchange; int badjxalign; /*if jump across an align*/ int stillactives; /*if still active jxxxes*/ int segno; /*current segment number*/ int topono; /*which iteration in the topo sort*/ - register unsigned char tag; /* * consider each segment in turn... */ for (segno = 0; segno < NLOC + NLOC; segno++){ - badjxalign = 0; /*done on a per segment basis*/ /* * Do a lazy topological sort. */ @@ -246,93 +343,118 @@ jxxxfix() #endif nchange = 0; stillactives = 0; - /* - * We keep track of one possible tunnel location. - * A tunnel will eventually be an unconditional - * branch to the same place that another jxxx - * will want to branch to. We will turn a - * branch conditional/unconditional (word) that would - * have to get bumped because its destination is too - * far away, into a branch conditional/unconditional - * byte to the tunnel branch conditional/unconditional. - * Of course, the tunnel must branch to the same place - * as we want to go. - */ - tunnel = 0; /*initially, no tunnel*/ - SEGITERATE(segno, 0, 0, cojumpfrom, jumpfrom, ubjumpfrom, ++){ - tag = jumpfrom->s_tag; - if (tag <= IGNOREBOUND) - continue; /*just an ordinary symbol*/ - if (tag == JXALIGN){ - tunnel = 0; /*avoid tunneling across a flex alocation*/ - continue; /*we take care of these later*/ - } - if ( jumpfrom->s_jxfear == jbrfsize /*unconditional*/ - || ( tag == JXINACTIVE /*inactive bumped*/ - && (jumpfrom->s_jxbump != 0) - ) - ) tunnel = jumpfrom; - if (tag != JXACTIVE) + badjxalign = 0; + SEGITERATE(segno, 0, 0, cojumpfrom, jumpfrom, ubjumpfrom, ++) { + if (jumpfrom->s_tag != JXACTIVE) continue; dest = jumpfrom->s_dest; - if (jumpfrom->s_index != dest->s_index){ + if (jumpfrom->s_index != dest->s_index) { yyerror("Intersegment jxxx"); continue; } displ = dest->s_value - jumpfrom->s_value; - if (displ < MINBYTE || displ > MAXBYTE) { + if (jumpfrom->s_jxstate & RELSTATE_BYTE) { + lowlim = MINBYTE; + highlim = MAXBYTE; + } else { + lowlim = MINWORD; + highlim = MAXWORD; + } + if (displ < lowlim || displ > highlim) { /* - * This is an immediate lose! - * - * We first attempt to tunnel - * by finding an intervening jump that - * has the same destination. - * The tunnel is always the first preceeding - * jxxx instruction, so the displacement - * to the tunnel is less than zero, and - * its relative position will be unaffected - * by future jxxx expansions. - * - * No tunnels if doing jumps... + * We have to bump it. If it's a conditional + * branch, a SOB, an AOB, or an ACB, this will + * mean turning a nice single instruction into + * a branch-around sequence. Rather than do + * that if possible, we try to tunnel this + * branch instead through a nearby + * unconditional jump (either a jbr or part of + * a relaxed sequence). */ - if ( (!jxxxJUMP) - && (jumpfrom->s_jxfear > jbrfsize) - && (tunnel) - && (tunnel->s_dest == jumpfrom->s_dest) - && (tunnel->s_index == jumpfrom->s_index) - && (tunnel->s_value - jumpfrom->s_value >= - MINBYTE + jxxxfsize) - ) { - /* - * tunnelling is OK - */ - jumpfrom->s_dest = tunnel; - /* - * no bumping needed, this - * is now effectively inactive - * but must be remembered - */ - jumpfrom->s_tag = JXTUNNEL; + if (!(jumpfrom->s_jxstate & RELSTATE_BYTE) + && jumpfrom->s_jxstate != RELSTATE_AOBLEQW + && jumpfrom->s_jxstate != RELSTATE_ACBXW + || jumpfrom->s_jxstate == RELSTATE_UNCONDB + || jumpfrom->s_jxstate == RELSTATE_AOBLEQB) + goto notunnel; + displ = 0; + SEGITERATE(segno, cojumpfrom - 1, 1, cointdest, + intdest, ubintdest, --) { + u_char tag, state; + + tag = intdest->s_tag; + if (tag == JXACTIVE + || tag == JXINACTIVE + || tag == JXNOTYET) { + if (intdest->s_value - 6 - + jumpfrom->s_value - displ + < lowlim) + break; + state = intdest->s_jxstate; + if (intdest->s_dest == + jumpfrom->s_dest && + (state == RELSTATE_UNCONDB + || !(state & RELSTATE_BYTE) + && state != RELSTATE_AOBLEQW + && state != RELSTATE_ACBXW + || tag == JXNOTYET + && state != RELSTATE_AOBLEQB)) + goto tunnel; + } + if (tag == JXACTIVE || tag == JXNOTYET + || tag == JXALIGN) + displ += intdest->s_jxfear; + } + displ = 0; + SEGITERATE(segno, cojumpfrom + 1, 0, cointdest, + intdest, ubintdest, ++) { + u_char tag, state; + + tag = intdest->s_tag; + if (tag == JXACTIVE || tag == JXNOTYET + || tag == JXALIGN) + displ += intdest->s_jxfear; + if (tag == JXACTIVE + || tag == JXINACTIVE + || tag == JXNOTYET) { + if (intdest->s_value - 6 - + jumpfrom->s_value + displ + > highlim) + break; + state = intdest->s_jxstate; + if (intdest->s_dest == + jumpfrom->s_dest && + (state == RELSTATE_UNCONDB + || !(state & RELSTATE_BYTE) + && state != RELSTATE_AOBLEQW + && state != RELSTATE_ACBXW + || tag == JXNOTYET + && state != RELSTATE_AOBLEQB)) + goto tunnel; + } + } + notunnel: + /* tunneling is not possible */ + jumpfrom->s_tag = JXNOTYET; + ++nchange; + continue; + tunnel: + /* tunnelling is OK */ + jumpfrom->s_dest = intdest; + /* + * no bumping needed, this + * is now effectively inactive + * but must be remembered + */ + jumpfrom->s_tag = JXTUNNEL; #ifdef DEBUG - if(debug) - printf("Tunnel from %s from line %d\n", - FETCHNAME(jumpfrom), - jumpfrom->s_jxline); + if(debug) + printf("Tunnel from %s from line %d\n", + FETCHNAME(jumpfrom), + jumpfrom->s_jxline); #endif - continue; - } else { /*tunneling not possible*/ - /* - * since this will be turned - * into a bumped jump, we can - * use the unconditional jump - * as a tunnel - */ - tunnel = jumpfrom; - jumpfrom->s_tag = JXNOTYET; - ++nchange; - continue; - } - } /*end of immediate lose*/ + continue; + } /* * Do a forward search for an intervening jxxx */ @@ -343,17 +465,15 @@ jxxxfix() break; /* beyond destination */ if (intdest->s_tag <= JXQUESTIONABLE) continue; /*frozen solid*/ - if (intdest->s_tag == JXALIGN){ + if (intdest->s_tag == JXALIGN) jumpfrom->s_jxoveralign = 1; - badjxalign++; - } /* * we assume the worst case * for unfrozen jxxxxes */ displ += intdest->s_jxfear; } - if (displ <= MAXBYTE){ + if (displ <= highlim) { /* * the worst possible conditions * can't hurt us, so forget about @@ -362,6 +482,8 @@ jxxxfix() jumpfrom->s_tag = JXINACTIVE; } else { stillactives++; + if (jumpfrom->s_jxoveralign) + badjxalign++; } } else { /* @@ -375,14 +497,15 @@ jxxxfix() continue; /*frozen solid*/ if (intdest->s_tag == JXALIGN){ jumpfrom->s_jxoveralign = 1; - badjxalign++; } displ -= intdest->s_jxfear; } - if (displ >= MINBYTE) { + if (displ >= lowlim) { jumpfrom->s_tag = JXINACTIVE; } else { stillactives++; + if (jumpfrom->s_jxoveralign) + badjxalign++; } } /*end of backwards search*/ } /*end of iterating through all symbols in this seg*/ @@ -409,9 +532,20 @@ jxxxfix() if (stillactives){ SEGITERATE(segno, 0, 0, cojumpfrom, jumpfrom, ubjumpfrom, ++){ - if (jumpfrom->s_tag == JXACTIVE){ - jumpfrom->s_tag = - badjxalign?JXNOTYET:JXINACTIVE; + if (jumpfrom->s_tag == JXACTIVE) { + if (badjxalign) { + jumpfrom->s_tag = + JXNOTYET; + jumpfrom->s_jxstate &= + ~RELSTATE_BYTE; + /* + * The above is to + * force jxxxbump to go + * all the way to long. + */ + } else + jumpfrom->s_tag = + JXINACTIVE; } } if (badjxalign){ @@ -429,22 +563,16 @@ jxxxfix() * needed, irregardless of the * fact that we guessed 1 */ - displ = (jumpfrom->s_value - 1) & (unsigned)jumpfrom->s_jxfear; - if (displ == 0){ /*no virtual displacement*/ + displ = (jumpfrom->s_value - 1) & + (unsigned) (jumpfrom->s_jxfear + 1); + if (displ == 0) { /*no virtual displacement*/ jumpfrom->s_jxfear = -1; } else { - jumpfrom->s_jxfear = (jumpfrom->s_jxfear + 1) - displ; - /* - * assert jumpfrom->s_jxfear > 0 - */ - if (jumpfrom->s_jxfear == 1){ - /*our prediction was correct*/ + jumpfrom->s_jxfear = + (jumpfrom->s_jxfear + 2) + - displ - 1; + if (!jumpfrom->s_jxfear) continue; - } - /* - * assert jumpfrom->s_jxfear > 1 - */ - jumpfrom->s_jxfear -= 1; /*correct guess*/ } /* * assert jumpfrom->s_jxfear = -1, +1...2**n-1 @@ -481,7 +609,7 @@ jxxxbump(segno, starthint) { register struct symtab **cosp, *sp; register struct symtab *ub; - register int cum_bump; + register int bump, cum_bump; register unsigned char tag; cum_bump = 0; @@ -498,9 +626,21 @@ jxxxbump(segno, starthint) sp->s_jxline); } #endif - sp->s_tag = JXINACTIVE; - sp->s_jxbump = 1; - cum_bump += sp->s_jxfear; + if (sp->s_jxstate == RELSTATE_ALIGN) { + sp->s_tag = JXINACTIVE; + cum_bump += sp->s_jxfear; + } else if (sp->s_jxstate & RELSTATE_BYTE) { + bump = byterelax_bumps[sp->s_jxstate >> 1]; + cum_bump += bump; + sp->s_tag = JXACTIVE; + sp->s_jxstate &= ~RELSTATE_BYTE; + sp->s_jxfear -= bump; + } else { + cum_bump += sp->s_jxfear; + sp->s_tag = JXINACTIVE; + sp->s_jxstate = RELSTATE_LONG; + sp->s_jxfear = 0; + } } /* * Only bump labels and jxxxes. Ignored entries can diff --git a/bin/as/as.vax/asmain.c b/bin/as/as.vax/asmain.c index 4ea93752..3d2cf845 100644 --- a/bin/as/as.vax/asmain.c +++ b/bin/as/as.vax/asmain.c @@ -11,7 +11,7 @@ char copyright[] = #endif not lint #ifndef lint -static char sccsid[] = "@(#)asmain.c 5.3 (Berkeley) 10/22/87"; +static char sccsid[] = "@(#)asmain.c 5.5 (Berkeley) 11/8/03"; #endif not lint #include @@ -25,7 +25,7 @@ static char sccsid[] = "@(#)asmain.c 5.3 (Berkeley) 10/22/87"; #include -#define unix_lang_name "VAX/UNIX Assembler V10/22/87 5.3" +#define unix_lang_name "VAX/UNIX Assembler V11/8/03 5.5" /* * variables to manage reading the assembly source files */ @@ -44,7 +44,6 @@ int anyerrs = 0; /*no errors yet*/ int anywarnings=0; /*no warnings yet*/ int orgwarn = 0; /*Bad origins*/ int passno = 1; /* current pass*/ -int jxxxJUMP = 0; /* in jxxxes that branch too far, use jmp instead of brw */ int readonlydata = 0; /* initialzed data -> text space */ int nGHnumbers = 0; /* GH numbers used */ @@ -306,7 +305,10 @@ argprocess(argc, argv) savelabels = 1; break; case 'J': - jxxxJUMP = 1; + /* + * Ignore -J, we now have real + * relaxation! + */ break; #ifdef DEBUG case 'D': @@ -414,7 +416,6 @@ i_pass1() fwrite(&strfilepos, sizeof(int), 1, strfile); inittokfile(); - initijxxx(); } FILE *tempopen(tname, part) diff --git a/bin/as/as.vax/aspseudo.c b/bin/as/as.vax/aspseudo.c index 91427c87..6d8fd9cb 100644 --- a/bin/as/as.vax/aspseudo.c +++ b/bin/as/as.vax/aspseudo.c @@ -5,7 +5,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)aspseudo.c 5.1 (Berkeley) 4/30/85"; +static char sccsid[] = "@(#)aspseudo.c 5.2 (Berkeley) 8/29/00"; #endif not lint #include @@ -16,6 +16,11 @@ static char sccsid[] = "@(#)aspseudo.c 5.1 (Berkeley) 4/30/85"; name, popcode, nargs, arg1, arg2, arg3, arg4, arg5, arg6, \ (nargs == 0 ? INST0:INSTn), eopcode \ } +#define RELAXOP(name, eopcode, popcode, tag) \ + { \ + name, popcode, 0, 0, 0, 0, 0, 0, 0, \ + tag, eopcode \ + } #define PSEUDO(name, type, tag) \ { \ name, type, 0, 0, 0, 0, 0, 0, 0, \ diff --git a/bin/as/as.vax/instrs b/bin/as/as.vax/instrs index 2b265555..0a908bb3 100644 --- a/bin/as/as.vax/instrs +++ b/bin/as/as.vax/instrs @@ -3,7 +3,7 @@ ## All rights reserved. The Berkeley software License Agreement ## specifies the terms and conditions for redistribution. ## -## @(#)instrs 5.1 (Berkeley) 4/30/85 +## @(#)instrs 5.3 (Berkeley) 8/31/00 ## ## Robert R. Henry ## University of California, Berkeley @@ -145,8 +145,6 @@ BEGIN{ next; } if (flavor == "AS"){ - if ($4 == "CBR") - $4 = "IJXXX"; printf("PSEUDO(\"%s\\0%o\\0%s\",", ASpad,length($3),$3); printf("%s, %s),\n", $7, $4); next; @@ -155,11 +153,7 @@ BEGIN{ if ($5 == "C2X") next; printf("\"%s\",", $3); - if ($4 == "CBR" && $5 != "JBR"){ - printf("T(CBR,%s),\n", $5); - } else { - printf("%s,\n", $5); - } + printf("%s,\n", $5); next; } } @@ -193,6 +187,18 @@ BEGIN{ printf("T(%s,%s),\n", $4, $5); # special value next; } + if ($6 == "JXXX" || $6 == "JACB") { + if (flavor == "ADB"){ + next; + } + printf("RELAXOP(\"%s\\0%o\\0%s\",", ASpad,length($3),$3); + if ($6 == "JXXX") { + printf("CORE, %s, IJXXX),\n", $7); + } else { + printf("ESCD, %s, IJXXX),\n", $7); + } + next; + } if (flavor == "AS"){ printf("OP(\"%s\\0%o\\0%s\", ", ASpad, length($3), $3); printf("%s, %s, %d", $6, $7, $8); @@ -242,7 +248,7 @@ BEGIN{ # 000a .line ILINENO C2X MACR 0 1 # 000a .file IFILE C2X MACR 0 1 -# 000a .globl IGLOBAL EROU MACR 0 1 +# 000a .globl IGLOBAL GLOBL MACR 0 1 # 000a .comm ICOMM COMM MACR 0 2 # 000a .lcomm ILCOMM LCOMM MACR 0 2 # 000a .set ISET SET MACR 0 2 @@ -258,32 +264,44 @@ BEGIN{ ## Pseudo jumps -# 000a jbc CBR JBC MACR 0xe1 1 B B -# 000a jlbc CBR JLBC MACR 0xe9 1 B B -# 000a jbs CBR JBS MACR 0xe0 1 B B -# 000a jlbs CBR JLBS MACR 0xe8 1 B B -# 000a jbcc CBR JBCC MACR 0xe5 1 B B -# 000a jbsc CBR JBSC MACR 0xe4 1 B B -# 000a jbcs CBR JBCS MACR 0xe3 1 B B -# 000a jbss CBR JBSS MACR 0xe2 1 B B +# 000a jbc CBR JBC JXXX 0xe1 1 B B +# 000a jlbc CBR JLBC JXXX 0xe9 1 B B +# 000a jbs CBR JBS JXXX 0xe0 1 B B +# 000a jlbs CBR JLBS JXXX 0xe8 1 B B +# 000a jbcc CBR JBCC JXXX 0xe5 1 B B +# 000a jbsc CBR JBSC JXXX 0xe4 1 B B +# 000a jbcs CBR JBCS JXXX 0xe3 1 B B +# 000a jbss CBR JBSS JXXX 0xe2 1 B B + +# 000a jbr JBR S JXXX 0x11 1 B B +# 000a jcc CBR JHIS JXXX 0x1e 1 B B +# 000a jcs CBR JLO JXXX 0x1f 1 B B +# 000a jvc CBR JVC JXXX 0x1c 1 B B +# 000a jvs CBR JVS JXXX 0x1d 1 B B +# 000a jlss CBR JLT JXXX 0x19 1 B B +# 000a jlssu CBR JLO JXXX 0x1f 1 B B +# 000a jleq CBR JLE JXXX 0x15 1 B B +# 000a jlequ CBR JLOS JXXX 0x1b 1 B B +# 000a jeql CBR JEQ JXXX 0x13 1 B B +# 000a jeqlu CBR JEQ JXXX 0x13 1 B B +# 000a jneq CBR JNE JXXX 0x12 1 B B +# 000a jnequ CBR JNE JXXX 0x12 1 B B +# 000a jgeq CBR JGE JXXX 0x18 1 B B +# 000a jgequ CBR JHIS JXXX 0x1e 1 B B +# 000a jgtr CBR JGT JXXX 0x14 1 B B +# 000a jgtru CBR JHI JXXX 0x1a 1 B B -# 000a jbr CBR JBR MACR 0x11 1 B B -# 000a jcc CBR C2X MACR 0x1e 1 B B -# 000a jcs CBR C2X MACR 0x1f 1 B B -# 000a jvc CBR C2X MACR 0x1c 1 B B -# 000a jvs CBR C2X MACR 0x1d 1 B B -# 000a jlss CBR JLT MACR 0x19 1 B B -# 000a jlssu CBR JLO MACR 0x1f 1 B B -# 000a jleq CBR JLE MACR 0x15 1 B B -# 000a jlequ CBR JLOS MACR 0x1b 1 B B -# 000a jeql CBR JEQ MACR 0x13 1 B B -# 000a jeqlu CBR JEQ MACR 0x13 1 B B -# 000a jneq CBR JNE MACR 0x12 1 B B -# 000a jnequ CBR JNE MACR 0x12 1 B B -# 000a jgeq CBR JGE MACR 0x18 1 B B -# 000a jgequ CBR JHIS MACR 0x1e 1 B B -# 000a jgtr CBR JGT MACR 0x14 1 B B -# 000a jgtru CBR JHI MACR 0x1a 1 B B +# 000a jacbb ACB TN1 JXXX 0x9d 4 R B R B M B B W +# 000a jacbw ACB TN1 JXXX 0x3d 4 R W R W M W B W +# 000a jacbl ACB TN1 JXXX 0xf1 4 R L R L M L B W +# 000a jacbf ACB TN1 JXXX 0x4f 4 R F R F M F B W +# 000a jacbd ACB TN1 JXXX 0x6f 4 R D R D M D B W +# 000a jacbg ACB TN1 JACB 0x4f 4 R G R G M G B W +# 000a jacbh ACB TN1 JACB 0x6f 4 R H R H M H B W +# 000a jaoblss AOBLSS S JXXX 0xf2 3 R L M L B B +# 000a jaobleq AOBLEQ S JXXX 0xf3 3 R L M L B B +# 000a jsobgeq SOBGEQ S JXXX 0xf4 2 M L B B +# 000a jsobgtr SOBGTR S JXXX 0xf5 2 M L B B ## ## Registers ## @@ -562,8 +580,8 @@ BEGIN{ # 261h blss CBR JLT CORE 0x19 1 B B # 261i bgtru CBR JHI CORE 0x1a 1 B B # 261j blequ CBR JLOS CORE 0x1b 1 B B -# 261k bvc CBR 0 CORE 0x1c 1 B B -# 261l bvs CBR 0 CORE 0x1d 1 B B +# 261k bvc CBR JVC CORE 0x1c 1 B B +# 261l bvs CBR JVS CORE 0x1d 1 B B # 261m bgequ CBR JHIS CORE 0x1e 1 B B # 261n bcc CBR JHIS CORE 0x1e 1 B B # 261o blssu CBR JLO CORE 0x1f 1 B B diff --git a/bin/cc.c b/bin/cc.c index f4aa65cc..2ede0d9f 100644 --- a/bin/cc.c +++ b/bin/cc.c @@ -1,4 +1,4 @@ -static char sccsid[] = "@(#)cc.c 4.15 10/22/87"; +static char sccsid[] = "@(#)cc.c 4.17 8/30/00"; /* * cc - front end for C compiler */ @@ -23,7 +23,7 @@ char *savestr(), *strspl(), *setsuf(); int idexit(); char **av, **clist, **llist, **plist; int cflag, eflag, oflag, pflag, sflag, wflag, Rflag, exflag, proflag; -int fflag, gflag, Gflag, Mflag, debug; +int fflag, jflag, gflag, Gflag, Mflag, debug; char *dflag; int exfail; char *chpass; @@ -79,6 +79,9 @@ main(argc, argv) case 'f': fflag++; continue; + case 'J': + jflag++; + continue; case 'g': if (argv[i][2] == 'o') { Gflag++; /* old format for -go */ @@ -237,6 +240,8 @@ main(argc, argv) } else if (Gflag) { av[na++] = "-XG"; } + if (jflag) + av[na++] = "-XJ"; if (wflag) av[na++] = "-w"; av[na] = 0; @@ -265,6 +270,8 @@ main(argc, argv) na = 3; if (Rflag) av[na++] = "-R"; + if (jflag) + av[na++] = "-J"; if (dflag) av[na++] = dflag; av[na++] = assource; diff --git a/bin/date.c b/bin/date.c index 85853e09..be991681 100644 --- a/bin/date.c +++ b/bin/date.c @@ -11,7 +11,7 @@ char copyright[] = #endif not lint #ifndef lint -static char *sccsid = "@(#)date.c 4.22 (Berkeley) 4/6/87"; +static char *sccsid = "@(#)date.c 4.23 (Berkeley) 12/14/99"; #endif not lint /* @@ -172,6 +172,7 @@ gtime(ap) register char *C; /* pointer into time argument */ struct tm *L; int day, hour, mins, secs; + int century; for (secs = 0, C = ap;*C;++C) { if (*C == '.') { /* seconds provided */ @@ -186,11 +187,14 @@ gtime(ap) } L = localtime((time_t *)&tv.tv_sec); - year = L->tm_year; /* defaults */ + century = L->tm_year / 100 + 19; /* defaults */ + year = L->tm_year % 100; month = L->tm_mon + 1; day = L->tm_mday; switch ((int)(C - ap)) { /* length */ + case 12: /* yyyymmddhhmm */ + century = ATOI2(ap); case 10: /* yymmddhhmm */ year = ATOI2(ap); case 8: /* mmddhhmm */ @@ -216,7 +220,9 @@ gtime(ap) return(1); tv.tv_sec = 0; - year += TM_YEAR_BASE; + year += century * 100; + if (year < EPOCH_YEAR) + return(1); if (isleap(year) && month > 2) ++tv.tv_sec; for (--year;year >= EPOCH_YEAR;--year) diff --git a/doc/smm/00.contents b/doc/smm/00.contents index f8fbb8e5..b43fc529 100644 --- a/doc/smm/00.contents +++ b/doc/smm/00.contents @@ -2,7 +2,7 @@ .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" -.\" @(#)00.contents 5.2 (Berkeley) 6/3/86 +.\" @(#)00.contents 5.3 (Berkeley) 12/4/03 .\" .OH '''SMM Contents' .EH 'SMM Contents''' @@ -148,3 +148,10 @@ Describes UUCP, a program for communicating files between UNIX systems. .QP The protocols and algorithms used by timed, the network time synchronization daemon. + +.IP +.tl 'Bug Fixes and Changes in 4.3BSD-Quasijarus''SMM:23' +.QP +This document briefly describes the changes +made by Quasijarus Project in each successive 4.3BSD-Quasijarus release +up to the present. diff --git a/doc/smm/01.setup/0.t b/doc/smm/01.setup/0.t new file mode 100644 index 00000000..de23a6b5 --- /dev/null +++ b/doc/smm/01.setup/0.t @@ -0,0 +1,80 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)0.t 6.4 (Berkeley) 11/18/03 +.\" +.EH 'SMM:1-%''Installing and Operating 4.3BSD-Quasijarus UNIX on the VAX' +.OH 'Installing and Operating 4.3BSD-Quasijarus UNIX on the VAX''SMM:1-%' +.ds 4B 4.3BSD-Quasijarus +.nr Vx 1 \" VAX version +.ds Mc VAX +.ds mC vax +.ds Dk hp +.ds Dn RM80 +.ds Pa g +.ds Ps 4.3BSD +.bd S B 3 +.TL +Installing and Operating \*(4B UNIX* on the VAX\(dg +.br +November 18, 2003 +.AU +Michael J. Karels +.AU +Chris Torek +.AU +James M. Bloom +.AU +Marshall Kirk McKusick +.AU +Samuel J. Leffler +.AU +William N. Joy +.AI +Computer Systems Research Group +Department of Electrical Engineering and Computer Science +University of California, Berkeley +Berkeley, California 94720 +(415) 642-7780 +.AU +Michael Sokolov +.AI +Quasijarus Project +International Free Computing Task Force +http://ifctfvax.Harhan.ORG/Quasijarus/ +.de IR +\\fI\\$1\|\\fP\\$2 +.. +.de UX +UNIX\\$1 +.. +.AB +.PP +.FS +*\s-2UNIX\s0 is a register trademark of AT&T in the USA and other countries. +.FE +.FS +\(dgDEC, VAX, IDC, SBI, UNIBUS and MASSBUS are trademarks of +Digital Equipment Corporation. +.FE +This document contains instructions for the +installation and operation of the +\*(4B release of the VAX +.UX +system, as distributed by Quasijarus Consortium. +.PP +It discusses procedures for installing UNIX on a new VAX, +and for upgrading an existing 4.2BSD or 4.3BSD +VAX UNIX system to the new release. +An explanation of how to lay out file systems on available disks, +how to set up terminal lines and user accounts, +and how to do system-specific tailoring is provided. +A description of how to install and configure the networking +facilities included with \*(4B is included. +Finally, the document details system operation procedures: +shutdown and startup, +hardware error reporting and diagnosis, file system backup procedures, +resource control, performance monitoring, and procedures for recompiling +and reinstalling system software. +.AE diff --git a/doc/smm/01.setup/1.t b/doc/smm/01.setup/1.t new file mode 100644 index 00000000..d7963fac --- /dev/null +++ b/doc/smm/01.setup/1.t @@ -0,0 +1,407 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)1.t 6.4 (Berkeley) 11/24/03 +.\" +.ds lq `` +.ds rq '' +.ds LH "Installing/Operating \*(4B +.ds RH Introduction +.ds CF \*(DY +.LP +.nr H1 1 +.bp +.LG +.B +.ce +1. INTRODUCTION +.sp 2 +.R +.NL +.PP +This document explains how to install the \*(4B release of the Berkeley +version of UNIX for the VAX on your system. Because of the file system +organization used in \*(4B, if you are not currently running 4.2BSD +or 4.3BSD +you will have to do a full bootstrap from the distribution tape. +The procedure for performing a full bootstrap is outlined in chapter 2. +The process includes booting standalone utilities from tape +to format a disk if necessary, then to copy a small root filesystem +image onto a swap area. +This filesystem is then booted and used to extract a dump of a standard root +filesystem. +Finally, that root filesystem is booted, and the remainder of the system +binaries and sources are read from the archives on the tape(s). +.PP +The technique for upgrading a 4.2BSD or 4.3BSD system is described +in chapter 3 of this document. +As \*(4B is upward-compatible with 4.2BSD, +the upgrade procedure involves extracting a new set of system binaries +onto new root and /usr filesystems. +The sources are then extracted, and local configuration files are merged +into the new system. +4.2BSD and 4.3BSD user filesystems may be upgraded in place, +and 4.2BSD and 4.3BSD +binaries may be used with \*(4B in the course of the conversion. +It is desirable to recompile most local software after the conversion, +as there are many changes and performance improvements in the standard +libraries. +.NH 2 +Hardware supported +.PP +Note that some VAX models are identical +to others in all respects except speed. +The VAX 8650 will be hereafter referred to as a VAX 8600; +likewise, the VAX 8250 will be referred to as a VAX 8200, +the VAX-11/785 as an 11/780, and the 11/725 as an 11/730. +These names are sometimes shortened to ``8600,'' ``8200,'' +``780,'' ``750,'' and ``730.'' +MicroVAXen are often referred to by their CPU board names, +i.e., KA630 for MicroVAX II, KA650 for MicroVAX 3, and KA655 for MicroVAX 3+. +.PP +This distribution can be booted on a VAX 8600, +VAX 8200, VAX-11/780, VAX-11/750, VAX-11/730, or MicroVAX II/3/3+ +cpu with at least 2 megabytes of memory, and +any of the following disks: +.DS +.TS +lw(1.5i) l. +DEC MASSBUS: RM03, RM05, RM80, RP06, RP07 +EMULEX MASSBUS: AMPEX Capricorn, 9300, CDC 9766, 9775, + FUJITSU 2351 Eagle, 2361* +DEC UNIBUS: RK07, RL02, RA??*, RC25 +EMULEX SC-21V, SC-31 AMPEX DM980, Capricorn, 9300, + UNIBUS*: CDC 9762, 9766, FUJITSU 160M, 330M +EMULEX SC-31 UNIBUS*: FUJITSU 2351 Eagle +DEC IDC: R80, RL02 +DEC BI: RA??* +DEC QBUS: RD53, RD54, RA??*, RF??* +.TE +.DE +.FS +* Other compatible UNIBUS controllers and drives +may be easily usable with the system, +but may require minor modifications to the system +to allow bootstrapping. +The EMULEX disk and SI tape controllers, and +the drives shown here are known +to work as bootstrap devices. +Known RA drives are RA60, RA7[0123], RA8[012], and RA9[02]. +Known RF drives are RF3[0156] and RF7[1234]. +Other SMD and MSCP drives may be used once pack labels are written, +but bootstrapping will be a problem since the procedure currently +relies on compiled-in disk tables. +.FE +.PP +The tape drives supported by this distribution are: +.DS +.TS +lw(1.5i) l. +DEC MASSBUS: TE16, TU45, TU77, TU78 +EMULEX MASSBUS: TC-7000 +DEC UNIBUS: TS11, TU80, TU81\(dg +EMULEX TC-11, AVIV UNIBUS: KENNEDY 9300, STC, CIPHER +TU45 UNIBUS: SI 9700 +DEC BI: TU81\(dg +DEC QBUS: TK50, TK70, TU80, TU81\(dg +.TE +.DE +.FS +\(dg The TU81 support is untested but is identical to +the TK50 code. +.FE +.PP +The tapes and disks may be on any available UNIBUS or MASSBUS adapter +at any slot. +.PP +This distribution does not support the DEC CI780 or the HSC50 disk controller. +As such, this +distribution will not boot on the standard VAX 8600 +cluster configurations. +You will need to configure your system to use only UNIBUS, +MASSBUS, and BI bus disk and tape devices. +In addition, only 9-track (TU81) tapes are supported on VAXBI, +TK50 and TK70 are not. +BI Ethernet and terminal controllers are not supported either, +for this reason, although it can be bootstrapped, a VAX 8200 without a UNIBUS +would not be very useful. +.NH 2 +Distribution format +.PP +The basic distribution is available in the following formats: +.DS +*\0\0 1600bpi 9-track 2400' magnetic tapes (2) +*\0\0 6250bpi 9-track 2400' magnetic tape (1) +*\0\0 TK50 tape cartridge (1) +.DE +The following console media are available for VAX processors +that use them: +.DS +*\0\0 RX01 console floppy disk for 11/780 +*\0\0 TU58 console cassette for 11/750 and 11/730 +*\0\0 RX50 console floppy disk for 8200 +*\0\0 RL02 console pack for 8600 +.DE +Installation on any machine requires a tape unit. +Since certain standard VAX packages +do not include a tape drive, this means one must either +borrow one from another VAX system or one must be purchased +separately. The console media distributed with the system +are not suitable for use as operational console media +for 11/780, 11/730 and 8600 processors because they do not +contain CPU microcode or front end processor code. +Their intended use is only for installation. +.PP +\fBThe distribution does not fit on several standard +VAX configurations that contain only small disks\fP. +If your hardware configuration does not +provide at least +.\" XXX checkme XXX +\fB75\fP +Megabytes of disk space you can still +install the distribution, but you will probably have to operate +without source for the user level commands and, possibly, the +source for the operating system. The RK07-only +distribution format once provided by our group is no longer +available. Further, no attempt has ever been made to install +the system on the standard VAX-11/730 hardware configuration +from DEC that contains only dual RL02 disk drives (though +the distribution tape may be bootstrapped on an RL211 controller +and the system provides support for RL02 disk drives either on +an IDC or an RL211). The labels on the distribution tape(s) +show the amount of disk space each tape file occupies, +these should be used in selecting file system layouts on +systems with little disk space. +.PP +If you have the facilities, it is a good idea to copy the +magnetic tape(s) in the distribution kit to guard against disaster. +The tapes contain some +512-byte records followed by many 10240-byte records. +There are interspersed tape marks; end-of-tape is signaled +by a double end-of-file. +The first file on the tape contains preliminary bootstrapping programs. +This is followed by a binary image +of a 3 megabyte ``mini root'' +file system. Following the mini root +file is a full dump of the root file system (see \fIdump\fP\|(8)*). +.FS +* References of the form X(Y) mean the subsection named +X in section Y of the +.UX +programmer's manual. +.FE +Additional files on the tape(s) +contain tape archive images (see +\fItar\fP\|(1)). See Appendix A for a description of the contents +and format of the tape(s). +.NH 2 +VAX hardware terminology +.PP +This section gives a short discussion of VAX hardware terminology +to help you get your bearings. +.PP +If you have MASSBUS disks and tapes it is necessary to know the +MASSBUS that they are attached to, at least for the purposes of bootstrapping +and system description. The MASSBUSes can have up to 8 devices attached +to them. A disk counts as a device. A tape \fIformatter\fP counts +as a device, and several tape drives may be attached to a formatter. +If you have a separate MASSBUS adapter for a disk and one for a tape +then it is conventional to put the disk as unit 0 on the MASSBUS with +the lowest ``TR'' number, and the tape formatter as unit 0 on the next +MASSBUS. On a 11/780 this would correspond to having the disk on +``mba0'' at ``tr8'' and the tape on ``mba1'' at ``tr9''. Here the +MASSBUS adapter with the lowest TR number has been called ``mba0'' +and the one with the next lowest number is called ``mba1''. +.PP +To find out the MASSBUS that your tape and disk are on you can examine +the cabling and the unit numbers or your site maintenance guide. +Do not be fooled into thinking that the number on the front of the +tape drive is a device number; it is a \fIslave\fP number, +one of several possible +tapes on the single tape formatter. +For bootstrapping, the slave number \fBmust\fP be 0. The formatter +unit number may be anything distinct from the other numbers on the +same MASSBUS, but you must know what it is. +.PP +The MASSBUS devices are known by several different names by DEC software +and by UNIX. At various times it is necessary to know both +names. There is, of course, the name of the device like ``RM03'' +or ``RM80''; these are easy to remember because they are printed +on the front of the device. DEC also names devices based on the +driver name in the system using a convention that reflects +the interconnect topology of the machine. The first letter of such +a name is a ``D'' for a disk, the second letter depends on the type +of the drive, ``DR'' for RM03, RM05, and RM80's, ``DB'' for RP06's. +The next letter is related to the interconnect; DEC calls the first +MASSBUS or UNIBUS adapter ``A'', the second ``B'', etc. Thus, ``DRA'' is +an RM drive on the first MASSBUS adapter. Finally, the name ends +in a digit corresponding to the unit number for the device on the +MASSBUS: e.g., ``DRA0'' is a disk at the first device slot on the +first MASSBUS adapter and is an RM disk. +.NH 2 +UNIX device naming +.PP +UNIX has a set of names for devices which are different +from the DEC software names for the devices. The following table lists +both the DEC and UNIX names for the supported devices: +.DS +.TS +l l l. +Hardware UNIX DEC +_ +RM disks hp DR +RP disks hp DB +MASSBUS TE/TU tapes ht MT +TU78 tape mt MF +RK disks hk DM +RL disks rl DL +TS tapes ts MS +UDA disks ra DU +RC25 disks ra DU +IDC disks rb DQ +UNIBUS SMD disks up +TM tapes tm +TMSCP tapes tms MU +UNIBUS TU tapes ut +BI KDB disks kra DU +.TE +.DE +Here UNIBUS SMD disks are disks on an RM-emulating controller on the UNIBUS, +and TM tapes are tapes on a controller that emulates the DEC TM11. +UNIBUS TU tapes are tapes on a UNIBUS controller that emulates the DEC TU45. +IDC disks are disks on an 11/730 Integral Disk Controller. +TS tapes are tapes on a controller compatible with the DEC TS11 (e.g. +a TU80). +TMSCP tapes include the TU81 and TK50. +.PP +The normal standalone system, used to bootstrap the full UNIX system, +uses device names: +.DS +xx(a,c,d,p) +.DE +where \fIxx\fP is any of the UNIX device names in the table above. +The parameters \fIa\fP, \fIc\fP, and \fId\fP +are the \fIadapter\fP, \fIcontroller\fP, and \fIdrive\fP +numbers respectively. +The adapter is the index number of the MASSBUS or UNIBUS +(with the first one found as number 0). +The controller (or ``device'') number is the index number of +the device on that adapter. The drive number is +the index of the disk drive on that controller (or, +for MASSBUS tapes, of the formatter). The \fIp\fP +value is interpreted differently for tapes and disks: +for disks it is a disk \fIpartition\fP (in the range 0-7); +for tapes it is a file number on the tape.* +.FS +* Note that while a tape file consists of a single data stream, +the distribution tape(s) have data structures in these files. +Although the tape(s) contain only 6 tape files, they comprise +several thousand UNIX files. +.FE +For example, partition 7 of drive 2 on an RA81 connected to +the only UDA50 on UNIBUS 1 would be ``ra(1,0,2,7)''. +Normally, the adapter and controller will both be 0; it +may therefore be omitted from the device specification, +and most of the examples in this document do so. +When not running standalone, this partition would normally +be available as ``/dev/ra2g''. +Here the prefix ``/dev'' is the name of the directory where all +``special files'' normally live, the ``ra'' serves the obvious purpose, +the ``2'' identifies this as a partition of hp drive number ``2'' +and the ``g'' identifies this as the seventh partition. +.PP +On the VAX 8200, the adapter numbering is controlled by the +ordering of the nodes on the BI; the BI is probed from low +node numbers towards high. Hence if there are two KDB50 adapters, +one at node 4, and one at node 7, the one at node 4 is kdb0, +and the one at node 7 is kdb1. +The numbering for UNIBUS adapters works similarly. +Usually, the first UNIBUS on an 8200 is at node 0; you will need +this node number to boot from tape. +Although DEC apparently doesn't want you to know this, +BI KLESI (TU81 controller) is actually a UNIBUS adapter with a UNIBUS KLESI +behind it. Unlike DEC software +.UX +treats it as a regular UNIBUS adapter, and it must be taken into account +when counting UNIBUS adapters. +Other VAX models do not permit such chaotic ordering of adapters. +.PP +In all simple cases, where only a single controller is present, +a drive with unit number 0 (in its unit +plug on the front of the drive) will be called unit 0 in its UNIX +file name. This is not, however, strictly necessary, since the system +has a level of indirection in this naming. +If there are multiple controllers, the disk unit numbers +will normally be counted sequentially across controllers. +This can be taken +advantage of to make the system less dependent on the interconnect +topology, and to make reconfiguration after hardware +failure extremely easy. +.PP +Each UNIX physical disk is divided into at most 8 logical disk partitions, +each of which may occupy any consecutive cylinder range on the +physical device. The cylinders occupied +by the 8 partitions for each drive type +are specified initially +.\" in section 4 of the programmers manual and +in the disk description file /etc/disktab (c.f. +\fIdisktab\fP(5)). +The partition information and description of the drive geometry +are written in the first sector of each disk with the +\fIdisklabel\fP(8) program; +currently, this is possible on hp and ra disks, but not on the other +types of disks on the VAX. +Each partition may be used +for either a raw data area such as a paging area or to store a +UNIX file system. +It is conventional for the first partition on a disk to be used +to store a root file system, from which UNIX may be bootstrapped. +The second partition is traditionally used as a paging area, and the +rest of the disk is divided into spaces for additional ``mounted +file systems'' by use of one or more additional partitions. +.PP +The third logical partition of each physical disk also has a conventional +usage: it allows access to the entire physical device, in many +cases including bad +sector forwarding information recorded at the end of the disk (one track +plus 126 sectors). It is +occasionally used to store a single large file system or to access +the entire pack when making a copy of it on another. +Care must be taken if +using this partition not to overwrite the last few tracks and thereby +clobber the bad sector information. +Note that the sector containing the disk label is normally write-protected +so that it is not accidentally overwritten. +Pack-to-pack copies should normally skip the first 16 sectors of a pack, +which contain the label and the initial bootstrap for some processors. +.NH 2 +UNIX devices: block and raw +.PP +UNIX makes a distinction between ``block'' and ``raw'' (character) +devices. Each disk has a block device interface where +the system makes the device byte addressable and you can write +a single byte in the middle of the disk. The system will read +out the data from the disk sector, insert the byte you gave it +and put the modified data back. The disks with the names +``/dev/xx0a'', etc are block devices. +There are also raw devices available. +These have names like ``/dev/rxx0a'', the +``r'' here standing for ``raw''. +Raw devices bypass the buffer cache and use DMA directly to/from +the program's I/O buffers; +they are normally restricted to full-sector transfers. +In the bootstrap procedures we +will often suggest using the raw devices, because these tend +to work faster. +Raw devices are used when making new filesystems, +when checking unmounted filesystems, +or for copying quiescent filesystems. +The block devices are used to mount file systems, +or when operating on a mounted filesystem such as the root. +.PP +You should be aware that it is sometimes important whether to use +the character device (for efficiency) or not (because it wouldn't +work, e.g. to write a single byte in the middle of a sector). +Don't change the instructions by using the wrong type of device +indiscriminately. diff --git a/doc/smm/01.setup/2.t b/doc/smm/01.setup/2.t new file mode 100644 index 00000000..7ee9c41c --- /dev/null +++ b/doc/smm/01.setup/2.t @@ -0,0 +1,953 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)2.t 6.4 (Berkeley) 11/18/03 +.\" +.ds lq `` +.ds rq '' +.ds LH "Installing/Operating \*(4B +.ds RH Bootstrapping +.ds CF \*(DY +.bp +.nr H1 2 +.nr H2 0 +.bp +.LG +.B +.ce +2. BOOTSTRAP PROCEDURE +.sp 2 +.R +.NL +.PP +This section explains the bootstrap procedure that can be used +to get the kernel supplied with this distribution running on your machine. +If you are not currently running 4.2BSD or 4.3BSD you will +have to do a full bootstrap. +Chapter 3 describes how to upgrade an existing 4.2BSD or 4.3BSD system. +programs. +An understanding of the operations used in a full bootstrap +is very helpful in performing an upgrade as well. +In either case, it is highly desirable to read and understand +the remainder of this document before proceeding. +.NH 2 +Converting pre-4.2BSD Systems +.PP +The file system format was changed between 3BSD and 4.0BSD, +and again between 4.1BSD and 4.2BSD. +At a minimum you will have to dump any old file systems, +and then restore them onto the \*(4B file system. +Sites running 3BSD or 32/V may be able to modify the \fIrestore\fP +program to understand the old 512 byte block file system, +but this has never been tried. +The dump format used in 4.0BSD and 4.1BSD is backward-compatible +with that used in \*(4B (which is unchanged from 4.2BSD). +That is, the \*(4B \fIrestore\fP program understands +how to read 4.0BSD and 4.1BSD dump tapes, although \*(4B dump tapes cannot +be restored under 4.0BSD or 4.1BSD. +It is also desirable to make a convenient copy of system configuration +files for use as guides when setting up the new system; +the list of files to save from 4.2BSD systems in chapter 3 +may be used as a guideline. +.PP +The first step is to dump your file systems with \fIdump\fP\|(8). +For the utmost of safety this should be done to magtape. +However, if you enjoy gambling with your life +(or you have a VERY friendly user community) +and you have enough disk space, you can try +converting your file systems while copying to a new disk partition +by piping the output of \fIdump\fP directly into \fIrestore\fP +after bringing up \*(4B. +If you select the latter tack, +a version of the 4.1BSD dump program that runs under \*(4B is +provided in \fI/etc/dump.4.1\fP. +Beware that file systems created under \*(4B can +use about 5-10% more disk space for file system related information +than under 4.1BSD. Thus, before dumping each file system it is +a good idea to remove any files that may be easily regenerated. +Since all programs should be recompiled under the new +system, your best bet is to remove any object files. File +systems with at least 10% free space on them should restore into +an equivalently sized \*(4B file system without problem. +.NH 2 +Booting from tape +.PP +The tape bootstrap procedure used to create a +working system involves the following major +steps: +.IP 1) +Format a disk pack with the \fIformat\fP program. +.IP 2) +Copy a ``mini root'' file system from the +tape onto the swap area of the disk. +.IP 3) +Boot the UNIX system on the ``mini root''. +.IP 4) +Restore the full root file system using \fIrestore\fP\|(8). +.IP 5) +Build a console floppy, cassette, or RL02 pack for bootstrapping. +.IP 6) +Reboot the completed root file system. +.IP 7) +Label the disks with the \fIdisklabel\fP(8) program. +.IP 8) +Build and restore the /usr file system from tape +with \fItar\fP\|(1). +.IP 9) +Extract the system and utility files and contributed software +as desired. +.PP +Certain of these steps are dependent on your hardware +configuration. Formatting the disk pack used for the +root file system may require using the DEC standard +formatting programs. Also, if you are bootstrapping +the system on an 11/750, no console cassette is usually required. +.PP +Bootstrapping an 8600 is a bit more difficult than bootstrapping +the other machines. The procedures for loading the toggle program +and reading the tape bootstrap monitor described in Appendix B must be +used if you do not have access to a console RL02 pack +with a UNIX bootstrap. +Such a pack may be made on an 8600 already running UNIX, +or on another \*(4B system with an RL02 drive +using the procedures in 4.1.1. +One may be required to enter the toggle program more than once. +After the bootstrap monitor is loaded, device addresses will be the same +as if the machine were an 11/780. +UNIBUS and MASSBUS adaptors are numbered from zero across both SBIA's +(if present). +.PP +The following sections describe the above steps in detail. +In these sections references to disk drives are of the +form \fIxx\fP(\fIn\fP,\fIm\fP) +and references to files on tape drives are of the form +\fIyy\fP(\fIn\fP,\fIm\fP) where \fIxx\fP and \fIyy\fP +are names described in section 1.4 and \fIn\fP +and \fIm\fP are the unit and offset numbers described in +section 1.4. Commands +you are expected to type are shown in italics, while that +information printed by the system is shown emboldened. +These instructions were originally written for large VAXen +that use console media. +MicroVAXen have no console media, if you are bootstrapping a MicroVAX, +see Appendix B. +.PP +Throughout the installation steps the +reboot switch on a 780 or 730 should be set to +off; on an 8600 or 750 set the power-on action to halt. +(In normal operation a 780 or 730 will have the reboot +switch on and an 8600 or 750 will have the power-on action set +to reboot/restart.) +On an 8200 the keyswitches should be set to Enable/Update for bootstrapping +and maintenance (Secure/Autostart in normal operation); +on a MicroVAX II the switch on the rear I/O panel should be +turned up to enable halts (halts are disabled in normal operation). +.PP +If you encounter problems while following the instructions in +this part of the document, refer to Appendix C for help in +troubleshooting. +.NH 3 +Step 1: formatting the disk +.PP +All disks used with \*(4B should be formatted to insure +the proper handling of physically corrupted disk sectors. +If you have DEC disk drives, you should use the standard +DEC formatter to format your disks. If not, the +.I format +program included in the distribution, or a vendor supplied +formatting program, may be used to format disks. The +.I format +program is capable of formatting +any of the following supported distribution devices: +.DS +.TS +lw(1.5i) l. +EMULEX MASSBUS: AMPEX Capricorn, 9300, CDC 9766, 9775, + FUJITSU 330M, 2351 Eagle +EMULEX SC-21V, SC-31 AMPEX 9300, Capricorn, CDC 9730, 9766, + UNIBUS: FUJITSU 160M, 330M +EMULEX SC-31 UNIBUS: FUJITSU 2351 Eagle +.TE +.DE +.PP +The +.I format +program is for hp/up SMD disks only. +MSCP disks usually do not require formatting. +If you need to format an MSCP disk, you will need to use formatting utilities +provided by the drive or controller vendor, +.I format +will not help you. +.PP +If you have run a pre-4.1BSD version of UNIX on the packs you +are planning to use for bootstrapping it is likely that the +bad sector information on the packs has been destroyed, since +it was accessible as normal data in the last several tracks of +the disk. You should therefore run the +formatter again to make sure the information is valid. +.PP +On an 11/750, to use a disk pack as a bootstrap device, +sectors 0 through 15, the disk sectors in the file +``/boot'' (the program that +loads the system image), +and the file system indices that lead to this file +must not have any errors. +On an 8600, 11/780, or 11/730, the ``boot'' program is loaded from +the console medium and includes device drivers for the +``hp'' and ``up'' disks that do +ECC correction and bad sector forwarding; consequently, on +these machines the system may be bootstrapped on these disks +even if the disk is not error free in critical locations. +In general, if the first 15884 sectors of your disk are +clean you are safe; if not you can take your chances. +.PP +To load the +.I format +program, insert the distribution TU58 cassette or RX01 floppy +disk in the appropriate console device (on the 11/730 use +cassette 0) and do the following steps. +.PP +If you have an 8600 and no RL02 pack with UNIX standalone programs +start the bootstrap monitor using the +procedure described in Appendix B. Then give the command: +.RT +.DS +\fB=\|\fIformat\fR +.DE +.PP +If you have an 11/780 give the commands: +.RT +.DS +\fB>>>\|\fIHALT\fR +\fB>>>\|\fIUNJAM\fR +\fB>>>\|\fIINIT\fR +\fB>>>\|\fILOAD FORMAT\fR +\fB>>>\|\fISTART 2\fR +.DE +.PP +If you have an 11/750 give the commands: +.DS +\fB>>>\|\fII\fR +\fB>>>\|\fIB DDA0\fR +\fB=\|\fIformat\fR +.DE +.PP +If you have an 11/730 give the commands: +.DS +\fB>>>\|\fIH\fR +\fB>>>\|\fII\fR +\fB>>>\|\fIL DD0:FORMAT\fR +\fB>>>\|\fIS 2\fR +.DE +.PP +The +.I format +program should now be running and awaiting your input: +.DS +\fBDisk format/check utility\fP + +\fBEnable debugging (1=bse, 2=ecc, 3=bse+ecc)?\fP +.DE +.PP +If you made a mistake loading the program off the TU58 cassette +or using the bootstrap monitor loaded for the 8600 +the ``='' prompt should reappear and you can retype the program +name. If something else happened, you may have a bad distribution +cassette or floppy, or your hardware may be broken; refer to +Appendix C for help in troubleshooting. If you are unable to +load programs off the distributed console medium, +consult Appendix B for an alternate (more painful) approach. +.PP +.I Format +will create sector headers and verify the integrity of each +sector formatted. Remember +.I format +runs only on the +.B up +and +.B hp +drives listed above. +.I Format +will prompt for the information required as shown below. +Questions with default answers appear with the default in parentheses +at the prompt; a carriage return will take the default. +If you err in answering questions, +``Delete'' erases the last character typed, and ``^U'' erases +the current input line. +.DS +.ta 2i +\fBEnable debugging (0=none, 1=bse, 2=ecc, 3=bse+ecc)?\fP \fI0\fP +\fBDevice to format?\fP \fIxx(0,0)\fP + ...(the old bad sector table is read; ignore any errors that occur here)... +\fBFormatting drive \fIxx\fP0 on adaptor 0: verify (yes/no)?\fP \fIyes\fP +\fBDevice data: #cylinders=842, #tracks=20, #sectors=48\fP +\fBStarting cylinder (0):\fP (hit RETURN to accept the defaults) +\fBStarting track (0):\fP +\fBEnding cylinder (841):\fP +\fBEnding track (19):\fP +\fBAvailable test patterns are:\fP +.in +1.0i +\fB1 - (f00f) RH750 worst case\fP +\fB2 - (ec6d) media worst case\fP +\fB3 - (a5a5) alternating 1's and 0's\fP +\fB4 - (ffff) Severe burnin (up to 48 passes)\fP +.in -1.0i +\fBPattern (one of the above, other to restart)?\fP \fI2\fP +\fBMaximum number of bit errors to allow for soft ECC (3):\fP +\fBStart formatting...make sure the drive is online\fP + ...(soft ecc's and other errors are reported as they occur)... + ...(if 4 write check errors were found, the program terminates like this)... +\fBErrors:\fP +\fBBad sector: 0\fP +\fBWrite check: 4\fP +\fBHard ECC: 0\fP +\fBOther hard: 0\fP +\fBMarked bad: 0\fP +\fBSkipped: 0\fP +\fBTotal of 4 hard errors revectored.\fP +\fBWriting bad sector table at block 524256\fP + ...(524256 is the block # of the first block in the bad sector table)... +\fBDone\fP +.DE +Once the root device has been formatted, +.I format +will prompt for another disk to format. Halt the machine by +typing ``control-P'' and ``H'' (the ``H'' is necessary only on +the 780 and 8600, but does not hurt on the other machines). +.DS +\fBEnable debugging (1=bse, 2=ecc, 3=bse+ecc)?\fP\fI^P\fP +\fB>>>\|\fIH\fR +.DE +.PP +It may be necessary to format other drives before constructing +file systems on them; this can be done at a later time with the +steps just performed. +.I Format +can also be used in an extended test mode (pattern 4) +that uses numerous test patterns +in up to 48 passes to detect as many disk surface errors as possible; +this test may be run for many hours, depending on the CPU and controller. +On an 11/780, this can be sped up significantly by +setting the clock fast. +It may be run for some number of passes, then either terminated or continued +according to the errors found to that point. +.NH 3 +Step 2: copying the mini-root file system +.PP +The second step is to run a simple program, +\fIcopy\fP, which copies a small root +file system into the second partition of the disk. +This file system will serve as the base for creating the actual root +file system to be restored. The version of the operating +system maintained on the ``mini-root'' file system understands +that it should not swap on top of itself, thereby allowing double use +of the disk partition. \fICopy\fP is loaded just as the +\fIformat\fP program was loaded; for example, if not using console media, +one must enter the toggle and the bootstrap monitor +as described in Appendix B and then: +.DS +.TS +lw(2i) l. +(copy mini root file system) +\fB=\fP\|\fIcopy\fP +\fBFrom:\fP \fIyy(y,1)\fP (unit \fIy\fP, second tape file) +\fBTo:\fP \fIxx(x,1)\fP (mini root is on drive \fIx\fP; second partition) +\fBCopy completed: 308 records copied\fP +\fBFrom:\fP +.TE +.DE +while for an 8200: +.DS +.TS +lw(2i) l. +(copy mini root file system) +\fB>>>\fP\|\fIB/R5:800 CSA1\fP (or CSA2 if using the 2nd diskette slot) +\fBBOOT58>\fP\|\fILOAD COPY\fP +\fBBOOT58>\fP\|\fISTART 2\fP +\fBFrom:\fP \fIyy(y,1)\fP (unit \fIy\fP, second tape file) +\fBTo:\fP \fIxx(x,1)\fP (mini root is on drive \fIx\fP; second partition) +\fBCopy completed: 308 records copied\fP +\fBFrom:\fP +.TE +.DE +for an 11/780: +.DS +.TS +lw(2i) l. +(copy mini root file system) +\fB>>>\fP\|\fILOAD COPY\fP +\fB>>>\fP\|\fISTART 2\fP +\fBFrom:\fP \fIyy(y,1)\fP (unit \fIy\fP, second tape file) +\fBTo:\fP \fIxx(x,1)\fP (mini root is on drive \fIx\fP; second partition) +\fBCopy completed: 308 records copied\fP +\fBFrom:\fP +.TE +.DE +for an 11/750: +.DS +.TS +lw(2i) l. +(copy mini root file system) +\fB>>>\fP\|\fIB DDA0\fP +\fB=\fP\|\fIcopy\fP +\fBFrom:\fP \fIyy(y,1)\fP (unit \fIy\fP, second tape file) +\fBTo:\fP \fIxx(x,1)\fP (mini root is on drive \fIx\fP; second partition) +\fBCopy completed: 308 records copied\fP +\fBFrom:\fP +.TE +.DE +and for an 11/730: +.DS +.TS +lw(2i) l. +(copy mini root file system) +\fB>>>\fP\|\fIL DD0:COPY\fP +\fB>>>\fP\|\fIS 2\fP +\fBFrom:\fP \fIyy(y,1)\fP (unit \fIy\fP, second tape file) +\fBTo:\fP \fIxx(x,1)\fP (mini root is on drive \fIx\fP; second partition) +\fBCopy completed: 308 records copied\fP +\fBFrom:\fP +.TE +(As above, `delete' erases characters and `^U' erases lines.) +.DE +.NH 3 +Step 3: booting from the mini-root file system +.PP +You now have the minimal set of tools necessary to create a +root file system and restore the file system contents from tape. +To access this file system load the bootstrap program +and boot the version of unix that has been placed in the +``mini-root'': +.DS +(follow the procedure in Appendix B to load the bootstrap monitor) +.TS +lw(2i) l. +(load bootstrap program) +\fB=\fP\|\fIboot\fP +\fBBoot\fP +\fB:\fP \fIxx(x,1)vmunix\fP (bring in \fIvmunix\fP off mini root) +.TE +.DE +or, on an 8200: +.DS +.TS +lw(2i) l. +(load bootstrap program) +\fB>>>\fP\|\fIB/R5:800 CSA1\fP (or CSA2 if using the 2nd diskette slot) +\fBBOOT58>\fP\|\fIBOOT ANY\fP +\fBBoot\fP +\fB:\fP \fIxx(x,1)vmunix\fP (bring in \fIvmunix\fP off mini root) +.TE +.DE +or, on an 11/780: +.DS +.TS +lw(2i) l. +(load bootstrap program) +\fB>>>\fP\|\fIBOOT ANY\fP +\fBBoot\fP +\fB:\fP \fIxx(x,1)vmunix\fP (bring in \fIvmunix\fP off mini root) +.TE +.DE +or, on an 11/750: +.DS +.TS +lw(2i) l. +(load bootstrap program) +\fB>>>\fP\|\fIB DDA0\fP +\fB=\fP\|\fIboot\fP +\fBBoot\fP +\fB:\fP \fIxx(x,1)vmunix\fP (bring in \fIvmunix\fP off mini root) +.TE +.DE +or, on an 11/730: +.DS +.TS +lw(2i) l. +(load bootstrap program) +\fB>>>\fP\|\fIL DD0:BOOT\fP +\fB>>>\fP\|\fID RB 3\fP +\fB>>>\fP\|\fIS 2\fP +\fBBoot\fP +\fB:\fP \fIxx(x,1)vmunix\fP (bring in \fIvmunix\fP off mini root) +.TE +(As above, `delete' erases characters and `^U' erases lines.) +.DE +.LP +The standalone boot program should then read the system from +the mini root file system you just created, and the system should boot: +.DS +.B +271944+78848+92812 start 0x12e8 +4.3 BSD UNIX #1: Wed Apr 9 23:33:59 PST 1988 + karels@monet.berkeley.edu:/usr/src/sys/GENERIC +real mem = \fIxxx\fP +avail mem = \fIyyy\fP +\fI\&... information about available devices ...\fP +root device? +.R +.DE +.PP +The first three numbers are printed out by the bootstrap +programs and are the sizes of different +parts of the system (text, initialized and uninitialized data). The +system also allocates several system data structures after it starts +running. The sizes of these structures are based on the amount of available +memory and the maximum count of active users expected, as declared in a system +configuration description. This will be discussed later. +.PP +UNIX itself then runs for the first time and begins by printing out a banner +identifying the release and +version of the system that is in use and the date that it was compiled. +.PP +Next the +.I mem +messages give the +amount of real (physical) memory and the +memory available to user programs +in bytes. +For example, if your machine has 16 megabytes of memory, +\fIxxx\fP will be 16777216. +.PP +The messages that come out next show what devices were found on +the current processor. These messages are described in +\fIautoconf\fP\|(4). +The distributed system may not have +found all the communications devices you have (dh's, dz's, etc.), +or all the mass storage peripherals you have especially +if you have more than +two of anything. You will correct this soon, when you create +a description of your machine from which to configure UNIX. +The messages printed at boot here contain much of the information +that will be used in creating the configuration. +In a correctly configured system most of the information +present in the configuration description +is printed out at boot time as the system verifies that each device +is present. +.PP +The \*(lqroot device?\*(rq prompt was printed by the system +and is now asking you for the name of the root file system to use. +This happens because the distribution system is a \fIgeneric\fP +system. It can be bootstrapped on any VAX cpu and with its root device +and paging area on any available disk drive. You should respond +to the root device question with \fIxx0*\fP. This response +supplies two pieces of information: +first, \fIxx0\fP shows that the disk it is running on is drive +0 of type \fIxx\fP, secondly the \*(lq*\*(rq shows that the system is +running \*(lqatop\*(rq the paging area. The latter is most important, +otherwise the system will attempt to page on top of itself and +chaos will ensue. +You will later build a system tailored to your configuration that +will not ask this question when it is bootstrapped. +.DS +\fBroot device?\fP \fIxx0*\fP +WARNING: preposterous time in file system \-\- CHECK AND RESET THE DATE! +\fBerase ^?, kill ^U, intr ^C\fP +\fB#\fP +.DE +.PP +The \*(lqerase ...\*(rq message is part of /.profile +that was executed by the root shell when it started. This message +is present to remind you that the line character erase, +line erase, and interrupt characters are set to be what +is standard on DEC systems; this insures that things are +consistent with the DEC console interface characters. +.NH 3 +Step 4: restoring the root file system +.PP +UNIX is now running, +and the `UNIX Programmer's manual' applies. +The `#' is the prompt from the shell, +and lets you know that you are the super-user, +whose login name is \*(lqroot\*(rq. To complete installation +of the bootstrap system two steps remain. First, the root +file system must be created, and second a boot floppy or +cassette must be constructed. +.PP +To create the root file system the shell script \*(lqxtr\*(rq +should be run as follows: +.DS +\fB# \fIdisk=xx0 type=tt tape=yy xtr\fR +.DE +where \fIxx0\fP is the name of the disk on which the root +file system is to be restored (unit 0), \fItt\fP is the type of +drive on which the root file system is to be restored +(see the table below), +and \fIyy\fP is the name +of the tape drive on which the distribution tape is mounted. +.PP +If the root file system is to reside on a disk other than +unit 0 (as the information printed out +during autoconfiguration shows), you will +have to create the necessary special files in /dev and use +the appropriate value. For example, if the root should be +placed on hp1, you must create /dev/rhp1a and /dev/hp1a using +the MAKEDEV script in /dev as follows: +.DS +\fB# \fIcd /dev; MAKEDEV hp1\fR +.DE +The following table lists the various drive \fItype\fPs. +.DS +.TS +l l | l l. +Drive Type Drive Type +_ +DEC RM03 type=rm03 DEC RM05 type=rm05 +DEC RM80 type=rm80 DEC RP06 type=rp06 +DEC RP07 type=rp07 DEC RK07 type=rk07 +DEC RA80 type=ra80 DEC RA60 type=ra60 +DEC RA81 type=ra81 DEC R80 type=rb80 +DEC RA70 type=ra70 DEC RA82 type=ra82 +DEC RD53 type=rd53 DEC RD54 type=rd54 +CDC 9766 type=9766 CDC 9775 type=9775 +AMPEX 300M type=9300 AMPEX 330M type=capricorn +FUJITSU 160M type=fuji160 FUJITSU 330M type=capricorn +FUJITSU 404M type=eagle +.TE +.DE +This will generate many messages regarding the construction +of the file system and the restoration of the tape contents, +but should eventually stop with the messages: +.DS + ... +\fBRoot filesystem extracted\fP + +\fBIf this is an 8600, update the console RL02\fP +\fBIf this is a 780, update the floppy\fP +\fBIf this is a 730, update the cassette\fP +\fB#\fP +.DE +.NH 3 +Step 5: creating a boot floppy or cassette +.PP +If the machine is an 8600, 8200, 11/780 or 11/730, a boot floppy, +cassette, or console RL02 should be constructed according to the +instructions in chapter 4. For 11/750's, bootstrapping is normally performed by +using a boot prom and special code located in sectors 0-15 of the +root file system. +If you do not have a boot prom for your system disk, you may also create +a TU58 cassette with BOOT58 and +.UX +.I boot +program and boot script and use it as your boot path. +If you want to pursue this approach, contact Quasijarus Consortium +for assistance. +VAX 8200 has a very similar boot architecture to 11/750, except that the +bootable disks supported by the ROM are VAXBI and UNIBUS MSCP disks, i.e., +KDB50 and UDA50, and the console medium for BOOT58 is not TU58 but RX50. +MicroVAXen have no console media. They instead have a special version of VMB +in the ROM and may only be booted via the bootblock on the disk. +.PP +The +.I disklabel +program installs the 750/8200 and MicroVAX boot code along with the pack label. +.\" XXX needs thought: +Locate the disk name and type from the table in step 7, then +run the following command: +.DS +\fB#\fP \fIdisklabel -rw ${disk}0 $type "optional_pack_name" +.DE +All MicroVAXen \fBmust\fP use the +.I rdboot +primary bootblock regardless of the disk type. +It is the only bootblock for MicroVAXen, all other bootblocks are for 750 +and 8200. +If you have a MicroVAX and your disk is something other than RDxx, you must +explicitly specify the +.I rdboot +primary bootblock on the +.I disklabel +command line. +If you are booting from UDA50 or some other UNIBUS MSCP disk on an 8200, the +.I raboot +primary bootblock may not correctly communicate the UNIBUS adapter number to +the secondary bootblock. It computes the correct uba number for 750, but this +computation probably won't be correct on an 8200. You will need to either +patch the bootblock or use a BOOT58-based boot path. +.PP +On an 11/780 with old-style (MS780C) interleaved memory, or other +configurations that +require alteration of the standard boot files, this step may +be left for later. +.NH 3 +Step 6: rebooting the completed root file system +.PP +With the above work completed, all that is left is to reboot: +.DS +.ta 3.5i +\fB#\|\fIsync\fR (synchronize file system state) +\fB#\|\fI^P\fR (halt machine) +\fB>>>\|\fIHALT\fR (for 11/780's) +\fB>>>\|\fIUNJAM\fR (for 8600's or 11/780's only) +\fB>>>\|\fII\fR (initialize processor state) +\fB>>>\|\fIB xxS\fR (on an 11/750, use \fIB/2\fP; see below for 8200) +\&...(boot program is eventually loaded)... +\fBBoot\fP +\fB: \fIxx(x,0)vmunix\fR (\fIvmunix\fP brought in off root) +\fB271944+78848+92812 start 0x12e8 +\fB4.3 BSD UNIX #1: Wed Apr 9 23:33:59 PST 1988 +\fB karels@monet.berkeley.edu:/usr/src/sys/GENERIC +\fBreal mem = \fIxxx\fR +\fBavail mem = \fIyyy\fR +\fI\&... information about available devices ...\fP +\fBroot on xx0\fP +WARNING: preposterous time in file system \-\- CHECK AND RESET THE DATE! +\fBerase ^?, kill ^U, intr ^C\fP +\fB#\fP + +.DE +.PP +On an 8200, +or if the root device selected by the kernel is not correct, +it is necessary to boot using the option to ask for the root +device. +On the 8200, use \fIB/R5:800\fP followed by \fI@ANYBOO.CMD\fP; +on the 11/750, use \fIB/3\fP; on the other processors, use \fIBOOT ANY\fP. +At the prompt from the bootstrap, use the same device specification +above: \fIxx(x,0)vmunix\fP. +Then, to the question ``root device?,'' +respond with \fIxx\fP0. +See section 6.1 and appendix C if the system does not reboot properly. +.PP +The system is now running single user on the installed +root file system. The next section tells how to complete +the installation of distributed software on the /usr file system. +.NH 3 +Step 7: placing labels on the disks +.PP +First set up shell variables, so that +the commands we give will work regardless of the disk you have. +You might wish to review the disk configuration information in section 4.3 +before continuing; the partitions used below are those most appropriate +in size. +Find the disk you have in the following table and execute +the commands in the right hand portion of the table: +.DS +.TS +l l. +DEC RM03 \fB#\fI disk=hp; name=hp0g; type=rm03\fR +DEC RM05 \fB#\fI disk=hp; name=hp0g; type=rm05\fR +DEC RM80 \fB#\fI disk=hp; name=hp0g; type=rm80\fR +DEC RP06 \fB#\fI disk=hp; name=hp0g; type=rp06\fR +DEC RP07 \fB#\fI disk=hp; name=hp0h; type=rp07\fR +DEC RK07 \fB#\fI disk=hk; name=hk0g; type=rk07\fR +DEC RA60 \fB#\fI disk=ra; name=ra0h; type=ra60\fR +DEC RA70 \fB#\fI disk=ra; name=ra0h; type=ra70\fR +DEC RA80 \fB#\fI disk=ra; name=ra0h; type=ra80\fR +DEC RA81 \fB#\fI disk=ra; name=ra0h; type=ra81\fR +DEC RA82 \fB#\fI disk=ra; name=ra0h; type=ra82\fR +DEC R80 \fB#\fI disk=rb; name=rb0h; type=rb80\fR +UNIBUS CDC 9766 \fB#\fI disk=up; name=up0g; type=9766\fR +UNIBUS AMPEX 300M \fB#\fI disk=up; name=up0g; type=9300\fR +UNIBUS AMPEX 330M \fB#\fI disk=up; name=up0g; type=capricorn\fR +UNIBUS FUJITSU 160M \fB#\fI disk=up; name=up0g; type=fuji160\fR +UNIBUS FUJITSU 330M \fB#\fI disk=up; name=up0g; type=capricorn\fR +UNIBUS FUJITSU 404M \fB#\fI disk=up; name=up0h; type=eagle\fR +MASSBUS CDC 9766 \fB#\fI disk=hp; name=hp0g; type=9766\fR +MASSBUS AMPEX 300M \fB#\fI disk=hp; name=hp0g; type=9300\fR +MASSBUS AMPEX 330M \fB#\fI disk=hp; name=hp0g; type=capricorn\fR +MASSBUS FUJITSU 330M \fB#\fI disk=hp; name=hp0g; type=capricorn\fR +MASSBUS FUJITSU 404M \fB#\fI disk=hp; name=hp0h; type=eagle\fR +.TE +.DE +If you have a DEC RA disk, but it is on a KDB50, insert a `k': +.DS +\fB#\fP \fIdisk=k$disk; name=k$name +.DE +Next find the tape you have in the following table and execute the +commands in the right hand portion of the table: +.DS +.TS +l l. +DEC TE16/TU45/TU77 \fB#\fI cd /dev; MAKEDEV ht0; sync\fR +DEC TU78 \fB#\fI cd /dev; MAKEDEV mt0; sync\fR +DEC TS11 \fB#\fI cd /dev; MAKEDEV ts0; sync\fR +DEC TK50/TK70/TA80/TA81 \fB#\fI cd /dev; MAKEDEV tmscp0; sync\fR +EMULEX TC11 \fB#\fI cd /dev; MAKEDEV tm0; sync\fR +SI 9700 \fB#\fI cd /dev; MAKEDEV ut0; sync\fR +.TE +.DE +.PP +On hp and ra disks (excluding those on the KDB50), +\*(4B uses disk labels in the first sector of each disk to contain +information about the geometry of the drive and the partition layout. +This information is written with \fIdisklabel\fP\|(8). +To label the disk containing the root file system, +run the following command: +.DS +\fB#\fP \fIdisklabel -rw ${disk}0 $type "optional_pack_name" +.DE +This sets up the default partition table. \fIType\fP can +be any name listed in /etc/disktab; if you want something other +than the default tables, you can edit /etc/disktab and add +a new name: e.g., ``ra81-local.'' Alternatively, you can +use the \fI\-e\fP option to edit the label; +you will have to set the ``EDITOR'' environment variable to /bin/ed: +.DS +\fB#\fP \fIEDITOR=/bin/ed; export EDITOR\fP +.DE +.PP +You should label all your disks as soon as possible, but you +\fImust\fP label the root pack on a VAX-11/750, +even if labels are not supported (e.g., on ``up'' disks), +as this also creates the boot block. +Boot blocks are also required on MicroVAXen. +As a general rule, it is always safe to run \fIdisklabel\fP: +if labels are not supported on some disk, +nothing of consequence will happen. +.NH 3 +Step 8: setting up the /usr file system +.PP +The next thing to do is to extract the rest of the data from +the tape: +.br +.ne 5 +.sp +.DS +.TS +lw(2i) l. +\fB#\fI date \fRyyyymmddhhmm (set date, see \fIdate\fP\|(1)) +\&.... +\fB#\fI passwd root\fR (set password for super-user) +\fBNew password:\fP (password will not echo) +\fBRetype new password:\fP +\fB#\fI hostname \fRmysitename (set your hostname) +\fB#\fI newfs ${name} ${type}\fR (create empty user file system) +(this takes a few minutes) +\fB#\fI mount /dev/${name} /usr\fR (mount the usr file system) +\fB#\fI cd /usr\fR (make /usr the current directory) +\fB#\fI mt fsf\fR +\fB#\fI tar xpbf 20 /dev/rmt12\fR (extract all of usr except usr/src) +(this takes about 15-20 minutes) +.TE +.DE +If the tape had been rewound or positioned incorrectly before the \fItar\fP, +it may be repositioned by the following commands. +.DS +\fB#\fI mt rew\fR +\fB#\fI mt fsf 3\fR +.DE +The data on the fourth tape file has now been extracted. +If you are using 1600bpi tapes, +the first reel of the distribution is no longer needed; +the remainder of the installation procedure uses the second +reel of tape that should be mounted in place of the first. +The first instruction below is ignored if using 1600bpi tapes. +The installation procedure continues from this point on the 6250bpi tape. +In 1600bpi and TK50 distribution formats the sources are compressed with +\fIcompress\fR\|(1) in order to fit on the tape. +If you are extracting a compressed distribution, modify the following +commands appropriately. +.DS +.TS +lw(2i) l. +\fB#\fI mt fsf\fR (do not do on 1600bpi tapes) +\fB#\fI mkdir src\fR (make directory for source) +\fB#\fI mkdir src/sys\fR (make directory for system source) +\fB#\fI cd src/sys\fR (make /usr/sys the current directory) +\fB#\fI tar xpbf 20 /dev/rmt12 \fR (extract the system source) +(this takes about 5-10 minutes) +\fB#\fI cd /\fR (back to root) +\fB#\fI chmod 755 / /usr /usr/src /usr/src/sys\fR +\fB#\fI rm \-f sys\fR +\fB#\fI ln \-s usr/src/sys sys\fR (make a symbolic link to the system source) +\fB#\fI umount /dev/${name}\fR (unmount /usr) +.TE +.DE +.PP +You can check the consistency of the /usr file system by doing +.DS +\fB#\fI fsck /dev/r${name}\fR +.DE +The output from +.I fsck +should look something like: +.DS +.B +** /dev/r\fIxx\fP0h +** Last Mounted on /usr +** Phase 1 - Check Blocks and Sizes +** Phase 2 - Check Pathnames +** Phase 3 - Check Connectivity +** Phase 4 - Check Reference Counts +** Phase 5 - Check Cyl groups +671 files, 3497 used, 137067 free (75 frags, 34248 blocks) +.R +.DE +.PP +If there are inconsistencies in the file system, you may be prompted +to apply corrective action; see the document describing +.I fsck +for information. +.PP +To use the /usr file system, you should now remount it by +saying +.DS +\fB#\fI /etc/mount /dev/${name} /usr\fR +.DE +You can then extract the source code for the commands +(except on RK07's and RM03's this will fit in the /usr file system): +.DS +\fB#\fI cd /usr/src\fR +\fB#\fI mt fsf\fR +\fB#\fI tar xpb 20\fR +.DE +If you get an error at this point, most likely it was +a problem with tape positioning. +You can reposition the tape by rewinding it and +then skipping over the files already read (see \fImt\fP\|(1)). +.NH 3 +Additional software +.PP +There exists additional software that used to be distributed with the system. +Since it is static and does not change with ongoing Quasijarus development, it +has been separated from the main \*(4B distribution. +If you want to install the 4.3BSD-* software supplement, you can obtain and +install it separately. +.NH 2 +Additional conversion information +.PP +After setting up the new \*(4B filesystems, +you may restore the user files that were saved on tape before beginning +the conversion. +Note that the \*(4B \fIrestore\fP program does +its work on a mounted file system using normal system operations +(unlike the older \fIrestor\fP that accessed the raw file +system device and deposited inodes in the appropriate locations +on disk). This means that file system dumps may be restored even +if the characteristics of the file system changed. To restore +a dump tape for, say, the /a file system something like the following +would be used: +.DS +\fB#\fI mkdir /a\fR +\fB#\fI disklabel -rw hp1 eagle\fR +\fB#\fI newfs hp1g\fR +\fB#\fI mount /dev/hp1g /a\fR +\fB#\fI cd /a\fR +\fB#\fI restore r\fR +.DE +If you chose to convert 4.1BSD filesystems while copying to a new disk area, +do so by piping the output of \fIdump.4.1\fP directly into \fIrestore\fP +after bringing up \*(4B. +.PP +If \fItar\fP images were written instead of doing a dump, you should +be sure to use the `p' option when reading the files back. +No matter how you restore a file system, be sure and check its +integrity with \fIfsck\fP when the job is complete. +.PP +To convert a compiler from 4.1BSD +to \*(4B you should simply have to recompile and relink the +various parts. If the processor is written in itself, for instance +a P\s-2ASCAL\s0 compiler written in P\s-2ASCAL\s0, the important step in +converting is to save a working copy of the 4.1BSD binary before +converting to \*(4B. Then, once the system has been changed over, +the 4.1BSD binary should be used in the rebuilding process. +To do this, you should enable the 4.1 compatibility +option when you configure the kernel (see section 4.3). +.PP +If no working 4.1BSD binary exists, or the language processor +uses some nonstandard system call, you will likely have to compile +the language processor into an intermediate form, such as assembly +language, on a 4.1BSD system, then bring the intermediate form +to \*(4B for assembly and loading. diff --git a/doc/smm/01.setup/3.t b/doc/smm/01.setup/3.t new file mode 100644 index 00000000..256af2c9 --- /dev/null +++ b/doc/smm/01.setup/3.t @@ -0,0 +1,677 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)3.t 6.7 (Berkeley) 11/18/03 +.\" +.ds lq `` +.ds rq '' +.ds RH "Upgrading a 4.2BSD or \*(Ps System +.ds CF \*(DY +.LP +.nr H1 3 +.nr H2 0 +.bp +.LG +.B +.ce +3. UPGRADING A 4.2BSD OR \*(Ps SYSTEM +.sp 2 +.R +.NL +.PP +This section describes the procedure for upgrading a 4.2 or \*(Ps +system to \*(4B. This procedure may vary according to the version of +the system running before conversion. +If you are upgrading from 4.2BSD, +begin by reading the ``Bugs Fixes and Changes in 4.3BSD'' document to +see what has changed since the last time you bootstrapped the system. +If you have local system modifications to the +kernel to install, look at the document +``Changes to the Kernel in 4.3BSD'' to get an idea of how +the system changes will affect your local modifications. +.if \n(Th \{\ +If you are converting from a +System V system, some of this section will still apply (in particular, +the filesystem conversion). However, many of the system configuration +files are different, and the executable file formats are completely +incompatible. +.\} +.PP +If you are running 4.2BSD or \*(Ps, upgrading your system +involves replacing your kernel and system utilities. +Binaries compiled under \*(Ps will work without recompilation +under \*(4B, though they may run faster if they are recompiled. +.if \n(Th \{\ +When converting from 4.2BSD, most local programs will have to be recompiled, +as there are a number of incompatibilities between 4.3BSD +and the vendor-supplied 4.2BSD. +.\} +.if \n(Vx \{\ +Binaries compiled under 4.2BSD will probably work without recompilation, +but it is a good idea to recompile and relink because of the many changes +in header files and libraries since 4.2BSD. +4.1BSD binary images can also run unchanged under \*(4B +but only when the system is configured to include the +``4.1BSD compatibility mode.''* +.FS +* With ``4.1BSD compatibility mode'' +system calls from 4.1BSD are either emulated or safely ignored. +There are only two exceptions: programs that read directories or use +the old jobs library will not operate properly. However, while 4.1BSD +binaries will execute under \*(4B +it is \fBSTRONGLY RECOMMENDED\fP that the programs be recompiled under +the new system. +.FE +.\} +.PP +The easiest upgrade path from 4.2BSD or \*(Ps +(depending on your file system configuration) +is to build +new root and \fI/usr\fP file systems on unused partitions, +then copy or merge site specific files +into their corresponding files on the new system. +All user file systems can be retained unmodified, +except that the new \fIfsck\fP should be run +before they are mounted (see below). +.PP +Section 3.1 lists the files to be saved as part of the conversion process. +Section 3.2 describes the bootstrap process. +Section 3.3 discusses the merger of the saved files back into the new system. +Section 3.4 provides general hints on possible problems to be +aware of when converting from 4.2BSD to \*(4B. +.NH 2 +Files to save +.PP +The following list enumerates the standard set of files you will want to +save and suggests directories in which site-specific files should be present. +This list will likely be augmented with non-standard files you +have added to your system. +If you do not have enough space to create parallel +file systems, you should create a \fItar\fP image of the +following files before the new file systems are created. +In addition, it is +\fBSTRONGLY\fP advised that you do a full dump before rebuilding the file +system to guard against missing something the first time around. +.DS +.TS +l c l. +/.cshrc \(dg root csh startup script +/.login \(dg root csh login script +/.profile \(dg root sh startup script +/.rhosts \(dg for trusted machines and users +/dev/MAKEDEV \(dd in case you added anything here +/dev/MAKEDEV.local * for making local devices +/etc/disktab \(dd in case you changed disk partition sizes +/etc/fstab \(dg disk configuration data +/etc/ftpusers \(dg for local additions +/etc/gateways \(dg routing daemon database +/etc/gettytab \(dd getty database +/etc/group * group data base +/etc/hosts \(dg for local host information +/etc/hosts.equiv \(dg for local host equivalence information +/etc/networks \(dg for local network information +/etc/passwd * user data base +/etc/printcap \(dg line printer database +/etc/protocols \(dd in case you added any local protocols +/etc/rc * for any local additions +/etc/rc.local * site specific system startup commands +/etc/remote \(dg auto-dialer configuration +/etc/services \(dd for local additions +/etc/syslog.conf * system logger configuration +/etc/securettys * for restricted list of ttys where root can log in +/etc/ttys * terminal line configuration data +/etc/ttytype * terminal line to terminal type mapping data +/etc/termcap \(dd for any local entries that may have been added +/lib \(dd for any locally developed language processors +/usr/dict/* \(dd for local additions to words and papers +/usr/hosts/MAKEHOSTS * for local changes +/usr/include/* \(dd for local additions +/usr/lib/aliases \(dd mail forwarding data base +/usr/lib/crontab * cron daemon data base +/usr/lib/font/* \(dd for locally developed font libraries +/usr/lib/lib*.a \(dg for locally libraries +/usr/lib/lint/* \(dd for locally developed lint libraries +/usr/lib/sendmail.cf * sendmail configuration +/usr/lib/tabset/* \(dd for locally developed tab setting files +/usr/lib/term/* \(dd for locally developed nroff drive tables +/usr/lib/tmac/* \(dd for locally developed troff/nroff macros +/usr/lib/uucp/* \(dg for local uucp configuration files +/usr/man/manl * for manual pages for locally developed programs +/usr/msgs \(dg for current msgs +/usr/spool/* \(dg for current mail, news, uucp files, etc. +/usr/src/local \(dg for source for locally developed programs +/sys/conf/HOST \(dg configuration file for your machine +/sys/conf/files.HOST \(dg list of special files in your kernel +/*/quotas \(dg file system quota files +.TE +.sp +\(dg\|Files that can be used from 4.2BSD or \*(Ps without change. +\(dd\|Files that need local modifications merged into \*(4B files. +*\|Files that require special work to merge and are discussed +in section 3.3. +.DE +.NH 2 +Installing \*(4B +.PP +The next step is to build a working \*(4B system. +This can be done by following the steps in section 2 of +this document for extracting the root and /usr file systems +from the distribution tape onto unused disk partitions. +If you have a running 4.2BSD or \*(Ps system, +you can also do this by using +.IR dd (1) +to copy the \*(lqmini root\*(rq filesystem onto one disk partition, +then use it to load the \*(4B root filesystem as in chapter 2. +The root filesystem dump on the tape could also be extracted directly, +although this will require an additional file system check after booting \*(4B +to convert the new root filesystem. +The exact procedure chosen will depend on the disk configuration +and the number of suitable disk partitions that may be used. +If there is insufficient space to load the new root and \fI/usr\fP +filesystems before reusing the existing partitions, +it is \fBSTRONGLY\fP advised that you make full dumps of each filesystem +on magtape before beginning. +It is also desirable to run file system checks +of all filesystems to be converted to \*(4B before shutting down. +If you are running a system older than 4.2BSD, you will have to +dump and restore your file systems; see section 2.1 for some hints. +In either case, this is an excellent time to review your disk configuration +for possible tuning of the layout. +Section 4.2 and \fIconfig\fP(8) are required reading. +.PP +To ease the transition to new kernels, +the 4.3BSD and \*(4B +bootstrap routines pass the identity of the boot device +through to the kernel. +The kernel then uses that device as its root file system. +Thus, for example, if you boot from \fI/dev/\*(Dk1a\fP, +the kernel will use \*(Dk1a as its root file system. +If \fI/dev/\*(Dk1b\fP is configured as a swap partition, +it will be used as the initial swap area, +otherwise the normal primary swap area (\fI/dev/\*(Dk0b\fP) will be used. +The \*(4B bootstrap is backward compatible with 4.2BSD and \*(Ps, +so you can replace your old bootstrap if you use it +to boot your first \*(4B kernel. +.PP +Once you have extracted the \*(4B system and booted from it, +you will have to build a kernel customized for your configuration. +If you have any local device drivers, +they will have to be incorporated into the new kernel. +See section 4.2.3 and ``Building 4.3BSD UNIX Systems with Config.'' +.PP +If converting from 4.2BSD, \*(Ps, or the CCI 1.21 release, your old +file systems must be converted. +.if \n(Vx \{\ +The standard disk partitions in \*(4B are the same as those +in 4.2BSD and \*(Ps, +except for those on the DEC UDA50; see section 4.3.2 for details. +.\} +If you've modified the partition +sizes from the original BSD or CCI ones, and are not already using the +\*(4B disk labels, you will have to modify the default disk partion +tables in the kernel. Make the necessary table changes and boot +your custom kernel \fBBEFORE\fP trying to access any of your old +file systems! After doing this, if necessary, the remaining filesystems +may be converted in place by running the \*(4B version of +.IR fsck (8) +on each filesystem and allowing it to make the necessary corrections. +The new version of \fIfsck\fP is more +strict about the size of directories than the version supplied with 4.2BSD. +Thus the first time that it is run on a 4.2BSD file system, +it will produce messages of the form: +.DS +.if \n(Vx \{\ +\fBDIRECTORY ...: LENGTH\fP xx \fBNOT MULTIPLE OF 512 (ADJUSTED)\fP +.\} +.if \n(Th \{\ +\fBDIRECTORY ...: LENGTH\fP xx \fBNOT MULTIPLE OF 1024 (ADJUSTED)\fP +.\} +.DE +Length ``xx'' will be the size of the directory; +it will be expanded to the next multiple of +.if \n(Vx \{\ +512 +.\} +.if \n(Th \{\ +1024 +.\} +bytes. +The new \fIfsck\fP will also set default \fIinterleave\fP and +\fInpsect\fP (number of physical sectors per track) values on older +file systems, in which these fields were unused spares; this correction +will produce messages of the form: +.DS +\fBIMPOSSIBLE INTERLEAVE=0 IN SUPERBLOCK (SET TO DEFAULT)\fP* +\fBIMPOSSIBLE NPSECT=0 IN SUPERBLOCK (SET TO DEFAULT)\fP +.DE +.FS +* The defaults are to set \fIinterleave\fP to 1 and +\fInpsect\fP to \fInsect\fP; +.if \n(Vx \{\ +this is correct on many drives. +Notable exceptions are the RM80 and RA81, +where npsect should be set to +one more than nsect. +This affects only performance (and in the case +of the RA81, at least, virtually unmeasurably). +.\} +.if \n(Th \{\ +this is correct on all drives supported on the CCI. +.\} +.FE +File systems that have had their interleave and npsect values +set will be diagnosed by the old \fIfsck\fP as having a bad superblock; +the old \fIfsck\fP will run only if given an alternate superblock +.if \n(Vx \{\ +(\fIfsck \-b32\fP), +.\} +.if \n(Th \{\ +(\fIfsck \-b16\fP), +.\} +in which case it will re-zero these fields. +The \*(4B kernel will internally set these fields to their defaults +if fsck has not done so; again, the +.if \n(Vx \{\ +\fI\-b32\fP +.\} +.if \n(Th \{\ +\fI\-b16\fP +.\} +option may be +necessary for running the old \fIfsck\fP. +.PP +In addition, \*(4B removes several limits on file system sizes +that were present in both 4.2BSD and 4.3BSD. +The limited file systems +continue to work in \*(4B, but should be converted +as soon as it is convenient +by running \fIfsck\fP with the \fI\-c\fP option. +If no file systems have been so converted, +the sequence \fIfsck \-p \-c\fP will update all of them, +fix the interleave and npsect fields, +and fix any incorrect directory lengths +all at once. +The new unlimited file system formats are treated as read-only +by older systems. +A second \fIfsck \-c\fP, however, will +reconvert the new format to the old if none of the static limits +of the old file system format have been exceeded. +The new file systems are otherwise +compatible between 4.2BSD, \*(Ps, and \*(4B, +though running a \*(4B file system under older systems +may cause more of the above +messages to be generated the next time it is \fIfsck\fP'ed on \*(4B. +.NH 2 +.if \n(Th \{\ +Merging your files from 4.2BSD into \*(4B +.\} +.if \n(Vx \{\ +Merging your files from 4.2 or 4.3BSD into \*(4B +.\} +.PP +When your system is booting reliably and you have the \*(4B +root and /usr file systems fully installed you will be ready +to continue with the next step in the conversion process, +merging your old files into the new system. +.PP +If you saved the files on a \fItar\fP tape, extract them +into a scratch directory, say /usr/convert: +.DS +\fB#\fP \fImkdir /usr/convert\fP +\fB#\fP \fIcd /usr/convert\fP +\fB#\fP \fItar xp\fP +.DE +.PP +The data files marked in the previous table with a dagger (\(dg) +may be used without change from the previous system. +Those data files marked with a double dagger (\(dd) have syntax +changes or substantial enhancements. +You should start with the \*(4B version and carefully +integrate any local changes into the new file. +Usually these local modifications can be incorporated +without conflict into the new file; +some exceptions are noted below. +The files marked with an asterisk (*) require +particular attention and are discussed below. +.PP +If you have any homegrown device drivers in /dev/MAKEDEV.local +that use major device numbers reserved by the system you +will have to modify the commands used to create the devices or alter +the system device configuration tables in /sys/\*(mC/conf.c. +Otherwise /dev/MAKEDEV.local can be used without change +from 4.2 or \*(Ps. +.PP +System security changes require adding several new ``well-known'' groups +to /etc/group. +The groups that are needed by the system as distributed are: +.DS +.TS +l c. +name number +_ +wheel 0 +daemon 1 +kmem 2 +sys 3 +tty 4 +operator 5 +bin 10 +.TE +.DE +Only users in the ``wheel'' group are permitted to \fIsu\fP to ``root''. +Most programs that manage directories in /usr/spool +now run set-group-id to ``daemon'' so that users cannot +directly access the files in the spool directories. +The special files that access kernel memory, /dev/kmem +and /dev/mem, are made readable only by group ``kmem''. +Standard system programs that require this access are +made set-group-id to that group. +The group ``sys'' is intended to control access to kernel sources, +and other sources belong to group ``bin.'' +Rather than make user's terminals writable by all users, +they are now placed in group ``tty'' and made only group writable. +Programs that should legitimately have access to write on user's terminals +such as \fItalkd\fP and \fIwrite\fP now run set-group-id to ``tty''. +The ``operator'' group controls access to disks. +By default, disks are readable by group ``operator'', +so that programs such as \fIdf\fP can access the file system +information without being set-user-id to ``root''. +The +.IR shutdown (8) +program is executable only by group operator +and is setuid to root so that members of group operator may shut down +the system without root access. +.PP +Several new users have also been added to the group of ``well-known'' users +in /etc/passwd. +The current list is: +.DS +.TS +l c. +name number +_ +root 0 +daemon 1 +operator 2 +games 7 +uucp 66 +nobody 32767 +.TE +.DE +The ``daemon'' user is used for daemon processes that +do not need root privileges. +The ``operator'' user-id is used as an account for dumpers +so that they can log in without having the root password. +By placing them in the ``operator'' group, +they can get read access to the disks. +The ``uucp'' login has existed long before \*(4B, +and is noted here just to provide a common user-id. +The password entry ``nobody'' has been added to specify +the user with least privilege. The ``games'' user is a pseudo-user +that controls access to game programs. +.PP +After installing your updated password file, +you must run \fImkpasswd\fP\|(8) to create the \fIndbm\fP +password database. +Note that \fImkpasswd\fP is run whenever \fIvipw\fP\|(8) is run. +.PP +The format of the cron table, /usr/lib/crontab, has been changed +to specify the user-id that should be used to run a process. +The userid ``nobody'' is frequently useful for non-privileged programs. +.PP +Some of the commands previously in /etc/rc.local have been +moved to /etc/rc; +several new functions are now handled by /etc/rc, /etc/netstart +and /etc/rc.local. +You should look closely at the prototype version of these files +and read the manual pages for the commands contained in it +before trying to merge your local copy. +Note in particular that \fIifconfig\fP has had many changes, +and that host names are now fully specified as domain-style names +(e.g, monet.Berkeley.EDU) for the benefit of the name server. +.PP +The C library and system binaries on the distribution tape +are compiled with new versions of +\fIgethostbyname\fP and \fIgethostbyaddr\fP which use +the name server, +.IR named (8). +If you have only a small network and are not connected +to a large network, you can use the distributed library routines without +any problems; they use a linear scan of the host table \fI/etc/hosts\fP +if the name server is not running. +If you are on the DARPA Internet or have a large local network, +it is recommend that you set up +and use the name server. +For instructions on how to set up the necessary configuration files, +refer to ``Name Server Operations Guide for BIND''. +Several programs rely on the host name returned by \fIgethostname\fP +to determine the local domain name. +.PP +If you want to compile your system to use the +host table lookup routines instead of the name server, you will +need to modify /usr/src/lib/libc/Makefile according to the instructions there +and then recompile all of the system and local programs (see section 6.6). +Next, you must run \fImkhosts\fP\|(8) to create the \fIndbm\fP +host table database from \fI/etc/hosts\fP. +.PP +The format of /etc/ttys has changed, see \fIttys\fP\|(5) +for details. +It now includes the terminal type and security options that were previously +placed in /etc/ttytype and /etc/securettys. +.PP +There is a new version of \fIsyslog\fP that uses a more generalized +facility/priority scheme. +This has changed the format of the syslog.conf file. +See \fIsyslogd\fP\|(8) for details. +\fISyslog\fP now logs kernel errors, +allowing events such +as soft disk errors, filesystem-full messages, and other such error messages +to be logged without slowing down the system +while the messages print on the console. +It is also used by many of the system daemons +to monitor system problems more closely, for example +network routing changes. +.PP +If you are using the name server, your \fIsendmail\fP configuration +file will need some minor updates to accommodate it. +See the ``Sendmail Installation and Operation Guide'' and the sample +\fIsendmail\fP configuration files in /usr/src/usr.lib/sendmail/cf. +The sendmail.cf's supplied with this release are alleged to be +``generic'', but have only really seen use at Berkeley. In particular +there are two points to watch out for. First, all host names in the +sendmail.cf itself must be fully qualified names. Second, the +sendmail.cf's assume you have a /usr/lib/sendmail that was compiled +with the resolver library (i.e., not hosttables). This is necessary +to canonicalize unqualified names into fully-qualified names (e.g., +foo -> foo.bar.com). Using these .cf files with a host table can +probably be done, but it will be difficult. +Be sure to regenerate your sendmail frozen configuration file after +installation of your updated configuration file with the command +\fI/usr/lib/sendmail -bz\fP. +The aliases file, +/usr/lib/aliases has also been changed to add certain well-known addresses. +.PP +The spooling directories saved on tape may be restored in their +eventual resting places without too much concern. Be sure to +use the `p' option to \fItar\fP so that files are recreated with the +same file modes: +.DS +\fB#\fP \fIcd /usr\fP +\fB#\fP \fItar xp msgs spool/mail spool/uucp spool/uucppublic spool/news\fP +.DE +.PP +The following two sections contain additional notes concerning +changes in \*(4B that affect the installation of local files; +be sure to read them as well. +.NH 2 +Hints on converting from 4.2BSD to \*(4B +.PP +This section summarizes the most significant changes between +4.2BSD and 4.3BSD, particularly those that are likely to +cause difficulty in doing the conversion. +It does not include changes in the network; +see chapter 5 for information on setting up the network. +.PP +The mailbox locking protocol has changed; +it now uses the advisory locking facility to avoid concurrent +update of users' mail boxes. +If you have your own mail interface, be sure to update its locking protocol. +.PP +The kernel's limit on the number of open files has been +increased from 20 to 64. It is now possible to change this limit almost +arbitrarily (there used to be a hard limit of 30). The standard I/O library +autoconfigures to the kernel limit. +Note that file (``_iob'') entries may be allocated +by \fImalloc\fP from \fIfopen\fP; +this allocation has been known to cause problems with programs +that use their own memory allocators. +This does not occur until after 20 files have been opened +by the standard I/O library. +.PP +\fISelect\fP can be used with more than 32 descriptors +by using arrays of \fBint\fPs for the bit fields rather than single \fBint\fPs. +Programs that used \fIgetdtablesize\fP as their first argument to \fIselect\fP +will no longer work correctly. +Usually the program can be modified to correctly specify the number +of bits in an \fBint\fP. +Alternatively the program can be modified to use an array of \fBint\fPs. +There are a set of macros available in \fI\fP to simplify this. +See +.IR select (2). +.PP +Old core files will not be intelligible by the current debuggers +because of numerous changes to the user structure +and because the kernel stack has been enlarged. +The \fIa.out\fP header that was in the user structure is no longer present. +Locally-written debuggers that try to check the magic number +will need modification. +.PP +\fIFind\fP now has a database of file names, +constructed once a week from \fIcron\fP. +To find a file by name only, +the command \fIfind name\fP will look in the database for +files that match the name. This is much faster than +\fIfind / \-name name \-print\fP. +.PP +Files may not be deleted from directories having the ``sticky'' (ISVTX) bit +set in their modes +except by the owner of the file or of the directory, or by the superuser. +This is primarily to protect users' files in publicly-writable directories +such as \fI/tmp\fP and \fI/usr/tmp\fP. +All publicly-writable directories should have their ``sticky'' bits set +with ``chmod +t.'' +.PP +The include file \fI\fP has returned to \fI/usr/include\fP, +and again contains the definitions for the C library time routines of +\fIctime\fP\|(3). +.PP +The \fIcompact\fP and \fIuncompact\fP programs have been supplanted +by the faster \fIcompress\fP. +If your user population has \fIcompact\fPed files, you will want +to install \fIuncompact\fP from /usr/src/old/compact. +.PP +The configuration of the virtual memory limits has been simplified. +A MAXDSIZ option, specified in bytes in the machine configuration file, +may be used to raise the maximum process region size from +the default of 17Mb to 32Mb or 64Mb. +The initial per-process limit is still 6Mb, +but can be raised up to MAXDSIZ with the \fIcsh limit\fP command. +.PP +Some \*(4B binaries will not run with a 4.2BSD kernel because +they take advantage of new functionality in \*(4B. +One noticeable example of this problem is \fIcsh\fP. +.if \n(Th \{\ +Also, most terminal \fIioctl\fP operations are incompatible +between \*(4B and the vendor-supplied versions of 4.2BSD. +.\} +.PP +If you want to use \fIps\fP after booting a new kernel, +and before going multiuser, you must initialize its name list +database by running \fIps \-U\fP. +.NH 2 +Hints on converting from 4.3BSD to \*(4B +.PP +The largest visible change between 4.3BSD to \*(4B +(other than the addition of support for new processors) +is the addition of support for disk labels. +This facility allows each disk or disk pack to contain all geometry +information about the disk and the partition layout for the disk. +Disk labels are supported on all disk types on the Tahoe machines, +and on hp and ra/rd disks on the VAX. +See section 2.1.6 as well as +.IR disklabel (8) +and +.IR disklabel (5). +Installation of this facility requires use of the new kernel and device +drivers, bootstraps and other standalone programs, +/etc/disktab, +.if \n(Vx \{\ +.IR bad144 (8V), +.\} +.IR newfs (8), +and probably other programs. +.PP +The bootstrap programs have been fixed to work on MicroVAX IIs +and VAXstation II's with QVSS (VS II) or QDSS (GPX) displays; +the kernel includes support for these displays, courtesy of Digital +Equipment Corp. +In order to install the bootstrap on RD52/53/54 disks with +.IR disklabel (8), +the new /etc/disktab must be used, +or the block 0 bootstrap must be explictly listed as /usr/mdec/rdboot +(\fInot\fP raboot). +.\} +.PP +The order in which daemons are started by /etc/rc and /etc/rc.local +has changed, and network initialization has been split into /etc/netstart. +Look at the prototype files, and modify /etc/rc.local as necessary; +c.f. section 5.6.1. +.PP +\*(4B includes the Olson +timezone implementation, which uses timezone and daylight-savings-time +rules loaded from files in /etc/zoneinfo; see +.IR ctime (3) +and +.IR tzfile (5). +.PP +The type of the +.IR sprintf (3S) +function has been changed from \fIchar *\fP in 4.2BSD and 4.3BSD +to \fIint\fP as in the proposed ANSI C standard and in System V. +Programers are discouraged from using the return value from +.I sprintf +until this change is ubiquitous. +Fortunately, the previous return value from +.I sprintf +was essentially useless. +.PP +The ownership and modes of some directories have changed. +The \fIat\fP programs now run set-user-id ``root'' instead of ``daemon.'' +Also, the uucp directory no longer needs to be publicly writable, +as \fItip\fP reverts to privileged status to remove its lock files. +After copying your version of /usr/spool, you should do: +.DS +\fB#\fP \fIchown \-R root /usr/spool/at\fP +\fB#\fP \fIchown \-R uucp.daemon /usr/spool/uucp\fP +\fB#\fP \fIchmod \-R o\-w /usr/spool/uucp\fP +.DE +.PP +The MAKEHOSTS file has moved from /usr/hosts to /usr. +.PP +The source versions of the manual pages have been moved from +/usr/man/man[1-8] to /usr/src/man, /usr/src/new/man, and /usr/src/local/man. +Local manual pages should be moved into their respective source code +directories, or into /usr/src/local/man/man[1-8], and Makefiles changed to +install the formatted manual pages into /usr/local/man/cat[1-8]. The shell +script /usr/man/manroff calls nroff with the standard manual arguments. An +example of installing a manual page might be: +.DS +\fB#\fP \fI/usr/man/manroff example.2 > example.0\fP +\fB#\fP \fIinstall -o bin -g bin -m 444 example.0 /usr/local/man/cat2\fP +.DE +.PP +Whatever else is left is likely to be site specific or require +careful scrutiny before placing in its eventual resting place. +Refer to the documentation and source code +before arbitrarily overwriting a file. diff --git a/doc/smm/01.setup/4.t b/doc/smm/01.setup/4.t new file mode 100644 index 00000000..e22f0673 --- /dev/null +++ b/doc/smm/01.setup/4.t @@ -0,0 +1,1331 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)4.t 6.6 (Berkeley) 11/18/03 +.\" +.de IR +\fI\\$1\fP\|\\$2 +.. +.ds LH "Installing/Operating \*(4B +.nr H1 4 +.nr H2 0 +.ds CF \*(DY +.ds RH "System setup +.bp +.LG +.B +.ce +4. SYSTEM SETUP +.sp 2 +.R +.NL +.PP +This section describes procedures used to set up a \*(Mc UNIX system. +These procedures are used when a system is first installed +or when the system configuration changes. Procedures for normal +system operation are described in the next section. +.if \n(Vx \{\ +.NH 2 +Creating UNIX boot media +.PP +The procedures for making the various UNIX boot media are described in this +section. If you have an 11/780, you will need to make a floppy. +Making a console floppy is also recommended for 8200. +For an 11/730 (and rarely for an 11/750), you will need to make a cassette. +For an 8600, you will need to make a console RL02 pack. +.PP +The boot command files are all set up for booting off of the first +UNIBUS or MASSBUS. If you are booting off of a different UNIBUS +or MASSBUS, you will need to modify the boot command files appropriately. +.NH 3 +Making a UNIX boot console RL02 pack +.PP +If you have an 8600 you will want to create a +.UX +boot console RL02 pack by adding some files to your current DEC +console pack, using +\fIarff\fP\|(8). +If you do not want to modify your current DEC console pack, you may +make a copy of it first using +\fIdd\fP\|(1). +This pack will make standalone system operations such as +bootstrapping much easier. +.PP +First change into the directory where the console RL02 +information is stored: +.DS +\fB#\fI cd /sys/consolerl\fR +.DE +then set up the default boot device. +If you have an RK07 as your primary root do: +.DS +\fB#\fI cp defboo.hk defboo.com\fR +.DE +If you have a drive on a UDA50 (e.g. an RA81) as your +primary root do: +.DS +\fB#\fI cp defboo.ra defboo.com\fR +.DE +If you have a second vendor +UNIBUS storage module as your primary root do: +.DS +\fB#\fI cp defboo.up defboo.com\fR +.DE +Otherwise: +.DS +\fB#\fI cp defboo.hp defboo.com\fR +.DE +The final step in updating the console RL02 pack is: +.DS +\fB#\fI make update\fR +.DE +More copies of this console RL02 pack can be made using +.IR dd (1). +.NH 3 +Making a UNIX boot floppy +.PP +If you have an 11/780 you will want to create a +.UX +boot floppy by adding some files to a copy of your current DEC +console floppy, using either +.IR flcopy (8) +or +.IR dd \|(1), +and using +.IR arff \|(8). +This floppy will make standalone system operations such as +bootstrapping much easier. +.PP +First change into the directory where the console floppy +information is stored: +.DS +\fB#\fI cd /sys/floppy\fR +.DE +then set up the default boot device. +If you have an RK07 as your primary root do: +.DS +\fB#\fI cp defboo.hk defboo.cmd\fR +.DE +If you have a drive on a UDA50 (e.g. an RA81) as your +primary root do: +.DS +\fB#\fI cp defboo.ra defboo.cmd\fR +.DE +If you have a second vendor +UNIBUS storage module as your primary root do: +.DS +\fB#\fI cp defboo.up defboo.cmd\fR +.DE +Otherwise: +.DS +\fB#\fI cp defboo.hp defboo.cmd\fR +.DE +On an 11/780, +if the local configuration requires any changes in restar.cmd +or defboo.cmd (e.g., for interleaved old-style memory controllers see +defboo.MS780C-interleaved), +these should be made now. +The following command will then copy your DEC local console floppy, +updating the copy appropriately. +.DS +\fB#\fI make update\fR +\fBChange Floppy, Hit return when done.\fP +(waits for you to put clean floppy in console) +\fBAre you sure you want to clobber the floppy?\fI yes\fR +.DE +More copies of this floppy can be made using +.IR flcopy (8). +.PP +On an 8200 it is recommended to make a +.UX +console RX50 floppy, although it is not required if you use the ROM +to boot directly from a KDB50 or UDA50. +Since the 8200 does not need any CPU microcode or front end processor code +on the console floppy, the distribution console RX50 may be used for booting +and as a maintenance aid. There is no need to make a different console floppy. +If you have not received a console RX50 with your \*(4B distribution, you can +make one with the following commands: +.DS +\fB#\fI cd /sys/rx50\fR +\fB#\fI make\fR +\fB#\fI make install\fR +.DE +The +.I defboo.cmd +and +.I sngboo.cmd +command scripts are set up for booting from the first KDB50. +If you need to boot from a KDB50 other than the first, or from an UDA50, +change the scripts accordingly prior to running +.IR make . +.NH 3 +Making a UNIX boot cassette +.PP +If you have an 11/730 you will want to create a +.UX +boot cassette by adding some files to a copy of +your current DEC console cassette, using +\fIflcopy\fP\|(8) and \fIarff\fP\|(8). +This cassette will make standalone system operations such as +bootstrapping much easier. +.PP +First change into the directory where the console cassette +information is stored: +.DS +\fB#\fI cd /sys/cassette\fR +.DE +then set up the default boot device. +If you have an IDC storage module as your primary root do: +.DS +\fB#\fI cp defboo.rb defboo.cmd\fR +.DE +If you have an RK07 as your primary root do: +.DS +\fB#\fI cp defboo.hk defboo.cmd\fR +.DE +If you have a drive on a UDA50 as your primary root do: +.DS +\fB#\fI cp defboo.ra defboo.cmd\fR +.DE +Otherwise: +.DS +\fB#\fI cp defboo.up defboo.cmd\fR +.DE +To complete the procedure place your DEC local +console cassette in +drive 0 (the drive at front of the CPU); +the following command will then copy it, +updating the copy appropriately. +.DS +\fB#\fI make update\fR +\fBChange Floppy, Hit return when done.\fP +(waits for you to put clean cassette in console drive 0) +\fBAre you sure you want to clobber the floppy?\fI yes\fR +.DE +More copies of this cassette can best be made using +.IR dd (1). +.PP +Although it is rarely necessary, you can also create a console cassette for +a 750 with BOOT58. You will need to do this if you cannot obtain a boot PROM +for your system disk. Contact Quasijarus Consortium for assistance if you need +to do this. +.\} +.NH 2 +Kernel configuration +.PP +This section briefly describes the layout of the kernel code and +how files for devices are made. +For a full discussion of configuring +and building system images, consult the document ``Building +4.3BSD UNIX Systems with Config''. +.NH 3 +Kernel organization +.PP +As distributed, the kernel source is in a +separate tar image. The source may be physically +located anywhere within any file system so long as +a symbolic link to the location is created for the +file /sys +(many files in /usr/include are normally symbolic links +relative to /sys). In further discussions of the +system source all path names will be given relative to +/sys. +.PP +The directory /sys/sys +contains the mainline machine independent +operating system code. +Files within this directory are conventionally +named with the following prefixes: +.DS +.TS +lw(1.0i) l. +init_ system initialization +kern_ kernel (authentication, process management, etc.) +quota_ disk quotas +sys_ system calls and similar +tty_ terminal handling +ufs_ file system +uipc_ interprocess communication +vm_ virtual memory +.TE +.DE +.PP +The remaining directories are organized as follows: +.DS +.TS +lw(1.0i) l. +/sys/h machine-independent include files +/sys/conf site configuration files and basic templates +/sys/kdb machine-independent part of the kernel debugger +/sys/net protocol-independent, but network-related code +/sys/netimp IMP support code +/sys/netinet DARPA Internet code +/sys/netns Xerox NS code +/sys/stand machine-independent standalone code +/sys/tahoe Tahoe-specific mainline code +/sys/tahoealign Tahoe unaligned-reference emulation code +/sys/tahoedist Tahoe distribution files +/sys/tahoeif Tahoe network interface code +/sys/tahoevba Tahoe VERSAbus device drivers and related code +/sys/tahoemath Tahoe floating point emulation code +/sys/tahoestand Tahoe standalone device drivers and related code +/sys/vax VAX-specific mainline code +/sys/vaxbi VAX BI device drivers and related code +/sys/vaxdist VAX distribution files +/sys/vaxif VAX network interface code +/sys/vaxmba VAX MASSBUS device drivers and related code +/sys/vaxstand VAX standalone device drivers and boot code +/sys/vaxuba VAX UNIBUS device drivers and related code +.TE +.DE +.PP +Many of these directories are referenced through /usr/include with +symbolic links. For example, /usr/include/sys is a symbolic +link to /sys/h. The system code, as distributed, is totally +independent of the include files in /usr/include. This allows +the system to be recompiled from scratch without the /usr file +system mounted. +.NH 3 +Devices and device drivers +.PP +Devices supported by UNIX are implemented in the kernel +by drivers whose source is kept in +.if \n(Vx \{\ +/sys/vax, /sys/vaxbi, /sys/vaxuba, or /sys/vaxmba. +.\} +.if \n(Th \{\ +/sys/tahoe or /sys/tahoevba. +.\} +These drivers are loaded +into the system when included in a cpu specific configuration file +kept in the conf directory. Devices are accessed through special +files in the file system, made by the +.IR mknod (8) +program and normally kept in the /dev directory. +For all the devices supported by the distribution system, the +files in /dev are created by the /dev/MAKEDEV +shell script. +.PP +Determine the set of devices that you have and create a new /dev +directory by running the MAKEDEV script. +First create a new directory +/newdev, copy MAKEDEV into it, edit the file MAKEDEV.local +to provide an entry for local needs, +and run it to generate a /newdev directory. +.if \n(Vx \{\ +For instance, if your machine has a single DZ11, a single +DH11, a single DMF32, an RM03 disk, an EMULEX UNIBUS SMD disk controller, an +AMPEX 9300 disk, and a TE16 tape drive you would do: +.\} +.if \n(Th \{\ +For instance, if your machine has a single VIOC terminal +multiplexor, two CDC 340 megabyte Winchester drives, and +a single Cipher tape drive you would do: +.\} +.DS +\fB#\fP \fIcd /\fP +\fB#\fP \fImkdir newdev\fP +\fB#\fP \fIcp dev/MAKEDEV newdev/MAKEDEV\fP +\fB#\fP \fIcd newdev\fP +.if \n(Vx \{\ +\fB#\fP \fIMAKEDEV dz0 dh0 dmf0 hp0 up0 ht0 std LOCAL\fP +.\} +.if \n(Th \{\ +\fB#\fP \fIMAKEDEV vx0 dk0 dk1 cy0 std LOCAL\fP +.\} +.DE +Note the ``std'' argument causes standard devices +such as \fI/dev/console\fP, the machine console, +.if \n(Vx \{\ +\fI/dev/floppy\fP, +the console floppy disk interface for the 11/780 and 11/785, and +\fI/dev/tu0\fP and \fI/dev/tu1\fP, the console cassette interfaces +for the 11/750 and 11/730, +.\} +to be created. +.PP +You can then do +.DS +\fB#\fP \fIcd /\fP +\fB#\fP \fImv dev olddev ; mv newdev dev\fP +\fB#\fP \fIsync\fP +.DE +to install the new device directory. +.NH 3 +Building new system images +.PP +The kernel configuration of each UNIX system is described by +a single configuration file, stored in the \fI/sys/conf\fP directory. +To learn about the format of this file and the procedure used +to build system images, +start by reading ``Building 4.3BSD UNIX Systems with Config'', +look at the manual pages in section 4 +of the UNIX manual for the devices you have, +and look at the sample configuration files in the /sys/conf +directory. +.PP +The configured system image ``vmunix'' should be +copied to the root, and then booted to try it out. +It is best to name it /newvmunix so as not to destroy +the working system until you're sure it does work: +.DS +\fB#\fP \fIcp vmunix /newvmunix\fP +\fB#\fP \fIsync\fP +.DE +It is also a good idea to keep the previous system around under some other +name. In particular, we recommend that you save the generic distribution +version of the system permanently as \fI/genvmunix\fP for use in emergencies. +To boot the new version of the system you should follow the +bootstrap procedures outlined in section 6.1. +After having booted and tested the new system, it should be installed +as \fI/vmunix\fP before going into multiuser operation. +A systematic scheme for numbering and saving old versions +of the system may be useful. +.NH 2 +Disk configuration +.PP +This section describes how to layout file systems to make use +of the available space and to balance disk load for better system +performance. +.NH 3 +Initializing /etc/fstab +.PP +.if \n(Vx \{\ +Change into the directory /etc and copy the appropriate file from: +.DS +fstab.rm03 +fstab.rm05 +fstab.rm80 +fstab.ra60 +fstab.ra80 +fstab.ra81 +fstab.rb80 +fstab.rp06 +fstab.rp07 +fstab.rk07 +fstab.up160m (160MB up drives) +fstab.hp400m (400MB hp drives) +fstab.up (other up drives) +fstab.hp (other hp drives) +.DE +to the file /etc/fstab, i.e.: +.DS +\fB#\fI cd /etc\fR +\fB#\fI cp \fIfstab.xxx\fP fstab\fR +.DE +.PP +This will set up the default information about the usage of disk +partitions, which we see how to update more below. +.\} +.if \n(Th \{\ +The names of the disks on \*(4B all use the basename \fIdk\fP, +unlike other systems on the Tahoe. +Unfortunately, the console processor reads the file \fI/etc/fstab\fP +and expects disk names that indicate the type of disk drive. +Therefore, the first line in \fI/etc/fstab\fP is a dummy line +to satisfy the console processor: +.DS +/dev/fsd0a:/:xx:1:1 +.DE +If your root disk is a type other than \fIfsd\fP, +edit \fI/etc/fstab\fP to change the first device +to the appropriate type. +.\} +.NH 3 +Disk naming and divisions +.PP +Each physical disk drive can be divided into up to 8 partitions; +UNIX typically uses only 3 or 4 partitions. +For instance, on an \*(Dn, +the first partition, \*(Dk0a, +is used for a root file system, a backup thereof, +or a small file system like, /tmp; +the second partition, \*(Dk0b, +is used for paging and swapping; and +the third partition, \*(Dk0\*(Pa, +holds a user file system. +.if \n(Vx \{\ +On an RM05, the first three partitions +are used as for the \*(Dn, and the fourth partition, \*(Dk0h, +holds the /usr file system, including source code. +.\} +.if !\n(Th \{\ +.PP +The disk partition sizes for a drive are based on a +set of four prototype partition tables; c.f. \fIdiskpart\fP\|(8). +The particular +table used is dependent on the size of the drive. +The ``a'' partition is the same size across all drives, +15884 sectors. The ``b'' partition, used for paging and +swapping, is sized according to the total space on the disk. +For drives less than about 400 megabytes the partition +is 33440 sectors, while for larger drives the partition size +is doubled to 66880 sectors. The ``c'' partition is always +used to access the entire physical disk, including the space +at the back of the disk reserved for the bad sector +forwarding table. If the disk is larger than about 250 megabytes, +an ``h'' partition is created with size 291346 sectors, and +no matter whether the ``h'' partition is created or not, the +remainder of the drive is allocated to the ``g'' partition. +Sites that want to split up the ``g'' partition into several +smaller file systems may use the ``d'', ``e'', and ``f'' +partitions that overlap the ``g'' partition. The default +sizes for these partitions are 15884, 55936, and the remainder +of the disk, respectively*. +.FS +* These rules are, unfortunately, not evenly applied to all +disks. \fI/etc/disktab\fP, and the pack label or driver tables, +give the final word; consult section 4 of the manual, and +read /etc/disktab, for more information. +.FE +.PP +The disk partition sizes for DEC RA60, RA80, and RA81 have +changed since 4.2BSD. If upgrading from 4.2BSD, +you will need to decide if you want +to use the new partitions or the old partitions. If you +desire to use the old partitions, you will need to label your packs +as `racompat', or create your own by updating +/etc/disktab. Any +other partition sizes that were modified at your site will +require the same consideration; +if the device driver does not support pack labels, you will have to +update its compiled-in tables as well. +.\} +.PP +The space available on a disk varies per device. The amount of space +available on the common disk partitions is listed in the following table. +Not shown in the table are the partitions of each drive devoted +to the root file system and the paging area. +Many other partitions are listed in the standard partitions, +but most of them are not useful. +Note that the standard partition tables usually list several alternative +ways to divide a disk, but that only nonoverlapping partitions may be used +on any one disk. +.if \n(Vx \{\ +.DS +.TS +center; +l l n l n. +Type Name Size Name Size +_ +rk07 hk?g 13 Mb +rm03 hp?g 41 Mb +rp06 hp?g 145 Mb +rm05 hp?g 80 Mb hp?h 145 Mb +rm80 hp?g 96 Mb +ra60 ra?g 78 Mb ra?h 96 Mb +ra80 ra?g 96 Mb +ra81 ra?g 257 Mb ra?h 145 Mb +rb80 rb?g 41 Mb rb?h 56 Mb +rp07 hp?g 315 Mb hp?h 145 Mb +up300 up?g 80 Mb up?h 145 Mb +up330 up?g 90 Mb up?h 145 Mb +up400 hp?g 216 Mb hp?h 145 Mb +up160 up?g 106 Mb +.TE +.DE +.\} +.if \n(Th \{\ +.DS +.TS +center; +l l n l n. +Type Name Size Name Size +_ +xfd dk?c 225 Mb dk?g,h 112 Mb +eagle dk?c 301 Mb +fsd dk?c 106 Mb +.TE +.DE +.\} +.if \n(Vx \{\ +.LP +Here up300 refers to either an AMPEX or CDC 300 megabyte disk on a +MASSBUS or UNIBUS disk controller, up330 refers to either an AMPEX +or FUJITSU 330 megabyte disk on a MASSBUS or UNIBUS controller, +up160 refers to a FUJITSU 160 megabyte disk +on the UNIBUS, and up400 refers to a FUJITSU Eagle 400 megabyte +disk on a MASBUS or UNIBUS disk controller. ``hp'' should be +substituted for ``up'' above if the disk is on the MASSBUS. +Consult the manual pages for the specific controllers for other +supported disks or other partitions. +.PP +Each disk also has a paging area, typically 16 megabytes, and +a root file system of 7.5 megabytes. +.\} +.if \n(Th \{\ +.PP +Each disk also has a paging area and a root file system of between 10 and 30 +Megabytes apiece. +.\} +.\" XXX check +The distributed system binaries occupy about 34 megabytes +.\" XXX check +while the major sources occupy another 32 megabytes. +.if \n(Vx \{\ +This overflows dual RK07, dual RL02 and single RM03 systems, +but fits easily on most other hardware configurations. +.\} +.if \n(Th \{\ +This is unlikely to +overflow even the smallest Tahoe configurations. +.\} +.PP +Be aware that the disks have their sizes +measured in disk sectors (usually 512 bytes), while the UNIX file +system blocks are variable sized. All user programs report +disk space in kilobytes and, where needed, disk sizes are always +specified in units of +sectors. The /etc/disktab file used in labelling disks and making file systems +specifies disk partition sizes in sectors; the default sector size +(DEV_BSIZE as defined in /sys/h/param.h) +may be overridden with the ``se'' attribute. +.if \n(Th \{\ +All SMD disks on Tahoe currently use a sector size of 512 bytes. +.\} +.NH 3 +Layout considerations +.PP +There are several considerations in deciding how +to adjust the arrangement of things on your disks. +The most important is making sure that there is adequate space +for what is required; secondarily, throughput should be maximized. +Paging space is an important parameter. +The system, as distributed, sizes the configured +paging areas each time the system is booted. Further, +multiple paging areas of different size may be interleaved. +.if \n(Vx \{\ +Drives smaller than 400 megabytes have swap partitions of 16 megabytes +while drives larger than 400 megabytes have 32 megabytes. These +values may be changed to get more paging space by changing +the label (or, if labels are unsupported, +the appropriate partition table in the disk driver). +.\} +.PP +Many common system programs (C, the editor, the assembler etc.) +create intermediate files in the /tmp directory, +so the file system where this is stored also should be made +large enough to accommodate +most high-water marks; if you have several disks, it makes +sense to mount this in a ``root'' (i.e. first partition) +file system on another disk. +All the programs that create files in /tmp take +care to delete them, but are not immune to rare events +and can leave dregs. +The directory should be examined every so often and the old +files deleted. +.PP +The efficiency with which UNIX is able to use the CPU +is often strongly affected by the configuration of disk controllers. +For general time-sharing applications, +the best strategy is to try to split the root file system (/), system binaries +(/usr), the temporary files (/tmp), +and the user files among several disk arms, and to interleave +the paging activity among several arms. +.PP +It is critical for good performance to balance disk load. +There are at least five components of the disk load that you can +divide between the available disks: +.DS +1. The root file system. +2. The /tmp file system. +3. The /usr file system. +4. The user files. +5. The paging activity. +.DE +The following possibilities are ones we have used at times +when we had 2, 3 and 4 disks: +.TS +center doublebox; +l | c s s +l | lw(5) | lw(5) | lw(5). + disks +what 2 3 4 +_ +/ 0 0 0 +tmp 1 2 3 +usr 1 1 1 +paging 0+1 0+2 0+2+3 +users 0 0+2 0+2 +archive x x 3 +.TE +.PP +The most important things to consider are to +even out the disk load as much as possible, and to do this by +decoupling file systems (on separate arms) between which heavy copying occurs. +Note that a long term average balanced load is not important; it is +much more important to have an instantaneously balanced +load when the system is busy. +.PP +Intelligent experimentation with a few file system arrangements can +pay off in much improved performance. It is particularly easy to +move the root, the +/tmp +file system and the paging areas. Place the +user files and the +/usr +directory as space needs dictate and experiment +with the other, more easily moved file systems. +.NH 3 +File system parameters +.PP +Each file system is parameterized according to its block size, +fragment size, and the disk geometry characteristics of the +medium on which it resides. Inaccurate specification of the disk +characteristics or haphazard choice of the file system parameters +can result in substantial throughput degradation or significant +waste of disk space. As distributed, +file systems are configured according to the following table. +.DS +.TS +center; +l l l. +File system Block size Fragment size +_ +/ 8 kbytes 1 kbytes +usr 4 kbytes 1 kbytes +users 4 kbytes 1 kbytes +.TE +.DE +.PP +The root file system block size is +made large to optimize bandwidth to the associated +disk; this is particularly important since the +/tmp directory is normally part of the root file or a similar filesystem. +The large block size is also +important as many of the most heavily used programs +are demand paged out of the /bin directory. The +fragment size of 1 kbyte is a ``nominal'' value to use +with a file system. With a 1 kbyte fragment size +disk space utilization is about the same +as with the earlier versions of the file system. +.PP +The usr file system would like to use a 4 kbyte block size +with 512 byte fragment size in an effort to get high performance +while conserving the amount of space wasted by a large fragment +size. However, the tahoe disk controllers require a minimum +block size of 1 Kbyte. Space compaction +has been deemed important here because the source code +for the system is normally placed on this file system. +If the source code is placed on a separate filesystem, +use of an 8 kbyte block size with 1 kbyte fragments might +be considered for improved performance when paging from \fI/usr\fP binaries. +.PP +The file systems for users have a 4 kbyte block +size with 1 kbyte fragment size. These parameters +have been selected based on observations of the +performance of our user file systems. The 4 kbyte +block size provides adequate bandwidth while the +1 kbyte fragment size provides acceptable space compaction +and disk fragmentation. +.PP +Other parameters may be chosen in constructing file +systems, but the factors involved in choosing a block +size and fragment size are many and interact in complex +ways. Larger block sizes result in better +throughput to large files in the file system as +larger I/O requests will then be performed by the +system. However, +consideration must be given to the average file sizes +found in the file system and the performance of the +internal system buffer cache. The system +currently provides space in the inode for +12 direct block pointers, 1 single indirect block +pointer, and 1 double indirect block pointer.* +.FS +* A triple indirect block pointer is also reserved, but +not currently supported. +.FE +If a file uses only direct blocks, access time to +it will be optimized by maximizing the block size. +If a file spills over into an indirect block, +increasing the block size of the file system may +decrease the amount of space used +by eliminating the need to allocate an indirect block. +However, if the block size is increased and an indirect +block is still required, then more disk space will be +used by the file because indirect blocks are allocated +according to the block size of the file system. +.PP +In selecting a fragment size for a file system, at least +two considerations should be given. The major performance +tradeoffs observed are between an 8 kbyte block file system +and a 4 kbyte block file system. Because of implementation +constraints, the block size / fragment size ratio can not +be greater than 8. This means that an 8 kbyte file system +will always have a fragment size of at least 1 kbytes. If +a file system is created with a 4 kbyte block size and a +1 kbyte fragment size, then upgraded to an 8 kbyte block size +and 1 kbyte fragment size, identical space compaction will be +observed. However, if a file system has a 4 kbyte block size +and 512 byte fragment size, converting it to an 8K/1K +file system will result in significantly more space being +used. This implies that 4 kbyte block file systems that +might be upgraded to 8 kbyte blocks for higher performance should +use fragment sizes of at least 1 kbytes to minimize the amount +of work required in conversion. +.PP +A second, more important, consideration when selecting the +fragment size for a file system is the level of fragmentation +on the disk. With an 8:1 fragment to block ratio, storage fragmentation +occurs much sooner, particularly with a busy file system running +near full capacity. By comparison, the level of fragmentation in a +4:1 fragment to block ratio file system is one tenth as severe. This +means that on file systems where many files are created and +deleted, the 512 byte fragment size is more likely to result in apparent +space exhaustion because of fragmentation. That is, when the file +system is nearly full, file expansion that requires locating a +contiguous area of disk space is more likely to fail on a 512 +byte file system than on a 1 kbyte file system. To minimize +fragmentation problems of this sort, a parameter in the super +block specifies a minimum acceptable free space threshold. When +normal users (i.e. anyone but the super-user) attempt to allocate +disk space and the free space threshold is exceeded, the user is +returned an error as if the file system were really full. This +parameter is nominally set to 10%; it may be changed by supplying +a parameter to \fInewfs\fP(8), or by updating the super block of an +existing file system using \fItunefs\fP\|(8). +.PP +In general, unless a file system is to be used +for a special purpose application (for example, storing +image processing data), we recommend using the +values supplied above. +Remember that the current +implementation limits the block size to at most 8 kbytes +and the ratio of block size / fragment size must be 1, 2, 4, or 8. +.PP +The disk geometry information used by the file system +affects the block layout policies employed. The file +/etc/disktab, as supplied, contains the data for most +all drives supported by the system. Before constructing +a file system with \fInewfs\fP\|(8) +you should label the disk (if it has not yet been labeled, +and the driver supports labels). +If labels cannot be used, you must instead +specify the type of disk on which the file system resides; +\fInewfs\fP then reads /etc/disktab instead of the pack label. +This file also contains the default +file system partition +sizes, and default block and fragment sizes. To +override any of the default values you can modify the file, +edit the disk label, +or use an option to \fInewfs\fP. +.NH 3 +Implementing a layout +.PP +To put a chosen disk layout into effect, you should use the +.IR newfs (8) +command to create each new file system. +Each file system must also be added to the file +/etc/fstab +so that it will be checked and mounted when the system is bootstrapped. +.PP +As an example, consider a system with \*(Dn's. On the first \*(Dn, \*(Dk0, +we will put the root file system in \*(Dk0a, and the /usr +file system in \*(Dk0\*(pa, which has enough space to hold it and then some. +The /tmp directory will be part of the root file system, +as no file system will be mounted on /tmp. +If we had only one \*(Dn, we would put user files +in the \*(Dk0\*(pa partition with the system source and binaries. +.PP +If we had a second \*(Dn, we would place \fI/usr\fP in \*(Dk1\*(Pa. +We would put user files in \*(Dk0g, calling the file system /a. +We would also interleave the paging +between the 2 \*(Dn's. To do this we would build a system configuration +that specified: +.DS +config vmunix root on \*(Dk0 swap on \*(Dk0 and \*(Dk1 +.DE +to get the swap interleaved, and \fI/etc/fstab\fP would then contain +.DS +/dev/\*(Dk0a:/:rw:1:1 +/dev/\*(Dk0b::sw:: +/dev/\*(Dk0g:/a:rw:1:2 +/dev/\*(Dk1b::sw:: +/dev/\*(Dk1g:/usr:rw:1:2 +.DE +We would keep a backup copy of the root +file system in the \fB\*(Dk1a\fP disk partition. +Alternatively, that partition could be used for \fI/tmp\fP. +.PP +To make the /a file system we would do: +.if \n(Th \{\ +.ds Dn eagle +.\} +.DS +\fB#\fP \fIcd /dev\fP +\fB#\fP \fIMAKEDEV \*(Dk1\fP +\fB#\fP \fIdisklabel -wr \*(Dk1 \*(Dn "disk name"\fP +\fB#\fP \fInewfs \*(Dk1\*(Pa\fP +(information about file system prints out) +\fB#\fP \fImkdir /a\fP +\fB#\fP \fImount /dev/\*(Dk1\*(Pa /a\fP +.DE +.NH 2 +Configuring terminals +.PP +If UNIX is to support simultaneous +access from directly-connected terminals other than the console, +the file \fI/etc/ttys\fP (\fIttys\fP\|(5)) must be edited. +.if \n(Vx \{\ +.PP +Terminals connected via DZ11 interfaces are conventionally named \fBttyDD\fP +where DD is a decimal number, the ``minor device'' number. +The lines on dz0 are named /dev/tty00, /dev/tty01, ... /dev/tty07. +By convention, all other terminal names are of the form \fBtty\fPCX, where +C is an alphabetic character according to the type of terminal multiplexor +and its unit number, +and X is a digit for the first ten lines on the interface +and an increasing lower case letter for the rest of the lines. +C is defined for the number of interfaces of each type listed below. +.DS +.TS +center box; +c c c c +c c c c +l c n n. +Interface Number of lines Number of +Type Characters per board Interfaces +_ +DZ11 see above 8 10 +DMF32 A-C,E-I 8 8 +DMZ32 a-c,e-g 24 6 +DH11 h-o 16 8 +DHU11 S-Z 16 8 +pty p-u 16 6 +.TE +.DE +.\} +.if \n(Th \{\ +.PP +Terminals connected via VIOC-X interfaces are conventionally named tty\fIDD\fP +where \fIDD\fP is a hexadecimal number, the ``minor device'' number. +The first digit is the multiplexor unit number, and the second digit +is the line number. +For VIOC's with fewer than 16 connectors, the missing unit numbers are unused. +.PP +Terminals connected using 16 port MPCC interfaces are conventionally named +tty\fICD\fP where \fIC\fP is a single upper-case letter and \fID\fP is a +single hexidecimal digit. The upper-case letter is the multiplexor unit +number (with \fIA\fP being mpcc 0) and the hexidecimal digit is the port +number on that unit. +.\} +.PP +To add a new terminal device, be sure the device is configured into the system +and that the special files for the device have been made by /dev/MAKEDEV. +.if \n(Vx \{\ +(For example, use ``cd /dev; MAKEDEV dz1'' to make the special files +for the second DZ11.) +.\} +.if \n(Th \{\ +(For example, use ``cd /dev; MAKEDEV vx1'' to make the special files +for the second VIOC.) +.\} +Then, enable the appropriate lines of /etc/ttys by setting the ``status'' +field to \fBon\fP (or add new lines). +Note that lines in \fI/etc/ttys\fP are one-for-one with entries +in the file of current users (\fI/etc/utmp\fP), +and therefore it is best to make changes +while running in single-user mode +and to add all of the entries for a new device at once. +.if \n(Th \{\ +.PP +To add mpcc controllers, and additional step is required. At boot time, +the firmware for each mpcc controller must be downloaded. The program +\fI/etc/dlmpcc\fP must therefore be invoked from \fI/etc/rc.local\fP. +The file \fI/etc/mpcctab\fP describes each mpcc controller and is used +by \fI/etc/dlmpcc\fP to determine how many mpcc's are on the system. +See \fImpcc\fP(4) and \fIdlmpcc\fP(8) for more information. +.\} +.PP +The format of the /etc/ttys file is completely new in 4.3BSD. +Each line in the file is broken into four tab separated +fields (comments are shown by a `#' character and extend to +the end of the line). For each terminal line the four fields +are: +the device (without a leading /dev), +the program /etc/init should startup to service the line +(or \fBnone\fP if the line is to be left alone), +the terminal type (found in /etc/termcap), +and optional status information describing if the terminal is +enabled or not and if it is ``secure'' (i.e. the super user should +be allowed to login on the line). All fields are character strings +with entries requiring embedded white space enclosed in double +quotes. +Thus a newly added terminal /dev/tty00 could be added as +.DS +tty00 "/etc/getty std.9600" vt100 on secure # mike's office +.DE +The std.9600 parameter provided +to /etc/getty is used in searching the file /etc/gettytab; it specifies +a terminal's characteristics (such as baud rate). +To make custom terminal types, consult +.IR gettytab (5) +before modifying /etc/gettytab. +.PP +Dialup terminals should be wired so that carrier is asserted only when the +phone line is dialed up. +For non-dialup terminals, from which modem control is not available, +.if \n(Vx \{\ +you must either wire back the signals so that +the carrier appears to always be present, or show in the system +configuration that carrier is to be assumed to be present +with \fIflags\fP for each terminal device. See +.IR dh (4), +.IR dhu (4), +.IR dz (4), +.IR dmz (4), +and +.IR dmf (4) +for details. +.\} +.if \n(Th \{\ +you must wire back the signals so that +the carrier appears to always be present. For further details, see +.IR vx (4), +.IR mpcc (4), +and +.IR dlmpcc (8). +.\} +.PP +For network terminals (i.e. pseudo terminals), no program should +be started up on the lines. Thus, the normal entry in /etc/ttys +would look like +.DS +ttyp0 none network +.DE +(Note, the fourth field is not needed here.) +.PP +When the system is running multi-user, all terminals that are listed +in /etc/ttys as \fBon\fP have their line enabled. +If, during normal operations, you wish +to disable a terminal line, you can edit the file +/etc/ttys +to change the terminal's status to \fBoff\fP and +then send a hangup signal to the \fIinit\fP process, by doing +.DS +\fB#\fP \fIkill \-1 1\fP +.DE +Terminals can similarly be enabled by changing the status field +from \fBoff\fP to \fBon\fP and sending a hangup signal to \fIinit\fP. +.PP +Note that if a special file is inaccessible when \fIinit\fP tries +to create a process for it, init will log a message to the +system error logging process (/etc/syslogd) +and try to reopen the terminal every minute, reprinting the warning +message every 10 minutes. Messages of this sort are normally +printed on the console, though other actions may occur depending +on the configuration information found in /etc/syslog.conf. +.PP +Finally note that you should change the names of any dialup +terminals to ttyd? +where ? is in [0-9a-zA-Z], as some programs use this property of the +names to determine if a terminal is a dialup. +Shell commands to do this should be put in the /dev/MAKEDEV.local +script. +.PP +While it is possible to use truly arbitrary strings for terminal names, +the accounting and noticeably the +\fIps\fP\|(1) +command make good use of the convention that tty names +(by default, and also after dialups are named as suggested above) +are distinct in the last 2 characters. +Change this and you may be sorry later, as the heuristic +\fIps\fP\|(1) +uses based on these conventions will then break down and \fIps\fP will +run MUCH slower. +.NH 2 +Adding users +.PP +The procedure for adding a new user is described in \fIadduser\fP(8). +You should add accounts for the initial user community, giving +each a directory and a password, and putting users who will wish +to share software in the same groups. +.PP +Several guest accounts have been provided on the distribution +system; these accounts are for people at Berkeley, +Bell Laboratories, and others +who have done major work on UNIX in the past. You can delete these accounts, +or leave them on the system if you expect that these people would have +occasion to login as guests on your system. +.NH 2 +Site tailoring +.PP +All programs that require the site's name, or some similar +characteristic, obtain the information through system calls +or from files located in /etc. Aside from parts of the +system related to the network, to tailor the system to your +site you must simply select a site name, then edit the file +.DS +/etc/netstart +.DE +The first lines in /etc/netstart use a variable to set the hostname, +.DS +hostname=\fImysitename\fP +/bin/hostname $hostname +.DE +to define the value returned by the +.IR gethostname (2) +system call. If you are running the name server, your site +name should be your fully qualified domain name. Programs such as +.IR getty (8), +.IR mail (1), +.IR wall (1), +and +.IR uucp (1) +use this system call so that the binary images are site +independent. +.NH 2 +Setting up the line printer system +.PP +The line printer system consists of at least +the following files and commands: +.DS +.TS +l l. +/usr/ucb/lpq spooling queue examination program +/usr/ucb/lprm program to delete jobs from a queue +/usr/ucb/lpr program to enter a job in a printer queue +/etc/printcap printer configuration and capability data base +/usr/lib/lpd line printer daemon, scans spooling queues +/etc/lpc line printer control program +/etc/hosts.lpd list of host allowed to use the printers +.TE +.DE +.PP +The file /etc/printcap is a master data base describing line +printers directly attached to a machine and, also, printers +accessible across a network. The manual page +.IR printcap (5) +describes the format of this data base and also +shows the default values for such things as the directory +in which spooling is performed. The line printer system handles +multiple printers, multiple spooling queues, local and remote +printers, and also printers attached via serial lines that require +line initialization such as the baud rate. Raster output devices +such as a Varian or Versatec, and laser printers such as an Imagen, +are also supported by the line printer system. +.PP +Remote spooling via the network is handled with two spooling +queues, one on the local machine and one on the remote machine. +When a remote printer job is started with +.IR lpr , +the job is +queued locally and a daemon process created to oversee the +transfer of the job to the remote machine. If the destination +machine is unreachable, the job will remain queued until it is +possible to transfer the files to the spooling queue on the +remote machine. The +.I lpq +program shows the contents of spool +queues on both the local and remote machines. +.PP +To configure your line printers, consult the printcap manual page +and the accompanying document, ``4.3BSD Line Printer Spooler Manual''. +A call to the +.I lpd +program should be present in /etc/rc. +.NH 2 +Setting up the mail system +.PP +The mail system consists of the following commands: +.DS +.TS +l l. +/bin/mail old standard mail program, described in \fIbinmail\fP\|(1) +/usr/ucb/mail UCB mail program, described in \fImail\fP\|(1) +/usr/lib/sendmail mail routing program +/usr/spool/mail mail spooling directory +/usr/spool/secretmail secure mail directory +/usr/bin/xsend secure mail sender +/usr/bin/xget secure mail receiver +/usr/lib/aliases mail forwarding information +/usr/ucb/newaliases command to rebuild binary forwarding database +/usr/ucb/biff mail notification enabler +/etc/comsat mail notification daemon +.TE +.DE +Mail is normally sent and received using the +.IR mail (1) +command (found in /usr/ucb/mail), +which provides a front-end to edit the messages sent +and received, and passes the messages to +.IR sendmail (8) +for routing. +The routing algorithm uses knowledge of the network name syntax, +aliasing and forwarding information, and network topology, as +defined in the configuration file /usr/lib/sendmail.cf, to +process each piece of mail. +Local mail is delivered by giving it to the program /bin/mail +that adds it to the mailboxes in the directory /usr/spool/mail/\fIusername\fP, +using a locking protocol to avoid problems with simultaneous updates. +After the mail is delivered, the local mail delivery daemon /etc/comsat +is notified, which in turn notifies +users who have issued a ``\fIbiff\fP y'' command that mail has arrived. +.PP +Mail queued in the directory /usr/spool/mail is normally readable +only by the recipient. To send mail that is secure against perusal +(except by a code-breaker) you should use the secret mail facility, +which encrypts the mail. +.PP +To set up the mail facility you should read the instructions in the +file READ_ME in the directory /usr/src/usr.lib/sendmail and then adjust +the necessary configuration files. +You should also set up the file /usr/lib/aliases for your installation, +creating mail groups as appropriate. Documents describing +.IR sendmail 's +operation and installation are also included in the distribution. +.NH 3 +Setting up a UUCP connection +.PP +The version of \fIuucp\fP included in \*(4B is a greatly +enhanced version of the one originally distributed with 32/V*. +.FS +* The \fIuucp\fP included in this distribution is the result +of work by many people; we gratefully acknowledge their +contributions, but refrain from mentioning names in the +interest of keeping this document current. +.FE +The enhancements include: +.IP \(bu 3 +support for many auto call units and dialers +in addition to the DEC DN11, +.IP \(bu 3 +breakup of the spooling area into multiple subdirectories, +.IP \(bu 3 +addition of an \fIL.cmds\fP file to control the set +of commands that may be executed by a remote site, +.IP \(bu 3 +enhanced ``expect-send'' sequence capabilities when +logging in to a remote site, +.IP \(bu 3 +new commands to be used in polling sites and +obtaining snap shots of \fIuucp\fP activity, +.IP \(bu 3 +additional protocols for different communication media. +.LP +This section gives a brief overview of \fIuucp\fP +and points out the most important steps in its installation. +.PP +To connect two UNIX machines with a \fIuucp\fP network link using modems, +one site must have an automatic call unit +and the other must have a dialup port. +It is better if both sites have both. +.PP +You should first read the paper in the UNIX System Manager's Manual: +``Uucp Implementation Description''. +It describes in detail the file formats and conventions, +and will give you a little context. +In addition, +the document ``setup.tblms'', +located in the directory /usr/src/usr.bin/uucp/UUAIDS, +may be of use in tailoring the software to your needs. +.PP +The \fIuucp\fP support is located in three major directories: +/usr/bin, +/usr/lib/uucp, +and /usr/spool/uucp. +User commands are kept in /usr/bin, +operational commands in /usr/lib/uucp, +and /usr/spool/uucp is used as a spooling area. +The commands in /usr/bin are: +.DS +.TS +l l. +/usr/bin/uucp file-copy command +/usr/bin/uux remote execution command +/usr/bin/uusend binary file transfer using mail +/usr/bin/uuencode binary file encoder (for \fIuusend\fP) +/usr/bin/uudecode binary file decoder (for \fIuusend\fP) +/usr/bin/uulog scans session log files +/usr/bin/uusnap gives a snap-shot of \fIuucp\fP activity +/usr/bin/uupoll polls remote system until an answer is received +/usr/bin/uuname prints a list of known uucp hosts +/usr/bin/uuq gives information about the queue +.TE +.DE +The important files and commands in /usr/lib/uucp are: +.DS +.TS +l l. +/usr/lib/uucp/L-devices list of dialers and hard-wired lines +/usr/lib/uucp/L-dialcodes dialcode abbreviations +/usr/lib/uucp/L.aliases hostname aliases +/usr/lib/uucp/L.cmds commands remote sites may execute +/usr/lib/uucp/L.sys systems to communicate with, how to connect, and when +/usr/lib/uucp/SEQF sequence numbering control file +/usr/lib/uucp/USERFILE remote site pathname access specifications +/usr/lib/uucp/uucico \fIuucp\fP protocol daemon +/usr/lib/uucp/uuclean cleans up garbage files in spool area +/usr/lib/uucp/uuxqt \fIuucp\fP remote execution server +.TE +.DE +while the spooling area contains the following important files and directories: +.DS +.TS +l l. +/usr/spool/uucp/C. directory for command, ``C.'' files +/usr/spool/uucp/D. directory for data, ``D.'', files +/usr/spool/uucp/X. directory for command execution, ``X.'', files +/usr/spool/uucp/D.\fImachine\fP directory for local ``D.'' files +/usr/spool/uucp/D.\fImachine\fPX directory for local ``X.'' files +/usr/spool/uucp/TM. directory for temporary, ``TM.'', files +/usr/spool/uucp/LOGFILE log file of \fIuucp\fP activity +/usr/spool/uucp/SYSLOG log file of \fIuucp\fP file transfers +.TE +.DE +.PP +To install \fIuucp\fP on your system, +start by selecting a site name +(shorter than 14 characters). +A \fIuucp\fP account must be created in the password file and a password set up. +Then, +create the appropriate spooling directories with mode 755 +and owned by user \fIuucp\fP, group \fIdaemon\fP. +.PP +If you have an auto-call unit, +the L.sys, L-dialcodes, and L-devices files should be created. +The L.sys file should contain +the phone numbers and login sequences +required to establish a connection with a \fIuucp\fP daemon on another machine. +For example, our L.sys file looks something like: +.DS +adiron Any ACU 1200 out0123456789- ogin-EOT-ogin uucp +cbosg Never Slave 300 +cbosgd Never Slave 300 +chico Never Slave 1200 out2010123456 +.DE +The first field is the name of a site, +the second shows when the machine may be called, +the third field specifies how the host is connected +(through an ACU, a hard-wired line, etc.), +then comes the phone number to use in connecting through an auto-call unit, +and finally a login sequence. +The phone number +may contain common abbreviations that are defined in the L-dialcodes file. +The device specification should refer to devices +specified in the L-devices file. +Listing only ACU causes the \fIuucp\fP daemon, \fIuucico\fP, +to search for any available auto-call unit in L-devices. +Our L-dialcodes file is of the form: +.DS +ucb 2 +out 9% +.DE +while our L-devices file is: +.DS +ACU cul0 unused 1200 ventel +.DE +Refer to the README file in the \fIuucp\fP source directory +for more information about installation. +.PP +As \fIuucp\fP operates it creates (and removes) many small +files in the directories underneath /usr/spool/uucp. +Sometimes files are left undeleted; +these are most easily purged with the \fIuuclean\fP program. +The log files can grow without bound unless trimmed back; +\fIuulog\fP maintains these files. +Many useful aids in maintaining your \fIuucp\fP installation +are included in a subdirectory UUAIDS beneath /usr/src/usr.bin/uucp. +Peruse this directory and read the ``setup'' instructions also located there. diff --git a/doc/smm/01.setup/5.t b/doc/smm/01.setup/5.t new file mode 100644 index 00000000..304536f2 --- /dev/null +++ b/doc/smm/01.setup/5.t @@ -0,0 +1,594 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)5.t 6.3 (Berkeley) 11/18/03 +.\" +.ds lq `` +.ds rq '' +.ds LH "Installing/Operating \*(4B +.ds RH Network setup +.ds CF \*(DY +.LP +.nr H1 5 +.nr H2 0 +.bp +.LG +.B +.ce +5. NETWORK SETUP +.sp 2 +.R +.NL +.ds B3 4.3BSD +.PP +\*(B3 provides support for the DARPA standard Internet +protocols IP, ICMP, TCP, and UDP. These protocols may be used +on top of a variety of hardware devices ranging from the +IMP's (PSN's) used in the ARPANET to local area network controllers +for the Ethernet. Network services are split between the +kernel (communication protocols) and user programs (user +services such as TELNET and FTP). This section describes +how to configure your system to use the Internet networking support. +\*(B3 also supports the Xerox Network Systems (NS) protocols. +IDP and SPP are implemented in the kernel, +and other protocols such as Courier run at the user level. +.NH 2 +System configuration +.PP +To configure the kernel to include the Internet communication +protocols, define the INET option. +Xerox NS support is enabled with the NS option. +In either case, include the pseudo-devices +``pty'', and ``loop'' in your machine's configuration +file. +The ``pty'' pseudo-device forces the pseudo terminal device driver +to be configured into the system, see \fIpty\fP\|(4), while +the ``loop'' pseudo-device forces inclusion of the software loopback +interface driver. +The loop driver is used in network testing +and also by the error logging system. +.PP +If you are planning to use the Internet network facilities on a 10Mb/s +Ethernet, the pseudo-device ``ether'' should also be included +in the configuration; this forces inclusion of the Address Resolution +Protocol module used in mapping between 48-bit Ethernet +and 32-bit Internet addresses. +Also, if you have an IMP connection, +you will need to include the pseudo-device ``imp.'' +.PP +Before configuring the appropriate networking hardware, you should +consult the manual pages in section 4 of the Programmer's Manual. +The following table lists the devices for which software support +exists. +.if \n(Vx \{\ +.DS +.TS +l l. +Device name Manufacturer and product +_ +acc ACC LH/DH interface to IMP +css DEC IMP-11A interface to IMP +ddn ACC ACP625 DDN Standard mode X.25 interface to IMP +dmc DEC DMC-11 (also works with DMR-11) +de DEC DEUNA 10Mb/s Ethernet +ec 3Com 10Mb/s Ethernet +en Xerox 3Mb/s prototype Ethernet (not a product) +ex Excelan 204 10Mb/s Ethernet +hdh ACC IF-11/HDH IMP interface +hy NSC Hyperchannel, w/ DR-11B and PI-13 interfaces +il Interlan 1010 and 10101A 10Mb/s Ethernet interfaces +ix Interlan NP100 10Mb/s Ethernet interface +pcl DEC PCL-11 +vv Proteon 10Mb/s and 80Mb/s proNET ring network (V2LNI) +.TE +.DE +.\} +.if \n(Th \{\ +.DS +.TS +l l. +Device name Manufacturer and product +_ +ace ACC 10Mb/s Ethernet +enp CMC 10Mb/s Ethernet +.TE +.DE +.\} +.PP +All network interface drivers including the loopback interface, +require that their host address(es) be defined at boot time. +This is done with +.IR ifconfig (8C) +commands included in the \fI/etc/netstart\fP file. +Interfaces that are able to dynamically deduce the host +part of an address may check that the host part of the address is correct. +The manual page for each network interface +describes the method used to establish a host's address. +.IR Ifconfig (8C) +can also be used to set options for the interface at boot time. +Options are set independently for each interface, and +apply to all packets sent using that interface. +These options include disabling the use of the Address Resolution Protocol; +this may be useful if a network is shared with hosts running software +that does not yet provide this function. +Alternatively, translations for such hosts may be set in advance +or ``published'' by a \*(B3 host by use of the +.IR arp (8C) +command. +Note that the use of trailer link-level is now negotiated between \*(B3 hosts +using ARP, +and it is thus no longer necessary to disable the use of trailers +with \fIifconfig\fP. +.PP +To use the pseudo terminals just configured, device +entries must be created in the /dev directory. To create 32 +pseudo terminals (plenty, unless you have a heavy network load) +execute the following commands. +.DS +\fB#\fP \fIcd /dev\fP +\fB#\fP \fIMAKEDEV pty0 pty1\fP +.DE +More pseudo terminals may be made by specifying \fIpty2\fP, \fIpty3\fP, +etc. The kernel normally includes support for 32 pseudo terminals +unless the configuration file specifies a different number. +Each pseudo terminal really consists of two files in /dev: +a master and a slave. The master pseudo terminal file is named +/dev/ptyp?, while the slave side is /dev/ttyp?. Pseudo terminals +are also used by several programs not related to the network. +In addition to creating the pseudo terminals, +be sure to install them in the +.I /etc/ttys +file (with a `none' in the second column so no +.I getty +is started). +.NH 2 +Local subnets +.PP +In \*(B3 the DARPA Internet support +includes the notion of ``subnets''. This is a mechanism +by which multiple local networks may appears as a single Internet +network to off-site hosts. Subnetworks are useful because +they allow a site to hide their local topology, requiring only a single +route in external gateways; +it also means that local network numbers may be locally administered. +The standard describing this change in Internet addressing is RFC-950. +.PP +To set up local subnets one must first decide how the available +address space (the Internet ``host part'' of the 32-bit address) +is to be partitioned. +Sites with a class A network +number have a 24-bit host address space with which to work, sites with a +class B network number have a 16-bit host address space, while sites with +a class C network number have an 8-bit host address space.* +.FS +* If you are unfamiliar with the Internet addressing structure, consult +``Address Mappings'', Internet RFC-796, J. Postel; available from +the Internet Network Information Center at SRI. +.FE +To define local subnets you must steal some bits +from the local host address space for use in extending the network +portion of the Internet address. This reinterpretation of Internet +addresses is done only for local networks; i.e. it is not visible +to hosts off-site. For example, if your site has a class B network +number, hosts on this network have an Internet address that contains +the network number, 16 bits, and the host number, another +16 bits. To define 254 local subnets, each +possessing at most 255 hosts, 8 bits may be taken from the local part. +(The use of subnets 0 and all-1's, 255 in this example, is discouraged +to avoid confusion about broadcast addresses.) +These new network +numbers are then constructed by concatenating the original 16-bit network +number with the extra 8 bits containing the local subnet number. +.PP +The existence of local subnets is communicated to the system at the time a +network interface is configured with the +.I netmask +option to the +.I ifconfig +program. A ``network mask'' is specified to define the +portion of the Internet address that is to be considered the network part +for that network. +This mask normally contains the bits corresponding to the standard +network part as well as the portion of the local part +that has been assigned to subnets. +If no mask is specified when the address is set, +it will be set according to the class of the network. +For example, at Berkeley (class B network 128.32) 8 bits +of the local part have been reserved for defining subnets; +consequently the /etc/netstart file contains lines of the form +.DS +/etc/ifconfig en0 netmask 0xffffff00 128.32.1.7 +.DE +This specifies that for interface ``le0'', the upper 24 bits of +the Internet address should be used in calculating network numbers +(netmask 0xffffff00), and the interface's Internet address is +``128.32.1.7'' (host 7 on network 128.32.1). Hosts \fIm\fP on +sub-network \fIn\fP of this network would then have addresses of +the form ``128.32.\fIn\fP.\fIm\fP''; for example, host +99 on network 129 would have an address ``128.32.129.99''. +For hosts with multiple interfaces, the network mask should +be set for each interface, +although in practice only the mask of the first interface on each network +is actually used. +.NH 2 +Internet broadcast addresses +.PP +The address defined as the broadcast address for Internet networks +according to RFC-919 is the address with a host part of all 1's. +The address used by 4.2BSD was the address with a host part of 0. +\*(B3 uses the standard broadcast address (all 1's) by default, +but allows the broadcast address to be set (with \fIifconfig\fP) +for each interface. +This allows networks consisting of both 4.2BSD and \*(B3 hosts +to coexist while the upgrade process proceeds. +In the presence of subnets, the broadcast address uses the subnet field +as for normal host addresses, with the remaining host part set to 1's +(or 0's, on a network that has not yet been converted). +\*(B3 hosts recognize and accept packets +sent to the logical-network broadcast address as well as those sent +to the subnet broadcast address, and when using an all-1's broadcast, +also recognize and receive packets sent to host 0 as a broadcast. +.NH 2 +Routing +.PP +If your environment allows access to networks not directly +attached to your host you will need to set up routing information +to allow packets to be properly routed. Two schemes are +supported by the system. The first scheme +employs the routing table management daemon \fI/etc/routed\fP +to maintain the system routing tables. The routing daemon +uses a variant of the Xerox Routing Information Protocol +to maintain up to date routing tables in a cluster of local +area networks. By using the \fI/etc/gateways\fP +file created by +.IR htable (8), +the routing daemon can also be used to initialize static routes +to distant networks (see the next section for further discussion). +When the routing daemon is started up +(usually from \fI/etc/rc\fP) it reads \fI/etc/gateways\fP if it exists +and installs those routes defined there, then broadcasts on each local network +to which the host is attached to find other instances of the routing +daemon. If any responses are received, the routing daemons +cooperate in maintaining a globally consistent view of routing +in the local environment. This view can be extended to include +remote sites also running the routing daemon by setting up suitable +entries in \fI/etc/gateways\fP; consult +.IR routed (8C) +for a more thorough discussion. +.PP +The second approach is to define a default or wildcard +route to a smart +gateway and depend on the gateway to provide ICMP routing +redirect information to dynamically create a routing data +base. This is done by adding an entry of the form +.DS +/etc/route add default \fIsmart-gateway\fP 1 +.DE +to \fI/etc/netstart\fP; see +.IR route (8C) +for more information. The default route +will be used by the system as a ``last resort'' +in routing packets to their destination. Assuming the gateway +to which packets are directed is able to generate the proper +routing redirect messages, the system will then add routing +table entries based on the information supplied. This approach +has certain advantages over the routing daemon, but is +unsuitable in an environment where there are only bridges (i.e. +pseudo gateways that, for instance, do not generate routing +redirect messages). Further, if the +smart gateway goes down there is no alternative, save manual +alteration of the routing table entry, to maintaining service. +.PP +The system always listens, and processes, routing redirect +information, so it is possible to combine both of the above +facilities. For example, the routing table management process +might be used to maintain up to date information about routes +to geographically local networks, while employing the wildcard +routing techniques for ``distant'' networks. The +.IR netstat (1) +program may be used to display routing table contents as well +as various routing oriented statistics. For example, +.DS +\fB#\fP \fInetstat \-r\fP +.DE +will display the contents of the routing tables, while +.DS +\fB#\fP \fInetstat \-r \-s\fP +.DE +will show the number of routing table entries dynamically +created as a result of routing redirect messages, etc. +.NH 2 +Use of \*(B3 machines as gateways +.PP +Several changes have been made in \*(B3 in the area of gateway support +(or packet forwarding, if one prefers). +A new configuration option, GATEWAY, is used when configuring +a machine to be used as a gateway. +This option increases the size of the routing hash tables in the kernel. +Unless configured with that option, +hosts with only a single non-loopback interface never attempt +to forward packets or to respond with ICMP error messages to misdirected +packets. +This change reduces the problems that may occur when different hosts +on a network disagree as to the network number or broadcast address. +Another change is that \*(B3 machines that forward packets back through +the same interface on which they arrived +will send ICMP redirects to the source host if it is on the same network. +This improves the interaction of \*(B3 gateways with hosts that configure +their routes via default gateways and redirects. +The generation of redirects may be disabled with the configuration option +IPSENDREDIRECTS=0 in environments where it may cause difficulties. +.PP +Local area routing within a group of interconnected Ethernets +and other such networks may be handled by +.IR routed (8C). +Gateways between the Arpanet or Milnet and one or more local networks +require an additional routing protocol, the Exterior Gateway Protocol (EGP), +to inform the core gateways of their presence +and to acquire routing information from the core. +An EGP implementation for \*(B3 is available +by anonymous ftp from ucbarpa.berkeley.edu. If necessary, contact the +Berkeley Computer Systems Research Group for assistance. +.NH 2 +Network data bases +.PP +Several data files are used by the network library routines +and server programs. Most of these files are host independent +and updated only rarely. +.br +.ne 1i +.DS +.TS +l l l. +File Manual reference Use +_ +/etc/hosts \fIhosts\fP\|(5) host names +/etc/networks \fInetworks\fP\|(5) network names +/etc/services \fIservices\fP\|(5) list of known services +/etc/protocols \fIprotocols\fP\|(5) protocol names +/etc/hosts.equiv \fIrshd\fP\|(8C) list of ``trusted'' hosts +/etc/netstart \fIrc\fP\|(8) command script for initializing network +/etc/rc \fIrc\fP\|(8) command script for starting standard servers +/etc/rc.local \fIrc\fP\|(8) command script for starting local servers +/etc/ftpusers \fIftpd\fP\|(8C) list of ``unwelcome'' ftp users +/etc/hosts.lpd \fIlpd\fP\|(8C) list of hosts allowed to access printers +/etc/inetd.conf \fIinetd\fP\|(8) list of servers started by \fIinetd\fP +.TE +.DE +The files distributed are set up for ARPANET or other Internet hosts. +Local networks and hosts should be added to describe the local +configuration; the Berkeley entries may serve as examples +(see also the section on on /etc/hosts). +Network numbers will have to be chosen for each Ethernet. +For sites connected to the Internet, +the normal channels should be used for allocation of network +numbers (contact hostmaster@SRI-NIC.ARPA). +For other sites, +these could be chosen more or less arbitrarily, +but it is generally better to request official numbers +to avoid conversion if a connection to the Internet (or others on the Internet) +is ever established. +.NH 3 +Network servers +.PP +Most network servers are automatically started up at boot time +by the command file /etc/rc +or by the Internet daemon (see below). +These include the following: +.DS +.TS +l l l. +Program Server Started by +_ +/etc/syslogd error logging server /etc/rc +/etc/named Internet name server /etc/rc +/etc/routed routing table management daemon /etc/rc +/etc/rwhod system status daemon /etc/rc +/etc/timed time synchronization daemon /etc/rc.local +/usr/lib/sendmail SMTP server /etc/rc.local +/etc/rshd shell server inetd +/etc/rexecd exec server inetd +/etc/rlogind login server inetd +/etc/telnetd TELNET server inetd +/etc/ftpd FTP server inetd +/etc/fingerd Finger server inetd +/etc/tftpd TFTP server inetd +.TE +.DE +Consult the manual pages and accompanying documentation (particularly +for named and sendmail) for details about their operation. +.PP +The use of \fIrouted\fP and \fIrwhod\fP is controlled by shell +variables set in /etc/netstart. +By default, \fIrouted\fP is used, but \fIrwhod\fP is not; +they are enabled by setting the variables \fIroutedflags\fP +and \fIrwhod\fP to strings other than ``NO.'' +The value of \fIroutedflags\fP is used to provide host-specific options +to \fIrouted\fP. +For example, +.DS +routedflags=-q +rwhod=NO +.DE +would run \fIrouted -q\fP and would not run \fIrwhod\fP. +.PP +To have other network servers started as well, +commands of the following sort should be placed in the site-dependent +file \fI/etc/rc.local\fP. +.DS +if [ -f /etc/timed ]; then + /etc/timed & echo -n ' timed' >/dev/console +f\&i +.DE +.NH 3 +Internet daemon +.PP +In \*(B3 most of the servers for user-visible services are started up by a +``super server'', the Internet daemon. The Internet +daemon, \fI/etc/inetd\fP, acts as a master server for +programs specified in its configuration file, \fI/etc/inetd.conf\fP, +listening for service requests for these servers, and starting +up the appropriate program whenever a request is received. +The configuration file contains lines containing a service +name (as found in \fI/etc/services\fP), the type of socket the +server expects (e.g. stream or dgram), the protocol to be +used with the socket (as found in \fI/etc/protocols\fP), whether +to wait for each server to complete before starting up another, +the user name as which the server should run, the server +program's name, and at most five arguments to pass to the +server program. +Some trivial services are implemented internally in \fIinetd\fP, +and their servers are listed as ``internal.'' +For example, an entry for the file +transfer protocol server would appear as +.DS +ftp stream tcp nowait root /etc/ftpd ftpd +.DE +Consult +.IR inetd (8C) +for more detail on the format of the configuration file +and the operation of the Internet daemon. +.NH 3 +Regenerating /etc/hosts and /etc/networks +.PP +When using the host address routines that use the Internet name server, +the file \fI/etc/hosts\fP is only used for setting interface addresses +and at other times that the server is not running, +and therefore it need only contain addresses for local hosts. +There is no equivalent service for network names yet. +The full host and network name data bases are normally derived from +a file retrieved from the Internet Network Information Center at +SRI. +To do this you should use the program /etc/gettable +to retrieve the NIC host data base, and the program +.IR htable (8) +to convert it to the format used by the libraries. +You should change to the directory where you maintain your local +additions to the host table and execute the following commands. +.DS +\fB#\fP \fI/etc/gettable sri-nic.arpa\fP +\fBConnection to sri-nic.arpa opened.\fP +\fBHost table received.\fP +\fBConnection to sri-nic.arpa closed.\fP +\fB#\fP \fI/etc/htable hosts.txt\fP +\fBWarning, no localgateways file.\fP +\fB#\fP +.DE +The \fIhtable\fP program generates three files +in the local directory: \fIhosts\fP, \fInetworks\fP and \fIgateways\fP. +If a file ``localhosts'' is present in the working directory its +contents are first copied to the output file. Similarly, a +``localnetworks'' file may be prepended to the output created +by \fIhtable\fP, +and `localgateways'' will be prepended to \fIgateways\fP. +It is usually wise to run \fIdiff\fP\|(1) on +the new host and network data bases before installing them in /etc. +If you are using the host table for host name and address +mapping, you should run \fImkhosts\fP\|(8) after installing +\fI/etc/hosts\fP. +If you are using the name server for the host name and address mapping, +you only need to install \fInetworks\fP and a small copy of \fIhosts\fP +describing your local machines. The full host table in this case might +be placed somewhere else for reference by users. +The gateways file may be installed in \fI/etc/gateways\fP if you use +.IR routed (8C) +for local routing and wish to have static external routes installed +when \fIrouted\fP is started. +This procedure is essentially obsolete, however, except for individual hosts +that are on the Arpanet or Milnet and do not forward packets from a local +network. +Other situations require the use of an EGP server. +.PP +If you are connected to the DARPA Internet, it is highly recommended that +you use the name server for your host name and address mapping, as this +provides access to a much larger set of hosts than are provided in the +host table. Many large organizations on the network currently have +only a small percentage of their hosts listed in the host table retrieved +from NIC. +.NH 3 +/etc/hosts.equiv +.PP +The remote login and shell servers use an +authentication scheme based on trusted hosts. The \fIhosts.equiv\fP +file contains a list of hosts that are considered trusted +and, under a single administrative control. When a user +contacts a remote login or shell server requesting service, +the client process passes the user's name and the official +name of the host on which the client is located. In the simple +case, if the host's name is located in \fIhosts.equiv\fP and +the user has an account on the server's machine, then service +is rendered (i.e. the user is allowed to log in, or the command +is executed). Users may expand this ``equivalence'' of +machines by installing a \fI.rhosts\fP file in their login directory. +The root login is handled specially, bypassing the \fIhosts.equiv\fP +file, and using only the \fI/.rhosts\fP file. +.PP +Thus, to create a class of equivalent machines, the \fIhosts.equiv\fP +file should contain the \fIofficial\fP names for those machines. +If you are running the name server, you may omit the domain part +of the host name for machines in your local domain. +For example, four machines on our local +network are considered trusted, so the \fIhosts.equiv\fP file is +of the form: +.DS +ucbarpa +okeeffe +monet +ucbvax +.DE +.NH 3 +/etc/ftpusers +.PP +The FTP server included in the system provides support for an +anonymous FTP account. Because of the inherent security problems +with such a facility you should read this section carefully if +you consider providing such a service. +.PP +An anonymous account is enabled by creating a user \fIftp\fP. +When a client uses the anonymous account a \fIchroot\fP\|(2) +system call is performed by the server to restrict the client +from moving outside that part of the file system where the +user ftp home directory is located. Because a \fIchroot\fP call +is used, certain programs and files used by the server +process must be placed in the ftp home directory. +Further, one must be +sure that all directories and executable images are unwritable. +The following directory setup is recommended. The +use of the \fIawk\fP commands to copy the /etc/passwd and /etc/group +files are \fBSTRONGLY\fP recommended. +.DS +\fB#\fP \fIcd ~ftp\fP +\fB#\fP \fIchmod 555 .; chown ftp .; chgrp ftp .\fP +\fB#\fP \fImkdir bin etc pub\fP +\fB#\fP \fIchown root bin etc\fP +\fB#\fP \fIchmod 555 bin etc\fP +\fB#\fP \fIchown ftp pub\fP +\fB#\fP \fIchmod 777 pub\fP +\fB#\fP \fIcd bin\fP +\fB#\fP \fIcp /bin/sh /bin/ls .\fP +\fB#\fP \fIchmod 111 sh ls\fP +\fB#\fP \fIcd ../etc\fP +\fB#\fP \fIawk -F: '{$2="*";print$1":"$2":"$3":"$4":"$5":"$6":"}' < /etc/passwd > passwd\fP +\fB#\fP \fIawk -F: '{$2="*";print$1":"$2":"}' < /etc/group > group\fP +\fB#\fP \fIchmod 444 passwd group\fP +.DE +When local users wish to place files in the anonymous +area, they must be placed in a subdirectory. In the +setup here, the directory \fI~ftp/pub\fP is used. +.PP +Aside from the problems of directory modes and such, +the ftp server may provide a loophole for interlopers +if certain user accounts are allowed. +The file \fI/etc/ftpusers\fP is checked on each connection. +If the requested user name is located in the file, the +request for service is denied. This file normally has +the following names on our systems. +.DS +uucp +root +.DE +Accounts without passwords need not be listed in this file as the ftp +server will refuse service to these users. +Accounts with nonstandard shells (any not listed in /etc/shells) +will also be denied access via ftp. diff --git a/doc/smm/01.setup/6.t b/doc/smm/01.setup/6.t new file mode 100644 index 00000000..8b75492d --- /dev/null +++ b/doc/smm/01.setup/6.t @@ -0,0 +1,636 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)6.t 6.5 (Berkeley) 11/18/03 +.\" +.de IR +\fI\\$1\fP\|\\$2 +.. +.ds LH "Installing/Operating \*(4B +.nr H1 6 +.nr H2 0 +.ds RH "System Operation +.ds CF \*(DY +.bp +.LG +.B +.ce +6. SYSTEM OPERATION +.sp 2 +.R +.NL +.PP +This section describes procedures used to operate a \*(4B UNIX system. +Procedures described here are used periodically, to reboot the system, +analyze error messages from devices, do disk backups, monitor +system performance, recompile system software and control local changes. +.NH 2 +Bootstrap and shutdown procedures +.PP +In a normal reboot, the system checks the disks and comes up multi-user +without intervention at the console. +Such a reboot +can be stopped (after it prints the date) with a ^C (interrupt). +This will leave the system in single-user mode, with only the console +terminal active. +It is also possible to allow the filesystem checks to complete +and then to return to single-user mode by signaling \fIfsck\fP(8) +with a QUIT signal (^\\). +.if \n(Th \{\ +.PP +If booting from the console command level is needed, then the command +.DS +\fB#>\fP\|fb +.DE +will boot from the default device. +.PP +You can boot a system up single user by doing +.DS +\fB#>\fP\fI\|p23 2.\fP\fB#>\fP\fIy.\fP\fB#>\fP\fI\|fb\fP +.DE +.PP +Other possibilities are: +.DS +\fB#>\fP\fI\|p23 3.\fP\fB#>\fP\fIy.\fP\fB#>\fP\fI\|fb\fP +.DE +to do a full bootstrap, or +.DS +\fB#>\fP\fI\|p23 3.\fP\fB#>\fP\fIy.\fP\fB#>\fP\fI\|fr /boot\fP +.DE +to run the bootstrap without performing self-tests and +reloading microcode; it can be used after a full bootstrap has been done +once. +.\} +.if \n(Vx \{\ +.PP +If booting from the console command level is needed, then the command +.DS +\fB>>>\fP\fIB\fP +.DE +will boot from the default device. +On an 8600, 11/780, or 11/730 the default device is +determined by a ``DEPOSIT'' +command stored on the console boot device in the file ``DEFBOO.CMD'' +(``DEFBOO.COM'' on an 8600); +on an 11/750 the default device is determined by the setting of a switch +on the front panel; +on an 8200 the default device is stored in EEPROM. +On 11/750 and 8200 the default boot device may be set to the console storage +device (TU58 on 750 and RX50 on 8200). In this case there must be a console +medium with BOOT58 in the console storage device, and the boot procedure and +system disk are determined by the ``DEFBOO.CMD'' boot script stored on the +console medium. +On MicroVAX 3/3+ the default boot device is stored in NVRAM and set with +``SET BOOT'' console command. +MicroVAX II does not allow the boot device to be selected, it always boots from +the first bootable disk in the system. +.PP +You can boot a system up single user +on an 8600, 780, or 730 by doing +.DS +\fB>>>\fP\fIB xxS\fP +.DE +where \fIxx\fP is one of HP, HK, UP, RA, or RB. +The corresponding command on an 11/750 or 8200 booting +without a console medium, or for a MicroVAX is +.DS +\fB>>>\fP\fIB/2\fP +.DE +On an 8200 using the console floppy, use +.DS +\fB>>>\fP\fIB/R5:800\fP +(node and memory test values) +\fBBOOT58>\fP \fI@SNGBOO.CMD\fP +.DE +.PP +For second vendor storage modules on the +UNIBUS or MASSBUS of an 11/750 you will need to +have a boot prom. Most vendors will sell you +such proms for their controllers; contact your vendor +if you don't have one. +Alternatively, you could set up a BOOT58-based boot path. +Contact Quasijarus Consortium for assistance. +.PP +Other possibilities are: +.DS +\fB>>>\fP\fIB ANY\fP +.DE +or, on an 8200 using the console floppy, +.DS +\fB>>>\fP\fIB/R5:800\fP +\fBBOOT58>\fP\fI@ANYBOO.CMD\fP +.DE +or, on an 11/750 or a MicroVAX +.DS +\fB>>>\fP\fIB/3\fP +.DE +.\} +These commands boot and ask for the name of the system to be booted. +They can be used after building a new test system to give the +boot program the name of the test version of the system.* +.FS +* Additional bootflags are used when a system is configured with +the kernel debugger; consult \fIkdb\fP(4) for details. +.FE +.PP +To bring the system up to a multi-user configuration from the single-user +status, +all you have to do is hit ^D on the console. The system +will then execute /etc/rc, +a multi-user restart script (and /etc/rc.local), +and come up on the terminals listed as +active in the file /etc/ttys. +See +\fIinit\fP\|(8) +and +\fIttys\fP\|(5) for more details. +Note, however, that this does not cause a file system check to be performed. +Unless the system was taken down cleanly, you should run +``fsck \-p'' or force a reboot with +\fIreboot\fP\|(8) +to have the disks checked. +.PP +To take the system down to a single user state you can use +.DS +\fB#\fP \fIkill 1\fP +.DE +or use the +\fIshutdown\fP\|(8) +command (which is much more polite, if there are other users logged in) +when you are running multi-user. +Either command will kill all processes and give you a shell on the console, +as if you had just booted. File systems remain mounted after the +system is taken single-user. If you wish to come up multi-user again, you +should do this by: +.DS +\fB#\fP \fIcd /\fP +\fB#\fP \fI/etc/umount -a\fP +\fB#\fP \fI^D\fP +.DE +.PP +Each system shutdown, crash, processor halt and reboot +is recorded in the system log +with its cause. +.NH 2 +Device errors and diagnostics +.PP +When serious errors occur on peripherals or in the system, the system +prints a warning diagnostic on the console. +These messages are collected +by the system error logging process +.IR syslogd (8) +and written into a system error log file +\fI/usr/adm/messages\fP. +Less serious errors are sent directly to \fIsyslogd\fP, +which may log them on the console. +The error priorities that are logged and the locations to which they are logged +are controlled by \fI/etc/syslog.conf\fP. See +.IR syslogd (8) +for further details. +.PP +Error messages printed by the devices in the system are described with the +drivers for the devices in section 4 of the programmer's manual. +If errors occur suggesting hardware problems, you should contact +your hardware support group or field service. It is a good idea to +examine the error log file regularly +(e.g. with the command \fItail \-r /usr/adm/messages\fP). +.NH 2 +File system checks, backups and disaster recovery +.PP +Periodically (say every week or so in the absence of any problems) +and always (usually automatically) after a crash, +all the file systems should be checked for consistency +by +\fIfsck\fP\|(1). +The procedures of +\fIreboot\fP\|(8) +should be used to get the system to a state where a file system +check can be performed manually or automatically. +.PP +Dumping of the file systems should be done regularly, +since once the system is going it is easy to +become complacent. +Complete and incremental dumps are easily done with +\fIdump\fP\|(8). +You should arrange to do a towers-of-hanoi dump sequence; we tune +ours so that almost all files are dumped on two tapes and kept for at +least a week in most every case. We take full dumps every month (and keep +these indefinitely). +Operators can execute ``dump w'' at login that will tell them what needs +to be dumped +(based on the /etc/fstab +information). +Be sure to create a group +.B operator +in the file /etc/group +so that dump can notify logged-in operators when it needs help. +.PP +More precisely, we have three sets of dump tapes: 10 daily tapes, +5 weekly sets of 2 tapes, and fresh sets of three tapes monthly. +We do daily dumps circularly on the daily tapes with sequence +`3 2 5 4 7 6 9 8 9 9 9 ...'. +Each weekly is a level 1 and the daily dump sequence level +restarts after each weekly dump. +Full dumps are level 0 and the daily sequence restarts after each full dump +also. +.PP +Thus a typical dump sequence would be: +.br +.ne 6 +.KS +.TS +center; +c c c c c +n n n l l. +tape name level number date opr size +_ +FULL 0 Nov 24, 1979 jkf 137K +D1 3 Nov 28, 1979 jkf 29K +D2 2 Nov 29, 1979 rrh 34K +D3 5 Nov 30, 1979 rrh 19K +D4 4 Dec 1, 1979 rrh 22K +W1 1 Dec 2, 1979 etc 40K +D5 3 Dec 4, 1979 rrh 15K +D6 2 Dec 5, 1979 jkf 25K +D7 5 Dec 6, 1979 jkf 15K +D8 4 Dec 7, 1979 rrh 19K +W2 1 Dec 9, 1979 etc 118K +D9 3 Dec 11, 1979 rrh 15K +D10 2 Dec 12, 1979 rrh 26K +D1 5 Dec 15, 1979 rrh 14K +W3 1 Dec 17, 1979 etc 71K +D2 3 Dec 18, 1979 etc 13K +FULL 0 Dec 22, 1979 etc 135K +.TE +.KE +We do weekly dumps often enough that daily dumps always fit on one tape. +.PP +Dumping of files by name is best done by +\fItar\fP\|(1) +but the amount of data that can be moved in this way is limited +to a single tape. +Finally if there are enough drives entire +disks can be copied with +\fIdd\fP\|(1) +using the raw special files and an appropriate +blocking factor; the number of sectors per track is usually +a good value to use, consult \fI/etc/disktab\fP. +.PP +It is desirable that full dumps of the root file system be +made regularly. +This is especially true when only one disk is available. +Then, if the +root file system is damaged by a hardware or software failure, you +can rebuild a workable disk doing a restore in the +same way that the initial root file system was created. +.PP +Exhaustion of user-file space is certain to occur +now and then; disk quotas may be imposed, or if you +prefer a less fascist approach, try using the programs +\fIdu\fP\|(1), +\fIdf\fP\|(1), and +\fIquot\fP\|(8), +combined with threatening +messages of the day, and personal letters. +.NH 2 +Moving file system data +.PP +If you have the resources, +the best way to move a file system +is to dump it to a spare disk partition, or magtape, using +\fIdump\fP\|(8), use \fInewfs\fP\|(8) to create the new file system, +and restore the file system using \fIrestore\fP\|(8). +Filesystems may also be moved by piping the output of \fIdump\fP +to \fIrestore\fP. +The \fIrestore\fP program uses an ``in-place'' algorithm that +allows file system dumps to be restored without concern for the +original size of the file system. Further, portions of a +file system may be selectively restored using a method similar +to the tape archive program. +.PP +If you have to merge a file system into another, existing one, +the best bet is to +use \fItar\fP\|(1). +If you must shrink a file system, the best bet is to dump +the original and restore it onto the new file system. +If you +are playing with the root file system and only have one drive, +the procedure is more complicated. +If the only drive is a Winchester disk, this procedure may not be used +without overwriting the existing root or another partition. +What you do is the following: +.IP 1. +GET A SECOND PACK, OR USE ANOTHER DISK DRIVE!!!! +.IP 2. +Dump the root file system to tape using +\fIdump\fP\|(8). +.IP 3. +Bring the system down. +.IP 4. +Mount the new pack in the correct disk drive, if +using removable media. +.IP 5. +Load the distribution tape and install the new +root file system as you did when first installing the system. +Boot normally +using the newly created disk file system. +.PP +Note that if you change the disk partition tables or add new disk +drivers they should also be added to the standalone system in +\fI/sys/\*(mCstand\fP, +and the default disk partition tables in \fI/etc/disktab\fP +should be modified. +.NH 2 +Monitoring System Performance +.PP +The +.I systat +program provided with the system is designed to be an aid to monitoring +systemwide activity. The default ``pigs'' mode shows a dynamic ``ps''. +By running in the ``vmstat'' mode +when the system is active you can judge the system activity in several +dimensions: job distribution, virtual memory load, paging and swapping +activity, device interrupts, and disk and cpu utilization. +Ideally, there should be few blocked (b) jobs, +there should be little paging or swapping activity, there should +be available bandwidth on the disk devices (most single arms peak +out at 20-30 tps in practice), and the user cpu utilization (us) should +be high (above 50%). +.PP +If the system is busy, then the count of active jobs may be large, +and several of these jobs may often be blocked (b). If the virtual +memory is active, then the paging demon will be running (sr will +be non-zero). It is healthy for the paging demon to free pages when +the virtual memory gets active; it is triggered by the amount of free +memory dropping below a threshold and increases its pace as free memory +goes to zero. +.PP +If you run in the ``vmstat'' mode +when the system is busy, you can find +imbalances by noting abnormal job distributions. If many +processes are blocked (b), then the disk subsystem +is overloaded or imbalanced. If you have several non-dma +devices or open teletype lines that are ``ringing'', or user programs +that are doing high-speed non-buffered input/output, then the system +time may go high (60-70% or higher). +It is often possible to pin down the cause of high system time by +looking to see if there is excessive context switching (cs), interrupt +activity (in) and per-device interrupt counts, +or system call activity (sy). Cumulatively on one of +our large machines we average about 60-100 context switches and interrupts +per second and about 70-120 system calls per second. +.PP +If the system is heavily loaded, or if you have little memory +for your load (2M is little in most any case), then the system +may be forced to swap. This is likely to be accompanied by a noticeable +reduction in system performance and pregnant pauses when interactive +jobs such as editors swap out. +If you expect to be in a memory-poor environment +for an extended period you might consider administratively +limiting system load. +.NH 2 +Recompiling and reinstalling system software +.PP +It is easy to regenerate the system, and it is a good +idea to try rebuilding pieces of the system to build confidence +in the procedures. +The system consists of two major parts: +the kernel itself (/sys) and the user programs +(/usr/src and subdirectories). +The major part of this is /usr/src. +.PP +The three major libraries are the C library in /usr/src/lib/libc +and the \s-2FORTRAN\s0 libraries /usr/src/usr.lib/libI77 and +/usr/src/usr.lib/libF77. In each +case the library is remade by changing into the corresponding directory +and doing +.DS +\fB#\fP \fImake\fP +.DE +and then installed by +.DS +\fB#\fP \fImake install\fP +.DE +Similar to the system, +.DS +\fB#\fP \fImake clean\fP +.DE +cleans up. +.PP +The source for all other libraries is kept in subdirectories of +/usr/src/usr.lib; each has a makefile and can be recompiled by the above +recipe. +.PP +If you look at /usr/src/Makefile, you will see that +you can recompile the entire system source with one command. +To recompile a specific program, find +out where the source resides with the \fIwhereis\fP\|(1) +command, then change to that directory and remake it +with the Makefile present in the directory. +For instance, to recompile ``date'', +all one has to do is +.DS +\fB#\fP \fIwhereis date\fP +\fBdate: /usr/src/bin/date.c /bin/date\fP +\fB#\fP \fIcd /usr/src/bin\fP +\fB#\fP \fImake date\fP +.DE +this will create an unstripped version of the binary of ``date'' +in the current directory. To install the binary image, use the +install command as in +.DS +\fB#\fP \fIinstall \-s date -o bin -g bin -m 755 /bin/date\fP +.DE +The \-s option will insure the installed version of date has +its symbol table stripped. The install command should be used +instead of mv or cp as it understands how to install programs +even when the program is currently in use. +.PP +If you wish to recompile and install all programs in a particular +target area you can override the default target by doing: +.DS +\fB#\fP \fImake\fP +\fB#\fP \fImake DESTDIR=\fPpathname \fIinstall\fP +.DE +.PP +To regenerate all the system source you can do +.DS +\fB#\fP \fIcd /usr/src\fP +\fB#\fP \fImake clean; make depend; make\fP +.DE +.PP +If you modify the C library, say to change a system call, +and want to rebuild and install everything from scratch you +have to be a little careful. +You must insure that the libraries are installed before the +remainder of the source, otherwise the loaded images will not +contain the new routine from the library. The following +sequence will accomplish this. +.DS +\fB#\fP \fIcd /usr/src\fP +\fB#\fP \fImake clean\fP +\fB#\fP \fImake depend\fP +\fB#\fP \fImake build\fP +\fB#\fP \fImake installsrc\fP +.DE +The \fImake clean\fP removes any existing binary or object files in the source +trees to insure that everything will be recompiled and reloaded. The \fImake +depend\fP recreates all of the dependencies. See \fImkdep\fP(1) for +further details. The \fImake build\fP compiles and installs the libraries +and compilers, then recompiles the libraries and compilers and the remainder +of the sources. The \fImake installsrc\fP installs all of the commands not +installed as part of the \fImake build\fP. +.if \n(Vx \{\ +This will take approximately 4 +hours on a KA655. +.\} +.if \n(Th \{\ +This will take approximately 10 +hours on a reasonably configured Tahoe. +.\} +.NH 2 +Making local modifications +.PP +Locally written commands that aren't distributed are kept in /usr/src/local +and their binaries are kept in /usr/local. This allows /usr/bin, /usr/ucb, +and /bin to correspond to the distribution tape (and to the manuals that +people can buy). People using local commands should be made aware that +they aren't in the base manual. Manual pages for local commands should be +installed in /usr/src/local/man and installed in /usr/local/man/cat[1-8]. +The \fIman\fP(1) command automatically finds manual pages placed in +/usr/local/man/cat[1-8] to facilitate this practice. +.NH 2 +Accounting +.PP +UNIX optionally records two kinds of accounting information: +connect time accounting and process resource accounting. The connect +time accounting information is stored in the file \fI/usr/adm/wtmp\fP, which +is summarized by the program +.IR ac (8). +The process time accounting information is stored in the file +\fI/usr/adm/acct\fP after it is enabled by +.IR accton (8), +and is analyzed and summarized by the program +.IR sa (8). +.PP +If you need to recharge for computing time, you can develop +procedures based on the information provided by these commands. +A convenient way to do this is to give commands to the clock daemon +.I /etc/cron +to be executed every day at a specified time. This is done by adding +lines to \fI/usr/adm/crontab\fP; see +.IR cron (8) +for details. +.NH 2 +Resource control +.PP +Resource control in the current version of UNIX is more +elaborate than in most UNIX systems. The disk quota +facilities developed at the University of Melbourne have +been incorporated in the system and allow control over the +number of files and amount of disk space each user may use +on each file system. In addition, the resources consumed +by any single process can be limited by the mechanisms of +\fIsetrlimit\fP\|(2). As distributed, the latter mechanism +is voluntary, though sites may choose to modify the login +mechanism to impose limits not covered with disk quotas. +.PP +To use the disk quota facilities, the system must be +configured with ``options QUOTA''. File systems may then +be placed under the quota mechanism by creating a null file +.I quotas +at the root of the file system, running +.IR quotacheck (8), +and modifying \fI/etc/fstab\fP to show that the file system is read-write +with disk quotas (an ``rq'' type field). The +.IR quotaon (8) +program may then be run to enable quotas. +.PP +Individual quotas are applied by using the quota editor +.IR edquota (8). +Users may view their quotas (but not those of other users) with the +.IR quota (1) +program. The +.IR repquota (8) +program may be used to summarize the quotas and current +space usage on a particular file system or file systems. +.PP +Quotas are enforced with +.I soft +and +.I hard +limits. When a user first reaches a soft limit on a resource, a +message is generated on his/her terminal. If the user fails to +lower the resource usage below the soft limit the next time +they log in to the system the +.I login +program will generate a warning about excessive usage. Should +three login sessions go by with the soft limit breached the +system then treats the soft limit as a +.I hard +limit and disallows any allocations until enough space is +reclaimed to bring the user back below the soft limit. Hard +limits are enforced strictly resulting in errors when a user +tries to create or write a file. Each time a hard limit is +exceeded the system will generate a message on the user's +terminal. +.PP +Consult the auxiliary document, ``Disc Quotas in a UNIX Environment'' +and the appropriate manual entries for more information. +.NH 2 +Network troubleshooting +.PP +If you have anything more than a trivial network configuration, +from time to time you are bound to run into problems. Before +blaming the software, first check your network connections. On +networks such as the Ethernet a +loose cable tap or misplaced power cable can result in severely +deteriorated service. The \fInetstat\fP\|(1) program may be of +aid in tracking down hardware malfunctions. In particular, look +at the \fB\-i\fP and \fB\-s\fP options in the manual page. +.PP +Should you believe a communication protocol problem exists, +consult the protocol specifications and attempt to isolate the +problem in a packet trace. The SO_DEBUG option may be supplied +before establishing a connection on a socket, in which case the +system will trace all traffic and internal actions (such as timers +expiring) in a circular trace buffer. This buffer may then +be printed out with the \fItrpt\fP\|(8C) program. Most of the +servers distributed with the system accept a \fB\-d\fP option forcing +all sockets to be created with debugging turned on. Consult the +appropriate manual pages for more information. +.NH 2 +Files that need periodic attention +.PP +We conclude the discussion of system operations by listing +the files that require periodic attention or are system specific: +.de BP +.IP \fB\\$1\fP +.br +.. +.TS +center; +lb a. +/etc/fstab how disk partitions are used +/etc/disktab default disk partition sizes/labels +/etc/printcap printer data base +/etc/gettytab terminal type definitions +/etc/remote names and phone numbers of remote machines for \fItip\fP(1) +/etc/group group memberships +/etc/motd message of the day +/etc/passwd password file; each account has a line +/etc/rc.local local system restart script; runs reboot; starts daemons +/etc/inetd.conf local internet servers +/etc/hosts host name data base +/etc/networks network name data base +/etc/services network services data base +/etc/hosts.equiv hosts under same administrative control +/etc/syslog.conf error log configuration for \fIsyslogd\fP\|(8) +/etc/ttys enables/disables ports +/usr/lib/crontab commands that are run periodically +/usr/lib/aliases mail forwarding and distribution groups +/usr/adm/acct raw process account data +/usr/adm/messages system error log +/usr/adm/wtmp login session accounting +.TE diff --git a/doc/smm/01.setup/Makefile b/doc/smm/01.setup/Makefile index abcbeef3..8505ca94 100644 --- a/doc/smm/01.setup/Makefile +++ b/doc/smm/01.setup/Makefile @@ -14,14 +14,29 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#)Makefile 5.1 (Berkeley) 7/17/88 +# @(#)Makefile 5.2 (Berkeley) 11/18/03 # +PRINTER=-Plz +TROFF= ditroff ${PRINTER} +EQN= deqn ${PRINTER} +TBL= dtbl ${PRINTER} +LPR= lpr -n ${PRINTER} -all: - cd ${MACHINE}; make ${MFLAGS} +SRC= 0.t 1.t 2.t 3.t 4.t 5.t 6.t a.t b.t c.t -setup: - cd ${MACHINE}; make ${MFLAGS} setup +setup.out: ${SRC} + ${EQN} ${SRC} | ${TBL} | ${TROFF} -t -ms > setup.out -setup.out: - cd ${MACHINE}; make ${MFLAGS} setup.out +setup.txt: ${SRC} + neqn ${SRC} | tbl | nroff -ms | colcrt - > setup.txt + +setup: setup.out + ${LPR} setup.out + +clean: + rm -f setup.out setup.txt ?.t.spell errs Errs + +spell: ${SRC} + @for i in ${SRC}; do \ + echo $$i; spell $$i | sort | comm -23 - spell.ok > $$i.spell; \ + done diff --git a/doc/smm/01.setup/a.t b/doc/smm/01.setup/a.t new file mode 100644 index 00000000..8d8a278c --- /dev/null +++ b/doc/smm/01.setup/a.t @@ -0,0 +1,323 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)a.t 6.5 (Berkeley) 12/6/03 +.\" +.de IR +\fI\\$1\fP\|\\$2 +.. +.ds LH "Installing/Operating \*(4B +.nr H1 6 +.nr H2 0 +.ds RH "Appendix A \- bootstrap details +.ds CF \*(DY +.bp +.LG +.B +.ce +APPENDIX A \- BOOTSTRAP DETAILS +.sp 2 +.R +.NL +.PP +This appendix contains pertinent files and numbers regarding the +bootstrapping procedure for \*(4B. You should never have to +look at this appendix. However, if there are problems in installing +the distribution on your machine, the material contained here may +prove useful. +.SH +Contents of the distribution tape(s) +.PP +The distribution normally consists of two 1600bpi 2400' magnetic +tapes, one 6250bpi 2400' magnetic tape, or one TK50 tape cartridge. +The layout of the 6250bpi tape is listed below. +The TK50 tape and the 1600bpi tapes are in the same order, but the +\fItar\fP\|(1) images of source code are compressed with \fIcompress\fP\|(1). +In the 1600bpi distribution the binaries (first four tape files) are on the +first tape and the compressed sources (last two tape files) are on the second +tape. +All tape files are blocked in 10 kilobytes records, except for the +first file on the first tape that has 512 byte records. +.DS L +.TS +l l l. +Tape file Records* Contents +_ +one 210 6 bootstrap monitor programs and a + \fItp\fP\|(1) file containing \fIboot\fP, \fIformat\fP, and \fIcopy\fP +two 308 ``mini root'' file system +three 430 \fIdump\fP\|(8) of distribution root file system +four 3000 \fItar\fP\|(1) image of binaries and libraries in /usr +five 720 \fItar\fP\|(1) image of /sys, including GENERIC system +six 2500 \fItar\fP\|(1) image of /usr/src +.TE +.FS +* The number of records in each tape file are approximate +and do not correspond to the actual tape. +.FE +.DE +.PP +The distribution tape is made with the shell scripts located +in the directory /sys/vaxdist. To build a distribution tape +one must first create a mini root file system with the \fIbuildmini\fP +shell script. +.DS +#!/bin/sh - +# +# 4.3BSD-Quasijarus release-making script. +# +# This file is freely redistributable. +# +# @(#)buildmini 4.10 (Berkeley) 10/3/99 +# + +dist=/sys/vaxdist +miniroot=ra0d +minimnt=/tmp/mini + +date +mkdir ${minimnt} +newfs -s 6144 ${miniroot} +fsck /dev/r${miniroot} +mount /dev/${miniroot} ${minimnt} +cd ${minimnt}; sh ${dist}/get +cd /; sync +umount /dev/${miniroot} +fsck /dev/r${miniroot} +date +.DE +The \fIbuildmini\fP +script uses the \fIget\fP script to build the +file system. +.ID +#!/bin/sh - +# +# 4.3BSD-Quasijarus release-making script. +# +# This file is freely redistributable. +# +# @(#)get 4.28 (Berkeley) 9/7/99 +# + +# Shell script to build a mini-root file system in preparation for building +# a distribution tape. The file system created here is image copied onto +# tape, then image copied onto disk as the "first" step in a cold boot of +# 4.3 systems. + +if [ `pwd` = '/' ] +then + echo You just '(almost)' destroyed the root + exit +fi +cp /nbsd/sys/GENERIC/vmunix vmunix + +# create necessary directories +DIRLIST="bin dev etc a tmp usr usr/mdec sys sys/floppy \ + sys/cassette sys/consolerl" +rm -rf $DIRLIST +mkdir $DIRLIST + +ETC="disktab disklabel diskpart fsck ifconfig init mknod mount newfs restore \ + rrestore umount arff flcopy passwd group" +for i in $ETC; do + cp /nbsd/etc/$i etc/$i +done + +BIN="[ cat cp dd echo expr ls mkdir mv rcp rm sh stty sync ed awk make mt" +for i in $BIN; do + cp /nbsd/bin/$i bin/$i +done +ln bin/stty bin/STTY + +cp /nbsd/sys/floppy/[Ma-z0-9]* sys/floppy +cp /nbsd/sys/consolerl/[Ma-z0-9]* sys/consolerl +cp /nbsd/sys/cassette/[Ma-z0-9]* sys/cassette +cp /nbsd/usr/mdec/* usr/mdec +cp /nbsd/boot boot +cp /nbsd/pcs750.bin pcs750.bin +cp /nbsd/.profile .profile + +cat >etc/fstab <xtr <<'EOF' +: ${disk?'Usage: disk=xx0 tape=yy xtr'} +: ${tape?'Usage: disk=xx0 tape=yy xtr'} +echo 'Build root file system' +newfs ${disk}a +sync +echo 'Check the file system' +fsck /dev/r${disk}a +mount /dev/${disk}a /a +cd /a +echo 'Rewind tape' +mt -f /dev/${tape}0 rew +echo 'Restore the dump image of the root' +restore rsf 3 /dev/${tape}0 +cd / +sync +umount /dev/${disk}a +sync +fsck /dev/r${disk}a +echo 'Root filesystem extracted' +echo +echo 'If this is an 8650 or 8600, update the console rl02' +echo 'If this is a 780 or 785, update the floppy' +echo 'If this is a 730, update the cassette' +EOF +chmod +x xtr +rm -rf dev; mkdir dev +cp /nbsd/dev/MAKEDEV dev +chmod +x dev/MAKEDEV +cp /dev/null dev/MAKEDEV.local +cd dev +\&./MAKEDEV std hp0 hk0 up0 ra0 kra0 rb0 +\&./MAKEDEV ts0; mv rmt12 ts0; rm *mt*; +\&./MAKEDEV tm0; mv rmt12 tm0; rm *mt*; +\&./MAKEDEV ht0; mv rmt12 ht0; rm *mt*; +\&./MAKEDEV ut0; mv rmt12 ut0; rm *mt*; +\&./MAKEDEV tms0; mv rmt12 tms0; rm *mt*; +\&./MAKEDEV mt0; mv rmt12 xt0; rm *mt*; mv xt0 mt0 +cd .. +sync +.DE +The mini root file system must have enough space to hold the +files found on a floppy or cassette. +.PP +Once a mini root file system is constructed, the \fImaketape\fP +script makes a distribution tape. +.ID +#!/bin/sh - +# +# 4.3BSD-Quasijarus release-making script. +# +# This file is freely redistributable. +# +# @(#)maketape 4.36 (Berkeley) 12/6/03 +# + +# maketape releasedir +miniroot=ra0d +fullroot=ra1a +block=20 +tflag=cbf + +if [ $# -gt 0 ]; then + releasedir=$1; +else + echo usage: $0 releasedir + exit +fi + +cd /nbsd +sync + +cd /nbsd/sys/vaxdist/tp +tp cmf /tmp/tape.$$ boot copy format +cd /nbsd/sys/mdec +echo "Build 1st level boot block file" +cat tmscpboot tsboot htboot tmboot mtboot utboot /tmp/tape.$$ | \ + dd of=${releasedir}/stand obs=512 conv=sync + +echo "Add image of mini-root file system" +dd if=/dev/r${miniroot} count=308 bs=20b conv=sync of=${releasedir}/miniroot + +echo "Add full dump of real file system" +/etc/dump 0f ${releasedir}/rootdump /dev/r${fullroot} + +echo "Add tar image of /usr" +cd /nbsd/usr +tar ${tflag} ${block} ${releasedir}/usr.tar MAKEHOSTS adm bin dict games hosts \ + include lib local man mdec msgs new old preserve pub spool tmp ucb + +echo "Add tar image of system sources" +cd /nbsd/usr/src/sys +tar ${tflag} ${block} ${releasedir}/srcsys.tar . + +echo "Add user source code" +FILES="Makefile bin cci doc etc games include lib local man old \ + ucb undoc usr.bin usr.lib" +cd /nbsd/usr/src +tar ${tflag} ${block} ${releasedir}/src.tar ${FILES} +.DE +.PP +Summarizing then, to create a distribution tape you can +use the above scripts and the following commands. +.DS +\fB#\fP \fIbuildmini\fP +\fB#\fP \fImaketape /distdir\fP +.DE +This will generate the distribution tape file images in \fI/distdir\fP. +.SH +Control status register addresses +.PP +The distribution uses many standalone device drivers +that presume the location of a UNIBUS device's control status +register (CSR). +The following table summarizes these values. +.DS +.TS +l l l. +Device name Controller CSR address (octal) +_ +ra DEC UDA50 0172150 +rb DEC 730 IDC 0175606 +rk DEC RK11 0177440 +rl DEC RL11 0174400 +tm EMULEX TC-11 0172520 +ts DEC TS11 0172520 +up EMULEX SC-21V 0176700 +ut SI 9700 0172440 +.TE +.DE +All MASSBUS controllers are located at standard offsets +from the base address of the MASSBUS adapter register bank. +BI bus controllers are located automatically. +.SH +Generic system control status register addresses +.PP +The +.I generic +version of the operating system supplied with the distribution +contains the UNIBUS devices listed below. +These devices will be recognized +if the appropriate control status registers respond at any of the +listed UNIBUS addresses. +.DS +.TS +l l l. +Device name Controller CSR addresses (octal) +_ +hk DEC RK11 0177440 +tm EMULEX TC-11 0172520 +tmscp DEC TU81, TMSCP 0174500 +ts DEC TS11 0172520 +ut SI 9700 0172440 +up EMULEX SC-21V 0176700, 0174400, 0176300 +ra DEC UDA-50 0172150, 0172550, 0177550 +rb DEC 730 IDC 0175606 +rl DEC RL11 0174400 +dm DM11 equivalent 0170500 +dh DH11 equivalent 0160020, 0160040 +dhu DEC DHU11 0160440, 0160500 +dz DEC DZ11 0160100, 0160110, ... 0160170 +dmf DEC DMF32 0160340 +dmz DEC DMZ32 0160540 +lp DEC LP11 0177514 +en Xerox 3MB ethernet 0161000 +ec 3Com ethernet 0164330 +ex Excelan ethernet 0164344 +il Interlan ethernet 0164000 +de DEC DEUNA 0174510 +.TE +.DE +If devices other than the above are located at any +of the addresses listed, the system may not bootstrap +properly. diff --git a/doc/smm/01.setup/b.t b/doc/smm/01.setup/b.t new file mode 100644 index 00000000..d06589f5 --- /dev/null +++ b/doc/smm/01.setup/b.t @@ -0,0 +1,290 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)b.t 6.3 (Berkeley) 11/18/03 +.\" +.de IR +\fI\\$1\fP\|\\$2 +.. +.ds LH "Installing/Operating \*(4B +.nr H1 6 +.nr H2 0 +.ds RH "Appendix B \- loading the tape monitor +.ds CF \*(DY +.bp +.LG +.B +.ce +APPENDIX B \- LOADING THE TAPE MONITOR +.sp 2 +.R +.NL +.PP +This section describes how the bootstrap monitor located on +the first tape of the distribution tape set may be loaded. +This should not be necessary if using console media, +but has been included as a fallback +measure if it is not possible to read the distributed +console medium. +This procedure \fBmust\fP be used however on MicroVAXen +as they have no console media. +\fBWARNING\fP: the bootstraps supplied below +may not work, in certain instances on an 11/730 because they +use a buffered data path for transferring data from tape to +memory; consult our group if you are unable to load the +monitor on an 11/730. All of the addresses given below refer +to the first SBIA on the 8600. +.PP +To load the tape bootstrap monitor, first +mount the magnetic tape on drive 0 at load point, making +sure that the write ring is not inserted. +The following description of toggle-in code applies only to large +VAXen with non-TMSCP tapes. +On MicroVAXen all you need to do is to boot from the distribution tape: +.DS +\fB>>>\fP\fIB MUA0\fP +.DE +and the ``='' prompt will appear. +On large VAXen a more complex procedure described below must be used instead. +Once again, it works only for non-TMSCP tapes. +To bootstrap \*(4B on a large VAX from a TMSCP tape drive you must use console +media. +This procedure can be used on an 8200, however, since 8200s normally use TMSCP +tapes it is unlikely to be very useful. +Temporarily +set the reboot switch on an 11/780 or 11/730 to off; +on an 8600 or 11/750 set the power-on action to halt. +(In normal operation an 11/785, 11/780, or 11/730 +will have the reboot switch on, +and an 8600 or 11/750 will have the power-on action +set to boot/restart.) +.PP +If you have an 8600 or 11/780 give the commands: +.RT +.DS +\fB>>>\fP\fIHALT\fP +\fB>>>\fP\fIUNJAM\fP +.DE +Then, on any machine, give the init command: +.DS +\fB>>>\fP\fII\fP +.DE +and then +key in at location 200 and execute either the TS, HT, TM, or MT +bootstrap that follows, as appropriate. \fBNOTE\fP: All of the addresses +given in this section refer to the first SBIA on the 8600. +Also, the VAX 8200 console does not accept +the ``D +'' command, so the second command becomes ``D 204 D05A0000'', +the third ``D 208 3BEF'', the fourth ``D 20C 800CA00'', the fifth +``D 210 32EFC1'', and so forth. Alternatively, you could +try booting BOOT58 via ``B/R5:800'' with a diagnostic floppy. +.PP +The machine's printouts are shown in boldface, +explanatory comments are within ( ). +You can use `delete' to erase a character and `control U' to kill the +whole line. +.br +.ne 5 +.sp +.ID +.nf +TS bootstrap + +\fB>>>\|\fPD/P 200 3AEFD0 +\fB>>>\|\fPD + D05A0000 +\fB>>>\|\fPD + 3BEF +\fB>>>\|\fPD + 800CA00 +\fB>>>\|\fPD + 32EFC1 +\fB>>>\|\fPD + CA010000 +\fB>>>\|\fPD + EFC10804 +\fB>>>\|\fPD + 24 +\fB>>>\|\fPD + 15508F +\fB>>>\|\fPD + ABB45B00 +\fB>>>\|\fPD + 2AB9502 +\fB>>>\|\fPD + 8FB0FB18 +\fB>>>\|\fPD + 956B024C +\fB>>>\|\fPD + FB1802AB +\fB>>>\|\fPD + 25C8FB0 +\fB>>>\|\fPD + 6B + (The next two deposits set up the addresses of the UNIBUS) + (adapter and its memory; the 20006000 here is the address of) + (uba0 and the 2013E000 the address of the I/O page, umem0) + (on an 8600 or 11/780) +\fB>>>\|\fPD + 20006000 (8600/780 uba0) + (8600/780 uba1: 20008000, uba2 2000A000) + (8200 uba at node 0: 20000000) + (750 uba0: F30000, uba1: F32000; 730 uba: F26000) +\fB>>>\|\fPD + 2013E000 (8600/780 umem0) + (8600/780 umem1: 2017E000, umem2: 201BE000) + (8200 umem at node 0: 20400000) + (750 umem0: FFE000, umem1: FBE000; 730 umem: FFE000) +\fB>>>\|\fPD + 80000000 +\fB>>>\|\fPD + 254C004 +\fB>>>\|\fPD + 80000 +\fB>>>\|\fPD + 264 +\fB>>>\|\fPD + E +\fB>>>\|\fPD + C001 +\fB>>>\|\fPD + 2000000 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 + + N.B.: uba and umem addresses can be determined algorithmically + on 8200 machines as follows: + uba(\fInode\fP) = 20000000 + (2000 * \fInode\fP) + umem(\fInode\fP) = 20400000 + (40000 * \fInode\fP) + +HT bootstrap + +\fB>>>\|\fPD/P 200 3EEFD0 +\fB>>>\|\fPD + C55A0000 +\fB>>>\|\fPD + 3BEF +\fB>>>\|\fPD + 808F00 +\fB>>>\|\fPD + C15B0000 +\fB>>>\|\fPD + C05B5A5B +\fB>>>\|\fPD + 4008F +\fB>>>\|\fPD + D05B00 +\fB>>>\|\fPD + 9D004AA +\fB>>>\|\fPD + C08F326B +\fB>>>\|\fPD + D424AB14 +\fB>>>\|\fPD + 8FD00CAA +\fB>>>\|\fPD + 80000000 +\fB>>>\|\fPD + 320800CA +\fB>>>\|\fPD + AAFE008F +\fB>>>\|\fPD + 6B39D010 +\fB>>>\|\fPD + 0 + (The next two deposits set up the addresses of the MASSBUS) + (adapter and the drive number for the tape formatter) + (the 20010000 here is the address of mba0 on an 8600 or) + (11/780 and the 0 indicates the formatter is drive 0 on mba0) +\fB>>>\|\fPD + 20010000 (8600/780 mba0) + (8600/780 mba1: 20012000; 750 mba0: F28000, mba1: F2A000) +\fB>>>\|\fPD + 0 (Formatter unit number in range 0-7) +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 + +TM bootstrap + +\fB>>>\|\fPD/P 200 2AEFD0 +\fB>>>\|\fPD + D0510000 +\fB>>>\|\fPD + 2000008F +\fB>>>\|\fPD + 800C180 +\fB>>>\|\fPD + 804C1D4 +\fB>>>\|\fPD + 1AEFD0 +\fB>>>\|\fPD + C8520000 +\fB>>>\|\fPD + F5508F +\fB>>>\|\fPD + 8FAE5200 +\fB>>>\|\fPD + 4A20200 +\fB>>>\|\fPD + B006A2B4 +\fB>>>\|\fPD + 2A203 + (The following two numbers are uba0 and umem0 on a 8600/780) + (See TS above for values for other CPU's and UBA's) +\fB>>>\|\fPD + 20006000 (8600/780 uba0) +\fB>>>\|\fPD + 2013E000 (8600/780 umem0) +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 + +MT bootstrap + +\fB>>>\|\fPD/P 200 46EFD0 +\fB>>>\|\fPD + C55A0000 +\fB>>>\|\fPD + 43EF +\fB>>>\|\fPD + 808F00 +\fB>>>\|\fPD + C15B0000 +\fB>>>\|\fPD + C05B5A5B +\fB>>>\|\fPD + 4008F +\fB>>>\|\fPD + 19A5B00 +\fB>>>\|\fPD + 49A04AA +\fB>>>\|\fPD + AAD408AB +\fB>>>\|\fPD + 8FD00C +\fB>>>\|\fPD + CA800000 +\fB>>>\|\fPD + 8F320800 +\fB>>>\|\fPD + 10AAFE00 +\fB>>>\|\fPD + 2008F3C +\fB>>>\|\fPD + ABD014AB +\fB>>>\|\fPD + FE15044 +\fB>>>\|\fPD + 399AF850 +\fB>>>\|\fPD + 6B + (The next two deposits set up the addresses of the MASSBUS) + (adapter and the drive number for the tape formatter) + (the 20012000 here is the address of mba1 on an 8600 or) + (11/780 and the 0 indicates the formatter is drive 0 on mba1) +\fB>>>\|\fPD + 20012000 +\fB>>>\|\fPD + 0 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +\fB>>>\|\fPS 200 +.fi +.sp +(no functioning toggle-in code exists for the UT device) +.DE +.PP +If the tape doesn't move the first time you start the bootstrap +program with ``S 200'' you probably have entered the program +incorrectly (but also check that the tape is online). +Start over and check your typing. +For the HT, MT, and TM bootstraps you will not be able to see the +tape motion as you advance through the first few blocks +as the tape motion is all within the vacuum columns. +.PP +.\" XXX this next step is unnecessary! the register are still correct, +.\" at least for the TS bootstrap XXX +Next, deposit in R10 the address of the tape MBA/UBA and in R11 the +address of the device registers or unit number from one of: +.DS +.TS +lw(1.5i) l. +\fB>>>\|\fPD/G A 20006000 (for tapes on 8600/780 uba0) +\fB>>>\|\fPD/G A 20008000 (for tapes on 8600/780 uba1) +\fB>>>\|\fPD/G A 20010000 (for tapes on 8600/780 mba0) +\fB>>>\|\fPD/G A 20012000 (for tapes on 8600/780 mba1) +\fB>>>\|\fPD/G A 20000000 (for tapes on 8200 uba at node 0) +\fB>>>\|\fPD/G A F30000 (for tapes on 750 uba0) +\fB>>>\|\fPD/G A F32000 (for tapes on 750 uba1) +\fB>>>\|\fPD/G A F28000 (for tapes on 750 mba0) +\fB>>>\|\fPD/G A F2A000 (for tapes on 750 mba1) +\fB>>>\|\fPD/G A F26000 (for tapes on 730 uba0) +.TE +.DE +and for register 11: +.DS +.TS +lw(1.5i) l. +\fB>>>\|\fPD/G B 0 (for TM03/TM78 formatters at mba? drive 0) +\fB>>>\|\fPD/G B 1 (for TM03/TM78 formatters at mba? drive 1) +\fB>>>\|\fPD/G B 2013F550 (for TM11/TS11/TU80 tapes on 8600/780 uba0) +\fB>>>\|\fPD/G A 20400000 (for TM11/TS11/TU80 on 8200 uba at node 0) +\fB>>>\|\fPD/G B FFF550 (for TM11/TS11/TU80 tapes on 750 or 730 uba0) +.TE +.DE +Then start the bootstrap program with +.DS +\fB>>>\|\fPS 0 +.DE +.PP +The console should type +.DS +.I +\fB=\fP +.R +.DE +You are now talking to the tape bootstrap monitor. +At any point in the following procedure you can return +to this section, reload the tape bootstrap, and restart the +procedure. The console monitor is identical to that +loaded from a TU58 console cassette, follow the instructions +in section 2 as they apply to this device. The only +exception is that when using programs loaded from the +tape bootstrap monitor, programs will always return to +the monitor (the ``='' prompt). This saves your having +to type in the above toggle-in code for each program to +be loaded. diff --git a/doc/smm/01.setup/c.t b/doc/smm/01.setup/c.t new file mode 100644 index 00000000..8020e5b5 --- /dev/null +++ b/doc/smm/01.setup/c.t @@ -0,0 +1,227 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)c.t 6.3 (Berkeley) 11/18/03 +.\" +.de IR +\fI\\$1\fP\|\\$2 +.. +.ds LH "Installing/Operating \*(4B +.nr H1 6 +.nr H2 0 +.ds RH "Appendix C \- installation troubleshooting +.ds CF \*(DY +.bp +.LG +.B +.ce +APPENDIX C \- INSTALLATION TROUBLESHOOTING +.sp 2 +.R +.NL +.PP +This appendix lists and explains certain problems +that might be encountered while trying to install the \*(4B +distribution. The information provided here is +limited to the early steps in the installation process; +i.e. up to the point where the root file system is installed. +If you have a problem installing +the release consult this section before contacting our group. +.SH +\fBUsing the distribution console medium.\fP +.LP +This section describes problems that may occur when using +the programs provided on the distributed console medium: +TU58 cassette or RX01 floppy disk. +.LP +\fIprogram can not be loaded\fP. +.LP +Check to make +sure the correct floppy or cassette is being used. +If using a floppy, be sure it is not in upside down. If using +a cassette on an 11/730, be certain drive 0 is being used. +If a hard I/O error occurred while reading a floppy, try resetting +the console LSI-11 by powering it on and off. If you can not +boot the cassette's bootstrap monitor, verify that the standard +DEC console cassette can be read; if it can not, your cassette +drive is probably broken. +.LP +\fIprogram halts without warning\fP. +.LP +Check to make sure you have specified +the correct disk to format; consult sections 1.3 and 1.4 for a +discussion of +the VAX and UNIX device naming conventions. On 11/750's, +specifying a non-existent MASSBUS device will cause the +program to halt as it receives an interrupt (standalone +programs operate by polling devices). +.LP +If using a floppy, try reading the floppy under +your current system. If this works, copy the floppy to a new +one and begin again. If using a cassette on an 11/730, +do likewise. +.LP +\fIformat prints ``Known devices are ...''\fP. +.LP +You have requested +.I format +to work on a device for which it has no driver, or that does not exist; +only the listed devices are supported. +.LP +\fIformat, boot, or copy prints ``unknown drive type''\fP. +.LP +A MASSBUS disk was specified, but the associated MASSBUS +drive type register indicates a drive of unknown type. +This probably means you typed something wrong or your +hardware is incorrectly configured. +.LP +\fIformat, boot, or copy prints ``unknown device''\fP. +.LP +The device specified is probably not one of those supported +by the distribution; consult section 1.1. If the device +is listed in section 1.1, the drive may be dual-ported, or +for some other reason the driver was unable to decipher +its characteristics. If this is a MASSBUS drive, try +powering the MASSBUS adapter and/or controller on and +off to clear the drive type register. +.LP +\fIcopy does not copy 308 records\fP +.LP +If a tape read error occurred, +clean your tape drive heads. If a disk write error occurred, +the disk formatting may have failed. If the disk pack is +removable, try another one. If you are currently running +UNIX, you can reboot your old system and use \fIdd\fP to +copy the mini-root file system into a disk partition +(assuming the destination is not in use by the running +system). +.LP +\fIboot prints ``not a directory''\fP +.LP +The +.I boot +program was unable to find the requested program because +it encountered something other than a directory while +searching the file system. +This usually suggests that +no file system is present on the disk partition supplied, +or the file system has been corrupted. First check to +make sure you typed the correct line to boot. If this +is the case and you are booting from the mini-root file +system, the mini-root was probably not copied correctly off the +tape (perhaps it was not placed in the correct disk partition). +Try reinstalling the mini-root file system or, if trying +to boot the true root file system, try booting from the +mini-root file system and run \fIfsck\fP on the restored +root file system to insure its integrity. Finally, as +a last resort, copy the \fIboot\fP program from the +mini-root file system to the newly installed root file system. +.LP +\fIboot prints ``bad format''\fP +.LP +The program you requested +.I boot +to load did not have a 407, 410, or 413 magic number in its +header. This should never happen on a distribution system. +If you were trying to boot off the root file system, reboot +the system on the mini-root file system and look at the +program on the root file system. Try copying the copy +of vmunix on the mini-root to the root file system also. +.LP +\fIboot prints ``Short read''\fP +.LP +The file header for the program contained a size larger +than the actual size of the file located on disk. This +is probably the result of file system corruption (or a +disk I/O error). Try booting again or creating a new +copy of the program to be loaded (see above). +.SH +\fBBooting the generic system\fP +.LP +This section contains common problems encountered when booting +the generic version of the system. +.LP +\fIsystem panics with ``panic: iinit''\fP +.LP +This occurred because the system was unable to mount +the root file system. +The root file system supplied at the ``root device?'' +prompt was probably incorrect. Remember that when running on the +mini-root file system, this question must be answered +with something of the form ``hp0*''. If the answer +had been ``hp0'', the system would have used the ``a'' +partition on unit 0 of the ``hp'' drive, where presumably +no file system exists. +.LP +Alternatively, the file system on which you were trying +to run is corrupted. Try +reinstalling the appropriate file system. +.LP +\fIsystem selects incorrect root device\fP +.LP +That is, you try to boot the system single user with +``B/2'' or ``B xxS'' but do not get the root file system +in the expected location. This is most likely caused +by your having many disks available more suited to be +a root file system than the one you wanted. For example, +if you have a ``up'' disk and an ``hk'' disk and install +the system on the ``hk'', then try to boot the system +to single-user mode, the heuristic used by the generic +system to select the root file system will choose the +``up'' disk. The following list gives, in descending +order, those disks thought most suitable to be a root +file system: ``hp'', ``up'', ``ra'', ``rb'', ``rl'', ``hk'' +(the position of ``rl'' is subject to argument). +To get the root device you want you must boot +using ``B/3'' or ``B ANY'', then supply the root device +at the prompt. +.LP +\fIsystem crashes during autoconfiguration\fP +.LP +This is almost always caused by an +unsupported UNIBUS device being present at a +location where a supported device was expected. +You must disable the device in some way, either +by pulling it off the bus, or by moving the location +of the console status register (consult Appendix A +for a complete list of UNIBUS csr's used in the generic system). +.LP +\fIsystem does not find device(s)\fP +.LP +The UNIBUS device is not at a standard location. Consult +the list of control status register addresses in Appendix +A, or wait to configure a system to your hardware. +.LP +Alternatively, certain devices are difficult to locate +during autoconfiguration. A classic example is the TS11 +tape drive that does not autoconfigure properly if it is +rewinding when the system is rebooted. Tape drives should +configure properly if they are off-line, or are not performing +a tape movement. Disks that are dual-ported should +autoconfigure properly if the drive is not being simultaneously +accessed through the alternate port. +.SH +\fBBuilding console cassettes\fP +.LP +This sections describes common problems encountered +while constructing a console bootstrap cassette. +.LP +\fIsystem crashes\fP +.LP +You are trying to build a cassette for an 11/750. +On an 11/750 the system is booted by using a bootstrap +prom and sector 0 of the root file system. Refer +to section 2.2.5 or +.IR tu (4) +for the appropriate reprimand. +.LP +\fIsystem hangs\fP +.LP +You are using an MRSP prom on an 11/750 and think you +can ignore the instructions in this document. The +problem here is that the generic system only supports +the MRSP prom on an 11/730. Using it on an 11/750 requires +a special system configuration; consult +.IR tu (4) +for more information. diff --git a/doc/smm/01.setup/spell.ok b/doc/smm/01.setup/spell.ok new file mode 100644 index 00000000..fb48985f --- /dev/null +++ b/doc/smm/01.setup/spell.ok @@ -0,0 +1,671 @@ +AAD408AB +AAFE008F +ABB45B00 +ABD014AB +ACC +ACP625 +ACU +ARP +ARPANET +Arpanet +B006A2B4 +BPI +BSD +BSIZE +Btty +C,E +C05B5A5B +C08F326B +C15B0000 +C55A0000 +CA010000 +CA800000 +CF +CI780 +CLR +COMPAT +CPU +CPU's +CSR +CX +Config +Cyl +D05A0000 +D05B00 +D424AB14 +DARPA +DB +DD0:BOOT +DD0:COPY +DD0:FORMAT +DDA0 +DDN +DEFBOO.CMD +DEFBOO.COM +DESTDIR +DEUNA +DEV +DH11 +DHU11 +DISTROOT +DM +DM11 +DM980 +DMA +DMA0 +DMC +DMF32 +DMR +DMZ32 +DN11 +DRA +DRA0 +DZ11 +Dialup +ECC +EFC10804 +EGP +EMULEX +EOF +EOT +Ethernet +Ethernets +Excelan +F2A000 +F5508F +FB1802AB +FBE000 +FD +FFE000 +FFF550 +FTP +Filesystems +Formatter +Gethostbyname +HDH +HK +HPS +HSC50 +ICMP +IDC +IDP +IMP's +INET +INIT +IP +IPSENDREDIRECTS +ISI +ISSET +ISVTX +Ifconfig +Imagen +Ingres +Jun +Karels +Kbyte +Kbytes +Kirton +L.aliases +L.cmds +L.sys +LH +LOGFILE +LP11 +Leffler +MAKEDEV +MAKEDEV.local +MAKEHOSTS +MASBUS +MASSBUS +MASSBUSes +MAXDSIZ +MRSP +MT +Makefile +Mb +McKusick +Milnet +NIC +NP100 +NS +NSC +PCL +PDT +PSN's +Pathnames +Postel +Proteon +RA +RA60 +RA80 +RA81 +RB +RBS +RC25 +README +RFC +RH +RH750 +RK07 +RK07's +RK07s +RK11 +RL02 +RL11 +RL211 +RM03 +RM03's +RM05 +RM80 +RM80's +RP +RP06 +RP06's +RP07 +RX01 +SBI +SBIA +SEQF +SI +SMD +SMTP +SPP +STC +SYSLOG +Sendmail +Sep +Syslog +TC11 +TCP +TE +TE16 +TELNET +TFTP +TM03 +TM11 +TM78 +TMSCP +TS +TS11 +TU +TU45 +TU58 +TU77 +TU78 +TU80 +TU81 +UBA +UBA's +UBA0 +UCB +UDA +UDA50 +UDP +UNIBUS +USERFILE +UT +UUAIDS +Ungermann +Unibus +Usenet +V2LNI +VAX +Versatec +XX +a.out +a5a5 +a:xx:1:1 +acc +acc0 +accrint +accxint +adaptor +adiron +adm +arp +autoconf +autoconfiguration +autoconfigure +autoconfigures +biff +bootstrapped +bs +bse +buildmini +burnin +c,e +c.f +calder +capricorn +cbosg +cbosgd +cf +chico +chroot +cmf +comsat +conf +conf.c +config +consolerl +conv +courierd +cpu +crontab +cs +cshrc +csr +csr's +css +cul0 +daemon +daemon's +daemons +dali +date.1 +date.c +ddn +de +defboo.cmd +defboo.com +defboo.hk +defboo.hp +defboo.ra +defboo.rb +defboo.up +dev +dgram +dh's +dh0 +dhu +dialcode +dialcodes +dialup +dialups +dict +disk?'Usage +diskpart +disktab +dist +dm +dma +dmc +dmf +dmf0 +dmz +doc +dump.4.1 +dz's +dz0 +e.g +ec +ec6d +ecc +ecc's +edquota +en0 +enrint +enxint +ernie +es +ether.c +ethernet +eval +f00f +fallback +fd +fdset +ffff +fi +files.HOST +filesystem +filesystems +fingerd +formatted +formatter +formatters +formatting...make +frags +fsf +fstab +fstab.hp +fstab.hp400m +fstab.ra60 +fstab.ra80 +fstab.ra81 +fstab.rb80 +fstab.rk07 +fstab.rm03 +fstab.rm05 +fstab.rm80 +fstab.rp06 +fstab.rp07 +fstab.up +fstab.up160m +fstab.xxx +ftp +ftpd +ftpusers +fuji160 +genvmunix +getdtablesize +gethostbyaddr +gethostbyname +gethostname +getty +gettytab +gt +hangup +hanoi +hdh +hk +hk0 +hk0a +hk0g +hk?g +homegrown +hostname +hosts's +hosts.equiv +hosts.lpd +hosts.txt +hp0 +hp0a +hp0b +hp0b::sw +hp0d +hp0g +hp0h +hp1 +hp1a +hp1b +hp1b::sw +hp1g +hp2a +hp2g +hp400 +hp?g +hp?h +ht0 +htable +htboot +hy +i.e +ifconfig +iinit +il +inet +inetd +inetd.conf +ingres +init +inode +inodes +installsrc +intr +iob +isi.arpa +jkf +jkreynolds +karels +kim +lib +libF77 +libI77 +libc +localgateways +localhosts +localnetworks +loopback +lpc +lpd +lq +magtape +makefile +maketape +man1 +manj +manl +mano +matisse +mba +mba0 +mba1 +mdec +miniroot +minitype +miro +mkhosts +mkpasswd +mnt +mnt:rw:1:2 +mods +monet +monet.Berkeley.EDU +monet.berkeley.edu +motd +mqueue +mt +mt0 +mtboot +mysitename +nbsd +ndbm +netimp +netinet +netmask +netns +netser +netstat +newaliases +newdev +newfs +newvmunix +nic +nic.arpa +noboot +nowait +nscf +obs +ogin +olddev +online +opr +out0123456789 +out2010123456 +param.h +pathname +pcl +pcs750.bin +pre +printcap +proNET +prom +proms +pty +pty0 +pty1 +pty2 +pty3 +ptyp +quotacheck +quotaon +ra +ra0 +ra0a +ra0h +ra60 +ra80 +ra81 +ra?g +ra?h +rb +rb0 +rb0a +rb0h +rb80 +rb?g +rb?h +rc +rc.local +remotetapemachine +repquota +restar.cmd +rew +rexecd +rf +rhosts +rhp1a +rk07 +rl +rl02 +rlogind +rm03 +rm05 +rm80 +rm80's +rmt12 +rmt4 +root::0:10 +rp06 +rp07 +rq +rrh +rsf +rshd +rw:1:1 +rwhod +rxx0a +se +secretmail +securetty +securettys +sendmail +sendmail.cf +setrlimit +setup.tblms +shutdownlog +sr +src +sri +standalone +std +std.9600 +sy +syslog +syslog.conf +syslogd +systat +tabset +tape?'Usage +tapename +tartape +tcp +te16 +telnetd +tftpd +time.h +tm0 +tm03 +tm11 +tm78 +tmac +tmboot +tmp +tmscp +tps +tr8 +tr9 +trpt +ts +ts0 +ts11 +tsboot +tt +tty00 +tty01 +tty07 +ttyDD +ttyd +ttyh +ttyi +ttyj +ttyp +ttyp0 +tu +tu0 +tu1 +tu80 +tunefs +type?'Usage +types.h +uba +uba0 +uba1 +uba2 +ucb +ucbarpa +ucbvax +uda +ufs +uipc +umem +umem0 +umem1 +umem2 +umount +un +undoc +up0 +up0a +up0g +up0h +up160 +up300 +up330 +up400 +up?g +up?h +usc +userid +username +usr.bin +usr.lib +usr:rw:1:2 +ut +ut0 +utboot +uucico +uucppublic +uudecode +uupoll +uuq +uusnap +uuxqt +varian +vax +vaxif +vaxmba +vaxuba +ventel +vipw +vm +vmunix +vt100 +vv +wildcard +xp +xpb +xpbf +xt0 +xtr +xx +xx0 +xx0a +xxS +xxx +y,z +yy +yymmddhhmm +yyy +zA diff --git a/doc/smm/01.setup/tahoe/vaxhints.t b/doc/smm/01.setup/tahoe/vaxhints.t new file mode 100644 index 00000000..8f111ee5 --- /dev/null +++ b/doc/smm/01.setup/tahoe/vaxhints.t @@ -0,0 +1,307 @@ +.\" Copyright (c) 1980,1986,1988 Regents of the University of California. +.\" All rights reserved. The Berkeley software License Agreement +.\" specifies the terms and conditions for redistribution. +.\" +.\" @(#)vaxhints.t 1.2 (Berkeley) 7/21/88 +.\" +.ds lq `` +.ds rq '' +.ds 4B 4.3BSD-tahoe +.nr Vx 1 \" VAX version +.ds Mc VAX +.ds mC vax +.ds Dk hp +.ds Dn RM80 +.ds Pa g +.ds Ps 4.3BSD +.bd S B 3 +.TL +Hints on Upgrading a 4.3BSD VAX System to 4.3BSD-Tahoe +.br +July 14, 1988 +.AU +Michael J. Karels +.AI +Computer Systems Research Group +Department of Electrical Engineering and Computer Science +University of California, Berkeley +Berkeley, California 94720 +(415) 642-7780 +.de IR +\\fI\\$1\|\\fP\\$2 +.. +.de UX +UNIX\\$1 +.. +.PP +This set of notes is extracted from +\fIInstalling and Operating \*(4B UNIX* on the VAX.\(dg\fP +.FS +*\s-2UNIX\s0 is a register trademark of AT&T in the USA and other countries. +.FE +.FS +\(dgDEC, VAX, IDC, SBI, UNIBUS and MASSBUS are trademarks of +Digital Equipment Corporation. +.FE +It is intended to highlight changes in \*(4B +that will affect installation on existing VAX systems, +and to point out areas of the documentation that should be examined +before installing this system. +It is \fInot\fP intended to substitute for the standard documentation, +but only to point out areas that have changed and that should be examined. +Not all of the documentation is provided in printed form, +but all of it is in the /usr/doc and /usr/src/man directories on +the distribution tape. +.PP +\fBNote that the \*(4B release contains only Tahoe filesystems and executable +images.\fP +The \*(4B distribution tape supplied by Berkeley +cannot be used to bootstrap a VAX without a running 4.2BSD or 4.3BSD system. +If you are not currently running 4.2BSD or 4.3BSD you will +have to do a full bootstrap using a 4.3BSD tape; +to install the \*(4B release, the new sources must then be loaded +and compiled. +It is possible to make a boot tape that can be used with additional machines +by extracting the sources in the distribution tape on a VAX, compiling, +and making a tape using the procedures described in Appendix A +of \fIInstalling and Operating \*(4B UNIX on the VAX.\fP +.PP +If you are running 4.2BSD or \*(Ps, upgrading your system +involves replacing your kernel and system utilities. +Binaries compiled under \*(Ps will work without recompilation +under \*(4B, though they may run faster if they are recompiled. +Binaries compiled under 4.2BSD will probably work without recompilation, +but it is a good idea to recompile and relink because of the many changes +in header files and libraries since 4.2BSD. +Conversion from 4.2BSD is probably done most easily by booting from a 4.3BSD +distribution tape, then using that system to load and compile the sources +from \*(4B. +Sites not running 4.3BSD should read +\fIInstalling and Operating 4.3BSD on the VAX\fP +as well as the \*(4B version of that document. +.PP +The easiest upgrade path from 4.2BSD or \*(Ps +(depending on your file system configuration) +is to build +new root and \fI/usr\fP file systems on unused partitions, +then copy or merge site specific files +into their corresponding files on the new system. +All user file systems can be retained unmodified, +except that the new \fIfsck\fP should be run +before they are mounted (see below). +If there is insufficient space to load the new root and \fI/usr\fP +filesystems before reusing the existing partitions, +it is \fBSTRONGLY\fP advised that you make full dumps of each filesystem +on magtape before beginning. +It is also desirable to run file system checks +of all filesystems to be converted to \*(4B before shutting down. +If you are running a system older than 4.2BSD, you will have to +dump and restore your file systems. +In either case, this is an excellent time to review your disk configuration +for possible tuning of the layout. +.PP +If converting from 4.2BSD or \*(Ps, your old +file systems must be converted. +The standard disk partitions in \*(4B are the same as those +in 4.2BSD and \*(Ps, +except for those on the DEC UDA50. +If you've modified the partition +sizes from the original BSD or CCI ones, and are not already using the +\*(4B disk labels, you will have to modify the default disk partion +tables in the kernel. Make the necessary table changes and boot +your custom kernel \fBBEFORE\fP trying to access any of your old +file systems! After doing this, if necessary, the remaining filesystems +may be converted in place by running the \*(4B version of +.IR fsck (8) +on each filesystem and allowing it to make the necessary corrections. +The new version of \fIfsck\fP is more +strict about the size of directories than the version supplied with 4.2BSD. +Thus the first time that it is run on a 4.2BSD file system, +it will produce messages of the form: +.DS +.if \n(Vx \{\ +\fBDIRECTORY ...: LENGTH\fP xx \fBNOT MULTIPLE OF 512 (ADJUSTED)\fP +.\} +.if \n(Th \{\ +\fBDIRECTORY ...: LENGTH\fP xx \fBNOT MULTIPLE OF 1024 (ADJUSTED)\fP +.\} +.DE +Length ``xx'' will be the size of the directory; +it will be expanded to the next multiple of +.if \n(Vx \{\ +512 +.\} +.if \n(Th \{\ +1024 +.\} +bytes. +The new \fIfsck\fP will also set default \fIinterleave\fP and +\fInpsect\fP (number of physical sectors per track) values on older +file systems, in which these fields were unused spares; this correction +will produce messages of the form: +.DS +\fBIMPOSSIBLE INTERLEAVE=0 IN SUPERBLOCK (SET TO DEFAULT)\fP* +\fBIMPOSSIBLE NPSECT=0 IN SUPERBLOCK (SET TO DEFAULT)\fP +.DE +.FS +* The defaults are to set \fIinterleave\fP to 1 and +\fInpsect\fP to \fInsect\fP; +.if \n(Vx \{\ +this is correct on many drives. +Notable exceptions are the RM80 and RA81, +where npsect should be set to +one more than nsect. +This affects only performance (and in the case +of the RA81, at least, virtually unmeasurably). +.\} +.if \n(Th \{\ +this is correct on all drives supported on the CCI. +.\} +.FE +File systems that have had their interleave and npsect values +set will be diagnosed by the old \fIfsck\fP as having a bad superblock; +the old \fIfsck\fP will run only if given an alternate superblock +.if \n(Vx \{\ +(\fIfsck \-b32\fP), +.\} +.if \n(Th \{\ +(\fIfsck \-b16\fP), +.\} +in which case it will re-zero these fields. +The \*(4B kernel will internally set these fields to their defaults +if fsck has not done so; again, the +.if \n(Vx \{\ +\fI\-b32\fP +.\} +.if \n(Th \{\ +\fI\-b16\fP +.\} +option may be +necessary for running the old \fIfsck\fP. +.PP +In addition, \*(4B removes several limits on file system sizes +that were present in both 4.2BSD and 4.3BSD. +The limited file systems +continue to work in \*(4B, but should be converted +as soon as it is convenient +by running \fIfsck\fP with the \fI\-c\fP option. +If no file systems have been so converted, +the sequence \fIfsck \-p \-c\fP will update all of them, +fix the interleave and npsect fields, +and fix any incorrect directory lengths +all at once. +The new unlimited file system formats are treated as read-only +by older systems. +A second \fIfsck \-c\fP, however, will +reconvert the new format to the old if none of the static limits +of the old file system format have been exceeded. +The new file systems are otherwise +compatible between 4.2BSD, \*(Ps, and \*(4B, +though running a \*(4B file system under older systems +may cause more of the above +messages to be generated the next time it is \fIfsck\fP'ed on \*(4B. +.NH 2 +Hints on converting from 4.3BSD to \*(4B +.PP +The largest visible change between 4.3BSD to \*(4B +(other than the addition of support for the Tahoe processor) +is the addition of support for disk labels. +This facility allows each disk or disk pack to contain all geometry +information about the disk and the partition layout for the disk. +Disk labels are supported on all disk types on the Tahoe machines, +and on hp and ra/rd disks on the VAX. +See +.IR disklabel (8) +and +.IR disklabel (5). +Installation of this facility requires use of the new kernel and device +drivers, bootstraps and other standalone programs, +/etc/disktab, +.if \n(Vx \{\ +.IR bad144 (8V), +.\} +.IR newfs (8), +and probably other programs. +.if \n(Vx \{\ +.PP +\*(4B includes support for the VAX 8200 and 8250, +with support for the KDB-50 disk controller on the VAX BI bus, +contributed by Chris Torek. +.PP +The bootstrap programs have been fixed to work on MicroVAX IIs +and VAXstation II's with QVSS (VS II) or QDSS (GPX) displays; +the kernel includes support for these displays, courtesy of Digital +Equipment Corp. +In order to install the bootstrap on RD52/53/54 disks with +.IR disklabel (8), +the new /etc/disktab must be used, +or the block 0 bootstrap must be explictly listed as /usr/mdec/rdboot +(\fInot\fP raboot). +.\} +.PP +The order in which daemons are started by /etc/rc and /etc/rc.local +has changed, and network initialization has been split into /etc/netstart. +Look at the prototype files, and modify /etc/rc.local as necessary. +.PP +\*(4B includes the Olson +timezone implementation, which uses timezone and daylight-savings-time +rules loaded from files in /etc/zoneinfo; see +.IR ctime (3) +and +.IR tzfile (5). +.PP +The type of the +.IR sprintf (3S) +function has been changed from \fIchar *\fP in 4.2BSD and 4.3BSD +to \fIint\fP as in the proposed ANSI C standard and in System V. +Programers are discouraged from using the return value from +.I sprintf +until this change is ubiquitous. +Fortunately, the previous return value from +.I sprintf +was essentially useless. +.PP +The ownership and modes of some directories have changed. +The \fIat\fP programs now run set-user-id ``root'' instead of ``daemon.'' +Also, the uucp directory no longer needs to be publicly writable, +as \fItip\fP reverts to privileged status to remove its lock files. +After copying your version of /usr/spool, you should do: +.DS +\fB#\fP \fIchown \-R root /usr/spool/at\fP +\fB#\fP \fIchown \-R uucp.daemon /usr/spool/uucp\fP +\fB#\fP \fIchmod \-R o\-w /usr/spool/uucp\fP +.DE +.PP +The MAKEHOSTS file has moved from /usr/hosts to /usr. +.PP +The source versions of the manual pages have been moved from +/usr/man/man[1-8] to /usr/src/man, /usr/src/new/man, and /usr/src/local/man. +Local manual pages should be moved into their respective source code +directories, or into /usr/src/local/man/man[1-8], and Makefiles changed to +install the formatted manual pages into /usr/local/man/cat[1-8]. The shell +script /usr/man/manroff calls nroff with the standard manual arguments. An +example of installing a manual page might be: +.DS +\fB#\fP \fI/usr/man/manroff example.2 > example.0\fP +\fB#\fP \fIinstall -o bin -g bin -m 444 example.0 /usr/local/man/cat2\fP +.DE +.PP +If you are using the name server, your \fIsendmail\fP configuration +file will need some minor updates to accommodate it. +See the ``Sendmail Installation and Operation Guide'' and the sample +\fIsendmail\fP configuration files in /usr/src/usr.lib/sendmail/cf. +The sendmail.cf's supplied with this release are alleged to be +``generic'', but have only really seen use at Berkeley. In particular +there are two points to watch out for. First, all host names in the +sendmail.cf itself must be fully qualified names. Second, the +sendmail.cf's assume you have a /usr/lib/sendmail that was compiled +with the resolver library (i.e., not hosttables). This is necessary +to canonicalize unqualified names into fully-qualified names (e.g., +foo -> foo.bar.com). Using these .cf files with a host table can +probably be done, but it will be difficult. +Be sure to regenerate your sendmail frozen configuration file after +installation of your updated configuration file with the command +\fI/usr/lib/sendmail -bz\fP. +The aliases file, +/usr/lib/aliases has also been changed to add certain well-known addresses. + diff --git a/doc/smm/23.qjchanges/0a.t b/doc/smm/23.qjchanges/0a.t new file mode 100644 index 00000000..6d5d9473 --- /dev/null +++ b/doc/smm/23.qjchanges/0a.t @@ -0,0 +1,77 @@ +.\" @(#)0a.t 6.2 (Berkeley) 12/4/03 +.\" +.sp +.SH +.ce +.LG +4.3BSD-Quasijarus0a changes +.SM +.sp +.IP \s+1\(bu\s0 +SCCS commands are now part of the standard system. +.IP \s+1\(bu\s0 +The MicroVAX bootblock has been added to the standard distribution tape. +Since it must reside at the beginning of the tape, +the original toggle-in bootstraps have been moved two blocks down. +.IP \s+1\(bu\s0 +Franz Lisp has been separated from the main system. +.IP \s+1\(bu\s0 +Jean-loup Gailly's +.I zlib +compression library (\-lz) has been included in the standard system. +.IP \s+1\(bu\s0 +.B \-s +option has been added to +.IR compress \|(1) +to use strong compression instead of the standard +.I compress +algorithm (also known as LZW). +.IP \s+1\(bu\s0 +Several new MSCP disks have been added to the distributed /etc/disktab +and to the compiled-in disk tables in the +.IR uda \|(4) +driver. +.IP \s+1\(bu\s0 +.IR Kdb \|(4) +driver now uses the same partitions as +.IR uda \|(4) +on the same disks. +.IP \s+1\(bu\s0 +The kernel and the standalone system have been taught that VAXBI KLESI +(TU81 controller) +is actually a UNIBUS adapter with a UNIBUS KLESI sitting behind it, +which DEC apparently doesn't want you to know, +instantly gaining full support for this device. +.IP \s+1\(bu\s0 +Added +.I Makefile +support for building a distribution console RL02 pack for VAX 8600 and 8650 +machines, +so that one can be supplied to sites cold-bootstrapping +.UX +on such a machine. +.IP \s+1\(bu\s0 +The protocol used by +.IR dmc \|(4) +and +.IR dmv \|(4) +drivers has been standardized to MTU of 1284 bytes, 8 garbage bytes present. +This is the protocol used 4.3BSD +.IR dmc \|(4) +and Ultrix +.IR dmc \|(4) +and +.IR dmv \|(4), +i.e., by all existing stable releases. +.IP \s+1\(bu\s0 +The ``mini root'' file system used in the full bootstrap procedure +has been increased from 2 to 3 megabytes. +.IP \s+1\(bu\s0 +The +.IR troff \|(1) +sources for the supplementary documents have been moved from +/usr/doc to /usr/src/doc. +.IP \s+1\(bu\s0 +The system headers are now copied rather than symlinked from /sys to +/usr/include by default, so that the system can still be used operationally, +including compiling user programs when the sources are not installed. diff --git a/doc/smm/23.qjchanges/0b.t b/doc/smm/23.qjchanges/0b.t new file mode 100644 index 00000000..057f5ca5 --- /dev/null +++ b/doc/smm/23.qjchanges/0b.t @@ -0,0 +1,78 @@ +.\" @(#)0b.t 6.2 (Berkeley) 12/4/03 +.\" +.sp +.SH +.ce +.LG +4.3BSD-Quasijarus0b changes +.SM +.sp +.IP \s+1\(bu\s0 +Y2K fixes throughout the system. +.IP \s+1\(bu\s0 +Fix for a critical bug in +.IR c2 , +the peephole optimiser, which +caused it under certain circumstances to throw out instructions loading +registers which were later used in deferred or indexed addressing modes. The +resulting misoptimised code thus dereferenced bogus addresses, dumping core or +even worse, behaving unpredictably. +Many other minor bugs have also been fixed in +.IR c2 . +Since all system binaries are compiled with +.B \-O +this potentially affects every binary in the system. +.IP \s+1\(bu\s0 +.IR As \|(1) +now automatically chooses between byte branches, word branches, and long jumps, +and ignores the +.B \-J +option. +It now also provides relaxed forms of SOB, AOB, and ACB instructions, +which are now used by +.IR c2 . +.IP \s+1\(bu\s0 +.IR Cc \|(1) +.B \-J +option causes +.I switch +tables to be generated in long form like on Sun3. +.IP \s+1\(bu\s0 +A number of tables have been enlarged in the C compiler and preprocessor. +.IP \s+1\(bu\s0 +When emulating CRC, MATCHC, and MOVTUC instructions on uVAXen the registers and +condition codes were being set incorrectly in some corner cases. +This has been fixed. +.IP \s+1\(bu\s0 +A security hole in kernel affecting VAX CPUs without PDP-11 compatibility mode +support (uVAXen and VAX 8200) has been plugged. +The hole allowed any ordinary unprivileged user who is able to run programs +on the machine to cause a kernel panic by giving PSL=1 to the +.IR sigreturn \|(2) +system call. +.IP \s+1\(bu\s0 +A kernel panic-causing bug in TCP has been fixed. +The kernel could panic if a +.IR setsockopt \|(2) +was attempted on a TCP socket that had its connection reset. +Fix from 4.4BSD. +.IP \s+1\(bu\s0 +Support for DEC DSV11 point-to-point links using Cisco HDLC protocol. +.IP \s+1\(bu\s0 +.I Sendmail +cf files: the prophecy has come true. +HOSTS.TXT is gone, everyone uses DNS, and there are +no more NIC-registered hosts to worry about. +.IP \s+1\(bu\s0 +Several new MSCP disks have been added to the distributed /etc/disktab +and to the compiled-in disk tables in the +.IR uda \|(4) +and +.IR kdb \|(4) +drivers. +.IP \s+1\(bu\s0 +The MicroVAX boot code no longer requires the boot disk to be unit 0. +It must still be on the first MSCP controller, though. +.IP \s+1\(bu\s0 +An RX50 console floppy is now available for the standard system to bootstrap +on a VAX 8200. diff --git a/doc/smm/23.qjchanges/Makefile b/doc/smm/23.qjchanges/Makefile new file mode 100644 index 00000000..478e091c --- /dev/null +++ b/doc/smm/23.qjchanges/Makefile @@ -0,0 +1,32 @@ +# +# Copyright (c) 1988 Regents of the University of California. +# All rights reserved. +# +# Redistribution and use in source and binary forms are permitted +# provided that the above copyright notice and this paragraph are +# duplicated in all such forms and that any documentation, +# advertising materials, and other materials related to such +# distribution and use acknowledge that the software was developed +# by the University of California, Berkeley. The name of the +# University may not be used to endorse or promote products derived +# from this software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. +# +# @(#)Makefile 6.1 (Berkeley) 12/4/03 +# +NROFF= nroff + +SRC= title.t 0a.t 0b.t + +qjchanges.txt: ${SRC} + ${NROFF} -ms ${SRC} | colcrt - > qjchanges.txt + +clean: + rm -f qjchanges.txt ?.t.spell errs Errs + +spell: ${SRC} + @for i in ${SRC}; do \ + echo $$i; spell $$i | sort | comm -23 - spell.ok > $$i.spell; \ + done diff --git a/doc/smm/23.qjchanges/title.t b/doc/smm/23.qjchanges/title.t new file mode 100644 index 00000000..d2a2687e --- /dev/null +++ b/doc/smm/23.qjchanges/title.t @@ -0,0 +1,35 @@ +.\" @(#)title.t 6.1 (Berkeley) 12/4/03 +.\" +.EH 'SMM:23-%''Bug Fixes and Changes in 4.3BSD-Quasijarus' +.OH 'Bug Fixes and Changes in 4.3BSD-Quasijarus''SMM:23-%' +.de IR +\fI\\$1\\|\fR\\$2\\fR\\fR +.. +.TL +Bug Fixes and Changes in 4.3BSD-Quasijarus +.sp +.de D? +.ie \\n(.$>1 \\$1 \\$2 \\$3 +.el DRAFT of \n(mo/\n(dy/\n(yr +.. +.D? December 4, 2003 +.AU +Michael Sokolov +.AI +Quasijarus Project +International Free Computing Task Force +http://ifctfvax.Harhan.ORG/Quasijarus/ +.AB +This document briefly describes the changes to the Berkeley version of +.UX +for the VAX\(dd +.FS +\(dd \s-2DEC\s0, \s-2VAX\s0, \s-2PDP\s0, \s-2MASSBUS\s0, \s-2UNIBUS\s0, +\s-2Q-bus\s0 and \s-2ULTRIX\s0 +are trademarks of Digital Equipment Corporation. +.FE +made by Quasijarus Project in each successive 4.3BSD-Quasijarus release +up to the present. +It attempts only to summarize the major changes that have been made. +There are many more minor changes. +.AE diff --git a/doc/usd/24.troff/m0a b/doc/usd/24.troff/m0a index 8f4dff81..0f8eb075 100644 --- a/doc/usd/24.troff/m0a +++ b/doc/usd/24.troff/m0a @@ -1,4 +1,4 @@ -.\" @(#)m0a 6.2 (Berkeley) 4/21/86 +.\" @(#)m0a 6.3 (Berkeley) 11/9/03 .\" .pn3 .br @@ -503,6 +503,7 @@ Reference Name Description .xx 3 \fB%\fR Current page number. 19 \fBc&\fR Number of \fIlines\fR read from current input file. +- \fBcn\fR Current year \(sl 100. 11.2 \fBct\fR Character type (set by \fIwidth\fR function). 7.4 \fBdl\fR Width (maximum) of last completed diversion. 7.4 \fBdn\fR Height (vertical size) of last completed diversion. diff --git a/etc/ftpd/ftpd.c b/etc/ftpd/ftpd.c index bfc99189..73f2e3be 100644 --- a/etc/ftpd/ftpd.c +++ b/etc/ftpd/ftpd.c @@ -22,7 +22,7 @@ char copyright[] = #endif /* not lint */ #ifndef lint -static char sccsid[] = "@(#)ftpd.c 5.13 (Berkeley) 7/13/99"; +static char sccsid[] = "@(#)ftpd.c 5.14 (Berkeley) 6/27/00"; #endif /* not lint */ /* @@ -57,7 +57,7 @@ static char sccsid[] = "@(#)ftpd.c 5.13 (Berkeley) 7/13/99"; */ #define FTPUSERS "/etc/ftpusers" -char version[] = "Version 5.13 July 13, 1999 22:47:46"; +char version[] = "Version 5.14 June 27, 2000 10:10:55"; extern int errno; extern char *sys_errlist[]; @@ -606,32 +606,32 @@ fatal(s) dologout(0); } -reply(n, s, p0, p1, p2, p3, p4) +reply(n, s, p0, p1, p2, p3, p4, p5) int n; char *s; { printf("%d ", n); - printf(s, p0, p1, p2, p3, p4); + printf(s, p0, p1, p2, p3, p4, p5); printf("\r\n"); (void) fflush(stdout); if (debug) { syslog(LOG_DEBUG, "<--- %d ", n); - syslog(LOG_DEBUG, s, p0, p1, p2, p3, p4); + syslog(LOG_DEBUG, s, p0, p1, p2, p3, p4, p5); } } -lreply(n, s, p0, p1, p2, p3, p4) +lreply(n, s, p0, p1, p2, p3, p4, p5) int n; char *s; { printf("%d-", n); - printf(s, p0, p1, p2, p3, p4); + printf(s, p0, p1, p2, p3, p4, p5); printf("\r\n"); (void) fflush(stdout); if (debug) { syslog(LOG_DEBUG, "<--- %d- ", n); - syslog(LOG_DEBUG, s, p0, p1, p2, p3, p4); + syslog(LOG_DEBUG, s, p0, p1, p2, p3, p4, p5); } } diff --git a/etc/talkd/Makefile b/etc/talkd/Makefile index 08ff2f3d..db78c9df 100644 --- a/etc/talkd/Makefile +++ b/etc/talkd/Makefile @@ -60,9 +60,9 @@ announce.o: /usr/include/syslog.h /usr/include/protocols/talkd.h announce.o: /usr/include/sys/types.h /usr/include/sys/socket.h process.o: process.c /usr/include/sys/types.h /usr/include/sys/stat.h process.o: /usr/include/stdio.h /usr/include/syslog.h /usr/include/netdb.h -process.o: /usr/include/netinet/in.h /usr/include/protocols/talkd.h -process.o: /usr/include/sys/types.h /usr/include/sys/socket.h -process.o: /usr/include/utmp.h +process.o: /usr/include/netinet/in.h /usr/include/arpa/inet.h +process.o: /usr/include/protocols/talkd.h /usr/include/sys/types.h +process.o: /usr/include/sys/socket.h /usr/include/utmp.h table.o: table.c /usr/include/stdio.h /usr/include/sys/time.h table.o: /usr/include/time.h /usr/include/syslog.h /usr/include/sys/param.h table.o: /usr/include/sys/types.h /usr/include/signal.h diff --git a/etc/talkd/process.c b/etc/talkd/process.c index a8710c84..20cf2e7e 100644 --- a/etc/talkd/process.c +++ b/etc/talkd/process.c @@ -16,7 +16,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)process.c 5.6 (Berkeley) 6/18/88"; +static char sccsid[] = "@(#)process.c 5.8 (Berkeley) 5/9/03"; #endif /* not lint */ /* @@ -33,6 +33,7 @@ static char sccsid[] = "@(#)process.c 5.6 (Berkeley) 6/18/88"; #include #include #include +#include #include @@ -116,6 +117,7 @@ do_announce(mp, rp) CTL_RESPONSE *rp; { struct hostent *hp; + char *remotehost; CTL_MSG *ptr; int result; @@ -128,14 +130,14 @@ do_announce(mp, rp) #define satosin(sa) ((struct sockaddr_in *)(sa)) hp = gethostbyaddr(&satosin(&mp->ctl_addr)->sin_addr, sizeof (struct in_addr), AF_INET); - if (hp == (struct hostent *)0) { - rp->answer = MACHINE_UNKNOWN; - return; - } + if (hp != (struct hostent *)0) + remotehost = hp->h_name; + else + remotehost = inet_ntoa(&satosin(&mp->ctl_addr)->sin_addr); ptr = find_request(mp); if (ptr == (CTL_MSG *) 0) { insert_table(mp, rp); - rp->answer = announce(mp, hp->h_name); + rp->answer = announce(mp, remotehost); return; } if (mp->id_num > ptr->id_num) { @@ -145,7 +147,7 @@ do_announce(mp, rp) */ ptr->id_num = new_id(); rp->id_num = htonl(ptr->id_num); - rp->answer = announce(mp, hp->h_name); + rp->answer = announce(mp, remotehost); } else { /* a duplicated request, so ignore it */ rp->id_num = htonl(ptr->id_num); diff --git a/etc/termcap/reorder b/etc/termcap/reorder index 623042c4..4ad51a0b 100644 --- a/etc/termcap/reorder +++ b/etc/termcap/reorder @@ -42,8 +42,6 @@ /|tvi920c|/;.,/^[^ ]/-m12 /|tvi925vb|/;.,/^[^ ]/-m12 /|tvi925|/;.,/^[^ ]/-m12 -/|vt100|/;.,/^[^ ]/-m12 -/|vt220|/;.,/^[^ ]/-m12 /|hp|/;.,/^[^ ]/-m12 /|2645|/;.,/^[^ ]/-m12 /|2621-nl|/;.,/^[^ ]/-m12 @@ -55,6 +53,9 @@ /|h19-e|/;.,/^[^ ]/-m12 /|h19-g|/;.,/^[^ ]/-m12 /|5620|/;.,/^[^ ]/-m12 +/|vt320|/;.,/^[^ ]/-m12 +/|vt220|/;.,/^[^ ]/-m12 +/|vt100|/;.,/^[^ ]/-m12 /^s/;.,/^#/-m12 w! termcap q diff --git a/etc/termcap/termcap.src b/etc/termcap/termcap.src index 9871959b..4d3e3841 100644 --- a/etc/termcap/termcap.src +++ b/etc/termcap/termcap.src @@ -1,6 +1,6 @@ # ------------------------ # -# Termcap source file @(#)termcap.src 5.38 (Berkeley) 6/14/88 +# Termcap source file @(#)termcap.src 5.40 (Berkeley) 3/22/03 # John Kunze, Berkeley # # Please mail changes to (arpanet): termcap@berkeley @@ -1843,28 +1843,58 @@ dP|pro350|decpro|dec pro console:\ :se=\E^N:so=\E^H:us=\E^D:ue=\E^C:\ :ae=\EG:as=\EF: # -# From: Bracy H. Elton -dl|vt200|vt220|vt200-js|vt220-js|dec vt200 series with jump scroll:\ +# From: Bracy H. Elton (modified by Michael Sokolov) +dl|vt200|vt220|vt200-am|vt220-am|DEC VT200 series:\ :im=\E[4h:ei=\E[4l:mi:dc=\E[P:dm=:ed=:al=\E[L:dl=\E[M:\ + :AL=\E[%dL:DL=\E[%dM:DC=\E[%dP:ec=\E[%dx:\ :cs=\E[%i%d;%dr:sf=\ED:sr=\EM:sb=\EM:\ :ce=\E[K:cl=\E[H\E[J:cd=\E[J:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\ - :so=\E[7m:se=\E[27m:us=\E[4m:ue=\E[24m:\ + :so=\E[7m:se=\E[27m:us=\E[4m:ue=\E[24m:ms:\ :md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:\ - :is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ - :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ + :is=\E<\E[62;1"p\E[4l\E[20l\E[?1l\E[?7h\E>\E[1,24r:\ + :rs=\E<\E[62;1"p\E[4l\E[20l\E[?1l\E[?3l\E[?7h\E>\E[1,24r\E[24,1H:\ + :kN=\E[6~:kP=\E[5~:\ :tc=vt100: -dm|vt200-ss|vt220-ss|dec vt200 series with smooth scroll:\ - :is=\E>\E[?3l\E[?4h\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ - :rs=\E>\E[?3l\E[?4h\E[?5l\E[?7h\E[?8h:\ +dm|vt200-nam|vt220-nam|DEC VT200 series, no am:\ + :am@:xn@:\ + :is=\E<\E[62;1"p\E[4l\E[20l\E[?1l\E[?7l\E>\E[1,24r:\ + :rs=\E<\E[62;1"p\E[4l\E[20l\E[?1l\E[?3l\E[?7l\E>\E[1,24r\E[24,1H:\ + :tc=vt200: +dn|vt200-w|vt220-w|vt200-w-am|vt220-w-am|DEC VT200 series, 132 col:\ + :co#132:\ + :rs=\E<\E[62;1"p\E[4l\E[20l\E[?1l\E[?3h\E[?7h\E>\E[1,24r\E[24,1H:\ + :tc=vt200: +do|vt200-w-nam|vt220-w-nam|DEC VT200 series, 132 col, no am:\ + :co#132:am@:xn@:\ + :is=\E<\E[62;1"p\E[4l\E[20l\E[?1l\E[?7l\E>\E[1,24r:\ + :rs=\E<\E[62;1"p\E[4l\E[20l\E[?1l\E[?3h\E[?7l\E>\E[1,24r\E[24,1H:\ :tc=vt200: -dn|vt200-w|vt220-w|vt200-wj|vt220-wj|dec vt200 series; 132 col.; jump scroll:\ - :is=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ - :rs=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h:\ - :co#132:tc=vt200: -do|vt200-ws|vt220-ws|dec vt200 series; 132 col.; smooth scroll:\ - :is=\E>\E[?3h\E[?4h\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H:\ - :rs=\E>\E[?3h\E[?4h\E[?5l\E[?7h\E[?8h:\ - :co#132:tc=vt200: +# VT300 series added by Michael Sokolov based on vt200 +dL|vt300|vt320|vt300-am|vt320-am|DEC VT300 series:\ + :im=\E[4h:ei=\E[4l:mi:dc=\E[P:dm=:ed=:al=\E[L:dl=\E[M:\ + :AL=\E[%dL:DL=\E[%dM:DC=\E[%dP:ec=\E[%dx:\ + :cs=\E[%i%d;%dr:sf=\ED:sr=\EM:sb=\EM:\ + :ce=\E[K:cl=\E[H\E[J:cd=\E[J:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\ + :so=\E[7m:se=\E[27m:us=\E[4m:ue=\E[24m:ms:\ + :md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:\ + :is=\E<\E[63;1"p\E[4l\E[20l\E[?1l\E[?7h\E>\E[1,24r:\ + :rs=\E<\E[63;1"p\E[4l\E[20l\E[?1l\E[?3l\E[?7h\E>\E[1,24r\E[24,1H:\ + :kN=\E[6~:kP=\E[5~:\ + :tc=vt100: +dM|vt300-nam|vt320-nam|DEC VT300 series, no am:\ + :am@:xn@:\ + :is=\E<\E[63;1"p\E[4l\E[20l\E[?1l\E[?7l\E>\E[1,24r:\ + :rs=\E<\E[63;1"p\E[4l\E[20l\E[?1l\E[?3l\E[?7l\E>\E[1,24r\E[24,1H:\ + :tc=vt300: +dN|vt300-w|vt320-w|vt300-w-am|vt320-w-am|DEC VT300 series, 132 col:\ + :co#132:\ + :rs=\E<\E[63;1"p\E[4l\E[20l\E[?1l\E[?3h\E[?7h\E>\E[1,24r\E[24,1H:\ + :tc=vt300: +dO|vt300-w-nam|vt320-w-nam|DEC VT300 series, 132 col, no am:\ + :co#132:am@:xn@:\ + :is=\E<\E[63;1"p\E[4l\E[20l\E[?1l\E[?7l\E>\E[1,24r:\ + :rs=\E<\E[63;1"p\E[4l\E[20l\E[?1l\E[?3h\E[?7l\E>\E[1,24r\E[24,1H:\ + :tc=vt300: # @(#)termcap X10/6.6 11/7/86, minus alternate screen, plus :cs vs|xterm|vs100|xterm terminal emulator (X window system):\ :do=^J:le=^H:ho=\E[H:\ diff --git a/etc/tzone/Makefile b/etc/tzone/Makefile index e238cdeb..6b791af5 100644 --- a/etc/tzone/Makefile +++ b/etc/tzone/Makefile @@ -3,7 +3,7 @@ # All rights reserved. The Berkeley software License Agreement # specifies the terms and conditions for redistribution. # -# @(#)Makefile 5.4 (Berkeley) 9/29/99 +# @(#)Makefile 5.5 (Berkeley) 5/23/01 # # If you want something other than Eastern United States time used on your @@ -11,7 +11,7 @@ # time zone files, or adding it to a time zone file). # Alternately, if you discover you've got the wrong time zone, you can just # zic -l rightzone -LOCALTIME= US/Central +LOCALTIME= US/Pacific # If you want code inspired by certain emerging standards, add # -DSTD_INSPIRED diff --git a/files.txt b/files.txt index 980e80ba..5e182ef5 100644 --- a/files.txt +++ b/files.txt @@ -1,5 +1,5 @@ -r--r--r-- 1 bin 10 4869 Jan 15 1999 Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin +drwxr-xr-x 2 bin 10 0 Dec 7 2003 bin drwxr-xr-x 2 bin 10 0 Jun 9 1999 bin/adb drwxr-xr-x 2 bin 10 0 Jun 10 1999 bin/adb/adb.tahoe -r--r--r-- 1 bin 10 4683 Feb 25 1986 bin/adb/adb.tahoe/access.c @@ -25,7 +25,7 @@ drwxr-xr-x 2 bin 10 0 Jun 10 1999 bin/adb/adb.tahoe -r--r--r-- 1 bin 10 5224 Feb 25 1986 bin/adb/adb.tahoe/runpcs.c -r--r--r-- 1 bin 10 8074 Feb 25 1986 bin/adb/adb.tahoe/setup.c -r--r--r-- 1 bin 10 2751 May 3 1987 bin/adb/adb.tahoe/sym.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/adb/adb.vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 bin/adb/adb.vax -r--r--r-- 1 bin 10 4594 Oct 13 1984 bin/adb/adb.vax/access.c -r--r--r-- 1 bin 10 4065 Oct 13 1984 bin/adb/adb.vax/command.c -r--r--r-- 1 bin 10 2650 Mar 26 1986 bin/adb/adb.vax/defs.h @@ -33,8 +33,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/adb/adb.vax -r--r--r-- 1 bin 10 5910 Jun 10 1999 bin/adb/adb.vax/format.c -r--r--r-- 1 bin 10 379 Aug 6 1984 bin/adb/adb.vax/head.h -r--r--r-- 1 bin 10 1129 Aug 11 1983 bin/adb/adb.vax/input.c --r--r--r-- 1 bin 10 14063 Oct 2 1999 bin/adb/adb.vax/Makefile --r--r--r-- 1 bin 10 15862 Jan 16 1987 bin/adb/adb.vax/instrs.adb +-r--r--r-- 1 bin 10 14086 Dec 5 2003 bin/adb/adb.vax/Makefile -r--r--r-- 1 bin 10 667 Sep 9 1985 bin/adb/adb.vax/mac.h -r--r--r-- 1 bin 10 854 Oct 27 1982 bin/adb/adb.vax/machine.h -r--r--r-- 1 bin 10 2163 Oct 27 1982 bin/adb/adb.vax/main.c @@ -177,8 +176,8 @@ drwxr-xr-x 2 bin 10 0 Jun 10 1999 bin/as/as.tahoe -rw-r--r-- 1 bin 10 13226 Jun 2 1987 bin/as/as.tahoe/instrs.as -r--r--r-- 1 bin 10 2590 Jun 2 1987 bin/as/as.tahoe/instrs.h -r--r--r-- 1 bin 10 6544 Jul 14 1988 bin/as/as.tahoe/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/as/as.vax -drwxr-xr-x 2 bin 10 0 Jan 17 1999 bin/as/as.vax/test.d +drwxr-xr-x 2 bin 10 0 Dec 7 2003 bin/as/as.vax +drwxr-xr-x 2 bin 10 0 Aug 30 2000 bin/as/as.vax/test.d -r--r--r-- 1 bin 10 546 Jul 1 1983 bin/as/as.vax/test.d/align.s -r--r--r-- 1 bin 10 65 Jun 6 1984 bin/as/as.vax/test.d/fill.s -r--r--r-- 1 bin 10 4513 Jul 1 1983 bin/as/as.vax/test.d/horton.c @@ -186,16 +185,16 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 bin/as/as.vax/test.d -r--r--r-- 1 bin 10 53 Jul 6 1983 bin/as/as.vax/test.d/t1.s -r--r--r-- 1 bin 10 53 Jul 6 1983 bin/as/as.vax/test.d/t2.s -r-xr-xr-x 1 bin 10 51 Jul 1 1983 bin/as/as.vax/:rofix --r--r--r-- 1 bin 10 15984 Jul 6 1985 bin/as/as.vax/as.h --r--r--r-- 1 bin 10 9730 Apr 24 1985 bin/as/as.vax/ascode.c +-r--r--r-- 1 bin 10 15925 Nov 9 2003 bin/as/as.vax/as.h +-r--r--r-- 1 bin 10 9686 Aug 31 2000 bin/as/as.vax/ascode.c -r--r--r-- 1 bin 10 11283 Oct 22 1987 bin/as/as.vax/asexpr.c -r--r--r-- 1 bin 10 2553 Apr 30 1985 bin/as/as.vax/asexpr.h -r--r--r-- 1 bin 10 2444 Jun 19 1985 bin/as/as.vax/asio.c --r--r--r-- 1 bin 10 14423 Dec 11 1987 bin/as/as.vax/asjxxx.c --r--r--r-- 1 bin 10 17064 Oct 22 1987 bin/as/as.vax/asmain.c +-r--r--r-- 1 bin 10 17918 Nov 9 2003 bin/as/as.vax/asjxxx.c +-r--r--r-- 1 bin 10 821 Aug 30 2000 bin/as/as.vax/aspseudo.c -r--r--r-- 1 bin 10 5335 Apr 30 1985 bin/as/as.vax/asnumber.h -r--r--r-- 1 bin 10 24819 Oct 22 1987 bin/as/as.vax/asparse.c --r--r--r-- 1 bin 10 707 Jun 19 1985 bin/as/as.vax/aspseudo.c +-r--r--r-- 1 bin 10 17024 Nov 9 2003 bin/as/as.vax/asmain.c -r--r--r-- 1 bin 10 3375 Apr 30 1985 bin/as/as.vax/asscan.h -r--r--r-- 1 bin 10 8117 Apr 30 1985 bin/as/as.vax/asscan1.c -r--r--r-- 1 bin 10 9985 Apr 30 1985 bin/as/as.vax/asscan2.c @@ -206,34 +205,16 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 bin/as/as.vax/test.d -r--r--r-- 1 bin 10 18351 Oct 22 1987 bin/as/as.vax/assyms.c -r--r--r-- 1 bin 10 3253 Apr 30 1985 bin/as/as.vax/assyms.h -r--r--r-- 1 bin 10 314 Apr 30 1985 bin/as/as.vax/astokfix.awk --r--r--r-- 1 bin 10 1371 Sep 8 1985 bin/as/as.vax/astoks.h -r--r--r-- 1 bin 10 3350 Apr 30 1985 bin/as/as.vax/astoks.H -r--r--r-- 1 bin 10 7267 Apr 30 1985 bin/as/as.vax/bignum1.c -r--r--r-- 1 bin 10 12105 Apr 30 1985 bin/as/as.vax/bignum2.c -r--r--r-- 1 bin 10 3935 Apr 30 1985 bin/as/as.vax/floattab.c --r--r--r-- 1 bin 10 23237 Apr 30 1985 bin/as/as.vax/instrs +-r--r--r-- 1 bin 10 23959 Sep 1 2000 bin/as/as.vax/instrs -r--r--r-- 1 bin 10 3940 Apr 30 1985 bin/as/as.vax/instrs.h --r--r--r-- 1 bin 10 7555 Oct 2 1999 bin/as/as.vax/Makefile +-r--r--r-- 1 bin 10 7574 Dec 5 2003 bin/as/as.vax/Makefile -r--r--r-- 1 bin 10 7636 Apr 30 1985 bin/as/as.vax/natof.c -r--r--r-- 1 bin 10 1063 Jul 9 1988 bin/as/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/awk --r--r--r-- 1 bin 10 3323 Dec 8 1984 bin/awk/awk.def --r--r--r-- 1 bin 10 8391 Sep 16 1987 bin/awk/awk.g.y --r--r--r-- 1 bin 10 5193 Dec 8 1984 bin/awk/awk.lx.l --r--r--r-- 1 bin 10 11531 Jul 7 1986 bin/awk/b.c --r--r--r-- 1 bin 10 2662 Jun 8 1982 bin/awk/EXPLAIN --r--r--r-- 1 bin 10 600 Aug 11 1983 bin/awk/freeze.c --r--r--r-- 1 bin 10 6628 Oct 6 1987 bin/awk/lib.c --r--r--r-- 1 bin 10 2395 Oct 6 1987 bin/awk/main.c --r--r--r-- 1 bin 10 1945 Oct 2 1999 bin/awk/Makefile --r--r--r-- 1 bin 10 2388 Aug 11 1983 bin/awk/parse.c --r--r--r-- 1 bin 10 2392 Dec 8 1984 bin/awk/proc.c --r--r--r-- 1 bin 10 2974 Jun 8 1982 bin/awk/README --r--r--r-- 1 bin 10 15178 Mar 29 1988 bin/awk/run.c --r--r--r-- 1 bin 10 15094 Jun 8 1982 bin/awk/test.a --r--r--r-- 1 bin 10 1305 Oct 2 1999 bin/awk/token.c --r--r--r-- 1 bin 10 120 May 15 1986 bin/awk/tokenscript --r--r--r-- 1 bin 10 5759 Oct 22 1987 bin/awk/tran.c +drwxr-xr-x 2 bin 10 0 Dec 7 2003 bin/awk drwxr-xr-x 2 bin 10 0 Aug 26 1999 bin/awk/test -r--r--r-- 1 bin 10 81 Sep 27 1979 bin/awk/test/t.aeiouy -r-xr-xr-x 1 bin 10 165 Oct 10 1979 bin/awk/test/Compare @@ -341,13 +322,30 @@ drwxr-xr-x 2 bin 10 0 Aug 26 1999 bin/awk/test -r--r--r-- 1 bin 10 36 Sep 27 1979 bin/awk/test/t.vf3 -r--r--r-- 1 bin 10 1429 Apr 6 1980 bin/awk/test/test.data -r-xr-xr-x 1 bin 10 27 Sep 27 1979 bin/awk/test/testall -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/cpio +-r--r--r-- 1 bin 10 3323 Dec 8 1984 bin/awk/awk.def +-r--r--r-- 1 bin 10 8391 Sep 16 1987 bin/awk/awk.g.y +-r--r--r-- 1 bin 10 5193 Dec 8 1984 bin/awk/awk.lx.l +-r--r--r-- 1 bin 10 11531 Jul 7 1986 bin/awk/b.c +-r--r--r-- 1 bin 10 2662 Jun 8 1982 bin/awk/EXPLAIN +-r--r--r-- 1 bin 10 600 Aug 11 1983 bin/awk/freeze.c +-r--r--r-- 1 bin 10 6628 Oct 6 1987 bin/awk/lib.c +-r--r--r-- 1 bin 10 2395 Oct 6 1987 bin/awk/main.c +-r--r--r-- 1 bin 10 1945 Dec 5 2003 bin/awk/Makefile +-r--r--r-- 1 bin 10 2388 Aug 11 1983 bin/awk/parse.c +-r--r--r-- 1 bin 10 2392 Dec 8 1984 bin/awk/proc.c +-r--r--r-- 1 bin 10 2974 Jun 8 1982 bin/awk/README +-r--r--r-- 1 bin 10 15178 Mar 29 1988 bin/awk/run.c +-r--r--r-- 1 bin 10 15094 Jun 8 1982 bin/awk/test.a +-r--r--r-- 1 bin 10 1305 Dec 5 2003 bin/awk/token.c +-r--r--r-- 1 bin 10 120 May 15 1986 bin/awk/tokenscript +-r--r--r-- 1 bin 10 5759 Oct 22 1987 bin/awk/tran.c +drwxr-xr-x 2 bin 10 0 Dec 5 2003 bin/cpio +-r--r--r-- 1 bin 10 1774 Dec 5 2003 bin/cpio/Makefile -r--r--r-- 1 bin 10 31177 Mar 29 1988 bin/cpio/cpio.c --r--r--r-- 1 bin 10 1774 Oct 2 1999 bin/cpio/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/csh +drwxr-xr-x 2 bin 10 0 Dec 7 2003 bin/csh -r--r--r-- 1 bin 10 9761 May 3 1988 bin/csh/alloc.c -r--r--r-- 1 bin 10 16040 Jun 18 1988 bin/csh/doprnt.c --r--r--r-- 1 bin 10 11999 Oct 2 1999 bin/csh/Makefile +-r--r--r-- 1 bin 10 11999 Dec 5 2003 bin/csh/Makefile -r--r--r-- 1 bin 10 9635 May 3 1988 bin/csh/sh.dir.c -r--r--r-- 1 bin 10 1346 Jun 6 1988 bin/csh/sh.char.h -r--r--r-- 1 bin 10 3039 Jan 20 1988 bin/csh/sh.proc.h @@ -373,14 +371,14 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/csh -r--r--r-- 1 bin 10 9308 Jan 20 1988 bin/csh/sh.sem.c -r--r--r-- 1 bin 10 12103 May 19 1988 bin/csh/sh.set.c -r--r--r-- 1 bin 10 3816 May 19 1988 bin/csh/sh.time.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/diff +drwxr-xr-x 2 bin 10 0 Dec 7 2003 bin/diff -r--r--r-- 1 bin 10 3162 Apr 3 1986 bin/diff/diff.c -r--r--r-- 1 bin 10 1982 Aug 16 1985 bin/diff/diff.h -r--r--r-- 1 bin 10 8159 Oct 22 1987 bin/diff/diffdir.c -r--r--r-- 1 bin 10 4217 Nov 26 1985 bin/diff/diffh.c -r--r--r-- 1 bin 10 24247 Oct 22 1987 bin/diff/diffreg.c --r--r--r-- 1 bin 10 2342 Oct 2 1999 bin/diff/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/make +-r--r--r-- 1 bin 10 2342 Dec 5 2003 bin/diff/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 bin/make -r--r--r-- 1 bin 10 2259 Mar 21 1986 bin/make/defs -r--r--r-- 1 bin 10 7093 Jun 18 1987 bin/make/doname.c -r--r--r-- 1 bin 10 2753 Nov 15 1987 bin/make/dosys.c @@ -389,17 +387,17 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/make -r--r--r-- 1 bin 10 5120 Oct 22 1987 bin/make/gram.y -r--r--r-- 1 bin 10 3723 Jun 8 1982 bin/make/ident.c -r--r--r-- 1 bin 10 7266 Nov 15 1987 bin/make/main.c --r--r--r-- 1 bin 10 2876 Oct 2 1999 bin/make/Makefile +-r--r--r-- 1 bin 10 2876 Dec 5 2003 bin/make/Makefile -r--r--r-- 1 bin 10 4639 Oct 22 1987 bin/make/misc.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/passwd --r--r--r-- 1 bin 10 1210 Oct 2 1999 bin/passwd/Makefile +drwxr-xr-x 2 bin 10 0 Dec 5 2003 bin/passwd +-r--r--r-- 1 bin 10 1210 Dec 5 2003 bin/passwd/Makefile -r--r--r-- 1 bin 10 15398 Jan 21 1988 bin/passwd/passwd.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/sed --r--r--r-- 1 bin 10 989 Oct 2 1999 bin/sed/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 bin/sed +-r--r--r-- 1 bin 10 989 Dec 5 2003 bin/sed/Makefile -r--r--r-- 1 bin 10 2240 Dec 21 1987 bin/sed/sed.h -r--r--r-- 1 bin 10 15621 Dec 21 1987 bin/sed/sed0.c -r--r--r-- 1 bin 10 10607 Apr 19 1988 bin/sed/sed1.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/sh +drwxr-xr-x 2 bin 10 0 Dec 7 2003 bin/sh -r--r--r-- 1 bin 10 2276 Apr 24 1988 bin/sh/args.c -r--r--r-- 1 bin 10 2042 Aug 11 1983 bin/sh/blok.c -r--r--r-- 1 bin 10 73 Jun 8 1982 bin/sh/brkincr.h @@ -416,7 +414,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/sh -r--r--r-- 1 bin 10 878 Oct 26 1987 bin/sh/mac.h -r--r--r-- 1 bin 10 4157 Apr 24 1988 bin/sh/macro.c -r--r--r-- 1 bin 10 3244 Oct 31 1985 bin/sh/main.c --r--r--r-- 1 bin 10 3401 Oct 2 1999 bin/sh/Makefile +-r--r--r-- 1 bin 10 3401 Dec 5 2003 bin/sh/Makefile -r--r--r-- 1 bin 10 3497 Apr 24 1988 bin/sh/mode.h -r--r--r-- 1 bin 10 3159 Jan 11 1987 bin/sh/msg.c -r--r--r-- 1 bin 10 4852 Mar 22 1987 bin/sh/name.c @@ -431,21 +429,21 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/sh -r--r--r-- 1 bin 10 128 Jun 8 1982 bin/sh/timeout.h -r--r--r-- 1 bin 10 2603 Apr 24 1988 bin/sh/word.c -r--r--r-- 1 bin 10 8893 Apr 24 1988 bin/sh/xec.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/tp --r--r--r-- 1 bin 10 1071 Oct 2 1999 bin/tp/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 bin/tp +-r--r--r-- 1 bin 10 1071 Dec 5 2003 bin/tp/Makefile -r--r--r-- 1 bin 10 1511 Jun 28 1984 bin/tp/tp.h -r--r--r-- 1 bin 10 107 Dec 18 1982 bin/tp/tp0.c -r--r--r-- 1 bin 10 2961 Jun 28 1984 bin/tp/tp1.c -r--r--r-- 1 bin 10 6735 Dec 18 1982 bin/tp/tp2.c -r--r--r-- 1 bin 10 4762 Dec 18 1982 bin/tp/tp3.c -r--r--r-- 1 bin 10 173 Dec 18 1982 bin/tp/tp_defs.h +-r--r--r-- 1 bin 10 8538 Dec 15 1999 bin/date.c -r--r--r-- 1 bin 10 12463 Nov 3 1987 bin/ar.c -r--r--r-- 1 bin 10 4110 Apr 24 1988 bin/cat.c --r--r--r-- 1 bin 10 8060 Oct 22 1987 bin/cc.c +-r--r--r-- 1 bin 10 8170 Aug 30 2000 bin/cc.c -r--r--r-- 1 bin 10 4075 Apr 21 1988 bin/chmod.c -r--r--r-- 1 bin 10 5799 Jun 18 1988 bin/cmp.c -r--r--r-- 1 bin 10 4863 Dec 2 1986 bin/cp.c --r--r--r-- 1 bin 10 8390 Apr 6 1987 bin/date.c -r--r--r-- 1 bin 10 10829 Jun 1 1988 bin/dd.c -r--r--r-- 1 bin 10 4342 Jan 10 1988 bin/df.c -r--r--r-- 1 bin 10 2900 Oct 22 1987 bin/du.c @@ -461,7 +459,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 bin/tp -r--r--r-- 1 bin 10 12988 Oct 1 1987 bin/login.c -r--r--r-- 1 bin 10 13638 Oct 22 1987 bin/ls.c -r--r--r-- 1 bin 10 1132 Jun 18 1988 bin/machine.c --r--r--r-- 1 bin 10 14434 Oct 2 1999 bin/Makefile +-r--r--r-- 1 bin 10 14434 Dec 5 2003 bin/Makefile -r--r--r-- 1 bin 10 1364 Jun 18 1988 bin/mkdir.c -r--r--r-- 1 bin 10 4126 Oct 13 1986 bin/mt.c -r--r--r-- 1 bin 10 5627 Apr 21 1988 bin/mv.c @@ -526,7 +524,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 cci/pt -r--r--r-- 1 bin 10 11949 Jul 2 1986 cci/enpcode -r--r--r-- 1 bin 10 5285 Jul 2 1986 cci/enpload.c -r--r--r-- 1 bin 10 82757 Jul 2 1986 cci/fsdb.c -drwxr-xr-x 2 bin 10 0 Oct 10 1999 doc +drwxr-xr-x 2 bin 10 0 Sep 26 1999 doc drwxr-xr-x 2 bin 10 0 Sep 26 1999 doc/misc drwxr-xr-x 2 bin 10 0 Jan 17 1999 doc/misc/berknet -r--r--r-- 1 bin 10 796 Jun 8 1979 doc/misc/berknet/coverpage.n @@ -629,11 +627,6 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 doc/misc/uchanges.4.2 -r--r--r-- 1 bin 10 1556 Sep 12 1983 doc/misc/uchanges.4.2/7.t -r--r--r-- 1 bin 10 831 Jul 30 1983 doc/misc/uchanges.4.2/8.t -r--r--r-- 1 bin 10 11518 Aug 2 1983 doc/misc/uchanges.4.2/9.t --rw-r--r-- 1 bin 10 25326 Mar 26 1985 doc/misc/comments.t --r--r--r-- 1 bin 10 73822 Jun 18 1983 doc/misc/kchanges.4.1 --r--r--r-- 1 bin 10 15478 Apr 14 1986 doc/misc/regen --r--r--r-- 1 bin 10 32162 Feb 12 1983 doc/misc/uchanges.4.1 --r--r--r-- 1 bin 10 34938 Feb 12 1983 doc/misc/ukchanges.4.0 drwxr-xr-x 2 bin 10 0 Sep 24 1999 doc/misc/kerntune -r--r--r-- 1 bin 10 496 Sep 24 1999 doc/misc/kerntune/Makefile -r--r--r-- 1 bin 10 2031 Sep 24 1999 doc/misc/kerntune/0.t @@ -648,6 +641,11 @@ drwxr-xr-x 2 bin 10 0 Sep 26 1999 doc/misc/kernmalloc -r--r--r-- 1 bin 10 2304 Sep 26 1999 doc/misc/kernmalloc/alloc.fig -r--r--r-- 1 bin 10 26411 Sep 26 1999 doc/misc/kernmalloc/kernmalloc.t -r--r--r-- 1 bin 10 661 Sep 26 1999 doc/misc/kernmalloc/usage.tbl +-rw-r--r-- 1 bin 10 25326 Mar 26 1985 doc/misc/comments.t +-r--r--r-- 1 bin 10 73822 Jun 18 1983 doc/misc/kchanges.4.1 +-r--r--r-- 1 bin 10 15478 Apr 14 1986 doc/misc/regen +-r--r--r-- 1 bin 10 32162 Feb 12 1983 doc/misc/uchanges.4.1 +-r--r--r-- 1 bin 10 34938 Feb 12 1983 doc/misc/ukchanges.4.0 drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/ps1 drwxr-xr-x 2 bin 10 0 Sep 17 1999 doc/ps1/01.Clang -r--r--r-- 1 bin 10 98641 Sep 16 1999 doc/ps1/01.Clang/Clang.ms @@ -809,7 +807,7 @@ drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/ps1/16.lex drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/ps1/17.m4 -r--r--r-- 1 bin 10 18393 May 7 1986 doc/ps1/17.m4/m4.ms -r--r--r-- 1 bin 10 596 May 7 1986 doc/ps1/17.m4/Makefile -drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/ps1/18.curses +drwxr-xr-x 2 bin 10 0 Mar 29 2003 doc/ps1/18.curses -r--r--r-- 1 bin 10 4047 Apr 23 1986 doc/ps1/18.curses/appen.A -r--r--r-- 1 bin 10 3630 Apr 23 1986 doc/ps1/18.curses/appen.B -r--r--r-- 1 bin 10 2473 Apr 23 1986 doc/ps1/18.curses/appen.C @@ -908,14 +906,10 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 doc/run -r--r--r-- 1 bin 10 615 May 29 1986 doc/run/Ind.ic -r--r--r-- 1 bin 10 7981 May 29 1986 doc/run/REFS -r--r--r-- 1 bin 10 13819 May 29 1986 doc/run/tmac.sU -drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/smm -drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/smm/01.setup -drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/smm/01.setup/common --r--r--r-- 1 bin 10 27726 Jul 21 1988 doc/smm/01.setup/common/3.t --r--r--r-- 1 bin 10 46887 Jul 21 1988 doc/smm/01.setup/common/4.t --r--r--r-- 1 bin 10 24333 Jul 17 1988 doc/smm/01.setup/common/5.t --r--r--r-- 1 bin 10 21747 Jul 17 1988 doc/smm/01.setup/common/6.t -drwxr-xr-x 2 bin 10 0 Sep 23 1999 doc/smm/01.setup/tahoe +drwxr-xr-x 2 bin 10 0 Dec 4 2003 doc/smm +drwxr-xr-x 2 bin 10 0 Dec 5 2003 doc/smm/01.setup +-r--r--r-- 1 bin 10 2092 Nov 19 2003 doc/smm/01.setup/0.t +drwxr-xr-x 2 bin 10 0 Nov 17 2003 doc/smm/01.setup/tahoe -r--r--r-- 1 bin 10 1868 Jul 17 1988 doc/smm/01.setup/tahoe/0.t -r--r--r-- 1 bin 10 14512 Jul 17 1988 doc/smm/01.setup/tahoe/1.t -r--r--r-- 1 bin 10 20846 Sep 23 1999 doc/smm/01.setup/tahoe/2.t @@ -923,17 +917,18 @@ drwxr-xr-x 2 bin 10 0 Sep 23 1999 doc/smm/01.setup/tahoe -r--r--r-- 1 bin 10 4134 Jul 17 1988 doc/smm/01.setup/tahoe/b.t -r--r--r-- 1 bin 10 1316 Jul 17 1988 doc/smm/01.setup/tahoe/Makefile -rw-r--r-- 1 bin 10 4719 Dec 26 1986 doc/smm/01.setup/tahoe/tip.record -drwxr-xr-x 2 bin 10 0 Jan 17 1999 doc/smm/01.setup/vax --r--r--r-- 1 bin 10 1969 Jul 16 1988 doc/smm/01.setup/vax/0.t --r--r--r-- 1 bin 10 16036 Jul 16 1988 doc/smm/01.setup/vax/1.t --r--r--r-- 1 bin 10 32024 Jul 16 1988 doc/smm/01.setup/vax/2.t --r--r--r-- 1 bin 10 10634 Jul 16 1988 doc/smm/01.setup/vax/a.t --r--r--r-- 1 bin 10 8153 Jul 16 1988 doc/smm/01.setup/vax/b.t --r--r--r-- 1 bin 10 8484 Jul 16 1988 doc/smm/01.setup/vax/c.t --r--r--r-- 1 bin 10 1443 Jul 16 1988 doc/smm/01.setup/vax/Makefile --rw-r--r-- 1 bin 10 4333 Oct 10 1986 doc/smm/01.setup/vax/spell.ok --r--r--r-- 1 bin 10 11581 Jul 21 1988 doc/smm/01.setup/vax/vaxhints.t --r--r--r-- 1 bin 10 979 Jul 21 1988 doc/smm/01.setup/Makefile +-r--r--r-- 1 bin 10 11581 Jul 21 1988 doc/smm/01.setup/tahoe/vaxhints.t +-r--r--r-- 1 bin 10 33936 Nov 19 2003 doc/smm/01.setup/2.t +-r--r--r-- 1 bin 10 1343 Nov 19 2003 doc/smm/01.setup/Makefile +-r--r--r-- 1 bin 10 16592 Nov 25 2003 doc/smm/01.setup/1.t +-r--r--r-- 1 bin 10 22626 Nov 19 2003 doc/smm/01.setup/6.t +-r--r--r-- 1 bin 10 47042 Nov 19 2003 doc/smm/01.setup/4.t +-r--r--r-- 1 bin 10 27094 Nov 19 2003 doc/smm/01.setup/3.t +-r--r--r-- 1 bin 10 24405 Nov 19 2003 doc/smm/01.setup/5.t +-r--r--r-- 1 bin 10 8350 Dec 7 2003 doc/smm/01.setup/a.t +-r--r--r-- 1 bin 10 8967 Nov 19 2003 doc/smm/01.setup/b.t +-r--r--r-- 1 bin 10 8485 Nov 19 2003 doc/smm/01.setup/c.t +-rw-r--r-- 1 bin 10 4333 Oct 10 1986 doc/smm/01.setup/spell.ok drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/smm/02.config -r--r--r-- 1 bin 10 1544 Jun 3 1986 doc/smm/02.config/0.t -r--r--r-- 1 bin 10 1227 Jun 3 1986 doc/smm/02.config/1.t @@ -974,8 +969,8 @@ drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/smm/06.lpd -r--r--r-- 1 bin 10 681 Apr 17 1986 doc/smm/06.lpd/Makefile -r--r--r-- 1 bin 10 422 Apr 17 1986 doc/smm/06.lpd/spell.ok drwxr-xr-x 2 bin 10 0 Sep 23 1999 doc/smm/07.sendmailop --r--r--r-- 1 bin 10 595 May 2 1986 doc/smm/07.sendmailop/Makefile -r--r--r-- 1 bin 10 90623 Sep 23 1999 doc/smm/07.sendmailop/op.me +-r--r--r-- 1 bin 10 595 May 2 1986 doc/smm/07.sendmailop/Makefile -r--r--r-- 1 bin 10 1920 May 2 1986 doc/smm/07.sendmailop/spell.ok drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/smm/08.timedop -r--r--r-- 1 bin 10 600 May 23 1986 doc/smm/08.timedop/Makefile @@ -1096,8 +1091,13 @@ drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/smm/22.timed -r--r--r-- 1 bin 10 450 May 29 1986 doc/smm/22.timed/time -r--r--r-- 1 bin 10 13220 Jun 4 1986 doc/smm/22.timed/timed.ms -r--r--r-- 1 bin 10 425 May 29 1986 doc/smm/22.timed/unused --r--r--r-- 1 bin 10 3928 Jun 3 1986 doc/smm/00.contents +-r--r--r-- 1 bin 10 4130 Dec 4 2003 doc/smm/00.contents -r--r--r-- 1 bin 10 2760 Jun 3 1986 doc/smm/Title +drwxr-xr-x 2 bin 10 0 Dec 5 2003 doc/smm/23.qjchanges +-r--r--r-- 1 bin 10 914 Dec 4 2003 doc/smm/23.qjchanges/title.t +-r--r--r-- 1 bin 10 1112 Dec 4 2003 doc/smm/23.qjchanges/Makefile +-r--r--r-- 1 bin 10 2182 Dec 4 2003 doc/smm/23.qjchanges/0a.t +-r--r--r-- 1 bin 10 2448 Dec 4 2003 doc/smm/23.qjchanges/0b.t drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/usd drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/usd/01.begin -r--r--r-- 1 bin 10 684 May 22 1986 doc/usd/01.begin/u.mac @@ -1126,13 +1126,13 @@ drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/usd/03.shell -r--r--r-- 1 bin 10 20301 May 22 1986 doc/usd/03.shell/t3 -r--r--r-- 1 bin 10 2539 May 22 1986 doc/usd/03.shell/t4 drwxr-xr-x 2 bin 10 0 Sep 24 1999 doc/usd/04.csh +-r--r--r-- 1 bin 10 2029 Sep 24 1999 doc/usd/04.csh/csh.a -r--r--r-- 1 bin 10 30138 May 23 1986 doc/usd/04.csh/csh.1 -r--r--r-- 1 bin 10 36995 May 23 1986 doc/usd/04.csh/csh.2 -r--r--r-- 1 bin 10 15446 May 23 1986 doc/usd/04.csh/csh.3 -r--r--r-- 1 bin 10 4095 May 23 1986 doc/usd/04.csh/csh.4 -r--r--r-- 1 bin 10 41865 May 23 1986 doc/usd/04.csh/csh.g -r--r--r-- 1 bin 10 300 May 23 1986 doc/usd/04.csh/tabs --r--r--r-- 1 bin 10 2029 Sep 24 1999 doc/usd/04.csh/csh.a drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/usd/05.dc -r--r--r-- 1 bin 10 23948 May 22 1986 doc/usd/05.dc/dc drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/usd/06.bc @@ -1302,19 +1302,19 @@ drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/usd/20.msmacros -r--r--r-- 1 bin 10 20971 May 22 1986 doc/usd/20.msmacros/ms -r--r--r-- 1 bin 10 19393 May 22 1986 doc/usd/20.msmacros/refcard drwxr-xr-x 2 bin 10 0 Sep 24 1999 doc/usd/21.msdiffs --r--r--r-- 1 bin 10 9516 Jun 2 1986 doc/usd/21.msdiffs/ms.diffs -r--r--r-- 1 bin 10 599 Sep 24 1999 doc/usd/21.msdiffs/Makefile +-r--r--r-- 1 bin 10 9516 Jun 2 1986 doc/usd/21.msdiffs/ms.diffs drwxr-xr-x 2 bin 10 0 Sep 24 1999 doc/usd/22.memacros -r--r--r-- 1 bin 10 42055 Apr 17 1986 doc/usd/22.memacros/intro.me -r--r--r-- 1 bin 10 580 Apr 17 1986 doc/usd/22.memacros/Makefile drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/usd/23.meref -r--r--r-- 1 bin 10 568 Apr 16 1986 doc/usd/23.meref/Makefile -r--r--r-- 1 bin 10 39435 Apr 17 1986 doc/usd/23.meref/ref.me -drwxr-xr-x 2 bin 10 0 Sep 16 1999 doc/usd/24.troff +drwxr-xr-x 2 bin 10 0 Nov 10 2003 doc/usd/24.troff -r--r--r-- 1 bin 10 2621 Apr 17 1986 doc/usd/24.troff/add -r--r--r-- 1 bin 10 2629 Apr 18 1986 doc/usd/24.troff/m.mac -r--r--r-- 1 bin 10 6794 Apr 17 1986 doc/usd/24.troff/m0 --r--r--r-- 1 bin 10 15030 Apr 21 1986 doc/usd/24.troff/m0a +-r--r--r-- 1 bin 10 15064 Nov 10 2003 doc/usd/24.troff/m0a -r--r--r-- 1 bin 10 25752 Apr 17 1986 doc/usd/24.troff/m1 -r--r--r-- 1 bin 10 14178 Apr 21 1986 doc/usd/24.troff/m2 -r--r--r-- 1 bin 10 16816 Apr 17 1986 doc/usd/24.troff/m3 @@ -1420,19 +1420,19 @@ drwxr-xr-x 2 bin 10 0 Aug 26 1999 doc/index/src -r--r--r-- 1 bin 10 1652271 Sep 5 1987 doc/index/index.merged -r--r--r-- 1 bin 10 65 Sep 5 1987 doc/index/print.sh -r--r--r-- 1 bin 10 689962 Sep 5 1987 doc/index/index.version6.reduced.troffinput -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/config +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/config -r--r--r-- 1 bin 10 4075 Jun 18 1988 etc/config/config.h -r--r--r-- 1 bin 10 3475 Jun 18 1988 etc/config/config.l -r--r--r-- 1 bin 10 18513 Jun 18 1988 etc/config/config.y -r--r--r-- 1 bin 10 3705 Jun 18 1988 etc/config/main.c --r--r--r-- 1 bin 10 2614 Oct 2 1999 etc/config/Makefile +-r--r--r-- 1 bin 10 2614 Dec 5 2003 etc/config/Makefile -r--r--r-- 1 bin 10 7309 Jun 18 1988 etc/config/mkglue.c -r--r--r-- 1 bin 10 4002 Jun 18 1988 etc/config/mkheaders.c -r--r--r-- 1 bin 10 13366 Jun 18 1988 etc/config/mkioconf.c -r--r--r-- 1 bin 10 14779 Jun 18 1988 etc/config/mkmakefile.c -r--r--r-- 1 bin 10 4930 Jun 18 1988 etc/config/mkswapconf.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/dump +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/dump -r--r--r-- 1 bin 10 3827 Feb 23 1987 etc/dump/dump.h -r--r--r-- 1 bin 10 5413 May 28 1986 etc/dump/dumpitime.c -r--r--r-- 1 bin 10 8531 Feb 23 1987 etc/dump/dumpmain.c @@ -1440,7 +1440,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/dump -r--r--r-- 1 bin 10 3993 Oct 22 1987 etc/dump/dumprmt.c -r--r--r-- 1 bin 10 11904 Feb 23 1987 etc/dump/dumptape.c -r--r--r-- 1 bin 10 7374 Jul 14 1999 etc/dump/dumptraverse.c --r--r--r-- 1 bin 10 5820 Oct 2 1999 etc/dump/Makefile +-r--r--r-- 1 bin 10 5820 Dec 5 2003 etc/dump/Makefile -r--r--r-- 1 bin 10 2122 Jun 5 1985 etc/dump/unctime.c drwxr-xr-x 2 bin 10 0 Jul 14 1999 etc/etc.tahoe drwxr-xr-x 2 bin 10 0 Jul 14 1999 etc/etc.tahoe/dlmpcc @@ -1457,18 +1457,18 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 etc/etc.tahoe/dlmpcc/firmwa -r--r--r-- 1 bin 10 11949 Apr 29 1987 etc/etc.tahoe/enpcode -r--r--r-- 1 bin 10 2586 Jul 14 1999 etc/etc.tahoe/enpload.c -r--r--r-- 1 bin 10 1354 Jul 14 1988 etc/etc.tahoe/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/etc.vax +drwxr-xr-x 2 bin 10 0 Dec 5 2003 etc/etc.vax -r--r--r-- 1 bin 10 19077 Dec 26 1987 etc/etc.vax/arff.c -r--r--r-- 1 bin 10 15644 Jul 12 1988 etc/etc.vax/bad144.c -r--r--r-- 1 bin 10 3245 Jun 30 1987 etc/etc.vax/flcopy.c --r--r--r-- 1 bin 10 2437 Oct 2 1999 etc/etc.vax/Makefile +-r--r--r-- 1 bin 10 2437 Dec 5 2003 etc/etc.vax/Makefile -r--r--r-- 1 bin 10 1477 Jun 30 1987 etc/etc.vax/rxformat.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/fsck +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/fsck -r--r--r-- 1 bin 10 13556 May 6 1988 etc/fsck/dir.c -r--r--r-- 1 bin 10 5688 May 6 1988 etc/fsck/fsck.h -r--r--r-- 1 bin 10 7134 May 6 1988 etc/fsck/inode.c -r--r--r-- 1 bin 10 8317 May 23 1988 etc/fsck/main.c --r--r--r-- 1 bin 10 5563 Oct 2 1999 etc/fsck/Makefile +-r--r--r-- 1 bin 10 5563 Dec 5 2003 etc/fsck/Makefile -r--r--r-- 1 bin 10 5115 Apr 9 1987 etc/fsck/pass1.c -r--r--r-- 1 bin 10 1556 May 6 1988 etc/fsck/pass1b.c -r--r--r-- 1 bin 10 6561 Mar 10 1987 etc/fsck/pass2.c @@ -1477,31 +1477,31 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/fsck -r--r--r-- 1 bin 10 5795 May 6 1988 etc/fsck/pass5.c -r--r--r-- 1 bin 10 11841 May 6 1988 etc/fsck/setup.c -r--r--r-- 1 bin 10 10228 Jun 7 1988 etc/fsck/utilities.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/ftpd --r--r--r-- 1 bin 10 22210 Jul 14 1999 etc/ftpd/ftpd.c --r--r--r-- 1 bin 10 2785 Oct 2 1999 etc/ftpd/Makefile -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 etc/ftpd/glob.c -> ../../ucb/ftp/glob.c --r--r--r-- 1 bin 10 16684 Jun 18 1988 etc/ftpd/ftpcmd.y -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/getty +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/ftpd +-r--r--r-- 1 bin 10 16684 Nov 11 2003 etc/ftpd/ftpcmd.y +-r--r--r-- 1 bin 10 22234 Nov 11 2003 etc/ftpd/ftpd.c +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 etc/ftpd/glob.c -> ../../ucb/ftp/glob.c +-r--r--r-- 1 bin 10 2785 Dec 5 2003 etc/ftpd/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/getty -r--r--r-- 1 bin 10 2911 Dec 22 1986 etc/getty/gettytab -r--r--r-- 1 bin 10 5775 Apr 29 1985 etc/getty/gettytab.c -r--r--r-- 1 bin 10 3129 Jan 7 1986 etc/getty/gettytab.h -r--r--r-- 1 bin 10 1260 Oct 22 1987 etc/getty/get_date.c -r--r--r-- 1 bin 10 2894 Jan 7 1986 etc/getty/init.c -r--r--r-- 1 bin 10 8901 Oct 1 1987 etc/getty/main.c --r--r--r-- 1 bin 10 1610 Oct 2 1999 etc/getty/Makefile +-r--r--r-- 1 bin 10 1610 Dec 5 2003 etc/getty/Makefile -r--r--r-- 1 bin 10 7684 Jan 7 1986 etc/getty/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/htable +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/htable -r--r--r-- 1 bin 10 12156 Jun 18 1988 etc/htable/htable.c -r--r--r-- 1 bin 10 1587 Jun 18 1988 etc/htable/htable.h --r--r--r-- 1 bin 10 1920 Oct 2 1999 etc/htable/Makefile +-r--r--r-- 1 bin 10 1920 Dec 5 2003 etc/htable/Makefile -r--r--r-- 1 bin 10 2684 Jun 18 1988 etc/htable/parse.y -r--r--r-- 1 bin 10 1844 Jun 18 1988 etc/htable/scan.l -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/implog +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/implog -r--r--r-- 1 bin 10 11497 Jun 18 1988 etc/implog/implog.c -r--r--r-- 1 bin 10 2927 Jun 18 1988 etc/implog/implogd.c --r--r--r-- 1 bin 10 2598 Oct 2 1999 etc/implog/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/named +-r--r--r-- 1 bin 10 2598 Dec 5 2003 etc/implog/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/named drwxr-xr-x 2 bin 10 0 Jan 17 1999 etc/named/doc -rw-r----- 1 bin 10 12734 Apr 7 1988 etc/named/doc/DynamicUpdate -rw-r--r-- 1 bin 10 28673 Feb 28 1988 etc/named/doc/rfc1032.lpr @@ -1521,22 +1521,24 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 etc/named/master -rw-r--r-- 1 bin 10 720 Nov 21 1987 etc/named/master/named.rev -rw-r--r-- 1 bin 10 1485 Nov 21 1987 etc/named/master/README -rw-r--r-- 1 bin 10 792 Feb 28 1988 etc/named/master/root.cache -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/named/tools -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/named/tools/nslookup +drwxr-xr-x 2 bin 10 0 Dec 5 2003 etc/named/tools +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/named/tools/nslookup -r--r--r-- 1 bin 10 3974 Nov 20 1987 etc/named/tools/nslookup/commands.l -r--r--r-- 1 bin 10 8285 Apr 5 1988 etc/named/tools/nslookup/debug.c -r--r--r-- 1 bin 10 18399 Mar 11 1988 etc/named/tools/nslookup/getinfo.c -r--r--r-- 1 bin 10 19310 Feb 17 1988 etc/named/tools/nslookup/list.c -r--r--r-- 1 bin 10 24316 Sep 29 1999 etc/named/tools/nslookup/main.c --r--r--r-- 1 bin 10 3108 Oct 2 1999 etc/named/tools/nslookup/Makefile -r--r--r-- 1 bin 10 1214 Nov 21 1987 etc/named/tools/nslookup/nslookup.help -r--r--r-- 1 bin 10 3169 Feb 17 1988 etc/named/tools/nslookup/res.h -r--r--r-- 1 bin 10 5722 Feb 17 1988 etc/named/tools/nslookup/send.c -r--r--r-- 1 bin 10 3676 Feb 17 1988 etc/named/tools/nslookup/skip.c -r--r--r-- 1 bin 10 10586 Feb 17 1988 etc/named/tools/nslookup/subr.c --r--r--r-- 1 bin 10 1957 Oct 2 1999 etc/named/tools/Makefile +-r--r--r-- 1 bin 10 3108 Dec 5 2003 etc/named/tools/nslookup/Makefile -r--r--r-- 1 bin 10 1558 Sep 28 1999 etc/named/tools/nsquery.c +-r--r--r-- 1 bin 10 1957 Dec 5 2003 etc/named/tools/Makefile -rw-r--r-- 1 bin 10 8231 Dec 7 1986 etc/named/tools/nstest.c +-r--r--r-- 1 bin 10 1012 Sep 29 1999 etc/named/newvers.sh +-r--r--r-- 1 bin 10 8112 Dec 5 2003 etc/named/Makefile -rw-r--r-- 1 bin 10 3040 Apr 6 1988 etc/named/CHANGES -rw-r--r-- 1 bin 10 87 Apr 5 1988 etc/named/databuf -rw-r--r-- 1 bin 10 104 Apr 5 1988 etc/named/databufs @@ -1547,11 +1549,9 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/named/tools/nslookup -r--r--r-- 1 bin 10 2500 Jun 18 1988 etc/named/db_reload.c -r--r--r-- 1 bin 10 4076 Jun 18 1988 etc/named/db_save.c -r--r--r-- 1 bin 10 8846 Jun 18 1988 etc/named/db_update.c --r--r--r-- 1 bin 10 8112 Oct 2 1999 etc/named/Makefile -rw-r--r-- 1 bin 10 81 Apr 5 1988 etc/named/namebuf -r-xr-xr-x 1 bin 10 89 Jul 21 1987 etc/named/named.reload -rwxr-xr-x 1 bin 10 41 Dec 8 1985 etc/named/named.restart --r--r--r-- 1 bin 10 1012 Sep 29 1999 etc/named/newvers.sh -r--r--r-- 1 bin 10 6992 Jun 18 1988 etc/named/ns.h -r--r--r-- 1 bin 10 13032 Jun 18 1988 etc/named/ns_forw.c -r--r--r-- 1 bin 10 11369 Jun 18 1988 etc/named/ns_init.c @@ -1564,8 +1564,8 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/named/tools/nslookup -r--r--r-- 1 bin 10 4141 Jun 18 1988 etc/named/ns_stats.c -r--r--r-- 1 bin 10 3173 Jul 21 1987 etc/named/storage.c -r--r--r-- 1 bin 10 2674 Jul 9 1988 etc/named/Version.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/newfs --r--r--r-- 1 bin 10 1625 Oct 2 1999 etc/newfs/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/newfs +-r--r--r-- 1 bin 10 1625 Dec 5 2003 etc/newfs/Makefile -r--r--r-- 1 bin 10 28360 Jul 8 1988 etc/newfs/mkfs.c -r--r--r-- 1 bin 10 16248 May 1 1988 etc/newfs/newfs.c drwxr-xr-x 2 bin 10 0 Jan 17 1999 etc/onewfs @@ -1574,20 +1574,20 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 etc/onewfs/sys -r--r--r-- 1 bin 10 1719 May 22 1988 etc/onewfs/Makefile -r--r--r-- 1 bin 10 25650 May 22 1988 etc/onewfs/mkfs.c -r--r--r-- 1 bin 10 15444 May 22 1988 etc/onewfs/newfs.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/restore +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/restore -r--r--r-- 1 bin 10 12806 May 13 1988 etc/restore/dirs.c -r--r--r-- 1 bin 10 16668 Apr 23 1987 etc/restore/interactive.c -r--r--r-- 1 bin 10 5476 May 13 1988 etc/restore/main.c --r--r--r-- 1 bin 10 4522 Oct 2 1999 etc/restore/Makefile +-r--r--r-- 1 bin 10 4522 Dec 5 2003 etc/restore/Makefile -r--r--r-- 1 bin 10 19374 May 22 1988 etc/restore/restore.c -r--r--r-- 1 bin 10 4444 May 13 1988 etc/restore/restore.h -rw-r--r-- 1 bin 10 247 Oct 21 1986 etc/restore/spcl.adb -r--r--r-- 1 bin 10 13384 May 13 1988 etc/restore/symtab.c -r--r--r-- 1 bin 10 22940 May 13 1988 etc/restore/tape.c -r--r--r-- 1 bin 10 6622 May 13 1988 etc/restore/utilities.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/routed -drwxr-xr-x 2 bin 10 0 Oct 2 1999 etc/routed/tools --r--r--r-- 1 bin 10 1785 Oct 2 1999 etc/routed/tools/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/routed +drwxr-xr-x 2 bin 10 0 Dec 5 2003 etc/routed/tools +-r--r--r-- 1 bin 10 1785 Dec 5 2003 etc/routed/tools/Makefile -r--r--r-- 1 bin 10 6112 Jun 11 1988 etc/routed/tools/query.c -r--r--r-- 1 bin 10 2529 Feb 16 1988 etc/routed/tools/trace.c -r--r--r-- 1 bin 10 3334 Jun 18 1988 etc/routed/af.c @@ -1598,7 +1598,7 @@ drwxr-xr-x 2 bin 10 0 Oct 2 1999 etc/routed/tools -r--r--r-- 1 bin 10 7707 Jun 6 1988 etc/routed/input.c -r--r--r-- 1 bin 10 2621 Feb 16 1988 etc/routed/interface.h -r--r--r-- 1 bin 10 4858 May 31 1988 etc/routed/main.c --r--r--r-- 1 bin 10 5252 Oct 2 1999 etc/routed/Makefile +-r--r--r-- 1 bin 10 5252 Dec 5 2003 etc/routed/Makefile -r--r--r-- 1 bin 10 3625 May 31 1988 etc/routed/output.c -r--r--r-- 1 bin 10 12813 Jun 6 1988 etc/routed/startup.c -r--r--r-- 1 bin 10 2675 Feb 16 1988 etc/routed/table.h @@ -1606,14 +1606,14 @@ drwxr-xr-x 2 bin 10 0 Oct 2 1999 etc/routed/tools -r--r--r-- 1 bin 10 2982 May 31 1988 etc/routed/timer.c -r--r--r-- 1 bin 10 7577 Jul 9 1988 etc/routed/trace.c -r--r--r-- 1 bin 10 2348 May 31 1988 etc/routed/trace.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/talkd +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/talkd -r--r--r-- 1 bin 10 4959 Jun 18 1988 etc/talkd/announce.c --r--r--r-- 1 bin 10 3221 Oct 2 1999 etc/talkd/Makefile +-r--r--r-- 1 bin 10 3246 Dec 5 2003 etc/talkd/Makefile -r--r--r-- 1 bin 10 2148 Jun 18 1988 etc/talkd/print.c --r--r--r-- 1 bin 10 4871 Jun 18 1988 etc/talkd/process.c +-r--r--r-- 1 bin 10 4959 May 10 2003 etc/talkd/process.c -r--r--r-- 1 bin 10 5196 Jun 18 1988 etc/talkd/table.c -r--r--r-- 1 bin 10 2646 Jun 18 1988 etc/talkd/talkd.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/termcap +drwxr-xr-x 2 bin 10 0 Dec 5 2003 etc/termcap drwxr-xr-x 2 bin 10 0 Jan 17 1999 etc/termcap/tabset -r--r--r-- 1 bin 10 93 Jun 8 1982 etc/termcap/tabset/3101 -r--r--r-- 1 bin 10 105 Jun 8 1982 etc/termcap/tabset/aa @@ -1635,14 +1635,14 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 etc/termcap/tabset -r--r--r-- 1 bin 10 862 Oct 3 1999 etc/termcap/Makefile -r--r--r-- 1 bin 10 28334 Nov 20 1987 etc/termcap/map3270 -r--r--r-- 1 bin 10 2443 Oct 14 1987 etc/termcap/README --r--r--r-- 1 bin 10 1485 Oct 17 1987 etc/termcap/reorder --r--r--r-- 1 bin 10 143946 Jun 14 1988 etc/termcap/termcap.src +-r--r--r-- 1 bin 10 1509 Mar 22 2003 etc/termcap/reorder +-r--r--r-- 1 bin 10 145196 Mar 22 2003 etc/termcap/termcap.src -r--r--r-- 1 bin 10 1737 Jul 15 1999 etc/termcap/tck -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/tftpd --r--r--r-- 1 bin 10 1892 Oct 2 1999 etc/tftpd/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/tftpd +-r--r--r-- 1 bin 10 1892 Dec 5 2003 etc/tftpd/Makefile -r--r--r-- 1 bin 10 10599 Jun 18 1988 etc/tftpd/tftpd.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/timed --r--r--r-- 1 bin 10 9158 Oct 2 1999 etc/timed/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/timed +-r--r--r-- 1 bin 10 9158 Dec 5 2003 etc/timed/Makefile -r--r--r-- 1 bin 10 2501 Jun 18 1988 etc/timed/acksend.c -r--r--r-- 1 bin 10 1874 Jun 18 1988 etc/timed/byteorder.c -r--r--r-- 1 bin 10 3448 Jun 18 1988 etc/timed/candidate.c @@ -1661,13 +1661,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/timed -r--r--r-- 1 bin 10 14520 Jun 18 1988 etc/timed/timed.c -r--r--r-- 1 bin 10 4922 Jun 18 1988 etc/timed/timedc.c -r--r--r-- 1 bin 10 1389 Jun 18 1988 etc/timed/timedc.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/tzone +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/tzone +-r--r--r-- 1 bin 10 2202 Dec 5 2003 etc/tzone/Makefile -r--r--r-- 1 bin 10 1347 Jun 5 1988 etc/tzone/asia -r--r--r-- 1 bin 10 2119 Jun 5 1988 etc/tzone/australasia -r--r--r-- 1 bin 10 1018 Jun 5 1988 etc/tzone/etcetera -r--r--r-- 1 bin 10 5039 Jun 5 1988 etc/tzone/europe -r--r--r-- 1 bin 10 1433 Jun 5 1988 etc/tzone/ialloc.c --r--r--r-- 1 bin 10 2202 Oct 2 1999 etc/tzone/Makefile -r--r--r-- 1 bin 10 4177 Jun 5 1988 etc/tzone/northamerica -r--r--r-- 1 bin 10 483 Jun 5 1988 etc/tzone/pacificnew -r--r--r-- 1 bin 10 1738 Jun 5 1988 etc/tzone/README @@ -1677,7 +1677,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/tzone -r--r--r-- 1 bin 10 7036 Jun 5 1988 etc/tzone/Theory -r--r--r-- 1 bin 10 4490 Jun 5 1988 etc/tzone/zdump.c -r--r--r-- 1 bin 10 32288 Jun 5 1988 etc/tzone/zic.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 etc/XNSrouted +drwxr-xr-x 2 bin 10 0 Dec 7 2003 etc/XNSrouted drwxr-xr-x 2 bin 10 0 Jul 13 1999 etc/XNSrouted/tools -r--r--r-- 1 bin 10 4475 Jul 13 1999 etc/XNSrouted/tools/query.c -r--r--r-- 1 bin 10 4165 Dec 26 1987 etc/XNSrouted/af.c @@ -1687,7 +1687,7 @@ drwxr-xr-x 2 bin 10 0 Jul 13 1999 etc/XNSrouted/tools -r--r--r-- 1 bin 10 4008 Feb 14 1986 etc/XNSrouted/input.c -r--r--r-- 1 bin 10 2238 Aug 16 1985 etc/XNSrouted/interface.h -r--r--r-- 1 bin 10 4826 Feb 14 1986 etc/XNSrouted/main.c --r--r--r-- 1 bin 10 3892 Oct 2 1999 etc/XNSrouted/Makefile +-r--r--r-- 1 bin 10 3892 Dec 5 2003 etc/XNSrouted/Makefile -r--r--r-- 1 bin 10 3143 Feb 14 1986 etc/XNSrouted/output.c -r--r--r-- 1 bin 10 1550 Feb 14 1986 etc/XNSrouted/protocol.h -r--r--r-- 1 bin 10 5471 Feb 14 1986 etc/XNSrouted/startup.c @@ -1696,7 +1696,7 @@ drwxr-xr-x 2 bin 10 0 Jul 13 1999 etc/XNSrouted/tools -r--r--r-- 1 bin 10 2801 Feb 14 1986 etc/XNSrouted/timer.c -r--r--r-- 1 bin 10 6140 Oct 22 1987 etc/XNSrouted/trace.c -r--r--r-- 1 bin 10 1962 Sep 17 1985 etc/XNSrouted/trace.h --r--r--r-- 1 bin 10 26273 Oct 2 1999 etc/Makefile +-r--r--r-- 1 bin 10 26273 Dec 5 2003 etc/Makefile -r--r--r-- 1 bin 10 4343 Jul 1 1983 etc/ac.c -r--r--r-- 1 bin 10 225 Jun 8 1982 etc/accton.c -r--r--r-- 1 bin 10 9387 Jun 30 1988 etc/arp.c @@ -1757,20 +1757,20 @@ drwxr-xr-x 2 bin 10 0 Jul 13 1999 etc/XNSrouted/tools -r--r--r-- 1 bin 10 3143 May 28 1985 etc/umount.c -r--r--r-- 1 bin 10 1073 Jan 1 1988 etc/update.c -r--r--r-- 1 bin 10 5760 Jul 13 1999 etc/vipw.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/adventure +drwxr-xr-x 2 bin 10 0 Dec 5 2003 games +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/adventure -r--r--r-- 1 bin 10 2352 Jun 8 1982 games/adventure/done.c -r--r--r-- 1 bin 10 55626 Jun 8 1982 games/adventure/glorkz -r--r--r-- 1 bin 10 4414 Jun 8 1982 games/adventure/hdr.h -r--r--r-- 1 bin 10 4155 Jun 8 1982 games/adventure/init.c -r--r--r-- 1 bin 10 14877 Jun 8 1982 games/adventure/io.c -r--r--r-- 1 bin 10 15365 Jun 8 1982 games/adventure/main.c --r--r--r-- 1 bin 10 1245 Oct 2 1999 games/adventure/Makefile +-r--r--r-- 1 bin 10 1245 Dec 5 2003 games/adventure/Makefile -r--r--r-- 1 bin 10 4709 Nov 17 1986 games/adventure/save.c -r--r--r-- 1 bin 10 18873 Jun 8 1982 games/adventure/subr.c -r--r--r-- 1 bin 10 4544 Jun 8 1982 games/adventure/vocab.c -r--r--r-- 1 bin 10 2242 Jun 8 1982 games/adventure/wizard.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/atc +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/atc drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/atc/games -r--r--r-- 1 bin 10 159 Mar 10 1987 games/atc/games/ATC_scores -r--r--r-- 1 bin 10 320 Mar 10 1987 games/atc/games/crossover @@ -1791,12 +1791,12 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/atc/games -r--r--r-- 1 bin 10 1289 Mar 10 1987 games/atc/list.c -r--r--r-- 1 bin 10 5033 Sep 14 1999 games/atc/log.c -r--r--r-- 1 bin 10 4957 Mar 10 1987 games/atc/main.c --r--r--r-- 1 bin 10 5288 Oct 2 1999 games/atc/Makefile +-r--r--r-- 1 bin 10 5288 Dec 5 2003 games/atc/Makefile -r--r--r-- 1 bin 10 1225 Mar 10 1987 games/atc/struct.h -r--r--r-- 1 bin 10 748 Jun 3 1987 games/atc/tunable.c -r--r--r-- 1 bin 10 321 Mar 10 1987 games/atc/tunable.h -r--r--r-- 1 bin 10 8084 Sep 14 1999 games/atc/update.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/backgammon +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/backgammon -r--r--r-- 1 bin 10 2055 Jun 18 1988 games/backgammon/allow.c -r--r--r-- 1 bin 10 4069 Jun 18 1988 games/backgammon/back.h -r--r--r-- 1 bin 10 3357 Jun 18 1988 games/backgammon/board.c @@ -1806,7 +1806,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/backgammon -r--r--r-- 1 bin 10 15929 Jun 18 1988 games/backgammon/fancy.c -r--r--r-- 1 bin 10 1752 Jun 18 1988 games/backgammon/init.c -r--r--r-- 1 bin 10 11844 Jun 18 1988 games/backgammon/main.c --r--r--r-- 1 bin 10 4927 Oct 2 1999 games/backgammon/Makefile +-r--r--r-- 1 bin 10 4927 Dec 5 2003 games/backgammon/Makefile -r--r--r-- 1 bin 10 11430 Jun 18 1988 games/backgammon/move.c -r--r--r-- 1 bin 10 2224 Jun 18 1988 games/backgammon/odds.c -r--r--r-- 1 bin 10 2944 Jun 18 1988 games/backgammon/one.c @@ -1820,7 +1820,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/backgammon -r--r--r-- 1 bin 10 2726 Jun 18 1988 games/backgammon/tutor.c -r--r--r-- 1 bin 10 986 Jun 18 1988 games/backgammon/tutor.h -r--r--r-- 1 bin 10 1001 Jun 18 1988 games/backgammon/version.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/battlestar +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/battlestar -r--r--r-- 1 bin 10 2118 Jun 19 1988 games/battlestar/battlestar.c -r--r--r-- 1 bin 10 7018 Jun 19 1988 games/battlestar/com1.c -r--r--r-- 1 bin 10 8355 Jun 19 1988 games/battlestar/com2.c @@ -1837,7 +1837,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/battlestar -r--r--r-- 1 bin 10 1962 Jun 19 1988 games/battlestar/getcom.c -r--r--r-- 1 bin 10 6563 Jun 19 1988 games/battlestar/globals.c -r--r--r-- 1 bin 10 2604 Jun 19 1988 games/battlestar/init.c --r--r--r-- 1 bin 10 4579 Oct 2 1999 games/battlestar/Makefile +-r--r--r-- 1 bin 10 4579 Dec 5 2003 games/battlestar/Makefile -r--r--r-- 1 bin 10 1299 Jun 19 1988 games/battlestar/misc.c -r--r--r-- 1 bin 10 54477 Jun 19 1988 games/battlestar/nightfile.c -r--r--r-- 1 bin 10 1999 Jun 19 1988 games/battlestar/nightobjs.c @@ -1845,21 +1845,21 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/battlestar -r--r--r-- 1 bin 10 3935 Jun 19 1988 games/battlestar/room.c -r--r--r-- 1 bin 10 4262 Jun 19 1988 games/battlestar/save.c -r--r--r-- 1 bin 10 5585 Jun 19 1988 games/battlestar/words.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/boggle +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/boggle -r--r--r-- 1 bin 10 14165 Oct 22 1987 games/boggle/boggle.c -r--r--r-- 1 bin 10 804 May 30 1985 games/boggle/comp.c -r--r--r-- 1 bin 10 1906 May 30 1985 games/boggle/inst --r--r--r-- 1 bin 10 1442 Oct 2 1999 games/boggle/Makefile +-r--r--r-- 1 bin 10 1442 Dec 5 2003 games/boggle/Makefile -r--r--r-- 1 bin 10 87 Dec 24 1982 games/boggle/sfile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/btlgammon +drwxr-xr-x 2 bin 10 0 Dec 5 2003 games/btlgammon -r--r--r-- 1 bin 10 1176 Sep 19 1987 games/btlgammon/backrules -r--r--r-- 1 bin 10 14548 Sep 20 1987 games/btlgammon/btlgammon.c --r--r--r-- 1 bin 10 943 Oct 2 1999 games/btlgammon/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/canfield +-r--r--r-- 1 bin 10 943 Dec 5 2003 games/btlgammon/Makefile +drwxr-xr-x 2 bin 10 0 Dec 5 2003 games/canfield -r--r--r-- 1 bin 10 37770 Jun 30 1988 games/canfield/canfield.c -r--r--r-- 1 bin 10 3455 Jun 18 1988 games/canfield/cfscores.c --r--r--r-- 1 bin 10 2195 Oct 2 1999 games/canfield/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/cribbage +-r--r--r-- 1 bin 10 2195 Dec 5 2003 games/canfield/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/cribbage -r--r--r-- 1 bin 10 2649 Jun 18 1988 games/cribbage/cards.c -r--r--r-- 1 bin 10 13437 Jun 18 1988 games/cribbage/crib.c -r--r--r-- 1 bin 10 1869 Jun 18 1988 games/cribbage/cribbage.h @@ -1869,32 +1869,32 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/cribbage -r--r--r-- 1 bin 10 1979 Jun 18 1988 games/cribbage/extern.c -r--r--r-- 1 bin 10 11429 Jun 18 1988 games/cribbage/io.c -r--r--r-- 1 bin 10 2354 Jun 18 1988 games/cribbage/macro --r--r--r-- 1 bin 10 2926 Oct 2 1999 games/cribbage/Makefile +-r--r--r-- 1 bin 10 2926 Dec 5 2003 games/cribbage/Makefile -r--r--r-- 1 bin 10 9726 Jun 18 1988 games/cribbage/score.c -r--r--r-- 1 bin 10 7206 Jun 18 1988 games/cribbage/support.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/dm +drwxr-xr-x 2 bin 10 0 Dec 5 2003 games/dm -r--r--r-- 1 bin 10 7414 Jun 18 1988 games/dm/dm.c -r--r--r-- 1 bin 10 1216 Jun 18 1988 games/dm/dm.config --r--r--r-- 1 bin 10 1784 Oct 2 1999 games/dm/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/fortune +-r--r--r-- 1 bin 10 1784 Dec 5 2003 games/dm/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/fortune +-r--r--r-- 1 bin 10 12364 Sep 15 1999 games/fortune/rnd.c +-r--r--r-- 1 bin 10 9016 Sep 15 1999 games/fortune/strfile.c +-r--r--r-- 1 bin 10 696 Sep 15 1999 games/fortune/strfile.h -rwxr-xr-x 1 bin 10 106 Jan 9 1986 games/fortune/Do_troff -r--r--r-- 1 bin 10 5248 Dec 9 1986 games/fortune/fortune.c --r--r--r-- 1 bin 10 1791 Oct 2 1999 games/fortune/Makefile +-r--r--r-- 1 bin 10 1791 Dec 5 2003 games/fortune/Makefile -r--r--r-- 1 bin 10 5931 Jan 9 1986 games/fortune/notes -r--r--r-- 1 bin 10 52821 Mar 4 1988 games/fortune/obscene -r--r--r-- 1 bin 10 1833 Jan 9 1986 games/fortune/obscene.sp.ok --r--r--r-- 1 bin 10 12364 Sep 15 1999 games/fortune/rnd.c +-r--r--r-- 1 bin 10 3141 Sep 15 1999 games/fortune/unstr.c -r--r--r-- 1 bin 10 342246 Feb 16 1988 games/fortune/scene -r--r--r-- 1 bin 10 9113 Jan 9 1986 games/fortune/scene.sp.ok --r--r--r-- 1 bin 10 9016 Sep 15 1999 games/fortune/strfile.c --r--r--r-- 1 bin 10 696 Sep 15 1999 games/fortune/strfile.h -r--r--r-- 1 bin 10 290 Jan 9 1986 games/fortune/Troff.mac -r--r--r-- 1 bin 10 307 Jan 9 1986 games/fortune/Troff.sed --r--r--r-- 1 bin 10 3141 Sep 15 1999 games/fortune/unstr.c drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/games.tahoe -r--r--r-- 1 bin 10 223 Jun 3 1987 games/games.tahoe/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/games.vax -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/games.vax/aard +drwxr-xr-x 2 bin 10 0 Dec 5 2003 games/games.vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/games.vax/aard -rw-r--r-- 1 bin 10 62846 Feb 1 1986 games/games.vax/aard/aard.ddl -rwxr-xr-x 1 bin 10 42 Jun 8 1982 games/games.vax/aard/frontend -r--r--r-- 1 bin 10 664 Dec 20 1987 games/games.vax/aard/Makefile @@ -1905,7 +1905,7 @@ drwxr-xr-x 2 bin 10 0 Sep 14 1999 games/games.vax/ching -r--r--r-- 1 bin 10 1357 Oct 29 1982 games/games.vax/ching/macros -r--r--r-- 1 bin 10 719 Jul 22 1987 games/games.vax/ching/Makefile -rwxr-xr-x 1 bin 10 5168 Oct 29 1982 games/games.vax/ching/phx -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/games.vax/compat +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/games.vax/compat drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/games.vax/compat/modshell -r--r--r-- 1 bin 10 1752 Jun 8 1982 games/games.vax/compat/modshell/compat.c -rw-r--r-- 1 bin 10 83 Jun 8 1982 games/games.vax/compat/modshell/defs.h.ediff @@ -1914,12 +1914,12 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/games.vax/compat/mods -rw-r--r-- 1 bin 10 323 Jun 8 1982 games/games.vax/compat/modshell/name.c.ediff -rw-r--r-- 1 bin 10 126 Jun 8 1982 games/games.vax/compat/modshell/service.c.edif -r--r--r-- 1 bin 10 708 Jun 8 1982 games/games.vax/compat/modshell/v6flag.c +-r--r--r-- 1 bin 10 3023 Sep 15 1999 games/games.vax/compat/Makefile -r--r--r-- 1 bin 10 177 Oct 24 1982 games/games.vax/compat/bcopy.c -r--r--r-- 1 bin 10 894 Oct 24 1982 games/games.vax/compat/compat.s -r--r--r-- 1 bin 10 323 Oct 24 1982 games/games.vax/compat/defs.h -r--r--r-- 1 bin 10 6974 Apr 24 1988 games/games.vax/compat/dofloat.c -r--r--r-- 1 bin 10 1886 May 5 1984 games/games.vax/compat/dosig.c --r--r--r-- 1 bin 10 3023 Sep 15 1999 games/games.vax/compat/Makefile -r--r--r-- 1 bin 10 353 Oct 24 1982 games/games.vax/compat/memsiz.s -r--r--r-- 1 bin 10 7095 Oct 24 1982 games/games.vax/compat/Readme -r--r--r-- 1 bin 10 110 Oct 24 1982 games/games.vax/compat/rt11.h @@ -1957,18 +1957,19 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/games.vax/ddl/sample -rwxr-xr-x 1 bin 10 29696 Feb 1 1986 games/games.vax/ddl/ddlrun -r--r--r-- 1 bin 10 382 Jun 3 1987 games/games.vax/ddl/Makefile -rw-r--r-- 1 bin 10 466 Feb 1 1986 games/games.vax/ddl/READ_ME -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/games.vax/zork +drwxr-xr-x 2 bin 10 0 Dec 5 2003 games/games.vax/zork drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/games.vax/zork/zorklib -rwxr-xr-x 1 bin 10 0 Nov 28 1982 games/games.vax/zork/zorklib/dindex.dat -rwxr-xr-x 1 bin 10 109056 Nov 28 1982 games/games.vax/zork/zorklib/doverlay -rwxr-xr-x 1 bin 10 228864 Nov 28 1982 games/games.vax/zork/zorklib/dtext.dat -rwxr-xr-x 1 bin 10 54652 Nov 28 1982 games/games.vax/zork/zorklib/dungeon --r--r--r-- 1 bin 10 1048 Oct 2 1999 games/games.vax/zork/Makefile +-r--r--r-- 1 bin 10 1048 Dec 5 2003 games/games.vax/zork/Makefile -r--r--r-- 1 bin 10 2374 Oct 24 1982 games/games.vax/zork/zork.c -rwxr-xr-x 1 bin 10 19036 Oct 29 1982 games/games.vax/chess.bin -r--r--r-- 1 bin 10 265 Oct 24 1982 games/games.vax/chess.c --r--r--r-- 1 bin 10 1900 Oct 2 1999 games/games.vax/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/hack +-r--r--r-- 1 bin 10 1900 Dec 5 2003 games/games.vax/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/hack +-r--r--r-- 1 bin 10 15754 Dec 5 2003 games/hack/Makefile -r--r--r-- 1 bin 10 801 Jul 26 1985 games/hack/alloc.c -r--r--r-- 1 bin 10 4670 Feb 7 1987 games/hack/config.h -r--r--r-- 1 bin 10 9803 Jul 26 1985 games/hack/data @@ -1991,12 +1992,11 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/hack -r--r--r-- 1 bin 10 1371 Jul 26 1985 games/hack/hack.worn.c -r--r--r-- 1 bin 10 9891 Jul 26 1985 games/hack/hack.trap.c -r--r--r-- 1 bin 10 4252 Jul 26 1985 games/hack/hack.shknam.c +-r--r--r-- 1 bin 10 18280 Jul 26 1985 games/hack/hack.c -r--r--r-- 1 bin 10 2652 Jul 26 1985 games/hack/hack.monst.c --r--r--r-- 1 bin 10 1966 Jul 26 1985 games/hack/hh -r--r--r-- 1 bin 10 7549 Jul 26 1985 games/hack/hack.do_wear.c -r--r--r-- 1 bin 10 10383 Jul 26 1985 games/hack/hack.apply.c -r--r--r-- 1 bin 10 2490 Jul 26 1985 games/hack/hack.bones.c --r--r--r-- 1 bin 10 18280 Jul 26 1985 games/hack/hack.c -r--r--r-- 1 bin 10 5982 Apr 24 1988 games/hack/hack.cmd.c -r--r--r-- 1 bin 10 1121 Jul 26 1985 games/hack/hack.Decl.c -r--r--r-- 1 bin 10 11401 Jul 26 1985 games/hack/hack.do.c @@ -2015,14 +2015,15 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/hack -r--r--r-- 1 bin 10 4495 Dec 26 1987 games/hack/hack.makemon.c -r--r--r-- 1 bin 10 363 Jul 26 1985 games/hack/hack.mfndpos.h -r--r--r-- 1 bin 10 8080 Jul 26 1985 games/hack/hack.mhitu.c --r--r--r-- 1 bin 10 20437 Nov 27 1985 games/hack/hack.mon.c +-r--r--r-- 1 bin 10 1966 Jul 26 1985 games/hack/hh -rw-r--r-- 1 bin 10 174 Jul 26 1985 games/hack/hack.sh -r--r--r-- 1 bin 10 16822 Feb 7 1987 games/hack/hack.mklev.c -r--r--r-- 1 bin 10 2961 Jul 26 1985 games/hack/hack.mkmaze.c -r--r--r-- 1 bin 10 2964 Jul 26 1985 games/hack/hack.mkobj.c -r--r--r-- 1 bin 10 6791 Nov 28 1986 games/hack/hack.mkshop.c +-r--r--r-- 1 bin 10 20437 Nov 27 1985 games/hack/hack.mon.c -r--r--r-- 1 bin 10 11399 Jul 26 1985 games/hack/hack.objnam.c --r--r--r-- 1 bin 10 5967 Oct 3 1999 games/hack/hack.onames.h +-r--r--r-- 1 bin 10 5967 Dec 5 2003 games/hack/hack.onames.h -r--r--r-- 1 bin 10 4630 Jul 26 1985 games/hack/hack.options.c -r--r--r-- 1 bin 10 3885 Jul 26 1985 games/hack/hack.o_init.c -r--r--r-- 1 bin 10 8006 Jul 26 1985 games/hack/hack.pager.c @@ -2037,9 +2038,9 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/hack -r--r--r-- 1 bin 10 4958 Jul 26 1985 games/hack/hack.steal.c -r--r--r-- 1 bin 10 5565 Jul 26 1985 games/hack/hack.termcap.c -r--r--r-- 1 bin 10 1377 Jul 26 1985 games/hack/hack.timeout.c --r--r--r-- 1 bin 10 3803 Jul 26 1985 games/hack/hack.topl.c -r--r--r-- 1 bin 10 5136 Jul 26 1985 games/hack/help -r--r--r-- 1 bin 10 4285 Jul 26 1985 games/hack/READ_ME +-r--r--r-- 1 bin 10 3803 Jul 26 1985 games/hack/hack.topl.c -r--r--r-- 1 bin 10 656 Jul 26 1985 games/hack/hack.track.c -r--r--r-- 1 bin 10 6334 Jul 26 1985 games/hack/hack.tty.c -r--r--r-- 1 bin 10 10452 Jan 30 1987 games/hack/hack.unix.c @@ -2051,25 +2052,24 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/hack -r--r--r-- 1 bin 10 4226 Jul 26 1985 games/hack/hack.worm.c -r--r--r-- 1 bin 10 14672 Jul 26 1985 games/hack/hack.zap.c -r--r--r-- 1 bin 10 4455 Jul 26 1985 games/hack/makedefs.c --r--r--r-- 1 bin 10 15754 Oct 2 1999 games/hack/Makefile -r--r--r-- 1 bin 10 6096 Feb 7 1987 games/hack/Makequest -r--r--r-- 1 bin 10 2593 Jul 26 1985 games/hack/Original_READ_ME -r--r--r-- 1 bin 10 282 Jan 30 1987 games/hack/rnd.c -r--r--r-- 1 bin 10 25080 Jul 26 1985 games/hack/rumors -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/hangman +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/hangman -r--r--r-- 1 bin 10 1544 Jun 18 1988 games/hangman/endgame.c -r--r--r-- 1 bin 10 1414 Jun 18 1988 games/hangman/extern.c -r--r--r-- 1 bin 10 2016 Jun 18 1988 games/hangman/getguess.c -r--r--r-- 1 bin 10 1727 Jun 18 1988 games/hangman/getword.c -r--r--r-- 1 bin 10 1577 Jun 18 1988 games/hangman/hangman.h -r--r--r-- 1 bin 10 1422 Jun 18 1988 games/hangman/main.c --r--r--r-- 1 bin 10 5016 Oct 2 1999 games/hangman/Makefile +-r--r--r-- 1 bin 10 5016 Dec 5 2003 games/hangman/Makefile -r--r--r-- 1 bin 10 1221 Jun 18 1988 games/hangman/playgame.c -r--r--r-- 1 bin 10 1440 Jun 18 1988 games/hangman/prdata.c -r--r--r-- 1 bin 10 1230 Jun 18 1988 games/hangman/prman.c -r--r--r-- 1 bin 10 1087 Jun 18 1988 games/hangman/prword.c -r--r--r-- 1 bin 10 1588 Jun 18 1988 games/hangman/setup.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/hunt +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/hunt -r--r--r-- 1 bin 10 8280 Jun 27 1988 games/hunt/answer.c -r--r--r-- 1 bin 10 1457 Jun 27 1988 games/hunt/connect.c -r--r--r-- 1 bin 10 8210 Jun 27 1988 games/hunt/draw.c @@ -2086,12 +2086,12 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/hunt -r--r--r-- 1 bin 10 308 Apr 27 1986 games/hunt/README -r--r--r-- 1 bin 10 16569 Jun 27 1988 games/hunt/shots.c -r--r--r-- 1 bin 10 2652 Jun 27 1988 games/hunt/terminal.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/mille +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/mille -r--r--r-- 1 bin 10 11332 Jun 18 1988 games/mille/comp.c -r--r--r-- 1 bin 10 3184 Jun 18 1988 games/mille/end.c -r--r--r-- 1 bin 10 4527 Jun 18 1988 games/mille/extern.c -r--r--r-- 1 bin 10 5631 Jun 18 1988 games/mille/init.c --r--r--r-- 1 bin 10 5483 Oct 2 1999 games/mille/Makefile +-r--r--r-- 1 bin 10 5483 Dec 5 2003 games/mille/Makefile -r--r--r-- 1 bin 10 3307 Jun 18 1988 games/mille/mille.c -r--r--r-- 1 bin 10 4776 Jun 18 1988 games/mille/mille.h -r--r--r-- 1 bin 10 4826 Jun 18 1988 games/mille/misc.c @@ -2103,7 +2103,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/mille -r--r--r-- 1 bin 10 1517 Jun 18 1988 games/mille/types.c -r--r--r-- 1 bin 10 950 Jun 18 1988 games/mille/unctrl.h -r--r--r-- 1 bin 10 2257 Jun 18 1988 games/mille/varpush.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/monop +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/monop -r--r--r-- 1 bin 10 2750 Jun 18 1988 games/monop/brd.dat -r--r--r-- 1 bin 10 4336 Jun 18 1988 games/monop/cards.c -r--r--r-- 1 bin 10 1969 Jun 18 1988 games/monop/cards.inp @@ -2113,7 +2113,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/monop -r--r--r-- 1 bin 10 5956 Jun 18 1988 games/monop/houses.c -r--r--r-- 1 bin 10 4092 Jun 18 1988 games/monop/initdeck.c -r--r--r-- 1 bin 10 2542 Jun 18 1988 games/monop/jail.c --r--r--r-- 1 bin 10 3108 Oct 2 1999 games/monop/Makefile +-r--r--r-- 1 bin 10 3108 Dec 5 2003 games/monop/Makefile -r--r--r-- 1 bin 10 7221 Jun 18 1988 games/monop/misc.c -r--r--r-- 1 bin 10 1326 Jun 18 1988 games/monop/mon.dat -r--r--r-- 1 bin 10 3515 Jun 18 1988 games/monop/monop.c @@ -2128,7 +2128,8 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/monop -r--r--r-- 1 bin 10 1476 Jun 18 1988 games/monop/roll.c -r--r--r-- 1 bin 10 1942 Jun 18 1988 games/monop/spec.c -r--r--r-- 1 bin 10 6973 Jun 18 1988 games/monop/trade.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/phantasia +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/phantasia +-r--r--r-- 1 bin 10 7131 Dec 5 2003 games/phantasia/Makefile -r--r--r-- 1 bin 10 5902 Feb 23 1987 games/phantasia/convert.c -r--r--r-- 1 bin 10 42926 Jun 1 1988 games/phantasia/fight.c -r--r--r-- 1 bin 10 18049 Mar 5 1987 games/phantasia/gamesupport.c @@ -2137,7 +2138,6 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/phantasia -r--r--r-- 1 bin 10 10751 Jun 1 1988 games/phantasia/io.c -r--r--r-- 1 bin 10 601 Feb 23 1987 games/phantasia/macros.h -r--r--r-- 1 bin 10 35344 Jun 1 1988 games/phantasia/main.c --r--r--r-- 1 bin 10 7131 Oct 3 1999 games/phantasia/Makefile -r--r--r-- 1 bin 10 3447 Feb 13 1987 games/phantasia/map.c -r--r--r-- 1 bin 10 42622 Mar 6 1987 games/phantasia/misc.c -r--r--r-- 1 bin 10 8243 Feb 13 1987 games/phantasia/monsters.asc @@ -2148,7 +2148,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/phantasia -r--r--r-- 1 bin 10 3855 Feb 13 1987 games/phantasia/phantstruct.h -r--r--r-- 1 bin 10 3354 Feb 13 1987 games/phantasia/readme -r--r--r-- 1 bin 10 6435 Jun 1 1988 games/phantasia/setup.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/quiz +drwxr-xr-x 2 bin 10 0 Dec 5 2003 games/quiz drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/quiz/quiz.k -r--r--r-- 1 bin 10 917 Nov 28 1982 games/quiz/quiz.k/africa -r--r--r-- 1 bin 10 548 Nov 28 1982 games/quiz/quiz.k/america @@ -2182,14 +2182,14 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/quiz/quiz.k -r--r--r-- 1 bin 10 2098 Nov 28 1982 games/quiz/quiz.k/state -r--r--r-- 1 bin 10 1060 Nov 28 1982 games/quiz/quiz.k/trek -r--r--r-- 1 bin 10 6701 Nov 28 1982 games/quiz/quiz.k/ucc --r--r--r-- 1 bin 10 1123 Oct 2 1999 games/quiz/Makefile +-r--r--r-- 1 bin 10 1123 Dec 5 2003 games/quiz/Makefile -r--r--r-- 1 bin 10 6454 Jan 2 1988 games/quiz/quiz.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/robots +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/robots -r--r--r-- 1 bin 10 2459 Jun 18 1988 games/robots/extern.c -r--r--r-- 1 bin 10 1111 Jun 18 1988 games/robots/flush_in.c -r--r--r-- 1 bin 10 2209 Jun 18 1988 games/robots/init_field.c -r--r--r-- 1 bin 10 3625 Jun 18 1988 games/robots/main.c --r--r--r-- 1 bin 10 4434 Oct 2 1999 games/robots/Makefile +-r--r--r-- 1 bin 10 4434 Dec 5 2003 games/robots/Makefile -r--r--r-- 1 bin 10 1869 Jun 18 1988 games/robots/make_level.c -r--r--r-- 1 bin 10 5372 Jun 18 1988 games/robots/move.c -r--r--r-- 1 bin 10 2844 Jun 18 1988 games/robots/move_robs.c @@ -2198,7 +2198,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/robots -r--r--r-- 1 bin 10 1377 Jun 18 1988 games/robots/rnd_pos.c -r--r--r-- 1 bin 10 2143 Jun 18 1988 games/robots/robots.h -r--r--r-- 1 bin 10 3730 Jun 18 1988 games/robots/score.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/rogue +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/rogue -r--r--r-- 1 bin 10 2408 Dec 10 1987 games/rogue/CHANGES -r--r--r-- 1 bin 10 11653 Nov 25 1987 games/rogue/curses.c -r--r--r-- 1 bin 10 7991 Nov 25 1987 games/rogue/hit.c @@ -2207,7 +2207,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/rogue -r--r--r-- 1 bin 10 17486 Nov 25 1987 games/rogue/level.c -r--r--r-- 1 bin 10 17869 Nov 25 1987 games/rogue/machdep.c -r--r--r-- 1 bin 10 858 Nov 25 1987 games/rogue/main.c --r--r--r-- 1 bin 10 6109 Oct 2 1999 games/rogue/Makefile +-r--r--r-- 1 bin 10 6109 Dec 5 2003 games/rogue/Makefile -r--r--r-- 1 bin 10 6028 Nov 25 1987 games/rogue/message.c -r--r--r-- 1 bin 10 17986 Nov 25 1987 games/rogue/monster.c -r--r--r-- 1 bin 10 10985 Nov 25 1987 games/rogue/move.c @@ -2225,7 +2225,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/rogue -r--r--r-- 1 bin 10 5326 Nov 25 1987 games/rogue/trap.c -r--r--r-- 1 bin 10 11866 Nov 25 1987 games/rogue/use.c -r--r--r-- 1 bin 10 8131 Nov 25 1987 games/rogue/zap.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/sail +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/sail -r--r--r-- 1 bin 10 391 Apr 23 1985 games/sail/:file -r--r--r-- 1 bin 10 62 Apr 23 1985 games/sail/:scene -r--r--r-- 1 bin 10 77 Apr 23 1985 games/sail/:ship @@ -2244,7 +2244,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/sail -r--r--r-- 1 bin 10 2130 Jun 18 1988 games/sail/lo_main.c -r--r--r-- 1 bin 10 1301 Jun 18 1988 games/sail/machdep.h -r--r--r-- 1 bin 10 2156 Jun 18 1988 games/sail/main.c --r--r--r-- 1 bin 10 7332 Oct 2 1999 games/sail/Makefile +-r--r--r-- 1 bin 10 7332 Dec 5 2003 games/sail/Makefile -r--r--r-- 1 bin 10 5245 Jun 18 1988 games/sail/misc.c -r--r--r-- 1 bin 10 1750 Jun 18 1988 games/sail/parties.c -r--r--r-- 1 bin 10 2908 Jun 18 1988 games/sail/player.h @@ -2258,13 +2258,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/sail -r--r--r-- 1 bin 10 5311 Jun 18 1988 games/sail/pl_main.c -r--r--r-- 1 bin 10 8264 Jun 18 1988 games/sail/sync.c -r--r--r-- 1 bin 10 991 Jun 18 1988 games/sail/version.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/snake --r--r--r-- 1 bin 10 2741 Oct 2 1999 games/snake/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/snake +-r--r--r-- 1 bin 10 2741 Dec 5 2003 games/snake/Makefile -r--r--r-- 1 bin 10 12811 Jun 18 1988 games/snake/move.c -r--r--r-- 1 bin 10 16885 Jun 18 1988 games/snake/snake.c -r--r--r-- 1 bin 10 1753 Jun 18 1988 games/snake/snake.h -r--r--r-- 1 bin 10 2557 Jun 18 1988 games/snake/snscore.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 games/trek +drwxr-xr-x 2 bin 10 0 Dec 7 2003 games/trek drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/trek/DOC -r--r--r-- 1 bin 10 5830 Mar 23 1983 games/trek/DOC/read_me.nr -r--r--r-- 1 bin 10 198 Mar 23 1983 games/trek/DOC/things @@ -2300,7 +2300,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/trek/DOC -r--r--r-- 1 bin 10 1901 Jun 18 1988 games/trek/lose.c -r--r--r-- 1 bin 10 2514 Jun 18 1988 games/trek/lrscan.c -r--r--r-- 1 bin 10 6957 Jun 18 1988 games/trek/main.c --r--r--r-- 1 bin 10 3998 Oct 2 1999 games/trek/Makefile +-r--r--r-- 1 bin 10 3998 Dec 5 2003 games/trek/Makefile -r--r--r-- 1 bin 10 5675 Jun 18 1988 games/trek/move.c -r--r--r-- 1 bin 10 2879 Jun 18 1988 games/trek/nova.c -r--r--r-- 1 bin 10 1189 Jun 18 1988 games/trek/out.c @@ -2325,21 +2325,21 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 games/trek/DOC -r--r--r-- 1 bin 10 2121 Jun 18 1988 games/trek/visual.c -r--r--r-- 1 bin 10 4719 Jun 18 1988 games/trek/warp.c -r--r--r-- 1 bin 10 2132 Jun 18 1988 games/trek/win.c +-r--r--r-- 1 bin 10 1673 Sep 14 1999 games/ppt.c -r--r--r-- 1 bin 10 3205 Oct 24 1982 games/arithmetic.c -r--r--r-- 1 bin 10 72580 Oct 24 1982 games/banner.c -r--r--r-- 1 bin 10 1844 Jun 11 1988 games/bcd.c --r--r--r-- 1 bin 10 9156 May 29 1985 games/fish.c -r--r--r-- 1 bin 10 1391 Jun 12 1983 games/factor.c --r--r--r-- 1 bin 10 4353 Oct 2 1999 games/Makefile +-r--r--r-- 1 bin 10 9156 May 29 1985 games/fish.c +-r--r--r-- 1 bin 10 4353 Dec 5 2003 games/Makefile -r--r--r-- 1 bin 10 4472 Jun 27 1988 games/number.c --r--r--r-- 1 bin 10 1673 Sep 14 1999 games/ppt.c -r--r--r-- 1 bin 10 3116 May 29 1985 games/primes.c -r--r--r-- 1 bin 10 5229 Jun 27 1988 games/rain.c -r--r--r-- 1 bin 10 909 Jun 23 1985 games/wargames.sh -r--r--r-- 1 bin 10 5218 Jun 27 1988 games/worm.c -r--r--r-- 1 bin 10 9624 Jun 27 1988 games/worms.c -r--r--r-- 1 bin 10 7091 Oct 24 1982 games/wump.c -drwxr-xr-x 2 bin 10 0 Jan 20 1999 include +drwxr-xr-x 2 bin 10 0 Oct 10 1999 include drwxr-xr-x 2 bin 10 0 Feb 19 1999 include/arpa -r--r--r-- 1 bin 10 2240 Jun 27 1988 include/arpa/ftp.h -r--r--r-- 1 bin 10 1030 Jun 27 1988 include/arpa/inet.h @@ -2347,8 +2347,8 @@ drwxr-xr-x 2 bin 10 0 Feb 19 1999 include/arpa -r--r--r-- 1 bin 10 3887 Jun 27 1988 include/arpa/telnet.h -r--r--r-- 1 bin 10 1903 Jun 27 1988 include/arpa/tftp.h drwxr-xr-x 2 bin 10 0 Jan 17 1999 include/pascal -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 include/pascal/unixio.h -> ../../usr.lib/libpc/unixio.h -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 include/pascal/unixio.i -> ../../usr.lib/libpc/unixio.i +lrwxr-xr-x 1 bin 10 0 Dec 4 2003 include/pascal/unixio.h -> ../../usr.lib/libpc/unixio.h +lrwxr-xr-x 1 bin 10 0 Dec 4 2003 include/pascal/unixio.i -> ../../usr.lib/libpc/unixio.i drwxr-xr-x 2 bin 10 0 Feb 19 1999 include/protocols -r--r--r-- 1 bin 10 2476 Jan 28 1987 include/protocols/dumprestore.h -r--r--r-- 1 bin 10 1831 Feb 19 1999 include/protocols/routed.h @@ -2356,9 +2356,10 @@ drwxr-xr-x 2 bin 10 0 Feb 19 1999 include/protocols -r--r--r-- 1 bin 10 3798 Jul 9 1988 include/protocols/talkd.h -r--r--r-- 1 bin 10 2931 Jun 27 1988 include/protocols/timed.h -r--r--r-- 1 bin 10 3461 Oct 10 1999 include/Makefile +-r--r--r-- 1 bin 10 2564 Oct 10 1999 include/Makefile.install -r--r--r-- 1 bin 10 34213 Jan 20 1999 include/zlib.h -r--r--r-- 1 bin 10 1604 Jan 18 1999 include/zconf.h -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 include/curses.h -> ../usr.lib/libcurses/curses.h +lrwxr-xr-x 1 bin 10 0 Dec 4 2003 include/curses.h -> ../usr.lib/libcurses/curses.h -r--r--r-- 1 bin 10 2334 Apr 7 1987 include/a.out.h -r--r--r-- 1 bin 10 444 May 30 1985 include/ar.h -r--r--r-- 1 bin 10 256 Jan 21 1985 include/assert.h @@ -2368,7 +2369,6 @@ lrwxr-xr-x 1 bin 10 0 Oct 2 1999 include/curses.h -> ../usr. -r--r--r-- 1 bin 10 1289 May 30 1985 include/fstab.h -r--r--r-- 1 bin 10 182 May 3 1983 include/grp.h -r--r--r-- 1 bin 10 334 May 30 1985 include/lastlog.h --r--r--r-- 1 bin 10 2564 Oct 10 1999 include/Makefile.install -r--r--r-- 1 bin 10 646 Sep 11 1985 include/math.h -r--r--r-- 1 bin 10 422 Aug 5 1985 include/memory.h -r--r--r-- 1 bin 10 753 May 30 1985 include/mp.h @@ -2405,42 +2405,41 @@ drwxr-xr-x 2 bin 10 0 Mar 25 1999 lib/c2/c2.tahoe -r--r--r-- 1 bin 10 4508 Jan 15 1988 lib/c2/c2.tahoe/c23.c -r--r--r-- 1 bin 10 1137 Jul 14 1988 lib/c2/c2.tahoe/Makefile -r--r--r-- 1 bin 10 379 Nov 25 1985 lib/c2/c2.tahoe/tokens -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/c2/c2.vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/c2/c2.vax drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/c2/c2.vax/Test.d -r--r--r-- 1 bin 10 53 Jun 8 1982 lib/c2/c2.vax/Test.d/botch.c -r--r--r-- 1 bin 10 266 Jun 8 1982 lib/c2/c2.vax/Test.d/botch.s -r--r--r-- 1 bin 10 59 Jun 8 1982 lib/c2/c2.vax/Test.d/botch1.c -r--r--r-- 1 bin 10 176 Jun 8 1982 lib/c2/c2.vax/Test.d/testfloat.c -r--r--r-- 1 bin 10 434 Jun 8 1982 lib/c2/c2.vax/Test.d/testfloat.s --r--r--r-- 1 bin 10 3563 Aug 22 1985 lib/c2/c2.vax/c2.h --r--r--r-- 1 bin 10 15590 Jun 5 1987 lib/c2/c2.vax/c20.c --r--r--r-- 1 bin 10 38050 May 10 1988 lib/c2/c2.vax/c21.c +-r--r--r-- 1 bin 10 40983 Sep 1 2000 lib/c2/c2.vax/c21.c +-r--r--r-- 1 bin 10 1047 Dec 5 2003 lib/c2/c2.vax/Makefile +-r--r--r-- 1 bin 10 3553 Sep 1 2000 lib/c2/c2.vax/c2.h +-r--r--r-- 1 bin 10 15592 Aug 10 2000 lib/c2/c2.vax/c20.c -r--r--r-- 1 bin 10 480 Mar 19 1985 lib/c2/c2.vax/c22.c --r--r--r-- 1 bin 10 7379 Jun 5 1985 lib/c2/c2.vax/instrs.c2 --r--r--r-- 1 bin 10 1026 Oct 2 1999 lib/c2/c2.vax/Makefile -r--r--r-- 1 bin 10 1075 Jul 9 1988 lib/c2/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/cpp --r--r--r-- 1 bin 10 35682 Jun 7 1988 lib/cpp/cpp.c +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/cpp +-r--r--r-- 1 bin 10 35682 Jan 20 2003 lib/cpp/cpp.c -r--r--r-- 1 bin 10 1209 Jan 2 1983 lib/cpp/cpy.y --r--r--r-- 1 bin 10 1277 Oct 2 1999 lib/cpp/Makefile +-r--r--r-- 1 bin 10 1277 Dec 5 2003 lib/cpp/Makefile -r--r--r-- 1 bin 10 6665 Mar 24 1984 lib/cpp/README -r--r--r-- 1 bin 10 2755 Oct 15 1986 lib/cpp/yylex.c -drwxr-xr-x 2 bin 10 0 Oct 2 1999 lib/libc -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-4.1 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-4.1/compat-4.1.vax -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-4.1/compat-4.1.vax/profiled +drwxr-xr-x 2 bin 10 0 Dec 5 2003 lib/libc +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/compat-4.1 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/compat-4.1/compat-4.1.vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/compat-4.1/compat-4.1.vax/profiled -r--r--r-- 1 bin 10 589 May 30 1985 lib/libc/compat-4.1/compat-4.1.vax/DEFS.h --r--r--r-- 1 bin 10 1681 Oct 2 1999 lib/libc/compat-4.1/compat-4.1.vax/Makefile +-r--r--r-- 1 bin 10 1681 Dec 5 2003 lib/libc/compat-4.1/compat-4.1.vax/Makefile -r--r--r-- 1 bin 10 996 Mar 9 1986 lib/libc/compat-4.1/compat-4.1.vax/reset.c drwxr-xr-x 2 bin 10 0 Mar 25 1999 lib/libc/compat-4.1/compat-4.1.tahoe drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/compat-4.1/compat-4.1.tahoe/profiled -r--r--r-- 1 bin 10 1706 Jul 14 1988 lib/libc/compat-4.1/compat-4.1.tahoe/Makefile -r--r--r-- 1 bin 10 954 Aug 1 1986 lib/libc/compat-4.1/compat-4.1.tahoe/reset.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-4.1/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/compat-4.1/profiled -r--r--r-- 1 bin 10 768 Mar 9 1986 lib/libc/compat-4.1/ftime.c -r--r--r-- 1 bin 10 874 Mar 9 1986 lib/libc/compat-4.1/getpw.c -r--r--r-- 1 bin 10 464 Mar 9 1986 lib/libc/compat-4.1/gtty.c --r--r--r-- 1 bin 10 2409 Oct 2 1999 lib/libc/compat-4.1/Makefile +-r--r--r-- 1 bin 10 2409 Dec 5 2003 lib/libc/compat-4.1/Makefile -r--r--r-- 1 bin 10 612 Mar 9 1986 lib/libc/compat-4.1/nice.c -r--r--r-- 1 bin 10 421 Feb 27 1988 lib/libc/compat-4.1/pause.c -r--r--r-- 1 bin 10 458 Mar 9 1986 lib/libc/compat-4.1/rand.c @@ -2450,25 +2449,25 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-4.1/profile -r--r--r-- 1 bin 10 571 Mar 9 1986 lib/libc/compat-4.1/utime.c -r--r--r-- 1 bin 10 1176 Mar 9 1986 lib/libc/compat-4.1/vlimit.c -r--r--r-- 1 bin 10 1765 Mar 9 1986 lib/libc/compat-4.1/vtimes.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-4.3 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-4.3/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/compat-4.3 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/compat-4.3/profiled -r--r--r-- 1 bin 10 1767 May 19 1988 lib/libc/compat-4.3/ecvt.c -r--r--r-- 1 bin 10 1141 May 19 1988 lib/libc/compat-4.3/gcvt.c --r--r--r-- 1 bin 10 1741 Oct 2 1999 lib/libc/compat-4.3/Makefile +-r--r--r-- 1 bin 10 1741 Dec 5 2003 lib/libc/compat-4.3/Makefile -r--r--r-- 1 bin 10 173 May 19 1988 lib/libc/compat-4.3/sibuf.c -r--r--r-- 1 bin 10 173 May 19 1988 lib/libc/compat-4.3/sobuf.c -r--r--r-- 1 bin 10 512 May 19 1988 lib/libc/compat-4.3/strout.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-sys5 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/compat-sys5 drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/compat-sys5/compat-sys5.tahoe -r--r--r-- 1 bin 10 1635 Jun 27 1988 lib/libc/compat-sys5/compat-sys5.tahoe/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-sys5/compat-sys5.vax -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-sys5/compat-sys5.vax/profiled --r--r--r-- 1 bin 10 1781 Oct 2 1999 lib/libc/compat-sys5/compat-sys5.vax/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/compat-sys5/compat-sys5.vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/compat-sys5/compat-sys5.vax/profiled +-r--r--r-- 1 bin 10 1781 Dec 5 2003 lib/libc/compat-sys5/compat-sys5.vax/Makefile -r--r--r-- 1 bin 10 2197 Jun 27 1988 lib/libc/compat-sys5/compat-sys5.vax/strchr.s -r--r--r-- 1 bin 10 2619 Jun 27 1988 lib/libc/compat-sys5/compat-sys5.vax/strrchr.s -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-sys5/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/compat-sys5/profiled -r--r--r-- 1 bin 10 2471 Jun 27 1988 lib/libc/compat-sys5/getopt.c --r--r--r-- 1 bin 10 3186 Oct 2 1999 lib/libc/compat-sys5/Makefile +-r--r--r-- 1 bin 10 3186 Dec 5 2003 lib/libc/compat-sys5/Makefile -r--r--r-- 1 bin 10 1106 Mar 25 1999 lib/libc/compat-sys5/memccpy.c -r--r--r-- 1 bin 10 1089 Jun 27 1988 lib/libc/compat-sys5/memchr.c -r--r--r-- 1 bin 10 1102 Jun 27 1988 lib/libc/compat-sys5/memcmp.c @@ -2484,7 +2483,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/compat-sys5/profil -r--r--r-- 1 bin 10 1177 Jun 27 1988 lib/libc/compat-sys5/strspn.c -r--r--r-- 1 bin 10 1369 Jun 27 1988 lib/libc/compat-sys5/strtok.c -r--r--r-- 1 bin 10 2390 Jun 27 1988 lib/libc/compat-sys5/tmpnam.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/gen +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/gen drwxr-xr-x 2 bin 10 0 Mar 25 1999 lib/libc/gen/gen.tahoe drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/gen/gen.tahoe/profiled -r--r--r-- 1 bin 10 1119 Jun 27 1988 lib/libc/gen/gen.tahoe/abort.s @@ -2514,8 +2513,8 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/gen/gen.tahoe/prof -r--r--r-- 1 bin 10 1915 Jun 27 1988 lib/libc/gen/gen.tahoe/udiv.s -r--r--r-- 1 bin 10 1945 Jun 27 1988 lib/libc/gen/gen.tahoe/urem.s -r--r--r-- 1 bin 10 1957 Jun 27 1988 lib/libc/gen/gen.tahoe/_setjmp.s -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/gen/gen.vax -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/gen/gen.vax/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/gen/gen.vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/gen/gen.vax/profiled -r--r--r-- 1 bin 10 382 Mar 9 1986 lib/libc/gen/gen.vax/abs.s -r--r--r-- 1 bin 10 601 Mar 9 1986 lib/libc/gen/gen.vax/alloca.s -r--r--r-- 1 bin 10 10635 Jun 27 1988 lib/libc/gen/gen.vax/atof.s @@ -2528,7 +2527,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/gen/gen.vax/profil -r--r--r-- 1 bin 10 2121 Jun 27 1988 lib/libc/gen/gen.vax/index.s -r--r--r-- 1 bin 10 1035 Jun 27 1988 lib/libc/gen/gen.vax/insque.s -r--r--r-- 1 bin 10 2195 Jun 27 1988 lib/libc/gen/gen.vax/ldexp.s --r--r--r-- 1 bin 10 3113 Oct 2 1999 lib/libc/gen/gen.vax/Makefile +-r--r--r-- 1 bin 10 3113 Dec 5 2003 lib/libc/gen/gen.vax/Makefile -r--r--r-- 1 bin 10 1261 Jun 27 1988 lib/libc/gen/gen.vax/modf.s -r--r--r-- 1 bin 10 379 Mar 9 1986 lib/libc/gen/gen.vax/nargs.s -r--r--r-- 1 bin 10 1026 Jun 27 1988 lib/libc/gen/gen.vax/remque.s @@ -2544,7 +2543,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/gen/gen.vax/profil -r--r--r-- 1 bin 10 2090 Mar 9 1986 lib/libc/gen/gen.vax/udiv.s -r--r--r-- 1 bin 10 2203 Mar 9 1986 lib/libc/gen/gen.vax/urem.s -r--r--r-- 1 bin 10 2048 Jun 27 1988 lib/libc/gen/gen.vax/_setjmp.s -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/gen/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/gen/profiled drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/gen/regexp -r--r--r-- 1 bin 10 1777 Sep 30 1987 lib/libc/gen/regexp/Makefile -r--r--r-- 1 bin 10 4350 Sep 30 1987 lib/libc/gen/regexp/README @@ -2592,7 +2591,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/gen/regexp -r--r--r-- 1 bin 10 1067 Apr 26 1986 lib/libc/gen/initgroups.c -r--r--r-- 1 bin 10 698 Jan 27 1987 lib/libc/gen/insque.c -r--r--r-- 1 bin 10 289 Mar 9 1986 lib/libc/gen/isatty.c --r--r--r-- 1 bin 10 11485 Oct 2 1999 lib/libc/gen/Makefile +-r--r--r-- 1 bin 10 11485 Dec 5 2003 lib/libc/gen/Makefile -r--r--r-- 1 bin 10 9802 Mar 9 1986 lib/libc/gen/malloc.c -r--r--r-- 1 bin 10 2447 Jun 27 1988 lib/libc/gen/mktemp.c -r--r--r-- 1 bin 10 10695 Sep 4 1987 lib/libc/gen/ndbm.c @@ -2640,25 +2639,25 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/gen/regexp -r--r--r-- 1 bin 10 996 Mar 9 1986 lib/libc/gen/ualarm.c -r--r--r-- 1 bin 10 1780 Sep 30 1987 lib/libc/gen/usleep.c -r--r--r-- 1 bin 10 506 Mar 9 1986 lib/libc/gen/valloc.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/inet -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/inet/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/inet +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/inet/profiled -r--r--r-- 1 bin 10 2819 Jun 27 1988 lib/libc/inet/inet_addr.c -r--r--r-- 1 bin 10 1367 Jun 27 1988 lib/libc/inet/inet_lnaof.c -r--r--r-- 1 bin 10 1503 Jun 27 1988 lib/libc/inet/inet_makeaddr.c -r--r--r-- 1 bin 10 1976 Jun 27 1988 lib/libc/inet/inet_network.c -r--r--r-- 1 bin 10 1403 Jun 27 1988 lib/libc/inet/inet_netof.c -r--r--r-- 1 bin 10 1316 Jun 27 1988 lib/libc/inet/inet_ntoa.c --r--r--r-- 1 bin 10 2247 Oct 2 1999 lib/libc/inet/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/net -drwxr-xr-x 2 bin 10 0 Oct 2 1999 lib/libc/net/hosttable +-r--r--r-- 1 bin 10 2247 Dec 5 2003 lib/libc/inet/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/net +drwxr-xr-x 2 bin 10 0 Dec 5 2003 lib/libc/net/hosttable drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/net/hosttable/profiled -r--r--r-- 1 bin 10 3010 Jun 27 1988 lib/libc/net/hosttable/gethostent.c -r--r--r-- 1 bin 10 3917 Jun 27 1988 lib/libc/net/hosttable/gethostnamadr.c --r--r--r-- 1 bin 10 1951 Oct 2 1999 lib/libc/net/hosttable/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/net/named -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/net/named/profiled +-r--r--r-- 1 bin 10 1951 Dec 5 2003 lib/libc/net/hosttable/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/net/named +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/net/named/profiled -r--r--r-- 1 bin 10 8505 Jun 27 1988 lib/libc/net/named/gethostnamadr.c --r--r--r-- 1 bin 10 2257 Oct 2 1999 lib/libc/net/named/Makefile +-r--r--r-- 1 bin 10 2257 Dec 5 2003 lib/libc/net/named/Makefile -r--r--r-- 1 bin 10 1290 Jun 27 1988 lib/libc/net/named/sethostent.c drwxr-xr-x 2 bin 10 0 Mar 25 1999 lib/libc/net/net.tahoe drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/net/net.tahoe/profiled @@ -2667,14 +2666,16 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/net/net.tahoe/prof -r--r--r-- 1 bin 10 1875 Jul 14 1988 lib/libc/net/net.tahoe/Makefile -r--r--r-- 1 bin 10 1035 Jun 27 1988 lib/libc/net/net.tahoe/ntohl.s -r--r--r-- 1 bin 10 1037 Jun 27 1988 lib/libc/net/net.tahoe/ntohs.s -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/net/net.vax -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/net/net.vax/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/net/net.vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/net/net.vax/profiled -r--r--r-- 1 bin 10 1073 Jun 27 1988 lib/libc/net/net.vax/htonl.s -r--r--r-- 1 bin 10 1067 Jun 27 1988 lib/libc/net/net.vax/htons.s --r--r--r-- 1 bin 10 1851 Oct 2 1999 lib/libc/net/net.vax/Makefile +-r--r--r-- 1 bin 10 1851 Dec 5 2003 lib/libc/net/net.vax/Makefile -r--r--r-- 1 bin 10 1073 Jun 27 1988 lib/libc/net/net.vax/ntohl.s -r--r--r-- 1 bin 10 1067 Jun 27 1988 lib/libc/net/net.vax/ntohs.s -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/net/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/net/profiled +-r--r--r-- 1 bin 10 5272 Sep 28 1999 lib/libc/net/res_mkquery.c +-r--r--r-- 1 bin 10 6743 Sep 28 1999 lib/libc/net/res_query.c -r--r--r-- 1 bin 10 1374 Jun 27 1988 lib/libc/net/getnetbyname.c -r--r--r-- 1 bin 10 1287 Jun 27 1988 lib/libc/net/getnetbyaddr.c -r--r--r-- 1 bin 10 2531 Jun 27 1988 lib/libc/net/getnetent.c @@ -2686,31 +2687,29 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/net/profiled -r--r--r-- 1 bin 10 2619 Jun 27 1988 lib/libc/net/getservent.c -r--r--r-- 1 bin 10 1768 Jun 27 1988 lib/libc/net/herror.c -r--r--r-- 1 bin 10 3590 Jul 9 1988 lib/libc/net/Make.resolv --r--r--r-- 1 bin 10 5509 Oct 2 1999 lib/libc/net/Makefile +-r--r--r-- 1 bin 10 5509 Dec 5 2003 lib/libc/net/Makefile -r--r--r-- 1 bin 10 6858 Jun 27 1988 lib/libc/net/rcmd.c -r--r--r-- 1 bin 10 6942 Jun 27 1988 lib/libc/net/res_comp.c -r--r--r-- 1 bin 10 9885 Jun 27 1988 lib/libc/net/res_debug.c -r--r--r-- 1 bin 10 4992 Jun 27 1988 lib/libc/net/res_init.c --r--r--r-- 1 bin 10 5272 Sep 28 1999 lib/libc/net/res_mkquery.c --r--r--r-- 1 bin 10 6743 Sep 28 1999 lib/libc/net/res_query.c -r--r--r-- 1 bin 10 8270 Jun 27 1988 lib/libc/net/res_send.c -r--r--r-- 1 bin 10 3093 Jun 27 1988 lib/libc/net/rexec.c -r--r--r-- 1 bin 10 16194 Jun 27 1988 lib/libc/net/ruserpass.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/ns -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/ns/profiled --r--r--r-- 1 bin 10 1696 Oct 2 1999 lib/libc/ns/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/ns +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/ns/profiled +-r--r--r-- 1 bin 10 1696 Dec 5 2003 lib/libc/ns/Makefile -r--r--r-- 1 bin 10 4126 Sep 30 1987 lib/libc/ns/ns_addr.c -r--r--r-- 1 bin 10 1562 Mar 9 1986 lib/libc/ns/ns_ntoa.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/stdio -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/stdio/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/stdio +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/stdio/profiled drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/stdio/stdio.tahoe -r--r--r-- 1 bin 10 1593 Jul 9 1988 lib/libc/stdio/stdio.tahoe/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/stdio/stdio.vax -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/stdio/stdio.vax/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/stdio/stdio.vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/stdio/stdio.vax/profiled -r--r--r-- 1 bin 10 3068 Jun 27 1988 lib/libc/stdio/stdio.vax/fgets.s -r--r--r-- 1 bin 10 3484 Jun 27 1988 lib/libc/stdio/stdio.vax/fputs.s -r--r--r-- 1 bin 10 2606 Jun 27 1988 lib/libc/stdio/stdio.vax/gets.s --r--r--r-- 1 bin 10 1826 Oct 2 1999 lib/libc/stdio/stdio.vax/Makefile +-r--r--r-- 1 bin 10 1826 Dec 5 2003 lib/libc/stdio/stdio.vax/Makefile -r--r--r-- 1 bin 10 3406 Jun 27 1988 lib/libc/stdio/stdio.vax/puts.s -r--r--r-- 1 bin 10 241 Mar 9 1986 lib/libc/stdio/clrerr.c -r--r--r-- 1 bin 10 16131 Jun 27 1988 lib/libc/stdio/doprnt.c @@ -2736,7 +2735,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/stdio/stdio.vax/pr -r--r--r-- 1 bin 10 259 Mar 9 1986 lib/libc/stdio/getchar.c -r--r--r-- 1 bin 10 347 Mar 9 1986 lib/libc/stdio/gets.c -r--r--r-- 1 bin 10 336 Mar 9 1986 lib/libc/stdio/getw.c --r--r--r-- 1 bin 10 5046 Oct 2 1999 lib/libc/stdio/Makefile +-r--r--r-- 1 bin 10 5046 Dec 5 2003 lib/libc/stdio/Makefile -r--r--r-- 1 bin 10 1111 Jun 27 1988 lib/libc/stdio/printf.c -r--r--r-- 1 bin 10 267 Mar 9 1986 lib/libc/stdio/putchar.c -r--r--r-- 1 bin 10 251 Mar 9 1986 lib/libc/stdio/puts.c @@ -2752,7 +2751,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/stdio/stdio.vax/pr -r--r--r-- 1 bin 10 1204 Jun 27 1988 lib/libc/stdio/vsprintf.c drwxr-xr-x 2 bin 10 0 Mar 26 1999 lib/libc/tahoe drwxr-xr-x 2 bin 10 0 Mar 25 1999 lib/libc/tahoe/csu -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 lib/libc/tahoe/csu/gmon.ex -> mon.ex +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 lib/libc/tahoe/csu/gmon.ex -> mon.ex -r--r--r-- 1 bin 10 627 Aug 1 1986 lib/libc/tahoe/csu/crt0.s -r--r--r-- 1 bin 10 411 Aug 1 1986 lib/libc/tahoe/csu/gcrt0.h -r--r--r-- 1 bin 10 6852 Aug 27 1987 lib/libc/tahoe/csu/gmon.c @@ -2912,16 +2911,16 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/libc/tahoe/sys/profiled -r--r--r-- 1 bin 10 1129 Mar 26 1999 lib/libc/tahoe/DEFS.h -r--r--r-- 1 bin 10 1302 Mar 26 1999 lib/libc/tahoe/Makefile drwxr-xr-x 2 bin 10 0 Mar 25 1999 lib/libc/vax -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/vax/csu +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/vax/csu -r--r--r-- 1 bin 10 2842 Jan 18 1988 lib/libc/vax/csu/crt0.c -r--r--r-- 1 bin 10 7199 Aug 27 1987 lib/libc/vax/csu/gmon.c -r--r--r-- 1 bin 10 434 Jul 25 1983 lib/libc/vax/csu/gmon.ex -r--r--r-- 1 bin 10 1951 May 30 1985 lib/libc/vax/csu/gmon.h --r--r--r-- 1 bin 10 2446 Oct 2 1999 lib/libc/vax/csu/Makefile +-r--r--r-- 1 bin 10 2446 Dec 5 2003 lib/libc/vax/csu/Makefile -r--r--r-- 1 bin 10 3389 Mar 9 1986 lib/libc/vax/csu/mon.c -r--r--r-- 1 bin 10 388 Jul 25 1983 lib/libc/vax/csu/mon.ex -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/vax/sys -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/vax/sys/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/vax/sys +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/libc/vax/sys/profiled -r--r--r-- 1 bin 10 991 Jun 27 1988 lib/libc/vax/sys/accept.s -r--r--r-- 1 bin 10 991 Jun 27 1988 lib/libc/vax/sys/access.s -r--r--r-- 1 bin 10 987 Jun 27 1988 lib/libc/vax/sys/acct.s @@ -2978,7 +2977,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/vax/sys/profiled -r--r--r-- 1 bin 10 991 Jun 27 1988 lib/libc/vax/sys/listen.s -r--r--r-- 1 bin 10 989 Jun 27 1988 lib/libc/vax/sys/lseek.s -r--r--r-- 1 bin 10 989 Jun 27 1988 lib/libc/vax/sys/lstat.s --r--r--r-- 1 bin 10 10205 Oct 2 1999 lib/libc/vax/sys/Makefile +-r--r--r-- 1 bin 10 10205 Dec 5 2003 lib/libc/vax/sys/Makefile -r--r--r-- 1 bin 10 989 Jun 27 1988 lib/libc/vax/sys/mkdir.s -r--r--r-- 1 bin 10 989 Jun 27 1988 lib/libc/vax/sys/mknod.s -r--r--r-- 1 bin 10 998 Jun 27 1988 lib/libc/vax/sys/mount.s @@ -3045,11 +3044,11 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/libc/vax/sys/profiled -r--r--r-- 1 bin 10 841 May 30 1985 lib/libc/vax/DEFS.h -r--r--r-- 1 bin 10 1225 Jul 9 1988 lib/libc/vax/Makefile -r--r--r-- 1 bin 10 3717 Jul 9 1988 lib/libc/Makefile -drwxr-xr-x 2 bin 10 0 Mar 25 1999 lib/mip +drwxr-xr-x 2 bin 10 0 Dec 23 2000 lib/mip +-r--r--r-- 1 bin 10 1086 Dec 23 2000 lib/mip/config.h -r--r--r-- 1 bin 10 12284 Dec 9 1987 lib/mip/allo.c -r--r--r-- 1 bin 10 21738 Dec 9 1987 lib/mip/cgram.y -r--r--r-- 1 bin 10 7608 May 10 1988 lib/mip/common.c --r--r--r-- 1 bin 10 1086 Aug 22 1985 lib/mip/config.h -r--r--r-- 1 bin 10 3198 Jun 8 1982 lib/mip/CONVERT -r--r--r-- 1 bin 10 1038 Jun 8 1982 lib/mip/FCONVERT -r--r--r-- 1 bin 10 6142 Oct 15 1986 lib/mip/fort.c @@ -3080,21 +3079,21 @@ drwxr-xr-x 2 bin 10 0 Mar 25 1999 lib/pcc/pcc.tahoe -r--r--r-- 1 bin 10 47 Oct 15 1986 lib/pcc/pcc.tahoe/rel.c -r--r--r-- 1 bin 10 18365 Dec 10 1987 lib/pcc/pcc.tahoe/stab.c -r--r--r-- 1 bin 10 20232 Jul 14 1988 lib/pcc/pcc.tahoe/table.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 lib/pcc/pcc.vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 lib/pcc/pcc.vax drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/pcc/pcc.vax/VMS -r--r--r-- 1 bin 10 942 Jun 8 1982 lib/pcc/pcc.vax/VMS/as.yh -r--r--r-- 1 bin 10 5843 Jun 8 1982 lib/pcc/pcc.vax/VMS/filter.c -r--r--r-- 1 bin 10 2385 Jun 8 1982 lib/pcc/pcc.vax/VMS/jeql.mar -r--r--r-- 1 bin 10 649 Jun 8 1982 lib/pcc/pcc.vax/VMS/README -r--r--r-- 1 bin 10 1341 Jun 8 1982 lib/pcc/pcc.vax/VMS/stdio.h +-r--r--r-- 1 bin 10 12058 Aug 30 2000 lib/pcc/pcc.vax/code.c +-rw-r--r-- 1 bin 10 24636 May 20 1988 lib/pcc/pcc.vax/LOG -rwxr-xr-x 1 bin 10 151 Apr 21 1985 lib/pcc/pcc.vax/:yyfix --r--r--r-- 1 bin 10 11101 Jun 1 1988 lib/pcc/pcc.vax/code.c -r--r--r-- 1 bin 10 2047 Jan 7 1986 lib/pcc/pcc.vax/DEBUGS -r--r--r-- 1 bin 10 143 Mar 19 1985 lib/pcc/pcc.vax/fort.h -r--r--r-- 1 bin 10 6966 Jan 7 1986 lib/pcc/pcc.vax/INFO -r--r--r-- 1 bin 10 9872 May 10 1988 lib/pcc/pcc.vax/local.c -r--r--r-- 1 bin 10 37700 May 10 1988 lib/pcc/pcc.vax/local2.c --rw-r--r-- 1 bin 10 24636 May 20 1988 lib/pcc/pcc.vax/LOG -r--r--r-- 1 bin 10 1460 Aug 23 1985 lib/pcc/pcc.vax/mac2defs.h -r--r--r-- 1 bin 10 2082 Jun 1 1988 lib/pcc/pcc.vax/macdefs.h -r--r--r-- 1 bin 10 5606 Dec 10 1987 lib/pcc/pcc.vax/Makefile @@ -3108,7 +3107,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 lib/pcc/pcc.vax/VMS -r--r--r-- 1 bin 10 757 May 30 1987 lib/Makefile drwxr-xr-x 2 bin 10 0 Jan 17 1999 local -r--r--r-- 1 bin 10 1629 Nov 5 1987 local/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man +drwxr-xr-x 2 bin 10 0 Dec 5 2003 man drwxr-xr-x 2 bin 10 0 May 9 1999 man/man0 -r--r--r-- 1 bin 10 10 Oct 10 1986 man/man0/break -r--r--r-- 1 bin 10 2133 Oct 10 1986 man/man0/cshcmd @@ -3140,13 +3139,13 @@ drwxr-xr-x 2 bin 10 0 May 9 1999 man/man0 -r--r--r-- 1 bin 10 1421 Oct 10 1986 man/man0/tocx6 -r--r--r-- 1 bin 10 453 Oct 10 1986 man/man0/tocx7 -r--r--r-- 1 bin 10 5016 Oct 10 1986 man/man0/tocx8 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man1 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man1 -r--r--r-- 1 bin 10 16832 May 14 1999 man/man1/adb.1 -r--r--r-- 1 bin 10 2969 May 14 1999 man/man1/addbib.1 -r--r--r-- 1 bin 10 1595 May 14 1999 man/man1/apply.1 -r--r--r-- 1 bin 10 1321 May 14 1999 man/man1/apropos.1 -r--r--r-- 1 bin 10 3304 May 14 1999 man/man1/ar.1 --r--r--r-- 1 bin 10 2298 May 14 1999 man/man1/as.1 +-r--r--r-- 1 bin 10 2128 Nov 9 2003 man/man1/as.1 -r--r--r-- 1 bin 10 3383 May 14 1999 man/man1/at.1 -r--r--r-- 1 bin 10 957 May 14 1999 man/man1/atq.1 -r--r--r-- 1 bin 10 1080 May 14 1999 man/man1/atrm.1 @@ -3159,7 +3158,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man1 -r--r--r-- 1 bin 10 1391 May 14 1999 man/man1/calendar.1 -r--r--r-- 1 bin 10 1901 May 14 1999 man/man1/cat.1 -r--r--r-- 1 bin 10 300 May 14 1999 man/man1/cb.1 --r--r--r-- 1 bin 10 6064 May 14 1999 man/man1/cc.1 +-r--r--r-- 1 bin 10 6624 Nov 9 2003 man/man1/cc.1 -r--r--r-- 1 bin 10 924 May 14 1999 man/man1/cd.1 -r--r--r-- 1 bin 10 2582 May 14 1999 man/man1/checknr.1 -r--r--r-- 1 bin 10 990 May 14 1999 man/man1/chgrp.1 @@ -3171,12 +3170,12 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man1 -r--r--r-- 1 bin 10 2668 May 14 1999 man/man1/w.1 -r--r--r-- 1 bin 10 771 May 14 1999 man/man1/colrm.1 -r--r--r-- 1 bin 10 740 May 14 1999 man/man1/comm.1 --r--r--r-- 1 bin 10 5109 May 14 1999 man/man1/compress.1 +-r--r--r-- 1 bin 10 7419 Jun 3 2002 man/man1/compress.1 -r--r--r-- 1 bin 10 1390 May 14 1999 man/man1/cp.1 -r--r--r-- 1 bin 10 2414 May 14 1999 man/man1/crypt.1 -r--r--r-- 1 bin 10 65404 May 14 1999 man/man1/csh.1 -r--r--r-- 1 bin 10 4871 May 14 1999 man/man1/ctags.1 --r--r--r-- 1 bin 10 2681 May 14 1999 man/man1/date.1 +-r--r--r-- 1 bin 10 2656 Nov 8 2003 man/man1/date.1 -r--r--r-- 1 bin 10 18459 May 14 1999 man/man1/dbx.1 -r--r--r-- 1 bin 10 4299 May 14 1999 man/man1/dc.1 -r--r--r-- 1 bin 10 3952 May 14 1999 man/man1/dd.1 @@ -3205,7 +3204,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man1 -r--r--r-- 1 bin 10 4312 May 14 1999 man/man1/fpr.1 -r--r--r-- 1 bin 10 697 May 14 1999 man/man1/from.1 -r--r--r-- 1 bin 10 1798 May 14 1999 man/man1/fsplit.1 --r--r--r-- 1 bin 10 24190 May 14 1999 man/man1/ftp.1 +-r--r--r-- 1 bin 10 24622 Jun 13 2003 man/man1/ftp.1 -r--r--r-- 1 bin 10 690 May 14 1999 man/man1/gcore.1 -r--r--r-- 1 bin 10 6333 May 14 1999 man/man1/gprof.1 -r--r--r-- 1 bin 10 2547 May 14 1999 man/man1/graph.1 @@ -3227,7 +3226,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man1 -r--r--r-- 1 bin 10 1324 May 14 1999 man/man1/leave.1 -r--r--r-- 1 bin 10 1591 May 14 1999 man/man1/lex.1 -r--r--r-- 1 bin 10 4159 May 14 1999 man/man1/lint.1 --r--r--r-- 1 bin 10 6424 Sep 30 1999 man/man1/Makefile +-r--r--r-- 1 bin 10 6454 Jun 13 2003 man/man1/Makefile -r--r--r-- 1 bin 10 2094 May 14 1999 man/man1/ln.1 -r--r--r-- 1 bin 10 1032 May 14 1999 man/man1/lock.1 -r--r--r-- 1 bin 10 1875 May 14 1999 man/man1/logger.1 @@ -3291,7 +3290,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man1 -r--r--r-- 1 bin 10 2644 May 14 1999 man/man1/rsh.1 -r--r--r-- 1 bin 10 1048 May 14 1999 man/man1/ruptime.1 -r--r--r-- 1 bin 10 1071 May 14 1999 man/man1/rwho.1 --r--r--r-- 1 bin 10 6353 May 14 1999 man/man1/sccs.1 +-r--r--r-- 1 bin 10 6361 Nov 10 2003 man/man1/sccs.1 -r--r--r-- 1 bin 10 1041 May 14 1999 man/man1/script.1 -r--r--r-- 1 bin 10 6277 May 14 1999 man/man1/sed.1 -r--r--r-- 1 bin 10 1146 May 14 1999 man/man1/sendbug.1 @@ -3357,7 +3356,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man1 -r--r--r-- 1 bin 10 585 May 14 1999 man/man1/wait.1 -r--r--r-- 1 bin 10 724 May 14 1999 man/man1/wall.1 -r--r--r-- 1 bin 10 747 May 14 1999 man/man1/wc.1 --r--r--r-- 1 bin 10 12600 May 14 1999 man/man1/admin.1 +-r--r--r-- 1 bin 10 1379 Nov 10 2003 man/man1/what.1 -r--r--r-- 1 bin 10 1017 May 14 1999 man/man1/whatis.1 -r--r--r-- 1 bin 10 1912 May 14 1999 man/man1/whereis.1 -r--r--r-- 1 bin 10 975 May 14 1999 man/man1/which.1 @@ -3370,19 +3369,20 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man1 -r--r--r-- 1 bin 10 2739 May 14 1999 man/man1/xstr.1 -r--r--r-- 1 bin 10 1937 May 14 1999 man/man1/yacc.1 -r--r--r-- 1 bin 10 437 May 14 1999 man/man1/yes.1 --r--r--r-- 1 bin 10 2114 May 14 1999 man/man1/bdiff.1 --r--r--r-- 1 bin 10 2751 May 14 1999 man/man1/chghist.1 --r--r--r-- 1 bin 10 3496 May 14 1999 man/man1/comb.1 --r--r--r-- 1 bin 10 6901 May 14 1999 man/man1/delta.1 --r--r--r-- 1 bin 10 30114 May 14 1999 man/man1/get.1 --r--r--r-- 1 bin 10 1701 May 14 1999 man/man1/help.1 --r--r--r-- 1 bin 10 8479 May 14 1999 man/man1/prt.1 --r--r--r-- 1 bin 10 2156 May 14 1999 man/man1/rmdel.1 --r--r--r-- 1 bin 10 1768 May 14 1999 man/man1/sccsdiff.1 --r--r--r-- 1 bin 10 1367 May 14 1999 man/man1/what.1 +-r--r--r-- 1 bin 10 12612 Nov 10 2003 man/man1/admin.1 +-r--r--r-- 1 bin 10 2118 Nov 10 2003 man/man1/bdiff.1 +-r--r--r-- 1 bin 10 2759 Nov 10 2003 man/man1/chghist.1 +-r--r--r-- 1 bin 10 3504 Nov 10 2003 man/man1/comb.1 +-r--r--r-- 1 bin 10 6913 Nov 10 2003 man/man1/delta.1 +-r--r--r-- 1 bin 10 8871 Nov 10 2003 man/man1/prt.1 +-r--r--r-- 1 bin 10 30126 Nov 10 2003 man/man1/get.1 +-r--r--r-- 1 bin 10 2164 Nov 10 2003 man/man1/rmdel.1 +-r--r--r-- 1 bin 10 1776 Nov 10 2003 man/man1/sccsdiff.1 -r--r--r-- 1 bin 10 3632 Sep 28 1999 man/man1/cpio.1 -r--r--r-- 1 bin 10 7745 Nov 21 1987 man/man1/nslookup.1 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man2 +-r--r--r-- 1 bin 10 655 Jun 13 2003 man/man1/gzcompat.1 +-r--r--r-- 1 bin 10 1739 Jun 13 2003 man/man1/sccshelp.1 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man2 -r--r--r-- 1 bin 10 2549 May 31 1999 man/man2/accept.2 -r--r--r-- 1 bin 10 2958 May 31 1999 man/man2/access.2 -r--r--r-- 1 bin 10 2198 May 31 1999 man/man2/acct.2 @@ -3472,7 +3472,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man2 -r--r--r-- 1 bin 10 3726 May 31 1999 man/man2/write.2 -r--r--r-- 1 bin 10 1793 May 31 1999 man/man2/vadvise.2 -r--r--r-- 1 bin 10 4726 May 31 1999 man/man2/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man3 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man3 -r--r--r-- 1 bin 10 511 Jun 1 1999 man/man3/abort.3 -r--r--r-- 1 bin 10 455 Jun 1 1999 man/man3/abs.3 -r--r--r-- 1 bin 10 1133 Jun 1 1999 man/man3/alarm.3 @@ -3584,7 +3584,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man3 -r--r--r-- 1 bin 10 2705 Jun 1 1999 man/man3/varargs.3 -r--r--r-- 1 bin 10 2501 Jun 1 1999 man/man3/vlimit.3 -r--r--r-- 1 bin 10 2743 Jun 1 1999 man/man3/vtimes.3 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man3f +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man3f -r--r--r-- 1 bin 10 1238 Jun 1 1999 man/man3f/abort.3 -r--r--r-- 1 bin 10 1147 Jun 1 1999 man/man3f/access.3 -r--r--r-- 1 bin 10 983 Jun 1 1999 man/man3f/alarm.3 @@ -3636,8 +3636,8 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man3f -r--r--r-- 1 bin 10 863 Jun 1 1999 man/man3f/ttynam.3 -r--r--r-- 1 bin 10 846 Jun 1 1999 man/man3f/unlink.3 -r--r--r-- 1 bin 10 982 Jun 1 1999 man/man3f/wait.3 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man4 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man4/tahoe +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man4 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man4/tahoe -r--r--r-- 1 bin 10 2207 Jun 1 1999 man/man4/tahoe/ace.4 -r--r--r-- 1 bin 10 3053 Jun 1 1999 man/man4/tahoe/autoconf.4 -r--r--r-- 1 bin 10 1298 Jun 1 1999 man/man4/tahoe/cons.4 @@ -3654,7 +3654,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man4/tahoe -r--r--r-- 1 bin 10 3970 Jun 1 1999 man/man4/tahoe/mtio.4 -r--r--r-- 1 bin 10 7120 Jun 1 1999 man/man4/tahoe/vd.4 -r--r--r-- 1 bin 10 2927 Jun 1 1999 man/man4/tahoe/vx.4 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man4/vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man4/vax -r--r--r-- 1 bin 10 2007 Jun 1 1999 man/man4/vax/acc.4 -r--r--r-- 1 bin 10 1021 Jun 1 1999 man/man4/vax/ad.4 -r--r--r-- 1 bin 10 4555 Jun 1 1999 man/man4/vax/autoconf.4 @@ -3728,7 +3728,8 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man4/vax -r--r--r-- 1 bin 10 3917 Jun 1 1999 man/man4/tcp.4 -r--r--r-- 1 bin 10 31744 Jun 1 1999 man/man4/tty.4 -r--r--r-- 1 bin 10 2248 Jun 1 1999 man/man4/udp.4 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man5 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man5 +-r--r--r-- 1 bin 10 1405 Sep 28 1999 man/man5/cpio.5 -r--r--r-- 1 bin 10 5217 Jun 1 1999 man/man5/sccsfile.5 -r--r--r-- 1 bin 10 8155 Jun 1 1999 man/man5/a.out.5 -r--r--r-- 1 bin 10 779 Jun 1 1999 man/man5/acct.5 @@ -3776,8 +3777,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man5 -r--r--r-- 1 bin 10 1823 Jun 1 1999 man/man5/vfont.5 -r--r--r-- 1 bin 10 3834 Jun 1 1999 man/man5/vgrindefs.5 -r--r--r-- 1 bin 10 2294 Mar 11 1987 man/man5/tzfile.5 --r--r--r-- 1 bin 10 1405 Sep 28 1999 man/man5/cpio.5 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man6 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man6 -r--r--r-- 1 bin 10 765 Jun 2 1999 man/man6/aardvark.6 -r--r--r-- 1 bin 10 619 Jun 2 1999 man/man6/adventure.6 -r--r--r-- 1 bin 10 1729 Jun 2 1999 man/man6/arithmetic.6 @@ -3812,7 +3812,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man6 -r--r--r-- 1 bin 10 1373 Jun 2 1999 man/man6/worm.6 -r--r--r-- 1 bin 10 766 Jun 2 1999 man/man6/wump.6 -r--r--r-- 1 bin 10 1104 Jun 2 1999 man/man6/zork.6 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man7 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man7 -r--r--r-- 1 bin 10 2426 Jun 2 1999 man/man7/ascii.7 -r--r--r-- 1 bin 10 2405 Jun 2 1999 man/man7/environ.7 -r--r--r-- 1 bin 10 4645 Jun 2 1999 man/man7/eqnchar.7 @@ -3825,15 +3825,15 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man7 -r--r--r-- 1 bin 10 5834 Jun 2 1999 man/man7/me.7 -r--r--r-- 1 bin 10 8077 Jun 2 1999 man/man7/ms.7 -r--r--r-- 1 bin 10 1721 Jun 2 1999 man/man7/term.7 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man8 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man8/tahoe +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man8 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man8/tahoe -r--r--r-- 1 bin 10 6983 Jun 3 1999 man/man8/tahoe/crash.8 -r--r--r-- 1 bin 10 1511 Jun 3 1999 man/man8/tahoe/dlmpcc.8 -r--r--r-- 1 bin 10 1093 Jun 3 1999 man/man8/tahoe/enpload.8 -r--r--r-- 1 bin 10 1193 Jul 9 1988 man/man8/tahoe/Makefile -r--r--r-- 1 bin 10 4192 Jun 3 1999 man/man8/tahoe/reboot.8 -r--r--r-- 1 bin 10 18240 Jun 3 1999 man/man8/tahoe/vdformat.8 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man8/vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 man/man8/vax -r--r--r-- 1 bin 10 3439 Jun 3 1999 man/man8/vax/arff.8 -r--r--r-- 1 bin 10 2127 Jun 3 1999 man/man8/vax/drtest.8 -r--r--r-- 1 bin 10 4631 Jun 3 1999 man/man8/vax/bad144.8 @@ -3842,6 +3842,9 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man8/vax -r--r--r-- 1 bin 10 1299 Jun 3 1999 man/man8/vax/Makefile -r--r--r-- 1 bin 10 8326 Jun 3 1999 man/man8/vax/reboot.8 -r--r--r-- 1 bin 10 1562 Jun 3 1999 man/man8/vax/rxformat.8 +-r--r--r-- 1 bin 10 3230 Jan 25 2003 man/man8/Makefile +-r--r--r-- 1 bin 10 956 Mar 4 1987 man/man8/zdump.8 +-r--r--r-- 1 bin 10 7057 Mar 29 1987 man/man8/zic.8 -r--r--r-- 1 bin 10 1347 Jun 3 1999 man/man8/ac.8 -r--r--r-- 1 bin 10 3893 Jun 3 1999 man/man8/adduser.8 -r--r--r-- 1 bin 10 1971 Jun 3 1999 man/man8/arp.8 @@ -3881,7 +3884,6 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man8/vax -r--r--r-- 1 bin 10 3896 Jun 3 1999 man/man8/lpc.8 -r--r--r-- 1 bin 10 5602 Jun 3 1999 man/man8/lpd.8 -r--r--r-- 1 bin 10 1605 Jun 3 1999 man/man8/makedev.8 --r--r--r-- 1 bin 10 3230 Sep 29 1999 man/man8/Makefile -r--r--r-- 1 bin 10 1535 Jun 3 1999 man/man8/makekey.8 -r--r--r-- 1 bin 10 1344 Jun 3 1999 man/man8/mkhosts.8 -r--r--r-- 1 bin 10 878 Jun 3 1999 man/man8/mknod.8 @@ -3895,9 +3897,9 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 man/man8/vax -r--r--r-- 1 bin 10 2457 Jun 3 1999 man/man8/ping.8 -r--r--r-- 1 bin 10 7725 Jun 3 1999 man/man8/pstat.8 -r--r--r-- 1 bin 10 994 Jun 3 1999 man/man8/quot.8 --r--r--r-- 1 bin 10 1684 Jun 3 1999 man/man8/rc.8 -r--r--r-- 1 bin 10 2623 Jun 3 1999 man/man8/quotacheck.8 -r--r--r-- 1 bin 10 2348 Jun 3 1999 man/man8/quotaon.8 +-r--r--r-- 1 bin 10 1684 Jun 3 1999 man/man8/rc.8 -r--r--r-- 1 bin 10 877 Jun 3 1999 man/man8/rdump.8 -r--r--r-- 1 bin 10 2172 Jun 3 1999 man/man8/renice.8 -r--r--r-- 1 bin 10 1590 Jun 3 1999 man/man8/repquota.8 @@ -3972,13 +3974,13 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 man/tools -r--r--r-- 1 bin 10 109 Aug 10 1987 man/man.template -r--r--r-- 1 bin 10 873 Jul 14 1988 man/manroff drwxr-xr-x 2 bin 10 0 Sep 26 1999 old -drwxr-xr-x 2 bin 10 0 Oct 3 1999 old/compact +drwxr-xr-x 2 bin 10 0 Dec 7 2003 old/compact -r--r--r-- 1 bin 10 88 Feb 11 1983 old/compact/ccat.sh -rw-r--r-- 1 bin 10 3123 Dec 6 1987 old/compact/compact.0 -r--r--r-- 1 bin 10 2703 Oct 10 1986 old/compact/compact.1 -r--r--r-- 1 bin 10 6848 Aug 25 1984 old/compact/compact.c -r--r--r-- 1 bin 10 958 Aug 25 1984 old/compact/compact.h --r--r--r-- 1 bin 10 2216 Oct 2 1999 old/compact/Makefile +-r--r--r-- 1 bin 10 2216 Dec 5 2003 old/compact/Makefile -r--r--r-- 1 bin 10 2931 Aug 25 1984 old/compact/tree.c -r--r--r-- 1 bin 10 4856 Dec 21 1987 old/compact/uncompact.c drwxr-xr-x 2 bin 10 0 May 7 1999 old/dump.4.1 @@ -4284,33 +4286,6 @@ drwxr-xr-x 2 bin 10 0 May 7 1999 old/libm/libm.4.3/profiled -r--r--r-- 1 bin 10 13684 May 7 1999 old/libm/libm.4.3/README -r--r--r-- 1 bin 10 3604 May 7 1999 old/libm/libm.4.3/sinh.c -r--r--r-- 1 bin 10 2480 May 7 1999 old/libm/libm.4.3/tanh.c --r--r--r-- 1 bin 10 7380 May 7 1999 old/dnd.c --r--r--r-- 1 bin 10 748 May 28 1985 old/mklost+found.sh --r--r--r-- 1 bin 10 2127 Oct 21 1982 old/1kfix.c --r--r--r-- 1 bin 10 19992 Oct 21 1982 old/512restor.c --r--r--r-- 1 bin 10 18912 May 14 1986 old/analyze.c --r--r--r-- 1 bin 10 1977 Apr 28 1983 old/arcv.c --r--r--r-- 1 bin 10 521 Jun 8 1982 old/call.c --r--r--r-- 1 bin 10 3082 Oct 21 1982 old/cpnull.c --r--r--r-- 1 bin 10 17126 Oct 21 1982 old/cu.c --rwxr-xr-x 1 bin 10 58 Jun 8 1982 old/cxref.sh --rwxr-xr-x 1 bin 10 106 Jun 8 1982 old/diffdir.sh --r--r--r-- 1 bin 10 5320 Jul 2 1983 old/fcvt.c --rwxr-xr-x 1 bin 10 50 Feb 27 1983 old/iul.sh --rwxr-xr-x 1 bin 10 36 Jun 8 1982 old/lnall.sh --r--r--r-- 1 bin 10 585 Dec 12 1987 old/Makefile --r--r--r-- 1 bin 10 1113 Oct 13 1982 old/num.c --r--r--r-- 1 bin 10 78 Mar 24 1985 old/print.sh --r--r--r-- 1 bin 10 1372 May 31 1985 old/prmail.c --r--r--r-- 1 bin 10 7072 Jun 8 1982 old/pti.c --r--r--r-- 1 bin 10 11759 Oct 21 1982 old/regexp.c --r--r--r-- 1 bin 10 989 Oct 21 1982 old/retest.c --r--r--r-- 1 bin 10 272 Jun 8 1982 old/rewind.c --r--r--r-- 1 bin 10 401 Oct 21 1982 old/rfc678.c --rwxr-xr-x 1 bin 10 35 May 25 1983 old/see.sh --r--r--r-- 1 bin 10 1086 Jun 8 1982 old/ssp.c --rwxr-xr-x 1 bin 10 87 Jun 8 1982 old/tra.sh --rw-r--r-- 1 bin 10 101 Jun 8 1982 old/trman.sh drwxr-xr-x 2 bin 10 0 Sep 16 1999 old/rogue -r--r--r-- 1 bin 10 641 Jul 19 1992 old/rogue/Makefile -r--r--r-- 1 bin 10 8819 Sep 16 1999 old/rogue/machdep.c @@ -4368,24 +4343,51 @@ drwxr-xr-x 2 bin 10 0 Sep 24 1999 old/berknet -r--r--r-- 1 bin 10 5344 Sep 26 1999 old/catman.c -r--r--r-- 1 bin 10 10107 Sep 26 1999 old/configttys.c -r--r--r-- 1 bin 10 488 Sep 26 1999 old/gets.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/compress --r--r--r-- 1 bin 10 43155 Jan 20 1999 ucb/compress/compress.c --r--r--r-- 1 bin 10 1437 Oct 2 1999 ucb/compress/Makefile --r--r--r-- 1 bin 10 3577 Jan 21 1999 ucb/compress/gzcompat.c +-r--r--r-- 1 bin 10 7380 May 7 1999 old/dnd.c +-r--r--r-- 1 bin 10 748 May 28 1985 old/mklost+found.sh +-r--r--r-- 1 bin 10 2127 Oct 21 1982 old/1kfix.c +-r--r--r-- 1 bin 10 19992 Oct 21 1982 old/512restor.c +-r--r--r-- 1 bin 10 18912 May 14 1986 old/analyze.c +-r--r--r-- 1 bin 10 1977 Apr 28 1983 old/arcv.c +-r--r--r-- 1 bin 10 521 Jun 8 1982 old/call.c +-r--r--r-- 1 bin 10 3082 Oct 21 1982 old/cpnull.c +-r--r--r-- 1 bin 10 17126 Oct 21 1982 old/cu.c +-rwxr-xr-x 1 bin 10 58 Jun 8 1982 old/cxref.sh +-rwxr-xr-x 1 bin 10 106 Jun 8 1982 old/diffdir.sh +-r--r--r-- 1 bin 10 5320 Jul 2 1983 old/fcvt.c +-rwxr-xr-x 1 bin 10 50 Feb 27 1983 old/iul.sh +-rwxr-xr-x 1 bin 10 36 Jun 8 1982 old/lnall.sh +-r--r--r-- 1 bin 10 585 Dec 12 1987 old/Makefile +-r--r--r-- 1 bin 10 1113 Oct 13 1982 old/num.c +-r--r--r-- 1 bin 10 78 Mar 24 1985 old/print.sh +-r--r--r-- 1 bin 10 1372 May 31 1985 old/prmail.c +-r--r--r-- 1 bin 10 7072 Jun 8 1982 old/pti.c +-r--r--r-- 1 bin 10 11759 Oct 21 1982 old/regexp.c +-r--r--r-- 1 bin 10 989 Oct 21 1982 old/retest.c +-r--r--r-- 1 bin 10 272 Jun 8 1982 old/rewind.c +-r--r--r-- 1 bin 10 401 Oct 21 1982 old/rfc678.c +-rwxr-xr-x 1 bin 10 35 May 25 1983 old/see.sh +-r--r--r-- 1 bin 10 1086 Jun 8 1982 old/ssp.c +-rwxr-xr-x 1 bin 10 87 Jun 8 1982 old/tra.sh +-rw-r--r-- 1 bin 10 101 Jun 8 1982 old/trman.sh +drwxr-xr-x 2 bin 10 0 Dec 5 2003 ucb +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/compress +-r--r--r-- 1 bin 10 44285 Jan 30 2003 ucb/compress/compress.c +-r--r--r-- 1 bin 10 1437 Dec 5 2003 ucb/compress/Makefile +-r--r--r-- 1 bin 10 3991 Dec 22 2000 ucb/compress/gzcompat.c -r--r--r-- 1 bin 10 11259 Sep 17 1985 ucb/compress/README -r--r--r-- 1 bin 10 1824 Sep 17 1985 ucb/compress/usermem.sh -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/ctags +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/ctags -r--r--r-- 1 bin 10 7709 Jul 15 1999 ucb/ctags/C.c -r--r--r-- 1 bin 10 5290 Jul 15 1999 ucb/ctags/ctags.c -r--r--r-- 1 bin 10 1424 Jul 15 1999 ucb/ctags/ctags.h -r--r--r-- 1 bin 10 2281 Jul 15 1999 ucb/ctags/fortran.c -r--r--r-- 1 bin 10 1375 Jul 15 1999 ucb/ctags/lisp.c --r--r--r-- 1 bin 10 1513 Oct 2 1999 ucb/ctags/Makefile +-r--r--r-- 1 bin 10 1513 Dec 5 2003 ucb/ctags/Makefile -r--r--r-- 1 bin 10 2341 Jul 15 1999 ucb/ctags/print.c -r--r--r-- 1 bin 10 2202 Jul 15 1999 ucb/ctags/tree.c -r--r--r-- 1 bin 10 2087 Jul 15 1999 ucb/ctags/yacc.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/dbx +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/dbx drwxr-xr-x 2 bin 10 0 Jul 15 1999 ucb/dbx/tests drwxr-xr-x 2 bin 10 0 Jul 15 1999 ucb/dbx/tests/cc drwxr-xr-x 2 bin 10 0 Jan 17 1999 ucb/dbx/tests/cc/out @@ -4564,9 +4566,9 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 ucb/dbx/tests/pc -r--r--r-- 1 bin 10 1122 Jul 9 1988 ucb/dbx/tests/Makefile -rw-r--r-- 1 bin 10 730 Mar 7 1985 ucb/dbx/tests/noenv.c -rwxr-xr-x 1 bin 10 457 Oct 14 1986 ucb/dbx/tests/runtest -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 ucb/dbx/ops.sun.c -> ops.iris.c -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 ucb/dbx/runtime.sun.c -> runtime.iris.c -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 ucb/dbx/sun.c -> iris.c +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 ucb/dbx/ops.sun.c -> ops.iris.c +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 ucb/dbx/runtime.sun.c -> runtime.iris.c +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 ucb/dbx/sun.c -> iris.c -r--r--r-- 1 bin 10 3355 Jan 11 1988 ucb/dbx/asm.c -r--r--r-- 1 bin 10 14527 May 10 1988 ucb/dbx/c.c -r--r--r-- 1 bin 10 765 Jan 11 1988 ucb/dbx/cerror.iris.s @@ -4613,7 +4615,7 @@ lrwxr-xr-x 1 bin 10 0 Oct 2 1999 ucb/dbx/sun.c -> iris.c -r--r--r-- 1 bin 10 22322 Jan 11 1988 ucb/dbx/tahoe.c -r--r--r-- 1 bin 10 11491 Jan 11 1988 ucb/dbx/tree.c -r--r--r-- 1 bin 10 25519 Jan 11 1988 ucb/dbx/vax.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/error +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/error -r--r--r-- 1 bin 10 5873 Jun 29 1988 ucb/error/error.h -r--r--r-- 1 bin 10 4411 Jun 29 1988 ucb/error/errorfilter.c -r--r--r-- 1 bin 10 14141 Jun 29 1988 ucb/error/errorinput.c @@ -4621,8 +4623,8 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/error -r--r--r-- 1 bin 10 11791 Jun 29 1988 ucb/error/errorpi.c -r--r--r-- 1 bin 10 9191 Jun 29 1988 ucb/error/errorsubr.c -r--r--r-- 1 bin 10 15895 Jun 29 1988 ucb/error/errortouch.c --r--r--r-- 1 bin 10 2159 Oct 2 1999 ucb/error/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/ex +-r--r--r-- 1 bin 10 2159 Dec 5 2003 ucb/error/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/ex drwxr-xr-x 2 bin 10 0 Aug 28 1999 ucb/ex/vms -r--r--r-- 1 bin 10 23 May 7 1987 ucb/ex/vms/ex.opt -r--r--r-- 1 bin 10 722 Mar 11 1987 ucb/ex/vms/ftp.get @@ -4674,7 +4676,7 @@ drwxr-xr-x 2 bin 10 0 Aug 28 1999 ucb/ex/vms -r--r--r-- 1 bin 10 30779 Mar 9 1987 ucb/ex/ex_vput.c -r--r--r-- 1 bin 10 8270 Mar 9 1987 ucb/ex/ex_vwind.c -r--r--r-- 1 bin 10 875 Jun 28 1987 ucb/ex/FLOCK_README --r--r--r-- 1 bin 10 17426 Oct 2 1999 ucb/ex/Makefile +-r--r--r-- 1 bin 10 17426 Dec 5 2003 ucb/ex/Makefile -r--r--r-- 1 bin 10 6086 May 31 1985 ucb/ex/makefile.370 -r--r--r-- 1 bin 10 6889 May 31 1985 ucb/ex/makefile.70 -r--r--r-- 1 bin 10 6500 May 31 1985 ucb/ex/makefile.c70 @@ -4707,8 +4709,8 @@ drwxr-xr-x 2 bin 10 0 Jul 15 1999 ucb/fp/fp.vax -r--r--r-- 1 bin 10 714 May 31 1985 ucb/fp/fp.vax/specials.l -r--r--r-- 1 bin 10 8579 May 31 1985 ucb/fp/fp.vax/utils.l -r--r--r-- 1 bin 10 759 Dec 23 1987 ucb/fp/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/ftp --r--r--r-- 1 bin 10 31950 Jun 29 1988 ucb/ftp/cmds.c +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/ftp +-r--r--r-- 1 bin 10 32103 Jun 13 2003 ucb/ftp/cmds.c -r--r--r-- 1 bin 10 6891 Jun 29 1988 ucb/ftp/cmdtab.c -r--r--r-- 1 bin 10 3217 Jun 29 1988 ucb/ftp/domacro.c -r--r--r-- 1 bin 10 29784 Jun 29 1988 ucb/ftp/ftp.c @@ -4716,10 +4718,10 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/ftp -r--r--r-- 1 bin 10 1880 Jun 29 1988 ucb/ftp/getpass.c -r--r--r-- 1 bin 10 10222 Jun 29 1988 ucb/ftp/glob.c -r--r--r-- 1 bin 10 9106 Jun 29 1988 ucb/ftp/main.c --r--r--r-- 1 bin 10 4894 Oct 2 1999 ucb/ftp/Makefile +-r--r--r-- 1 bin 10 4894 Dec 5 2003 ucb/ftp/Makefile -r--r--r-- 1 bin 10 1875 Jun 29 1988 ucb/ftp/pclose.c -r--r--r-- 1 bin 10 5726 Jun 29 1988 ucb/ftp/ruserpass.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/gprof +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/gprof -r--r--r-- 1 bin 10 15904 Jun 29 1988 ucb/gprof/arcs.c -r--r--r-- 1 bin 10 7199 Jun 29 1988 ucb/gprof/dfn.c -r--r--r-- 1 bin 10 16222 Jun 29 1988 ucb/gprof/gprof.c @@ -4728,19 +4730,19 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/gprof -r--r--r-- 1 bin 10 7459 Jun 29 1988 ucb/gprof/gprof.h -r--r--r-- 1 bin 10 1408 Jun 29 1988 ucb/gprof/hertz.c -r--r--r-- 1 bin 10 2589 Jun 29 1988 ucb/gprof/lookup.c --r--r--r-- 1 bin 10 3130 Oct 3 1999 ucb/gprof/Makefile +-r--r--r-- 1 bin 10 3130 Dec 5 2003 ucb/gprof/Makefile -r--r--r-- 1 bin 10 18516 Jun 29 1988 ucb/gprof/printgprof.c -r--r--r-- 1 bin 10 2338 Jun 29 1988 ucb/gprof/printlist.c -r--r--r-- 1 bin 10 8259 Jun 29 1988 ucb/gprof/tahoe.c -r--r--r-- 1 bin 10 1518 Jun 29 1988 ucb/gprof/tahoe.h -r--r--r-- 1 bin 10 8311 Jun 29 1988 ucb/gprof/vax.c -r--r--r-- 1 bin 10 1598 Jun 29 1988 ucb/gprof/vax.h --r--r--r-- 1 root 10 1951 Oct 3 1999 ucb/gprof/gcrt0.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/grep +-r--r--r-- 1 bin 10 1951 Oct 3 1999 ucb/gprof/gcrt0.h +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/grep -r--r--r-- 1 bin 10 22277 Jun 30 1988 ucb/grep/egrep.c -rw-r--r-- 1 bin 10 231 Jun 25 1987 ucb/grep/kanji.fake.test -rw-r--r-- 1 bin 10 11 Jun 25 1987 ucb/grep/kanjipat.fake --r--r--r-- 1 bin 10 3642 Oct 2 1999 ucb/grep/Makefile +-r--r--r-- 1 bin 10 3642 Dec 5 2003 ucb/grep/Makefile -r--r--r-- 1 bin 10 7734 Jan 21 1988 ucb/grep/old.bin.grep.c -r--r--r-- 1 bin 10 11628 Oct 7 1987 ucb/grep/old.egrep.y -r--r--r-- 1 bin 10 6648 Oct 7 1987 ucb/grep/old.fgrep.c @@ -4751,22 +4753,22 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/grep -rw-r--r-- 1 bin 10 6318 Jun 25 1987 ucb/grep/pep4grep.doc1 -rw-r--r-- 1 bin 10 757 Jun 25 1987 ucb/grep/README.FIRST -rw-r--r-- 1 bin 10 3640 Jun 25 1987 ucb/grep/README.kanji.mods -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/indent +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/indent -r--r--r-- 1 bin 10 7490 Jun 29 1988 ucb/indent/args.c -r--r--r-- 1 bin 10 31950 Jun 29 1988 ucb/indent/indent.c -r--r--r-- 1 bin 10 1878 Jun 29 1988 ucb/indent/indent_codes.h -r--r--r-- 1 bin 10 9412 Jun 29 1988 ucb/indent/indent_globs.h -r--r--r-- 1 bin 10 13289 Jun 29 1988 ucb/indent/io.c -r--r--r-- 1 bin 10 13958 Jun 29 1988 ucb/indent/lexi.c --r--r--r-- 1 bin 10 1874 Oct 2 1999 ucb/indent/Makefile +-r--r--r-- 1 bin 10 1874 Dec 5 2003 ucb/indent/Makefile -r--r--r-- 1 bin 10 9333 Jun 29 1988 ucb/indent/parse.c -r--r--r-- 1 bin 10 11790 Jun 29 1988 ucb/indent/pr_comment.c -r--r--r-- 1 bin 10 4641 Mar 9 1988 ucb/indent/README -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/man +drwxr-xr-x 2 bin 10 0 Dec 5 2003 ucb/man -r--r--r-- 1 bin 10 4886 Jun 29 1988 ucb/man/apropos.c --r--r--r-- 1 bin 10 2167 Oct 2 1999 ucb/man/Makefile +-r--r--r-- 1 bin 10 2167 Dec 5 2003 ucb/man/Makefile -r--r--r-- 1 bin 10 9310 Aug 29 1999 ucb/man/man.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/Mail +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/Mail drwxr-xr-x 2 bin 10 0 Jan 17 1999 ucb/Mail/misc -r--r--r-- 1 bin 10 947 Nov 26 1985 ucb/Mail/misc/Mail.help -r--r--r-- 1 bin 10 98 May 14 1986 ucb/Mail/misc/Mail.rc @@ -4793,7 +4795,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 ucb/Mail/misc -r--r--r-- 1 bin 10 13216 Feb 18 1988 ucb/Mail/list.c -r--r--r-- 1 bin 10 573 Feb 18 1988 ucb/Mail/local.h -r--r--r-- 1 bin 10 6986 Feb 18 1988 ucb/Mail/main.c --r--r--r-- 1 bin 10 13798 Oct 2 1999 ucb/Mail/Makefile +-r--r--r-- 1 bin 10 13798 Dec 5 2003 ucb/Mail/Makefile -r--r--r-- 1 bin 10 3667 Feb 18 1988 ucb/Mail/Makefile.11 -r--r--r-- 1 bin 10 15775 Feb 18 1988 ucb/Mail/names.c -r--r--r-- 1 bin 10 15999 Feb 18 1988 ucb/Mail/optim.c @@ -4810,26 +4812,26 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 ucb/Mail/misc -r--r--r-- 1 bin 10 1451 Feb 18 1988 ucb/Mail/v7.local.c -r--r--r-- 1 bin 10 3087 Feb 18 1988 ucb/Mail/vars.c -r--r--r-- 1 bin 10 821 Feb 18 1988 ucb/Mail/version.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/more --r--r--r-- 1 bin 10 2058 Oct 2 1999 ucb/more/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/more +-r--r--r-- 1 bin 10 2058 Dec 5 2003 ucb/more/Makefile -r--r--r-- 1 bin 10 35790 Jun 29 1988 ucb/more/more.c -r--r--r-- 1 bin 10 1130 Aug 29 1985 ucb/more/more.help -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/msgs --r--r--r-- 1 bin 10 1214 Oct 2 1999 ucb/msgs/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/msgs +-r--r--r-- 1 bin 10 1214 Dec 5 2003 ucb/msgs/Makefile -r--r--r-- 1 bin 10 15516 Aug 7 1986 ucb/msgs/msgs.c -r--r--r-- 1 bin 10 455 Jun 4 1985 ucb/msgs/msgs.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/netstat +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/netstat -r--r--r-- 1 bin 10 3685 Jun 29 1988 ucb/netstat/host.c -r--r--r-- 1 bin 10 8676 Jun 29 1988 ucb/netstat/if.c -r--r--r-- 1 bin 10 11864 Jun 29 1988 ucb/netstat/inet.c -r--r--r-- 1 bin 10 9094 Jun 29 1988 ucb/netstat/main.c --r--r--r-- 1 bin 10 5129 Oct 2 1999 ucb/netstat/Makefile +-r--r--r-- 1 bin 10 5129 Dec 5 2003 ucb/netstat/Makefile -r--r--r-- 1 bin 10 3466 Jun 29 1988 ucb/netstat/mbuf.c -r--r--r-- 1 bin 10 10316 Jun 29 1988 ucb/netstat/ns.c -r--r--r-- 1 bin 10 8901 Jun 29 1988 ucb/netstat/route.c -r--r--r-- 1 bin 10 3683 Jun 29 1988 ucb/netstat/unix.c drwxr-xr-x 2 bin 10 0 Jul 15 1999 ucb/pascal -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/eyacc +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/eyacc -r--r--r-- 1 bin 10 5311 Apr 29 1985 ucb/pascal/eyacc/ey.h -r--r--r-- 1 bin 10 4728 Apr 29 1985 ucb/pascal/eyacc/ey0.c -r--r--r-- 1 bin 10 8728 Apr 29 1985 ucb/pascal/eyacc/ey1.c @@ -4838,14 +4840,14 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/eyacc -r--r--r-- 1 bin 10 12719 Apr 29 1985 ucb/pascal/eyacc/ey4.c -r--r--r-- 1 bin 10 1012 Apr 29 1985 ucb/pascal/eyacc/ey5.c -r--r--r-- 1 bin 10 1224 Apr 29 1985 ucb/pascal/eyacc/eyacc.1 --r--r--r-- 1 bin 10 1003 Oct 2 1999 ucb/pascal/eyacc/Makefile +-r--r--r-- 1 bin 10 1003 Dec 5 2003 ucb/pascal/eyacc/Makefile -r--r--r-- 1 bin 10 1180 Apr 29 1985 ucb/pascal/eyacc/READ_ME -rw-r--r-- 1 bin 10 0 Oct 29 1986 ucb/pascal/eyacc/y.tab.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pc0 -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 ucb/pascal/pc0/whoami.h -> ../src/pcwhoami.h --r--r--r-- 1 bin 10 13255 Oct 2 1999 ucb/pascal/pc0/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/breakpoint +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pc0 +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 ucb/pascal/pc0/whoami.h -> ../src/pcwhoami.h +-r--r--r-- 1 bin 10 13255 Dec 5 2003 ucb/pascal/pc0/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/breakpoint -r--r--r-- 1 bin 10 2266 Apr 7 1987 ucb/pascal/pdx/breakpoint/bp.c -r--r--r-- 1 bin 10 477 Jun 7 1985 ucb/pascal/pdx/breakpoint/bp.rep -r--r--r-- 1 bin 10 6216 Jun 5 1985 ucb/pascal/pdx/breakpoint/bpact.c @@ -4855,13 +4857,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/breakpoint -r--r--r-- 1 bin 10 2805 Jun 5 1985 ucb/pascal/pdx/breakpoint/status.c -r--r--r-- 1 bin 10 2367 Jun 5 1985 ucb/pascal/pdx/breakpoint/trcond.c -r--r--r-- 1 bin 10 3961 Apr 7 1987 ucb/pascal/pdx/breakpoint/trinfo.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/command +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/command -rw-r--r-- 1 bin 10 0 Mar 31 1984 ucb/pascal/pdx/command/Changes -r--r--r-- 1 bin 10 6198 Jun 7 1985 ucb/pascal/pdx/command/grammar.yacc -r--r--r-- 1 bin 10 1085 Jun 7 1985 ucb/pascal/pdx/command/remake.c -r--r--r-- 1 bin 10 6307 Apr 7 1987 ucb/pascal/pdx/command/token.lex --r--r--r-- 1 bin 10 954 Oct 3 1999 ucb/pascal/pdx/command/y.tab.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/machine +-r--r--r-- 1 bin 10 954 Dec 5 2003 ucb/pascal/pdx/command/y.tab.h +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/machine -r--r--r-- 1 bin 10 7813 Apr 7 1987 ucb/pascal/pdx/machine/nextaddr.c -r--r--r-- 1 bin 10 5091 Sep 30 1987 ucb/pascal/pdx/machine/optab.c -r--r--r-- 1 bin 10 585 Jun 7 1985 ucb/pascal/pdx/machine/optab.h @@ -4872,9 +4874,9 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/machine -r--r--r-- 1 bin 10 262 Apr 7 1987 ucb/pascal/pdx/machine/pxerrors.h -r--r--r-- 1 bin 10 334 Jun 7 1985 ucb/pascal/pdx/machine/pxops.h -r--r--r-- 1 bin 10 2502 Apr 7 1987 ucb/pascal/pdx/machine/setbp.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/main +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/main -r--r--r-- 1 bin 10 3140 Apr 7 1987 ucb/pascal/pdx/main/main.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/mappings +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/mappings -r--r--r-- 1 bin 10 384 Jun 6 1985 ucb/pascal/pdx/mappings/filetab.h -r--r--r-- 1 bin 10 1735 Apr 6 1987 ucb/pascal/pdx/mappings/functab.c -r--r--r-- 1 bin 10 367 Jun 6 1985 ucb/pascal/pdx/mappings/linetab.h @@ -4883,12 +4885,12 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/mappings -r--r--r-- 1 bin 10 1443 Jun 6 1985 ucb/pascal/pdx/mappings/srcline.c drwxr-xr-x 2 bin 10 0 Jul 15 1999 ucb/pascal/pdx/mc68000 -r--r--r-- 1 bin 10 660 Apr 6 1987 ucb/pascal/pdx/mc68000/cerror.s -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/object +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/object -r--r--r-- 1 bin 10 1049 Jun 6 1985 ucb/pascal/pdx/object/maketypes.c -r--r--r-- 1 bin 10 1245 Jun 7 1985 ucb/pascal/pdx/object/objsym.rep -r--r--r-- 1 bin 10 5092 Jun 7 1985 ucb/pascal/pdx/object/readobj.c -r--r--r-- 1 bin 10 4277 Apr 7 1987 ucb/pascal/pdx/object/readsym.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/process +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/process -r--r--r-- 1 bin 10 2209 May 5 1988 ucb/pascal/pdx/process/process.rep -r--r--r-- 1 bin 10 1511 Apr 7 1987 ucb/pascal/pdx/process/pstatus.c -r--r--r-- 1 bin 10 11566 May 11 1987 ucb/pascal/pdx/process/ptrace.c @@ -4898,7 +4900,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/process -r--r--r-- 1 bin 10 3567 Apr 7 1987 ucb/pascal/pdx/process/runcont.c -r--r--r-- 1 bin 10 2932 Apr 7 1987 ucb/pascal/pdx/process/start.c -r--r--r-- 1 bin 10 1938 Apr 7 1987 ucb/pascal/pdx/process/step.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/runtime +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/runtime -r--r--r-- 1 bin 10 2736 Jun 6 1985 ucb/pascal/pdx/runtime/address.c -r--r--r-- 1 bin 10 5800 Apr 7 1987 ucb/pascal/pdx/runtime/callproc.c -r--r--r-- 1 bin 10 2090 Jun 6 1985 ucb/pascal/pdx/runtime/entry.c @@ -4906,9 +4908,9 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/runtime -r--r--r-- 1 bin 10 1301 Jun 7 1985 ucb/pascal/pdx/runtime/frame.rep -r--r--r-- 1 bin 10 630 Jun 6 1985 ucb/pascal/pdx/runtime/isactive.c -r--r--r-- 1 bin 10 1741 Jun 6 1985 ucb/pascal/pdx/runtime/wheredump.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/source +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/source -r--r--r-- 1 bin 10 3712 Jun 6 1985 ucb/pascal/pdx/source/source.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/sym +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/sym -r--r--r-- 1 bin 10 3081 Jun 6 1985 ucb/pascal/pdx/sym/attributes.c -r--r--r-- 1 bin 10 312 Jun 6 1985 ucb/pascal/pdx/sym/btypes.h -r--r--r-- 1 bin 10 672 Jun 6 1985 ucb/pascal/pdx/sym/classes.h @@ -4919,7 +4921,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/sym -r--r--r-- 1 bin 10 934 Jun 7 1985 ucb/pascal/pdx/sym/sym.rep -r--r--r-- 1 bin 10 9834 Apr 7 1987 ucb/pascal/pdx/sym/tree.c -r--r--r-- 1 bin 10 2026 Jun 6 1985 ucb/pascal/pdx/sym/which.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/symtab +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/symtab -r--r--r-- 1 bin 10 5268 Apr 7 1987 ucb/pascal/pdx/symtab/symtab.c drwxr-xr-x 2 bin 10 0 Jul 15 1999 ucb/pascal/pdx/tahoe -r--r--r-- 1 bin 10 584 Apr 6 1987 ucb/pascal/pdx/tahoe/cerror.s @@ -4949,7 +4951,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 ucb/pascal/pdx/test -rw-r--r-- 1 bin 10 9 Mar 31 1984 ucb/pascal/pdx/test/testfile -rw-r--r-- 1 bin 10 254 Mar 31 1984 ucb/pascal/pdx/test/varnt.p -rw-r--r-- 1 bin 10 266 Mar 31 1984 ucb/pascal/pdx/test/varparam.p -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pdx/tree +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pdx/tree -r--r--r-- 1 bin 10 1228 Apr 7 1987 ucb/pascal/pdx/tree/assign.c -r--r--r-- 1 bin 10 2843 Apr 7 1987 ucb/pascal/pdx/tree/build.c -r--r--r-- 1 bin 10 9118 Apr 7 1987 ucb/pascal/pdx/tree/eval.c @@ -4980,17 +4982,17 @@ drwxr-xr-x 2 bin 10 0 Jul 15 1999 ucb/pascal/pdx/vax -r--r--r-- 1 bin 10 2511 May 5 1988 ucb/pascal/pdx/sym.h -r--r--r-- 1 bin 10 732 May 5 1988 ucb/pascal/pdx/symtab.h -r--r--r-- 1 bin 10 1783 May 5 1988 ucb/pascal/pdx/tree.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pi -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 ucb/pascal/pi/whoami.h -> ../src/piwhoami.h +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pi +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 ucb/pascal/pi/whoami.h -> ../src/piwhoami.h -rw-r--r-- 1 bin 10 53 Apr 25 1984 ucb/pascal/pi/.exrc --r--r--r-- 1 bin 10 11922 Oct 2 1999 ucb/pascal/pi/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/px -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 ucb/pascal/px/whoami.h -> ../src/piwhoami.h +-r--r--r-- 1 bin 10 11922 Dec 5 2003 ucb/pascal/pi/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/px +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 ucb/pascal/px/whoami.h -> ../src/piwhoami.h -r--r--r-- 1 bin 10 52 Mar 31 1984 ucb/pascal/px/clean.sed -r--r--r-- 1 bin 10 4151 Jun 5 1985 ucb/pascal/px/int.c -r--r--r-- 1 bin 10 38167 Nov 12 1986 ucb/pascal/px/interp.c -r--r--r-- 1 bin 10 1353 Nov 12 1986 ucb/pascal/px/machdep.h --r--r--r-- 1 bin 10 2891 Oct 2 1999 ucb/pascal/px/Makefile +-r--r--r-- 1 bin 10 2891 Dec 5 2003 ucb/pascal/px/Makefile -r--r--r-- 1 bin 10 509 Mar 31 1984 ucb/pascal/px/mc68000.sed -r--r--r-- 1 bin 10 1526 Jun 5 1985 ucb/pascal/px/READ_ME -r--r--r-- 1 bin 10 633 Dec 12 1987 ucb/pascal/px/tahoe.sed @@ -4999,8 +5001,8 @@ lrwxr-xr-x 1 bin 10 0 Oct 2 1999 ucb/pascal/px/whoami.h -> . -r--r--r-- 1 bin 10 536 Mar 31 1984 ucb/pascal/px/vax.sed -r--r--r-- 1 bin 10 29 Sep 8 1985 ucb/pascal/px/Version.c -r--r--r-- 1 bin 10 685 Jun 5 1985 ucb/pascal/px/version.c --r--r--r-- 1 root 10 2891 Oct 2 1999 ucb/pascal/px/Makefile.bak -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pxp +-r--r--r-- 1 bin 10 2891 Dec 5 2003 ucb/pascal/px/Makefile.bak +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/pxp -rw-r--r-- 1 bin 10 48 Apr 21 1984 ucb/pascal/pxp/.exrc -r--r--r-- 1 bin 10 8450 Jun 5 1985 ucb/pascal/pxp/0.h -r--r--r-- 1 bin 10 1025 Jun 5 1985 ucb/pascal/pxp/call.c @@ -5013,7 +5015,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/pxp -r--r--r-- 1 bin 10 997 Jun 5 1985 ucb/pascal/pxp/lab.c -r--r--r-- 1 bin 10 1083 Jun 5 1985 ucb/pascal/pxp/lval.c -r--r--r-- 1 bin 10 5001 Jun 2 1988 ucb/pascal/pxp/main.c --r--r--r-- 1 bin 10 6169 Oct 2 1999 ucb/pascal/pxp/Makefile +-r--r--r-- 1 bin 10 6169 Dec 5 2003 ucb/pascal/pxp/Makefile -r--r--r-- 1 bin 10 5950 May 5 1988 ucb/pascal/pxp/pmon.c -r--r--r-- 1 bin 10 4052 Dec 4 1987 ucb/pascal/pxp/pp.c -r--r--r-- 1 bin 10 448 Jun 5 1985 ucb/pascal/pxp/proc.c @@ -5310,8 +5312,8 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 ucb/pascal/tstpx/src -rw-r--r-- 1 bin 10 1702 Jul 21 1985 ucb/pascal/tstpx/src/testio.p -rw-r--r-- 1 bin 10 477 Jul 21 1985 ucb/pascal/tstpx/src/transpose.p -rw-r--r-- 1 bin 10 745 Jul 21 1985 ucb/pascal/tstpx/src/wnj.p -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/utilities -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/utilities/pc2 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/utilities +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/pascal/utilities/pc2 -r--r--r-- 1 bin 10 9514 Apr 7 1987 ucb/pascal/utilities/pc2/langpats.c -r--r--r-- 1 bin 10 2166 Oct 26 1987 ucb/pascal/utilities/pc2/Makefile -r--r--r-- 1 bin 10 1119 Mar 31 1984 ucb/pascal/utilities/config.c @@ -5330,7 +5332,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/pascal/utilities/pc2 -r--r--r-- 1 bin 10 2795 Jun 21 1985 ucb/pascal/utilities/px_header.c -r--r--r-- 1 bin 10 1154 Dec 12 1987 ucb/pascal/utilities/whoami.h -r--r--r-- 1 bin 10 939 Oct 27 1987 ucb/pascal/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/rdist +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/rdist -rw-r--r-- 1 bin 10 85 Sep 28 1983 ucb/rdist/cron.entry -r--r--r-- 1 bin 10 3744 Jun 29 1988 ucb/rdist/defs.h -r--r--r-- 1 bin 10 11823 Jun 29 1988 ucb/rdist/docmd.c @@ -5338,24 +5340,24 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/rdist -r--r--r-- 1 bin 10 8919 Jun 29 1988 ucb/rdist/gram.y -r--r--r-- 1 bin 10 3207 Jun 29 1988 ucb/rdist/lookup.c -r--r--r-- 1 bin 10 5632 Jun 29 1988 ucb/rdist/main.c --r--r--r-- 1 bin 10 4270 Oct 2 1999 ucb/rdist/Makefile +-r--r--r-- 1 bin 10 4270 Dec 5 2003 ucb/rdist/Makefile -r--r--r-- 1 bin 10 30274 Jun 29 1988 ucb/rdist/server.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/sendbug +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/sendbug -r--r--r-- 1 bin 10 3101 Jun 29 1988 ucb/sendbug/bug.h -r--r--r-- 1 bin 10 3619 Jun 29 1988 ucb/sendbug/bugfiler.c -r--r--r-- 1 bin 10 1120 Jun 14 1988 ucb/sendbug/bugformat -r--r--r-- 1 bin 10 1705 Jun 29 1988 ucb/sendbug/error.c -r--r--r-- 1 bin 10 3615 Jun 29 1988 ucb/sendbug/gethead.c --r--r--r-- 1 bin 10 3513 Oct 2 1999 ucb/sendbug/Makefile +-r--r--r-- 1 bin 10 3513 Dec 5 2003 ucb/sendbug/Makefile -r--r--r-- 1 bin 10 2921 Jun 29 1988 ucb/sendbug/process.c -r--r--r-- 1 bin 10 2878 Jun 29 1988 ucb/sendbug/redist.c -r--r--r-- 1 bin 10 2941 Jun 29 1988 ucb/sendbug/reply.c -r--r--r-- 1 bin 10 1408 Jun 29 1988 ucb/sendbug/sendbug.sh -rw-r--r-- 1 bin 10 66 Dec 25 1987 ucb/sendbug/TODO -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/sysline --r--r--r-- 1 bin 10 2013 Oct 2 1999 ucb/sysline/Makefile +drwxr-xr-x 2 bin 10 0 Dec 5 2003 ucb/sysline +-r--r--r-- 1 bin 10 2013 Dec 5 2003 ucb/sysline/Makefile -r--r--r-- 1 bin 10 30987 Jun 29 1988 ucb/sysline/sysline.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/systat +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/systat -r--r--r-- 1 bin 10 3835 Jan 2 1988 ucb/systat/cmds.c -r--r--r-- 1 bin 10 1680 May 30 1985 ucb/systat/cmdtab.c -r--r--r-- 1 bin 10 5344 Jan 12 1986 ucb/systat/disks.c @@ -5363,7 +5365,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/systat -r--r--r-- 1 bin 10 9740 Jan 12 1986 ucb/systat/iostat.c -r--r--r-- 1 bin 10 3174 Dec 22 1987 ucb/systat/keyboard.c -r--r--r-- 1 bin 10 4443 Mar 25 1987 ucb/systat/main.c --r--r--r-- 1 bin 10 11177 Oct 2 1999 ucb/systat/Makefile +-r--r--r-- 1 bin 10 11177 Dec 5 2003 ucb/systat/Makefile -r--r--r-- 1 bin 10 2091 Dec 11 1985 ucb/systat/mbufs.c -r--r--r-- 1 bin 10 4705 Sep 15 1987 ucb/systat/netcmds.c -r--r--r-- 1 bin 10 9583 Dec 11 1985 ucb/systat/netstat.c @@ -5371,22 +5373,22 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/systat -r--r--r-- 1 bin 10 6831 Jul 20 1986 ucb/systat/swap.c -r--r--r-- 1 bin 10 1906 Jul 20 1986 ucb/systat/systat.h -r--r--r-- 1 bin 10 17496 Oct 3 1987 ucb/systat/vmstat.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/talk +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/talk -r--r--r-- 1 bin 10 2548 Jun 29 1988 ucb/talk/ctl.c -r--r--r-- 1 bin 10 2765 Jun 29 1988 ucb/talk/ctl_transact.c -r--r--r-- 1 bin 10 4122 Jun 29 1988 ucb/talk/display.c --r--r--r-- 1 bin 10 2086 Jun 29 1988 ucb/talk/get_addrs.c +-r--r--r-- 1 bin 10 2248 May 10 2003 ucb/talk/get_addrs.c -r--r--r-- 1 bin 10 2891 Jun 29 1988 ucb/talk/get_names.c -r--r--r-- 1 bin 10 3268 Jun 29 1988 ucb/talk/init_disp.c -r--r--r-- 1 bin 10 4655 Jun 29 1988 ucb/talk/invite.c -r--r--r-- 1 bin 10 3260 Jun 29 1988 ucb/talk/io.c -r--r--r-- 1 bin 10 2542 Jun 29 1988 ucb/talk/look_up.c --r--r--r-- 1 bin 10 5773 Oct 2 1999 ucb/talk/Makefile +-r--r--r-- 1 bin 10 5798 Dec 5 2003 ucb/talk/Makefile -r--r--r-- 1 bin 10 1687 Jun 29 1988 ucb/talk/msgs.c -r--r--r-- 1 bin 10 1778 Jun 29 1988 ucb/talk/talk.c -r--r--r-- 1 bin 10 1288 Jun 29 1988 ucb/talk/talk.h -r--r--r-- 1 bin 10 1258 Jun 29 1988 ucb/talk/talk_ctl.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/telnet +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/telnet drwxr-xr-x 2 bin 10 0 Jul 15 1999 ucb/telnet/Source -r--r--r-- 1 bin 10 26516 May 15 1988 ucb/telnet/Source/commands.c -r--r--r-- 1 bin 10 1676 Mar 27 1988 ucb/telnet/Source/defines.h @@ -5404,14 +5406,14 @@ drwxr-xr-x 2 bin 10 0 Jul 15 1999 ucb/telnet/Source -r--r--r-- 1 bin 10 8947 May 15 1988 ucb/telnet/Source/tn3270.c -r--r--r-- 1 bin 10 982 Mar 27 1988 ucb/telnet/Source/types.h -r--r--r-- 1 bin 10 3752 May 15 1988 ucb/telnet/Source/utilities.c --r--r--r-- 1 bin 10 4843 Oct 2 1999 ucb/telnet/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tftp +-r--r--r-- 1 bin 10 4843 Dec 5 2003 ucb/telnet/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/tftp -r--r--r-- 1 bin 10 12571 Jun 29 1988 ucb/tftp/main.c --r--r--r-- 1 bin 10 2228 Oct 2 1999 ucb/tftp/Makefile +-r--r--r-- 1 bin 10 2228 Dec 5 2003 ucb/tftp/Makefile -r--r--r-- 1 bin 10 9284 Jun 29 1988 ucb/tftp/tftp.c -r--r--r-- 1 bin 10 7415 Jun 29 1988 ucb/tftp/tftpsubs.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tn3270 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tn3270/api +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/tn3270 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/tn3270/api -r--r--r-- 1 bin 10 8024 Mar 28 1988 ucb/tn3270/api/apilib.c -r--r--r-- 1 bin 10 811 Mar 28 1988 ucb/tn3270/api/apilib.h -r--r--r-- 1 bin 10 6342 Mar 28 1988 ucb/tn3270/api/api_bsd.c @@ -5429,26 +5431,29 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tn3270/api -r--r--r-- 1 bin 10 782 Mar 28 1988 ucb/tn3270/api/disp_asc.h -r--r--r-- 1 bin 10 3892 Mar 28 1988 ucb/tn3270/api/ebc_disp.c -r--r--r-- 1 bin 10 611 Mar 28 1988 ucb/tn3270/api/ebc_disp.h --r--r--r-- 1 bin 10 3169 Oct 2 1999 ucb/tn3270/api/makefile +-r--r--r-- 1 bin 10 3169 Dec 5 2003 ucb/tn3270/api/makefile -rw-r--r-- 1 bin 10 3882 Aug 17 1987 ucb/tn3270/api/makefile.mak -r--r--r-- 1 bin 10 1130 Mar 28 1988 ucb/tn3270/api/README drwxr-xr-x 2 bin 10 0 Jul 15 1999 ucb/tn3270/arpa -r--r--r-- 1 bin 10 1234 Mar 28 1988 ucb/tn3270/arpa/makefile -rw-r--r-- 1 bin 10 617 Aug 17 1987 ucb/tn3270/arpa/makefile.mak -r--r--r-- 1 bin 10 3575 Mar 28 1988 ucb/tn3270/arpa/telnet.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tn3270/ascii +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/tn3270/ascii +-r--r--r-- 1 bin 10 206 Sep 13 1999 ucb/tn3270/ascii/map3270.ext +-r--r--r-- 1 bin 10 86 Sep 13 1999 ucb/tn3270/ascii/termin.ext -r--r--r-- 1 bin 10 2873 Mar 28 1988 ucb/tn3270/ascii/default.map -r--r--r-- 1 bin 10 2757 Mar 28 1988 ucb/tn3270/ascii/ebctab.c --r--r--r-- 1 bin 10 2821 Oct 2 1999 ucb/tn3270/ascii/makefile +-r--r--r-- 1 bin 10 2821 Dec 5 2003 ucb/tn3270/ascii/makefile -rw-r--r-- 1 bin 10 2367 Aug 17 1987 ucb/tn3270/ascii/makefile.mak -r--r--r-- 1 bin 10 18857 Mar 28 1988 ucb/tn3270/ascii/map3270.c --r--r--r-- 1 bin 10 206 Sep 13 1999 ucb/tn3270/ascii/map3270.ext -r--r--r-- 1 bin 10 8399 Mar 28 1988 ucb/tn3270/ascii/mset.c -r--r--r-- 1 bin 10 981 Mar 28 1988 ucb/tn3270/ascii/state.h -r--r--r-- 1 bin 10 5254 Mar 28 1988 ucb/tn3270/ascii/termcodes.m4 -r--r--r-- 1 bin 10 5753 Mar 28 1988 ucb/tn3270/ascii/termin.c --r--r--r-- 1 bin 10 86 Sep 13 1999 ucb/tn3270/ascii/termin.ext -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tn3270/ctlr +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/tn3270/ctlr +-r--r--r-- 1 bin 10 199 Sep 13 1999 ucb/tn3270/ctlr/inbound.ext +-r--r--r-- 1 bin 10 149 Sep 13 1999 ucb/tn3270/ctlr/options.ext +-r--r--r-- 1 bin 10 117 Sep 13 1999 ucb/tn3270/ctlr/outbound.ext -r--r--r-- 1 bin 10 2539 Mar 28 1988 ucb/tn3270/ctlr/3180.kbd -r--r--r-- 1 bin 10 2562 Mar 28 1988 ucb/tn3270/ctlr/3270pc.kbd -r--r--r-- 1 bin 10 17052 Mar 28 1988 ucb/tn3270/ctlr/api.c @@ -5458,36 +5463,34 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tn3270/ctlr -r--r--r-- 1 bin 10 3632 Mar 28 1988 ucb/tn3270/ctlr/function.h -r--r--r-- 1 bin 10 6602 Mar 28 1988 ucb/tn3270/ctlr/hostctlr.h -r--r--r-- 1 bin 10 25668 Mar 28 1988 ucb/tn3270/ctlr/inbound.c --r--r--r-- 1 bin 10 199 Sep 13 1999 ucb/tn3270/ctlr/inbound.ext --r--r--r-- 1 bin 10 3565 Oct 2 1999 ucb/tn3270/ctlr/makefile +-r--r--r-- 1 bin 10 3565 Dec 5 2003 ucb/tn3270/ctlr/makefile -rw-r--r-- 1 bin 10 3862 Aug 17 1987 ucb/tn3270/ctlr/makefile.mak -r--r--r-- 1 bin 10 810 Mar 28 1988 ucb/tn3270/ctlr/oia.c -r--r--r-- 1 bin 10 5118 Mar 28 1988 ucb/tn3270/ctlr/oia.h -r--r--r-- 1 bin 10 3056 Mar 28 1988 ucb/tn3270/ctlr/options.c --r--r--r-- 1 bin 10 149 Sep 13 1999 ucb/tn3270/ctlr/options.ext -r--r--r-- 1 bin 10 674 Mar 28 1988 ucb/tn3270/ctlr/options.h -r--r--r-- 1 bin 10 13292 Mar 28 1988 ucb/tn3270/ctlr/outbound.c --r--r--r-- 1 bin 10 117 Sep 13 1999 ucb/tn3270/ctlr/outbound.ext -r--r--r-- 1 bin 10 4341 Mar 28 1988 ucb/tn3270/ctlr/screen.h -r--r--r-- 1 bin 10 865 Mar 28 1988 ucb/tn3270/ctlr/scrnctlr.h -r--r--r-- 1 bin 10 2896 Mar 28 1988 ucb/tn3270/ctlr/unix.kbd -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tn3270/general +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/tn3270/general -r--r--r-- 1 bin 10 249 Sep 13 1999 ucb/tn3270/general/bsubs.ext -r--r--r-- 1 bin 10 2019 Mar 28 1988 ucb/tn3270/general/genbsubs.c -r--r--r-- 1 bin 10 1392 Mar 28 1988 ucb/tn3270/general/general.h -r--r--r-- 1 bin 10 1291 Mar 28 1988 ucb/tn3270/general/globals.c -r--r--r-- 1 bin 10 2764 Mar 28 1988 ucb/tn3270/general/globals.h --r--r--r-- 1 bin 10 3043 Oct 2 1999 ucb/tn3270/general/makefile +-r--r--r-- 1 bin 10 3043 Dec 5 2003 ucb/tn3270/general/makefile -rw-r--r-- 1 bin 10 2297 Aug 17 1987 ucb/tn3270/general/makefile.mak -r--r--r-- 1 bin 10 1786 Mar 28 1988 ucb/tn3270/general/vaxbsubs.s -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tn3270/sys_curses --r--r--r-- 1 bin 10 2785 Oct 2 1999 ucb/tn3270/sys_curses/makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/tn3270/sys_curses +-r--r--r-- 1 bin 10 214 Sep 13 1999 ucb/tn3270/sys_curses/termout.ext +-r--r--r-- 1 bin 10 2785 Dec 5 2003 ucb/tn3270/sys_curses/makefile -rw-r--r-- 1 bin 10 2229 Aug 17 1987 ucb/tn3270/sys_curses/makefile.mak -r--r--r-- 1 bin 10 15759 Mar 28 1988 ucb/tn3270/sys_curses/system.c -r--r--r-- 1 bin 10 2124 Mar 28 1988 ucb/tn3270/sys_curses/terminal.h -r--r--r-- 1 bin 10 23161 Apr 1 1988 ucb/tn3270/sys_curses/termout.c --r--r--r-- 1 bin 10 214 Sep 13 1999 ucb/tn3270/sys_curses/termout.ext drwxr-xr-x 2 bin 10 0 Sep 13 1999 ucb/tn3270/sys_dos +-r--r--r-- 1 bin 10 214 Sep 13 1999 ucb/tn3270/sys_dos/termout.ext -r--r--r-- 1 bin 10 2903 Mar 28 1988 ucb/tn3270/sys_dos/makefile -rw-r--r-- 1 bin 10 2804 Aug 17 1987 ucb/tn3270/sys_dos/makefile.mak -r--r--r-- 1 bin 10 957 Mar 28 1988 ucb/tn3270/sys_dos/spint.h @@ -5496,11 +5499,10 @@ drwxr-xr-x 2 bin 10 0 Sep 13 1999 ucb/tn3270/sys_dos -r--r--r-- 1 bin 10 895 Mar 28 1988 ucb/tn3270/sys_dos/support.asm -r--r--r-- 1 bin 10 2755 Mar 28 1988 ucb/tn3270/sys_dos/system.c -r--r--r-- 1 bin 10 10492 Mar 28 1988 ucb/tn3270/sys_dos/termout.c --r--r--r-- 1 bin 10 214 Sep 13 1999 ucb/tn3270/sys_dos/termout.ext -r--r--r-- 1 bin 10 1320 Mar 28 1988 ucb/tn3270/sys_dos/video.h drwxr-xr-x 2 bin 10 0 Sep 13 1999 ucb/tn3270/telnet -r--r--r-- 1 bin 10 4561 Sep 13 1999 ucb/tn3270/telnet/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tn3270/tools +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/tn3270/tools -r--r--r-- 1 bin 10 6557 Mar 28 1988 ucb/tn3270/tools/dohits.c -r--r--r-- 1 bin 10 994 Mar 28 1988 ucb/tn3270/tools/dohits.h -r--r--r-- 1 bin 10 4425 Mar 28 1988 ucb/tn3270/tools/ectype.c @@ -5526,26 +5528,26 @@ drwxr-xr-x 2 bin 10 0 Sep 13 1999 ucb/tn3270/utilities/srccmd -rw-r--r-- 1 bin 10 18062 Jun 16 1987 ucb/tn3270/utilities/tarread.exe -r--r--r-- 1 bin 10 958 Mar 28 1988 ucb/tn3270/utilities/tncomp.h -r--r--r-- 1 bin 10 14894 Mar 28 1988 ucb/tn3270/utilities/tnrecv.c --r--r--r-- 1 bin 10 6134 Oct 2 1999 ucb/tn3270/makefile +-r--r--r-- 1 bin 10 474 Sep 13 1999 ucb/tn3270/telnet.ext +-r--r--r-- 1 bin 10 6134 Dec 5 2003 ucb/tn3270/makefile -rw-r--r-- 1 bin 10 6031 Jul 31 1987 ucb/tn3270/makefile_4.2 -rw-r--r-- 1 bin 10 7661 Aug 17 1987 ucb/tn3270/makefile.mak -r--r--r-- 1 bin 10 3721 Jul 31 1987 ucb/tn3270/README -r--r--r-- 1 bin 10 85541 Mar 28 1988 ucb/tn3270/telnet.c --r--r--r-- 1 bin 10 474 Sep 13 1999 ucb/tn3270/telnet.ext -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/tset --r--r--r-- 1 bin 10 1651 Oct 2 1999 ucb/tset/Makefile +drwxr-xr-x 2 bin 10 0 Dec 5 2003 ucb/tset +-r--r--r-- 1 bin 10 1651 Dec 5 2003 ucb/tset/Makefile -r--r--r-- 1 bin 10 45287 Jun 29 1988 ucb/tset/tset.c -r--r--r-- 1 bin 10 2608 Jun 29 1988 ucb/tset/tset.delays.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/vgrind --r--r--r-- 1 bin 10 1518 Oct 2 1999 ucb/vgrind/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/vgrind +-r--r--r-- 1 bin 10 5645 Sep 13 1999 ucb/vgrind/vgrindefs.src +-r--r--r-- 1 bin 10 1518 Dec 5 2003 ucb/vgrind/Makefile -r--r--r-- 1 bin 10 12098 Jun 5 1985 ucb/vgrind/regexp.c -r--r--r-- 1 bin 10 1274 Jun 5 1985 ucb/vgrind/retest.c -r--r--r-- 1 bin 10 804 Apr 29 1987 ucb/vgrind/tmac.vgrind -r--r--r-- 1 bin 10 14184 Jul 17 1986 ucb/vgrind/vfontedpr.c -r--r--r-- 1 bin 10 2323 Nov 12 1985 ucb/vgrind/vgrind.sh -r--r--r-- 1 bin 10 6103 Jun 5 1985 ucb/vgrind/vgrindefs.c --r--r--r-- 1 bin 10 5645 Sep 13 1999 ucb/vgrind/vgrindefs.src -drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/window +drwxr-xr-x 2 bin 10 0 Dec 7 2003 ucb/window -r--r--r-- 1 bin 10 370 May 21 1988 ucb/window/:tt -r--r--r-- 1 bin 10 282 Apr 24 1985 ucb/window/:tty -r--r--r-- 1 bin 10 65 Apr 24 1985 ucb/window/:var @@ -5571,7 +5573,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/window -r--r--r-- 1 bin 10 8067 Jun 29 1988 ucb/window/lcmd2.c -r--r--r-- 1 bin 10 1063 Jun 29 1988 ucb/window/local.h -r--r--r-- 1 bin 10 3659 Jun 29 1988 ucb/window/main.c --r--r--r-- 1 bin 10 17582 Oct 2 1999 ucb/window/Makefile +-r--r--r-- 1 bin 10 17582 Dec 5 2003 ucb/window/Makefile -r--r--r-- 1 bin 10 1696 Jun 29 1988 ucb/window/mloop.c -r--r--r-- 1 bin 10 1116 Jun 29 1988 ucb/window/parser.h -r--r--r-- 1 bin 10 8487 Jul 9 1988 ucb/window/README @@ -5645,7 +5647,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/window -r--r--r-- 1 bin 10 1725 Jun 29 1988 ucb/window/wwunframe.c -r--r--r-- 1 bin 10 3558 Jun 29 1988 ucb/window/wwupdate.c -r--r--r-- 1 bin 10 6167 Jun 29 1988 ucb/window/wwwrite.c --r--r--r-- 1 bin 10 33719 Sep 7 1999 ucb/sccs.c +-r--r--r-- 1 bin 10 33768 May 28 2001 ucb/sccs.c -r--r--r-- 1 bin 10 2555 Apr 6 1987 ucb/apply.c -r--r--r-- 1 bin 10 1118 May 31 1985 ucb/biff.c -r--r--r-- 1 bin 10 12816 Dec 5 1985 ucb/checknr.c @@ -5677,7 +5679,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/window -r--r--r-- 1 bin 10 3566 Dec 3 1986 ucb/strings.c -r--r--r-- 1 bin 10 5604 Jul 2 1985 ucb/symorder.c -r--r--r-- 1 bin 10 4298 Nov 13 1986 ucb/tail.c --r--r--r-- 1 bin 10 18017 Jan 2 1988 ucb/w.c +-r--r--r-- 1 bin 10 18010 Jan 1 2003 ucb/w.c -r--r--r-- 1 bin 10 6247 Jul 6 1988 ucb/tcopy.c -r--r--r-- 1 bin 10 9386 Jul 6 1988 ucb/ul.c -r--r--r-- 1 bin 10 1737 May 31 1985 ucb/unexpand.c @@ -5692,7 +5694,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 ucb/window -r--r--r-- 1 bin 10 1862 Feb 8 1988 ucb/whois.c -r--r--r-- 1 bin 10 7495 Jan 13 1986 ucb/xstr.c -r--r--r-- 1 bin 10 1184 Jun 29 1988 ucb/yes.c --r--r--r-- 1 bin 10 14290 Oct 2 1999 ucb/Makefile +-r--r--r-- 1 bin 10 14290 Dec 5 2003 ucb/Makefile drwxr-xr-x 2 bin 10 0 Jan 17 1999 undoc drwxr-xr-x 2 bin 10 0 Jan 17 1999 undoc/sps -r--r--r-- 1 bin 10 229 Jun 8 1982 undoc/sps/Makefile @@ -5704,23 +5706,23 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 undoc/sps -r--r--r-- 1 bin 10 2794 Jun 8 1982 undoc/enteraddr.c -r--r--r-- 1 bin 10 448 Jun 8 1982 undoc/fpe.c -r--r--r-- 1 bin 10 9855 Oct 22 1987 undoc/v6mail.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/at --r--r--r-- 1 bin 10 21259 Jan 18 1987 usr.bin/at/at.c --r--r--r-- 1 bin 10 12700 Sep 15 1987 usr.bin/at/atq.c --r--r--r-- 1 bin 10 9909 Jan 18 1987 usr.bin/at/atrm.c --r--r--r-- 1 bin 10 12356 Nov 26 1986 usr.bin/at/atrun.c --r--r--r-- 1 bin 10 2800 Oct 2 1999 usr.bin/at/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/calendar +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/at +-r--r--r-- 1 bin 10 21178 Jan 1 2000 usr.bin/at/at.c +-r--r--r-- 1 bin 10 12698 Jan 1 2000 usr.bin/at/atq.c +-r--r--r-- 1 bin 10 9911 Jan 1 2000 usr.bin/at/atrm.c +-r--r--r-- 1 bin 10 12392 Jan 1 2000 usr.bin/at/atrun.c +-r--r--r-- 1 bin 10 2870 Dec 5 2003 usr.bin/at/Makefile +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/calendar -r--r--r-- 1 bin 10 927 May 2 1987 usr.bin/calendar/calendar.c -rw-r--r-- 1 bin 10 60214 Apr 5 1988 usr.bin/calendar/calendar.fun -r--r--r-- 1 bin 10 1021 Mar 27 1988 usr.bin/calendar/calendar.sh --r--r--r-- 1 bin 10 877 Oct 2 1999 usr.bin/calendar/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/dc +-r--r--r-- 1 bin 10 877 Dec 5 2003 usr.bin/calendar/Makefile +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/dc -r--r--r-- 1 bin 10 31619 Sep 28 1987 usr.bin/dc/dc.c -r--r--r-- 1 bin 10 3234 Apr 25 1986 usr.bin/dc/dc.h --r--r--r-- 1 bin 10 782 Oct 2 1999 usr.bin/dc/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/diction +-r--r--r-- 1 bin 10 782 Dec 5 2003 usr.bin/dc/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/diction -r--r--r-- 1 bin 10 823 Feb 11 1983 usr.bin/diction/abbrev.c -r--r--r-- 1 bin 10 303 Aug 11 1983 usr.bin/diction/conp.h -r--r--r-- 1 bin 10 6020 Feb 11 1983 usr.bin/diction/dict.c @@ -5732,7 +5734,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/diction -r--r--r-- 1 bin 10 3156 Feb 11 1983 usr.bin/diction/end.l -r--r--r-- 1 bin 10 14220 Feb 11 1983 usr.bin/diction/explain.d -r--r--r-- 1 bin 10 198 Jun 17 1983 usr.bin/diction/explain.sh --r--r--r-- 1 bin 10 2239 Oct 2 1999 usr.bin/diction/Makefile +-r--r--r-- 1 bin 10 2239 Dec 5 2003 usr.bin/diction/Makefile -r--r--r-- 1 bin 10 818 Aug 11 1983 usr.bin/diction/names.h -r--r--r-- 1 bin 10 4149 Feb 11 1983 usr.bin/diction/nhash.c -r--r--r-- 1 bin 10 7658 Feb 11 1983 usr.bin/diction/nwords.l @@ -5743,11 +5745,11 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/diction -r--r--r-- 1 bin 10 989 Feb 11 1983 usr.bin/diction/style.sh -r--r--r-- 1 bin 10 2498 Jun 11 1999 usr.bin/diction/README -r--r--r-- 1 bin 10 9860 Feb 11 1983 usr.bin/diction/ydict.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/diff3 +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/diff3 -r--r--r-- 1 bin 10 9447 Aug 27 1985 usr.bin/diff3/diff3.c -r--r--r-- 1 bin 10 309 Feb 10 1983 usr.bin/diff3/diff3.sh --r--r--r-- 1 bin 10 824 Oct 2 1999 usr.bin/diff3/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/efl +-r--r--r-- 1 bin 10 824 Dec 5 2003 usr.bin/diff3/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/efl -r--r--r-- 1 bin 10 3254 Jun 8 1982 usr.bin/efl/addr.c -r--r--r-- 1 bin 10 4874 Jun 8 1982 usr.bin/efl/alloc.c -r--r--r-- 1 bin 10 8855 Jun 8 1982 usr.bin/efl/bigdefs @@ -5769,7 +5771,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/efl -r--r--r-- 1 bin 10 11144 Jun 8 1982 usr.bin/efl/io.c -r--r--r-- 1 bin 10 7128 Jun 8 1982 usr.bin/efl/lex.l -r--r--r-- 1 bin 10 9899 Jun 8 1982 usr.bin/efl/main.c --r--r--r-- 1 bin 10 3115 Oct 2 1999 usr.bin/efl/Makefile +-r--r--r-- 1 bin 10 3115 Dec 5 2003 usr.bin/efl/Makefile -r--r--r-- 1 bin 10 5359 Jun 8 1982 usr.bin/efl/misc.c -r--r--r-- 1 bin 10 15859 Jun 8 1982 usr.bin/efl/mk.c -r--r--r-- 1 bin 10 5147 Jun 8 1982 usr.bin/efl/namgen.c @@ -5805,10 +5807,10 @@ drwxr-xr-x 2 bin 10 0 Jun 11 1999 usr.bin/eqn/common_source -r--r--r-- 1 bin 10 940 Jun 18 1987 usr.bin/eqn/common_source/size.c -r--r--r-- 1 bin 10 912 Jun 18 1987 usr.bin/eqn/common_source/sqrt.c -r--r--r-- 1 bin 10 3435 Jun 18 1987 usr.bin/eqn/common_source/text.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/eqn/eqn --r--r--r-- 1 bin 10 2873 Oct 2 1999 usr.bin/eqn/eqn/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/eqn/neqn --r--r--r-- 1 bin 10 2885 Oct 2 1999 usr.bin/eqn/neqn/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/eqn/eqn +-r--r--r-- 1 bin 10 2873 Dec 5 2003 usr.bin/eqn/eqn/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/eqn/neqn +-r--r--r-- 1 bin 10 2885 Dec 5 2003 usr.bin/eqn/neqn/Makefile -r--r--r-- 1 bin 10 567 Dec 12 1987 usr.bin/eqn/Makefile drwxr-xr-x 2 bin 10 0 Jul 10 1999 usr.bin/f77 drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.bin/f77/f77.tahoe @@ -5864,11 +5866,11 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.bin/f77/f77.tahoe/inclu -r--r--r-- 1 bin 10 1888 Oct 11 1985 usr.bin/f77/f77.tahoe/include/machdefs.h -r--r--r-- 1 bin 10 63 Oct 11 1985 usr.bin/f77/f77.tahoe/include/version.h drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.bin/f77/f77.vax -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/f77/f77.vax/f77 +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/f77/f77.vax/f77 -r--r--r-- 1 bin 10 1049 Aug 28 1985 usr.bin/f77/f77.vax/f77/drivedefs.h --r--r--r-- 1 bin 10 1494 Oct 2 1999 usr.bin/f77/f77.vax/f77/Makefile +-r--r--r-- 1 bin 10 1494 Dec 5 2003 usr.bin/f77/f77.vax/f77/Makefile -r--r--r-- 1 bin 10 24006 Jul 10 1999 usr.bin/f77/f77.vax/f77/f77.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/f77/f77.vax/f77pass1 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/f77/f77.vax/f77pass1 -r--r--r-- 1 bin 10 16346 Jan 3 1988 usr.bin/f77/f77.vax/f77pass1/bb.c -r--r--r-- 1 bin 10 17719 Jan 3 1988 usr.bin/f77/f77.vax/f77pass1/conv.c -r--r--r-- 1 bin 10 1309 Jun 7 1985 usr.bin/f77/f77.vax/f77pass1/conv.h @@ -5895,7 +5897,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/f77/f77.vax/f77pass -r--r--r-- 1 bin 10 840 Jun 7 1985 usr.bin/f77/f77.vax/f77pass1/io.h -r--r--r-- 1 bin 10 19451 Jan 7 1986 usr.bin/f77/f77.vax/f77pass1/lex.c -r--r--r-- 1 bin 10 5487 Jan 3 1988 usr.bin/f77/f77.vax/f77pass1/main.c --r--r--r-- 1 bin 10 5608 Oct 2 1999 usr.bin/f77/f77.vax/f77pass1/Makefile +-r--r--r-- 1 bin 10 5608 Dec 5 2003 usr.bin/f77/f77.vax/f77pass1/Makefile -r--r--r-- 1 bin 10 10141 Jan 7 1986 usr.bin/f77/f77.vax/f77pass1/misc.c -r--r--r-- 1 bin 10 19895 Jan 3 1988 usr.bin/f77/f77.vax/f77pass1/optcse.c -r--r--r-- 1 bin 10 16548 Jan 3 1988 usr.bin/f77/f77.vax/f77pass1/optim.c @@ -5912,17 +5914,17 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/f77/f77.vax/f77pass -r--r--r-- 1 bin 10 713 Mar 20 1985 usr.bin/f77/f77.vax/f77pass1/tokens -r--r--r-- 1 bin 10 18057 Jan 3 1988 usr.bin/f77/f77.vax/f77pass1/vax.c -r--r--r-- 1 bin 10 652 Jun 7 1985 usr.bin/f77/f77.vax/f77pass1/vaxx.c --rw-r--r-- 1 root 10 1771 Oct 2 1999 usr.bin/f77/f77.vax/f77pass1/tokdefs.h +-rw-r--r-- 1 bin 10 1771 Jan 25 2003 usr.bin/f77/f77.vax/f77pass1/tokdefs.h drwxr-xr-x 2 bin 10 0 Jun 11 1999 usr.bin/f77/f77.vax/include -r--r--r-- 1 bin 10 5387 Jan 3 1988 usr.bin/f77/f77.vax/include/defines.h -r--r--r-- 1 bin 10 1914 Oct 28 1986 usr.bin/f77/f77.vax/include/machdefs.h -r--r--r-- 1 bin 10 63 Oct 28 1986 usr.bin/f77/f77.vax/include/version.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/f77/fpr +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/f77/fpr -r--r--r-- 1 bin 10 5333 May 18 1983 usr.bin/f77/fpr/fpr.c --r--r--r-- 1 bin 10 740 Oct 2 1999 usr.bin/f77/fpr/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/f77/fsplit +-r--r--r-- 1 bin 10 740 Dec 5 2003 usr.bin/f77/fpr/Makefile +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/f77/fsplit -r--r--r-- 1 bin 10 7616 May 18 1983 usr.bin/f77/fsplit/fsplit.c --r--r--r-- 1 bin 10 844 Oct 2 1999 usr.bin/f77/fsplit/Makefile +-r--r--r-- 1 bin 10 844 Dec 5 2003 usr.bin/f77/fsplit/Makefile drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.bin/f77/testf77 drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.bin/f77/testf77/output -r--r--r-- 1 bin 10 57914 Nov 25 1985 usr.bin/f77/testf77/output/tests.exp @@ -5995,7 +5997,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.bin/f77/testf77/tests -rwxr-xr-x 1 bin 10 40 Nov 25 1985 usr.bin/f77/testf77/runtest -r--r--r-- 1 bin 10 2526 Nov 25 1985 usr.bin/f77/testf77/testf77 -r--r--r-- 1 bin 10 610 Jul 10 1999 usr.bin/f77/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/find +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/find drwxr-xr-x 2 bin 10 0 Jul 10 1999 usr.bin/find/test -rw-r--r-- 1 bin 10 1839 Aug 16 1985 usr.bin/find/test/diff-c.new -rw-r--r-- 1 bin 10 3499 Aug 16 1985 usr.bin/find/test/diff-c.old @@ -6003,12 +6005,12 @@ drwxr-xr-x 2 bin 10 0 Jul 10 1999 usr.bin/find/test -r--r--r-- 1 bin 10 978 Jul 21 1983 usr.bin/find/bigram.c -r--r--r-- 1 bin 10 3078 Jul 21 1983 usr.bin/find/code.c -r--r--r-- 1 bin 10 25863 Sep 28 1987 usr.bin/find/find.c --r--r--r-- 1 bin 10 1650 Oct 2 1999 usr.bin/find/Makefile +-r--r--r-- 1 bin 10 1650 Dec 5 2003 usr.bin/find/Makefile -r--r--r-- 1 bin 10 1266 Apr 22 1985 usr.bin/find/updatedb.csh -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/graph +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/graph -r--r--r-- 1 bin 10 10853 Mar 30 1983 usr.bin/graph/graph.c --r--r--r-- 1 bin 10 808 Oct 2 1999 usr.bin/graph/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/learn +-r--r--r-- 1 bin 10 808 Dec 5 2003 usr.bin/graph/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/learn -r--r--r-- 1 bin 10 6588 Sep 11 1987 usr.bin/learn/copy.c -r--r--r-- 1 bin 10 1726 Sep 11 1987 usr.bin/learn/dounit.c -r--r--r-- 1 bin 10 1766 Mar 27 1985 usr.bin/learn/getlesson.c @@ -6019,7 +6021,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/learn -r--r--r-- 1 bin 10 450 Mar 27 1985 usr.bin/learn/list.c -r--r--r-- 1 bin 10 898 May 15 1986 usr.bin/learn/lrnref.h -r--r--r-- 1 bin 10 438 May 15 1986 usr.bin/learn/lrntee.c --r--r--r-- 1 bin 10 3246 Oct 2 1999 usr.bin/learn/Makefile +-r--r--r-- 1 bin 10 3246 Dec 5 2003 usr.bin/learn/Makefile -r--r--r-- 1 bin 10 534 May 15 1986 usr.bin/learn/makpipe.c -r--r--r-- 1 bin 10 816 Mar 27 1985 usr.bin/learn/maktee.c -r--r--r-- 1 bin 10 1983 May 15 1986 usr.bin/learn/mem.c @@ -6031,18 +6033,18 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/learn -r--r--r-- 1 bin 10 451 Mar 27 1985 usr.bin/learn/tee.c -r--r--r-- 1 bin 10 886 Mar 27 1985 usr.bin/learn/whatnow.c -r--r--r-- 1 bin 10 997 May 15 1986 usr.bin/learn/wrapup.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/lex +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/lex -r--r--r-- 1 bin 10 3835 Aug 11 1983 usr.bin/lex/header.c -r--r--r-- 1 bin 10 3298 Aug 11 1983 usr.bin/lex/ldefs.c -r--r--r-- 1 bin 10 5987 Feb 21 1985 usr.bin/lex/lmain.c --r--r--r-- 1 bin 10 1259 Oct 2 1999 usr.bin/lex/Makefile +-r--r--r-- 1 bin 10 1259 Dec 5 2003 usr.bin/lex/Makefile -r--r--r-- 1 bin 10 3944 Aug 11 1983 usr.bin/lex/ncform -r--r--r-- 1 bin 10 3097 Aug 11 1983 usr.bin/lex/nrform -r--r--r-- 1 bin 10 3446 Aug 11 1983 usr.bin/lex/once.c -r--r--r-- 1 bin 10 15596 Jan 12 1988 usr.bin/lex/parser.y -r--r--r-- 1 bin 10 12432 Jan 12 1988 usr.bin/lex/sub1.c -r--r--r-- 1 bin 10 20549 Jan 12 1988 usr.bin/lex/sub2.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/lint +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/lint -r--r--r-- 1 bin 10 151 Apr 18 1985 usr.bin/lint/:yyfix -r--r--r-- 1 bin 10 635 Sep 28 1987 usr.bin/lint/hash.c -r--r--r-- 1 bin 10 33601 Dec 11 1987 usr.bin/lint/lint.c @@ -6061,25 +6063,25 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/lint -r--r--r-- 1 bin 10 205 Apr 8 1985 usr.bin/lint/READ_ME -rw-r--r-- 1 bin 10 47 Dec 11 1987 usr.bin/lint/rel.c -r--r--r-- 1 bin 10 735 Mar 11 1985 usr.bin/lint/SHELL -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/m4 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/m4 -r--r--r-- 1 bin 10 16511 Aug 11 1983 usr.bin/m4/m4.c -r--r--r-- 1 bin 10 1671 Dec 15 1982 usr.bin/m4/m4y.y --r--r--r-- 1 bin 10 840 Oct 2 1999 usr.bin/m4/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/plot +-r--r--r-- 1 bin 10 840 Dec 5 2003 usr.bin/m4/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/plot -r--r--r-- 1 bin 10 2820 Jan 9 1985 usr.bin/plot/atoplot.c -r--r--r-- 1 bin 10 8848 Jul 4 1983 usr.bin/plot/chrtab.c -r--r--r-- 1 bin 10 2394 Jan 9 1985 usr.bin/plot/crtdriver.c -r--r--r-- 1 bin 10 6286 Nov 11 1983 usr.bin/plot/crtplot.c -r--r--r-- 1 bin 10 2207 Jan 9 1985 usr.bin/plot/debug.c -r--r--r-- 1 bin 10 2354 Sep 21 1985 usr.bin/plot/driver.c --r--r--r-- 1 bin 10 2615 Oct 2 1999 usr.bin/plot/Makefile +-r--r--r-- 1 bin 10 2615 Dec 5 2003 usr.bin/plot/Makefile -r--r--r-- 1 bin 10 705 Aug 29 1986 usr.bin/plot/plot.sh -r--r--r-- 1 bin 10 3157 Jan 9 1985 usr.bin/plot/plottoa.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/prof --r--r--r-- 1 bin 10 1001 Oct 2 1999 usr.bin/prof/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/prof +-r--r--r-- 1 bin 10 1001 Dec 5 2003 usr.bin/prof/Makefile -r--r--r-- 1 bin 10 12570 Mar 24 1985 usr.bin/prof/prof.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/ratfor --r--r--r-- 1 bin 10 1078 Oct 2 1999 usr.bin/ratfor/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/ratfor +-r--r--r-- 1 bin 10 1078 Dec 5 2003 usr.bin/ratfor/Makefile -r--r--r-- 1 bin 10 1197 Aug 11 1983 usr.bin/ratfor/r.h -r--r--r-- 1 bin 10 1264 Oct 26 1987 usr.bin/ratfor/r.y -r--r--r-- 1 bin 10 1494 Aug 11 1983 usr.bin/ratfor/r0.c @@ -6088,8 +6090,8 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/ratfor -r--r--r-- 1 bin 10 4060 Aug 11 1983 usr.bin/ratfor/rio.c -r--r--r-- 1 bin 10 4251 Aug 11 1983 usr.bin/ratfor/rlex.c -r--r--r-- 1 bin 10 1199 Aug 11 1983 usr.bin/ratfor/rlook.c --r--r--r-- 1 bin 10 319 Oct 2 1999 usr.bin/ratfor/y.tab.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/refer +-r--r--r-- 1 bin 10 319 Dec 5 2003 usr.bin/ratfor/y.tab.h +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/refer -r--r--r-- 1 bin 10 5999 Nov 2 1984 usr.bin/refer/addbib.c -r--r--r-- 1 bin 10 1483 May 8 1983 usr.bin/refer/annobib.c -r--r--r-- 1 bin 10 884 May 8 1983 usr.bin/refer/deliv1.c @@ -6116,7 +6118,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/refer -r--r--r-- 1 bin 10 1447 Jan 9 1985 usr.bin/refer/inv6.c -r--r--r-- 1 bin 10 5156 May 8 1983 usr.bin/refer/kaiser.c -r--r--r-- 1 bin 10 1923 Oct 26 1987 usr.bin/refer/lookbib.c --r--r--r-- 1 bin 10 7713 Oct 2 1999 usr.bin/refer/Makefile +-r--r--r-- 1 bin 10 7713 Dec 5 2003 usr.bin/refer/Makefile -r--r--r-- 1 bin 10 1759 May 8 1983 usr.bin/refer/mkey1.c -r--r--r-- 1 bin 10 2295 Apr 24 1988 usr.bin/refer/mkey2.c -r--r--r-- 1 bin 10 827 May 8 1983 usr.bin/refer/mkey3.c @@ -6146,10 +6148,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/refer -r--r--r-- 1 bin 10 1755 May 8 1983 usr.bin/refer/what3.c -r--r--r-- 1 bin 10 2831 Sep 11 1987 usr.bin/refer/what4.c drwxr-xr-x 2 bin 10 0 Jun 11 1999 usr.bin/roff -drwxr-xr-x 2 bin 10 0 Jun 11 1999 usr.bin/roff/common_source +drwxr-xr-x 2 bin 10 0 May 29 2002 usr.bin/roff/common_source +-r--r--r-- 1 bin 10 16333 May 29 2002 usr.bin/roff/common_source/n1.c +-r--r--r-- 1 bin 10 5332 May 29 2002 usr.bin/roff/common_source/ni.c +-r--r--r-- 1 bin 10 3901 May 29 2002 usr.bin/roff/common_source/tdef.h +-r--r--r-- 1 bin 10 110 May 29 2002 usr.bin/roff/common_source/v.h -r--r--r-- 1 bin 10 124 Aug 11 1983 usr.bin/roff/common_source/d.h -r--r--r-- 1 bin 10 7269 Aug 5 1982 usr.bin/roff/common_source/hytab.c --r--r--r-- 1 bin 10 16285 Jul 21 1987 usr.bin/roff/common_source/n1.c -r--r--r-- 1 bin 10 5027 Aug 5 1982 usr.bin/roff/common_source/n2.c -r--r--r-- 1 bin 10 12146 Jun 25 1987 usr.bin/roff/common_source/n3.c -r--r--r-- 1 bin 10 8550 Aug 5 1982 usr.bin/roff/common_source/n4.c @@ -6157,20 +6162,17 @@ drwxr-xr-x 2 bin 10 0 Jun 11 1999 usr.bin/roff/common_source -r--r--r-- 1 bin 10 11476 Jan 5 1988 usr.bin/roff/common_source/n7.c -r--r--r-- 1 bin 10 4151 Aug 5 1982 usr.bin/roff/common_source/n8.c -r--r--r-- 1 bin 10 5645 Jul 7 1986 usr.bin/roff/common_source/n9.c --r--r--r-- 1 bin 10 5316 Sep 15 1987 usr.bin/roff/common_source/ni.c -r--r--r-- 1 bin 10 1635 Aug 5 1982 usr.bin/roff/common_source/nii.c -r--r--r-- 1 bin 10 585 Aug 5 1982 usr.bin/roff/common_source/README -r--r--r-- 1 bin 10 167 Aug 11 1983 usr.bin/roff/common_source/sdef.h -r--r--r-- 1 bin 10 19194 Mar 30 1983 usr.bin/roff/common_source/suftab.c --r--r--r-- 1 bin 10 3901 Apr 30 1987 usr.bin/roff/common_source/tdef.h -r--r--r-- 1 bin 10 408 Aug 11 1983 usr.bin/roff/common_source/tw.h --r--r--r-- 1 bin 10 107 Aug 11 1983 usr.bin/roff/common_source/v.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/roff/nroff --r--r--r-- 1 bin 10 5780 Oct 2 1999 usr.bin/roff/nroff/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/roff/nroff +-r--r--r-- 1 bin 10 5780 Dec 5 2003 usr.bin/roff/nroff/Makefile -r--r--r-- 1 bin 10 4674 Apr 27 1988 usr.bin/roff/nroff/n10.c -r--r--r-- 1 bin 10 4463 Apr 8 1983 usr.bin/roff/nroff/n6.c -r--r--r-- 1 bin 10 4458 Aug 5 1982 usr.bin/roff/nroff/ntab.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/roff/nroff_term +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/roff/nroff_term -r--r--r-- 1 bin 10 2514 Aug 5 1983 usr.bin/roff/nroff_term/chartst -r--r--r-- 1 bin 10 5207 Feb 26 1986 usr.bin/roff/nroff_term/code.300 -r--r--r-- 1 bin 10 5919 Aug 5 1983 usr.bin/roff/nroff_term/code.aj833 @@ -6178,7 +6180,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/roff/nroff_term -r--r--r-- 1 bin 10 5572 Aug 5 1983 usr.bin/roff/nroff_term/code.nec -r--r--r-- 1 bin 10 5030 Aug 5 1983 usr.bin/roff/nroff_term/code.x-ecs -r--r--r-- 1 bin 10 5277 Aug 5 1983 usr.bin/roff/nroff_term/code.xerox --r--r--r-- 1 bin 10 3393 Oct 2 1999 usr.bin/roff/nroff_term/Makefile +-r--r--r-- 1 bin 10 3393 Dec 5 2003 usr.bin/roff/nroff_term/Makefile -r--r--r-- 1 bin 10 1288 Sep 17 1987 usr.bin/roff/nroff_term/README -r--r--r-- 1 bin 10 936 Aug 5 1983 usr.bin/roff/nroff_term/tab300-12.c -r--r--r-- 1 bin 10 941 Aug 5 1983 usr.bin/roff/nroff_term/tab300.c @@ -6205,20 +6207,20 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/roff/nroff_term -r--r--r-- 1 bin 10 994 Aug 5 1983 usr.bin/roff/nroff_term/tabx-ecs.c -r--r--r-- 1 bin 10 953 Aug 5 1983 usr.bin/roff/nroff_term/tabxerox12.c -r--r--r-- 1 bin 10 980 Aug 5 1983 usr.bin/roff/nroff_term/tabxerox.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/roff/troff --r--r--r-- 1 bin 10 5429 Oct 2 1999 usr.bin/roff/troff/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/roff/troff +-r--r--r-- 1 bin 10 5429 Dec 5 2003 usr.bin/roff/troff/Makefile -r--r--r-- 1 bin 10 9761 Aug 5 1982 usr.bin/roff/troff/svt6.c -r--r--r-- 1 bin 10 5279 Dec 3 1982 usr.bin/roff/troff/t10.c -r--r--r-- 1 bin 10 10222 Feb 23 1983 usr.bin/roff/troff/t6.c -r--r--r-- 1 bin 10 15975 Aug 5 1982 usr.bin/roff/troff/tab3.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/roff/troff_font +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/roff/troff_font -rw-r--r-- 1 bin 10 291 Aug 5 1982 usr.bin/roff/troff_font/ftBC.n -rw-r--r-- 1 bin 10 290 Aug 5 1982 usr.bin/roff/troff_font/ftC.n -rw-r--r-- 1 bin 10 306 Aug 5 1982 usr.bin/roff/troff_font/ftCW.n -rw-r--r-- 1 bin 10 285 Aug 5 1982 usr.bin/roff/troff_font/ftGR.n -rw-r--r-- 1 bin 10 303 Aug 5 1982 usr.bin/roff/troff_font/ftR.n -rwxr-xr-x 1 bin 10 107 Aug 5 1982 usr.bin/roff/troff_font/linkrc --r--r--r-- 1 bin 10 688 Oct 2 1999 usr.bin/roff/troff_font/Makefile +-r--r--r-- 1 bin 10 688 Dec 5 2003 usr.bin/roff/troff_font/Makefile -r--r--r-- 1 bin 10 1956 Feb 16 1988 usr.bin/roff/troff_font/mkfont.c -r--r--r-- 1 bin 10 6790 Feb 19 1988 usr.bin/roff/troff_font/mkfont1.c -rwxr-xr-x 1 bin 10 87 Aug 5 1982 usr.bin/roff/troff_font/onefont @@ -6249,11 +6251,11 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/roff/troff_font -r--r--r-- 1 bin 10 1958 Jul 10 1999 usr.bin/roff/troff_font/ftUD.c -r--r--r-- 1 bin 10 2182 Jul 10 1999 usr.bin/roff/troff_font/ftXM.c -r--r--r-- 1 bin 10 902 Dec 12 1987 usr.bin/roff/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/spell +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.bin/spell -rw-r--r-- 1 bin 10 28066 Mar 12 1987 usr.bin/spell/87_changes -r--r--r-- 1 bin 10 3317 Mar 12 1987 usr.bin/spell/american -r--r--r-- 1 bin 10 3512 Mar 12 1987 usr.bin/spell/british --r--r--r-- 1 bin 10 3058 Oct 2 1999 usr.bin/spell/Makefile +-r--r--r-- 1 bin 10 3058 Dec 5 2003 usr.bin/spell/Makefile -r--r--r-- 1 bin 10 5203 Mar 20 1987 usr.bin/spell/README -r--r--r-- 1 bin 10 6855 Mar 12 1987 usr.bin/spell/special.4bsd -r--r--r-- 1 bin 10 2205 Mar 12 1987 usr.bin/spell/special.math @@ -6264,7 +6266,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/spell -r--r--r-- 1 bin 10 805 Dec 18 1982 usr.bin/spell/spellout.c -r--r--r-- 1 bin 10 8216 Mar 12 1987 usr.bin/spell/stop -r--r--r-- 1 bin 10 209785 Jul 14 1988 usr.bin/spell/words -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/struct +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/struct -r--r--r-- 1 bin 10 2517 Feb 11 1983 usr.bin/struct/0.alloc.c -r--r--r-- 1 bin 10 2155 Feb 11 1983 usr.bin/struct/0.args.c -r--r--r-- 1 bin 10 258 Feb 11 1983 usr.bin/struct/0.def.c @@ -6310,11 +6312,11 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/struct -r--r--r-- 1 bin 10 3862 Aug 11 1983 usr.bin/struct/def.h -r--r--r-- 1 bin 10 4699 Feb 11 1983 usr.bin/struct/lextab.l -r--r--r-- 1 bin 10 1157 Feb 11 1983 usr.bin/struct/main.c --r--r--r-- 1 bin 10 4018 Oct 2 1999 usr.bin/struct/Makefile +-r--r--r-- 1 bin 10 4018 Dec 5 2003 usr.bin/struct/Makefile -r--r--r-- 1 bin 10 362 Jul 12 1984 usr.bin/struct/struct -r--r--r-- 1 bin 10 4458 Mar 23 1987 usr.bin/struct/tree.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/tbl --r--r--r-- 1 bin 10 3163 Oct 2 1999 usr.bin/tbl/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/tbl +-r--r--r-- 1 bin 10 3163 Dec 5 2003 usr.bin/tbl/Makefile -r--r--r-- 1 bin 10 1622 Sep 14 1985 usr.bin/tbl/t..c -r--r--r-- 1 bin 10 1144 Aug 11 1983 usr.bin/tbl/t0.c -r--r--r-- 1 bin 10 1897 Aug 11 1983 usr.bin/tbl/t1.c @@ -6337,15 +6339,15 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/tbl -r--r--r-- 1 bin 10 1467 Aug 11 1983 usr.bin/tbl/tt.c -r--r--r-- 1 bin 10 4118 Aug 11 1983 usr.bin/tbl/tu.c -r--r--r-- 1 bin 10 2958 Aug 11 1983 usr.bin/tbl/tv.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/tip -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/tip/aculib +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/tip +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/tip/aculib -r--r--r-- 1 bin 10 2627 Jun 6 1985 usr.bin/tip/aculib/biz22.c -r--r--r-- 1 bin 10 3809 Jun 6 1985 usr.bin/tip/aculib/biz31.c -r--r--r-- 1 bin 10 6850 Feb 17 1987 usr.bin/tip/aculib/courier.c -r--r--r-- 1 bin 10 1809 Jun 6 1985 usr.bin/tip/aculib/df.c -r--r--r-- 1 bin 10 1954 Apr 30 1985 usr.bin/tip/aculib/dn11.c -r--r--r-- 1 bin 10 5575 Apr 30 1985 usr.bin/tip/aculib/hayes.c --r--r--r-- 1 bin 10 4490 Oct 2 1999 usr.bin/tip/aculib/Makefile +-r--r--r-- 1 bin 10 4490 Dec 5 2003 usr.bin/tip/aculib/Makefile -r--r--r-- 1 bin 10 3298 Apr 30 1985 usr.bin/tip/aculib/v3451.c -r--r--r-- 1 bin 10 5263 Apr 30 1985 usr.bin/tip/aculib/v831.c -r--r--r-- 1 bin 10 4284 Apr 30 1985 usr.bin/tip/aculib/ventel.c @@ -6356,7 +6358,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/tip/aculib -r--r--r-- 1 bin 10 1985 Oct 22 1987 usr.bin/tip/cu.c -r--r--r-- 1 bin 10 1313 Apr 23 1987 usr.bin/tip/hunt.c -r--r--r-- 1 bin 10 1129 May 2 1987 usr.bin/tip/log.c --r--r--r-- 1 bin 10 7337 Oct 2 1999 usr.bin/tip/Makefile +-r--r--r-- 1 bin 10 7337 Dec 5 2003 usr.bin/tip/Makefile -r--r--r-- 1 bin 10 1022 Apr 30 1985 usr.bin/tip/partab.c -r--r--r-- 1 bin 10 368 Nov 6 1982 usr.bin/tip/phones-file -r--r--r-- 1 bin 10 1743 Jun 18 1983 usr.bin/tip/README @@ -6370,8 +6372,8 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/tip/aculib -r--r--r-- 1 bin 10 4069 Nov 29 1985 usr.bin/tip/uucplock.c -r--r--r-- 1 bin 10 5253 Apr 30 1985 usr.bin/tip/value.c -r--r--r-- 1 bin 10 2928 Dec 22 1987 usr.bin/tip/vars.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/uucp -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/uucp/aculib +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/uucp +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/uucp/aculib -r--r--r-- 1 bin 10 2985 Feb 24 1988 usr.bin/uucp/aculib/att2224.c -r--r--r-- 1 bin 10 1986 Feb 24 1988 usr.bin/uucp/aculib/bsdtcp.c -r--r--r-- 1 bin 10 2188 Feb 24 1988 usr.bin/uucp/aculib/cds224.c @@ -6382,7 +6384,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/uucp/aculib -r--r--r-- 1 bin 10 3811 Feb 24 1988 usr.bin/uucp/aculib/hys.c -r--r--r-- 1 bin 10 4095 May 5 1988 usr.bin/uucp/aculib/hys24.c -r--r--r-- 1 bin 10 3842 Feb 24 1988 usr.bin/uucp/aculib/hysq.c --r--r--r-- 1 bin 10 9542 Oct 2 1999 usr.bin/uucp/aculib/Makefile +-r--r--r-- 1 bin 10 9542 Dec 5 2003 usr.bin/uucp/aculib/Makefile -r--r--r-- 1 bin 10 2265 Feb 24 1988 usr.bin/uucp/aculib/mic.c -r--r--r-- 1 bin 10 2463 Feb 24 1988 usr.bin/uucp/aculib/nov.c -r--r--r-- 1 bin 10 1991 Feb 24 1988 usr.bin/uucp/aculib/pen.c @@ -6480,7 +6482,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.bin/uucp/UUAIDS -r--r--r-- 1 bin 10 330 Jun 20 1985 usr.bin/uucp/lastpart.c -r--r--r-- 1 bin 10 4078 May 4 1988 usr.bin/uucp/logent.c -r--r--r-- 1 bin 10 852 Apr 5 1988 usr.bin/uucp/mailst.c --r--r--r-- 1 bin 10 13916 Oct 2 1999 usr.bin/uucp/Makefile +-r--r--r-- 1 bin 10 13916 Dec 5 2003 usr.bin/uucp/Makefile -r--r--r-- 1 bin 10 527 Jun 20 1985 usr.bin/uucp/mkdir.c -r--r--r-- 1 bin 10 2333 Apr 5 1988 usr.bin/uucp/pk.h -r--r--r-- 1 bin 10 9279 Apr 5 1988 usr.bin/uucp/pk0.c @@ -6516,17 +6518,17 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.bin/uucp/UUAIDS -r--r--r-- 1 bin 10 16915 May 13 1988 usr.bin/uucp/uuxqt.c -r--r--r-- 1 bin 10 2859 Apr 5 1988 usr.bin/uucp/versys.c -r--r--r-- 1 bin 10 1946 May 4 1988 usr.bin/uucp/xqt.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/xsend +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/xsend -r--r--r-- 1 bin 10 728 Jun 17 1983 usr.bin/xsend/enroll.c -r--r--r-- 1 bin 10 2004 Jun 17 1983 usr.bin/xsend/lib.c --r--r--r-- 1 bin 10 1715 Oct 2 1999 usr.bin/xsend/Makefile +-r--r--r-- 1 bin 10 1715 Dec 5 2003 usr.bin/xsend/Makefile -r--r--r-- 1 bin 10 2805 Jun 30 1983 usr.bin/xsend/xget.c -r--r--r-- 1 bin 10 233 Jun 17 1983 usr.bin/xsend/xmail.h -r--r--r-- 1 bin 10 3010 Feb 14 1984 usr.bin/xsend/xsend.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/yacc +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/yacc -r--r--r-- 1 bin 10 5784 Mar 21 1986 usr.bin/yacc/dextern -r--r--r-- 1 bin 10 553 Feb 11 1983 usr.bin/yacc/files --r--r--r-- 1 bin 10 1082 Oct 2 1999 usr.bin/yacc/Makefile +-r--r--r-- 1 bin 10 1082 Dec 5 2003 usr.bin/yacc/Makefile -r--r--r-- 1 bin 10 16665 Feb 11 1983 usr.bin/yacc/y1.c -r--r--r-- 1 bin 10 19002 Feb 11 1983 usr.bin/yacc/y2.c -r--r--r-- 1 bin 10 9317 Feb 11 1983 usr.bin/yacc/y3.c @@ -6534,9 +6536,9 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/yacc -r--r--r-- 1 bin 10 4883 Feb 11 1983 usr.bin/yacc/yaccdiffs -r--r--r-- 1 bin 10 6804 Feb 11 1983 usr.bin/yacc/yaccnews -r--r--r-- 1 bin 10 3456 Feb 11 1983 usr.bin/yacc/yaccpar -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/sccscmds -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/sccscmds/cmd --r--r--r-- 1 bin 10 14584 Jan 7 1999 usr.bin/sccscmds/cmd/get.c +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/sccscmds +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/sccscmds/cmd +-r--r--r-- 1 bin 10 14625 Dec 15 1999 usr.bin/sccscmds/cmd/get.c -r--r--r-- 1 bin 10 16028 Jan 4 1999 usr.bin/sccscmds/cmd/admin.c -r--r--r-- 1 bin 10 151 Apr 11 1990 usr.bin/sccscmds/cmd/alloc.c -r--r--r-- 1 bin 10 6871 Jan 4 1999 usr.bin/sccscmds/cmd/bdiff.c @@ -6544,9 +6546,9 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/sccscmds/cmd -r--r--r-- 1 bin 10 5147 Apr 11 1990 usr.bin/sccscmds/cmd/comb.c -r--r--r-- 1 bin 10 13923 Aug 28 1999 usr.bin/sccscmds/cmd/delta.c -r--r--r-- 1 bin 10 3076 Jan 7 1999 usr.bin/sccscmds/cmd/help.c --r--r--r-- 1 bin 10 3734 Sep 7 1999 usr.bin/sccscmds/cmd/makefile --r--r--r-- 1 bin 10 15519 Jan 7 1999 usr.bin/sccscmds/cmd/prs.c --r--r--r-- 1 bin 10 7196 Apr 11 1990 usr.bin/sccscmds/cmd/prt.c +-r--r--r-- 1 bin 10 3743 May 28 2001 usr.bin/sccscmds/cmd/makefile +-r--r--r-- 1 bin 10 25916 May 28 2001 usr.bin/sccscmds/cmd/prs.c +-r--r--r-- 1 bin 10 7326 May 28 2001 usr.bin/sccscmds/cmd/prt.c -r--r--r-- 1 bin 10 8479 Apr 11 1990 usr.bin/sccscmds/cmd/rmchg.c -r--r--r-- 1 bin 10 775 Apr 11 1990 usr.bin/sccscmds/cmd/sccsdiff.sh -r--r--r-- 1 bin 10 16473 Apr 11 1990 usr.bin/sccscmds/cmd/scv.c @@ -6555,13 +6557,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/sccscmds/cmd -r--r--r-- 1 bin 10 15454 Apr 11 1990 usr.bin/sccscmds/cmd/val.c -r--r--r-- 1 bin 10 12595 Apr 11 1990 usr.bin/sccscmds/cmd/vc.c -r--r--r-- 1 bin 10 966 Apr 11 1990 usr.bin/sccscmds/cmd/what.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/sccscmds/com --r--r--r-- 1 bin 10 1847 Jan 8 1999 usr.bin/sccscmds/com/date_ab.c +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/sccscmds/com +-r--r--r-- 1 bin 10 1878 Dec 15 1999 usr.bin/sccscmds/com/date_ab.c +-r--r--r-- 1 bin 10 469 Dec 15 1999 usr.bin/sccscmds/com/date_ba.c -r--r--r-- 1 bin 10 585 Apr 11 1990 usr.bin/sccscmds/com/auxf.c -r--r--r-- 1 bin 10 290 Apr 11 1990 usr.bin/sccscmds/com/chkid.c -r--r--r-- 1 bin 10 249 Apr 11 1990 usr.bin/sccscmds/com/chksid.c -rwxr-xr-x 1 bin 10 834 Apr 11 1990 usr.bin/sccscmds/com/Compile --r--r--r-- 1 bin 10 437 Apr 11 1990 usr.bin/sccscmds/com/date_ba.c -r--r--r-- 1 bin 10 687 Apr 11 1990 usr.bin/sccscmds/com/del_ab.c -r--r--r-- 1 bin 10 545 Apr 11 1990 usr.bin/sccscmds/com/del_ba.c -r--r--r-- 1 bin 10 2771 Apr 11 1990 usr.bin/sccscmds/com/dodelt.c @@ -6575,8 +6577,8 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/sccscmds/com -r--r--r-- 1 bin 10 974 Apr 11 1990 usr.bin/sccscmds/com/getline.c -r--r--r-- 1 bin 10 461 Apr 11 1990 usr.bin/sccscmds/com/Makefile -r--r--r-- 1 bin 10 280 Apr 11 1990 usr.bin/sccscmds/com/newstats.c --r--r--r-- 1 bin 10 1783 Apr 11 1990 usr.bin/sccscmds/com/permiss.c -r--r--r-- 1 bin 10 938 Apr 11 1990 usr.bin/sccscmds/com/pf_ab.c +-r--r--r-- 1 bin 10 1783 Apr 11 1990 usr.bin/sccscmds/com/permiss.c -r--r--r-- 1 bin 10 1834 Apr 11 1990 usr.bin/sccscmds/com/putline.c -r--r--r-- 1 bin 10 3305 Apr 11 1990 usr.bin/sccscmds/com/rdmod.c -r--r--r-- 1 bin 10 1526 Apr 11 1990 usr.bin/sccscmds/com/setup.c @@ -6592,7 +6594,7 @@ drwxr-xr-x 2 bin 10 0 Jan 7 1999 usr.bin/sccscmds/hdr -r--r--r-- 1 bin 10 313 Apr 11 1990 usr.bin/sccscmds/hdr/fatal.h -r--r--r-- 1 bin 10 754 Apr 11 1990 usr.bin/sccscmds/hdr/had.h -r--r--r-- 1 bin 10 787 Apr 11 1990 usr.bin/sccscmds/hdr/macros.h -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.bin/sccscmds/util +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.bin/sccscmds/util drwxr-xr-x 2 bin 10 0 Jan 7 1999 usr.bin/sccscmds/util/OLD -r--r--r-- 1 bin 10 309 Apr 11 1990 usr.bin/sccscmds/util/OLD/alloca.s -r--r--r-- 1 bin 10 511 Apr 11 1990 usr.bin/sccscmds/util/OLD/sbrk.s @@ -6609,7 +6611,7 @@ drwxr-xr-x 2 bin 10 0 Jan 7 1999 usr.bin/sccscmds/util/OLD -r--r--r-- 1 bin 10 270 Apr 11 1990 usr.bin/sccscmds/util/imatch.c -r--r--r-- 1 bin 10 1902 Apr 11 1990 usr.bin/sccscmds/util/lockit.c -r--r--r-- 1 bin 10 394 Apr 11 1990 usr.bin/sccscmds/util/logname.c --r--r--r-- 1 bin 10 749 Apr 11 1990 usr.bin/sccscmds/util/Makefile +-r--r--r-- 1 bin 10 757 May 28 2001 usr.bin/sccscmds/util/Makefile -r--r--r-- 1 bin 10 141 Apr 11 1990 usr.bin/sccscmds/util/mksyswrite.sh -r--r--r-- 1 bin 10 334 Apr 11 1990 usr.bin/sccscmds/util/patoi.c -r--r--r-- 1 bin 10 332 Apr 11 1990 usr.bin/sccscmds/util/patol.c @@ -6636,6 +6638,7 @@ drwxr-xr-x 2 bin 10 0 Jan 7 1999 usr.bin/sccscmds/util/OLD -r--r--r-- 1 bin 10 236 Apr 11 1990 usr.bin/sccscmds/util/xunlink.c -r--r--r-- 1 bin 10 642 Apr 11 1990 usr.bin/sccscmds/util/xxcreat.c -r--r--r-- 1 bin 10 227 Apr 11 1990 usr.bin/sccscmds/util/zeropad.c +-r--r--r-- 1 bin 10 783 May 28 2001 usr.bin/sccscmds/util/index.c -r--r--r-- 1 bin 10 370 Jan 7 1999 usr.bin/sccscmds/Makefile -r--r--r-- 1 bin 10 33213 Apr 11 1990 usr.bin/sccscmds/sccs.hf -r--r--r-- 1 bin 10 386 Apr 11 1990 usr.bin/sccscmds/Shell @@ -6655,7 +6658,7 @@ drwxr-xr-x 2 bin 10 0 Jan 7 1999 usr.bin/sccscmds/util/OLD -r--r--r-- 1 bin 10 4443 Jun 30 1983 usr.bin/join.c -r--r--r-- 1 bin 10 2961 Oct 6 1987 usr.bin/look.c -r--r--r-- 1 bin 10 400 Jun 8 1982 usr.bin/lorder.sh --r--r--r-- 1 bin 10 5522 Oct 2 1999 usr.bin/Makefile +-r--r--r-- 1 bin 10 5522 Dec 5 2003 usr.bin/Makefile -r--r--r-- 1 bin 10 2003 Jun 29 1988 usr.bin/mesg.c -r--r--r-- 1 bin 10 2422 Jun 30 1988 usr.bin/mkdep.sh -r--r--r-- 1 bin 10 139 Oct 28 1986 usr.bin/nohup.sh @@ -6677,8 +6680,8 @@ drwxr-xr-x 2 bin 10 0 Jan 7 1999 usr.bin/sccscmds/util/OLD -r--r--r-- 1 bin 10 1948 Jun 8 1982 usr.bin/uniq.c -r--r--r-- 1 bin 10 6254 Jun 8 1982 usr.bin/units.c -r--r--r-- 1 bin 10 8729 Dec 2 1987 usr.bin/units.lib -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib -drwxr-xr-x 2 bin 10 0 Mar 30 1999 usr.lib/learn +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.lib +drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/learn drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/learn/C -r--r--r-- 1 bin 10 14 Apr 25 1983 usr.lib/learn/C/L0 -r--r--r-- 1 bin 10 418 Apr 25 1983 usr.lib/learn/C/L0.1a @@ -7208,10 +7211,10 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/learn/morefiles -r--r--r-- 1 bin 10 1606 Apr 25 1983 usr.lib/learn/morefiles/L6.1e -r--r--r-- 1 bin 10 1199 Apr 25 1983 usr.lib/learn/morefiles/L6.2e -r--r--r-- 1 bin 10 127 Apr 25 1983 usr.lib/learn/morefiles/L7.1a --r--r--r-- 1 bin 10 53 May 17 1983 usr.lib/learn/Linfo -r--r--r-- 1 bin 10 969 Oct 3 1999 usr.lib/learn/Makefile +-r--r--r-- 1 bin 10 53 May 17 1983 usr.lib/learn/Linfo -r--r--r-- 1 bin 10 1037 May 15 1986 usr.lib/learn/Xinfo -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/lib2648 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/lib2648 -r--r--r-- 1 bin 10 1892 Apr 26 1985 usr.lib/lib2648/2648.h -r--r--r-- 1 bin 10 527 Apr 26 1985 usr.lib/lib2648/agoto.c -r--r--r-- 1 bin 10 1027 Apr 26 1985 usr.lib/lib2648/aminmax.c @@ -7234,7 +7237,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/lib2648 -r--r--r-- 1 bin 10 402 Apr 30 1985 usr.lib/lib2648/gon.c -r--r--r-- 1 bin 10 471 Apr 30 1985 usr.lib/lib2648/kon.c -r--r--r-- 1 bin 10 700 Apr 30 1985 usr.lib/lib2648/line.c --r--r--r-- 1 bin 10 3715 Oct 2 1999 usr.lib/lib2648/Makefile +-r--r--r-- 1 bin 10 3715 Dec 5 2003 usr.lib/lib2648/Makefile -r--r--r-- 1 bin 10 628 Apr 30 1985 usr.lib/lib2648/mat.c -r--r--r-- 1 bin 10 425 Apr 30 1985 usr.lib/lib2648/message.c -r--r--r-- 1 bin 10 1040 Apr 30 1985 usr.lib/lib2648/minmax.c @@ -7260,8 +7263,8 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/lib2648 -r--r--r-- 1 bin 10 390 Apr 26 1985 usr.lib/lib2648/zoomn.c -r--r--r-- 1 bin 10 393 Apr 26 1985 usr.lib/lib2648/zoomon.c -r--r--r-- 1 bin 10 349 Apr 26 1985 usr.lib/lib2648/zoomout.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libcurses -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libcurses/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libcurses +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libcurses/profiled -r--r--r-- 1 bin 10 3194 Jun 30 1988 usr.lib/libcurses/addbytes.c -r--r--r-- 1 bin 10 1087 Jun 30 1988 usr.lib/libcurses/addch.c -r--r--r-- 1 bin 10 1170 Jun 30 1988 usr.lib/libcurses/addstr.c @@ -7269,7 +7272,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libcurses/profiled -r--r--r-- 1 bin 10 1069 Jun 30 1988 usr.lib/libcurses/clear.c -r--r--r-- 1 bin 10 1482 Jun 30 1988 usr.lib/libcurses/clrtobot.c -r--r--r-- 1 bin 10 1618 Jun 30 1988 usr.lib/libcurses/clrtoeol.c --r--r--r-- 1 bin 10 8785 Jun 30 1988 usr.lib/libcurses/cr_put.c +-r--r--r-- 1 bin 10 8792 Mar 30 2003 usr.lib/libcurses/cr_put.c -r--r--r-- 1 bin 10 5170 Jun 30 1988 usr.lib/libcurses/cr_tty.c -r--r--r-- 1 bin 10 2175 Jun 30 1988 usr.lib/libcurses/curses.c -r--r--r-- 1 bin 10 862 Jun 8 1988 usr.lib/libcurses/curses.ext @@ -7289,7 +7292,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libcurses/profiled -r--r--r-- 1 bin 10 1260 Jun 30 1988 usr.lib/libcurses/move.c -r--r--r-- 1 bin 10 1691 Jun 30 1988 usr.lib/libcurses/insertln.c -r--r--r-- 1 bin 10 1263 Jun 30 1988 usr.lib/libcurses/longname.c --r--r--r-- 1 bin 10 9746 Oct 2 1999 usr.lib/libcurses/Makefile +-r--r--r-- 1 bin 10 9746 Dec 5 2003 usr.lib/libcurses/Makefile -r--r--r-- 1 bin 10 1468 Jun 30 1988 usr.lib/libcurses/mvprintw.c -r--r--r-- 1 bin 10 1364 Jun 30 1988 usr.lib/libcurses/mvscanw.c -r--r--r-- 1 bin 10 1660 Jun 30 1988 usr.lib/libcurses/mvwin.c @@ -7306,11 +7309,11 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libcurses/profiled -r--r--r-- 1 bin 10 1871 Jun 30 1988 usr.lib/libcurses/touchwin.c -r--r--r-- 1 bin 10 1522 Jun 30 1988 usr.lib/libcurses/tstp.c -r--r--r-- 1 bin 10 1740 Jun 30 1988 usr.lib/libcurses/unctrl.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libdbm +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.lib/libdbm -r--r--r-- 1 bin 10 1561 Aug 15 1985 usr.lib/libdbm/dbm.c -r--r--r-- 1 bin 10 616 Mar 27 1986 usr.lib/libdbm/dbm.h --r--r--r-- 1 bin 10 1043 Oct 2 1999 usr.lib/libdbm/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libF77 +-r--r--r-- 1 bin 10 1043 Dec 5 2003 usr.lib/libdbm/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libF77 drwxr-xr-x 2 bin 10 0 Mar 30 1999 usr.lib/libF77/CCI -r--r--r-- 1 bin 10 798 Nov 3 1986 usr.lib/libF77/CCI/hl_ge_s.s -r--r--r-- 1 bin 10 788 Nov 3 1986 usr.lib/libF77/CCI/hl_gt_s.s @@ -7335,11 +7338,11 @@ drwxr-xr-x 2 bin 10 0 Mar 30 1999 usr.lib/libF77/CCI -r--r--r-- 1 bin 10 1200 Nov 3 1986 usr.lib/libF77/CCI/s_cmp_s.s -r--r--r-- 1 bin 10 524 Nov 3 1986 usr.lib/libF77/CCI/s_copy_s.s -r--r--r-- 1 bin 10 421 Nov 3 1986 usr.lib/libF77/CCI/tanh.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libF77/profiled --rw-r--r-- 1 root 10 4731 Oct 2 1999 usr.lib/libF77/profiled/Version +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libF77/profiled +-rw-r--r-- 1 root 10 4731 Dec 5 2003 usr.lib/libF77/profiled/Version drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/libF77/test -rw-r--r-- 1 bin 10 987 Jul 1 1983 usr.lib/libF77/test/fpetst.f --rw-r--r-- 1 root 10 3657 Oct 2 1999 usr.lib/libF77/Version.c +-rw-r--r-- 1 root 10 3657 Dec 5 2003 usr.lib/libF77/Version.c -r--r--r-- 1 bin 10 586 Nov 3 1986 usr.lib/libF77/abort_.c -r--r--r-- 1 bin 10 300 Jul 8 1985 usr.lib/libF77/besj0_.c -r--r--r-- 1 bin 10 300 Jul 8 1985 usr.lib/libF77/besj1_.c @@ -7485,18 +7488,18 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/libF77/test -r--r--r-- 1 bin 10 437 Nov 3 1986 usr.lib/libF77/z_log.c -r--r--r-- 1 bin 10 400 Jun 7 1985 usr.lib/libF77/z_sin.c -r--r--r-- 1 bin 10 770 Nov 4 1986 usr.lib/libF77/z_sqrt.c --rw-r--r-- 2 root 10 4731 Oct 2 1999 usr.lib/libF77/Version == usr.lib/libF77/profiled/Version +-rw-r--r-- 2 root 10 4731 Dec 5 2003 usr.lib/libF77/Version == usr.lib/libF77/profiled/Version drwxr-xr-x 2 bin 10 0 Mar 30 1999 usr.lib/libg drwxr-xr-x 2 bin 10 0 Mar 30 1999 usr.lib/libg/libg.tahoe -r--r--r-- 1 bin 10 644 Jan 26 1986 usr.lib/libg/libg.tahoe/dbxxx.c -r--r--r-- 1 bin 10 734 Jul 14 1988 usr.lib/libg/libg.tahoe/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libg/libg.vax +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.lib/libg/libg.vax -r--r--r-- 1 bin 10 528 Jul 12 1985 usr.lib/libg/libg.vax/dbxxx.s -r--r--r-- 1 bin 10 461 Jun 19 1987 usr.lib/libg/libg.vax/Makefile -r--r--r-- 1 bin 10 766 Dec 12 1987 usr.lib/libg/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libI77 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libI77/profiled --rw-r--r-- 1 bin 10 1319 Oct 2 1999 usr.lib/libI77/profiled/Version +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libI77 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libI77/profiled +-rw-r--r-- 1 bin 10 1319 Dec 5 2003 usr.lib/libI77/profiled/Version drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/libI77/test -rwxr--r-- 1 bin 10 763 Aug 23 1983 usr.lib/libI77/test/f2.f -rwxr--r-- 1 bin 10 129 May 20 1983 usr.lib/libI77/test/fmtst.f @@ -7531,7 +7534,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/libI77/test -r--r--r-- 1 bin 10 1548 Jul 30 1985 usr.lib/libI77/lio.h -r--r--r-- 1 bin 10 8143 Jul 30 1985 usr.lib/libI77/lread.c -r--r--r-- 1 bin 10 3500 Jul 27 1987 usr.lib/libI77/lwrite.c --r--r--r-- 1 bin 10 6021 Oct 2 1999 usr.lib/libI77/Makefile +-r--r--r-- 1 bin 10 6021 Dec 5 2003 usr.lib/libI77/Makefile -rwxr-xr-x 1 bin 10 21504 Jun 21 1983 usr.lib/libI77/mkindx -r--r--r-- 1 bin 10 1279 Jun 7 1985 usr.lib/libI77/mkindx.c -r--r--r-- 1 bin 10 1452 Jun 7 1985 usr.lib/libI77/mkvers.c @@ -7548,42 +7551,42 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/libI77/test -r--r--r-- 1 bin 10 12000 Dec 21 1987 usr.lib/libI77/rsnmle.c -r--r--r-- 1 bin 10 1784 Jun 7 1985 usr.lib/libI77/sue.c -r--r--r-- 1 bin 10 1211 Jun 7 1985 usr.lib/libI77/util.c --r--r--r-- 1 bin 10 1005 Oct 2 1999 usr.lib/libI77/Version.c +-r--r--r-- 1 bin 10 1005 Dec 5 2003 usr.lib/libI77/Version.c -r--r--r-- 1 bin 10 1117 Jun 7 1985 usr.lib/libI77/wdfe.c -r--r--r-- 1 bin 10 918 Jun 7 1985 usr.lib/libI77/wfi.c -r--r--r-- 1 bin 10 5890 Jun 7 1985 usr.lib/libI77/wrtfmt.c -r--r--r-- 1 bin 10 1531 Jun 11 1986 usr.lib/libI77/wsfe.c -r--r--r-- 1 bin 10 550 Jun 7 1985 usr.lib/libI77/wsli.c -r--r--r-- 1 bin 10 2038 Aug 2 1985 usr.lib/libI77/wsnmle.c --rw-r--r-- 2 bin 10 1319 Oct 2 1999 usr.lib/libI77/Version == usr.lib/libI77/profiled/Version -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libln +-rw-r--r-- 2 bin 10 1319 Dec 5 2003 usr.lib/libI77/Version == usr.lib/libI77/profiled/Version +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libln -r--r--r-- 1 bin 10 544 Dec 25 1982 usr.lib/libln/allprint.c -r--r--r-- 1 bin 10 79 Dec 25 1982 usr.lib/libln/main.c --r--r--r-- 1 bin 10 1061 Oct 2 1999 usr.lib/libln/Makefile +-r--r--r-- 1 bin 10 1061 Dec 5 2003 usr.lib/libln/Makefile -r--r--r-- 1 bin 10 866 Dec 21 1987 usr.lib/libln/reject.c -r--r--r-- 1 bin 10 348 Jan 9 1985 usr.lib/libln/yyless.c -r--r--r-- 1 bin 10 58 Dec 25 1982 usr.lib/libln/yywrap.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libm -drwxr-xr-x 2 bin 10 0 Oct 2 1999 usr.lib/libm/common +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libm +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.lib/libm/common -r--r--r-- 1 bin 10 11814 Jun 30 1988 usr.lib/libm/common/atan2.c --r--r--r-- 1 bin 10 1511 Oct 2 1999 usr.lib/libm/common/Makefile +-r--r--r-- 1 bin 10 1511 Dec 5 2003 usr.lib/libm/common/Makefile -r--r--r-- 1 bin 10 2346 Jun 30 1988 usr.lib/libm/common/sincos.c -r--r--r-- 1 bin 10 1904 Jun 30 1988 usr.lib/libm/common/tan.c -r--r--r-- 1 bin 10 9656 Jun 30 1988 usr.lib/libm/common/trig.h -drwxr-xr-x 2 bin 10 0 Oct 2 1999 usr.lib/libm/ieee +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.lib/libm/ieee -r--r--r-- 1 bin 10 6712 Jun 30 1988 usr.lib/libm/ieee/cabs.c -r--r--r-- 1 bin 10 3312 Jun 30 1988 usr.lib/libm/ieee/cbrt.c --r--r--r-- 1 bin 10 1489 Oct 2 1999 usr.lib/libm/ieee/Makefile +-r--r--r-- 1 bin 10 1489 Dec 5 2003 usr.lib/libm/ieee/Makefile -r--r--r-- 1 bin 10 17016 Jun 30 1988 usr.lib/libm/ieee/support.c -drwxr-xr-x 2 bin 10 0 Oct 2 1999 usr.lib/libm/national -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 usr.lib/libm/national/cabs.c -> ../ieee/cabs.c -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 usr.lib/libm/national/cbrt.c -> ../ieee/cbrt.c --r--r--r-- 1 bin 10 1642 Oct 2 1999 usr.lib/libm/national/Makefile +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.lib/libm/national +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 usr.lib/libm/national/cabs.c -> ../ieee/cabs.c +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 usr.lib/libm/national/cbrt.c -> ../ieee/cbrt.c +-r--r--r-- 1 bin 10 1642 Dec 5 2003 usr.lib/libm/national/Makefile -r--r--r-- 1 bin 10 74 Nov 30 1987 usr.lib/libm/national/mcount.sed -r--r--r-- 1 bin 10 5849 Jun 30 1988 usr.lib/libm/national/sqrt.s -r--r--r-- 1 bin 10 10084 Jun 30 1988 usr.lib/libm/national/support.s -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libm/profiled -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libm/vax +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libm/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libm/vax -r--r--r-- 1 bin 10 20562 Jun 30 1988 usr.lib/libm/vax/argred.s -r--r--r-- 1 bin 10 6030 Jun 30 1988 usr.lib/libm/vax/atan2.s -r--r--r-- 1 bin 10 3879 Jun 30 1988 usr.lib/libm/vax/cabs.s @@ -7622,26 +7625,26 @@ drwxr-xr-x 2 bin 10 0 Mar 30 1999 usr.lib/libm/tahoe -r--r--r-- 1 bin 10 3202 Jun 30 1988 usr.lib/libm/log10.c -r--r--r-- 1 bin 10 5753 Jun 30 1988 usr.lib/libm/log1p.c -r--r--r-- 1 bin 10 4879 Jun 30 1988 usr.lib/libm/log__L.c --r--r--r-- 1 bin 10 4114 Oct 2 1999 usr.lib/libm/Makefile +-r--r--r-- 1 bin 10 4114 Dec 5 2003 usr.lib/libm/Makefile -r--r--r-- 1 bin 10 1799 Jun 30 1988 usr.lib/libm/math.h -r--r--r-- 1 bin 10 8647 Jun 30 1988 usr.lib/libm/pow.c -r--r--r-- 1 bin 10 13464 Jun 30 1988 usr.lib/libm/README -r--r--r-- 1 bin 10 4372 Jun 30 1988 usr.lib/libm/sinh.c -r--r--r-- 1 bin 10 2972 Jun 30 1988 usr.lib/libm/tanh.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libmp +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libmp -r--r--r-- 1 bin 10 868 Mar 2 1987 usr.lib/libmp/gcd.c -r--r--r-- 1 bin 10 2381 Mar 2 1987 usr.lib/libmp/madd.c --r--r--r-- 1 bin 10 1137 Oct 2 1999 usr.lib/libmp/Makefile +-r--r--r-- 1 bin 10 1137 Dec 5 2003 usr.lib/libmp/Makefile -r--r--r-- 1 bin 10 2074 Mar 2 1987 usr.lib/libmp/mdiv.c -r--r--r-- 1 bin 10 2165 Mar 2 1987 usr.lib/libmp/mout.c -r--r--r-- 1 bin 10 739 Mar 2 1987 usr.lib/libmp/msqrt.c -r--r--r-- 1 bin 10 1454 Mar 2 1987 usr.lib/libmp/mult.c -r--r--r-- 1 bin 10 711 Mar 2 1987 usr.lib/libmp/pow.c -r--r--r-- 1 bin 10 1424 Mar 2 1987 usr.lib/libmp/util.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libpc -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libpc/profiled +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libpc +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libpc/profiled -rw-r--r-- 1 bin 10 47 Jan 10 1983 usr.lib/libpc/profiled/tar_holder -lrwxr-xr-x 1 bin 10 0 Oct 2 1999 usr.lib/libpc/whoami.h -> ../../ucb/pascal/utilities/whoami.h +lrwxr-xr-x 1 bin 10 0 Dec 5 2003 usr.lib/libpc/whoami.h -> ../../ucb/pascal/utilities/whoami.h -r--r--r-- 1 bin 10 218 Jan 31 1983 usr.lib/libpc/ACTFILE.c -r--r--r-- 1 bin 10 370 Jan 31 1983 usr.lib/libpc/ADDT.c -r--r--r-- 1 bin 10 456 Jan 31 1983 usr.lib/libpc/APPEND.c @@ -7683,7 +7686,7 @@ lrwxr-xr-x 1 bin 10 0 Oct 2 1999 usr.lib/libpc/whoami.h -> . -r--r--r-- 1 bin 10 272 Jan 31 1983 usr.lib/libpc/LINO.c -r--r--r-- 1 bin 10 392 Jan 31 1983 usr.lib/libpc/LLIMIT.c -r--r--r-- 1 bin 10 277 Jan 31 1983 usr.lib/libpc/LN.c --r--r--r-- 1 bin 10 7481 Oct 2 1999 usr.lib/libpc/Makefile +-r--r--r-- 1 bin 10 7481 Dec 5 2003 usr.lib/libpc/Makefile -r--r--r-- 1 bin 10 462 Jan 31 1983 usr.lib/libpc/MAX.c -r--r--r-- 1 bin 10 370 Jan 31 1983 usr.lib/libpc/MULT.c -r--r--r-- 1 bin 10 512 Jan 31 1983 usr.lib/libpc/NAM.c @@ -7746,8 +7749,8 @@ lrwxr-xr-x 1 bin 10 0 Oct 2 1999 usr.lib/libpc/whoami.h -> . -r--r--r-- 1 bin 10 539 Jan 31 1983 usr.lib/libpc/WRITEF.c -r--r--r-- 1 bin 10 490 Jan 31 1983 usr.lib/libpc/WRITES.c -r--r--r-- 1 bin 10 550 Jan 31 1983 usr.lib/libpc/WRITLN.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/aed +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.lib/libplot +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/aed -r--r--r-- 1 bin 10 851 Jun 5 1985 usr.lib/libplot/aed/aed.h -r--r--r-- 1 bin 10 293 Apr 30 1985 usr.lib/libplot/aed/arc.c -r--r--r-- 1 bin 10 397 Jun 5 1985 usr.lib/libplot/aed/box.c @@ -7759,13 +7762,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/aed -r--r--r-- 1 bin 10 905 Apr 30 1985 usr.lib/libplot/aed/label.c -r--r--r-- 1 bin 10 587 Jun 6 1985 usr.lib/libplot/aed/line.c -r--r--r-- 1 bin 10 1050 Apr 30 1985 usr.lib/libplot/aed/linemod.c --r--r--r-- 1 bin 10 2827 Oct 2 1999 usr.lib/libplot/aed/Makefile +-r--r--r-- 1 bin 10 2827 Dec 5 2003 usr.lib/libplot/aed/Makefile -r--r--r-- 1 bin 10 578 Apr 30 1985 usr.lib/libplot/aed/move.c -r--r--r-- 1 bin 10 2334 Apr 30 1985 usr.lib/libplot/aed/open.c -r--r--r-- 1 bin 10 762 Apr 30 1985 usr.lib/libplot/aed/point.c -r--r--r-- 1 bin 10 1082 Apr 30 1985 usr.lib/libplot/aed/space.c -r--r--r-- 1 bin 10 2710 Apr 30 1985 usr.lib/libplot/aed/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/bitgraph +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/bitgraph -r--r--r-- 1 bin 10 3183 Apr 30 1985 usr.lib/libplot/bitgraph/arc.c -r--r--r-- 1 bin 10 666 Apr 30 1985 usr.lib/libplot/bitgraph/bg.h -r--r--r-- 1 bin 10 398 Apr 30 1985 usr.lib/libplot/bitgraph/box.c @@ -7777,12 +7780,12 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/bitgraph -r--r--r-- 1 bin 10 326 Apr 30 1985 usr.lib/libplot/bitgraph/label.c -r--r--r-- 1 bin 10 516 Apr 30 1985 usr.lib/libplot/bitgraph/line.c -r--r--r-- 1 bin 10 301 Apr 30 1985 usr.lib/libplot/bitgraph/linemod.c --r--r--r-- 1 bin 10 1545 Oct 2 1999 usr.lib/libplot/bitgraph/Makefile +-r--r--r-- 1 bin 10 1545 Dec 5 2003 usr.lib/libplot/bitgraph/Makefile -r--r--r-- 1 bin 10 434 Apr 30 1985 usr.lib/libplot/bitgraph/move.c -r--r--r-- 1 bin 10 612 Apr 30 1985 usr.lib/libplot/bitgraph/open.c -r--r--r-- 1 bin 10 344 Apr 30 1985 usr.lib/libplot/bitgraph/point.c -r--r--r-- 1 bin 10 503 Apr 30 1985 usr.lib/libplot/bitgraph/space.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/dumb +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/dumb -r--r--r-- 1 bin 10 367 May 7 1985 usr.lib/libplot/dumb/arc.c -r--r--r-- 1 bin 10 396 May 7 1985 usr.lib/libplot/dumb/box.c -r--r--r-- 1 bin 10 288 May 7 1985 usr.lib/libplot/dumb/circle.c @@ -7794,13 +7797,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/dumb -r--r--r-- 1 bin 10 490 May 7 1985 usr.lib/libplot/dumb/label.c -r--r--r-- 1 bin 10 509 May 7 1985 usr.lib/libplot/dumb/line.c -r--r--r-- 1 bin 10 310 May 7 1985 usr.lib/libplot/dumb/linemod.c --r--r--r-- 1 bin 10 1507 Oct 2 1999 usr.lib/libplot/dumb/Makefile +-r--r--r-- 1 bin 10 1507 Dec 5 2003 usr.lib/libplot/dumb/Makefile -r--r--r-- 1 bin 10 369 May 7 1985 usr.lib/libplot/dumb/move.c -r--r--r-- 1 bin 10 1430 May 7 1985 usr.lib/libplot/dumb/open.c -r--r--r-- 1 bin 10 411 May 7 1985 usr.lib/libplot/dumb/point.c -r--r--r-- 1 bin 10 411 May 7 1985 usr.lib/libplot/dumb/space.c -r--r--r-- 1 bin 10 1022 May 7 1985 usr.lib/libplot/dumb/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/gigi +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/gigi -r--r--r-- 1 bin 10 1711 May 7 1985 usr.lib/libplot/gigi/arc.c -r--r--r-- 1 bin 10 396 May 7 1985 usr.lib/libplot/gigi/box.c -r--r--r-- 1 bin 10 416 May 7 1985 usr.lib/libplot/gigi/circle.c @@ -7812,12 +7815,12 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/gigi -r--r--r-- 1 bin 10 441 May 7 1985 usr.lib/libplot/gigi/label.c -r--r--r-- 1 bin 10 504 May 7 1985 usr.lib/libplot/gigi/line.c -r--r--r-- 1 bin 10 1455 May 7 1985 usr.lib/libplot/gigi/linemod.c --r--r--r-- 1 bin 10 1757 Oct 2 1999 usr.lib/libplot/gigi/Makefile +-r--r--r-- 1 bin 10 1757 Dec 5 2003 usr.lib/libplot/gigi/Makefile -r--r--r-- 1 bin 10 411 May 7 1985 usr.lib/libplot/gigi/move.c -r--r--r-- 1 bin 10 761 May 7 1985 usr.lib/libplot/gigi/open.c -r--r--r-- 1 bin 10 406 May 7 1985 usr.lib/libplot/gigi/point.c -r--r--r-- 1 bin 10 419 May 7 1985 usr.lib/libplot/gigi/space.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/grn +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/grn -r--r--r-- 1 bin 10 561 Aug 29 1986 usr.lib/libplot/grn/arc.c -r--r--r-- 1 bin 10 404 Aug 29 1986 usr.lib/libplot/grn/box.c -r--r--r-- 1 bin 10 822 Aug 29 1986 usr.lib/libplot/grn/circle.c @@ -7829,13 +7832,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/grn -r--r--r-- 1 bin 10 802 Aug 29 1986 usr.lib/libplot/grn/label.c -r--r--r-- 1 bin 10 649 Aug 29 1986 usr.lib/libplot/grn/line.c -r--r--r-- 1 bin 10 1011 Aug 29 1986 usr.lib/libplot/grn/linemod.c --r--r--r-- 1 bin 10 1494 Oct 2 1999 usr.lib/libplot/grn/Makefile +-r--r--r-- 1 bin 10 1494 Dec 5 2003 usr.lib/libplot/grn/Makefile -r--r--r-- 1 bin 10 662 Aug 29 1986 usr.lib/libplot/grn/move.c -r--r--r-- 1 bin 10 871 Aug 29 1986 usr.lib/libplot/grn/open.c -r--r--r-- 1 bin 10 662 Aug 29 1986 usr.lib/libplot/grn/point.c -r--r--r-- 1 bin 10 995 Aug 29 1986 usr.lib/libplot/grn/space.c -r--r--r-- 1 bin 10 1074 Aug 29 1986 usr.lib/libplot/grn/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/hp2648 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/hp2648 -r--r--r-- 1 bin 10 1199 May 7 1985 usr.lib/libplot/hp2648/arc.c -r--r--r-- 1 bin 10 396 May 7 1985 usr.lib/libplot/hp2648/box.c -r--r--r-- 1 bin 10 659 May 7 1985 usr.lib/libplot/hp2648/circle.c @@ -7847,13 +7850,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/hp2648 -r--r--r-- 1 bin 10 587 May 7 1985 usr.lib/libplot/hp2648/label.c -r--r--r-- 1 bin 10 506 May 7 1985 usr.lib/libplot/hp2648/line.c -r--r--r-- 1 bin 10 1363 May 7 1985 usr.lib/libplot/hp2648/linemod.c --r--r--r-- 1 bin 10 1715 Oct 2 1999 usr.lib/libplot/hp2648/Makefile +-r--r--r-- 1 bin 10 1715 Dec 5 2003 usr.lib/libplot/hp2648/Makefile -r--r--r-- 1 bin 10 541 May 7 1985 usr.lib/libplot/hp2648/move.c -r--r--r-- 1 bin 10 945 May 7 1985 usr.lib/libplot/hp2648/open.c -r--r--r-- 1 bin 10 422 May 7 1985 usr.lib/libplot/hp2648/point.c -r--r--r-- 1 bin 10 423 May 7 1985 usr.lib/libplot/hp2648/space.c -r--r--r-- 1 bin 10 902 May 7 1985 usr.lib/libplot/hp2648/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/hp7221 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/hp7221 -r--r--r-- 1 bin 10 1746 May 7 1985 usr.lib/libplot/hp7221/arc.c -r--r--r-- 1 bin 10 396 May 7 1985 usr.lib/libplot/hp7221/box.c -r--r--r-- 1 bin 10 460 May 7 1985 usr.lib/libplot/hp7221/circle.c @@ -7865,13 +7868,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/hp7221 -r--r--r-- 1 bin 10 372 May 7 1985 usr.lib/libplot/hp7221/label.c -r--r--r-- 1 bin 10 518 May 7 1985 usr.lib/libplot/hp7221/line.c -r--r--r-- 1 bin 10 1355 May 7 1985 usr.lib/libplot/hp7221/linemod.c --r--r--r-- 1 bin 10 1810 Oct 2 1999 usr.lib/libplot/hp7221/Makefile +-r--r--r-- 1 bin 10 1810 Dec 5 2003 usr.lib/libplot/hp7221/Makefile -r--r--r-- 1 bin 10 427 May 7 1985 usr.lib/libplot/hp7221/move.c -r--r--r-- 1 bin 10 909 May 7 1985 usr.lib/libplot/hp7221/open.c -r--r--r-- 1 bin 10 413 May 7 1985 usr.lib/libplot/hp7221/point.c -r--r--r-- 1 bin 10 505 May 7 1985 usr.lib/libplot/hp7221/space.c -r--r--r-- 1 bin 10 1198 May 7 1985 usr.lib/libplot/hp7221/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/imagen +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/imagen -r--r--r-- 1 bin 10 2125 Sep 21 1985 usr.lib/libplot/imagen/arc.c -r--r--r-- 1 bin 10 397 Sep 21 1985 usr.lib/libplot/imagen/box.c -r--r--r-- 1 bin 10 353 Sep 21 1985 usr.lib/libplot/imagen/charset.c @@ -7885,13 +7888,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/imagen -r--r--r-- 1 bin 10 618 Sep 21 1985 usr.lib/libplot/imagen/label.c -r--r--r-- 1 bin 10 828 Sep 21 1985 usr.lib/libplot/imagen/line.c -r--r--r-- 1 bin 10 738 Sep 21 1985 usr.lib/libplot/imagen/linemod.c --r--r--r-- 1 bin 10 1523 Oct 2 1999 usr.lib/libplot/imagen/Makefile +-r--r--r-- 1 bin 10 1523 Dec 5 2003 usr.lib/libplot/imagen/Makefile -r--r--r-- 1 bin 10 354 Sep 21 1985 usr.lib/libplot/imagen/move.c -r--r--r-- 1 bin 10 801 Sep 21 1985 usr.lib/libplot/imagen/open.c -r--r--r-- 1 bin 10 321 Sep 21 1985 usr.lib/libplot/imagen/point.c -r--r--r-- 1 bin 10 552 Sep 21 1985 usr.lib/libplot/imagen/scale.c -r--r--r-- 1 bin 10 611 Sep 21 1985 usr.lib/libplot/imagen/space.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/plot +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/plot -r--r--r-- 1 bin 10 216 Jun 27 1983 usr.lib/libplot/plot/arc.c -r--r--r-- 1 bin 10 194 Jun 27 1983 usr.lib/libplot/plot/box.c -r--r--r-- 1 bin 10 171 Jun 27 1983 usr.lib/libplot/plot/circle.c @@ -7902,13 +7905,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/plot -r--r--r-- 1 bin 10 206 Jun 27 1983 usr.lib/libplot/plot/label.c -r--r--r-- 1 bin 10 188 Jun 27 1983 usr.lib/libplot/plot/line.c -r--r--r-- 1 bin 10 209 Jun 27 1983 usr.lib/libplot/plot/linmod.c --r--r--r-- 1 bin 10 1358 Oct 2 1999 usr.lib/libplot/plot/Makefile +-r--r--r-- 1 bin 10 1358 Dec 5 2003 usr.lib/libplot/plot/Makefile -r--r--r-- 1 bin 10 158 Jun 27 1983 usr.lib/libplot/plot/move.c -r--r--r-- 1 bin 10 105 Jun 27 1983 usr.lib/libplot/plot/open.c -r--r--r-- 1 bin 10 160 Jun 27 1983 usr.lib/libplot/plot/point.c -r--r--r-- 1 bin 10 164 Jun 27 1983 usr.lib/libplot/plot/putsi.c -r--r--r-- 1 bin 10 190 Jun 27 1983 usr.lib/libplot/plot/space.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/t300 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/t300 -r--r--r-- 1 bin 10 89 Jun 27 1983 usr.lib/libplot/t300/arc.c -r--r--r-- 1 bin 10 194 Jun 27 1983 usr.lib/libplot/t300/box.c -r--r--r-- 1 bin 10 95 Jun 27 1983 usr.lib/libplot/t300/circle.c @@ -7919,13 +7922,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/t300 -r--r--r-- 1 bin 10 200 Jun 27 1983 usr.lib/libplot/t300/label.c -r--r--r-- 1 bin 10 873 Jun 27 1983 usr.lib/libplot/t300/line.c -r--r--r-- 1 bin 10 96 Jun 27 1983 usr.lib/libplot/t300/linmod.c --r--r--r-- 1 bin 10 1781 Oct 2 1999 usr.lib/libplot/t300/Makefile +-r--r--r-- 1 bin 10 1781 Dec 5 2003 usr.lib/libplot/t300/Makefile -r--r--r-- 1 bin 10 146 Jun 27 1983 usr.lib/libplot/t300/move.c -r--r--r-- 1 bin 10 1057 Jun 27 1983 usr.lib/libplot/t300/open.c -r--r--r-- 1 bin 10 137 Jun 27 1983 usr.lib/libplot/t300/point.c -r--r--r-- 1 bin 10 272 Jun 27 1983 usr.lib/libplot/t300/space.c -r--r--r-- 1 bin 10 1553 Jun 27 1983 usr.lib/libplot/t300/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/t300s +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/t300s -r--r--r-- 1 bin 10 89 Jun 27 1983 usr.lib/libplot/t300s/arc.c -r--r--r-- 1 bin 10 194 Jun 27 1983 usr.lib/libplot/t300s/box.c -r--r--r-- 1 bin 10 95 Jun 27 1983 usr.lib/libplot/t300s/circle.c @@ -7936,13 +7939,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/t300s -r--r--r-- 1 bin 10 206 Jun 27 1983 usr.lib/libplot/t300s/label.c -r--r--r-- 1 bin 10 798 Jun 27 1983 usr.lib/libplot/t300s/line.c -r--r--r-- 1 bin 10 96 Jun 27 1983 usr.lib/libplot/t300s/linmod.c --r--r--r-- 1 bin 10 1898 Oct 2 1999 usr.lib/libplot/t300s/Makefile +-r--r--r-- 1 bin 10 1898 Dec 5 2003 usr.lib/libplot/t300s/Makefile -r--r--r-- 1 bin 10 146 Jun 27 1983 usr.lib/libplot/t300s/move.c -r--r--r-- 1 bin 10 1057 Jun 27 1983 usr.lib/libplot/t300s/open.c -r--r--r-- 1 bin 10 154 Jun 27 1983 usr.lib/libplot/t300s/point.c -r--r--r-- 1 bin 10 272 Jun 27 1983 usr.lib/libplot/t300s/space.c -r--r--r-- 1 bin 10 2056 Jun 27 1983 usr.lib/libplot/t300s/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/t4013 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/t4013 -r--r--r-- 1 bin 10 2124 Jun 23 1985 usr.lib/libplot/t4013/arc.c -r--r--r-- 1 bin 10 396 Jun 7 1985 usr.lib/libplot/t4013/box.c -r--r--r-- 1 bin 10 325 Jun 7 1985 usr.lib/libplot/t4013/circle.c @@ -7952,14 +7955,14 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/t4013 -r--r--r-- 1 bin 10 386 Jun 7 1985 usr.lib/libplot/t4013/label.c -r--r--r-- 1 bin 10 332 Jun 7 1985 usr.lib/libplot/t4013/line.c -r--r--r-- 1 bin 10 333 Jun 7 1985 usr.lib/libplot/t4013/linemod.c --r--r--r-- 1 bin 10 1115 Oct 2 1999 usr.lib/libplot/t4013/Makefile +-r--r--r-- 1 bin 10 1115 Dec 5 2003 usr.lib/libplot/t4013/Makefile -r--r--r-- 1 bin 10 325 Jun 7 1985 usr.lib/libplot/t4013/move.c -r--r--r-- 1 bin 10 309 Jun 7 1985 usr.lib/libplot/t4013/open.c -r--r--r-- 1 bin 10 328 Jun 7 1985 usr.lib/libplot/t4013/point.c -r--r--r-- 1 bin 10 551 Jun 7 1985 usr.lib/libplot/t4013/scale.c -r--r--r-- 1 bin 10 571 Jun 7 1985 usr.lib/libplot/t4013/space.c -r--r--r-- 1 bin 10 953 Jun 7 1985 usr.lib/libplot/t4013/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/t4014 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/t4014 -r--r--r-- 1 bin 10 1921 Jun 23 1985 usr.lib/libplot/t4014/arc.c -r--r--r-- 1 bin 10 194 Jun 27 1983 usr.lib/libplot/t4014/box.c -r--r--r-- 1 bin 10 123 Jun 27 1983 usr.lib/libplot/t4014/circle.c @@ -7969,14 +7972,14 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/t4014 -r--r--r-- 1 bin 10 672 Jun 27 1983 usr.lib/libplot/t4014/label.c -r--r--r-- 1 bin 10 130 Jun 27 1983 usr.lib/libplot/t4014/line.c -r--r--r-- 1 bin 10 300 Jun 27 1983 usr.lib/libplot/t4014/linemod.c --r--r--r-- 1 bin 10 1115 Oct 2 1999 usr.lib/libplot/t4014/Makefile +-r--r--r-- 1 bin 10 1115 Dec 5 2003 usr.lib/libplot/t4014/Makefile -r--r--r-- 1 bin 10 123 Jun 27 1983 usr.lib/libplot/t4014/move.c -r--r--r-- 1 bin 10 107 Jun 27 1983 usr.lib/libplot/t4014/open.c -r--r--r-- 1 bin 10 126 Jun 27 1983 usr.lib/libplot/t4014/point.c -r--r--r-- 1 bin 10 349 Jun 27 1983 usr.lib/libplot/t4014/scale.c -r--r--r-- 1 bin 10 371 Jun 27 1983 usr.lib/libplot/t4014/space.c -r--r--r-- 1 bin 10 985 Jul 15 1987 usr.lib/libplot/t4014/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/t450 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/t450 -r--r--r-- 1 bin 10 89 Jun 27 1983 usr.lib/libplot/t450/arc.c -r--r--r-- 1 bin 10 194 Jun 27 1983 usr.lib/libplot/t450/box.c -r--r--r-- 1 bin 10 95 Jun 27 1983 usr.lib/libplot/t450/circle.c @@ -7987,13 +7990,13 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/t450 -r--r--r-- 1 bin 10 200 Jun 27 1983 usr.lib/libplot/t450/label.c -r--r--r-- 1 bin 10 875 Jun 27 1983 usr.lib/libplot/t450/line.c -r--r--r-- 1 bin 10 96 Jun 27 1983 usr.lib/libplot/t450/linmod.c --r--r--r-- 1 bin 10 1781 Oct 2 1999 usr.lib/libplot/t450/Makefile +-r--r--r-- 1 bin 10 1781 Dec 5 2003 usr.lib/libplot/t450/Makefile -r--r--r-- 1 bin 10 146 Jun 27 1983 usr.lib/libplot/t450/move.c -r--r--r-- 1 bin 10 1116 Jun 27 1983 usr.lib/libplot/t450/open.c -r--r--r-- 1 bin 10 137 Jun 27 1983 usr.lib/libplot/t450/point.c -r--r--r-- 1 bin 10 230 Jun 27 1983 usr.lib/libplot/t450/space.c -r--r--r-- 1 bin 10 1584 Jun 27 1983 usr.lib/libplot/t450/subr.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/tf77 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/tf77 -r--r--r-- 1 bin 10 374 Jun 7 1985 usr.lib/libplot/tf77/arc.c -r--r--r-- 1 bin 10 433 Jun 8 1985 usr.lib/libplot/tf77/box.c -r--r--r-- 1 bin 10 339 Jun 7 1985 usr.lib/libplot/tf77/circle.c @@ -8004,12 +8007,12 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/tf77 -r--r--r-- 1 bin 10 488 Jun 7 1985 usr.lib/libplot/tf77/label.c -r--r--r-- 1 bin 10 354 Jun 7 1985 usr.lib/libplot/tf77/line.c -r--r--r-- 1 bin 10 505 Jun 7 1985 usr.lib/libplot/tf77/linemd.c --r--r--r-- 1 bin 10 1079 Oct 2 1999 usr.lib/libplot/tf77/Makefile +-r--r--r-- 1 bin 10 1079 Dec 5 2003 usr.lib/libplot/tf77/Makefile -r--r--r-- 1 bin 10 330 Jun 7 1985 usr.lib/libplot/tf77/move.c -r--r--r-- 1 bin 10 308 Jun 8 1985 usr.lib/libplot/tf77/open.c -r--r--r-- 1 bin 10 333 Jun 7 1985 usr.lib/libplot/tf77/point.c -r--r--r-- 1 bin 10 357 Jun 7 1985 usr.lib/libplot/tf77/space.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/vt0 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libplot/vt0 -r--r--r-- 1 bin 10 173 Jun 27 1983 usr.lib/libplot/vt0/arc.c -r--r--r-- 1 bin 10 194 Jun 27 1983 usr.lib/libplot/vt0/box.c -r--r--r-- 1 bin 10 165 Jun 27 1983 usr.lib/libplot/vt0/circle.c @@ -8020,25 +8023,25 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libplot/vt0 -r--r--r-- 1 bin 10 204 Jun 27 1983 usr.lib/libplot/vt0/label.c -r--r--r-- 1 bin 10 341 Jun 27 1983 usr.lib/libplot/vt0/line.c -r--r--r-- 1 bin 10 107 Jun 27 1983 usr.lib/libplot/vt0/linmod.c --r--r--r-- 1 bin 10 1050 Oct 2 1999 usr.lib/libplot/vt0/Makefile +-r--r--r-- 1 bin 10 1050 Dec 5 2003 usr.lib/libplot/vt0/Makefile -r--r--r-- 1 bin 10 236 Jun 27 1983 usr.lib/libplot/vt0/move.c -r--r--r-- 1 bin 10 326 Nov 10 1983 usr.lib/libplot/vt0/open.c -r--r--r-- 1 bin 10 239 Jun 27 1983 usr.lib/libplot/vt0/point.c -r--r--r-- 1 bin 10 374 Nov 10 1983 usr.lib/libplot/vt0/space.c -r--r--r-- 1 bin 10 327 Jun 27 1983 usr.lib/libplot/vt0/subr.c -r--r--r-- 1 bin 10 1621 Jun 19 1987 usr.lib/libplot/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libtermlib -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libtermlib/profiled --r--r--r-- 1 bin 10 1741 Oct 2 1999 usr.lib/libtermlib/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libtermlib +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libtermlib/profiled +-r--r--r-- 1 bin 10 1741 Dec 5 2003 usr.lib/libtermlib/Makefile -r--r--r-- 1 bin 10 637 Jun 5 1985 usr.lib/libtermlib/tc1.c -r--r--r-- 1 bin 10 1096 Jun 5 1985 usr.lib/libtermlib/tc2.c -r--r--r-- 1 bin 10 1585 Jun 5 1985 usr.lib/libtermlib/tc3.c -r--r--r-- 1 bin 10 9168 Sep 17 1987 usr.lib/libtermlib/termcap.c -r--r--r-- 1 bin 10 3823 Jun 5 1985 usr.lib/libtermlib/tgoto.c -r--r--r-- 1 bin 10 2008 Jun 5 1985 usr.lib/libtermlib/tputs.c -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libU77 -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libU77/profiled --rw-r--r-- 1 bin 10 1963 Oct 2 1999 usr.lib/libU77/profiled/Version +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libU77 +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libU77/profiled +-rw-r--r-- 1 bin 10 1963 Dec 5 2003 usr.lib/libU77/profiled/Version drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/libU77/test -rw-r--r-- 1 bin 10 453 May 20 1983 usr.lib/libU77/test/actst.f -rw-r--r-- 1 bin 10 210 May 20 1983 usr.lib/libU77/test/argtst.f @@ -8069,7 +8072,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/libU77/test -rw-r--r-- 1 bin 10 3889 May 20 1983 usr.lib/libU77/test/taptst.f -rw-r--r-- 1 bin 10 166 May 20 1983 usr.lib/libU77/test/timtst.f -rw-r--r-- 1 bin 10 84 May 20 1983 usr.lib/libU77/test/ttnam.f --rw-r--r-- 1 root 10 1513 Oct 2 1999 usr.lib/libU77/Version.c +-rw-r--r-- 1 root 10 1513 Dec 5 2003 usr.lib/libU77/Version.c -r--r--r-- 1 bin 10 1202 Jun 7 1985 usr.lib/libU77/access_.c -r--r--r-- 1 bin 10 808 Jun 7 1985 usr.lib/libU77/alarm_.c -r--r--r-- 1 bin 10 758 Jun 7 1985 usr.lib/libU77/chdir_.c @@ -8107,7 +8110,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/libU77/test -r--r--r-- 1 bin 10 413 Jun 7 1985 usr.lib/libU77/loc_.c -r--r--r-- 1 bin 10 1161 Jun 7 1985 usr.lib/libU77/lstat_.c -r--r--r-- 1 bin 10 606 Jun 7 1985 usr.lib/libU77/ltime_.c --r--r--r-- 1 bin 10 8668 Oct 2 1999 usr.lib/libU77/Makefile +-r--r--r-- 1 bin 10 8668 Dec 5 2003 usr.lib/libU77/Makefile -r--r--r-- 1 bin 10 1505 Jun 7 1985 usr.lib/libU77/malloc_.c -rwxr-xr-x 1 bin 10 21504 Jun 21 1983 usr.lib/libU77/mkindx -r--r--r-- 1 bin 10 1279 Jun 7 1985 usr.lib/libU77/mkindx.c @@ -8127,18 +8130,18 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/libU77/test -r--r--r-- 1 bin 10 814 Jun 7 1985 usr.lib/libU77/ttynam_.c -r--r--r-- 1 bin 10 759 Jun 7 1985 usr.lib/libU77/unlink_.c -r--r--r-- 1 bin 10 684 Jun 7 1985 usr.lib/libU77/wait_.c --rw-r--r-- 2 bin 10 1963 Oct 2 1999 usr.lib/libU77/Version == usr.lib/libU77/profiled/Version -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/liby +-rw-r--r-- 2 bin 10 1963 Dec 5 2003 usr.lib/libU77/Version == usr.lib/libU77/profiled/Version +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/liby -r--r--r-- 1 bin 10 309 Aug 9 1985 usr.lib/liby/libmai.c -r--r--r-- 1 bin 10 361 Aug 9 1985 usr.lib/liby/libzer.c --r--r--r-- 1 bin 10 812 Oct 2 1999 usr.lib/liby/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/lpr -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/lpr/filters +-r--r--r-- 1 bin 10 812 Dec 5 2003 usr.lib/liby/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/lpr +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.lib/lpr/filters -r--r--r-- 1 bin 10 4323 Jun 30 1988 usr.lib/lpr/filters/lpf.c --r--r--r-- 1 bin 10 1418 Oct 2 1999 usr.lib/lpr/filters/Makefile -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/lpr/vfilters +-r--r--r-- 1 bin 10 1418 Dec 5 2003 usr.lib/lpr/filters/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/lpr/vfilters -r--r--r-- 1 bin 10 9686 Jun 30 1988 usr.lib/lpr/vfilters/chrtab.c --r--r--r-- 1 bin 10 4319 Oct 2 1999 usr.lib/lpr/vfilters/Makefile +-r--r--r-- 1 bin 10 4319 Dec 5 2003 usr.lib/lpr/vfilters/Makefile -r--r--r-- 1 bin 10 1652 Jun 30 1988 usr.lib/lpr/vfilters/necf.c -r--r--r-- 1 bin 10 3013 Jun 30 1988 usr.lib/lpr/vfilters/railmag.c -r--r--r-- 1 bin 10 17724 Jun 30 1988 usr.lib/lpr/vfilters/rvcat.c @@ -8166,20 +8169,21 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/lpr/vfilters -r--r--r-- 1 bin 10 14775 Jun 30 1988 usr.lib/lpr/lpr.c -r--r--r-- 1 bin 10 2951 Jun 30 1988 usr.lib/lpr/lprm.c -r--r--r-- 1 bin 10 1627 Jun 30 1988 usr.lib/lpr/lptest.c --r--r--r-- 1 bin 10 12683 Oct 2 1999 usr.lib/lpr/Makefile +-r--r--r-- 1 bin 10 12683 Dec 5 2003 usr.lib/lpr/Makefile -r--r--r-- 1 bin 10 8523 Jun 30 1988 usr.lib/lpr/pac.c -r--r--r-- 1 bin 10 8745 Jun 30 1988 usr.lib/lpr/printcap.c -r--r--r-- 1 bin 10 29746 Jun 30 1988 usr.lib/lpr/printjob.c -r--r--r-- 1 bin 10 6859 Jun 30 1988 usr.lib/lpr/recvjob.c -r--r--r-- 1 bin 10 7140 Jun 30 1988 usr.lib/lpr/rmjob.c -r--r--r-- 1 bin 10 2110 Jun 30 1988 usr.lib/lpr/startdaemon.c -drwxr-xr-x 2 bin 10 0 Mar 30 1999 usr.lib/man +drwxr-xr-x 2 bin 10 0 May 29 2002 usr.lib/man -r--r--r-- 1 bin 10 444 Jun 21 1987 usr.lib/man/Makefile -r--r--r-- 1 bin 10 1046 May 28 1985 usr.lib/man/tmac.an6t --r--r--r-- 1 bin 10 5258 Jul 5 1988 usr.lib/man/tmac.an.new +-r--r--r-- 1 bin 10 5320 May 29 2002 usr.lib/man/tmac.an.new -r--r--r-- 1 bin 10 435 May 28 1985 usr.lib/man/tmac.an -r--r--r-- 1 bin 10 800 May 28 1985 usr.lib/man/tmac.an6n -drwxr-xr-x 2 bin 10 0 Apr 16 1999 usr.lib/me +drwxr-xr-x 2 bin 10 0 May 29 2002 usr.lib/me +-r--r--r-- 1 bin 10 21836 May 29 2002 usr.lib/me/tmac.e -r--r--r-- 1 bin 10 1387 Apr 16 1999 usr.lib/me/Makefile -r--r--r-- 1 bin 10 1158 May 21 1988 usr.lib/me/acm.me -r--r--r-- 1 bin 10 2174 May 21 1988 usr.lib/me/chars.me @@ -8200,8 +8204,9 @@ drwxr-xr-x 2 bin 10 0 Apr 16 1999 usr.lib/me -rw-r--r-- 1 bin 10 68 Aug 5 1982 usr.lib/me/test.accent -rw-r--r-- 1 bin 10 309 Aug 5 1982 usr.lib/me/test.umlaut -r--r--r-- 1 bin 10 1053 May 21 1988 usr.lib/me/thesis.me --r--r--r-- 1 bin 10 21833 May 21 1988 usr.lib/me/tmac.e -drwxr-xr-x 2 bin 10 0 May 19 1999 usr.lib/sendmail +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.lib/sendmail +-r--r--r-- 1 bin 10 971 Mar 27 2000 usr.lib/sendmail/Makefile +-r--r--r-- 1 bin 10 2609 Jul 25 1983 usr.lib/sendmail/READ_ME drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/sendmail/adb -rw-r--r-- 1 bin 10 63 Jan 6 1983 usr.lib/sendmail/adb/event -rw-r--r-- 1 bin 10 34 Jan 6 1983 usr.lib/sendmail/adb/event2 @@ -8217,7 +8222,7 @@ drwxr-xr-x 2 bin 10 0 Jan 17 1999 usr.lib/sendmail/adm -rw-r--r-- 1 bin 10 275 Jan 6 1983 usr.lib/sendmail/adm/SU.LOG -rw-r--r-- 1 bin 10 4346 Mar 13 1985 usr.lib/sendmail/adm/TODO -rw-r--r-- 1 bin 10 412 Jan 6 1983 usr.lib/sendmail/adm/TraceFlags -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/sendmail/aux +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/sendmail/aux -r--r--r-- 1 bin 10 2575 Jun 7 1985 usr.lib/sendmail/aux/addr.c -r--r--r-- 1 bin 10 12533 Jun 7 1985 usr.lib/sendmail/aux/arpa.c -rw-r--r-- 1 bin 10 5822 Jul 13 1983 usr.lib/sendmail/aux/bbn_daemon.c @@ -8225,20 +8230,20 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/sendmail/aux -r--r--r-- 1 bin 10 7931 Jul 25 1983 usr.lib/sendmail/aux/mail-dm.c -r--r--r-- 1 bin 10 13299 Apr 21 1988 usr.lib/sendmail/aux/mail.c -r--r--r-- 1 bin 10 2228 Jun 29 1988 usr.lib/sendmail/aux/mailstats.c --r--r--r-- 1 bin 10 3456 Oct 2 1999 usr.lib/sendmail/aux/Makefile +-r--r--r-- 1 bin 10 3456 Dec 5 2003 usr.lib/sendmail/aux/Makefile -r--r--r-- 1 bin 10 1808 Jun 7 1985 usr.lib/sendmail/aux/matchhdr.c -r--r--r-- 1 bin 10 3476 Jun 29 1988 usr.lib/sendmail/aux/mconnect.c -r--r--r-- 1 bin 10 4079 Jun 7 1985 usr.lib/sendmail/aux/newaliases.c -r--r--r-- 1 bin 10 2046 Jun 29 1988 usr.lib/sendmail/aux/praliases.c -r--r--r-- 1 bin 10 2553 Jul 15 1988 usr.lib/sendmail/aux/rmail.c drwxr-xr-x 2 bin 10 0 Apr 16 1999 usr.lib/sendmail/cf -drwxr-xr-x 2 bin 10 0 May 19 1999 usr.lib/sendmail/cf/cf +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/sendmail/cf/cf -rw-r--r-- 1 bin 10 1110 Jan 4 1989 usr.lib/sendmail/cf/cf/README -r--r--r-- 1 bin 10 521 Jan 25 1989 usr.lib/sendmail/cf/cf/cad.mc -r--r--r-- 1 bin 10 424 Jan 4 1989 usr.lib/sendmail/cf/cf/cadgroup.mc --r--r--r-- 1 bin 10 3514 Feb 15 1989 usr.lib/sendmail/cf/cf/proto.mc --r--r--r-- 1 bin 10 2232 Mar 4 1989 usr.lib/sendmail/cf/cf/Makefile --r--r--r-- 1 bin 10 465 Jan 25 1989 usr.lib/sendmail/cf/cf/tcpproto.mc +-r--r--r-- 1 bin 10 2993 Mar 27 2000 usr.lib/sendmail/cf/cf/proto.mc +-r--r--r-- 1 bin 10 2356 Dec 5 2003 usr.lib/sendmail/cf/cf/Makefile +-r--r--r-- 1 bin 10 441 Mar 27 2000 usr.lib/sendmail/cf/cf/tcpproto.mc -r--r--r-- 1 bin 10 528 Jan 4 1989 usr.lib/sendmail/cf/cf/cogsci.mc -r--r--r-- 1 bin 10 445 Jan 4 1989 usr.lib/sendmail/cf/cf/ucbtcp.mc -r--r--r-- 1 bin 10 5190 Feb 15 1989 usr.lib/sendmail/cf/cf/ucbvax.mc @@ -8249,25 +8254,26 @@ drwxr-xr-x 2 bin 10 0 May 19 1999 usr.lib/sendmail/cf/cf -r--r--r-- 1 bin 10 509 Jan 4 1989 usr.lib/sendmail/cf/cf/ic.mc -r--r--r-- 1 bin 10 425 Jan 25 1989 usr.lib/sendmail/cf/cf/uucpproto.mc -r--r--r-- 1 bin 10 553 Jan 25 1989 usr.lib/sendmail/cf/cf/tcpuucpproto.mc -drwxr-xr-x 2 bin 10 0 May 19 1999 usr.lib/sendmail/cf/m4 --r--r--r-- 1 bin 10 2625 Feb 15 1989 usr.lib/sendmail/cf/m4/boilerplate.m4 +-r--r--r-- 1 bin 10 346 Mar 27 2000 usr.lib/sendmail/cf/cf/baretcpproto.mc +-r--r--r-- 1 bin 10 253 May 30 2002 usr.lib/sendmail/cf/cf/harhantcp.mc +drwxr-xr-x 2 bin 10 0 Mar 27 2000 usr.lib/sendmail/cf/m4 +-r--r--r-- 1 bin 10 2638 Mar 27 2000 usr.lib/sendmail/cf/m4/boilerplate.m4 +-r--r--r-- 1 bin 10 1273 Mar 27 2000 usr.lib/sendmail/cf/m4/nsmacros.m4 +-r--r--r-- 1 bin 10 1876 Mar 27 2000 usr.lib/sendmail/cf/m4/rule0.m4 +-r--r--r-- 1 bin 10 2257 Mar 27 2000 usr.lib/sendmail/cf/m4/smtpm.m4 +-r--r--r-- 1 bin 10 1761 Mar 27 2000 usr.lib/sendmail/cf/m4/smtpuucpm.m4 +-r--r--r-- 1 bin 10 985 Mar 27 2000 usr.lib/sendmail/cf/m4/version.m4 -r--r--r-- 1 bin 10 471 Jan 4 1989 usr.lib/sendmail/cf/m4/fake_domains.m4 -r--r--r-- 1 bin 10 1032 Feb 15 1989 usr.lib/sendmail/cf/m4/nsclasses.m4 -r--r--r-- 1 bin 10 1361 Feb 15 1989 usr.lib/sendmail/cf/m4/localm.m4 --r--r--r-- 1 bin 10 1576 Feb 15 1989 usr.lib/sendmail/cf/m4/nsmacros.m4 --r--r--r-- 1 bin 10 3318 Feb 15 1989 usr.lib/sendmail/cf/m4/nstcpldm.m4 --r--r--r-- 1 bin 10 3314 Feb 15 1989 usr.lib/sendmail/cf/m4/nstcpm.m4 -r--r--r-- 1 bin 10 1479 Feb 15 1989 usr.lib/sendmail/cf/m4/postwriterule.m4 --r--r--r-- 1 bin 10 985 Feb 15 1989 usr.lib/sendmail/cf/m4/version.m4 --r--r--r-- 1 bin 10 1971 Feb 15 1989 usr.lib/sendmail/cf/m4/rule0.m4 -r--r--r-- 1 bin 10 2509 Feb 15 1989 usr.lib/sendmail/cf/m4/rule3.m4 -r--r--r-- 1 bin 10 1187 Feb 15 1989 usr.lib/sendmail/cf/m4/prewriterule.m4 -r--r--r-- 1 bin 10 1784 Feb 15 1989 usr.lib/sendmail/cf/m4/suucpm.m4 -rw-r--r-- 1 bin 10 207 Sep 16 1988 usr.lib/sendmail/cf/m4/README -r--r--r-- 1 bin 10 1439 Feb 15 1989 usr.lib/sendmail/cf/m4/rule5.m4 -r--r--r-- 1 bin 10 1882 Feb 15 1989 usr.lib/sendmail/cf/m4/uucpm.m4 --r--r--r-- 1 bin 10 1762 Feb 15 1989 usr.lib/sendmail/cf/m4/smtpuucpm.m4 -drwxr-xr-x 2 bin 10 0 May 19 1999 usr.lib/sendmail/cf/sitedep +drwxr-xr-x 2 bin 10 0 Mar 27 2000 usr.lib/sendmail/cf/sitedep -r--r--r-- 1 bin 10 411 Sep 30 1988 usr.lib/sendmail/cf/sitedep/uucp.cad.m4 -r--r--r-- 1 bin 10 176 Sep 29 1988 usr.lib/sendmail/cf/sitedep/uucp.cogsci.m4 -r--r--r-- 1 bin 10 151 Oct 29 1987 usr.lib/sendmail/cf/sitedep/uucp.okeeffe.m4 @@ -8277,14 +8283,13 @@ drwxr-xr-x 2 bin 10 0 May 19 1999 usr.lib/sendmail/cf/sitedep -rw-r--r-- 1 bin 10 443 Dec 24 1988 usr.lib/sendmail/cf/sitedep/README -r--r--r-- 1 bin 10 974 Dec 2 1988 usr.lib/sendmail/cf/sitedep/smtpuucp.ucbvax.m4 -r--r--r-- 1 bin 10 105 Sep 16 1988 usr.lib/sendmail/cf/sitedep/uucp.ic.m4 --r--r--r-- 1 bin 10 1453 Feb 15 1989 usr.lib/sendmail/cf/sitedep/nicregistered.m4 -rw-r--r-- 1 bin 10 128 Jan 4 1989 usr.lib/sendmail/cf/sitedep/uucp.proto.m4 -rw-r--r-- 1 bin 10 448 Jan 25 1989 usr.lib/sendmail/cf/KEY -rw-r--r-- 1 bin 10 1573 Jan 25 1989 usr.lib/sendmail/cf/M4_KEY -rw-r--r-- 1 bin 10 14768 Jan 25 1989 usr.lib/sendmail/cf/README -drwxr-xr-x 2 bin 10 0 Oct 10 1999 usr.lib/sendmail/doc -lrwxr-xr-x 1 bin 10 0 Oct 10 1999 usr.lib/sendmail/doc/intro.me -> /usr/src/doc/smm/16.sendmail/intro.me -lrwxr-xr-x 1 bin 10 0 Oct 10 1999 usr.lib/sendmail/doc/op.me -> /usr/src/doc/smm/07.sendmailop/op.me +drwxr-xr-x 2 bin 10 0 Dec 5 2003 usr.lib/sendmail/doc +lrwxr-xr-x 1 root 10 0 Dec 5 2003 usr.lib/sendmail/doc/op.me -> ../../../doc/smm/07.sendmailop/op.me +lrwxr-xr-x 1 root 10 0 Dec 5 2003 usr.lib/sendmail/doc/intro.me -> ../../../doc/smm/16.sendmail/intro.me -rw-r--r-- 1 bin 10 1558 Jan 6 1983 usr.lib/sendmail/doc/abstract -rw-r--r-- 1 bin 10 515 Mar 14 1983 usr.lib/sendmail/doc/diagram -r--r--r-- 1 bin 10 788 Aug 19 1985 usr.lib/sendmail/doc/Makefile @@ -8314,23 +8319,23 @@ drwxr-xr-x 2 bin 10 0 May 19 1999 usr.lib/sendmail/md -r--r--r-- 1 bin 10 80 Jul 25 1983 usr.lib/sendmail/md/c.v7.m4 -rw-r--r-- 1 bin 10 89 Dec 6 1984 usr.lib/sendmail/md/config.m4.monet -rw-r--r-- 1 bin 10 88 Apr 25 1985 usr.lib/sendmail/md/config.dst -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/sendmail/src --r--r--r-- 1 bin 10 12267 Oct 2 1999 usr.lib/sendmail/src/Makefile +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/sendmail/src +-r--r--r-- 1 bin 10 12267 Dec 5 2003 usr.lib/sendmail/src/Makefile -r--r--r-- 1 bin 10 2881 May 4 1999 usr.lib/sendmail/src/conf.h --r--r--r-- 1 bin 10 13461 Apr 19 1999 usr.lib/sendmail/src/daemon.c --r--r--r-- 1 bin 10 31667 Apr 19 1999 usr.lib/sendmail/src/deliver.c +-r--r--r-- 1 bin 10 13703 May 30 2002 usr.lib/sendmail/src/daemon.c +-r--r--r-- 1 bin 10 31692 Apr 3 2000 usr.lib/sendmail/src/deliver.c -r--r--r-- 1 bin 10 6914 May 4 1999 usr.lib/sendmail/src/domain.c -r--r--r-- 1 bin 10 21863 May 4 1999 usr.lib/sendmail/src/main.c -r--r--r-- 1 bin 10 18839 May 4 1999 usr.lib/sendmail/src/readcf.c --r--r--r-- 1 bin 10 20473 May 4 1999 usr.lib/sendmail/src/sendmail.h --r--r--r-- 1 bin 10 992 Oct 2 1999 usr.lib/sendmail/src/version.c +-r--r--r-- 1 bin 10 20542 May 30 2002 usr.lib/sendmail/src/sendmail.h +-r--r--r-- 1 bin 10 992 May 30 2002 usr.lib/sendmail/src/version.c -r--r--r-- 1 bin 10 12104 Oct 2 1999 usr.lib/sendmail/src/alias.c -r--r--r-- 1 bin 10 4544 Jun 30 1988 usr.lib/sendmail/src/arpadate.c -r--r--r-- 1 bin 10 4954 Jun 30 1988 usr.lib/sendmail/src/clock.c -r--r--r-- 1 bin 10 7350 Jun 30 1988 usr.lib/sendmail/src/collect.c -r--r--r-- 1 bin 10 10507 Jun 30 1988 usr.lib/sendmail/src/conf.c -r--r--r-- 1 bin 10 3422 Jun 30 1988 usr.lib/sendmail/src/convtime.c --r--r--r-- 1 bin 10 13223 Jun 30 1988 usr.lib/sendmail/src/envelope.c +-r--r--r-- 1 bin 10 13281 Apr 3 2000 usr.lib/sendmail/src/envelope.c -r--r--r-- 1 bin 10 7797 Jun 30 1988 usr.lib/sendmail/src/err.c -r--r--r-- 1 bin 10 17426 Jun 30 1988 usr.lib/sendmail/src/headers.c -r--r--r-- 1 bin 10 5421 Jun 30 1988 usr.lib/sendmail/src/macro.c @@ -8340,7 +8345,7 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/sendmail/src -r--r--r-- 1 bin 10 3509 Jul 10 1988 usr.lib/sendmail/src/READ_ME -r--r--r-- 1 bin 10 13285 Jun 30 1988 usr.lib/sendmail/src/recipient.c -r--r--r-- 1 bin 10 12259 Jun 30 1988 usr.lib/sendmail/src/savemail.c --r--r--r-- 1 bin 10 14786 Jun 30 1988 usr.lib/sendmail/src/srvrsmtp.c +-r--r--r-- 1 bin 10 15471 May 30 2002 usr.lib/sendmail/src/srvrsmtp.c -r--r--r-- 1 bin 10 2733 Jun 30 1988 usr.lib/sendmail/src/stab.c -r--r--r-- 1 bin 10 2585 Jun 30 1988 usr.lib/sendmail/src/stats.c -r--r--r-- 1 bin 10 2212 Jun 30 1988 usr.lib/sendmail/src/sysexits.c @@ -8348,17 +8353,11 @@ drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/sendmail/src -r--r--r-- 1 bin 10 2346 Jun 30 1988 usr.lib/sendmail/src/trace.c -r--r--r-- 1 bin 10 11144 Jun 30 1988 usr.lib/sendmail/src/usersmtp.c -r--r--r-- 1 bin 10 13979 Mar 13 1988 usr.lib/sendmail/src/util.c --rw-r--r-- 1 bin 10 84313 Oct 2 1999 usr.lib/sendmail/src/Version.c --r--r--r-- 1 bin 10 964 May 1 1988 usr.lib/sendmail/Makefile --r--r--r-- 1 bin 10 2609 Jul 25 1983 usr.lib/sendmail/READ_ME -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libz -drwxr-xr-x 2 bin 10 0 Oct 3 1999 usr.lib/libz/profiled -drwxr-xr-x 2 bin 10 0 Jan 18 1999 usr.lib/libz/Origzlib --rw-r--r-- 1 bin 10 10963 Jan 17 1999 usr.lib/libz/Origzlib/ChangeLog --rw-r--r-- 1 bin 10 4675 Jan 17 1999 usr.lib/libz/Origzlib/README --rw-r--r-- 1 bin 10 5504 Jan 17 1999 usr.lib/libz/Origzlib/algorithm.doc +-rw-r--r-- 1 bin 10 84597 May 30 2002 usr.lib/sendmail/src/Version.c +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libz +drwxr-xr-x 2 bin 10 0 Dec 7 2003 usr.lib/libz/profiled -r--r--r-- 1 bin 10 10176 Jan 20 1999 usr.lib/libz/compressio.c --r--r--r-- 1 bin 10 3132 Oct 2 1999 usr.lib/libz/Makefile +-r--r--r-- 1 bin 10 2646 Dec 5 2003 usr.lib/libz/Makefile -r--r--r-- 1 bin 10 1280 Jan 18 1999 usr.lib/libz/adler32.c -r--r--r-- 1 bin 10 6985 Jan 18 1999 usr.lib/libz/crc32.c -r--r--r-- 1 bin 10 1857 Jan 18 1999 usr.lib/libz/compress.c @@ -8380,8 +8379,25 @@ drwxr-xr-x 2 bin 10 0 Jan 18 1999 usr.lib/libz/Origzlib -r--r--r-- 1 bin 10 2001 Jan 18 1999 usr.lib/libz/uncompr.c -r--r--r-- 1 bin 10 4994 Jan 18 1999 usr.lib/libz/zutil.c -r--r--r-- 1 bin 10 3251 Jan 18 1999 usr.lib/libz/zutil.h --r--r--r-- 1 bin 10 2339 Oct 2 1999 usr.lib/Makefile +-rw-r--r-- 1 bin 10 10963 Jan 17 1999 usr.lib/libz/ChangeLog +-rw-r--r-- 1 bin 10 4675 Jan 17 1999 usr.lib/libz/README +-rw-r--r-- 1 bin 10 5504 Jan 17 1999 usr.lib/libz/algorithm.doc +drwxr-xr-x 2 bin 10 0 May 29 2002 usr.lib/ms +-r--r--r-- 1 bin 10 15083 May 29 2002 usr.lib/ms/tmac.s +-r--r--r-- 1 bin 10 4299 Aug 5 1982 usr.lib/ms/tmac.scover +-r--r--r-- 1 bin 10 809 Aug 5 1982 usr.lib/ms/tmac.sdisp +-r--r--r-- 1 bin 10 1190 Aug 5 1982 usr.lib/ms/tmac.skeep +-r--r--r-- 1 bin 10 2104 Aug 5 1982 usr.lib/ms/tmac.srefs +-r--r--r-- 1 bin 10 2320 May 25 2002 usr.lib/ms/acc.ms +-r--r--r-- 1 bin 10 2944 May 25 2002 usr.lib/ms/cov.ms +-r--r--r-- 1 bin 10 1542 May 25 2002 usr.lib/ms/eqn.ms +-r--r--r-- 1 bin 10 2425 May 25 2002 usr.lib/ms/ref.ms +-r--r--r-- 1 bin 10 1152 May 25 2002 usr.lib/ms/tbl.ms +-r--r--r-- 1 bin 10 297 May 25 2002 usr.lib/ms/ths.ms +-r--r--r-- 1 bin 10 1477 May 25 2002 usr.lib/ms/toc.ms +-r--r--r-- 1 bin 10 1073 May 25 2002 usr.lib/ms/Makefile +-r--r--r-- 1 root 10 2346 Dec 5 2003 usr.lib/Makefile -r--r--r-- 1 bin 10 3088 Oct 21 1985 usr.lib/getNAME.c -r--r--r-- 1 bin 10 2336 Sep 14 1987 usr.lib/lib.b -r--r--r-- 1 bin 10 712 Jun 6 1985 usr.lib/makekey.c -tar: tar vol 1, 8386 files, 43601920 bytes read, 0 bytes written in 1 secs (43601920 bytes/sec) +tar: tar vol 1, 8402 files, 43663360 bytes read, 0 bytes written in 1 secs (43663360 bytes/sec) diff --git a/lib/c2/c2.vax/Makefile b/lib/c2/c2.vax/Makefile index 2c4f24c5..580949f6 100644 --- a/lib/c2/c2.vax/Makefile +++ b/lib/c2/c2.vax/Makefile @@ -3,7 +3,7 @@ # All rights reserved. The Berkeley software License Agreement # specifies the terms and conditions for redistribution. # -# @(#)Makefile 4.6 (Berkeley) 6/6/87 +# @(#)Makefile 4.8 (Berkeley) 8/29/00 # CFLAGS= -DCOPYCODE -DC2 -O ASDIR= ../../../bin/as/as.${MACHINE} @@ -22,7 +22,7 @@ instrs.c2: ${ASDIR}/instrs (echo FLAVOR C2 ; cat ${ASDIR}/instrs) | awk -f ${ASDIR}/instrs > instrs.c2 clean: - rm -f *.o *.s c2 + rm -f *.o *.s c2 instrs.c2 install: install -o bin -g bin -m 755 -s c2 ${DESTDIR}/lib/c2 @@ -30,7 +30,7 @@ install: tags: ctags ${SRCS} -depend: +depend: instrs.c2 mkdep ${CFLAGS} ${SRCS} # DO NOT DELETE THIS LINE -- mkdep uses it. diff --git a/lib/c2/c2.vax/c2.h b/lib/c2/c2.vax/c2.h index b30d8ef7..02bcf762 100644 --- a/lib/c2/c2.vax/c2.h +++ b/lib/c2/c2.vax/c2.h @@ -1,4 +1,4 @@ -/* c2.h 4.10 85/08/22 */ +/* c2.h 4.12 00/08/31 */ /* * Header for object code improver @@ -9,7 +9,7 @@ #define JMP 3 #define LABEL 4 #define DLABEL 5 -#define EROU 7 +#define GLOBL 7 #define JSW 9 #define MOV 10 #define CLR 11 @@ -63,6 +63,8 @@ #define LCOMM 59 #define COMM 60 +#define EROU WGEN + #define JEQ 0 #define JNE 1 #define JLE 2 @@ -84,10 +86,8 @@ #define JBCS 18 #define JBSS 19 -#define JCC 20 -#define JCS 21 -#define JVC 22 -#define JVS 23 +#define JVC 20 +#define JVS 21 /* * When the new opcodes were added, the relative diff --git a/lib/c2/c2.vax/c20.c b/lib/c2/c2.vax/c20.c index cd6cf44b..1e34371b 100644 --- a/lib/c2/c2.vax/c20.c +++ b/lib/c2/c2.vax/c20.c @@ -1,5 +1,5 @@ #ifndef lint -static char sccsid[] = "@(#)c20.c 4.10 (Berkeley) 8/22/85"; +static char sccsid[] = "@(#)c20.c 4.12 (Berkeley) 8/8/00"; #endif /* @@ -100,7 +100,6 @@ char **argv; refcount(); do { iterate(); - clearreg(); niter++; } while (nchange); comjump(); @@ -565,12 +564,13 @@ iterate() decref(rp); nchange++; njp1++; - break; + goto jmpdone; } rp = rp->forw; } xjump(p); p = codemove(p); +jmpdone: ; } } } diff --git a/lib/c2/c2.vax/c21.c b/lib/c2/c2.vax/c21.c index 91942d9c..d08059f5 100644 --- a/lib/c2/c2.vax/c21.c +++ b/lib/c2/c2.vax/c21.c @@ -1,5 +1,5 @@ #ifndef lint -static char sccsid[] = "@(#)c21.c 4.24 5/11/88"; +static char sccsid[] = "@(#)c21.c 4.35 8/31/00"; #endif /* char C21[] = {"@(#)c21.c 1.83 80/10/16 21:18:22 JFR"}; /* sccs ident */ @@ -139,8 +139,10 @@ bmove() { } else if (*cp1++=='-' && 0<=(r=getnum(cp1))) { p->op=SUB; p->pop=0; *--cp1='$'; p->code=cp1; } - /* fall thru ... */ + goto std; case CASE: + clearuse(); + /* fall thru ... */ default: std: p=bflow(p); break; case MUL: @@ -389,7 +391,7 @@ bmove() { if (isdigit(regp->code[2]) || reg >= NUSE || uses[reg]) goto std; } - if (r >= NUSE) goto std; + else if (r >= NUSE) goto std; if (reg != r) sprintf(regs[RT1], "r%d", reg); if ((num = getnum(®s[RT2][2])) <= 0 || num > 63) goto std; @@ -421,7 +423,7 @@ bmove() { case CBR: if (p->ref->ref!=0) for (r=NUSE;--r>=0;) if (biti[r] & (int)p->ref->ref) {uses[r]=p; regs[r][0]= -1;} - case EROU: case JSW: + case GLOBL: case JSW: case TEXT: case DATA: case BSS: case ALIGN: case WGEN: case END: ; } } @@ -520,7 +522,11 @@ rmove() if (p->op==TST && equstr(lastrand=regs[RT1], ccloc+1) && ((0xf&(ccloc[0]>>4))==p->subop || equtype(ccloc[0],p->subop)) &&!source(lastrand)) { - delnode(p); p = p->back; nrtst++; nchange++; + delnode(p); + p = p->back; + nrtst++; + nchange++; + break; } setcc(lastrand,p->subop); break; @@ -553,7 +559,6 @@ rmove() else lastrand=regs[RT2]; /* .mb destinations lose */ repladdr(p); } - ccloc[0] = 0; break; case JBR: @@ -624,11 +629,10 @@ register struct node *p; p->op=PUSH ; *regs[RT2]=0; p->pop=0; } delnode(p->forw); - if (0<=(r2=isreg(lastrand)) && r2op==MOV && p->forw->op!=EXTV && p->forw->op!=EXTZV) { /* superfluous fetch */ int nmatch; @@ -650,12 +654,8 @@ register struct node *p; *cp1++='r'; *cp1++=r+'0'; *cp1=0; } delnode(p); p=p->forw; - if (0<=(r2=isreg(src)) && r2op==MOV && (p->forw->op==CVT || p->forw->op==MOVZ) @@ -673,6 +673,13 @@ register struct node *p; case ACB: case AOBLEQ: case AOBLSS: case SOBGTR: case SOBGEQ: break; default: + /* + * If flow is already set, we are looking at this + * instruction a second time, so we can't do this + * seeming dead store elimination. + */ + if (flow >= 0) + break; if (uses[r]==0) {/* no direct uses, check for use of condition codes */ register struct node *q=p; while ((q=nonlab(q->forw))->combop==JBR) q=q->ref; /* cc unused, unchanged */ @@ -706,17 +713,17 @@ register struct node *p; if (lastrand!=cp1 && 0<=(r=isreg(cp1)) && rsubop; if (p->op==ASH && preg==(regs+RT1+1)) cp2[-1]=BYTE; /* stupid DEC */ - if (p->op==MOV || p->op==PUSH || p->op==CVT || p->op==MOVZ || p->op==COM || p->op==NEG) { - if (p->op==PUSH) cp1="-(sp)"; - else { - cp1=regs[RT2]; - if (0<=(r=isreg(cp1)) && rop!=MOV) cp1=0; - } - if (cp1) while (*cp2++= *cp1++); - else *cp2=0; + if (p->op == MOV) { + cp1 = regs[RT2]; + if (0<=(r=isreg(cp1)) && rop == PUSH) { + cp1 = "-(sp)"; + while (*cp2++ = *cp1++) + ; } else *cp2=0; continue; } @@ -951,55 +958,129 @@ jumpsw() return(nj); } +/* + * The wonderful VAX architecture has nice loop instructions which neatly + * replace some sequences that come out of typical for loops. A loop with a + * counter ticking down to 0 will end with a DEC; JGE/JGT at this point, which + * is neatly replaced with a SOB. A loop with a counter ticking up to some + * limit will end with an INC; CMP; JLE/JLT at this point, which is neatly + * replaced with an AOB or ACB (see below). We do these substitutions here. + * + * There are some gotchas, though. Just like ordinary branches, SOB and AOB + * instructions are limited to byte displacements. The original UNIX as relaxed + * the former, but not the latter. One can add straightforward relaxing of SOBs + * and AOBs to as (by putting roundabout branches after the SOB/AOB that can't + * reach), which is what GNU as does. An AOB is always more efficient than INC; + * CMP; JLE/JLT, even when relaxed. A SOB, however, is more efficient than DEC; + * JGE/JGT only when it's simple. A relaxed DEC; JGE/JGT is more efficient than + * a relaxed SOB. Also we can use an ACB instead of an AOB. With a +1 addend + * it's almost as efficient as an AOB, but has a word displacement. (It's + * wasteful with a -1 addend, though, worse than a relaxed SOB or a DEC; + * JGE/JGT, so we don't use it there.) Also an ACB can only replace an AOBLEQ, + * but not an AOBLSS. + * + * The original c2 solution, which was effectively for a non-relaxing + * assembler, was to generate a SOB or AOB if the destination is within 8 + * instructions, or if that doesn't cut it and we were trying to generate an + * AOBLEQ, generate an ACB instead. Otherwise, miss the optimisation. + * + * Fortunately, in 4.3BSD-Quasijarus UNIX as has been improved. It now relaxes + * branches three-way without -J like GNU as does. It also relaxes SOBs, AOBs, + * and ACBs now. However, it is smarter than GNU as, and in light of the above + * considerations relaxes them a little differently. Straightforward relaxing + * is done only for AOBs, SOBs revert to DEC; JGE/JGT as that's more efficient. + * Also when an AOB is in the word relaxation state and it's an AOBLEQ, it is + * changed to an ACB, as that's more efficient than a relaxed AOB. c2 now takes + * advantage of this and always emits SOBs and AOBs for as to relax, as its + * relaxing will always be at least as good as what c2 used to do in the past, + * often better. + */ addsob() { - register struct node *p, *p1, *p2, *p3; - - for (p = &first; (p1 = p->forw)!=0; p = p1) { - if (p->combop==T(DEC,LONG) && p1->op==CBR) { - if (abs(p->seq - p1->ref->seq) > 8) continue; - if (p1->subop==JGE || p1->subop==JGT) { - if (p1->subop==JGE) p->combop=SOBGEQ; else p->combop=SOBGTR; - p->pop=0; - p->labno = p1->labno; delnode(p1); nsob++; - } - } else if (p->combop==T(INC,LONG)) { - if (p1->op==LABEL && p1->refc==1 && p1->forw->combop==T(CMP,LONG) - && (p2=p1->forw->forw)->combop==T(CBR,JLE) - && (p3=p2->ref->back)->combop==JBR && p3->ref==p1 - && p3->forw->op==LABEL && p3->forw==p2->ref) { - /* change INC LAB: CMP to LAB: INC CMP */ - p->back->forw=p1; p1->back=p->back; - p->forw=p1->forw; p1->forw->back=p; - p->back=p1; p1->forw=p; - p1=p->forw; - /* adjust beginning value by 1 */ - p2=alloc(sizeof first); p2->combop=T(DEC,LONG); - p2->pop=0; - p2->forw=p3; p2->back=p3->back; p3->back->forw=p2; - p3->back=p2; p2->code=p->code; p2->labno=0; - } - if (p1->combop==T(CMP,LONG) && (p2=p1->forw)->op==CBR) { - register char *cp1,*cp2; - splitrand(p1); if (!equstr(p->code,regs[RT1])) continue; - if (abs(p->seq - p2->ref->seq)>8) {/* outside byte displ range */ - if (p2->subop!=JLE) continue; - p->combop=T(ACB,LONG); - cp2=regs[RT1]; cp1=regs[RT2]; while (*cp2++= *cp1++); /* limit */ - cp2=regs[RT2]; cp1="$1"; while (*cp2++= *cp1++); /* increment */ - cp2=regs[RT3]; cp1=p->code; while (*cp2++= *cp1++); /* index */ - p->pop=0; newcode(p); - p->labno = p2->labno; delnode(p2); delnode(p1); nsob++; - } else if (p2->subop==JLE || p2->subop==JLT) { - if (p2->subop==JLE) p->combop=AOBLEQ; else p->combop=AOBLSS; - cp2=regs[RT1]; cp1=regs[RT2]; while (*cp2++= *cp1++); /* limit */ - cp2=regs[RT2]; cp1=p->code; while (*cp2++= *cp1++); /* index */ - p->pop=0; newcode(p); - p->labno = p2->labno; delnode(p2); delnode(p1); nsob++; - } + register struct node *p, *p1, *p2, *p3, *p4; + register char *t; + + for (p = &first; (p1 = p->forw) != 0; p = p1) { + if (p->combop == T(DEC,LONG) + && (p1->combop == T(CBR,JGE) || p1->combop == T(CBR,JGT))) { + /* See if it's a SOB candidate. */ + if (p1->subop == JGE) + p->combop = SOBGEQ; + else + p->combop = SOBGTR; + p->pop = 0; + p->labno = p1->labno; + delnode(p1); + nsob++; + } else if (p->combop == T(CMP,LONG) + && (p1->combop == T(CBR,JLE) + || p1->combop == T(CBR,JLT))) { + /* + * See if it's an AOB candidate. There must be an INC + * before the CMP and the two must have the same + * operand, which must have no side effects. There's + * one more gotcha here. Usually there will be a label + * between the INC and the CMP with a jump to it at the + * beginning of the loop. We solve this problem by + * adding a DEC before that jump and swapping the INC + * and the label. The inefficiency of the DEC -> jump + * -> INC path on loop entry is compensated for by the + * AOB optimisation, which affects every iteration. Of + * course, we do the DEC insertion and the label swap + * only when we really do the AOB optimisation. (But + * maybe I shouldn't say "of course", as the previous + * incarnation of this code blundered here. :-) + */ + splitrand(p); + if (source(regs[RT1])) + continue; + if ((p2 = p->back)->combop == T(INC,LONG)) { + if (!equstr(p2->code, regs[RT1])) + continue; + } else if (p2->op == LABEL + && (p3 = p2->back)->combop == T(INC,LONG)) { + if (!equstr(p3->code, regs[RT1])) + continue; + if (p2->refc != 1 + || (p4 = p1->ref->back)->combop != JBR + || p4->ref != p2) + continue; + /* change INC LAB: CMP to LAB: INC CMP */ + p3->back->forw = p2; + p2->back = p3->back; + p3->forw = p2->forw; + p2->forw->back = p3; + p3->back = p2; + p2->forw = p3; + p2 = p3; + /* adjust beginning value by 1 */ + p3 = alloc(sizeof first); + p3->combop = T(DEC,LONG); + p3->pop = 0; + p3->forw = p4; + p3->back = p4->back; + p4->back->forw = p3; + p4->back = p3; + p3->code = p2->code; + p3->labno = 0; + } else + continue; + delnode(p2); + /* Generate an AOBLEQ or AOBLSS. */ + if (p1->subop == JLE) + p->combop = AOBLEQ; + else + p->combop = AOBLSS; + t = regs[RT2]; + regs[RT2] = regs[RT1]; + regs[RT1] = t; + p->pop = 0; + newcode(p); + p->labno = p1->labno; + delnode(p1); + nsob++; } } - } } equop(p1, p2) @@ -1015,7 +1096,7 @@ struct node *p2; if (p1->op>0 && p1->opcombop) { - case EROU: case JSW: case TEXT: case DATA: + case GLOBL: case JSW: case TEXT: case DATA: case BSS: case ALIGN: case WGEN: case END: /* * Consider all pseudo-ops to be unique. @@ -1324,7 +1405,9 @@ register struct node *p; p1 = nonlab(p1); if (p1->op==TST) { splitrand(p1); - savereg(RT2, "$0", p1->subop); + regs[RT2][0] = '$'; + regs[RT2][1] = '0'; + regs[RT2][2] = '\0'; } else if (p1->op==CMP) splitrand(p1); else diff --git a/lib/cpp/cpp.c b/lib/cpp/cpp.c index c0079ddb..4fe620a5 100644 --- a/lib/cpp/cpp.c +++ b/lib/cpp/cpp.c @@ -1,5 +1,5 @@ #ifndef lint -static char sccsid[] = "@(#)cpp.c 1.17 10/22/87"; +static char sccsid[] = "@(#)cpp.c 1.19 4/17/00"; #endif lint #ifdef FLEXNAMES @@ -146,7 +146,7 @@ STATIC char *dirnams[MAXINC]; /* actual directory of #include files */ STATIC int fins[MAXINC]; STATIC int lineno[MAXINC]; -STATIC char *dirs[10]; /* -I and <> directories */ +STATIC char *dirs[18]; /* -I and <> directories */ char *strdex(), *copy(), *subst(), *trmdir(); struct symtab *stsym(); STATIC int fin = FIRSTOPEN; @@ -185,7 +185,7 @@ static jmp_buf env; extern FILE *_f[]; # define symsiz 500 # else -# define symsiz 2000 /* std = 500, wnj aug 1979 */ +# define symsiz 4000 /* std = 500, wnj aug 1979 */ # endif STATIC struct symtab stab[symsiz]; @@ -1154,7 +1154,7 @@ main(argc,argv) *prund++ = argv[i]+2; continue; case 'I': - if (nd>8) pperror("excessive -I file (%s) ignored",argv[i]); + if (nd>16) pperror("excessive -I file (%s) ignored",argv[i]); else dirs[nd++] = argv[i]+2; continue; case '\0': continue; diff --git a/lib/mip/config.h b/lib/mip/config.h index f4e98c80..66042c53 100644 --- a/lib/mip/config.h +++ b/lib/mip/config.h @@ -1,4 +1,4 @@ -/* config.h 4.3 85/08/22 */ +/* config.h 4.6 00/12/22 */ #ifndef _CONFIG_ #define _CONFIG_ @@ -20,11 +20,11 @@ /* * Table sizes. */ -#define TREESZ 1000 /* parse tree table size */ +#define TREESZ 2000 /* parse tree table size */ #define BCSZ 100 /* break/continue table size */ -#define SYMTSZ 3000 /* symbol table size */ +#define SYMTSZ 6000 /* symbol table size */ #define DIMTABSZ 4200 /* dimension/size table size */ -#define PARAMSZ 300 /* parameter stack size */ +#define PARAMSZ 600 /* parameter stack size */ #define SWITSZ 500 /* switch table size */ #define DELAYS 20 /* delayed evaluation table size */ #define NRECUR (10*TREESZ) /* maximum eval recursion depth */ diff --git a/lib/pcc/pcc.vax/code.c b/lib/pcc/pcc.vax/code.c index 67274bf6..93026d5a 100644 --- a/lib/pcc/pcc.vax/code.c +++ b/lib/pcc/pcc.vax/code.c @@ -1,5 +1,5 @@ #ifndef lint -static char *sccsid ="@(#)code.c 1.10 (Berkeley) 5/31/88"; +static char *sccsid ="@(#)code.c 1.13 (Berkeley) 8/30/00"; #endif lint # include "pass1.h" @@ -10,6 +10,7 @@ static char *sccsid ="@(#)code.c 1.10 (Berkeley) 5/31/88"; int proflg = 0; /* are we generating profiling code? */ int strftn = 0; /* is the current function one which returns a value */ int gdebug; +int jflag; int fdefflag; /* are we within a function definition ? */ #ifndef STABDOT char NULLNAME[8]; @@ -401,13 +402,22 @@ char #endif -main( argc, argv ) char *argv[]; { +main(argc, argv) + char *argv[]; +{ + register int i; + register char *cp; #ifdef BUFSTDERR char errbuf[BUFSIZ]; setbuf(stderr, errbuf); #endif - return(mainp1( argc, argv )); - } + for (i = 1; i < argc; i++) + if (argv[i][0] == '-' && argv[i][1] == 'X') + for (cp = &argv[i][2]; *cp; cp++) + if (*cp == 'J') + jflag++; + return(mainp1(argc, argv)); +} struct sw heapsw[SWITSZ]; /* heap for switches */ @@ -427,19 +437,46 @@ genswitch(p,n) register struct sw *p;{ if( range>0 && range <= 3*n && n>=4 ){ /* implement a direct switch */ + /* the switch expression value in r0 */ swlab = getlab(); dlab = p->slab >= 0 ? p->slab : getlab(); - /* already in r0 */ - printf(" casel r0,$%ld,$%ld\n", p[1].sval, range); - printf("L%d:\n", swlab); - for( i=1,j=p[1].sval; i<=n; j++) { - printf(" .word L%d-L%d\n", (j == p[i].sval ? ((j=p[i++].sval), p[i-1].slab) : dlab), - swlab); - } + if (!jflag) { + /* + * Generate a CASEL instruction. Nice and efficient, + * but limited to word displacements. + */ + printf(" casel r0,$%ld,$%ld\n", p[1].sval, + range); + printf("L%d:\n", swlab); + for (i = 1, j = p[1].sval; i <= n; j++) + printf(" .word L%d-L%d\n", + (j == p[i].sval ? p[i++].slab : dlab), + swlab); + } else { + /* + * Generate a table of absolute addresses. Longer and + * can't use the nice CASEL instruction, but no limit + * on displacements. + */ + if (p[1].sval > 0) + printf(" subl2 $%ld,r0\n", p[1].sval); + if (p[1].sval < 0) + printf(" addl2 $%ld,r0\n", -p[1].sval); + printf(" cmpl $%ld,r0\n", range); + printf(" jlssu L%d\n", dlab); + printf(" ashl $2,r0,r0\n"); + printf(" jmp *L%d(r0)\n", swlab); + printf("L%d:\n", swlab); + for (i = 1, j = p[1].sval; i <= n; j++) + printf(" .long L%d\n", + (j == p[i].sval ? p[i++].slab : dlab)); + } - if( p->slab >= 0 ) branch( dlab ); - else printf("L%d:\n", dlab); + if (p->slab >= 0 && !jflag) + branch(dlab); + if (p->slab < 0) + printf("L%d:\n", dlab); return; } diff --git a/man/man1/Makefile b/man/man1/Makefile index 0ba6ce0b..f3227695 100644 --- a/man/man1/Makefile +++ b/man/man1/Makefile @@ -9,7 +9,7 @@ # software without specific prior written permission. This software # is provided ``as is'' without express or implied warranty. # -# @(#)Makefile 5.7 (Berkeley) 9/29/99 +# @(#)Makefile 5.9 (Berkeley) 6/12/03 # MDIR= /usr/man/cat1 SRCS= adb.1 addbib.1 admin.1 apply.1 apropos.1 ar.1 as.1 at.1 atq.1 atrm.1 \ @@ -19,27 +19,27 @@ SRCS= adb.1 addbib.1 admin.1 apply.1 apropos.1 ar.1 as.1 at.1 atq.1 atrm.1 \ ctags.1 date.1 dbx.1 dc.1 dd.1 delta.1 deroff.1 df.1 diction.1 diff.1 \ diff3.1 du.1 echo.1 ed.1 efl.1 eqn.1 error.1 ex.1 expand.1 expr.1 \ f77.1 false.1 file.1 find.1 finger.1 fmt.1 fold.1 fp.1 fpr.1 from.1 \ - fsplit.1 ftp.1 gcore.1 get.1 gprof.1 graph.1 grep.1 groups.1 head.1 \ - help.1 hostid.1 hostname.1 indent.1 install.1 intro.1 iostat.1 join.1 \ - kill.1 last.1 lastcomm.1 ld.1 learn.1 leave.1 lex.1 lint.1 \ - ln.1 lock.1 logger.1 login.1 look.1 lookbib.1 lorder.1 lpq.1 \ - lpr.1 lprm.1 lptest.1 ls.1 m4.1 mail.1 make.1 man.1 mesg.1 \ + fsplit.1 ftp.1 gcore.1 get.1 gprof.1 graph.1 grep.1 groups.1 \ + gzcompat.1 head.1 hostid.1 hostname.1 indent.1 install.1 \ + intro.1 iostat.1 join.1 kill.1 last.1 lastcomm.1 ld.1 learn.1 leave.1 \ + lex.1 lint.1 ln.1 lock.1 logger.1 login.1 look.1 lookbib.1 lorder.1 \ + lpq.1 lpr.1 lprm.1 lptest.1 ls.1 m4.1 mail.1 make.1 man.1 mesg.1 \ mkdep.1 mkdir.1 mkstr.1 more.1 mset.1 msgs.1 mt.1 mv.1 netstat.1 \ newaliases.1 nice.1 nm.1 nroff.1 nslookup.1 od.1 pagesize.1 passwd.1 \ pc.1 pdx.1 pi.1 pix.1 plot.1 pmerge.1 pr.1 printenv.1 prof.1 prt.1 \ ps.1 ptx.1 pwd.1 px.1 pxp.1 \ pxref.1 quota.1 ranlib.1 ratfor.1 rcp.1 rdist.1 refer.1 rev.1 \ rlogin.1 rm.1 rmail.1 rmdel.1 rmdir.1 roffbib.1 rsh.1 ruptime.1 rwho.1 \ - sccs.1 sccsdiff.1 script.1 sed.1 sendbug.1 sh.1 size.1 sleep.1 \ - soelim.1 sort.1 sortbib.1 spell.1 spline.1 split.1 strings.1 strip.1 \ - struct.1 stty.1 style.1 su.1 sum.1 symorder.1 sysline.1 systat.1 \ - tabs.1 tail.1 talk.1 tar.1 tbl.1 tc.1 tcopy.1 tee.1 telnet.1 test.1 \ - tftp.1 time.1 tip.1 tk.1 tn3270.1 touch.1 tp.1 tr.1 troff.1 true.1 \ - tset.1 tsort.1 tty.1 ul.1 unifdef.1 uniq.1 units.1 uptime.1 users.1 \ - uucp.1 uuencode.1 uulog.1 uuname.1 uuq.1 uusend.1 uux.1 vacation.1 \ - vgrind.1 vi.1 vmstat.1 w.1 wait.1 wall.1 wc.1 what.1 whatis.1 \ - whereis.1 which.1 who.1 whoami.1 whois.1 window.1 write.1 xsend.1 \ - xstr.1 yacc.1 yes.1 + sccs.1 sccsdiff.1 sccshelp.1 script.1 sed.1 sendbug.1 sh.1 size.1 \ + sleep.1 soelim.1 sort.1 sortbib.1 spell.1 spline.1 split.1 strings.1 \ + strip.1 struct.1 stty.1 style.1 su.1 sum.1 symorder.1 sysline.1 \ + systat.1 tabs.1 tail.1 talk.1 tar.1 tbl.1 tc.1 tcopy.1 tee.1 telnet.1 \ + test.1 tftp.1 time.1 tip.1 tk.1 tn3270.1 touch.1 tp.1 tr.1 troff.1 \ + true.1 tset.1 tsort.1 tty.1 ul.1 unifdef.1 uniq.1 units.1 uptime.1 \ + users.1 uucp.1 uuencode.1 uulog.1 uuname.1 uuq.1 uusend.1 uux.1 \ + vacation.1 vgrind.1 vi.1 vmstat.1 w.1 wait.1 wall.1 wc.1 what.1 \ + whatis.1 whereis.1 which.1 who.1 whoami.1 whois.1 window.1 write.1 \ + xsend.1 xstr.1 yacc.1 yes.1 OBJS= adb.0 addbib.0 admin.0 apply.0 apropos.0 ar.0 as.0 at.0 atq.0 atrm.0 \ awk.0 basename.0 bc.0 bdiff.0 biff.0 binmail.0 cal.0 calendar.0 cat.0 \ cb.0 cc.0 cd.0 checknr.0 chghist.0 chgrp.0 chmod.0 clear.0 cmp.0 col.0 \ @@ -47,27 +47,27 @@ OBJS= adb.0 addbib.0 admin.0 apply.0 apropos.0 ar.0 as.0 at.0 atq.0 atrm.0 \ ctags.0 date.0 dbx.0 dc.0 dd.0 delta.0 deroff.0 df.0 diction.0 diff.0 \ diff3.0 du.0 echo.0 ed.0 efl.0 eqn.0 error.0 ex.0 expand.0 expr.0 \ f77.0 false.0 file.0 find.0 finger.0 fmt.0 fold.0 fp.0 fpr.0 from.0 \ - fsplit.0 ftp.0 gcore.0 get.0 gprof.0 graph.0 grep.0 groups.0 head.0 \ - help.0 hostid.0 hostname.0 indent.0 install.0 intro.0 iostat.0 join.0 \ - kill.0 last.0 lastcomm.0 ld.0 learn.0 leave.0 lex.0 lint.0 \ - ln.0 lock.0 logger.0 login.0 look.0 lookbib.0 lorder.0 lpq.0 \ - lpr.0 lprm.0 lptest.0 ls.0 m4.0 mail.0 make.0 man.0 mesg.0 \ + fsplit.0 ftp.0 gcore.0 get.0 gprof.0 graph.0 grep.0 groups.0 \ + gzcompat.0 head.0 hostid.0 hostname.0 indent.0 install.0 \ + intro.0 iostat.0 join.0 kill.0 last.0 lastcomm.0 ld.0 learn.0 leave.0 \ + lex.0 lint.0 ln.0 lock.0 logger.0 login.0 look.0 lookbib.0 lorder.0 \ + lpq.0 lpr.0 lprm.0 lptest.0 ls.0 m4.0 mail.0 make.0 man.0 mesg.0 \ mkdep.0 mkdir.0 mkstr.0 more.0 mset.0 msgs.0 mt.0 mv.0 netstat.0 \ newaliases.0 nice.0 nm.0 nroff.0 nslookup.0 od.0 pagesize.0 passwd.0 \ pc.0 pdx.0 pi.0 pix.0 plot.0 pmerge.0 pr.0 printenv.0 prof.0 prt.0 \ ps.0 ptx.0 pwd.0 px.0 pxp.0 \ pxref.0 quota.0 ranlib.0 ratfor.0 rcp.0 rdist.0 refer.0 rev.0 \ rlogin.0 rm.0 rmail.0 rmdel.0 rmdir.0 roffbib.0 rsh.0 ruptime.0 rwho.0 \ - sccs.0 sccsdiff.0 script.0 sed.0 sendbug.0 sh.0 size.0 sleep.0 \ - soelim.0 sort.0 sortbib.0 spell.0 spline.0 split.0 strings.0 strip.0 \ - struct.0 stty.0 style.0 su.0 sum.0 symorder.0 sysline.0 systat.0 \ - tabs.0 tail.0 talk.0 tar.0 tbl.0 tc.0 tcopy.0 tee.0 telnet.0 test.0 \ - tftp.0 time.0 tip.0 tk.0 tn3270.0 touch.0 tp.0 tr.0 troff.0 true.0 \ - tset.0 tsort.0 tty.0 ul.0 unifdef.0 uniq.0 units.0 uptime.0 users.0 \ - uucp.0 uuencode.0 uulog.0 uuname.0 uuq.0 uusend.0 uux.0 vacation.0 \ - vgrind.0 vi.0 vmstat.0 w.0 wait.0 wall.0 wc.0 what.0 whatis.0 \ - whereis.0 which.0 who.0 whoami.0 whois.0 window.0 write.0 xsend.0 \ - xstr.0 yacc.0 yes.0 + sccs.0 sccsdiff.0 sccshelp.0 script.0 sed.0 sendbug.0 sh.0 size.0 \ + sleep.0 soelim.0 sort.0 sortbib.0 spell.0 spline.0 split.0 strings.0 \ + strip.0 struct.0 stty.0 style.0 su.0 sum.0 symorder.0 sysline.0 \ + systat.0 tabs.0 tail.0 talk.0 tar.0 tbl.0 tc.0 tcopy.0 tee.0 telnet.0 \ + test.0 tftp.0 time.0 tip.0 tk.0 tn3270.0 touch.0 tp.0 tr.0 troff.0 \ + true.0 tset.0 tsort.0 tty.0 ul.0 unifdef.0 uniq.0 units.0 uptime.0 \ + users.0 uucp.0 uuencode.0 uulog.0 uuname.0 uuq.0 uusend.0 uux.0 \ + vacation.0 vgrind.0 vi.0 vmstat.0 w.0 wait.0 wall.0 wc.0 what.0 \ + whatis.0 whereis.0 which.0 who.0 whoami.0 whois.0 window.0 write.0 \ + xsend.0 xstr.0 yacc.0 yes.0 LINKS= case.0 edit.0 for.0 if.0 while.0 checkeq.0 neqn.0 cu.0 diffh.0 \ egrep.0 fgrep.0 nohup.0 page.0 reset.0 enroll.0 spellin.0 \ spellout.0 xget.0 chfn.0 chsh.0 unexpand.0 explain.0 indxbib.0 \ diff --git a/man/man1/admin.1 b/man/man1/admin.1 index 8896633a..9cc6793a 100644 --- a/man/man1/admin.1 +++ b/man/man1/admin.1 @@ -1,4 +1,4 @@ -.\" @(#)admin.1 6.1 (Berkeley) 5/14/99 +.\" @(#)admin.1 6.2 (Berkeley) 11/9/03 .tr ~ .tr $% .if t .tr #\fB\(em\fP @@ -112,7 +112,7 @@ .if t .ds )Q \\(aa .if t .ds )G \\(ga .if t .ds )S \\| -.TH ADMIN 1 "May 14, 1999" +.TH ADMIN 1 "November 9, 2003" .SH NAME admin \(em create and administer \s-1SCCS\s0 files .SH SYNOPSIS @@ -547,7 +547,7 @@ get(1), delta(1), prs(1), what(1), -help(1), +sccshelp(1), ed(1), sccsfile(5) .br @@ -556,7 +556,7 @@ by L. E. Bonanni and C. A. Salemi. .ad .SH DIAGNOSTICS Use -.IR help\^ (1) +.IR sccshelp\^ (1) for explanations. .tr ~~ .tr $$ diff --git a/man/man1/as.1 b/man/man1/as.1 index 2eefd0d7..5adcb194 100644 --- a/man/man1/as.1 +++ b/man/man1/as.1 @@ -2,9 +2,9 @@ .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" -.\" @(#)as.1 6.3 (Berkeley) 5/8/86 +.\" @(#)as.1 6.5 (Berkeley) 11/8/03 .\" -.TH AS 1 "May 8, 1986" +.TH AS 1 "November 8, 2003" .UC 4 .SH NAME as \- VAX-11 assembler @@ -63,9 +63,9 @@ rather than a temporary file. Do not complain about errors. .TP .B \-J -Use long branches to resolve jumps when byte-displacement branches are -insufficient. This must be used when a compiler-generated assembly contains -branches of more than 32k bytes. +This flag is obsolete and ignored. +.I As +now automatically chooses between byte branches, word branches, and long jumps. .TP .B \-R Make initialized data segments read-only, by concatenating them to @@ -103,7 +103,3 @@ Auxiliary documentation John F. Reiser .br Robert R. Henry -.SH BUGS -.B \-J -should be eliminated; the assembler should automatically choose among -byte, word and long branches. diff --git a/man/man1/bdiff.1 b/man/man1/bdiff.1 index 0dcb32b1..ef161855 100644 --- a/man/man1/bdiff.1 +++ b/man/man1/bdiff.1 @@ -1,4 +1,4 @@ -.\" @(#)bdiff.1 6.1 (Berkeley) 5/14/99 +.\" @(#)bdiff.1 6.2 (Berkeley) 11/9/03 .tr ~ .if n .ds D " -- .if t .ds D _ @@ -42,7 +42,7 @@ .if t .ds )Q \\(aa .if t .ds )G \\(ga .if t .ds )S \\| -.th BDIFF 1 5/14/99 +.th BDIFF 1 11/9/03 .sh NAME bdiff \*- big diff .sh SYNOPSIS @@ -121,7 +121,7 @@ diff(1) .ad .sh DIAGNOSTICS Use -.it help\c +.it sccshelp\c (1) for explanations. .tr ~~ diff --git a/man/man1/cc.1 b/man/man1/cc.1 index a6dea52e..f3e0159b 100644 --- a/man/man1/cc.1 +++ b/man/man1/cc.1 @@ -2,9 +2,9 @@ .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" -.\" @(#)cc.1 6.2 (Berkeley) 6/7/85 +.\" @(#)cc.1 6.3 (Berkeley) 11/8/03 .\" -.TH CC 1 "June 7, 1985" +.TH CC 1 "November 8, 2003" .UC 4 .SH NAME cc \- C compiler @@ -92,10 +92,30 @@ object-code improver. .SM .B \-R Passed on to -.I as, +.IR as , making initialized variables shared and read-only. .TP .SM +.B \-J +Passed on to +.IR as , +telling it to generate long branches/jumps. +Also +.I switch +tables are generated in long form. +Use this option for compiling source files containing large functions with +branches exceeding 32 KB when compilation without this option fails with error +messages from +.IR as . +Since +.I as +now automatically chooses the optimal form for all regular branches and ignores +.BR \-J , +this option should only be needed now when the offending branches result from +.I switch +statements and get compiled in the compact table form. +.TP +.SM .B \-S Compile the named C programs, and leave the assembler-language output on corresponding files suffixed `.s'. diff --git a/man/man1/chghist.1 b/man/man1/chghist.1 index 8019f086..44600e34 100644 --- a/man/man1/chghist.1 +++ b/man/man1/chghist.1 @@ -1,4 +1,4 @@ -.\" @(#)chghist.1 6.1 (Berkeley) 5/14/99 +.\" @(#)chghist.1 6.2 (Berkeley) 11/9/03 .tr ~ .if n .ds D " -- .if t .ds D _ @@ -42,7 +42,7 @@ .if t .ds )Q \\(aa .if t .ds )G \\(ga .if t .ds )S \\| -.th CHGHIST 1 5/14/99 +.th CHGHIST 1 11/9/03 .sh NAME chghist \*- change the history entry of an SCCS delta .sh SYNOPSIS @@ -123,7 +123,7 @@ admin(1), get(1), delta(1), prt(1), -help(1), +sccshelp(1), sccsfile(5) .br .it "SCCS/PWB User's Manual" @@ -131,7 +131,7 @@ by L. E. Bonanni and A. L. Glasser. .ad .sh DIAGNOSTICS Use -.it help\c +.it sccshelp\c (1) for explanations. .tr ~~ diff --git a/man/man1/comb.1 b/man/man1/comb.1 index 059d941a..52f2ba04 100644 --- a/man/man1/comb.1 +++ b/man/man1/comb.1 @@ -1,4 +1,4 @@ -.\" @(#)comb.1 6.1 (Berkeley) 5/14/99 +.\" @(#)comb.1 6.2 (Berkeley) 11/9/03 .tr ~ .tr $% .if n .ds D " -- @@ -43,7 +43,7 @@ .if t .ds )Q \\(aa .if t .ds )G \\(ga .if t .ds )S \\| -.th COMB 1 5/14/99 +.th COMB 1 11/9/03 .sh NAME comb \*- combine SCCS deltas .sh SYNOPSIS @@ -144,14 +144,14 @@ get(1), delta(1), admin(1), prt(1), -help(1), +sccshelp(1), sccsfile(5), .it "SCCS/PWB User's Manual" by L. E. Bonanni and A. L. Glasser. .ad .sh DIAGNOSTICS Use -.it help\c +.it sccshelp\c (1) for explanations. .sh BUGS diff --git a/man/man1/compress.1 b/man/man1/compress.1 index 90af1274..eeb5f1bd 100644 --- a/man/man1/compress.1 +++ b/man/man1/compress.1 @@ -1,6 +1,6 @@ -.\" @(#)compress.1 6.5 (Berkeley) 5/11/86 +.\" @(#)compress.1 6.6 (Berkeley) 6/2/02 .\" -.TH COMPRESS 1 "May 11, 1986" +.TH COMPRESS 1 "June 2, 2002" .UC 6 .SH NAME compress, uncompress, zcat \- compress and expand data @@ -9,26 +9,21 @@ compress, uncompress, zcat \- compress and expand data .ll +8 .B compress [ -.B \-f -] [ -.B \-v -] [ -.B \-c +.B \-fvcs ] [ .B \-b .I bits ] [ +.B \-l +.I level +] [ .I "name \&..." ] .ll -8 .br .B uncompress [ -.B \-f -] [ -.B \-v -] [ -.B \-c +.B \-fvc ] [ .I "name \&..." ] @@ -76,7 +71,7 @@ The nondestructive behavior of .I zcat is identical to that of .I uncompress -.B \-c. +.BR \-c . .PP .I Compress uses the modified Lempel-Ziv algorithm popularized in @@ -110,7 +105,7 @@ the algorithm to adapt to the next "block" of the file. Note that the .B \-b flag is omitted for -.I uncompress, +.IR uncompress , since the .I bits parameter specified during compression @@ -118,7 +113,6 @@ is encoded within the output, along with a magic number to ensure that neither decompression of random data nor recompression of compressed data is attempted. .PP -.ne 8 The amount of compression obtained depends on the size of the input, the number of .I bits @@ -132,6 +126,79 @@ or adaptive Huffman coding .RI ( compact ), and takes less time to compute. .PP +If the +.B \-s +option is given, +instead of using the modified Lempel-Ziv algorithm described above (also known +as LZW for Lempel-Ziv-Welch), +.I compress +uses the original Lempel-Ziv algorithm (LZ77). +Instead of assigning an +.IR n -bit +code to each compressed away common substring, which very quickly burns up the +code space and causes a switch to longer less efficient codes, +.I compress +.B \-s +references common substrings by a {distance, length} pointer +in the data stream. +All symbols emitted into the compressed data stream (literals, distances, and +lengths) are Huffman coded. +Compared to the original +.I compress +LZW algorithm, this version of Lempel-Ziv compression, known as deflation, +is slower but generally produces a better compression ratio. +It is therefore termed strong compression. +.PP +The output of +.I compress +.B \-s +consists of a magic number, deflated data in the format defined in Internet +RFC 1951, and 8 check bytes recording CRC-32 and size in bytes of the original +file, used by +.I uncompress +for verification. +.PP +The +.B \-s +option is not needed for +.I uncompress +as it detects the strong compressed format by its magic number. +The +.B \-s +option does not change any other aspect of +.I compress +operation besides the compression algorithm, +nor does use on strong compressed data change any of the behavior of +.IR uncompress . +The +.B \-b +option is ignored with +.BR \-s . +.PP +A compression +.I level +may be specified with +.BR \-l . +It is a number between 0 and 9 telling +.I compress +how hard it should work to try to find and take advantage of all compression +opportunities. +Smaller numbers result in faster compression, but some compression +opportunities may be missed that would have been found and used with higher +compression levels, affecting the compression ratio. +The compression level is meaningful only for strong compression and is ignored +in the default LZW mode. +0 indicates no compression, just store the data in the RFC 1951 deflate format. +The default compression level is 6. +.PP +The +.B \-l +option is ignored by +.IR uncompress , +and the compression level is not stored in the compressed file, +as it does not affect the general format of the compressed data or the actions +required for decompression. +.PP The .B \-v option causes @@ -140,8 +207,8 @@ the printing of the percentage reduction of each file. If an error occurs, exit status is 1, else if the last file was not compressed because it became larger, the status is 2; else the status is 0. -.SH "DIAGNOSTICS" -Usage: compress [\-fvc] [\-b maxbits] [file ...] +.SH DIAGNOSTICS +Usage: compress [\-fvcs] [\-b maxbits] [\-l level] [file ...] .in +8 Invalid options were specified on the command line. .in -8 @@ -150,6 +217,11 @@ Missing maxbits Maxbits must follow .BR \-b \. .in -8 +Missing level +.in +8 +Level must follow +.BR \-l \. +.in -8 .IR file : not in compressed format .in +8 @@ -222,7 +294,7 @@ for more information. No savings is achieved by compression. The input remains virgin. .in -8 -.SH "BUGS" +.SH BUGS Although compressed files are compatible between machines with large memory, .BR \-b \12 should be used for file transfer to architectures with @@ -231,3 +303,5 @@ series, the Intel 80286, etc.) .PP .I compress should be more flexible about the existence of the `.Z' suffix. +.SH SEE ALSO +gzcompat(1) diff --git a/man/man1/date.1 b/man/man1/date.1 index b8ca6bf2..09c53ccc 100644 --- a/man/man1/date.1 +++ b/man/man1/date.1 @@ -2,15 +2,15 @@ .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" -.\" @(#)date.1 6.6 (Berkeley) 4/1/87 +.\" @(#)date.1 6.7 (Berkeley) 11/8/03 .\" -.TH DATE 1 "April 1, 1987" +.TH DATE 1 "November 8, 2003" .UC 4 .SH NAME date \- print and set the date .SH SYNOPSIS .B date -.RB "[-nu] [-d dst] [-t minutes_west] [yymmddhhmm [" . "ss] ]" +.RB "[-nu] [-d dst] [-t minutes_west] [yyyymmddhhmm [" . "ss] ]" .SH DESCRIPTION If no arguments are given, the current date and time are printed. Providing an argument will set the desired date; @@ -21,8 +21,8 @@ to \fIgettimeofday\fP(2) will return a non-zero \fItz_dsttime\fP. \fIMinutes_west\fP provides the number of minutes returned by future calls to \fIgettimeofday\fP(2) in \fItz_minuteswest\fP. The \fI-u\fP flag is used to display or set the date in GMT (universal) time. -.I yy -represents the last two digits of the year; +.I yyyy +is the year; the first .I mm is the month number; @@ -37,9 +37,9 @@ is the minute number; is optional and represents the seconds. For example: .IP -date 8506131627 +date 198506131627 .PP -sets the date to June 13 1985, 4:27 PM. The year, month and day may +sets the date to 1985-06-13, 16:27. The year, month and day may be omitted; the default values will be the current ones. The system operates in GMT. \fIDate\fP takes care of the conversion to and from local standard and daylight-saving time. diff --git a/man/man1/delta.1 b/man/man1/delta.1 index 6ab97062..19727521 100644 --- a/man/man1/delta.1 +++ b/man/man1/delta.1 @@ -1,4 +1,4 @@ -.\" @(#)delta.1 6.1 (Berkeley) 5/14/99 +.\" @(#)delta.1 6.2 (Berkeley) 11/9/03 .tr ~ .tr $% .if t .tr #\fB\(em\fP @@ -112,7 +112,7 @@ .if t .ds )Q \\(aa .if t .ds )G \\(ga .if t .ds )S \\| -.TH DELTA 1 "May 14, 1999" +.TH DELTA 1 "November 9, 2003" .SH NAME delta \(em make a delta (change) to an \s-1SCCS\s0 file .SH SYNOPSIS @@ -347,7 +347,7 @@ Omission of these keyletters causes an error to occur. get(1), admin(1), prs(1), -help(1), +sccshelp(1), sccsfile(5), bdiff(1) .br @@ -356,7 +356,7 @@ bdiff(1) by L. E. Bonanni and C. A. Salemi. .SH DIAGNOSTICS Use -.IR help\^ (1) +.IR sccshelp\^ (1) for explanations. .tr ~~ .tr $$ diff --git a/man/man1/ftp.1 b/man/man1/ftp.1 index 959a67bf..19281fe1 100644 --- a/man/man1/ftp.1 +++ b/man/man1/ftp.1 @@ -2,9 +2,9 @@ .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" -.\" @(#)ftp.1 6.9 (Berkeley) 6/27/88 +.\" @(#)ftp.1 6.10 (Berkeley) 6/12/03 .\" -.TH FTP 1C "April 29, 1985" +.TH FTP 1C "June 12, 2003" .UC 5 .SH NAME ftp \- ARPANET file transfer program @@ -167,6 +167,12 @@ If no directory is specified, the current working directory on the remote machine is used. If no local file is specified, or \fIlocal-file\fP is \fB-\fP, output comes to the terminal. +If only one argument is specified it is interpreted as +.IR remote-directory , +unless it starts with '|' or '>', in which case +it is interpreted as +.IR local-file . +(In the last case '>' is not part of the filename.) .TP .B disconnect A synonym for @@ -244,6 +250,12 @@ target local file for receiving output. If no local file is specified, or if \fIlocal-file\fR is \fB-\fR, the output is sent to the terminal. +If only one argument is specified it is interpreted as +.IR remote-directory , +unless it starts with '|' or '>', in which case +it is interpreted as +.IR local-file . +(In the last case '>' is not part of the filename.) .TP \fBmacdef\fP \fImacro-name\fP Define a macro. diff --git a/man/man1/get.1 b/man/man1/get.1 index ab731392..0b2ee114 100644 --- a/man/man1/get.1 +++ b/man/man1/get.1 @@ -1,4 +1,4 @@ -.\" @(#)get.1 6.1 (Berkeley) 5/14/99 +.\" @(#)get.1 6.2 (Berkeley) 11/9/03 .tr ~ .tr $% .if t .tr #\fB\(em\fP @@ -112,7 +112,7 @@ .if t .ds )Q \\(aa .if t .ds )G \\(ga .if t .ds )S \\| -.TH GET 1 "May 14, 1999" +.TH GET 1 "November 9, 2003" .SH NAME get \(em get a version of an \s-1SCCS\s+1 file .SH SYNOPSIS @@ -1384,14 +1384,14 @@ admin(1), delta(1), prs(1), what(1), -help(1), +sccshelp(1), sccsfile(5), .br .I "Source Code Control System User's Guide" by L. E. Bonanni and C. A. Salemi. .SH DIAGNOSTICS Use -.IR help\^ (1) +.IR sccshelp\^ (1) for explanations. .SH BUGS If the effective user has diff --git a/man/man1/gzcompat.1 b/man/man1/gzcompat.1 new file mode 100644 index 00000000..9072903e --- /dev/null +++ b/man/man1/gzcompat.1 @@ -0,0 +1,39 @@ +.\" @(#)gzcompat.1 6.1 (Berkeley) 6/12/03 +.\" +.TH GZCOMPAT 1 "June 12, 2003" +.UC 6 +.SH NAME +gzcompat \- convert between compress \-s and gzip formats +.SH SYNOPSIS +.B gzcompat +[ +.I name +] +.SH DESCRIPTION +.I Gzcompat +converts deflate-compressed data between +.I compress +\-s and +.I gzip +formats. +Input is taken from +.I name +if specified or from stdin otherwise. +The output is sent to stdout. +If the input is in +.I compress +\-s format, the output will be in +.I gzip +format. +If the input is in +.I gzip +format, the output will be in +.I compress +\-s format. +.SH SEE ALSO +compress(1) +.SH BUGS +.I Gzcompat +is a very clumsy solution for working with +.I gzip +files. diff --git a/man/man1/prt.1 b/man/man1/prt.1 index d25d4a4d..5155823f 100644 --- a/man/man1/prt.1 +++ b/man/man1/prt.1 @@ -1,4 +1,4 @@ -.\" @(#)prt.1 6.1 (Berkeley) 5/14/99 +.\" @(#)prt.1 6.2 (Berkeley) 11/9/03 .tr ~ .tr $% .if t .tr #\fB\(em\fP @@ -112,7 +112,7 @@ .if t .ds )Q \\(aa .if t .ds )G \\(ga .if t .ds )S \\| -.TH PRT 1 "May 14, 1999" +.TH PRT 1 "November 9, 2003" .SH NAME prt \(em print \s-1SCCS\s0 file .SH SYNOPSIS @@ -131,6 +131,7 @@ prt \(em print \s-1SCCS\s0 file .br .SP c [cutoff]] .SP r [rev-cutoff]] +.SF n file .ZZ .ad @@ -386,6 +387,15 @@ followed by a \fB:\fR, followed by a tab. This keyletter is effective only if the .B d keyletter is also specified (or assumed). +.AR n This +keyletter causes the delta table to be printed in a slightly different format +from that described above. +The same fields are printed in the same order, but instead of tabs they are +separated by a judiciously chosen number of spaces in order to display nicely +on the terminal. +This keyletter is effective only if the +.B d +keyletter is also specified (or assumed). .RE .PP If any keyletter but @@ -474,14 +484,14 @@ admin(1), get(1), delta(1), what(1), -help(1), +sccshelp(1), sccsfile(5) .br .I "Source Code Control System User's Guide" by L. E. Bonanni and C. A. Salemi. .SH DIAGNOSTICS Use -.IR help\^ (1) +.IR sccshelp\^ (1) for explanations. .tr ~~ .tr @@ diff --git a/man/man1/rmdel.1 b/man/man1/rmdel.1 index 99a55b91..7064c1c5 100644 --- a/man/man1/rmdel.1 +++ b/man/man1/rmdel.1 @@ -1,4 +1,4 @@ -.\" @(#)rmdel.1 6.1 (Berkeley) 5/14/99 +.\" @(#)rmdel.1 6.2 (Berkeley) 11/9/03 .tr ~ .if n .ds D " -- .if t .ds D _ @@ -42,7 +42,7 @@ .if t .ds )Q \\(aa .if t .ds )G \\(ga .if t .ds )S \\| -.th RMDEL 1 5/14/99 +.th RMDEL 1 11/9/03 .sh NAME rmdel \*- remove a delta from an SCCS file .sh SYNOPSIS @@ -111,7 +111,7 @@ z-file (see get(1), delta(1), prt(1), -help(1), +sccshelp(1), sccsfile(5) .br .it "SCCS/PWB User's Manual" @@ -119,7 +119,7 @@ by L. E. Bonanni and A. L. Glasser .br .sh DIAGNOSTICS Use -.it help\c +.it sccshelp\c (1) for explanations. .tr ~~ diff --git a/man/man1/sccs.1 b/man/man1/sccs.1 index 88c040cb..1df256d8 100644 --- a/man/man1/sccs.1 +++ b/man/man1/sccs.1 @@ -2,9 +2,9 @@ .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" -.\" @(#)sccs.1 2.5 (Berkeley) 5/12/86 +.\" @(#)sccs.1 2.6 (Berkeley) 11/9/03 .\" -.TH SCCS 1 "May 12, 1986" +.TH SCCS 1 "November 9, 2003" .UC 5 .SH NAME sccs \- front end for the \s-1SCCS\s0 subsystem @@ -303,7 +303,7 @@ chghist(SCCS), comb(SCCS), delta(SCCS), get(SCCS), -help(SCCS), +sccshelp(SCCS), prt(SCCS), rmdel(SCCS), sccsdiff(SCCS), diff --git a/man/man1/sccsdiff.1 b/man/man1/sccsdiff.1 index f8eca363..b1f6847c 100644 --- a/man/man1/sccsdiff.1 +++ b/man/man1/sccsdiff.1 @@ -1,4 +1,4 @@ -.\" @(#)sccsdiff.1 6.1 (Berkeley) 5/14/99 +.\" @(#)sccsdiff.1 6.2 (Berkeley) 11/9/03 .tr ~ .tr $% .if n .ds D " -- @@ -43,7 +43,7 @@ .if t .ds )Q \\(aa .if t .ds )G \\(ga .if t .ds )S \\| -.th SCCSDIFF 1 5/14/99 +.th SCCSDIFF 1 11/9/03 .sh NAME sccsdiff \*- compare two versions of an SCCS file .sh SYNOPSIS @@ -110,7 +110,7 @@ to discover how it works. .sh "SEE ALSO" .na get(1), -help(1), +sccshelp(1), pr(1), bdiff(1) .br @@ -119,7 +119,7 @@ by L. E. Bonanni and A. L. Glasser. .ad .sh DIAGNOSTICS Use -.it help\c +.it sccshelp\c (1) for explanations. .tr ~~ diff --git a/man/man1/sccshelp.1 b/man/man1/sccshelp.1 new file mode 100644 index 00000000..c4185918 --- /dev/null +++ b/man/man1/sccshelp.1 @@ -0,0 +1,70 @@ +.\" @(#)sccshelp.1 6.2 (Berkeley) 6/12/03 +.tr ~ +.th SCCSHELP 1 6/12/03 +.sh NAME +sccshelp \*- ask for help +.sh SYNOPSIS +.bd sccshelp +[arg]~... +.sh DESCRIPTION +.it Sccshelp +finds information to explain a message from an SCCS command or explain the use +of a command. +Zero or more arguments may be supplied. +If no arguments are given, +.it sccshelp +will prompt for one. +.s1 +The arguments may be either +message numbers (which normally appear in parentheses following messages) +or command names, +of one of the following types: +.s1 +.lp +20 10 +type~1 Begins with non-numerics, ends in numerics. +The non-numeric prefix is usually an abbreviation for the program or +set of routines which produced the message +(e.g., ``ge6'', for message 6 from the +.it get +command). +.s1 +.lp +20 10 +type~2 Does not contain numerics (as a command, such as +.it get +) +.s1 +.lp +20 10 +type~3 Is all numeric (e.g., ``212'') +.i0 +.s1 +The response of the program will be the explanatory information related +to the argument, if there is any. +.s1 +When all else fails, try ``sccshelp stuck''. +.sh FILES +The ASCII file searched for the explanatory information +for each type of argument is as follows: +.s1 +.lp +20 10 +.if n type~1 /usr/lib/help/``prefix-of-argument'' +.if t type~1 /usr/lib/help/\fIprefix-of-argument\fR +.s1 +.lp +20 10 +type~2 /usr/lib/help/cmds +.s1 +.lp +20 10 +type~3 /usr/lib/sccs.hf +.i0 +.s1 +If the file to be searched for either a type 1 or a type 2 +argument does not exist, the search will be attempted on the +file for the type 3 argument. +In no case, however, will more than one file be searched per argument. +.s1 +Anyone wishing to modify the files should list out portions +of them \*- the format will be obvious. +.sh DIAGNOSTICS +Use +.it sccshelp +for help. +.tr ~~ diff --git a/man/man1/what.1 b/man/man1/what.1 index e1d14d43..263d816e 100644 --- a/man/man1/what.1 +++ b/man/man1/what.1 @@ -1,5 +1,5 @@ -.\" @(#)what.1 6.1 (Berkeley) 5/14/99 -.TH WHAT 1 "May 14, 1999" +.\" @(#)what.1 6.2 (Berkeley) 11/9/03 +.TH WHAT 1 "November 9, 2003" .tr $% .SH NAME what \(em identify files @@ -68,10 +68,10 @@ is intended to be used in conjunction with the \*(S) command which automatically inserts identifying information, but it can also be used where the information is inserted manually. .SH "SEE ALSO" -get(1), help(1) +get(1), sccshelp(1) .SH DIAGNOSTICS Use -.IR help\^ (1) +.IR sccshelp\^ (1) for explanations. .SH BUGS It's possible that an unintended occurrence of the pattern diff --git a/man/man8/Makefile b/man/man8/Makefile index 36a27d8c..1a92241f 100644 --- a/man/man8/Makefile +++ b/man/man8/Makefile @@ -14,7 +14,7 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#)Makefile 5.6 (Berkeley) 9/29/99 +# @(#)Makefile 5.7 (Berkeley) 1/24/03 # MDIR= /usr/man/cat8 SRCS= XNSrouted.8 \ @@ -46,7 +46,7 @@ OBJS= XNSrouted.0 \ savecore.0 sendmail.0 shutdown.0 slattach.0 sticky.0 swapon.0 \ sync.0 syslogd.0 talkd.0 telnetd.0 tftpd.0 timed.0 timedc.0 trpt.0 \ trsp.0 tunefs.0 update.0 uucico.0 uuclean.0 uupoll.0 uusnap.0 \ - uuxqt.0 vipw.0 zdump.8 zic.8 + uuxqt.0 vipw.0 zdump.0 zic.0 LINKS= accton.0 umount.0 mkfs.0 quotaoff.0 uucpd.0 fasthalt.0 .SUFFIXES: .8 .0 diff --git a/man/man8/zdump.8 b/man/man8/zdump.8 new file mode 100644 index 00000000..7f5358cf --- /dev/null +++ b/man/man8/zdump.8 @@ -0,0 +1,42 @@ +.TH ZDUMP 8 +.SH NAME +zdump \- time zone dumper +.SH SYNOPSIS +.B zdump +[ +.B \-v +] [ +.B \-c +cutoffyear ] [ zonename ... ] +.SH DESCRIPTION +.I Zdump +prints the current time in each +.I zonename +named on the command line. +.PP +These options are available: +.TP +.B \-v +For each +.I zonename +on the command line, +print the current time, +the time at the lowest possible time value, +the time one day after the lowest possible time value, +the times both one second before and exactly at +each time at which the rules for computing local time change, +the time at the highest possible time value, +and the time at one day less than the highest possible time value. +Each line ends with +.B isdst=1 +if the given time is Daylight Saving Time or +.B isdst=0 +otherwise. +.TP +.BI "\-c " cutoffyear +Cut off the verbose output near the start of the given year. +.SH FILES +/etc/zoneinfo standard zone information directory +.SH "SEE ALSO" +newctime(3), tzfile(5), zic(8) +.. @(#)zdump.8 3.1 diff --git a/man/man8/zic.8 b/man/man8/zic.8 new file mode 100644 index 00000000..133d9c5f --- /dev/null +++ b/man/man8/zic.8 @@ -0,0 +1,294 @@ +.TH ZIC 8 +.SH NAME +zic \- time zone compiler +.SH SYNOPSIS +.B zic +[ +.B \-v +] [ +.B \-d +.I directory +] [ +.B \-l +.I localtime +] [ +.I filename +\&... ] +.SH DESCRIPTION +.I Zic +reads text from the file(s) named on the command line +and creates the time conversion information files specified in this input. +If a +.I filename +is +.BR \- , +the standard input is read. +.PP +These options are available: +.TP +.BI "\-d " directory +Create time conversion information files in the named directory rather than +in the standard directory named below. +.TP +.BI "\-l " timezone +Use the given time zone as local time. +.I Zic +will act as if the file contained a link line of the form +.sp +.ti +.5i +Link \fItimezone\fP localtime +.TP +.B \-v +Complain if a year that appears in a data file is outside the range +of years representable by +.IR time (2) +values. +.sp +Input lines are made up of fields. +Fields are separated from one another by any number of white space characters. +Leading and trailing white space on input lines is ignored. +An unquoted sharp character (#) in the input introduces a comment which extends +to the end of the line the sharp character appears on. +White space characters and sharp characters may be enclosed in double quotes +(") if they're to be used as part of a field. +Any line that is blank (after comment stripping) is ignored. +Non-blank lines are expected to be of one of three types: +rule lines, zone lines, and link lines. +.PP +A rule line has the form +.nf +.B +.ti +.5i +.ta \w'Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'TYPE\0\0'u +\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u +.sp +Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +.sp +For example: +.ti +.5i +.sp +Rule USA 1969 1973 \- Apr lastSun 2:00 1:00 D +.sp +.fi +The fields that make up a rule line are: +.TP "\w'LETTER/S'u" +.B NAME +Gives the (arbitrary) name of the set of rules this rule is part of. +.TP +.B FROM +Gives the first year in which the rule applies. +The word +.B minimum +(or an abbreviation) means the minimum year with a representable time value. +The word +.B maximum +(or an abbreviation) means the maximum year with a representable time value. +.TP +.B TO +Gives the final year in which the rule applies. +In addition to +.B minimum +and +.B maximum +(as above), +the word +.B only +(or an abbreviation) +may be used to repeat the value of the +.B FROM +field. +.TP +.B TYPE +Gives the type of year in which the rule applies. +If +.B TYPE +is +.B \- +then the rule applies in all years between +.B FROM +and +.B TO +inclusive; +if +.B TYPE +is +.BR uspres , +the rule applies in U.S. Presidential election years; +if +.B TYPE +is +.BR nonpres , +the rule applies in years other than U.S. Presidential election years. +If +.B TYPE +is something else, then +.I zic +executes the command +.ti +.5i +\fByearistype\fP \fIyear\fP \fItype\fP +.br +to check the type of a year: +an exit status of zero is taken to mean that the year is of the given type; +an exit status of one is taken to mean that the year is not of the given type. +.TP +.B IN +Names the month in which the rule takes effect. +Month names may be abbreviated. +.TP +.B ON +Gives the day on which the rule takes effect. +Recognized forms include: +.nf +.in +.5i +.sp +.ta \w'Sun<=25\0\0'u +5 the fifth of the month +lastSun the last Sunday in the month +lastMon the last Monday in the month +Sun>=8 first Sunday on or after the eighth +Sun<=25 last Sunday on or before the 25th +.fi +.in -.5i +.sp +Names of days of the week may be abbreviated or spelled out in full. +Note that there must be no spaces within the +.B ON +field. +.TP +.B AT +Gives the time of day at which the rule takes effect. +Recognized forms include: +.nf +.in +.5i +.sp +.ta \w'1:28:13\0\0'u +2 time in hours +2:00 time in hours and minutes +15:00 24-hour format time (for times after noon) +1:28:14 time in hours, minutes, and seconds +.fi +.in -.5i +.sp +Any of these forms may be followed by the letter +.B w +if the given time is local ``wall clock'' time or +.B s +if the given time is local ``standard'' time; in the absence of +.B w +or +.BR s , +wall clock time is assumed. +.TP +.B SAVE +Gives the amount of time to be added to local standard time when the rule is in +effect. +This field has the same format as the +.B AT +field +(although, of course, the +.B w +and +.B s +suffixes are not used). +.TP +.B LETTER/S +Gives the ``variable part'' (for example, the ``S'' or ``D'' in ``EST'' +or ``EDT'') of time zone abbreviations to be used when this rule is in effect. +If this field is +.BR \- , +the variable part is null. +.PP +A zone line has the form +.sp +.nf +.ti +.5i +.ta \w'Zone\0\0'u +\w'Australia/South\-west\0\0'u +\w'GMTOFF\0\0'u +\w'RULES/SAVE\0\0'u +\w'FORMAT\0\0'u +Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] +.sp +For example: +.sp +.ti +.5i +Zone Australia/South\-west 9:30 Aus CST 1987 Mar 15 2:00 +.sp +.fi +The fields that make up a zone line are: +.TP "\w'GMTOFF'u" +.B NAME +The name of the time zone. +This is the name used in creating the time conversion information file for the +zone. +.TP +.B GMTOFF +The amount of time to add to GMT to get standard time in this zone. +This field has the same format as the +.B AT +and +.B SAVE +fields of rule lines; +begin the field with a minus sign if time must be subtracted from GMT. +.TP +.B RULES/SAVE +The name of the rule(s) that apply in the time zone or, +alternately, an amount of time to add to local standard time. +If this field is +.B \- +then standard time always applies in the time zone. +.TP +.B FORMAT +The format for time zone abbreviations in this time zone. +The pair of characters +.B %s +is used to show where the ``variable part'' of the time zone abbreviation goes. +.B UNTIL +The time at which the GMT offset or the rule(s) change for a location. +It is specified as a year, a month, a day, and a time of day. +If this is specified, +the time zone information is generated from the given GMT offset +and rule change until the time specified. +.IP +The next line must be a +``continuation'' line; this has the same form as a zone line except that the +string ``Zone'' and the name are omitted, as the continuation line will +place information starting at the time specified as the +.B UNTIL +field in the previous line in the file used by the previous line. +Continuation lines may contain an +.B UNTIL +field, just as zone lines do, indicating that the next line is a further +continuation. +.PP +A link line has the form +.sp +.nf +.ti +.5i +.if t .ta \w'Link\0\0'u +\w'LINK-FROM\0\0'u +.if n .ta \w'Link\0\0'u +\w'US/Eastern\0\0'u +Link LINK-FROM LINK-TO +.sp +For example: +.sp +.ti +.5i +Link US/Eastern EST5EDT +.sp +.fi +The +.B LINK-FROM +field should appear as the +.B NAME +field in some zone line; +the +.B LINK-TO +field is used as an alternate name for that zone. +.PP +Except for continuation lines, +lines may appear in any order in the input. +.SH NOTE +For areas with more than two types of local time, +you may need to use local standard time in the +.B AT +field of the earliest transition time's rule to ensure that +the earliest transition time recorded in the compiled file is correct. +.SH FILES +/etc/zoneinfo standard directory used for created files +.SH "SEE ALSO" +newctime(3), tzfile(5), zdump(8) +.. @(#)zic.8 3.1 diff --git a/qjchanges.txt b/qjchanges.txt new file mode 100644 index 00000000..ed16091c --- /dev/null +++ b/qjchanges.txt @@ -0,0 +1,198 @@ + + + + + + + + + + Bug Fixes and Changes in 4.3BSD-Quasijarus + + December 4, 2003 + + + Michael Sokolov + + Quasijarus Project + International Free Computing Task Force + http://ifctfvax.Harhan.ORG/Quasijarus/ + + + ABSTRACT + + This document briefly describes the changes + to the Berkeley version of UNIX+ for the VAX| made + by Quasijarus Project in each successive 4.3BSD- + Quasijarus release up to the present. It attempts + only to summarize the major changes that have been + made. There are many more minor changes. + + + + 4.3BSD-Quasijarus0a changes + + +o SCCS commands are now part of the standard system. + +o The MicroVAX bootblock has been added to the standard + distribution tape. Since it must reside at the begin- + ning of the tape, the original toggle-in bootstraps + have been moved two blocks down. + +o Franz Lisp has been separated from the main system. + +o Jean-loup Gailly's zlib compression library (-lz) has + been included in the standard system. + +o -s option has been added to compress(1) to use strong + compression instead of the standard compress algorithm + (also known as LZW). + +o Several new MSCP disks have been added to the distri- + buted /etc/disktab and to the compiled-in disk tables + in the uda(4) driver. + ++ UNIX is a registered trademark of AT&T Bell Labora- +tories in the USA and other countries. +| DEC, VAX, PDP, MASSBUS, UNIBUS, Q-bus and ULTRIX are +trademarks of Digital Equipment Corporation. + + + + + December 4, 2003 + + + + + +SMM:23-2 Bug Fixes and Changes in 4.3BSD-Quasijarus + + +o Kdb(4) driver now uses the same partitions as uda(4) on + the same disks. + +o The kernel and the standalone system have been taught + that VAXBI KLESI (TU81 controller) is actually a UNIBUS + adapter with a UNIBUS KLESI sitting behind it, which + DEC apparently doesn't want you to know, instantly + gaining full support for this device. + +o Added Makefile support for building a distribution con- + sole RL02 pack for VAX 8600 and 8650 machines, so that + one can be supplied to sites cold-bootstrapping UNIX on + such a machine. + +o The protocol used by dmc(4) and dmv(4) drivers has been + standardized to MTU of 1284 bytes, 8 garbage bytes + present. This is the protocol used 4.3BSD dmc(4) and + Ultrix dmc(4) and dmv(4), i.e., by all existing stable + releases. + +o The ``mini root'' file system used in the full + bootstrap procedure has been increased from 2 to 3 + megabytes. + +o The troff(1) sources for the supplementary documents + have been moved from /usr/doc to /usr/src/doc. + +o The system headers are now copied rather than symlinked + from /sys to /usr/include by default, so that the sys- + tem can still be used operationally, including compil- + ing user programs when the sources are not installed. + + + 4.3BSD-Quasijarus0b changes + + +o Y2K fixes throughout the system. + +o Fix for a critical bug in c2, the peephole optimiser, + which caused it under certain circumstances to throw + out instructions loading registers which were later + used in deferred or indexed addressing modes. The + resulting misoptimised code thus dereferenced bogus + addresses, dumping core or even worse, behaving + unpredictably. Many other minor bugs have also been + fixed in c2. Since all system binaries are compiled + with -O this potentially affects every binary in the + system. + +o As(1) now automatically chooses between byte branches, + word branches, and long jumps, and ignores the -J + option. It now also provides relaxed forms of SOB, + AOB, and ACB instructions, which are now used by c2. + + + + + December 4, 2003 + + + + + +Bug Fixes and Changes in 4.3BSD-Quasijarus SMM:23-3 + + +o Cc(1) -J option causes switch tables to be generated in + long form like on Sun3. + +o A number of tables have been enlarged in the C compiler + and preprocessor. + +o When emulating CRC, MATCHC, and MOVTUC instructions on + uVAXen the registers and condition codes were being set + incorrectly in some corner cases. This has been fixed. + +o A security hole in kernel affecting VAX CPUs without + PDP-11 compatibility mode support (uVAXen and VAX 8200) + has been plugged. The hole allowed any ordinary + unprivileged user who is able to run programs on the + machine to cause a kernel panic by giving PSL=1 to + the sigreturn(2) system call. + +o A kernel panic-causing bug in TCP has been fixed. The + kernel could panic if a setsockopt(2) was attempted on + a TCP socket that had its connection reset. Fix from + 4.4BSD. + +o Support for DEC DSV11 point-to-point links using Cisco + HDLC protocol. + +o Sendmail cf files: the prophecy has come true. + HOSTS.TXT is gone, everyone uses DNS, and there are no + more NIC-registered hosts to worry about. + +o Several new MSCP disks have been added to the distri- + buted /etc/disktab and to the compiled-in disk tables + in the uda(4) and kdb(4) drivers. + +o The MicroVAX boot code no longer requires the boot disk + to be unit 0. It must still be on the first MSCP con- + troller, though. + +o An RX50 console floppy is now available for the stan- + dard system to bootstrap on a VAX 8200. + + + + + + + + + + + + + + + + + + + December 4, 2003 + + diff --git a/setup.txt b/setup.txt new file mode 100644 index 00000000..8ec637db --- /dev/null +++ b/setup.txt @@ -0,0 +1,6477 @@ + + + + + + + + + + Installing and Operating 4.3BSD-Quasijarus UNIX* + on the VAX| + November 18, 2003 + + + Michael J. Karels + + Chris Torek + + James M. Bloom + + Marshall Kirk McKusick + + Samuel J. Leffler + + William N. Joy + + Computer Systems Research Group + Department of Electrical Engineering and Computer Science + University of California, Berkeley + Berkeley, California 94720 + (415) 642-7780 + + + Michael Sokolov + + Quasijarus Project + International Free Computing Task Force + http://ifctfvax.Harhan.ORG/Quasijarus/ + + + ABSTRACT + + + This document contains instructions for the + installation and operation of the 4.3BSD- + Quasijarus release of the VAX UNIX system, as dis- + tributed by Quasijarus Consortium. + + It discusses procedures for installing UNIX + on a new VAX, and for upgrading an existing 4.2BSD + or 4.3BSD VAX UNIX system to the new release. An + explanation of how to lay out file systems on + available disks, how to set up terminal lines and + user accounts, and how to do system-specific + +*UNIX is a register trademark of AT&T in the USA and +other countries. ++DEC, VAX, IDC, SBI, UNIBUS and MASSBUS are trademarks +of Digital Equipment Corporation. + + + + + December 6, 2003 + + + + + +SMM:1-2lling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + tailoring is provided. A description of how to + install and configure the networking facilities + included with 4.3BSD-Quasijarus is included. + Finally, the document details system operation + procedures: shutdown and startup, hardware error + reporting and diagnosis, file system backup pro- + cedures, resource control, performance monitoring, + and procedures for recompiling and reinstalling + system software. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX-3 + + + 1. INTRODUCTION + + + + This document explains how to install the 4.3BSD- +Quasijarus release of the Berkeley version of UNIX for the +VAX on your system. Because of the file system organization +used in 4.3BSD-Quasijarus, if you are not currently running +4.2BSD or 4.3BSD you will have to do a full bootstrap from +the distribution tape. The procedure for performing a full +bootstrap is outlined in chapter 2. The process includes +booting standalone utilities from tape to format a disk if +necessary, then to copy a small root filesystem image onto a +swap area. This filesystem is then booted and used to +extract a dump of a standard root filesystem. Finally, that +root filesystem is booted, and the remainder of the system +binaries and sources are read from the archives on the +tape(s). + + The technique for upgrading a 4.2BSD or 4.3BSD system +is described in chapter 3 of this document. As 4.3BSD- +Quasijarus is upward-compatible with 4.2BSD, the upgrade +procedure involves extracting a new set of system binaries +onto new root and /usr filesystems. The sources are then +extracted, and local configuration files are merged into the +new system. 4.2BSD and 4.3BSD user filesystems may be +upgraded in place, and 4.2BSD and 4.3BSD binaries may be +used with 4.3BSD-Quasijarus in the course of the conversion. +It is desirable to recompile most local software after the +conversion, as there are many changes and performance +improvements in the standard libraries. + +1.1. Hardware supported + + Note that some VAX models are identical to others in +all respects except speed. The VAX 8650 will be hereafter +referred to as a VAX 8600; likewise, the VAX 8250 will be +referred to as a VAX 8200, the VAX-11/785 as an 11/780, and +the 11/725 as an 11/730. These names are sometimes shor- +tened to ``8600,'' ``8200,'' ``780,'' ``750,'' and ``730.'' +MicroVAXen are often referred to by their CPU board names, +i.e., KA630 for MicroVAX II, KA650 for MicroVAX 3, and KA655 +for MicroVAX 3+. + + This distribution can be booted on a VAX 8600, VAX +8200, VAX-11/780, VAX-11/750, VAX-11/730, or MicroVAX +II/3/3+ cpu with at least 2 megabytes of memory, and any of +the following disks: + + + + + + + + + + December 6, 2003 + + + + + +SMM:1-4lling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + + + DEC MASSBUS: RM03, RM05, RM80, RP06, RP07 + EMULEX MASSBUS: AMPEX Capricorn, 9300, CDC 9766, 9775, + FUJITSU 2351 Eagle, 2361* + DEC UNIBUS: RK07, RL02, RA??*, RC25 + EMULEX SC-21V, SC-31 AMPEX DM980, Capricorn, 9300, + UNIBUS*: CDC 9762, 9766, FUJITSU 160M, 330M + EMULEX SC-31 UNIBUS*: FUJITSU 2351 Eagle + DEC IDC: R80, RL02 + DEC BI: RA??* + DEC QBUS: RD53, RD54, RA??*, RF??* + + + + The tape drives supported by this distribution are: + + + DEC MASSBUS: TE16, TU45, TU77, TU78 + EMULEX MASSBUS: TC-7000 + DEC UNIBUS: TS11, TU80, TU81+ + EMULEX TC-11, AVIV UNIBUS: KENNEDY 9300, STC, CIPHER + TU45 UNIBUS: SI 9700 + DEC BI: TU81+ + DEC QBUS: TK50, TK70, TU80, TU81+ + + + + The tapes and disks may be on any available UNIBUS or +MASSBUS adapter at any slot. + + This distribution does not support the DEC CI780 or the +HSC50 disk controller. As such, this distribution will not +boot on the standard VAX 8600 cluster configurations. You +will need to configure your system to use only UNIBUS, +MASSBUS, and BI bus disk and tape devices. In addition, +only 9-track (TU81) tapes are supported on VAXBI, TK50 and +TK70 are not. BI Ethernet and terminal controllers are not +supported either, for this reason, although it can be + +* Other compatible UNIBUS controllers and drives may be +easily usable with the system, but may require minor +modifications to the system to allow bootstrapping. +The EMULEX disk and SI tape controllers, and the drives +shown here are known to work as bootstrap devices. +Known RA drives are RA60, RA7[0123], RA8[012], and +RA9[02]. Known RF drives are RF3[0156] and RF7[1234]. +Other SMD and MSCP drives may be used once pack labels +are written, but bootstrapping will be a problem since +the procedure currently relies on compiled-in disk +tables. ++ The TU81 support is untested but is identical to the +TK50 code. + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX-5 + + +bootstrapped, a VAX 8200 without a UNIBUS would not be very +useful. + +1.2. Distribution format + + The basic distribution is available in the following +formats: + + * 1600bpi 9-track 2400' magnetic tapes (2) + * 6250bpi 9-track 2400' magnetic tape (1) + * TK50 tape cartridge (1) + +The following console media are available for VAX processors +that use them: + + * RX01 console floppy disk for 11/780 + * TU58 console cassette for 11/750 and 11/730 + * RX50 console floppy disk for 8200 + * RL02 console pack for 8600 + +Installation on any machine requires a tape unit. Since cer- +tain standard VAX packages do not include a tape drive, this +means one must either borrow one from another VAX system or +one must be purchased separately. The console media distri- +buted with the system are not suitable for use as opera- +tional console media for 11/780, 11/730 and 8600 processors +because they do not contain CPU microcode or front end pro- +cessor code. Their intended use is only for installation. + + The distribution does not fit on several standard VAX +configurations that contain only small disks. If your +hardware configuration does not provide at least 75 Mega- +bytes of disk space you can still install the distribution, +but you will probably have to operate without source for the +user level commands and, possibly, the source for the +operating system. The RK07-only distribution format once +provided by our group is no longer available. Further, no +attempt has ever been made to install the system on the +standard VAX-11/730 hardware configuration from DEC that +contains only dual RL02 disk drives (though the distribution +tape may be bootstrapped on an RL211 controller and the sys- +tem provides support for RL02 disk drives either on an IDC +or an RL211). The labels on the distribution tape(s) show +the amount of disk space each tape file occupies, these +should be used in selecting file system layouts on systems +with little disk space. + + If you have the facilities, it is a good idea to copy +the magnetic tape(s) in the distribution kit to guard +against disaster. The tapes contain some 512-byte records +followed by many 10240-byte records. There are interspersed +tape marks; end-of-tape is signaled by a double end-of-file. +The first file on the tape contains preliminary bootstrap- +ping programs. This is followed by a binary image of a 3 + + + + December 6, 2003 + + + + + +SMM:1-6lling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +megabyte ``mini root'' file system. Following the mini root +file is a full dump of the root file system (see dump(8)*). +Additional files on the tape(s) contain tape archive images +(see tar(1)). See Appendix A for a description of the con- +tents and format of the tape(s). + +1.3. VAX hardware terminology + + This section gives a short discussion of VAX hardware +terminology to help you get your bearings. + + If you have MASSBUS disks and tapes it is necessary to +know the MASSBUS that they are attached to, at least for the +purposes of bootstrapping and system description. The +MASSBUSes can have up to 8 devices attached to them. A disk +counts as a device. A tape formatter counts as a device, +and several tape drives may be attached to a formatter. If +you have a separate MASSBUS adapter for a disk and one for a +tape then it is conventional to put the disk as unit 0 on +the MASSBUS with the lowest ``TR'' number, and the tape for- +matter as unit 0 on the next MASSBUS. On a 11/780 this +would correspond to having the disk on ``mba0'' at ``tr8'' +and the tape on ``mba1'' at ``tr9''. Here the MASSBUS +adapter with the lowest TR number has been called ``mba0'' +and the one with the next lowest number is called ``mba1''. + + To find out the MASSBUS that your tape and disk are on +you can examine the cabling and the unit numbers or your +site maintenance guide. Do not be fooled into thinking that +the number on the front of the tape drive is a device +number; it is a slave number, one of several possible tapes +on the single tape formatter. For bootstrapping, the slave +number must be 0. The formatter unit number may be anything +distinct from the other numbers on the same MASSBUS, but you +must know what it is. + + The MASSBUS devices are known by several different +names by DEC software and by UNIX. At various times it is +necessary to know both names. There is, of course, the name +of the device like ``RM03'' or ``RM80''; these are easy to +remember because they are printed on the front of the dev- +ice. DEC also names devices based on the driver name in the +system using a convention that reflects the interconnect +topology of the machine. The first letter of such a name is +a ``D'' for a disk, the second letter depends on the type of +the drive, ``DR'' for RM03, RM05, and RM80's, ``DB'' for +RP06's. The next letter is related to the interconnect; DEC +calls the first MASSBUS or UNIBUS adapter ``A'', the second +``B'', etc. Thus, ``DRA'' is an RM drive on the first +MASSBUS adapter. Finally, the name ends in a digit + +* References of the form X(Y) mean the subsection named +X in section Y of the UNIX programmer's manual. + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX-7 + + +corresponding to the unit number for the device on the +MASSBUS: e.g., ``DRA0'' is a disk at the first device slot +on the first MASSBUS adapter and is an RM disk. + +1.4. UNIX device naming + + UNIX has a set of names for devices which are different +from the DEC software names for the devices. The following +table lists both the DEC and UNIX names for the supported +devices: + + + Hardware UNIX DEC + + + RM disks hp DR + RP disks hp DB + MASSBUS TE/TU tapes ht MT + TU78 tape mt MF + RK disks hk DM + RL disks rl DL + TS tapes ts MS + UDA disks ra DU + RC25 disks ra DU + IDC disks rb DQ + UNIBUS SMD disks up + TM tapes tm + TMSCP tapes tms MU + UNIBUS TU tapes ut + BI KDB disks kra DU + + +Here UNIBUS SMD disks are disks on an RM-emulating con- +troller on the UNIBUS, and TM tapes are tapes on a con- +troller that emulates the DEC TM11. UNIBUS TU tapes are +tapes on a UNIBUS controller that emulates the DEC TU45. +IDC disks are disks on an 11/730 Integral Disk Controller. +TS tapes are tapes on a controller compatible with the DEC +TS11 (e.g. a TU80). TMSCP tapes include the TU81 and TK50. + + The normal standalone system, used to bootstrap the +full UNIX system, uses device names: + + xx(a,c,d,p) + +where xx is any of the UNIX device names in the table above. +The parameters a, c, and d are the adapter, controller, and +drive numbers respectively. The adapter is the index number +of the MASSBUS or UNIBUS (with the first one found as number +0). The controller (or ``device'') number is the index +number of the device on that adapter. The drive number is +the index of the disk drive on that controller (or, for +MASSBUS tapes, of the formatter). The p value is inter- +preted differently for tapes and disks: for disks it is a +disk partition (in the range 0-7); for tapes it is a file + + + + December 6, 2003 + + + + + +SMM:1-8lling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +number on the tape.* For example, partition 7 of drive 2 on +an RA81 connected to the only UDA50 on UNIBUS 1 would be +``ra(1,0,2,7)''. Normally, the adapter and controller will +both be 0; it may therefore be omitted from the device +specification, and most of the examples in this document do +so. When not running standalone, this partition would nor- +mally be available as ``/dev/ra2g''. Here the prefix +``/dev'' is the name of the directory where all ``special +files'' normally live, the ``ra'' serves the obvious pur- +pose, the ``2'' identifies this as a partition of hp drive +number ``2'' and the ``g'' identifies this as the seventh +partition. + + On the VAX 8200, the adapter numbering is controlled by +the ordering of the nodes on the BI; the BI is probed from +low node numbers towards high. Hence if there are two KDB50 +adapters, one at node 4, and one at node 7, the one at node +4 is kdb0, and the one at node 7 is kdb1. The numbering for +UNIBUS adapters works similarly. Usually, the first UNIBUS +on an 8200 is at node 0; you will need this node number to +boot from tape. Although DEC apparently doesn't want you to +know this, BI KLESI (TU81 controller) is actually a UNIBUS +adapter with a UNIBUS KLESI behind it. Unlike DEC software +UNIX treats it as a regular UNIBUS adapter, and it must be +taken into account when counting UNIBUS adapters. Other VAX +models do not permit such chaotic ordering of adapters. + + In all simple cases, where only a single controller is +present, a drive with unit number 0 (in its unit plug on the +front of the drive) will be called unit 0 in its UNIX file +name. This is not, however, strictly necessary, since the +system has a level of indirection in this naming. If there +are multiple controllers, the disk unit numbers will nor- +mally be counted sequentially across controllers. This can +be taken advantage of to make the system less dependent on +the interconnect topology, and to make reconfiguration after +hardware failure extremely easy. + + Each UNIX physical disk is divided into at most 8 logi- +cal disk partitions, each of which may occupy any consecu- +tive cylinder range on the physical device. The cylinders +occupied by the 8 partitions for each drive type are speci- +fied initially in the disk description file /etc/disktab +(c.f. disktab(5)). The partition information and descrip- +tion of the drive geometry are written in the first sector +of each disk with the disklabel(8) program; currently, this +is possible on hp and ra disks, but not on the other types +of disks on the VAX. Each partition may be used for either + +* Note that while a tape file consists of a single data +stream, the distribution tape(s) have data structures +in these files. Although the tape(s) contain only 6 +tape files, they comprise several thousand UNIX files. + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX-9 + + +a raw data area such as a paging area or to store a UNIX +file system. It is conventional for the first partition on +a disk to be used to store a root file system, from which +UNIX may be bootstrapped. The second partition is tradi- +tionally used as a paging area, and the rest of the disk is +divided into spaces for additional ``mounted file systems'' +by use of one or more additional partitions. + + The third logical partition of each physical disk also +has a conventional usage: it allows access to the entire +physical device, in many cases including bad sector forward- +ing information recorded at the end of the disk (one track +plus 126 sectors). It is occasionally used to store a sin- +gle large file system or to access the entire pack when mak- +ing a copy of it on another. Care must be taken if using +this partition not to overwrite the last few tracks and +thereby clobber the bad sector information. Note that the +sector containing the disk label is normally write-protected +so that it is not accidentally overwritten. Pack-to-pack +copies should normally skip the first 16 sectors of a pack, +which contain the label and the initial bootstrap for some +processors. + +1.5. UNIX devices: block and raw + + UNIX makes a distinction between ``block'' and ``raw'' +(character) devices. Each disk has a block device interface +where the system makes the device byte addressable and you +can write a single byte in the middle of the disk. The sys- +tem will read out the data from the disk sector, insert the +byte you gave it and put the modified data back. The disks +with the names ``/dev/xx0a'', etc are block devices. There +are also raw devices available. These have names like +``/dev/rxx0a'', the ``r'' here standing for ``raw''. Raw +devices bypass the buffer cache and use DMA directly to/from +the program's I/O buffers; they are normally restricted to +full-sector transfers. In the bootstrap procedures we will +often suggest using the raw devices, because these tend to +work faster. Raw devices are used when making new filesys- +tems, when checking unmounted filesystems, or for copying +quiescent filesystems. The block devices are used to mount +file systems, or when operating on a mounted filesystem such +as the root. + + You should be aware that it is sometimes important +whether to use the character device (for efficiency) or not +(because it wouldn't work, e.g. to write a single byte in +the middle of a sector). Don't change the instructions by +using the wrong type of device indiscriminately. + + + + + + + + + December 6, 2003 + + + + + +SMM:1-10ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + 2. BOOTSTRAP PROCEDURE + + + + This section explains the bootstrap procedure that can +be used to get the kernel supplied with this distribution +running on your machine. If you are not currently running +4.2BSD or 4.3BSD you will have to do a full bootstrap. +Chapter 3 describes how to upgrade an existing 4.2BSD or +4.3BSD system. programs. An understanding of the opera- +tions used in a full bootstrap is very helpful in performing +an upgrade as well. In either case, it is highly desirable +to read and understand the remainder of this document before +proceeding. + +2.1. Converting pre-4.2BSD Systems + + The file system format was changed between 3BSD and +4.0BSD, and again between 4.1BSD and 4.2BSD. At a minimum +you will have to dump any old file systems, and then restore +them onto the 4.3BSD-Quasijarus file system. Sites running +3BSD or 32/V may be able to modify the restore program to +understand the old 512 byte block file system, but this has +never been tried. The dump format used in 4.0BSD and 4.1BSD +is backward-compatible with that used in 4.3BSD-Quasijarus +(which is unchanged from 4.2BSD). That is, the 4.3BSD- +Quasijarus restore program understands how to read 4.0BSD +and 4.1BSD dump tapes, although 4.3BSD-Quasijarus dump tapes +cannot be restored under 4.0BSD or 4.1BSD. It is also +desirable to make a convenient copy of system configuration +files for use as guides when setting up the new system; the +list of files to save from 4.2BSD systems in chapter 3 may +be used as a guideline. + + The first step is to dump your file systems with +dump(8). For the utmost of safety this should be done to +magtape. However, if you enjoy gambling with your life (or +you have a VERY friendly user community) and you have enough +disk space, you can try converting your file systems while +copying to a new disk partition by piping the output of dump +directly into restore after bringing up 4.3BSD-Quasijarus. +If you select the latter tack, a version of the 4.1BSD dump +program that runs under 4.3BSD-Quasijarus is provided in +/etc/dump.4.1. Beware that file systems created under +4.3BSD-Quasijarus can use about 5-10% more disk space for +file system related information than under 4.1BSD. Thus, +before dumping each file system it is a good idea to remove +any files that may be easily regenerated. Since all pro- +grams should be recompiled under the new system, your best +bet is to remove any object files. File systems with at +least 10% free space on them should restore into an +equivalently sized 4.3BSD-Quasijarus file system without +problem. + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX11 + + +2.2. Booting from tape + + The tape bootstrap procedure used to create a working +system involves the following major steps: + +1) Format a disk pack with the format program. + +2) Copy a ``mini root'' file system from the tape onto the + swap area of the disk. + +3) Boot the UNIX system on the ``mini root''. + +4) Restore the full root file system using restore(8). + +5) Build a console floppy, cassette, or RL02 pack for + bootstrapping. + +6) Reboot the completed root file system. + +7) Label the disks with the disklabel(8) program. + +8) Build and restore the /usr file system from tape with + tar(1). + +9) Extract the system and utility files and contributed + software as desired. + + Certain of these steps are dependent on your hardware +configuration. Formatting the disk pack used for the root +file system may require using the DEC standard formatting +programs. Also, if you are bootstrapping the system on an +11/750, no console cassette is usually required. + + Bootstrapping an 8600 is a bit more difficult than +bootstrapping the other machines. The procedures for load- +ing the toggle program and reading the tape bootstrap moni- +tor described in Appendix B must be used if you do not have +access to a console RL02 pack with a UNIX bootstrap. Such a +pack may be made on an 8600 already running UNIX, or on +another 4.3BSD-Quasijarus system with an RL02 drive using +the procedures in 4.1.1. One may be required to enter the +toggle program more than once. After the bootstrap monitor +is loaded, device addresses will be the same as if the +machine were an 11/780. UNIBUS and MASSBUS adaptors are +numbered from zero across both SBIA's (if present). + + The following sections describe the above steps in +detail. In these sections references to disk drives are of +the form xx(n,m) and references to files on tape drives are +of the form yy(n,m) where xx and yy are names described in +section 1.4 and n and m are the unit and offset numbers +described in section 1.4. Commands you are expected to type +are shown in italics, while that information printed by the +system is shown emboldened. These instructions were + + + + December 6, 2003 + + + + + +SMM:1-12ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +originally written for large VAXen that use console media. +MicroVAXen have no console media, if you are bootstrapping a +MicroVAX, see Appendix B. + + Throughout the installation steps the reboot switch on +a 780 or 730 should be set to off; on an 8600 or 750 set the +power-on action to halt. (In normal operation a 780 or 730 +will have the reboot switch on and an 8600 or 750 will have +the power-on action set to reboot/restart.) On an 8200 the +keyswitches should be set to Enable/Update for bootstrapping +and maintenance (Secure/Autostart in normal operation); on a +MicroVAX II the switch on the rear I/O panel should be +turned up to enable halts (halts are disabled in normal +operation). + + If you encounter problems while following the instruc- +tions in this part of the document, refer to Appendix C for +help in troubleshooting. + +2.2.1. Step 1: formatting the disk + + All disks used with 4.3BSD-Quasijarus should be format- +ted to insure the proper handling of physically corrupted +disk sectors. If you have DEC disk drives, you should use +the standard DEC formatter to format your disks. If not, +the format program included in the distribution, or a vendor +supplied formatting program, may be used to format disks. +The format program is capable of formatting any of the fol- +lowing supported distribution devices: + + + EMULEX MASSBUS: AMPEX Capricorn, 9300, CDC 9766, 9775, + FUJITSU 330M, 2351 Eagle + EMULEX SC-21V, SC-31 AMPEX 9300, Capricorn, CDC 9730, 9766, + UNIBUS: FUJITSU 160M, 330M + EMULEX SC-31 UNIBUS: FUJITSU 2351 Eagle + + + + The format program is for hp/up SMD disks only. MSCP +disks usually do not require formatting. If you need to +format an MSCP disk, you will need to use formatting utili- +ties provided by the drive or controller vendor, format will +not help you. + + If you have run a pre-4.1BSD version of UNIX on the +packs you are planning to use for bootstrapping it is likely +that the bad sector information on the packs has been des- +troyed, since it was accessible as normal data in the last +several tracks of the disk. You should therefore run the +formatter again to make sure the information is valid. + + On an 11/750, to use a disk pack as a bootstrap device, +sectors 0 through 15, the disk sectors in the file ``/boot'' + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX13 + + +(the program that loads the system image), and the file sys- +tem indices that lead to this file must not have any errors. +On an 8600, 11/780, or 11/730, the ``boot'' program is +loaded from the console medium and includes device drivers +for the ``hp'' and ``up'' disks that do ECC correction and +bad sector forwarding; consequently, on these machines the +system may be bootstrapped on these disks even if the disk +is not error free in critical locations. In general, if the +first 15884 sectors of your disk are clean you are safe; if +not you can take your chances. + + To load the format program, insert the distribution +TU58 cassette or RX01 floppy disk in the appropriate console +device (on the 11/730 use cassette 0) and do the following +steps. + + If you have an 8600 and no RL02 pack with UNIX stan- +dalone programs start the bootstrap monitor using the pro- +cedure described in Appendix B. Then give the command: + + =format + + + If you have an 11/780 give the commands: + + >>>HALT + >>>UNJAM + >>>INIT + >>>LOAD FORMAT + >>>START 2 + + + If you have an 11/750 give the commands: + + >>>I + >>>B DDA0 + =format + + + If you have an 11/730 give the commands: + + >>>H + >>>I + >>>L DD0:FORMAT + >>>S 2 + + + The format program should now be running and awaiting +your input: + + Disk format/check utility + + Enable debugging (1=bse, 2=ecc, 3=bse+ecc)? + + + + + December 6, 2003 + + + + + +SMM:1-14ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + If you made a mistake loading the program off the TU58 +cassette or using the bootstrap monitor loaded for the 8600 +the ``='' prompt should reappear and you can retype the pro- +gram name. If something else happened, you may have a bad +distribution cassette or floppy, or your hardware may be +broken; refer to Appendix C for help in troubleshooting. If +you are unable to load programs off the distributed console +medium, consult Appendix B for an alternate (more painful) +approach. + + Format will create sector headers and verify the +integrity of each sector formatted. Remember format runs +only on the up and hp drives listed above. Format will +prompt for the information required as shown below. Ques- +tions with default answers appear with the default in +parentheses at the prompt; a carriage return will take the +default. If you err in answering questions, ``Delete'' +erases the last character typed, and ``^U'' erases the +current input line. + + Enable debugging (0=none, 1=bse, 2=ecc, 3=bse+ecc)? 0 + Device to format? xx(0,0) + ...(the old bad sector table is read; ignore any errors that occur here)... + Formatting drive xx0 on adaptor 0: verify (yes/no)? yes + Device data: #cylinders=842, #tracks=20, #sectors=48 + Starting cylinder (0):(hit RETURN to accept the defaults) + Starting track (0): + Ending cylinder (841): + Ending track (19): + Available test patterns are: + 1 - (f00f) RH750 worst case + 2 - (ec6d) media worst case + 3 - (a5a5) alternating 1's and 0's + 4 - (ffff) Severe burnin (up to 48 passes) + Pattern (one of the above, other to restart)? 2 + Maximum number of bit errors to allow for soft ECC (3): + Start formatting...make sure the drive is online + ...(soft ecc's and other errors are reported as they occur)... + ...(if 4 write check errors were found, the program terminates like this)... + Errors: + Bad sector: 0 + Write check: 4 + Hard ECC: 0 + Other hard: 0 + Marked bad: 0 + Skipped: 0 + Total of 4 hard errors revectored. + Writing bad sector table at block 524256 + ...(524256 is the block # of the first block in the bad sector table)... + Done + +Once the root device has been formatted, format will prompt +for another disk to format. Halt the machine by typing +``control-P'' and ``H'' (the ``H'' is necessary only on the + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX15 + + +780 and 8600, but does not hurt on the other machines). + + Enable debugging (1=bse, 2=ecc, 3=bse+ecc)?^P + >>>H + + + It may be necessary to format other drives before con- +structing file systems on them; this can be done at a later +time with the steps just performed. Format can also be used +in an extended test mode (pattern 4) that uses numerous test +patterns in up to 48 passes to detect as many disk surface +errors as possible; this test may be run for many hours, +depending on the CPU and controller. On an 11/780, this can +be sped up significantly by setting the clock fast. It may +be run for some number of passes, then either terminated or +continued according to the errors found to that point. + +2.2.2. Step 2: copying the mini-root file system + + The second step is to run a simple program, copy, which +copies a small root file system into the second partition of +the disk. This file system will serve as the base for +creating the actual root file system to be restored. The +version of the operating system maintained on the ``mini- +root'' file system understands that it should not swap on +top of itself, thereby allowing double use of the disk par- +tition. Copy is loaded just as the format program was +loaded; for example, if not using console media, one must +enter the toggle and the bootstrap monitor as described in +Appendix B and then: + + + (copy mini root file system) + =copy + From: yy(y,1) (unit y, second tape file) + To: xx(x,1) (mini root is on drive x; second partition) + Copy completed: 308 records copied + From: + + +while for an 8200: + + + (copy mini root file system) + >>>B/R5:800 CSA1 (or CSA2 if using the 2nd diskette slot) + BOOT58>LOAD COPY + BOOT58>START 2 + From: yy(y,1) (unit y, second tape file) + To: xx(x,1) (mini root is on drive x; second partition) + Copy completed: 308 records copied + From: + + +for an 11/780: + + + + December 6, 2003 + + + + + +SMM:1-16ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + + + (copy mini root file system) + >>>LOAD COPY + >>>START 2 + From: yy(y,1) (unit y, second tape file) + To: xx(x,1) (mini root is on drive x; second partition) + Copy completed: 308 records copied + From: + + +for an 11/750: + + + (copy mini root file system) + >>>B DDA0 + =copy + From: yy(y,1) (unit y, second tape file) + To: xx(x,1) (mini root is on drive x; second partition) + Copy completed: 308 records copied + From: + + +and for an 11/730: + + + (copy mini root file system) + >>>L DD0:COPY + >>>S 2 + From: yy(y,1) (unit y, second tape file) + To: xx(x,1) (mini root is on drive x; second partition) + Copy completed: 308 records copied + From: + + (As above, `delete' erases characters and `^U' erases lines.) + + +2.2.3. Step 3: booting from the mini-root file system + + You now have the minimal set of tools necessary to +create a root file system and restore the file system con- +tents from tape. To access this file system load the +bootstrap program and boot the version of unix that has been +placed in the ``mini-root'': + + (follow the procedure in Appendix B to load the bootstrap monitor) + + (load bootstrap program) + =boot + Boot + : xx(x,1)vmunix (bring in vmunix off mini root) + + +or, on an 8200: + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX17 + + + + + (load bootstrap program) + >>>B/R5:800 CSA1 (or CSA2 if using the 2nd diskette slot) + BOOT58>BOOT ANY + Boot + : xx(x,1)vmunix (bring in vmunix off mini root) + + +or, on an 11/780: + + + (load bootstrap program) + >>>BOOT ANY + Boot + : xx(x,1)vmunix (bring in vmunix off mini root) + + +or, on an 11/750: + + + (load bootstrap program) + >>>B DDA0 + =boot + Boot + : xx(x,1)vmunix (bring in vmunix off mini root) + + +or, on an 11/730: + + + (load bootstrap program) + >>>L DD0:BOOT + >>>D RB 3 + >>>S 2 + Boot + : xx(x,1)vmunix (bring in vmunix off mini root) + + (As above, `delete' erases characters and `^U' erases lines.) + + +The standalone boot program should then read the system from +the mini root file system you just created, and the system +should boot: + + 271944+78848+92812 start 0x12e8 + 4.3 BSD UNIX #1: Wed Apr 9 23:33:59 PST 1988 + karels@monet.berkeley.edu:/usr/src/sys/GENERIC + real mem = xxx + avail mem = yyy + ... information about available devices ... + root device? + + + + + + December 6, 2003 + + + + + +SMM:1-18ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + The first three numbers are printed out by the +bootstrap programs and are the sizes of different parts of +the system (text, initialized and uninitialized data). The +system also allocates several system data structures after +it starts running. The sizes of these structures are based +on the amount of available memory and the maximum count of +active users expected, as declared in a system configuration +description. This will be discussed later. + + UNIX itself then runs for the first time and begins by +printing out a banner identifying the release and version of +the system that is in use and the date that it was compiled. + + Next the mem messages give the amount of real (physi- +cal) memory and the memory available to user programs in +bytes. For example, if your machine has 16 megabytes of +memory, xxx will be 16777216. + + The messages that come out next show what devices were +found on the current processor. These messages are +described in autoconf(4). The distributed system may not +have found all the communications devices you have (dh's, +dz's, etc.), or all the mass storage peripherals you have +especially if you have more than two of anything. You will +correct this soon, when you create a description of your +machine from which to configure UNIX. The messages printed +at boot here contain much of the information that will be +used in creating the configuration. In a correctly config- +ured system most of the information present in the confi- +guration description is printed out at boot time as the sys- +tem verifies that each device is present. + + The ``root device?'' prompt was printed by the system +and is now asking you for the name of the root file system +to use. This happens because the distribution system is a +generic system. It can be bootstrapped on any VAX cpu and +with its root device and paging area on any available disk +drive. You should respond to the root device question with +xx0*. This response supplies two pieces of information: +first, xx0 shows that the disk it is running on is drive 0 +of type xx, secondly the ``*'' shows that the system is run- +ning ``atop'' the paging area. The latter is most impor- +tant, otherwise the system will attempt to page on top of +itself and chaos will ensue. You will later build a system +tailored to your configuration that will not ask this ques- +tion when it is bootstrapped. + + root device? xx0* + WARNING: preposterous time in file system -- CHECK AND RESET THE DATE! + erase ^?, kill ^U, intr ^C + # + + + The ``erase ...'' message is part of /.profile that was + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX19 + + +executed by the root shell when it started. This message is +present to remind you that the line character erase, line +erase, and interrupt characters are set to be what is stan- +dard on DEC systems; this insures that things are consistent +with the DEC console interface characters. + +2.2.4. Step 4: restoring the root file system + + UNIX is now running, and the `UNIX Programmer's manual' +applies. The `#' is the prompt from the shell, and lets you +know that you are the super-user, whose login name is +``root''. To complete installation of the bootstrap system +two steps remain. First, the root file system must be +created, and second a boot floppy or cassette must be con- +structed. + + To create the root file system the shell script ``xtr'' +should be run as follows: + + # disk=xx0 type=tt tape=yy xtr + +where xx0 is the name of the disk on which the root file +system is to be restored (unit 0), tt is the type of drive +on which the root file system is to be restored (see the +table below), and yy is the name of the tape drive on which +the distribution tape is mounted. + + If the root file system is to reside on a disk other +than unit 0 (as the information printed out during autocon- +figuration shows), you will have to create the necessary +special files in /dev and use the appropriate value. For +example, if the root should be placed on hp1, you must +create /dev/rhp1a and /dev/hp1a using the MAKEDEV script in +/dev as follows: + + # cd /dev; MAKEDEV hp1 + +The following table lists the various drive types. + + + Drive Type Drive Type + + + DEC RM03 type=rm03 DEC RM05 type=rm05 + DEC RM80 type=rm80 DEC RP06 type=rp06 + DEC RP07 type=rp07 DEC RK07 type=rk07 + DEC RA80 type=ra80 DEC RA60 type=ra60 + DEC RA81 type=ra81 DEC R80 type=rb80 + DEC RA70 type=ra70 DEC RA82 type=ra82 + DEC RD53 type=rd53 DEC RD54 type=rd54 + CDC 9766 type=9766 CDC 9775 type=9775 + AMPEX 300M type=9300 AMPEX 330M type=capricorn + FUJITSU 160M type=fuji160 FUJITSU 330M type=capricorn + FUJITSU 404M type=eagle + + | + | + | + | + | + | + | + | + | + | + | + | + | + + + + + + + + + + + + + + + + + + December 6, 2003 + + + + + +SMM:1-20ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +This will generate many messages regarding the construction +of the file system and the restoration of the tape contents, +but should eventually stop with the messages: + + ... + Root filesystem extracted + + If this is an 8600, update the console RL02 + If this is a 780, update the floppy + If this is a 730, update the cassette + # + + +2.2.5. Step 5: creating a boot floppy or cassette + + If the machine is an 8600, 8200, 11/780 or 11/730, a +boot floppy, cassette, or console RL02 should be constructed +according to the instructions in chapter 4. For 11/750's, +bootstrapping is normally performed by using a boot prom and +special code located in sectors 0-15 of the root file sys- +tem. If you do not have a boot prom for your system disk, +you may also create a TU58 cassette with BOOT58 and UNIX +boot program and boot script and use it as your boot path. +If you want to pursue this approach, contact Quasijarus Con- +sortium for assistance. VAX 8200 has a very similar boot +architecture to 11/750, except that the bootable disks sup- +ported by the ROM are VAXBI and UNIBUS MSCP disks, i.e., +KDB50 and UDA50, and the console medium for BOOT58 is not +TU58 but RX50. MicroVAXen have no console media. They +instead have a special version of VMB in the ROM and may +only be booted via the bootblock on the disk. + + The disklabel program installs the 750/8200 and Micro- +VAX boot code along with the pack label. Locate the disk +name and type from the table in step 7, then run the follow- +ing command: + + # disklabel -rw ${disk}0 $type "optional pack name" + +All MicroVAXen must use the rdboot primary bootblock regard- +less of the disk type. It is the only bootblock for Micro- +VAXen, all other bootblocks are for 750 and 8200. If you +have a MicroVAX and your disk is something other than RDxx, +you must explicitly specify the rdboot primary bootblock on +the disklabel command line. If you are booting from UDA50 +or some other UNIBUS MSCP disk on an 8200, the raboot pri- +mary bootblock may not correctly communicate the UNIBUS +adapter number to the secondary bootblock. It computes the +correct uba number for 750, but this computation probably +won't be correct on an 8200. You will need to either patch +the bootblock or use a BOOT58-based boot path. + + On an 11/780 with old-style (MS780C) interleaved +memory, or other configurations that require alteration of + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX21 + + +the standard boot files, this step may be left for later. + +2.2.6. Step 6: rebooting the completed root file system + + With the above work completed, all that is left is to +reboot: + + #sync (synchronize file system state) + #^P (halt machine) + >>>HALT (for 11/780's) + >>>UNJAM (for 8600's or 11/780's only) + >>>I (initialize processor state) + >>>B xxS (on an 11/750, use B/2; see below for 8200) + ...(boot program is eventually loaded)... + Boot + : xx(x,0)vmunix (vmunix brought in off root) + 271944+78848+92812 start 0x12e8 + 4.3 BSD UNIX #1: Wed Apr 9 23:33:59 PST 1988 + karels@monet.berkeley.edu:/usr/src/sys/GENERIC + real mem = xxx + avail mem = yyy + ... information about available devices ... + root on xx0 + WARNING: preposterous time in file system -- CHECK AND RESET THE DATE! + erase ^?, kill ^U, intr ^C + # + + + + On an 8200, or if the root device selected by the ker- +nel is not correct, it is necessary to boot using the option +to ask for the root device. On the 8200, use B/R5:800 fol- +lowed by @ANYBOO.CMD; on the 11/750, use B/3; on the other +processors, use BOOT ANY. At the prompt from the bootstrap, +use the same device specification above: xx(x,0)vmunix. +Then, to the question ``root device?,'' respond with xx0. +See section 6.1 and appendix C if the system does not reboot +properly. + + The system is now running single user on the installed +root file system. The next section tells how to complete +the installation of distributed software on the /usr file +system. + +2.2.7. Step 7: placing labels on the disks + + First set up shell variables, so that the commands we +give will work regardless of the disk you have. You might +wish to review the disk configuration information in section +4.3 before continuing; the partitions used below are those +most appropriate in size. Find the disk you have in the +following table and execute the commands in the right hand +portion of the table: + + + + + December 6, 2003 + + + + + +SMM:1-22ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + + + DEC RM03 # disk=hp; name=hp0g; type=rm03 + DEC RM05 # disk=hp; name=hp0g; type=rm05 + DEC RM80 # disk=hp; name=hp0g; type=rm80 + DEC RP06 # disk=hp; name=hp0g; type=rp06 + DEC RP07 # disk=hp; name=hp0h; type=rp07 + DEC RK07 # disk=hk; name=hk0g; type=rk07 + DEC RA60 # disk=ra; name=ra0h; type=ra60 + DEC RA70 # disk=ra; name=ra0h; type=ra70 + DEC RA80 # disk=ra; name=ra0h; type=ra80 + DEC RA81 # disk=ra; name=ra0h; type=ra81 + DEC RA82 # disk=ra; name=ra0h; type=ra82 + DEC R80 # disk=rb; name=rb0h; type=rb80 + UNIBUS CDC 9766 # disk=up; name=up0g; type=9766 + UNIBUS AMPEX 300M # disk=up; name=up0g; type=9300 + UNIBUS AMPEX 330M # disk=up; name=up0g; type=capricorn + UNIBUS FUJITSU 160M # disk=up; name=up0g; type=fuji160 + UNIBUS FUJITSU 330M # disk=up; name=up0g; type=capricorn + UNIBUS FUJITSU 404M # disk=up; name=up0h; type=eagle + MASSBUS CDC 9766 # disk=hp; name=hp0g; type=9766 + MASSBUS AMPEX 300M # disk=hp; name=hp0g; type=9300 + MASSBUS AMPEX 330M # disk=hp; name=hp0g; type=capricorn + MASSBUS FUJITSU 330M # disk=hp; name=hp0g; type=capricorn + MASSBUS FUJITSU 404M # disk=hp; name=hp0h; type=eagle + + +If you have a DEC RA disk, but it is on a KDB50, insert a +`k': + + # disk=k$disk; name=k$name + +Next find the tape you have in the following table and exe- +cute the commands in the right hand portion of the table: + + + DEC TE16/TU45/TU77 # cd /dev; MAKEDEV ht0; sync + DEC TU78 # cd /dev; MAKEDEV mt0; sync + DEC TS11 # cd /dev; MAKEDEV ts0; sync + DEC TK50/TK70/TA80/TA81 # cd /dev; MAKEDEV tmscp0; sync + EMULEX TC11 # cd /dev; MAKEDEV tm0; sync + SI 9700 # cd /dev; MAKEDEV ut0; sync + + + + On hp and ra disks (excluding those on the KDB50), +4.3BSD-Quasijarus uses disk labels in the first sector of +each disk to contain information about the geometry of the +drive and the partition layout. This information is written +with disklabel(8). To label the disk containing the root +file system, run the following command: + + # disklabel -rw ${disk}0 $type "optional pack name" + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX23 + + +This sets up the default partition table. Type can be any +name listed in /etc/disktab; if you want something other +than the default tables, you can edit /etc/disktab and add a +new name: e.g., ``ra81-local.'' Alternatively, you can use +the -e option to edit the label; you will have to set the +``EDITOR'' environment variable to /bin/ed: + + # EDITOR=/bin/ed; export EDITOR + + + You should label all your disks as soon as possible, +but you must label the root pack on a VAX-11/750, even if +labels are not supported (e.g., on ``up'' disks), as this +also creates the boot block. Boot blocks are also required +on MicroVAXen. As a general rule, it is always safe to run +disklabel: if labels are not supported on some disk, nothing +of consequence will happen. + +2.2.8. Step 8: setting up the /usr file system + + The next thing to do is to extract the rest of the data +from the tape: + + + + # date yyyymmddhhmm (set date, see date(1)) + .... + # passwd root (set password for super-user) + New password: (password will not echo) + Retype new password: + # hostname mysitename (set your hostname) + # newfs ${name} ${type} (create empty user file system) + (this takes a few minutes) + # mount /dev/${name} /usr (mount the usr file system) + # cd /usr (make /usr the current directory) + # mt fsf + # tar xpbf 20 /dev/rmt12 (extract all of usr except usr/src) + (this takes about 15-20 minutes) + + +If the tape had been rewound or positioned incorrectly +before the tar, it may be repositioned by the following com- +mands. + + # mt rew + # mt fsf 3 + +The data on the fourth tape file has now been extracted. If +you are using 1600bpi tapes, the first reel of the distribu- +tion is no longer needed; the remainder of the installation +procedure uses the second reel of tape that should be +mounted in place of the first. The first instruction below +is ignored if using 1600bpi tapes. The installation pro- +cedure continues from this point on the 6250bpi tape. In + + + + December 6, 2003 + + + + + +SMM:1-24ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +1600bpi and TK50 distribution formats the sources are +compressed with compress(1) in order to fit on the tape. If +you are extracting a compressed distribution, modify the +following commands appropriately. + + + # mt fsf (do not do on 1600bpi tapes) + # mkdir src (make directory for source) + # mkdir src/sys (make directory for system source) + # cd src/sys (make /usr/sys the current directory) + # tar xpbf 20 /dev/rmt12 (extract the system source) + (this takes about 5-10 minutes) + # cd / (back to root) + # chmod 755 / /usr /usr/src /usr/src/sys + # rm -f sys + # ln -s usr/src/sys sys (make a symbolic link to the system source) + # umount /dev/${name} (unmount /usr) + + + + You can check the consistency of the /usr file system +by doing + + # fsck /dev/r${name} + +The output from fsck should look something like: + + ** /dev/rxx0h + ** Last Mounted on /usr + ** Phase 1 - Check Blocks and Sizes + ** Phase 2 - Check Pathnames + ** Phase 3 - Check Connectivity + ** Phase 4 - Check Reference Counts + ** Phase 5 - Check Cyl groups + 671 files, 3497 used, 137067 free (75 frags, 34248 blocks) + + + If there are inconsistencies in the file system, you +may be prompted to apply corrective action; see the document +describing fsck for information. + + To use the /usr file system, you should now remount it +by saying + + # /etc/mount /dev/${name} /usr + +You can then extract the source code for the commands +(except on RK07's and RM03's this will fit in the /usr file +system): + + # cd /usr/src + # mt fsf + # tar xpb 20 + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX25 + + +If you get an error at this point, most likely it was a +problem with tape positioning. You can reposition the tape +by rewinding it and then skipping over the files already +read (see mt(1)). + +2.2.9. Additional software + + There exists additional software that used to be dis- +tributed with the system. Since it is static and does not +change with ongoing Quasijarus development, it has been +separated from the main 4.3BSD-Quasijarus distribution. If +you want to install the 4.3BSD-* software supplement, you +can obtain and install it separately. + +2.3. Additional conversion information + + After setting up the new 4.3BSD-Quasijarus filesystems, +you may restore the user files that were saved on tape +before beginning the conversion. Note that the 4.3BSD- +Quasijarus restore program does its work on a mounted file +system using normal system operations (unlike the older res- +tor that accessed the raw file system device and deposited +inodes in the appropriate locations on disk). This means +that file system dumps may be restored even if the charac- +teristics of the file system changed. To restore a dump +tape for, say, the /a file system something like the follow- +ing would be used: + + # mkdir /a + # disklabel -rw hp1 eagle + # newfs hp1g + # mount /dev/hp1g /a + # cd /a + # restore r + +If you chose to convert 4.1BSD filesystems while copying to +a new disk area, do so by piping the output of dump.4.1 +directly into restore after bringing up 4.3BSD-Quasijarus. + + If tar images were written instead of doing a dump, you +should be sure to use the `p' option when reading the files +back. No matter how you restore a file system, be sure and +check its integrity with fsck when the job is complete. + + To convert a compiler from 4.1BSD to 4.3BSD-Quasijarus +you should simply have to recompile and relink the various +parts. If the processor is written in itself, for instance +a PASCAL compiler written in PASCAL, the important step in +converting is to save a working copy of the 4.1BSD binary +before converting to 4.3BSD-Quasijarus. Then, once the sys- +tem has been changed over, the 4.1BSD binary should be used +in the rebuilding process. To do this, you should enable the +4.1 compatibility option when you configure the kernel (see +section 4.3). + + + + December 6, 2003 + + + + + +SMM:1-26ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + If no working 4.1BSD binary exists, or the language +processor uses some nonstandard system call, you will likely +have to compile the language processor into an intermediate +form, such as assembly language, on a 4.1BSD system, then +bring the intermediate form to 4.3BSD-Quasijarus for assem- +bly and loading. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX27 + + + 3. UPGRADING A 4.2BSD OR 4.3BSD SYSTEM + + + + This section describes the procedure for upgrading a +4.2 or 4.3BSD system to 4.3BSD-Quasijarus. This procedure +may vary according to the version of the system running +before conversion. If you are upgrading from 4.2BSD, begin +by reading the ``Bugs Fixes and Changes in 4.3BSD'' document +to see what has changed since the last time you bootstrapped +the system. If you have local system modifications to the +kernel to install, look at the document ``Changes to the +Kernel in 4.3BSD'' to get an idea of how the system changes +will affect your local modifications. + + If you are running 4.2BSD or 4.3BSD, upgrading your +system involves replacing your kernel and system utilities. +Binaries compiled under 4.3BSD will work without recompila- +tion under 4.3BSD-Quasijarus, though they may run faster if +they are recompiled. Binaries compiled under 4.2BSD will +probably work without recompilation, but it is a good idea +to recompile and relink because of the many changes in +header files and libraries since 4.2BSD. 4.1BSD binary +images can also run unchanged under 4.3BSD-Quasijarus but +only when the system is configured to include the ``4.1BSD +compatibility mode.''* + + The easiest upgrade path from 4.2BSD or 4.3BSD (depend- +ing on your file system configuration) is to build new root +and /usr file systems on unused partitions, then copy or +merge site specific files into their corresponding files on +the new system. All user file systems can be retained unmo- +dified, except that the new fsck should be run before they +are mounted (see below). + + Section 3.1 lists the files to be saved as part of the +conversion process. Section 3.2 describes the bootstrap +process. Section 3.3 discusses the merger of the saved +files back into the new system. Section 3.4 provides gen- +eral hints on possible problems to be aware of when convert- +ing from 4.2BSD to 4.3BSD-Quasijarus. + +3.1. Files to save + + The following list enumerates the standard set of files + +* With ``4.1BSD compatibility mode'' system calls from +4.1BSD are either emulated or safely ignored. There +are only two exceptions: programs that read directories +or use the old jobs library will not operate properly. +However, while 4.1BSD binaries will execute under +4.3BSD-Quasijarus it is STRONGLY RECOMMENDED that the +programs be recompiled under the new system. + + + + + December 6, 2003 + + + + + +SMM:1-28ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +you will want to save and suggests directories in which +site-specific files should be present. This list will +likely be augmented with non-standard files you have added +to your system. If you do not have enough space to create +parallel file systems, you should create a tar image of the +following files before the new file systems are created. In +addition, it is STRONGLY advised that you do a full dump +before rebuilding the file system to guard against missing +something the first time around. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX29 + + + + + /.cshrc + root csh startup script + /.login + root csh login script + /.profile + root sh startup script + /.rhosts + for trusted machines and users + /dev/MAKEDEV | in case you added anything here + /dev/MAKEDEV.local * for making local devices + /etc/disktab | in case you changed disk partition sizes + /etc/fstab + disk configuration data + /etc/ftpusers + for local additions + /etc/gateways + routing daemon database + /etc/gettytab | getty database + /etc/group * group data base + /etc/hosts + for local host information + /etc/hosts.equiv + for local host equivalence information + /etc/networks + for local network information + /etc/passwd * user data base + /etc/printcap + line printer database + /etc/protocols | in case you added any local protocols + /etc/rc * for any local additions + /etc/rc.local * site specific system startup commands + /etc/remote + auto-dialer configuration + /etc/services | for local additions + /etc/syslog.conf * system logger configuration + /etc/securettys * for restricted list of ttys where root can log in + /etc/ttys * terminal line configuration data + /etc/ttytype * terminal line to terminal type mapping data + /etc/termcap | for any local entries that may have been added + /lib | for any locally developed language processors + /usr/dict/* | for local additions to words and papers + /usr/hosts/MAKEHOSTS * for local changes + /usr/include/* | for local additions + /usr/lib/aliases | mail forwarding data base + /usr/lib/crontab * cron daemon data base + /usr/lib/font/* | for locally developed font libraries + /usr/lib/lib*.a + for locally libraries + /usr/lib/lint/* | for locally developed lint libraries + /usr/lib/sendmail.cf * sendmail configuration + /usr/lib/tabset/* | for locally developed tab setting files + /usr/lib/term/* | for locally developed nroff drive tables + /usr/lib/tmac/* | for locally developed troff/nroff macros + /usr/lib/uucp/* + for local uucp configuration files + /usr/man/manl * for manual pages for locally developed programs + /usr/msgs + for current msgs + /usr/spool/* + for current mail, news, uucp files, etc. + /usr/src/local + for source for locally developed programs + /sys/conf/HOST + configuration file for your machine + /sys/conf/files.HOST + list of special files in your kernel + /*/quotas + file system quota files + + + +Files that can be used from 4.2BSD or 4.3BSD without change. + |Files that need local modifications merged into 4.3BSD-Quasijarus files. + + + + December 6, 2003 + + + + + +SMM:1-30ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + *Files that require special work to merge and are discussed + in section 3.3. + + +3.2. Installing 4.3BSD-Quasijarus + + The next step is to build a working 4.3BSD-Quasijarus +system. This can be done by following the steps in section +2 of this document for extracting the root and /usr file +systems from the distribution tape onto unused disk parti- +tions. If you have a running 4.2BSD or 4.3BSD system, you +can also do this by using dd(1) to copy the ``mini root'' +filesystem onto one disk partition, then use it to load the +4.3BSD-Quasijarus root filesystem as in chapter 2. The root +filesystem dump on the tape could also be extracted +directly, although this will require an additional file sys- +tem check after booting 4.3BSD-Quasijarus to convert the new +root filesystem. The exact procedure chosen will depend on +the disk configuration and the number of suitable disk par- +titions that may be used. If there is insufficient space to +load the new root and /usr filesystems before reusing the +existing partitions, it is STRONGLY advised that you make +full dumps of each filesystem on magtape before beginning. +It is also desirable to run file system checks of all +filesystems to be converted to 4.3BSD-Quasijarus before +shutting down. If you are running a system older than +4.2BSD, you will have to dump and restore your file systems; +see section 2.1 for some hints. In either case, this is an +excellent time to review your disk configuration for possi- +ble tuning of the layout. Section 4.2 and config(8) are +required reading. + + To ease the transition to new kernels, the 4.3BSD and +4.3BSD-Quasijarus bootstrap routines pass the identity of +the boot device through to the kernel. The kernel then uses +that device as its root file system. Thus, for example, if +you boot from /dev/hp1a, the kernel will use hp1a as its +root file system. If /dev/hp1b is configured as a swap par- +tition, it will be used as the initial swap area, otherwise +the normal primary swap area (/dev/hp0b) will be used. The +4.3BSD-Quasijarus bootstrap is backward compatible with +4.2BSD and 4.3BSD, so you can replace your old bootstrap if +you use it to boot your first 4.3BSD-Quasijarus kernel. + + Once you have extracted the 4.3BSD-Quasijarus system +and booted from it, you will have to build a kernel custom- +ized for your configuration. If you have any local device +drivers, they will have to be incorporated into the new ker- +nel. See section 4.2.3 and ``Building 4.3BSD UNIX Systems +with Config.'' + + If converting from 4.2BSD, 4.3BSD, or the CCI 1.21 +release, your old file systems must be converted. The stan- +dard disk partitions in 4.3BSD-Quasijarus are the same as + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX31 + + +those in 4.2BSD and 4.3BSD, except for those on the DEC +UDA50; see section 4.3.2 for details. If you've modified +the partition sizes from the original BSD or CCI ones, and +are not already using the 4.3BSD-Quasijarus disk labels, you +will have to modify the default disk partion tables in the +kernel. Make the necessary table changes and boot your cus- +tom kernel BEFORE trying to access any of your old file sys- +tems! After doing this, if necessary, the remaining +filesystems may be converted in place by running the +4.3BSD-Quasijarus version of fsck(8) on each filesystem and +allowing it to make the necessary corrections. The new ver- +sion of fsck is more strict about the size of directories +than the version supplied with 4.2BSD. Thus the first time +that it is run on a 4.2BSD file system, it will produce mes- +sages of the form: + + DIRECTORY ...: LENGTH xx NOT MULTIPLE OF 512 (ADJUSTED) + +Length ``xx'' will be the size of the directory; it will be +expanded to the next multiple of 512 bytes. The new fsck +will also set default interleave and npsect (number of phy- +sical sectors per track) values on older file systems, in +which these fields were unused spares; this correction will +produce messages of the form: + + IMPOSSIBLE INTERLEAVE=0 IN SUPERBLOCK (SET TO DEFAULT)* + IMPOSSIBLE NPSECT=0 IN SUPERBLOCK (SET TO DEFAULT) + +File systems that have had their interleave and npsect +values set will be diagnosed by the old fsck as having a bad +superblock; the old fsck will run only if given an alternate +superblock (fsck -b32), in which case it will re-zero these +fields. The 4.3BSD-Quasijarus kernel will internally set +these fields to their defaults if fsck has not done so; +again, the -b32 option may be necessary for running the old +fsck. + + In addition, 4.3BSD-Quasijarus removes several limits +on file system sizes that were present in both 4.2BSD and +4.3BSD. The limited file systems continue to work in +4.3BSD-Quasijarus, but should be converted as soon as it is +convenient by running fsck with the -c option. If no file +systems have been so converted, the sequence fsck -p -c will +update all of them, fix the interleave and npsect fields, +and fix any incorrect directory lengths all at once. The +new unlimited file system formats are treated as read-only + +* The defaults are to set interleave to 1 and npsect to +nsect; this is correct on many drives. Notable excep- +tions are the RM80 and RA81, where npsect should be set +to one more than nsect. This affects only performance +(and in the case of the RA81, at least, virtually un- +measurably). + + + + + December 6, 2003 + + + + + +SMM:1-32ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +by older systems. A second fsck -c, however, will reconvert +the new format to the old if none of the static limits of +the old file system format have been exceeded. The new file +systems are otherwise compatible between 4.2BSD, 4.3BSD, and +4.3BSD-Quasijarus, though running a 4.3BSD-Quasijarus file +system under older systems may cause more of the above mes- +sages to be generated the next time it is fsck'ed on +4.3BSD-Quasijarus. + +3.3. Merging your files from 4.2 or 4.3BSD into 4.3BSD- +Quasijarus + + When your system is booting reliably and you have the +4.3BSD-Quasijarus root and /usr file systems fully installed +you will be ready to continue with the next step in the +conversion process, merging your old files into the new sys- +tem. + + If you saved the files on a tar tape, extract them into +a scratch directory, say /usr/convert: + + # mkdir /usr/convert + # cd /usr/convert + # tar xp + + + The data files marked in the previous table with a +dagger (+) may be used without change from the previous sys- +tem. Those data files marked with a double dagger (|) have +syntax changes or substantial enhancements. You should +start with the 4.3BSD-Quasijarus version and carefully +integrate any local changes into the new file. Usually +these local modifications can be incorporated without con- +flict into the new file; some exceptions are noted below. +The files marked with an asterisk (*) require particular +attention and are discussed below. + + If you have any homegrown device drivers in +/dev/MAKEDEV.local that use major device numbers reserved by +the system you will have to modify the commands used to +create the devices or alter the system device configuration +tables in /sys/vax/conf.c. Otherwise /dev/MAKEDEV.local can +be used without change from 4.2 or 4.3BSD. + + System security changes require adding several new +``well-known'' groups to /etc/group. The groups that are +needed by the system as distributed are: + + + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX33 + + + + + name number + + + wheel 0 + daemon 1 + kmem 2 + sys 3 + tty 4 + operator 5 + bin 10 + + +Only users in the ``wheel'' group are permitted to su to +``root''. Most programs that manage directories in +/usr/spool now run set-group-id to ``daemon'' so that users +cannot directly access the files in the spool directories. +The special files that access kernel memory, /dev/kmem and +/dev/mem, are made readable only by group ``kmem''. Stan- +dard system programs that require this access are made set- +group-id to that group. The group ``sys'' is intended to +control access to kernel sources, and other sources belong +to group ``bin.'' Rather than make user's terminals writable +by all users, they are now placed in group ``tty'' and made +only group writable. Programs that should legitimately have +access to write on user's terminals such as talkd and write +now run set-group-id to ``tty''. The ``operator'' group +controls access to disks. By default, disks are readable by +group ``operator'', so that programs such as df can access +the file system information without being set-user-id to +``root''. The shutdown(8) program is executable only by +group operator and is setuid to root so that members of +group operator may shut down the system without root access. + + Several new users have also been added to the group of +``well-known'' users in /etc/passwd. The current list is: + + + name number + + + root 0 + daemon 1 + operator 2 + games 7 + uucp 66 + nobody 32767 + + +The ``daemon'' user is used for daemon processes that do not +need root privileges. The ``operator'' user-id is used as +an account for dumpers so that they can log in without hav- +ing the root password. By placing them in the ``operator'' +group, they can get read access to the disks. The ``uucp'' +login has existed long before 4.3BSD-Quasijarus, and is + + + + December 6, 2003 + + + + + +SMM:1-34ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +noted here just to provide a common user-id. The password +entry ``nobody'' has been added to specify the user with +least privilege. The ``games'' user is a pseudo-user that +controls access to game programs. + + After installing your updated password file, you must +run mkpasswd(8) to create the ndbm password database. Note +that mkpasswd is run whenever vipw(8) is run. + + The format of the cron table, /usr/lib/crontab, has +been changed to specify the user-id that should be used to +run a process. The userid ``nobody'' is frequently useful +for non-privileged programs. + + Some of the commands previously in /etc/rc.local have +been moved to /etc/rc; several new functions are now handled +by /etc/rc, /etc/netstart and /etc/rc.local. You should +look closely at the prototype version of these files and +read the manual pages for the commands contained in it +before trying to merge your local copy. Note in particular +that ifconfig has had many changes, and that host names are +now fully specified as domain-style names (e.g, +monet.Berkeley.EDU) for the benefit of the name server. + + The C library and system binaries on the distribution +tape are compiled with new versions of gethostbyname and +gethostbyaddr which use the name server, named(8). If you +have only a small network and are not connected to a large +network, you can use the distributed library routines +without any problems; they use a linear scan of the host +table /etc/hosts if the name server is not running. If you +are on the DARPA Internet or have a large local network, it +is recommend that you set up and use the name server. For +instructions on how to set up the necessary configuration +files, refer to ``Name Server Operations Guide for BIND''. +Several programs rely on the host name returned by gethost- +name to determine the local domain name. + + If you want to compile your system to use the host +table lookup routines instead of the name server, you will +need to modify /usr/src/lib/libc/Makefile according to the +instructions there and then recompile all of the system and +local programs (see section 6.6). Next, you must run +mkhosts(8) to create the ndbm host table database from +/etc/hosts. + + The format of /etc/ttys has changed, see ttys(5) for +details. It now includes the terminal type and security +options that were previously placed in /etc/ttytype and +/etc/securettys. + + There is a new version of syslog that uses a more gen- +eralized facility/priority scheme. This has changed the +format of the syslog.conf file. See syslogd(8) for details. + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX35 + + +Syslog now logs kernel errors, allowing events such as soft +disk errors, filesystem-full messages, and other such error +messages to be logged without slowing down the system while +the messages print on the console. It is also used by many +of the system daemons to monitor system problems more +closely, for example network routing changes. + + If you are using the name server, your sendmail confi- +guration file will need some minor updates to accommodate +it. See the ``Sendmail Installation and Operation Guide'' +and the sample sendmail configuration files in +/usr/src/usr.lib/sendmail/cf. The sendmail.cf's supplied +with this release are alleged to be ``generic'', but have +only really seen use at Berkeley. In particular there are +two points to watch out for. First, all host names in the +sendmail.cf itself must be fully qualified names. Second, +the sendmail.cf's assume you have a /usr/lib/sendmail that +was compiled with the resolver library (i.e., not hostt- +ables). This is necessary to canonicalize unqualified names +into fully-qualified names (e.g., foo -> foo.bar.com). +Using these .cf files with a host table can probably be +done, but it will be difficult. Be sure to regenerate your +sendmail frozen configuration file after installation of +your updated configuration file with the command +/usr/lib/sendmail -bz. The aliases file, /usr/lib/aliases +has also been changed to add certain well-known addresses. + + The spooling directories saved on tape may be restored +in their eventual resting places without too much concern. +Be sure to use the `p' option to tar so that files are +recreated with the same file modes: + + # cd /usr + # tar xp msgs spool/mail spool/uucp spool/uucppublic spool/news + + + The following two sections contain additional notes +concerning changes in 4.3BSD-Quasijarus that affect the +installation of local files; be sure to read them as well. + +3.4. Hints on converting from 4.2BSD to 4.3BSD-Quasijarus + + This section summarizes the most significant changes +between 4.2BSD and 4.3BSD, particularly those that are +likely to cause difficulty in doing the conversion. It does +not include changes in the network; see chapter 5 for infor- +mation on setting up the network. + + The mailbox locking protocol has changed; it now uses +the advisory locking facility to avoid concurrent update of +users' mail boxes. If you have your own mail interface, be +sure to update its locking protocol. + + The kernel's limit on the number of open files has been + + + + December 6, 2003 + + + + + +SMM:1-36ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +increased from 20 to 64. It is now possible to change this +limit almost arbitrarily (there used to be a hard limit of +30). The standard I/O library autoconfigures to the kernel +limit. Note that file (`` iob'') entries may be allocated +by malloc from fopen; this allocation has been known to +cause problems with programs that use their own memory allo- +cators. This does not occur until after 20 files have been +opened by the standard I/O library. + + Select can be used with more than 32 descriptors by +using arrays of ints for the bit fields rather than single +ints. Programs that used getdtablesize as their first argu- +ment to select will no longer work correctly. Usually the +program can be modified to correctly specify the number of +bits in an int. Alternatively the program can be modified +to use an array of ints. There are a set of macros avail- +able in to simplify this. See select(2). + + Old core files will not be intelligible by the current +debuggers because of numerous changes to the user structure +and because the kernel stack has been enlarged. The a.out +header that was in the user structure is no longer present. +Locally-written debuggers that try to check the magic number +will need modification. + + Find now has a database of file names, constructed once +a week from cron. To find a file by name only, the command +find name will look in the database for files that match the +name. This is much faster than find / -name name -print. + + Files may not be deleted from directories having the +``sticky'' (ISVTX) bit set in their modes except by the +owner of the file or of the directory, or by the superuser. +This is primarily to protect users' files in publicly- +writable directories such as /tmp and /usr/tmp. All +publicly-writable directories should have their ``sticky'' +bits set with ``chmod +t.'' + + The include file has returned to /usr/include, +and again contains the definitions for the C library time +routines of ctime(3). + + The compact and uncompact programs have been supplanted +by the faster compress. If your user population has com- +pacted files, you will want to install uncompact from +/usr/src/old/compact. + + The configuration of the virtual memory limits has been +simplified. A MAXDSIZ option, specified in bytes in the +machine configuration file, may be used to raise the maximum +process region size from the default of 17Mb to 32Mb or +64Mb. The initial per-process limit is still 6Mb, but can +be raised up to MAXDSIZ with the csh limit command. + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX37 + + + Some 4.3BSD-Quasijarus binaries will not run with a +4.2BSD kernel because they take advantage of new functional- +ity in 4.3BSD-Quasijarus. One noticeable example of this +problem is csh. + + If you want to use ps after booting a new kernel, and +before going multiuser, you must initialize its name list +database by running ps -U. + +3.5. Hints on converting from 4.3BSD to 4.3BSD-Quasijarus + + The largest visible change between 4.3BSD to 4.3BSD- +Quasijarus (other than the addition of support for new pro- +cessors) is the addition of support for disk labels. This +facility allows each disk or disk pack to contain all +geometry information about the disk and the partition layout +for the disk. Disk labels are supported on all disk types +on the Tahoe machines, and on hp and ra/rd disks on the VAX. +See section 2.1.6 as well as disklabel(8) and disklabel(5). +Installation of this facility requires use of the new kernel +and device drivers, bootstraps and other standalone pro- +grams, /etc/disktab, bad144(8V), newfs(8), and probably +other programs. + + The bootstrap programs have been fixed to work on +MicroVAX IIs and VAXstation II's with QVSS (VS II) or QDSS +(GPX) displays; the kernel includes support for these +displays, courtesy of Digital Equipment Corp. In order to +install the bootstrap on RD52/53/54 disks with disklabel(8), +the new /etc/disktab must be used, or the block 0 bootstrap +must be explictly listed as /usr/mdec/rdboot (not raboot). + + The order in which daemons are started by /etc/rc and +/etc/rc.local has changed, and network initialization has +been split into /etc/netstart. Look at the prototype files, +and modify /etc/rc.local as necessary; c.f. section 5.6.1. + + 4.3BSD-Quasijarus includes the Olson timezone implemen- +tation, which uses timezone and daylight-savings-time rules +loaded from files in /etc/zoneinfo; see ctime(3) and +tzfile(5). + + The type of the sprintf(3S) function has been changed +from char * in 4.2BSD and 4.3BSD to int as in the proposed +ANSI C standard and in System V. Programers are discouraged +from using the return value from sprintf until this change +is ubiquitous. Fortunately, the previous return value from +sprintf was essentially useless. + + The ownership and modes of some directories have +changed. The at programs now run set-user-id ``root'' +instead of ``daemon.'' Also, the uucp directory no longer +needs to be publicly writable, as tip reverts to privileged +status to remove its lock files. After copying your version + + + + December 6, 2003 + + + + + +SMM:1-38ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +of /usr/spool, you should do: + + # chown -R root /usr/spool/at + # chown -R uucp.daemon /usr/spool/uucp + # chmod -R o-w /usr/spool/uucp + + + The MAKEHOSTS file has moved from /usr/hosts to /usr. + + The source versions of the manual pages have been moved +from /usr/man/man[1-8] to /usr/src/man, /usr/src/new/man, +and /usr/src/local/man. Local manual pages should be moved +into their respective source code directories, or into +/usr/src/local/man/man[1-8], and Makefiles changed to +install the formatted manual pages into +/usr/local/man/cat[1-8]. The shell script /usr/man/manroff +calls nroff with the standard manual arguments. An example +of installing a manual page might be: + + # /usr/man/manroff example.2 > example.0 + # install -o bin -g bin -m 444 example.0 /usr/local/man/cat2 + + + Whatever else is left is likely to be site specific or +require careful scrutiny before placing in its eventual +resting place. Refer to the documentation and source code +before arbitrarily overwriting a file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX39 + + + 4. SYSTEM SETUP + + + + This section describes procedures used to set up a VAX +UNIX system. These procedures are used when a system is +first installed or when the system configuration changes. +Procedures for normal system operation are described in the +next section. + +4.1. Creating UNIX boot media + + The procedures for making the various UNIX boot media +are described in this section. If you have an 11/780, you +will need to make a floppy. Making a console floppy is also +recommended for 8200. For an 11/730 (and rarely for an +11/750), you will need to make a cassette. For an 8600, you +will need to make a console RL02 pack. + + The boot command files are all set up for booting off +of the first UNIBUS or MASSBUS. If you are booting off of a +different UNIBUS or MASSBUS, you will need to modify the +boot command files appropriately. + +4.1.1. Making a UNIX boot console RL02 pack + + If you have an 8600 you will want to create a UNIX boot +console RL02 pack by adding some files to your current DEC +console pack, using arff(8). If you do not want to modify +your current DEC console pack, you may make a copy of it +first using dd(1). This pack will make standalone system +operations such as bootstrapping much easier. + + First change into the directory where the console RL02 +information is stored: + + # cd /sys/consolerl + +then set up the default boot device. If you have an RK07 as +your primary root do: + + # cp defboo.hk defboo.com + +If you have a drive on a UDA50 (e.g. an RA81) as your pri- +mary root do: + + # cp defboo.ra defboo.com + +If you have a second vendor UNIBUS storage module as your +primary root do: + + # cp defboo.up defboo.com + +Otherwise: + + + + December 6, 2003 + + + + + +SMM:1-40ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + + # cp defboo.hp defboo.com + +The final step in updating the console RL02 pack is: + + # make update + +More copies of this console RL02 pack can be made using +dd(1). + +4.1.2. Making a UNIX boot floppy + + If you have an 11/780 you will want to create a UNIX +boot floppy by adding some files to a copy of your current +DEC console floppy, using either flcopy(8) or dd(1), and +using arff(8). This floppy will make standalone system +operations such as bootstrapping much easier. + + First change into the directory where the console +floppy information is stored: + + # cd /sys/floppy + +then set up the default boot device. If you have an RK07 as +your primary root do: + + # cp defboo.hk defboo.cmd + +If you have a drive on a UDA50 (e.g. an RA81) as your pri- +mary root do: + + # cp defboo.ra defboo.cmd + +If you have a second vendor UNIBUS storage module as your +primary root do: + + # cp defboo.up defboo.cmd + +Otherwise: + + # cp defboo.hp defboo.cmd + +On an 11/780, if the local configuration requires any +changes in restar.cmd or defboo.cmd (e.g., for interleaved +old-style memory controllers see defboo.MS780C-interleaved), +these should be made now. The following command will then +copy your DEC local console floppy, updating the copy +appropriately. + + # make update + Change Floppy, Hit return when done. + (waits for you to put clean floppy in console) + Are you sure you want to clobber the floppy? yes + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX41 + + +More copies of this floppy can be made using flcopy(8). + + On an 8200 it is recommended to make a UNIX console +RX50 floppy, although it is not required if you use the ROM +to boot directly from a KDB50 or UDA50. Since the 8200 does +not need any CPU microcode or front end processor code on +the console floppy, the distribution console RX50 may be +used for booting and as a maintenance aid. There is no need +to make a different console floppy. If you have not +received a console RX50 with your 4.3BSD-Quasijarus distri- +bution, you can make one with the following commands: + + # cd /sys/rx50 + # make + # make install + +The defboo.cmd and sngboo.cmd command scripts are set up for +booting from the first KDB50. If you need to boot from a +KDB50 other than the first, or from an UDA50, change the +scripts accordingly prior to running make. + +4.1.3. Making a UNIX boot cassette + + If you have an 11/730 you will want to create a UNIX +boot cassette by adding some files to a copy of your current +DEC console cassette, using flcopy(8) and arff(8). This +cassette will make standalone system operations such as +bootstrapping much easier. + + First change into the directory where the console +cassette information is stored: + + # cd /sys/cassette + +then set up the default boot device. If you have an IDC +storage module as your primary root do: + + # cp defboo.rb defboo.cmd + +If you have an RK07 as your primary root do: + + # cp defboo.hk defboo.cmd + +If you have a drive on a UDA50 as your primary root do: + + # cp defboo.ra defboo.cmd + +Otherwise: + + # cp defboo.up defboo.cmd + +To complete the procedure place your DEC local console +cassette in drive 0 (the drive at front of the CPU); the +following command will then copy it, updating the copy + + + + December 6, 2003 + + + + + +SMM:1-42ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +appropriately. + + # make update + Change Floppy, Hit return when done. + (waits for you to put clean cassette in console drive 0) + Are you sure you want to clobber the floppy? yes + +More copies of this cassette can best be made using dd(1). + + Although it is rarely necessary, you can also create a +console cassette for a 750 with BOOT58. You will need to do +this if you cannot obtain a boot PROM for your system disk. +Contact Quasijarus Consortium for assistance if you need to +do this. + +4.2. Kernel configuration + + This section briefly describes the layout of the kernel +code and how files for devices are made. For a full discus- +sion of configuring and building system images, consult the +document ``Building 4.3BSD UNIX Systems with Config''. + +4.2.1. Kernel organization + + As distributed, the kernel source is in a separate tar +image. The source may be physically located anywhere within +any file system so long as a symbolic link to the location +is created for the file /sys (many files in /usr/include are +normally symbolic links relative to /sys). In further dis- +cussions of the system source all path names will be given +relative to /sys. + + The directory /sys/sys contains the mainline machine +independent operating system code. Files within this direc- +tory are conventionally named with the following prefixes: + + + init system initialization + kern kernel (authentication, process management, etc.) + quota disk quotas + sys system calls and similar + tty terminal handling + ufs file system + uipc interprocess communication + vm virtual memory + + + + The remaining directories are organized as follows: + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX43 + + + + + /sys/h machine-independent include files + /sys/conf site configuration files and basic templates + /sys/kdb machine-independent part of the kernel debugger + /sys/net protocol-independent, but network-related code + /sys/netimp IMP support code + /sys/netinet DARPA Internet code + /sys/netns Xerox NS code + /sys/stand machine-independent standalone code + /sys/tahoe Tahoe-specific mainline code + /sys/tahoealign Tahoe unaligned-reference emulation code + /sys/tahoedist Tahoe distribution files + /sys/tahoeif Tahoe network interface code + /sys/tahoevba Tahoe VERSAbus device drivers and related code + /sys/tahoemath Tahoe floating point emulation code + /sys/tahoestand Tahoe standalone device drivers and related code + /sys/vax VAX-specific mainline code + /sys/vaxbi VAX BI device drivers and related code + /sys/vaxdist VAX distribution files + /sys/vaxif VAX network interface code + /sys/vaxmba VAX MASSBUS device drivers and related code + /sys/vaxstand VAX standalone device drivers and boot code + /sys/vaxuba VAX UNIBUS device drivers and related code + + + + Many of these directories are referenced through +/usr/include with symbolic links. For example, +/usr/include/sys is a symbolic link to /sys/h. The system +code, as distributed, is totally independent of the include +files in /usr/include. This allows the system to be recom- +piled from scratch without the /usr file system mounted. + +4.2.2. Devices and device drivers + + Devices supported by UNIX are implemented in the kernel +by drivers whose source is kept in /sys/vax, /sys/vaxbi, +/sys/vaxuba, or /sys/vaxmba. These drivers are loaded into +the system when included in a cpu specific configuration +file kept in the conf directory. Devices are accessed +through special files in the file system, made by the +mknod(8) program and normally kept in the /dev directory. +For all the devices supported by the distribution system, +the files in /dev are created by the /dev/MAKEDEV shell +script. + + Determine the set of devices that you have and create a +new /dev directory by running the MAKEDEV script. First +create a new directory /newdev, copy MAKEDEV into it, edit +the file MAKEDEV.local to provide an entry for local needs, +and run it to generate a /newdev directory. For instance, +if your machine has a single DZ11, a single DH11, a single +DMF32, an RM03 disk, an EMULEX UNIBUS SMD disk controller, + + + + December 6, 2003 + + + + + +SMM:1-44ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +an AMPEX 9300 disk, and a TE16 tape drive you would do: + + # cd / + # mkdir newdev + # cp dev/MAKEDEV newdev/MAKEDEV + # cd newdev + # MAKEDEV dz0 dh0 dmf0 hp0 up0 ht0 std LOCAL + +Note the ``std'' argument causes standard devices such as +/dev/console, the machine console, /dev/floppy, the console +floppy disk interface for the 11/780 and 11/785, and +/dev/tu0 and /dev/tu1, the console cassette interfaces for +the 11/750 and 11/730, to be created. + + You can then do + + # cd / + # mv dev olddev ; mv newdev dev + # sync + +to install the new device directory. + +4.2.3. Building new system images + + The kernel configuration of each UNIX system is +described by a single configuration file, stored in the +/sys/conf directory. To learn about the format of this file +and the procedure used to build system images, start by +reading ``Building 4.3BSD UNIX Systems with Config'', look +at the manual pages in section 4 of the UNIX manual for the +devices you have, and look at the sample configuration files +in the /sys/conf directory. + + The configured system image ``vmunix'' should be copied +to the root, and then booted to try it out. It is best to +name it /newvmunix so as not to destroy the working system +until you're sure it does work: + + # cp vmunix /newvmunix + # sync + +It is also a good idea to keep the previous system around +under some other name. In particular, we recommend that you +save the generic distribution version of the system per- +manently as /genvmunix for use in emergencies. To boot the +new version of the system you should follow the bootstrap +procedures outlined in section 6.1. After having booted and +tested the new system, it should be installed as /vmunix +before going into multiuser operation. A systematic scheme +for numbering and saving old versions of the system may be +useful. + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX45 + + +4.3. Disk configuration + + This section describes how to layout file systems to +make use of the available space and to balance disk load for +better system performance. + +4.3.1. Initializing /etc/fstab + + Change into the directory /etc and copy the appropriate +file from: + + fstab.rm03 + fstab.rm05 + fstab.rm80 + fstab.ra60 + fstab.ra80 + fstab.ra81 + fstab.rb80 + fstab.rp06 + fstab.rp07 + fstab.rk07 + fstab.up160m (160MB up drives) + fstab.hp400m (400MB hp drives) + fstab.up (other up drives) + fstab.hp (other hp drives) + +to the file /etc/fstab, i.e.: + + # cd /etc + # cp fstab.xxx fstab + + + This will set up the default information about the +usage of disk partitions, which we see how to update more +below. + +4.3.2. Disk naming and divisions + + Each physical disk drive can be divided into up to 8 +partitions; UNIX typically uses only 3 or 4 partitions. For +instance, on an RM80, the first partition, hp0a, is used for +a root file system, a backup thereof, or a small file system +like, /tmp; the second partition, hp0b, is used for paging +and swapping; and the third partition, hp0g, holds a user +file system. On an RM05, the first three partitions are +used as for the RM80, and the fourth partition, hp0h, holds +the /usr file system, including source code. + + The disk partition sizes for a drive are based on a set +of four prototype partition tables; c.f. diskpart(8). The +particular table used is dependent on the size of the drive. +The ``a'' partition is the same size across all drives, +15884 sectors. The ``b'' partition, used for paging and +swapping, is sized according to the total space on the disk. + + + + December 6, 2003 + + + + + +SMM:1-46ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +For drives less than about 400 megabytes the partition is +33440 sectors, while for larger drives the partition size is +doubled to 66880 sectors. The ``c'' partition is always +used to access the entire physical disk, including the space +at the back of the disk reserved for the bad sector forward- +ing table. If the disk is larger than about 250 megabytes, +an ``h'' partition is created with size 291346 sectors, and +no matter whether the ``h'' partition is created or not, the +remainder of the drive is allocated to the ``g'' partition. +Sites that want to split up the ``g'' partition into several +smaller file systems may use the ``d'', ``e'', and ``f'' +partitions that overlap the ``g'' partition. The default +sizes for these partitions are 15884, 55936, and the +remainder of the disk, respectively*. + + The disk partition sizes for DEC RA60, RA80, and RA81 +have changed since 4.2BSD. If upgrading from 4.2BSD, you +will need to decide if you want to use the new partitions or +the old partitions. If you desire to use the old parti- +tions, you will need to label your packs as `racompat', or +create your own by updating /etc/disktab. Any other parti- +tion sizes that were modified at your site will require the +same consideration; if the device driver does not support +pack labels, you will have to update its compiled-in tables +as well. + + The space available on a disk varies per device. The +amount of space available on the common disk partitions is +listed in the following table. Not shown in the table are +the partitions of each drive devoted to the root file system +and the paging area. Many other partitions are listed in +the standard partitions, but most of them are not useful. +Note that the standard partition tables usually list several +alternative ways to divide a disk, but that only nonoverlap- +ping partitions may be used on any one disk. + + + + + + + + + + + + + + +* These rules are, unfortunately, not evenly applied to +all disks. /etc/disktab, and the pack label or driver +tables, give the final word; consult section 4 of the +manual, and read /etc/disktab, for more information. + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX47 + + + + + Type Name Size Name Size + + + rk07 hk?g 13 Mb + rm03 hp?g 41 Mb + rp06 hp?g 145 Mb + rm05 hp?g 80 Mb hp?h 145 Mb + rm80 hp?g 96 Mb + ra60 ra?g 78 Mb ra?h 96 Mb + ra80 ra?g 96 Mb + ra81 ra?g 257 Mb ra?h 145 Mb + rb80 rb?g 41 Mb rb?h 56 Mb + rp07 hp?g 315 Mb hp?h 145 Mb + up300 up?g 80 Mb up?h 145 Mb + up330 up?g 90 Mb up?h 145 Mb + up400 hp?g 216 Mb hp?h 145 Mb + up160 up?g 106 Mb + + + +Here up300 refers to either an AMPEX or CDC 300 megabyte +disk on a MASSBUS or UNIBUS disk controller, up330 refers to +either an AMPEX or FUJITSU 330 megabyte disk on a MASSBUS or +UNIBUS controller, up160 refers to a FUJITSU 160 megabyte +disk on the UNIBUS, and up400 refers to a FUJITSU Eagle 400 +megabyte disk on a MASBUS or UNIBUS disk controller. ``hp'' +should be substituted for ``up'' above if the disk is on the +MASSBUS. Consult the manual pages for the specific con- +trollers for other supported disks or other partitions. + + Each disk also has a paging area, typically 16 mega- +bytes, and a root file system of 7.5 megabytes. The distri- +buted system binaries occupy about 34 megabytes while the +major sources occupy another 32 megabytes. This overflows +dual RK07, dual RL02 and single RM03 systems, but fits +easily on most other hardware configurations. + + Be aware that the disks have their sizes measured in +disk sectors (usually 512 bytes), while the UNIX file system +blocks are variable sized. All user programs report disk +space in kilobytes and, where needed, disk sizes are always +specified in units of sectors. The /etc/disktab file used +in labelling disks and making file systems specifies disk +partition sizes in sectors; the default sector size +(DEV BSIZE as defined in /sys/h/param.h) may be overridden +with the ``se'' attribute. + +4.3.3. Layout considerations + + There are several considerations in deciding how to +adjust the arrangement of things on your disks. The most +important is making sure that there is adequate space for +what is required; secondarily, throughput should be + + + + December 6, 2003 + + + + + +SMM:1-48ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +maximized. Paging space is an important parameter. The +system, as distributed, sizes the configured paging areas +each time the system is booted. Further, multiple paging +areas of different size may be interleaved. Drives smaller +than 400 megabytes have swap partitions of 16 megabytes +while drives larger than 400 megabytes have 32 megabytes. +These values may be changed to get more paging space by +changing the label (or, if labels are unsupported, the +appropriate partition table in the disk driver). + + Many common system programs (C, the editor, the assem- +bler etc.) create intermediate files in the /tmp directory, +so the file system where this is stored also should be made +large enough to accommodate most high-water marks; if you +have several disks, it makes sense to mount this in a +``root'' (i.e. first partition) file system on another disk. +All the programs that create files in /tmp take care to +delete them, but are not immune to rare events and can leave +dregs. The directory should be examined every so often and +the old files deleted. + + The efficiency with which UNIX is able to use the CPU +is often strongly affected by the configuration of disk con- +trollers. For general time-sharing applications, the best +strategy is to try to split the root file system (/), system +binaries (/usr), the temporary files (/tmp), and the user +files among several disk arms, and to interleave the paging +activity among several arms. + + It is critical for good performance to balance disk +load. There are at least five components of the disk load +that you can divide between the available disks: + + 1. The root file system. + 2. The /tmp file system. + 3. The /usr file system. + 4. The user files. + 5. The paging activity. + +The following possibilities are ones we have used at times +when we had 2, 3 and 4 disks: + + + + disks + what 2 3 4 + + + / 0 0 0 + tmp 1 2 3 + usr 1 1 1 + paging 0+1 0+2 0+2+3 + users 0 0+2 0+2 + archive x x 3 + + + | + | + | + | + | + + | + | + | + | + + + + + + + + + | + | + | + | + | + | + | + | + | + | + + + + + + + + + + | + | + | + | + | + | + | + | + | + + + + + + + + + | + | + | + | + | + | + | + | + | + + + + + + + + | + | + | + | + | + | + | + | + | + + + + + + + + | + | + | + | + | + | + | + | + | + | + + + + + + + + + | + | + | + | + | + | + | + | + | + | + + + + + + + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX49 + + + The most important things to consider are to even out +the disk load as much as possible, and to do this by decou- +pling file systems (on separate arms) between which heavy +copying occurs. Note that a long term average balanced load +is not important; it is much more important to have an +instantaneously balanced load when the system is busy. + + Intelligent experimentation with a few file system +arrangements can pay off in much improved performance. It +is particularly easy to move the root, the /tmp file system +and the paging areas. Place the user files and the /usr +directory as space needs dictate and experiment with the +other, more easily moved file systems. + +4.3.4. File system parameters + + Each file system is parameterized according to its +block size, fragment size, and the disk geometry charac- +teristics of the medium on which it resides. Inaccurate +specification of the disk characteristics or haphazard +choice of the file system parameters can result in substan- +tial throughput degradation or significant waste of disk +space. As distributed, file systems are configured accord- +ing to the following table. + + + File system Block size Fragment size + + + / 8 kbytes 1 kbytes + usr 4 kbytes 1 kbytes + users 4 kbytes 1 kbytes + + + + The root file system block size is made large to optim- +ize bandwidth to the associated disk; this is particularly +important since the /tmp directory is normally part of the +root file or a similar filesystem. The large block size is +also important as many of the most heavily used programs are +demand paged out of the /bin directory. The fragment size +of 1 kbyte is a ``nominal'' value to use with a file system. +With a 1 kbyte fragment size disk space utilization is about +the same as with the earlier versions of the file system. + + The usr file system would like to use a 4 kbyte block +size with 512 byte fragment size in an effort to get high +performance while conserving the amount of space wasted by a +large fragment size. However, the tahoe disk controllers +require a minimum block size of 1 Kbyte. Space compaction +has been deemed important here because the source code for +the system is normally placed on this file system. If the +source code is placed on a separate filesystem, use of an 8 +kbyte block size with 1 kbyte fragments might be considered +for improved performance when paging from /usr binaries. + + + + December 6, 2003 + + + + + +SMM:1-50ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + The file systems for users have a 4 kbyte block size +with 1 kbyte fragment size. These parameters have been +selected based on observations of the performance of our +user file systems. The 4 kbyte block size provides adequate +bandwidth while the 1 kbyte fragment size provides accept- +able space compaction and disk fragmentation. + + Other parameters may be chosen in constructing file +systems, but the factors involved in choosing a block size +and fragment size are many and interact in complex ways. +Larger block sizes result in better throughput to large +files in the file system as larger I/O requests will then be +performed by the system. However, consideration must be +given to the average file sizes found in the file system and +the performance of the internal system buffer cache. The +system currently provides space in the inode for 12 direct +block pointers, 1 single indirect block pointer, and 1 dou- +ble indirect block pointer.* If a file uses only direct +blocks, access time to it will be optimized by maximizing +the block size. If a file spills over into an indirect +block, increasing the block size of the file system may +decrease the amount of space used by eliminating the need to +allocate an indirect block. However, if the block size is +increased and an indirect block is still required, then more +disk space will be used by the file because indirect blocks +are allocated according to the block size of the file sys- +tem. + + In selecting a fragment size for a file system, at +least two considerations should be given. The major perfor- +mance tradeoffs observed are between an 8 kbyte block file +system and a 4 kbyte block file system. Because of imple- +mentation constraints, the block size / fragment size ratio +can not be greater than 8. This means that an 8 kbyte file +system will always have a fragment size of at least 1 +kbytes. If a file system is created with a 4 kbyte block +size and a 1 kbyte fragment size, then upgraded to an 8 +kbyte block size and 1 kbyte fragment size, identical space +compaction will be observed. However, if a file system has +a 4 kbyte block size and 512 byte fragment size, converting +it to an 8K/1K file system will result in significantly more +space being used. This implies that 4 kbyte block file sys- +tems that might be upgraded to 8 kbyte blocks for higher +performance should use fragment sizes of at least 1 kbytes +to minimize the amount of work required in conversion. + + A second, more important, consideration when selecting +the fragment size for a file system is the level of fragmen- +tation on the disk. With an 8:1 fragment to block ratio, +storage fragmentation occurs much sooner, particularly with + +* A triple indirect block pointer is also reserved, but +not currently supported. + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX51 + + +a busy file system running near full capacity. By com- +parison, the level of fragmentation in a 4:1 fragment to +block ratio file system is one tenth as severe. This means +that on file systems where many files are created and +deleted, the 512 byte fragment size is more likely to result +in apparent space exhaustion because of fragmentation. That +is, when the file system is nearly full, file expansion that +requires locating a contiguous area of disk space is more +likely to fail on a 512 byte file system than on a 1 kbyte +file system. To minimize fragmentation problems of this +sort, a parameter in the super block specifies a minimum +acceptable free space threshold. When normal users (i.e. +anyone but the super-user) attempt to allocate disk space +and the free space threshold is exceeded, the user is +returned an error as if the file system were really full. +This parameter is nominally set to 10%; it may be changed by +supplying a parameter to newfs(8), or by updating the super +block of an existing file system using tunefs(8). + + In general, unless a file system is to be used for a +special purpose application (for example, storing image pro- +cessing data), we recommend using the values supplied above. +Remember that the current implementation limits the block +size to at most 8 kbytes and the ratio of block size / frag- +ment size must be 1, 2, 4, or 8. + + The disk geometry information used by the file system +affects the block layout policies employed. The file +/etc/disktab, as supplied, contains the data for most all +drives supported by the system. Before constructing a file +system with newfs(8) you should label the disk (if it has +not yet been labeled, and the driver supports labels). If +labels cannot be used, you must instead specify the type of +disk on which the file system resides; newfs then reads +/etc/disktab instead of the pack label. This file also con- +tains the default file system partition sizes, and default +block and fragment sizes. To override any of the default +values you can modify the file, edit the disk label, or use +an option to newfs. + +4.3.5. Implementing a layout + + To put a chosen disk layout into effect, you should use +the newfs(8) command to create each new file system. Each +file system must also be added to the file /etc/fstab so +that it will be checked and mounted when the system is +bootstrapped. + + As an example, consider a system with RM80's. On the +first RM80, hp0, we will put the root file system in hp0a, +and the /usr file system in hp0, which has enough space to +hold it and then some. The /tmp directory will be part of +the root file system, as no file system will be mounted on +/tmp. If we had only one RM80, we would put user files in + + + + December 6, 2003 + + + + + +SMM:1-52ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +the hp0 partition with the system source and binaries. + + If we had a second RM80, we would place /usr in hp1g. +We would put user files in hp0g, calling the file system /a. +We would also interleave the paging between the 2 RM80's. +To do this we would build a system configuration that speci- +fied: + + config vmunix root on hp0 swap on hp0 and hp1 + +to get the swap interleaved, and /etc/fstab would then con- +tain + + /dev/hp0a:/:rw:1:1 + /dev/hp0b::sw:: + /dev/hp0g:/a:rw:1:2 + /dev/hp1b::sw:: + /dev/hp1g:/usr:rw:1:2 + +We would keep a backup copy of the root file system in the +hp1a disk partition. Alternatively, that partition could be +used for /tmp. + + To make the /a file system we would do: + + # cd /dev + # MAKEDEV hp1 + # disklabel -wr hp1 RM80 "disk name" + # newfs hp1g + (information about file system prints out) + # mkdir /a + # mount /dev/hp1g /a + + +4.4. Configuring terminals + + If UNIX is to support simultaneous access from +directly-connected terminals other than the console, the +file /etc/ttys (ttys(5)) must be edited. + + Terminals connected via DZ11 interfaces are convention- +ally named ttyDD where DD is a decimal number, the ``minor +device'' number. The lines on dz0 are named /dev/tty00, +/dev/tty01, ... /dev/tty07. By convention, all other termi- +nal names are of the form ttyCX, where C is an alphabetic +character according to the type of terminal multiplexor and +its unit number, and X is a digit for the first ten lines on +the interface and an increasing lower case letter for the +rest of the lines. C is defined for the number of inter- +faces of each type listed below. + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX53 + + + + + + + Interface Number of lines Number of + Type Characters per board Interfaces + + + DZ11 see above 8 10 + DMF32 A-C,E-I 8 8 + DMZ32 a-c,e-g 24 6 + DH11 h-o 16 8 + DHU11 S-Z 16 8 + pty p-u 16 6 + + + | + | + | + | + | + | + | + | + | + | + + + + + + + + + | + | + | + | + | + | + | + + | + | + + + + + + + + + + + + + + To add a new terminal device, be sure the device is +configured into the system and that the special files for +the device have been made by /dev/MAKEDEV. (For example, +use ``cd /dev; MAKEDEV dz1'' to make the special files for +the second DZ11.) Then, enable the appropriate lines of +/etc/ttys by setting the ``status'' field to on (or add new +lines). Note that lines in /etc/ttys are one-for-one with +entries in the file of current users (/etc/utmp), and there- +fore it is best to make changes while running in single-user +mode and to add all of the entries for a new device at once. + + The format of the /etc/ttys file is completely new in +4.3BSD. Each line in the file is broken into four tab +separated fields (comments are shown by a `#' character and +extend to the end of the line). For each terminal line the +four fields are: the device (without a leading /dev), the +program /etc/init should startup to service the line (or +none if the line is to be left alone), the terminal type +(found in /etc/termcap), and optional status information +describing if the terminal is enabled or not and if it is +``secure'' (i.e. the super user should be allowed to login +on the line). All fields are character strings with entries +requiring embedded white space enclosed in double quotes. +Thus a newly added terminal /dev/tty00 could be added as + + tty00 "/etc/getty std.9600" vt100 on secure # mike's office + +The std.9600 parameter provided to /etc/getty is used in +searching the file /etc/gettytab; it specifies a terminal's +characteristics (such as baud rate). To make custom termi- +nal types, consult gettytab(5) before modifying +/etc/gettytab. + + Dialup terminals should be wired so that carrier is +asserted only when the phone line is dialed up. For non- +dialup terminals, from which modem control is not available, +you must either wire back the signals so that the carrier +appears to always be present, or show in the system + + + + December 6, 2003 + + + + + +SMM:1-54ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +configuration that carrier is to be assumed to be present +with flags for each terminal device. See dh(4), dhu(4), +dz(4), dmz(4), and dmf(4) for details. + + For network terminals (i.e. pseudo terminals), no pro- +gram should be started up on the lines. Thus, the normal +entry in /etc/ttys would look like + + ttyp0 none network + +(Note, the fourth field is not needed here.) + + When the system is running multi-user, all terminals +that are listed in /etc/ttys as on have their line enabled. +If, during normal operations, you wish to disable a terminal +line, you can edit the file /etc/ttys to change the +terminal's status to off and then send a hangup signal to +the init process, by doing + + # kill -1 1 + +Terminals can similarly be enabled by changing the status +field from off to on and sending a hangup signal to init. + + Note that if a special file is inaccessible when init +tries to create a process for it, init will log a message to +the system error logging process (/etc/syslogd) and try to +reopen the terminal every minute, reprinting the warning +message every 10 minutes. Messages of this sort are nor- +mally printed on the console, though other actions may occur +depending on the configuration information found in +/etc/syslog.conf. + + Finally note that you should change the names of any +dialup terminals to ttyd? where ? is in [0-9a-zA-Z], as +some programs use this property of the names to determine if +a terminal is a dialup. Shell commands to do this should be +put in the /dev/MAKEDEV.local script. + + While it is possible to use truly arbitrary strings for +terminal names, the accounting and noticeably the ps(1) com- +mand make good use of the convention that tty names (by +default, and also after dialups are named as suggested +above) are distinct in the last 2 characters. Change this +and you may be sorry later, as the heuristic ps(1) uses +based on these conventions will then break down and ps will +run MUCH slower. + +4.5. Adding users + + The procedure for adding a new user is described in +adduser(8). You should add accounts for the initial user +community, giving each a directory and a password, and put- +ting users who will wish to share software in the same + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX55 + + +groups. + + Several guest accounts have been provided on the dis- +tribution system; these accounts are for people at Berkeley, +Bell Laboratories, and others who have done major work on +UNIX in the past. You can delete these accounts, or leave +them on the system if you expect that these people would +have occasion to login as guests on your system. + +4.6. Site tailoring + + All programs that require the site's name, or some +similar characteristic, obtain the information through sys- +tem calls or from files located in /etc. Aside from parts +of the system related to the network, to tailor the system +to your site you must simply select a site name, then edit +the file + + /etc/netstart + +The first lines in /etc/netstart use a variable to set the +hostname, + + hostname=mysitename + /bin/hostname $hostname + +to define the value returned by the gethostname(2) system +call. If you are running the name server, your site name +should be your fully qualified domain name. Programs such +as getty(8), mail(1), wall(1), and uucp(1) use this system +call so that the binary images are site independent. + +4.7. Setting up the line printer system + + The line printer system consists of at least the fol- +lowing files and commands: + + + /usr/ucb/lpq spooling queue examination program + /usr/ucb/lprm program to delete jobs from a queue + /usr/ucb/lpr program to enter a job in a printer queue + /etc/printcap printer configuration and capability data base + /usr/lib/lpd line printer daemon, scans spooling queues + /etc/lpc line printer control program + /etc/hosts.lpd list of host allowed to use the printers + + + + The file /etc/printcap is a master data base describing +line printers directly attached to a machine and, also, +printers accessible across a network. The manual page +printcap(5) describes the format of this data base and also +shows the default values for such things as the directory in +which spooling is performed. The line printer system + + + + December 6, 2003 + + + + + +SMM:1-56ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +handles multiple printers, multiple spooling queues, local +and remote printers, and also printers attached via serial +lines that require line initialization such as the baud +rate. Raster output devices such as a Varian or Versatec, +and laser printers such as an Imagen, are also supported by +the line printer system. + + Remote spooling via the network is handled with two +spooling queues, one on the local machine and one on the +remote machine. When a remote printer job is started with +lpr, the job is queued locally and a daemon process created +to oversee the transfer of the job to the remote machine. +If the destination machine is unreachable, the job will +remain queued until it is possible to transfer the files to +the spooling queue on the remote machine. The lpq program +shows the contents of spool queues on both the local and +remote machines. + + To configure your line printers, consult the printcap +manual page and the accompanying document, ``4.3BSD Line +Printer Spooler Manual''. A call to the lpd program should +be present in /etc/rc. + +4.8. Setting up the mail system + + The mail system consists of the following commands: + + + /bin/mail old standard mail program, described in binmail(1) + /usr/ucb/mail UCB mail program, described in mail(1) + /usr/lib/sendmail mail routing program + /usr/spool/mail mail spooling directory + /usr/spool/secretmail secure mail directory + /usr/bin/xsend secure mail sender + /usr/bin/xget secure mail receiver + /usr/lib/aliases mail forwarding information + /usr/ucb/newaliases command to rebuild binary forwarding database + /usr/ucb/biff mail notification enabler + /etc/comsat mail notification daemon + + +Mail is normally sent and received using the mail(1) command +(found in /usr/ucb/mail), which provides a front-end to edit +the messages sent and received, and passes the messages to +sendmail(8) for routing. The routing algorithm uses +knowledge of the network name syntax, aliasing and forward- +ing information, and network topology, as defined in the +configuration file /usr/lib/sendmail.cf, to process each +piece of mail. Local mail is delivered by giving it to the +program /bin/mail that adds it to the mailboxes in the +directory /usr/spool/mail/username, using a locking protocol +to avoid problems with simultaneous updates. After the mail +is delivered, the local mail delivery daemon /etc/comsat is +notified, which in turn notifies users who have issued a + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX57 + + +``biff y'' command that mail has arrived. + + Mail queued in the directory /usr/spool/mail is nor- +mally readable only by the recipient. To send mail that is +secure against perusal (except by a code-breaker) you should +use the secret mail facility, which encrypts the mail. + + To set up the mail facility you should read the +instructions in the file READ ME in the directory +/usr/src/usr.lib/sendmail and then adjust the necessary con- +figuration files. You should also set up the file +/usr/lib/aliases for your installation, creating mail groups +as appropriate. Documents describing sendmail's operation +and installation are also included in the distribution. + +4.8.1. Setting up a UUCP connection + + The version of uucp included in 4.3BSD-Quasijarus is a +greatly enhanced version of the one originally distributed +with 32/V*. The enhancements include: + +o support for many auto call units and dialers in addition + to the DEC DN11, + +o breakup of the spooling area into multiple subdirec- + tories, + +o addition of an L.cmds file to control the set of commands + that may be executed by a remote site, + +o enhanced ``expect-send'' sequence capabilities when log- + ging in to a remote site, + +o new commands to be used in polling sites and obtaining + snap shots of uucp activity, + +o additional protocols for different communication media. + +This section gives a brief overview of uucp and points out +the most important steps in its installation. + + To connect two UNIX machines with a uucp network link +using modems, one site must have an automatic call unit and +the other must have a dialup port. It is better if both +sites have both. + + You should first read the paper in the UNIX System +Manager's Manual: ``Uucp Implementation Description''. It + +* The uucp included in this distribution is the result +of work by many people; we gratefully acknowledge their +contributions, but refrain from mentioning names in the +interest of keeping this document current. + + + + + December 6, 2003 + + + + + +SMM:1-58ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +describes in detail the file formats and conventions, and +will give you a little context. In addition, the document +``setup.tblms'', located in the directory +/usr/src/usr.bin/uucp/UUAIDS, may be of use in tailoring the +software to your needs. + + The uucp support is located in three major directories: +/usr/bin, /usr/lib/uucp, and /usr/spool/uucp. User commands +are kept in /usr/bin, operational commands in /usr/lib/uucp, +and /usr/spool/uucp is used as a spooling area. The com- +mands in /usr/bin are: + + + /usr/bin/uucp file-copy command + /usr/bin/uux remote execution command + /usr/bin/uusend binary file transfer using mail + /usr/bin/uuencode binary file encoder (for uusend) + /usr/bin/uudecode binary file decoder (for uusend) + /usr/bin/uulog scans session log files + /usr/bin/uusnap gives a snap-shot of uucp activity + /usr/bin/uupoll polls remote system until an answer is received + /usr/bin/uuname prints a list of known uucp hosts + /usr/bin/uuq gives information about the queue + + +The important files and commands in /usr/lib/uucp are: + + + /usr/lib/uucp/L-devices list of dialers and hard-wired lines + /usr/lib/uucp/L-dialcodes dialcode abbreviations + /usr/lib/uucp/L.aliases hostname aliases + /usr/lib/uucp/L.cmds commands remote sites may execute + /usr/lib/uucp/L.sys systems to communicate with, how to connect, and when + /usr/lib/uucp/SEQF sequence numbering control file + /usr/lib/uucp/USERFILE remote site pathname access specifications + /usr/lib/uucp/uucico uucp protocol daemon + /usr/lib/uucp/uuclean cleans up garbage files in spool area + /usr/lib/uucp/uuxqt uucp remote execution server + + +while the spooling area contains the following important +files and directories: + + + /usr/spool/uucp/C. directory for command, ``C.'' files + /usr/spool/uucp/D. directory for data, ``D.'', files + /usr/spool/uucp/X. directory for command execution, ``X.'', files + /usr/spool/uucp/D.machine directory for local ``D.'' files + /usr/spool/uucp/D.machineX directory for local ``X.'' files + /usr/spool/uucp/TM. directory for temporary, ``TM.'', files + /usr/spool/uucp/LOGFILE log file of uucp activity + /usr/spool/uucp/SYSLOG log file of uucp file transfers + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX59 + + + To install uucp on your system, start by selecting a +site name (shorter than 14 characters). A uucp account must +be created in the password file and a password set up. +Then, create the appropriate spooling directories with mode +755 and owned by user uucp, group daemon. + + If you have an auto-call unit, the L.sys, L-dialcodes, +and L-devices files should be created. The L.sys file +should contain the phone numbers and login sequences +required to establish a connection with a uucp daemon on +another machine. For example, our L.sys file looks some- +thing like: + + adiron Any ACU 1200 out0123456789- ogin-EOT-ogin uucp + cbosg Never Slave 300 + cbosgd Never Slave 300 + chico Never Slave 1200 out2010123456 + +The first field is the name of a site, the second shows when +the machine may be called, the third field specifies how the +host is connected (through an ACU, a hard-wired line, etc.), +then comes the phone number to use in connecting through an +auto-call unit, and finally a login sequence. The phone +number may contain common abbreviations that are defined in +the L-dialcodes file. The device specification should refer +to devices specified in the L-devices file. Listing only +ACU causes the uucp daemon, uucico, to search for any avail- +able auto-call unit in L-devices. Our L-dialcodes file is +of the form: + + ucb 2 + out 9% + +while our L-devices file is: + + ACU cul0 unused 1200 ventel + +Refer to the README file in the uucp source directory for +more information about installation. + + As uucp operates it creates (and removes) many small +files in the directories underneath /usr/spool/uucp. Some- +times files are left undeleted; these are most easily purged +with the uuclean program. The log files can grow without +bound unless trimmed back; uulog maintains these files. +Many useful aids in maintaining your uucp installation are +included in a subdirectory UUAIDS beneath +/usr/src/usr.bin/uucp. Peruse this directory and read the +``setup'' instructions also located there. + + + + + + + + + December 6, 2003 + + + + + +SMM:1-60ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + 5. NETWORK SETUP + + + + 4.3BSD provides support for the DARPA standard Internet +protocols IP, ICMP, TCP, and UDP. These protocols may be +used on top of a variety of hardware devices ranging from +the IMP's (PSN's) used in the ARPANET to local area network +controllers for the Ethernet. Network services are split +between the kernel (communication protocols) and user pro- +grams (user services such as TELNET and FTP). This section +describes how to configure your system to use the Internet +networking support. 4.3BSD also supports the Xerox Network +Systems (NS) protocols. IDP and SPP are implemented in the +kernel, and other protocols such as Courier run at the user +level. + +5.1. System configuration + + To configure the kernel to include the Internet commun- +ication protocols, define the INET option. Xerox NS support +is enabled with the NS option. In either case, include the +pseudo-devices ``pty'', and ``loop'' in your machine's con- +figuration file. The ``pty'' pseudo-device forces the pseudo +terminal device driver to be configured into the system, see +pty(4), while the ``loop'' pseudo-device forces inclusion of +the software loopback interface driver. The loop driver is +used in network testing and also by the error logging sys- +tem. + + If you are planning to use the Internet network facili- +ties on a 10Mb/s Ethernet, the pseudo-device ``ether'' +should also be included in the configuration; this forces +inclusion of the Address Resolution Protocol module used in +mapping between 48-bit Ethernet and 32-bit Internet +addresses. Also, if you have an IMP connection, you will +need to include the pseudo-device ``imp.'' + + Before configuring the appropriate networking hardware, +you should consult the manual pages in section 4 of the +Programmer's Manual. The following table lists the devices +for which software support exists. + + + + + + + + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX61 + + + + + Device name Manufacturer and product + + + acc ACC LH/DH interface to IMP + css DEC IMP-11A interface to IMP + ddn ACC ACP625 DDN Standard mode X.25 interface to IMP + dmc DEC DMC-11 (also works with DMR-11) + de DEC DEUNA 10Mb/s Ethernet + ec 3Com 10Mb/s Ethernet + en Xerox 3Mb/s prototype Ethernet (not a product) + ex Excelan 204 10Mb/s Ethernet + hdh ACC IF-11/HDH IMP interface + hy NSC Hyperchannel, w/ DR-11B and PI-13 interfaces + il Interlan 1010 and 10101A 10Mb/s Ethernet interfaces + ix Interlan NP100 10Mb/s Ethernet interface + pcl DEC PCL-11 + vv Proteon 10Mb/s and 80Mb/s proNET ring network (V2LNI) + + + + All network interface drivers including the loopback +interface, require that their host address(es) be defined at +boot time. This is done with ifconfig(8C) commands included +in the /etc/netstart file. Interfaces that are able to +dynamically deduce the host part of an address may check +that the host part of the address is correct. The manual +page for each network interface describes the method used to +establish a host's address. Ifconfig(8C) can also be used +to set options for the interface at boot time. Options are +set independently for each interface, and apply to all pack- +ets sent using that interface. These options include disa- +bling the use of the Address Resolution Protocol; this may +be useful if a network is shared with hosts running software +that does not yet provide this function. Alternatively, +translations for such hosts may be set in advance or ``pub- +lished'' by a 4.3BSD host by use of the arp(8C) command. +Note that the use of trailer link-level is now negotiated +between 4.3BSD hosts using ARP, and it is thus no longer +necessary to disable the use of trailers with ifconfig. + + To use the pseudo terminals just configured, device +entries must be created in the /dev directory. To create 32 +pseudo terminals (plenty, unless you have a heavy network +load) execute the following commands. + + # cd /dev + # MAKEDEV pty0 pty1 + +More pseudo terminals may be made by specifying pty2, pty3, +etc. The kernel normally includes support for 32 pseudo +terminals unless the configuration file specifies a dif- +ferent number. Each pseudo terminal really consists of two +files in /dev: a master and a slave. The master pseudo + + + + December 6, 2003 + + + + + +SMM:1-62ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +terminal file is named /dev/ptyp?, while the slave side is +/dev/ttyp?. Pseudo terminals are also used by several pro- +grams not related to the network. In addition to creating +the pseudo terminals, be sure to install them in the +/etc/ttys file (with a `none' in the second column so no +getty is started). + +5.2. Local subnets + + In 4.3BSD the DARPA Internet support includes the +notion of ``subnets''. This is a mechanism by which multi- +ple local networks may appears as a single Internet network +to off-site hosts. Subnetworks are useful because they +allow a site to hide their local topology, requiring only a +single route in external gateways; it also means that local +network numbers may be locally administered. The standard +describing this change in Internet addressing is RFC-950. + + To set up local subnets one must first decide how the +available address space (the Internet ``host part'' of the +32-bit address) is to be partitioned. Sites with a class A +network number have a 24-bit host address space with which +to work, sites with a class B network number have a 16-bit +host address space, while sites with a class C network +number have an 8-bit host address space.* To define local +subnets you must steal some bits from the local host address +space for use in extending the network portion of the Inter- +net address. This reinterpretation of Internet addresses is +done only for local networks; i.e. it is not visible to +hosts off-site. For example, if your site has a class B +network number, hosts on this network have an Internet +address that contains the network number, 16 bits, and the +host number, another 16 bits. To define 254 local subnets, +each possessing at most 255 hosts, 8 bits may be taken from +the local part. (The use of subnets 0 and all-1's, 255 in +this example, is discouraged to avoid confusion about broad- +cast addresses.) These new network numbers are then con- +structed by concatenating the original 16-bit network number +with the extra 8 bits containing the local subnet number. + + The existence of local subnets is communicated to the +system at the time a network interface is configured with +the netmask option to the ifconfig program. A ``network +mask'' is specified to define the portion of the Internet +address that is to be considered the network part for that +network. This mask normally contains the bits corresponding +to the standard network part as well as the portion of the +local part that has been assigned to subnets. If no mask is + +* If you are unfamiliar with the Internet addressing +structure, consult ``Address Mappings'', Internet RFC- +796, J. Postel; available from the Internet Network In- +formation Center at SRI. + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX63 + + +specified when the address is set, it will be set according +to the class of the network. For example, at Berkeley +(class B network 128.32) 8 bits of the local part have been +reserved for defining subnets; consequently the +/etc/netstart file contains lines of the form + + /etc/ifconfig en0 netmask 0xffffff00 128.32.1.7 + +This specifies that for interface ``le0'', the upper 24 bits +of the Internet address should be used in calculating net- +work numbers (netmask 0xffffff00), and the interface's +Internet address is ``128.32.1.7'' (host 7 on network +128.32.1). Hosts m on sub-network n of this network would +then have addresses of the form ``128.32.n.m''; for exam- +ple, host 99 on network 129 would have an address +``128.32.129.99''. For hosts with multiple interfaces, the +network mask should be set for each interface, although in +practice only the mask of the first interface on each net- +work is actually used. + +5.3. Internet broadcast addresses + + The address defined as the broadcast address for Inter- +net networks according to RFC-919 is the address with a host +part of all 1's. The address used by 4.2BSD was the address +with a host part of 0. 4.3BSD uses the standard broadcast +address (all 1's) by default, but allows the broadcast +address to be set (with ifconfig) for each interface. This +allows networks consisting of both 4.2BSD and 4.3BSD hosts +to coexist while the upgrade process proceeds. In the pres- +ence of subnets, the broadcast address uses the subnet field +as for normal host addresses, with the remaining host part +set to 1's (or 0's, on a network that has not yet been con- +verted). 4.3BSD hosts recognize and accept packets sent to +the logical-network broadcast address as well as those sent +to the subnet broadcast address, and when using an all-1's +broadcast, also recognize and receive packets sent to host 0 +as a broadcast. + +5.4. Routing + + If your environment allows access to networks not +directly attached to your host you will need to set up rout- +ing information to allow packets to be properly routed. Two +schemes are supported by the system. The first scheme +employs the routing table management daemon /etc/routed to +maintain the system routing tables. The routing daemon uses +a variant of the Xerox Routing Information Protocol to main- +tain up to date routing tables in a cluster of local area +networks. By using the /etc/gateways file created by +htable(8), the routing daemon can also be used to initialize +static routes to distant networks (see the next section for +further discussion). When the routing daemon is started up +(usually from /etc/rc) it reads /etc/gateways if it exists + + + + December 6, 2003 + + + + + +SMM:1-64ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +and installs those routes defined there, then broadcasts on +each local network to which the host is attached to find +other instances of the routing daemon. If any responses are +received, the routing daemons cooperate in maintaining a +globally consistent view of routing in the local environ- +ment. This view can be extended to include remote sites +also running the routing daemon by setting up suitable +entries in /etc/gateways; consult routed(8C) for a more +thorough discussion. + + The second approach is to define a default or wildcard +route to a smart gateway and depend on the gateway to pro- +vide ICMP routing redirect information to dynamically create +a routing data base. This is done by adding an entry of the +form + + /etc/route add default smart-gateway 1 + +to /etc/netstart; see route(8C) for more information. The +default route will be used by the system as a ``last +resort'' in routing packets to their destination. Assuming +the gateway to which packets are directed is able to gen- +erate the proper routing redirect messages, the system will +then add routing table entries based on the information sup- +plied. This approach has certain advantages over the rout- +ing daemon, but is unsuitable in an environment where there +are only bridges (i.e. pseudo gateways that, for instance, +do not generate routing redirect messages). Further, if the +smart gateway goes down there is no alternative, save manual +alteration of the routing table entry, to maintaining ser- +vice. + + The system always listens, and processes, routing +redirect information, so it is possible to combine both of +the above facilities. For example, the routing table +management process might be used to maintain up to date +information about routes to geographically local networks, +while employing the wildcard routing techniques for ``dis- +tant'' networks. The netstat(1) program may be used to +display routing table contents as well as various routing +oriented statistics. For example, + + # netstat -r + +will display the contents of the routing tables, while + + # netstat -r -s + +will show the number of routing table entries dynamically +created as a result of routing redirect messages, etc. + +5.5. Use of 4.3BSD machines as gateways + + Several changes have been made in 4.3BSD in the area of + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX65 + + +gateway support (or packet forwarding, if one prefers). A +new configuration option, GATEWAY, is used when configuring +a machine to be used as a gateway. This option increases +the size of the routing hash tables in the kernel. Unless +configured with that option, hosts with only a single non- +loopback interface never attempt to forward packets or to +respond with ICMP error messages to misdirected packets. +This change reduces the problems that may occur when dif- +ferent hosts on a network disagree as to the network number +or broadcast address. Another change is that 4.3BSD +machines that forward packets back through the same inter- +face on which they arrived will send ICMP redirects to the +source host if it is on the same network. This improves the +interaction of 4.3BSD gateways with hosts that configure +their routes via default gateways and redirects. The gen- +eration of redirects may be disabled with the configuration +option IPSENDREDIRECTS=0 in environments where it may cause +difficulties. + + Local area routing within a group of interconnected +Ethernets and other such networks may be handled by +routed(8C). Gateways between the Arpanet or Milnet and one +or more local networks require an additional routing proto- +col, the Exterior Gateway Protocol (EGP), to inform the core +gateways of their presence and to acquire routing informa- +tion from the core. An EGP implementation for 4.3BSD is +available by anonymous ftp from ucbarpa.berkeley.edu. If +necessary, contact the Berkeley Computer Systems Research +Group for assistance. + +5.6. Network data bases + + Several data files are used by the network library rou- +tines and server programs. Most of these files are host +independent and updated only rarely. + + + File Manual reference Use + + + /etc/hosts hosts(5) host names + /etc/networks networks(5) network names + /etc/services services(5) list of known services + /etc/protocols protocols(5) protocol names + /etc/hosts.equiv rshd(8C) list of ``trusted'' hosts + /etc/netstart rc(8) command script for initializing network + /etc/rc rc(8) command script for starting standard servers + /etc/rc.local rc(8) command script for starting local servers + /etc/ftpusers ftpd(8C) list of ``unwelcome'' ftp users + /etc/hosts.lpd lpd(8C) list of hosts allowed to access printers + /etc/inetd.conf inetd(8) list of servers started by inetd + + +The files distributed are set up for ARPANET or other Inter- +net hosts. Local networks and hosts should be added to + + + + December 6, 2003 + + + + + +SMM:1-66ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +describe the local configuration; the Berkeley entries may +serve as examples (see also the section on on /etc/hosts). +Network numbers will have to be chosen for each Ethernet. +For sites connected to the Internet, the normal channels +should be used for allocation of network numbers (contact +hostmaster@SRI-NIC.ARPA). For other sites, these could be +chosen more or less arbitrarily, but it is generally better +to request official numbers to avoid conversion if a connec- +tion to the Internet (or others on the Internet) is ever +established. + +5.6.1. Network servers + + Most network servers are automatically started up at +boot time by the command file /etc/rc or by the Internet +daemon (see below). These include the following: + + + Program Server Started by + + + /etc/syslogd error logging server /etc/rc + /etc/named Internet name server /etc/rc + /etc/routed routing table management daemon /etc/rc + /etc/rwhod system status daemon /etc/rc + /etc/timed time synchronization daemon /etc/rc.local + /usr/lib/sendmail SMTP server /etc/rc.local + /etc/rshd shell server inetd + /etc/rexecd exec server inetd + /etc/rlogind login server inetd + /etc/telnetd TELNET server inetd + /etc/ftpd FTP server inetd + /etc/fingerd Finger server inetd + /etc/tftpd TFTP server inetd + + +Consult the manual pages and accompanying documentation +(particularly for named and sendmail) for details about +their operation. + + The use of routed and rwhod is controlled by shell +variables set in /etc/netstart. By default, routed is used, +but rwhod is not; they are enabled by setting the variables +routedflags and rwhod to strings other than ``NO.'' The +value of routedflags is used to provide host-specific +options to routed. For example, + + routedflags=-q + rwhod=NO + +would run routed -q and would not run rwhod. + + To have other network servers started as well, commands +of the following sort should be placed in the site-dependent +file /etc/rc.local. + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX67 + + + + if [ -f /etc/timed ]; then + /etc/timed & echo -n ' timed' >/dev/console + fi + + +5.6.2. Internet daemon + + In 4.3BSD most of the servers for user-visible services +are started up by a ``super server'', the Internet daemon. +The Internet daemon, /etc/inetd, acts as a master server for +programs specified in its configuration file, +/etc/inetd.conf, listening for service requests for these +servers, and starting up the appropriate program whenever a +request is received. The configuration file contains lines +containing a service name (as found in /etc/services), the +type of socket the server expects (e.g. stream or dgram), +the protocol to be used with the socket (as found in +/etc/protocols), whether to wait for each server to complete +before starting up another, the user name as which the +server should run, the server program's name, and at most +five arguments to pass to the server program. Some trivial +services are implemented internally in inetd, and their +servers are listed as ``internal.'' For example, an entry +for the file transfer protocol server would appear as + + ftp stream tcp nowait root /etc/ftpd ftpd + +Consult inetd(8C) for more detail on the format of the con- +figuration file and the operation of the Internet daemon. + +5.6.3. Regenerating /etc/hosts and /etc/networks + + When using the host address routines that use the +Internet name server, the file /etc/hosts is only used for +setting interface addresses and at other times that the +server is not running, and therefore it need only contain +addresses for local hosts. There is no equivalent service +for network names yet. The full host and network name data +bases are normally derived from a file retrieved from the +Internet Network Information Center at SRI. To do this you +should use the program /etc/gettable to retrieve the NIC +host data base, and the program htable(8) to convert it to +the format used by the libraries. You should change to the +directory where you maintain your local additions to the +host table and execute the following commands. + + # /etc/gettable sri-nic.arpa + Connection to sri-nic.arpa opened. + Host table received. + Connection to sri-nic.arpa closed. + # /etc/htable hosts.txt + Warning, no localgateways file. + # + + + + December 6, 2003 + + + + + +SMM:1-68ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +The htable program generates three files in the local direc- +tory: hosts, networks and gateways. If a file +``localhosts'' is present in the working directory its con- +tents are first copied to the output file. Similarly, a +``localnetworks'' file may be prepended to the output +created by htable, and `localgateways'' will be prepended to +gateways. It is usually wise to run diff(1) on the new host +and network data bases before installing them in /etc. If +you are using the host table for host name and address map- +ping, you should run mkhosts(8) after installing /etc/hosts. +If you are using the name server for the host name and +address mapping, you only need to install networks and a +small copy of hosts describing your local machines. The +full host table in this case might be placed somewhere else +for reference by users. The gateways file may be installed +in /etc/gateways if you use routed(8C) for local routing and +wish to have static external routes installed when routed is +started. This procedure is essentially obsolete, however, +except for individual hosts that are on the Arpanet or Mil- +net and do not forward packets from a local network. Other +situations require the use of an EGP server. + + If you are connected to the DARPA Internet, it is +highly recommended that you use the name server for your +host name and address mapping, as this provides access to a +much larger set of hosts than are provided in the host +table. Many large organizations on the network currently +have only a small percentage of their hosts listed in the +host table retrieved from NIC. + +5.6.4. /etc/hosts.equiv + + The remote login and shell servers use an authentica- +tion scheme based on trusted hosts. The hosts.equiv file +contains a list of hosts that are considered trusted and, +under a single administrative control. When a user contacts +a remote login or shell server requesting service, the +client process passes the user's name and the official name +of the host on which the client is located. In the simple +case, if the host's name is located in hosts.equiv and the +user has an account on the server's machine, then service is +rendered (i.e. the user is allowed to log in, or the command +is executed). Users may expand this ``equivalence'' of +machines by installing a .rhosts file in their login direc- +tory. The root login is handled specially, bypassing the +hosts.equiv file, and using only the /.rhosts file. + + Thus, to create a class of equivalent machines, the +hosts.equiv file should contain the official names for those +machines. If you are running the name server, you may omit +the domain part of the host name for machines in your local +domain. For example, four machines on our local network are +considered trusted, so the hosts.equiv file is of the form: + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX69 + + + + ucbarpa + okeeffe + monet + ucbvax + + +5.6.5. /etc/ftpusers + + The FTP server included in the system provides support +for an anonymous FTP account. Because of the inherent secu- +rity problems with such a facility you should read this sec- +tion carefully if you consider providing such a service. + + An anonymous account is enabled by creating a user ftp. +When a client uses the anonymous account a chroot(2) system +call is performed by the server to restrict the client from +moving outside that part of the file system where the user +ftp home directory is located. Because a chroot call is +used, certain programs and files used by the server process +must be placed in the ftp home directory. Further, one must +be sure that all directories and executable images are +unwritable. The following directory setup is recommended. +The use of the awk commands to copy the /etc/passwd and +/etc/group files are STRONGLY recommended. + + # cd ~ftp + # chmod 555 .; chown ftp .; chgrp ftp . + # mkdir bin etc pub + # chown root bin etc + # chmod 555 bin etc + # chown ftp pub + # chmod 777 pub + # cd bin + # cp /bin/sh /bin/ls . + # chmod 111 sh ls + # cd ../etc + # awk -F: '{$2="*";print$1":"$2":"$3":"$4":"$5":"$6":"}' < /etc/passwd > passwd + # awk -F: '{$2="*";print$1":"$2":"}' < /etc/group > group + # chmod 444 passwd group + +When local users wish to place files in the anonymous area, +they must be placed in a subdirectory. In the setup here, +the directory ~ftp/pub is used. + + Aside from the problems of directory modes and such, +the ftp server may provide a loophole for interlopers if +certain user accounts are allowed. The file /etc/ftpusers +is checked on each connection. If the requested user name +is located in the file, the request for service is denied. +This file normally has the following names on our systems. + + uucp + root + + + + December 6, 2003 + + + + + +SMM:1-70ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +Accounts without passwords need not be listed in this file +as the ftp server will refuse service to these users. +Accounts with nonstandard shells (any not listed in +/etc/shells) will also be denied access via ftp. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX71 + + + 6. SYSTEM OPERATION + + + + This section describes procedures used to operate a +4.3BSD-Quasijarus UNIX system. Procedures described here +are used periodically, to reboot the system, analyze error +messages from devices, do disk backups, monitor system per- +formance, recompile system software and control local +changes. + +6.1. Bootstrap and shutdown procedures + + In a normal reboot, the system checks the disks and +comes up multi-user without intervention at the console. +Such a reboot can be stopped (after it prints the date) with +a ^C (interrupt). This will leave the system in single-user +mode, with only the console terminal active. It is also +possible to allow the filesystem checks to complete and then +to return to single-user mode by signaling fsck(8) with a +QUIT signal (^\). + + If booting from the console command level is needed, +then the command + + >>>B + +will boot from the default device. On an 8600, 11/780, or +11/730 the default device is determined by a ``DEPOSIT'' +command stored on the console boot device in the file +``DEFBOO.CMD'' (``DEFBOO.COM'' on an 8600); on an 11/750 the +default device is determined by the setting of a switch on +the front panel; on an 8200 the default device is stored in +EEPROM. On 11/750 and 8200 the default boot device may be +set to the console storage device (TU58 on 750 and RX50 on +8200). In this case there must be a console medium with +BOOT58 in the console storage device, and the boot procedure +and system disk are determined by the ``DEFBOO.CMD'' boot +script stored on the console medium. On MicroVAX 3/3+ the +default boot device is stored in NVRAM and set with ``SET +BOOT'' console command. MicroVAX II does not allow the boot +device to be selected, it always boots from the first boot- +able disk in the system. + + You can boot a system up single user on an 8600, 780, +or 730 by doing + + >>>B xxS + +where xx is one of HP, HK, UP, RA, or RB. The corresponding +command on an 11/750 or 8200 booting without a console +medium, or for a MicroVAX is + + >>>B/2 + + + + December 6, 2003 + + + + + +SMM:1-72ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +On an 8200 using the console floppy, use + + >>>B/R5:800 + (node and memory test values) + BOOT58> @SNGBOO.CMD + + + For second vendor storage modules on the UNIBUS or +MASSBUS of an 11/750 you will need to have a boot prom. +Most vendors will sell you such proms for their controllers; +contact your vendor if you don't have one. Alternatively, +you could set up a BOOT58-based boot path. Contact Quasi- +jarus Consortium for assistance. + + Other possibilities are: + + >>>B ANY + +or, on an 8200 using the console floppy, + + >>>B/R5:800 + BOOT58>@ANYBOO.CMD + +or, on an 11/750 or a MicroVAX + + >>>B/3 + +These commands boot and ask for the name of the system to be +booted. They can be used after building a new test system +to give the boot program the name of the test version of the +system.* + + To bring the system up to a multi-user configuration +from the single-user status, all you have to do is hit ^D on +the console. The system will then execute /etc/rc, a +multi-user restart script (and /etc/rc.local), and come up +on the terminals listed as active in the file /etc/ttys. +See init(8) and ttys(5) for more details. Note, however, +that this does not cause a file system check to be per- +formed. Unless the system was taken down cleanly, you +should run ``fsck -p'' or force a reboot with reboot(8) to +have the disks checked. + + To take the system down to a single user state you can +use + + # kill 1 + +or use the shutdown(8) command (which is much more polite, + +* Additional bootflags are used when a system is con- +figured with the kernel debugger; consult kdb(4) for +details. + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX73 + + +if there are other users logged in) when you are running +multi-user. Either command will kill all processes and give +you a shell on the console, as if you had just booted. File +systems remain mounted after the system is taken single- +user. If you wish to come up multi-user again, you should +do this by: + + # cd / + # /etc/umount -a + # ^D + + + Each system shutdown, crash, processor halt and reboot +is recorded in the system log with its cause. + +6.2. Device errors and diagnostics + + When serious errors occur on peripherals or in the sys- +tem, the system prints a warning diagnostic on the console. +These messages are collected by the system error logging +process syslogd(8) and written into a system error log file +/usr/adm/messages. Less serious errors are sent directly to +syslogd, which may log them on the console. The error +priorities that are logged and the locations to which they +are logged are controlled by /etc/syslog.conf. See sys- +logd(8) for further details. + + Error messages printed by the devices in the system are +described with the drivers for the devices in section 4 of +the programmer's manual. If errors occur suggesting +hardware problems, you should contact your hardware support +group or field service. It is a good idea to examine the +error log file regularly (e.g. with the command tail -r +/usr/adm/messages). + +6.3. File system checks, backups and disaster recovery + + Periodically (say every week or so in the absence of +any problems) and always (usually automatically) after a +crash, all the file systems should be checked for con- +sistency by fsck(1). The procedures of reboot(8) should be +used to get the system to a state where a file system check +can be performed manually or automatically. + + Dumping of the file systems should be done regularly, +since once the system is going it is easy to become compla- +cent. Complete and incremental dumps are easily done with +dump(8). You should arrange to do a towers-of-hanoi dump +sequence; we tune ours so that almost all files are dumped +on two tapes and kept for at least a week in most every +case. We take full dumps every month (and keep these inde- +finitely). Operators can execute ``dump w'' at login that +will tell them what needs to be dumped (based on the +/etc/fstab information). Be sure to create a group operator + + + + December 6, 2003 + + + + + +SMM:1-74ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +in the file /etc/group so that dump can notify logged-in +operators when it needs help. + + More precisely, we have three sets of dump tapes: 10 +daily tapes, 5 weekly sets of 2 tapes, and fresh sets of +three tapes monthly. We do daily dumps circularly on the +daily tapes with sequence `3 2 5 4 7 6 9 8 9 9 9 ...'. Each +weekly is a level 1 and the daily dump sequence level res- +tarts after each weekly dump. Full dumps are level 0 and +the daily sequence restarts after each full dump also. + + Thus a typical dump sequence would be: + + tape name level number date opr size + + + FULL 0 Nov 24, 1979 jkf 137K + D1 3 Nov 28, 1979 jkf 29K + D2 2 Nov 29, 1979 rrh 34K + D3 5 Nov 30, 1979 rrh 19K + D4 4 Dec 1, 1979 rrh 22K + W1 1 Dec 2, 1979 etc 40K + D5 3 Dec 4, 1979 rrh 15K + D6 2 Dec 5, 1979 jkf 25K + D7 5 Dec 6, 1979 jkf 15K + D8 4 Dec 7, 1979 rrh 19K + W2 1 Dec 9, 1979 etc 118K + D9 3 Dec 11, 1979 rrh 15K + D10 2 Dec 12, 1979 rrh 26K + D1 5 Dec 15, 1979 rrh 14K + W3 1 Dec 17, 1979 etc 71K + D2 3 Dec 18, 1979 etc 13K + FULL 0 Dec 22, 1979 etc 135K + +We do weekly dumps often enough that daily dumps always fit +on one tape. + + Dumping of files by name is best done by tar(1) but the +amount of data that can be moved in this way is limited to a +single tape. Finally if there are enough drives entire +disks can be copied with dd(1) using the raw special files +and an appropriate blocking factor; the number of sectors +per track is usually a good value to use, consult +/etc/disktab. + + It is desirable that full dumps of the root file system +be made regularly. This is especially true when only one +disk is available. Then, if the root file system is damaged +by a hardware or software failure, you can rebuild a work- +able disk doing a restore in the same way that the initial +root file system was created. + + Exhaustion of user-file space is certain to occur now +and then; disk quotas may be imposed, or if you prefer a +less fascist approach, try using the programs du(1), df(1), + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX75 + + +and quot(8), combined with threatening messages of the day, +and personal letters. + +6.4. Moving file system data + + If you have the resources, the best way to move a file +system is to dump it to a spare disk partition, or magtape, +using dump(8), use newfs(8) to create the new file system, +and restore the file system using restore(8). Filesystems +may also be moved by piping the output of dump to restore. +The restore program uses an ``in-place'' algorithm that +allows file system dumps to be restored without concern for +the original size of the file system. Further, portions of +a file system may be selectively restored using a method +similar to the tape archive program. + + If you have to merge a file system into another, exist- +ing one, the best bet is to use tar(1). If you must shrink +a file system, the best bet is to dump the original and +restore it onto the new file system. If you are playing +with the root file system and only have one drive, the pro- +cedure is more complicated. If the only drive is a Winches- +ter disk, this procedure may not be used without overwriting +the existing root or another partition. What you do is the +following: + +1. GET A SECOND PACK, OR USE ANOTHER DISK DRIVE!!!! + +2. Dump the root file system to tape using dump(8). + +3. Bring the system down. + +4. Mount the new pack in the correct disk drive, if using + removable media. + +5. Load the distribution tape and install the new root + file system as you did when first installing the sys- + tem. Boot normally using the newly created disk file + system. + + Note that if you change the disk partition tables or +add new disk drivers they should also be added to the stan- +dalone system in /sys/vaxstand, and the default disk parti- +tion tables in /etc/disktab should be modified. + +6.5. Monitoring System Performance + + The systat program provided with the system is designed +to be an aid to monitoring systemwide activity. The default +``pigs'' mode shows a dynamic ``ps''. By running in the +``vmstat'' mode when the system is active you can judge the +system activity in several dimensions: job distribution, +virtual memory load, paging and swapping activity, device +interrupts, and disk and cpu utilization. Ideally, there + + + + December 6, 2003 + + + + + +SMM:1-76ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +should be few blocked (b) jobs, there should be little pag- +ing or swapping activity, there should be available +bandwidth on the disk devices (most single arms peak out at +20-30 tps in practice), and the user cpu utilization (us) +should be high (above 50%). + + If the system is busy, then the count of active jobs +may be large, and several of these jobs may often be blocked +(b). If the virtual memory is active, then the paging demon +will be running (sr will be non-zero). It is healthy for +the paging demon to free pages when the virtual memory gets +active; it is triggered by the amount of free memory drop- +ping below a threshold and increases its pace as free memory +goes to zero. + + If you run in the ``vmstat'' mode when the system is +busy, you can find imbalances by noting abnormal job distri- +butions. If many processes are blocked (b), then the disk +subsystem is overloaded or imbalanced. If you have several +non-dma devices or open teletype lines that are ``ringing'', +or user programs that are doing high-speed non-buffered +input/output, then the system time may go high (60-70% or +higher). It is often possible to pin down the cause of high +system time by looking to see if there is excessive context +switching (cs), interrupt activity (in) and per-device +interrupt counts, or system call activity (sy). Cumula- +tively on one of our large machines we average about 60-100 +context switches and interrupts per second and about 70-120 +system calls per second. + + If the system is heavily loaded, or if you have little +memory for your load (2M is little in most any case), then +the system may be forced to swap. This is likely to be +accompanied by a noticeable reduction in system performance +and pregnant pauses when interactive jobs such as editors +swap out. If you expect to be in a memory-poor environment +for an extended period you might consider administratively +limiting system load. + +6.6. Recompiling and reinstalling system software + + It is easy to regenerate the system, and it is a good +idea to try rebuilding pieces of the system to build confi- +dence in the procedures. The system consists of two major +parts: the kernel itself (/sys) and the user programs +(/usr/src and subdirectories). The major part of this is +/usr/src. + + The three major libraries are the C library in +/usr/src/lib/libc and the FORTRAN libraries +/usr/src/usr.lib/libI77 and /usr/src/usr.lib/libF77. In +each case the library is remade by changing into the +corresponding directory and doing + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX77 + + + + # make + +and then installed by + + # make install + +Similar to the system, + + # make clean + +cleans up. + + The source for all other libraries is kept in subdirec- +tories of /usr/src/usr.lib; each has a makefile and can be +recompiled by the above recipe. + + If you look at /usr/src/Makefile, you will see that you +can recompile the entire system source with one command. To +recompile a specific program, find out where the source +resides with the whereis(1) command, then change to that +directory and remake it with the Makefile present in the +directory. For instance, to recompile ``date'', all one has +to do is + + # whereis date + date: /usr/src/bin/date.c /bin/date + # cd /usr/src/bin + # make date + +this will create an unstripped version of the binary of +``date'' in the current directory. To install the binary +image, use the install command as in + + # install -s date -o bin -g bin -m 755 /bin/date + +The -s option will insure the installed version of date has +its symbol table stripped. The install command should be +used instead of mv or cp as it understands how to install +programs even when the program is currently in use. + + If you wish to recompile and install all programs in a +particular target area you can override the default target +by doing: + + # make + # make DESTDIR=pathname install + + + To regenerate all the system source you can do + + # cd /usr/src + # make clean; make depend; make + + + + + December 6, 2003 + + + + + +SMM:1-78ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + If you modify the C library, say to change a system +call, and want to rebuild and install everything from +scratch you have to be a little careful. You must insure +that the libraries are installed before the remainder of the +source, otherwise the loaded images will not contain the new +routine from the library. The following sequence will +accomplish this. + + # cd /usr/src + # make clean + # make depend + # make build + # make installsrc + +The make clean removes any existing binary or object files +in the source trees to insure that everything will be recom- +piled and reloaded. The make depend recreates all of the +dependencies. See mkdep(1) for further details. The make +build compiles and installs the libraries and compilers, +then recompiles the libraries and compilers and the +remainder of the sources. The make installsrc installs all +of the commands not installed as part of the make build. +This will take approximately 4 hours on a KA655. + +6.7. Making local modifications + + Locally written commands that aren't distributed are +kept in /usr/src/local and their binaries are kept in +/usr/local. This allows /usr/bin, /usr/ucb, and /bin to +correspond to the distribution tape (and to the manuals that +people can buy). People using local commands should be made +aware that they aren't in the base manual. Manual pages for +local commands should be installed in /usr/src/local/man and +installed in /usr/local/man/cat[1-8]. The man(1) command +automatically finds manual pages placed in +/usr/local/man/cat[1-8] to facilitate this practice. + +6.8. Accounting + + UNIX optionally records two kinds of accounting infor- +mation: connect time accounting and process resource +accounting. The connect time accounting information is +stored in the file /usr/adm/wtmp, which is summarized by the +program ac(8). The process time accounting information is +stored in the file /usr/adm/acct after it is enabled by acc- +ton(8), and is analyzed and summarized by the program sa(8). + + If you need to recharge for computing time, you can +develop procedures based on the information provided by +these commands. A convenient way to do this is to give com- +mands to the clock daemon /etc/cron to be executed every day +at a specified time. This is done by adding lines to +/usr/adm/crontab; see cron(8) for details. + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX79 + + +6.9. Resource control + + Resource control in the current version of UNIX is more +elaborate than in most UNIX systems. The disk quota facili- +ties developed at the University of Melbourne have been +incorporated in the system and allow control over the number +of files and amount of disk space each user may use on each +file system. In addition, the resources consumed by any +single process can be limited by the mechanisms of +setrlimit(2). As distributed, the latter mechanism is +voluntary, though sites may choose to modify the login +mechanism to impose limits not covered with disk quotas. + + To use the disk quota facilities, the system must be +configured with ``options QUOTA''. File systems may then be +placed under the quota mechanism by creating a null file +quotas at the root of the file system, running quota- +check(8), and modifying /etc/fstab to show that the file +system is read-write with disk quotas (an ``rq'' type +field). The quotaon(8) program may then be run to enable +quotas. + + Individual quotas are applied by using the quota editor +edquota(8). Users may view their quotas (but not those of +other users) with the quota(1) program. The repquota(8) +program may be used to summarize the quotas and current +space usage on a particular file system or file systems. + + Quotas are enforced with soft and hard limits. When a +user first reaches a soft limit on a resource, a message is +generated on his/her terminal. If the user fails to lower +the resource usage below the soft limit the next time they +log in to the system the login program will generate a warn- +ing about excessive usage. Should three login sessions go +by with the soft limit breached the system then treats the +soft limit as a hard limit and disallows any allocations +until enough space is reclaimed to bring the user back below +the soft limit. Hard limits are enforced strictly resulting +in errors when a user tries to create or write a file. Each +time a hard limit is exceeded the system will generate a +message on the user's terminal. + + Consult the auxiliary document, ``Disc Quotas in a UNIX +Environment'' and the appropriate manual entries for more +information. + +6.10. Network troubleshooting + + If you have anything more than a trivial network confi- +guration, from time to time you are bound to run into prob- +lems. Before blaming the software, first check your network +connections. On networks such as the Ethernet a loose cable +tap or misplaced power cable can result in severely +deteriorated service. The netstat(1) program may be of aid + + + + December 6, 2003 + + + + + +SMM:1-80ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +in tracking down hardware malfunctions. In particular, look +at the -i and -s options in the manual page. + + Should you believe a communication protocol problem +exists, consult the protocol specifications and attempt to +isolate the problem in a packet trace. The SO DEBUG option +may be supplied before establishing a connection on a +socket, in which case the system will trace all traffic and +internal actions (such as timers expiring) in a circular +trace buffer. This buffer may then be printed out with the +trpt(8C) program. Most of the servers distributed with the +system accept a -d option forcing all sockets to be created +with debugging turned on. Consult the appropriate manual +pages for more information. + +6.11. Files that need periodic attention + + We conclude the discussion of system operations by +listing the files that require periodic attention or are +system specific: + +/etc/fstab how disk partitions are used +/etc/disktab default disk partition sizes/labels +/etc/printcap printer data base +/etc/gettytab terminal type definitions +/etc/remote names and phone numbers of remote machines for tip(1) +/etc/group group memberships +/etc/motd message of the day +/etc/passwd password file; each account has a line +/etc/rc.local local system restart script; runs reboot; starts daemons +/etc/inetd.conf local internet servers +/etc/hosts host name data base +/etc/networks network name data base +/etc/services network services data base +/etc/hosts.equiv hosts under same administrative control +/etc/syslog.conf error log configuration for syslogd(8) +/etc/ttys enables/disables ports +/usr/lib/crontab commands that are run periodically +/usr/lib/aliases mail forwarding and distribution groups +/usr/adm/acct raw process account data +/usr/adm/messages system error log +/usr/adm/wtmp login session accounting + + + + + + + + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX81 + + + APPENDIX A - BOOTSTRAP DETAILS + + + + This appendix contains pertinent files and numbers +regarding the bootstrapping procedure for 4.3BSD-Quasijarus. +You should never have to look at this appendix. However, if +there are problems in installing the distribution on your +machine, the material contained here may prove useful. + +Contents of the distribution tape(s) + + The distribution normally consists of two 1600bpi 2400' +magnetic tapes, one 6250bpi 2400' magnetic tape, or one TK50 +tape cartridge. The layout of the 6250bpi tape is listed +below. The TK50 tape and the 1600bpi tapes are in the same +order, but the tar(1) images of source code are compressed +with compress(1). In the 1600bpi distribution the binaries +(first four tape files) are on the first tape and the +compressed sources (last two tape files) are on the second +tape. All tape files are blocked in 10 kilobytes records, +except for the first file on the first tape that has 512 +byte records. + + +Tape file Records* Contents + +one 210 6 bootstrap monitor programs and a + tp(1) file containing boot, format, and copy +two 308 ``mini root'' file system +three 430 dump(8) of distribution root file system +four 3000 tar(1) image of binaries and libraries in /usr +five 720 tar(1) image of /sys, including GENERIC system +six 2500 tar(1) image of /usr/src + + + + The distribution tape is made with the shell scripts +located in the directory /sys/vaxdist. To build a distribu- +tion tape one must first create a mini root file system with +the buildmini shell script. + + + + + + + + + + +* The number of records in each tape file are approxi- +mate and do not correspond to the actual tape. + + + + + December 6, 2003 + + + + + +SMM:1-82ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + + #!/bin/sh - + # + # 4.3BSD-Quasijarus release-making script. + # + # This file is freely redistributable. + # + # @(#)buildmini 4.10 (Berkeley) 10/3/99 + # + + dist=/sys/vaxdist + miniroot=ra0d + minimnt=/tmp/mini + + date + mkdir ${minimnt} + newfs -s 6144 ${miniroot} + fsck /dev/r${miniroot} + mount /dev/${miniroot} ${minimnt} + cd ${minimnt}; sh ${dist}/get + cd /; sync + umount /dev/${miniroot} + fsck /dev/r${miniroot} + date + +The buildmini script uses the get script to build the file +system. + + #!/bin/sh - + # + # 4.3BSD-Quasijarus release-making script. + # + # This file is freely redistributable. + # + # @(#)get 4.28 (Berkeley) 9/7/99 + # + + # Shell script to build a mini-root file system in preparation for building + # a distribution tape. The file system created here is image copied onto + # tape, then image copied onto disk as the "first" step in a cold boot of + # 4.3 systems. + + if [ `pwd` = '/' ] + then + echo You just '(almost)' destroyed the root + exit + fi + cp /nbsd/sys/GENERIC/vmunix vmunix + + # create necessary directories + DIRLIST="bin dev etc a tmp usr usr/mdec sys sys/floppy sys/cassette sys/consolerl" + rm -rf $DIRLIST + mkdir $DIRLIST + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX83 + + + ETC="disktab disklabel diskpart fsck ifconfig init mknod mount newfs restore rrestore umount arff flcopy passwd group" + for i in $ETC; do + cp /nbsd/etc/$i etc/$i + done + + BIN="[ cat cp dd echo expr ls mkdir mv rcp rm sh stty sync ed awk make mt" + for i in $BIN; do + cp /nbsd/bin/$i bin/$i + done + ln bin/stty bin/STTY + + cp /nbsd/sys/floppy/[Ma-z0-9]* sys/floppy + cp /nbsd/sys/consolerl/[Ma-z0-9]* sys/consolerl + cp /nbsd/sys/cassette/[Ma-z0-9]* sys/cassette + cp /nbsd/usr/mdec/* usr/mdec + cp /nbsd/boot boot + cp /nbsd/pcs750.bin pcs750.bin + cp /nbsd/.profile .profile + + cat >etc/fstab <xtr <<'EOF' + : ${disk?'Usage: disk=xx0 tape=yy xtr'} + : ${tape?'Usage: disk=xx0 tape=yy xtr'} + echo 'Build root file system' + newfs ${disk}a + sync + echo 'Check the file system' + fsck /dev/r${disk}a + mount /dev/${disk}a /a + cd /a + echo 'Rewind tape' + mt -f /dev/${tape}0 rew + echo 'Restore the dump image of the root' + restore rsf 3 /dev/${tape}0 + cd / + sync + umount /dev/${disk}a + sync + fsck /dev/r${disk}a + echo 'Root filesystem extracted' + echo + echo 'If this is an 8650 or 8600, update the console rl02' + echo 'If this is a 780 or 785, update the floppy' + echo 'If this is a 730, update the cassette' + EOF + chmod +x xtr + + + + December 6, 2003 + + + + + +SMM:1-84ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + rm -rf dev; mkdir dev + cp /nbsd/dev/MAKEDEV dev + chmod +x dev/MAKEDEV + cp /dev/null dev/MAKEDEV.local + cd dev + ./MAKEDEV std hp0 hk0 up0 ra0 kra0 rb0 + ./MAKEDEV ts0; mv rmt12 ts0; rm *mt*; + ./MAKEDEV tm0; mv rmt12 tm0; rm *mt*; + ./MAKEDEV ht0; mv rmt12 ht0; rm *mt*; + ./MAKEDEV ut0; mv rmt12 ut0; rm *mt*; + ./MAKEDEV tms0; mv rmt12 tms0; rm *mt*; + ./MAKEDEV mt0; mv rmt12 xt0; rm *mt*; mv xt0 mt0 + cd .. + sync + +The mini root file system must have enough space to hold the +files found on a floppy or cassette. + + Once a mini root file system is constructed, the mak- +etape script makes a distribution tape. + + #!/bin/sh - + # + # 4.3BSD-Quasijarus release-making script. + # + # This file is freely redistributable. + # + # @(#)maketape 4.36 (Berkeley) 12/6/03 + # + + # maketape releasedir + miniroot=ra0d + fullroot=ra1a + block=20 + tflag=cbf + + if [ $# -gt 0 ]; then + releasedir=$1; + else + echo usage: $0 releasedir + exit + fi + + cd /nbsd + sync + + cd /nbsd/sys/vaxdist/tp + tp cmf /tmp/tape.$$ boot copy format + cd /nbsd/sys/mdec + echo "Build 1st level boot block file" + cat tmscpboot tsboot htboot tmboot mtboot utboot /tmp/tape.$$ | dd of=${releasedir}/stand obs=512 conv=sync + + echo "Add image of mini-root file system" + dd if=/dev/r${miniroot} count=308 bs=20b conv=sync of=${releasedir}/miniroot + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX85 + + + echo "Add full dump of real file system" + /etc/dump 0f ${releasedir}/rootdump /dev/r${fullroot} + + echo "Add tar image of /usr" + cd /nbsd/usr + tar ${tflag} ${block} ${releasedir}/usr.tar MAKEHOSTS adm bin dict games hosts include lib local man mdec msgs new old pres + + echo "Add tar image of system sources" + cd /nbsd/usr/src/sys + tar ${tflag} ${block} ${releasedir}/srcsys.tar . + + echo "Add user source code" + FILES="Makefile bin cci doc etc games include lib local man old ucb undoc usr.bin usr.lib" + cd /nbsd/usr/src + tar ${tflag} ${block} ${releasedir}/src.tar ${FILES} + + + Summarizing then, to create a distribution tape you can +use the above scripts and the following commands. + + # buildmini + # maketape /distdir + +This will generate the distribution tape file images in +/distdir. + +Control status register addresses + + The distribution uses many standalone device drivers +that presume the location of a UNIBUS device's control +status register (CSR). The following table summarizes these +values. + + + Device name Controller CSR address (octal) + + + ra DEC UDA50 0172150 + rb DEC 730 IDC 0175606 + rk DEC RK11 0177440 + rl DEC RL11 0174400 + tm EMULEX TC-11 0172520 + ts DEC TS11 0172520 + up EMULEX SC-21V 0176700 + ut SI 9700 0172440 + + +All MASSBUS controllers are located at standard offsets from +the base address of the MASSBUS adapter register bank. BI +bus controllers are located automatically. + +Generic system control status register addresses + + The generic version of the operating system supplied +with the distribution contains the UNIBUS devices listed + + + + December 6, 2003 + + + + + +SMM:1-86ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +below. These devices will be recognized if the appropriate +control status registers respond at any of the listed UNIBUS +addresses. + + + Device name Controller CSR addresses (octal) + + + hk DEC RK11 0177440 + tm EMULEX TC-11 0172520 + tmscp DEC TU81, TMSCP 0174500 + ts DEC TS11 0172520 + ut SI 9700 0172440 + up EMULEX SC-21V 0176700, 0174400, 0176300 + ra DEC UDA-50 0172150, 0172550, 0177550 + rb DEC 730 IDC 0175606 + rl DEC RL11 0174400 + dm DM11 equivalent 0170500 + dh DH11 equivalent 0160020, 0160040 + dhu DEC DHU11 0160440, 0160500 + dz DEC DZ11 0160100, 0160110, ... 0160170 + dmf DEC DMF32 0160340 + dmz DEC DMZ32 0160540 + lp DEC LP11 0177514 + en Xerox 3MB ethernet 0161000 + ec 3Com ethernet 0164330 + ex Excelan ethernet 0164344 + il Interlan ethernet 0164000 + de DEC DEUNA 0174510 + + +If devices other than the above are located at any of the +addresses listed, the system may not bootstrap properly. + + + + + + + + + + + + + + + + + + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX87 + + + APPENDIX B - LOADING THE TAPE MONITOR + + + + This section describes how the bootstrap monitor +located on the first tape of the distribution tape set may +be loaded. This should not be necessary if using console +media, but has been included as a fallback measure if it is +not possible to read the distributed console medium. This +procedure must be used however on MicroVAXen as they have no +console media. WARNING: the bootstraps supplied below may +not work, in certain instances on an 11/730 because they use +a buffered data path for transferring data from tape to +memory; consult our group if you are unable to load the mon- +itor on an 11/730. All of the addresses given below refer +to the first SBIA on the 8600. + + To load the tape bootstrap monitor, first mount the +magnetic tape on drive 0 at load point, making sure that the +write ring is not inserted. The following description of +toggle-in code applies only to large VAXen with non-TMSCP +tapes. On MicroVAXen all you need to do is to boot from the +distribution tape: + + >>>B MUA0 + +and the ``='' prompt will appear. On large VAXen a more +complex procedure described below must be used instead. +Once again, it works only for non-TMSCP tapes. To bootstrap +4.3BSD-Quasijarus on a large VAX from a TMSCP tape drive you +must use console media. This procedure can be used on an +8200, however, since 8200s normally use TMSCP tapes it is +unlikely to be very useful. Temporarily set the reboot +switch on an 11/780 or 11/730 to off; on an 8600 or 11/750 +set the power-on action to halt. (In normal operation an +11/785, 11/780, or 11/730 will have the reboot switch on, +and an 8600 or 11/750 will have the power-on action set to +boot/restart.) + + If you have an 8600 or 11/780 give the commands: + + >>>HALT + >>>UNJAM + +Then, on any machine, give the init command: + + >>>I + +and then key in at location 200 and execute either the TS, +HT, TM, or MT bootstrap that follows, as appropriate. NOTE: +All of the addresses given in this section refer to the +first SBIA on the 8600. Also, the VAX 8200 console does not +accept the ``D +'' command, so the second command becomes +``D 204 D05A0000'', the third ``D 208 3BEF'', the fourth ``D + + + + December 6, 2003 + + + + + +SMM:1-88ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +20C 800CA00'', the fifth ``D 210 32EFC1'', and so forth. +Alternatively, you could try booting BOOT58 via ``B/R5:800'' +with a diagnostic floppy. + + The machine's printouts are shown in boldface, explana- +tory comments are within ( ). You can use `delete' to erase +a character and `control U' to kill the whole line. + + + TS bootstrap + + >>>D/P 200 3AEFD0 + >>>D + D05A0000 + >>>D + 3BEF + >>>D + 800CA00 + >>>D + 32EFC1 + >>>D + CA010000 + >>>D + EFC10804 + >>>D + 24 + >>>D + 15508F + >>>D + ABB45B00 + >>>D + 2AB9502 + >>>D + 8FB0FB18 + >>>D + 956B024C + >>>D + FB1802AB + >>>D + 25C8FB0 + >>>D + 6B + (The next two deposits set up the addresses of the UNIBUS) + (adapter and its memory; the 20006000 here is the address of) + (uba0 and the 2013E000 the address of the I/O page, umem0) + (on an 8600 or 11/780) + >>>D + 20006000 (8600/780 uba0) + (8600/780 uba1: 20008000, uba2 2000A000) + (8200 uba at node 0: 20000000) + (750 uba0: F30000, uba1: F32000; 730 uba: F26000) + >>>D + 2013E000 (8600/780 umem0) + (8600/780 umem1: 2017E000, umem2: 201BE000) + (8200 umem at node 0: 20400000) + (750 umem0: FFE000, umem1: FBE000; 730 umem: FFE000) + >>>D + 80000000 + >>>D + 254C004 + >>>D + 80000 + >>>D + 264 + >>>D + E + >>>D + C001 + >>>D + 2000000 + >>>S 200 + >>>S 200 + >>>S 200 + + N.B.: uba and umem addresses can be determined algorithmically + on 8200 machines as follows: + uba(node) = 20000000 + (2000 * node) + umem(node) = 20400000 + (40000 * node) + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX89 + + + HT bootstrap + + >>>D/P 200 3EEFD0 + >>>D + C55A0000 + >>>D + 3BEF + >>>D + 808F00 + >>>D + C15B0000 + >>>D + C05B5A5B + >>>D + 4008F + >>>D + D05B00 + >>>D + 9D004AA + >>>D + C08F326B + >>>D + D424AB14 + >>>D + 8FD00CAA + >>>D + 80000000 + >>>D + 320800CA + >>>D + AAFE008F + >>>D + 6B39D010 + >>>D + 0 + (The next two deposits set up the addresses of the MASSBUS) + (adapter and the drive number for the tape formatter) + (the 20010000 here is the address of mba0 on an 8600 or) + (11/780 and the 0 indicates the formatter is drive 0 on mba0) + >>>D + 20010000 (8600/780 mba0) + (8600/780 mba1: 20012000; 750 mba0: F28000, mba1: F2A000) + >>>D + 0 (Formatter unit number in range 0-7) + >>>S 200 + >>>S 200 + >>>S 200 + >>>S 200 + + TM bootstrap + + >>>D/P 200 2AEFD0 + >>>D + D0510000 + >>>D + 2000008F + >>>D + 800C180 + >>>D + 804C1D4 + >>>D + 1AEFD0 + >>>D + C8520000 + >>>D + F5508F + >>>D + 8FAE5200 + >>>D + 4A20200 + >>>D + B006A2B4 + >>>D + 2A203 + (The following two numbers are uba0 and umem0 on a 8600/780) + (See TS above for values for other CPU's and UBA's) + >>>D + 20006000 (8600/780 uba0) + >>>D + 2013E000 (8600/780 umem0) + >>>S 200 + >>>S 200 + >>>S 200 + >>>S 200 + >>>S 200 + + + + December 6, 2003 + + + + + +SMM:1-90ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + MT bootstrap + + >>>D/P 200 46EFD0 + >>>D + C55A0000 + >>>D + 43EF + >>>D + 808F00 + >>>D + C15B0000 + >>>D + C05B5A5B + >>>D + 4008F + >>>D + 19A5B00 + >>>D + 49A04AA + >>>D + AAD408AB + >>>D + 8FD00C + >>>D + CA800000 + >>>D + 8F320800 + >>>D + 10AAFE00 + >>>D + 2008F3C + >>>D + ABD014AB + >>>D + FE15044 + >>>D + 399AF850 + >>>D + 6B + (The next two deposits set up the addresses of the MASSBUS) + (adapter and the drive number for the tape formatter) + (the 20012000 here is the address of mba1 on an 8600 or) + (11/780 and the 0 indicates the formatter is drive 0 on mba1) + >>>D + 20012000 + >>>D + 0 + >>>S 200 + >>>S 200 + >>>S 200 + >>>S 200 + >>>S 200 + >>>S 200 + + (no functioning toggle-in code exists for the UT + device) + + + If the tape doesn't move the first time you start the +bootstrap program with ``S 200'' you probably have entered +the program incorrectly (but also check that the tape is +online). Start over and check your typing. For the HT, MT, +and TM bootstraps you will not be able to see the tape +motion as you advance through the first few blocks as the +tape motion is all within the vacuum columns. + + Next, deposit in R10 the address of the tape MBA/UBA +and in R11 the address of the device registers or unit +number from one of: + + + + + + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX91 + + + + + >>>D/G A 20006000 (for tapes on 8600/780 uba0) + >>>D/G A 20008000 (for tapes on 8600/780 uba1) + >>>D/G A 20010000 (for tapes on 8600/780 mba0) + >>>D/G A 20012000 (for tapes on 8600/780 mba1) + >>>D/G A 20000000 (for tapes on 8200 uba at node 0) + >>>D/G A F30000 (for tapes on 750 uba0) + >>>D/G A F32000 (for tapes on 750 uba1) + >>>D/G A F28000 (for tapes on 750 mba0) + >>>D/G A F2A000 (for tapes on 750 mba1) + >>>D/G A F26000 (for tapes on 730 uba0) + + +and for register 11: + + + >>>D/G B 0 (for TM03/TM78 formatters at mba? drive 0) + >>>D/G B 1 (for TM03/TM78 formatters at mba? drive 1) + >>>D/G B 2013F550 (for TM11/TS11/TU80 tapes on 8600/780 uba0) + >>>D/G A 20400000 (for TM11/TS11/TU80 on 8200 uba at node 0) + >>>D/G B FFF550 (for TM11/TS11/TU80 tapes on 750 or 730 uba0) + + +Then start the bootstrap program with + + >>>S 0 + + + The console should type + + = + +You are now talking to the tape bootstrap monitor. At any +point in the following procedure you can return to this sec- +tion, reload the tape bootstrap, and restart the procedure. +The console monitor is identical to that loaded from a TU58 +console cassette, follow the instructions in section 2 as +they apply to this device. The only exception is that when +using programs loaded from the tape bootstrap monitor, pro- +grams will always return to the monitor (the ``='' prompt). +This saves your having to type in the above toggle-in code +for each program to be loaded. + + + + + + + + + + + + + + + December 6, 2003 + + + + + +SMM:1-92ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + + APPENDIX C - INSTALLATION TROUBLESHOOTING + + + + This appendix lists and explains certain problems that +might be encountered while trying to install the 4.3BSD- +Quasijarus distribution. The information provided here is +limited to the early steps in the installation process; i.e. +up to the point where the root file system is installed. If +you have a problem installing the release consult this sec- +tion before contacting our group. + +Using the distribution console medium. + +This section describes problems that may occur when using +the programs provided on the distributed console medium: +TU58 cassette or RX01 floppy disk. + +program can not be loaded. + +Check to make sure the correct floppy or cassette is being +used. If using a floppy, be sure it is not in upside down. +If using a cassette on an 11/730, be certain drive 0 is +being used. If a hard I/O error occurred while reading a +floppy, try resetting the console LSI-11 by powering it on +and off. If you can not boot the cassette's bootstrap moni- +tor, verify that the standard DEC console cassette can be +read; if it can not, your cassette drive is probably broken. + +program halts without warning. + +Check to make sure you have specified the correct disk to +format; consult sections 1.3 and 1.4 for a discussion of the +VAX and UNIX device naming conventions. On 11/750's, speci- +fying a non-existent MASSBUS device will cause the program +to halt as it receives an interrupt (standalone programs +operate by polling devices). + +If using a floppy, try reading the floppy under your current +system. If this works, copy the floppy to a new one and +begin again. If using a cassette on an 11/730, do likewise. + +format prints ``Known devices are ...''. + +You have requested format to work on a device for which it +has no driver, or that does not exist; only the listed dev- +ices are supported. + +format, boot, or copy prints ``unknown drive type''. + +A MASSBUS disk was specified, but the associated MASSBUS +drive type register indicates a drive of unknown type. This +probably means you typed something wrong or your hardware is +incorrectly configured. + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX93 + + +format, boot, or copy prints ``unknown device''. + +The device specified is probably not one of those supported +by the distribution; consult section 1.1. If the device is +listed in section 1.1, the drive may be dual-ported, or for +some other reason the driver was unable to decipher its +characteristics. If this is a MASSBUS drive, try powering +the MASSBUS adapter and/or controller on and off to clear +the drive type register. + +copy does not copy 308 records + +If a tape read error occurred, clean your tape drive heads. +If a disk write error occurred, the disk formatting may have +failed. If the disk pack is removable, try another one. If +you are currently running UNIX, you can reboot your old sys- +tem and use dd to copy the mini-root file system into a disk +partition (assuming the destination is not in use by the +running system). + +boot prints ``not a directory'' + +The boot program was unable to find the requested program +because it encountered something other than a directory +while searching the file system. This usually suggests that +no file system is present on the disk partition supplied, or +the file system has been corrupted. First check to make +sure you typed the correct line to boot. If this is the +case and you are booting from the mini-root file system, the +mini-root was probably not copied correctly off the tape +(perhaps it was not placed in the correct disk partition). +Try reinstalling the mini-root file system or, if trying to +boot the true root file system, try booting from the mini- +root file system and run fsck on the restored root file sys- +tem to insure its integrity. Finally, as a last resort, +copy the boot program from the mini-root file system to the +newly installed root file system. + +boot prints ``bad format'' + +The program you requested boot to load did not have a 407, +410, or 413 magic number in its header. This should never +happen on a distribution system. If you were trying to boot +off the root file system, reboot the system on the mini-root +file system and look at the program on the root file system. +Try copying the copy of vmunix on the mini-root to the root +file system also. + +boot prints ``Short read'' + +The file header for the program contained a size larger than +the actual size of the file located on disk. This is prob- +ably the result of file system corruption (or a disk I/O +error). Try booting again or creating a new copy of the + + + + December 6, 2003 + + + + + +SMM:1-94ling and Operating 4.3BSD-Quasijarus UNIX on the VAX + + +program to be loaded (see above). + +Booting the generic system + +This section contains common problems encountered when boot- +ing the generic version of the system. + +system panics with ``panic: iinit'' + +This occurred because the system was unable to mount the +root file system. The root file system supplied at the +``root device?'' prompt was probably incorrect. Remember +that when running on the mini-root file system, this ques- +tion must be answered with something of the form ``hp0*''. +If the answer had been ``hp0'', the system would have used +the ``a'' partition on unit 0 of the ``hp'' drive, where +presumably no file system exists. + +Alternatively, the file system on which you were trying to +run is corrupted. Try reinstalling the appropriate file +system. + +system selects incorrect root device + +That is, you try to boot the system single user with ``B/2'' +or ``B xxS'' but do not get the root file system in the +expected location. This is most likely caused by your hav- +ing many disks available more suited to be a root file sys- +tem than the one you wanted. For example, if you have a +``up'' disk and an ``hk'' disk and install the system on the +``hk'', then try to boot the system to single-user mode, the +heuristic used by the generic system to select the root file +system will choose the ``up'' disk. The following list +gives, in descending order, those disks thought most suit- +able to be a root file system: ``hp'', ``up'', ``ra'', +``rb'', ``rl'', ``hk'' (the position of ``rl'' is subject to +argument). To get the root device you want you must boot +using ``B/3'' or ``B ANY'', then supply the root device at +the prompt. + +system crashes during autoconfiguration + +This is almost always caused by an unsupported UNIBUS device +being present at a location where a supported device was +expected. You must disable the device in some way, either +by pulling it off the bus, or by moving the location of the +console status register (consult Appendix A for a complete +list of UNIBUS csr's used in the generic system). + +system does not find device(s) + +The UNIBUS device is not at a standard location. Consult +the list of control status register addresses in Appendix A, +or wait to configure a system to your hardware. + + + + December 6, 2003 + + + + + +Installing and Operating 4.3BSD-Quasijarus UNIX on theMVAX95 + + +Alternatively, certain devices are difficult to locate dur- +ing autoconfiguration. A classic example is the TS11 tape +drive that does not autoconfigure properly if it is rewind- +ing when the system is rebooted. Tape drives should config- +ure properly if they are off-line, or are not performing a +tape movement. Disks that are dual-ported should autocon- +figure properly if the drive is not being simultaneously +accessed through the alternate port. + +Building console cassettes + +This sections describes common problems encountered while +constructing a console bootstrap cassette. + +system crashes + +You are trying to build a cassette for an 11/750. On an +11/750 the system is booted by using a bootstrap prom and +sector 0 of the root file system. Refer to section 2.2.5 or +tu(4) for the appropriate reprimand. + +system hangs + +You are using an MRSP prom on an 11/750 and think you can +ignore the instructions in this document. The problem here +is that the generic system only supports the MRSP prom on an +11/730. Using it on an 11/750 requires a special system +configuration; consult tu(4) for more information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + December 6, 2003 + + diff --git a/sys/GENERIC/Makefile b/sys/GENERIC/Makefile index cd471084..1895f79f 100644 --- a/sys/GENERIC/Makefile +++ b/sys/GENERIC/Makefile @@ -1,5 +1,5 @@ IDENT=-DGENERIC -DVAX650 -DVAX630 -DVAX730 -DVAX750 -DVAX780 -DVAX8200 -DVAX8600 -DTCP_COMPAT_42 -DNS -DINET -DQUOTA -DNOSUBSINST -PARAM=-DTIMEZONE=360 -DDST=1 -DMAXUSERS=8 +PARAM=-DTIMEZONE=480 -DDST=1 -DMAXUSERS=8 INLINEOPTS=-s # # Copyright (c) 1980, 1986 Regents of the University of California. @@ -1822,8 +1822,8 @@ sys_machdep.o: ../h/namei.h ../h/uio.h ../h/errno.h ../h/ioctl.h sys_machdep.o: ../h/ttychars.h ../h/ttydev.h ../h/file.h ../h/proc.h ../h/uio.h sys_machdep.o: ../h/kernel.h ../h/mtio.h ../h/buf.h ../h/trace.h ../vax/dkio.h sys_machdep.o: ../vax/pte.h ../vax/../vaxuba/ubareg.h ../vax/../vaxuba/ubavar.h -trap.o: ../vax/trap.c ../vax/psl.h ../vax/reg.h ../vax/pte.h ../h/param.h -trap.o: ../h/types.h ../h/signal.h ../h/../machine/trap.h +trap.o: ../vax/trap.c ../vax/psl.h ../vax/reg.h ../vax/pte.h ../vax/vmparam.h +trap.o: ../h/param.h ../h/types.h ../h/signal.h ../h/../machine/trap.h trap.o: ../h/../machine/machparam.h machine/endian.h ../h/systm.h ../h/dir.h trap.o: ../h/user.h ../h/../machine/pcb.h ../h/dmap.h ../h/time.h trap.o: ../h/resource.h ../h/namei.h ../h/uio.h ../h/errno.h assym.s diff --git a/sys/GENERIC/autoconf.o b/sys/GENERIC/autoconf.o index e64a1514003ed171f43201b04702b220743de5fd..68e5b85a608bfdcef5e692962fbb96da8b37a115 100644 GIT binary patch literal 14582 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 delta 328 zcmYk0I}ZUt6otu%&d}ulcprNdcJwJ55E}Kw?E^xb|d%Jd#=R9Gzbx z-bg+7jQSUuJAAC>28g4|j<-$KxyQ6i0}Vpw1*%P%oX_{@`9)KG?s~?j1ogY?(f?-V ze}4VvcfjEiD|Q31Tqrmr&yhlj5Uq0AbV~ScD3lIraKh5Lp6up_rIJ2njggSl{3ZmAcF08hl84<*V6&Dc`bkS(>5i%(gIx`8$Q;RP8 z3q;08Rop6wjEfd@XHlpN!G$9hMAQ}(KX4Q1O6tdWGM%6o&b{ZJbMH%DvX;H6C~1l4 zVUnmx>oHeXhNZjpF;$wcUq7+qG%QU?FNdch@5UB>&S(a0`JhSnU{u`wYoC;OzUVm3J@-X=duIk6xQB7c_m zD>bZ8gM-SJE}(cX^!75ZovO`UtL%8B9vC`A Fe*uzOouU8$ delta 651 zcmbO(_)9>LosofI2Qvf11qKLMGEvZ&am7SeAI7Z{CwVA^1Em54+3&p%1~Kji+<&hP zWc+4+ulfJ~f5B<@-#bnGlgP+1Igas%m^u?shVlLWzyJSV31GPrHKX4xQc!+!9+Rx# zwaAN+t3@PlA7)%F5Mbo+-g@#(CKpZy{tIhZqA$ERoBWiiz^)ePfWQL*ffpkJCD}n5 zcqDILh+Hjjm@zWoLPQ`?S2R#Xz@dP^gN%Wzd9FqYb6kvM5@o)=n&-m%j>!|4T_;~- ze#9s;c_)iHkbKCZFDSymz4=nQ@;<$2B~2JN?t?~zX}ysVPr^RcnXu?U|@I&mDm8(@Czmmr2hdi(COf~WChBB z4CMjZA_!!IE#qTg5QU2G0}3d@#Q7N*)F#KWH^>#2Bo>tvl_clnCucMG7@IJ}XXa&= zl;o!r0eO~_1vq3KjTz$05-W;JQsR?yvZ3l3e9SD7g^N-XQy6^AO_9aQi!w`68GJ0v dCg*X837a#-mt^LqmgFaAWEL>^7#dhG007#_moWeU diff --git a/sys/GENERIC/cons.o b/sys/GENERIC/cons.o index 8bf49f2066f0864a2abd460b7af3c67d960a05a4..6417362039bc318c66fe76620ec33acd5486a97c 100644 GIT binary patch delta 846 zcmYk4KWGzC9LImx-lc}7)=C8r#0Ww~>k^wkih_eeEe5gb;G##oTx;NZ7n3WtD10#k5Ur0@u=rfYUFe;W6fR!{9B6(8(bcNXs*9joA1 zP*wa?Iz8+Z^XGAI3@J759Gbg;`hwa6{sAw7ISS@M7aS3Bra&ebI|J6hYni_cUPj*q zuWY<^?hN&Ki*OH7ucuUB>Qlz|a-hahnI_M-j6>x++);$}8_pymJ4F6w{xgjKMt&HL z)GG&9wGTvkGLB&D;z=X4KMVcfXv)Y;XZ{hol@0#{JV$mPL!Zqu_sP@;nF8MkJ{aPv z&h$jKa2kUUH&}qHFL8iIZKGgS7l>R3*Lc`^=yk}T>Aiu!QzSL~hX#LQ@aN|Y@yg(D z;OY~t^Gm&lvqfn7G4r?Z)xSXd+-!5>U;c%)yS?n)Y;-+8UTQZIZz*mD>EqF9YbO0X zdazd(FG*JYFzyE8`B5imG^JiDm6W*MX(fSDHKp2d7`CECooYo1{xR)$7DDBNewuj!Dw@39R&s%Kh^ds_LbRRZedeYU35vVKGR2yyF$w1}sT*-v9sr delta 773 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 BkthHF diff --git a/sys/GENERIC/crl.o b/sys/GENERIC/crl.o index 9334fe9bf1f3c128ae5e26ea95359a0c8d028f6d..332547066188eddaca5da0657262e72d77cbcddd 100644 GIT binary patch delta 1202 zcmY+CUr19?9LLYS+f_6Bb6sRmnV~^NTGNTctR5^$Qn`jROmNLLOPt%76C+~tAz$iY z(jo?lFGhkICJH^&gHVA%(e@ybH4NVZ;SfP0Q`h%*cZ_wo+vofJp5OVMbN{UGe^Q`k zON{vpjE%7LaL=eUl4OrGNk?t@hZ0jc36{8?m@G;f`RGUPcfz! zBxN4MoDm(!OYrk)pA+M5sP;MDON%FqxFfP49Vs{qcPD4EMEek~!zwMP?pss%vB;KG zEE~2W#d33KYBQBuGw^XB8mEaz?#q7{+9o&_3uYXk7ZJ5&0nUx{UnFw#MDi z+o3*xP}BA=-@{l33^ILm&7RmXF6I0B?YA9$cBi-3=Lpz)y*FKvPq~LJmCSz26>xRB zdzjtncRStQJ{M~+pDAbdPQS|yL$TNA@;d_EUJp%KBZWIppQ_L&2K?Ots;{u(&w@oL Q?)C)yaFuXAKTH?<3(C(dg8%>k delta 1155 zcmYk4Ur1A77{i*xkGr!1DIOZ;^15*fg&5PGoaD7w@0sXDmH04$qq{Jpr9o_)!@3)s)<& zK6mpf7_6eWauO=`sZ^iE`A(5d%DnuMO)KS#rV0HE!1=R||0!kX)5Zx~X-O2dNVqLF5hOdx+OT^yK%F?;}1W&Jw>9 ze}jk7uiy%ffO{ksVhUr*Ap~Nfb5sa|B7Z=PfZ~8ph{MG9#3WIYGkr~<1M^RU$1$&! zazF7FC=PN*4rL|`AgDkv2#SeM$&Zj9B_AXI1{4cVf#P5@#2>`<_=AglBhgLtfMTCE zQ0#MIHH28GQ#6dfRlIVj0Jk)X7sA7w_`HU|Wmsbp8e3T79rXzFk$Mh5f6eNd&Fc9{ zJdt>M5G_zghGg(bW|kOhO8o(11c)TvDPK*!ZfB`C-|_evQ{Oo_mgVm zVthRu5!MnE4<1$)7B}T8vQ%jQ7=}uS14-;cE=lH`t#vR_ovLP!;W#3eAxtd?F|Yy z%&2dLuI#i43cEoU_wO18Hj`DwU$8XRHk4w1zaV26Ls3X$3&r;ccni{^K=z}eN9Lj5 zRT@;pSA30Q;_7C&!hN<=LH{H@f|Q@KXi9WDghf1z*XDBZsh}Q4qzOO$K;)LEZMgH6 z5>>pGnT1Bb2%{b^O-e8r{>KNzQgA?g#?y}c*mT&;KT40H{1faAb-!p4_9OG9gj?np zbx#ngOzLD}qlJ)O@iM-};2p!rx6Hgm2E+}R{bCus{n3l|YB2!KI;+K1$!-U$78hXk zR*Un1=*NM_KD#qY*)_(l#F$9PG~YbLTVTaA6mhFo%)A!O!?bF#58jY=(i6JNPCg*( zdYIS_-+ zFXJWPF8CLLGQJ9w`CCohWa?&cCE{mC{H`8wH}nk<{}t{jD6*knIrtVKF?S6NJg!~% zl8uj;x*gmL{QzD`d4MG*H-Iv)#ncW2<-m!cY&;!&2f7lh1^0k5|8sCTcn+)wQ{cNK zM%=%{z%17gD4!S5Wh@fj0C$6j!2{rzU>xiQ<-lv8Y^Z~>p#%Rra^M_L<}C&ff)Vf# zxDMO_c7n2A2W>G7{1t{gu>d!LS#SlY;Qvq#aDm&v$)Frm3Sy?U5|nj8(_aV5n{ET; zMH)@+H~Ar0hj`Lt2N*jB$2k~ytbJx6Ed?H7>LGA3^2n%>Je$eUp!DZ~?}3G;e+u{t zbQ!oFe9Y7fO#KvyJ6czc!v5unYR$lQP_AYlDE$Y(qhO1v6QFF|2FeC!K$(BZjBB7A zm^SrqpgiE9$zf1l%;FsRDTuL^9YTX lKs)#kfw|sXjf;>$)L_$OOZ!9lWmemxWZA6BO1^4*(SOf-ftdgR delta 1924 zcmYL}du&rx9LLXTZy#$q=-O=U=77Nj$JiK50s;n#4qYtZS!4@s&BkLG8T_F!B=eEg zF%nE5c6g#p6a$9va9bkI2NHrTf-EKC-RNpyxtT!{Vho-LV>~vg-(PnL&CUJ%zQ5Nw z=hu@vvSegQ`v`w#@15lB}XibRd#7DV_b!uj2Tf99i1vGpP6>DQw^_vvdReXm$U|q;VGHI2(LB6g{KG^u(Fg@4$5y%t+286gM)J%khFUyF=(D)FhcgqsJrbon8;T=?2)MMI( zsftn7S)m%yreD?Lt!|E{(^xdYQtBGaq^gED89na^sR3wlHlz~73r-PIXJPe+)Q^DD zag^Mb9`E2VWqB8Ci0_xNtlZd6IBN7mo|?Pj&?L(16Y354QmP5>oW+kzBUI`uL8XAD zwxV;OKo6=KUsz_*swbK zFmokF?$A(WiL0FV$~xEb@>V!%5~9YZ^?5pjpT^fWT?W0`MxhbK#n^~&&MCcnoTjMt z^ts-*#7=O=Y2*M>H*(qtn@d7qowjvy^q1XAOt zz}?W5U_ICdQhqnM8axR$ftSHOEXJ~Lz`$DWQIMWmbjd|RGuQ^UgCBxFfN}6VNDJy9 zH5>w|p&cI;T5thKc~xLLxDMP4Hh|l~Ga%Iuf%X^{yat1Id=uOP-Uru!3?DmMzy-bq z7K60V91v^TDnY7SX8JdPbka9LI!KGj-6oHKn-Krn#$xov9t z>b`(HEo&mrWpXk|{sM3xSY-N3!OhT>U?cdfsh>A>HHb6X)@5P-w4;q?pc$mm>;cLD z5%>xCrK!6>YJ38u2B$#E|J95qL0a&-sc(X`!BLakHE}Q}NPopFmp?Ny_fj~*aJ&mP zfctyGo*Opqkt_22yi11jit`2T+uznqJ)4BI+opX0KBF1EcLu3J&|#xO2w>&r6Z%SA$XN!Fa3NFyywW5`4eA56wp zG-=i8H1VY$j>0s=5WYxghYN!s$Px!EY!b=lvgrqJ7^t9$dcxGPq+{3rY3~Q)&B^^e zZ|8ZQbIx-yelb3*QTi^gqQi6}KSS&3CO${+Zm63G6pUbaUMXrd6H39bqE@=3h`@?% z&%mQ!=Rsvnj`%+3hrRi<(n`f1#|VTlu%j z12n={l-5VW)S~~X-Yl!fmdUTFU*^@+&r`^iNmBDW(~KKpeA%|yHzo^B@-A0x!?4pu zMn%+Ql4a3s-c3kssM1eAKj4bdy?oO3xbJ(}q>2C^52zhA#D7lh`rk#I+l8n(W*TA+ zB8wmOndg{!%N$yHY-lArR-4Y^DZb)e-afj4&v_doYY;YDXw&byl(z*o8(FK+h8T?p zwY4o*Z`t+~OU@?sty7!D3^W!$q_Oj20-{rBl<&|Q&}dd`Xxmqb5A82kqTu%TgeuifbEUbO9JLax{}Ie8?iFU5~&Y?>9-(4R8$QHrA};wi+)2beZQ zJH&J-VJR7pxEFHP63u{BR7K@7vfKb6gwsUfcO2Yrq7JWu-K zfrY@(^5_ChD?wK*f^p#oeH-WTfsE+c1Pa~;(6V>9liqY zfqwv$ai4&4-*HDDcl4jYr{P!NM4Z14lyU9&rC?7~^qhYW1X*Ao*aOFJAm+xs0Pckz z!8kzl8=x$>-O*nKGti@QGuC|$6AoW?*yC^!l=~ZHa;%3zFUb-2#-b+X)xE6dCTo1khZUbe5yFi)vG*|=skDxrz-(WvjuMzSVcn>J+JOp;; zAUp{{ChT_tIQTa7&%puk82ApTS5+F@56T21plt9AC>tCHyTEBM0sa8WhOdF$U~x2ykBX%D{{YHGO#PcP035Q2<3$e5w>H{jS; z@eaL-_VS(josq*Bgj28sgy1A+otVq~1O0y5#z*z0>MW8iIrhW+57-a#)!{z+CI2|w MMBg7d9sW@L7tza_82|tP delta 1375 zcmZ9KU2GIp6vywKo!yykrlH;0vTdyNTN-_U-Dph1N2U@5F*J7!Y-BeeGzPVVgcya5 z=x&WzeUV0QBuyp6#0SZ4H;_~y7z{3Ax)Ri_*lKD9iU|^J^eTq7Nw*#Uw>!Q#xtZTN z=l;*R=YEXE#$so5N{{j?dWLrM&**)06Q86_jdjJEoK?G`sN^iC(Mc{SqHf7`uOn#A z@Rdq)tuZ{JCcYYcju4VyCoSXP3QzG#_DtBG4B6iCIX{k?6+EKw}G zF1u>8&@H~#SKm@}NNkYMbV`Nl>o`j<_{1?kA<=xLi2*+Bi_(|)HQ$Edl#R!DO*)(7w#Z^F=K} z4PK`|&~batbxSNh5jVG%wum3$vDimC`%+wk>6I<;J$g%zvXlLyF*3`tMzJ|(mGWga z#X{=vVE=z>yk4mlI=;Ln6$dK5AX=Oi0xaz$Z;G9Wp>^y-zmw^kb=_w|zUTxwd#cf# zkDb!lI2%zze@f*>icKow325X^j9X$I%w(v?QBnc126oyJoq#iqwwjMp)HuTt+@YAND({%Ek3j`2h=7M{$P$MfZyh6|I)@g%MH zMZ>PjPXss7Dn1=7XYQb#K0>NBg%BLS(E=vnM?L>B5cluz^|&8Afcbt<>NqI#Mm+zL z=R4qb%$F;1BMgz$J&a!h@uw<&#^{3~7dQmIjEP@CJS@KeUxB|84+f^O9+V62@ccty z3Vyvz#(2=ClZ2Jj8g24#bLKw0=KScmvepxn@3;G1AXC*&yD0m^mOg4;4M*1?bkGoD}&d<*`^ z-~gBf-v(DyRT_IAlm$+MvcYqpY_I_C2EPG&z#l-_@C|SuI0wpgTu|l(f`oL)#1ITQ z@dzl7=y6c)WQWJz(Z%Y2RCNItMgX0#2>Sp4 delta 31 ncmeBV?qr^jBf@_*LX!Jh)WxX&ItB&?$$jS-16VdTa54e_sc#A< diff --git a/sys/GENERIC/dmf.o b/sys/GENERIC/dmf.o index 704e036f9420a1ada9b6da93a02a1a1a05a50daa..83f6bb64a9fdcb833fb8a00c0291495d0b493355 100644 GIT binary patch delta 24 fcmdmJywP|=I4k!j#%Lx%W<%!xEDW2ISp7u+V+98I delta 24 gcmdmJywP|=I4k$H=!?;e63m87|5-LCvHFVu0C0*33;+NC diff --git a/sys/GENERIC/dmx.o b/sys/GENERIC/dmx.o index cf3a88ed22c3a39550c3450cad84817c01d193bf..cb661c614dbdf493b9d64339463bd8e0680d99f0 100644 GIT binary patch delta 805 zcmZ9KT}TvB6vxk>O_8WBWj zY}+;1UX&h!+93?~r5+_8vIw`2EsTb&x9DL&49&H+|KvOc!~Na+KmU8qz30wGa3!cX z8BtGMInEBmTN+t;{B9YO;?D-zgs5UAtY5US?OO|(!HiRhM-6)6?0y6 zN_8SG9bqR@3sRHhz34!dVK?Uqy(yBYH+#fxMYsrRRyMoEoN|zri>%VdQleR{@sF^C z-poysIZx|Fk(#i1N5s?}t^L1pxr`q2m%fVS%v??nj~aR?E18|p-|L~5G1@|;hckMS z&rw~<-o*kGApNj^#Gu)t=qQ|f;7oJvjb@IEKWeS}#~RX~*pYJ67Zqek?LISwuBFs}nIm>%|O8O?uEB%QUvj~!n5_Kl>vtaYpznq9Nf z@&)v88r}QEeKHk@fLbalTxZ0D>&e(89u19fKeZl@D8Eu7LL-%Z;90D@Kr4RJW)kd$ z-ULy>7qxlC=A_M_ycz#$a|LullCjBR0z{oLWg3$KB>Vtg0KbFC;Xa3GA=bA*>tGMS zL2v;a0vACmkrxC0jrR`2GuXiD5GIM4co;wdW*K_7w+Gm(eLZUJ?PdQTNR0~puEeNQ|4 Kmip;&%6|c}r|Vn* delta 757 zcmZ9}TSyd97zgn0o86gRWZi9d5mzwXG%>s21yY2J^+hvG&a!1I(v<>33AoW;+^f{fYsyY;n|i6VDE@v2R_*r) zk$MjYiD(vcXkVuOoqm!0^8p*u1kAo8*d%SxpQYogd5*QrgQSY*knNCd(sm2>vg)60SD*{A8%fK% z5c>?N_b@qy1sCCIxCF6==On6mh!fB{*aYl@^Y9!rptVpQh6v&?+z+GBsvm*pVIS;= z1MmWT3$1-{9%7oR$@%6e=y4Oh!o^UcUd$Kl`B~ZEZO$D>tAFiUG%gd~Ztj)8y`@|w bH~8}Tpse>*B69-cA9>psMosogz%S2WKPJUJf20^y_?-e%MZDSS_V%)k?M)-%(N{)bw0c%)<-rbG9 z|Gs!K7fUds+T=Kvu=-ETYya#!+MmG5zz`iU&*6Q<@Bja!uB`oYnQfJWu-e_I-;D2F zfkJl~jQUlD>VSOa_ohJpDTP%IV96Q({{O$W_RoR-6b1%{sEcd=NJt*}#2C#a$ZUAy z9}7?n2_!(-Ux4B@KxYEMW^>k1Cdnm0foKK>-t9oT4M-mc((OR{%I2l)-YmQz^-q}? V7}$XteoX$$ZOy2%*^(!X4FF!DR+Rt% delta 253 zcmbQOI$xEQosogz$3#{GPGMFC20^y_?^QP1ZDSS_W8At@M)-%(N{)bw0c%)<-rbG9 z|Gs=O7fUds*5o*ru=;Cj|6E-Ahgovh(f$NZ28QT>c@FPGe*ga;b!F|J%WSJ0gw^gw z{bqdc2o$=@VAQWFR0rfUzc&Q(PbsW&0838!_y0f8oCEzS3=9lWK;tANk6eqs7|kfb zYi;wOC$}}D#%5EVG&TS@U0V~*!*Mh0mYcSiPU zo|`7idXv3qBMJS}k>l)TEpS8AqK`!BrPx8{=%ctdRbf>;pxNA9V8SSAc|l>fzlNdS zDJ*ANaH85%o<~pH!BjN3PDk7`8sx8h+j5|2++J)iZ#r5py+3 zi!PtXk6}q+{Yb@G|MAj^R3JI}Ak8#aQj=gkXUnkDZn>4ONdT+*nC#_tw?%*ifRsYl z0ptrbjvDAZ)_tyq!>9njhtN&zhtUl*V&w}~zJi)_Q8b4ABx>G2u<|r|j`d6=AxyN z2r4cGHAD?kP=l5jG&Quw8EOi`zLQ4X;rzbu`#;X%t_IUVid0vq)~0kRnesJY&lih{TC$LptIZy2FOI6;?Iz5Y6@Cs+aWQ-kL_+c%J1xp zgGD{Bi!Us0R{VXXf}XW%;_{RFaS-l6N!*Xf_WERs+aiD|s&;bA@TYvE>rhZ&X_5j@yZC_!Vu zUL;|Pha8kz@Fa`Wwv-}4Bw)aU8!+lYQ7_WoiW*8Tt}pt^%!BX!4`!HI^ey`&Hv>q= zrAAg8Z<+0_$OaT&VpLCbkLelRRFp$4rbmwgIpZ>81WqjRK$jkn7VaC{DhqX3k9FHB z4|Z6OOr>=@WM*}xIezVzF$j3Ccpt0U>|_Isx%rZ?%8GcKtFFXv7ioWoL~$$=3@Lkj z%GKaW9}L;Wnm5HiyN>yL@vM3uPN9^&fd9*cad-ujFasZ99#;4}so|w}J{GYm)ep|O z%Xo&YQKt*c9R}4m&IK59ED}{moS0P^#c05}5R89`h^gG{nEiz?XXe!|{#$A;EpxJ( zlE2TiyejbLvdU~eD7Ohqx0|2j9)STr@-&5008o!5Vfpa)RB{)(ojif=CNH3S$!q8! zIgK7Bmk0o_$rB>r8z0V3qTiC|WPosC7cREl01GtGJpgg?20B6hivB|WhF&NCKz}Fy iL?_9=(7WU<^gcO>J|=H_o&cOvvx9>_Jp_Fj| delta 566 zcmXxgO-Nfo5C`ztybse5@Z+`CLQpRijRDy6!KK%}O4#TqOqqpH(kz*A!&_J~bD?DRB3z69E=9vXq*^vLuw_eZSUxmu*q-?cb}9e zY)_>1NNg%q24Y41)n&s^Xkml!zY;J5Nq7foSb;38iDk_{$TLnZBYph6bE!l-k==a0 z!P>dSXPqmE>bXpoPdYj2%i`*dxY8c6SK?M1Xl`~Y5u@G+YLPl;;+f9bnV8XED4+hq zR#6{ui9hbZ!ae}>;%GQ7{2@*bpkI>5(IIjQJxczFw#eJ)1o;mAmK;+7=ExGACZ}|O zg+@0HA2$IkQ!wHN$dilc0{IL2Gx;legZvG>LtaN8kT=k$WQjf_e@9ozo9@Q|m-N`i L;F`QE`aHFN3YLV> diff --git a/sys/GENERIC/flp.o b/sys/GENERIC/flp.o index 4903283076660ae090ad2d5af3ecc2884c03e1b9..e6d946164d468f250db240fd381d3bd2a662c649 100644 GIT binary patch delta 1196 zcmYk4T}V@57{}jp_TdtzZB9+Q8ANK7(&opoG`b1;&=}T@nhc#Yv$+jjDd3}e`s+@Qmb-EDr&IiC&o<)mS{|j*;n=a=DMoJ-S^hsxvh(i9V%m5c2(wY zk1-0Ypv95^n=1c?b6Rn4OwX!4?nR4MZI=NZdB3DUolzO>H z8dLh^?fIAfs;cG6vYww4!QhD64>ry79%V`{jJP43{4jR+oZDc_Lyt0uk?3H|7LVEa zE(pvxZS1@Ot9X*?b8cgHoqi^&{!*HCIi*ub%=1Us7h*Q+!X&?ia9ZxPWTNeC%qH3n!_wLg zDWkf|$WchgfXc+%DrL-U0n5MwVj)-wT|yc;Ex(U=0IWj(2C>}({e^?A=C2l2dBi0HQqoAIQW@3og2a1Cp2t9G$ z;FTldD?Pyj;9{Hc6Ay=%q^(zo(OO%xR3pR!)$BpMm{Rj4rRFEqxKXo`tjSM<)e;*7CaeQda3&Ca8LEz8tK*XK3lLYBJQVk}Xx zCi7Y3>^Mhg33}?kcAC5eQ6MhyOW*`=!fp;1@N?jY;gV>7@37n4Rrk40TT0a=dtByz zWH^(gD~3nT&#<#}lV`!I_wrODTdtPg8?|z=^vsCJdv@x7EK9i;xASfh^hT`+7+ByP z#+Y2BpMvo68tmGf=5X)85FQBh9CDjO1-uACEw!do+6G{iOz=z?vHCTM+eIc5*Go4? z>;aRnu490?K)+)PW7*0i{|4>Ki>LA!0!8uic~CTQrOat5t~2(Terv@zZ`)orhQtCN z!M-@;&R(40j}cDGZOS&ZogH$EwtcV?ZEqP-n_oWxsrH~b6CbpUu?z+Df_cOuumajc z+DAM>JPuYNf0}d$F#;Zh-$VKiv7h)!P)ETM8Q;M}&^G)hhrtrifu{l#2Q`s@oBaF4 z0ZwU<#COCw;uj((u7ctsPW?Z1Qx0!z9)uVzf)FSBUW>)?2DM05y|T zV5t8YJ3|$hNvQ+;qFH_eTbUzW#^!zgxVvGO{^i*-gPzD$!e>8#*4I^{BqXN6b`mu x3sNTB7-{W7S}pe*U(-Bgs_<`wTO&buK0mhoc%`|k^Jb_WqC$wya3Zc$**_^cGn4=T diff --git a/sys/GENERIC/hp.o b/sys/GENERIC/hp.o index 23d9daf45b5a482f2f04b12769da1119ae0dc182..5a489f7d781a02af3a52a3f7dd9fb1d15e754b56 100644 GIT binary patch delta 2901 zcmZWr3s6+&6+ZvodtrrL*eAO_L5)fkgiBQz?L_jhro@gHbp$kO(jlp|>Lg?8(3wUs zIw`3rCcm-MJgl)zGA?_kTE@w=iFTQaQutWLF(3HC+;DJ{tD_wU|SX38-8 zo$ov6Kj-|<-CYfLHY=HoXw56iO3!0ciAEe|r)61Qcfx$|MExel`Z~_Avy45=_evX! z`X(kLibfF;H1w|wy+2|89ikzP$Yv0-QD^9*NOH%^gYvgoEB~Gx$;(89=FR-voFEKC zOAYIopv-Zwn_SH-WRLT8nPu$Pd|&1^*2zaR^BpfMe9RTq^ac4Q8xIA7O>ayAX1wzua&n zB?Z#Qny*0BsjNLmJ5gy)b`$vm`L_Qiug{*dWO`3~g*0)pLCG<{lapgE2+=3?wpXZM z({*QUFqt^l9{7t?&^!Em_9IRHK`e$o*v)n(%nBb-!Ysk3Q8$ud4u5S~m)nRu)Zh=q z^-;|@QjjpG!HtGLO*)(YI<_h5^yekai{M7onJ^~_zhr&@o-i9gE+U0xMHZky=stCV z4tq(V5yd>f54aw|y7jsWSv$Y$DqS%!U|Fe(Q;dv+8S{$9-p6OMv0iwM_KJjg9140l z1D;(y2U0s!d-rl%GZ95(|E-VfeBQEl z89k|~l;yn7oxe7Oz;(U)a93LZhYu@oxYCrMt&c~YT94M&P+t`DN$OG-l+@1|gdf%i zc0qWJAel0?_Hjh(M`*$!Cq)*7Kr6O%=da~ zmoJ0ZsSj)V4dcBcL%)GdFN1`o>$@jRPYH-9HS|72cp$_yz5kwI@wr}g@m1WSgxP~n zqZX(9^uN-FXY;sIej0A1cpJ`y`H>*ZJjh@3?g{2XYSer6zf^xzt?e}Q&k#1k=lgaz z_uRHDJTEWssBhVVauBqK;uUy+5HmX^BqyMO=cV}l{*~K&mjAbG6Tjdu3@_@(Df54E zvfbsskve^vSdDz16U(K7%iZ~0cm`PLc2={3EsBcDBxK=B> z=CFlfpEo6B@MlAhvFG_8LO)>vUJ|a#9&oPhj5FMGBEBd59c4|J=-H00@OG)G5^s7Y z$%Knc+w+ME$WKo?%BALUdL#5a=to(J6vNPT{0q?YDTjW~N*u9q@h{$se}mCD{pbI$ zPfHeVg`*6mD>HUDXcAE_IY~l8ukhPbLhO+EYUxP!!0wu@KlQ3fa5@xF384P$XyuHiI7p;?FJa zycpjF6b;@4ZUz1aDDof5A$k?qW8+sqg_1$DDXb81$Y6t8~CZs`)z*L<|X)U5)Cf2@j+l~69%lYh4sMw;7{3nv(0Y< ze+8Z4`}cKVBM^UrQ3#(Sj zHX9GycorxUUjd55w`@La^Hssr(!UE7iBAEsBCbn76mT8OOZnqAP7R6kO7eUgmxib$ zDXdHh$`%`U0mV|a0G|_yZG9}%v3S;1WukZ(R^pb3*8r++`|)E%J!hqr$eu z%kZdeSHjk8yBYQq>3G{IChurHMEoeV<xhSpAFij5ko)$UfX9VaiVDMnMNFGg_If%5vlyKj}5 zGR*$Y`QLNTIrqMM-|nrAFL#+Ol#t-7<|b!rJ|VLv?S!uDE_+=2=1{PM(!}sddYaO2 zvAx1~DigWMh{`!c_*CU{Rhf!w*CDFHtf=`Qt8J<>ha}X^eBzhr0roX9?9V}j?6Q2U z<#I!nQ`3eQnM+M{hDnw(`VF?hQcZu$dM#UMjLlgJ=-%Nx>+>f16}BgH4ZX->nI0No zS2K&AdBTHo;;f+AW^{c_?2`7-3x!?onW4dK!QFVp+_GAwYCBpeHWT7{1hU1mLNz5N z7o-Wkl#j(L!A$N&Nl5_qjCg+^tqDPSKlJUV> z={C7yZS^H{JB+z36?cf8&RQ9APGc*S>GO1FTwCQPB(6P%Pql3}Lz}s+>lgY6agr{N zH>%9Z>Of&!tH3aN{%3M9^tbtrh}GkdYh&=$h&8U2@^L{s20yNChjSJwbUj>y0>$@T zD_pain8~bJ>t(&RmGlCO*~&~|!t$*-%xw>>)4tI4RM|W=Bd(ou@$OFIGud4Xqv~L7 zTssbh9|rj8Zr!So+>xs$z9ZO+TWq_%eASN;GA@h65sirL(Ls4bv~S?2l(e}V|7i30 zPGxGX2xy&Y{qKdoZbC>{^jw>0bGxbsMKt?Fs>~zoQ+vUB9|AXwD~VHmUYtp6&D-@F zh1MR8Sml`9*A=WBbqmsJ>Jy~v6vA^s@5>Ml5C~&j*ch~SdzQi**zMWE+Owac zh3xI@KzZ;M)-EfF2_@k^5H*KI*K3z)#F-IYq$FH>qwm?mR@d$;P;T<@P>~UirEbu9 z_!te_qG78t9i?Hb+K#QiqwCcXaVH+l%;%}xe+hfTPJ}7bVXL%Mk49|DG*8(BMIIRt z-R6;j438!1R}zwlCowJWSftD~kK%a}(p=U@Or77AZp_CbR!83^zF;eFQIOW^>_ta8 z-NfE?ETawVoFl)aYyJ)mo1|ywvDWXWw&Im}sfoK=g5)RInPOe4XHKX8!KZYogzMi6 zdY^>8bY9AtCuFSfJyDH_vsAmu);P%*nGDK5x;*mRO52 zl{;>NndV>x69-ym-KlGU>UCGY)OK2Xu^+#9Qqsn8HymLkdzT( z{<~O58SVHCK=BcUnR)U z)A^&&>xs71DlCLvJnUWRc-Z~vc-X%- hlSh-q`0YNDo&fuJdIIdT=?Sne8MbryrH7`?{{u3yd(i*@ diff --git a/sys/GENERIC/ht.o b/sys/GENERIC/ht.o index 1eeda87f8fbef5dfd3b7f784bae4a53313501305..13b68f4329e35a72c1024e4f3001fc9b2100e5e2 100644 GIT binary patch delta 1706 zcmZXUZA@EL7{||PZ(k^d(HDkfKxHElQGpgIH4=wLkp&DF&BB|kE0n+x)>=w51}RH? z+1z4bXVHBbx=*%@niz~a6~p3CiBXwQjUNh|AC`SEYsQGfL3aJ0avN{rP4E5vpXWR; z=bm$JH_G3vFzF~Ebp}Gd2KhBQX^POk$uFJs@Z>Fv?GT1c1=r||{*k5Frs$Y9w_Fih zEcc%oNOZ0x53+r9g+^vK=>(;7?1cJZ+YjXDsCC-9OpjR9_RmTDg3GM7pCe2ap>RyF z6}9&%v*CLoS|VPeVnlE6lH$=)%k?YKQmt8gT!>JUCRJgPMoS0muSoA8b2&@|LZ$_a zekp2=mfHVhcKM54ZZ+kZ8hDX2X+wb22X=L zehTD0RzNREv9coA4D#_V5cP~P%$NJ4D5gWbS($Sh5+Z#Vh{J*R(X4^}u+PHa315J` z(05=x3f%&Efi0O<7?7GGkmtP)^7xY=kC#ByG3MxZ{5BB&tYaY0JEd>N6TekB1~FjG zAmnkd0BiuuWR8J6?md|w$c)Hbmg!`g>_*x!+mgLs9csa{U}gFDLE2^Qg7!dTVySO? zKoJv=HReKIlVh6jk-q_r=BevlS@W9j%layKUe^3*Oz-GW>Wq8}gHNIk_czeIaS%lp zWqlc%?;n1t>yNa?ELP;oqz9KM2ip$B|U6@IRr@_0XxBy9jAa`_Z2qR19<|v^yPym;r?z zR>Zst%^Tmuk{wI?@y2f{;wR)71NQ%{BIX?QGdy`710TsjLR$kr%J5`SOdV+&+ l)>IL9UvIEC5by<3)klW>q^YXX&KmOyjSfirV|X~6=W!#|7~W20`0GFQK++$Ozg@8|n_pL_1P z=SprpY%wq*kCEsLP+WaumLPj}?DKNgH}<=&um>Sa!8)6iA6krTcw7_KhN!2(=6Jnp zwPh{t<2zW4eLA(lUSn*ApV#g#T%d)JeZs!PPTI7}Ray?aty<-M;+i0X;}VZ)PaJ^g zOnf7Sc6w%+CnzgN6U!kd(y|iKkW+8fk4Qmg(IxxLvyih(=}%lh{n98&L=%!tUJTho zPUSj(PAatS+v@aH;zPPPRDdu6Rh#lk$QV08yyL68`9805#wY%QPEo<(&IdaFc z9NECMVOj~hqhYrppO5L>Irr&^DuY>P*WxpnQW-Qux%drTo@o)0)u4UT7|$NpH}Ph@ zmo@Rv^o1JtKfGUS=fCN9n3lAu>LFfWxYu+QJw%NhzsC0)+BAb3NX_BXh8MDL{+&p8 zT<=JpIk)FZRXob8E-(5{byhay$lFrA56*ic?|y zYkoN6ldC z0oL;&b4dVsnSa6(H5xoq4Ok4eflq?iO5JhrDcF9n9UKQm{uNNnh=Cm-!=BcI^`M9! z1JTbsh4l*mCun9szZsR^>L@@@Bk%(pcplxaU?=PkV2FY_P&B#*)}YaUplD#gP0)cG zT)JYg6M5%Bk^d$r@=bEGkGTL8{#_vanHND(_m+$)n5p{(j#CIYGKltpPOug%S9t*x zdGDzVtDIK3rm~vf&OFR&ryk4NuMJdVTd=d_#=j04i%NdEM^ry{g^sBj^U0^?wBi%) zg~q_-HKb~h|DvjIg0HAr9EUelEsn+8(3l&bDinlZh`}$T>9ne2&|gC1m%Qdu8mpLB zbL=LfD708aIsV_LaFPfP}Sng52rM0KAM`fRcg33 z_uRHJs#6}RAn!B&6TY57!QMV!51eJ?{Nvo6CWXA+y`8Y#rF=ctnNvpI)5p&Y`r8Nm zROc$)gPW^@-=CNFz*d)&y&e8;IQP29+v)TB1_pWulHJdo?xVUrrKP+zZ@XE6RNT0^ G%IJTOJ3em! diff --git a/sys/GENERIC/idc.o b/sys/GENERIC/idc.o index 714f9abfd790f3ed63389190946389b7f2e9554f..29d31f1156e08635ae012966efb81f1ebd9e673a 100644 GIT binary patch delta 6626 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 Ty5*P>&8@y}9f~FvPLTc|U%bCQ delta 6625 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 E1xg@Sl>h($ diff --git a/sys/GENERIC/if_de.o b/sys/GENERIC/if_de.o index 933c45c1e3a3a761dc26509243d218adab657c42..0effe8f5676dfa5a699069ad4f93fc30880490e3 100644 GIT binary patch delta 2826 zcmYk8dr;I>6vyxV@mqFT*avK=$wNT_F&kYJMPwAIQB%w%U+B(+7zmgs8tOQyt21Th zIIYgLoWVylIi)<*hHA7lL$PA~qqV{ubC-0Q%u(m3rlLIj^*zho+#T4@_ndp~Ip^Nr z?_M}IxovW+ku!GN#@Gsl1wVlXjP~7 z0s{O^Dq_}%S$r`6RxIPga{sZ0yqQp4>V>QPk%H)s|NXI0t-*Zm&Hd#}n~~&oagL{X za!|qVde+7J2=0l{Qs53~AESqc5drOV6gVoN#m9hS0$MEj$8{-ndZW zi%lvYltj6F`C2EOZinrw#zcoXtI_1T=xQ=KxQYdIYE!6)qMho~MTL@Sj-yuHa10Z5 z$`DHh&6HW(;s<3`ybYcXS6qB>@(xRIa*s%lNaG!%Fd}E*{$5>Q@NhxjBaVfS#yHwi zv{bP#LX6mpo`dGQ(bygfw&%E)+b;zAcWFy#v_dRUyZL=lWJus&ifTix>Ao3txRxVs z8ZzSS-Ma2`HTSmg##%?bPh;I8HL{K8iW`xm6Ul0idQnc?lFwGTfLOY?K*G1P^=VvU*z(+7CV>o zOO1Jt`2NSFk#Ek*#0_%-O~+HRg9{i>O|Pzqz+l>qGk~c@5O`FOYQ&vgtY) zX!>O&ao%ELYE*(yqgL>*#p5a8{H#BbTOYKZb#=0XfU8&gx2*h=8tZE;BPWvcW#Qw zFk(l1Qvi3L24u)r1`IbSWwJTNxFP#d@X2T9%k?a1v7luA7J?eEWpG& z-~zB4qzOEtKcN+*gbv9JkXD*4?Oe$vAni;wNb}c$w2+N*d@Ip|M4wAXljQG`S0&B3 z*(iYnqy!_R?Uc5iocI|fIRm5xECs32(;&@n0~f=88+3!cpeGmNEJmr*`yfq>F$O1E zMuCViybY4vhA&FAOY(r^A&|EEGDz_^z$LJs!|^102uMRCL7G1nEXDY26ZU^PL@gZD zh*t*Exu(EFl3z%k0IAS4+&|RtXCM_gX=bbpb}}wlDx40E0<%FU=mN{ZV(G60C&F%x z#{N?SPvM|~23*EezyVUCXlDR2!)jck+wXQbUOd0Da(oGGRb$lwJnRRg*d&m4s@oCt<@ zf-RJqN|rzyLHfU=GAyP>`spfIFZBcHt{(NNG(Xlf`AUzt*;B8JXwa4s~R-BA40FkL9)|HiYK7Z$%r`tv*}Tq=zK z-pVTIP@*+qdOdWo7*<0UK~Uo*qst%^zcWmK6pBG}`@;NmXN2O9LcbVVK}*=cchI2% z=Rz8Ve`?v3kgGV}s99T5S^8GV8>^~oN^481SCy5Euaf3Qj$?(+oH4?hTuw5}=@c81 z)A*6>x~8UTWzE`JjEr*%K4jp)2|?%j Q%2lWVZ%z)rCT6q$0Dj4zCjbBd delta 2838 zcmYk84Nz276vyv-yj>PyVOdmEf*^+^rCM*r3I&t1JOmB^=Ef>L^|baE`&HLPXB!Plw4=jmuj z%x5{=avrNFZw>^pG*2knmzd#IJ(YbejOn_kQXNyTs$ojmNTk-8rCzc?Y0_I$M|hwsZu|`KWst#Ucaudy0&U^RKf!DFpl)H zmd4)<<7o#_o1wlEi8ff#hVB;0);ARB#>>IcC;3ClxOAOAXiAW}xy#gO8J~hYl9t1N zH_fp}jZ>Su{5_JVF>aby^WWe}=I^9j{;N47!F)s4yZqiRKOKZ}Y$c8u7Q4Sl`N{A30%Ezv zl9$mRju>{sIR?%?1)I@3rt7b_-2a5aqK_z#hUWF~TFcDRdTGE@NEO?|9K+13ZG*ph zN|ls4_AWck>ezkE@jV;x6rIr?MR<5klYCwNVNFNDg&kDoX-NAzM3wJAL6rsktmRdy zlh;HfN-2DM#Aay+_ec1od_Fj(viS5>Z2ECUI{|v5R(hwd7+kqxNc#qAS*&BA!{+V! zTOCyGv0h)-bz|4xrx_Q`+CGqlOxeYEMwUtrelfCedZ!7g!?er)AZSL{RbQtCof+mi zQCU<-)CBfygLNzR!)INL&&237=_FqgU7QqwpoNdC{iCtDN4tlwi^-Cf za~@NYQjJZ_>X6aGd60Z-P%#2R9mfqu6XSNj~$3JZP+ektJH;6jiJxfi7Qt3WI$idsah7voz&6LT}u zi-y2VZv`BzAAuC;3b+#d7o>ouus}dNNP*%7=Yh1+e4#HAtOThuPk}W58ITt8f*9XU zbR&>Q7`g?|30@G4#xI1m%!l3=iT+ao7JM;NWicQnNCYX63RZ(9_?E8$kAY-2<2Qs7(~q680HN;% zT^R2Z`fnh0^dAt9RmR05Jr$(+3kxAofMsIfIgkq3Asl`X`j3Ja1uuci`26W}q`Q08 zP9Kxq_u!ODMiRyzfQ)_{e?T4>v2Y=Bele11CVHggUu$#yK@{-l{1nao+yP~T9sscz%uD&~CB bSyR=B(OkrVeamBYk5z1fz90`D`8n)A^@Om^ diff --git a/sys/GENERIC/if_ec.o b/sys/GENERIC/if_ec.o index 3c2826860551a62d313f952bef6ffbcb94a040d2..5be1e14714a972a0bb11a908d09fd9fdb36d7f4c 100644 GIT binary patch delta 2704 zcmYk7e^69a6vyw~eY-5nF3au$nL_!a%+itt%R%x&GOAS{mIP+C>Qijsm{xtBXtqq7 z(vhNdAB-(T5e3l-V~&#z3Llh7#iDt--fI{O{hp>shToYTai}NN28W+3u?D40A4#)V z^ky;NI+s5y8mzS%W_|Ds^b=e>^C{;otTE}zlf>!(R_obv~Rs#X9u-* z?XuSCwVu*0pVm74?XiV1?Q%@(jA`f4QxoV~%67 zBmO3Lh#JQT-?}ctIIa4ur&J|sS6lT^mpGZ2E}9+5JYSr3e8ArlwTZXz)gqdh?(px8 z$2O~2F`&p#)oCvD}E#KojL@_cYD^aq+EPQSZNKaSl%mA=0Wql-tJ`*jb7Khl%% zjIPix!hLE*)D=;@$uS3<2teXwl+^D(|1%tQVsl1C-a zf)sZiq_}I+@5S#y9^!{d1~?1H1Mh-^0%w6V@e+_4dkw_L{S!DH>;S27$imoc*y}*D z*MpQ_2jVBe_PXTTk~<|2fmF8}#7~afZ4EOv3F203f1xap3QYzvp(`Jxf=^2OMUdim zNdKRbPMjHvp9xZYAxLr6{eE|?w0DEl@P5fJ!w@v#MUWEvKw4=c3@UINNC`P$5cU!Z z!nYm|+L^r|#eFUPzk-ynOMfboDSrqaCGaOC^ye3YOJIk~AjUvE4+g+Ga4EP&`rij9 z!0rR5gR^mqso*0ZHU1ok^Wm-qv%wF+r@&xhKVJgJ!F~_S0lxuPfX!eTV_~-!KUn2( z>;$Q!k0kp*T2vZ-{U{*=M1uP>km7y=Gr(?;8ZtmyVWNw%!JtPn9i+Hh!AkIXFcYi= zpT_xfZ;b9JemTAm{}D9t4(Oa&9f3#lGHsqxiR!xEm2Q_10^z(=KqWI>aEDKy?h{O@(8)F0zEuYpE! zHWvkIq&@`wiquqR6ExLN!GmrFzKo%{?frgS1$=hPAkvK{{h3K0hQ^nz#l%OXW?0s7 zQ_RoM@rH0iE=c`3cI*$SFJcv4QvVAwx{A~teUgwwK8C}TV$x~-*NwHH>tRy=1Kwte z87uuGaUSlJx)NJDaUcebPLck0_#Yndhq0P@Fb0}mAa6KhTW^(HN#;D1P+n6@^Zi~OTa&>T7(W+o^MR{dWRj|CGq*OeVQNZsK?_`Xy zk7N0P3FE}EjLF3TmY*FM&w{1J!BwSIMI|L6(yOY9LRA>a36NE}x{9!7`AYKTW|2`` zQC7CRq?GIlELc{tl$@ddh&yxRMrlzAhQ|j)W#-L%g4monmL|>_mm`j4-rz$_QK<5n OWff?X<>zMQvi|^qf0b|m delta 2601 zcmYk7dr(wW9LLYy7YpnKc2Rr)K2XuraA8sLkulUzh}DWX@lX)~1tCx%@sEbJDXpnV zqN6pvs7WhxUCOY0%vfNATFtnm;&TDX8UN6_s3;WZ?fct3JMNv`{d~{we9!Ov?z!je zeRuKjB6E<$SZg?AlR&y&X*9ntec8Bgg=B6VSt<4KEU8t>Vt-Q!j zY0{_q@;6qgx^m{`bgx zlh4#o3V8|L9xbYG9z{pVc+7HwiT^W=M6{T|nV$JL9n z4k5YQ?ixC8kNk_EJge)Q2y>UmHH78U zDC@|Z)@M+1Ay|MpgP#t1VodmnN#3gQknHUZ5qQ}4rc~t~pI}^WEHHW>*(bctIK{km zP*u;{E!uN-o!emVR!X_kI8939oyKN~^KHS?rEn>NWB7CmgZF1_&VIIjtTjDfdYFZvuhYpME zVF*g7rW8%LvW_1#jSbI$zM#B7k>j_NMf{>^L|Ven%W=`scU09ia>Zi59A&|(58$yR zIlY@s;+C*vDV{$Q78j+(-L&cQ?C!PBRbah$t#@%p*qh;@w<&@9fRQ%p!+stWeki^x zuQSguR-2eZTNziDI8`SE>7-qa;J3pgxfC(zc$P6!9Bdhk$#cMk;8GA@d6kHliTE2J zw!3~On2G+q;FB1CRPeOm6_9*=Ao>0kaWhIF|75{Li8;K+6a>ha3DU&tK`Lw)h)cc% zrh|7tO1wqG*z;)b0IB^BNaHz(^R53_aF3ubb?YBYlH;edvK?~NJ{8=FRSA*o+;fu@fiT3v(&GWNhhXaBp{0F3gdi)@f zYz8So5=a9UfossN1nKi3esIahK=S<|;x|DWKPcic7);}*;HL<2OOS7TC0K&CqYh#= z#11eK{0LkR?h)}8Z~@vuIHBoaE=UR2f>ikHU@5o@OahOA*e`Nfu#b)4T(rLhZQvPj zBiIF&Gv<(^Ll~<-;2=m9wF(A>`YN3W(tvmn1LR*p@(qA7pvL4YC>W$Wj0DGn;{+#x zL^v?NYgOp+t}FcLgVqXENHB@_g$DPbURLK5wxEAF{nal zI?Z$nC{EWlXv#@{t8YQ$!x$!R5OHem_GxT+TulKTUj^u9Xnfcc-Pd4#wDFq7A1#Dm)0w2Cy{OtGG`;IaL;F4B zMcj&KKUwIl@I2=CpwI*nA3%J8KaQJO0_`n=?*A!aYQ~J2eiPz$5x3tcyUY?UWbQcrWlghvcv_+yf-GT$jX)_CC+07B}D}_ zCAEdc#nq&1Y747t(POhxYtzfMgso+j-q-?a6jfDJlogl2lbpf|DylY6u-fOCXY)2n s3X9P_-^#bgPLoo&Gjb%7 diff --git a/sys/GENERIC/if_ether.o b/sys/GENERIC/if_ether.o index f9c04712bfca700aff14ba62494628d5f5659549..8ca77b26e6bcf907a457d1ba4f412becfaca097b 100644 GIT binary patch delta 531 zcmZY6Pe>GT6bJD4cIP*LOr6;okSHQF+9+Yw@z0?ydJqaEXCa~`M3C?z1f4txiU(1H zO_z7ki{MdYK$wvrwoVInD3}$uQ?e{VASeThiWuq}oSQK4dGGuCH#5J}^if(?5a7R7 zkU!vPVeCD=Eo}YN@+v^eu7r77!u|SL0T4Lv%!X>{Q$DebUEY)A4oc0OQ%$nS6!)={ zGUBm5BLVC>)v%9;s$nOMh;_W6M%hmFmz@PL0IYP`4cuSmOUlX*`cjjXoF&Z}Yj?_S z2~ANG>*`jAe;IYwkBVEgj-tr#SiKC~z}d-8SWea{Ei3|nv(g)WBv1a18}vz;!Dn=) zbUi&eySm!VRl`H}A{qW;f}(VL`?6I8(YLm9F*8-k3Vd5 z;9l&pw_o3yxCeCri+pSRzy{Y#T<|OMEmB6$pie{kBUEWxAI1Z!>El?WoY97pG;cgK b6FdGT6bJD4X6HAvyROdcP7oLp7_L~by3-#6LG<83koYYTw0el5lMx*|h=_t% zh}rZmb*MwP&_Q8Q7BvVGGUzZ1ZbYyw1`(bn72HF(+nbzQ@PiNU`}@7$zr*x#TGJ5# z;*NG7$DIdbIO=@bi8)b#q+RwMdWrjqc>&7H1^2DNB*a=0WH!33~6ORndBNsUlWYa7Z=Lpg7$Pt12s zC3hRGNVZtt6HC#L+12{LV597AS%*QintfgOTu<)iCM=ng+l$Zn-tx_WKTa#!dt9c6 z`YfjDNWao`P-`?Q`KrIq{)zZM7;j7czw0dd zl^tMDSe_Dse=Is{8rJ*+FV~|gZ@Whz8Tgv_6FzuvD5W8L+^$@JGEWB4TBvv z*yB4J9QZ4=R`{8?q@YSka2RU_0rDi;HkQ28CMQ7erl841FoM)VpJ_-*l-F)8wq zNXC4FCN#Y^3dk0M}Z=Sy%4$so%W9bHL<~ot* z-y?nqEkM(lu#%WB<~6O%dv%hP%IwqPK-fUc!kngEyE?{VqkMSBm^;E@uH-$U&%Buz ziE;BV?-M=Y%C2Yr#k4CXe>&*36nW!zUoYBy)4vX;XWs7cdgfhIC!>9yCG?1f)7}p4 zD}8A28>n(7)W7&Z)0nRG50MqIH$jEB%vXjg&wuFb3a(ctzKVFBCkazzj&0^XBAY$; z(GKSzoRO*g6QM@V@d43gImjOu3zqGP*YDA%_j;CG-jmUu`M@#YU~mo>MWwZ$uM!5^ z3+VWwEs>uWjW#E55W}{$>yG`SX(>B3oTRB-R+*`4)8BMrgJwF~)$d1*hR_ulAG#cs z#?`HiSy$kT&tuH;nB;mejIofXzykO)q`gJjMIc_*M!bb0uN^Fe{W?f>AA|X@FUa^r zz_#3yG~o6*5s&3eblL6p9nf#WN4W08#a1^Ba??I~ffmA;$X)y*iOEfaEH6}$x%&M9KIlYqSBu6A? zKsqJAQfp`q)fPDa@0q=k`@Hj{d-;(}V{3Ouem0%(K$so-s1slPgs)ey8 zh)IwFVb(ySH6S(G0@8qD=|32-EpADlj6Y!u)a8S%$lot*0aBj}(w+dR-wo*xkHtR< zZC)Ze<2LYZL#N{A4C)SC7LKcI!rvaLA(^7{)5XK_FaOxKNPQH|x}ni<`E^k0L$HoO zQ&0NEJ1#Z82G$QveTGr{IW!)Xy#?c}OhSyE4+I#4|7)Fp44Q_0gIoQh)Y<6zi!SGm z^cRA6r5?lgvncf?9H9~Q)aQ3>Xffha(5Cc?M952>M|Jsbo&G48 zkDPv~M=|WQF6W$1e+m8a@~6ar5naJ|x}*u6o{~8X`8R?Z1EzI3e+K>dV0VXpOUNI1Tr$nYOkr<$CRelI;J!$we2-E%?M?qM`|{D2MX(I nP*~C4*3d#NoM|Ztr=?^GcT#+OI%LMv%i*s2R;&m+)4~1+w@a-) delta 2039 zcmYk6drVtZ9LLXTOKIr?3Iyl|ECyxKF(;4m9EvYC9-1;9lMQKj3^t|%VQe#~h3I0! zmLWS5nGeQ{Au=foVtg@`Er=v6S(i;RMc6~P|7OLFfmuWS{^)7ao11>Vzu)=2&bhbu zkF1}vOo5!Sqrr@A1?kG^Hd#WB!(nxnUnj>QrR(kPGK;AQz6adZ>G623SXDEw?Cy`V z_}cEPuktXF%U|N##Yw(i8>?mPbi%wVTwLVU{H{n+4D)<(Ls3gn$}N0Q98;S4E%CWB zMrYPBHaDa~(cea$%2NvMjKh7&;ntW3!~yljxYqwX9u+g5*H=1+R90t>s}>H2`{%9{ z1*Wt1<+zH)qyim#}E6 zd57rLY~n>?O7ku66&+ezar%99n^L)+0G;|$XL!l)r6u#OhhRFEO&LzdvUR3EWX|D6 z4LzKuX6U&c4-~GIMP%MoyY7R`FZH%a4r<_SqAw_t*NCr!^0@i9F4H)F4-Gas?je`E zE{UzWB;F_5bW40dwCFqd!(vhYLiEhPv{k3WZFTmCIF`M8#wlRaW1`Y#8{HjW3-LwAmz3r^nG;Bhb)ev7oTrCkc*GVH~V8gb2F9_%)d@;(Behy9IQzv#8~ z*CZ8q-wLoE#+hg_nM^N2zXc!FIt=EC9@BbzF}&Adm4J(24rs#Tr>H29Iz9%XlRi`O zIWPeCPOojK2Ptn9+zyU|l>ZAz`EwxU-;vZSy^}>NnaB!Fw9_u^DsRj&$up8aO5Ox> zQNtyfjRB};q2v#e7bHV40Ijc+YzJ`%yo(>2sTZV~2i43@frbS*DnT8cE$#x4{1qSt zj!6HQ9j8!8p3akO+L8{XRQk@=<;y;!A0;Kp_t(~zthzYGX@dB6tdlpOt z|B?O`upYKL$h#f^X29+MslgGD8lC`Y;6J555+4C-91G^bzX7BHE5Qb^%&uo_FT_=l z7IX%0p?HuAJq=QW3h6)Wwe>xcH{|+8qc<-f+=uu#rTqa&b;hK98KipGq+c6}KMGC$ zvUn|g1J4=#Bz#F>e@4L=-pAD|UuryiwhbCbzWPZmm-;;vsDVb2)$0|h-+^@in(ELu ztzBvyJ?n&~I%kplJ~VFD4t>HKgNK6alw4p~81OEv`p-a9v$J@Uzms}1s!sUDT$X+s zepc!!Jd;~ePvY4Amijg(T!Qv(SfNCJpFw{YtTBcLCaG!C2xwnS95fBI21OI3ZbGv( zsn6rApOyM3-iAVGs!4T&D-nK-8gUl3lBM(MA^KnHyZh=0RRANIu~ zrc>&1H0$z<`Or^)=8H%DLFf#cjuM9bg1-0D=ll{TeH!u8V#FM-!d7NS@0c?cVsmtb zF_qbxn)mG6U&jg))6&F1bb~qxG9z6?#AL2ZWray87G~R1XKSslYHHojY`YHC)FK`W umK4z#vxdTx(o;oOjG1I|VyYO9iHuB!Ovzxjs^+GHyBl{`wZKkIXa56PIg5q> diff --git a/sys/GENERIC/if_il.o b/sys/GENERIC/if_il.o index 661c85f658eb74b0906819c04363f74c7a623654..b5eabef6259242c3e552fd3ac9a36b562cc1a548 100644 GIT binary patch delta 1635 zcmYk5ZD?C%6vxkV)4VlFmo#Hr8<zUnUfP6+2t2hqhH*K?EUX)z$gqv;hbZxQdvUu{vbU54%7 zh(Y)GnQVavH7$W&I8Tb*ynFP$63<8sN_x?$Q%RJ7!* zf1~-%nSAy`2YMA`U1dxGH;HuZRcbP1j?hUDmt1#fnV1M{6@0QPzUex<5;$ zdB?&c1us=hp?Ht9d$tI)@a)_CQ@&JcJreyss#Pz|Rve6Gp1RZzPOY8slsxU}6^-(? zXPao1{;Cdp9<3^f(t6cNAv)x(b@$ZlCGupjO&gJQ8N_j|cfd}0uXkfj7ozRh_dYNN za#kPMB@cM-Pj$n4UU|PzoaHF|*T6Qgp!|20-;3AkAaZX}+z#^0wzBQ%0=aG)>;>Nf zdFpwP`_6%U=I=C;1#er5eS7du+#?Qh?Kp@To;=tO`Via=&Vsl+S&-wmK+fj@Jj1Q% z2f6PV@Ja9j2XW6SUIV%QHyfqa8vFwX4>)Qs59q;<@(}FHAUC)I?f~b(25?#Ve+LI) z-%)YlB#OXJgFIjbdq9KS`S2^HtmruG4L<4ufvKK&Z^aFSp z`8So{>M0M3f&7Ngf=3a5z3g{?r2OB4yr~ssTk${S{w?ye>Uzs9S z-iN`BUPIC+&|JXR=O+ENNiUf6GBnrj0&gh&CRTr2=|8Zwzm#4?6cA8ubTX4O!}OWgZ}Rs8a*#UM~u^bYzlk|ZTP=}=EJSx zN3>w%U|X5A*tA>o4<;w|XW|q3;Mhnqeq0|JdpaQ_wcWNbbv86N%IVsKD*_p5q0Zp0 zCaDGLeT}3a9?~Zd#gmiA;SGi4LxIgABnJXDbxowl$CKlUiLqnPB}gC9hZD$YY-->~ SGwH|1hM_`Xc{UKx!t@^j`X@2~ delta 1622 zcmYk5ZERCz6vxkV`?|GvYljiG5?(Z!$V;|%>*gAwgJ4;3m^;|Oy|6m8AUI{&1o@z= zCVp8oNcO}JU;=(vFak503LhlV39x1AFD6IDE+HOG{-)(@VoZMTG{idD z;JPgK$bVhkjtX1QC1jU7;2oRG=TpY`{8z@Jw0zZVw6!1+9HGzc*@wC0?MU6zexsxP zR<;IVr$3y2&zBjWUl7^li2YsAneGKG>*r|uZD-aEL6&Xv^1hPei_0%A?Mvmh0fTAu{kOo`U(LH{qbe#Tt2^kzww2k zRir2ET}JB3Gd3rNQfULnwHmtMgD0zj zHk(DvJoY|f$+tkWXMX~PHWggK%kDHcV2EDJhJ6-2WLb0Al7G#jUpLpl|EQ_q`IcqP zap-l0sZls-DV&Dp>Hfwa=RCA|LKl+yl87dIs@j}kY7I7qWU?ymc?hzpky=Bwb@Kke z8h?ml`}V{R?(Q2n_yV%wdKn8W6ZLX9P`Rp(Vts=HgYlsQ{fFWddoH#&jx}}lwfxgS RvHk;lp~7MLX&|75=|31_C2#-$ diff --git a/sys/GENERIC/if_qe.o b/sys/GENERIC/if_qe.o index 8c688964115534c98321e54a762a25c25091af8b..b075e65018ca79d062e73d9488cb311336a61736 100644 GIT binary patch delta 2139 zcmYk6e{54#6vyxFd)?Ztuj^JoX2vE#U~D35NB7Ig8k88fE-BMF*aD@D!j}D{>r~`N z(cmA(g=M=CB_;%;LV*?Moynk#BFXWl~;XIOmHM+_G zK65oXBKGOp&1d>g$czok?g@Tfmc(OSo)Vpj#hSt}g`LrxqChI+M?|w^<8O-nQu*u^ z@LqCf&5jJq*P`3Zj7{sJ1>&Yu!QU3S^2(h184d46ScIMIpDQue($!Vr(&_tOrk-z`=B#=UN}?s z@anNMDHg7jKl;DRrQ)~LC5!jt7;dD7CespmHz4l~U1%~Z-f3ML>PcuKB8m*_cu?#$ zg!oUQ(zwWSOV8M)A*WS|3^~!yN5XF`n7bQ~iFQne$A zM)z12uC#t`6IaqI=X{U~j}*N(8Hqw+2kIE`|)$`~`Lts3aGM#UC$Va^49R+g;BNE5Him;^`ECXwB94l0=0bharEuwH(7cY4Ys{^wtgnFBYr3oQ0f>vz zE0`+EnGMpuI*>Zqqw+Y|jP+TN^8E}_J_WZ)``c7z>RB*um?A5_5=G;i15)CpAQc(~ zH-o2fwX{ADl79-McmsxkI0riUOT4D*)9b?#wBA`819G-sTz`vsG8nY-z3G*(BK;4Z$TOy(sz*b zA~c>P{)wo19Eop3k0)q_Ln|DBju*p3ZBzAb6yB8-^FA~c zv*2L&Y4M0TkQDQ&8Z(Mx8rEWvb40Zd1~GZZ)I~cSC!w__zSB0~ROr7&#VS$YLQ>2X zEd~>KBguY8vm^dql6@*k)13$7Pl?TXEVRNF=y)*{&Vklq=4%>_F48pi7HS&yB4{no zb4hwtQcN{8<=>de%&cB@(D62o>2vyY*5>YBPm8z5)7;h3?G1Q3x;FVle{MA|6_;~M zxLsuC)u%X^%WkuY_Pi&9#mv*X+0(nx+ua*ro~^#t&VV0YM-eUjSP=tpws&oTr^Fuj z_`I8#r^B<^@AGxQT3W_D-QLdDX6SN6c>UdeUr$&2>pqIw;tMcWv8_CAf1{-f{ZSH6 wk8kj)lohVx;&Ql`m*U4^$4`kvYl=2fuGUU!&sAK8GHA=!6Y%qiF+%BVMfM^xy`_$kq$cky>cpT0b24Xjs`ten_@;adDX8)MVD zc!jv5ui*Q|(}oq!vD%BZ_WXS@7GuNVJUwIe%2`Wo&2WwK*0espKy(@U_&!mb_N#jg zm62td$3fU=&l4W4_GmkXN>VN*Ds*wk0!$Stf6s6l6kBK$udw5;+a=L?CpS$;e zpG(AF#<@iTE1xh%CNq+08aqT3YV6QbJugkuVGx^m2$ zZH*oCqM3fN+dMCCH)? zJZgkRAAdNhs-p`dld%C4{NiHijAH(!Xqz$3heWfbi{;V6 z1;w7i$X$z6W|3{1sO^*Db=&-cC_?&8+2&Y1{8l15*`5#08pH|PYsRq+7dNEmUl6nG z%c2eTwqsp{|2F0oc-k7b&x*7b`bUe zUk087QkHALbjH#i*D+Qn_GUZzdeN7?Fyw>nD0J1pZ-C@80$dOIXCPuNH-Ol$w1-LA zYQ}QOe+7^_=#+RIxC!!UAmup&q&yFS6yJ!=B{a|n@2xZzN)S2?^x62jnp+Pr5;> zp>W|+Q^99}6cCa!U3SvvIvB%7TXzAQ#QvOIGnF|BX{U(fXWZPdtYur|bQ(UcT=3y6i$Z;B4bEo1J@E2rtqTV0ZJsKyG9N5Vk=4|&%+eG zl7EO~t0kX<1+3L$kF}&e7!t*BKsHPMHVOy9HJ=?aSch4LG=KQ)N%09wpI(gY1I-6H z4@>=SoTFaJ8$vJ)Xik{KXVOrKq+ft*h3UE^n!_RbK1Kh7ricIK6#canenay??9CMY z6nKcnRffX4V1 z1zkFEYS#1IBlJ!WcZmw;y4h}4UF=%Ke8DZg?VJ3~!Ioer^R)#!I{odPFqIUGPn|Ps z+~uTf54I$XorKlJ9)v*|@NZ_mX5W_fK%g1gQV;XB`dfmpf|tX?-`?6D=-Ae@BS2nT z1Bfhfm5PGL@>V9IWu=mmG8o(*d=|U#@wl~~D1@>ETUxhMa9JtyHEr7pR$jvX1sAWS AL;wH) diff --git a/sys/GENERIC/if_uba.o b/sys/GENERIC/if_uba.o index 213149f08103a0789d1da69cfa17dd795610e764..3a2124b3b3374bac84174c7a044ba4bca58f3b5f 100644 GIT binary patch delta 1312 zcmYk4ZD>WYf`m(0dF=aTK__hhoI&^9cdJ2QJ5zN%Zu2JilFP};y z`ylwiN;nh0Xkmz08Mfg1%{0mZEPf96k4;fR+DYb8n4@4=|Q9LG-niK z#{Bf<`Oa5*$SB-OKmUBDwASQxuUx{0W2`5?dE6$dc#~4|{ogclbR7}tA(m}t!!uY< zWM|K~Dz3gO7JUy&RR^uAjj}{3S(a(H$_!!gZKkwomeE-k87;PY~sj;SGGPy1;z_fyrW; zEywJY}KTHIw4SgzRIwGj?B9Uda<$=V76nX^gRZOuHS^8stcd7?G*Q#DH?n>94>! zD&imhldZFMJ$%iRCoETRxXa~ov6u^6uzEK1sA!PRmAk^jYwbS-`p1h!V@yze8xs{X z8T+?c9OJ$Acd9?Y(~cS&n4{CDSJZLCl%MlzLbs98)xUKDS6i)$e> zptXQ0PJ^9hyEqBn5vOoBlkKMHg-GTy_FSghjERHNw)Q0UBJlfjVkh`eByh)ew(vh) z$5JbZJdf~ZmlL^PTJ+*ev=ceL0$1XBhZTQ>ziTDlp z4dNm=3v}3~=muq8y^T_|7GfC;e4C#2pe!^1&P99;Yyodr@hxxz27L^E4F4G@3k&P{ zw^$rS++p!9K8B5m4`CYVSGcAI^MZ1)*{=9hfd&||&?-S-_Ccp8`5~aa)`D3$lwZpHBW3#6GJOIX7f}__Z)N`3X&-~0 zhnB-Nqvj>c&tkZ%rTl?DkEZg$>QClI!^@UXeE+tsyLRo_PVvqiQgE3JiqcUA1;m3lIwG4?SGX*snWWXh;tR&ZqNmgD*A+8;uxXiIH)j3S!L9_Y{PxkrcAIsMTK79{Soy0~K2sl> z%367SRr=D(D#sNLji+bU1ogIDrdl3iV+q!u+f{Ih8Xi$<_Wn#)2HS`z6K11vHnxcM zM|=7Usu-Cs7WLZ;dC$tcD`bv`(K1im$#W5>uQS7Aqk*t~W})si{Y`mjEgw>vOWjn5 ze&Dy2X7@xUTz{Nbt4nJCm_wakb860-Mb#XvY%1~+-=H>mGcatHFkBIRo*z+P)FL~I z#4o9G!`R0$QG<;Mu|x)4oD?2jt?dhbRY35JpvDd+D(e`#6BC2{ zm^R;l`|X=MshNwu*Gz59)Dq0j1ovb!!N`_5e$w5cH1Pl2mU57vuK3XSEnh4~%_??2 zCLTbZ6M}E_tY)X6ji4<)2fOXKI04=epJBCAaa()z$fAV6O@S`IQt14-U_?d;V*a}+hBi$ZlquLJZh{Sl#MO*Bp)Scf=2>;+}q5m4UXeTQkV5%#AJzjXXV!)Gh+sn1{zNJ=CJh*>`TgrLzTtpt~s z`I{FsANSS{d<}Cme)tmkah;N0O!RU|BXt~FraOi!cR`oRyiukPm+5z%_@^+M<7NI& z%Jdg1hEPg0RJQRgH0n^>@O!=$s@5J^zmA{wFXz|%q007XbRD%v*FMXq{aeGy-sJwb dy1FRYy+7HvxARcnVeGZ6r{vq6Jzaf==zm3mm;C?$ diff --git a/sys/GENERIC/in.o b/sys/GENERIC/in.o index 0feda5f65383d9ee9619b934e0caa23afc4bd19b..89daa338d600969b16470224b56d421e1e2bc0bc 100644 GIT binary patch delta 42 tcmew%`9pF82bT~N0}${qF#G~i96-E)eX|r7FB6-&1%r>J!DL;Y(*U?`2vq<8 delta 42 vcmew%`9pF82bT~B0|UbXb_RxDK$;1N8F)5Jaq%*-SsF0-m|INNoF!pJ^|^>I-`URcqE?854z+(kiAfg?$f)YkuOXLMf1`};r7Iq&z`WL_vwrBv0+O;1}2oDa5qyE z40p1LLGy?vXbzu44tg~tQRAF>SqlGIjzkv1zp*!UD=A=5c1fP|MA|f5^8(C-o8fxc z2FtleVLR$-Ue|DKTnE?1J;U`tHBln25k21}ZZG#fk%tW=KZ`YzUvOW;4qR{sUW6ZE zC;S{6*Um$nOuGoX;0nacOH|-3cB9rqFI)$&z+8A08sIf(gg&@K+8sNv6pbD<4nw>J ztqG<=3%m}UP=%?j(2u%<*8{NEx2nqU^r8D0RX=OKyOar(o4*OQs8M*AXzM*2y^U-B^3$>((&DO%(zU`Xwl2N2R7J>N}{_M*Z8J1m6G3=o@C3u$Bsi^h0ibtv3Rs!c>M$V14Bt=Di2;E zp`wG>VeLi#R7a4pJfd3_GVT+Ljz~sk^Vwz-a8_K?0MojyDM zw3EEa-pF)(GQRuUKvG(XGN<{ZeB9!eYn_f}ON;Dq)>%oeby(buBs(njCOVLBFa{2- s*(MnZNUpIr*;~*m%13rtPq?ipjD;k-Pu07uII`JgZ)&MWv!syz0pQZyzyJUM delta 1451 zcmYk*T}V@57zgm@xXn%Qs1r@Cup)?rz?C)?OfO2z3=*S@HEB(lV}8aaRuY^jQ_Igh zY2`=F3L;iPoS=(}@S?nv1-6?~qJpps*9SqNvi|S(F5iRr`#;a~?(CfRoGs?R%r_e) zqLT)qVu~F*pP29KHk+GY7u#xP!gZ^WNR9om6v&+qWSo&%t4a;&ww6v}5YR7%hnc2e zxSuTy+Wn@WJ$xQHIAkJ;nilLUQh0SG5((Mf+QPpOa{Ba|Mc*$e7m4I_d}kNTh6Qj7 zyacPc$6z<=I$qav-P{(gmwT40KqHX>=Z>DQk9&jrh)7|BllI3xSb@ehG-@Gs zLAJp(=!B!N4JKk~2OLA)%j*evU0qAeQgBc5Q&czMb2tv)Kz5cnI04_ma<~X5;S!(! z;PXF_?Yoo^n;Rjk)8Iy!$?IHRZ|8Mh0yRb-ToD>mSa=ZLf_8WtI{893w~gBY{g|JF zY<)MJh6C^p9EDX-gY3nafm7<5F)NQ<)>l-_WjywOZ-R&FwtNI zoQHV1Ja+uF)YA`s6X@i8ywT7k}4Awyl>GT zQaM@%WOh^_Vl&<_Y% z6Y?t|&kA`?$ZQYTIn&@rp}!Q(>?eogr!e>{WF0;kzxz}n=LmU+kar1ruaL`xTq)!u ziclOEvQx;7LiP!{6B&P$j~%H!TqueP$>BTQ;B~pkamwpy LZErxcq>%mr11ZsD diff --git a/sys/GENERIC/ip_icmp.o b/sys/GENERIC/ip_icmp.o index 3c61e4901d275dd0cf6c404e9a8f17342bc3a5f3..a0b09a9f2ae139eb11e772bb6e4c3afdb3c847ef 100644 GIT binary patch delta 1247 zcmYL{TWAzl7{|XeJG0r?S)1K#Fq#$;yfvW2jVMAxnx-vjLd1!npb_07h^AG15<$qm z>4Sl^84(So>E)rxCI^%x6~s$6gg`}cq}@EUnN0B|P!>q+}%09|972l z&pG{dm+Fi%MijYeFvj-VWo(#D*f&@gyKZaRy%QUn279cz7BTg|?+<1e&%=CdQTz_c z?=xyArb*=ob^|q&&hF4hczW?9ZJLVkd~D+ro@Z5|cf_k64N1~!A#5=Y!Sb%_`Wr>!*c#f5D{OhjCx`SVVCDi+TEqBc}Ny~ z2T!&lkXIo+(HE@eg7q7$Zg)u+-RPxb8Y2-(Hu`ho7ud18S9+3vr|Ah_NmNJX#P`yd zd9}8uMB=GN?^$4tXki<+Ny}-a4cSkhmxCp`@Fty-7Iofk0B+? z$0F__beOdl^sT0a7iaZg%XZl@V?%m*S-utV=MdPJWwi4|1=3v26SBD{o?^vjJVu7v z?mq+n1FY^^)J`Ij-17D;ZUwe%tSlMsmDRRfFAq`5#8Kc=2am7}Z>PLYna4b9ph)J8|AQUaVXL z2R3g8Asu(s5x4Er;VyR4z8|iMcdmMA+C1t7X&>A9@aK%|hO*z&!}#BgMA0T(0Lcz8 zOk^AYKZSh^Y$Y;JDgOn1a_oObp(J z#99!6Xg&BP*b2&mA3)h?SaCx6=RrBZqN0XmS^pj=>*Jt|S1Z;kZV8wsV>?7U68ES; zvtk?A0sjGIcPk!OJf(ORl=bJ7odI{i{tJ}9MP-*`ica`H1owjVa;i;u_CV}|qZO2e zSHKqV2Dl&0j$bdotZj~z5k15`f|pF_oYEgaFDSjuZZ|iwUi-B9_4?nCco3(HQ1D4X SV-#w(pPR>6YP>7j9C`!E6_}L( delta 1224 zcmXw%TWAzl7{|Xem)+IOYBt%_Xr6+pHXz2a>XXDIR=kil6D3q5tcn$66$POWKJ9}- z3qC|S^}$sZtq&$^1{B3Ya7#8=@1+yM21Um8N-JzR35FP5>-s;FQ)cG;zVH8C&TW2b z>}xc`jHvpm$r$V9Vb;%X@++*HUF4efd#XXVA5l8#jJJv0f0ar)%iI#&zZ|L=A^A*E zCxta>nM{r?)Jk(Xh72Hy-ZvRGJ9G*4n4UlKJ zrM20)J?A1l&bhvs9==9jl4`)j_SmO|T7jb>c8msQ3^8h$MI zOVWPw1&z8Nc*!UAh5P0}DL6Ij{J}_>iS-(h=eSd~Eh9$48?X*R z`@3AJ_>SjJIZ``sNNp_8%9^+j!`nSzO;;yldoYVtuiL9Dv(2V)D?zh=`C+4LK@O?2 z_wc=}9*p=q(BKX)7)w)Km^W_(r?U#CJj@WbqSb8oNzR(Bm$OcOkSjsaKQM4E?=eA9 z%twK*6~(*2dyWx@aT^)xxW@wh9!7s2Y6lUqm;8ShH-cc(Lm3Sf#r43=U__5&$SjIe zGBiJSn|Q`t#y0T>=2}+8BcaB+H}A0u$DR4row}^~@)9&r;H{xWRYQmvL=jJ1;d?{f z%MV=D~X~TaK)0_ zzz~s{0Ndg32Rn$YBT7H6*rzCe7MXum@q%I&T#x!8Q1<;(@iA!PeG6_NN<|qqA%!|{ zBNCfI1fna!P2hJbehHL~t}5n~{u-1Em{6=jGg%)8WqkuEtp)g*-dMX> K^4jKTtNt0$hmHLJ diff --git a/sys/GENERIC/ip_input.o b/sys/GENERIC/ip_input.o index a2dfa4873b55bffeb4eaa15f5a3547b6d090cdde..86ddb1be6d1ecfa1cac110c286263d9e627a0923 100644 GIT binary patch delta 2874 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 X_hN4rEMjlZK^~X#;o%oc_G$kH5=zDa diff --git a/sys/GENERIC/ip_output.o b/sys/GENERIC/ip_output.o index d68ad70e0523becbdae4018ceb75a1b9af52385d..20bd5f468c804f96d49ca18cbabba089e121c751 100644 GIT binary patch delta 759 zcmXZZUq}=|90%~3{d1>xdwF}SrliCR9vt7g23q5Cst}!I9NnZQspVX@wwnHHveWq#g(N@I;eD}Bf=3Y+ON8xan+ zp8Dgu-I_j^2xy@-r&lHfefMK>T}TAxold+Zo#PmJpVI(ReOyUM>Ly#TNltLeSWw(Y zM?N^dJS&D3iuUzA8?`9$cNotqf+QKiWb}oy<8LY8Vw;FgOlDS rJoB&t^)CO${E>ps{>z4ozu_`32gc|UlY`B)owWtG(dg{?;9dF;%>@IX delta 708 zcmXZZO-K}B7zgn8nU5XYoypxM$&YPK%FTlin-o-LD-ltNP81j;VpC61P!qLeUZ z`;?rsFg(niR7HKMY*=#)+>CjnBhql7Ompf`g}GizlFiqo9rT8Kq~po6e?70=Ogzs7O=H=;qzZxb zMl{!?OmM<&#nrgmg0quyYr%ZV(KAY9Yfj3Eb;;evCGtUf#>eCbbe?DAeYA&v$&K`h z8by!j#5j)bf0o)=m6-+Lk*ckH~S2%c72NM}Q>IPl{S z^6Y}OCZ+KV0<+`phToeixQlRps^H&t^t2KwEk4QXu@3b#(M=u-B&eB}0=HiMhoxceM_(RLw>>#zbof|YOr>hLqHf^8ChB^-e=dRE_U!zub6 z`g31k4A!8)r&Kd=7wRR5{kn}ZMTiUFG)VsdNT24d diff --git a/sys/GENERIC/ka630.o b/sys/GENERIC/ka630.o index b14135caa40beee275472dbb1cb03a39a485d98d..8f19df96fa8e7a1bb76c57d67bccbe16b7e5e4fa 100644 GIT binary patch delta 625 zcmYk3y-UMT6vc1an(AOMmexV5E`H!3wMukw=pg725C<0(Vn_oiF(zo8>wlmSL>ygp zDpDMDR1h7+vAXEuqT=dM#Pix4>4THsIq%(jUr1h*hN31Vq93S1t#wyblkrNLs5^y? z4A>9$f#aMfK^3{cTm*ZOP0lrN0Qnm10PjH=_6f`)zk#Cv6C4H?aJ%SV1x4M4L@~;S zC-I>bQGUqV$Dqh(oU5E~I6rW%bAILg&iPB^i>^dUsw8mp5riEYgihJ_faeh2y16d# zjIqB0MZH+JP~;!md>vl&>d*%i^?vjI8u&|8X&rQ;08^qtN}JEXi$TxOD137e>L=Q2 zG_IKk#V3p|TY^ubPyEznNX#jK>rk^si4$#xs=S}Ff<41AcMZ$;0<&y*e$fsOxfeL}efECR559iB-}ig({SNFzU!$g>5q(1)`a6xfX@vb@qDTyd zI5-N9fHRV3!6D?la1At(3zF|Z%tRVsKllLZuuotD`5ol>FE9zN;B}tg1i5cpqYx#6 z^Kf#5+fSr?26DcVT$kLG{3!WZ@|)xj$!*TJgMBg0AIHnb5Gwp7bPC~1yXOMGA@P?W z_wc!fl)wMyoA5kqK`ltlzDRuw{8aS;qBfD=Tl9kqwN!)QMLcN2cNbwG4zGG9q-PnN zgVbXgcms3%M=n9UCl9Vd-JU4XI=t<8hX-CTr5^=1`lOZ#TKarEyGVAWkjtcOXScFn uEbNe#%LZe{^g@p8TG=hus!plwsV2AR?o~aq_||nW*1K>@6|&N)H2nfa5J+_Z diff --git a/sys/GENERIC/ka650.o b/sys/GENERIC/ka650.o index 7f16220cf7095ec1ceebedef0dd3968135682960..35f7692ed97f5c534ebbce4d945fcdc5712a5322 100644 GIT binary patch delta 1066 zcmYk5F=!J}9L8Uw&9#t3V?o-%MnT9>)Wq0avxv4LC}IZD!Gh-zL!~1 zDxL^dPzS*}NG&xE;-pIl2f;}fadPV5Aav8;|N0NS!58>PDZ^AzAdB~ipyO23j z50y_ee*qKpUdi+>g*O_!gX8#b@EH7|`7bEF-*7U_IN7qeG!MjbsX@pVQ^QcE-3?_t zw>jRo56U*m!tk==W@K~;C+%hEhAU3CBk4a)6C9HGB$V&&P!2)))`PMmUi<(z7 zKd1Rc_0#GDc$9t{$}`-EoAXgHuf;oBybq61cnqcZRQ(c^jV(jj(0eEw_y{N9XDEGn z+Y{mI{%rKne{j;?fNuDm^aPy>zY00-tHRZRfth%x&N*}%aBZCF}X#YUHdmi`Am!|2|Ic4@vw zE-$K==QaOAez=z>`7y;=-yxL0%Si@g0Xd1Ymi8@u#nN-CshbX3Hgth`?x|j6vPCqv zF==C-_jJE8FVWG%$Wg!T4WPTLf0JiogVolYSNE@Z)n?H0+g{MTR11%%bFpIBNH65Z tj5p(##`0cJ3mVOqIaSCPtf)3SD^V%jvu$dqjC4ynTJ@{-8o_wc{0Cy`ZP5S# delta 1015 zcmYk5KWI}?6vj_to0mdfGzx7+=yOnt6l0p2q@8Tz;!w;W3Re$1^eyF1c%%3nn1hsy|@`~kGET1ty zZ@v!4sc%3%!^5~-i-KhWU0?<3glq5|d=9nnmHBn38{33h{~l`nCpZB=L#@}_o(SJ0 zgXqxza9X_wi{TH_3)EEjRp{rwt=#VEsl}UD`3^jCi1&u0YiOp8+I=+hL~Y4x)T}r< zbaczn8;<_y=r3sIZ%UTEe0Ms2JNmDqciRKx0}FSto6d%k2;JxoZ?BUdv-~UhsZO2} z$)Y_n{f89deeKhC5scHp8lrkKe3a_DJYxxg+(PRz*BQngM*1b?kI_6LX_3{APKxMt z>TKHdDx(^7Ydhv&iiHd5ld*ibmVPpLR;FvS#X@enUajA`dru~Zb2%rfE-q?R2+Iej T`bUwag7wbL&fTmMjOJw@ceP}y diff --git a/sys/GENERIC/ka730.o b/sys/GENERIC/ka730.o index b6a05ff73cd51e502b8ed4ad3d057162477c2073..64956f08b6ccc58babe9f4e3fe98ed1ca667cc43 100644 GIT binary patch delta 274 zcmdnPahF4oosogz1_J|w29O4UGaChknK;=Q7Z02A#S-T(jq diff --git a/sys/GENERIC/ka750.o b/sys/GENERIC/ka750.o index 3d0c770b9ff54ba458bfa91fa0f2c7863f443c21..4bb608c5cfe7ef256953e315f50e38852bb60bd1 100644 GIT binary patch delta 358 zcmZ3@afU;XosogT28bUpK){)eg8EE?>?IvLTKEGL}r9%d97yTu>UHkysp`oS$2eSQ4L`pOQNHB(sj0DMNgAqPeL-d~RxP mYEcn`kFfzmd_hrWUP&5UCOIRU!N`iWq#1EE(bpiZb&`(%>@58QBazCWZ|0 Mxyj}h20+CO0L;)RB>(^b diff --git a/sys/GENERIC/ka780.o b/sys/GENERIC/ka780.o index 70f2ead9b6e690d7d739f00c84cbf071629eee0d..eb1141c1a202704cea57a4d50e883d8119818ef5 100644 GIT binary patch delta 366 zcmZ3^d4f}rosofI4G_O!fPga_1y?f}vNJI7$^r#AfV3x&W&_gcKpG^T4;Al$h_g-x z(!7)3GKq8Y0vVq`qLX=<#SI03JVT(#K)tLMKpG?)0Of~6`IS(91BgF4l-ax98K@t~ zVPFAbkj)@A&?JT+Bz82A%?iXIkORa_AO;TuLjjNii3b329T3CBn}BSPIUvvl#2__) zfOr}ZgVpdcFw6q7fogz`1%f4$C0X=@lM71YGZKsAlk;;65=-K9^HWkMyRzt*nKHy@ uCz@Lr#OJ2wrWO@3_!wI<#1|B0=9Q$uWs)LV{!(ImYE4de0HL_g+Y97YHnrdDh1w(v6QD$CA8eAqh UBb&j;)RG}SHyNnX+|+;p0GYWdF8}}l diff --git a/sys/GENERIC/ka820.o b/sys/GENERIC/ka820.o index e7be423b764b3b4df7c610613a2cdf31476c71cf..9aaf53bbbb9625dddfdde0b1583967d8d6be9e91 100644 GIT binary patch delta 1366 zcmYk5U1$?o6vxjbW0SV2&9t>-rCOE6Dl4w>YvTuk4=R>cMzGLK3S&*O+oCb0ty28x zDEgoe(ubgk`dAPg6+|ic;Dh3ec9GdNwV>XP@j+i!uG`h8y3PLYcxTCFCcpDP=YP+= zb1!+&Jk_j)6r%G%qMiVGBYID}s94j6w$^FqC+ExM)Vo?+)tKS(30UR={8uEk==w3L znk2;;!>rGfsxr&>A#XfaiRz2Sv=K+Goo^KlTpq$q29wM0U^#|)qMs%DRquKk}O3gJ4vaY;UlPbYr9I-s6pmExw+JWMv(oUY%8^XmpM!cKKHv6>`szWA-v;w=g@#>{ZPEk=aemjxsyq z^0&fN&BtMSq39}wua5O}z3I{&J#{TL%EM}E)a73ks-?Lgx8TCI?~ex$2CNuST@x1n z0c-^qgKNP>;7-X-5T3deSVgqp5V!>Tl+@>>{sb;X{tLJOti!IvycoC~JPS5}W1#4B zMIp;;bQcK?g(uSROd4KFx{@D2vGBaqbvQ54s73N8$?cNjRz>}!q_}jU3z9bi*7w9s znYasz1s;Q9L$ATr;8$7yChHCOtAx-f28xEQpqRHt>J3uwm%3Z(<5HiNy6^tkP*AZh z;NJT7eQY=;luEOj4*Hm~C(sLZ#>w6+ZoiaZGru=+8k*VzQ4wL@Eq5LLI zFVK0&H!UO@L5#;6qtbH_{tLbbUwo!})Yy{{WeXdlT!|nYnB(d$jk^kt}s2eyL0j4pPUK1ev)s iZ0r87r27t2M|=Z%rSnHJWDbs`GyO-0VUBOwNdEzYJT_zi delta 1310 zcmYk5T}V@57{{M;cHEqw8;VX*6cV(H%K4pn6On-*a1aEyiBqTI@T<(iB3o7nU4+HD z5WCE-jv!$~&_&UW$t0#|2zH!{?ke6eAxLxm-{ZUR<-Gen|L1)^-aUu2k@YgmZjp%Y zn~2(FGM4hf{y+-YOT!Ip;xHET>?CW7U3W*=YXt1etRGIht!$diA(Fz=$oUykq)+Zu zH*3aG&XPju>u#qkp+Frk5Mfqi>IjOk1vJx<$LmeQ8%uWG(Cg%!;C08^BcB6Hh z-NbpD{bJM#4SB_oRna^Yf*depakSt_ju_Gr&4)~0cWtvi!(rKG9l<`ivhy0GYKNTS zhOX*u8?FqLxfJ&|3O_EE3Ufb^sefa!FX?DbVHCw<{Kr~&9VX}Qp+afldBqdf6xRkT z3hv9ffh?XVGZ`W4?s2!IuBmEBb*UMddIQ_Uq$13G6cRaz#dtYO&Ze#sq0%<>{J3*GhD)NY^rT&8BN95w^vHtn3+rK1!-WlsGfp-n!MQhE>n3=QayIGMQ6$ zd60=sAV^u9Gj+;=Y@*amGM52IEh`)Fn4&I4?B@wVHs0)4tdE*12lQAz|C|B^LV6ET< z!5e~i1s@B}%7LQ-&xKx3HVE#{}Jald=eHk&I0)b@Ek?i%AMhVPN=6ye08(CT`CN8>MMZ*m$$FfQkWQ!E4*)_w*b%OYZ*Ik zuN|{L!{)j5*x#^`iyKeXQ3GtukG^9LEz-H8}Ui18)^j6&nKsYa@^b z@uxxgbD{jLQ2rh${|c0U8_ItU<-Y^*Ctqc)&IB?TSb*3Wh*^Oc1VVrq=oB!B0Foea zDIiV*Vz4*|149;&%?`vMfg&IUG6w{zfEc9y77(`qF<3nh14Gy3wQPD;$pxkH8HvU5 x$@#eji6!y5`6;Ok@!5$MW(M)Osky0niAg!B3_eCi$bv;hKoQGH?D9+&3;+pGD@OnT delta 267 zcmX@aw~$Yeosofofr)`Zf*D8y!JLhP#;lB7lU-Tmfn+MHd>|JC18)^j6&nKsYa@^b z@uxxgbD{jLQ2rh${|c0U8_ItU<-Y^*Ctqc)j%9^d$6ybnf!2e8Gmr#{O962p5QD`z z7#Ko^pdnz83M4`5Zvk;35QEk8Fff!(-pQt?nw@B2W)Pp7nwy%Jn3R*s Y;A3RS5RVWnDgugFOjcx)4T30;P<`v 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 aKb(+ZEjxu6SHrkn7ra%uJl-0dQ~v{&fFsWU delta 1638 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 delta 2194 zcmZ{leQXp(7{+Js_S$Rlr0tecghC;u)OvihDN=z#Nk~;HvQ22P9vTxU0tr!p3KqHJ zL#Pz7kfk9cgj@}XY1t4!G0})16$qF(nmaLsq2)_K8(wTkX}PoOGj|jIGimlW&+~rF z?99zJS{g0geYn7Impt@vdf+&Yc|#BTjnWpT1%(}nxhMcLYGz&EbAE#6-*Z3TI|N3b zNxGGzO`Y5f@tPK5vtZw%RyXQg+b1@b$&tjrrDdnpC3@csF(|WBUJR??>UYgg2$difo#vCV7 zS8{Jq?w3Z}tX92X_-&Xbw;zOi&e{ETyaq!vhvr#aA68z5Sk&&xu6)vB9Gw4KMG9ha z)q{_%JkJa zebyn**iZzj=91Y~6se}U^5EzPIA%0llyxRTRXDQ<%}hKC@#M6gVRteo-(b}=5yMfU zn#Rk6)hHcxXfhmXZ#88g*zBq%96h@dhz3UFW?tqr9m` zFr#W{I*rPNs*uXW8FbOS#Pbj$_^k-LKc>@|WNjy>R*cN zao+?u|!CGlq&>L5rm0A`XY+XHw%eLeI;BOD$}Z!NPt{6QsOo-wpc{ z>&n0~=rX*7`b?@f@ZQOl2|JE$X+X26eK)IEFu~5|x9dUC?&WkHwz)nnJU1u;g2hs4 zJ`7ywDl`-JUGcgIptyWUvf6l+lWpDij>~M8bv(S(6ydo-BEXyEq`I* z)!K!v^c#{4ql`n6C|d59CV!1FnYdS9+3` z%$o*|f?A|JIt*lkx4`!ixD2iX z|57yY6_N${ATE)w8uZ|=M)@1SZ1`KjMsPp40lWyx{M#zt1AYjdj_bb>ECPcp#C!n^ zWOfe*z3aUsSvb%Dg^MPCN*10>@xgo53njzR-M7zEC|V>w}8hK{?+S zk}~k6GQLqfulSSVuZq7b-ctNqu@~HeJ_Ab2+2sUY#T>=aiiL`PFeDSpG1v;uR)JR( zS12}t@{RX_^6U?SAAvR~cj^`>`^3Rz;As4lc^hm4w}Z#QeDD+~^S)QQGZh;njY}%P z6$RJ?|4*eKf*(W2mG8Tu1o9MHw3GYTu2i9BBTND|wllcT6vlj*R0Ri!|4F`w@lARrc diff --git a/sys/GENERIC/kern_mman.o b/sys/GENERIC/kern_mman.o index b346d1550b3f3dfd650531f8a139865ff7f7272c..4a61496da615d528fd41e391e3c553598f849593 100644 GIT binary patch delta 895 zcmYk2JxCl;6ov1)D^dJI2x?)_MgmES-EqUZBBT%@g@q|n1sTSfaUEoKhMC!2v>7cF z6@rLppbI-Z&-8XM#;QK)Liv&?B zN&naJkM7=NTqf#x1CKc&{3M(fE(l7OM>g!y5-uPSbFU4wXM{^-+Q`=&8mAywhjs#tVHB z&Ha|5Jw;cb`3L^sTZZNzSn48LReCn1$3nQ%E=`1Y+^Z$ps>#^&OZuD<>Za%VMx?u* zWs@Gx1oJeR$>kx#h~-F@^nxAvM!^o9MVlRjCFHJa_$c#eaKnY7$r_PcD%Jxn%|X4G zwP;dHbLIzLWSbGnw;7HNtL%h0RLgMc6iqMSN<-$&1h#=2Xj*>zLszXh$GzC7=F-*fMGa(2BdUQc5KkzJ#|b9CV8(5yU> zs}~+~R5&4=5-tljgeBp&a0gt)_j^)Tg~!4Ra1Hq_xDGyx|3PG#PvkHQz>JIK#}gZ#W5&tn(FZ2r~Nu)W7&IZ*J~$Cl7rJ4ev$ zbMuMfpNa2;f2H`>(EM{gx6;!F{h;(biQftT_20MXO@b~2pZ@`UiQf%h!zA_LoX|X+ z54T0}JH+pY->vvP;s@dPDSn{lTSUVMhUx)!GXh;-)tG3s(72)}6&;1E|>OUrd3VDcXoF|H%%s+Y-?nRR)VAfNr-~Riy|?FsO5kLaTlscn%)=?{ArcC z>xGtRTGMv2Z7=*;#7bnkHfg|U+lw|qt;LH;Xe!#A#!3}0)DIETmEC51&(7yw%yZuN z`#a~%G6#FddaalgqC8_AvE(WDxb;}8bAH)-u6b@vda3Tcf!H`7-{sRuw`vV<`Q~;I z=xjxj7DBA#TIuw^K~NDi<-QhuK#sc8(Sdv?EVbzES5AYrkz7Y7O!^z7LaDN!JO1G1rYbw=P87KNZQYMZMJJcCX8HkTj22M2Lpk_U^~f z>fL*#RJ~z)U7LLB!%j-& zUm;>mmhZKf%HNf$gY-T!)g|S%Uvtz?!nsPb>o|LH>XXu+LU%QPFQ0z4?Yue_@7NE)F-RdnSa;`J|2E7l)N@EcWA8cS0{KXKs@E zT^-+i=Qe0xWu0_^+R@J$*O{J)Ph<|Mjc${jlohwbz9)YbY2DL8i`whDv=#(Yak_2Z zkkC>K3`^!#X&S!HYFUZVNi5eCeTX{eJ|u-H`)oQ72m7)BY`)l^HPd+GENd zF=eQD_g2svsEZgOgv!ClnHCF@UUgUPRH`#9+zPYy$GZc%K*`xe{f@f)50((Sg-ARc z6#`4^QRWliTkxL(-v-A)leYwRfHy&tUuMc!sBO^Hr9cx(g9o4=0>{7|py~5$7|&ZH zSd7CM<-j{(z&gzSG4{_ezhcm)0m`+tB(p`{(>cYwR|FnY0Y!9HVvk29YJ zC!u$-ev!GCImYn`)&=Ir%rnfh%q7tD`;ql8pjCkJ`|MD|rs$Rq++Yhn2l$rNerc?6 XW5RdeNIogIyNk&_IXIhW2_pXi_OICK delta 1305 zcmXw%U2GIp7>3WZJNwgg3!Pm-s43WxN=O4)Lcqjmv8ftLGzYk`(}ZX#1n@=;L=>{i zg(8vSN~evs@uDai!myFjh+Y`Nj~DXm)O4FbJI{w%#!@rK+@ z1R{Y;-Pi>WlEkfwGWGj~{6U=D`bklHhuTo#j?h;~p)c^`BuD6TBL?x4sveh-i#7Bu z&hi4CHQ1Msa!k^1SmE*Mfd0k|Ssd<3HLlJJD;v-)V+6xJQgsfu<54@Hi_-b7pVp&% zF#r6iNMM~>c86ZTXWp$`yy#O%31pYkI6zMz$2p?h)%g=v7S**Js?O}yL-~W*%D0>K zni9)$zaW%3Bb2CkKh9`4&)K_iI0EA>4jc^wc0c<=?4M&^VNNmc zF*VqWJ~i=hz)J8a^jg->f@a~(tUD{riR4x`b}-*yzQfEiKVtSVzhs^TKf$0MSYHFp z&5PhM_*3lv3-&?Vi7RxIWrul+-DU~?mc^K#SJ_S0%6oi+Y>+SbQtS#3Ynvj$+!Avla{;?XfvUK!5q-HD z79aUhZR3ttzdY}=9gJ;w@qbUJ>KViCh|?^F;Lh(W#7kP7o#Ah^1FY?ip6q=0+w+#R za%8dG?ynrT!=kb5c~wzIt!UkqV5ZicStz&1N5y+Y!Qfpn4d=xq>M|2~Pj)}&1A43Z zfDs|O#kqdLOs+lzxMf5$KYrr0tX;DMMJL8W{`v{@xtOTvgv1;+Th>>_C)xDxN=IHf zg-Blc8qSNCsCch$MPB)YUoy6)E+Z0olooBu%+6+q3q%ysOT&dM?kkBLw$ih9TApw7 z86(8VZ5VY{*o?pD6p@vL{jdw3hdnCqRe3-3BOiyou&y+9A_FT5Pa|)GYhedm19vI+ zDGx%~e*{K|3f9@x4PyYF!wV(2g=pPlkdsODQ1wi@C!0QKe*k6o>kTLK!wo>w^bd8gZ41VNX^+g>SBI!lO|goCgP_QP{3e@W%9KtJ*i;6+$bZqx|TamC?ztS>+4mH;BgicPQ(BLfNnmK`s!N z54g4?$c5XWT<9Q_3w0__{IiXir*I>$UIc7p-hg}HC_DfkL)mC1zhVq)<~#iH5Pry# hK0aVh(Gl)%*w>W79`fV(kS7Kqk5tWE{!GIH`wQqL_DKK$ diff --git a/sys/GENERIC/kern_time.o b/sys/GENERIC/kern_time.o index ca1a10c329c1003039d0aefe4e4b01b523f2ca98..6efcd59be81ebc76881ed2f3c607bc9627b5e0a2 100644 GIT binary patch delta 1125 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 I%3r(wF91wf;s5{u delta 7871 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 DzM433 diff --git a/sys/GENERIC/lp.o b/sys/GENERIC/lp.o index 9b018c524e583b57d82cb926e52e25ffa30a0fda..293ee91a10b0cee1118aed200f9c24ac40a61f07 100644 GIT binary patch delta 89 zcmdlYvq6THosogz#zxj#EJm&j3=F@S-kbgY|Np{jfv6Sz4h&hJ7$Z-!`21&JFaSy- ggBvUi3<8@)S=Y1hf|#023=Hf*`8%60awf9?0J>ZkTL1t6 delta 93 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 delta 5156 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 diff --git a/sys/GENERIC/mba.o b/sys/GENERIC/mba.o index c8b04fa2df32293b2de285ba4936f57d36d91cd8..75542e06a37f2b09c38674bcc0dca226d863d9d3 100644 GIT binary patch delta 475 zcmXYtPe@cz6voeaf2JqAm*}YF_=bpaF-jqW6j`*11jEe(Gyj4uBGFldgu01Z6bV7l zcp!>exT~jV<{-2R)TJ5&j)E}H5lV6QT)3Oj=l3AE@VnnR-*>p@{!8p9^b1T>$msX@ zMy6wnN5$qi56NwQccq{Zt;{AJ*UZhAoweEIOpWu$ajF`<{u2AY~N5J=SrdABj|-paXlZ|=M4+Fmb)q{>0C?b^`_uMa9Qt<}d4&bH^S zMXlv@b%i&8;ulynGWPsqY1Mj+F6>f@_!*hjUT}?6>eu;D?&|G4Bd_&`MjW4j(0wWD zb=FDWPJSvkf8t;_T8b?4t8Yl#MAilvA=0l{{@Hy&Fz|fZl)6hp?8(0U^I8n^%z-5BS90VuP_z8xAU)cvnR^x)4nrVI` NBUTF=+0Ry|b`I91i}(Nl delta 608 zcmYL_O=uHQ5Xa|bchdxRgC;7)ZnV%M5v>wLG(C6_ih>|-rI17sibX{OhT>NbN<9e0 zXb9y|DVjr$-NXeUR1bn!6#RmAOOy7rO{kuFa4#OJiCzBzL0I_hy!V@#H`DC<-ludi zqUMxxk|m~2FS8p$XHhmP23c`P+jz@2vdBpqrCYRzJ)(xY zCZPgz_rZ<(*=lk;$@mv;ZQ7?QYB~~_Gu4O`e@^oSLaU0*$Geioyuq!aZ58>~0+HvH zx~&;>{X|RFOo4id!bjq7sHU06?OD~-ofPVS6kJNMyvRvWmKC#7?BW*2i|_JkW`7ML zp7~!s(DuB#sYilN8mUo4wzX+&P_Mzm(gNcv+~!FJJnF4F> zh8U2O0RtUce)q9>BHv>n5mW|PQyf!<*fVio8Q$N6%_Hf=ZC)j6@HN z$<=gsy*6oEKe=3OD=*nZ8P#+mZ4vYnDJ$R=#7D8ft6&z)f)7CjUmhGo{0i*&OJK)q z{JRfgpB*m@-o*KJu;Yz^8N@%p1gJy0O|)A(i=R70>Lu_lE?$G3gtyh9Kvl+QztjxN OiObqy7OGBbXXL*k+|BL) diff --git a/sys/GENERIC/mem.o b/sys/GENERIC/mem.o index 0574ddcb9350e9fb45652020ded48acbd24e90f9..97de8f04ba84efb839c27c91682427bbec5693c0 100644 GIT binary patch delta 160 zcmbOxI!Tn3osoedWg=@bqr}8aT{Z(oJ4VC)iF0HbCr{k9o$>bMB1T(b;r(~laNJ$P zb2sY38jgUw3pfNDCLd$ek<PM^4IJLCPyMU1xMLd=Hq81Am& zxVwhuZq$V}907M1a2VG7pL~c>hf!X-pM>nYSO9y4n$=fidw+}Qga|`0SAaa p6tzIWP;s&^(|W;6K&zq|7GDM&}) zWsifgMO{`eCzJle#yHR8!dT+DuD2=IXPc2nEVN6(_sO+R%mzl`T8Z_BwVaz|y zN5c*=THELJdn~cY9Cu$G3u&G!W+;DKzZNhfiMSlGuiV-#quP3aA2lvmHi#w}0mSKL5hUTK3*acHIj72cyea{Tq{O zP0~|MrWeuVx8uHEr0W|SW4K$h zcF`sqjUTll+X*E8JI1V5oP7=wC+28<^MXbv9_w?ut^QeKyS|g(G1~RVePvW*ktY|D z$wcjJTo$MH9E*na!+gu2##kgVAukipWflMA!~s9AkWF}qb)$zOiCAR5U&~ILkXwx^ zd!8eJIy~$_qt%`pbm^FqEc=9XlQ6|tWXZE`Le8LOCH|X)Da-+fIiSVmP-<_(d@|V^ zc8XsG)AHD6wv)Za&M+i_@~{IheH)tLp+AE%^Cg__E=Ec-!#Qy|Kn*N1A1hf?k_B_Z z#evaqv5+~M5N3sR;--7UMS z5&PdrV(O2yz1r4(v@QS5BaKb%2b-DC#eyu)g=Iis1S=JjChUF4ujZ@#GS*vwPM{n3 z1faF^idX9f;D>onXgpx{HS`qp z>R$qS9ZU#0&s;xAJw$Hz@y#@@>jbD?g+BJur@?=i&jNZ%{9UpvGNbym{APYC*rO z@=P3@ZomtsI+}X&z2FV-UxBINu*wsP7r_NsZ^a_jcYtaCJIcSe;)Bd}535x0K(Pxy zY53Rk@Im=5#Z_Qx(5!r$;!ed~ihC5F1ylVc<%gB0UuIleAEUe+Vq7gGD1f)&^%J|m z)SyuL62)aIuZq6zj%$3kvCr$}!$ym@fOi`odc8p!=7XvCxH7BlO4F!XYFrqY#;T5H63`dlvF}wwhduJWcQ=AzEzAU~cy2F=Y`4^_u*Ej$G delta 1876 zcmZ8h4M?129Dm+>-`Bh8onN;)74svVnr>rf+KMhR=!9Ux+a^rsBG(*a6Sd8amaIEl zMKMPoyc5Pj%Yu#bLP+qsX!z@C4I+fuP+N;Rh*}`31xg z{%WG8k5>9pKX0j*mh{_}%4c4qT;&erW)l`^v@qt5NTFey7HS@_yC1ZKjRh(D##B&o zj+?=v>LJBv8jBJBqcwiCn|i(cqI5#PEEhjkEzJ$(xHc-DqY9aORhKO%^uyMIooOm#T9$R1XOb|rDPz^SX`0_dO+5aSgsGV$HgiOY@GlZ`TlBB3 zg%9t*6x@2vG9I)A-|!cDN->A?BYcR;EIdzNv%2z9agM-nxi2tW=JO2O&@Sg_IEByY z+ifoYEp%%lew$*2Pb{Ii&U!YgUq|dd9%Cmv+dI2n=`89#`O?9zwnHr6!B`1U3pAp) zyn;y+p8uau=1FeFc!$H!STDr8KtN2mEI3(s1^yf0XJ7_c1T5)^O;W*5AYb@Lz>f=^ zobQF-3$y{p03Xl?TmUZl@#iW)#pB?gfIGmv$X3B=8H{BBRO1GFf&IW?;1qBU_z<`X zgn%rD%~1OrG;Ws#p=Y6!Kg-aYU`CMp)y!nf*k))vDhpwt99o8+f!_I_8ZR{21>_n8 z)$hP+N1*Xi>{;j@Xxg9=fBr~gYz|lemVk9YwKHZ1GVQE@xgZLFExD@OD)C) zU|qjj0YMwR1IFt+zDf+J6C!uw%jp1lV5&PW`~bKZeh^FxPKta*u!OJ#X9V{N4ha4jO!eOiKPh||jJ?&{ zlzSlVih&gh;O%(+_(8z5K$Y;df;}SNHP(?GQ6x=oaJi&O{gA7~|2`JpjTgivvtG2~ z-o$Ih+q+F@YTquQseOBdrj~t6XzJ2_p{Ywh5t=&F5Slu3TxjadA0$>u=Z?4LuNc7R Zuu~YAfu;j7bln^@&d7F;xpOis{{VKYyEFg* diff --git a/sys/GENERIC/mt.o b/sys/GENERIC/mt.o index b36f805bb5a9a89aea080f859d695ca9adcab776..2f84f1fa9b2d91b9db31da5b852ed81d2ed0c85d 100644 GIT binary patch delta 2400 zcmZWq4NOy46uz&0EsxSN3WX`Z{*Vb9DlL$~BpGI#6=d@{B?xFb1P4wC$dA)Gsay8r z%w}gUCQ71l5<~ejx~iFTI^8gH(P1^2F3Xz6=yb_u-s1ehp>*GAUz0js+WURy-0z%w z&%NihXNoQtnWF^8I!uh+(6HcBzr*~B=3m2(d_?eT#$!AOG+zk9Np2UP z&-j{M8Z6W#XstbLwBIsdvGu3R=UtDmgghWwckw-9RcyTB2eCg>J|oC($=b-HbgjuO z);lEDcn4FfZ3F4D!Zflxk|XaeQC$3Uon87%3huas`*m5u(_GT$WM34r*b!kn#s++| zScPzrDQu>2UGOUlq8KZ7$9DND{mOTIr9OGqRV47ar;QtwJr4tcbK;twN)()&AO$fs zKH67}x{va``eDJ&%cB-Mi;!bnqr5wYL(*Pxi?n5I_x8lj#>C6pg~o`&y8KES)RbSV zEJA?Q9DwTKB$Xa2^Dj?En#nhU1-$)P{TAE?u4BL=^EBx>P1FQm7i}?*>O;wO%JBzC z?wsJQQnv63?~$@|uZrPPeZ!CZ%J-0t>y%RH{#T(lSYbW?2YJN@yw;G&3!>wvH!;2N zhtP;Iovjb7#dty3g7Fq3+ppyD#^|)-UFr@bh2Ni)Idpah(Qnp8fvp<1Km`V`&|9L^ z-KV9Jk}maUN%1DNyj1yt?2fg@@jKCS`lq_^(fxK0)eTQXhX2UlFk}jw`G7UpUFYyBDM#-H0#)~_9@|`Tv#QN0XKhL^-x`x9eT!shqAorh^GsYNM6zw4 zD326U8!zP7W159ye2K9_n8N#v+cF;B2?Rv%ka78;L8DtdG#KaB`vjk48xp(FMJ-%5 zWzIeZ&G6XI%0Xbf=+(=j!ZMV7uxjWe*_Od&vUi_U?G*<^k@uQjO8dwI~3&dl(i-BzV=_m!J0`1%vH`iPPYYf&3 zpanlDcAjR=a5`Y^hea`mfeV4Z0&9U$+Rz$Fz&hAjzA|}>GGT)B$y8*K@X4;4XgeWs{f|y z*TjV86MiJCLrwO2xNs*3nL02){Evo{@aRmRf8dd*t*lj8=1b-(& z|Gvs4__u*m>;^2bQ{~kCdsTh}+zpOR1)ncN+!ggP;TjytPzdW}X^POsBdmD6i= z4IH1~b2H3i8T(V!9VSTm|MsP<+x+**Ye^c216l3ec9J^kx z@-6UhiqL-)!Ck86G&J2Rr;2xj(}q643GD};O$(E#4@S89!>XtlcXk{+ytz}JsZ)zJ z33aWVj>g({M_o&EYi)<4xut$JUz*abFJ$G`0vo@bk}l+PV`^rMl{uPP8d$k4HW)jC8vOu=j9ba)3K(duA>Q70U{b!cdTw}YiT2Y OeP?qkE6>lhvHt+MDnX(E delta 2316 zcmZWqdr(wW7(ZuUT-Zk}j|^C$j42En*cAsTQ+&j0FmEM-peY)nB!eQ)q z&Ubf53x*2pQJk^uR>m&rSn#RZWq)2LnRiu{O=*LBf-4(TRkatK>0rQ~EO|uc@fLrd z0W;mZhP{)&w=iZe^Vf_i=ZF=0I~eb=#lJ+J-^6a7&A$`Fd`xGyc)!pc18@kiwAuf9)XPqz@*Cp9} zeTEueucO-4lPW7rC(FZG@~4H$PSI{Gmj081HO~}&V+KzYCR5hbQJ%q$@^*~%_-3#Q z{u5K!aQGA21Si2+59IG_&twK#3*~kHd6{868lX3yh4;kEs%<# zp3o_q#KEZe7Zdc(9JQUVj;MU=n34erh3l1~TdL}`se4u@-hM!3hsu88{z!+=Nwal^ zfT%Sk#Qkatr7157kXQ~BFsw=^~94@09wycl1hQXO12DQToTLxMP2MIWJ&dK~gi z*<*9Yh|AG(+DFFlq4~zK+arO<3@65eg*U|5_#0wl%PRiUIaOwjr*mAB8R@gi5RL2i^O_U?o zRdwQix>N0fRi8PYwEvIB#y`$HZJq z1&bL^&MOCiaR#4B zHYhAj=@eV6lQO< z8V>_kz|H`!1eO9xUjd{w>NUF+h*FIfJHzn4w3XJK$>qt;p9JRWNwCLG=2*Q zZR(0Pkpm~*DB}#^8u%-Lq^rfy0DB7=_+&yvy3H8K^%juw^lA1tK+=zD_GJxc;$%r* zBDq6?jc^n}cnAoM@heSm97qXAfwW)%NIS7ahjvm7Bz+x_5;g&8!4H6>?*f*>9sm|& z=Tl-rx-1~+X1PH~Fds;Q!$3-OT=SpS{MR(U-5i=v2U461NO2WFJl1**-vLsd4}r9S zE+95&@d7FCBoJ}d={fj~Ct(|qDz>BHnlOO?j-`Io&A&DXDy#nCwV5=dfjKo9f{$C=lh2jAR#E*0`c| zLrZOQ3oCcIoEUP0L!M}NJd%~m%BM}sho)ss)5?~$u%;uTzOJRNxw)yC{I9k)u4Co7 HIZpOJ%l;ez diff --git a/sys/GENERIC/ns_cksum.o b/sys/GENERIC/ns_cksum.o index 7f09dfd43e49f3a679957f914a893a1c21e32a26..9025cb14698fbe244a1f8814d70e152bce7ccea5 100644 GIT binary patch delta 76 zcmV-S0JHzr17zvXB000I600o+p5dy`G#}{4z delta 103 zcmX@ddX1Hposogz!bDaBj>wB){r`brqO}3f1I9>Z!($8=!iI%r4f7aG6Q5R7c4@9uqYJ83!9Q@wry~~?i9$W8Q4HqROoH4ehTpA&_rq?J^ z)5C7eqM75(RDaDjc}v!cQtBwn{Qkz0l|OBF|Smy>e0JD>&YZ z2x}pFB2wC&uUu8?%S=fsiOkoknpHrfr{D~nhC#i)asP4BIAwHQbn*oK5v#n5b{}u^EA|gT_NAKu delta 512 zcmXYtze^)Q6vyYy?wV29A~C4(Ac8g`HpXC~$^FnfML}2)f1sRTBOHhSg0Zl&kvL#s zY2iUgIMmX@PVP>H6q*B%@v0LAVH&~cM(4gu78X9=@0)$!dGr3X{B3a}#8@WpY>hWs zj9q#$r%YayUwCD&D4NN>D>PYsb5zmG#+dyAPbM2HdJ(#Bgz^Q)ios3=Hcg5v=5w9R zt4tz;FrW0(t1+r5pfuF=d;K6&v_q5foZ2WYZ>S?4$HD1ljxjdBivJu~TekBK(ZdlD z(O2>VPr2V-jKM^9EKV$|z=E9FfUA8PSDSHezfx^rt8eQ z*$81rLx?u$Tj%A=q_u>ivI|ByN4q;JJIQiu-l%LBU)c)#>frlFZbzj*8`2Y%8?qtK zMr8?ExmtTP>l`+!tTb0Qs8u#qw*wKZta(-{D`bvZQkS!VQ=qQE!dm1%fk?3 zM(e!Xh-C3rz4>V5itd@^R!d$KllJ1WMg;jMQ)VP(wxXAIxtWCbQ<=W{$rj?ey@Y=* zRw+Go?IP$zzd!jE2$TjA)nL6lz3P;)ecfTvm!R%3Ak| zJ+p@fQY#jf(#IDe=#M4j5{OGWu_tqQE>pMC>4dzL)g_#>4qS@M1(?HOr8glj(3(wt z3n4B)5IfbTJKunfnyG}`FDBGd-YDkOBL0B*TP>={#hQOLk4qJXX7_Kz^SX62oi<{l zm5~Kq#^n+`{r8w$5cQ6J?>=}lgMEy#Of#Fsc}GXhjTID&{H1#m@-j@EM<5^`St8|! ztkR!RQhE+Ghs$Zv;oQZ$#FTSWTMZ(7j#$VzHF^))mpkp+6O%;{gLA<_Y-2cAgqefv z+;F|g%y9+tU|6O*p^t?oH|ffMF8|+J&7Cdsli2Pm&-n})PH6WzOd-R1bhzs8hjo!!Oh@r zS-MkT0Dc~RnqL4*K-#w*#7tEKq>&9w#oYrou86&P&E+Ey3-Ji>%SCNw_rgXVcASDO z`(tr2ugWtHrPER-#VT)^=Tj(eTgrK{&3k~K6W@5N%74U6Yw(Yy%wKJG#w><-dN-8+ aJ5lHh@iuYDSH>qr#8=Pfr~dHODE|Q(5G+6d delta 1613 zcmXYxe@t6d6vyvv-zy!qw0#emV=8P+G!B9#=;X(Yni&_u+^dKwbl_YzVqtBVk|rzskq3CAr9_QA_hQ(s1cgAX8TMT@4w zT2nMMqlMHx8UBIL!cl{F!$=k?r3ODFERW(hc!#ix6jzGs3jtScoI3OclbHDHSa;k}m$Y zt+}}=v}Y1Y$@lovW(24F1S1NTqslkf0S(?YxGpS@a>L-~gjJ+uOxl$6_f0C1KJ;}0 zVoGbz@Wv8smTp&DPwM}u-d|~-sjp%TN7+SZc|{ANf)}%1=MaHNsA? zCFeGJm8nv1!{_VRb5zoXU*vlwLaYWt7#p+%C{)6y-j>iZgxoL*jl&iDuzf}~|7gaA>gNc3^0@C_| zP%?R?Kc{5XLNOf5e_)YKL#-}6Nw{@psz7v z#>v!hBOchOglpVb$)72$VR3+%)D)+l&#RcO;>p*^u$SFW6i#51^U6~$4CH-xLvfD? zi$;RYR_elzj=(gElJN=m6&fpd5Yj-1w;J3J?gurn9V{S3{tyho{}>c;Ltrg<%H~%# zuY#{bp9br|KWyH#xeh)DUB+z*`oK+u#N;h`L$0t{ZSw^X?^S*k6a_;zBQ|@%H=rK_ zMWb<0G(HBt22O%);57IqxD1N8BRG2}{9dqt#EAS6j4lX+pxE$CZh^?(+58E73;Mk6 zFM{~0$SdI6&>iUV5au%GQ(M5$KyxOiAWHog%T?7Meg&UJprfVfk+4HQ>4I6m$9)ImM0-PcObGTpb?J1Um& z6tDvsV>7-Q?`0^5ZRHB{`YXH>P)^v&?`*gKIQ@l9`fKPcTk>!AUdQSy`MV^u?BPI^ V9$@`}3VMm13pCQ}<2M6!(*I`XGnW7W diff --git a/sys/GENERIC/ns_pcb.o b/sys/GENERIC/ns_pcb.o index 34a14ba5e5fca29afa8f9a3a02e257deb28f9c3f..e0d42dea8e572abcdb5adeadd25e6ff66dd4b966 100644 GIT binary patch delta 14 Wcmew?`B`$q9~MT}&3{?Gu>$}$2L`|Z delta 14 Wcmew?`B`$q9~MUI&3{?Gu>$}#%LcXp diff --git a/sys/GENERIC/param.o b/sys/GENERIC/param.o index f47b29b8c04505e0ea7b17cd9a1d5148a1ea2962..1730822fde8057c18d8818bf2ac8d697dd42ebed 100644 GIT binary patch delta 12 TcmZn`Y!;l*!}wrh?>BY;AG!r$ delta 12 TcmZn`Y!;l*!9O3*XND~XbXWbz{9IY6L_=(QHD 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 literal 25906 zcmd6P3tW{|*7tKRz!5<>=YU~qo=VHg(u3C=Yp|>=)ShGBfC>-}7ezogD0VTYxBKmM zvBs!(!kTx2b3DB`9H)6}aPU^(y%fd_M}ci!*!{XT=| zzt-Aouf6u#*JnSQq6~@>{|iOAGeS|!ilV$a01x~doq%5=VzwsSy;u9Lr>DnDtliY4 znwv5XX`ew7Xt!FE8`{;qs@4S7KAB(Nj zu{z{4tA|sx*O8;e7k}EMtpim#0Mg&2Xit&Z6I;B>2t^5;2(+~rTLNvTjhYAYX4UrK z7DI+w8Lz6_RJfC(1Uk0_I(;#Lt`@Kc<*+u3tOmMZ^#-!)Z3}d&9cn|{j*%Jaw1&1; zs^cN;GNh$y4m?rP8bwLf5tMXG7Wk=xeV?);tuVW4h^uWlX?-rdwroHKbPJ0Zx;a0P@9%AdO z`!)9zMF|9RYJ)k@Ug_-)v=B#% z!))eIq-w5=Ai1bppoc|wxKO)=r~U!G1HU$N?q$O`KuU=Psi@JR@ zY6)wKdfJ#p(HSP9bAqCS2?I56qhfA^B~kSgRCT+_S%S*8sT)(YE0AIcSHDdSrf3&H z0{`38eFo7@Y$oRk<-cjZYh0pMdOK8AG9*!45V&01Tx#H0C~!*VNl(~pra|u7g+|-{kXBu%-R^Aw{{GTwH zAR6I;$_#buK)VlP65}(H25&pYtQfkRsw3@}^o?H%GL&c>j7rA6qx42Xaq;>GQLmAQ@o`81O23(-32&+2cAeDr*WC6^y zC|D+DgOHUmi^|wj`_@$*t1JS%bhKfhAqag}? zvgD20r6a>BAJ7sgbnb$z(g+8`OQj&iG%kBTEfaxG*+h=;#MXu$-A7~o?41^6bIA$O zKFgZHlimrMjW(UaWZjan&d>7~jV1N8Axo^v>yX&wPZ9Zd$^6om45-c8FLFK%Jxsq! zW8BtpcZW8_WMFN;G|;UET4|N|B(%YT8PA)TuQ)J|`IJPHGkpLA(fQ^^2;MM3pjjY@ z$v3ZoV5kv--;*FJ-#~)N76@J>L8KIX64h!5e3H%e`Go58cWek3wrq%R$!OVNX<4}L zO|BQMr|M~QR!9vTY*v#@PNyXlI7sVEE6oURA)5-?6`HQS4%)T1+Oj^zHXxL-Xl=~^ z)Qa^U(dpeodOM=mTQE$s7JY0}|CVTj`6gD)Al3a?Ii=NEVXNjLajbDIY0%mlXj1>C z+FGLF^rFx+uFx}ggr1o{dVY3}_2HI4EBeoemr>s!>c!Dvs@6e0Y5F+H8@0b)98MX2 zNtmj*T2Y)S*mqLa$6&> z`j`;r$K-0G+89rYEFHulxvU)_scSe&v-i<(gIFPS)m0nU+c;9rW!)(MSYP?*m95Bj zOzf3t@go6cIYJvI>rRorQ?8++8t5tSev92-mz;MSy8iikm3HV>%?sW1rUi1|T_V@f zYIO+$V@^k?Mtn~DLusn|JS!=gnsHuJ5&cY^XB8z=-=936SEhcZV$NT|x5(7l)$5&5 zTO8DDx}1y8$Uw^VSU>5vx@7IAYq_x0ZvjKxtchov7Lf~Sx1)dZs<}WN@wdJLl@@J0 z(x_Loq-gQ5iB;6BMS__Rd&w2xPPO=#~rpNG5J&gXP30|JbL#tpJ?W z`Q-fc2N@f=8#s4t)bp2&k%Vz{b{9F1Gc~$BK!0~QM29tMwp*lYyiu`ph|cHeo5**b zMns6tcJwEr7IxIRqg#ea?*7glrYp{0`cH(3tA6xrs`{+&xe3Kqp&hg3iDd6F6GoyO zAJ~OpeEbo*&Wpc4u%LNCA{M1~wccE9w71nYoT!d$USMykr%lfZ+b1$>tjKyVvRb!^ zEEn`;2?b7|TVRKXSz2Tz0cD3hlXG*Yuz*tfvJCIbVx}y%zY6m=!n`x5=fDE%-hMR* z8^A&#+_c#*czJ2{V0dYAW_F6KV=3!s%6dS=xqXo6_|?d`wDZ5*h~yL>a6d;retuwagBYqb1Bi5{7Bldtm;mP12;%+ zXc{`5b12c6pF)YAPUkO)waN|A*sg>z;9?~g*(q|GC3k;^Gl5j&BzsM#GlJLz$!2z7 zU(|jI0=pDMopJu1*!X;N3JRKjT39woE=F38$Tw12Q@8USQXME0)6O{k#2WIWDYf;K z@WLh&6T6(xP~w1m2PM{aIv+Tt;62wY-gCRc%W(!RhMMsrHC^ub4EB5I9lr=00c;56 zJ8zW|x=p+G1kKsi@%C{cEdcs9?Q%SKj7+B)&_N6L6lmE=3pfxcw`KO|PzG(7=$t2{ zm5ZETeaSfuBBxZqzKzZpxOR z9hFh+mrKj(n2H2nSsm$^MJf zDiz(pq%LZ~86TE!lQt7-7&BcqSIeTqVpEGrXgq|K5sP>UObgb=`;1HIMScmrb1m6v zUb@K_X-^FLB7;6lXr^X@KEJ##5pO9czd-e+1*$-LxF6CR(jq!lqrHEPaS4|AKv$r> zgN_R5{IwnDuRe2!KfxCX)}KJE#hTEPMA;ByAMC=v7XTz_7Iti{bTWm`cNj;zG>3YS zOcUJ_jEIsR=Y$?Qc{FnjrXU7sn$eg>2R>FV3cs+ZMUg;!m-fMTT^#AFc(REbikMz6cCCtFcL?MxmQAVJ2cyy9r#1(=>=TnywRgd(e@NBpfqPYhy?|zc)q7PFg7%Jr z1H~#NRBf=VMuQr)U*X6bjQSVVGWa8d%W$7zl<`l-fre|8bN^>EJ#M0ug~sPLSR5mw z@${~~(Bw=rnL%D>Pe1|J>I84f)mBgEc8H-^4H+7=CW29XwEzu$D zO81ETal=uLOiBtLvHU9yBlCxQ&bbSru7OSkuM}^GDQP;f)w0G!{?B`ZnOt8kCcek< zmLQ1VV1|>m%AZUT;C7J&tu+zLfJ*%s{k4Z@*DHxKyzcom{PGm^-ZeYF| ze9$+k&a0SxQ-Z#!b>1wKZ(7hdC+JgyzPp3IEFARtY%LZsrzS(2>RQ)IvGUFAu=r+4 zp6c$qts~Aim!^iT4mzxAfNW?Y%}h9IafnUxzu^PpDaQs2D``p;#yhw&%6v9lQR=+g2l*1n3GNyHi?Kjf`lg@3EwN%y zkHt|t9WP;gj|55Yn)szJWZ^|2!Go?)HlTky6TNSvpvFxr+Y#eSQX73SD&7H&)y9x7$v3RY7vG$!eR%}mj>eMFdbxYFUxJNC zsvah=4Supxz8JN?I8xa+2IoP-84eF4P9V;I{Nyv$|!8 z8tBC5*&4BrqwnZ7=8jrR4ejG?n&+3=rLZ<6$}pe8JGr zWnU=u=z}-+emX#8DILlzpm5>%65sdfg+NWS4y`IwU#T^u6bLk?k}}H(G!Wi&T9$=5EXenid5?jS$6SS9_YmG);f^J71S)q)g0(dXu|{NS!m5%IDyt2 zfK2pF)M<~Ek$Bqdx6xi&@Fu6-Q130pae?ilEr!|{^wC<2Jw8mD zZPCrO7F&4xxnH%Z6qgl4MO?mV!O%+8jsxtIUkrR^PZk46z6sh#i2?K>5)s1p02n}j z28aP9bx>8|T5@$Hy|i?wfukD(N3XXJ#`8LRJf7Y^D0U0sCdHO8EpQYY)x+9QD&C}( z!I+uS7AO}P%r6B#+YyZlY$;UJPu7}iV@yr8G2;VAeNlC_@k{DzZ9b!X4b-M0pZdNx z9(y}28MLd>MeBrltuOMF(PzQ$0E$mtwJmV$Sm2n+xxqv}Z)~OBX|%ObyaLB4)SW6t zH^KQ@cQ|0@jomPQ3La&LiJ zyL!q{9qF7VNXU)0xT?VC;?M`D`bOua;RKWITU`R;+ODpp3l#0>4@R41Q?(fbVWUA- zh3+;OuvLFdTy}txD|x-qHBH=eKp${jIEFIP=K|=vritTx*H#yEl-sqPJ}tDns^J9L zls3%guwni=Hq0-?H?-S_P^s0`#@hIewej8_Q{wPCJZs~viInhqIN_U~B=cKwwec@l zkVhPCyFi%CI=Dr2DosNTpQp2g#d!H-vlu4 zh|ed%zND0NRL8!RCFUnzgAUgdP8)1A0;8;npfOh=L{ZiOpwV*?DymOkMeLMpu_D2Os;P}4 zJ}piYK0N5ht{KPm;jwG(9lJQ2>-t$i5JPqtg5Vr<`dmXcvEPuzap3GO=W{<$XB9(r zfTl!ZusT(7Hv%G)Em4XpBk3DlyQ_xAaAr7%*=Ci=l!W1JcFqVVMcBUmQO@unrz%bp zr=>g$jdR~q=XT7MBU7fVCZ}+d#^S&7h}wHjxqMj1ATpOGU#yMqcOJ2 zi``w1ew0~ByHBhiXBb9b{||alH;o9j!zhK&hc%Z zA;!*S7%$dnF@Vf8q|O>UV`%I+$8^!yvi}uNi+IM{4xBP0<6hl}vObRy<}`HC3(j_N zYm1IiPc>t^ae_t!ZzCpk)>TJhwe>1J=Uv3(!i#tug=9)+@A?fn4xYSkVN!{7E6bG> zWf1Zmmx$rxmw-sXNK4mxFW3jlW zLCtOvuY7iEq(Cd)#Y|cj-EC#1F;EKABZ+R(h69>3J25Y7cLD;(tqy;7H2)mUFC-}TsWO7Wi z_BL$UEX~@RKs$woYF9-C9Jj_Y`=nsU2aaodK^?IKj+>mzakb#YH2Cx1-Zj)|&t0AyI`218{^FqjvSe(;<;mZRgA}EYdlVd09sbdMvhsc!ZlRH7 z(%W$L)41^*HpceTxL9a3M(San$??w3&)_GGF?p^53L=_Xw>%5r@o6?)oLg|aF<6oYseZLnS zw7W5G(Yl%1SD@8Oi>lVBQshmMUFrt173lU4+Ml*JZQ+oe`_uQP#|?Q$Z`feoCX1k= zQn;v;g~G>Aqx`p3nikT!-l6)>c63y)qk6xNU^NT-)eQQae)$HT(=W4Pp|1zp6{t@} zy}@s^|4`?T40MYLt$SmjTfCKYi?@<)eklZocqS1%!8X!l@^`t${Pn z=b8Pj^SSWkb|2L3HaWS8k33HzfX*2`a+>%pAZjZG-o6ZtT+3N_V$hq7GI=Lg6t5l-$;1OOLZywK6(`F2JU0);-uArfSguaj!R3>-kWSbY|I3WODUc zFHlJM7zucr{LzaPUa@14{3n?&{4xdUAV_~F4JUzoMUsO-J}XH&L3vn`31NT9(H$Au zBdD8nHWvz89I4u!q=*djfViiGdvB@QOp-Nafx4ckAU3k8+IXR;&42}Q&HhrMgbQ$~ zT9QbLu1)|QBgN#IL6XDz`4GdwI=Wi~s|A4b9BA(o6n4?6+D=JQsST2(v#8%olCJo_ zDaq)5mc2@(qOkQxpa8uGNN+7!uaG&6bl*Lx-)uG1c#>^R`X#uc-5m&h}T%4iF`t$0%kD2@heXH^9@E1o!Gdc|Z#rVy|ZytVi8dpQ3Pk#hBX(Mb;+NN?k zMw6dc2K{4#{%eB%aY27_&_5yQA1PKeSWUt24H$z#|IO(C7?t2LIBD2|!sw)-i}#oj z{(0iLAn0Ed^rv@R;=fb3;(dahAbkY+H#t;3B-SWCq0kWCOe_{uPW?|}u^Qq745d~J z<=)iih_&>lK1i&oH?^GD_}4Sem=jg8oRWr9R#tX^T9N)|{5mj*sf`EgQ^-H8(~XX74|L(9;tP{D59%!P#q| zohH!0sk%VBe^OoGlz&QH;0OQIx>`pmNOnnI&-uGa-;WM}BmFB$bqrD0 z5H*gdWTGbggm;}$!n=#%9aZ}&S*=ExCH85_ZUozZ-hQo5f=_1DFi%6$f9bhb80p)= zEhT<*mG@bh;Z9=F51y0kY@uD{eO|KH6FahZyEm3tywC7<&%w(0fJbFp!S;UQB7q_V zKcLxoA+j zh;1;v=g?o-2!>AW1Gup)7&^BP91AwI;WBeuu;B#YM6lr);MgnPo`$xq5EF3%#0esf zfjHLa?ZS!_Xk$FVcpf{#hR9E|Vebx`HXa#4e{@H@-`rte+7Y!BR6<9TKc0Sre#9pIy&a(X#?>>KI$Xor0K_TfMXuoNzJCJTY*{fx< zx4-P2=O5gs^(wS%wwFk2lYg*X;S>xwl1EZb47hY#jPRo#Q-HIgXS{!KpeL+3NTh@) zC8LK+LSB2ju-BY!Kiprlg*2V#*EEW9f6y?FaW_jf+piSW#^1?NzYx)ZUnb`_-Ke_F zZh6@|*FV_#SvRWj52U0*g?i$E+&{kAEm3){E^}?Q%*Bq zqj%a{(hqAna2TC4ZAVWJZ7^x`DE2#CE&cSw(ZUrt*$k8xO%#<1qX!Z9$3<{piu7{O|r- zo;%f%lU;nd$5CEUT3S-(ad=jiIF{#@mtS7)7`@8vxguIwo;wO!%X14$ay&&-9j+Uu zJIdXjic*KWtgNK$N9mrzW$uy+kE5j6v1sWWzv>*-ytQ~mc2QxjBc~v{EIY^JE^~~oykb^N$BlDupEWCU?oHEYr1ceDC^X$G+{GTp@(Oo_+flN@U6xl=vhr-5 zrS4UWOHdK%))+@lNv_**onutx*@{2M*#AqN)PL^yd6Hyz7d<>Pw=6rqq!x`(g@f>aFT;X6(&pSqW-~_R-ZfQ@wamie(h77cog>b2k7MyF z585pcIz@R7kGtIS)7g@XbN`iWALTM8`1?S4PGP}@&v6k(rDDSINX-QF0VR61A zucXW|u2PPy?A%;;+11xe)o5iUMv*)7)){@7JY}mWkEg^T(ui1at9sL1yumNeRTON? z6x_v(rImaY-d%?PF|Edq2I60AIv)1`p{m>qECt>Nd<=L$unxEy_ztIsfElo}ANT;| zp8)Ry9%F0=-idU&oJsN+An{4ek7Rxv^V680$^1O#vzRYpzLNQen17b}SDF7Eko?-n z{JX%V;CC?Y0bpn2q$?8Pgf_8Os>&2ja*wwhFiiNLzODe=}noac zCu0iZTwogP-VLPqmH?jtPcJ}-N6dc#QC{pmAo=lk#&3XRcMvk6-^GjsQop>5d3re{ zegpGcng1F{`MQBrkAY}B!fC)9=w~u|fz%$q17b|X{wMG`;JZM|e*j4FOMnvb7(0%!l4##;<^+e+Ec)Vk{CbVZ4TMD&sATbAgmElkp`W`5yqHY7uWU zHUMEd;(g}#GSVRz>3t5Qaq$gf7m(~mKGjIv86-fEN0Fpo7Fb=@G8tKtD zS<<@@NP5=;X&lT1RsrV%NiUD(_X1J1*e6*27LfA&nbSW4qMyWk%JQ#({|#xLod=}+xhyXMQvNkS%Kr$E@;?ov{6XLwz^y=v*9Sm~>pmdG z>w6&eyXe7+@>^gckmOeZsocd9V+(=*f%I~gKL&gb{9fRjz@tDa_Y9Eg@4y9-T3{)V z>^ur2yU#Pe2Bax0z_^KV597x`vNskdCZsnFNc`=E;{wJk##KOy%i}<*_d3Q}#y>KC zz<7}HIO7kD(Zgi^DU3G&sr_!T@NHX zbj6+UA;#Akzh#{0knu?c(tLdv^979MjGKXOq@Ms%Io|@QoYO2Hbg@hy$~c;FBI6B= zw=*sSW+Q(Eun_nwAhpvoK#J?Hfr}tFUn0vJ2&D3CK$>?)0!eQy^OJxSm+P3H$?5+F zB!8a(QvR*Ln}K^6PXozL%B528Js|Oi7*8>pM@so6j8hqBGQI~S|IL}3xE@^kogOMB=;~zUdihfknDSa6-a*w_%6`T{B~djenQND!uT2E7mRI;hN~2% z0r{^0M#2BtK(afZaWQZ+_~k$<=U$e-0VMsmffUDPAeH+WV+Uiz7%3mZcsb)Q7;j~~ zi*YIA1B_2I{)TY_<37eO7`uVwNA%SaXEJ60$**OM_cK1l_zI(s@g2rb81Ywt$~M$H zj&U@Q>^;o*3d`SQY-IUiApD8FV61Gfi-3=VzZFRFO#@OqA7lPyAldy-<{KE_W8BTy z%y^jbAB^olYA4e;X?HM?%5efIE)M|7{xW+3@Ei;~7RvvXo!Un8LV#F`Kc7aV6s;z{Rlp3=sV=VjVCC_Ny6d z7=w(P89!hQ0V&^KnLo&qUcoql@t2IZG0tbq1?D0D3Sd6+ z-_Q6c?RS6oPAnd*L^*Z`y9X*HXYT$gPsa(XV*CxhdFTGSpuh7vC zFzo<7rlX%@nrv3-=-=w-4LbU59gR7#x7_!2^lly9tfN2H(SO&`Cv(+V2l4AZSZ z3j#&C=0@I@+V7 z@7K|EW{V%uXP(i~zt+*!I=V(j|6WJanJ#{Wo$WgMLmf@$yJ4LpOjFsza%>vi;>bo4f+DbxEpc}Pbe4C|oWR-OD9({xtfrjvIu zJrep6Ch3m@bPUtf#}b&PK0lOcWK%{lO_S1ioj%?3pn56TZ{DVp&kxICG*>4t3d_+L z_vqvgGfi#e)zPo&bbhO&H-N@GDgJ-Yo0v|(ocb=)NuYP?^bfL}zG)w3+5!3t(AYPL zZ{H`GrtjZftTPKb15gL5<2?K(f+l_XM`!I68+>(9E@vHL$Li?GIyyy1-=?GKqNs== z@}}wNEFGN>n#$dbeU*plXR()fkmW_?|=@M zyA8CcOB~{+lZV1`Gz?v}A|D<^Y+AzdL5lJz%c}-syn_zg{Ep?-z;65s`_MPRNLVLU zN7H36vR{P-&H;k-8{y9=oz68nnl6{&M|sSyDAPfN?b98!u>D(g^jy&RQJ%-5nE@iK zpQY0&WSy516=j7^zMAC;kUs)CocGBv4L_gN=~wCKH*~a5r%#vi!hUW7jUOfJ0!8_g zPQIPx;~?J+T9k|awih&wm7)|}Tnx+M!^f;&hQ;G^rr*NeqmAie&}W#w9%m?#7|+5c zY|%FwBq=vQZV$_0GYNFq&r4ay;ZT&TSclqZ9LpD7jP;V`be4V{=y2W}bo8yPKN@~6 z(8;rPbTMe*8!B2Jrr}>@m`1txGrb1%gP_A@Jpr2Pa_}0ocUT{GejTO}!&k#JTmR*i(5rQmb1XEI4F4D_O-R@i^b8)VFMfpld z81e1dO?>%E2s}#WJ-N%WOO?#rWy=bS1!Pwec-)mpEXK`?oa~$eH^`iV^1^#ScsvD# zE3=X4@!%E(5#=khONEi*UMjmRUr3g^%ZlAaf?T#(N|w2o31V?Y9=xl_%X62(;o>k` znw{?kU%pZZU@@FfkX>GY40&a4cTr(Eid|g3l8Kz6Vo5D6Dt9k0QZj+LLT4$eORR@# zv$O~ob`XhTJm~%lN~u_edX#vwk%tV!HzhNBg`4PJV*EG+#GO}|Q;2-U<+w+L(Bpzj zX<11=rIfQMyRtODu!NeWvb+c(Eh_PpOG5~)B%myb@@%R$)e|w4`SZ}4OqG-^rKd2gu3aV9JVG;bM=bW2woplr3m6C#za!(;T10l6(A64W=Z5Ef5 zc<9OnVj-XRKmos{^zansEJbA&mlUA@#HP5c0$EB6b7g}d3OQi$oTJXY{YDu_DZHm- z*}0|#vKbK6W5A* z#h}CD@|-f<%jiv!Ec!}GQAt^^RC1!EBD7X!nH$ZVQ&Coi+eMODo?C`XDneLZg3^}f za?2FYam^5gBX_18NUj;e2;Xxe-Exnper{PI?kJG}(ON8Om+kRj7?MB5i~hbiI~Vs)P@Zdn zjPVK~CR4pN*I)aA$s%`l8QjZ6nB3HXigNQxsQ(q^hJBM6#C0A~5$OuNr|D@{vJ(!L zmf>zz9+>3Gq(UtRW_&U+==5cgZ_jHoTfQDI4LNin=CFLI-6%$ktwR5J736n$}b4xK)Gsk;K5hH6+s z8sjJ7F<~-2P&D^K(g@!HqCCB~h-C374f@o^%X8@x9x>M_QY2xgZqL z!Y*Njz>Z?6nFJYD^biG&-HX<)bfY-=Qku~8KkmS{=lA{p-*>*5Z}vpwSVZ+u zLbkT6k16e8FKH7UV0Er)`k8gPj??k1%>4oR1SOX?u`;DGC+O?q`5||7z5R^m1_z_d z?Oy*KrM6!zVf{)rjj%ywd}#ErZLbS%w1f-E+E7iu7-9u#6}`&#s$;!p|JwGclNI6= zYf>|_4nbKhT0Erni+bdjbt^8mv72fhtz>W1m2{9rGD_%OR+~{$nH;k1P{1Q6hihH>6tW^(b-8>j{M-CCiy{EuztJ-5Vc_8r|HSz4S$7IMb(+OwlGAAEa7zEOxOo;VpF~ZYYG55aN3R zmV@uoTL0#704#<77n}vU)pUOmC}SlKS>FI=KyL*XL+=FTyu*&)2v$HRLD_#M&4jNT z$s8DOK{-IdAzvs@3PfRA>&2k7N^!_R^`IPd5S$Ahad_PElMXL9eh0V+eUCtd`W#0E zNf6%`r=WWXS%HR$U?n)+VKpc>*#b@l_klCPbB^B($`|bcSHph=%KM+4x~h#Vq>lmR z{rRBm-z1s9uO7)X6dFKmuAc@Y&{t#wq6aL5z6Z(ypB(?E!+#D9Z+gx+Fp9n+P;NQ{ zlwWKWSPYtA4Tyh~bYAlnxM>+n8Owa%@vwcak!O+)77fg!OWCf#*z6=0xdb0Uh@TMd M^c?6sANc9|4=hnINB{r; delta 1196 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 delta 3698 zcmY+G4^ULs6~^yl-@;qigr|u0J~Sz?7!@PMO`E2Fc7!jd3$$;>;S*- zoO|xM=iYnXTh6XHvBHrcG4@Y8V>9BI@yTm*td{n-ZCWd3we?Pt!fm1BQaRr(WmtMz z4>}lA{VG2uEt2N*>ypc++>b=cLY1Mi(KvmKPmNnHo#xNQEq$mr8Ic1iDjQa7PWci$ z6qhecb(QFyah~t`BfyMjfg4hc)Dqy^dvuK zdR$t_ubL)UbH*YOF<8qbImDSFX!FX(~kiuBU*ykEpL0@sux6l{XTmIop+mJy7k{xzy#Bk9NaUKHiz*gqgH6};|6pK& z_8Am~EYLoM+7C6FpzlTK1$nby8&QMpR>y*WCuoEAP@J*Q6Z}-d^l#>%EBjQZEaUL5 zTeMG21wCvyyHlYl{&uSxP^DB;!NXEOjRTj1Ch*5ns1iq;$Q{Zo=_9^KnPz!bx~YXt z1*;{#S(zi9WpDYRY#eQ(+ckdv)lG?$#3KNtJ)uTH=xU zZOc9>pVuc=NsIZ1iH}MzaC6e?DSH#>dYbSTo5b~m>3Vj-#E#$ObxAwYAA_q=^J^DM zFO{lIA#DWr`~Z(6EmZ#Xzer?M*8BJp>p988728zHox5ls9MS7M-HHiVDZqMNJI^^=T$l_cjbzKpjUA` z*zZ*WUL`Ga3apSD4Tq-=dwCC`E?;~THvBeZzdPWTGJh)b4aqrq`{8h(>6+{uyogR` zEnSbGuaruo%qkm0!7z~nfX zv|uhA#1-Ib43vWiw6=h>00)uC>=XPGNby&M{Ry}S^S%)FgC@pyV_q{zaT-W@{sK~= z9|{hbunHxX(2TUO6?_V;0cj_@KpH;};$yoa>`y>SJPcw}wmcYgLbJe^VLu^kRoImv z<#`^YpPhod8G?@HRge-K2PwfBkSYy~t_86(n-`>l{|M4X-Ul(o zEMYQ91*E+5g}q3yc{#+Z7*K`7Ex1W=t6)7y3EDtPd`9pt_!|7*z-yH@k`K~&IY>Ry zAh<{P-vMdr`%$~ud_y=!LE3SKCCX_a1%6v_jo?<07I;~(M=%Uh&y?fqi{`xzwj{q~QeD&GRLeNewf>gkOut$U)pAsFP45lG| zrr^_p9fAw-dZ9e4K+5xTkP3Q>@18K<0cFLxQE4*DVLQ4nO;~SkK8>D>UY@ zbI?d;{QrAd=!tm8T@kt*dO*a>h`S{;%?*#!Uy68oKhk4PIX6HjL8C|<96o7LgJnTa z5qckVuF&*?eGHlky^i0xLZfHdLZKOqCF5dNLepaOkNIk$-++Eb!~m>D#`<_^F@~dl z0Ukr6v0j8mbrmnL?su6E(U}6rQ&EZy#-_XDs-%f!Et&>#4r@`IW%o%0Z#EN;io)tbpAAO z6}z-R#1f^B)03c$Q^D@Dh3>)RoN+Pq+KtUE8mCLfX?i8cV(7JuA12$_Mpgl3EP$lz z#_4CFV-vPOYAN!&o1KqGiJ`516hRdZMB}Qb>Cy_>o-=tSYKUV z4fi}F3*5D26!DokQ{s_*_MF-L$(-WCV#s-g#*EtP?bUUZe^dRIZER&>fy;1vwxR%9 N)$i&6eHP^`3v2}KjcR>&_SI#omgO^MvI%q z#IPy5>X=hDmuxahGab4`V>VdSFteFQ0-7x8@W=jfl0CyjP;}k*w6_aQ`##@u?m6e4 zd+&R%`wNa2SYs8&#^M<(1L@P+VqLA=ZmD@q8E!e9r8Kqtma25N+*>s*(af0BAI}@j zocEgfDBl#U7+3U1;!WkF%!M`qw@qtfBP3Ik&r`gZE~MVnf! z91;f8TIFX^Y0ArLenO$`$!nbLD!**uZAJPHxB_EjH>#W*8^i_Ei`GK8OP#0fypb#X z8rSEF5mUpGRVK!;jBg)@Le@n=c3s(n@1R}+_n^KMSF9^WKaAl)y`Id#(4bxnQ5g6O zak)_ACcU=nY)rbMln5=>p|py}v7O2;@wGWySuSpx59a>#C=_zpjPnL@ZZW)%cdE93 z&ilgbsmFS5pRm@^~e5P;Mu%<11N<-*r zSSdAFjq?&hDoYCLy(6Je5N$sQg+k*-{Q}JX3T?T52EvuHj%F;oVyU3=C*dj^@aNmI z`pd86m-B&Jb{t*GB-}FZV~F>C;c%tI4I9eu^tYR>8N>E=^K($aih@C1;4HCaF2rFu zdvLlOa#*Q2s-gydmgAk+`$Nw-*SM?CWtf(vt-yAN;!_j$A%bgF98qFcLdnZT*uVS) z#+F(zfX@oah{c$l8JL4bE@ScH%Y;X9D3N#q<4xj}Woq03SQo-p53KE&d<>RX+_p^h z)xq+hS>kT+J;eShse`eMnNT{+bg&uYv!$IcSqkofzZ(1y+yf{Cf{3&H z33@@*$b8|#vy71jmPziE8~`ct7MKp+1F3KpwuTz60;%C0AT=5QX*?+H1u#CwcrDlf zegIV_UqeiU8Io^+Bv<0H4{__HT`jp8JO;m4+Pft8OE!a) zcMhcb3&Y#WOnx84Cm8raI{HD9d-49Ftv&=&!gpXRY#pQnd?Nj`@b01UMIf!P0;D27a{N!Xll9^zgMBDi4CZ;NcsV`1Q$FJj7?&!II7W62{g^+ zh{Ii44kNO9#@x{$EOWgK%EmTsoe*{4aH-A zb_^|ckpXQ3FX2aBHzB!4>Tc+((9uGg^fNR%08P0yxX|-SxfFkALj3&+dSrs$@~=!_ z*cKxSP@(y_Q!NnDLRP66icW!!HZc<#U-mtA$PtZ!{gU)wgg-CpN23e6+*4bPDb=+N zl^fi3mDO9f)Vk{{w`{HPh|w8ssZLhx%+6<(-p$+H8|ztRt#{+Q_3PnuW{Wea>9ztI zs;l?9>pgGpfIBBo+)AC3kpnp&V-0V)w>5YgJTUXKDHPdWGIGV-w3+rCa(O*b z%sFRseGQE>W*Lp8F^0Hkj0-bvACzo}E0sNMgRTSN2F-~XI@&b{ZJ z@7~fL;osvbtXl8S)tH)MTa__*JyHTPhh+{>Wo(RYt)0#R|6TA-1u_2 zDDm?#CvDEFL8H}lHJD*ZiJr8fj_s&F9O_ekQYxgKWp91DoQ>bn`DRq=7{gYA|HWeF zm!qsp+JvV^t%18oRq&0y>D4_L?ol_88Tz|Nod;18`U`O-Q2jb}d3#8oBT2LQ*GV?% zIKQ9NCavQq43nhS`FDohlg~eh#heyx{tdh)y%JH{WXruXL4);nw5mr9YvL6gLQFWA zUehR7QO&!!KY5Jd$iP@FzmQxd$$V(an6mE5NTnw0NYshW-b7j5Rgo$wQ=6X@lbI>1 zcHED}qA2~JSS;4BRZqjb;t0=D0}xKDi&m}u!swtS4)Dz>!{1tu0VQ(W=Cmf?)zsX$ z5-^y@b_WcRfFUDmB&?{TN9A~fXwn>nVgsA7aw%lDBjS*<_R2V=j2T!e? zh*Ohk3YV!l{7y=C@>U!SCA?6P`LNUqb16Djic>w$NN1X{D&CZut&vmt!PE!M+Zanb z3THF;G3W-{K;-D!!5y&AiSbTQ4}TXp8vbkGS`^X;t_FvpXv%v*upIQj?-tw$`jGdH z;9UvJCLuwKrV~el?;&8Ku%`+-z>V-P2KRtokQRDh@C-Nt{)-^ujDLbukU={z?>LYO znJu_U@JB7SO^Lt4kptcWY2xwdFD2B0RPjcT3Oo(c_;q2w0>h7SFX#n#f>=21Fo^uL zOCaT60co8-Kzj7lMm%Gig_s4Btiabc1iFO1M6dxo0RLKHQyw1OyMp^b$~#L=Jg-u< zcus)_;Xg0zA3&1Z@dHMkZsrga_$hb@j(Z@z(}t*IPlF z@Dq><3xV-YfH>G`zliaNe6?w+8Ii_?IIf74>p*Y&1=Ca=PJzrm(lUmFNmq-t3Ju9l z2~D@>oY3je7opM0_&F}wL$T}i+H+5=Eq3JFUho(Xs@Rtis6L~R_P51$3#}_UEV?!95lF+EA1e)fbh}TdGP4mPre|aJZ z+pG{lMQEMlX%J(Jgnt>b-We3%ApHB_-;nT|7~29pumEGb2kHGHz6BK?BaQyEXCPYf zM^$e|a+}Z{&~)t*6P*`+hC(}_X*Wyp)j25s@}T(cLHgPteN)6Ubj5WW22J!5+R`fq zXyHeRAZQ5zi6T;=DgF{VWQB;g8g{1ecfvm^;YXo)?XF>mwR}kS(XxD2Zl5%TE$}Q~ z=c@Oz1r471mEOg0<`)k*y^EHz1>X7URGX!rOFEm3gbxwJ`C3R URy4p}SP);Qem!O?C@foezo3H zEfG?f^PEz0tS~ovP?-PFt=R-V( zQsF2P9=iKF-uTXD7Bx6=IBS+so#Z#f8VXu%wGpEL?7L;>#dokua^$OwiEOsb@|-9vZ)FGgPT6tB z>r9*d`p^6UlMX5iW-o%e{kFo2b;g1;@Bhf#siX#_-!!C}y_+Sh)}(xu@A4VKw%Ga_ zTQ?e9@7+JoGOFxO6uF!6WJpQo2^v!)G_M|srO~oVG&DGK<-*M5Bq7HUw-K^u$mKZL zPKcfX55wOCJD^Ko0Mu|fgkQT$-4BZOF0hIaPcPUBJp>*C&wyRv6xfa5s?Q=28*YOh zysy9>=(nzKyM7MDLHbWnG`QpXe*7S@F93=%54^|Z@bmk+=`;wxW5BnJt!LXySfMLhCU6R0Kb8vK0wej5!|~QFU6}G mWvM`!)+`0+iWZd4Q^_0DpCPBbJ0FSCes55Ey)@;$D*pv}-!Gs5 delta 922 zcmZvaK}Zx)7{}kt&hCz^8}7`ON=AX(YPz;8R(428C^{7Q4kqE2c}SrW3W?AlH|Q9l z_6ocx9fHL5(Lq`dMWs*#f{dmW{lKS-MSa4ux;CFyQ(emoM|lboW--}R>bzUZSzd*vOUkY z1_&P0zaoCHm||Y}f+daU)`S)}{HtQdMMz!|uc1yQ!_SjpqkKIX+WARvD6<0z?2Y#$ zV6?D}=rh6g^n?!KK7=J|cvIr8TtYrtUDClf7I}7+XA#iNo+&j|O@%Nsm=X=rikn60 zI2Kz`wg#_uT8sCuiro*?6W)g^At|xIPODYnu7dsKmu<(oZEHf8xs$=MeaTQt3`(`t z#=&e@t@K@li$e5aahAPP51+zxdR_b*wKB4CnpZp4)MTj4;yIoX#KkkTSEck#VJtMT z%i^2=(JjgvT;t}!E!z&1SuUOp7~{%V=%c7$Iajnfo5$2CUtZ$NM#XfnFrm-T0zSu? z{U@N@(Wd@t)bLpKNckx3PLsSUMp=*6!REDC;yrrNP_>S)=SEjgXD1;|u&W6vrVh`8 z2MF@Wh#JS~pj=J?kg_Bk8@k0I`T{s1JOj#3N-(v`Bo4^fF<_8FBCz3m) tJ$c)+S5-FIh+e5g*t8y1F0r3_)c*<*TZqIaa);FwMU|J67m9AGzX8ClEH(fD diff --git a/sys/GENERIC/rx50.o b/sys/GENERIC/rx50.o index 2d24b7f725729d98fc5c544b5eff631d944f50d8..65380cbea716b0d2c9924668395765383194aa82 100644 GIT binary patch delta 698 zcmeC=U&JrS&d9)UfQf;jfB^zzHVQ^DG8RtGVGLwcp1hCIiAl&{GAomM+~>dl|6d3Q z7dm0M{2x&1-8CF{8I0Dj)ct0DulMi&e-@}1BUDTZBF1xwCGOt)?LfWJ_ug*+Qc;^Z zRU4b;n93LhIEwIJ$Kmm{eX+T;BC@}-d zpAY5l2GS~p=nZ5{Q9TFh~ILS16kUNP`4{_J9EwkPXxY27FL)7a&g(Nn92x z9tITGfr=mCXJ9Y@vVjN;%#qmkj0|yb2@jwI$TBgYEkQsw%(8H(xE4?#2}wL1DsBf9 zFNBHnFffz>*+2vab(0m@t_UX=l*VTy7RM*&=N2TE#OLOxq)z_KrlM@d5MNYbYLJ|h zU!2O|V`dED<`<+EC6;97=K+N*CR?$qX_`PJ%8N2ffa(klEFt{Nypkdy*AOUOPz2

sCP;6jT%v28O9@LPb%>=oZbXLqS28 z@)FWDs!JU^1f4SP1>2=VMB0CMNANLke((L?$LyZl59|(!67nPvk|m}!T|4F|-C`*k zr2%$JBi3e%@>*ts&=vpst5lw+W+6P5m9sJi-tzJr3FXDzUyIgVu2e*>QLeR^n(aYc zENa&npD${cz+6GT5}i~mh^x-VcWn)0zf?P9`+_3J^rT*!Wp{!{8bULcvXZbf;vu9V zjH1pc=QigN=P~F-{RVV{pP&zP<2T#ciNzJwt2X>_JLm_kIK!Odpgt7?^;Z&L9qK7C zfc%u_7d*cQeFdvHO7~jvPzjEAhz$RLW3^%5xY23Y4{lu_gNtac>M~+opMkr$erLyL zAjUDwTNC?h;$BK(#&8?9g;A(3jUd*S1|dw==rOL3L0_oqHbUZvaSThcj=C4tD0zK- zWJ%rZ3ofTJ>j^T^A2QQSHlfCI$xIs30GpONdwR{nhMLTwPYDj1c`}_-kt!%>RU|9q EAL*`k#sB~S diff --git a/sys/GENERIC/spp_usrreq.o b/sys/GENERIC/spp_usrreq.o index 12d5ce84df389f4f4b0548060c6e764c4c3f7a01..feb960d61f28d361bf81acbee49588ffedb2a29f 100644 GIT binary patch delta 2805 zcmYM03s98T702&gzFijFg?#`EtKx&@QAJ?YjG@>_lZN<;`5>YK)%d`c)TC;rMr|Y5 z)<;K889Z1W(@dDDFZgy_36DhTBbe4SNyjW!Ha5*yG~B% zpL6d$_uTt^y9cU%Rb`IljNNQ7m+-iT`P=!7h6`Kx2~zoFUQe&^48DSz_yHcGLepVB ziTX^Ba0eyF95cCF>1@o?rlJvYDY@}XxngNaPwF+^r`gH^zJT^C6ZrS(gp$d#s85;a zJUtYN%+w0husW!=WQC14smMIm#D>}`&H0?~r(Kru{AJQCn`1-&i9|j&x@dCj-1s%H z{WKCb7ExX7q`HmwBaw@$(rIji;r#4!Y)ksdnJqqbrZ%SZY^gd`Ra1SP#wrBE#tnQ! zS3g#fQQA|gx*9r-1rYt|BcU}FJrz~%tkxD^v(FV5HoAmv8F@HYv+sX%Eead02!xuI z@=)c%gld{>b?|ZpU$Lp*B}! zTH3Yw?OK`tQx-N(AlrFxpSH}Ue6HEo!*E-|##>O~!fJ-4n{B9%= z)fQ!NQj7KCkGflw%8HQYP;=6kKi{21V-u%L9v`_Eqg983!)kw%$=YlDaTH^2x6bqm zz3QN5tJV3C+3323lbl1F5_j?`dmU5x1DfV2@V{?}&JU|slqQo!cj(L+tF!K0&033| z#uzOktOl?4s@U+n2VvtjH99imHV)l0Yt?=>LT4R*UPuFu<@^$rJHNvZ5;=8#lGeL6 z@DjS=+Q`q-bMEXJM{Y(Uy#bp$UJuxCR{P*$pGTeC_;vKkz~EjTG|Q>e)r9M+YGU78e)-R!QPkAn*+m8kTEZna6Nl5LE; zNtsENJV;xUJbWJ=NZM(#e@PRP)A$`KO3uhT|HU_xU(o{&aj8wliT{g#6_s$~D3q{q ziuNQ=<`wjIaz1~O`jf|VE5)T8;;ZQQDJjmH&(Y!i!{5xZgnCo<@;_6JXAD0^+dcVw z6LolAEQ#;OU97Bf^+j)+=BUL2cW*=@QNK#K*WrqDx!9DW2k%4Zg&>OK#)q)N#$BpO zEw%+_1M;Nh@PAQpS`FVu&1v~~ApV|~?tSDs z76@3?_F`?W^IE4?)~c1+lKvDnmXp)lGP)cG@6W+H$FE_kDlB^&&!Y26*!UfVz2nF2 z5Hdr+WF#Wh8Pl%Key#pD+5-QjufxU*ZONl=@VX3zu~^2;FM-n-vo}h=3pC?n!I#ie zB&SQRwlMY#^c|oIib+JCMY2?~QgS;u8}VODUyHKN-YSK2lK+$(luWWRR*HeEL9xI_ zunc?+d=~rzC<@4nixyl6E{6X-a0$2ptN>q?`fow8vF3+<9kaK?s6xVN87Plu>`C}P z1DAshpcrsW>RsRp=mX#!(1IsfSrkwNiuiiTHzYeG&q#g%iUOwKM*z(;KMpc zF(?*X1d8=mgQ6q9aI-pA0Amk?wO}W>4!i)a2mdYkOj5L!KLl4o?*T=pE=wBVPoT#q zN0}%21UMIZIk*9=0;hp%Krw!2GWsu!w;;TXz&kQ6C1BxBTrbaiCBAHzWL)-yBxD}iMiVEj|qOc0dO;Z1*Q~#API%Acy$N@Mi81^qWO&1{0@%13?3R}v^G!4jcxk2Y+x#nf z-RI#~sl)da-rgg==XfVA&Gg`xYeQy!+A{3v)tKlU7|Qm;Mk(wsbSg8$bl*##W#;j{ zGc3!sk>Nb9nR6daty~=a=8fxLq{5nmy9OE;n z$1;^?QHu3lo7?K&F+_j2&bJm1F-lYl;;l+JrfqC;m)S*6Dhqfyk&?|-eAV}I88^8HBUQ&s6SUxVSg5sqyeYxOT2n%U-4XKG_AKde+It7@9B(|iVT z-Mo(9(A91g8I@NmRrl3Svkam?V<@zy=1NVSC+|d?uhr*{)6I6FTcfpFegChuSU1}c z2(>CthiWO??%`pYYF9mJ5Dx?+9=B0_wqQxafW>T}W_wO%Z9f|O>_D&|BQl0X$XJ44 zDP;d;>auT1T|0`gP(V=+m6)gRMIsGGaBx7uIO^kyO141=slmQ3)pMb%WrAmnOsp4) zp!#|;U33JkaI}#1p-Kj<`LL1;llU9+Iu+Gx|U&?g! z@Le?IsC1nBJ`%a2=8P-WO+VE-RUS{8a|&;#>(0mdamq?e=3mg%#GJ+#bTb3F;n-H( z**LyeTWWFJJG2Uq)&G!*mof9Fse9jR^=U;NTD5zWZg$*_M1;S%pKH|}S~(UxU?;T6 zT7l=@d)hCxa#7^=DXrp^R^{(ux*5O%SJMG)sayF*bFPQsiP5voHpuW}bn^%-!(uRu zBNt{!t;KEm>4(I*lQJXstlG*@a8Uia#gfovo=IQ~!J1)%88t@TAn3qASM z4&IJLx&jVQyb*BVhIYUW1@Eh$sc!K~l&;{QCni)J>~o#$F@J@i5m0d0OI$UutpSDaeg7+bO3_&!<&A-9Y&0eZbD{&lwyvYjOHa+)CY!I-kr%JSPS8u0Q zbwaChB%jkwm3Vqv#zI`Ye**St=|!nJY<=;@NhlB;7FTL^s@sDcWL zh`e~orzMw4{vMo*_&({MjIz=Bz7#G?_DT**X4o04#KIRru|We^1-=a~0#AdYf#SGm z!=>O7_zS>luo0{Qo232@C=S*>;x{tq85ng)_(TSl#WOY={&sLVco-B5PD=e8_#E_M z@F_3}pJtIi1r+{P@Ck4iI1k(pinz@YZTw469HiLE*a|!@XDJLJ><7h07o|TI-^ikY z*`SDTl?+IJD0xY;8x#%9z#jt)&sGJN!tViBg6<^7>cL5%h?jzmB4GuL=fRgjvC%o1 za0$fq+WrleK<|x-_|rVmb+bURP6fq=&x2yWji8vwJ`ZbT zMKF#)_%(PQTnF9&*MrvND3^g^l$*g7U>FpWx+56@UxA*U66Gw(MPNDfdT=AS27DCU z3X1hjDVV=7E1WJvy3q6#NbHPJvs%kEH&cWLYX>Q=qSu+z*O|Eospc zr-I@jd6Lr_VTd>I1o#?Q28s@AK+)K0$(>Rs$zxLQl)MazNq#Hi_oU9eBf4W;l+FrJ z)ZHfa)jMH`j^78x#vjRq5Gd}x8+;S`9T|6}NAL15C<+|~#k!#MJEX5mhNa%uK0o_{ zC4CTXwuLeLi^%W|!-`w8E}ZFgM3y&!DThlla@j^M0P_$Y9JH{U&1$7nSFY=LhMf zyfWuf)cAu8{EN=!74ijiH!sKe7LGY2b)B;FH>ZDq%x6&^jWULh?h0{gn2BCGnLplH Rf*rQQ7l(MVJ)D2s_CGr!goXeB diff --git a/sys/GENERIC/subr_prf.o b/sys/GENERIC/subr_prf.o index d47a2d78c0ff45445d48f7f10537f73480372269..b1f16df7798db51ed3899a267ff6f93008e59c7e 100644 GIT binary patch delta 1195 zcmYk5OK1~O6o&6)CT%Jcn`F{r7TQ`3(nYI-x>50kiccJ=C6flFHj6@hp`z9o>Dn&Z zGA=5DxUkSBtc8P@8#Fp%Nwkb_Z^puC|_0uA)H&zPqbY3XvAwjaufNjdQ4u1eeYF4Na z)rCS%>)b*J35n_@W_%_&EebJA)T=C~v)qssh^r&Snip4J5-SzA7Q_m%$jGyp)~3ZZ zN=h|dDWB871^ownvEc9{A*LDgJ<;?EIF^w4)suDfoL(Ik)rVxxf*{gE87KI*JL^M&FXz)A+*vkf3{?YQq zd2QTIq4XtewFkp?CX3Vi+;AgQ3sd997tbo;yRk%Enmq5qJz1>T;D%+W<4l#S2UzA* zF(bJTq^6z@%obHdb@2>BOV^M;g1qt-^KPAiI$f;ZK2y;L)yC9gb(PU4uB+VUxNg@* z`UsUi)z&q_ zXV)iz{dN>%?6(0?FpM^VoGDWkDpZoEwT9%4rbQ^FHAkoaxNhg66(vNevt~&r;NR`IeH76EsJ2g>kxQ_ ziURFI6!I4mN|~K7dc9NW5uAY+zX0wR<8sb}oM$+1a1L`y_*b#|Yn=DMqlEagUSz*)~FUdfyC-!!n>aPyFs>KKe!)EavtWq3F6ZD`#H1V z8R#cG|D5wTcox2Z%{GI|EE|YF!i_4MW*np=x~@lqR5q15$;1zS`UL{V2;$R<&!Rw)FvsAww+QG5`s zn#%eR6h!bz-3YZ0J{81(7c{bwZbieYrCO*LhT0-xL*hTl2!*iU`OkmmoSoUpXv0K< zvr-^rV9@Ci7DPotY+_4xwQWeV620Kyx@}gZZTc!99RDI%nop2y!($t=ts(ywMM_4f z6_w>eR!wXsg!n||Dogw(Sv3eTPLzAh)0j7Edcw+gVpfNhuf&Xn&G{iKG+$IM3U5Mc zpBh#vsZ=$8&72WE81d8<^1e&!F2~Y%E2Jr;{v?O5Ig%I7d!2xw3T$_vgD{i9>GFroX!#;)EXjN|39b;W=T z)x%Vc5@F7Xvh%m_M2aN)vC$wVdJ70mO@)7$wVcBK))b&l@;-&y`%ryMJy#m_o8tPq zwfSOkU;|BKhyAwUVxQJQ7wbR7Rq>y*#iGCBg@n^`nTAAdX!xJ#X%wR>!!*u8plL)B zZUZyBVcH@-{Z@2FQpVD#MemfFjnE`GX}IbwL-qwMdWofFlb#0+`Gv!9jR}UUE9X-` z=(nY1OcPWZ_E#(;Vnh|*eXyeHmGF=Sis~Dm6`ivBePya>7?kxQdCibtWApRz^ zMEV|?5t_r(q!ym^HA_TpY@@Fb{7TH!5E7aCNQa?RlRgA?|Bi0#9Hn;=*1NOx7Fa5) z$GB?{c!gSvoOTP&1J>|Jx**sh z2M?^_SpDPbY8K(JgKId}@Bme;W|8zlutnw{$ObCN7B)M;5q)7b%j!QDfPBGslkYO- z+TZ*8|9>rzdu25XP%8W48kYB`fkHykQ{Nv3(!#=1-tPv|ci(RXlD`?>uLDvn_uuOR z-3jC^nB2)E%h3cByBPhxdh0CvQ2BLDyZ delta 313 zcmZ24vRj0eosoedW+H1I6D#w?(u0g%lg$}b7?mc+Fsj7H99;cl^`C%?0c&_90}yOc zX2Zt}2i9<`{&96Rix9Kn28M%cIM(n0)vacc{D@!!)$L|DkPTFp4OG>|aDXHF!fKY) ze=Y!p1Yb|S$e3$?>F@vlwLtEb)hs}%?2Bty-tPwr2}w_Vza2;m3r~5!9!TGPzY<9P zW_-U0NU_|1uM2cDkT+#=Et4!q8BpwE^!xnHi0qdM6p(fWiYEeTkiHBc?Fi)8L-}n`e(&Z+mT+dqyv;Y+!9fyubhd|9^#h?`4=67$OZBCVFc##!M^^AC^hYo-FhpO?7Fv1l{jzXM1HyyuVz2$&TRP{9GD-Y*3T1zrn05g712;Qa!ys#zdaKwcl1*8$~$ z=&Ngg2y<_EUkPNs&jAuF43lp#8u5w%op2!_>TVR!I*!TWOv)Tj{sJ9!oPlAp15*!U z{WhS|PzDCxJ3yL^fr0f8lx7CHFc>H<2BgD)v=NX7$y-9jpj%b|1&lKoOr(g=|~_gu{o8co`rGS=BFIC%m8wtY$E^w delta 415 zcmZ1^u}ETqnW!)0m9>9fyubhd|9^#h?`4=67$OasCwgl$#!V~_^JlKZ~y-P7c@Q4AHl%D5PdaUXyv{4kAXr_f*e~{$p{@d zU=VdROX$l1p2(}2LM`{-e_{mcVtjvKaulOV_->#cqxV~ZWWak4iGYAv0Ra^pK zpitnoz!QN1-vi#y1*@74QU&C7gL$n`9*DlW_J=U{hWBMa=KD+_!7}+8qYUKL|z?y+lP1!>8VS zxfM|aAw48>M2rd~YFIC2$~BvUvCW|9DG!;f<;>IfY-e1~=lA>G@9+D&J3m6jklm>e z()!FksO*|gulX8tquM6D6ksEqb1gfnrM$V6H@KA5PcNsm^xC48@}|oLcG!HNG=;vc zb57^!b*j)$lul9>R|%nhS4m^tnD;f6Y^>8PC;|U=v~R^IwJ2*4*(BqzJyw&4upZL+ z3g>s&08XPLM~&DQgDx~17Msf`=U7Ny^z5)qkbjk4#fNxWHEFR(FKj(w(9-%#PHayCc( zoAay(T9FMBLMk>k`ImG2t#{CTw~P3Yio#w(%hNpDT{RvQMwN{Sv9ZYRgP1b`v2JSt zduVI)4C{nD&nnQ1tj=9azl<*O(HwW|ba$ZiE#-TW-){bLTyf|Aah@(4TS_kW!o1`h zXkS))Z9X*;;#PWvYPdcHr#_+eTVq;pZcO+4=UBKb;#+Vcr`dGqE$;Fk1aGVc|1_ie zlUM>*A0xzbL-L;FsANX+mE^4CVkYRirX(|VLfSC?TJpVQ5frgYU>E3g)OxSvHpv|z zEcOU^9KNX3yTCa5qq2{K!j}L~KtBft2}yb`pg0NPCMXsTN!|j*z%VF+-+-sU4`2_t z&sp;yk+eYZp>rUDJ$bMn{9WtanqHf)2gN+DoG2tSTsNV5EMz8a)qUiy*;jutIF6}l RD0r&BS@|}b`C9K#{{#NNNp=7L delta 867 zcmXYvPe>F|9LL}6%+8MPEbGpcx`BGp^00*i3n_Leq3}@fu*_;ngpdR~M31ZosQNwd|iW$kW%kchxnV4JqKukUl_GN0e?JHOxe_j_-q)b_2- zACL&?c;FwAc0`(T6H232u4i{R=gRbilB&z4>Y~fj+R=P^J)2%nDbbHksxG}+WIgt{ z)O_G;m2_=K+ zqlA!(kIk)dj&saFi;R^prXsN^Xa!nev5mqWQ7E&ULflef*Ff}L0kEGTTi>finA7&o zp^fzl>^EMOSkUz!L1I0x5~4ekNp7*osc8Tg#@O>>>uiB{nbCt)2l{PxrW`h zPX>nL`9wA$H_BEkchW0Vftw=%+N?4toN|+zY35n$s+iS`C!8AWYGAAW^N;%_AS~G( z+TE@J+;tZrq4OTEd%Wjy%HtD{Z#{m_L~71T$wz+tI%uEq_|oGSP}u$g_ky*mo0}fD zdE5@7#2*LyP}lA0z2HIQ)XNWpqV70&2>LJ>B_tU-g`gk81yBsUO=Wz?fxS_XKr1qhhf!B2h7&Qke-|)&>j`&EckF(z?g*ZI>AOM?b&& z-aXI#?s=Y9BgZ2)2PGu(fo(UnRGgzv(p6U4&5}xB`(#aP9bgGtaLY@W@M?vfWy+7D97;Yw((1>2KW^{0 z4=0H`z5Y$!iILBpANB+s`8K~be7ll2uK3hGz7-S3mGJ#+%67z&!S$2;80)lGH>^Uf zU)B%lRR2-eztj0!^9cM(PSKTF3x9?6*}tznJ7=2dXpyE>HOJ40!PcUEVel?XI5PAA zYf)Fa&fYT3f>A+(AF}7vYTD0Es1MOrc2TXT5%!0=UbA9FY&^!xY^Bz^c5v1-n?{s4 zE;xyDl0Sm!9hdZ6NAKhr+L_n=HGRAnnKAbUKg@=-W(&Q=irTV<6qeu7bP&h;ziAh% zcHUe2JR!sz>`xwxdwEGqsiY9fF4-yG*Vk;9Gt_(ouNqtT|81H@I-+{M#ot)UQ&O?C zr1p^CkWD#y++(RFC5OlyJtX|N$v$&#z;XU`E~hoj<*KPO|1!-_hCRMzcnQ{FwWt{t zSJo2~$GXZkySC7G*vqba@QmJfg`zvKIIsJtlIMeX@+g}4X%u30EgH`8q#C{Ybh2JBoaxv~|%$)e|zDy=@E~lLc^4EL_d{{tA-ECaFBeP@_XQMT1k+G# z_z&EKG1UlZfsew&uoE7Ed!e}DQR#8%=hB~~SEbX^yPb=THp3XMZ-@2-vMv;R5M)Jw z@dY_9!ClB_W&W?sgRaGVH?)XGpg7qHh%dBi0E&a8;R_g#LDBFz={Hb3v5PPuCZ?WIZ?fsed)4jqKXe5Ph9#fe_ut c?hCA=@39WljjT6NO$XWAsDB;(BCuWg4`$4;oB#j- delta 1387 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 delta 3057 zcmZ9O4RBP|702)U*z9J>lI(6svPr54F?t#S3Te#%$q2llNOq}ww17}XES<51 zkrHT`(JBnJ7mAKwX-CIip4ZAqsM9Gnkl;|t#|uqX7M2<_ndpqx%a&LUT-WN^LQmfVlR0vN;NP2Ykb4KrlbeQm}}zy*x5n|VJc6XOkG&G zQnz?|NV2cq&SrzZ?bdtrkfO!2=GsJ8VsZFJ*WNOtF7)L-!>5EiZF~KpOLUPmW$i9u zT?o%ZlXzzHkZk`73gO^&9KwHc^cK%xYBi=zeqC3|mclpQYhTjM)7|lIex{or@8(C7 z_Pb*KT{UrNubNnF$JMoZm+q+;Va2V*@SaG&lFG*x3L8BU@+R#~7^;qK)R6hWp<+J3 zulLxKX^lL!<-l+@o6?P{@cJJ6vqD0`#fQ};rcto&f_(`h*4qV(qb&ifz6ulxE~kp{SfOQsR=L5_k?>Z!NB#C)3mtu?$<%*eYw`>#A01Cg%(tI4r|eqVtCmai>5%%<6>Fpp zqm0$@KBU>K^h(W&c2GVhHz$phoW_e zyZjdRSr2_-`JAE_Kt$%9J$m>IJ?W`$k)8Q)h~5339nTMt4f+aEbPG}v)%Tt=L6&{~XB#++hz=M#eV>)}VkUXveXwLzb0 z?|=iVZQn_5sf5^D=BTcd%NcQb*-Mxr6Cqcmq|I^@#B#PNKNzUbXjng_f0*$l&fOlnTr z+aa~{KKpq(#uqJ^1}SRz^>*Ek(q+CqB44_8Q83u{o2VG4*)T z{u>5j2Lib+FNTQfoio~W^S`H(8O)uEQ_{6OOSOzji)h1ia(;PaiCB#H>Byj|OK*zI zb5m)g%kr!4-vL+c&0B43Mp)76c=h0=}ipPGF_l+}AVA3I> zmMI;q3MY=W-Xv{?KNQ(#jA5}*C~0qlNgMOyz7x^HdHY$3cJ1~7RuW|;xW8=GOP?80 zExk-%8=)muUB`NCJns~3bYjrtoou{zWDq{N1V#p+vujicxgL*J23XgdooLj_5vQ3^Wn5}QFvPOg3d)T5AG>@ z4t`ltDxdkZ6*;Sv-|gwin0jUB23C~Y+`AxZbvYX?ka1?TzYmMo3L0b=p;Jbd`t$c2 z)yGCRYg-7_N6uNa`>SmB1%<5^jTJMho4T6x^06X~USF$Rj)zxAx<8Z&2?jb?J*(44 zc}!Nv>cxTN^<&3gC!zx)9`S~g-B7uvRP*=@|NuZ zh`|tIi5uh+eW0+qCWMD{MXfXBPNf=oh&1auAP=XEhjuejO;*`33k8xEq{8NK4=?3}!&V zL6OK`!I|JWP%L~E6boGk#X`40vCt$XmqZ?`Yb5yf8@_Cbiidh*a-azP*nE0 z%bPAMN4Prxidt8Ib7B9x5!nBE82rUG=yG}1rS0-aLC)cv%bEZo^Wit!pV? zgNwmH=z~=y6Xi%OM92<2de}x%hw&bFTu)iqQt1tvA9+WL(tVNH(q?)yvR3-~gO%k& G%D(~88KXh~ diff --git a/sys/GENERIC/tcp_usrreq.o b/sys/GENERIC/tcp_usrreq.o index 9da2e4718bbb8ef2a35f23ba861c9c06972be466..4f74ecbdd3a100417268d4aab900b2cd9a9bac1b 100644 GIT binary patch delta 1564 zcmZ9MYiJx*6vyw(&Ss}!H_gmO;--nNq)5`Hl3CnrVtlnqx02XS@D&nqW7Dk-mU0+pP`i6M>9;5Qo9^3CP`#(@pjQ_R6l_*(Uw&#Dv7S!g9+APu< zjP)E6%95=%VVXXuW zNh{~r9&G9By-A$t1+p-N4s`PZIX5uD!u%W zW`yn!C+M)%9@2_2J7?%UUaOa{%Nj571>#-g-?*XY4ULzLG><+9mNkwMw`Q(3VEeB& zpjT})txM*XHE)f-(bO7HEr2&OHJ&!pZSe@;41EJL1c#NZYcDge^m0Mwl=3>)t$e|4 zAB^Oj)nbp`G>}`hwnL)ntkrbiDgJF}oV|{`spnC;v`O=Z#Yd@b5hh)uXH`5M@2yQm zaEJEm2omb&)0`M6pNq3jn$Sg0^i5BiU2_tSLtp67^T#mtyRhxEA!2(_!@tEIjVLL1 zSlB@)7?!!qbG)rKDZjg=JH7>;ey# z`Ei-2!3gw=U^jRL>;ZoPp8yST2e=Bh5t8)XaSY!UmXKaJ`oJf_mqA)EUe=F-PeVTe zJ_GjRc+!OrfK(p?X?_xX7CZ^=2G4_gz#Cu`%!2#CC_djPNfO@?7%xDW2R$hGW0^}} zAM`)Kc5n^EvG*0g7r|{<-F}e%9cV}11nI)w2W9Y6Z~#0B()%19bb-HuFM(@d_|lB$ z0Gp)E!fjvQRoS$8h$3l}Tq@fk2$`ywn^iXLC2sr5RoS$+6@6Qkz0w{5wU4o$@z~*a;_-3C z?ORe-d`~f9MW_n~9hJn!redRswX>CwrFiTG$Deu(@BS_cxD delta 1548 zcmZ9M4Qvx-7{}kc-mNFD+j`xAjV+cB&8EP(x{q#zO^KNjHhc|1Vi%nAY>~+(V<G=#>e*QsrF*XA@T%&7}6%YXMnZjADgaam7sXleXf)PL}p8lviMd z#1>0!!gaP?3JPOvuM}oyq`RBDQ`!Cr8j$%C>54-k@%xX7A6sswccaE(*zQ5A z*lQ#Q?r^<*?6h3(f1DTSq|#?2imSFUPk|PD8<_=!$nS%z2=R@A8u%-Sk3pV~kC1a2 zSO+}>)`K+1fgJaM4ba~N8^NPs82lV;0!P7n!5_eC@N$+h-xQ2y2u&g(tHHG(Z@3ZU zdM~&J+y%CPHF(Eb!B&v#n?at}2R;D41U?A92CfA!fDeNe5+RR(tHE{PUeHVWi9GBY zM1BWckAMNzfG0t`v%ZU92k3wsz@?au??gSw2kHPR_yqVExCP|D0o?dtAA%dflVIKP zPrZ+du_Jh9{M_pk7>JN4%Ad;F1rW~X<@}Uq-^jE7&a(;j2d;amdG?Y#du7(fIpAu6 z!y6Cb){&RAInREE9h=uEyvMH1TTsRSioZb2i!~PPb9s5=$II?qDYACoS#Mw0voG}Y z^f6yit5C-}ih{x3fv)c8bNxG`13ROnD;wwB))OV|p;a1ty(lb%*f&MN()&r*V1Mu6 R*51MH{vA7dx}!Z?$-m9j8;Jk_ diff --git a/sys/GENERIC/tm.o b/sys/GENERIC/tm.o index 79a5be58b03072f6e80669cf1173a1472f72c974..242aa378cb58b938f6d2b209f4058382f629d089 100644 GIT binary patch delta 2410 zcmZ{ke^69a6vyw|eY*?Gf-Go~3H}IWu^+;+0$NO{WzmqmEE^XlwiQ;OSe6if(5P#Q zqf-ewSH^0_ALXdn;*TPAoU&)aY{CiWbl*Z%D zQ=|bt-Mr4e!ot|Fq}JTlH2VYHR@K8#nV+)W12bF>ehPoFY{($XG} z7SbuBl2*(eHmEE4fw&BZ8^LQ(N%kF0a~`~_TvAfHP3m0ohCAhcbpy&DHmXjp#*Ljk z4sNA)ce1t^@-po7V?=M&zHRfZ&#nAZPP_lBQjV13kTy*!AsDGCZr;$eF}7}pTWOVw)jwbj7~Fd!NAeKPWvPg&UXn0l=DtBqJ2>>Mx)V&1d(DchvI*)ISmoz%B5ZBwK{Op# z7CES9xVs}etJZfNPcTXLkFlL}BXg1>7n0?5eP!D&Wj8aHI2)b@&<)mu&};>G2=szS z!64t9lokI5ECpA39Y2{gHogVcK3FSwIB9xtBdjM3(M$?h2YV$L1m6d-zUc_~ChSw- zTi~By05lk*E6)Qdu0_~eK&s>dh#nJv0k?nyAXPj9VjbID6PDQu$2H9MgI3%~YGoXV z1h&l}zNT$>w8Osx#3%6>Ir04sqy z9yo|!gWC~s8>C8&anVX&0;!|bAjP$S@50^#Qd|h6geSlX*r$bk7Nq^Y0#aiGAmuT} zN9QF5A!sW+Anm{^kQP`E(gOR1eMs16KuQz_=?Ki$Xu{EglRzqDZq&BD08)V-kdF2= zNcqo$6jwVD|8Bc5@FKVntN>|&I>Ghe2e4Z~+WK7}O*|`jMew@dpkSgc8kZ%woWEv& z#E#6iiAaMIqi#ZOB zQ;fVlp9{SS#q>aPqqk}g={V{nfygMT`Xcs(SC`}zd-o6Az3+e ztk9QrF+QFD6%l_vh{)x-prB4~j7>nLZ;J^F(0RM?e=&-&_jK`lbh=ZgkBNBNxlf^K zCw{==G&HTxC{d4Y!UYl3i!OiE`L94nI)ndronMXlk!KK^7FdM0;(SfMz!Ip2Mhq{(@C+A*V@7^11vUDX`j9Lye`X|2pt7kBR$(FYRAYK$ eW1x}zRm=PhtkjiTz(2~EYD3koyaGI2F7_X{GZO9q delta 2356 zcmYk6du&rx9LLY?Zr|NTyUh#-1qDW7B72lFFp~}AlvlhOiEKq?VI3f2o25e{W-ano zGaiSRk02ukh8vGi#vjC242?!!8^ZoTmSI$a7`O@JG1I~I`)f~=-gNi#{r%4G_dCCH z?l~JO`?Jh$lom;BNNen2{` zW7fzl-E~Rw@qGC;i@E0;mnAE$XqLo3l&4CQ_$hgYbcf%U8>Q2{R^P}k>x-pqt~ZR6 z?(zb|NA|Tw#$u9M`=6%S3!)a)%fC0gYH`5q^TKcD!;H(#Ukz$nmaAXY@orCpx=vXsE?4JcxCIkV zc&ur~N1rIy6h~CA&LD4Jr`)e@)HE%Yraljc%vff3r|d26a4N`Gs=H^aPr69IJ`>OlZBdCl{ zoB7w~F{TX(V>Z8J&UxC6v;|r7dfHuH$17d!BeG^jORH#}JpRP&D!BJR({gN4SC!H# zm8*Zj>aFUj(hWZt-|T$sdT(`4wUnDyG?CAgya?^o4?l?#VzXNH%e-`#da6RmsAbqumAk{IN6M6O!1Z~9`Q{v=D#3 z6`H1xCUl5Rgh6MRg6L}YLQ_Ku{^(5O8lZE={uX{R?_nT%~riEmBOdsB3qh^L)91WgOLj@L2ar#ca6`kxhl z&WNBZSmjyhr2m3QVDMi~@n1{&QK%o9CRm93a!dHb@ZS;sQrv@w$#^U*1}*A`m>!vw z{3gzHIz)UMk?ep@HjyV{>adzILXUu+B=l-%H#Fta#M6YP)xVh37<&o2W=T`?swTg` zmen*Yu8*7^{#F`)cH{@yZdS9{SL>^-4Y0Yzg@yET^AjVpr6L|3S!Ts>edAJi-6cHT z`AnvV)dW|r3i<*;_&gq7<{X_-M84$>K~yLyoWfT)ofRdlrYQhd9bBG58V~qa`H@rN vDUC-rE(zAdDxJz|mimMKK%g-|{@Ui1O>C~a$ishi=G)MXyTpT+yM+A@4_D^= diff --git a/sys/GENERIC/tmscp.o b/sys/GENERIC/tmscp.o index e193eb24f150f8f4828024df7d9ae5af2e379c73..1184795c7eb4b214eecf1caaaeaab6ac89eedf9a 100644 GIT binary patch delta 5085 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 W`I2fjrEt_}UR7w190Re?!TtwA9XiYa delta 5177 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 diff --git a/sys/GENERIC/trap.o b/sys/GENERIC/trap.o index 6fb91f65d8981b4b7ba92ed80e59355b3024e4dc..40294656b60d7f6caea039584d4382e501c1c749 100644 GIT binary patch delta 1399 zcmXYwe`p(J7{}kcT$_I#cDEn~RB1D0`rV^*P6?8lpF9Hoqy`(oSaj)#`F4j+7hHgc14cjjKy;RmS% zcq1OewAw{AMmIw++N5PAZ(EbJ18qK)?e@7kk_Nhz({j_JD6-1Cqn!qJZ!A401m6?|P#Z3Bl8Ujll0mtW9BeV{kc z0Jsm_E8@EZhnvi>(1;KY38n>K7Mu`#P4I0&Tku1{CBdTLcY<~B77P%;x!wwDU;yj^ z2S?ys1;?Az0QZ15hEBJ=c-xZt}ToC-Ea6UNT3$Gyj6{m^b gIJaEC`kr(ox1ru7O&2Z=Jtj-La<8;qDPPb22Nik$0{{R3 delta 1398 zcmXYwe{2(F7{}kcUf0%j>w4|V)O4Mo(Eu6`UHp}pftz5|c%463k7-6?WWiui|6qT> z4ibqbi;h|r7m0BR#5Ud$NtT$2{2>H?q#^QFR|)8~{IdiD`j9A%*zL~m)%TC*{XEb2 zeeQXmdw+bNna>165@RRw!K`vss!92=-u&*i{AAm6G5J<`kXh1B=_~177LzlwKkwLG zjvaOEaGiE2j5QV7?Rj3g&kk4YFzJwbRc?oMXMjTfyhJ+Y>ol7GdBwckJ-0rft@5h$ zL6EV;4M(ce1UwXN2IxN5^Ej0->Ptwxp#AA`J4%@VV?1nV71yz@pw6uOMo{k4ywl=gtf_Q%d7Upd_~x@{lbER^KFyT?(8Z=)rkVn?T^7-Q-!O-4Ed zEhe2-EZaCtn+hbaGS@=OL~67e9Eta%u0AaW~j0nQTbNvz#kBPp#paOx5*UM5mo6foPT1tMjH!b%Dv`MXxZvSIZj`a_&&_T=|Dt6O85Jy;{Ib1#|5vkBeZ~|(mk)rKb--$YO5jjnn zhFhuYaSMlFqp)2t|5hG=`S>21`?6#j52mQP|K)<1N;IrTc5kD%prA3o<=t6i& zaHrr~f_nuI3Qh~o3eE|Z1iutKD|iLmga-Zsp8#Dj1jcaAgC?AAIDV&Ta0px@;&p;K zupjy^5$^&0BQn7V_@2=7f=2|83Vsf5M4ta(vE>TF7Q^6tU*yg}=Ltx^Z ze_|uD7W{>cD;|_Skd);pGaaDDZl%D`D8*!a8}6050~T{`v;j3YxlZq$-Htppu2nv` zAB%;1YgoXNGe#rbyiZ?{X4Z}cmf0`!llr3S!_(&na|1g2httC<_fKEc4Hm(8CB|k% zj_KBx25qv!G;%{^wPL|^a%q36yg5~tKdMm-JTJXTI?Ufne@xoR`_pGGZTTk_o0+*e zb&b4Fs!`S7+Iy*`R(+4dp_)7c_dgK zEQzw{F&)ixs78@sV>@So=o;*^4_l9}g{a_FhC=BgZ!pZ4KI7XB9?8Wg3@fBbUYt=U z9pzgxW=lQc{TY&E-g`F|3r&rNCL)Som8LpAkU7Wyv%_Tk+7X(NFZJRib<4Z&gdRHn z9^LSH=ufx0*b6vU=R*%e6T|qKx)PeoJ$^rZ=*FY`6UaXbtO&xrtb0IX)*Mp-V zjV;i|Sp&M@Zv_2d57@}tvh&0%f(U?qscOb3VtjAubw_##MkX&H>|hyNN#^&Q|r&=0m?+#ev-y_y-P7pzBqyWj=k zUl+Ws7eddk<}5W~%FIF>P%Nn{0@sHhH+Sj$Pih&H5aPqLGNB>aQlaUj*Cy4}CF%O4 znsw0lRO)~HCZUUPc|6eQT79|_8Vh#EwV&l8*eeqEP}v7f4b|Z9eQ2D2b{;pdU(^gE z4u~2^c0$xJ?DmT!|6IaH%{NK<5;QfGk3~kb_(rq23V2?%o9bwV#24A{E8%94XrMQ zNoz&@OJJSw>219XooJ#VNjE0xHfX;(5q9rIK;4z&d~Ag#pCUdz175Xc`;A z)%qAZG3OECufi2Mp71f}N#V~ou+?lRkw6o}(21_U7e%Ew_M@VPUgOoInrp&mSorsF zy=9ix+}N?nxzW|>Y;14qaQU2V?M=<{9 delta 2369 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 QW^u6)JjDi*>EMj=9}Io`x&QzG diff --git a/sys/GENERIC/tty_subr.o b/sys/GENERIC/tty_subr.o index 9365ca712d7a58eb0d5ddbc4ba9207223c890ac4..67ae7824dbb5dfdd8ee12165e919c0c3902a263c 100644 GIT binary patch delta 1116 zcmXw%TS!zv7{}+hb5yq0a#u-9jeH0T#P&feT2$10NWvoo?VgwPrF0jB=tf|y5GY+J zWL$_cdNC-E8R|OvuA?C_nYtg&;Og-xm?^=tmkNi zObzIP=!Kh4X=u@+E0M}+&7$UPotd&|%F5*;ZrgU4o8l1|4~TIfCM-m6b$;{fI*WSi zIULFB^@I>JLBkg1;)*g|bWA-N(^*8HFD<&kRZW}#21N%VcL$9n!^=YkB?Gf>n=>6l zPRCG!cFB(I>$cs+Lm~)b8*M;Lv>?ikjUYM(fI(4%=qEN|U$s}!V}BjnQ4lr*h>1gp zzM-^e0AV`-42o*R{QjgFiJKN(h!pJMq8uf;=2j499}p8BM7gF8!o0pF&A$-gamyRC za&dDJ{@^>##A;ooCDRa1ubXEMIjduun|{N zslG6^v8aNJ3KWB0m;Wl^ono6aqk!en^1^Scw%zFq@=ko>0}^yyW(VnUHbNV!dfsF< zWZY;EtweTWYwBh3V)AVZF<-u|2gCuhS&6=H$J`&M_yR=nIgom`=IlQ6MC`QQ+MNRn zH_YYH++{O8x7l8Gi7&X3g(+IFNCWs4DhTm3DYk&Skhg)m!IP?fUa=RHdLJnDYl<d!m>CrSGN6mq5AR zdxufaXAGoKs0lw6*FkBdE~nvsP#O;_9s#BAl*)S*`&B)q@^^}#RDA<=`V?i@NIcsy zkc~bnK`8!E^(x&l>{YA<<@`IK{3a&Hb6T^sd8WCy6xU$a_i;r4A$f$1VT?(njQODs iV-E?X#y1fnFH@?0tOM#87F_!8g_>5XF*)G=t^ETYbEBF7 delta 1163 zcmYL{T}V_x6vyX!XLGeo-L-5Vgry=Z*ib4k+H%7RiD(z8@Lmvn5?u+R@WrSlACjaH zxf&6I4}n%UB{GW0Xx9ZPp&Ib3B-@whC2I&IFh6ep*?S_moZmg?%>SI3Gjl!A74YP0 zj3s+K;l$OuFS#*m^SRcNP+GIOIazH^+kD#g3i;Y`oVYOMb1)f}kAXh<5Y~5~_{3DT z&3zF8#dvpwF=nQC+~z`dk*LEJUCxTyVEz7#JP)pDvI*#wjj;KmJ~kio2_wdPCco7B z^~#8Ynuc4`Nbwd`vtiwFT7)6bg4oDupikDq`b9=YK-4@4^vZp(m22zPPwhjZVU1Lv zQUOrG`um{*l?s3gwzzZLY)zUrpJ^?r5Hg66YPk)BxESb@8)4NkbP(dzRVDrn3r)Tn zneD~sTE*}Z4rPV)vSwS9VO(vSMKU#5RF1y*-okjx}zYF`Od&lh6%@;wSZr%&x^qN)bsS3XN;|7x; zf-ivSSF8Uo(7ND>CUhu7%v^ZnT`)86ikuZ)E@E0UW4vURAI3W=XRP2j@f5flejT_6 zyh!nO;x)>5Qofsb8w_E6Klvx|npNF8%{sDSZ(@MlA>s(A+B^kSn=xVvE;)5_4SZR~0qnT5THH;Rw-+%XG2Iijg`+wj0 zpVz(TF1sh^UYI+~X(_cUPN{RCT`6@_D*PR37&iNX{b=yDo87=ApC_fu{3#R)b*Z2^ z+_14H^{E7w@M#db#sqS5I_!tRuR~ znV$LuHrH;ppxv9$-(^-I2%1AW;LNsm>RZkn*Uuu^qxA$=rd6aDx-v%3N1vcsgb9-3 zy3B_^NS8S>oy{D8Xk3P=rs#Ut)7IDerYj@m*HPh3p_k;Rg!4bvneJi5JFFWj*2=Q{ z>LcZS!3vmf?u0_Vt^)H^xJwJVcgwdqCWt+^j?gk`ts5wk=)n}XZj+0dl6dpRuEa*bC8!znV1iXJvn0gV6>TKs1t`qc`NUC znV%vKno-hhGhPV0z8f>8_zRq0k7d7P9I!m8UFQ1j$WaaA$l_>pLfQl7Du5Gx1!(h) zOX+AdrxDf#&2Met0b8ZPG~aIUr$$}G(byB4<$oF8CG!$$Ph!xl25~D_07(nl%~mjA zYEk>zeAW;*j%q5NdD6synGbVW@~AWR%4?NFjIs`A`kD&NOEQsVit&zhEkiIw23YRv z^m)9)LrS^Yj17*>xbipB(;A(kciWOw9j-|-1v%L4t5o0ufYCK zN15&L>*Q4}#&gF0YoO6j+40iGp!^6W1tlFN8)YoYB$Ql~X(+Q$9zmIpQi$?cYj0eW zWzEqI31ce?m5N`1!KQT7Iy*7V zFTEGw@#0g#Q4Go`+d-LSHz@5*pseB@vYC7zbRzFl>JIQRTK{O5y#&9g6v6P7`sGlXDr(Z+8h58rdYxLiw-b?<9{$cWc`hOwM zM*EeTjg?-2fy>c}N*??bP+o!Sqyc3|cR*Z@epHfYcS7Kb1*JU=lshp7l)OoxVu&4e~3BOPNv$sZ@wM^n=LGW=pF8U6`ol`^Xwlu;|GH^$VFOu9?f_*6Z-TOey`U`g0R4C9|DOIILD|?}$xqpSmhCotzn423 z>qj7o$zUFs4$65P2^K<+2c!7)%KK1tmH;_x_v^sj;Pg4_jVqA~b=BVQu&LD5fxGVn%F#@P(YhPF}f1Ph_@ z4Mi4i$G;X~YvItvQT}-R>$YHsnaVf^@dJ$UT}ovSipL|y?F;`1%Vm5H6U<~BKs*mI zHlXAeR}uY-@JkTOT+^ftF&67bsMKl*T;X07kp^`i&#M}-bdbNF)9;3{eUM*I-wuBd zVqD?B{qzIy-yY=4cbkDRTWpwrphGJ=?84HIGhPIqLBXXIcJMiZfzIuSu>*AnkENUO zMer&LuJC4V(hp!W-!uLvzH9t%AjgkEEf@oXx+7mi)H?VnjHe*ZKpY+v8a&xAubyZaxRMlDtZ!W4S`KWTeQst}v13m9$n*aa+ delta 4104 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 diff --git a/sys/GENERIC/uba.o b/sys/GENERIC/uba.o index b31ba1a5114f0bdf77f99bd10e211cee9d83cbd8..bfd6012458d066a56b18a4c6471f9ac516623eb2 100644 GIT binary patch delta 1844 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

    ?`T@2psA>Ez7`QpcKZ!71vH&J~ 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 delta 3174 zcmY+G3vg7`8OP7vM{={-4cSLXcC!%>C<*Kc>rl!gwJ0JI7tszb>} zblTf)uPHg|g}GtaAnr$_dvA;})(}XE!+fi>qF@tj!#QI9ZHjV`e=7N<4qj;R6s(~R zv-su~b+quAhWXMw9x&`$xG<_njzA>rQir0QmF5zoe?RN#tn4gT&g?yh*h;kbBc`~% z`hKQ^rAWX$Y!sJ9G%ePOtN~0mn_n`HlS;V3G$m*s(`-?% zB0*+Ag5Bz%lJzo(3&Wb0P_IVStLlLJ->1WcVb}8RaAC*TWj?l=Enodv-a5 z@uo-Lk1tDpxF3gL#wI<0=r_D#4vO|~xy1@j$&W?Crp8Ff+Ys+P#~eogXDrDog%=Ki zB+C?Q5>^_e2s4aMV@xsi^qydyJ|!BKl`+N`FE?Au`oGgOEZ0yI|`FnX(|sqHVq*M2&g9}0 zR#&!`j7`FZl~9t0U09}>Jef09lDRFn(qOOP!Q3*3TaGmJ#SH#UTB0G^fIv~cC3k|< z#}DOh;Q4aEV4uW)E{`s4ON3>F4EY?!SXfTr7^_3@zJO)p@5!%9@AJC6a?9^-U;{R4 z5%D75lQ)iQdGqu4B-FvEI*6S<#=pyJ&9$$_Nm57n!Qv_WFP3Sp|8=*w_eJQ+NurG3 zu&kGk@m2ZL^R}lo&E6gnP5e;)=;d$Y9%DO3GH%uAil`%s>3k@2a0=C-h&rUE?Y0OG zP<(F3bcZFOrlV>)G}Dd43OJ4aw^_Wy>)c0MS)bXh8ZKMCIrhr#y0De9a)L|G$V*>P z9$1yAi`HTA2Yjt{#@(e_Qcd3(XA++lWOIotxXl-D$Lj2ryxTfkrZK4YgMGHe_S4rj zt*7rjh7)y?GG+V`TZwd*H`(TmT7kZ};*=v{t2*Lu=VxvA+>L`e&k*mcGdfCo)Sy^;L@Yye%_ZlKY%b z7d(|QRb)*od53eq)WaWiEts|a8}i+O8-~m_LY(cTHN!sRxu8e*5!kR+u4KpsQ%bBQ zSEHEEKXm!rdC&jI{qhC^xm3YR~!2pK4<)nfFjABbyTZu`!%Xq81qo!VIHq_Fd zCRVoh;>gqU*!Tsq=YMif9UsM$jk(6ckP??kNWuw0HyO2KG0Z&2bFXxP&+?R)bbOwv z`gNdF{@!ID-{Pq$a%Mx#Kxax!%!aDq{hlLID{m=XYZ!BdS9?os-RcmYTQ!YYZ(im_ z-r3UMx#FGRZ@-**`v&8Rqdfb+)JSglKS_z*=1i8G;e!8B5|Vg=zvbO-8R*wE^-5%} zNO51;^2+o0zd`*wVNHn`2`nANc?q|HUQ{_7I&8wfD>)~P$YU8ia9O6^81wqZU1QX+5Zx=Yu81D9byH%I~cbq<1$L*LZ32ho;5PoQk@o1t?FxC-`F zy50`bJS|`q3o_dt-OvV7MPXfcWgIZEu6sfHeXQ#gNQr#`Qeqz>DkYHC`7<1CT8VWa zRlEtD4W@9)p9HILduoGd1koUeR*)PHfizJFB**Kzeg#*P?6Yvq$$k|46?h;1$*H3G zAZ^hiT`vU}K_3Ij&x!Yk{5&A}jRk{bn1lv7&IDC6o0tov#2y8y(&s>mvmGS=UAo=_QrzR;EhooAG5p1Ga)RV27?-K^m|E zpGM@j3#18-;5&o1AP&;FPe2;iuj{Ws8g~<10#5d16J7?=RyTl@@cJMc&!O=TkOG|n zDbPo{z6esFCVYF+gh{X&G~;u43rOG4q@U3BPLSg41}V;7UAKc2$Az!-tza4W8?a(C z8kx$$Oy#<61!=%xU3YXHnRMD{8?Z384_}@*ChR)jG^JSjE#Ez5s`MuR>y!nyhp{hG z_90;BxXm|SYUX}l@x-H82A^*K4~G62Z3JOV#xm&k7XFlPfvpN>dV_A++SToQ$Mj!8 CJw2=d diff --git a/sys/GENERIC/ufs_bmap.o b/sys/GENERIC/ufs_bmap.o index 5f4cd6fabb3e5448bc06908017ccd11aad0c6f5d..011334512c080ab56ee3478c41ba844c525d54e9 100644 GIT binary patch delta 420 zcmeAXYY<~)XJla5vyt@|liP*0Zvu`iC|UdD;u?;%Pb4`Ht$nhF);_o!@SE}d;>pd-Iud12MGu+we&GR&rvOC^%O)RZc4U(U zF+Wb`W07b4F@Qs zf$VE*Ut9#bScKW|=|7O)4l^z&3Ah*)AR%{*j;3-mCx&W2@8v delta 417 zcmZn=>k(sRXJlYFv61x`Q>viEg|%-2jw~oy`{d#pj2l~prjzz-L)Tp+9!b&u6^LO_r~3|Ux553s2qr0HhCV4 zw3;Ndq5Qvtj8OqVX9ZR)OmWzIP2}s)m>3$&X0HhZJX-6Ra0!s6;K-8-MX^{FjAPrKV1*C0(bQP3t1JWRU+kiA5 akUj{c`GGW$VgN=31BeESZ$8ax$_fDgldNq3 diff --git a/sys/GENERIC/ufs_inode.o b/sys/GENERIC/ufs_inode.o index d43b9e70bac430b541f68b6f5525e1d89b6fad51..85e8b447d1a4ecc2fcd997014b94d991539b0fa1 100644 GIT binary patch delta 875 zcmXw&TSydP6vw~W`-~~-F0I>EtX5hXwA)KTL0S(B`QT{cEW6o5*@Y}gD6khL5E23n zz7i{f>LJ}-zo?d=9)gXmC@+k$W*4UvdRRi3@UmIEHT}okVBk0B|Nl7WeCNzu^Ir5? ztQ;XfgolJg~2$da>$ zXGv$utk(ZV%x0py6qZEg{q(cN6D-4_&Aksu%UFqSj)|IVUXK>_@jX-X+jD*mIizGk*G}xA?4(4SQ4ZL)c3qiwG(f{UZf z6?)57$u-kAw#rS1vXbworY)f8bV8c&4+hYkK1YAnbWj&x!OhWX-d!*iEHV#=&#}4r zp~7H_w(wiFT~DpdDT6s>Rw*J1T!Mma$QZGF+Y?ZT;#0!jv{7xPaefcyqks6Vj-qO;)eco5J?uW=M&sCyv1r5}F99 z2kErn=62F$VWYVirYW`|j~P0x5|ff2ACdkU0EWRb@FiFaeg_YOCd>oB3ej0WV&esZnOjXi+WlB}sl(}d ZgmZU|ME?T_L6ZY`M;-DmR_7Qt{sYsgP2>Oo delta 858 zcmXYwT}V@59LC>s_HjOJsco>WVa>`u)N1Q0p-8((NTQR7JIso@DaZ-~^Fks^BJ4s6 zUb^a{2uj_0tr%ToM7yvE(Kv&tkvnA{#4dzGm}YHtdd@aD@H_wi^YH%P_j%8`8oC{F z3LGK!vZu~6jxU#~n`^5|N`&M%WAvYCE_;n3(=^kH{aH+QyFMAQ#5FF)@fBhsWYc)= zFXfyAd}S3Kbb1?lf1Bn^Bo$%r{kqOFI?L~36PI%~<0J%4VcF08%dB_VVI28`n$5>| z>nw{w`{@T~&{qx9)|*dA=akP9rxa7;S-LVnD+Hf7%hJ;)Xyla_NDvfmco&XtyYK;uHoMn5cu ztow zgX=2@VV$kyc;nWR6?#^&6C!FxKfNLET+@nPIvz|Sc0xK*9YzzKkON!|{Vs132t=3@ zvs}zh7i{sFapNGR&Wed!8!0WxI-YM6I4M5o?h@A>aQhU6bXUVaS2q=9|kQw zUFy%3`aeqbO0n*91@Tdyhp`*9HgFxZ2Hyp{zzlc_6y)OIwV<`|(NcXDynwnFtOjFX z8~6g;0M3Gk!8~{z#K{T%3}SILNsO(Q9o%O6+TG0cP?yK+ABXS0jSyTe0wrV!?>I2| Kme}hVxBUm?NInw) diff --git a/sys/GENERIC/ufs_namei.o b/sys/GENERIC/ufs_namei.o index 698f07631f8a9aa52c411c817181811b9a38f547..70e0bf72428b15abda254cfe1aec4f3b78385d09 100644 GIT binary patch delta 2523 zcmY+F4R93Y8OL|;bMLa3+s`Xj_m;PjQYf{T<>vsu)5bl1{W7MVQ6&%$r% zbyjT5&7Wo0dB@7S(5>-BRD_GHEHKC0oWYO8pYH z8PnxK&69WWh2Nvs$6ZkX68Dc1b1g-zJ&C_ zD|(Y@T+w!Sd-P_jZA|3vU$*VRw!+4^RYQ0^sf=!2zj6hdb@9I-meZ6D_L5&sB_Yh1 z=CSl9tGy*7ufQ~I5AXUk19HkM!}W=sa?e9DDf9u)C*3cJ0Yb z;kD%7QM@aRyYeCr!lhP=Iioic&c=BARohl3V*tHr(CE(^Y^qcx{+-Q}T5C33vhC+R z#(-x2Tf$JWa9O%MBU!;h&(E;k(zqK|Up{UOgtyVAWvK)Xuy*vvo!`OENNOs8NZp_IFMiWUM=T-N)MYNx(8f74 z9o4ekQ`QSEL8vSn;-40iUS?b5S~1Dql^ZK_cvp~m1rK7_>cCF6;NC9Y#4gFNN@qNU zqMO;eP^I*FQ9Q?bLye8v1?<}T8A4jh=~5(;)ur^bO4-sS)Nt_@MAZXV1@?XDHgSYC zmo|$7>=&golvU>o8~6g^R<8%EJ#JZ%IY|T5zrA zSkV}^^k|D-c(<0pVQL9wWfxz9dyUiTEL#xdLEeGDNj@J}K8JGneYnQM6U}(ijQ4m3 zdn7Y%|FjUf1=k+=uoUMv!aCF(Khn&rU}=ZALdeE7U+qUHxsS8PaE&s3dLYh;Y}bFd>dQ{_JMQ34?!yM4~Ihzzj5Lh94+FN zro2fY)te92;%pvu_#{a6o^$kCaF&n~LWg0{f)~L#pgU013fKl+3(~|*AQhMfQlsr4 z4cQ6KhF%1=g6lx4_YO$)4uUg45uYt$(4j(1!SN)F2f*bH-v-;E4M!gUY2l+FHFU!9 zp8{*3N5ENN1wJ>#sUS7D5TyLa9IgSW;a9*I{I}o}m?Fm%7&O5GkQROdB>%4+|0a+c zco(EI{lw8GNR4-fiusGd+0ZK-{i36L!AIc#1ndO;rNwn7lw$v>;50ZWVYw4n4N~EC zAT4|zTm+6e{^~M8SPXqPNR7@0sZKjcN3{y1LC!nz%OFkcEicxa4pRJua_s+H7_Y!V zXZ8k23%>=@S@t;G1=88|ffK=x9sQZZe>yw`HXwc$q`W*h9SnvGl*fTocQHuyp18?z zJnL|c!#{yk;4P2}>ia&faJ$8R_UZVe4V$nHZ@L5lKf;B-9k4OJumK0V*RhlA;DkrT zVOAZz6<_E%(F$=UTO7SZ>}1=c6;*%3hRnzBB$5RI&wV>=s?g1{h$>ig>9r`%_%}{; K!#=Tkv-`i^%xIhd delta 2567 zcmYk7e{fXQ702J*eVcu|`!<{17_%vhBuXe~M)M+0fsQEwW`LmhXl=;uR^SFM!CfNFfnOfzi0O` zI3fYm*?DFg3-CIoRSo;E_*)YPTlJjY@vD`yb zD0JJXw3E|bv6DxA(~$!x*u0oCD$R>=ul59=Q*?Xqy(z~*yjL6HtBbbW`5ldBe!d16IFVj~|estgy0K3n4_T=v(k--=CJ*;~Z7!J}DK ze2eVUGe(VN&ge(GWuw+^nr7nEq~i=U<auOr*cMm?ZCrwYr!nUCzT?0%l#VkYBuLQbl&z}$)iZ4A)!ZA^earffV zmycx^iwe?zSC|#TtO+J$NZMRBX!e#yb4jsb)^TEYV-H5nfca|9^Cjb}Y6?WxHj^IY^Womh@0qk$DupRf5o{%=KF=f&*L ztD_Tzo!oDm7qFA7FbA7T1Nl=LCL;+W3D4hQ+-%KXFxEElM*|hbhZISIw+o6T_VZ@~ zUu3P^3{;h@$xn`P?Q4#eQN>bzDX=m&KJGXf)oOM=#Gqek7FYSb!DPu^%J-|;QN^@^ z6ZPUrekgdSt|MeZ7i-~*U9iltRKAR5P&-@ii8U1Jy$fd4Gn9f$XqaBh5mrAl3U3T+Ye@%Lq-E6aIzxWN@mTum#G6_A`y%>R# z6pvgM@A&ew_rM)3>+f*zT4a{!f6e>#wt${lVmBju3r#m~=yJbt3*NsR^fG^b%rB_n z_%Nm+`^=yoi{|5N5Z@&h@DX+2!s~K=iO!F4%I1gWnEr`w)JAX5nPcX)c=)og3;u2V z_u&N#8xfW1SRrMUK|{f{d3!czD48Yk3ENPR*&`MqKs!0hKMvo=KH>|DYuPEDEM5`Y zIg;e^A=HYczC5Fz+Z*hZqx$iI?X zAXs`DpOPnV49zzj$GoboawJI|5RLF%607hOU!gFu6wg$2zLjdVQa$oOk7A{q>bz$j zo;_;6k`iSYovBTouN5JT^fN*hDws>@^WMB9Ca?2&^fq>pe<`|t!?V{Z>25qzR?1K= zi8c%kWJ&j^R$8=@JCzi0i;#fE&O=;KN`KNdA-HO7L9}Ki~WGz^?+y z$zSDik;~;E^0bG)fdM7%0x4lH_;v8l;6va)KuYjWm;Z4&;`%3D+mDX~#npn8uNj<& z&TMwM9i)6ea_tVVQEHdMf5U(loB|&N1A&4a2b*A5gS6v1kP_5`ROllhZL$S?0Cp?b z0PY7V-zy;Hdjnhn`thenEO8kpwnNyC!CLTXm%ZRd*nO^j7Nmu9AQkj4SN|_~8|-PY z5u6(;@P3dAOoJ5vxXZmD72F9Xq2G&t&vp`)VL&@bg0%29kn}cJ?*gfS*Foy3<=R6a z72Xmq#BT*3fW61HpL6Zw;3LrA0Ure;#f5e5D8~6y!sQSsV7Keo3sU0eL0WhUYyrKI zf?f@7hP@i3LLUYx&nA#s^(;smnR5M7Nnyuf@FD1HK=MCRg7YWg1qjr$--5L8agciX zs>{#6V uZ~!atO+=U^;Sg72jDwPfxS1%gcnMWLcGHVqZg#zu+(w4OedCE=djAh|7L3CH diff --git a/sys/GENERIC/ufs_subr.o b/sys/GENERIC/ufs_subr.o index d818362350681d2f289895a972dcd2aa01b47ecb..85da8ae200cccb9bc0989c40ad9fc972d2674cbe 100644 GIT binary patch delta 88 zcmdm>yg_-xC0526lP|M2Du3o!`{mC4_u`BU48IxQ@A~=w{{f5WYioa8jP8HHz`!8K sY#1}SlFfYcI<`|xg4S#d3_!%{1SDJ;7+`t0KXg{pa1{> delta 90 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 A?*IS* literal 11877 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 OlbhyD>Fm6@*8c+jntDtC diff --git a/sys/GENERIC/uipc_mbuf.o b/sys/GENERIC/uipc_mbuf.o index 6f80401b91271e8e92948bc05ff0194c94319b03..4a3e93294e2011df537eff3c4ecbf97e2789c5cf 100644 GIT binary patch delta 455 zcmZqCZO~<9XJlZQF_ATlF>+#z3I7~U1_mLmYwxE3>HF_xC(f^_ce@zCD9mypDuAVe zD>~qKKLZN`LqPPE$m@}Ua#vQdTzLQB-~azv7oy(Z0MZA*(oxsmUk7qNMMvH{5dHoL zkSVwyqPc+qs5$a#r09B}*6)m~xVF9D50t+4em0Q28}*yJ{ih_Rv6{$lM*-XC1ro$+;nVCI@k+<~X z8jk(~pzWf}h8mM=IHVaTOrF8v!6ZCm@>7mQjB%4YIAz2gfx7QT1MS)XwChR$%Y|s5 z{{vVy@8RTNG?W2)K!JgQR|QHN0%=(w-v&xYL+L~)owfNZ*K;Pp6kv$60#PHB?%Mp8 pcR8~V6VNFPd<+cjKn4epDZsUPncy#Gc4Kn}A43zv$;(CW0sv3;p=HF^$C(f^_cfT0GD9mypDuAVe zD>~qKKLZN`LqPPENI``wt5`0)fAsJF|Evp9?{5L=17OLhYwvFYIoBdDMn+5CJ`nx> zFpwv>52Cw)0jN9jYNY5opziOCtGKqk-v?6seio3t8}*y z)o3B!`|oE@j%9UZOqe{MRg=+n@=4a8A|A|OMZrITiqs*B94235(_xg`%*>v{$Xju7 z4M%?g&~i~`L+!~m9MX(aCePsTU=?CEJj^ip5yv9aXrR^$0nu02aEP*BjTUA$jQ9^? zi-H|*2b8=U4Rpm?pewEfuv~}+hD`tq!{!~F9E^riK(8q}V#wfQ LXly=tvFKd@DXy-V diff --git a/sys/GENERIC/uipc_socket.o b/sys/GENERIC/uipc_socket.o index 174376a82d3b5902eeb26d4721d4e376316ddb34..1a11ec6fc628a888dfb2aa425a55480b1903a67e 100644 GIT binary patch delta 2090 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 diff --git a/sys/GENERIC/uipc_usrreq.o b/sys/GENERIC/uipc_usrreq.o index 5a3285454e794b11e33dd1bdd76c92eb5b5cadee..585337bf71947dd68b9a08cc05a5967928d6dc01 100644 GIT binary patch delta 2449 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 diff --git a/sys/GENERIC/up.o b/sys/GENERIC/up.o index 42ecab67d19d1d5b74e151e9e1cf547292bede46..6f1d379ebf8762d4ba3831ba3135d1ed145ae64d 100644 GIT binary patch delta 3531 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 diff --git a/sys/GENERIC/ut.o b/sys/GENERIC/ut.o index c3a78acb23df82cb5f62468b80be6b71af48203b..3ff6674cd9068c5995feb2dd48020f7613ee029e 100644 GIT binary patch delta 2561 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 InfZAP0Kw~ip}?&r<-``(*3vz_72@T+~J zyr7P=ipi6++ai^f)r_nrq>!$xnunHpOGGu{Zi($el9@Hb-ObJqD@xDv)KIIMV9BgB zWbx2YKe}PqteR8J<=Lrce0joI)W()J8hn{MqGpJr>V|p;oo^WY`VKFdoYz$~5~dxe z%?8+tEt#A~+s6=h(<}D3HcLa@8(6XXVKC*vXj7EgrpRd+1eubBGu*V>QuDB8h7!k6yl)U3c7`~*(?NINf%Uj7>1rCNu{2k>y>(3Z&Q7T=JL8- znVs5HpQA;7UG0GRwY;0J=W{b2j&G|qNF@WAm0Mg$^b;8VCB$aMzhh1g77+g5J2>!U z@aw4bvcG4Ju!NtoPP4E6s5LZZF(MqX-U&k|*$~B+P_GeZVl^RZ=5(tlGW&Hg$6H)I zfu8RDqCVk2q2!_e$ePGpffyY8oBGnx3S*!5e_E3U(P}Q9W99xB(Osh6bDBA@fHeoN zfj7Yt=z;gZZEy&bn){l+!4!1I{Oh08Jfk@ZF2TPFM*A&+7E#%Hjvy+0uM^rjVF2z4 z=oi5_a>u|$tjEDY@CKLw=d^!Y`)|N#zz>=qHPcZOJZMk2Sc=$3tDgP9VlRBwH=d2d W?%)`>8@k_56e5O1PgiI9vgRMs6ef`X delta 749 zcmYk2PiPZC6vk)&m93;HNgCbM1U$5$=)nl;p$dT>{B!9vf|+bi0il&5DhNi3iFy`1 ztTzv$ph1!aA*X`iCJpAAh1OmiV!=!5VML0QB(i=RR}gmjz4v|Zy_q+Ixxw7~zI^qz zn3ZZOjjn97Sc2CLUJr4`O@v?<?@{Bfj`awk@{6>}J-?HnW*x89V5r38^Hb zvbIVY$2^9`>JYm%>z=xl%pv@Lw!L5G_QAOIg4I*g(jhCN%}d{`^IB>_kqE&m9|xWn ziMCk5Wuk%DP#ne_HRl$X(QmR9>QeCndVH!UcJSV4d1^h=E*pyw?frkZK0D5E?NgS} zmKvFfj8us#gxn`&>SVx0FpvBicpY2?OWrXW4ttEvoC3M&WtRcgBG);)V5+w4vQ4A;4KWQ2X%>V!Z diff --git a/sys/GENERIC/vm_machdep.o b/sys/GENERIC/vm_machdep.o index ba57a9b36dbd3626b1faee0932061ed705a59e86..c4842c14862352c04a1a31699f8bb7a957d5b1e7 100644 GIT binary patch delta 389 zcmbO(FgO;rFa$F&@NNduaX|VM zl)eC@wq*H0|RR-kWK-rn+Bv) i85o#&S8wKJiDzM4GdY(-pOJ0yTn=%@xXoKRl9&N`_>trQ delta 373 zcmbO(Fbdrt9yfRiANGXmZl0EO?p*P8s1QCLe1$d10Z_D{ftg!f!v zaTXvMdcg{0(5&bHpjixHv))eDV-nN5_7|k}0+56%dC$NJH2&Kf4u|)vuPno=(DSWa3b4~qRMh1pp1_s`(KspXcpMlbs zfOI^N{|rihf{Oou^7)w{>eZmM4v+?^cY@NsQ1M_WzX3?IF)*;U1L+i?x*0$^m4ShY fckO0gmUtG%b(3>B^cguO&*czjOxV1YBZ(ORtM7?$ diff --git a/sys/GENERIC/vm_mem.o b/sys/GENERIC/vm_mem.o index b460804c09a10e01ed114de5b7679a770b17c549..6aeca2c08a229e9ebc2f33e37ea3a152cb48d827 100644 GIT binary patch delta 3243 zcmY+G4N%kP9mk)4Uf>S|G_XK;D{^j@)z%rLylg3z9<`P-_t32($trS`3doy7Tz2aj zHrv|0IA))#o7c|a?lu*Y&6~Q}d1WBg+GE#CcF^5)Sz+Ux;zMr zEhWJD6`ncGO#z>deH)C<=pH!yVUNil#@cs6;Vx9$4#C;!Ux@e@qEAAGe*w#SjQnSY z4YT$UJ^ek|6rarj>!gMP;{_Z+t0^eRWj<&_)FbgIi^wvr)n>)R#vJXkXf$q1?Oj43 zoz%19b>nL75fL&zY&F0b=FB#t2YePjDL)bqnDTSpy&a80Z@6%*mRs#1cgSbCZII)l z+2q``A3k+U9uoc6gZ}F-TxM<*f_w(HOf2I_a_nfHqDubj{`r7^o;!z4DzjS5neNlF zgvFefxeE6*!?Tc68PB;UD$OO@m}oISpkGUhmHD1HY_9eGCayemD;f>T3XH4l$XW*h z7jrM*uxb|!F6yqPV3V}LlA8j-0)dX^oALZlKfwXY2*xJrxe1NOnqorE!^Hhd0sj)8 zvk%jeKN-)Mf@8)fzMfS3mG3~@>M?D_$?v6b>KaPGHAS|*u@q^FHp6WFLO?c>+c|7# z^q3kEy*VDe{bh1yoKG@r$Fs!m20 zqtQ{*q?DkWUs}l{yiWcDO4w&%_EAfzPp1YAh=ydl_IuHpT)6HCylBbAyUn>kOLcCP zgK(&;7$DIdbjvPrHuw(c(meU8JO}vHj=f-E!}fNDB&y+LYq1^H8TW zJX61gFe!Z)<#8H*5z}8I@h2GgTPwNz5rnr4@&M^UIY_WuJeu4KN$$oF(A?HdlbSoW z`Ej|OA|h_Q2Hbcaxd^7L_ZE>Y=;k&*DrJ&F@1${=OyZdx)9#2|`ZyYWLf*vq(Gb%a zbN?Hm*P!x%oCO*p{1|R`hAd&0XBgH4@-h@TiNVBH;9j{*$>HvRbWqg*ZH>rlU`7kx_Q9G4i_R`cz-!_MYEbHm8 zmW>p=e7E7r{cz#`3R%-bnkU7*51wi9<+Nh0RP?5;)sn=kX|=^Qh+SUQLAq-$djxa4 zFn96GmcME3B4jDDb}*J+hu5$ZYydk&dU}PItkcl&=$Nm9?a;IE3N_=q4lIOT4d#K* zgX_VAU@v$Dq_~Lkn+@@}Y>;Nj2RDHwUh8f2)CcV-r6O15Mnk94~=1;VX(q zm3>6%XBFQBY2i~K<^L6=1;SKw8j2qc?6i3 zkap0e?ET7qPU(MC`bChA_#MR=kdF2mNcmxqPGAwF`caVTo1u{34${KC_d%cl2L=lG zwsO3v_%p>{DxOh%Tk$=R7GlPK13Hm(kP7E1{eI8`y&6QQ`B9MOX^q>x>CZu+!~-BD z{urdAJge-Nl|88JX*#OlYXhlZ0Z0YQL8?;&Qk^XzO?*)4he4`)8Kk(YF}s(g&nrh- zO5BkRQh_3n5^6v?vO18Clq>xyrMo~nfgK>_wSkn^0~Ub;%Kx0wUsU`7+0lRLM*;Nu+-<{{7y z7eFeMf!~P~Py+4;>p&{7SMfYZ@lznhUj;i(zhIp-c{PS#p!jRW1B6?OeYzmy0Yuv~ zwi`0V(8se(9$Y3LfK0hgBn>I~9P}fQsm|aE#*QlcYY03JS=IEiQ_3+9%j+tEWiUp+ zFJp^9^5p*#*p!MdK^Od4#f&57FUo!sJ@$8Hrw#lQa$*DjQZXE@xe$xNbyCnLi3AkA zqk?_~ISEG-TLc!A2AOtQj@$iA!j9ZrWv|9%6esLh5WRvD6Muf0>`?Jv#3g*ml1MY%vzM_6;<*xAZr+_ICHR>}l@qeWr~y@9l2uZt3b`^^WpVQIvnbRwe55i;}8X zeW{~N?9R_hFK5l&NNb0svRoX>w>@6Q>Nl*fg1K+t8#~*eI4YpDb$9f1?18r7L6q(9 c>TTTxr3|hC*4)>!v#q0t>;pZ@Q~n_PFNoXr#{d8T delta 3187 zcmY+Ge^6A{702&=`;f=72nzzc5L9Bv+Mt0|gTyYDBxr-B_K{eH-6WVq0u;fBN@?n3 zwaGM7%?vR&8J%R3S#AGN*v%w^Q<^k3{OI7c(R8;Z=_E?fhIU9ydI`lW#!a{1vwPQ} z40Au{d+s^s{(Kjnt&r>Nshlyx#+aWae%wdx%lQ{aD_ZzlM^D^;OJzD^H@Ga0#bRT@ z=vZ*hHN<3rcG@s=c8DyVUz2Td9b@BsJQy9XzhRM2>x?1L^%RpVx6MTF;e<6T-~Dea zW{zs+2WGc!nnUvUq#Fjc;N0ch)5dYp&Wri8qKD^Z?x&t7QEe9tSF`Bn%Xp3WJ74zT zSqo#K;GC(mg`t4%b+>ukeOg1e-e3+&3uQ$-JGylb)U|I&HTbn@=HPusSWdzrC(t-@ zhI*>7YWY`)C$YFcgTtB}5%t>Qg5k9If?t8}Vz&8FUUtX~UJeHgc|<&?Ia)j64^DUM z!D+0Z3BvRs^#K^}p9E(k!P%Gz8~wAG!$#^q49;nj<@Oq(fXy6{ z)1pK#%pbcEi$T{7pQtwNj&bjJz;;8Ee-IDq?oEf#rw*Wt%-~cwIOV}PIb$&7Bk*No z8ZW2Dx8Z)O6r2i9hJur(+pnukx0ujx<91<9DagJRNAkXzgPiq=oPUb)lokAK(U`Kz z_;f+M%roMJlxp7_3Gv;pW3jNj1MO0$#Z}BF9Bu_%c0R0m=HB|!%v%Dm&h2s9ur#^e81@c0=9MQ z+pzO{D3)#rMdOqr+s;NK4KWYg_R^5NkGkD{ZF{%A9ntqBqIaA*8?PSOjy!q${1VgL z!TrXdCLPbG=9Sy%eoB@euz6nJEdMhXi}mRv@+#;xN3+a`xmkV;F&(fmN1ttVz@VFW zUi>iCQQJ>`kHhG*>C854dx)wS!RYFMPBAZ{7k6^*=IxxN`May+0d%PI*+Zr`?3FFz zjnr=y-2-V~7xH@Cy~z_SOGbQK%%pDSmqexEbPh*uRu~}DtA^|qyNwOjwzvyL9}xqF ztEddpUP49tl0}P>5sO4h+Vb2lzPefNA7s*mJ``1H#l8W^cR4<)*IRNA|hVA173WiwWK`M z8!>w|I-_1gTuv+U6;emoYvu+~d?5*Xmhg;_d1l9$HzMb*#bQ5@GiYaen8BF$bA)~Z zX@=w_pe|ybz%2-qXPOmgej_CR2qE7=qq9t00aK>so8FLIMO8y)-O!19{na$AIAG1@ zR?%a;W zSmz_}7!ow+!58Ma`4ZKHn90qB?V~T#|4=6pLI119lFMyPP5u^!!0xkxxs{R?( zzZlOKEub8v3H4Zf3CD3bXhm;>OTj4E3F4!SC#(QTZ&3U>NO8XeX`(NIh2Tk$CUhF4 z2@R_Lt6&av6!b7=TR_`}-z*Nui!Qn6R@O~v;VCqbG>T54iP>>w3h ztaKUpQ|P-vgr?Mh&CtyWzc1q;4BE;gASJ#4(pJ8y{O6VbedW(IPzAqEkP0pZn-RYr zq&gcxs&gMm10PlTC6MZ#2PtkM?)R~bDbZczFm zkal1vNO`Rw<#mEfz@Mr9gGwJ(>>)qyU&cuol=!;h73zTgx8il>*R6?yR*)v@1SxJQ zNckm-70O=;R>J=y@DSLkcm`~Rz5v#=z?gzTE1UzVP&WP#q=1#+FTgDz6?j7N9gyPx z0#f`0*wTNBj&%o&{R{-8cYx za^gFO3E5#M2VOMKzD31vz{W36#-mP2|AqW57F$<)Q~SfacClJlxl6bUSMmzcTDYXO zg4M2etznIi?`zt(yNflpKi1l@6Tb30V7ENHw*__u?B=F@kL~S-Z-0mK-noX=t|_a4 q>+$`a%}o%la)_q(){fSFP;1t*#;(1)c0bw%v9?@%S?JW(vi|}9P~GzY diff --git a/sys/GENERIC/vm_page.o b/sys/GENERIC/vm_page.o index 2dcd2c330a0b1a9b22b35fa7962236572a7dffb3..f3f00a7d4be607d5ed35f0957a3f51d5cfbf6530 100644 GIT binary patch delta 5612 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 delta 5653 zcmaKw4OEm>8pq#v7+^*jnHd;9EuaK76$C^(S&8B?KPq3WWB?OCD85uMrC3u&+wEva z&FrpaTCSVLs>9oET2?1(`7p4K){HS|$}H%@@gwA-VN!m~{-2pkPP^wUNAK@>{`a|G z&%N(`-!mH*>?()}mL+Lev?Lvte1E+`K3>pojae%n_;BZNjl7jLYNpE>EF|E4`2af* zutuKD#%dGg6gF48Uw-qT95`B*>sfM8hCGE822F-k6J(HMQ=Jl*ETu{VFX;DplqQYR zs#IwerJm1bj^L3G%rHrkImV?PFojVMGgs|22fAu?<|K#O zp`4A_tqXH2H)P(;(shZp9-}0MMRY`~y`~0@U2#ipjXMv`Ke+Dkz|8eJe}z-0$*t4n zwOXB4^+HrYYLcfb*gjf1YqXCpck;Ce;4h+xTI5vwHRgGZ_Ni(oO}3dALRQqeDw*fO zs&3>@0BW6bgwMS0$?z!kic;;)$B;=#8lo~Ns-7ngL?yzw6NF4lS{9;TU^?*g@6+)v zTce*8xeTf~JoSjwD@Vw7om)oN8vZEzUO!U4huzZ0*oNyR$)Tuy?c9Z)+j$B~x7z2f z)!xwZOV>OeRQ6KJtJC-yxYcP}r1)yLR5eKLuddRoeMoRGMeF!sRGShyqU}1JqgJal zXm;O8;BM5_X}FB}U>k1MX=-&&^=55|4auvyt(7DfuSSSD1Kn%+3Yd+2DN0_9LTS<} zPClP3OL!xHigbm%X05^>f#KqlQBvdAWIi5dBOi;Bk3yj|>CiZVENUD@dKh`lI)x9i z!E$jeN^|0lEo=F&eI8GEE;$>={w154pjK-FkF07pAC(v|36Y~wO6b{iT>kxxz{Zr_aUUk z$mhc}g**9NkY}T?BsOXIbQtJiGEnX24*=NW;W!yiWebjn9QCc64}inTm&d=dfE;RmQEUW=0N@kS+5RJ<=Ln&9AOAe&_wMh10WMP)mC&X8o= z6d*}w%*ttt*~M!io4ed{{gzB*jK2f78mZj|Qix=3$#3E7;W_y_lzcUcs0JrrNlrOA zALD_`MU$ymt4j&fwB+Lwu|i1yO=#usBeIoGLU}cBj8)TOZOwJ&=0)3Ea$EVUP@VZ2 zOF(L=r#0X7rWD!`GQUcTr>mY1xyq&tNtb_M&ksqK_p|qhJZs6if+abX>@Y(+KR!s3 zaIcNM!s0`x$lYvlXoCC=dpUH>6L0ro{Z77(5Z>L&H^DF&d`r3^@oX%1AO*`&W$tqE zN@CKvAie+wE=7@&Iq)bYGg+W9A!!7>4$D5>rC!-0@6)yONC@rRgwlJX>0tCqY*J{{ z(6B@M=eVtIwcmT8wsA}#;E+8N_bva9tu-d3JdSG#v#&u-JFmjB+W86U2QBh(F}(^M z7t>8#OvSjEY|LT2OJ2x&jQ6FDM-^_Goz&+ssV=m^I6rl`#$gZPL#dJ4r<_*I4tu=9 z^^ppWK@ev%O=IMftjd&j?|VJCjQjmxE3ZRQtY;(k>O!$|GJlC3H$4{98SI_j7*syE zH%K|M(zRs*Dzh|q>t8~`O-uZmNZkz9(#_=jdC!?UXlsR|`Xb*AZ z^CTE&gLoKV=?db5L8+Z<0Yu;G_8mBjnJ#JvzsweeC7PR|nu1#SKS76F>f(pkTVZ45 z4XiorP_*+$-^P3mx)ig~U2F6n#8mc1cx7~!sGayk;Fh!xzZ6noRT(+Dk7X zdIT1+%a(fz!U9s?k?>xv)w%73cS z0*}?I4y9L#)s~2XuUzyWxQ?G?Wf95vzSt2FYi?EBoN8Ms-ZwqB9qK7XE3qRH@utGx zHL2%MvTG6JLgJu0_rx+JGTW93p*iQ-hO=9y0Qf^2@s zZB45Urzc_41@A=D+j$;l*v>yfM+1kp0(Ep~-AWoSgiZ1Dz}6gRjxqYpMmb0AcGQOC zIu1u!DaHM!LcA;c@d=^YdSm9-`9`n%Kck2KHo6<*w(|*oqyKdN&gkc1)9CG>7~Pp8 zV;`GtV*+_qvf8awX%wYF@!1XR)hKiHdx*v)>0rD?ozWCq)Xvlzb~q{~b2%j67EQzj zf-PDAfwri_yG5n+4WYL6$}w_jBcF;owe8LsspDxZB070g0CbbK4xe5;QeTROk^22w zd}vV~TGdXc+L?n5%=V<7xWy`>kB%&oB*Q8^dU&h?*MY_G_ka(B2f>NpS6~TS7!#>4 zf%iBjSIXAK#6_3E+Xn9uunk-So&$^6XEAXzO5tT`;DIv)p9Gh}e-;b_R}1|m!Of!n zU65w94=iR0v5_Nba&Rk1QQJY9_kOU9EsTvbk(YsQBC355EM{9{Q{*C6 z9~(KN0(GB5n+3Ll%fSv2d!Az9)Atl*z!>Puz{4P|ZaPTqW`iXxVQ8eDdOHR0IW~D{ zoM|PzEDTEH&O}knmJc0nqYUhXN2~!U182bJ!7icy2vQ!e3qBU?8?g|iHNOMWj8u^J z0~l=yf30 z71%85zZLZ-MSYj3pNaPjO)L+jiR}Q#gZ}_az|(r0Z-8qMs6!7}go;4CUWsOqGLit& znaBhwGxI=N!D8?cuo|R^zaqE=q=EkoP6Brc{cl3A75c|EQSmuA7lBQJ$3W`92~r1V zgx)Fii$cFD^nUOu#Aycms0XP(qwr&dA1C}oa1QEi$-)>1=0bQ_a4JX>m;urRo)G#x zp)VAAsn9DxE8_kj{A%I<35ydE&@Ih{^x=XLjM}1EjlIie+j)y z=-uFp==dsl4|q#3AjIeEKpNO6Xz}Vc$q)-;H7Z63rg$qP!vn&fD*VTUZw2XW%m-<} zm4d5|uq>k)@pMZ4QzW}M- z3E}sE^myGnM3U|Y=YTZeXCO`dD=-NC90QBt8$*5fM_MSJ{~QPlAkb+n0%>Lyf;NyQ zuo0w{FmOEhw%~q{208%J%31`w!1eHd1UGx@5kOuAmDTRS%U&E0g1-=K;Kz5J@`Ua$SPLSID08(bo30@SuBG@nJ0ja-Gtb!(L z%Yd;7#zWv{a2mJ~TnW-y7!~eYaXMHIKMSOceJ1pJp*w}1Zt?Z^u;4V1`pp)s1Su0Q zgUE!GVl#JQ3vA}7)uVO4zp`*n5g&1wORODAbSLUXv=|(jC=nIVB@nx zl5n64Vaq;QD)O_J`Pr3zcD0|q-p_vRjy*(r_2njUreST2NC%inQQGMAVD*BBk4HyQZeuX3ZvP#Xk#$ zf>ICFMK6kodJ=okcu+(L>Om-iUK9}zB7%nsJ$TSV!S8Ke=nPAK-}mO5d9$HiMv9;YtD4S_d61AHWW0b={6DmaY# zC(s0cfV^%A90C7`UlG3+=i>R8aEovrv`~Kx#=&){8_4@7gnJtg)(R)3Z~^2SxGDaw@TqVa?8kgZi0G`} z7tuWv?hsrKJPO+20LX2!;3VjXFN1mbi=YF}fV^%FJO^F}dEG6Lb9aOfzykbBnXgKH zF+|xQ_z?x(@Uu*Oli*L`64-?2pUkg;;RbP#8*UfBTYR_pr0@vn`h8J-E2rN`su`b% zkKYBBeLJdaQL;cX)Affpu*2g{m()GOtp@SYR_+Kma2}Kv7dHGJf(4~4FXPQwm zbBgvAeOu8FYZ~{5v7k&mQ}ioEzlG+;^Y~eW=7Uyo&<{%Hi=w|*wzYh1NRK)tW88F& z(Y)=LMZ?aIS!9$mR delta 1150 zcmYk3QAkr^6vxkWZcYl>lBO0jlB9uwZsv?q=%pm=DHDS9y7Drao8C5eRTM7-ic*ku zOL~ZcdZ{R)2BG*e(ubgW@FgFjCkccMf_jk%{GaO)zmISG{r~5j@0@$TJ6pGL%_fX!8rI={D1NL@LZe^2rGqiU?1YIz-sWLi!4Xf7ZK?QoC5jaWsnD71$po_i6@0q z!l%O5!Uf?6;TNH=m?(ih6(IKy2^)$}?*uMMU>xKdcp(0<@SX5C*oORJH&MUcS{k%^ z;m*PhfEU0N*a`BOB$x&b@g_J3KLHMbH$gsk3pBvHAfKBDx$cqh8F&MJN%94We{xgO zDO^Q>8?H&>yA=KqZh|G)Taqt>;Q`ek53CV?T>J^~QDHlnv0Ht?Dz09ZDla|}KYl%! zv(vty%gj&t4!JGlowbhZ$9C2R1U|d7enN9i1pFg91OE>io2V2&-1Kg}SJ8e&S1P(@ zPg@j*;Q=9Zh(J3{%ZXxpMbxI~^GZ#J67N#92F*Q>;tu+zszrN(r$g(|E`B{8k& zJBog&=qHMPuIM+=Ja`U&@1gl+3V4|%rDjFZpY!4JZ$-6cLLWBM)X^A?k(MJ(A2s5G zeWaNgJ>|rkn(Q-y=7TMyjb?Nsg^Ur;W{qJSX+CMs1dh03_KU#90};}$4;f=wJwe(? Jd_d0`v<-5|hEM8| zsSy4kWXvlVB7f8fF|jStOhZCU>_+0;h~Z&|EYn9fF)A@|=c2ONj_3EjUXtZ~&iS4n zJLlfpPn$kz(!2^GCkM0!ZQHJFut+n{ zu})?AsucW78I^}@+t#Z@1-X;#=I@E*GU5LcN`;9^20z09>a72{D{RcQrt#GU+m4#P zEtAnL7sQxe{-UFl3B}}F9mijCHnS#oT$G+=N8SAu?xJm5eyhWZ7u@_`)~K#jeqa%` zPC3hVs%w1pDj@}h?`0WvV?#^9wviPEAQLO&vodPI#XrP&7Pa^i5qI$btI_ULer4;l zx^1KX+4gwcaK&jZy_lL^PiH4){c(ON!JCk*dw$aCWVLSj^VtbheuQi_w`e%jiCq)t z`S0+t&kC~jyjY9yF$nZqm5%iH!KK-v$w%1NTBz=p%bBws@u5U^rq|+aFwt@~yQ$q3 zI|0W^3}yeOG{2sgi;&7y;4;;pw6b%uW_I3L@K3Raev~i_)KatNBI5 z^86i~D2`>Ab$iwZ4?v0=-Wa{Qo*OLf+2lJ6g%0sPR`9G)wz0dt?N#d_MNIl}kI5er zQ8U%U3(W8?YdtcTwE5JW_?MIT^2?5S5#Olk+*vNcM;+}NzBH9cZ7}%+yWm}>oMYF$ z_a>J@#mpud>-5f zz69rF z(f~!n10V(qeh-TJamgDcJ@Ak8E4-xzS_PBXWGxI)ut_o^`I<<8zDN4|C6kf|C7I+2 z$y1WUl7E0=K@N%qi&A&{2wD9BgheoRg4N(La5*Rj3WLYN4WQWY8OhGUFUngywQu1` zJcirDi@_FzY=n)2Az!kE%9YCJtX{9F{Sn&kJ2{B$l{p?3(QB0LY={1+(mZ%tcWM6v D?b{^1 delta 1578 zcmXw&e@t6d6vyu?ukE9@49f4txtRso5*P~6L1YPT(=8*K+YDCd8;Xe&VwNcAvWiK& zOqVU&ABfkP7)@5P_#-Rt4+HTJU1Cek82-o}%E*Fy{FpI|(Rix^$5!C^z3sJW@8^8a zJ?Ff0?tQ&j_gS6Otq>9$a&A)whjvW%oFNO2ICU;K<8-GvNC*iVtBde>(@Ldctfol? z*6EI-4RgjSH9G?dwbSf=ai(LcBi>y3$0E}9iSUh9yxCH$_+CpfM^tLXdNWQwxo+D< z+bmMgzhPa<=GqI;QzI%bw{6>BDl*9b!Fl|o2+kM!Rz<9asH2zAfO{r574%e2vk6CI z?JH}x-EL}av+Zr)i%#AAaMqJAJSIPw6`q_pz-sbBGJA}j%^NIO%h4U?!IkD>IaDy z!B~T&1hC?VEj^?06t<>AVMmB2;)T@gK49GV#}ndHI^T{8e%CL4I$P$qJoCm4lsk`T zHL+p5;(3g$r}!c?hT1|7rNnH6e+vh_qSA@M6OhzcHF@%W)V7WEb-mO#;m~P<(iGKc zv2UI)JF?wBg`A{rq$3u80wx|)2bk1YDc+l_b10Y!8fjw*ZF7b_OHUe0l+L$sr$|uw z`aRpePW{hV#)_=;Cp5AP0y z-GRWkClGc70!eou)=N!3#(s5I^%NiobGiZ58u3~qn#BilzB_lbhvK(N=J{>dIM@Z? zv5(hG9u&2&YOxw|4&T9x7pY)e#kG2M@iwF9F?d7fh$igM*{fPByR7v-+<^aKm=NDC zuo&zD-vp0<1KHz+>QT>E}6r)b}rpK5RUMXi=~U6a^20qOl$jZ>aCM)Ng~Y6XHE1 z^+%FpplIN0P&9A_tO0)nMg8AFQSUC;53Ymnk|^;NB1;68gQCMtpa^ULhrlMOTfq0A zJ3!<*`y?ZvD0mh`W4@n3kv}VWC+GKOq%Lvi251(HVv;>DM8b2DLCIqx0R91~Pe`7U zJSX{~yyKpcv4h<(`)hKK?!&r7(_y4}#~xDj84@egM566ce^dzBFn) z(BM)|vc;lur#}gN`uZ>mQ`cW89<9^HJNs!2Bbx3&Ma)FF64A}q>+jc zX1imwkHfSUGX^>x_jf`r%WyH|NP!elu*BbsM+VR7YxlPe8gvxqe*=$ebO71NQVp~Rx>xC^Pe6b6u)a4T zXZ1R0UMPNchKAEzDoK24%o* zV$v{Xh*1cYlI=Jf*B*KU#*=AeYj}%p*zigjqe$`aHJF#Ha{QtVlg>0*`@mE1V@&T|2yaN`4njL<3e$lgM2-P!ULZKd7vh~2IL8X z;#Ue^1i9bK;$H{3-)8Y!LB8>AAV26wAU>?_2KFHY`yj?62us5e5SP1E_&rz)e*)xz zr^TD#EclDUesCuI6_9uE2FN>gM|dCP8?a*%W(pW$;gMjhus}E+-IoQ~(gHSn*1B_RJrVZJ4NPq+gtMBX6&KqB^^JDx?rH_|N)mxZ^%$!NbP-V!>{ zna8CF(}fwrT;T*^p>P`b5XM!DU&i~-6YY}VbK%z@F2^_GPm2Fpe3$rZ;%^Cug%13! z=6TbEUSXCnPgtOdC=^Z;mI%v0etF8pSAt96`9B2S`c)v-bgTujIgX9Z?zDWH|1j)U zd{)tr0=&!GLH_v>@h2i0Tx9M8I}O;{`+-w`w^N}8e+K;z+*TD{$qp&I%H S&ouXs7#ozly4mO5Z2uQ>BP;p< delta 2399 zcmYM04Qvx-9LDe3b=}4av}NnY*Z3F$hJj^cY`|awhG{0b2@P8-2mt~jA%cg&=5a&Em);2(x2@shD}it1Pe&BM=0|zaYkqZJy72`x}$y|9hV2{kVJI z_j+w*&XF9OU6!QEYFp9Lx+F=;EYawyVHiG*t^i6*@nu*wA4sdvoH4V7t|6z6;YP|w zIMxxPIuYhnAIzWl&@M^JZka4-DQhcJ+-dC=>gMo%b>~L+9+*s9Jgm4D)rQB4sn@70 z<$dyX^@^M;pHmHa^V;2sl9ZBW*HUN)RE)Nw${BV|rgczyq)Vp{hYUlbD%61Yfpn#+ z;GtoJXJIZQY=*E1wZBeCDp zaB=0bMQJ0eQ0*4Q*PcRK&_zsR9-^k;SbZ;W^xw?S!0)!uVi8AazCgQ8q1h0ZCeZZZ zc#;`URLBF-Lr&B{52XP99Gw9qv3hRtjMTa%DbC2VDA3i}!y_m30j|}Q`3Rb6+W<6ondQ^>eqWYa1 z;-TekUo^Cc4#3Y1l_*h#_KFUn;y^s$UQiqMDBmlxswZZb7ysX-2r^o=T9PDx%ujZ> ztYbQj0Ch?>tH^Y+p`M{TeWKnpYp+>vnDrW}M&GE4Jv+GpIvQ4}LEUf9E!qy}TyQr$ zYie~kEptp#6P1f(27hg0xNyd}CR!mvH;3m%nAk*l>V5mT4WmU9oM211G;FSH1dO=W{)DMcG~p=i`B2ttT~ zZ!?dAVuI7mFPP0>KJrW8Jg|d(9Gnl|#rbXazk*)m55c)$KbQ+n!_|?e&IZe*pyVht zh2&TUiqEqsV&FJJrwp2NXA8$0UNI zz@QN6986-)U>1Vn0?R>hgQcLjkyYR-@I?@F+BSk);CF&~p!mTNJit82JPgi6ew_VB ziP(S9@hSpwBVF8Zhxr%yB-)4AThU4MPiBr{rZLAcCo`urbC|i{G>k82zh3OWn6QR} zQ_MyXAKRDgzhi(tFh4@ z-@C{kb6yE;8Gb`ZA3&$Fu7OTtT?;*t^%3altm~n@tWT;%&H*{97P?-^d;?#^EW9<) jgkM`p%7(^Lq^;@&mq*ssxNDB%JB$r*Uf$?*@3Q_2!9YW0 diff --git a/sys/GENERIC/vm_swap.o b/sys/GENERIC/vm_swap.o index 1c787949b169eb9bb1b29f8c5c4c219bf5475b25..09e6864a6c2c3197866f950341aa94a096eced02 100644 GIT binary patch delta 1655 zcmYk4ZA@Eb6vv<2dwDZ-TU#P?k!2CGC0i8%=g>GajYbzr(oLf)5D0GL#SN%3L8sDb zRN@CS@G||N8AcPcSeme4bRW!^QzLXyfe6#ZQjLDlPY;>XOkvdDX|LJ6N$>Cfob!L4 zo^$RqS@BbaufR~MDNm`O%02fC`$moK;nQ2H-m{ciHuTO+CUg0Q$aiU7gGx0nd-PVs zd_%y`!q8>r7*U(j>d z7W6I>Ge+1_Yt9!o&x~1(Ge+Vnzm-LO8biaP{s=_o5-Z^gVSN%E4pjbZ=n>SG8ISm0 z&-q>!pD!@AGqIxk(J4hu9(@?;>~2Md{pl$TkBK3YYM_2o@6IixuY2uZjoro-`&Q59 z*f-ZQna_{^z;q%5sj*_tGruT|uNz=bz8)tz9}fq-X=HYm$=`WgX)PE6>eQ5^6(Arog85d?lM`U5egG{LIq7JcI&}Vs{(7SjC0wcN> zrgb%M?At(+cFLjC%Gc`@y{J1*gaowqto!u{Nc=wQOpK_rVTW4?E!_@JSeP@=w4+tb5>L zD8+TbK`8zq$eqm_g|hDq%x66b+2fst;+um}m{uyLoH&((R5GTenO1x%7Zb54!ZwbsbZ0Utg$E zmp+A-f;@2C75~(w&$;y1F8!@b&!Xj=TDrJ|&NjA2sdUz3w|V`sKV9}!mo8#3(z`tC zT>2)LzQv`txpa+7-|f=(qoss%%=RHPrEOGx-t|sG{%o&n!@h}Y-b!=R{^&C;9j(1B z`+K^gtw&nAdJY^^ExrA%(avras@lH8-r;-0xXb>^*B-b-644_nR9#b>^Qiv-FDlG? delta 1603 zcmYk4ZD?C%6vv;N-1J3FM{?`h&Z!?3Ekfqj)@?;PL`1AQ@ov7bB#$;OK&{Wzg(=@tIiXWbcWr&T&-$^d+Uda9Z&w2jO zlXK2$F3;J7Z3zh$La)wO>4QJ{e$xWN7oRRs9UujWiup}4t`ylaM zreuF@>q)e2t^3)~2T`rLfcRdi`o_c;v1T$QJ&epNDh=p9q__EDq#Z4YVVf8d`6OKh z!}|7WB<)-2cf(3n&_uIOQw`EP}n_xlT$eXRLAWN0kLa+8l zq-{kcTaU~qO?=923EpiScXtNY)W1_Imm@U``b~E{_>vKIEwj(~$lY<RLgP=Q71e zyZf0LyXpiHTichZAyb^q6tl%(%NMfV=9bJgu@|fBOMm~rz7%ZvlKYvTZfrEnylU4! zxVMBhgbw2{-O*5+vs0;XC)=KYx58cU9@q!(gZ(h!t@pwwiTA*#;C?s&Uxng72>D1u zQ&9GO3~Pu_!QI5?p!nt?XM`^(<)}f#?mSBXI_f!YlX;=q}s=Ux2p96qJs7 zp>(tdO2_*kR~3E(O5rXP-y{^@5hxQo4yBQkP#QVyATWk!JbvSG9#UI452eyyp>*)4 z$C9_+%~$;p`2ml6Jzn&$)0)Ez#(&C_B__;im?_xtpaPmlWaflJy^uU`t3i z^oKtEiBErumUFu3;w-w-Sc6hopJ%S3Yo!;Z7TvAkCTGdFyzJ8^gOGX16ZYwqK7EZ( zU+2?n(en4FnQJ>*%4+7->E-3j%~d})#dF)SP{X?5<-;RAgZ;bJmbMKW-TNbN8J+Hh X$S$ix?HC>z+^e>8|K z6MYd9wy{m5QdD3N4Q`4eBZ3ySs#PD$Hlh8F?>=}BeZT+t-*eA7_xhZwTBs^5v?=9w zDAlZtr(&*j%(3shQZ6S(2yTD};Wi!b(%dV|zH(G%;;fRXdf^4w2k*chI1LMxvM)f% zd#;&-{lp(3?d@M+g7_Dd{j1Q(-UsD|((n@TFqC~`a0t$15Yk{C%EXJBOHc~Fh0=HhUWP^a zM!^y&g*HRZ;Hua0Va*mO`#a$<>ptyg;0Wh~k9l|lu0W|_=apEP zbABtx3@`?N6Gb&OWYMD*eGScLy7sSdSNpq(XV6q!dmf^>LZyn7dZhgh!Y3C01zLK^ zvuJ3pmM3RfcxTa{(9)op*H^78nDmF%Is8AC{J+|tr^_mOZJ-hk#~!J(jJICv`xu)F z=xE(<=1R5q5Yq5%HqpcBKZe+OYKi zyggH=+G^_EET*F2SfE!T53dID2NH=ve_Z*Dce*>6^anz$H8x0kB$kRMi9Gd0{lPGm mYrIm;>y@oWGhdIfQtKA8C)$&Yv!}M&*b@&cds}Tyqxugdc>UZUl#r?P&Z_guJ_nfv>H|NAZHoO^S%cWTQD9ZJ=? zlxk7tRWVmK=Gxh-l*f&62Cj#D;bt9IYwi#lFI_d+1W%(xXW<2ygi{dDGYt!sa^|4q zEod&me&SD%@y=zKBK`rT{vUMmbFw~JjYqRwvl7bcsvIgS3B~movVdkNgIjfc7|P%d zC=E|SDU4{wG}BP>Mxf+fhth9C`;*$AhC}$X+Fx>H&BXUQ;U|$@II6o^U#2+PqR6NB+IQ7Ax^ip1#bYm{z{At^P7h5O7W{yH)H;(h5PHGZ#I NlZ+{6o8MQj{sY$4u4VuL diff --git a/sys/GENERIC/vmunix b/sys/GENERIC/vmunix index b0fd5996ab7d25eaa62eecc6337f7bf80887533e..c7b7b3680519d138bee6b1f6c6ffdb427869d885 100755 GIT binary patch delta 192479 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%0D*6}JCB?bPE# zHL{=t>?2BE=Ul!QQL2615&tr3Z6Ww3Ahdcmzt|-U@0# zUt*M9r(cIdY7c0$~vH018aYt~Q+?+sNY7Md@6iY9_TUbBO4{pMEaqU(vwy+PpDSRU2ChT>*MIr0JH~hfj{bYjG zD-Syq3~eL7`UCK}RG#u9OsmcSEkL&t8hBUn{0180XN%WI(LAL|fcgfv6`CW7+nqJQ z14L7E)Fz?I&kn_dz-^cf&hMi4xM{=VUodWb+m;A2)OuA}ewg7ukBh`( zwzA0mhj*wH)ex4Z8Iest~PGQvWC)B z%2b@H^fcDjUia)i?Xw@6`c6W3QN%xmY*@Qg*v#3BYJl(;QM+Nd!vE2Wlq7Ykby#Bx ze2lyJoUN>%Z{Sd(i{QbH0=#=;T)~UCf^}yIEjyg*rVrX{zkj#@vY5=aa8%JK(|(xJ zK+aZNw~eiifu%r?!ofT7T;a{bCigV(rSQ?~qzOSK!u_WGcG?|YwvD|K_@Jc(OuL5`Q3R@x#36cCXqBno$CvdS6 zx4r!nQ#1bF&+I?ynHPA-FRVUreWa{o9Ih@^;wSRJhSyiT;|?|>U=n%N;!j+ZU_U^K z`<3VKV1Fg&L?FstT*e);O8iJ3CXV73>N-#$4NZDmYH_`v94dbtJP4{1YbdFk*v$9r zWaHHn&+?YPvVq2FN~(5^OAkqvZS_hxl5513HB^n0JWM!12;<4W;-Wu~@A;J-_i0cU zXN>{YkY+O8=U@NE<_DZjR;gS&nveZkj4+p`?QVA!wQ%HVmB>$_3ebAIccI>EiB6drA?P4l3Sc^@G9^iX=+wx+j zff?`m;`}kN^rKE804Sfh@(@-OZNhhP`N4wSvWsqTc@IO+C;h~NeTqSjgYo&>7+C|??`6HzEh6~Hy{wgS3p$5oOa!kOWimj7 z!s;Rn;g{yJhKg*e;Rt!49?ier%N8~92n9Xx9Hbmtgz^si*qC7|igv?W?3C6+Nn3)h z%0~uhf7dFdg9reMCgLIe4b=n`4f+}_I1uG-1|p*ZJ=Ufa&`}GrYz_ zc)tsY@ADo)jV}aH9=;>5DK~k?gDkqqYX~%xY(cko`S^pZUC69t(j7Ns5f}{u4!Z3$_a)=#@ZqY^q zd3Bgy*2@ek%pN$j&E@e6niuB#hKavEENsEJ zRX!s5;>n^ah`N|{UL{r^v)*S{BAK1&Kg@GU$aQk?qes~6q^TJsEs=4d0 zC!4(sM+vaUOoWhn8jusDL`OIK%7)$GuO0=-;mz6n+oLe(^~`i$ag>c!&rauE{$M|= z6BhB>KOp#bmHRrd9;|;!4PvUvJ5P!McvQtP3IbN~qBopI?*^EmA&eAe z-5?>JriU?fJWgb``EgSjI|9=#5#^AzUyCP^9VTlG;V?TCwc``_095MqPT3->If-cg z>B%RRL$=~0zPOwP`h4$+eGk{DO0mUrTV6RE%An(U^#lYmFYrDm+2DY+cPRhPx*oY= zbO3}OYqQ1B0RH7k=)QO3$4|2PnGx>T{0iuWmxFK7QJB zJ*I>LKk<0}Waf*!?Hp~EdIM2Hwq8}V2CR5`MD|2!=&iNCjiQzj_C}I#PRYW(7 za5!yU4BZxF)tg~$OHbZzhPIW$$G|V0VhQm_^(b+f3Ks3h2Scpj9h3D;D?K0b7ZiIIBA33&2DPvUDeZtsx9JEY+!_DCsaleT%>@=N@?aPN#;(+O zBhZlsB33>)L}|Azw?IQSUKu0BIPXQsNdOPAScYN`rY-WX9tYFu(Hk_uNo{>u+TWb>Jj^twCkNfv?^Z zhr)yw^nSZlyVdGliWOsx!Wun~9auq3d;l!d@UZkDyfV1g76ej5g>Av(sGCm{;2=#O zq*-8_h<&5N7XLWDJ%aZT)?Z}jKUJ_m-5m(^I!q}w>KQTe0h@Nbx&ow$dEBp(1qPl0 z|Edr)5sy-9l=0mL2@4^w@}x=@t{!FKmP!_;?qlb#SF#pf$w0u+)RIg-(M#>GetA6q zsgk87TJeZ4uBcEVrUP8wPlvvSARF~7G@Z!zQ9oo20KH6kV139gvXI?>7avl^!u##E zIGsP*pbOg{&#FqZ7`@?u8BzQ~ESAh-w1=}&M9Y9uTTF2b2!7qumu%XeJozQ& zA9l1@^H_enm^_X0+dmfbQ&p_{Q~P^jRP!;a`EpeA7gQW>0xD zM7Te~&sDQl+V_wg&jc26-x`Q7*6|l=ScLA{b*FPd{!|nCX0OW;BYgPU8kRQdM2aqS zfp^MddHp()*FQvDDIYLjZrV?#RMW8oYxNZBCcc1{Hj21}t@BcI$Odm|f~9M(#+}A~ z2~F6|2cBV3fkV)d7_7LABS92<#N>3S?WH{P3=7iSwwIpcU!H*+b|h#*l}M2)BM%~o z?dIptuofW`PC=X9?y&#vu$SUWYQGxnW^BWdGoMGF#a{k^&ppcmyn|OdhHSw7(eNoh zc$UTUU1wQuuj>!o2#(%(gL|KY98x0hdX9Byou`C`zJYf^(3I1qDJ26pqz<&D(wh57 ziEQBSorA%T?795=b1bA8hyd<;^5@&H-YoDl-{mLHv39X#HM0A4baE(%sV4>m8(8@3k^385F-G9>825+W zQHA{y_CQd8!$xxL1s2z-%@hgf$}UD4{#7F&UtUBzr9_&@QizQ#g%Hx1Hkwbn0IMB8 zj*$#0Uun^+g(q~#D#hKV^j?+A0tBRE3Hci0$$z}SI(YqtBlWJI2=wHaF0e4|YV!KS zs)f%*pjh*Hhl?ykU7XAZUS!6uMMJ^m)A@ku4ce>4URUHtA|SLcMnsVM)CHIr$k1O# zab^#B+60MF9^8JBCF|scz-=OqD}&G7R9MdD4Hv;=y3RXXf(+CWo_2|)M)XRcfd-c$ zf2P#Ia#*8A(UU_G&`0n;EcBbLi z;Nb~nrM(Ya5n3bept(b6#@&QL9PI`oo3l<@A9Dx>ACLf5#m+ip_rlSGB=K(i=-(_R zqwgRZyJl2_$7Xv&hQaUg=tW+31j4=rsmw6(=K-j0D9$htZm_xkf)82CP*iG)A4q7t zZ*V8cj&;Bja``sH@fmY%V@N+IARQ3~r}Tq3Or? zFG!$n!Fa`0*0SxFkWX^>nl$%psrClh%1;o2Ha@zJ!6fH=*iF60GBPb4W&O8HY|%^) zwR@cV8hO*r0O~uS7l6s|UxEF4Vh=Le4*(DL#xS>6VJ2SDf|_Msk=}{q&F8wqIJP4{ zEJYVnF2nu-501k0e?uU0Adm}PO{1k9cgz>WK?1Hr1#3HO*c;un@*PBaQ^xNqA9tNa zdAv{IuorWkg?LOS_h!EKI(sp2tNYymajgLXiJqHn3BI8|<>JuiJW60JmapY~1$#Ea z^f@?TFEhsmKU2wuu)H8c+j5bJFdbfskNuo)5#ZVXy%xH|Foor;frAWP{fVz5&Hj6t zy};lFiRs}0FNk<;@JlO8qYHWcb-CwFeUV4kvW`L5hG4#l>RxvZheM2X-hh*r+-0G$ zKO^>W^$9Z819PYI$A)X#;Fm}Hi2Zl!?_j>EmWB23LG{M>Jm^`_dJsDtsbhVonH=I8 z-1Ic)dHUjIBN+1%f5I)_0CA*38=Sk}VBIr^p|yJN&G|lJ0JYl-CpPXyr*(ZwL`MYV z!{lYDXa$!;gyYv1b$I2mQrYQlr$xIgA6 zHlANFSZY66YX8RgI+JCX^sUOqMPSj6!(fF=xo5Tl2kXh3`_Ejc?yCx9`z?K|@|b6#{4?|9P^X;S$eEL-?5n zX#D zyvu@pf5qds$XGiA<%ljT`8Ri28}=+ee3!M*rS_)+^#3uA##;0dRXM!=F6(PpljB^+vMOTCNXT-9((Yj=3xeOe5@%YV7Y+KqaDJ_g$)nj=;ZWa&29O=iN1 z{$cCW_fcAY9A2IJ(atyEVLf)fAcqKeigvyy2XsXr-t|6<8aAiTa`=#Po&^1$~z2iS$q6x6qIyQtsT(OJ1KL`0%i96?I?$dnpKcHHa z@{)g8o1ijm1V{{4lwK!Ex@&=$<$|l}`+$8C#N^9S58RZoAoXUw^RJcLpIfC3Kk}scRNQMyuqKU!|C}B$3rVEf`^~Q zS_kP3;&5&v1R_K(Wd0MLTL(hAjqj?%Ghpk_$o5Ue-Bhtkfzg}92h_us#8v)QJxQ)`Q#C7~)4m9E^nggQAp2FBaM%l-81e~+nCnvbZIqp>rUM#BUTicpJEev7H&yjoHu6Y1l5d$qdSt51dWzGdMC zH}yO($7$*HwD3>d)G6wTo%jVeb?40f6znFJjH42VDQTveF}{!}dII0Ik}PMHNTLLI zL0YEnrKIkT)bfUdyM&l}7pAE-4u7(J=7=LW3)q|i+l4-jXzV^nhCWel^D_!Z!)I3) zn44TrD0iv-zA=|?)Tl@Jy8Y#bq52-bXyVGT+{axV9JfmG&L4|AqSk)gWYxQJX0=HQeAQ8ZK8HYcR0qiR~l_=2ZDXN*v zvVcRlU&2xZ_54pr=b>&B=!Ke7(blm}LY~v0 z<_rV!7rEU--Ky1Gc|Mx;{c}Xei#XY#EXXQS@o2?Or;{x2!OSneg@jXYUcjjo!D^aV zyzlD7Ir90j^IjH*?kGC7K_fR}cUNh@80%HlUY6mPEqdVeuGgJ|j?2y*IG&|OOD%>@ z5?!HgHqa4k(tpnvd8(UdzD8w#t*Y_1G{IRx@snU6<9~->1#W7Gvwp;F+cN7O%LlNW zKjKDaJE+7af$Sxh>z&*3J!r-u(TO@i!|ZbvGmY_%R65Kw z)H<5&Y=px`W4Kq9RAV`(T-U&9|)xqD|4pTGEk&#xKqVp?Dg}t6;;x1w|4*J~YzflCqrZ2*3j&>w*qqtcL>L=r0AYh?pf_ zA|}a3FZuuI`VzP(tM31qJ0lE;%FKX*AfTY4;xf1^D(<@tt}vKeW(t<(QdA~pi%TUf z>NQhC(-g)rcYR9@#9hxX&nzMgyUx#ygF4)Um? zf>9I;Ch#(Aia=i2e**-P9$5apuHTUdeMMBvW(ZtkduY4E>Bqvkppn!=E_38RWca>W zxaKqbnPjb+A~^jJfChL0kH~9qs#<5k0SMz`^+!M$UVg=6mkF!oPT_t27=T$*8MFnl zu%V?atT&+5>~m-HT|;MW!}jiLvC$w_yqnHZIWVdf;D)CCX)2-9-=3Rol$&Y-4*U=T z-4kWlmBz$TANXKet0z8=?bHb$vf*dD`laS@0t7Xq>{B&^>;n|-EXg{!Ol&cFwgA4D zOu&hUh2EkJFlMg4tqjsa18*QuZG84M+EV73Swvw$-y8^=M&$pD}l)|gX2WO9?9 zPFBONJKH~b2R(&2uy0r~YYs45jJ4hfyF%tCNQSp$SuGK2s8#w%PV^C0(Yd7ztSur% zL5b|b-!Z{*d~MM*?C_>4QgVjBw!A&$jYd_egi*6G4%ae}9V7VB zCISr9Oe+(o9*9mF`(ZT7wDo5sTG=#str!b|rzsuBuApnD)XvD~X?Cc6Mb3G!9qxzG zYNS%jwk;qSIys^HwaS#iH{gB&BGQn;a(PQeKNcck9rq=!a^x^lGDgvyhqaBK_P)a- zs@Z5TAOmkT7qEFGW3e@1>2gLQQdL(bLS!8`jtVv1YFR1r@~iSsf6-_tT?T-f`MAR) z5RLGB5%sW3PjdhzfGi!qcB40tvI?>qE20U@N1}hF`h)jaUE0RWa;jN`h4+g_g^*vl zo@u(eMV|=*+!KXAb51t1hz9kSg6vRT^n)M%Df&}+*({psPfDXjMC!kl(H0Tb(MzRX zP>0$0FtE+33tXiIuFI@Oh`M8wNd%Mqfkiu<4nEWlr(^PUi-;4=&dRSXqDkWE(-6%~ zO7^H``U5`CR=N{TwBHBi8u6;yqyu>ZlqImwdFx${*e4IicW@bj1zh}Mc#U-KjN(&8 zSK`9|zy^)==q>b{X)P!PZi3Te1$}l209JDq$xCvsRW!#*ooN*T(G>s^C7uTh(@ZY0 zQy(O>^iW6ji&dH1T#}cqA}oC;Qdg6nH^K9-Bk~N#x(c9v+f_ibD=rFK^(3vm38mTUX{o z{c(V`ahXq6n@A`dKpobQ9W)Q$taes2tc1gSHp09?)hn%;NDl$okpCff{Sou><6D(_;We93Lust3xvy-))kE*8nL~u2yQ%B zs*YM9Ac}0oxJBZURhS*Y{TzBq^>cfFd8e*uV0|8IKjBmYs3qBLz*COh4(ZjfdZO-- z#s1t%i$Aucgd@sXP1w0Kj5VPuQ*)bGircOojay=29&aX`% z_rM~5HCC!D7LAiCkq&lhR3C#*syPe*q&M9Yifo$gCg{ zk-lSu>VGd(VD*lPYP zKtT;3MEo1&3;}M+P+bjAE6B|WO;dM!@a*cHCHW`=kZnIiauiDOEYk7$(iwyDKd9^x zV4oT$<<9a0O(fY;ADzUaQ-#1$3l40qlMCebU{ODP01C6MhV>0bd3}NMcI1F12#6IB z1}`0aK{XanYWR00N5WZhg*o3%^d}yNa*MH=7q-6>~2hdDUEZl=JJO>AZx%=Cnd@ z;EeCkCU10W3LIE93^_Y8jd}}2ufeVLLuhg=eThwq;@~EoUnrdx-Xcgu(H;C!@n#PF8ozW!go?mtcrAYEgbF^qNJfVUTk!9=>0kjy zgYt<_G0In3`_mT5Ss}tMnkLd0ls_8l1-D%yxO@5o`HB09A0%SN5DrG^>eM?pb9 zvFshUE%6=s5mH#rzx3}E1wYC&p`yp6gU1vsF7Bz$aAiUevRi3-@PAn@iC(M+nMgs6 zK$iDl9_T5PDrK7=NsUemIx9ae0gnvSrZnGV`*Cm) z@ftH($#aJlWP{qV;0>7Yg9K3;zBww|QAA_Xjk>;fVF(6F68gYx{zl8a0HbRMw=M8X zIQ|Xlj^0zS2pv2&W@+U+Gid<)C%FeG9W2hNH(<7YAv8<_?D0r zQCQIT<L!chI5jBKr;at-Gi|f=`1|flTQxS0fZ!5<2^&wE>Cs%dq5Fm z^%$x(D9kfdAF?x*mLdn<{P{VJ=Aa^)i9jq_7^^z0vaahUA4iA|^^a-Z@hBoCOIS)gW3tx5Dk8mH*b#6J( z5=5cvOM>O;hN4xdw^r?HoG0dHAa&#L{X17RY*CyHY$Q6{b2M*XK5;ObN>i+Yn|n~| zfF>pZZnBij*jg=R2vTl$`etD;uDoi*b;XzA<~umu)9B1Rxvr6zD<;m9fsx|r&@DNt zvW8tze^aggOf9H(SGg=wM49Gm-m-mPMT%$j!{$O_HDe~g8_$NL_0=;24HK6B^Pe>=R;pTm115=^dD%s9|tgP>@o~Y1092~NLQ7}dqE9OmdMbRO z42%}@MQ^iQ5iQ!8x*bsY&&vF0G1BMm*UC4m{k~Ss#1y>9vdTdwj582_kMOnbipZ5+2^Jp*w$USZvBDPr~S z$;Pe3z*@t-5o%{m8hVP5ueCzaugO)dM6>2GH6VrRRZ*&Udeu?h)(<;>6DN-J3BZk)>prv~k$vo{JHl5o)V7k`+s28;M2jHu<-xsbTDhKmG zYyW-pkD948=P4N_U%we;2&5~IL2}h z{n5jqb5>ev7*FUpU1y{DHZv5dCZv251)%cOC&=ns1 z#rSHCpAT0NO-3rM@hR~C)A+IQRX2V-n#+wJgKr7-L=+kyWs=?7ie~=SrlmZnhZCLA ztYsQx5Prgy~2JY)3>Gv-U8$oZAD705e&03DLB{#McT_J*B+76os>h-e@WB4zGpio~~ zr@dIMUn;ZPixK*4`MAAUDOYq5-NJAEg1YUF2e8Y9of4$o486aOUw1Cz&H4}dTL;ku zWd?N=rzTo|v$bHAj5UzLx;>x?oCbDgD4ljf%lA^H&5IKmIc9NPgZ4ys9iAk9QIgK5Mrs7&y^bmUj}7fyn}#A3vwp7UA^D zZKM|c03oA0i;kj>kP|zL4&s7de$rVC)(?``I*W9Cp6w#OZ>6c*fP_;RtPKNgansnH z5Ml{p+?@SejG1A@(Eq{*%3F`+biBR-#b#Mo5hPAj$}L?*^T^WQ(XR;ZSBR%y8-C$_ zInb?ozytBFZr>kWaiqoHp2(-7&2uW=23C(j@NI~_-Nc9D+3^g;7x9bpFc)bHQrv#o zMsw|AP1VU4@(pv9e81 zU_b4~VR-@jiNY6_87UOsA`(dBo|fn)A9(*+TYo>zYfCAVDx}AV;ohjfAhd z)+U}>!&I#%M4{H3@~vLt{rX>RP?fF=L8aMhAD`&pN|PP3MQ;(4-Wk2(TASg^nlc*V zTSVSS!-i|9HoPgo{tL3_0S(l_SB>czP!IR@Zv^6X2il2RPXNB%Ne+KxBha*?Zwf28da(n2FO^g3ApHJg&rz7?=F6$Y$|EecArF zxip54*_55PJ*wQD&3s0!@cb+p+($Hxxs|1;Bz!^2=JzYdv_c9Itew$EFY^r!H@^8< za(W*Tl5kQ>u?{IvT5Uzx9tsazf3tRQ!_26w0%jFVV2gYOE*)Al+fxVbXLv%u2-)jk ziU8MQj@;-hd9ja(ZXSa~IKOyTG?tmNyh8S5g~7;UBv}z*zE)g6w~d$%8t(j=tteutJ1YpZHa$O6!fQF8glGW{ zlirzXs>5)X0NRnn1B`LLLSKHsL+nn<_Qx_~WXSh>-a0W*c0Mr$jghDNiuN(*KvPGr z(PNLr<3kA0#?J2t&;Wme+8cHMrEfON7X5(gUD+({{X|gukS1S?9P7(;f)s z%I`-4aOGVUS(wt7IWs?H{q>b4$gj(9c@~yDcMFgS|_YkBYK;KY~3o4*)_`(n$ zj!4W?IiRzMxplj5Xhnwz4lO29zn!$As#%!j- z0EueLYg*cNo8(^uL}J5B8lFe5*Lh2dEu+pQ2x2>K1lQx&wkE*jg(ski3a^6Rq7`@yaFsTq#lNdCp+97{{QLl zG%anT&!yjB5mKum=EBptzc$ErgN38vx((H1psN~#FEC7=Wa%5^mxD#~y3I5Q7=qN* zeeSqH(qPfsx&{PdUYc9|G3BM`&%4F4?-0?qTc4_k08d0)1UxZH^FRuHVw9d&Tziez z8o6E`A0ndbwg)1G&URRjRsttb{I6@7vc^!+qRGQd1oDnwnCWLthKMw8AL-!1V*6l* znCX5;x|k_P4;5hn6(E_SoE^vlyg)sfY$_KI714oRv>N7eVW_|#Gt@X!9vv#$*_gkD zOfj6vh{vPlC456+9-0X}IzHiwGyQQS%)PD}Y0Q+(hlv5{W3_C%KEsL#<$*yKcP0-G zuZQkh>sJp}qQ4(9N;F6BZdD(TBD;nMYtyX&u(_Zs9rXY>3B3?5fDd`Y&Gx zS}EZNtCoJkw|cpkg5ii3T|k%x+{z03mWWI~23btq%g776GwnkpFYe=jmfcQm<;T;1 z;M11+S_ndEOZ{WGSWv@+QSZ4CQD-f; zX2x3inq7o-_!!YfPXm^KQ~X2&(l|;jk+W0`Jh7M{op&3UV3h%MEgr^=#3@ty~CPBUy zN^=-hhb=mt+5bqjKLxid^B(!_aPf4)4XAGSw?Dw6hAWf>{0i@X{1b8$)*BOG?0zD2 zf@_s;#In??J&eq@U5{fA7;%r%TP=`|u}p=LJmkfY#MhLsjS!>LFCo3H8#M65Al&xm zW4?J?pxp>bf}vH2`vJHq_LPDpauWLKSSJ4kJ=3wGw0Bo1T5df>hYAb!@ zNdtaqX9zC3mEXM`gs{vYIbtN9NWS)=oHkN)Oka)-0eLJ+behRrkA4PKYb$JeyE~#C zs1M7YNi%qHt+Ney#8;g%W2Tq48;>k(ovJGW-qiR*)y-3Uf9HLKt7D=9D{k8Ar*6Ck zT5|&vSi8zE1hDp~QDS(*u3ELW?1v?^3W%1i>|t?xZT41j&2LIMN_6&px+7k)nu=&t zM|o+K=-KG;L!P4DnI_x4zpKXOwmVb1^j@`PJ=Dp#(V}_Vk21hIpvCwF*^k~+zJ>g& zM5kZ9=2;mo&Yz(0tpabd zko-E}p(slb_eYaicm>N71o&KgCQQIxp(Sf&-!YoWRx@0Kb=amw_2);IU<0@Ld z65C*fWmvHTl4Q9oNp@fE8Y3dRH$i0>czzobr1E^TOwl-3Q6H6MImO}2TbvQLu$7)+ ztyajqeYHjgB#J?uYpY5f7Ax!mui))=IpyKYxQ?+}ZZdeGf(G*{+U!a5*$OEW#W0vW z{y9-J)8Cf zcms!vm7@MdLqfJ->0Q^uUF zmXiw{NED*FHbONy$({7>-Yl=ZSpeFjwiMu-?0CRXDqLDYt+}9Og~T?!uzS1;nr%=G*gJ1(5M^xGBHBE*|ZlH3>g1e^3hl^CA9DZjg<*K0DwD&c8@v+deB>@KP{Sv z?OLn`-2xgeOm|fT_XGo)?ib;bD`+1`G*62N--TM50$rv2?P(DfyosX?l!A#Wc+xDGT6}Ds0;LV)8Dk_L9BFi*`QUv|u6Rg7KnR`pI{+ zow! z6eNO>sW;{bM`>_sl$N)F($f*_(GLtR9+Q(2+|b9d!M=Wg`FT%7I_Ov`=CFOe-JF;s z@cI>1AEuaY5cEGL>_ti`aV|x$e~j5&4s{%xaZ$z7dRP$n{&8h#;AYdW<@!K`met*C zs-xcAKfLs~vRub0%XJ)cSR|o628-8WQ?jjICEj7!%n(ohe?6h3K++UrOHnX%qK3^rNNZe{4^iO{Nt3W^5&YHlM{~9IQ9%b zLZk5=o;TbvJa>5fMAlGeqVxeUi7gy3UOE+8DNr6ioOuU}-0hU3CyJ*+lm4r4*FC)P ztWbIXlDQLwO@CGXJ`r<1u7|8Y3A~}cZ>gzU^bnU^%i+Z2{6w<#FzSK~If;om#xeQH zi9t7V6Q9GOO{2O4Jg`{=YgtAKp!t@ z1AW2jq6VE&%Bv+b>P=PgTYsZs7{{<}(EdEwuJEWufBFkjAJ}vzxi+cUQ76So<$Jjt`W3?lh?MMZ zL(888G7I~Ya)hg*G%(Bbshl}kG;EwvoQ#ZMA;e{QL4`3Z@4^d|nSUcGzYzSs1z? zZ35sNU7%{aPyw^8dK8e;z>Y+-IT66C=C2xfZPQZitdIdyM00WRPZ>W2yvK^OGI5F+ zdlwt7y~uQveUpx!4OUf;)V z28w{a2Wuu)j(-k>h}W*8FjiQeOJ~}{sr2nQFuTFvwOywnh-R`^jda!UzwZNrpn>wL z+jZ3*m#L{b&!vyr%O9T;&077=c(A$7>g+nI$XNB_654A}T?8f*s3eNoIA0a@{(aeb zs%R=|x0jQqiWr{}T5#+8Qce}U(?c}xPk%t?7R_jD)J5-B$ zsiI9-3^JHoaIH8hHJF@Rl}2|}`c4;(>)!aOy3j6FaYuiWeWye4ttJ9a!vrL4K%zW) z*amxmgp)3{W`8;R(>XsB6VO69jtlw*QTBYA!@)s*X?Tmq8L|-S)+d|$<>`}EOLAx@ za@!vyW5Y?tTG_}x2ggE!QIx|Xa<)lcosJD|1cMZ^6mV!k{01E9rR= z95a<`eF8ri%l^bNWU-oeF_N%_kpw)TO12n<*m1hLdvKOc6A&whKm9 z=vEX)u6hZa!M2eC?C46&leOg1dG@mtZqh(o^%Qlip-u3M2u2SZ`@k=$y*9FlfGkIQ4aRiVJ#JE7%a_X*{OCXRRot1}Ml< z{?9PU$XOyh^1yLk;idM{z)Vvaqlhelj}fYyX|k#j3OOmCoh3%buAZaX;pJ&ZrpO#n z>?*|&#^QNj9<6DPgR_*kvI}gMK9?3Xmp5mLAwJEte2Z_&_}O4i*VDX{z}C&9ZMWp~ z*|@sQ16j|4Ytq$**dw6bpcLOCIh69mr8QnTYQ>bR$2{L*KucJKRDn&*hXfI-a|W&H=Hb11Hv>@r8h1V=#+ zws|xoV%M80L~PMfKAwJPD%0nPDP2Qw3E+$Qo6If3pf@f^WF@q`=e67SsPe8z)JEJp z2N$mh$fmhY*tR}~#}OeT=7Pd?TXvW$8mDI^;hOdefC?A_pP0>OsrHS$0maVH4}nRu z__!$#p>}g%nZGjzK9}<0>XOM0HYaf%D+RCif%$rS9`4{;dxH0AC<}dsL2yS}HC&y? z6XYrol$Yj;W?}zn3#`HJIs#Kq0Ky{b8xEufaD%C%p5e0LOJZbjAnZn!1-r_j1%I-A zvB-p?=E>;n-6Om-TSTxPUfVgw5_z#@VFUPQP;+T*6M5k!5iMHJl=_!NUD$#MdKv4s z&k@<>Wf3I`X2=OIi^%j!JPgVaNjWA5R9`2uQr4z0)Qh>~j?c)aU08&)a3(OlNf;Sn z8Jp+q1LOpI+Hraf!FE>;cJ;Q5Vbzpner(4R+{J@v<25fOMvZ&j`vP5x-{vqC}{FZ6VWaE z%)sMdfFR^Lc`MA_YJ!npz5{yG7|#Qk61q8;=ceym+4>bxU+j594t_;6fOdyzuYh-B z4VCY|B7)Q3dI8I!J!`O`SK!Q}eUTW3;ke`4kAc2OlM!eS49KI;IJ^soAIG6F6v228 z;mQ1go;s<_uX3V5l^O5%D6%T^Bo61Rvi-QpPJSx0;LPcbK^3Bk=M8*>{(%p2{mP#} zKLlKbi+;dQA?4#2bjD~pp}a-xHLcD#L1*B~Bf%A{8s9ODNBZR-LDz0It zOqF*f=jGx*eBO|*qs1!l6o3llM^G*th4c-3yJ1-TX*ZnafPC7DFMW=mz{bZwxPt>l zNPOml)Q1n&YZ5M75H-Q{>VwV})2j$ArkPqC)Y4%YP>0)G{A7e#d{BJ4k&@ufrxEz2 zLHG%TMcH2L>4~30sx(6YyrvsvPSDX^c#ir}Q^eSzNCq7(MTkAbAAuH6AbpFVd^&f_ zs6!@`F2sj3n^*~?oBo4P=Fa(G+2)h;mNA_Z>GWD69Sp1?(F#wZ8(7u(v`8yxf~TMf zT0t**()>rIc}7d~U*!z-r1=DC^5_}tu=Myl)PI=jOvm(~1GKU+;@tEBerb_P){T>0 z)RNsuMKU+}{znGP6EWTovD1hMC!*e{Bxn!T7xTh%^$`Uu&1zGx^um?p>07cnEIAQn@- zs5YiL;8qdMhr?WpJFl~V3e2j`t43niIUb2ZO6PBrAH66A4qY*HTq`=jkiFW-+?79| zf`;y|7^%zBkh&~r1AUYq4B?R0UkjEmHPCt4AYHVm;}6xCX2V|CzXUYrPL*TQMZ{3! zRMq6VC6BSkjQfuB?LQx^or^dVFESw;*CK4$Q(>v18BqNB0QU$`Ytno{Nddv8LMb6- zQp|CABwaL*T>~Zo&al@5vEI($K{Z&9wx$A%a~gM+FFNXK;C4nRlofEH+an_uU_|qG z%cm9yThyUY9JduuZl>E20wlB=S$S;3E9n zF4_7G(MbQd9R7xQHT@8{251oq!A2QJBA#* zP*|+FzM2NEKk;?zQwnLTubjCMgvzDCa@|6)C-^lWz6|zXgYg4&1RNWG1=B6$^f$%a z;M*^0(JlWgdaeBHO))V&55~aq^eOhDc-jxA*?fV@{|UMVClfB9x$5!-*JYbdpP#hV z&-yGlH%Rlm+xWwvSRFPcl?6{5d6+4vLDN8$ zNwo9_Aw&;lO^LBv19+z1;x|2ZOPdnvHZ~s4)o2n~6g=$ME z>WRwxJW=^7;Iv%1&Qp2*7(IwOr{tJLpjJnFG1QDILZV`COOpfG&1} z?PJKM;lV1<$SQ<+esR?lR*Y9ucmbp|p2AW!g(-~Zxh|K(7F#2juP;*Hxa<5tX(=m>0o6J`I8F)Oq$1ctN0a zRFDx)`$@i0{xun=(N+j3_>8G zPKBy}Jx-0xvO?@8POKtzx}oKeB^9)N`{T+z&UnkO{Dv=>YiG`aFT_PSU`tiNpLhXR z;OtZ298lmKQb1SHhywai{g&bvO=AjxrrBD~T_T=?WyInoB1G)2EB{&ooN-lMS$CasPxq zHA#lNE4nnhhUxd@F(Q`FoNyBC0%O@^iA)o?gXPfGiE{qCI8{$hl0Mi3f3tkd=)&rIT5mLCll=SDjX_iezA|)l7}=E^uolI@8RWkgpch0o@kz4{()zT zF^=ZImE<1)ln;hVgSIGyaIlMy$LFAT1&bOFhk*G5y|@T@k_ik!nIIqO0w;`0^BHBo zJijh|2nmi78i}|P8a9W|)Y7d2zfH6PYS0eI5nQ307$sWC@xE00axkAGqt?pb-V=4x zpGICvM3e`3N2yZYRi)gX%_aUa9^e9Y)Oe%>%c#{uzzEpF83RULp|-CE>pW(Fw1AX< z0-`fAb<_yMO2sHs`F68!#@t}=6qleGAR@?j-WRp?F>=NGP_wjgyu9;1M*NNO(!304 z&3ZXN8(a_X{%P>%hd^JO~_gkbZ#Sy_zJnS9h*BK(DE-b;+x&k0^ zCne+)cU%qFnd8CR@m zR>hf9QHS^YNbZBBXa6xMGls8%lRgmBLSMgy_CSXYbcVo;gzDH=pQ}dAcFSKr5X+5s zeaBpo3qKT{T4g0asvPAu@pj~a{ZCbhwsFx%%Hyl;R!frQ^$$f7=iVm=d?YezS1!Re z{SakAvd!!onZl~q5AB$c- zH#1e+wtp+Pe=O?xoMx|}_s&T7$Ix+d6)2XcIM$E)WN~l9T5*Acd2cyRf4h6aAlJpa zz77J_I5i2Q<)x90ihWC57g6AB2ss&n35)#K`A zBaTcr8Isbm{L2fI18W@@$=Y_6tahv95vmWhPCc&7O@3Pq@!>f)Eo z%2^Y?qudHc@RGEK3Jb@tJu^A8mzx6E34(C!`d$fX-U$hZeG}3|0tAyXrvmrBKU!{B zDWaxcT&w#0A;uG?>68UHIxrf&Gth^yrGx>p6bF>h_r3}^u5JLkWz8cueS#$R6Q;}< z-u22qR%el>ddv^Uk&y?Y)z26dAQbFw^s{Uw#h`Q@%bi4z!&6NkyhdEI0p)bKn4gKOZRx5TY-*5?KceoAg$C0grO z%L}VSgEqUp(IK2B%kYJw6?z9>EQQmVRTo;@vyahzw6PR*oE;{kJ`u6$+lCp?W00)S z-9YXx;Q1=}KHSqo0zEzMDs^4uJ7-{Qj_WElM}(rRX8|Y1{%ElMgsBNY=)X!ij57*h zZbuS^JD;Yb7GH=q_|hb}@@Xu7^*mm^XgHj#`Gl6-LwXwVDUa739L}9UwspdqDs1WX z&reRW_QFwN^={netM z*f&IW|5OBv0U0vsQ_&`U{tz`@7oQxjiy%r`cH;tSfc}=^>>9<{Ki2lilAu2`~Z(QM)m6T=FrfogGw)&5BwE-0kP#Gh!N9gata2*%+^ijusX*05M z{R%wYb^z=OPl%d96#O>)Sm!Tsa1K4F*#>9W(;|E3~5msuQn} zWhbN`uF$*qB$*qfi4=QIDu7~m!HCyt3?D8RuYt;}>C3$qgcKgHL3L}Of+ICp)S@Ok zEj@s*HUtI>3lu1hnxm8)I>64);4Dy;xams{;EHl+BRdzVxKH2&MHOxm=x&f{1uX{T zL*TSNx=ue1!V*~(UujvDuDYKP*kn0PMS|rt0ly{Wz%Mq)hU*x8dP?&Iz{A*d0Zm7_ zZkocSKaHO}8o|!9kJ0HMkZ$rR4^H|Bl>`krnoRG*Vb4pZH@Ma#w2(hJ3HCyoISBMW zz#&cLAgD>#Cme&(HCzO0qCgMLWTw>E{VUf#t~_p}lYih`<25-4xFUAB(-XN>{J4ch zA86YS9-6J{H(UK~!LOU{=3*+$6AQEZSV!e#$I&|ojm;iluK{>_bB7FHCt5s{JrE7P z&9MVKv54#oXO0qb0Be@sMKR$k3&@Jl0y3-LI_kF;es>dX=ii&^_ZRj1llm>eubVzx zDP8MCr0;(Ca&Q6Ozg=EhhmB(n{N^q=wDGM*VkNoWjB z$ItM|!|l%wN*zS~*)wsteNgIMgX4RR`-#KG&mny?#U1^2`DdmGt#23#6r@HWj9XgE zb-JKbmIFxz@u%ZG*?K)TkDz-nw=7zEC*4K)WADoO>qXOa0=xy*I$_k*TKy6Oj3u8= zAy6MU?l`T$;&et~<-ffc z1;FLUXr2l^N&}D%v22CS8O6I)`BA@guy?RU?)=T5b8Js>hV5~NF*ho#pTcz}9ssxJ z|FSGrLs>n;lG4P@QwQ_q=?e824rMA>`wcoP1V?X#;;w&dY&kfHX%kgi9#3V+&o>Bj zx5>y4bWu-_x}yKANdGV8y#sHo>#rvj=@;Ul2sXi}Z5!l)DE{qo`P&9z?GeDOyiFF0bxM*KP{KNKNnH3(lGUN z@bKM_3_3&{rQaVKbcw)QShj)g!^2j}4)#%F^9LxPkoDMzv@ET+2H&JYhh^aQRPrl_ z+^#?DnIUDdI4+Xxc>-J>I`9Ett_BU{Q6(olB{UyNkYGOl71PHmL34^m3Uhd2qQy5? zIOgXe&TLeCG@8XJ4Ak-9V}O6NN7A-YMCcdE;TuJhX*oHbyJGUMJp9(?yw|+Dif?W! zR`6Z$Gc7?4x^r92Pp}%~KX1ZQr5LDaM_Bdfh%O$ zMp4hUptl-_&q0Q~>zi~ArhK&wf?mC&O0=lrv+Cf&z)W~A8M6rrXPUl^JDlDbQ)Y0+ z)VV_QF>lliIZwgFsAlDPxf2R44)rpCVjhH%WN9%C&Y0k!$FZzuSR1+=NZu8CXGX9t z={(=S?NkIoA-lD8sh-Zj)fAfa|4BFQO{6nhPjtg2--%ct=lq`4clqN=Pwr1Rx25C+ z5-j5cxZ&f9B(P(IrHB2r<`t zsu42o$9!{nJeVH?COsUv7|a58yU-7v^$Zpt++p(j;h6>?>>DlL8N4ewg^@x&JspKu z`YEF`27@!?0(C-)B3gOJ0Mp_h{Rxh+>xZMTKD-6D$KBKK|<3&gg~veOn2cXr9lEuw?pJTxBL z23v7$ElakDsQSx$sOmleZT9Y|a)Ybgzf|Q1r97( zC&(#Tq8)HlMGKLiWr-f5%O+WxB?6Yb(g*FwRUP-&KN0o%mh`kru|S z1K*Vmvc)`8chwN@-Ew`lXdq@Sl{wiWxueHEV;M@Qo1cgW?-<^9x~ZfycPYzM8vldu zZ)R4$%hSAUnH=sE&1-AvqL8kH26dB5ouYrb7ItpuKeTtKN%?346YPs<*bS^^rO6#e z&TwG$gCAu4*@y-ipS5jQi9-fKZx-|9yJz6W=g*?~~R?)fc_4hz4H>BQ%xHy-++Zl>R#!Ek! z=w2@#_op9gf_Q*uJ}~pZ%8gLM6*sW^`z**vhVcLdfd625P?`R|U>3j0%Hql03F7Iy>t`wYp7=r)3j=_drDS#8kqGNaS3&G-jPA6G67a^ezy z1kreFG8xge-SXOY=q6ZREbniJn!23D413x3TZ>KE_QGtVH5TSfxW<&PjD;yyUsmCp z4TGI*KF&z(5L3Vp&zEMzXWK7OG&hQOAbj^`4*^??YjQg>Cl^zc)+Su;(57s(iI0{1 zCETWLNXOFE%fOT;S{i^I(oqd+7tm0#MCevmbVg9fd?4KacQdvjt7-v3|3JOJSR8~ymy2|*SqDc!>q+#j6ldaym)X^t*-LJog%D$Ar4SC{n7>bu7RwfQ_0eh>;rjnC$wtbl=pUuhQTM_ z;bC?1usZR;scK4M7t2<=pu!<&u^g~Vw5;<7ngvzM_9)(7$Mu(QA+VnJ_J2SQ8{nGu zYII8EiCuVES0R7dC1UCfUZl+}mJjUiIc1~WqP^JUlu5fqD>3G6xn#Ep@7g6B$|)kU zO)!6`hNOFQ)K=Y=RcIoE2Y^Ch)VQUy4ght2eIb9^EryudshVHRk{$Pm_<{BHqxCQ7 zx9KkE0`PyKK0x=89+%GkxQ*HN>SI&wt6i0f(QUA8)WtLC3Ta1_d;Ks3i6^( z2wIgfZqyG<`k;@paKZTNv0SnjFA5fNCNH}4IWir3yxR3>{%XimmCyzbH&79Wf1$!* z$eP0h9pF1KPWs_oPyoGga&hB104W$&5VmHZllnOyVaDO=A&W8H6OKu zvN~vygck(Nhx@_bSNaetplk}<3dW&k&ycP6i^k!J7Z{@zTJ?ibBEQSmQ%^vB5p}&F zXYUtnd`e%<1RbwA!!UM&JrlICT%e-=;iAE0n`vVVmuv7e&8lT~i+sBop3xk$6doVz?{Lk9%VfQQ?3jXc z+#Nw->(N^ZKy4*-N(-uqAaj!<3Wo$yF$Lqdg#5LrauDP2U=*HojL%Q-718%d0McxP z4q|`W*MZk95Smcge<#EXC zTCRC2R|tde|$B(~>J=n!~CaBx075C$DoS3)H)=hjmXfnxrD7#x9Pn+Rz)BDQnh^NJHK(+E}H){R&4hUBxfPl54sJLTMqqcDEs( zO5w0|z$m@IQ46tSOk>9@&^qJ~$UF7e_V%NEdo-N&9tYISw@1Kr;gM}70-ITH+NR>G z6ysYD2Gq~Dw?S;i;{a2>y+yk9tZgu2J6T<}-khozpxnADzz@uwFcV3vwychA%D@J~7~rymrJ24ugB zy@oX~Z?1)XED5?BTLVr6H3zBg3cdG$H=D%#M1O2AcH!AxM2cs7c|(_$sJEZ6lkvPP zIw-~kMQNE=tidh-Q^$=p?>lSckVDYCld~QeurI`6X#kdpc{?86v0eKiyj~2{1)0)l z4bted{ZC}%V1%G3X?;Ega<_x9(){2Mfl)~BO!dL4w~xcX}X<3s`;JdlZ}@0%HP14#A(W=gkF0k)t)7#YZ1b8REAQ2KE> zxaqIP#?D2=Y(q`m{K~@XOHU;@VARjoK0Y#)gC(q=F#wojE&>S!N z;Sl1p>m_g(<+G3DKADm?5(8_P+*j(|o&!!ftzP+nt#9>G*&p9l69TsuvXTJd% z3eS@EWbyNRp?6QieI+PycUEn)7espYX4T#^)%pu8KRfKPQxozN?3NoloTe-jdYNVF zVfhw)&GKRox||d1G|k5_%#Y17&PPGTnV}_guQ}=k1xY?;HI9BfN=Mr9n$$u3Y|P3$ zG0yrTTxyJ_!ja`$L=(=)7xRR*=`_x(ryyJTo!d(K-!4J#q zJUoqTaZKjtiI^_mf?~ks@5#puF&dI4GL1NSo4qYOd~p+2QA5^CaKMy68FAL~BREz^C5CH9Lp zr(b;{{f~;qF)KI=8m33XSOCaCkFY4wsCk~Ut`j#30ja0BrlfjvMq%LWo9%_0)suk^ zT6q;R|EQ?f`RZmpp#Fmg0;h8AT$m_4iQ-w(*UUTT5%yse+w^!;xj7W9NvQL=g+5My zXp{|)iKkjQkN|V@C>zF{^~E+d6ll`skzA$gswOtKpsAX`m{oG!F%i-r3&56WdtSss z5EArgfg-FvJGOZBz=Yam(J|3qxF*Q(mo-V7cJ5Uo&e&$1>gj_vx29UO%yzJ z`xvwWWj_2<4uG*T1eh~Q=o5I&gr{XXT%)W6@e>DZfpHoGnUJQ~bt}$wAM&7A5fF)+ zA&mK$9#GkFqi&0rd(4&qx9i~+e^hB_wM8pWh-Pi`b9s%BE`J)BeFOGng<5(8-nZ~d zXRz-89h2OhS5bs#Swzb5Cm=4_>$rUX1ayf+Aw~gs2pn111gytp&I!?V_}s>5mls|5 z5beT4hjOev6Q1u(D4`cQMo$M3lhZ~6dEd&MjIme%iSDVca*Wv0M^`8}hnu!Y?`guq zV{+(8kt`aI<56r~vmvHMIAR_2T}OHKq-Zqm_)!dJ)#}7mbXF9qsR2TB)o8xV0eTRd zF`6q&XfC|}Gny)sffganzeaO|oO}uf+2W7Nj8kH&rRWHDb(nF!iesnK2xeVL(`gY? zcNIn*Rjg%77AUj#^(ps~OO0~KY0;^{!V_2y=0Uj0ktxV-Uv0M^3AGoN7Jw{gwaN9T z@w~`Gp@Z;Ek=urPt#FwA+5k~5bU(Rk1ysHx}{2MP!Q4tD#5Ng zWa9KdU@%{qP>8Ua9-LDJ;90rd91IN!^fL!gkjV}zIVh9Y-Bh4L0{lE7kZn7xLbQ=^ zmAh%@IYTfq`TJ{0nCpIzjZRO3BDivS{*34!(qj)s5C_SPJx)JMp0;Hso9|qq^9N+R zZ=wGqIaJR07J_#@LgjnkibnN^9|M=?Y8qY&+fU$z0|o8z2-!hhj>!|>iil=qAs8Gi z3MQehf;BJpmQdY>3UGb^o$ZvjtKtehIx5X)ar^!DD2n@eJM`q{!L{A>^TE_XP5n7T^cFJN~&V4}6H7$UVXSw{8N0z=Xl0 zZ-_f(EYMH!2@3}42CsAhPR-B~cSeqXKsWGcnCcJ8qPudzhw|)M(V&_BJIoq1k?^(o z6%<=SE-l+-&>UeRq{4C=GIx-Nk^$#LbmI2&%+Lw)xk67N8D1(}fn5$b7$=M5j0SoG z8F__t(aM<&Xf`hb;fCfQueG+j^2`U^ZeGu-;kx4#dqgfjC)zjHX<7VHf?L?ZghGS- zlRez>jLGl~A3nl8oc_+2zn>EgJ6^;|#y9hf1#QbqNPj!D z!?g>O-ua@pk0z-}Yus{VzL*jBasy^!+Y|B=6M~I*{gN)jl&pWAKFRJ*OhB$gMB5MJ zHK#to=?A`$DL)C%6D~j=oqjtf#d*=Y786+At3g#Qq@&R?;k*cp-4=~pe~Sq?cwfOr z?Tms9T)b6Lep)**E&%@t%dR3_rP}`&i30Z&rM75;^r;|0zleI2r=34F(P35rf zz<5$s{lZm!!RbBeq6$fJzP7kY;0r-cu)``dFi4ru$el_9m#~T0!l~n6A@4` zoun8fr1N%w$5uiUvtSwm_GFvO!-ZmX|2B|;GeT9km)*FBj{k;J+vsi#d+d7p3LZW( znbWfK4;~P5B1pkaF=fJui2S>cD|b`IZ}RgZ5gC=jfzZ1345+P8(h1*TetVM%GsEVSfSS1LY{QUT?D%hwj?TAxSrc~CbObB-{RXW!#?n~$v099lORF-5dI+cv zgn=-Q;)-dQa$g1JQB2*HJ4eG(3g5sU`{fCdYR-mKX zdXn9~7j44N-2shE&KAf0qDAVsE6LVK%WXb0efId)p9Wg^wfT?5N~DMONi!)i!+ z-cbcfmQq`@C%~xSzrg57H5h$#3t)s%Sd8y(dJn&VCYZgwB`^OVf=m+-KstS@>~UFy z)Mhyv>VhCgEZJ_!#+OAW@!+N$e_1pU=WfbHm%%U2x(Nd15=>VnI~J_2T!$}qBzaRF zy^IGLbKs4o7x2rl5Ks?wkAVj-J+lMc*%4%i2W>y$m9h#!(YvWL0u(D^4#vS&2ffl* z57Y<|4p_9UfnC;O-UAKY*cj?R@Fs6K%w}i+`cb?E6bQO#C-m?&3d#zI5EEa`6+qF}=**tmj z3Rq%`KEf3bXn`pL+tvg;b1ue5Q1oFg)9xKs7xhd;J$PiGB@#$v z4hOFoDWJ%cq1uD4Tz^#=^D!W`o8J5xJOwupK3yrj40oBg1DIJ2l#y%>Dhp?iA$&ah zYL+!{09UIFV;nfy8jC4HCWk#O;{m^#E;Dgj6EZ54&d3f%=`JEY_T4$C6uYC++XFkP zIAcqwjHB?{_Eq^wsfe6-0?3Xvpm-2{0|(TWXt80)2qk*O&VXX4KbRQce*iD#I4=?$ zM>DUs!)`VOzglg@G+Md0aH1Mi{L16X)foq==T+ID45)`{5RM=Om+6zjOUTXX^t2uU zZnFLYAxk`(&%vm9!+j%ZND1xIQlzUCw|`bC*k%cp!EJ6)S|iC+=1nF{CyHCDB_6I4 zpU@H~aN+}S=Ox8ZUwEqLjCZ~g8mr|AM;N(GftaTyfQN)}7g z)VgN470ds7?i-Nm_x~vK-rbjX?>Xn5dltya0CQj12bv!OEaeshni#M4_uvbdK@iOT}{E- z(brhS7i!WGB;l@9M=J^{pK9a|L}G1GKr1#O(1MU0Vs$4jGP4{D9$PzfldIT=FlJqKW;mZF*Hy^!y_0M8+Fo6DV1%h9ITrDnOi z0CU-iFgWam|6}cMp$x9#>;fKiQ3(#-ok#a0+wiM)&xg84!2hE>Zn>xg#d+i7$j%w) zg*sP9H7MdKG$F}2;pS~c=l)V#p1gp6a8ZfwasxqG?mE3x(Mj4Wua<~-Ku5o#>^kAH zfd6(;>E>2ILA@xO&m(_POl~JA=qh&3=lA^rt&+18)QUCp`LthP!*3o$n^GNP#S6K7 z=`Tvx=za(X9t6%Rw@Ly>F^zyoz9|*b`N$RO%-u1UfB%aT>^4&GO#vnSuQ>+#c26jM6Z45wfUAA z>KkXU4K9YKY7X080|PS^0w4@gw6195+%88l+>c(i2N@vyM-6DjOV43k&=g3px5M83 zllE?z#nXfglhh0;l!1S6S$RC>Qz!>xm)3nLcPR`N*IFPJOLHSCrn51|vd#=NNjy zK7u_(6Ds-*U6S#C&NNM1k%CzVzdlU{% z>NbFogPQiWOiQeSI-EVe%HF%m9*bipEV)v08}WfmPOh>~tg>4&tLy;Eqv36(Mr>8n zUzO?8p_W!7$|wrfI}wHbvCcM@cB`BYQWZO(7sob}Pr|VeD4LXVYq3>)gD?&o*xxHH z%V=Bc!+*WEv*7S%6DrgQgF{P?uBS4ID)U{9NUd-|Dr zxvV*hURIzuE7Z;w z0a3z>-l3O>2X&cBG-Zw;6^JaflT6_{1d-+DMs-vabrDg}h-jp!bOuFTwd7l0FilCU zIMXWUe&hsuY=}#iO*0z&A86~fD&Y6xe^a3z(_G)r&(MHLz(cHa)+tUS&LNKDmpXEU za>R&?=G471bvLC}2w$vfV~;X%r~pi7jSpn{-Jy503n3U7ES51MmqOqAl2#5pZW1r~ zhoC1=ECjkL6$p!C_<@iEetn?oW|}LksF(si>#f}g@`--%EP zgiz`sVW0?Y_nYHk8Ses%f=~*BRgkKm}Dy#z+`V7Q_qFVX|HHpG{ z*)x}xo~5E^l?AYeo0lhSobNk!s3g6Pc#Pf1o}Za|A?s>G$t zJV0P60{rufB&J(~usDSutdLSX0CV=Bclho@W&!57!{zhO8~>LTTRG-`nFIG1^b^NoQYiL)Lf4u7r@{082PY+#z5#R zCPQb`#}fx|K42JsBoIp#*=dHU4SAR-CffiGvFxvUsfv1s(4KTD^a5faVO`%?4-FI8 z$-vXt`5+7|TGB0A%c*V_68tYkEKUXoLqr+gpd=uU<7sd?7?OW2^+J!cz<`O0n9=`yxIG}K zLad(y#)kW8TP@B&V6&3b`V3U2yQLK`;7R-$@hV0KWp6D!1Jg7s)pvMZ9aOEqxxihjV(?6@4j~ZxQM!=g;K6pQLz`u}2CxaXv zU6oXbzJ9ny3oa2OKcan#fYgD5!HK57+cGiCT~Zkiu{DiD~H#NYCS*|^Q90So6M7_JrK4EC1M{e+eny#4k`&PNoi`>Upe0We=jL8w9} z4@QSl3_hi{+f9v4WKl(LWR)Iwp2Ou@<0xpeAU8)K*A(`_qH31WPXrct#5(EFl zWqye*@dJWEHKE3S>yURh8CtN#15*o)!Bw2l+gK13Isx1ZMY zEH%aA*jXsYO~F%)B!INCdD zzVmHT|8$7X-|~64VFkCbgs;1;JdpXa8yWkces2>UK9KjVSPm89=Uhzom^k5$xaJYH zy3g$yCvLuvuNxz4gq!8Drxg&^ET_YeGsxg3Uok-8i z_|EjKtr3sY^DO3;?ij@*Ps-KnNmosP4Y#}PE?N7&}Tz4i&QESo=YSMhg$CL6*=ASh>L^QZ4BVSb0!!9rVSIDr!T z@a7u|v5lSU_=dYmuyHja=t4o7w8iWkKFCkpRR&}(KPcCZ)_BqpO<(aeZpyGOO(l?s zGRl4(00%k2rpcP*h^B>Lu+tY86R8{|Qry~Wn*Wi^br<}#2iOl#%cf%)>KwsTv984C z1Dk}R7gk;B&D4fUQNdj_n2eL0zx|i;fIdVm(!^{3QaVM&Y6oe}Hm$q^A=P`jDJ5)A z8*D6LD_Ha4UH?|v>(>oduvC@T_{6^ztJ~*`V1z^`Mh)P*|Aw&pkNl^Mz7VlfH#Du@0CMT0vy$<{!sNc#nRTY`YxY?60s#iJ&&u%QT&N^Vt zCGc!1vgQE(>MaMXIX>o&ytrQ3u6&-r7d9y8m0|bslt!h4$0P_{nqnbjX^Q4=H7cRW z79UKgix@E#oaJX2Wb0CCc#x;Ez(+?*2wrlO>1GRCmFsDH!*nSjm!wDb)&~dS4Od}0 zDeTves)CeTDyr(pn;MmFBZAea1BjxciAF$!P80`q7sMI-5^}vVvU5GL1Hvep;gW`S zKyNkATU6CfKCej`sjcI?nv|}Q@s#2sJdpwmbXt)FpkO|y1!RWlksMF6X^oZzxGnXT zT{&%C)1Ey%D15q3Q|mjMtdr87ig30ntLaTGmsx<<$W2WL@-DN757Dv^?NI)(mi1^m2j$TnAaPf5g|FAL z&aOidW&VSIt7S2P$yB{o2z)t0zL)^`wSsKx@7zOS1GRtfQ3{I+ywMi96!AuKV^dwq z?=YxJVXc^-y!#D>&C|v_=Ly2G4maBLyl#krL4kS_q6&A%HijHIoPFHM*9E#)i(mCT zT*ty59)O(q0$)rf&;Z7V4pM)fsoD0nmeRqN!g}1Dwgofb2y)5e@d-hs(sGU5duV=#fn{JNz~%f%0}Yy|5l6p9N;k?kfg0eAJSJ z>pCBcPR8e2L}$dxD>>YVOY$%uy5hxrUK`Pn zJ^9yq)?OK7<~4d2su*Lr){S+3e5v`z8y$VS|2h_>x>Ih z;|QPN{^Lt9%c@1de(-^|>+NJcYr8JZ=mpEH9{3XA%q8)++*s^12L;{4kR;sLM%Z-; zcF-od5D8DqjYuojS&1$>X_ku-Kw(HPiqkaAe?IYpf7 zPRLVbzk{!~F{A;t`-$;uAk9>Y;fPbeU}|($2vUSb@b2>MT2p3N2OJ;^ zJj39ZicU=*x1%8&za_Cz*ilzQUphRjX5LsMGyqSC{&E6TnnX0(vEsZVEzGeQaDitP zzKFx8APM1xjk=>g_Iihl)jYMaqoa-0Jh?GfCwii{)Tuu&)|1)?l;wS$t76P0zQ~gW zWD;yZBSX;$ILUp^Q;nXsx6y5*JHEtYxb!i5Ym0UE0_$q=E|L!_1wPo!1)hV0bue;B zZ^C*=(S!r?W$#zOgzbYCEg6YoIfcrSZPBGJS;h!x$F>un7~7h|?VY{b+4C9d-5`3-cp>kVG31V>0Q!qs_w0gi_HT7If6Yd_*bhn8hK z2J3s}Cf`k1wi&io%XSJzZo@z-#n1Q-v}{eGv}_k(+0n9Hg&R397Bl1d#VyPBI{Gh{ zZ8-9%%l5-SEZa?fVia}+fKC}q|JOH36`o6YVa7H%Fm9_sZulMRf+sdya-@pCaNq+l zgmI(I{IC}b@BQpM=$!<)4)LlUxT{hu!~;taYNU=gfRaH<=EEcqmig)HWCA#IGcWUI zemvHjx$DDFyiC+D=R>_&hlKBzV+AQ>omuVmehWzQ&8%`07M)6oGQF z5x=-$qJ&k;`37&+Lpf4Nm4}AwSLw5$jfKkEqcT!4UXv)My$0I)JftkXLJH&4MLe~XG^%S^|*INuqxdrR=V?P|A@z@@CuMjc2d4_=ndb%M*YRgc(vD2*i<1OngzR$qgWtQ&(-V{IK_t!Zt zxUvB~&8Sz|h`Bt+{XBZ%0t(yN*Tslcdxk78A^?36`@hCB1JUruDuUi(n%lw`zv3Z8 z-L^-G2k^`mgYXLiBp#2rK_ZqySTiw@;>XQ!cLb>?uGEt@fX3pxWtdpVG10SHXpt@o zD9TIZE#s?=32#;+Jz&&*MXK=ZqG zatR(8Ma)uf#Cb#CCx*ca9Nq~(U4_^iE>@7u9LZXiMhy&(O6a!|1uMlbz#0H~yU}@F znbik79aD(!ihh5Mq;jzbzp%bR*&t8^9L3j}Sf@<#Dh4JE$D>TVieJex_j84?3#dbf zNJA8Th8OV67SG}r%(f&v;=~LJV8WI{V*nF29YF^Z-SMavqwp(&C`J+fc%W+$kc&4D zZE|=BcbO%MvP6ib$kSF_qlZ@9qz4v%7%hIxU)fSV%@^cmXdZoA-&Nu)GH78>T+mpt+lZ||kuOoCB3__}yCBaA=6q=BoXkaS#!=bgZNy}(60hSS zJqbL97fBO8PcLM;b{6IMJClj!fLbKVm>^`PGQ66gmwg}7SBYWx)f(fo#Xu@o1dxws zw&+eFn85PE)1em)OK4{N5fDG&6&xLF`YYm*TZt99fdd zAWfF&oE9MTFTjxkA6E~xM0`x^2%=0tn_+LYuM!L|*7O*@Q%AKxtEZ?OwHd0`Lo3{Y8~ZTv=6xU=WtNyUTcIE(KPnKc$SMb z=nQE?FQ%vHj5vFAYp~J%6$v)BV*cbwfx{4qd3;05I!3onAgxkd2LdsBHB^Z+c!A9r z>IocQqS1s*(GIm|B#5^3$QBxU)QGv1MJJ{rOS$lp?NdsssT+nyeY&xYV8=ZW_Q}h# zFCClv;)%YLi&@n0+WKtqI$lt1tlF{*sx1@a5a*p40IO|7@kZORtA@JQ1DVK4W(;B> zzpWNIJq*)kMHTJT@Iizt#8c=6zHJX^I{yyzgfBKJ3Uko0o+P_3BgWL(5k}mO^KC4* zz?ee}a9SxI+0!RE!m$-HC!P^S2!sFCfQd8>hNuU6ftnse3uPh~Y2MVwkEtyBxU`8( z?Gzvn^>G+NaEOJJ@uWr5rmN<0%@XZZjfXZuo2l8OF+UFl#bjqSiL#n^ zH3Kn0Z);mG!563-Sb`R{8|Q|iQgGB!4pQwXCA{#873}c_?->9}?e6QSqKy{2;40oA zXoY0qz$@|`r-xQl(xZ9rR|rNe9D}eFYBPVUad?VtYQD|%2%-6^b+y>xN(>n=6Qj@t z*+Ypq&F^cV)R{?H#iG~AO~PEfXA2vC#pC!f&u?_Nh)3{NEf!Pc{S-M6tDZ8_9v+8h zws@FA*uz8cgxLsB5rY?VcLHPW@m4Jo@GIKj2Y5h753OiRk9#8-uthgYPF9rK(~pPH zs_3`{d~G0$d+>_}MI)J^FCqgx zw+ok-RH~K9$6g3tS8Y zzsAi$EIjkpB4UhA-3+`AcFlkxB%OIRuAx_^A8o6N1NjIw$!X4X(V} zo9X$PAm(R`4{y$kEsLC=f1*-yreJ33nGw+{kuc0`xSJ_qA}1ZABqH#^TXH%+xj?qI zH2k4p_O{zgaX5mPrP!|VOTp~EfmR?T_&>J?lO6S>oq%x_-U09SBo7K> z;l@+|^Ly6Fi^YSPd|Vjo=$;VQCX1-oko);dVL-W^U|*UBj_V;kZ8luXNVlzRkJ7O) zee9gW1v;3b6UWe~^(rlQX-R@4ZNP96fguWv2;jC!HGv^-G}l2r57E_P?!$q|FRuuo z1&Tb-0ZK+(sx(kMU7QP6rX$2Nj_ z7Tu(HFN{E=PxfXWwe1M+7QrGqK6L~l8#hxLutt9Wo@{ho#u~F&afyb@dx+}!AfbXk z6T$p57ehl6Q=T>ex1!{2BV9E!abR@>#GtI{R>^3>)nXE^W-TUgie5wkh}4ka&NM2k z6FpG2(h5D%2#8aG@C!UrBR-`hNPP@aj|nO}N?&3-48z4}1$(Aac~ z<#}$iyAL*YxLsJEr@yTYfyQyf4W;n=oRvrvKg zjYeon>%(fPbh-=1mQ-XrRNW>ksUq=FV}5pCm~^EO8{h*C+dI&8EC}K!J1{>txP+lj z`1RwzbzmR%JpLDgZN$937#&#yD5bC>9zmGq5k$*^25JJ{BH{DX#`i?A;1P$v23`mT z$8MgAbl!yV0@Ug8Bk>6ANZe`n4fKhF@iB`?!1jVElje70gIp9;syO92>a&ncLQ;$Z{@L) zY+*-Dgngvi@HA}Q=P+y7Q#0{7D~0b)zP1bNuM~RlvM%hg_OI@M{1)5|-mla8 zg>Ki`-Hrb0Lix51z{>@*I6RgocViI&@u=238y7=iq#c}YYp_@xiDL71zOoyObX$b% z=;nZ4{HtzQM?du8XS=cIl&wMh{utIHF0MCL_a9)V}eJzN9dgBoBDq`r0 zC|Lzw_*_gh@q!o@q4<2jPsFg$;U!pz;LD?hn;RON&Xj%tIc5^mfHbM{2c&1`SmKIW z)_4bq0bq@v?@p%Z2pmf7x9PlRcNVO?`#!(FJL?oS44EL|q7&iZ@x!b+c24CDMCs7D zXAchJ7oq0V>&<&7S!URV3;^Q^sCb86zum_U!GL`H7Q4$9PPFCK-PwA#Aj+l_uf_1J z9&EdB+3^-QJP&=v7z%sxQ9aqH9>Xcf#2m1yU}Z#2v-E`9kJ4{-Cesf5w(9@m{F|P* zyg25;YkRWjsiU#&F*KS4h&<4GgBS-^**By(NKE_f;W=JL*V`_3y&;6c2{~R)7_b?` zLbJQTg8N^?812Dl# zW|ctMHOurZSj%ztFj$e|UCgYlwE(+Ot!gf+0+UB=Z#x)=x2^Utss_nPj-2Qr;tJ?( z1n9t5gIB7x3ZTBZf^M>c+qgPMKc4HtSDIN!h^D237b!s}hM{JOm^G*PVKa;N{^lyR zdzw<+1?$3_%s3Jl(GAHNG0_V|hw~%UUM`TiE07y2&Q(lAZHDmoeDd3x0@Vx?Wriv> zgHH5921!!5Q5A(;SI;faABW5b?4TsA#dkJ5uw9EqIA|x7@%!@+<5*<7kEu`a ziw5QuoQF~XK6GPvc^vDfm!uXVRIZz^xuph>VCdmXbu$pGD^hazcx| z@G|9>iAW$91GQ>Oj;`S8L4hFjc#{)kq4k@e?PvDgh|K&jUgCYe1IFqg` z5)aPhn|iZXv|V^qAJ)NK3_aMmQtW+8+Cf_UOt`2?rn1+|`u;@$eP zZq~gNRK%xXUet&~YT8-^q%)MFe7$)g;%U{QOa|f&-xvEpSGK?h%CZ#8#FqdUH6j@S z!;dv0g`TJB$+z}p{%-RqlTO4%aYtVkri{%_KRd`moQKQN&sa~EX3tt&mJy``X%E-mo}#23qET2-Kk^j_SvKa1*- ziwnmp5^r^Ouj-2Y5PNZ$uNEJpbNSKLVlPwevruljmhzl_8wKBUd~{2m^dWo1CG|7!zOEqIm&8#*S5*J9q~0j{u3wy)}JCefKsHP zYgLQqaEjvda7z))|6qA4QQPabiF*%VW5=i7PsasZ?GP5L{#7>4aq!QFQ&Cv&J!so{ zzD<@b`X?M-o98huU(R8v8OjV6`%Fi^Pl_|!R=#Nf>)8IzW<@jk=H!N3T1@5Zs1vXO z*EXJD1*p}9@ZXWoRaX5a4;;w4s_&J2%s|%N{VKMXEV7tq4P?IV<;~$I`9}lUU)mdd zeF6&(egg^=*!>{Dv6u?$T1HxAE9WN@nAL40bjC3m-$wGd`&cLA2Vjv9iy3flKG_W% zp2gGdV~3Qrb{;zjH%&i$!lw^n0m|V|_)CM>Q{9R$C>m30+-$763l|klLLT9#op{U6 zb0KG{HR4qSK;PE|bK_tZXHf9DDsmG|ZL4w<(XQzyK4~!P+b)#qG0Fm|C?Ls%reMBd zF!**$LBpmN+o)u!rNq57Ss~X0kS8;zX)Ems&0RhADzE~X8k(!g)|6@HYKCgehcuP; z#0pUejb>A49B!b{L%qzWUUs5h<~w`&JK9GtYax7KzKX@1j%A6)e9;&ml*nFEjCuU4 zM2Ou)@iU2Rp>{bRKZI3jyYrZ#Z07yvszKu%)``z2g6ZZt$>B>^2T<311mZCUb7j5{ zNmql}WPlewa!sd*C~vH9_?DcH60M8qrt@<{*%Za}5zotH1N|G%qhBzV?GK3C6EvKp z(Joc-2OeYo{G(wkh;8<4;61b0U1jnQyz3%1o{xBrbyWtP}wyTyl9W!S^$Xc%S z;mz3&A=}jjymS-`ar=yF)rl|@zdnljW@fDhI;?;%>^D{Y4(emAjBE}kInGlU)Qf(D z-r%S9%|Nv%;wTO=@7uCwlMYOC{^s(i6rD+H`geSDSk~LMxni~2nkrfCd{kRSwvq5oGC0r)@K>Qa>nR{?{IJb{w;aFFtV{wQ$vX1{Y7Kdyiu? z5c~W%Hn{Cs$h|w^_HEAhk7J#Op5k)Z$Q5+}?*x;qJ4;UxBY8UxXZecBb-OoyJJg6D ze^8f^1PS>FVA6i~;?eiB`{EyJRnM^IdMfSrJFD7RdJN*ZmC$=4__F|IK^8J$^5!4j z&!#Fre!%~}A2>aGEf0Bs_4Im*C_QISr>*5F53mkyAAXMpwc>RHU;F^;s$IdiKEOWe zE;Pl3*T|uj^cg{J+ONS37kEn8n1!|IAdZ{_J?~&KpW+$gnPrsy6ljpA0UG9y{s(9{ z{t)b28M;;G`4}pjVZvPnV#-4S6h9VnZNSTYCiixW^tQ+Mt<+f z9{j+Ati5rCMheOkOAFV<)nf9q98Q#?l$cXI#KH=-ukxc7)>*lj#0^Pc!kE60xpvE7 znA_F)v(^6{K}I@Hk)d5VH)rISw}tZ9%nYtF-9! ziX-Tjs6}MqHB$#1_*aHx0oIyz>66>Xn=Bp;L_Wmy5>qCwVq_%x3$&*Pae&{YgI*Bdy zp8by8y(&OVeuqz=%yx{v;VLy3Q<`*HBodh7@Jm%;g*X?FwSPcYTLd`dkiS;w8^t+* zzZ@yG%P+RcLa>7jT5DJGho>~{MET4^JmSNNu67VZ}0B-MQQ$z&GPV+KTW-~@sY<~{Ne)TfE0 z=>7#+cE2qlOV{_PMyPFS39?Wxnkl%cKNAJ#j5(^Sjo_&%EW#`0?R$H4#M^vX3L87{ zW=t!p?8?1h#IOr;w6mQ)tu6Zh}fnpD=oi$17PfD2l0xsA{1 zGnGBy)BE2!pPI^^@!9zA*x#nIVLrb1K9<^6;xuM?I9XOBfrll$NDB5z=UW*4c%(#*d9fQWmCU<2PV^e1>ynd1Xu4GlbvyoTrSE(w4i zt^-*CK6XXP*6{JGAw2$3Han=_>lltiYlU!s00PlDD*xB{*N?K%O2up3I1Gub%hOr}b7g-W7JiN3<;K91P4!8lqJ6!XX@ zSx0RwAN3?;cPAC|j3-%m&juZ+D-nqzrjErnFM0MWwz;-C0}{#RhjgH|34iiqPvRh_ z`2)gntqyWGi{w1|{n-GLqZ9yu4st!=N|p|C3wYQp)^1=(rAlDPPm$x3N_c*b>F### zIi`*^;tXntn}hWt`E2UxHJ@sA5nFEXd9!fRSe2oIj1MRp2i6-602xzT5hEKh@hve& z^|iD3@mT;Fz0?_$%Q`%R|2>OY%zy2dbsYVpp&3f7vkk?Wty}^xCqQszbY?3}h5`Oz z{FT|Pqw>vu{^@KsUzxa{2d1(6l+gV=IgRyqtJ^25d*eFKPGirTJYK;f!4Zo(C%2pO z3Xhn>vb1yghB;u`wwb{9&taRDd9U($b6HS4e@T90*~8cIF6lo>6P?x)2@?cul)adr zG<82+{syh-#I)ae@m%(X(tigZ^%O3DKjF_lg?U~N1>j~XW-;F7LakSiM{`XtIz))Y zc|7W-8LfF*(@kU47#_pv$PD9QPq9f#$;&+OX$bqz;LDz7sfuX>|Mh7W>^VEAg`}Ct zedaOCgvc*&Mp~u;P4jE#f9&9)y@;mi1DXaD4Yt&sZP>ilX6j}pWGoF2VfSuFsn)x9 zSTFv?Jhnbi;|*gcv`kcnh@3_2gyMzjNodd>44;V?uQ)fYJP94&dhaBptghibve;ir zLLnW5-c}4-=nOPMJDl%+j)iJJ;1$oYKCtxV@jQDv;S~thOR})<<%XuCddxSG?CAAq zAbQ{}@`{DdU`joStqKlJbBE?VPdhqj`=LEO&xYV+TmB{vyiA4p}SsKe_P4(%EzCROsEUGM<(2^ zE#lo405Qe!5etB#efX0LSUj|ZawxQiA6UR1)!KN}Le{U>qUUipedlK3o%&*%9&?TJ zf~221-y${*RAX9V{15|HTh?8^Vj=4kcX_w`BCggdR7T_ea#t9%sI03{qKK%t2=6~wj|8W8-Tp%}n zxBXzJVbec>s!D7{n673zL3fEZy))*hwpMe6AANy^do6`9L-RHmxPae&0c_d$Iv$(O zV&N9z(R9|oU3+k=TDUoT!4^XU5C6osB2Bx9UrA>}LvDCaSqAzNvjr7j;sbb2k*1Ha z{yOk+FS5@-PXF;DyVUnM#-h>(pov<^$dZ`26ZynHN1s;htAq+qKE>O<%wE?%y?fQm z%tz~02DR1ZE-!wDZ+V49N3Q`0Ip3zR&Rwm1Ix0V}6xOK>lC_1-rE9O|4X@xt<3ER| zzRKY4Xc%|PU>yy=;IvnfM?981;<1=N<%2U=m%uEzsm2s~N{*Lv>afB7n9Ubuu%T|h z+A$Sc(Yux(%V1-bMja2xWH#lT(fq?hWMF6Cep5URcv1gQ<$GGh^)+=)Y#${Lz29Dm?jV||2Ym0QuL|lF1ELc?S zSs%-7CC7`Bk5aNZwTTLtZnqRLUUP2UgS6cenlzryl_4?d*vB!w<<^yBztN4gPb{`Y zU<%*_m|2sG_yeyqLkNH^8dWV(4o8Pn9?M+R1;f5Cz0PLoK*>A!udlPgyvrNx2jxi} z?>-a&AaXGq71$0|>xuPKYxoB&>>tV(EoP?ZEAOiWjLP+yd`u-^K1b%(Ah2&J|7J0J zBI4o4XepF_qq9`v2R9safZeuHer}yuSiy%bVV$*Oc-j)|_U`=H5^(x+=^UgK7eo{U zSV{`(;O`H*#H&ekf^1$I<$3`h-bpI5LS6aMqQbi58wCM{cYbl^ zh~{&bvgmO)3L*;coVpFk4COXNG@7{_PHqSZoRIkp$zFMLwQH7L?<_t7ymqSIQfwv5 zWax|+uU*RgrXR!kV>A_suoR_OiuINZAbxDU*6^TX`mnF?D3doY&b0Mf?G9z8S9=2h@pYLrC(ah zsqvaa#Iyse4@cX4d9k9dpC_MZk3mR4urTkp~tc(fnSd5ih`kS_Ka z;Ro$p$KJCd(vN@l7MtOBXQ37+WNDm1dIYKlmAQ})ew#Hws+kX2&it6ALBo@mvt;Gr z_xKmf0a3o4&!@k`76m7MCJ!k8g4InrR#?IQ%qw^e!mD-cFoiBR)U#d}5wHJZxB+jxRogCqc<A*il$W&zmF3bS1)&tJ)&bzd_J1svl<_o=+&D%L@9&EsQNF>AOd z;&EiBitt@flRXte4AgM|CtE5%xQcz68MdBI?S=Id;y!Vou+TD8oIgQ>tGBGTjRw@R z2OL=q(d2-<_zLmlJT18u$<&tHb>{h6vcQ&(x}9ooXGkX20{zcH72-bRG#NJUvl zt~w55$bOR5bgf40K%~4||M9RVn1Ctj3jV{u|9F@6>OE`Szk1XGJ!-bx*{i=?Xj=<( z`C;Ts0Uoedi@vEm`8_a=M-Sw0ya$n(sOym8iH5n@>5m%V{3VUh{m&mb(fvhw0ca|u zj^JH(r0lzfrqyD-73xGTaL@o6U#m%z=c>;jSRs#O`!;doYBn~kE}1@0?RgFn}Li&DJTAOZc=kEYSP0L@=WAqhKzWj%s?ocn#~+&SfScR+ToR zZ$uStn8J(KuyG#6*|K9yiYyYZaiCQTdiN*IsrN@z@$WnN%C1NHoUI%r`kEe6fdX}W^ z#~)wMM){Q!*s(xYM%6!&tZ_eHyq>k6=E3EPX5v&aT#D*uo0n)$N6a?f+-CP;#j1h1Z6=(OdY)cfkS3I!cj%k@k4=pPKXfWItK6x3lD1YNpTlXW496=F1bL5DF|*KwNGu z-R^tfSE?;<9YjV1VJciR+vH1Irz$4`7V+Sz6-~7%YCvM<$;L+@#MG`v^um4vhK9Xi zN@wEI{svs>(GI6<9p}_f!_0Mj(g&<- z=7f)dOGs8!RRy*Ku*=)w6odDf6q6r>sYX7aUay?SPQh_mXS!68Vl)sLQzP1{4b9jG z9F8jzvi}nGFzMowOb{r^-smfq`pK!-M?ii~043w*AbYAK0azKfQD)DKDFV0|OisJ1 zwTO6frtcy|tRa_P`zT`8OnsKA140`p^wdmUmgyz2R+o-!C&}7CSQ<&rr6*+I&w(zP_-|q0NWAaA-3?2-*qeQXnge zJ$B~^tjGEwTVWk8?IFru;8|E#iwc=Jg_z8iojE$A%g!8EQyWLS!aHUU8JX?|OGHJs zR`AJu14^QLPg@!d)`fah#Akj4mVF(!eZ)Fu#(On29Vo1W>U(}v9y%4B=i|ta$%6^q z*t`Jq^NqK(`HFciyiD1iP-ka#qdA3wPtVl6hRKR*GLNO8cBUr6bjsHoud*p-9?@iu zrIg2K`VK+H?v3V1Xg42@0No}ThJO(O$$Ndwq6~iH;SuH@pqOmsvp!~1MnC&1SjwPq z3NKV`0)QcR61!fO(Bg7S!~@8K=|T=bi_6Hd8aX7iXpZRiDsPj+Vh8S8MeDW@zc6{= zDi-34sGDk5t4)=SWK?qTYuYq<6wr#ZU-Rd3*z11Y8BI;;h2@3El8(d6OI6`HWSqp^ zH?W2J1gtBZ=$7#}H?R@Cza|4q1h6*6s}O90+G{xsf}7cDhI^whzs$9tu#L)hg?!T| zK-DY8a>pmkPgy#aU;2cNd*DWcq6yHE)JrkMQZ685DYmV~&PYj;A}tfrbrU8OO@M&X zqv2uBlxATUG76PsIVd)x)bzqSvnPM;Q#6s$!0n&1PQAZ+!8xOO=qwE>N$uQ)syr3Q zuU9kFQdoY2*cZ9WM%F(5%oGEl(H&Lzx@bzXiMls$6keNh=>%3bR^v6x2}{0DIo7dx zZ@s|-JA3U2K7AwWJLa0|$A<*boA)kE3h4qOL1=6qO_T>d)A?-lMy_W=WY{WBZbTWJ_G_SZBl? zqd|=r?~JH3c~mCv94)He;L|>5!C^&j0K6y4E2}#o98{R|_S;wrE+S_KU;8=hr3Amp zOFw6Wm8spi=O#ABzhe3(Pzoa-;>$O&(CE$&kyvNDoq6si1Kh6=VdRM@ z8kJGCRN#^dmPZ0F+k^|~%(wa9n^>QL>1fRmyWOVI=X;srSEmt(SV(ap*ueVkH0g2q zMttogQ-qrO6!lLLm%iY0a#>8sF_1t=3xgc?sZ7kc9HvL^dd{HQ}r-fjY$HumB;EkNT?74_P1Hk6PB|v)5m#a0n$SRI#^P;<%Pjm9rz7R7Q|mf z-l|+*i1H2I%*Pk9DSTrgo37N}&s{gOFz+w#zxO>bJG|Fs*0tv)EK{}qcjTLA#(%0U zL&H?9UT6yW^380T_n+hbS<{`(?D-A}cQM`29BKLf(_7`j_cx5w@tP-efqc^zHqvv` z>)^Pm#wn8d-7PH1B|8Eqd|p(ji{#I2Wj+D*AJaue1w4{M23;<4oTsLH z`RiX`!#(yIFZ_aqbei%Ss$yb(E=US|b~xt94=K-&hx6LQy1mlxHN2CCaPb9uJe-J` z;{0d}uqCn{%#Y6T1(35CR6n=-`19LY-?pO)(Jl^xkT-s#knh^gq91+JXv|l9mbdODhi+WH1;z0HWGS7x}bJRyy zNODVf!qw|IK6nR&i`N(MsXJJp|8&i>nqch`;Jb<}S#EoN14Kmm@*ONdyN-Xh1IInn z0baTTBIFMS@k=|vDlOp=JHZ9s!UyeS(OvIkLZdGbHgTfL^Wq(OA<2$h&%6+6ENFWm z4jVA6;U+(02flJA2;Ym1?OU#djUQB0*9t4!ciB56+!fw{XqNug?{1m6d{_4Et#{ey8 zO>l=ox0atm726OFK#&MP5CVZNkcK2dk7uHoKMaH~>;OPGE#C*IE7!~)`;xWqnuz#+ z0rifEx(C!tV&uU(Ybf9RCF>tH^i_cFu>{1&(pw?`yB2_b0>xNg@5=NJE*RMeb z&*EdgX5Ex82lItrv(7=C|CxsXOEVnb{Wa?s@s$QABGRGGRsnh|FbFCas#_6umhANp zKt7AV@C|z=xY@RGh?NuoBxX4jLtCilAgKushupFkld5-@A{E&n!Vj_;~RjV41PXTpi&L;Go|c*Ua)ewL&|q z)i43=^N^dGU?K?x%!Vf9y8EA8?;@As>_1C>NO6bIfFmzD&)0c?^R@7I_TwA0Y2@dN zn6JU=tlmZJe;?InHuBp2(7EU`kb4xd=-3$xngy#+?1kslVZp!Rb$uG-7mS@;dpENq&C-(%V={9e*f7)GDx^Y4pTNM@9?M|!b7 z`#;U7EQ`(HPngFwy$P&LLvE%V-XHLfW}DYjJD_#Fv8{6gLSTd`*URkVMB8xSH#s2q z#AG_+;buwW$6qRD@i74ln`ix}^_Z5z#@6j<|Je?&E@tg;g>kbO=0HBjgqdG#YMp&) z|Nq%7H*`w}!o&^V-Itl08vgT9=TTkV>4TsDPugRYX81=t;b>=QGbM&;ZyrB0FKRS< z;xr`IcLdu#SWvAlB>Y1RvN& zMYdP|O#|3S1V>&pN*XXRo=-f;<|;#<;|C71iP`|}e~7&mp5h7A4*;CJ)$WZ2qsq_UkS@wy*xO%Gtg4_V}QWj{dtw@1n zHfd#w8&N#Eghln)h!X1cr`~cxn<$F@70yApx%~UKqS+M%T&5l>r%s&SjZ zMMxBZs9H6I8c#8fltgi>4_G;59eWID|l9kUyfs~0(o13oiLBT_HSrPPifXOU4#M_qY1XVVrNk-$eO1SwIf$v z0YTF2w9cMri~{3DD;Do=Xj)?*!$1F)`96>f!UdcmNxUh-LN{}%6lif*me}G=%o9g4 zu!v{k>&Qu(cLbBv%CXt-Gu-7n7VEJ{R)U5W7V*UIn6ICg%m@Q!_ne@OKEoe9&HTIn zbeQV+M^cM_v@DYK2Or;gCD^k!FZ_;$8aJ+xlxZ>y1<2uan$ORD2SEX)H;3oOK^|W` zgLxu_sV(pEz2&SET$-gFh7eNucYNhxP&#LL-eF{K*u}p)%-+>b%UIiKu)Y+g!vC+&&A7u|Jr6qj*Q7AW@hdD2M2rfDk z#dtG6ag+tNoAd)s@F+<3-5c=qGrZv__KLYJpHm7#YyLBQMJa2ijL+epm$HtX+@P}v z{kV$Brbis3g*H}hG`;1Z*tfc+{%$yPlmcoydh(ECET->rs1lM+-6E&{)8w6Z>KSu@Q^*zCh1#CK@*_j(+x)UdDPr~uj z?^H5)t{nRG73$Ejs@;%1)i@s3n_Wf9cXAc4cn^9&AewaI-H&<1apoWTa}Q_`!VzQH z90^%`oW*Hx9`3;>9%qr6za4cX$JiOySZX1ZF>mpa~peD?~hAOam*$Ts$jInZXOvI8|U09F!<`CH=+J#>ciYQogID*PuQAfGRL2P+y zNti7@^K;n59jQSfcXlSDF~a~G2+A$jF?OX^`jTuP5`>(!j2%mLO(MQ zg4}@E^vUVA`s69<&L>;!&K-!ep)NVOY>E=#?HDEAkKsut*&yY~7{2Nx^XqM_RSNWN zr9o;aTBm^s+DS(v%sGK$mBEvOic{nfhd2U8D1@D4vy|L!e2|0n8vW;fER*eEDdZ|9 ze_)W5b$Lz?hclfp$zX1=={QbUx~WDT;Q$Y3$yRy!9tSo}-#~uB0bLB&K<-<{qT1__ zy*1(}@A}X1wXWP+#)2{rA^!it5(_T<3rn;Q{V$ey6B6C_sQ+MyBvkt^4Dke_B!*aY zK<=$wD}W#dsTg8U_P;QM5t;9S|7e6PM>r#Kc**eRCBj3NUo#=2Og9sj>470QNlf z6my?80`q^bJ1{C~)0i@xhxbvyEw#RuKzv!a$-?pY6mZfQv9XKOUS`l?AHWb_`m}z8 z_?(~j=##i^K#J)XzV{UKPiR3Int$UA!!Q5F8F0$*w{|*iKVTaH3vUPaKFz{=t;VcL z=>FmkqD=I}4TQQEP!Ey!UtIhT)^H*eza{@oy8jG+=QJSxvS^7wGKcSWA`oAQLbn3Z za#fk@HJ7ayYjxHOv^dfyYm-hTkzdpP(U{?*aCm-%ZgX0&WAjP`uYaqYN^OR;2XSPw z6e+NQM8F-99LZixl6ixsl#eZEUG)o^2qVM1Xyi@UxAQ;DB0UbybRw?aOC{opc1~kl zo?-(k+1cwPROq;*5YLyvLqGweyzz9?XYbRC>6s}o*i8_t)V!EyBTqX6kl ztc6778P=ig-Zxt?Q`abd{R}Xl8G4}q1M`KSWsfQT8Wr9oY42~NjAh|a4 zN7luAKLroyo2B0Q2S2iqSrgHcR3yp)mm|kljCO`Wlj04gnzJ-8CS%h?z?|j;r(E3h ze^vzP6KNK^H~@7RIyf^8l$m^5T8lWxqMy{sNc0G0oPzfR$%QA`iO}dQ(DEn#2;IUR zoF-?mIs;dE$%e3Br}$Ql7V{AazYl8CK_pcs3vKw6DHT(U)$sj8@o+Jo!MB`)e#uAS z+;NWeZja-sCf~Ez)9#ZGO(>PN*M*bTwE7+!&O24HLESWnO9m02`wt=>-2<4Ii8@kC zV!;?kpeBsls#w>dGs2nyZ-1h9z$}B&EyPL4`|d9JjlX*hkQe5+v1^X5Xa>BwDrw#! zjQ?E)YX@8R@xIlpgWucx{ueBIx|+odAN${=7UEX5hyxG<#P><4yxDN0S>2fv0==G+ zSfs#m{sh|}qL-J-y^!R{^GPO5l;=7Tl1}*((x55jX%*n-dy@i69IU!vg2wY@=V9#TRuIpn=cg0-cjws@ zQwDOUp4QF5Ne}i#;2W$@5I6q>HHS1l<|j5QtZWMK9Fl(p-;X4k&{;?u11VvO7lrbZ zKjETaVIb;&;upwRDY*Di;M$*ARAzND@Ys3p!bVjZ@xdw14)02DXgcpz*r=+>4sVYB z7}2oCbyS;H>?O@Ge}wWh3g6TEG^08c*x<%cQkKaz0W0q)i?31o0wGLnxBxZ$wG4+K z!l*{rn=^Q-;rCzQ`+sJ!%K6FskDr;p|5xtKM2tK$2214CCYvY-KNmVbcH;dnunt;< zPrJanD|aUGiQsmF8MGV6B7 zTvziJ^~PbzWWMMkBv0PvA6;Y*dHgj|ei#?=_X1vjk#$OHM#8x|Lc$X?O#}U^7`HLe}PtoF=9e9_O(mw>ob9$xXj*lD@ej;)QOwV^4Y(#K7Jd& z1}Gg38&B32|K2!CZvT}H&~E3y|H|V0UeT_zkClMf0+A`ARi6G`%jcFt$8cMcM74e2 z#yJYUv|;~?3|S?@oi+}AVYupw0E)0Dm|lULYD!}xQb_8!^uC|$UnaZ0jWn$ae=Ux!TTN_S!3Xlzp;p3uNwe^ zubTjauS*y#uc*``kBUF8lmX6vr$^vWEa4NYfzSU9wqO@|HRF>JRF+5=Tumg3yFN~w zQt-J1qvxL^2{)O6@JcP*s7jU(;*#PvsJNvM>T;;kjNrp!7bxOeRj^*uiU0;)=#9=` zD%RX;;_ZKDM!x{++&|eUPJ+1WHOGIF{wESj@ZoR$&O(AZq2H)_5`<5%mvK%bIv7aG z)rS}T&O(C)CJ*UhYI>^-C%h?xA8#v|n|_y?>mm;mtivD=^Z{eO<}6cUTM3w{Vz_72 zjAeIab0uV^qmpJAgPf!$?c$k&`FX^vq4mhf%{460%NG$Uy3@cI6;G~Vp>ux41gaQs zFL(;AFy3J#q+rn-wJ@dxP6te5m06lO9WRf=!cs)y94uqtE*dbn9g9(<85Q=~D8FIa zGtH>*X(*|H+tF*khl&b&P!(En4d+}cPN;Arl7Qt(fcuKDs4=GZ5Zl*_ue;7VJsva` zgqrRK)Z6xz*rr1cUS1BRpZE`I%)Cv^k$b3d9wzZgo9l2|uLN^MWy*o(3kW>q zM4D$Cfiye+fh+1C@9=SdFmqrO7NXS3AR8$64pXmg=4<|d^?HAdca4a|ud(Y|5r}7% zc>WVWL!gdL=pc6ULa&CV|D)?l;G!(v{~iM_hrsRva7b@v)@L665(4CND6YwmU`y=i>Ue+-a0cW9lPg+uQV#6 zp)QlRV>$wOa*eiy=J)sMoC)PqYqVXuH;w?+;CD9}_P}P*rT$K%aTiD?jBci zd{2$GO>`W!)a;fvR6=F-WNIANgt+!PZZn_zGS#9%V!1ExdmXR7lb0yO%H`|-wO?FY z>A~6mPI7N0iOFNSvmg>qw`S=6b6^3G0iY}_>eQ0JRB9UIlCD6NR1i{z@>|!n-E@0L zU_2?*<%YIri0i=7xBtgQlh3`O?HD)L$?bp!fLBo7xIZFE768mNpDhsu+|}!sx|! z-O}#&eLo-Tu_O?dI5299YqiFKRW0yQ#ukOv$1OAT9&nOpfWr==0m@tYP9!h2jWYPT z&+}GTr<s+|&|IUzT|~)BLTfX$05Y(FR7QuZ782Flfm!OD{{6 z!}mja3dYBi@gMGJA8x{>^leWDKE6*6{2o#pU}5Y!nGey@sTcMTvzT9E@}$PeJu=wwGTK!%)ypfL=#Ye@NjAp!(v zq9iUo6wQG{TZD53`ixg-l2M4nkp#N$0A$C;YNBF6Z{2dlG$;8+X!y*#+OW1mT@`Nx za|8g`0VoTAurG4bn#HNML(O>JU2Sa0xB>DE_~&5xtyuZvgDL$@yaq5EmWJ=fjCG`9lr@8#EyoJSIAe<&e%Yi#9V>rw8BH z072G4oa-B*c%vJ>&~7RhEr5NHX2w=al`ozKJPq9qQ%j>GIFU&+V~5T5D5F79&$zC? z2I?6Tr$SA1fD*G@#8!<53WC4Ew>eHf`RA_%l#ZaU|&Z9gp(2(I2gQ(g} zrJ{%7I8z(PDWTzTN<}h$saii-Z({@M?TRQ~{RxYLgklFZi^)DRN%?Z6p(k;Cr917h z;57Gk+;EC-kiBtVU)k}UaGdFlTa?f@a7sl1e%&3PP7QF%l^>8=o}Xx(o8`Cx1~QAN z$BE|@Pf=yBD8-+HlOQg&%x0>_CzYs)a7slQer1he-OP_Pg2qmThA26b;FLA?QUcxJ zl!}h{RXR|5UR=J54zxmyIUE>?Z-%kBydV(R%X?`2I-(oz^pRh30}i;<8n5=zWYd)V zf^ey*#IO5XR#R2SD83+2V=RPGRVu#&5y-z84wZK(!F7~PlA0)kZ>l$xPTqSPC*R3{I&Sh+lWT4YyHm7s^$@?D0-}e7d2ZQ;tw$ zE2U5XC1y5yDIpCU*jnk;tO^`~DsiP3w|KDDlg9w@NOR4;5A|dVvZCp4;5aiH^OevV zIHlrK{JJ}WlU60(Ma<^>D1%2atmM|67ry}On2?a~20M|xd8r3`B*YK-jDZ#F0uu7Q zL0wEkr?4n`Ji-TfvJpNp6x4`I58rL%iz8WZ>mtben5Q))fZ4;jE+ARVL$ws3l>)0R z&wB9#o~&2D-aSz(R@zm$(x}I%bRufO)eD-2h!b2R!lnX-Lwc==#V7#U4WH5R#1_ny zeXfVB0C~x5+DxSaEmdF-nduZ+h-ln_Jha2$U{t?WLV0jX#Txv&$76CG#)DLMI5qY} zh8YfNx^UeFRs=S{0N9ED30}w|UM?3?kTVUMB%q@ph}wlD;6u0$iwQacOs%NpA;^N3 zlc-L6Vq*^_*ac3h=zw2$)4$fD=^%<%*sqT8ZaNmx>UlHMvR<(3o)|xB9?cmnZ zirE}U88qTuWH`vC?U|lWTrzR|mX5`$|Hq@fSg6{M_wi!wQcfkH;(&^LsBWoL3aLxio%Jat+~Li-L9)HVn|1D;K=m3brpvJ!MKxcc z_`y0dySPBnyg!)#?ZY03zupaH0M>_5ey9;ee)=@?hj(Dmm(rj}0Vharr8@O^{)#V) zAE!gG@na-oYrGE!G@8cwO7Jx}rQ&7$y8GGlI{NtpV#-AZeqB`_z&b<^-+F-G@MY%g z&wyKI7`v4VU&`W7f`@M^IeI?;Ix*PNJIi(OCv+BI-9^w5MeW-EZsRu^g+=KV+f(J#*)NzOIel5PnRQSVA-`s zjBol`ISP@Iq6QtdxnPl}ONUE`?U&G#;}p>GT;b0`5~!@fr$&=eT_#dcGph*{qu@rA ziNSCnNry>Chn_?apeI5tR`L!3tW*5!KzcK%55FpGY~U;g8ykob$P$fx=d_s|^~6y1W$Uu`#-02WBt?7a;GBIWp?_*%I{6d>0)pg+;4GbLC z_5Ao3thFYvAHVhmYZZp~#K}1H6e2!7>RI;165aOF^aR4$_4nnXXlRQmA!;bbcbOIY$6~mEPx3E`#We`uvhZ*8o$hD2|E+~Torr#< z33a-2W@fp~1f!NDEzti1elwU2)?AO_eOj^T0kg3pNFu`BITR0&RY6TDC|JJ6sKfY$ zW&5AOm+kuet;)Ug=gWLqE7m7qDW&K);08)7_VYSk*@}gWj;7?|~_A0O~BYvq@Z4R4RFrhS4t;-{Or?GtA9+jC3nzT~yv!GputD8G}#-M6!1 z>pA{(80(O<7VUv)**60loOsIda`8|HoVP#wTVR!JTA|%L4^O``z8}RO^Z-xqG zEhAaC2cwV+>v+fjAUt{Amc!NoBpw7rV>kAW@gWGlQUgie>9^ z=JC{`(4NI{6}mr_ zR%+VH=!cZ(=BRT#ZyUw>1P{mABk@;xSySi8C zvLrdKz!wf56!G2d$KQ`;Vd@clT{LSu0Fi_ZGDry}R(UzDkRH`qQ-O|Xc@Xu%5UYWD z#6reb19t>m2yL4ekVv>1@5e1nted9qH$2hAOoqwo-yJuggRLHP6RF1RD1X|-qI{2H zv87ZbPeF+doSRsmL0wum&CLwS;HXxk7mjMwTnAa1M1#b+u{bO>oc6DgWEv|%Yx;pigXr12{; ziY;4cBK;A>VD;?7pKi-u3YvQd=5-uS$3Yh&QHO<4%xl}S{$4qM$|t2RTX_E%wnuX} zf~(uHsBv%qfklVW{2W`?g+g2>J@kK(-iSU?aw!e#MMy(pnZ1Y8-oqZ>v^>kI3S9t@ zh+kz@>;0B}&RS*HMan`AJrztN4S+Bhjbs?3=#&pFwZ&!{fN!LsL^aCGqr(a*<{Fk( zCfCY4z`6jc3?;J=dZB%fp;E{(>z zU0FI|HRZAuqaTisMM$!g=Ei0ky=qwc&t>^KeVdxVd|f1b#F#Kt>G?49oGc(IDQ4H`8#$)E&m_F@;CBJgvBXLop@n;7HRAg-n4+5MBrfhp*;&89Uv2| zLzE@glz1L%gVv-14^7B(ABLkN3}?bzH--Z_=8<#np*LP8Bq`#_-PW-1Zi)opzvPQe zITpwlSEv3)*FKl%@osTq4&T{s%*SwXYL7;iy=AzivehoG$vIp$^gyi5WWgt zTtX;wl-Du=C4Q&GRwOn%gkM7qV0BHTgQWQ(e2yRM$XfL-4AJEf4p8f3!u{pa1y@Yu)oLz&n~Fdg8}RiJ~nI=f6U#bze#I zdeZnvs&O$4zJ1e~wNtO><(*lyDLzDL5LW6e7y!p@Iga@(B}*bRJ9r?DWZ3BG8^_|| z%!*?fE$8=epWC@T_z!Vx2vUN(u)g670Y>DhU7w|f_$KOu_#`gbVtX*3)rC#fObX^F zy0A?30N%MP>)HOftCT-K0MshAi0Pp#eqQBzXIZl^Q3-{)`$kz4t@bcJjGFr8ul;+373z6M>)}uV z;CMVx*z_jLWe*B z2LZrmkk$kMHU9wsAJ@yz@`-f=z|sAh03a{y4)iwUH+~eZ&%*(L5z5Vni|(uy6k)XJ z!8(Q2q6NB=xWuB|?AeWy(fI{$i+ zD8;)0T=ZaJUT-2E*$UfpLr>OK6Ss>G?#bE&#!PbG7Y^Y)9M`3oBQOWTqBJXi<;#1r z?9QwFF<>N^AJv{DJqh+SiRJ?ZxDK9Y*8@xZFMQrt3=blFW-rz&$hMsHz$61EHwoph z^0>>deZ^wJD=*>Z19Q+#k7&xm$DQW;OZ-MJmgAR%3=>LX0>Z zs1}BHXt*;jMyJ2wpY#PacvUwS-`F=x_%D6g^z7a!Zv^ zxD?sx6VXx$;KfBlFU~ULUfT3 zLMs053J8G>7of-?f_)|y;24u1rd+FhWfdhmus2A!ol|Jg(Vtj>NCFtqTV- zwc6AIS<^u`Aib2N#!q-!(1$&4jpV!_8C&+N0)8l&jnSk@H-aY&Vo`&pUqma)lQ0ai zh0w5cft0_bLP#P@3`O1knHsPMIO;dd^e`G-`DyyU<%eY=}|PO5KVrEy}ZFJsFOqGtG=wctVx)zEWl3GyjJWA0Y)HK zsf<=@1q>sHxEN z_ZM<^#a-wq6>1~-xX?G~Y5*W97hh<2|Do(> zB9qL0i1!}Op3qc%$v+#;20s2F@IGm*DQ8rk?o_(|h@3mQ8Qf>m3G4{G>El+StZuq9 z?vv~4N!prA^8<}ifHlF^v;?0n$9lV^&W8rV;SQcWg2ndHs%1aM1=5>=MAMe!2kJj6 z@extu2mkF zq(;9oma51D*y^rSk@YRAP$LF;b8Gm>k*tsZc-m#86$gDUwm!-ijbwB52S_Cb!6xN( z|KLwNY!qv+S$B;O9>qGe^#OZ3luH7Sl$-Yo*n5;y4@&rC%()u=!6?=_NPV*Trjz^d z)DQgVDApfr1m2_Bqz=7*aP3r_gb$r1h(Y6UDmStDX6W<-Uo;w6<`lkVG<(wUSt;_} zkoc;s@}*MVWekvrlYH11);f45_L9S8hOuc%Jb&b`jbZJ&{!xzsTW125HZuTN%CvdZ zT2iiN9%{pBaEX%X-2V`%<^lY~7#0DGAy>z+o~>3R4b!m1ALVv}*lzX&`MT>1JaH_G zHnx00EzQ!e0F!A1jBi{uFX1zh(0vCW0v*c6@9~yJw(oE;)Qaw4ya8aTHmrw&9K$HN z1S_Ge1B_J0etg$h*16a9JF>asU;$K`i`F=)Vwv|NC9ffPspAjBFO?4HmPNf95yeg8 z*a)wWsVtO8`E7k}9D7`?`Suhqe}J`%9#nttQ(NAa^>2i3M*4Pah9Nw3JnQK1Q4h() zR8qY}QcRINWju>ktN3%{*(CKG?i>%Q^wU@Q-SI30P!GzmOq#J}Jki2B2P`KgZrvD& zWeWjojDo*xVKK(=ztIrhjeG!Ua797CKIaY#8x}U_4}ctJz9|n^8+vEMTuG{;v5fns zu#WBPYcUylG*?HxfqaCxa$%aZbxMj>Z1m=tDXfF0<2?RW3J~YRD1!pQ-rSMGdIt5w z`cqca>D*X+68f>_bzYl-Cr=YMJ;>T+$IQmW85F%|i584R%DzOma~-t!^W5zeHCSeFoK_{VjK9JJyBHyIkCMddQS_950fZ0$_y za2UD-MlP5f0k0}`ii!Tb@*$QG^uf)hQLAo&5r^_ddMj!FFnh9Bpup6;i>U!noLFzJ zzk}dfnyHIYW!x7^%BZ{MpDE=lN;zac#ScHsdS;hHgcddJ^TbTxP4+Z`dQmB=$o;KS z{7PqKOE5#skIYeE^ zwZfJkxeH+5bLvf=^9XC_?LU{U!Xt$F1pnp{7NdFS1TTMtjYyv`orYzs1Z0@Ug8!Pw zuB0$0u%ZA=1Z&YRY;>5Qr4MQvNZ19#K<*5t%?Uj_WX5~p;iB$?_msK|MZn?Gccj1;(W%ZDt` zL#k}!>1iyseH)BDF&vUuj8x!OY;oM!LuP$Iyu>DZO_D?Sx-{H{I@VxjG~$AW|3SgK z*W?aZrQz}EEF|E)qi($I(<1=2{K8YL6@NCJ4fB2ZPj!yz z;_$tb0oc;K!`zU;`lY;!Xu@D`{_AE-hLNkPWpC2JN!N_#R|3_|mZGZHfK|G@^WZH@ z#Y7H1%vWcy;4mGwT1jFmZnY8c)o4;rmL#H(v+6lsn!zG9{SNc$3^v9@J5%bj`B>54 zA0_Cv>!_paZZ+{>KbpzH+S~$9spKfAAx{NuY`~492w>KkI0>UM%QIQW>;iOG0{qn~ z0Q~u?iiOZ-t9(LDV|`;WOV_`aU?T-$?<-}Yp9(o)Fu)d}#4kd;elYnHZ0+$+syyu! zm#@T8_&9~5?u9ET4BD|@wyOYjS9UA}m6wa$E6}WKa%Q9f(@(b~%p@gq5Qdow0!18k z4l-cqoKzqp*}ESqiw`dw4Ayr@v38axK zegp^vFi(ljraO7bW2^^kO5A>o^$frE7rr+D_wz7g*peA^L#G&2xE9Zx6G0U0vW!1H z5ez7o_=1V--44BxDrY6-ZauEwpj-hr&&=|aJfecOB6uqEj`QA=K#)n~k4$1i)z|sT zNkCC99pih*HT=Y{Ok!;`WyiSRWY#0F$Fog1O4H4}{W(5iGHYX)ehfPVR$@W!m3O#D zkMZ{=vsvT+z|Kj{@|-|J7mhq>OY+rAr-$k`;eHS6MzIhVqjN!_$-f2?Bwf_)@p$I) z1?iuzwDX_AN?Bc!I05^AHXk~L{i=R}cb>{JH2er(FqI`~B9HKrsjP>l?Gb)wDjS`> z9TT6F7ltMC0{QYazyP5{q*4q(up+Mqw8(9&t8at~6(j6!oR+yGkh{c{%)}=$If{}S zWO5Xeuey_8l*uMa_V|O^G9meTQ*s~i2-5M!g(PZCBZeW24=pPg>nw16T2fw!Emp$D z^&pT_xlQL@RZ&dCb{ zP^R(voj>se>kC}t^CwvEAzxlrI-wPPk(EY0FU)X?YWU2ZVnT{}aKouQb}BEiykM+R zdnzxa<5#LHs_#>>x~4*`g-i!bP~&1gJ^8k z9eCD|qrMolK8XbO;wzqFrgoi??(T81^-|~NH+Kc2I=Y{3>{EUB{o;oBQ~20vY@p`P z8T`X(xIO#s=Vzw@1*zr?mIRDpmvKtfl{v0Dg}?Ob$8xV3EHe9an!e@kG>A-*RzSQ1 zEU1Cj{=dqm6*{gc&sd{yauqx39as0@r>@*l7x+!B*Un4s^o~e(2OeO(N1;=T_>clG|Y>Gn@ zV6kPmc(ayIpUEE7G<4=WX5tGsbmm^O*Z{A)7v*})y1^~8SghYWCvYX2P*Fe{Ve4=5 zcV+>nID3n)pT%ZIevi9z8u;igs57+Yxs6*2Izeu)leBVw>^Sc}n+*@WqlfH*{&mo; zOhoeoqk1wBHc@|JL5k2^4+1PsA%ZgdrA@JzbFSt3OvTT~uaSk*^p71p5sY&U` zXFScG*Q`Cx&ppkeHSgZwcb~>*&OFY8pJ8SCSF5lQ)D@6Pv|DgB$*kdbo?(faw>$8j z&$1rbL7?XDj+H{I-tbDIz|~5*HZ4~XwvmcG3q}+v@SO!zKQ9K%SHp0$Vz^^_NO4?d zNt_t|0glRIYi_j%4%kdf^v_Cx@Dq0c67r}1vu6X!!EL!(bQ)uvWxKnhP%b$G?bo5(ucp_sD52An$ymqDDrO=T~#J+|| z*#1O&GeC3k1yV}6Jj4X#A_ApKr`VR+j%bNvY|17dZcPQq{7406t3ZcWDWz0vl#<(Z zDoBcwz^SUAVeA4F6zRlQ8lx1T?mS0DJjGwXyNYx}k+SsxVA{~75#6{IH0`8jfjb#$ zM!}qU<(zD)A~Oxf43(lqDC$h5>2anN=#th4tPeP4OFkg5fK;|*%RW(yGM2p-_zfLO zZJ-t+90dNi*;HOFp8AvE{|qHC?ROYQVIdJ_a3o}889;d{wyKtN&XHqWW*d86q=xXX zUSNwN=7X0Dy1{=Z2|xx*#WdRrp=MTFp7KA|p?@-Qds#B{{uLRdBLgd0D{lYgUQ9qa zUf!#Q4ivBs@3#9|fcczG*K5ia)~xqU|C?|5ADhw(?^nJPOU0DYgz2}aRg0(bQP6uP z+D0=F58t9TC8EcoDpoF9P?;^L3i?V6sD}Z_4=0cZdyX9&>IF zVj_^w)I4_oHpIp@k13*(al3n@<_&e`4b4j?l?>&{Vi0;{&^cMM=nbE1)n5+R_HItM zT;iEiKrfkO?L;38%SNVm8epE>Q6Ch33cPwiWkbdlO-H=$9Uk=(w#4bT`S_P0a&Z9) z2S|`#QkvxV5^i!4+P=~@!f3EA zWGIz0{JBK*1umDbgW@>V?!YvnB-~v<8qm`XSQ?!!$))k*6s)aV+5+DVcJG0PwhHrt zy1-9w0xRW>h3FLa&Tj-=HDU*>E$ZI_M^S;UsK8G#d%i6;X@|~HeO~N6f$2dnF1~et zuTH+jQ(uPA%O$0b@u)+d2EHG`lvhjQKSl%dl*9xi+R$I~&4#1`Kg;20@Q~`SjLA9 z8wzx~s46Or+EcPTh?i^C5D*B;lcyLBa#Vh#ROmi-)SKt?v9GY$CyxSKrMGHg4xlHv zM~(8qX~etqR{aeUOJXyi+QXyj+x~Q~v4j}>pl6oaRf{;Z%bLAqr=3;fEqnA8P~4l| zvXxHoA75e7Q!XoqO~plweRrz1v}y+`Wrp??sHiGJK+(gWL3qVtAS{()Cl%6)d=$c| z>x&)c+DVdiuN`oUCaX__4syIyMs}>(te6e~l0>)V4dA^1%)No@YM?xOW>bwCG4LY) zJd1VgIQh+Hvy8*O-lj2xVD?8Mp4MQ{AF@=}pZT>c7S{U5Gr&q=m{~@)rmAouhfy|Q zM3RB?As#n}^)~fK$NqWu*yr97qJ+<%!}@10xgfg|gz|Kg2D`T>Ua+o!C14)$r{wLC zgw?C>p!z^8H4RJ&);De_z?S%y(ic#=Mhsq1-&hhW?;gLE;EhfnQMyj&VT>qWr!%&K zR|6v`VHFdQ^HgztBO;jLJXkeDjC|l+maH-F=WonqpZKKFF-{g;(l7AnSHV_U#9w)p zb@!Tp{fn}X?BbhVWpV0*yy{if#qjuEd?0SEsU@-UarmdbJo+`ffUbXo_j--B&Q5;^ zmox8skBLd!126|-Frtm^FuWV)(XdzHbq#ZKQVk6RDTw_Pu^99lL4WE8mq_#B!i4vI zDa#3K#=GQrnBKy8s9kyjMtn~&T2iJdrc!L7Oqy8nJaWm84=7uw!`G|DXGo!8Ze}W_ zXfJPgjg88#O$U7&yTX`ME*^UuU6f{HdeSkY5n1Q4U;{C|qyn}*;-s;bdc?wL3`wq~ z8ze9ba57g*)#wz|hdVvi>GXeL)dKovHgTH{2L#UmaoT7qwK2QN7+PUB>45~v1@!}< zG8R;e^ZfMdY=_5yEO~b4Kw5y6=IdC9w+!## zsq=`pY9N1S9?R_M3xfdm7y>HQLG4QIF(B;foc2I_EX?ZdrJ&qm?HZhb<7}YFaWAmh!tvY>&GQ2nBLkMZFb;n>`PMT$ZBC+|FS2rbY@QbLY!UN#I`&@lvKC^jlGTA(hK?#T7RFU-aQ%<$22!2{?)wVV^Pe#WD zFi-GHzD~zQs?kmwT31@6^ds^6{;`X1&tYA?^wdLe>YnE{Ik zxWC%TOWyz`V%}@q?@iVx@saQ8j=vrXz~#j-?J}-B(v;#%;?K8XR(F#z0z0r6|J^32 znXyT_Y!%OblSOFWhJE2T>Cpetg`mAao(cfw0tOW_3N5G`;;Mwv68F~h@=_^In@&?MX%$4 zi3Na(6XYU(8>P_mkTd-7d=?$N=3A8At(%F5yCt|h%ZI!7`|`&5?7g6>)5yw%+J*?le#!#TS7br$=v)LYFfh$J)IGP_IdX0Z75I)at3~Bm ze)BEX#cy;0Hp|j{tufpwGWziNw?TNZ&EaWpgI*W3mA~>fn;p0F2^jRMzv-y2H>Wg$ zDO^Fn8 zqYmrPn{2GTA{*NjfVJ8ZTEac$ni;p54_v@ZehFCS#+I=lAIuUfzUNOb0PuX~Tg;S8 zUcI`A#ztq^6rJm5>{l+lUj<+dqBTOORHb-IX)YSgRf;Dm0A>hx+s9vn=`)*-B-flU zXG;}fAI~fod*`B>=!%&XlavdD1eGZZZ&*2OPGkO#p9CSt=4*=8_y;=v1IX&0`-2d$QD=#>obNzo5AMG2P|Y!FDNUiNh{_fiK+!YT`2@&@x=$gTZahT zIh62L8TJE1SrdCc0I)nF4{QOWb~-8IxM$pK_EsMME}O4;{Q9%2Z-#!-$1DAv)HeM>SKEq+Pn+WaKTEi@WNV{AQKF~xoj_8 zrrX;v8U%gdW9$#TLSN~f>w)sgy;~v6zaWKe2ReMlB2p5-mqk+OQikfQCHuv>PW({~^PYWY?q|wxk#a5G@Flp72WX=U#w3 zy9WEO6Am4GOc_WUv?x(J2&GFc>7gay(xXJR&}==%jUTb3fp1VTV2{9MPRL@@QH-qc z$)H-KyJ|_ANf!`4`(8H?TsWJ5^byXgrBqZcJdW{_k67nPRtjoFDXd~vie*aLJ_M9o zja_FZE$ai6`1Od_|F}DVY|Q%-Q4T%nN=aIA;iU%TYlndT6wn-UkCV&CTUjfwB+7(G z>7)EvD~pI%Z=l7Z$W}>IvL)><7e4<_<2$N>I(}iTHaLJzrhABxMgZ!42 zosGH!fPcqFc%h5sV%PHkPZ*bY94+|P8%OwGi|}5MbBwQ840`j;_R=k`~_?UH19EkmqzIlc* z0$MgLr!7ggs1(S87zXXNE}sfrEtUfTKod95FzAtj!CRtiC$B?%_s0Mn7dA=p7^y42z)UA{S)?3K;L83&8COheH;1MB`mS+OytBy zTH7pX5~ApNomp<-@Eo;?=Pdz=jyd_kCD@5;`JYSJlYz^Jl8_5>xh1NfI>Db>%0_D9 zw)4WJte57-cl`2FJXS2>p37KU{kS94ycB((39lm962m7hW4$9r72;5pqTZ0g#)Tf@ zA1+4M@Z)^LGWJYFADT3+Si29i;J8%kxFnxy0{u>jueR}ioW*&0QVxxHbRU0?vk`!KFD1*NIEb1T@}#lmG8C*0#e|+>j4eIF430 zoYZEPmxXTmadsfGO#GchIGm#_^aL;djJ*c+to>KxB`=+)uV$HX{&;5`C0Y|YhKJq% zl;zlZKu+DY9sI&-X7tI$P-HO@`dq~uSF@1pc}n`m9rAGlSg@tml&dQv@r{jnv{C;< zd;@hzJmyey@eNPt-@0FXWAIH335LcczArH2_SjQSd|z9 zDrM@;)Vofxvk=GU4JU}^wT`Q~u(AFG4olH_G=Dx9XtM8Uz9^TCXs_J|H2G39VN@xq zaRG0z_e{>6R5cUTup?UrSxy2Kjz0Xun_>JBh+;SQjDw5Nf z#eZ1?{yFPNuK$81`n-hZ0WdxSj~RF5vR0A$N->$@)M5tW=v=Q9DN01zHoou+?5?*J zfsXcTrAR9Pd^JQl{QY3{0iqlV8{(TIxamvQA?#_u2Sq#F{XBHzzE=3UhkwnpzQop? zyO-yF$=Z2!ZL!`cL%2}^T*f?#??|JI8KENz(LmvKz;(FT`Xc{fEt}u5?;b2R;sA@- zDxaQ_QON`z*dgn&f|M7v9J}QE)-0{(9~NkP2HL+JUpUCz?dEQz0YxdKAQ%_aZWzAdpKX3&;G}~ z3RrK=^n7Cb4(E>*FyEjN*!sA*1f(Z9Zo7nlhvxHn1>n;ICQ!h7^qc=Zpsuu}Hk^Ep zIzZjqJ1LIf?~mkj+#;TD)PM+%h>HA(JHEnWBkybjSJQUYCQZJdQD1704Kw)ItSaw( z(lziEf6m6Dv)dNqhEH$6zy3EH_+EGO@3@=qE90p7P#M>(`P1&^hi{+<>{;d*b*U{R z5r=y>7&eYgD!`or=WmcV`Sx14-p-%Htt-owErwdUL0FUZFM zs9|>5;JHa-_cNZ6-*m1mFLJPc9d>=G93|iX7nl2w+hw0mJL>sk{;aiEkrG}Hme{XZ zaQI}D{ZGdB6JJQi_Ux|6aF4OwgpixDy;L3^lCeFG?yHjHTIx@v*KE*7fBvF5GkO_9 z|G|uY2aD0gjJ~d)qMHsk%yfBa{87cjzhMo5s2eAI`bulH7<~~0@eDEIBJW(tOo6Qt zEby(3EdV6EP~f+l3IB_HQXwyP0;EWZ!3$iqfC?nnGr5akQOUWnI0EZ!cu6 z6ZiXpwGigiKo1cI(Y+Mx$~Dl1U+nJ`-y%E#_w9@9>R$AX81Y;b$%#~{lay9vfkiSeM!f}cO{DKH9 zx>DqF(G5Dk1CK#hE(~yu-ss{ujDDtG*9+buTj9NxDYQtt&>~Z79s*8KD7Yn{ zv^>|P+3;c4?CM{4iv6p(C}K(DoqvK}bU-=055iAYYilie>{doz3#i6|efW8+(OeLo zW5kQ_0rqskL0KlIAwUuibO-e%oek+u(Qh?>bu)VyMh%^tS+t>KGag6TLUo>cWuBTo zeRu3KO3KyCNOWa>d+Jzic_p$8Q0b@t=qI^IKS;rrT$H!4}9lcPimm zx3IR4k@Y~QI+K(kCX5k}7opRKEGbm~yGW_=&-|q<6A3esK#?y}q%QMMiKavOlX!9! z+C42YkPgB*ExbU3+<(xVzLL-0iig)FD{)xgD6})t2Dy?%1b!_^LJvpYUbSYercihy zDDG}jt5%9T__f@!h(@?c;!g@ef3k(5su5T&u29r+@e`bsy(yN|MHX>FCLB`|zIP?0 zAz>plPX~O<>P-s)(Kgry*pfqn$Qd5$x51WV8ywPtoS`AZc(-lrQNI_#U)3~)vw!C+ zwz2NReKt~~9{5G0w>P-EeMIGKftafl17jNydo4>po{pGP6q991u}HDc56 z97hF?%M3o~2+XZSZ)XNW)1vO+qVGO_nGe~{+V!-cEGRO*mJ)x9 zfas#?pL)GNi{zhe2Q{QBhZk>$bjT9U+wWjs_nQgAnqIqQoo~WArMiT5?t1b88uUlX z*TourR$B9D!C_UX*gpUC)uY63o4Ef@HobdjXwf=9DtyY4ur7eOJ43xefGR{;b6g`T zHn(q7DNK({K5WqkckTpqu2@K)bLNyD>CfmD`@=??zz_v|IjwI%$>_pEE1#jS9X z%q`R8$cO*)B4r@a-t~GYt^!?8ywixoYZvPlANUElf$RZ5iUV5WLg|I;B5;j{TWzq) zcUyBHoB$03b-0&3~lvu~o{b?J#z*(xMdE$jkbpC`dE@tB&%}`?ZO-F2& zI+GS4wsK10=+521&|QU=(r66bRS0@u=&CVvmT7$TZr0wnY$HnH z{aP!QdvoV*7MLCKkS^!EcsZblYK%CFk44!W75v5U!$@={%+g&*LLS5yQ+$52_+%x1 z55+HP7C%&p-$(IT&EiKY@dqiMh8Oi`%Lc|O35O|RWU~SmCH^SI$2W_AScyMQ@gdFP z(-2=0lL-#*PVk}kF#cRkm1k)v@{F~~cNRX0F=RWN#79?{F*GEw^&MCPrDtGgdT4n5 zJDkoWE%I|GSN!X}h;!{r1jTG4t-@b>5x`Asz6ymJ%AeCop%;}$tzR#%Z`|W6PMkz8 zaR|STx|9BnIxoYxERS@&ISu7A_p*f65gioNtY~L_X$EXa`{Itchl!_AK)>pgczqk+ zxfjYQ0$m>pCUuwZxVp;Zj*M~nYSmR;UEWWvIaTpZ(VD6Rmsc4nWz6CbN2eE5CRT&b zn7l<*`)SOi@1V`D)ct)dl`0RRit1EiM)mzp}u zX6ThhMJ}uo5w#$Usu5EH-K3U-tV$Uq`19My^&sPcd88D|;2Q6IFcgDLKxS9V?D^`M zGMKL!^xs9469(PDW_$S~06$Qe3ZTzC4y*wMKwt}!L8hihok839+a(alKFu8^KpIY1 z`H2!15*@TiiAmv)3&mi4W3FPBLFzM6Tx9KZfM`TYKdg?sD z!Zo2w_@4(@KTleP#;JVGK^ClW?xr|XcUPwfNH}iDayCsBtug6$I&NSdD7c1Z0G}U# zN>?0&B<+)jsDkc2seLSnj^InNESdZt)mc@he^tm^A7ViRlwE=HhuzDd8tcQg8xY^L z9sYadUOdElWlzO3`h6p($S_@tB@jx|OxpkfD#e$Z03RffHO4fhI0&f7JmV0Tr9p#D z&_{X+{J2_{%e+n*9#hkrt46!o_X1e$?lr57m9komWA%9Ve*(u47@@Hs-*}gk#2P zjpZOBT!V=96wzXunj*|PL|7@pQ;GPoMU~odZi=gu=ctn#7V<7fSgSaRA4#)iXUZ*j z;OqegXuu|CLpc_}x52(7NZdsw;p80*-DAhy$S*@D@rN-50MTp+NmKS)8# zLBI%vWQ!Qf5es?hF;Guit-*JnU}i_%>?E#8;QHfNss|z6ZbVuiO0dZKbaS!en0` z-L3Ss(#hJ7X;wpiGmv$E9j^ZUQB3_Cq0~npv04AzwQnk>+J~5$RSY_&0t?M04N6}K zM$5iLzUS^sG(T~Iwdi^VaAKBu?BA}@lOX7ZGZW8?u(3P=QiyUs?Q%YI-{l!U;7t0& z&OiDAJivy}_?{nF+t7z)risX8eyZ{G1bt~!WxU}B2=+}n$#k(1GS4{5)0Og^l|8Gi zBAj!Ud3fEwiuh%Bq0GNExHA{dlBkNgvDSSfPsKCRsr6W876%|l=q2;ES^%8jX}E11 zH9t>&9guNAqwEGLPU@!stG#vRhbd7rEtwMM)|rPri(EtQ~eoh-_f z(EM6+80Ga>f<5ZYJ`@Z@(D-v;4ZKDr#dz0z?G}Oo(^xVp9d}1os#QWEN}V3lG?aF> z!MvZc`Y4G{-ZgJUu%lHy&6|?1-jW?KD53u5*ATp(TA+k1xcEiV|2OFA?mISZsQ zs%=_e6L?aG?ekY5p#DH8&n;(dCJ|C*?4XpEjE+Gl{14ikn*di5lWsYwoKMDB(AOZ< z0CUNZG=|C)(lUZ~#qYC;d-x-qfq1K2bDFn4#oGS6kxyR#S0f``7j$4B|7_&s88o79 z)<}|U1j+`ek?7O>%TuhK>A@wE;ke$AQUSS#Yk6|Jba=ZS=Rumpzb+$Jcb{)C_6q)` z=!0<9fjFpSkyvdLh0y^dAPx2#s$zKZY1XSl7{&$gbi?Cd`b9!{6(RM8D#Cp6bVSmS zl>96I>@=SDPaNUDoyI}XTdhzE<~~7`f`R;{Gt7T74Y>j23Jc^Iq{swaj1-`mp?Iky z>F-%{*6TKp5kCS%8vB-mNwz1*RYwTWZW$x?!i8!?<8W2aLfyg{p7RrH6@|XM5BUgo@2*GR&`YWJzN|W# zhsr;6mUYgi{@m+TJ1P}SrM~c&9g`0VPRL^Gy_KpdKV=G1s-~c&IDp<%YApqRvhK~Y zmqEj2H98q+-WgfKdKv4HJA??Y-_DHWDo^&mEJ0anpf6}`sNYyyhJAF!1$r`tOR!`<^6xVAV*iJ z?Vkfh{nyp1$B0H8_+TDfZk?=HfmDNfQPE?ib%_$J0Ucl`(7s(O{*7dG%4v(&2UBV5BroI=- zF|v)U)!D`>;j?^N1&j82a*f>eugrsuQ8u>q-bm7&xzEoQNV!}?*?i)gE!c1^MxG~} zXT4e#f+L{WPE2#{Po90AwHY=$S2pqJ>ySM)O^3R1$Y;H&#EnE8UELMfV2mVxnS>MM z1905*GGK^W9Da=ddY%nT2;YRA-Hp;VDW`+64d~}%gckAGw2yv>8^RcIb0eJ~nHFF> zJ$Py*2yRCa^IzqP5RY;#m2&Hvms?kfi`-iq`Tk0fttU|Van0LJmhBEu%5$KMXg9uD zdB7t`HvrPiRv^urSZ$Cw|6C5mkyjye!)%O|_}W4&yKTOf^n@8i8@q+m(C7tPT*K*sy14V#q=r#A2xtH9=6xPh;%0)zI)8~C?XY`kXB2JUr%B@ZNoDg*35#BDx{ zP%1F5j}eCo>52Rk_0D?Z1Z8T7F6EjfA~~fhu@Ccw7nnH=q>KyiA@e4%zT>d|TxBC3 z_%UL9J}w$v_}5D#mtlk{iKtfkl!AK_g7^HH75iA|&Ini>$BLAgT(A!n1hpMb^tNY1cj4 zeUDxI(nZ$Rt3XRdHdMv(fJPsgXg5qCGxNm!U0?D!R=1k18q&kHRazlL>p{JIl7 zE;lTTb3N5T`Q*E$&h<18gt1aE|F!2|U1B{4(iKY`rZq2=eIZgr!WvCVk|dB}A*F=H zQ9-h}fQD0&zAC-Y;!u-9?%8~8h$$J2jhfqwZr?tNnJ z4*u$|*ea{+{L^3Av<~f8$bnUXua~H9P|{6j1-y{)+6QmS>yxLLzr4dOS6DP3`5SBL zSBzKdrpJzNxAVt;W0ON$;C>?q3|(Y~>P^6a4JX1Oloergtjl#Nq%3DI zJ#uM8PIrFsG8AUYFa6kWC>{Zux|OtzSN;wnSg(ApzQRU&c36h?!Eky7totkQp4pUd z@wfcFD{PVBIYTzR9xwTZ6>^8>wb603#L-__ukZ-9n-Mc>jDT#`+}?v5)WcpYDi!a*+l(mb&N zlDb(QQnDbKAH53c^*MN4PXKsPkfm7&L7|?>9(yk?^}ZaVWRA&Nd;5Didfu0#!++Fa zyf24`%u(!#I?~-uUjrZQy(%vv^v{l*xG%?Ugo>K?qVT@tFZk|1S^LBfui$}3)dF8! zYVkJsRKUnD7RW1zRpfGsJJ>ZK5(ReolX&!B5SAk#oO$oKCfmT>(aK6|<2>cSrkK`< zA?uiQU{hF6;dqG>P*CFvE>%*m19h)ZON4+@FChr-FuS2bC$ZHf2p8E$7Fw^hu#e_H z{l$XR8~L@rSnD9j{+d^e6oTfuq1Zod`ABi`4Zc&bR{9teDs(j1{c2LvkJR{Qe9s>e zY|Y!TDK$ zofZb8SJnxt(3`|ibHZZ%8t9|vY}H)VFv%*gP{qM2paowAw#7mfW$F$L;8iqxcd_HH zDbyFg)_H**?^&xHcg-KGlwh8DvC8%Ge`F1ow}Ds!DvX#ht;l{4O_)bC$|$}5sw>|r z%EgQD(e`-)E=+tV9SeV*I;L;w3i`VH z2~yybjf)(2#oKE_iD|%b7q8ll%N=*YEa&T5DI@vtYi!&TKY?q6mW4zNX=1&-nY3TEVyEVl;a|M6^V zU5h<|!+Y$rRtci&u5oiPt{HOOR=d zco8nW1kHvE8sQpW_$O0b*<|=8WRtf@z6p(yIYkz#kPk!sWG>nNc$ws#8;Bw?N;GvX zRPjc*I#KjCb;8#*3T&Aig}Zo(2Fion*QGC41Mg+U3p6WRR49JJ#C}k`^eS~g@p`+e z-tjI~4FnQ)AeHa?`ZHO59vnPEpu}h7E6RlpAV1jbYJ%$ov;G65(c7b=-e%SC(i?1| zdLWO#$y)nIqWXJK*PlU!b7Yo%%Qh1Kg<(Q;@C9ZmN11g-!0{UKI3j7w&-Ia%=LvEf-Abp6>J(2$E4& zclldb)DAxX(-E-xC45&}-%x^EC@AZcsd)%eF+DS z1w6Kvweebk)rB)>?-Tr?S~lFj9M)*=jrakcU(1rS588cG3~rMIGeBIDA9Ziv&ytngJDxHr9J|uGNGULug4t}Pb+HoeFSD<-eyjw$ zQZUASm_<`ix6#zGZc{`xfW%7cZA84SL{!R%HCd%3+~f^+AcQcVYElb5Y62hN>f>3B6QN^cgD?TR z2OWa$QEEsgUKX!{eqh4uG2+wBD)p%}{eWWMbbVZ<_=GM3YH@rLvHWH!f!!21meq*( zM{z2g7dL>&rT(eiimI61>(~EGxxkM5UZcIY=yBqEP0tQ7(j5%g}OH zh+HUXGWryPX8_z3ui*#c4(IN&1i#6k`9k+$xuQ#^pL)?m?GZ>~g<#xrHtlTD@g`xh{9P%U$Gh7rNXW zmz$mC@;v8qr@P$AE;r5PT3qf(mz(Tz6J2h+%Z+upCYKxHasynh&gH5UH(UH4Yi|Rm zQ`PP1mq7}W()JvFKgb*RcuWEo)frKp7S*XyogCFwqdFm~gQ!-bL)iDH>qNIeRF_8e!KmIF)jOhkOH`Lc^_r+I zit1%iy(p>+qq-ofr$)7b4#~kcK57^p)x)EDa8&0;b+4%I64hBzoe|Y(QJosq$x&T3 zsuQ9*h-y{m&k&E+)3u{pAgW8F`e0P=jp`jyy(OwkqIykK7e)25s9qG+g;8A))l;L| z)DA^vJU(g|9o565dT>0TR-^j1u`8n8!`{_EMx`bb;w(g^^o@< zA3;8W?1LPF`~W!#`3vH|=b4I-s*pO6%OPoy){u^no{)Z!JV-ud9HhR%ziE&HNFn5D z$YRJc$STNc$lCY9?LPEs6#x95chHI7a(;hz3xD~6mlC2yHf7{*_WQ~#dqbJ(YyNYC z%N|_@e-C?f_Ggj$b_bQ2T&hfkqsmN$E&YTtQy|hBZnvZU<^RLK=kbV7NE~B-vKTT0 zIRdg*E7R@uh?6YPgtsCb^A#QQcR;e>|IHtdHfqZSn*hc3YU=ygU{T|!TgTpe=a`Yn zci(sS*jw+oTP1AuOch8?NL@%Oq%ougqz$Cw)?#ejW_BpOyklhZ?5=1TD3y4LWn}5b z4vpwvqB_H~={MPl_{nr~m<@nk^dTLopB5J>XZsfYC%U#lwGw}6w+sBlzjM4T<&ZMv zBNL|7I^VE3B6Wv>QitnA7Np?YNP|V+pZAmcmUYjUU6gm+bG|I~GUNYUV=u=Ln(8Y z{QjR4%9iP$7ugd1JDy)tS%A`jn^bMV0*PO4bQdhE7TLlxuq(vx^aZ<+NAZc8ku_7% zT`&yC0Q`6ih?ZkO7N`_{qK`rQ&}Gr`MocFSBZdWMTs5kbpvAxA1-nEREIH~w0zDBY z++Hu@cozFw8Y;u45ywOAA`22+9I5a8Y-9~u!Y+QBIz+S`-4ZT#f!L=;bpo`sGuX0> z2c0!6QlALBEZAEKp~$9M(;(tFxnrdKOLj!(b&AaJV13KTzHE1mO`X#0}1mx`U3RQXq@0@)@e9?#rWc2Hl_C`@ zqepvMLZrOOi|hh9D5Zh3og?;{SW{V$9al%nrb=Xia;iqkEzu6D|6YM^Z6gcR@!E)e z4t5=O!BuK;bRX`zJhC8uR2SlOyRdyCBZPXTda7DxKG#W45l0*cHyr)dep1-#%#BL~EXQ&9FtT z!F*NyOCxnT&{CI|;+kpoBXzOO-D{C8bs;*)MDka^nQO*2cg@Ol*Cb@Rrcqnhh+Srg zNc1LSfNN3)Vn%tcx#w2bNR`x;yy2Jw#g0jM(=mfLIHu~m=NEJ^&ZN8wj#*w2D;hn( zV$<38hFnwqKG&?d-!;3ZxF+dQ*JMBD8ah0Sg;|V+dCoOO%UzSdB5KDB-}uYn+V6*! zM%z_z4N_Tiy4XxE)NBv`F0_$Dm^fB>eQIR0jfa-Xg-u$ajm@R)gCVSyOeccx#jkJLt4Otp3OT*HZyX<_su^DFk zVVfL?tRQS5E`>NZMt>qk;n+c0^s;RZLgc`VPQdz@uN<_ogEZzV2kQUiD+jUI|0$u! z8pM`3Rw)Y+TjE&5vATcvl_PoYUfWdu+%}!}*`_b#-+f~XEbZF&MvghQ8^YSjfhQBV zQ(YqtF=sg_V+~!XV+$s}F}rZ=wEOo3PO0k}sgJcQr{#8>A<6GKCNv5ERzlWncFfwX zj&VP9%#xY^+|RLd{oflNzu=z@OJ5K>g=4;Q8p}dvT=h?1ImHVrxgnETIpQ!Xs>S)} zCI58B!vB5##~PMCKzwK1@=sssA5`?zjrq#yE55T|`ls*8=WzbVHm5iUi;gko`}bxO zj&(G#hNZKK`CsTO9nooA>1Ky5vjcLt&@z3W!NI*CGLP*1=oXHh{|BG4Os{#CnFJa0 zbi_HfVB(yM31vnylTlwdCTG86CPH3?q!dQTj1Ej=9G8YRw#B* z#Co!r!-ZNF1oQpJmbkD!#<2w!-gXzo7`%+ArWEd0EW9aD3sV;+Dk zhopakyZE2SMDVF?vLNI4*d{a;|Dl$e+c1*|>FE*2Z*Z#uw_? znqF9cA^$JFp}!mZKXCqs?`jWSEM%+3y&ohtgV+LJxYc5JNPnMp*aG4|YG}gwO(BN- z`uOe3dm;3P+_5W_ApexAW2uU&G-|^Q7yg1|gfC!&GVw-i};pXdW+w_O*gLFP{-X{ywWFE!s3#7^qwvi@tU~628yG6*9?-4W> zZHQm|x3(Do2~ZY4vF-TAHpd~I52II!8BZUwO*t4xLBy6TGl5Mc3!<W)tPexhl5S>?TLb(v-NXb&AD6ja_Yl4j;)s~7! zWeFsRHjoD14Jju#&Zw7i>7U`1XTA4Zp2LVLBn{FY(i1WSG8Xa>WH#hE$ZE*DkX?{N z=e**V&Uv%#y2>|&kR_0nkTsBZAs<6NhkOGG@AUnP!*|>M#wHd@kY^z;L*9XGg?tM6 z5^@;wGvqHwV8eHS>vt?(>i9p{H9X&(fSiMr_kB|hk^)JCa0bQeeSfo6Ee>A~K`w)& zLYhO`LAu5jFAV$|PTPwx2}E>PNMFcc$ZZg8n7{wVM9U9AKOE(Pi;7QOSi=k^n(jXn9wqDSKAh$%z4?{l% zDXQ#;%-eu%kb{t)A^yeK84!8uT7!jY1eWu>44es$ZPpwxUaG>IQi#%dfqgjGgEx$UTkZeeI$n}tZkin2V z$VkW-$bFCpA&)|4L7sv^RXa7%;A7;pgm`d1>MKDvsxI|if+}JoXC&7UU)0Ci zi|J(8SHM22c3Q)FGHrC;Q)@Y9QZmLW>PDW@8zuRsA?kO3sZHZL;p#R0>Mak0r5&+N zY3!KAkTOWmD;$&2#4!!iBGVQ|bu&!gvQF`cn*Jl6J7!3$=HU}{{TkKEq5}aFTSnZo z;IXOyP zYOvkP*>Zus1okShFSeRE!3FmBV6TPuPhYi~*ufR&+u8cJ|9q><1^yrZr@aJE$bb&oKKf7sc12l1_!XDc&0qj{S5g|dmZqAkqCMb`J zY&6sh_Tb9%4OMPhJTuK7XxA%w9>YP9MHofFj8)EZ+0iJtgd4@*yXjHiwz8N3x*V?aRRSZvT?dMjT{CULd z%)W>Y;1S;%Cqnqg*8Zgxa#0)txgBz6Msejfesvt2M>dFO#hMEeai4i25F3O!k(UM4#T5MdtBhl2c|pp!SK#Z z|I*5NFe^KD2r9LtP4Ssbzm8jNVkMWWmlM^!FwIoRoN$W{{tF#bs<@^jWCf&U62?rk za3Sk}6R1L9UV>f?EhmKhRl$+iQ8jU9VDbphx3;w}uG!IFXw@#Qk730Iu9*l)ZRDC0 zm{@f}hg3B%4)nJ0m!14e?V=9hQ=R++wGTFhJH~3uL1wpdO#qkG+1Q@d0#gjVp!m0J z|8c8nez(X;D)Z0!L#e!WXuiE`I%l~CCbb2=GvTuWd7WoNFDZV#v%ku#o!uY9us69T z7m_g;14XD?or85lI=*7)CB+Zt_;zk7Ua5-uhnBSrM zK!=lS`iU(iTSq=hQjxeVb$-o| zeKRf(Sm-LyvgfaWcA+~#d(ge1Wo2)HmY#DQbO1dSIu80p=yK5Opf7^{0y-Z06m)s$ zasz!+0Xhx3B6JQkeppj^(8*KroH!Ox8wLa2aT?zJhrSy6ZRiou+o4B7?}N^V{sTIB zhElZ#VLIq5pzA=lhi(9!4}B%{)6lJwDP55aGTH&uV^b4b_`_})9i+2Yr6yHu-Rcg^B{2B!=8t<|! z_MscFVfHDt>zq=37b3yhK1=mP@CUKS{$kT-d6qJmX2(tVashv0PgsN7t|C_zobpuG z>v(%(X*pH$oJYIdLa3{)5FKR#X&@I9jU84^inJ%b8EGK@cTXK%S3ymCp`050^2JK* z(m+}^&O<|Y{Iki6iV$Iif4Hal#RpY`4%Ezb<)Ldsr_#;^Fd_RN3m{v-96P@TJBlL< zkcBl!=xnLcSc9T;Ux{5BDCvZUAxtBGvI2`bU@>;$Q&0SfeZbnt^ksi}D!cZ@YTc@G zYH4Cs+GYCWj$Qt94eq^r1RIbwimX91uEDJjHi2%VZhi2U3)a96UwVVzp>k{~>er9V zIqTT0+BHKJaA-Hni?$YBCMn6@mMMxZ!$!N{PweuSFdypzc5k-SiV}34Uq#k4HW#Ve zfaw>lKYz5e-55Dq&f=o|z&Ez4v)|I{mcJa;c4N5b4Svs1|G~J`z0NnC6H?S5a4+yR z;5={vxC{7p@D6ZS@F?-W9)94v#UFefc)a+7uLu82{K5Uflf=I_`YG@u;t#GlI7Q76 z|K518sD;8TnE(}a!E3VUVZzPPI~_0*R#LEqx~ef^C=r&i6? zm?0Ty@~^4Rgq(q>3Al|hU|oVQoJ+Y?;T%lM~Q2&z-sV@h(3(E zG=rO{;DY-lkbvn`W(&d-d*<+$=4vd2;FoKIefx+Z zW5(T`d_&K!xyg0^OY7y5@%LY5aH*q8E)TZ}`F-O`@N8h=ZLRj<4k7xRT#B=5UmKT{{&(Spj7W`a6g-X7OGcCMD?XiQj&j5vvEV)KgAe*$LQ+a@tV||E zI5(=tLKj4N1@x9E?}t7e<@hGbq(Wr6Oz7Mw=R;48@&f2JQQih!8s#$Rs%c8@CzNWG z7HK40G|8_ToQRcnO!5;$g-s)MtD$#9`B+p3&F~&4MB2!L9sn61Ezf~2f^3VHOQYIt zu1qpSrpb)z+^9~>ifmV@Tl)}hO3tZSb-GrL$33HLd->Z0bFbfK)$Ue)2~MtGWR4QYsrtT~zt|2V~OaFGLAf1>sI$&h>o_@FX(k%Z zyI{GOggc07JRWpoUM1nX#MGz#dDFJ=vtla3HAuWfc87P0sT7@i%yckpJr2`~l=Bmw z2seePQg)s5CiO6GFys`eRXMT2d2;}>DwU1B4P!vDWl4nfuvp6%U^FLYO$z_~xWC>y z7=ER|@7+)O=)F%!EgnN~^nD?0HwJ>gR`u>Q&_2$QH)G_6IZl1=qz}^O8uAW%K~HUZk*{~MVedztnz0x@~?L z{$cpn1#7&wy9vL5HKM(ln%G>M7Wgg=jh^t5R^btp6|40CFdkW8KkDoss7+V$C;AvR z+I8ev`UJQ?`KBNb>oP7a9Cs0F$RGcx%G9&ha0*A-S$H zztYsw&Ig|*r`QQ#ZHwy!b)t?k31rtV11FKEc}eg|CD+D_-^w&25AYX++dk>fujiur z4VqqdCf8DCBl#n%5$xN@oAvPUUr+jvhfd=7?T%yFQ=fTLPuZpq`J`UHTI-n!0+L8RbvG`(_=;3;pXqu}xQUt04Fj z-*k}w)QA64W)L_|_0`*+#Ol(Xq6de|7vk`oceOHxrc1nK$@p@B+|24&$uW*iwGSHN-V61^L9O zc77RNmBJ@{&lUQWrC<4i_B)-i;IF}+`q^JyTbbkJChAmcWloVBS=m=9bB^4~O2KzL z0UoeD)yAq1u0(F)j>SDvRdS#vwNR!uxtvOcPebxDt0A~KIOM72RwEQLS&?Bi2478H zsM5ea$eC6%a9?s8l@1B>Od=Ho{l)FmYBg(a+QeaiR$T1jT!9o5!PF7{`D=~IcWxp^Z+;g6P zX|)W`B*EmUsjf;)GWA)VV3lSdM;WSHd**6ZkH%eUlIh9n6)K~3cxANuHdYS^R9=!9 z#p+7V)Yjnx(dx;pUWc9`$;@E&BB!8rxWarKqGIpcx%Ax z>9azsf+Vw<_Hw$UgJ-tW{-v$vB%8go_jOel9A&hh_0{US<{0glSYrQ;_ItJ1QLB1t zHQ12~U&{vgo)zW6TJ6HOs_3O?|JG5f8<-^8m)Q!PMhfj;cxrVkb2;sMRl?}-FZ2Dn z)lhu{tGBvpT`Mz~)zekg(c#7musu;7Vl_7U##Tl$MBqZJQ$~jeMyp?D^_{-j(#jOG zdXh>X9iADj{)*N00=1)+`GM8lyo@p7b*K*EYHbIyDzmlP(bil9_SA4|Mtx-x!CHOo zOW#=o9H+KAWm-3o3)uHo$gcOqY|PlJ1quU1J{ zpr0c5_GW?yf#Xy!Cj$$8E4DwDXri5RB|0kdXm`gIj=7JV=4QeE5c#wonB z^*Q-wy$$xmv{@#|+iS^_zj*L=#K>pE|k%~{qT^$**_>%mCEu$9Sk-IrEdhs*)m@Ok1 ze+q|GcLzfm#>4%;r;0oo&8SGOf?-wHTuScZb%DJu`60FLYsXwkUgqV&-kSWX+75ds zaxT7tQ0Cf*k3IlN1aceq7rbrz5P7t{8}^yx5pFKt zybY6!EE#B7OfKivL_;r;6Rmg*uN0Gu?IOG!xq-afN`?I+@}q_!m|HKH#v>+$AGW3;2ZsYA5 zfK!y5=EzW3Z}M1O<$lN91lHYLK_!1U`Tz-{YbEd1_IK;Z`RLxBMgB){uT z2H!@0Tu%kx3D)Y~U=6m=_y~I?;0NjRy*~p!kJA2&w-)wUv@dW9V4qK}9?SthN6yuu zLKIf8&@EU1evO=^Gx3D`7P*bi0&gJC_OrnskbiT!fOmtnddXXWnSDunhR%WgTk;UM z5BMkYcxMi{jQpvy1Z-DC|F6{ndnzXOD@sF~?TO%W;5g;@E8tX-_V*nF`z5qb)J3o- zkuUbQf$P&J-JObk-xTbr(b(qb8Oa}cIqmRWK6$xb2K)8om-V(x^#3=rFwHJS#U12a z)u$~U#K_lMOTdql4>+g5h2-j%UBfm@$OBb<%wQFHmV2fa-XJBH>X~Pi*+Aam&w$Sd zCksa=D<%gI?6b_*$ zD$7mnpiDmb0snMIWyX;w`U7AOkzeq8VeKCQ$EjQ0y_mLu_Tx@+CuJ6pS1Y@wZI+TB z4>=XCvdt?jd}{XuuO$!hC&6hGd7$$aCf-55F8HOZGJDCjgSqwb;S_m=S0P)O6XacP z8u$#^3uc3ZO0ohe-db>Fa;AL{d|4&-|JUfk%WRXvirf4x$+l@kwmmx&UuBV(s)=oE zlTF^G>}zlkk)QD^g9nlu1oK+i<__{0|N0EPAxwVT-rU+YkAvgXTdL7w{K`je7Nmzz zSd4;JAvrNNdixQvoVxedE1^DcRGFun(RG&0^i=#J+~asy`)_$#nhmHcgJ z=T~r?8sulA{Xc2{Ol^TZs4QEevsHw4DudDgx3uzZz>p6sdN>t&D$@Y0)iv&JOps2y z<)4H-i=2daFL3E3FSWA!;kO&|$L<2OGlYChjqRn(Nb*75v5jT!Cjac7x=tBG{?TjJ zA0Ng%%t9#0M>jl&ywxhnRc0YM(Mt!v1lDSpHYEt)K>KNL2WGsL+{4f4ugvG*I8{rZ z#E@Yr?MMAdu%9H?aon3RP7z^i4OXE1#o`}I2~J~z>L_@sxt}=*Yfo;Z4Y)b^q?ekf zOb7Cn*0#aQ^deWX<_<+L5^}1$4m_GXB}lpjYe{bD^#T`=+xt_%3&}a|e(;MS7PM0V zGk61x5p!Q+YOEu_;Yfs$t@P>UOGJ`S$&EaTMsk2WE7&&%{RDZVC6P&fBbT|`R$}NN zQC4iOCy_}iko&uxAH?n^Kj?%cR7olell>x0(2P9Mkq{+q$?3L)Dd|qG=?_P^lK$ie zm4q!BM&9HdUWBzLPgd?yWgZ}ZswA4p4Dv5_Wwa9}Pjn@s$>K!b|Hs=B+GHgw4!8{` zEAtMy*pV2W!OTWl1JeC9kmpOpr-_LT|@V4tszBDtnjhJ|~b+}o}&8V@1lLsnnx`wz&^`HR3i$&dLZ;Lpj8_0c-$ zCCRJ2$@eIHb|~{&>75#fZu>VBwCZ8yV(C;B;h8E6T#@{wGXQ)UxwShO+!*YsCVBz3 zTo(C8XPr?dhuqkzG70?w{SWIc@E=SrAM6DWC%>Xg!DGmehk|1$gji_hXTOU8F5oy7 zud8AcJwf}|-e}ktl3@hDK%Zyq#3J9kN*?8Id^6u#sJ6-bnvV)H<4F+otNMdj9f$S3q7UGC>DORXQ1Lf zvhhz;!yA?4cvU!0;Z1Q_pusx7y=`WL7^wR-j(M_|F3@-0SDQ zjI|`swU2`5ky{4_YqOmEkT(Dw)SFQRpS!HBxJ(}+?{uqU*Zf9) z%CCiWDnsE>@=Ukg zPG#nk$EupIEAu=!PTl3Xzu*-Y+P`xpw9h+Wt^QESh}iQ!?bWAD?CP>atK3O=;;BG>+ba7A`<}eV8IA?IoP5&F+^$Ru z@>G@ku`=1@_WD)$^dbM`l!EifJGI0q8Vin759oNz_yO8oJL4U!aCP?oJ5=TMxG=CH z2Sdjgh9M90)`4Fl-{;%!Dzlor!k@4KBkkm7?o#j$@?ckj9vvXpblM%ni-TaTs^}za zq2FoW=C46J=yYKZ>y-CH=;>IPqEg{>8TnVc5x60_lgb9S27BtHKWPgdB*=@sX}hq- zHC>1YO`ilAL7afG2?CR8uDpYd?it$(snC4MzX}vsV)hEs}zoZ&&^hS3+`k zYdClvxr;j!{4rRoj@Cpp`V~1319_hLiM+&_3_c5vQ&YSG%%EJ7@Gxr*_)@S|KR6QI z=`wN~U!pvP8ld2*<644NwIqLIOYo|WHxK7j#A(d-DMcH|ovcz2t8!|7Q%p zg0=e5nt_RbB3IM};4|Pjl@MfNjjfu(-)e&&m@gs+{$%jQ2`E{=V z+!&1U=SKb<6k4(31*a;0{q9J9-%0}KkXt*+;J)PbP6~Jsxvkv@oDbHjw=SIRo3XUF zaMNIakUSws2T!BVBVNgId}2s`!CQ0!<3ICQNYYuKAy^xEcCZNzEeFS`9bN_|UPZpn z%>=KZ&pc-Uel1={UZn>O==Acyk26#Qm? zl7*w*0PtC`R@qv8hl8jV*>}Me$@87EBc8d0d`t(hCy}@7cyL{CoVwDTgP-Xekt?V| za4Yg&y$IZn{$J<>_;(4hVxO}F71y!ickeJ}(4Ty(e*&CGzRWKL-$8!GIR?Im+{r%( zmUgu2qfUY!CEMyW_z7^F>glXS`%ja9@wb7OkRQ^a9VooSLYcQ8{2FJTiA}X}%r&q%%iB6Ycv`w1^w2#zf_=L3y?Hha-_EzMIb^y+yPbGZXxy(shfK+moFg$ z@wo#0=LHfr@C><{lF)&69kD;`OW442DHOS>%iTqcaJlnBDh)33d zg`XV>0eB_Z4kY|vI{A<%Apl#G-*zMnV0&`4KtcdsL+<5E*uQJZr_^p7n7QO9wM6wB zM1E9DWWU?UbuEeNHyVubpEn%|?KgoHpZF5qZxXp_AR+!9jj%6a{$`P%(-P{hko=h? zQU0DMHwh%t-wJa3K%)JPUFNzU1D4gb2Ka++9nUz%k?j zj)V#vPoCmRxWEU=saiq?P9;y(S;H(-5Q;cyi5>V9dA)us!8VJ?og4`v_%gXnOBlh| z$zxp!CAf}!#+7h_o5@;BNWo9Y>l_Iy_&NDiM?wpJMV{kHc)_FOYn{+RGphtyNH z1Tn153eS;1hKvUP~_VC9YwA@^8MxHXKUcrX{XnK6!c| zu?@$P`}(7M+U7y9d@6hJW861PLm^I`v*K|XeS-Xo-v~U9+}}$BFX05O)L~5U3b~0> z3VsLdsfBvqmli&z7QS0&9J9=a*mshXoi|P^^BMU;ef_tVIY7Q5WW9O@Z$Yte zo7Ve7h6Z}=r8gtvza`@nQ2>Q8@Z;t1^g*_p%;&C_yGBOe>nIEd5!L0$1*>XGo5t^ zTlqVAVo+`(f@3z2wQsGrVKy0r_gb5BPraAie)RT#(3X_3@u=GoAdk?lRaiPekm_G2GKFAlFpOAHmOZWGC2| zVVRf6je-o=Un5@>Y+PlVx5=U0VA?bIp^1eTonyF5*-Cy1LvWVaMgGg%-rh0?$sKi0 zj%7;8PX$|N+vX>7ZB_6%2A|0-f@nHB~nI=XxTpFY)C2oHI$dKM1jq zqsQQKS&e*y-E4qu>XLuf{iox{C~|lI@Iu?PAP-Z0r{dxSj#HU_3U*&-@+#eDD4rw8 z3$%NiHUr2>UI4xw?5V!N;UTseL%v0aYGUmtvhbK^ZnMq9zC zHOh%cLr>HGn%fg=yp&wxdGyX|up{N8uY*^z&z?;u;T*QwzKV%3k?#+drQ_C$+#wj-0=HJ=r>$SWqsf_S&pg}QM}8vcg@bW2I8NOhBx1#8 zh&`m5dM^6^LKL(b?rp)F`HMKgYBzPeZC;}NYCRbp$ZFc(RQXxBg(9bU{X3w$B^ze~ z-gVvyj#GPd;_Y}eBX6@4M`-g6`J`PHe4O0EPXdQdu~6Wy#%BQM$W{F{VBJtQ?_c

    M>VDX~uA^ZP3gV`voU`4MWvA1PjCy#XV!RyI? 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 diff --git a/sys/cassette/boot b/sys/cassette/boot index bc999b5499c6130cc66b36c89d042073729da112..51d2c8b8c0428364843c1a1530dad7de805ce2ea 100644 GIT binary patch delta 13709 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 delta 13554 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

    8^H0-VpHTTS^4prNld#Y_c z^^NY18H8lUPjnB6^X#TBcDhRp)dRaF{GfGX^<0{0b?mu?_P(Z78+x$ga}Oj>v0GVLZyWx#gd ztb(hwo7l+XP-l(RD|Wiq8md=bP21C<1^7t1!V^EF^2HOEn|5Sj5-169eBwi<5<(<# z7oR>UQR(!Z?xTbc9 zMyf?T@jXs)8~=3D9M_oJ@qn?IkhNqiivoDNm<=(cjoNW(+AgMPNOM3#a)C6ct+m|qiK@6Tf>|4G6jT2@=p2BMsLzFuv0<9dfB z{BKUcb~%Mk5$?b`P3(EE`@KoBQg7ZF!Jk_{Dd>R#p{5x#cL#bRS|zi-6Y_DPY zi+85%5=F2c3etASVv1DaWQ*t&UO2h0Yej?FW-b%VAbv~+9mhwt)vLDR!-0?VMu>-X=9M}Fxreiq9 z19({0xwo#xcPnjbJ6c}PFHY{AHxFXjVita3XC^9bUQ%|82^wQ0F{p{`8?5K?B>5PV zk}diW?_ji2ku5CAT$vJ=YXwE^z|rbihEz*J4BeS!3t`u-#+tIle*o9uI@m}|Bbc6> zm}YbukdNA$w0l_cYdtJP;N2RJMC<82sQA{GeAq>XDu32NNl| zJQ!eIqDVni0b?03=1a^Lok@_u($onP$yWH)CU9fGMfhdfVMxB3#GlPeajj%)*ko<3 zUu19M)F_~ep}FDitqP7DA0tj{2MO|mck#JYhn7CIT^1|^N0km-9AGyE&wn35*=qDz z&9cvo6?p-TQQ!keDObm%H_nOAK@QjH&~njHa}A;MaBO@KfJZFHuUJO3Nr6q`egJ9* zogE7S(b;h-YHM_`fAJ%zf99S+G+gWM6>QZ^Na4uXLEj%>>(Vh0S8nuK39j~pFA+9U zJ)*Z4fU?WDImHq|QYY!-G7Ey{o38 z^*WLF!3ICSj60_dmsjWV)zcjEQ@OlqT3=HZl(1+A`Pb8?N&n(;({uX#X~@lXBAneh zkjs4K^snOmW=6?^wWU^Ew+(`D_V!35InMK$Gh$6!2E(374B#tfq$CXh6Z3lQGkmLp z9FA9QqkP6do%+LPT%FP1wROD2l8_-#jQG${0wm+5nUasyru>{-@hj|g59&b(-x$>0 zyR_^cWT6)rjpzEh%)^h@hgUi*o7liw`c2xNGf` zv}9I4YnYyEs>i^brIrxNJ0Xv;kwznlei(qqfOza)%eIGFV*KJSI>QKtqawiFclME{ z@#;I1q~84KokIrwoOW}s?;D3+V?0WQQ~Ur-WylLhb(^f(x@c_3gY0?osRY|l}_e9b~ZKjD`taGg&V`AeuSK{S^ zW4Nkh#?a%pdlD34@o;W zKx?k-L%Kd|saIQW+)BKQo!6q2N2+c4wQdOCJ}ZrMR?KqXGlVy1y=&i=dUK0$qa-%( zrb`kueb4OvhQn9ldG0hD|NHC+YfeC-Oj_3+MS4KupU)l;mkUGi&v&udE~a;pB>(f5tIMJ#`~d_IxX@qDSEH9{ntP$?QBR>A`uyzgz{nq}dRW4!US|DQc9o2*t5Qo@wnM_wiL_1K zR7(37?s7ZVRz+InlZC$bMrohE6-L9Df}~9l|4PT(eDCRr-qAYVPPlgeQpJA<_yfCLK61!k80$Ad+!a?WpQ|HAJV-H-DNVz+l4lpK46M9d+YF4o$VvDSou`z})y@ zEgfIV;)`ooYb;3qAtfKEO6UP4|7w1f{9%=hIURYuQEhP4@<|1gX>Yw$pzW=l1p^26 zu;08H%7;s=Ap1QT7X}hup*2_fQZ)U}I|};GH0rZc^nM^vr`;#vdgR7Ug%qjz)A=sK zDxJ`LV^ZJB;nv7{Qh}Iqa)p-NM-y%#Fbvt<7yg_p7Z~Vf% zzVh+kxT!F0^ax#Y>JGYHIfWgL+m#M3SIKm{LRa8vx^fx>Fj(BKoT^tF#6!RF<%MYp z=T+oxaS39gENyvsA*FTc0%SPfUYI(u2fjMR2X2@;Mi8=VSC#i@s)_C+{QS$KU9>EQ}UEiQCgb8fmb{}vp?RrrsbojQ9 z!bgjk#Ra^n=v`XvXNwCdk~SBQp*Yxg{zyJ&etJ?_B7*&g+u$8Ieq?Wxm6J+Nbz**f zzG8WFzxy`6dH!IjKR+^mP4K3pO26s2Ye8XF4M;ZO9@T(tRJ{^nvuPW%?v36o8M-r7(n@bODV_dYz1#)qEFs-1Q7 z&4M>UyICkFS%cWd84-c@p8L@2sFijxsep`8SHi&p@r9 zUV%D4NS}rJCE!J_V^bTgBrVc8ose?qP4z5B?9bAu^ zI!JXw7Ha4x4A<-IwFB7BU1~+O?3(u+{sRxny(pz9t5E)kvIgZTl;=@iLD`5>iLx2x zA1E~_|3vu&ZDo)FaS1iq=b zDl;p#gD=yUMdo^FDh=p?X=8P^ZDs(_iwBG6`^xoxp3Q2-uHx6MMNEyEDZyU3KD#R0 zk#I-x^1|yPAHzmSLq!)`Ee*7MP93s>c$NSIfMe`kX<+ZCfEI7ds>e5$tdd;| z(Sl_`2c6AC*xiJ61=hei=(>qr*l=C4*pU0QVZc%9}KGF6ETqhA0%+2?M)&VXmVvOwpUsf2vL}q94{Zg8v?Od zIx#RDU{y{#bGWZPus*=_c30ZkY+o{ZUE50#YQtpx7uja+%`uC5m3kIbx9soNyuN&Zf><4|)fK8z21;OCuCwHNp$m>Gjp8()Vrg(MYS3uzFF!|rUB(#yshKBT= zX*eD^zpC8O&TR3P>tmyQ{lJL`1OgYz_2v2+<+mJPxd97}HiqX3!j5$QcD^8NYbCzA zoa~qDy|THw_z_z13+$bc$E7Ph*oe@H#>>z#h5GpqsKFb~c7*maeF7xMr!&F5iD6JNy?#Pz(#h`hvs(nE&OBG;hk|daaVt%-Td7OuSJ&%>g7&~(Oy{*a zRvFgE8KKI3fkByeR4YwYumQijJ3u;B>3kP7lse0+1?Q$GDRuI(vKaZCyVb@zonAQS z5!~lulg?cfXpy-;1&b_$0FTKHc+XuDEa7ha@^w401)%HanP|+Gj6D@~JkmMeU2e$1 zLO^_@u=@kOrRi8~PWH(CY4TZDAR5sGjwPhS0q^qeA7+_F3nTJLO@V-0RvJ7?lRHOg z_A5;wPKNuzS1e<^d6r*B9tee|(qR7fn88t~E$4TQfdE#m%AF_cedUpUer=i1Nic=0 zaMLn%G0y&>PQJjJ4R?v3vZ>*@&ilIwf>(~y*_H&{XE2b+9T>~;7g0YqBX+bK%&-q%) z_h3fOofkfK2?#Fb2G*-xg8rX>1_I0-5f`nzZ*P{(p;r9>&@-`JQa}* z?KL7QXwpiv>{Z3hgIfuh?OkXg`?Q`-h*~vqfmp)dSO8yZl=r8&`D+C7Sc5EcK`-yu zyZJ7a5)&Du7~K2`m0~moDUoizid~Nyl{n&QQJbba6KGt#a4UMQvn>^O=c8K7GNY4? z{}Kg(T6$xDiYpMXoMPLf`-w*Oe)PR!1M6%|>DcLZffee;DrK{c>30l%Qh?+AiqK^Zqx7j^Ya>WY7~g^cAv z+vM_PqZNry`;B&%!yN8z$M=G5VqiGH*xEpw2mVFN{?ryW+7#zBw_ttr*unZ7TI?O^ z`AT3{dVUSxxESl~$^IhS)D4@li!V>LJ&>#Wue~a(1k&@}*|NSe#!=7rFTrAXv7xkq zn12lfYIu69k&ZAD?aTA?F~pa6eO({`J!d_CfE2&+^FEs5mteTV_*a{?orVWPuzTtZ zo}5cd0#}h;^gxe~_4D6y)rowW^mP1{pq?8(1OI`px>v30UhRDAUfl>u#oA1QwNfs* z^Rl3Bt?o#3JA`^H&ndRf+&gLr7&mup!e(~R+%v`*uXV($G{fI1IDWf{{b=qfrZSTy zL2^IGY?j!u*Y8yayBf2G%&G2bAb>szk?7Uep*(V)AcP^4ip2nYqtRG=&}NAe;Nv#I zJ|DG-J!$DWDFKN5sVo_aq$0^IX#buD^t9yVXPy*=4(;47>z**d@tfm@-pdc7SqnB2 z)v){3HB3z?e}VmCvGrdPr1LTW1?C(X`nBV%GPWuR8E*Mb{sw^4=$|BFh5@e%$5W1oB))k;HO5F;~fCn z`nPy_B*|m`GN^Y*0MNS{eh$mUzu!#K6$JjQf(k$KV3M6Q z%}zbmzlQH3<=0i^rwA-1C6VtTr8l9pBdC<5DIHOjmXhRORi#`4^8uR9c=;j{9#-q; z5~NL4Si+&0&Y7_o;f5PQY&@{vt^5yzVD;p9r|}fhsdZ1|@oav_?$b6&KE1lPkNrr? zj1ad|aOW${wVjma1~2~xJI>M<>58QTJsXYclXe44pdAT)^Ev$7siFU77dpl{FChEv zjZ~moKoasS5R+v%puYeLw+sN}0A#Rq_wonHw5ddChTja(OuPVBt9EF9lVh6_@bVcX zbk)z}NI>L|K)~el@}WdVxCsN<^n;i8B>a@0Uv~m9ec|Pui0~HTEa4wlaor|3V4Ts* zTXMj7!OwlfIOyfq2!}&{vyq(RBB&Ty2Q=g6pMoU2bJBTlC|C1Jptc2pDt-chAc%i+j^w) z!>|nRw8WUJT4HdD=wtcRwvT2Db!1HGDgP`6{@Fz`6LL zScs>OVZPfXBnnpK))GZsi5q^~LBTf6nBTXJY0jP&hQh!I`cNZVi3VZk+ zfDy|c3L$Zd4 zW6*pJKsO%m+QXN>w_X%--2CnJY(r<;kOzSsb6p|1WdP-~I{5-}IgK(0lni)GM#kw3 zBs&KpP3O2y$H%N^KX>lxOaZrwC*ap5>ja^L@pv>h0#hHJgVEn(MlJv+gHVpLt%cM6 z`~;pLza2O5Zvd!At|WLa@XvtT<_3IXu`9O_CUpE_1fCOvN?f}%^bF7vS4-hd{v!S^ z2_&@&>{kT>tpdE5_|SP)Gw>wPk;tG5OI%wt%0na|+Fh@T8opFju)E5GcqaQPK0b!G zL;l6PqJL$R8x3XC8+nH(SX>wTnBTytaGi`Qi>Wkl_v5V-c?#g|6L|=f+a|J#mp;z6 zcIhU$9%rw28EzPX^ERCEJ66}FvolX95GDvw__s;ejZG;*8=GO1U{_j@HE}bxqjF=X za>E)IiC?i0zu5l2u%)n_*MWOUPP!Ru!FA$pxiL^_42iV%s53aMs0}>cI#2KTc-9wbOl0* z*2`EVw1FMU4L%m)Uxz6-bheN{v2ufwCN&}CqriYq_DAKYbh;|XsQF;U6uy6sAZ)F- zW;f7*3F(;;mqzVL`1XYig`=0a0)=f$*mYUz-nJtiSJ|!p zy_)?iaiZ9VS*@My7O;ZWw`xNaZx^mdSRvClUH==l+}cHam~FBq-|;ed6)sO`Sq$c! zf=_!b24PYN8+e0K%gEzatVRA~>cTBUF882i?mEB=#>PfCh@E<}KR!Ai|bd>dPn zROrkCjdtXEtxr=3m0G7{1ff`kAh!>p`c`fiRk)Sgo=`(8w*_7G=~}s*P-82%mQa0( z^QP%4!mX|B%bW1T@$x!2d0bAN_QZxnOwh150 zj&z&gT&f9pYmhv_{&r2@4oO0v($H=|Z+8|`8zmSj19+(1zQcY2*E1SgL1;?re%wQ-p~My3kIw{!gOPhZ&=S{K%m>04JsMW4gg-&p zs1X*ZgbN^S(g?CjnEeqbn>ET9P;dcsxGeMwrODK8WLc=vP}^Q<2(Nb;dtysB{X+L- z$e{0))k%HDN6AzBhY|Cx1nbLgEzjyD-R(H>LCL@@(O?V8j3ix|jY8y?sO`;zA zr^1!1E9=oFQ3F~V=2j(cxADPk5(ia@%23#Fwr;MH+eC0_@?RaHyVka5D2F?XjnG`lO^%z*~Fd?gr^cB z^5m~rWzVh|J1(|nR)@qR&A8VSxdjrYP!EqleabZ*4RHY=PG6DhP^E&D%O|cwvZOTg zB~j{MuT^yn3ubXY|GrHa%BRHO=sN2$YQ zrtFq8D$;o*MtW!9eUR&oO5G2{Rc^o zF7B(50q1&1(_Q0cID z!qdVE;UzUecvje1uD9X=+eHL`OyGAn|8fobbJfm2T*JzH#fBdSD%<%>YuG2fx;U43 zlm^pcF6j6}L_Z-Llsd0c*I}2Mi!DYj_5}v=%R4*^?AXx5Tt;o%g-%Z(`D$272SDSA zEqI%!0X98^YkSm|aNM+u{1AqtKZ(cVF;~o^n7#(332p8;(sZP`T45`D$2hM&NRw~{ zzp(ZlDs^^}4|A`|_=FhL(CM43EqLm@gQ>9dH;8vCS}wHneFPTh9HU2;Eu1IEEj|!N9Hvk%F0E%t0)Yfa}oVGJf1rFHqlQd&~fZ2z+(ygT~viI zb`>4$5^PqH&#cvu*xuJvZ&c_f1yp@6Y% z#}28Z?4v!lhkBi9jWgj=(^ZJ6hza9Dh|;Vy<9LmY8_etOhNeaDvzR2G3G1{Kf)r2z z;(#F79=e(TB|^@&Jcv1Y2SRg@4H^KTU-;!B(Iy3oxd1?Erj)S$0WBr`2DK$R*trMP z&Y9W=(S_LXO7rj7+NU9fOt4vJyBDtx)ax_4Kcn|MN;C3HGJ>ns6%VkaejTNI9$>@! z^^zLav66m?Y<<5D8rWNETE{->ml9Qn*x~0DQxSba`LC?0U$=3I2x1u7M;-)mvhU{` z!8YOiyp!t7eqKuTB|kqvwa3rjp!&R@S5ke_&rh)V{X0p`>)1p66Jmsi5QMJla3$1-H4`IIXcGG%&1wbI2BTp?0rWS?@CBA%%9 z;!<|cfI{ilmCQS!za;*Jg``a%Q~VuS30H+bsXdB_BzEhX!{9EAk7U*;Jv|p+>$GXFhG_gk8_<{XK zVajCXs&C&gpVEMR@`6UV?AzDZCj*bv@GFEXmqB=ht+X!`cd;t_4r!5{EgCp%+$VSZ zhmnyZRYI$ga!sJkNPJL$>Gta^OZ@ynRx>bRZ1=k{kzxG13xR;2p911j+N~C?T#&@!){TI;=ZU!}xhnF#k~AmRe|t|6Q8CfPeAZ8C1; zmGeII%SUhR)OT`?*w|1za}I+IygS97NamMjs4>|5RLo+T_}XvfaC z?ug9Wcf{jE`%3Zs+3Q1l+3WgALh)V+VYM00WIunL+6(13&LX8KH{jl|kLXjHXxg74 zj*frJ+6^0GSWbw<|G_2?8z5!$V-F8Yl+yaKl3}UCe?#nnTsK%KP%dE-x64OrnY34j zTfrl>Sl!DcfJX@gs+Eh!4a%h|B62 zaMkyk=G6^@Re?Ifm8;NL6cniBgZoNIEPS$0sl$$F-NJ4AzYvagX^`gNu{w5qc!G1g zW=?C5Hpz93(Ar-9f428!P{7U0`$z&7?-YLp0ODaKxfv5N`i|(D)(b!1LqSu|UpXBJ zoW&ML8j^BB+;6}+cVB7&yLUv4_#0a@qOZ7+?HQ4n5M0R|3VIHDjB2Y{N^uYIt!6}` zw09v3j95-VDesOK6F)#?h3`5n@zq&xP38(vGuC!@FjTXiBmF7wZc=5Ci6xj%Abm&)wfNzM8CK1 zWeuZxrc_Nq<0e1%qNeA>NtnUs1m|2rOCWF{R<=*!2icg>k4nGHXGcbF8W|5cFa_*C zxi;Ndsd#PcG?_%@P zt^G4o5rE5#vOS&O2RfGHO+;+DEXI`Vh80gbAKWHkXJzUA+xzF@+#U>2N7?u3iPEP% zS=gOTQUJ~|c47YW=*`UrXJFJ55kB(lN`0YSsY7W%`5oim0y<*My_Fcha#^lcF4GJk z21O&2#z-cDfo-hDs#jCAmu+6-pRa659Sy*)+u+#JDlHzLpU&< zZ4fMt1+F^RyUP%78)c20u96!?U^Toyq&(50*B9TMfMSSJT|z1>N6rW^S^SF%tN~-P84G<-1DED5AI>tCiNZv zEEsV*B()T9@R%tCjwma%3ebc4f&Y$o|-VsbEn$W9`xR32n1F1P`N=2iEjbJ z?U1V-w5fc4-l)kxz>21JG}LLxEcW8mI4NWndv9vb_)5?+xX?ZWLrV{QG?VtYq`sA3 z&#q7HCY}B(vrZc*Jv>YGn^n^~N}FcEZ#uFUr-d4Exg`h1Mccz*onK`>jpfMr{9&F*a1w;>LYJy z9_3XUCeYjuLV8u1(U4%I!1xBf&4LP6$ET1#BY2v{E)AP(BRatl$=jWSgR3a}ujHN-yIfS@3Es#nvp0)jbRltdiC^=zI7l~Gcb^#*uTKZ4hHD`Z{Gca*z*IV%030> zmR$hw8eEIQ6p<+s&j1m#J@8F-LLP1?CQQVMNS~1^+F8Gh1dF93VvJHt(|(V}{TrK~ zkuq%b^#7h}pLEM)CqcSxvcn)w2k+DD{fzlN%8_Wd@t&C`3R#|P^?Sl=0(z?@!1-+S z%oXAxRz5SfS7#_7wZkh^`V86`lY_MzC_bhtWOlJTZ zIRAP?FRvr8GxZV9&TD|F4nKG*PN*JWUhX(33Fbj+xa3Rjr-(jTK|~+0LZaI+k@p7R zll*)tco@ykW~`6QQ=oM?@C+=t`F8xuSbIaMWcd}>d#rX=i1-luepYhd*~A)IDq-3e z0EGUR2Lpj)2L3VHK&T!BVn(C9M{@ICY|!jvTWFiY9h$;+P2piuz(Yxf*4HCiwW`_X z*~!jBAOxE+YFfjg<>t>5y-_Tcj=8pDmU$-_;R)q5$XNXHckuJO$hV<77Q_D_Qgaz` zf5$IR0)Ci3hF_c^=+X89Y#?}A{roc+#^islz=hlUo%|~e?@W)n2wCspJwVXjIO7R` zYpnjTV&|#&mA$xP1J{xOtMo|2a||=;u)JsI2I3@s$z3ZXG4PlGzy~pf40cvBpfgeHroNEo=i~5^Ho`Oon6E)mOxIM5IE#PL5uRu*} zSA?~T(H5#RjRgx`u6}~|7XR{qBv^3E^%?5gME)tNj}P;YP}T6W_{GT?*)kh8XMAK| zBMn7quHio&U|Z&7COARx^Vw(wvt@uqdPvfNg^pwk*^N1Uq~eLJcV>?+R>-vN568r| zK-FnKyFYV)bHdM95*m%$%9Bue`M^PX!Q7F2b2z#IgFi*7z8McXH%i=sTCU`gRAC94 zf5Ivo`3<}|-~x;_M)4aUJ?|>wji@VJ`XXLSG6w!H$lx|qX@c6PAi-J;y`bf%fHWF- zCCT&hpIHB_QO0m2Ui5jY5j95nSN2F&f8)nPZyk;}fxVYy@89^NB$(2Jd%dDPbvCOJ z83X?YjK(bf1u8U^MJ;{uBa6#UalQgl1>cR|ykggVnZIS;P~#{znm5Z5fp4p6BAa3A z>uCNIr0B6v%XvVu%<}Wq=*39B7IbXD9)ujAt=NJy7IN{N{kKPyO%T8U#)C}DgimC} zL6%TdA?A>8!pjYUt)<1AO<{43CK*o#DB~H)jc6m|c!qi#%j&W_N$-tg;f?`)QX$#4 ztgFXiSsUjZFi^C}v;3i5tl)@W={kL!EpjAF<=fb1#{?;M9lPM@FQu+yEsp8Z>9K5j zPH#gCj%w)NL#!|-foL!0q*8S{$A*ykXU;#Y$8Z>IYb@eU#MoP|ZqUNfx!rW-+w?4H zS`7PRZiM-~;r9EP4-Bm1ydIshVF%Ot#y^7oss-mcY}UL%(i8)Ga$eu;x`FBx4ugmq z#DBrA!nf}9#UI|vJj`y&xPPC!DJljB#d!NaMcFjnT_gO}YzqD;KdX z=u7jRENZ@0dO3`x&5yVDGHKh%w|5x66P5UL8s6aBs~w)hHN1&%_0Fh(JvKkVnWFV= z=Bt5#eIKp28-$Vjk^!w(A<8_)tB?Uu0*M=VH;8+b%O(pQO_a-=he|?hlsjb3Z*x?i z+t<$W9WC3wNQ-)xv!B!?e)SckWanDQ=k_IAx_)lVcj7~8N%hOUq8cxCwn?J9y>iL4 zV&uL^Bn?M#|Jr&#(;;|2^N1>I@wlTQI3DIiG!z4K=IEfcY)#_LYRsZrsg-FqOZE7G zegmG?myp03l}pe|XD{6wpVN+d7s7|5cYc0Y9V?B0sS45fQ&ot@Zy?by9tF_~S9tm| zclNo<|NBzyNBFg!WwE(kotpqQD$V=4G=^x)xE2I$eS7~{Zs>8&h3_8&=%HMa&LeCX z@Hde%K2gQGx7QTLld-1ek0qWJf~b#`%J@jm06K-xlX6C5#y;t-eG(qz<8D+d9^3h5 ze5$A()#DuOo!mPlICMj9a;ro4TVU$ZKke2XP%u&yGVOcuqNPBjO-5VwWByk?yKg}^ zXR2MDq1AivJXY`0a94Em+Qz5GCY(lZ5~iz>RjIvsZS#R9a9O>!sf8Q#2?}U8PrnNz z_x7MWlP3DVA3h8pyTX8$+{#slN4aQ<_>qM!>})te9Etynr7ldhZr9;iQYTlcmv`uD z>^fX7x$yC9pu_#A_(~mHwJ_C?t=U?@N*Bh(PS@1aOX)hwgX^e^Rf>nV*RiUFsd1;r z>X0x*(%CBmH^$j?hM^myzcKTolyR>~m}I2^)BOTL>gP9mB_{5ZaBHAk@+q}`{uU+^ z{eI~s?D0(O&2+rf_st?;qp={Jv}o zno}2#pjfzR@lX-%F7Ai_E%VdjuHqnOSkgLpY5P3(+OqBvuuqnClFC14-!GHzkml*|3UfBLO&0%iuI}c2 z1J1`3Z1JBx&h*E6iTt(a5Rp0t+KfW~f#sca#UJU^!2i zEHuvHr!>2imQ|x6*bT@1FYMYL4HSfA;yHDjW`Q(EyK-0zz5lp!_-qi4j<)XpL86dX zmFLQwFy{$#MAg|1f(lwX`{ww01Lhu0y~LK}O_hpr*qeEMq|>LEKQGy^kXSn2%);|C zbUku(?2QQ)wkqFl_yMzxQRc7%`NKO?Z!%~cGb?A_dbu#K4_z+I$|YGHKlN5cA(bJOnI z^OV=YhxI>M#LDhH9Ta!V4U##su|r-(p3;I>W-X2QxKhhh{;J6yWR8`?7+bj_CeoV~ zXQ)?S4LOccngjhqF@Gr)rOM|Hy}c?*7m^w$2&IS4Jh)8?y^N^du$DR2eeax%&jSV_ z-ju=_R-&vymOKr#`*Hf*hjX6;^`oHA0B!7Cd^?b>$vtx)rV6yn(*$7^?qf-plRlnYgP>c{yll=&%ub3-8f% zSAez>w_R7q2IUUzEciiko_-vcohTlZFHveyzDK!=QjgMv(t@IYLJ-=a7*RT+bU{f* zNk!?8G7x1L$|#hvD3eg8qsS<;QL<3xqU567hq4Ui{wIWdVHJQiCd2L9hxIAy*oz(<7JY2>4}jfbKHriFlL!rZ_-~X{A3e65S4s^w4!u3g}|+-=P11 ztwO3GgiO<|0o^LJ6Vk<@y74NEgP0`fX9G?XV#W%Ux~aPRR7QwUDh$=Nb!dRvp<6qb zPA@P+rm9BA1C{}AI8?RykQ8s;KyHFL3WN%C_2I(zp~)&-vqfUgt&68rJPD^YrU-7- zlTg>8o{ZYKRS>42PD3rDmQiN}`7=?k0`5S)1NB_04|U&`s1J|XAqeSzpgor1vK-2F z=|e_cW^FU6!P=-BRJt~5{VtNx1{wnxGoVgD3fr@5(QG6bt$%jxRzhe@k=W7ncM~tg z8kSeK(T@fBqmIKtu^!2nM1f$Ee`f23|Hs@caFXp+K^qH?3BqS+)$ye$5PY-Eq9EV+ zZiuksca+!K2?PrhL{b;Bg8Z2GLWKJpLxin++X)1xjo0`>kt!yb@hzjd-hh&%!a|Xx zw%^(T_d6j%IvQAo1_-XiNsazW@6-&;{UAhWz7ZmP_e77`A6u*fxI~~Hg2w}F9Z+To0DdDU;|E7*l4I;rD zOOz`oGTF_4c~cPFxgK6jg>?KeQA2}KBeWI()z{@ffgnV7b?2z6Nc?dU*K?c5o)=^8 zc{iAJW=9&`e5Fs{d#}nqySTI6IaFquR^|rUWm?scYn8o#1Yy&z(%J4xy@zjO z=foc3_v}wGC1REYjg|V`y4<|jQKbuuZ;Je0HcT2WzRi|OgDq}qW;}@X1Q-C+vMOnC z-?xC4zMNB+lWhLQI#H~X9S@@h%bYGcYXo8U5!M4(Gc)OWiYaWUE>Y~wa&)ockL(#; zy!aC<)%EGNA7V~XX(`>`3SIGCK6K}xitX&IE@6~eXYJut@#i3A`Vm@l0Dv6qwd%Y; z=V_?ujR*%eSHlcm>yON;kG6l)9-*_o*AC888s|{ED)*#@J@2*dAZC$OLzSke(1S`- zrQvI(#ig`F{D>cO2vm9aEGkjx{ZeVs$xhpemjvaC8MX<|RN}~9r_v%jl`A$r=>@$| z6bfvUjo&S?j|2MIH5ENbQ1mt^Ep^ZWOPi_|sfR z&WL)Uwq9`7Mkdsr6=;gNJ{eOig8rkyP@#MmupQiz8yC!ySS*N$}RCJ3vDFtME`MdZmXUawPDn(CDnXTH+v zQCdLk59@Qvc~F(o?kcqWlCjfYu7i-dvBr>Btj%V1v)7ABJMAo#_0#~=ug`Z@V9hSt zAxG(~`&n>cy7+IF8CWps&7OkbBH|-n=W+C4>8t3$aq7W~3)D%widNJ^kHJ+LVoC7u zbwn2VH`KU5J{sbt0H=WudzD=djFl2!Wnn>s^)Cwa9=T-?Ft?mHhG;O}v2J zV|0RQ@{z%6OPgM1sUfe353w&o;=&({_o<^kq`%BAg-nw!u4Nga@nSrCFtkrt`C389 zYm^E}-D_*vhS2`vZdMc8W!@ApocZcNrObBmeeepF==!|Fj*B*wkn0=MO9kPYKJRip ze;d4drL|6J)tf^-{0X=djKobWOify8m0ha1d1wa#R(N9#8yWW0gn42azc~k+NVB{n z$;qz}$RiE1%mux?L+|A0RZ2vNk7980lPbk%^ie{b{4;hv?5?v1tVK0M3wjz80Mt4v6L*i9tGA4D66a}GE#CvU*#(ki8A5tLfAHOCH~tLueUlPPc68Q3VJ;JF|FWNU^xT$aB9%ucDPc#x{A~h z3VM)69flw~Xrqkj=Ha8}2$3{2?@%!v7pa(|-3g1(3#_lXNAmZp1VL#fLZehbMtB5- z)1s_z)a`E#g2zPRU)f@F->?l}+*&fvuVP!xy(6~8XcfAY)=16Kj9JAz=HB8`7GR0Z zBMY_obX;%udavn~)<$*X9#f$9b20aN5u*Hf$?Me%A?V7t{(J^H5rBZD03zm;+1T(C8lqmmqejUkkb+WUVxByJ+Dpg;x`^b#aIcHL&MjX z(RqJ= zHIVbas@_a?@qAJl?#}n{r%9>AN3!Q4df9st*_csS?BO#sx`@ge@~a&}JZ#1EY8{VX zEeeLnOD^6#8?qKR4+p`+yJ_NI{f4&j))z%VcIMf5FnC4gd>Q2%$HmJ|{v9}3PI(MB zfpZLvl!O!U0S){F=%%;qb^I#;Qsk>ne*Bh>PXILV&+zNwE2+-2Ze9t@!z+MU^I??R zfby02Ij_p`rvO?9w!8QYlE~wk z44L((HWv@|=_%6mT*mC5=jW(!xLVjnpg@I07%U2XghFRQq{GiNc3=Jn-5zI>_$AlY7pY<^IenqVk*<8k|#k#iFO!da2 zpn=EZ*E+{r$9n=WM44Rt&wP|c?wbH$1W0F$lkcKJZW}+39I+hfllVgDYv61J zyFaqO9b-MpYb`;voDQ(6JtDGBP6hN?JBEEB$o+ssd9AZ4p0;T-wX5BFAEAhVXyO*M zNAv+UPQ%u>M}zz%zt-S3# zPeiNvo)^fLzs4{BSOqT;xE(*(%n>pfX2Tc73GoPICGyP@zw{#;9o5wyjM89Lk51)! z4Lk_24Fy3x1n`Ci9s|fV@C3k%8h8@mw;FgF;5P*FYWylKRr_1Y#r-Yyd_B;5&eY#E z_}#!??ttsN@zp@!%0KbPs0%y}&8_2c#q8Ipi9^5515MhALBcxy*WU$nGZ0K9D5i(dY!&DDYU|)>&S+Sn4P!h6)|O5R46DNSR}UhPr^3IogYF@#peGB#_V{ zuum26b_npT#7CJoH3e?~%|Jj@T;_O5qpTnSG0m}6)bJ!l?+SV&=@sT>~y8-}5am0UN{c#At{xZOY|(K*AH2~RB>e#^)_8t!;Q zGYBW4VuuCQ0Nv=Qt}wglh%52=tT;A7bg<2_G3M3q+RC-+aHYwqG|8nl{xmxk81tKJA$yJ$#3zp03X$E8djE$}dn~)H`(N93NLOiuf;;*o23B~q2&}hxC z(3(1#P^n{BGYG|e`nUrK)pu}XRpAb9IH86Pu0W`+gL@S%cN;sn-w~=Wv)@vEhVb|f z_8~(3ItuRtTI#TM&i7X0`*-l)09xiK>Ey2@en1ERDV2Ylz0C6wCX-gxd)`kaLdqP= zH8hh@Rj0}w3X~dG=6FHlC;9j`vXPL>y^t>m0I^2BcfM>F|dXBfR z&r${Uo<~Fm{p+;yLm)}$D;k;%^iCVHbW(iISOn$H#mcdf-EQC>!c)o|uW3r1gxd9G zj`bQ|ql%X~Uf0l%2u#9&m`X`7Bcje}b?|Bg|C^ zr$Km8BTQEbGme0=TBD2s1z~7ag}*5@qrzWlY7AAHLbZkOF!shF^Jlu&LWup6tPWa< zn0BtBFns{NrOw_{;#yh8-HI{&93&)y-i2w2tatw3;cTPvopS9^5}#90)V zQ+(f3OzE}IuxT2`L*mb{*xr8&lnD`e`!}q#caN+EXSKrtJpEpAe=Ba=L_P`Dq| zy;+cA};9oKS}&c*`Qo;DOVz9>8u}XVcWw9+rCz=n11;ue*+>ow*Nz@;%fm~ zH=r|iD%OB{{s#c{GqUJoUI^IqjEff|w*=ynTjcxDP5mM4nl+AjY*621dkT1IJQ2Sr z9EVIDq{J#7t}+6ML3*WIte3E1{1a_Xgi%gNaK5fRN~H4Ph35?n>)B^e8b;ZQ{P$kyFr4N7zLl@ z0njlA+WH8Pe?Wq$yyiRIUj6+_u&G}IlN z#!r(3rmlvcC8*e=oClY@9h|bD#yZl`$5~y!MEg?Vd0~QT3u}c<2nr9N0Q%;D;a{N` zWYAOuC3I^^RLhk z)Q2v|QdU}TV9|OXQvE zU&x*vI776s(*u(Rf4mqISrm|`Ex5yu0?1V8;jawyBv?a;%E&$J*o**3r3>$}gdi-k1XSyJ3~+j?Iinu?H|x!j&cOXG?5H(!@YK67WU_L}U7qe% zny^$p*9aHf<^A0<@ctTpk#OY#2piemX%CCQ*Ydx zBix&lPAlhdfpnf&dTwW7LlUe;^R@!n%BO5VOMjvZ~YXf z*)6K!>szc~NM;ubD)4^ubA!_KrE&!ai9@{0Aol5ym~JftVJS7rF&Ph1VBw_+yzd9H zUxy?m#2}oo{#&ed9I$)6Nd@7ux!3~XNKT)`_0?n#-!P4R zIJigpc%laI&7h*YK(y|v0J{4EvHkdRuxYwH{2~!V{y6I~Y&9MLwhc?AJD@&jnfeSCp_MGFMSpcSh3fEw{e7=dA$eqOPMf!Eo+#wrZhC7#xMg}d|HbmM?^q^~ zXY%kq(tZ8ebHn?jCH0qt((MvFZYy?STv5TnV9lR8fgqyNfGfs+qFZU9>DWaa9pB3u zh7U8WB1Ga(v553R(yD%Je0rQTuOE9PJ!OPRll%R+*IT5V!{Dxy_ct!n`2s9{X4;qwnb;?<;>&K3!Pn=#3j|Rn0fa(4K#@zzMI!v|8rVhepjd02RfoAPS z4ZlLTatS5uK7ne!urHf4!eYAJ6BNVbTG*-)z3t^gZ&OUGq}yK zkrCn_%r>&WSj?7;jFSxW*sCL>CHS(P!2VOfYDX?42Q+Ndrns~4qOj9EOH4z~zKQ%e zP&4LhkLH%&WWSH{Y7 zooMXihhe%fxxhtK29I*vS>L;!j&Hz61cscv<|xbK;?!w3HOAp88T-bp{-i)NWT z{5Rw<`qvLZ6`t^G9Rl83c1Fr+_wpkw;O^(89uKlrcfa`1V90?fU=`Ah@{bd5q1nKy zfng~<@FkSw$f#cqBHhz8-FJgbk3#Nfb;()~URj5FT{(0kKUNcoVTGgfBY(}OlW_1( zW09dEL_V&U3-MMW@=MG;x<|j$m=ld|@Xr==^5T;b!_(qw~rIxk0&r?qfYZ(C*<$_o$;A4jvY*+Wmb= z+7p>exj+LDtx5cL!0X+oT((4~A*wy18X(&~HY_5b{Z_eUDCdM7%X)TVYj5 z2YhbFfEnjUa$X-78MHMAopMd&Q<7NXxUu$i; zWSdHE7J;4Tvmwo=;^#bP1Wv$@JKs$oQ}n|Y2&a!(y-REHkuNlhaf%c97RYJ7D+fFO zZql!9nz7jw7vvWC5&cRL=&pMTFg6uJb2cB^lZly@K{qjeruS|WDU!0YsH2bSLwAJCQt4f7VXaV@V96VaG$-Om1RzlS`*lJ znf;^>XR`3|-3{Ty)A8wS@c41Mj}s(jT4Z7C#wQ1UI9{Eclb^HC#wVDmby;NL)n412 zob&wCOtxpyD8ob&((wma>V(LMoCp3IQA~JX@2m+E#EAC$|H`>^Kl}Ke{+UO>h|(bx zrGOh7!!F<$QPmW}KT#h6zbmTLi}F{pTq|=1wrn;!#R|PjJtp&#`&qAveMiZ}DGI1C z(1_AovDA>e?_NG&oVJepAjet>`|SU&;~@6(#FF$krr%aR+qX@XfT*;dQ7=xn8!a)~ z3g6xzX1!!A6iR$78+Y$^dshu%XfPrm+xE;d$DcE=&ur6{$M#Ii4bxp7erSx^h9!`) z8oWMTdg%I%7!scWhBHrwKZAd8d-zY9{9PcEf50G}(Qh}HKX&EO%4pQMao|R3hL1;# z4x_KD(DR{LZ26?#F}op{#f8u;jEv2DL#9QbMTSY1H`Ynv1+?Z|@t zSf!7%U_0FnMy*{YwruhwaT7Z*IV0vl+wIEUzpv9pEMi@!93Pq;EzoKzDYW3lHUPqD zJ44XJW1|T&_*}zf#ni%T`Va(7y`?TJ=lqTw>zecsP8B>#_jA`tD zruG=(Lb1*c1x)Mg(5#QtD+4{b>beS}A=XGPZjX(Bz-p()+sEM0M&Hhya8$>u8%z&N zfVLadq0P2JvmfmYSi{SxVIp5xg$dE&`oU2m?DRJq@dm9iWH7A7Ue({?Q-x-q$Nd%_ z*I8kZi*39w1asB8M$6nkn%+Tngh|a6Aq#y@_s_f8vT1#K*WP`5U)rXiFFp;2!O8Wx z-%s}*n)Z&^yBxu=Tfxbs1OVQ?H783BmmKX#5HXrJ_psIS2*XOkME)r|CZ~vF*;P5# z(z7dkl+sAUI!5C@#1gZTq{2yTVpd$YP|!Mub?_uQn@W5gE6$qTs}uoqC+~}UMIom? zSN-hnvVb;ef$Vckn!ZH*l07~>vX4IsAQXcUBld=axcDK4GFQe|7uw#}7ko6Y?nAa` zdbA-{!*;PV)2G{iMF|9!^`eWPBQTm4BkY%-0H)gToQXJTRs(bK7b_*fJVbSZ{PjZe z%*!g^ne!J(bnztenE>1pCJsFG=BAkfB`%{>mA4og@Wg;$8PjjrELpDNqRqc#v*g4> z_0Ibf``d_@v01|CP6Y@BTXuQ9H3t4WDuD-%2QjNzeh&q@u$KE1t=C3&6zHuLn4uNe zMg_3D$S8FRLcUT5+2k3C_IEo=wE{#nB1$>=YN9ubo244ZIt()(2PJ&cPU>YQe);$K zxgqj@BCCnu$;3@jxrxM`ik~XJ1HU*7&>r;;bl`{)@8MriEh68j;6M=SN#jQ~{NjGp z8Vpav%^+xx$cQv>GnEG|X?zBLWtWY&j9{@3bWIsTXuXY}9Ra-+MoSb-oA=Y|OGbU& zQC~fe-pOV?kYMLKB%!&|z<);mwqqGTgZ#TVE+bR%$r_$Pc$#+(RN``u=OU-c!JJqk zw2APiwn}_&rTSpDkNcy9#lMQTmrFup9KVU|XcfPP>^#4LUmS4})w0$HGD9+qH2X^H zdERvgn=&&y)&YWt+fWHc!&%{r!*GJ2v(po-W@bO>P$s)Pvsd>J$aF4%7c)D3&VR~T zYW5)e-+soBQ*WH{d@3@01(2o}%w5U&=A#)<_-B}EeD{FPjS?S?9Jg}mlwpWdpaAct zeTds1aB~>%gA7k7yeIPA4t)s^AsGYrqax@?3yR&mhT7$d!m@h=3C6wq14!%W`tBcjMV0E z9WqpvLpA;J6LaSz8UFPX)l~Bn3(W0d4?+LF4d9*7GHrYKMpU!};@1y>k)soX)v2$bv`flXsrNM4kbTElwh zB}x%%+2p+OQsy%Ddfq^3#xiy=Z;F&Uh8gqwru>3~6NYj0c9@@XsZP0c>%L_h?l>;V zMIlO4R<#4d59g;)nRWSA@c{cGe_OmVG@w%`N_S zUZY&}XWz`~)onb~z?h!h=CfAK_dde9Jvc;q%AZYru)qD>V0B;xh^RjL53DJC_Dvt< z>G+R$%|fI)@U*C$y%jva6o^j>Y8wS(lo=k-SRUORzCbN`fOa(HEDk61$@M>gVODMB zLFNF;7g)YXE0=I$l&fj%kMPre@CY^c(iKJSUWcuuJj5b>o$KD7jt>_lewRsGez$N% z!<*dOwbO484R0Y_y$o8%#>|eLXw-TWy%oV#IoZwUAY_y$0(wk^D8NWnAp@Ww5;yQ) z-=_(>V6xDGL%G0X{Mh!{v4%H@EAc9JYId}Juc$gio%Mdv8LFH!&CVzfL2z&Yx1Jq0 zDUrUL6nq6n&QoXYEjq&?n}z`p(Z6nIjEl@>1XScQ9=;_ci47P|r_w0Xux{4lBlFeR zd(R%hm2YSA(q|237x6+{lW)Ou9nMLJA1<|FHfoCS0tp@-zG=B#pQU%7;F z8s65R)LX0Byn+d|t||-Eb>%GR)hjIZ_JvS7QWUb&wo6J=k%((A)sl|#GKqDc)AK%q zHaY{}!>+4dec=k{)@{lUs)xd{@fKl*>R*+{Tem5PG=U51ZAv4iXE1wpPE6o_D~3_W z4{c^2&FN)$pD>BP!5ZhJNR=WBdbqpvs>o6vP8l&m6YQ~>E`ZKrapMB0l}Y6iT>!OW zLi%fETi>M%pn6;Yovl;q`2dlvc{n91711W#0S+WMtQ7_3(z%3gY~E!j9!?r}1a~NS zc)`ehPLTSc%yx;1P;Nnp=T;g${0)o~8k!IF?rbbS8y?5qGl@&<*v71LlV{FGX^dL4 zyj`-|+YvNlmdD)kaS*&_~AN=vhFY})d(PHv)^@fHmePm419<*1v zRE_6>?SSel4JI9&ukZd4H|I8Q?GSe6k-5^ARF?i|qBM30oAqd%lrV(-{n4IM>tMF! z(G;m+Fgy8Zuh=L0V|62(gwwjm`}Sa*`Vequ;ZQvtZu<~3F6b8d)mxp%2#Utl6St%B z5F5Q9N-EE1c?*&yV9OVDlOn!iWeem7V)J!)Ld2h62sykfVBf7kw(1WoI5_-(S}}#Q z-^RhAtG82W#8-L&m7_6omQ$Rg-4bNuHb6M6qf=SfO!YilnlJHe7F{?=dMB4XQrJ(zV6nnPLvcUVN~_rZ!YpZQE;BBg zV9*gwDALQ;3 z8pD+KAacKjSSM=``yEC345b~5c`ZRWqI&qD((2Rsl6GWKx)wn)5Pbp;HBwo?9!zX;jWyhV7kB5 zf`~6D-r0L->1I(%Dc$?X<6%0#%qT%Pw)fd5UzYrbJS_;BPqUz>f3%mvQO|?(abihr zLMlg0yb-jmI5Rfl8238zO5%Z5JWCL+uGPoqAvLr|UZ9z`y7Huo! z^wV*vn1w%uKq9&Apq1tbb|Erb5MId9h&w^-e=iz@>&0l~|4pF+xy(gSx}dX?-Jm%a z3&KRCFOaD0UeLa<3HY+IQ|`_N-v8e#`51){PQyq{?JWE$Xp3hG!W5L-^ng}&KWHD| z?kWlQLTZoqjw$*{vPZrk2(d^>NPUq~k%l2BfW+64$@|%tw`lal}Njhs*pZG`uqi9kx&ib5YjQElSodadZe>R=a3qa zen9#e={KaSNY{~?k^VrsiPVPVMG{vCf)2?KDF7)DDHtgfDSQPR^R#7e^79*m?3pj( z3w*&M6iCB$GXQr5yhR+O8v-~EZ_FQwgQR&K^o=6X(@?_Z|FpCWu;}}@@-J{a{hgxU zWZfaqCJxtaP+=UqBtgFwaHlT$icB)Sy9XgKlq}jouag zCaFp@0n32v_by+(S7I~P7K{$eB0FEX*F!?v&kEvmWr2$oI%!n94y;3twV%~Ir6;U^E~6AefE#{qi3Gq{oH=% zoZtB!T75#RPZ%QzCo&xhyZBWkS*)-zA|ax0WwW?A<+9>o!+|PgEC-(x#D0aa2}vLb ztlx$)g~BTvyp?fx&L!lEzz&%S39#SO7$LRr1x_-tk4+F2J%Pg)y7Q#ydn;AX6*DVz z5~3bX*3`pkC@w9)mU3weTLA;=;j<8p4T+}HhlP~vhYVv=bo);km5t`I{2#YCj&2un zyhmpf;ujrh>fszsEko@SK~Tj2n`7vIgT|;O>YcjE#u!5C(TFnpPD04rN1oOet2LGY z8*a$*h6fHmt)W|;LKs{zix3MTjh4lJmNbVDM?#aNfi0O=nTd&+=^RrZ+j-O~2kUDr z?DTB+FV+ear34nm5`c5=UB!H5?yT>={$yBs4fr>a=;3pfgZAq9Q+c{O)r)-m-Kgh z@4i)N7Ny_8w)5^Jv)j%w3_NkB1M8%NBKiqwbaq6xkWL?o$Pi9YDZ(YFbVtOXKD7{2 z1i5QdT@bchN&iqwP{m(qdqmba=Vl#w93u8}Fj)e?VRpx9?nn*jy#{L0661m0V_-3w z`y8DW+1IOfCz{>wc7wA59Os@y8^AwsaFzQ*POdN%s=M9)(@o;|K>OKBSaBx9qXcaQ zz-CV`N3;YhwJZZ#=QZ*axQ>GKr7A0DampYi=;}9%5^pgDP;a7FBD01+0SYF_>Su&kWV=GNOBgjQDSN6u#)}|uI!gRm%|az2of$Rsc59<; zadVBem&56=u_VW-!@!BrH0?-@rN(kfzUaYp!qrhnL?I#T3)p)z2zfC~d_-?kjRh;I zWz$o9a*xoasAq&xbhdSRg0Bce8yR57@daxHDneiEmHMz_ zwtxFL=N)_k1UCE^O;bd<((_k&DG^XwF zMNPx(G%HI*i&|p~uv3^ad$bOo1&BdEcv&B0LK9+U3rFeVnDU}eP?uj!F}v^AlmlpS z;bOG-0B`Y7L+5Ao4HE-rtFbw=0xXY{1$Gi-C7Pu`+#ZFUBY{TQGEKonG}ks#_>?ZR zrNzF#2=m`&S{4KLD|D4@qOgSSwLKA^uQxQ=rjO9kg|sO4cHt@dR_qXAF5MqHI=25p zLQ30AOSoPv?G-m7A-|Ikh$lHlZ{iUToe}qvFrT)@WyX1b=Iw_u-gpO%h@Wd}ETaqJ zT|zQ_GJa6(vt@*owV9T3V@s(VKg|1Ohih*Os%CkPb`Pk3KdDJf9qFmV*{YY=9+C)d%Df7NjAKt=g}PJ4S~I zZx=A76y4fyp`{6r+;+E6#r`}AyYD4&dyc{$;~-16iXtNxal1ufDsf@(?1=&Prh(e| zSjMn95b-TJB8Zk2&xU0#=j9E{qMe=YN%R}Xzhveon8&tcR!e066Xn&3E7s@f~O-4ML4o+>ig_61St9KJ4t{-FFKn z%2#^4)ZPzEBu!naTTlIg8*#*9#fj@>tzel_Dq89j%Q{#y9c4WP(Dj<=c0x!=AU5@|En1$$vbg|eNlO&lEi z7#P=9SQ%|d%yl;X$Olsn`sE-Tn{PpxG?waDdFKIUf5fkN zl)jUcB9zfjlhOu9ln5lLmm;~|i6Uhe%dT4d>}}NH#7g2{82O6#A(E}5LT~p?3qrgl z29I){iA@8B<541QP8WU&aoL+d9!AT1r=}e_r%$=)XJ)P(uX+M3gR3L-qp$ZK;BCST zIur7jRt8uQAm|Y=+v2I0hzmYsf4P|j7YM|fe8JED#$}x^-3N*S*c`0|2JvmlgJR0J@Eh z09x2<`1P})yv|mYy#Or0?f~ZYz&D=(%F6L`N|$5B0Npor`&lp_@)*C#ymdHz(YjOY zQxI9UF1?w919kAP0KF_3uwr4c{9|GceB9q%^|Oycc3g&?jtkt*^IZA-d|vCHId~Ev zrd-9x{UMZAhLr4vQk|}JCzt%Et|W4BD?s}JKf8kqk82CC4gmIMOyO9J{**E3;qzBR z*eGDXxY+4P;_`X?Gg%_nX;Wsh82VUp|6Z$2szqPf+vz*WNq2mCGq^($8#t5r0hOR1 zcaK8_c1>uDT86uaf&P3RCz;$;g@uLHI2m4p^LGuw$$tca=3pQ#9C?jKr=)rB;dbqi zg_C3&`fowMrOa>=kGn|ovx!^?;dnF`5ZF@?u&aJHkdv{qT*BA>ouBpL_`U!;&++4a z7RB+8u%~kTi)J=y9-J*D!OwogdUC!MV25w^g7bl&o#F&|Uj`%sY(M1Dtt3>Vuo#d; z#Z$oU2hhTTcVIs5)|#0Hz?x$Bvn^Z~je7%H;P}}FPRQilZ<2zD{KQI?HA6bU)^NjS zwi~M(&I^(_lUqIvh!GPMDjcF%j~!HD?|`PewgLbnz-^`~Y%Nz(3)sK#4X|5{hAxM_ z7To+E?mNuuJnw!E(egNq^2gnYj%INLpt|lv#N$JpN8JzbNV>q7l8?LHB^+G>)VV!z z06-kE#Q7gR^v2;!oL{-eaES*Eg}L4CfgD}NSwHDgIIN-IPT=H+0OvYSxGmkMm=o<| zTW;sxydS@8s}8Ch+=L$sp$k%nBN|zqnv<6Yf>;q%R@_jG9d(~n4m;Hrtn!7UO+?&h z(;21vq|Me4eI7lT>J?(?!nEPIp{z@rEzF}Q($cIa#_8^Ho_41tgVZNI3%}#jalfXI zq_6j$oGbAC9;O>4zB?Ca2SEwf-1Yyd`4K4WlM=DN>#ZuulW_5j?_(mzB!auzGG|o1 zg=xJ_xJY)1$MlijY;hzj(RE$an=x(Vqa*Z<`+~Y{oGN$1$=VFU8FkxGRRk^?_*st2 zXF&Lj{*v)K0pU#MdcjM-&m2F^KKwT}RvLt`jrN;#fgT%og#@U1yV-evfPFfeuFOuK zvV1hgD~c^Tqag_pi|s&_l>lo1Rh4nc-Okw&Y$DjaH|pj@b#u-U`6O0qB!rPM=tnf;-S>S2dcZ7bu>q!egQ)lg|d&fstrlBwNvjv$e*G$a09F%3XX^ zPjHTzdFU%SW2`$lVq)o3$r&yzf2F?*$&IZ3gT~)t2)!B5v=W0Cb#2tN)r>v1 zt_?Fc)KL5r1X|?QMyq_XS#D+LuOQzJ4m!_3;HT={NQL!w~4HFC!$Nu>EnkGPaU^STr9DNQ*w_Mt3YM^%OleAXm7L1_ulk z-lu~GW(v3r4NS#6+&9oAcK z2_4;IeR_oUbw!Ou5Wf_~CXsCgTXZBSLbXMw?iblcko2a+HCh)d63HYkIHQRNz$Vst zjGJ)s3U)}7M$`o%uyWD}7G=X8Cy{zDU}C_H058Yr7LSNHE_BM+GF&b(33dwkC*yO6MwQ- z*T=Jmz;0&u<5v>Rgd`<2#RV*v%>uCI$!JIZ{mEYyjH2+ z$J0lD0iKWRYh{)6f?@JWE+OPe?+OO~fUc1z)r9anf$yrGv#VO%RlRsub@`jp%4&zo zlTjwddf`gU?u#~&>cUIb>RFfAB06ID$VnGL-y!Xdt4^%9vShGBgB%O+#$mr={mrm9 zv$IyZWq3c~IQ@M11aI~b%r;IN_&S_)r`#*4W&rzqgo;3lGuiA(DSsfq; z(u^{`&iGKXHtNl?$A-{VIK+)sCL`^jt(UK|wGj87j*_pM-4WU*`6|B^$MIV+TLli> z`U!jxN!R1vh%5V!BDMj0<=PHcX(vxL;Rc-m+4)@d#u<;qQmK-(%APszv~n-$ne#Io z9|5l#ZTN&gguiN_pL0~uor?R^$3Wkd>cd{)p}X8!<*Pv5A$=ZIorqg9Pr}JTxl=)O z@J0b!jxAU2sE;=Yn+n)MzBN}Mb+b)0=$oVhUKcV3Q7|KSRL6CUkh|(T;^km1(n|`` zP`BiX_x=T3-j(or*bBmqz5OsG($m|`pj_YE^&Ib6W6$X9aPJYp>3RK!tJ zc#I}+6w?>t4&kUJ%uUmU!`xVoTEpCKv{W^Rxs0O;VQw2oEmhuYrkgqL3bPwI8WC2; zL=ryFVg44*j|}rE&?;$V5C2)tj|%hup!2Vr{NIHLg(2@Tvtq7ctCF5E24V_Fb(`=l zGaCt%S6(GOYw)u}{1*+>NyRY(txAr5;5<#eW2VRRUA||ur%?ZxTfK7)fqx%HUJ4x_FiJ zih=InXioTWc!#6bDk-#zUkM50XyAkK9MCH1AO-`wA16Gf6Mh9@l|i^$CmaD`wLuVd z!tI}fvc{lH0tIV*S9RoZxy#-wzdBOxY>SmUqdTO8fmrihKkx?#WLc*7(+73yA%0n& zkJOHQHuOECup+u_+*)ro?qNMc&2MEp;O5o2Jv4HILPg~2f4X=m|-N23!sBCr7mY3qb^@#%fx2(4DA3*tpYU{_qoYef3k&-m_>@N7!h zS%A1xTNmP!3sO0I`6}W*ImkZXU$&p~l>&B#-g@)=d$-^UX?0kUgdqgGD(-)52*hx4 z?!uc*7t7X>HcdxTfcWHgJOYV|SiA$TKM24kYbKC866E&pIFDTjB7QxKA+X}Ea~6G> zNxN@ObvA)49+b2-$dg@zNo z;7@M%%k4=EHtM0;eLMn`+wDJm%r=9c9J!0(Etj}Aq8Bf5g%;HC0s!8@ChT$~@N2!3wiji3varJPpF%(-rm;7;+F%(JF#_XG#Lklxn$HULCXZq1Wc zM!^qS(TwNqyp7$Lc^fl$t}F^74H=B!Qwd{j@z|3x^4Li(fjMhn|KU(&Kt2U-Be;4e zcqAkEY41t>yvxWR$yD73){r+5?;VCbdbSSU-Yz1P=#TZIzbm;??08+0DlrI&QH(?& z{s_7^5X45I$nAA#IxVWxZc^=-l(i7#n;$@geZ>9bwFvJ4$hnt5rD#G z;FlF~+H`FbD+C}1dDJ%n5Rdu>V-jmEo3kA;T0Zc!75NFoBd^TJXNL7OQiq^Rkh!Kpa*tb$&vR7Gw(++EH+uDL9Evn0%99qe~{w zHg%4ppG+PcJttM)i&FQ{^OMs#vDcJb{uwpJE!5Kcr~KVz?|Xe+=LZYq`iuxF7&5gV zDwsPp%bwUFkYm>+(k%3usRR3LPto_j`3-nP$BkJP^r&wE{cP$eVFT@)I;^ySOGL1f z^*CPnpCjmJ;+^`tmzlL9Ji!h2rXzyfik(MSu0VX-+|))AQXDuj61Mfd6#t;E$(NlX zx1ttqX9NAyG?(x_eREn`-W#~E@E0F->o`0EnpiY0J-|EFtwtK;j|RVs<9cTAEIl_Z zWBTLCdeeUSOw;nVnUH{Sp{@DbvH=|fD}S2}&_*4y0(zK>TiF*7_sM7M&KCJhvwVh) zrE_l0^j_vn6I&0ayQv$KwQ^gwGyPb?GQ8KD^nPs>^uNI|yQd3EtbEeG9QLuheg+Tc zxp=Y?`HUpw|9RN_lrHP^De(}T25Z7Ln=_GHiw{{VH6%W4!AL1`Ta3tuY_kP_r|~?! zdg~x>8E;PnQ~#Hz-YnsMeXRF}_p3sOc)v=xXcYSpqC2GMf(Mn-rZfM22DbBsb?~Y# z)gU8+s4$ZEwayjD2UfM z{@SRd@Yl3jX(ge9r;jqhf6J%y1u}PPZ~De`d;iL$>)pL%fI#ld+iF7gOW+F%*(vc0 z)<};|&+%6D(TA^hou)PDnNQ^Tu4Ub3Jat$aV8eJ#W>&Ksp_F`~%qO?nW6sgX3j11}oMU2trW*@$1s|;|Oc(x1 zzbYIQy&awz6%8B{$JjPS*#K@kZa#4yk!mvA)9x3WAOr+ly^`EyIA{d)X;#QN}+wGS- zoe`JhP9T{YA@MvX#fQBnlx;;l`IFiAj_XHxZ$IQ;uS>J?Ntux~auHU(zGUAwmgr$@ znZUbL;CgZ^KP)f~f2o2FR?}TG{?6yrGqV(P`q9jr`CisBbF4sU?yO<1fD>=hA8m(Q z;Ec%IZW51+`PCW4&BdbQ@jX)4U3A5)T;X;4_N=F^NbptjJX7s}*{=zSHh)QqwL?E? z${LL4Yf`Js*)0f(^d(X2|3WdM;&i-8U_1R1QGen<{812S|D1w1l>&nnS-Z11-W-uX z6tQFNzIg*9yeCWWB1@d4+%(pF0dQ}?TZG}}Lx3}J0DdS8HwDA=Hw8}5gGNE*6DC_J zL2zvROZyG%BDsV_%rq|q-9>tl0%5Fqs1D;`HxWxd;1MKo3aK~GFwfE%5o9wNYwl^# zaJ@m-H?Dv`kVMSTjZOnB0)D7gE_+>wZ1WJ(?x~%z@K^K1ZHTb0sTr_Q|0g=#sDHl> z8&$RfMqBizoV}~|+49~dZ|8%A{E9-BAp3)2Lvf%aqhz4upbSPCfieaqA7u(kA<7(- zc_?KlccI*ivION}ls}+UpgfJT66JZ67f{xrtVh|1vS|rfM&1Ij8RcD+Z74M;J5Y9^ ze1ftYr2%Ch$^n$aD9tFxQ2Z#zQT~nc6^e=yKsk-_4a&DD-=UmCIlqKHv(Q=l>OFfR JY2wmp{|9!);wu0E delta 11081 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 TrJyqyPx{-`CS;r~~u{ejT;|3DnM! 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 delta 13554 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

    8^H0-VpHTTS^4prNld#Y_c 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 JY2wmp{|9!);wu0E delta 11081 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 TrJyqyPx{-`CS;r~~u{ejT;|3DnM! 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 delta 13554 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

    8^H0-VpHTTS^4prNld#Y_c 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 JY2wmp{|9!);wu0E delta 11081 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 TrJyqyPx{-`CS;r~~u{ejT;|3DnM! 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 #endif + +#endif diff --git a/sys/mdec/boot58/boot58.exe b/sys/mdec/boot58/boot58.exe new file mode 100644 index 0000000000000000000000000000000000000000..9a4f14818ab53af6d3b458bb4395c2e42e5c4b2d GIT binary patch literal 11776 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 literal 0 HcmV?d00001 diff --git a/sys/mdec/boot58/consol.hlp b/sys/mdec/boot58/consol.hlp new file mode 100644 index 0000000000000000000000000000000000000000..9c52d3eb9e727f6ae8a7f6beab2f397a033a707d GIT binary patch literal 2560 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 IVcYco08AQH`2YX_ literal 0 HcmV?d00001 diff --git a/sys/rx50/boot58.exe b/sys/rx50/boot58.exe new file mode 120000 index 00000000..3d945887 --- /dev/null +++ b/sys/rx50/boot58.exe @@ -0,0 +1 @@ +../mdec/boot58/boot58.exe \ No newline at end of file diff --git a/sys/rx50/bootblk b/sys/rx50/bootblk new file mode 120000 index 00000000..fcacd7d8 --- /dev/null +++ b/sys/rx50/bootblk @@ -0,0 +1 @@ +../mdec/boot58/bootblk \ No newline at end of file diff --git a/sys/rx50/consol.hlp b/sys/rx50/consol.hlp new file mode 120000 index 00000000..f017ac0d --- /dev/null +++ b/sys/rx50/consol.hlp @@ -0,0 +1 @@ +../mdec/boot58/consol.hlp \ No newline at end of file diff --git a/sys/rx50/copy b/sys/rx50/copy new file mode 100644 index 0000000000000000000000000000000000000000..c926ae0ad479f18309fc5d0388193fdc5e918eed GIT binary patch literal 39360 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 F{RPO`c?Ip0bfh*J22IHMf7kwkX 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 literal 0 HcmV?d00001 diff --git a/sys/rx50/sngboo.cmd b/sys/rx50/sngboo.cmd new file mode 100644 index 00000000..4b0ccf85 --- /dev/null +++ b/sys/rx50/sngboo.cmd @@ -0,0 +1,8 @@ +! +! BOOTSTRAP BY BOOT() SYSCALL +! BOOT FROM DEFAULT DEVICE TO A SINGLE USER SHELL +! +LOAD BOOT +D/G B 2 ! BOOT PARAMETERS: RB_SINGLE +D/G A 10 ! DEV TO BOOT FROM (16=RA ON KDB50, CHANGE TO 9 IF UDA50) +START 2 diff --git a/sys/sys/vm_page.c b/sys/sys/vm_page.c index 90351a0c..9f9cc105 100644 --- a/sys/sys/vm_page.c +++ b/sys/sys/vm_page.c @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)vm_page.c 7.7 (Berkeley) 8/23/87 + * @(#)vm_page.c 7.8 (Berkeley) 12/14/00 */ #include "param.h" @@ -666,9 +666,9 @@ vminit() * any single, large process to start random page * replacement once it fills memory. */ - u.u_rlimit[RLIMIT_STACK].rlim_cur = DFLSSIZ; + u.u_rlimit[RLIMIT_STACK].rlim_cur = MIN(DFLSSIZ, maxdmap); u.u_rlimit[RLIMIT_STACK].rlim_max = MIN(MAXSSIZ, maxdmap); - u.u_rlimit[RLIMIT_DATA].rlim_cur = DFLDSIZ; + u.u_rlimit[RLIMIT_DATA].rlim_cur = MIN(DFLDSIZ, maxdmap); u.u_rlimit[RLIMIT_DATA].rlim_max = MIN(MAXDSIZ, maxdmap); u.u_rlimit[RLIMIT_RSS].rlim_cur = u.u_rlimit[RLIMIT_RSS].rlim_max = ctob(LOOPPAGES - desfree); diff --git a/sys/vax/autoconf.c b/sys/vax/autoconf.c index c73b9b21..075deaef 100644 --- a/sys/vax/autoconf.c +++ b/sys/vax/autoconf.c @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)autoconf.c 7.19 (Berkeley) 9/5/99 + * @(#)autoconf.c 7.20 (Berkeley) 5/3/03 */ /* @@ -158,6 +158,7 @@ VAX 11/78%c, serial# %d(%d), hardware ECO level %d(%d)\n", if (ocp->pc_cputype == cpusid.cpuany.cp_type) { cpuspeed = ocp->pc_cpuspeed; cpuops = ocp->pc_ops; + cpu_has_compat_mode = ocp->pc_compatmode; if (cpuops->cpu_init != NULL) (*cpuops->cpu_init)(); probeio(ocp); diff --git a/sys/vax/cpu.h b/sys/vax/cpu.h index 1f77391f..0a1f3375 100644 --- a/sys/vax/cpu.h +++ b/sys/vax/cpu.h @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)cpu.h 7.6 (Berkeley) 8/27/88 + * @(#)cpu.h 7.7 (Berkeley) 5/3/03 */ #ifndef LOCORE @@ -119,6 +119,7 @@ struct cpuops { struct percpu { short pc_cputype; /* cpu type code */ short pc_cpuspeed; /* relative speed of cpu */ + short pc_compatmode; /* has compatibility mode */ short pc_nioa; /* number of IO adaptors/nexus blocks */ struct iobus *pc_io; /* descriptions of IO adaptors */ struct cpuops *pc_ops; /* per-cpu operations */ @@ -179,6 +180,7 @@ int mastercpu; /* if multiple cpus, this identifies master */ #endif struct percpu percpu[]; struct cpuops *cpuops; +int cpu_has_compat_mode; #endif /* diff --git a/sys/vax/cpudata.c b/sys/vax/cpudata.c index 6b4645f0..81ac6f5b 100644 --- a/sys/vax/cpudata.c +++ b/sys/vax/cpudata.c @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)cpudata.c 7.5 (Berkeley) 8/27/88 + * @(#)cpudata.c 7.6 (Berkeley) 5/3/03 */ #include "pte.h" @@ -218,25 +218,25 @@ struct cpuops ka650_ops = { struct percpu percpu[] = { #if VAX8600 - { VAX_8600, 6, 2, io8600, &ka860_ops }, + { VAX_8600, 6, 1, 2, io8600, &ka860_ops }, #endif #if VAX8200 - { VAX_8200, 2, 1, io8200, &ka820_ops }, + { VAX_8200, 2, 0, 1, io8200, &ka820_ops }, #endif #if VAX780 - { VAX_780, 2, 1, io780, &ka780_ops }, + { VAX_780, 2, 1, 1, io780, &ka780_ops }, #endif #if VAX750 - { VAX_750, 1, 1, io750, &ka750_ops }, + { VAX_750, 1, 1, 1, io750, &ka750_ops }, #endif #if VAX730 - { VAX_730, 1, 1, io730, &ka730_ops }, + { VAX_730, 1, 1, 1, io730, &ka730_ops }, #endif #if VAX630 - { VAX_630, 2, 1, io630, &ka630_ops }, + { VAX_630, 2, 0, 1, io630, &ka630_ops }, #endif #if VAX650 - { VAX_650, 4, 1, io630, &ka650_ops }, + { VAX_650, 4, 0, 1, io630, &ka650_ops }, #endif 0, }; diff --git a/sys/vax/emulate.s b/sys/vax/emulate.s index c9e59041..89296097 100644 --- a/sys/vax/emulate.s +++ b/sys/vax/emulate.s @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)emulate.s 7.4 (Berkeley) 8/9/89 + * @(#)emulate.s 7.5 (Berkeley) 4/27/03 */ #if VAX630 || VAX650 @@ -85,8 +85,8 @@ Lcrc_loop: extzv $4,$28,r0,r1 xorl3 r1,(r11)[r10],r0 sobgtr r2,Lcrc_loop - tstl r0 Lcrc_out: + tstl r0 savepsl clrl r1 return @@ -136,9 +136,9 @@ Lmovtuc_loop: movzbl (r1),r2 movzbl (r3)[r2],r2 cmpl r2,r11 - jeql Lmovtuc_out - movzbl (r1)+,r2 - movb (r3)[r2],(r5)+ + jeql Lmovtuc_esc + incl r1 + movb r2,(r5)+ decl r0 sobgtr r4,Lmovtuc_loop Lmovtuc_out: @@ -146,6 +146,12 @@ Lmovtuc_out: savepsl clrl r2 return +Lmovtuc_esc: + cmpl r4,r0 + savepsl + bisl2 $2,4(sp) + clrl r2 + return .align 1 @@ -155,10 +161,10 @@ _EMmatchc: arguw(3,r2) # (3) source length == r2 argl(4,r3) # (4) source address == r3 arguw(1,r11) # (1) substring length == r11 - jeql Lmatchc_out # temp source address == r1 + jeql Lmatchc_null # temp source address == r1 addl2 r10,r11 # temp substring address == r0 tstl r2 - jeql Lmatchc_out + jeql Lmatchc_null Lmatchc_loop: cmpb (r10),(r3) jneq Lmatchc_fail @@ -182,6 +188,10 @@ Lmatchc_succ: Lmatchc_out: savepsl return +Lmatchc_null: # set registers and condition codes right + argl(2,r1) # for either or both operands null + arguw(1,r0) + jbr Lmatchc_out .align 1 @@ -1193,88 +1203,3 @@ _EMcmpp4: #endif UVAXII - - -#ifdef notdef -/* - * Emulation OpCode jump table: - * ONLY GOES FROM 0xf8 (-8) TO 0x3B (59) - */ -#define EMUTABLE 0x43 -#define NOEMULATE .long noemulate -#define EMULATE(a) .long _EM/**/a - .globl _emJUMPtable -_emJUMPtable: -/* f8 */ EMULATE(ashp); EMULATE(cvtlp); NOEMULATE; NOEMULATE -/* fc */ NOEMULATE; NOEMULATE; NOEMULATE; NOEMULATE -/* 00 */ NOEMULATE; NOEMULATE; NOEMULATE; NOEMULATE -/* 04 */ NOEMULATE; NOEMULATE; NOEMULATE; NOEMULATE -/* 08 */ EMULATE(cvtps); EMULATE(cvtsp); NOEMULATE; EMULATE(crc) -/* 0c */ NOEMULATE; NOEMULATE; NOEMULATE; NOEMULATE -/* 10 */ NOEMULATE; NOEMULATE; NOEMULATE; NOEMULATE -/* 14 */ NOEMULATE; NOEMULATE; NOEMULATE; NOEMULATE -/* 18 */ NOEMULATE; NOEMULATE; NOEMULATE; NOEMULATE -/* 1c */ NOEMULATE; NOEMULATE; NOEMULATE; NOEMULATE -/* 20 */ EMULATE(addp4); EMULATE(addp6); EMULATE(subp4); EMULATE(subp6) -/* 24 */ EMULATE(cvtpt); EMULATE(mulp); EMULATE(cvttp); EMULATE(divp) -/* 28 */ NOEMULATE; EMULATE(cmpc3); EMULATE(scanc); EMULATE(spanc) -/* 2c */ NOEMULATE; EMULATE(cmpc5); EMULATE(movtc); EMULATE(movtuc) -/* 30 */ NOEMULATE; NOEMULATE; NOEMULATE; NOEMULATE -/* 34 */ EMULATE(movp); EMULATE(cmpp3); EMULATE(cvtpl); EMULATE(cmpp4) -/* 38 */ EMULATE(editpc); EMULATE(matchc); EMULATE(locc); EMULATE(skpc) - -/* - * The following is called with the stack set up as follows: - * - * (sp): Opcode - * 4(sp): Instruction PC - * 8(sp): Operand 1 - * 12(sp): Operand 2 - * 16(sp): Operand 3 - * 20(sp): Operand 4 - * 24(sp): Operand 5 - * 28(sp): Operand 6 - * 32(sp): Operand 7 (unused) - * 36(sp): Operand 8 (unused) - * 40(sp): Return PC - * 44(sp): Return PSL - * 48(sp): TOS before instruction - * - * Each individual routine is called with the stack set up as follows: - * - * (sp): Return address of trap handler - * 4(sp): Opcode (will get return PSL) - * 8(sp): Instruction PC - * 12(sp): Operand 1 - * 16(sp): Operand 2 - * 20(sp): Operand 3 - * 24(sp): Operand 4 - * 28(sp): Operand 5 - * 32(sp): Operand 6 - * 36(sp): saved register 11 - * 40(sp): saved register 10 - * 44(sp): Return PC - * 48(sp): Return PSL - * 52(sp): TOS before instruction - */ - -SCBVEC(emulate): - movl r11,32(sp) # save register r11 in unused operand - movl r10,36(sp) # save register r10 in unused operand - cvtbl (sp),r10 # get opcode - addl2 $8,r10 # shift negative opcodes - subl3 r10,$EMUTABLE,r11 # forget it if opcode is out of range - bcs noemulate - movl _emJUMPtable[r10],r10 # call appropriate emulation routine - jsb (r10) # routines put return values into regs 0-5 - movl 32(sp),r11 # restore register r11 - movl 36(sp),r10 # restore register r10 - insv (sp),$0,$4,44(sp) # and condition codes in Opcode spot - addl2 $40,sp # adjust stack for return - rei -noemulate: - addl2 $48,sp # adjust stack for - .word 0xffff # "reserved instruction fault" -SCBVEC(emulateFPD): - .word 0xffff # "reserved instruction fault" -#endif diff --git a/sys/vax/inline/inline b/sys/vax/inline/inline index 52dac1be84d35005db7e140ee7ad1a1be55f6f4f..f6ca346fd06578b5fcbd408e9a3d77b65bb53a5f 100755 GIT binary patch delta 2746 zcmYk8eNYo;9>aSx>`y!u~e&`O03rUa#|g6 z+8bvmRB)bJovL$8-_9Abz0T!2)zj;N&iQg@&rOerok>tEy?R$?Ryi6Ipm4u^mO7U| zvY+qo_dLJ1=gGn$1s_uIr;9lJhwx(VI>UVH3Y(3Wd7K-*l{pFH)nstuQ}`t^E6a;3 z$fm6S;yK|!_IAwt%|@=9oy?Gp+&7CkzqTOMXH?fdg;3^g^%-~!WA$Y+(=wMC43Zrd zcSdUTz4M%OvxDOhIcXt9Id()p7X;S;hjLZ^CvDJmA~!4vlQ7dak-TD^Q+Ey7Sh2zw zk=%k4$N_|euX=)ZR_x}L4jQ?wVXZjKACqrbl!RNpAs$0l)8u~fh_+RL4Iaz+PA-(D zgwiCXeMDC5y9sL(@$X5Mt*ZDkACbHQEAAP)>X!R&`rm7iB2w!MP@{zv83sb6cyh$% z!BfdO+mrZZ@(}o+BtPd({26J_Da9@1N=^~3A^*uK!7-AZTUz@W`oDB_7GtkkJqMw> zs2p>Y$K_ZY#p{MywSEFZiuC2?QNeVnPLjJLaAj=#JutMH)EY535N9gaZH^#=smn;p$UsMFWMiOr}d z=%^h(xP*7Dc|SRqSB_sN-{d{(mUcrv0C#yr+c;yiSsnMMVISS))zr-)KzQB zS`KQxuF6u@EKsX-H8v!&+Qtnag)8EtM~xshY2q5q^(zg(5brz!^JaZZEGb4b`Km5U zhpf{;ZPV2SJ^EH%eV!CQ)|PJ9<(Db(xF&b&(lJW5|qNN zEN;&h3Ol(#B%oShk;|;u)hpodmN-QnCBr52OFQ9;z?+E$(_Tg%k-F4Rz#^$3`0iC_ zOh?GCs3%E%X|eC!3g{I>ep6I!0Jp_7jMPSWAHjYM0qejPFx#R*%fz@fj^WkUMyC_h zE0_yz*If=xR6<-Js+MUHih9*g$=9WY7>X%%c2@_Sx(wlnpshAkWb3;+_OQz<%#>@4ei$QFH=i2lhCXL zm#KL>$i1>DjxAuZXDjMDc*-MJ{PKvLG-r0HD@a*+IsENeS?-;15PpOWioaUjOqxJo>%JETrj&JyAO;~=LeixLpDuyGoptyP2GRgJ1@*ln>W4jYym>|VZRGqVKn}M zvckuJM<{>D+MNg);Ig|=F_M5ylm}P^SfK3SBo{*Yl=rdA3lS=&JlD7exPmg~lSK$s zQNGKYCL{E7j2a>6KK5x4zod@+#x~#@%I_Q7f$J$(8~+HriE@ka7V!3Qz6ZRQ@Os4$_lRywTf~vng;`$ zPx*KJAn+o}hxlEqVB*s>CY4p2VGX(w`+@&`;W@H>=)2JJ*nQLZ+g0q&se<7(j4KBv6J z&{EWh&|j!{m;Dzwu2H_r*Fq5r<^9IZu(^lwFh2{pmvW2o4)C{>d+-Q!3IF>+GhM89 nI!Vgs4Ht?LVhjiw(H(Br3bF&Et!6? delta 2911 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 R(q*zCuQg-L=3L(E%m7aaljHyZ diff --git a/sys/vax/kdb_instrs b/sys/vax/kdb_instrs index d731e3d2..f0e4632d 100644 --- a/sys/vax/kdb_instrs +++ b/sys/vax/kdb_instrs @@ -13,6 +13,7 @@ + OP("chmk", CORE, 0xbc, 1, A_RW,0,0,0,0,0), OP("chme", CORE, 0xbd, 1, A_RW,0,0,0,0,0), OP("chms", CORE, 0xbe, 1, A_RW,0,0,0,0,0), diff --git a/sys/vax/machdep.c b/sys/vax/machdep.c index 1bedd53a..a41cf509 100644 --- a/sys/vax/machdep.c +++ b/sys/vax/machdep.c @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)machdep.c 7.17 (Berkeley) 9/22/88 + * @(#)machdep.c 7.18 (Berkeley) 5/3/03 */ #include "param.h" @@ -424,12 +424,13 @@ sigreturn() register int *regs = u.u_ar0; scp = ((struct a *)(u.u_ap))->sigcntxp; - if (useracc((caddr_t)scp, sizeof (*scp), B_WRITE) == 0) + if (useracc((caddr_t)scp, sizeof (*scp), B_READ) == 0) return; if ((scp->sc_ps & (PSL_MBZ|PSL_IPL|PSL_IS)) != 0 || (scp->sc_ps & (PSL_PRVMOD|PSL_CURMOD)) != (PSL_PRVMOD|PSL_CURMOD) || ((scp->sc_ps & PSL_CM) && - (scp->sc_ps & (PSL_FPD|PSL_DV|PSL_FU|PSL_IV)) != 0)) { + (!cpu_has_compat_mode || + (scp->sc_ps & (PSL_FPD|PSL_DV|PSL_FU|PSL_IV)) != 0))) { u.u_error = EINVAL; return; } @@ -456,7 +457,7 @@ osigcleanup() scp = (struct sigcontext *)fuword((caddr_t)regs[SP]); if ((int)scp == -1) return; - if (useracc((caddr_t)scp, 3 * sizeof (int), B_WRITE) == 0) + if (useracc((caddr_t)scp, 3 * sizeof (int), B_READ) == 0) return; u.u_onstack = scp->sc_onstack & 01; u.u_procp->p_sigmask = scp->sc_mask &~ diff --git a/sys/vax/trap.c b/sys/vax/trap.c index 341c7388..f7e2d666 100644 --- a/sys/vax/trap.c +++ b/sys/vax/trap.c @@ -3,12 +3,13 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)trap.c 7.3 (Berkeley) 5/19/88 + * @(#)trap.c 7.4 (Berkeley) 9/15/02 */ #include "psl.h" #include "reg.h" #include "pte.h" +#include "vmparam.h" #include "param.h" #include "systm.h" @@ -55,7 +56,8 @@ int TRAP_TYPES = (sizeof trap_type / sizeof trap_type[0]); */ /*ARGSUSED*/ trap(sp, type, code, pc, psl) - int sp, type; + unsigned sp; + int type; unsigned code; int pc, psl; { @@ -111,8 +113,12 @@ trap(sp, type, code, pc, psl) * grow the stack automatically. */ case T_SEGFLT+USER: - if (grow((unsigned)locr0[SP]) || grow(code)) - goto out; + if (code >= P1LOW && code < USRSTACK) { + if (sp < code && grow(sp)) + goto out; + if (grow(code)) + goto out; + } i = SIGSEGV; break; diff --git a/sys/vax/vmparam.h b/sys/vax/vmparam.h index 6e2b1052..ef26831d 100644 --- a/sys/vax/vmparam.h +++ b/sys/vax/vmparam.h @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)vmparam.h 7.2 (Berkeley) 11/30/87 + * @(#)vmparam.h 7.3 (Berkeley) 9/15/02 */ /* @@ -17,6 +17,7 @@ * beginning of the stack respectively. */ #define USRTEXT 0 +#define P1LOW 0x40000000 /* lowest address in P1 */ #define USRSTACK (0x80000000-UPAGES*NBPG) /* Start of user stack */ #define BTOPUSRSTACK (0x400000 - UPAGES) /* btop(USRSTACK) */ /* number of ptes per page */ diff --git a/sys/vaxbi/kdb.c b/sys/vaxbi/kdb.c index eb7fbb04..03a4845b 100644 --- a/sys/vaxbi/kdb.c +++ b/sys/vaxbi/kdb.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)kdb.c 7.9 (Berkeley) 9/6/99 + * @(#)kdb.c 7.11 (Berkeley) 11/24/03 */ /* @@ -194,6 +194,15 @@ struct size { 1253580,699720, /* F=sectors 699720 thru 1953299 */ 1577940,375360, /* G=sectors 375360 thru 1953299 */ 291346, 83640, /* H=sectors 83640 thru 374985 */ +}, kra73_sizes[8] = { + 32768, 0, /* A=sectors 0 thru 32767 */ + 131072, 33810, /* B=sectors 33810 thru 164881 */ + 3920490,0, /* C=sectors 0 thru 3920489 */ + 131072, 458640, /* D=sectors 458640 thru 589711 */ + 1638400,590940, /* E=sectors 590940 thru 2229339 */ + 1690500,2229990, /* F=sectors 2229990 thru 3920489 */ + 3461850,458640, /* G=sectors 458640 thru 3920489 */ + 291346, 166110, /* H=sectors 166110 thru 457455 */ }, kra80_sizes[8] = { 15884, 0, /* A=sectors 0 thru 15883 */ 33440, 15884, /* B=sectors 15884 thru 49323 */ @@ -321,9 +330,16 @@ struct kdbtypes { NULL, NULL, NULL, NULL, "ra71", kra71_sizes, /* 40 = ra71 */ + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + NULL, NULL, + "ra73", kra73_sizes, /* 47 = ra73 */ }; -#define NTYPES 41 +#define NTYPES 48 /* * Definition of the driver for autoconf and generic MSCP code. diff --git a/sys/vaxdist/disktab b/sys/vaxdist/disktab index 4758e848..c4de974c 100644 --- a/sys/vaxdist/disktab +++ b/sys/vaxdist/disktab @@ -1,5 +1,5 @@ # -# @(#)disktab 4.23 (Berkeley) 9/6/99 +# @(#)disktab 4.29 (Berkeley) 11/24/03 # # Disk geometry and partition layout tables. # Key: @@ -364,7 +364,7 @@ ra82|RA81|DEC RA82 Winchester:\ :pg#841320:og#375345:bg#8192:fg#1024:\ :ph#291346:oh#83790:bh#8192:fh#1024: # RA70 -ra70|RA70|DEC RA70:\ +ra70|RA70|DEC RA70 Winchester:\ :ty=winchester:ns#33:nt#11:nc#1507:\ :dt=MSCP:\ :pa#15884:oa#0:ba#8192:fa#1024:\ @@ -376,7 +376,7 @@ ra70|RA70|DEC RA70:\ :pg#205821:og#341220:bg#8192:fg#1024:\ :ph#291346:oh#49731:bh#8192:fh#1024: # RA71 -ra71|RA71|DEC RA71:\ +ra71|RA71|DEC RA71 Winchester:\ :ty=winchester:ns#51:nt#14:nc#1915:\ :dt=MSCP:\ :pa#15884:oa#0:ba#8192:fa#1024:\ @@ -388,7 +388,7 @@ ra71|RA71|DEC RA71:\ :pg#991746:og#375564:bg#8192:fg#1024:\ :ph#291346:oh#83538:bh#8192:fh#1024: # RA72 -ra72|RA72|DEC RA72:\ +ra72|RA72|DEC RA72 Winchester:\ :ty=winchester:ns#51:nt#20:nc#1915:\ :dt=MSCP:\ :pa#15884:oa#0:ba#8192:fa#1024:\ @@ -399,8 +399,20 @@ ra72|RA72|DEC RA72:\ :pf#1253580:of#699720:bf#8192:ff#1024:\ :pg#1577940:og#375360:bg#8192:fg#1024:\ :ph#291346:oh#83640:bh#8192:fh#1024: +# RA73 +ra73|RA73|DEC RA73 Winchester:\ + :ty=winchester:ns#70:nt#21:nc#2667:\ + :dt=MSCP:\ + :pa#32768:oa#0:ba#8192:fa#1024:\ + :pb#131072:ob#33810:bb#8192:fb#1024:tb=swap:\ + :pc#3920490:oc#0:bc#8192:fc#1024:\ + :pd#131072:od#458640:bd#8192:fd#1024:\ + :pe#1638400:oe#590940:be#8192:fe#1024:\ + :pf#1690500:of#2229990:bf#8192:ff#1024:\ + :pg#3461850:og#458640:bg#8192:fg#1024:\ + :ph#291346:oh#166110:bh#8192:fh#1024: # RA90 -ra90|RA90|DEC RA90:\ +ra90|RA90|DEC RA90 Winchester:\ :ty=winchester:ns#69:nt#13:nc#2649:\ :dt=MSCP:\ :pa#15884:oa#0:ba#8192:fa#1024:\ @@ -412,7 +424,7 @@ ra90|RA90|DEC RA90:\ :pg#2001207:og#374946:bg#8192:fg#1024:\ :ph#291346:oh#83421:bh#8192:fh#1024: # RA92 -ra92|RA92|DEC RA92:\ +ra92|RA92|DEC RA92 Winchester:\ :ty=winchester:ns#69:nt#13:nc#3279:\ :dt=MSCP:\ :pa#15884:oa#0:ba#8192:fa#1024:\ @@ -424,6 +436,106 @@ ra92|RA92|DEC RA92:\ :pg#2566005:og#374946:bg#8192:fg#1024:\ :ph#291346:oh#83421:bh#8192:fh#1024: # +# RF disks (DSSI ISEs) +# +# RF30 +rf30|RF30|DEC RF30 Winchester:\ + :ty=winchester:ns#37:nt#6:nc#1320:\ + :dt=MSCP:\ + :pa#15884:oa#0:ba#8192:fa#1024:\ + :pb#33440:ob#15984:bb#8192:fb#1024:tb=swap:\ + :pc#293040:oc#0:bc#8192:fc#1024:\ + :pd#15884:od#49506:bd#4096:fd#512:\ + :pe#55936:oe#65490:be#8192:fe#1024:\ + :pf#171606:of#121434:bf#8192:ff#1024:\ + :pg#243534:og#49506:bg#8192:fg#1024: +# RF31 +rf31|RF31|DEC RF31 Winchester:\ + :ty=winchester:ns#50:nt#8:nc#1861:\ + :dt=MSCP:\ + :pa#15884:oa#0:ba#8192:fa#1024:\ + :pb#66880:ob#16000:bb#8192:fb#1024:tb=swap:\ + :pc#744400:oc#0:bc#8192:fc#1024:\ + :pd#15884:od#374800:bd#4096:fd#512:\ + :pe#307200:oe#390800:be#8192:fe#1024:\ + :pf#46400:of#698000:bf#8192:ff#1024:\ + :pg#369600:og#374800:bg#8192:fg#1024:\ + :ph#291346:oh#83200:bh#8192:fh#1024: +# RF35 +rf35|RF35|DEC RF35 Winchester:\ + :ty=winchester:ns#57:nt#14:nc#2086:\ + :dt=MSCP:\ + :pa#15884:oa#0:ba#8192:fa#1024:\ + :pb#66880:ob#15960:bb#8192:fb#1024:tb=swap:\ + :pc#1664628:oc#0:bc#8192:fc#1024:\ + :pd#15884:od#375060:bd#4096:fd#512:\ + :pe#307200:oe#391020:be#8192:fe#1024:\ + :pf#966378:of#698250:bf#8192:ff#1024:\ + :pg#1289568:og#375060:bg#8192:fg#1024:\ + :ph#291346:oh#82992:bh#8192:fh#1024: +# RF36 uses zoned recording, so the geometry given is fake. +# We do not align partitions to the resulting "cylinder" boundaries. +rf36|RF36|DEC RF36 Winchester:\ + :ty=winchester:ns#78:nt#16:nc#2505:\ + :dt=MSCP:\ + :pa#32768:oa#0:ba#8192:fa#1024:\ + :pb#131072:ob#32768:bb#8192:fb#1024:tb=swap:\ + :pc#3125408:oc#0:bc#8192:fc#1024:\ + :pd#131072:od#455186:bd#8192:fd#1024:\ + :pe#1638400:oe#586258:be#8192:fe#1024:\ + :pf#900750:of#2224658:bf#8192:ff#1024:\ + :pg#2670222:og#455186:bg#8192:fg#1024:\ + :ph#291346:oh#163840:bh#8192:fh#1024: +# RF71 +rf71|RF71|DEC RF71 Winchester:\ + :ty=winchester:ns#37:nt#16:nc#1320:\ + :dt=MSCP:\ + :pa#15884:oa#0:ba#8192:fa#1024:\ + :pb#66880:ob#15984:bb#8192:fb#1024:tb=swap:\ + :pc#781440:oc#0:bc#8192:fc#1024:\ + :pd#15884:od#374736:bd#4096:fd#512:\ + :pe#307200:oe#390720:be#8192:fe#1024:\ + :pf#83472:of#697968:bf#8192:ff#1024:\ + :pg#406704:og#374736:bg#8192:fg#1024:\ + :ph#291346:oh#82880:bh#8192:fh#1024: +# RF72 +rf72|RF72|DEC RF72 Winchester:\ + :ty=winchester:ns#50:nt#21:nc#1861:\ + :dt=MSCP:\ + :pa#15884:oa#0:ba#8192:fa#1024:\ + :pb#66880:ob#16800:bb#8192:fb#1024:tb=swap:\ + :pc#1954050:oc#0:bc#8192:fc#1024:\ + :pd#15884:od#375900:bd#4096:fd#512:\ + :pe#307200:oe#392700:be#8192:fe#1024:\ + :pf#1253700:of#700350:bf#8192:ff#1024:\ + :pg#1578150:og#375900:bg#8192:fg#1024:\ + :ph#291346:oh#84000:bh#8192:fh#1024: +# RF73 +rf73|RF73|DEC RF73 Winchester:\ + :ty=winchester:ns#70:nt#21:nc#2667:\ + :dt=MSCP:\ + :pa#32768:oa#0:ba#8192:fa#1024:\ + :pb#131072:ob#33810:bb#8192:fb#1024:tb=swap:\ + :pc#3920490:oc#0:bc#8192:fc#1024:\ + :pd#131072:od#458640:bd#8192:fd#1024:\ + :pe#1638400:oe#590940:be#8192:fe#1024:\ + :pf#1690500:of#2229990:bf#8192:ff#1024:\ + :pg#3461850:og#458640:bg#8192:fg#1024:\ + :ph#291346:oh#166110:bh#8192:fh#1024: +# RF74 uses zoned recording, so the geometry given is fake. +# We do not align partitions to the resulting "cylinder" boundaries. +rf74|RF74|DEC RF74 Winchester:\ + :ty=winchester:ns#96:nt#25:nc#2907:\ + :dt=MSCP:\ + :pa#32768:oa#0:ba#8192:fa#1024:\ + :pb#131072:ob#32768:bb#8192:fb#1024:tb=swap:\ + :pc#6976375:oc#0:bc#8192:fc#1024:\ + :pd#131072:od#455186:bd#8192:fd#1024:\ + :pe#3276800:oe#586258:be#8192:fe#1024:\ + :pf#3113317:of#3863058:bf#8192:ff#1024:\ + :pg#6521189:og#455186:bg#8192:fg#1024:\ + :ph#291346:oh#163840:bh#8192:fh#1024: +# # RC25 rc25|RC25:\ :ty=winchester:ns#42:nt#4:nc#302:\ @@ -433,6 +545,40 @@ rc25|RC25:\ :pc#50736:oc#0:bc#8192:fc#1024:\ :pg#24820:og#25916:bg#8192:fg#1024: # +# Disks on RQDX Q-bus controllers +rd52|RD52|DEC RD52 on Microvax:\ + :ty=winchester:ns#18:nt#7:nc#480:\ + :dt=MSCP:\ + :pa#15884:oa#0:ba#4096:fa#1024:\ + :pb#9766:ob#15884:bb#4096:fb#512:tb=swap:\ + :pc#60480:oc#0:bc#4096:fc#512:\ + :pg#34830:og#25650:bg#4096:fg#512:\ + :b0=rdboot: +# +rd53|RD53|DEC RD53 on Microvax:\ + :ty=winchester:ns#18:nt#8:nc#963:\ + :dt=MSCP:\ + :pa#15884:oa#0:ba#8192:fa#1024:\ + :pb#33440:ob#15884:bb#4096:fb#512:tb=swap:\ + :pc#138672:oc#0:bc#4096:fc#512:\ + :pe#33440:oe#0:be#4096:fe#512:\ + :pf#105232:of#33440:bf#4096:ff#512:\ + :pg#89348:og#49324:bg#4096:fg#512:\ + :ph#122788:oh#15884:bh#4096:fh#512:\ + :b0=rdboot: +# +rd54|RD54|DEC RD54 on Microvax:\ + :ty=winchester:ns#17:nt#15:nc#1225:\ + :dt=MSCP:\ + :pa#15884:oa#0:ba#8192:fa#1024:\ + :pb#33440:ob#16065:bb#8192:fb#1024:tb=swap:\ + :pc#311200:oc#0:bc#8192:fc#1024:\ + :pd#15884:od#49725:bd#4096:fd#512:\ + :pe#55936:oe#65790:be#8192:fe#1024:\ + :pf#189310:of#121890:bf#8192:ff#1024:\ + :pg#261475:og#49725:bg#8192:fg#1024:\ + :b0=rdboot: +# # RX02 floppy disk drives # rx02|RX02|DEC RX02:\ diff --git a/sys/vaxdist/maketape b/sys/vaxdist/maketape index f272b844..f3008e2d 100755 --- a/sys/vaxdist/maketape +++ b/sys/vaxdist/maketape @@ -4,26 +4,22 @@ # # This file is freely redistributable. # -# @(#)maketape 4.35 (Berkeley) 10/9/99 +# @(#)maketape 4.36 (Berkeley) 12/6/03 # -# maketape [ 6250 | 1600 [ tapename ] ] +# maketape releasedir miniroot=ra0d -tape=/dev/rmt12 -type=6250 +fullroot=ra1a block=20 tflag=cbf if [ $# -gt 0 ]; then - type=$1; + releasedir=$1; +else + echo usage: $0 releasedir + exit fi -if [ $# -gt 1 ]; then - tape=$2; -fi - -mt -t ${tape} rew -date cd /nbsd sync @@ -32,41 +28,25 @@ tp cmf /tmp/tape.$$ boot copy format cd /nbsd/sys/mdec echo "Build 1st level boot block file" cat tmscpboot tsboot htboot tmboot mtboot utboot /tmp/tape.$$ | \ - dd of=${tape} obs=512 conv=sync + dd of=${releasedir}/stand obs=512 conv=sync echo "Add image of mini-root file system" -eval dd if=/dev/r${miniroot} count=308 bs=20b conv=sync of=$tape +dd if=/dev/r${miniroot} count=308 bs=20b conv=sync of=${releasedir}/miniroot echo "Add full dump of real file system" -/etc/dump 0f ${tape} /dev/rra1a +/etc/dump 0f ${releasedir}/rootdump /dev/r${fullroot} echo "Add tar image of /usr" cd /nbsd/usr -tar ${tflag} ${block} ${tape} MAKEHOSTS adm bin dict games hosts \ +tar ${tflag} ${block} ${releasedir}/usr.tar MAKEHOSTS adm bin dict games hosts \ include lib local man mdec msgs new old preserve pub spool tmp ucb -if [ ${type} != '6250' ] -then - echo "Done, rewinding first tape" - rsh $remote mt -t ${tape} rew & - echo "Mount second tape and hit return when ready" - echo "(or type name of next tape drive)" - read x - if [ "$x" != "" ] - then tape=$x - fi -fi - -: tape2: echo "Add tar image of system sources" cd /nbsd/usr/src/sys -tar ${tflag} ${block} ${tape} . +tar ${tflag} ${block} ${releasedir}/srcsys.tar . echo "Add user source code" FILES="Makefile bin cci doc etc games include lib local man old \ ucb undoc usr.bin usr.lib" cd /nbsd/usr/src -tar ${tflag} ${block} ${tape} ${FILES} - -echo "Done, rewinding tape" -mt -t ${tape} rew & +tar ${tflag} ${block} ${releasedir}/src.tar ${FILES} diff --git a/sys/vaxdist/motd b/sys/vaxdist/motd index 7a44f9b8..bde2ddbe 100644 --- a/sys/vaxdist/motd +++ b/sys/vaxdist/motd @@ -1,4 +1,4 @@ -4.3 BSD Quasijarus UNIX #0: Sat Oct 2 22:15:38 CDT 1999 +4.3 BSD Quasijarus UNIX #1: Fri Dec 5 23:20:27 PST 2003 Welcome to UNIX! diff --git a/sys/vaxdist/tp/boot b/sys/vaxdist/tp/boot index 68044c48aa5047a5e67e16d07c075dec8a5667cd..e6bfd67f985f9cc378c182ef5cc3b3d529884c8d 100644 GIT binary patch delta 15736 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 b4CPjoktm~4ZbKPcA)bB2w(Z_0&qe+}^_No` diff --git a/sys/vaxif/if_dmc.c b/sys/vaxif/if_dmc.c index 7d3a5254..c5598a41 100644 --- a/sys/vaxif/if_dmc.c +++ b/sys/vaxif/if_dmc.c @@ -14,7 +14,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)if_dmc.c 7.5 (Berkeley) 10/22/88 + * @(#)if_dmc.c 7.6 (Berkeley) 3/12/00 */ #include "dmc.h" @@ -754,7 +754,7 @@ dmcoutput(ifp, m0, dst) register struct dmc_header *dh; register int off; - if ((ifp->if_flags & IFF_UP) == 0) { + if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING)) { error = ENETDOWN; goto bad; } diff --git a/sys/vaxif/if_dmv.c b/sys/vaxif/if_dmv.c index 00536c74..59a60ccb 100644 --- a/sys/vaxif/if_dmv.c +++ b/sys/vaxif/if_dmv.c @@ -14,7 +14,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)if_dmv.c 7.8 (Berkeley) 9/4/89 + * @(#)if_dmv.c 7.9 (Berkeley) 3/12/00 */ /* @@ -865,7 +865,7 @@ dmvoutput(ifp, m0, dst) register struct dmv_header *dh; register int off; - if ((ifp->if_flags & IFF_UP) == 0) { + if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING)) { error = ENETDOWN; goto bad; } diff --git a/sys/vaxif/if_dsv.c b/sys/vaxif/if_dsv.c new file mode 100644 index 00000000..7079894c --- /dev/null +++ b/sys/vaxif/if_dsv.c @@ -0,0 +1,1048 @@ +/* + * Copyright (c) 1982, 1986 Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms are permitted + * provided that the above copyright notice and this paragraph are + * duplicated in all such forms and that any documentation, + * advertising materials, and other materials related to such + * distribution and use acknowledge that the software was developed + * by the University of California, Berkeley. The name of the + * University may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + * + * @(#)if_dsv.c 7.1 (Berkeley) 3/26/00 + */ + +#include "dsv.h" +#if NDSV > 0 + +/* + * DEC DSV11 interface + * + * Michael Sokolov + * Quasijarus Project + * International Free Computing Task Force + */ +#include "../machine/pte.h" + +#include "param.h" +#include "systm.h" +#include "mbuf.h" +#include "buf.h" +#include "protosw.h" +#include "socket.h" +#include "vmmac.h" +#include "ioctl.h" +#include "errno.h" +#include "syslog.h" + +#include "../net/if.h" +#include "../net/if_hdlc.h" +#include "../net/netisr.h" +#include "../net/route.h" + +#ifdef INET +#include "../netinet/in.h" +#include "../netinet/in_systm.h" +#include "../netinet/in_var.h" +#include "../netinet/ip.h" +#include "../netinet/if_ether.h" +#endif + +#include "../vax/cpu.h" +#include "../vax/mtpr.h" +#include "if_dsvreg.h" +#include "if_uba.h" +#include "../vaxuba/ubareg.h" +#include "../vaxuba/ubavar.h" + +/* + * The DSV11 is one device bus-wise (CSR, vector, etc.) and appears as one + * device in the kernel config file (the dsv device). However, each DSV11 has 2 + * sync serial channels, each of which is one network interface for us. Thus we + * are one device to the autoconf code, but two interfaces to the network code. + * We call each DSV11 channel interface dsvc, where n is the number of the + * dsv device times 2 plus the channel number on the device. + * We maintain DMA structures per channel/interface, since it's much easier and + * possible because the device doesn't do DMA other than when receiving or + * transmitting a packet on a channel. + */ + +#define NDSVC (NDSV*2) + +#define NXMT 3 /* number of transmit buffers */ +#define NRCV 7 /* number of receive buffers (must be > 1) */ + +#define USERFLAGS_INTLOOP 0x0001 /* Internal Loopback */ +#define USERFLAGS_INTCLKENAB 0x0002 /* Internal Clock Enable */ +#define USERFLAGS_INTCLKRATE 0x001C /* Internal Clock Rate */ +#define USERFLAGS_INTCLKRATE_SHIFT 2 +#define USERFLAGS_DRIVER 0x01E0 /* Cable Driver Select */ +#define USERFLAGS_DRIVER_SHIFT 5 +#define USERFLAGS_NRZI 0x0200 /* NRZI */ +#define USERFLAGS_USEINTCLK 0x0400 /* Clock TX from internal */ + +int dsvdebug = 0; + +int dsvprobe(), dsvattach(), dsvintr(); +struct uba_device *dsvinfo[NDSV]; +u_short dsvstd[] = { 0 }; +struct uba_driver dsvdriver = + { dsvprobe, 0, dsvattach, 0, dsvstd, "dsv", dsvinfo }; +int dsvcinit(),dsvcoutput(),dsvcioctl(),dsvcreset(); + + +/* + * Device software status per device. + */ +struct dsv_softc { + int dds_vector; /* Q-bus interrupt vector */ + int dds_ipl; /* Q-bus IPL */ + u_char dds_hwrev; /* board hardware rev */ + u_char dds_fwrev; /* board firmware rev */ + u_char dds_macaddr[6]; /* hardware MAC address */ + int dds_flags; +#define DDSF_STARTED 1 /* FLAG_RUN set */ +#define DDSF_INITDONE 2 /* the initial command completed */ + u_char dds_lastcmd; /* cmd blk # for last command issued */ + u_char dds_lastrsp; /* cmd blk # for last response reaped */ + u_char dds_cbinfo[NCMDBLKS]; /* info associated with cmd blks */ + u_char dds_freelisthead; /* free command blocks list head */ +} dsv_softc[NDSV]; + +/* + * Channel/interface software status per channel/interface. + * + * Each interface is referenced by a network interface structure, + * ds_if, which the routing code uses to locate the interface. + * This structure contains the output queue for the interface, its address, ... + * We also have, for each interface, a UBA interface structure, which + * contains information about the UNIBUS resources held by the interface: + * map registers, buffered data paths, etc. Information is cached in this + * structure for use by the if_uba.c routines in running the interface + * efficiently. + */ +struct dsvc_softc { + struct ifnet ds_if; /* network-visible interface */ + int ds_flags; +#define DSF_INTRANS 1 /* in state transition */ +#define DSF_WEDGED 2 /* wedged, don't touch */ + int ds_state; +#define DSS_SHUTDOWN 0 /* channel shut down */ +#define DSS_PARAMSET 1 /* channel parameters set */ +#define DSS_RUNNING 2 /* channel fully up and running */ + struct ifubinfo ds_deuba; /* unibus resource structure */ + struct ifrw ds_ifr[NRCV]; /* unibus receive maps */ + u_char ds_rbufstat[NRCV]; /* receive buffer status */ + struct ifxmt ds_ifw[NXMT]; /* unibus xmt maps */ + u_char ds_xbuffreelist[NXMT]; /* transmit buffer free list */ + u_char ds_xbuffreelisthead; /* transmit buffer free list head */ +} dsvc_softc[NDSVC]; + +/* + * Device management routines. + */ + +dsvprobe(reg, ui) + caddr_t reg; + struct uba_device *ui; +{ + register int br, cvec; /* r11, r10 value-result */ + register struct dsvdevice *addr = (struct dsvdevice *)reg; + register struct dsv_softc *dds = &dsv_softc[ui->ui_unit]; + register i; + int s; + +#ifdef lint + br = 0; cvec = br; br = cvec; + i = 0; dsvintr(i); +#endif + + /* + * Here if the DSV11 is present, it will be in the processing of + * resetting after the Q-bus reset. First we wait for this reset to + * finish. According to EK-DSV11-TD the reset takes up to 8 s. + * After that we check the device type code in the FLAG register to + * make sure that it's the DSV11 code and make sure that the RUN bit is + * not set (if it is, something really weird must be going on). + * Finally, we check CMDRL for the successful self-test code. + */ + for (i = 0; i < 90 && (addr->reg_flag & FLAG_RSET); i++) + DELAY(100000); + if ((addr->reg_flag & (FLAG_RSET | FLAG_RUN)) || + ((addr->reg_flag & FLAG_DEVTYPE) >> FLAG_DEVTYPE_SHIFT) != + DEVTYPE_DSV11) + return(0); + if (addr->reg_cmdrl != 0xAAAA) + return(0); + + /* + * Now we do a minimal run of the device to make it interrupt. After + * that we reset it to put it back in its undisturbed state. + */ + addr->reg_cmar = INITBLK_OFF_LSTHEADS; + addr->reg_cmdrl = CMDBLK_SIZE; + addr->reg_cmdrh = 0; + addr->reg_cmar = INITBLK_OFF_VECTOR; + addr->reg_cmdr = uba_hd[numuba].uh_lastiv - 4; + addr->reg_cmar = CMDBLK_SIZE + CMDBLK_OFF_LINKS; + addr->reg_cmdrl = 0; + addr->reg_cmdrh = 0; + addr->reg_cmar = CMDBLK_SIZE + CMDBLK_OFF_FUNC; + addr->reg_cmdr = CMD_DEVPARAM; + addr->reg_cmar = CMDBLK_SIZE + CMDBLK_OFF_BUFLEN; + addr->reg_cmdr = 0; + addr->reg_cmar = CMDBLK_SIZE + CMDBLK_OFF_BUFADDR; + addr->reg_cmdr = 0; + + s = spl6(); + addr->reg_flag = FLAG_INTE | FLAG_RUN | FLAG_CMDLISTVAL | FLAG_CMDAVAIL; + DELAY(100000); + dds->dds_ipl = br = qbgetpri(); + splx(s); + addr->reg_flag = FLAG_RSET; + return(sizeof(struct dsvdevice)); +} + +/* + * Device exists. We bring it up here because it doesn't cost us anything (no + * uba DMA resources allocated and the device won't bother us with interrupts + * while it's idle). Then we inform the system about its two + * channels/interfaces. The system will initialize each channel/interface if + * and when it needs it. + */ +dsvattach(ui) + struct uba_device *ui; +{ + register struct dsv_softc *dds = &dsv_softc[ui->ui_unit]; + int chan; + register i; + + /* + * As first-order business, permanently reserve our vector for + * ourselves. + */ + dds->dds_vector = (uba_hd[numuba].uh_lastiv -= 4); + /* Now initialize the device. */ + if (!dsvinit(ui->ui_unit)) + return; + for (i = 0; i < 1000 && !(dds->dds_flags & DDSF_INITDONE); i++) + DELAY(100); + if (!(dds->dds_flags & DDSF_INITDONE)) { + printf("dsv%d: no response to Return Device Parameters\n", + ui->ui_unit); + return; + } + printf("dsv%d: hardware rev %d, firmware rev %d, MAC address %s\n", + ui->ui_unit, dds->dds_hwrev, dds->dds_fwrev, + ether_sprintf(dds->dds_macaddr)); + + /* Now inform the system about our two interfaces. */ + for (chan = 0; chan < 2; chan++) { + register struct dsvc_softc *ds = + &dsvc_softc[(ui->ui_unit << 1) + chan]; + register struct ifnet *ifp = &ds->ds_if; + + ifp->if_unit = (ui->ui_unit << 1) + chan; + ifp->if_name = "dsvc"; + ifp->if_mtu = ETHERMTU; + ifp->if_flags = IFF_POINTOPOINT; + ifp->if_init = dsvcinit; + ifp->if_output = dsvcoutput; + ifp->if_ioctl = dsvcioctl; + ifp->if_reset = dsvcreset; + ds->ds_deuba.iff_flags = UBA_CANTWAIT; + if_attach(ifp); + } +} + +/* + * Initialize the DSV11 device. + */ +dsvinit(unit) + int unit; +{ + register struct dsv_softc *dds = &dsv_softc[unit]; + register struct dsvdevice *addr = + (struct dsvdevice *) dsvinfo[unit]->ui_addr; + register i; + int s; + struct dsv_cmdblk cmd; + + /* + * Here we expect the device to be finishing its reset just like in + * dsvprobe, either after the FLAG_RSET we do at the end of dsvprobe or + * after a uba reset. + */ + for (i = 0; i < 90 && (addr->reg_flag & FLAG_RSET); i++) + DELAY(100000); + if (addr->reg_flag & (FLAG_RSET | FLAG_RUN)) { + printf("dsv%d: reset failed, FLAG=%b\n", unit, addr->reg_flag, + FLAG_BITS); + return(0); + } + if (addr->reg_cmdrl != 0xAAAA) { + printf("dsv%d: self-test failed, CMDRL=0x%x, CMDRH=0x%x\n", + unit, addr->reg_cmdrl, addr->reg_cmdrh); + return(0); + } + + /* + * Now initialize the command memory structures and our state info + * about them. + */ + addr->reg_cmar = INITBLK_OFF_LSTHEADS; + addr->reg_cmdrl = 0; + addr->reg_cmdrh = CMDBLK_SIZE; + addr->reg_cmar = INITBLK_OFF_VECTOR; + addr->reg_cmdr = dds->dds_vector; + addr->reg_cmar = CMDBLK_SIZE + CMDBLK_OFF_LINKS; + addr->reg_cmdrl = 0; + addr->reg_cmdrh = 0; + dds->dds_lastcmd = 0; + dds->dds_lastrsp = 1; + for (i = 2; i < NCMDBLKS - 1; i++) + dds->dds_cbinfo[i] = i + 1; + dds->dds_cbinfo[NCMDBLKS - 1] = 0; + dds->dds_freelisthead = 2; + + /* Now RUN the device! */ + s = spl6(); + addr->reg_flag = FLAG_INTE | FLAG_RUN; + if ((addr->reg_flag & (FLAG_INTE | FLAG_RSET | FLAG_RUN | + FLAG_RSPAVAIL)) != (FLAG_INTE | FLAG_RUN)) { + splx(s); + printf("dsv%d: RUN failed, FLAG=%b\n", unit, addr->reg_flag, + FLAG_BITS); + return(0); + } + dds->dds_flags |= DDSF_STARTED; + splx(s); + + /* + * Now issue the Return Device Parameters command. + */ + bzero(&cmd, sizeof(struct dsv_cmdblk)); + cmd.cmd_cmd = CMD_DEVPARAM; + s = spl6(); + dsvcommand(unit, &cmd); + splx(s); + return(1); +} + +/* + * Issue a command to the device. + * Must be called at the device's spl. + */ +dsvcommand(unit, cmd) + int unit; + struct dsv_cmdblk *cmd; +{ + register struct dsv_softc *dds = &dsv_softc[unit]; + register struct dsvdevice *addr = + (struct dsvdevice *) dsvinfo[unit]->ui_addr; + int blk; + + /* First acquire a free command block. */ + blk = dds->dds_freelisthead; + if (!blk) + panic("dsv no free command block"); + dds->dds_freelisthead = dds->dds_cbinfo[blk]; + + /* Now fill it in the command memory. */ + addr->reg_cmar = (blk << CMDBLK_SHIFT) + CMDBLK_OFF_LINKS; + addr->reg_cmdrl = 0; + addr->reg_cmdrh = 0; + addr->reg_cmar = (blk << CMDBLK_SHIFT) + CMDBLK_OFF_FUNC; + addr->reg_cmdr = cmd->cmd_func; + addr->reg_cmar = (blk << CMDBLK_SHIFT) + CMDBLK_OFF_BUFLEN; + addr->reg_cmdr = cmd->cmd_buflen; + addr->reg_cmar = (blk << CMDBLK_SHIFT) + CMDBLK_OFF_BUFADDR; + addr->reg_cmdr = cmd->cmd_bufaddr; + addr->reg_cmar = (blk << CMDBLK_SHIFT) + CMDBLK_OFF_P1; + addr->reg_cmdr = cmd->cmd_p1; + addr->reg_cmar = (blk << CMDBLK_SHIFT) + CMDBLK_OFF_P2; + addr->reg_cmdr = cmd->cmd_p2; + + /* Now put it on the command list. */ + if (dds->dds_lastcmd) { + addr->reg_cmar = (dds->dds_lastcmd << CMDBLK_SHIFT) + + CMDBLK_OFF_LINKS; + addr->reg_cmdrl = blk << CMDBLK_SHIFT; + addr->reg_flag = FLAG_INTE | FLAG_CMDAVAIL; + } else { + addr->reg_cmar = INITBLK_OFF_LSTHEADS; + addr->reg_cmdrl = blk << CMDBLK_SHIFT; + addr->reg_flag = FLAG_INTE | FLAG_CMDLISTVAL | FLAG_CMDAVAIL; + } + dds->dds_lastcmd = blk; + return(blk); +} + +dsvintr(unit) + int unit; +{ + struct uba_device *ui = dsvinfo[unit]; + register struct dsvdevice *addr = (struct dsvdevice *)ui->ui_addr; + register struct dsv_softc *dds = &dsv_softc[unit]; + + splx(dds->dds_ipl); + + /* Ignore interrupts when we shouldn't be getting any. */ + if (!(dds->dds_flags & DDSF_STARTED)) + return; + + /* If the device quit running, complain about it. */ + if (!(addr->reg_flag & FLAG_RUN)) { + int s; + + printf("dsv%d: quit running, FLAG=%b\n", unit, addr->reg_flag, + FLAG_BITS); + dds->dds_flags &= ~(DDSF_STARTED | DDSF_INITDONE); + dsvc_softc[unit << 1].ds_flags |= DSF_WEDGED; + dsvc_softc[(unit << 1) + 1].ds_flags |= DSF_WEDGED; + s = splimp(); + if_qflush(&dsvc_softc[unit << 1].ds_if.if_snd); + if_qflush(&dsvc_softc[(unit << 1) + 1].ds_if.if_snd); + splx(s); + return; + } + + /* The real fun: handling responses. */ + if (addr->reg_flag & FLAG_RSPAVAIL) { + addr->reg_flag = FLAG_INTE | FLAG_RSPAVAIL; + /* Process the response list until it's empty. */ + for (;;) { + struct dsv_cmdblk cmd; + + addr->reg_cmar = (dds->dds_lastrsp << CMDBLK_SHIFT) + + CMDBLK_OFF_LINKS; + if (!addr->reg_cmdrh) + break; + dds->dds_cbinfo[dds->dds_lastrsp] = + dds->dds_freelisthead; + dds->dds_freelisthead = dds->dds_lastrsp; + dds->dds_lastrsp = addr->reg_cmdrh >> CMDBLK_SHIFT; + addr->reg_cmar = (dds->dds_lastrsp << CMDBLK_SHIFT) + + CMDBLK_OFF_FUNC; + cmd.cmd_func = addr->reg_cmdr; + addr->reg_cmar = (dds->dds_lastrsp << CMDBLK_SHIFT) + + CMDBLK_OFF_BUFLEN; + cmd.cmd_buflen = addr->reg_cmdr; + addr->reg_cmar = (dds->dds_lastrsp << CMDBLK_SHIFT) + + CMDBLK_OFF_BUFADDR; + cmd.cmd_bufaddr = addr->reg_cmdr; + addr->reg_cmar = (dds->dds_lastrsp << CMDBLK_SHIFT) + + CMDBLK_OFF_P1; + cmd.cmd_p1 = addr->reg_cmdr; + addr->reg_cmar = (dds->dds_lastrsp << CMDBLK_SHIFT) + + CMDBLK_OFF_P2; + cmd.cmd_p2 = addr->reg_cmdr; + + /* Take care of command list processing issues. */ + if (cmd.cmd_cmdsts & CMDSTS_ENDCMDLIST) { + u_short cmdlink; + + addr->reg_cmar = (dds->dds_lastrsp << + CMDBLK_SHIFT) + CMDBLK_OFF_LINKS; + cmdlink = addr->reg_cmdrl; + if (cmdlink) { + addr->reg_cmar = INITBLK_OFF_LSTHEADS; + addr->reg_cmdrl = cmdlink; + addr->reg_flag = FLAG_INTE | + FLAG_CMDLISTVAL | FLAG_CMDAVAIL; + } else + dds->dds_lastcmd = 0; + } + + /* + * Now process the response based on what command it is + * for. + */ + switch (cmd.cmd_cmd) { + case CMD_DEVPARAM: + dds->dds_hwrev = cmd.cmd_p1b3; + dds->dds_fwrev = cmd.cmd_p1b1; + bcopy(&cmd.cmd_buflen, dds->dds_macaddr, 6); + dds->dds_flags |= DDSF_INITDONE; + break; + case CMD_CHANPARAM: + case CMD_INITCHAN: + case CMD_CHGCHANPARAM: + case CMD_RSETCHAN: + case CMD_XMIT: + case CMD_RECV: + case CMD_UPDRPTMODEMSTS: + case CMD_RPTSTSCHG: + dsvccmddone(unit, (unit << 1) + cmd.cmd_chan, + &cmd, dds->dds_lastrsp); + break; + } + } + } +} + +/* + * Channel/interface management routines. + */ + +/* + * Reset of interface after UNIBUS reset. + * If interface is on specified uba, reset its state. + * As this is called per interface, we will be called twice per device. We will + * reset on the first call and reinitialize on the second. + */ +dsvcreset(unit, uban) + int unit, uban; +{ + int devunit = unit >> 1; + register struct uba_device *ui; + + if (devunit >= NDSV || (ui = dsvinfo[devunit]) == 0 || + ui->ui_alive == 0 || ui->ui_ubanum != uban) + return; + if (!(unit & 1)) { + dsv_softc[devunit].dds_flags = 0; + dsvc_softc[devunit << 1].ds_if.if_flags &= ~IFF_RUNNING; + dsvc_softc[devunit << 1].ds_flags = 0; + dsvc_softc[devunit << 1].ds_state = DSS_SHUTDOWN; + dsvc_softc[(devunit << 1) + 1].ds_if.if_flags &= ~IFF_RUNNING; + dsvc_softc[(devunit << 1) + 1].ds_flags = 0; + dsvc_softc[(devunit << 1) + 1].ds_state = DSS_SHUTDOWN; + } else { + printf(" dsv%d", devunit); + dsvinit(devunit); + dsvcinit(devunit << 1); + dsvcinit((devunit << 1) + 1); + } +} + +/* + * Initialization of interface; clear recorded pending + * operations, and reinitialize UNIBUS usage. + * Must be called at splimp. + */ +dsvcinit(unit) + int unit; +{ + int devunit = unit >> 1; + register struct dsvc_softc *ds = &dsvc_softc[unit]; + register struct dsv_softc *dds = &dsv_softc[devunit]; + register struct uba_device *ui = dsvinfo[devunit]; + struct ifnet *ifp = &ds->ds_if; + struct ifaddr *ifa; + register i; + + /* + * Check to see that an address has been set + * (both local and destination for an address family). + */ + for (ifa = ifp->if_addrlist; ifa; ifa = ifa->ifa_next) + if (ifa->ifa_addr.sa_family && ifa->ifa_dstaddr.sa_family) + break; + if (ifa == (struct ifaddr *) 0) + return; + + /* Make sure the device isn't wedged. */ + if (!(dds->dds_flags & DDSF_STARTED) || (ds->ds_flags & DSF_WEDGED)) { + printf("dsvc%d: hardware not in operating condition\n", unit); + ds->ds_if.if_flags &= ~IFF_UP; + return; + } + + if ((ifp->if_flags & IFF_RUNNING) == 0) { + if (if_ubaminit(&ds->ds_deuba, ui->ui_ubanum, + sizeof (struct hdlc_header), (int)btoc(ETHERMTU), + ds->ds_ifr, NRCV, ds->ds_ifw, NXMT) == 0) { + printf("dsvc%d: can't initialize\n", unit); + ds->ds_if.if_flags &= ~IFF_UP; + return; + } + /* Init our state info for the receive and transmit buffers. */ + for (i = 0; i < NRCV; i++) + ds->ds_rbufstat[i] = 0; + for (i = 0; i < NXMT; i++) + ds->ds_xbuffreelist[i] = i + 1; + ds->ds_xbuffreelisthead = 0; + ifp->if_flags |= IFF_RUNNING; + } + + dsvcchkstate(unit); +} + +/* + * Check the channel/interface state and adjust it as necessary. + * Must be called at the device's spl. + */ +dsvcchkstate(unit) + int unit; +{ + int devunit = unit >> 1; + register struct dsvc_softc *ds = &dsvc_softc[unit]; + register struct dsv_softc *dds = &dsv_softc[devunit]; + register struct uba_device *ui = dsvinfo[devunit]; + struct ifnet *ifp = &ds->ds_if; + struct dsv_cmdblk cmd; + + /* + * We can do anything only when the device is running, we are not + * wedged or in transition, and the uba resources are secured. + */ + if (!(dds->dds_flags & DDSF_STARTED) || (ds->ds_flags & (DSF_WEDGED | + DSF_INTRANS)) || !(ifp->if_flags & IFF_RUNNING)) + return; + + if (ifp->if_flags & IFF_UP) { + if (ds->ds_state == DSS_SHUTDOWN) { + u_short userflags; + + bzero(&cmd, sizeof(struct dsv_cmdblk)); + cmd.cmd_cmd = CMD_INITCHAN; + cmd.cmd_chan = unit & 1; + cmd.cmd_p1 = CHANPAR1_IDLESYNCFLAG | + (BITSPERCHAR_8 << CHANPAR1_XMITBPC_SHIFT) | + (BITSPERCHAR_8 << CHANPAR1_RECVBPC_SHIFT) | + (ERRCHK_CRCCCITT1 << CHANPAR1_ERRCHK_SHIFT) | + (PROTO_BASICHDLC << CHANPAR1_PROTO_SHIFT); + cmd.cmd_p2 = CHANPAR2_PRIMSTAT | CHANPAR2_RECVENAB; + userflags = (ui->ui_flags >> ((unit & 1) ? 16 : 0)) & + 0xFFFF; + if (userflags & USERFLAGS_INTLOOP) + cmd.cmd_p2 |= CHANPAR2_INTLOOP; + if (userflags & USERFLAGS_INTCLKENAB) + cmd.cmd_p2 |= CHANPAR2_INTCLKENAB; + if (userflags & USERFLAGS_NRZI) + cmd.cmd_p2 |= CHANPAR2_NRZI; + if (userflags & USERFLAGS_USEINTCLK) + cmd.cmd_p2 |= CHANPAR2_USEINTCLK; + cmd.cmd_p2 |= (userflags & USERFLAGS_INTCLKRATE) << + (CHANPAR2_INTCLKRATE_SHIFT - + USERFLAGS_INTCLKRATE_SHIFT); + cmd.cmd_p2 |= (userflags & USERFLAGS_DRIVER) << + (CHANPAR2_DRIVER_SHIFT - USERFLAGS_DRIVER_SHIFT); + ds->ds_flags |= DSF_INTRANS; + dsvcommand(devunit, &cmd); + } else if (ds->ds_state == DSS_PARAMSET) { + bzero(&cmd, sizeof(struct dsv_cmdblk)); + cmd.cmd_cmd = CMD_UPDRPTMODEMSTS; + cmd.cmd_chan = unit & 1; + cmd.cmd_p1b0 = MODEMCTL_VALID | MODEMCTL_RTS | + MODEMCTL_DTR; + ds->ds_flags |= DSF_INTRANS; + dsvcommand(devunit, &cmd); + } + } else { + if (ds->ds_state == DSS_RUNNING) { + bzero(&cmd, sizeof(struct dsv_cmdblk)); + cmd.cmd_cmd = CMD_UPDRPTMODEMSTS; + cmd.cmd_chan = unit & 1; + cmd.cmd_p1b0 = MODEMCTL_VALID; + ds->ds_flags |= DSF_INTRANS; + dsvcommand(devunit, &cmd); + } else if (ds->ds_state == DSS_PARAMSET) { + bzero(&cmd, sizeof(struct dsv_cmdblk)); + cmd.cmd_cmd = CMD_RSETCHAN; + cmd.cmd_chan = unit & 1; + cmd.cmd_p1 = RSETCHAN_SHUTDOWN; + ds->ds_flags |= DSF_INTRANS; + dsvcommand(devunit, &cmd); + } + } +} + +/* + * Setup output on interface. + * Get another datagram to send off of the interface queue, + * and map it to the interface before starting the output. + * Must be called at splimp. + */ +dsvcstart(unit) + int unit; +{ + int devunit = unit >> 1; + register struct dsvc_softc *ds = &dsvc_softc[unit]; + register struct dsv_softc *dds = &dsv_softc[devunit]; + struct mbuf *m; + + /* Don't do anything if the channel isn't RUNNING. */ + if (ds->ds_state != DSS_RUNNING) + return; + + while (ds->ds_xbuffreelisthead < NXMT) { + u_char xbuf, blk; + int len; + struct dsv_cmdblk cmd; + + IF_DEQUEUE(&ds->ds_if.if_snd, m); + if (m == 0) + break; + xbuf = ds->ds_xbuffreelisthead; + ds->ds_xbuffreelisthead = ds->ds_xbuffreelist[xbuf]; + len = if_ubaput(&ds->ds_deuba, &ds->ds_ifw[xbuf], m); + bzero(&cmd, sizeof(struct dsv_cmdblk)); + cmd.cmd_cmd = CMD_XMIT; + cmd.cmd_chan = unit & 1; + cmd.cmd_bufaddr = UBAI_ADDR(ds->ds_ifw[xbuf].ifw_info); + cmd.cmd_bufsize = len; + blk = dsvcommand(devunit, &cmd); + dds->dds_cbinfo[blk] = xbuf; + } +} + +/* + * Channel/interface command done handling. + * Called at the device's spl. + */ +dsvccmddone(devunit, unit, cmd, blk) + int devunit, unit, blk; + struct dsv_cmdblk *cmd; +{ + register struct dsvc_softc *ds = &dsvc_softc[unit]; + register struct dsv_softc *dds = &dsv_softc[devunit]; + register bufnum; + register i; + struct ifxmt *ifxp; + int s; + + /* If we aren't IFF_RUNNING, we should never receive control. */ + if (!(ds->ds_if.if_flags & IFF_RUNNING)) + return; + + switch (cmd->cmd_cmd) { + /* state transitions */ + case CMD_RSETCHAN: + case CMD_INITCHAN: + case CMD_UPDRPTMODEMSTS: + if (cmd->cmd_complsts != COMPLSTS_NORMAL) { + printf("dsvc%d: state transition failed, cmd=0x%x complsts=0x%x\n", unit, cmd->cmd_cmd, cmd->cmd_complsts); + ds->ds_flags |= DSF_WEDGED; + } + if (ds->ds_flags & DSF_WEDGED) + return; + switch (cmd->cmd_cmd) { + case CMD_RSETCHAN: + ds->ds_state = DSS_SHUTDOWN; + break; + case CMD_INITCHAN: + ds->ds_state = DSS_PARAMSET; + break; + case CMD_UPDRPTMODEMSTS: + if (cmd->cmd_p1b0 & MODEMCTL_DTR) + ds->ds_state = DSS_RUNNING; + else + ds->ds_state = DSS_PARAMSET; + break; + } + ds->ds_flags &= ~DSF_INTRANS; + dsvcchkstate(unit); + if (!(ds->ds_flags & DSF_INTRANS) && + ds->ds_state == DSS_RUNNING) + for (i = 0; i < NRCV; i++) + if (!ds->ds_rbufstat[i]) + dsvchangrecv(unit, i); + break; + + /* got something */ + case CMD_RECV: + bufnum = dds->dds_cbinfo[blk]; + if (cmd->cmd_complsts == COMPLSTS_NORMAL) { + u_short len = cmd->cmd_bufused; + + ds->ds_if.if_ipackets++; + if (len >= sizeof(struct hdlc_header)) + dsvcread(ds, &ds->ds_ifr[bufnum], + len - sizeof(struct hdlc_header)); + else { + if (dsvdebug) + printf("dsvc%d: runt packet (%u bytes)\n", unit, len); + ds->ds_if.if_ierrors++; + } + } else if (cmd->cmd_complsts != COMPLSTS_ABORTED) { + if (dsvdebug) + printf("dsvc%d: receive error, complsts=0x%x\n", + unit, cmd->cmd_complsts); + ds->ds_if.if_ierrors++; + } + ds->ds_rbufstat[bufnum] = 0; + if (!(ds->ds_flags & (DSF_INTRANS | DSF_WEDGED)) && + ds->ds_state == DSS_RUNNING) + dsvchangrecv(unit, bufnum); + break; + + /* xmit done */ + case CMD_XMIT: + bufnum = dds->dds_cbinfo[blk]; + ds->ds_if.if_opackets++; + if (cmd->cmd_complsts != COMPLSTS_NORMAL) { + if (dsvdebug) + printf("dsvc%d: transmit error, complsts=0x%x\n", cmd->cmd_complsts); + ds->ds_if.if_oerrors++; + } + ifxp = &ds->ds_ifw[bufnum]; + if (ifxp->ifw_xtofree) { + m_freem(ifxp->ifw_xtofree); + ifxp->ifw_xtofree = 0; + } + ds->ds_xbuffreelist[bufnum] = ds->ds_xbuffreelisthead; + ds->ds_xbuffreelisthead = bufnum; + if (!(ds->ds_flags & DSF_WEDGED)) { + s = splimp(); + dsvcstart(unit); + splx(s); + } + break; + } +} + +/* + * Hang receive buffer rbuf. + * Called at the device's spl. + */ +dsvchangrecv(unit, rbuf) + int unit, rbuf; +{ + int devunit = unit >> 1; + register struct dsvc_softc *ds = &dsvc_softc[unit]; + register struct dsv_softc *dds = &dsv_softc[devunit]; + struct dsv_cmdblk cmd; + int blk; + + bzero(&cmd, sizeof(struct dsv_cmdblk)); + cmd.cmd_cmd = CMD_RECV; + cmd.cmd_chan = unit & 1; + cmd.cmd_bufaddr = UBAI_ADDR(ds->ds_ifr[rbuf].ifrw_info); + cmd.cmd_bufsize = sizeof(struct hdlc_header) + ETHERMTU; + blk = dsvcommand(devunit, &cmd); + dds->dds_cbinfo[blk] = rbuf; + ds->ds_rbufstat[rbuf] = blk; +} + +/* + * Pass a packet to the higher levels. + * We deal with the trailer protocol here. + * Called at the device's spl. + */ +dsvcread(ds, ifrw, len) + register struct dsvc_softc *ds; + struct ifrw *ifrw; + int len; +{ + struct hdlc_header *hh; + struct mbuf *m; + int off, resid; + int s; + register struct ifqueue *inq; + + /* + * Deal with trailer protocol: if type is trailer type + * get true type from first 16-bit word past data. + * Remember that type was trailer by setting off. + */ + hh = (struct hdlc_header *)ifrw->ifrw_addr; + if (hh->hdlc_address != CISCOHDLC_ADDR_UNICAST && + hh->hdlc_address != CISCOHDLC_ADDR_MULTICAST) + return; + hh->hdlc_type = ntohs((u_short)hh->hdlc_type); +#define dsvcdataaddr(hh, off, type) ((type)(((caddr_t)((hh)+1)+(off)))) + if (hh->hdlc_type >= ETHERTYPE_TRAIL && + hh->hdlc_type < ETHERTYPE_TRAIL+ETHERTYPE_NTRAILER) { + off = (hh->hdlc_type - ETHERTYPE_TRAIL) * 512; + if (off >= ETHERMTU) + return; /* sanity */ + hh->hdlc_type = ntohs(*dsvcdataaddr(hh, off, u_short *)); + resid = ntohs(*(dsvcdataaddr(hh, off+2, u_short *))); + if (off + resid > len) + return; /* sanity */ + len = off + resid; + } else + off = 0; + if (len == 0) + return; + + /* + * Pull packet off interface. Off is nonzero if packet + * has trailing header; if_ubaget will then force this header + * information to be at the front, but we still have to drop + * the type and length which are at the front of any trailer data. + */ + m = if_ubaget(&ds->ds_deuba, ifrw, len, off, &ds->ds_if); + if (m == 0) + return; + if (off) { + struct ifnet *ifp; + + ifp = *(mtod(m, struct ifnet **)); + m->m_off += 2 * sizeof (u_short); + m->m_len -= 2 * sizeof (u_short); + *(mtod(m, struct ifnet **)) = ifp; + } + switch (hh->hdlc_type) { + +#ifdef INET + case ETHERTYPE_IP: + schednetisr(NETISR_IP); + inq = &ipintrq; + break; +#endif + + default: + m_freem(m); + return; + } + + s = splimp(); + if (IF_QFULL(inq)) { + IF_DROP(inq); + splx(s); + m_freem(m); + return; + } + IF_ENQUEUE(inq, m); + splx(s); +} + +/* + * Packet output routine. + * Encapsulate a packet of type family for the local net. + * Use trailer local net encapsulation if enough data in first + * packet leaves a multiple of 512 bytes of data in remainder. + */ +dsvcoutput(ifp, m0, dst) + struct ifnet *ifp; + struct mbuf *m0; + struct sockaddr *dst; +{ + int type, s, error; + register struct dsvc_softc *ds = &dsvc_softc[ifp->if_unit]; + register struct mbuf *m = m0; + register struct hdlc_header *hh; + u_char address = CISCOHDLC_ADDR_UNICAST, control = CISCOHDLC_CONTROL; + register int off; + int usetrailers = !(ifp->if_flags & IFF_NOTRAILERS); + + if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING) || + (ds->ds_flags & DSF_WEDGED)) { + error = ENETDOWN; + goto bad; + } + switch (dst->sa_family) { + +#ifdef INET + case AF_INET: + off = ntohs((u_short)mtod(m, struct ip *)->ip_len) - m->m_len; + if (usetrailers && off > 0 && (off & 0x1ff) == 0 && + m->m_off >= MMINOFF + 2 * sizeof (u_short)) { + type = ETHERTYPE_TRAIL + (off>>9); + m->m_off -= 2 * sizeof (u_short); + m->m_len += 2 * sizeof (u_short); + *mtod(m, u_short *) = htons((u_short)ETHERTYPE_IP); + *(mtod(m, u_short *) + 1) = htons((u_short)m->m_len); + goto gottrailertype; + } + type = ETHERTYPE_IP; + off = 0; + goto gottype; +#endif + + case AF_UNSPEC: + hh = (struct hdlc_header *)dst->sa_data; + address = hh->hdlc_address; + control = hh->hdlc_control; + type = hh->hdlc_type; + goto gottype; + + default: + printf("dsvc%d: can't handle af%d\n", ifp->if_unit, + dst->sa_family); + error = EAFNOSUPPORT; + goto bad; + } + +gottrailertype: + /* + * Packet to be sent as trailer: move first packet + * (control information) to end of chain. + */ + while (m->m_next) + m = m->m_next; + m->m_next = m0; + m = m0->m_next; + m0->m_next = 0; + m0 = m; + +gottype: + /* + * Add local net header. If no space in first mbuf, + * allocate another. + */ + if (m->m_off > MMAXOFF || + MMINOFF + sizeof (struct hdlc_header) > m->m_off) { + m = m_get(M_DONTWAIT, MT_HEADER); + if (m == 0) { + error = ENOBUFS; + goto bad; + } + m->m_next = m0; + m->m_off = MMINOFF; + m->m_len = sizeof (struct hdlc_header); + } else { + m->m_off -= sizeof (struct hdlc_header); + m->m_len += sizeof (struct hdlc_header); + } + hh = mtod(m, struct hdlc_header *); + hh->hdlc_address = address; + hh->hdlc_control = control; + hh->hdlc_type = htons((u_short)type); + + /* + * Queue message on interface, and start output if interface + * not yet active. + */ + s = splimp(); + if (IF_QFULL(&ifp->if_snd)) { + IF_DROP(&ifp->if_snd); + splx(s); + m_freem(m); + return (ENOBUFS); + } + IF_ENQUEUE(&ifp->if_snd, m); + dsvcstart(ifp->if_unit); + splx(s); + return (0); + +bad: + m_freem(m0); + return (error); +} + +/* + * Process an ioctl request. + */ +dsvcioctl(ifp, cmd, data) + register struct ifnet *ifp; + int cmd; + caddr_t data; +{ + register struct dsvc_softc *ds = &dsvc_softc[ifp->if_unit]; + int s = splimp(), error = 0; + + switch (cmd) { + + case SIOCSIFADDR: + ifp->if_flags |= IFF_UP; + case SIOCSIFDSTADDR: + case SIOCSIFFLAGS: + dsvcinit(ifp->if_unit); + break; + + default: + error = EINVAL; + } + splx(s); + return (error); +} +#endif diff --git a/sys/vaxif/if_dsvreg.h b/sys/vaxif/if_dsvreg.h new file mode 100644 index 00000000..03e3b7ce --- /dev/null +++ b/sys/vaxif/if_dsvreg.h @@ -0,0 +1,260 @@ +/* + * Copyright (c) 1982, 1986 Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms are permitted + * provided that the above copyright notice and this paragraph are + * duplicated in all such forms and that any documentation, + * advertising materials, and other materials related to such + * distribution and use acknowledge that the software was developed + * by the University of California, Berkeley. The name of the + * University may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + * + * @(#)if_dsvreg.h 7.1 (Berkeley) 3/26/00 + */ + +/* + * DEC DSV11 interface + */ +struct dsvdevice { + u_short reg_flag; + u_short reg_cmar; + union { + u_long cmdr_l; + u_short cmdr_w[2]; + } u_cmdr; +#define reg_cmdr u_cmdr.cmdr_l +#define reg_cmdrl u_cmdr.cmdr_w[0] +#define reg_cmdrh u_cmdr.cmdr_w[1] +}; + +/* FLAG register bit descriptions */ +#define FLAG_SKSELFTST 0x8000 /* Skip self-test */ +#define FLAG_RSPAVAIL 0x4000 /* Response available */ +#define FLAG_CMDAVAIL 0x2000 /* Command available */ +#define FLAG_CMDLISTVAL 0x1000 /* Command list valid */ +#define FLAG_RUN 0x0400 /* Running */ +#define FLAG_RSET 0x0200 /* DSV11 reset */ +#define FLAG_INTE 0x0100 /* Interrupt enable */ +#define FLAG_DEVTYPE 0x00FF /* DSV11 device type mask */ +#define FLAG_DEVTYPE_SHIFT 0 + +#define FLAG_BITS "\20\17RSPAVAIL\16CMDAVAIL\15CMDLISTVAL\13RUN\12RSET\11INTE" + +/* + * Structures in DSV11 command memory (command blocks) + */ +#define CMDBLK_SIZE 32 +#define CMDBLK_SHIFT 5 +#define NCMDBLKS 64 + +/* The initialization block */ +#define INITBLK_OFF_LSTHEADS 0x00 +#define INITBLK_OFF_VECTOR 0x04 + +/* Command blocks */ +#define CMDBLK_OFF_LINKS 0x00 +#define CMDBLK_OFF_FUNC 0x04 +#define CMDBLK_OFF_BUFLEN 0x08 +#define CMDBLK_OFF_BUFADDR 0x0C +#define CMDBLK_OFF_P1 0x10 +#define CMDBLK_OFF_P2 0x14 + +/* + * Internal structure for the command block + */ +struct dsv_cmdblk { + union { + u_long func_l; + u_char func_b[4]; + } u_func; +#define cmd_func u_func.func_l +#define cmd_cmd u_func.func_b[0] +#define cmd_chan u_func.func_b[1] +#define cmd_cmdsts u_func.func_b[2] +#define cmd_complsts u_func.func_b[3] + union { + u_long buflen_l; + u_short buflen_w[2]; + } u_buflen; +#define cmd_buflen u_buflen.buflen_l +#define cmd_bufused u_buflen.buflen_w[0] +#define cmd_bufsize u_buflen.buflen_w[1] + u_long cmd_bufaddr; + union { + u_long p_l; + u_short p_w[2]; + u_char p_b[4]; + } u_p1, u_p2; +#define cmd_p1 u_p1.p_l +#define cmd_p1l u_p1.p_w[0] +#define cmd_p1h u_p1.p_w[1] +#define cmd_p1b0 u_p1.p_b[0] +#define cmd_p1b1 u_p1.p_b[1] +#define cmd_p1b2 u_p1.p_b[2] +#define cmd_p1b3 u_p1.p_b[3] +#define cmd_p2 u_p2.p_l +#define cmd_p2l u_p2.p_w[0] +#define cmd_p2h u_p2.p_w[1] +#define cmd_p2b0 u_p2.p_b[0] +#define cmd_p2b1 u_p2.p_b[1] +#define cmd_p2b2 u_p2.p_b[2] +#define cmd_p2b3 u_p2.p_b[3] +}; + +/* Command codes */ +#define CMD_DEVPARAM 0x00 /* Return Device Parameters */ +#define CMD_CHANPARAM 0x01 /* Return Channel Parameters */ +#define CMD_INITCHAN 0x10 /* Initialize Channel */ +#define CMD_CHGCHANPARAM 0x11 /* Change Channel Parameters */ +#define CMD_RSETCHAN 0x13 /* Reset Channel */ +#define CMD_XMIT 0x20 /* Transmit Data */ +#define CMD_RECV 0x30 /* Receive Data */ +#define CMD_UPDRPTMODEMSTS 0x40 /* Update and Report Modem Status */ +#define CMD_RPTSTSCHG 0x50 /* Report Status Change */ +#define CMD_MAINTMODE 0x7F /* Maintenance Mode */ + +/* Command status */ +#define CMDSTS_ENDCMDLIST 0x20 /* End of Command List Detected */ + +/* Completion status */ +#define COMPLSTS_NORMAL 0x00 /* Normal completion */ +#define COMPLSTS_ABORTED 0x01 /* Command aborted on request */ +#define COMPLSTS_BADCMD 0x03 /* Unrecognized command */ +#define COMPLSTS_BADCHAN 0x04 /* Invalid channel */ +#define COMPLSTS_BADP1 0x05 /* Invalid P1 */ +#define COMPLSTS_BADP2 0x06 /* Invalid P2 */ +#define COMPLSTS_BADP3 0x07 /* Invalid P3 */ +#define COMPLSTS_BADP4 0x08 /* Invalid P4 */ +#define COMPLSTS_CMDOUTOFSEQ 0x09 /* Command out of sequence */ +#define COMPLSTS_BUFPAR 0x0A /* Buffer error: parity error */ +#define COMPLSTS_BUFNXM 0x0B /* Buffer error: NXM */ +#define COMPLSTS_CRCERR 0x0C /* CRC error on receive */ +#define COMPLSTS_HDRCRCERR 0x0D /* CRC error in header on receive */ +#define COMPLSTS_RECVBUFOVFLO 0x0E /* Receive buffer overflow */ +#define COMPLSTS_MODEMSTSCHG 0x0F /* Modem status change during xmit */ +#define COMPLSTS_MODEMTIMEOUT 0x10 /* Modem timeout */ +#define COMPLSTS_MSGCONTERR 0x11 /* Message contents error */ +#define COMPLSTS_RECVOVERRUN 0x12 /* Receive overrun occurred */ +#define COMPLSTS_RECVABORT 0x13 /* HDLC receive abort detected */ + +/* + * P1 and P2 bit definitions for individual commands + * Fields that take up a whole byte or the whole upper or lower half are + * #defined here only for clarity, we actually access them through our struct. + */ + +/* Return Channel Parameters command */ +#define CHANPARAM_P1_CABLE 0x0000000F /* cable code */ +#define CHANPARAM_P1_CABLE_SHIFT 0 +#define CHANPARAM_P1_MAINTSW 0x00000030 /* maintenance switches */ + +/* Channel parameters for Initialize and Change */ +#define CHANPAR1_PROTO 0x0000000F /* Channel Protocol */ +#define CHANPAR1_PROTO_SHIFT 0 +#define CHANPAR1_ERRCHK 0x000000F0 /* Error Check Type */ +#define CHANPAR1_ERRCHK_SHIFT 4 +#define CHANPAR1_RECVBPC 0x00000700 /* Receive Bits per Char */ +#define CHANPAR1_RECVBPC_SHIFT 8 +#define CHANPAR1_XMITBPC 0x00003800 /* Transmit Bits per Char */ +#define CHANPAR1_XMITBPC_SHIFT 11 +#define CHANPAR1_IDLESYNCFLAG 0x00004000 /* Idle with Sync/Flag */ +#define CHANPAR1_1STADDRCHAR 0x00FF0000 /* 1st Address Char */ +#define CHANPAR1_2NDADDRCHAR 0xFF000000 /* 2nd Address Char */ + +#define CHANPAR2_RECVENAB 0x00000001 /* Receiver Enable */ +#define CHANPAR2_INTLOOP 0x00000002 /* Internal Loopback */ +#define CHANPAR2_PRIMSTAT 0x00000004 /* Primary Station */ +#define CHANPAR2_INTCLKENAB 0x00000008 /* Internal Clock Enable */ +#define CHANPAR2_INTCLKRATE 0x00000070 /* Internal Clock Rate */ +#define CHANPAR2_INTCLKRATE_SHIFT 4 +#define CHANPAR2_NUMSYNCS 0x00FF0000 /* Number of Syncs */ +#define CHANPAR2_DRIVER 0x0F000000 /* Cable Driver Select */ +#define CHANPAR2_DRIVER_SHIFT 24 +#define CHANPAR2_NRZI 0x10000000 /* NRZI */ +#define CHANPAR2_USEINTCLK 0x20000000 /* Clock TX from internal */ + +/* Reset Channel command */ +#define RSETCHAN_SHUTDOWN 0x00000000 /* Shut down channel */ +#define RSETCHAN_ABTXMITRECV 0x00000001 /* Abort all xmits and recvs */ +#define RSETCHAN_ABTXMIT 0x00000002 /* Abort all xmits */ + +/* Modem status bytes, appear in P1 for many commands */ +#define MODEMCTL_RL 0x01 /* CCITT 140 (Remote Loopback) */ +#define MODEMCTL_DTR 0x02 /* CCITT 108/2 (Data Terminal Ready) */ +#define MODEMCTL_DSRS 0x04 /* CCITT 111 (Data Signaling Rate Selector) */ +#define MODEMCTL_LL 0x08 /* CCITT 141 (Local Loopback) */ +#define MODEMCTL_RTS 0x10 /* CCITT 105 (Request To Send) */ +#define MODEMCTL_VALID 0x80 + +#define MODEMSTS_VALID 0x01 +#define MODEMSTS_RTSLOOP 0x02 /* RTS looped back by H3199 */ +#define MODEMSTS_TI 0x04 /* CCITT 142 (Test Indicator) */ +#define MODEMSTS_DTRLOOP 0x08 /* DTR looped back by H3199 */ +#define MODEMSTS_CTS 0x10 /* CCITT 106 (Clear To Send) */ +#define MODEMSTS_CD 0x20 /* CCITT 109 (Carrier Detect) */ +#define MODEMSTS_RI 0x40 /* CCITT 125 (Ring Indicator) */ +#define MODEMSTS_DSR 0x80 /* CCITT 107 (Data Set Ready) */ + +#define MODEMSTS_BITS "\20\10DSR\7RI\6CD\5CTS\4DTRLOOP\3TI\2RTSLOOP" + +/* + * Codes and magic numbers + */ + +/* Device type codes */ +#define DEVTYPE_DSV11 0x02 + +/* Attached cable codes */ +#define CABLE_NONE 0x0 +#define CABLE_V35 0x1 /* V.35 */ +#define CABLE_UNBAL 0x2 /* unbalanced pair */ +#define CABLE_BAL 0x4 /* balanced pair */ +#define CABLE_LOOPBACK 0xF /* H3199 loopback connector */ + +/* Cable driver selections */ +#define DRIVER_AUTO 0x0 /* auto select based on cable */ +#define DRIVER_V35 CABLE_V35 +#define DRIVER_UNBAL CABLE_UNBAL +#define DRIVER_BAL CABLE_BAL + +/* Channel protocols */ +#define PROTO_DDCMP 0 +#define PROTO_BASICHDLC 1 /* Basic HDLC (always 1-byte addr) */ +#define PROTO_EXTHDLC 2 /* Extended HDLC (addr extension) */ +#define PROTO_BISYNC 4 + +/* Error check types */ +#define ERRCHK_CRCCCITT1 0 /* CRC-CCITT preset to all 1s */ +#define ERRCHK_CRCCCITT0 1 /* CRC-CCITT preset to all 0s */ +#define ERRCHK_LRCVRCODD 2 /* LRC/VRC odd */ +#define ERRCHK_CRC16 3 /* CRC-16 */ +#define ERRCHK_VRCODD 4 /* VRC odd */ +#define ERRCHK_VRCEVEN 5 /* VRC even */ +#define ERRCHK_LRCVRCEVEN 6 /* LRC/VRC even */ +#define ERRCHK_NONE 7 + +/* Bits per character */ +#define BITSPERCHAR_8 0 /* 8 bits per char */ +#define BITSPERCHAR_5 5 /* 5 bits per char */ +#define BITSPERCHAR_6 6 /* 6 bits per char */ +#define BITSPERCHAR_7 7 /* 7 bits per char */ + +/* Internal clock rates */ +#define CLKRATE_AUTO 0 /* auto select based on protocol and cable */ +#define CLKRATE_DISABLE 1 +#define CLKRATE_9766 2 +#define CLKRATE_19531 3 +#define CLKRATE_39062 4 +#define CLKRATE_78125 5 +#define CLKRATE_156250 6 +#define CLKRATE_312500 7 + +struct dsv_buf { + struct hdlc_header db_head; /* header */ + char db_data[ETHERMTU]; /* packet data */ +}; diff --git a/sys/vaxif/if_qe.c b/sys/vaxif/if_qe.c index ed08f152..6e712bc4 100644 --- a/sys/vaxif/if_qe.c +++ b/sys/vaxif/if_qe.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)if_qe.c 7.11 (Berkeley) 2/17/89 + * @(#)if_qe.c 7.12 (Berkeley) 1/19/03 */ /* from @(#)if_qe.c 1.15 (ULTRIX) 4/16/86 */ @@ -372,6 +372,7 @@ qereset(unit, uban) return; printf(" qe%d", unit); qe_softc[unit].qe_if.if_flags &= ~IFF_RUNNING; + qe_softc[unit].qe_flags &= ~QEF_RUNNING; qeinit(unit); } @@ -569,7 +570,7 @@ qeintr(unit) if( csr & QE_XMIT_INT ) qetint( unit ); if( csr & QE_NEX_MEM_INT ) - printf("qe%d: Nonexistent memory interrupt\n", unit); + log(LOG_ERR, "qe%d: Nonexistent memory interrupt\n", unit); if( addr->qe_csr & QE_RL_INVALID && sc->rring[sc->rindex].qe_status1 == QE_NOTYET ) { buf_addr = (int)&sc->rringaddr[sc->rindex]; @@ -870,9 +871,9 @@ qeioctl(ifp, cmd, data) ((struct qedevice *) (qeinfo[ifp->if_unit]->ui_addr))->qe_csr = QE_RESET; sc->qe_flags &= ~QEF_RUNNING; - } else if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) == - IFF_RUNNING && (sc->qe_flags & QEF_RUNNING) == 0) - qerestart(sc); + } else if (ifp->if_flags & IFF_UP && + (sc->qe_flags & QEF_RUNNING) == 0) + qeinit(ifp->if_unit); break; default: @@ -896,7 +897,7 @@ qe_setaddr(physaddr, unit) for (i = 0; i < 6; i++) sc->setup_pkt[i][1] = sc->qe_addr[i] = physaddr[i]; sc->qe_flags |= QEF_SETADDR; - if (sc->qe_if.if_flags & IFF_RUNNING) + if (sc->qe_flags & QEF_RUNNING) qesetup(sc); qeinit(unit); } diff --git a/sys/vaxstand/Makefile b/sys/vaxstand/Makefile index 051e2265..14d6e5cd 100644 --- a/sys/vaxstand/Makefile +++ b/sys/vaxstand/Makefile @@ -14,14 +14,14 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#)Makefile 7.22 (Berkeley) 9/5/99 +# @(#)Makefile 7.24 (Berkeley) 11/16/03 # DESTDIR= STAND= /stand INCPATH=-I. -I../stand -I../h VPATH= ../stand:../vax -DEFS= ${INCPATH} -DSTANDALONE -DCOMPAT_42 +DEFS= ${INCPATH} -DSTANDALONE MACH= -DVAX8600 -DVAX8200 -DVAX780 -DVAX750 -DVAX730 -DVAX630 -DVAX650 LS= /bin/ls @@ -32,8 +32,8 @@ LS= /bin/ls # KRAOPTS like SMOPTS, but for bootkra, which is 8200 only # CFLAGS everything else -COPTS= ${DEFS} ${MACH} -CFLAGS= -O ${DEFS} ${MACH} +COPTS= ${DEFS} ${MACH} -DCOMPAT_42 +CFLAGS= -O ${DEFS} ${MACH} -DCOMPAT_42 SMOPTS= ${DEFS} -DSMALL -DVAX750 RAOPTS= ${DEFS} -DSMALL -DVAX750 -DVAX8200 -DVAX630 -DVAX650 KRAOPTS=${DEFS} -DSMALL -DVAX8200 @@ -50,9 +50,9 @@ DUMMIES=confxx.c DRIVERS=autoconf.o hp.o hpmaptype.o ht.o idc.o kdb.o mba.o mt.o qdcons.o \ qvcons.o rk.o rl.o tm.o tmscp.o ts.o up.o upmaptype.o uba.o uda.o \ ut.o -SMOBJ= bootxx.o sm_sys.o sm_autoconf.o -RAOBJ= bootxx.o sm_sys.o ra_autoconf.o -KRAOBJ= bootxx.o sm_sys.o kra_autoconf.o +SMOBJ= bootxx.o sm_sys.o sm_autoconf.o +RAOBJ= bootxx.o sm_sys.o ra_autoconf.o sm_uda.o +KRAOBJ= bootxx.o sm_sys.o kra_autoconf.o sm_kdb.o # These drivers don't have ecc correction and bad sector forwarding; # they are placed in the file system boot area for 750's. If your @@ -200,6 +200,20 @@ sm_up.o: up.o /lib/c2 -i sm_up.s | as -o sm_up.o rm -f sm_up.s sm_up.c +sm_uda.o: uda.o + rm -f sm_uda.c + ln -s uda.c sm_uda.c + ${CC} -S ${RAOPTS} sm_uda.c + /lib/c2 -i sm_uda.s | as -o sm_uda.o + rm -f sm_uda.s sm_uda.c + +sm_kdb.o: kdb.o + rm -f sm_kdb.c + ln -s kdb.c sm_kdb.c + ${CC} -S ${KRAOPTS} sm_kdb.c + /lib/c2 -i sm_kdb.s | as -o sm_kdb.o + rm -f sm_kdb.s sm_kdb.c + sm_sys.o: sys.o rm -f sm_sys.c ln -s sys.c sm_sys.c @@ -278,18 +292,22 @@ installint: FRC dd if=a.out of=../floppy/boot bs=32 skip=1; rm a.out cp ../floppy/boot ../cassette/boot cp ../floppy/boot ../consolerl/boot + cp ../floppy/boot ../rx50/boot cp copy a.out; strip a.out; \ dd if=a.out of=../floppy/copy bs=32 skip=1; rm a.out cp ../floppy/copy ../cassette/copy cp ../floppy/copy ../consolerl/copy + cp ../floppy/copy ../rx50/copy cp format a.out; strip a.out; \ dd if=a.out of=../floppy/format bs=32 skip=1; rm a.out cp ../floppy/format ../cassette/format cp ../floppy/format ../consolerl/format + cp ../floppy/format ../rx50/format cp drtest a.out; strip a.out; \ dd if=a.out of=../floppy/drtest bs=32 skip=1; rm a.out cp ../floppy/drtest ../cassette/drtest cp ../floppy/drtest ../consolerl/drtest + cp ../floppy/drtest ../rx50/drtest installext: FRC install -c -s -o bin -g bin -m 644 format cat copy drtest ls ${DESTDIR}${STAND} diff --git a/sys/vaxstand/autoconf.o b/sys/vaxstand/autoconf.o index 46b0ce7e6e6a231a1795af5a38b5863c84b0336f..8280f30d2b9024ef8c47c6fe5c8fc5d9edd009d5 100644 GIT binary patch delta 992 zcmXYwT}V@57{}jp&ZgG3+;%2XN>0o^{0NU_*atK$GWDX}M4@yc1*z4A8guJ&`hPGQpzADjM~CuksXgjC}H$i1WB8Fd!DlmcAnq=|2+TqygPdj{X zGbP4mBKA@_VUJX{$ zf666}EK5ZjK*+pE*&4U3kjy~X2-Nt~^gccl)%g~n)!e}(%G{33% zH@uT#!4j{c&9WRt>*Y_C{Ll#sd-?_w_!QMtW;bSL8()T*pRp#bPUuicLqAMd!-~&K z#Q~3@Lmt_>3CmbLOFB46zc#@n{ZWTFo(A=i2|DSi7|g|m$lB=E;VU)nm@pydVCR7j zAIQKz?io&)FveSLC(;Z1umtu^B=u8~oITMbT!aR(yUZ9uaX=;E(z)wz|_&x^t) z^nykJyjE{7_t^J^)Mf2TG8U}HAO9rj^TvV|NaIQ0_gJu0eXpIxUO0f~&FX6>Nw%U? z`+Zvx4-qcss>s#LL7^<5=)rn)7 z`2B)>HO=3U=^Y~f4{~3cSCQ|fIe|Q!X2x5cMUsv8IE!5F490$^ec$M~b42^pF9n%~T53IH1W}}fFT2EOWaHRN8bl`yLe!nxIWxO3_x%3_CidN@J$}G#1ls@&f6pZyy*xx_0fp4+G&eUOMw)I_{g&1p7nz;r|H1x{=KMe>V zpG(Z#cursQ` z4>ItFo5TqNl4_Tuw&odm_|Qj~RyuGOePk5lR--d<+yRgF>d;{Y;_7=xeSQ=5i;}Pv zy{I06T&s6n^*i^+@Jk=y$_+CWtw(%m1`1NqT}YEAzKJfh!zc>5(vBF9;K4&VYAPp4 zcG`1R`dvNcdfvQ@ z>N1XH3>CjP8MVR8FnKNWY~v1mf?Wf;w}*i)GO{1PbvB<8NYI3$UQFn E2jI7zDF6Tf diff --git a/sys/vaxstand/boot b/sys/vaxstand/boot index 0ca0bb33abc88cb6ef67fdd60f1ed3615c2a3780..0325faa240cc848765a7f867f2585636ab3a0546 100755 GIT binary patch delta 17099 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 JeJ|3E{{w5pg`xle delta 16693 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 KPY-Xt{Qm%qQ;|df diff --git a/sys/vaxstand/boot.o b/sys/vaxstand/boot.o index 147e25bcae751e434d57ad80e0e62e17090ef7aa..779b2a1f16e41c6b739757841702b2ba7dede235 100644 GIT binary patch delta 727 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 Wnz|6^wX2sd@5qtM@4E{x^#1^^T5XpA diff --git a/sys/vaxstand/bootkra b/sys/vaxstand/bootkra index cded402c10c249df38594ac19ed550d32dcf48d0..f02ca44bbd53bc08ecda31ee59f207f3a1d7859e 100644 GIT binary patch delta 2707 zcmYjTeQXrR6`$Q(+k3wCeeC-185?68+8SsAM@dyux43c;R0?HjT4CQNu4zzIOax6^ zkX2ILCPCz*%|S*KikgJ9Nd>-Jr46*|A0>Pl6)-V#(VY{etj|%?@FB=J#NY#8y#39d zg>tfY-uun(y?Hb5&D$OL+Qo&tqJ3Yu43E_VOYg6{=%tOfs{yKxy-tMBT&F=H}N&~wmACbolnvmwp17fIK=vb4I`xgVo zrd`y1SyORRVJD?IDb-0S4u2X`dAxE zRK6K|gUD8Crb2=zwXRZJdA=9MlQKUNB*a0mzb>h()zYSNW^KeV9ey9og;x$5Sepb( z;;ZP}@@#209g!EPEhXpSg)j~ zd?zC3BiK!Oo?pNS@Q_CLC@qn{L$e&aIK3JEDjiZ5__qm;%v&`omo1Hi^L%;9Xd*xe z4xcVBYkFj0@ZlzVJd;-K@ml{$dpxb)v%>Wi;-g-xc7 z$6#TP8L#&aKG zhA00eLUmx9=gY8IyxAopb5&g|ty;OX0{RX@x0Tmz(pTjUeZzRjNh@&I2Y0B)@vL27 zmR-!-1##A*3e1GDEZ1XPZ|yHPGhpcdJ)tJH3oDt=f>qAcGpq+ioYwMu7zG;fd*UcW zQ0}kvPMN$^u}Zo?zgN*c=b78WsMZ&M%w=a0a2R1aXGOqsOD2!{X{KU!@G3NGRNfds zA-)@;Qx$P}MS#ZDy5NgnnAsYl3H4jj4!Td>8k$=Wu49^a5Ql?wmjC>QOh2&bP`(Y*gT=?L9WIXl#UYuZ$Vw6u!utu%jVA>GEzY~pnCavLED zGdp^%CQ5E7iBGb8nW!GSn6ZnBUX|yfm~dj3&;?3t+|ry!*YCRvpc)Qnv^8*V`x!qW z=7f1@F5^dq$YZK$a-x`r6vk5?QmsuRD&v3fkZ^b!(HP(9r*@!Kzk+3PQzX9crpO=9 z1?Xg8nOPY3HnYe(-<{y#rXUaCjo^+&bXLiq02=XogvTIeHw;P0VJB)!=2s?!vxMLjD?W2wVW*u`x}0yr+YoTkB=_4c-vlb-Kfx1KSZ0Ld z?-G`5e64~cZYDmDzekwN|BX}1dYzp#CLF~J{nib)Pn2k1YY*&_GV-IhXZZiBB%;Q8 z7{3U?WQjI@2|}-Kna7i4w7t<}{3L)i%=`|&4&h9a5Sg57tQh9~P$P@r%LiY^5ePxy zv?0U)h#5H+Wt>9roIV9%xQ{<01`D1WQAHUm9P`E3xg&fFVBUep2!CFP-^D{@7F*2m z2cV!q)Qb~29(rXcb__RIu~|=iLwQ|3v!X9Ub>l1?uy)FBtU7Yu6lKgT(9yy}Jcha^pL(W7&5u z9~C$J200-!|IhX9F))FO9w`P>FvTsHl8~ZVabC z2(Fm_JM41b3&_ov^sDjZ62kZ~NX9zkFe0?oLYoC`oSqKOk?QG{V6!xfYM}<{1G*s8 zC^_`O(7c+%pfSlV>^oY7ug2(`P6yU|nf^A^)Mp&&= zs<_o5Xpfe(fE&Lu1@&>Ejw3+UA@0HE(yTL8?Tf!I=C=SaPE~6Ve=fuw@wWurTjHgr z;(wl6M}ndPbG&gDN-HMbLT(gd#;Vl)P8GBYXv*T`qAi_HGomhj?z*F>jQ2Wqp0jjG z@z9TfqPgG=-;9JaX#1`0&K$@CbZ@w6;h%t@=G7cOP>*%AN#gE>z)UMr=QP6Yb0B4vO-pD^oikp+qT1aXv%eAXJ#yO=JmtJswJuEaeOactO0ZSS3M(2SU5`72k|dQ X$70L#&N$xNv7_b8VsX&|h z@3ieqOL07zXWPKEw9u)YG`Cs>tAkPlMXN;9J?9Sp44aJ(MQYW@Kp@eaxBb1n({X3+ zeShBf{l4#g@4fHci3LZmcs!hJ$ZSd|Gc!XHQK~aTa>~Z1_;W*k#bXRLCk$`gND&ey z-Hq(wFd^)D%-@y$S>~qHyl1OP?RkeKBnY;~j>E!8uv^k7M0?uL=fQ>~g^KsC?k-6PG7b7jl zjkLeZj9U7**#+ZYpj3v|ndyuwbs2p;(T=0uYk0tm3@C69d$P~79m!0 zL%}|-Pi24-cEwgYPMKEbg^PYh{S%FrRVV+~B#@CTF-9T{Bk%A+3oQS+ZD%wn6j$t4 zJ2!HIs9pmj+k}dkBL;TijUd2j!P!m}KaopIFy3DH^-GdEbvTmfT0GdS9ZT5(LbQyQ zBCUj|NXu`rXSioqAvbt6U#fqN#h&Auwt|_K5c^KV#_msK^(iBv=Pi8-%6a@CX>mko zEaWz-A1(fC8Bp~JW&E%le~3GZOon4lQ$~%AnnWu-D}{IIT2IfM$3ElgT32j?ZM=>p zlwoho*ZC6uj@;n)`!Z^I>MO@lt;D#vsT>FPwGj2oF>!}Xm&!9LfBvcv0s4t|yYLVCV_$vX zz=e`4PiaAb{@JJ9{0XjsdQmq1O6oMK71y%k+1fBUE5$#}vJB?3dOoA)C8fe*+i`++*M-3Q&ht%TBNf!^U#f|aP={uxz7N92V!g;0b`cSm zMlpQsc4$Lh$6zhk>>Z3QC!#>F09zfZAd z?ltZ@l=tDv0e&R{XAkAGXe&JEDD_m-C3(@*lEEWro@XUJKaL|}vAtLq@LNzdwAWSV zY+EA!BT~1y1Xw<3dDq#k+iU}GkgNwIPMKQ`#@-@ED!SK0;^*UE#NH-`$P&QHCV0;$ z(YPr&i4!2^lA4lSypf-I5s1pN3^M})ks})omIb33@m6Mm=~oikaEgpCi)sct2t~W0 zUB~_d<~4wdB-y+Ju4m8h;m5*X= z0^+X2Le*XvRdHz*mu5klq`N|MghqNOG+X!v9S_wBr>Gr@3Lny_^39qz^ie42+>ALNm-LV3II+-=m!~8z9_EpHb%}VUE`k4}(up(NH6m z=4F`k;t-FfrL;7rpHJ|I#%XsA0Dl}e9M9a2uau9v_#sY9=!3@x?tci*Zxn1Bep)7> zUG#}G9N04&dAayv4$0UP=JN}rUNUg6jG>6XBhw*6azScir^^Kr&w={s?#gc`XTtK> z1+qUyqQ@qPI@zB(lk(S9^TtwCw>s)c0n!-z9M0^&7{=HFII<7GnhBFP>LwhnoTi2> z_CAtFj+f+7N)KWRZEOjQUrGHDe*rpiJ$}dWUrANLqoO z@tl|bFgUY(zZ-@w_AH(yIuL9XSNrID!G+12xEe1S)V!M+cyl%B;lNjaVut)$zk5h- zFD|lu1kGUBZtd+HW4B<(J3>vF+dGvxlk%}&k;ADcu-Ld}XkFP(qwRTVP#O+)9mlrH z^=G7Exg&SGk}*5YA-uXD!x`B;=fQJ$0KWSdRS81F2K-|^S__cUH&7iW7t}D>8VZvh zF--2-e@oaFlFhNpuV}gQTUTAZuy@^Ued{-TY3^TAymNiu9lg=5Ke=apw7LJ{ei&`pcF#R`-@A2vpO5?> DKVQa` diff --git a/sys/vaxstand/bootra b/sys/vaxstand/bootra index 3c19cd24e00129feb46dfc3dbf76a761cdbeaa2a..75f147630cc1955b4ae3a3dde0a62d44db9d711f 100644 GIT binary patch delta 2939 zcmY*bdvH|M89(>#O|qNp^X_i4c|aaeO~DaXLy-y+br6OYIROgEF3}_5cQ1$u_sYbCXiZOz!!9 z-{W__bIy0Zv%7zKe!`Yu+uh04QMD!+SBP4XjN4--{!}#`cd9Pk5xE*)=2aqke0)@o z5fUVeYx#*1LiqdeT9bM?IX70(S4>K8SRx@_h$ZH3c<52SR}2xp1Hp?m})uI zmZFLg_Zo4h5w{z0#o!BI%J7x=4&?J&UZzVmZRZ4%_-QYqv>a73{2^$3S2BF27{AK! zCNZAR@TFo*W%w#Fp3Lyyim@}p*NgFQ#I7flsFgt`NQg3w6HX&xht_6xTUr<}k)5x_ z+92w)oKzw1qt3-cd1d%&unow(9{CtZcHR)2Z68`xnwI(uYVZjN7p&Y3x(t6rcu9N~ z`&h1&wz3|1tUZV6pt{9;wo(2)nCcAmzhG!z8N_HpTrHb!n=19O*KBq6`9rQV*fHA? z-_8J5lb_+cFd}|}o4upd`ZfVY4J|jk82&ChrHpmV7CtgR?qYJ@B%e3KONWA9b`gTj zXVdbk7jNu+PC+s)0?4`7pRaKB>_*uWjQHK!U{$pC!M)mp=uM_R6 zy3n#8h27VqYgwvmSL=E07ZPc80qv;g6)mhYZ){tU<;R5ImNQy5367vGJlhm8$$GB$ zN?`NvZtePcwRV*ri3ezxew*WiW{GsAh~5>d?m8#7RN^;pnP!qgq1wXDX1eP<@jG;U z`EyvEf!GZ9W3q6KNyN#y7V8OnG@Vf3zLBu!^UK$$v(kGX@Xs|83h3HEhkEQ!X<0q0 zf5U?K1g&!7S-Cd%U1|)GObMpi*0Sxv77KguO`9_)H|6^;sdjkR=N$-IqWR?Uh#- zp%DL}vcZC|{7)wf+soZ={lN09$|CkD(ni*9f7UZPE2u+GYarZa7q=G|9{USV(^{4t47000I_3VqYDgq`0pA7#J%L4zac^C+v{;g?>IOkDivGEYtBG8K-xlJ?q8ce4175LKA zRJIpLDpAQ){HtUV?S%)jw_MulI_RuPw{{;fo zBlY|v2(4e8$mB#-!5O|D&^JCwV>TSH{~!c61a)MR zuYpAl1$F)e1dDVYgfo1;_(nlog~~}ry&+p$xW(+@)1l{M@af?Tg;^}orujnYZE6f zKp5x*(05gQw)b*nn(u`pdeHtsvFjb49j8Kv(Iu3q9#f85%lbcQ7=z{NIrKnq61v zgKp3qiOs_T8hJisBWj4o^e|2*P5o&0d4*QtKO>_T7Mpj(zu+&CuT-)>_^X%YE))~m znumpTG|=>8&3;>W2e~<)CvnW6bbzu0bAZy3;X54QT5q=IEkNPi5!ouw7X&)4mqeQX zx7bv79~Ruh$^#W8=*9%qgSsMqMbD#3Z7d-1%k1$$NuHwT<2iaUFj;=j#Xb&l*E<~v9YznF7YX_58vQkc>Lf(Cq)1r4zP3g zj4_+BIqh#YCL4dGUJ6f>kj@f>`dd&7K7nQnGyOuYMjFBPct%Q}vrj!$ zlEL~sKQ1`{H(k=Q?T2#UstWEm8j;0zR_m>9^Y664Z{Xs)2+BqXczN7rI3KT8Y}pW0 z%zy`I=@2S1!xskupAxVi3F?h_aAIqRtj1u#7TzuF>!9!-3pgSET8JCN9|(2pkY9W- zylb$9xJ4nS`HO`T@rT5NX|98qj25a6!v*vtkaAya{JJKi23hC+W177MR5{zE@^n;{ z6ia&nS~Nmjo*EQ@4zw-0!59U(lilyD9`_zJxI6YV&pI%VbAXr}f=;8pa-#~go8a(8 z0sYpf23XHt_T9tY_XTDap$nc$C<&!UyAc&XR)!u^)Wnv0eiyplo41v(ytClIt0l!!^;7uyd%g^NHvHEY3X(A@eq(upWSJZ!&m1@ux?7f4^t0bp i)Ui)1CX|x#;rs5doA8r~4@_!VvUJ%K%SB`d{{IW_E1DAk delta 3631 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 delta 2205 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 delta 3314 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 diff --git a/sys/vaxstand/copy b/sys/vaxstand/copy index 287d2128083c0b7985724ef13b1f1dac038b77d9..f42aaf7a083e6d9024f48e525ebdf6031ce9fd20 100755 GIT binary patch delta 19844 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 delta 18811 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 S`_kK=21qpapEXU7ME)O^$1P3( diff --git a/sys/vaxstand/copy.o b/sys/vaxstand/copy.o index c726f7bceab575da0cfef557d2dbe5eb6512a246..25cbb0beef3a3508a53fa9dd70037b9f2d922811 100644 GIT binary patch delta 262 zcmcc4dYP4#osogz&O}x<;j;`348NJ)zxx0G|Am0)yNvhWADC#T>LMC z;O=`rsP=N8wBU@3;Smy|cf;>SfOND$bm#z82)15}Gz|Jb@&Ct251=Ru0|RdWkY;0G rU=0V-tU!J|l%EFW*F*UrQ$X^IA$;C-KpLcf8&v)zl)f<8lc^5?Mhjh5 delta 291 zcmcc2dYzS(osogz!9-Ry;fo9m48NJ)zxx0G|Am0)yNvhWADL*US}%DuLPGWK`%OUM zyOH66lY;z;0*%OYzz#nkwBUi$WMgwGobuNC?8}FNPa1V&$|IggY@r! O%AbbPmnOS1^#K4xPilGq diff --git a/sys/vaxstand/dkbad.o b/sys/vaxstand/dkbad.o index 8c28943c73814a8b389b5c3b53d1fc8181279ca7..7e8dc61dd80db74747a82346557d23c840f599f9 100644 GIT binary patch delta 30 kcmZ3^xSVl9jtI}y2uY4l{dEis3{eNqF$S;z850}S0h-SVFaQ7m delta 30 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 Odsi%8y}Pu$)ck)@QLdE$ diff --git a/sys/vaxstand/drtest.o b/sys/vaxstand/drtest.o index 099e12a49ffd8026c61bdc085d22e62db14bda1a..325e85565676bda9c09d6a2f6b0e25586e3d2996 100644 GIT binary patch delta 353 zcmdnMxq)-T5++8b$xE5!>sc5Wc>Nd{7+8UH0+40{GSh)H6OdmC74HDjKy|E>q4Kk! z@(ZB+Ak7ZccN0i+0O?miniEKW0@5IJe*$TcxonIK3|v53j*&qMETIY%07)1C zX&xYL4WxM|$1=Ou0~uf-1|)$_U=RWdC;(}gxF!cQ1gWtA`u*hcp#f;vMGz=1|L%shWOOH G6b1m(lO7xZ delta 352 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 z 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 Fe*o?Iv=IOR delta 3548 zcmZXX4Qx}_702(hpOY67Cw4+eJVMe^Ge{sK$ryzaK3gqW%f<^(6k?Wrh?Ne;SQQOL zTV`)GKr7UG;gziehK9DbXt7b%uxizc2m~^^VroMiKGcWlG6}k+IxWdc2*Gdv<9A`w zX2th+zVCVWUSB&SD`-VkwjzW-Ux>I%h)yBIS|OKIqeR4GGUmzrkwBOlgJ(w3Eq4W}VKGYJ+!kLL=J)Qg<8Gp!VzHC8EY z-eC=M>9Lz>Gj^FHKQt~XkCd$D3J$731vB;`d^gije`vTJXO$g2gAR{U9n8y2GIzqV zyw3Rgb>_Mh{fKQ2nhG0FY_2zB@$_9M9W#p5Z)*j1#zEt!>WZ9}ByG5BSw*Xjezh{> zEzQI?k{>pi)Q2Y@Y)&+j2R2`7kTft!g%}I9B;|uekC}oKQ#3q|JR0Ybr*zRGhY+S> zJ3q)cul(0p4rh|i!oZbIkB3mIAw^YK9xTCO*aw=;MtYSq8fjsU5Gk6%PA7H3b}Os- zqm%S9B-)7~m?DLp4%!5*Pl-Kb=?Mxz)(cDSt1DTp2qfuo2t{j>^b}a=tj$(Z*$nNhF%#E&truoHecF6?p2x!hzTqAOVk9Q%}*?xrmFF!r!Z+ zi_8Wrhvs`*Iu)AE$)YZtyD=zhcc5Cbh6naD}bPnh$PeC)G`)(wu0xZhfAD+;?>Z{=( zHqQ-*IQK;(_JI z9IQu2&F(p-j)?Es`WWlcQ5e?BfFwN$36K9voT4=lqn{?|DbPMXIVlPmqd7|o7WOIK zbM!=XR7Y$yZ7iAO51sorHgQKfK_?(Qh@XrrsP;g*-9blS)^A5AuH*6$?OJq9??pZw zVK|y@>mT71i9z}Wmsyk+;*{E&q~}#33O(P-pC>j>U&o+g2!FG-QfV(Z=ondyX^;?2{VL!eh0(!ru zpHy^w@JsB50toHZ0?93fm+puBRl_k$k;|?%51WKzHik2%P&J}2>FD1-f}1j_`?3;< z^{H`uAO^?-Z(N}qpxsFhKu=ufX~Py?h4bM1iLa!;# zj@M8xWYcNp^5&f86qS1LJ%p&&Z&@x2A6{W}xF2c=BCcqDoVJ5#uBm=G%|_Qv?VhHl z`ejrBS%0qyjn+pe@Z@{Bl!F=(?OljQmvUNf*l!HE>!+`_oui*|pMSUeyaDAJC81zO zVJywxS-hc0h)sC6;oX7vZoKyzSMs;`_Cwk_ymh!6d=0O6L4N!TJ>M)S$_`ydg)$-B zLm&#ehQX=ON5Nun9K?#b9dI%|pc{Wvr2a4`;jbD4zAM~cmi8sm{)E(5O0EU5k*)w( zAwAa63r1?GZWU_J&e@GLkRYy-Ja5S#-Z1yREFHpt>}3>^PH z$aVNmVEa{R9|rv)IBrAu3Rs0(YznwfQs55biM*g6^n*N6hqS*W?Z1=uKY_euXF%T4 zB*Muz96=}Z?@~7jL zwBM0-fnU5|fIUuJQa`S&mID#B0I*sbG1IiKOy|TGVuW_fWM;SMw(@GW(;*>m$F9ZB#Ub7&e zRndt}s+01wScWB1-i!FJO1afg%GW4=G@dR$;mbnI5bO?F=O$#H*Kbr;%q~Q4ViYUm VfZLAf*<9gpWX~5X>lW0B{{T2P#KZsq diff --git a/sys/vaxstand/hp.o b/sys/vaxstand/hp.o index 1253de2f7150ac7f4e3c468d83161f82b970caec..508dd407122a8036ae4f40a2f497d80e3c039373 100644 GIT binary patch delta 936 zcmYk3T}V_x6vt|wiLSV0fwXH+P3rOgbQZh}OCG*W7dM$?(SgLRq9@BIIB&bepiu9f{L({xHm z;Un!CrB{YWX-7Ie1r^%%qOgaM4V}MU7sBQvD41#4{7foH*t{9qwS4*%V%qMk$uvUV zMS`6RJ~NTUqBg$;%cZ^Y~iC=G>jiH-8CH?cNy6m?%GCJ#@8Laevf`yCPPdxQ<)R zG9K?EE<)rN!{avnMyXCd9ylwDZjT&CIVh@0RV{d;#i=Jo*x%MlJ1y0i%*O z!z-hR*1$KTit3Q>E!z5JRfsure!^pZoHgh9dua4V8ZV>C25Xp^#B1nAVMWZ9P2;3v zEV03I7Quw$j$W49TtcH>C5-V}SoH3sxnTHq9a>)bug@Z;*^aT<=Z&NP^?9xmEdCfH zysQ^I4qd)t8iSj@QrZerzFzuvxXHh+^)%qm#8YcWkU>HMZAg3q=M(|Cg%E!n=|g@% z25`9yhase_FF?xr3Z?fc-LCXmrSBnS{glI=z;~6fsuD81PQz@ZY*>Pn1*etYrTk0C zZ1nq)Imr7;KT&!VDeDqQKdwb&0ct;LTq%1tD*nyNM>_p0e rZXvTbDy9jb+gASq_zq08 delta 940 zcmYk3T}V_x6vt;=@9y6HDBWFjHPYQo%CvN&hlC=j@IiZ6Bm)(F>M6p+kT9r?B9>m1 zIH5k&OMymq$?!=b{0xf?y3!UaHC>AWAA}L{E4R3v**jRvU4G~PpYuO=X6|bFM!Djk zgoIuyW0dxcPSAE6y#hy+qEOgLNZP^QZkwjTr%*6WH+Wa3NE*BqE-Qs}9OBAB-&__U zAEW-RZ*DE=W6cJC3{y%G?T1C>ENy^N`=#(E<{}F;(K`_{O)VLnkM@#Vg!l>=VJ+z_ zJ_jTAc&iP^s*VgoW$iBk1BzP*^+36u6T%v8?d>xU8$MwhTTC zeU2U)gi>c!z0VfemuA{KmPitoNa0^624AsfBF{EWGh$1V$=%ZxZTj=<7Jb;$tPf{L z^%}DW*P28<)l0GosWETBLuV^3hHdAe;M#_14h&`8WZG}0Eg8I9%(HU_C)5Hu0~gej z^e#M5D`_Llsv&v|eyUZ}26?Vf&i8fG{G_F(o!XaqEyX`Ttt(o08%;KNoM~Hl6I(9(_Mr=h;?b_4q;Y)Jg-=Pl&f2i9c^lvLCsN z5YG#w8_AGfe4MJqAX4Ouks^Oo>T0Pwq`oHg5K`pdSd4jBWy3Go;CERA3z1@A8BzqU zO8>g_ zbHEa;3=0^{nGp`s2RjJaaSjY3KtsL2hPnXR0YG-o=C#b?jP)RQ@i8zkumds32ni?~ zL48{`iiC>!K!L&R4BU!$S#Dkdw}dZU=)EZo&)5x MLnRJO4rM(J0EEF&f&c&j delta 479 zcmbQkvw(+{osogz!$ekNi54aXhJcF!QNq&KBDQ+GF9mXiUfh2lJ2Bvy@)3yK+8;tn zM|q+Gj2;|=3Vaa~gb19P9LXpn=?xVA&GLT1zyJR)@I+nU%mzu$b9f&-xsS1o=UT+Y z2oA}07Z?Lr7$);D-Kl2)Dpz0-W=LQ%XBGgm#enQZjQY$UfNqj!;A7atsL!MT7oW`t z5;p?sa9}HAG60G*LZJg1TY*7?fq~VVxdAAyz`(`ez-Z1K0A>p?FfcK&Bmmh43?fbp z2bjH>3&0Yr3=0^{nSqi(4Il^UgB^tII0pt1prKx1LtTLE03dt9=9SFijP)RQ@i8zk zumds32ni?~L4TLH+{fwDnvH-oYrfNVP`8{|fBC_4ejj)Jm5PE3We8-VOWD0>2s VT?dRNu*D02oOY`&=*+7yB#NwH}jHOFFKBJ_tG&8k? TAwD-LvA86$sD#1C+?)Xb73vS` delta 73 zcmX@kb)0KM1T&+^=169JMmZ)1AmCwO=mAnJKzxOffnh3;22wyUc^ONWxR1FxLwrU_ UVQFS+2}68tQetsQVo?bL0Q{s6;Q#;t diff --git a/sys/vaxstand/idc.o b/sys/vaxstand/idc.o index 69d3e46c5b596a206a79fbc68e19bc85227f6194..524a1fff6b698491d304204362c5cd6668e8bde3 100644 GIT binary patch delta 263 zcmaFM`<8b?0pqKQg|fnDm>3u;I9Brnoa6||x*PSI@%^ri3wJRx{b!gQ%ap`Bn}LDh zaz8@@14EXu-{dn)`g%g%_umIIGB5yDiv9in|L)osccXtZz2^e5&oKtDTwVJ_nD_pB zPl$>ylXaLCM7jRKRGs|u|Nn*4Hy8p~7$zq$D{XFIPGMven*5Z-Soc2AA#4l`tj~Zn zKLZ2rCm<~hq#2nZ;v7I4ByJ3(g(thRZf3Nb{F7B%4rmb=%mI=x_EI1lsGWg1~%$xxL1e8;E delta 265 zcmaFM`<8b?0ppvAg|foum>3u;I9Brnoa6||x*PSI@%^5S3wJRxF)~h$WlG|m%fP^J zxu2ndfgwvcaPk=@eM4bp!_a^C-v=-DMsHJKGe*#E&)9sBeD|Ao^x7y?)($1y8yZemViWE7tKl*L&05zr}Y3=FI< zfiyn@1MgQLEdr!jm?7faKpG@&2BbwMyRvR(beQ~;Ra*|IjDdlNfngeu0@?`%3xFhq eJ=uwEinx!NIYWGDQetsxNofI?l~$CR$^ZZr8dJ6a diff --git a/sys/vaxstand/kdb.c b/sys/vaxstand/kdb.c index 9412b387..f706242b 100644 --- a/sys/vaxstand/kdb.c +++ b/sys/vaxstand/kdb.c @@ -14,7 +14,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)kdb.c 7.5 (Berkeley) 9/4/99 + * @(#)kdb.c 7.7 (Berkeley) 11/24/03 */ /* @@ -188,6 +188,7 @@ u_long kra60_off[] = { 0, 15884, 0, 49324, 131404, 49324, 242606, 49324 }; u_long kra70_off[] = { 0, 15972, 0, 341220, 357192, 413457, 341220, 49731 }; u_long kra71_off[] = { 0, 16422, 0, 375564, 391986, 699720, 375564, 83538 }; u_long kra72_off[] = { 0, 16320, 0, 375360, 391680, 699720, 375360, 83640 }; +u_long kra73_off[] = { 0, 33810, 0, 458640, 590940, 2229990, 458640, 166110 }; u_long kra80_off[] = { 0, 15884, 0, -1, 49324, 49324, 49910, 131404 }; #ifndef UCBRA #ifdef RA_COMPAT @@ -210,6 +211,7 @@ struct mediamap { { MSCP_MKDRIVE2('R', 'A', 70), kra70_off }, { MSCP_MKDRIVE2('R', 'A', 71), kra71_off }, { MSCP_MKDRIVE2('R', 'A', 72), kra72_off }, + { MSCP_MKDRIVE2('R', 'A', 73), kra73_off }, { MSCP_MKDRIVE2('R', 'A', 80), kra80_off }, { MSCP_MKDRIVE2('R', 'A', 81), kra81_off }, { MSCP_MKDRIVE2('R', 'A', 82), kra82_off }, diff --git a/sys/vaxstand/kdb.o b/sys/vaxstand/kdb.o index 31df7f602bd39733d2b0635f8a2be294987d6da9..f2311e2bb4277b6db7ba6c1011ea96f7ae61cb5f 100644 GIT binary patch delta 244 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 TcMEx0{zon3PR8_jK8w0X*TN4 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 diff --git a/sys/vaxstand/ls b/sys/vaxstand/ls index 686f956eaa2f96d5ab6afe36167bdff21e357f17..65ff189094b40dca27f6c5f842c7b6b2504f69f9 100755 GIT binary patch delta 19290 zcma)k34ByV_HNzV+f4{bIvpUaSqS@<4m$)55D^981{Ja(1Z3Yqz>H!#AR+?VXdyyG z35v2LSCQc8Q_!#~i%bWTh)9#*prWFMOq9$J==YtvO#<`Y|Mwow?fTAA`>9i>>fTI# zt(sq}j&&%E?ODK>wG(4u1FS4Hn%(tJQO?Ci`NW^!+1Ui2coUj>d48Ebq4~dk+2S>j zzAUj0$vNh{!Nfcl7>bB^dF*gCdGpJK�fy=dnujCdpBZ9kv*?`VsHtRFv^%s(5D; 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 delta 18665 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 Wy5U&6lHZT{OVsvhRb$9pX81qKFbP2b diff --git a/sys/vaxstand/ls.o b/sys/vaxstand/ls.o index 192fe337a22783812407566f22e892622291be8d..d2ff014e08c1708f9ea5759fb2706f009d7c8fe5 100644 GIT binary patch delta 79 zcmaFD_JnPN2NNd;0|W0a1_lPs$$?DsDZ7~2lWW&#QFP3B{E5Q|SwEh%P* U&o4;LWAHIGVTdnEO-x|`0QpJ{r~m)} delta 79 zcmaFD_JnPN2NNeJ0|W0a1_lPM$$?Ds<(Pmh20jJ`Ga$tXVgrE<5JT9L`IsHVd`wLk W;?q-0iW%bb3sUnK;)_xfQy2j9d<~`m diff --git a/sys/vaxstand/prf.o b/sys/vaxstand/prf.o index 1c54ed5d7d8eb494522ca730e08fc65f8ec926bf..91c29a866b86d818a7ade6894d0c81d78a5c6836 100644 GIT binary patch delta 527 zcmXYtPbdUY9LL|AnYD|>?#zlpEIA-CTqxn--_5uUbC5qrrLg5>4|0;&=0Hj*Zb;#{ zT)5jkY)-E@`creTMV5KKZ)fV&=ll7-_j|qGSLi(y2vR~0Qh~Ad9TB$8tl6r*>7z7j z?9LNHw7F_oj|!U<)&R?=5@WO>l^&uj_1ji+jXpy!z7KAHG2B#r$;<+Ej_d&%Pin_S zS;LX&EAB86R9Ua&dI^UvdaCeP6>Pz?a<0F+&?TXHyeMND&}DCzxiMKk75fPk+I=jH zxGLh7ekJO4@7$TIpSW|RGIOq2Ij7I%T&rbPf$~notW~C#vI()&^@qezwP@c-I{og^*Crxk1vx1;WpYBUZGI zHHpuFy#$R<7KiNF`%;JfAPpx+@Z$lj2QWxT#iLK=^8*Z_mn4r7uoPbJvmF%ky*>y1 iegX{R+?3B*P~5ZRa}UIvy(#z8w0$d&(-AwMto#FxX0p=& delta 540 zcmXYtF=!J}9LE3e?qaSsQF=+Rv;>j{D=M^}bSbp7QLM)&N>s2kTbCjs z++fI-QYeZ=1P2GRm5wDD(xPyn4hiURg-WBO-t&98gM;7y_r3SM_qbnbPYs0`(QYM_ zz4aPHb=z#2*R`K|p0$kfDiOt260#l_wk#|O>s5+bcBArnfpsevH?K92H`)H5YU2Xs zRN}p3_L;k9&#`n#ll3GY_)F{>>EIX>1L9$>%N+X9SH|O4VGn#$x!&=h>q39yQBBi; zKK56?dU08=i}j)(9C(BBQ{OhY{zfdmAX*bQ?Ra|4Bf8Rjr&w)w%HupX>R5foGZY>`&5SDTm)5!gmCQiK1Tu zb_1S+D)I;lf@9ziI2mvT6#e;t`5?asMzGHc_y`pJX8~&y9l&KOW7$L)u4PAo)sZ9kEh=GN)zCyKPV4d58dxnwAhjy|OZ6Mq*SI-Bnr5d$V!RRcwN|8KQz0|FxLJiE4pN1s%H4Kq4 zJ<)F%!E8l(C(;#!r)e-*q4|cXb8_xb(gjEg6&s|)vnVGR9r`J_>Clg%3>po(3O8CR zXKJVZA>8G9JN3Q5V1S0T)d~wF*P9YYIf@Te84X%WuLkR9kCx&?E~80Hg`JG~+nuZ9 z`ceo~#Puft@o1m@YhARI%pspBN9nKc%w#(%p!C|&0T^i)Z%1{M*>?;d^^THcKmHKKBSCZA!9MsA+ImT z7Fmk4&6$&C#vE2_kO+&&d|E=LOn&18mvyQpcI{o z)M)81&2&ZDZ^V};Hv#b?1}3+@*`RG;siLf)3u!k3ieQeIwkF~jEn?qoTyaEs}H0zegrSA;$}u> zA75l-oHR4q+|Wmvy{(jtls*5`NlivZHK^FoQIutb7t4*pNKaOK7VPXgIV!AocoOnN z|3+?KOS69|FXloy!JkkFg#G85LAsQF2mV{+9&nV{O8z%MeDGvA=+K%;Tts}) zq{v)vlChasPrOFFMeHZ~aQN^UL!3b@C%!?%?*+`OCDs9PKzoQXQUs%y5=O#dj1BH5 z9woLA+lkkR-9$XZvE2YsfG=v)u{KV9MNqsa72FsagF+ke3qs60dXK75TnFa;&oy-F-dd?R=a%SB;ris z{K1=*WV}Y)0mOma0pb9AfjGb_zopm7henL$YUIyGED&CY`U%4xh5@o0^054uM~{If x2gre6xa=_9$K-AK6GvZ%#IL}C^UVCig9_V5<#YMZ30v@q5JD%?GJa$Q_Yb*60Ym@* delta 3053 zcmY+Gdr(w$6vuyeFZ&3&%Ns+T1SQkbk!5sJV@7;pnYBuz35`)=&S?3_N1DZ&Vkt&H z@PdQOR8wK;TyJi=G&V)E657-_wv6B(DPcy9J;pmK<|Zt+bM8IfWpQUe_xnBP{O-^5 zd%!>Wk$k&TV63Xn{*&vJgRy?5jjp@=w9q0?6uN|&vduQz*E@`{?kRp=U)f#OFKS&N z{d};pk(ZlBJH~UZc#9F&WASE;L&-riy#Zt)*Y!$2-)lO%F+nKc&4Q^n83hIWn4w3D z+Db5j%2Pqb8&p;VmGUOOQ%UP~!E|g|zkJm;&n66$Cx}hLZ263s>wAUmU<;TV{_SIp ztV?@%K-bem&puY54ti^gv@FnSv`&rY+%I}QWbnW%GybjSSJbGdmSnSsvvV*@#x$*8 z*V9w{ysEN09bOoOetG8ThE7erPDyQ$quvDOZcA7Z))s z+UGq~q^-USt+^RWHjTz2Z7CSuZ7#3(h}ZNRc@e(MrVTh@81<&&zNkhz)JT5zHy71` z4s{?oTY-Lrwee87yntU5%Tkl?9CICYbd{w|JTG``d%7!qyhwEGv%rPfP+cz}wwQM*QfR;FD8rHcyN%?}LMgFS~ahdgaHQ zql6vuv(7Oynjse8oem`fRuhkFvUzHuv8W!2>Usi8YRiFD-WV~q#5zD}SX(a#oi7Nj za+WJMxyjC8c$Q;!vqqlps`QnDho^M6Ii-atZB~y8QNr?4bP~!0EBb(uY()be2Wnu zviKEbETqjPY9&~a$m`}r<2o=5ThrpyE>2NLsKf51b(p#3aQ zPb^MeA`Wf%T$v}%^Q|%y9=)yWIR3k4{S?SVS!2ovLB{Wu^q51}rvOg;(ba4?NbKnL zpdRn%wdSBn8r%OI1k3#rm@5@mYxOY9n+Zw4%`Mo#gQr%Dh{>pilp{Q=Hcck4>6YgXO|jD zlX|r0;QtC;P3Y70u$Bhj>NR3-SaX1u*C&mV=OnEy84K5RY>#Jx3c!w6#>YG%F5?y) zpa3rym2t6*9`ItSLl&fTPivfa+^7mUhE_GjWz=BRqU~|sT2R5EC8crUCqcnv6O@+& ze5a_ayEDFZz_`7W+LGX0ZMBK zh~>mJ#8-(vU>1z?9xwy=5&2&Mq4iRT*a3t~%l^BmeNqG-@WqMv1)mYb3B+l{V&XF5 zc47l?1iau=Vu<`JKzy+Wt~s=36Q3czWYEX#Tgli%tS4R~-Xhv@+VIIB<`HKRD~MZ& zZxHc{$2tzg2^}Q9kAz?Ol1>S^a1~?XWa8(*Z@dB}zc#AkPkuhx67$AJ4HSmSwZzFyS#P}H?e5B4q2K@)) zH%hoobi$u)=w}lr5T_A~iA#yAh?|M{cOll-6Au%=Bz{l4F%0^TGm3zLGa3Zq8aa|o zx`~H?IN)c*uZcepyNQ1jb)qDhb-BdJ#5u&p)9B$v;szoI;zaHOae{)|oZu!P>euC( z%#lKsd^EFI+5r2<3uhQ6$bONdna^kEK}tP2Nl@_tJ%{8iS!1&=L*jSfz%6F{gy9=& WPsm?nl}LN>jSxa-@5$8RWy1fm&-}3f diff --git a/sys/vaxstand/qvcons.o b/sys/vaxstand/qvcons.o index b1f2f03fa960cd7576db7ff1a96383e12139afb6..0f93ee5a0e87ee21ce1ebedad6acfc9dd68c9f6b 100644 GIT binary patch delta 1323 zcmYk6e~4676vywId2eQR+-djis5@gajce2j{g`=ZLK-eqE=18?{}4jdz%~gLf(+Mx zW)zdQ2*>3~Y>Kph^hd?&o{H z=iGDOz3(#D1}_a-aYKlMQ`QTcM=c@jSe>?jwaUvv2wD#*&sAnLhGD%ZFO}g$I)7-NVtH<^6El zQF;;ZXg5YxcNXfBL{iF$xRi^u6{b{Ioyw7TsiCg6Bb0&TP)_@`oGdlyamd9S<$)5K z{nHM^M$VxClt1OrBc^LhH`NVfufa93qx1c{JTmUP+s(D*ed4fqzVlw*7iWY|XHkQV zeIz{9l+z>h0b&(gR6#y#W2}@ge|emQr2-Wcr$k+vzf{5y_hK(9(`F-WM;bOx{X-O< zuDn-*EJGF#ghXgEz72o=~*_>_biNchxhVU<39 zxFrNgr#QUP3IE1T{2l66Tm{kMZhbRlXV>N~r&4%V1wJ)&lSe)BTZ1^AS#xG+V3{tv zf}|Yy!=nZFq*bscaFZuzYt~((yd@$8BI~6tQ`?w3m~SxOW==4Vb!nXd(?aylvHv}D zk@+k0GV?m~&o0XrvC(42qTL5dcbQtp+`!z*+{XNhIS*!pNG))DiFpU?h5r}F_nAS5 zWsx#*hI(Qzh?7XIWDc?aG{<|u81nCctH84ySG##@o>^o6GV?m~HuEmCsks@AT5LqH zx?Z3Ud>G7udZA(V^q+Q!tf!%$VLju1)3eVQ dcGn~~8PB>qlY^YiJx*6vxl(%yc)~tjX?Hvl~NV)mYRW8UJ_p=Gi6A_O9o|ZP>KNN>9}EN_G#E&6oa(V|7}k zbhECTYiw_h8bd9MA4S)Tx|zLlg6C0Dw7oa!IDZ7`9VDOMGf#b`e0~>V?1CCAOw94C z(AgL3d<4vQHP)fcY=X!+)1y}w%a{e}75yhho(@kY`b!FBKHrBs`fLMCpW@o%d{;ZM z(Im_exBZve-y%MNETHIYswwBQavb9*?Lu+hY2>qsMiyIi0EMrYUk)J6Gv0Ht)D5G~+ijwfd2GE2 z$Kx9JK~y=5JNFuIYkY`%Aas-7W|Hddi^8bE9fOJN}dON&|!+R0xhop{d z?;&%T6()|&^UIr_*HN8KU4A`Q;q&krx6hgl_q&_iDV+4_WApB1tF#3hj>x^g!_2tw z5#i&)7leWEK!@%@Fi+HdQv3zsr@}9VUkiT}nuCUMOYR?Hkli*i-5t6`i8l&23%3i$ zg>%Arut1bKE%CDO3fK+5DRE1fz&g29qD&gXJeX@6lo=3i5dRK|9|KpRZZFsm9+7yq zlXn+{=f(d{__OdAVN>{*;RqVpSO?R1wXgtQkN6hQ4CIM#UTOGc9uz(u?(Dk3n?%%$ zLzl!g1w9~o8v0hz??B%v`e>-T_E^JVF}?YwE$}~vkC$fqvw%A+dLL_aPIT_r-t-RZ EU%Hd)V*mgE diff --git a/sys/vaxstand/relsrt0.o b/sys/vaxstand/relsrt0.o index b85310a9585adad979fc7416073c677ea954bbc7..8c5ed1ee01b82ea77884a9fdfd0c8098d10df7fd 100644 GIT binary patch delta 450 zcmXYtF-yZx6ot==iBV{v21+Rv5gl~0S^NW1MbM!lE{VA4AgFaw2N7Cu5En~`f+7gc zLBapv;G~Hth#>xe4o?s#!FXQ#LQcMu^X|RLd!c=1TebkIq2)Ek(v83!Nn;c4U>f(e zGG4Cx8s}Um>G!|lwY=#ku@@vQpn#Qe`3FGWv8w)Zm@YB}NX^Yt#qa=_Y3ch?M z-ZAhCdBCPb$X$YOb)qQ4+ma}U4?{gqaw2S3#C=p2(~V8`0PU;;K4z$1z?vg1-b>wu z+`7)UNt^keW|K4l=ZIvVb3z*AX*aiSG#^RMbJU(#PupSiDJI2vR4^(|jpsDQl+!UE zEf}MXD%~>0xtQhZD#>2dDD^+e2hi;WSs!XYOn;%h LM}G}O-^SHHl3!u+ delta 417 zcmXYtKS;ws6vn>`J)@8e1{8!?5eFTFR>4(*v>+llb!o&wp(rXibkd>fq>JSY9b5`d z4jCNX9UU|QUAj0pI@~DeP`_*M;N91eyp z5qKY|7r0qkj~2N7R9uB zElS``FDqRV&&iCawi;{zzWW1kiWnn+tdgviTO^0K%gOi$q)VPyo{|N?zZkCjSER%I zX6VZY%NLUS`M)+NOkeUPR>W;G<&^wQK530EcgK2CbLLvBRND-miwalwNcLcZv2S&a pJZ6}hh&4^?H%NQ8fp^ZF=cB{8w%UB6vO1)`vwD&Go_G6ky8ryvPDTI# diff --git a/sys/vaxstand/rl.o b/sys/vaxstand/rl.o index 013c162e6bf7d76ce463f9fada5046e86f3619ce..169315d38a4b6fa0e244f3bd314fb82cb608cd14 100644 GIT binary patch delta 483 zcmYk2KS%;$7{=ev^Uhn$^a8n{aBP!Yis+9K)zA$$NNEmHU_(=wLXf3Ib8=m6HApyQ z*>W@%Hng;Kf-Qv@6hTV|5iM3<@98&m%kO#K=X-e{uHZTH@Gb&iYWx%_XiA7AwQN8c z;Q)q9f_j^;1OU{k+9NqX#AwaPLwLotdxBDOX<9MDymyy>%ajJtCM=X>9C4MhFlZ!tdDZzq@d@xKC-T#aJ^FOo6`I8 zljLq#UaW^#ri}+~mSl?nAOP@Z$W8$F74tXDKO&u&zam{o0k>`TGmas#oqLA)Ii!UC z4qMrK?~I>F`_2!e50}sn@iGega1d!PMA`u#XY(Co7v{%|=PbX_-}nvLM5nZ?K@D|; z=@)%d2$G6k7W|=Zth9@BybRC*u!q1=>pT3X?O)M)BkEtmzJDRTw78Z?rB}gL%gICn Il)(`E0fD3BTsoC2fkJ^ku~@B2N^`@A3TTe6q!tc3v71vXC3ghYsJ3WWe4 zWdI@-j(;fL1OWIN?{ixksaneFt;t20T6M98cBt+szAk*`NL5@U9#WRKh(d@ehM6cSiF?dQDEF=F%3~9xHXpe(CvTIy^cIAlmeg*g zyC!WO;}_}GZBsQTZi>@la)VhQg$n@S0N5*}1Hh(Ge^0%NG-LjOv>*rYx4{X@7!tR% z%~GF64x)cH_5XD!zmUcpg3Shp`wX)_6vp5&q%kN(8#1(hgdD>BobsCHRq>tO_14iP z`l~?`^&Hi0ahn_U-eF}2E4Wkd9OBF3^@|GU_TxqXR)7=4U&rac7CYRrCovgw_0-CGHVeO@J9B6N diff --git a/sys/vaxstand/sm_hp.o b/sys/vaxstand/sm_hp.o index ab5fe4322d7de8249f37d74bedf5162dafe0ec5a..28765eb87aae0d28816d0df8cb751c9b1d409b0e 100644 GIT binary patch delta 377 zcmZ3+^PF3fosogz2NMIs5(WtP0Hqg9lzhe5JDG(s&y({4O90D-wO;~Q4)#w0N=F1# zu&fpcJP;UgVFAl(kt+c#4g7~J;x4RViN3I!C+fm#mVgTm|4aV;|G)MRh;y)?frWv= z;eXQP+l&Fmf@G~&f g18JZT7_=asC?$iD#LzX0*q zJ^>2spKQmJ#27PqAyXRD*FTdvnP1oE0bS3}z`(l#NCN@yE+~B&NOLhT@Vo}noIskJ ziGe{7C@%w~g@CjUly3{=F96cQK=BhmnvH>h^){4d0EP^R&km$Tfbu~1Gk~lB(L4+c zle1YOnIxDeA7gRzodOiEhDrk|hBhDungR?H28J#m4blbz{Xh(3PeEeOLt-zR?8{ok X7oSm(n^;g%S&+)$V`?<{6ss%%y}fvr diff --git a/sys/vaxstand/sm_kdb.o b/sys/vaxstand/sm_kdb.o new file mode 100644 index 0000000000000000000000000000000000000000..11cd4ff601db02a391972b8ccb7895d5815f3b5f GIT binary patch literal 1507 zcmZWoZD?Cn7=F{-w0CXV=1UmI=N5f!Cj)%Ex?dSXpx%0WYJ+AwSI50TBMFf{mOL62joN9)o~2Y(6+ z++<$&7Jme`W8*I%rgx!X+c+Npzo{<4c#>6Av1E2r^&u}3UJbLUg5!z2`PL~c=?iK` z`0J+m9+>}#3Yg1Vd>KXVZ`uk99g%P)%yfSL-&X5XK)n~7U*B8aSie_p@b4h4KPV5Y z)Up1s{F{sb)oohf=KG_f!X72I4=)%U|goAJul}wt?#t-@z zGfLX8WV4Ie1O5|ZCl8+t9Y5Sn{|g;E8ai@xtef&_rI1l(b4tRWJ)QCA&SVt-a|O7F zF*%oB%qj`1{K!kkOyh36+=Hi!sP_P{6F35d-dh0f0bVrG`K>kAEWB#rbqiO44&36i z!pHFo(2e>AQ20Fn_7FMkICoCmUZC(F0E)T*P}GfB@i(maJHTGtS)j=K)S5S}cn^-9 z=zG73j+cSry*Z%pzXB9>-&^tPRvhPvU?Ki@(a#g^YvWJ1@n_rki*0k$=MCK{Wi{E(gw8T>MfC;OO7DKEeozD*Z$s1BL!87I7XZ)*`M8c!Zup z;+H^?PklsR?Q$&kGI(rZCZ0%S4UEs`D3*pmv3zpTl=D_N4MMT`#O@S~VzZgNp&3Im zokTefW-30Tqzty8B$B8~&E!8Y=He_<=#^0;e|8~3u}n6Z&Y8i}xokYA%$=do=m>>g H9i{&Op;W;% literal 0 HcmV?d00001 diff --git a/sys/vaxstand/sm_sys.o b/sys/vaxstand/sm_sys.o index cdd99e7e705f8c5f171e76f4fd26e9e9ad7effaf..a41781f3a3c24efa407285d3ba474ededc5bd90f 100644 GIT binary patch delta 1888 zcmYk7Yitx%6vyxE&hE~Zo$Wq=?ni9p?+r*oh`JHp_ z|D5~WcCzyQd*VKYu|7XzDi}J%*a%4N-J|jI{>vI;VQ*esIXYe&{sK-iXO?nlEti~f zixYgYQlsqWTb1?UP+n|A_mm=1|JwG5q4E!vs+J3xmMXK5O>1T$?muT1(%Nmacw^Ko zMj|MZ7j8;%iCUzDKRa(0-G-GI?qlXeq{ZpK<-_p5SZ2|%%!!0J*2maOI=qh(qL0sW z-CsS+k$pq5x38MTEK1CA*FA1iN;V-Hkzh_lKjyuzxvBXWEHlEaOspz%jbR0t>p!-g zH4uon>vq|rnV(tIZ{aIC(UHqoEHBofcHIJ-vEaGDPAjb?N7E|QhuJ%4)M#-imTYbu zs5OTB?Q+J9tkKUBj72t&4y=rB%cWI}F%P9I!z?t9m_;jTmhxs1(M{N4%h(=WH`*P& z**NG$s#%EqKBR4bh0MkH%>8)_~c$cw99EYk0oV=y5(2MKnX@u%IJl`H%c z_pYS@CoAr*>$I&)SVw6J>$pVgSTvpUCjykC@vt|h55r52xpvR8H1RcmQmt3tK!k_9 zalPk%U2Xi7x>h;NC)9nx^xrhESisq)6Z}QbHsvvX(Nm*T@`7i%e*G`oZXR=WQN{BywExquAEuQnk6-&=fx!7?Wul3rIJo4v`H*$O2}i6lv4af1BiIUar0aVHXVHwC;}X{qp!2&1e>?m- z{+qUX+3h>FZI&#vWQ@6X(H8uH0A-E2&z8#Y(?R(xLL+BObO;RR(#W^?SI#M?p9ez)X7kVZca2Edab>3#)+@b9=-ig^&IfGUK*5|9K9lB+^{xf&m|z((mm0Yd6YQYW5n*?%B4ZRlxmJ_>#*c}emo z$(xcjSms^OEdwjT)gVpm07w&hUHbhX4R{>Hqo0uRLCLQ`T1YA*4Ilo3qvS`X69n?bZdhxGT#{+B_N(q9D^gDB2$P1s4d!VsdtoQ7kjYvT+uo8kOPMD1?8 zB>EKZLcBAgYS<{u-YjEm>5P4Zv3l4uxvOA1xky?s?KX67f<05GN$N?rZ6+S9VC*T` z0kBrQSS8!QbNWIh#+6`&vXjSy3zb2>CRh=t|8s-rr-7-^X}qLgz@LNiVSX6O8+-uY z75uwk?UL5s=R113SX2E&thK#k-=2Q@@677;4QWa!P+H8e2L+VFrY%&_5WPXj9p2+#ghm}pSStPO5~O5+B2Ee5pyh?*37Z6e##t6Yd@N$yjiNb zf-dMsjiM-3V#H?qv{`Z+R_xo|%p47_aUy?E#IP;1WLV~COuW0Bu>l?4hcWRskGPtW z_bPl&d5ZmmS<0eFtvkBh8Iz5P`50l2hCUj|v_;HO_!ng@7i|OfDm*?6LvoH6AO7Q^r9Pq0>&0a3(dyIS>TjkUt^`Ucs{Kn`<-!q$u&6{ z!jk+&@en1okLOb@v`YvP5}q9|q*ct~MKQ}T$8u)Liks!4S%TPv+7=o!rO0`6*qty7NqFJKRQL3t>;MeTlHMsfaF6;hsH5!%DK9U1Me;frKwNVph}HyF!QTa9$w|)@7$~gY z1gQ|IRHzd4!JkPR1LuJh-vmwqcS`*|secEed7j2BRBshX`JYIB57IaP-jV| zAAmsvPk=P=oD*RBT@YhD4fs0IJW+Ib{EMW&45XBm6hvDqj^o_Xj=KZM^x{3i6JQa|WoPq62tvmQ}HCefgmr46tIe%JzQ;Ywgy zIDqgQ@SLS!or5y^B5w^$Qx5QTfx0mLXFCj?rle}eWKKOF4%8`&c?y{${2clwel5_v zylu_`);4!8ORPuR(%sX$m9@=>)DmTh-oDPBE|%EPxvjr*-3FG}*wur+ufMD3wT+Os Z^!9eM#Mbq%uIpoo&i?+MUfy%R`47mMKd}G+ diff --git a/sys/vaxstand/sm_uda.o b/sys/vaxstand/sm_uda.o new file mode 100644 index 0000000000000000000000000000000000000000..9db693f62dd90e62eb0f0ac6b41cbf1bfcfe1eb6 GIT binary patch literal 1913 zcmZuxU1(cn7=Ckd(q>)SW=R-DhCNfnqJp+68>32OcB2rt@3b{dnqhX*oX)Oo8q!2E zkTRr-47Rfif1nqmdZS5tv9Z=Gr3pH8EgdJaf;VZ^8;6Kzs2H(oe7=*DTILQ(p6C60 zzV~~-@1)sAv}7lmBq9m?MSS_wWnr=X%B_x-SM)_Oq8G&B^04t^tyb$4bsH1Q1*Z*6 zV4_}d1p!i`YnRvWu2h6AI3aTk zUY&(_C-+eZDgOl|2a&wtSG@M_i?lR;T_a~s@cwaCqw_fdmYZ88XNXmqX-f?|tKDS{ zr=L5kwwzG%g^aKNsntr_5Ox?cR>3Qgiinn8z(BDx_m-guMB6swL&UoG*Y0Vhu}hnB zLtAhX4YT_8S>410i!!(mYC*XqvyrTWr${1(opsd18^=y#J6EV0G~TT@um=qk(GeQh zvt|5=;_laL_o>VZL9VYG&!X;hW6HPJ?_kou{B2IUM26 z=U`$NS~O}XIa@xf4fh4#@a!$G&XGxx(Zr9}&3acakX&Z+gPkSq9Y~C@tXOcHEi8xy zU%BAZaFR8TsEbUz%|vR~7oCw!V+_J0zb}gUQ`O!)!`J;4zf;A$(?VB$tOfC&+tYiE zLM8V|c;CVKoNIPIC$P14HoIl;{ZAlqlxA7T{-85cH>Gdr+l%<%?o#uRibVRMNXC|}z$ z2ls}$b-J{3bh^qHiI4q;>B+b0ugpi1HG`{ z1iJ890PcnT3D5`p((-=`#B~>Ya5s7Uc?Z$FUd%>sG- z+d!VD0eRj$@Bv`XLfj9+(!>#S*x}IH;mF_N5AWiS@8aDS$KHw0yrJpe#rwc<7Uuu@ zOO{^(zHIT!z=*{q;F!e;h5Wp@HvdD(HvHK8EI9UQK5yX{E-GSx7l39yf|tN~Km2(g z-v<8xoY!7L(Z{>|S1tczn9--;T$3M4vBBGjz5s9Ntb<3VVoE%oGEo^#Q#1hwMKj~m zb$7-JCqO7V5pS4a6dg@wkQ!HJ(s2__A=usAiZ)79%A^ugCn=gzrquX2WF}*oF>dk~ ziULm`rob~j6ovH8nloxTljJI+Q;<%k#uI6?VkVtZ((0LW6gc!01rDPMtBj>omHq`e C2{0W1 literal 0 HcmV?d00001 diff --git a/sys/vaxstand/sm_up.o b/sys/vaxstand/sm_up.o index a8fa7c4b19256411cd28e716a1a6d4cae2decb61..b40b9ee0b5a2de0beb9c6202d0d3ab80b482f464 100644 GIT binary patch delta 1159 zcmYk5Uq}>D6voe;ooRQ=Vav7DEGdnmKUA8fS%FY#$wngtxhB=45xw-}LuG%czz0{m zfsqh|fmTjQp}iDp6iAE9ZlozRt;tgMG*ZECxH^4zcPi)QcfNDKd(NG6XF^#WS-DO| zq$xxhAXOn2#M9W8dz8s-XMC)_t$$C^&1#~N@qyw1Nh6;Ird%WP02wR_%u42M_#+yY zh`e%G(G#D|c3!~h6n9wGWPXdSW5oMezPH;!RAZ7_Q!`XkVO7stRxO{9^SL5rvU;8) ztz|!XxwIjB8+@qyX3nxgOp^^}oPg}(jZ#U;WhC_(Z73Kf&2QAsGBboD8^;YlOb&Ab zVpQ{P4KaP((5F)ykMKz;$8#GiVSOCs#HRDy=~yEvb9|#CuW~wRSz%328eL_EADzb2 z`j^qQ#n7OK(>fuv{tJm0w&8;wTjm|pV-Y=OcJgLNLDLx+3_W3>m_KTMMbBBqJPUi& zY{h)`b{AZVn)_2x1|m5Xxe&#K)oE71+8c0JG=%-Z7)64Uv@|!fH$Y3fSH?XJsiR-S zxQkxRr(D56!m=#5w1_5Wu8#Aqvhz?K3~@c#y(+GxcN`WMlq$99dyi{h8Z9Qf)4vKnNXqHXXq^?7NS5!;V3H6|@{h%;5gQ9U8C>poh`o7J_ zHv4S81cfgOiUUb1QZAR0^+3V4_iA>HJhuh zQ@P?_-G?i|oTwfpD*wj(x~q^K;}2bhO*b&dtH|TEY0yJ-14JtIv@D44AVxVljV_&b z+=#emfv3;T`;Z@8kbk=%eur4}q70%C(TacK{oe%~;v+xjzT)uhEapjf)sj;3?cPPc IqU|O02lb^_wEzGB delta 1184 zcmYk5ZEQ1*Q*^~#Z#J6i(oXBdkZt$tMUVMmR?aW6DV{DTQG-S9hKBnM zHTEL@lKEMPYmVvcBcJV0F|!HsB5!v1{UIcc@A~~{jP#(nA(lO2PE5m)xiM8>JZO3#Y zV|G-VL3DbO(}QNm98-tBozp3yjX@+jq~Vn@P+0uh80a$wEY1%&%UXBBU>YeC#exaz z8+xWys|ogmbrNG*(ph#eVbx`$d_-C{(hz+SR+m))>$PxRO>-<59iYDGdn)icE1wTt z3sXVogruiAd-_8deB~V^VT^`Twr#_x_vy;wqRB~D&a(-gq><^IlvHzxfVeGLaM{q; zF70L!B7VO3>&J= zE)9u~yj)#kj<80wQ-eIEqMp0OFF}FTgQ)36r2kr1&t8(a5g=g|8kgf?f|6 zgGc51Sr9L;dPOnK0HmZU;rn6BGw3QF5Fqxe9dAa#9;*;u0ttbc5LAeh7*Qdrz|{=0qWss2z@Zi#CHb^JChK)>D|{5#)jFa}2*21>N%ywSmL=(<9>Zh*6sM zqVrW5A4hy^gy){jZ$&;jA|D$O_Y;+6n^8W|8!U*%A~uI(9O46Cm3MgT<~^ZZTSB|{ ZhqhB-zMntMs~fYB0t>4tP+75n{sG*bXOI8@ diff --git a/sys/vaxstand/srt0.c b/sys/vaxstand/srt0.c index e410d61f..4b54d556 100644 --- a/sys/vaxstand/srt0.c +++ b/sys/vaxstand/srt0.c @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)srt0.c 7.6 (Berkeley) 11/8/88 + * @(#)srt0.c 7.8 (Berkeley) 11/15/03 */ #include "../vax/mtpr.h" @@ -58,14 +58,17 @@ entry: .globl entry /* * Booted by VMB: get flags from extended rpb. - * We can only guess at the boot device (here ra(0,0)). + * The only boot device on MicroVAXen is ra (major 9). + * VMB gives us the unit number, but controller has to be 0, + * since stand uda driver doesn't support CSRs other than 0172150. */ + movl $9,r10 # device = ra(n,0) + insv 0x64(r11),$16,$4,r10 movl 0x30(r11),r11 - movl $9,r10 # device = ra(0,0) 2: movl $RELOC,sp #else - movl $RELOC-0x2400,sp + movl 0x6DC00,sp # keep it below 0x70000 like in 4.3 #endif start: #ifndef REL diff --git a/sys/vaxstand/srt0.o b/sys/vaxstand/srt0.o index 560ecaedf676fad0386353580f16fdcc7c31253b..a36a7cd766f9581a6ac9b6b98cdf2bcd0b810a4f 100644 GIT binary patch delta 42 wcmaFG`iXUdgir(n0|N&TGcw+i7rOBN>ut7)THiR>fg(%{46K_K7*8<*0Q%eu2><{9 delta 33 ncmeyw`igaegirtj0|N&TGcw+i7rM~Ta7SdK*0;?XjHeg@md**S diff --git a/sys/vaxstand/sys.o b/sys/vaxstand/sys.o index 800b13c9eb78a6ba3fcf516edfb27d78bcb84672..dfdcce06efef95eeb8b698dc3235a28881f3a798 100644 GIT binary patch delta 2901 zcmY+Ge{@r48OPt7+%!p>+crsQ+5v;MR7w$O=r)m|WSb&87P$xXj3h{bQ9Nx~tL0D; zh0OV59(8N$>!w3-{ITO%XYNrCI{jli8)fWRO4%(-26_zXHaPAK$6LD;!kTgYJ~wYY zc+X8f&+qqrpZmTy8C!XEWvyFb?6}6*6j=EvW8ZNw`?@$(d&+y+$C$q)EB-ZfrNuuE zC7v+~nWQHZpLL37`6ra+3g=st`}~zz@m08I6_L1QSt(uR$CSG5uZ?Z5GjbD2kCChO zju^S5XU53CpEmM=0E%SAd`fYM7Nq!pf6B-^bu)72N6eTCY`6U-H2fvg$m^yt6%oID zg0X`dwBJO;Px*YuCzqDlVHe5}Hu#p2pFoLu&hTc7QYIoIf&^nK_#E$bR43}O$gvbN z$7<@vE;6hDbN$$|CUh7A&hSnvJ@!u)^qTkZ-<%m#M4O? z(LZ2My`%>7Cu`!-b;B+CnE|VUF?~WGU=hXwo6^H;f?G356=TdtDN{Fc(Ug%l<3=HC z29-DeBxIWz#{9xS+B}g@Lfp<@OVn-;=A+8iGE3F46%r0HcBz;+NtrUy&+F~9e zLPijRPBXsExk-70|JJ$lL7$yf>kRL;%u%ePFpG7J(mK`^bFRWbIi7UV7p%*Q`^l_` z6wIbqj01kR=@GB-&FUfreN*pJdtu~nxNEg75aN@L?lJ^y;N$9Nl}_$+^_LHRL{qKt z*`50yA9QV1R`JWO<%*M6mfWq4-?Xggq@$D4PVy}!Efs^Xn0maX%%0<8e5m9}8VL{pG~W=YbmiAzLZgzFbZlw%ZjEF zyB|0BA+QGpehvR>h`8Ej-aQ_H}V}rBE*km8#f9 zs!^mO)0GwL$?p*Fe`r~D-rEqO?_|aDV%~YErdx~w=alu>G0Y?9XSelFTq3mZFOF$$zlI(E`V-6lgOoi7(k@%lva=lOYG zvvvm@bLXj?d$p$EmFePeX`_IhOfRB0`RBAIrHMbHt(iBA2alz6A!wF~hXG9Y#9y_X zf|F)cgcJ`yU9mLbVNCl1Lg94vgV@oo!ywsDOZ}|WuSh*t)LjgVL!7G>q`Wq%cS#-w z(KzjC5btK~I7o4CgXPe#J6M9@M7ctUs)V5lq<~h*wIEGo0Hg^{fw(nNs9-5b@qUov z>ZINz^;ICnt&!XY;?kY~tHBr4MA7h~4446NyY^vLG|;y|Dljg26Qsmd7?ld$3zB~y zNb!fH?sXUIECb1Y4@hx)L6mU)Q0mVoAS{IAJV*sENrw;1xf6OlNQq$(F4qGfF5f1p zZwE1^>tT=z_euZvi_|Qz9{Hu-A{R)mluSgVa0Fa{z{kM`@JWyceg&kC6u?I4-^EV= z=}${u04Xj5(nKzU7*qSV)IXH^MSPaqWT$@*6yG52&9*&()Y2GW4f z@Lj=B0==*=td-80T?^3+XV1Q{Yp7rBd3^A|{ui?pGODma{KaUVlLr`E4S6niEo3_v zh3}K{Za6nWmScrjn@pg}y#bJeOuGqNtu#o&#Qkuf{aiOZ1Z=KH~I@^#2GrC;MY-@47NBAD!J zsppXGb)aSd@?4$T+vLRx3lxJeiAFeR>izt{yar{2KZEZt@t5bdG`07By`!g-wXOaX zYv0q+-`BBg4{P7s*|UeWwYIYM-MII4_w?@P3#&urZFeK8qpz>0m$j`4^R?BF^Reod aP}}OeirM?W$=Z8RWk2fOvzmKC5BwKhDr}bk delta 2924 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 b4CPjoktm~4ZbKPcA)bB2w(Z_0&qe+}^_No` diff --git a/sys/vaxstand/tpformat.o b/sys/vaxstand/tpformat.o index 5f23d6659525b3826ae028b5099b5c9a58bc4340..5b2243cf47a4d6ab9cd9c3c11a860f6836915a24 100644 GIT binary patch delta 3231 zcmZXVeQ;Fe6~^DYxtnZ~y&=0xNVXCZLqGztWit?kB7~$B#W>y+TSJ1>v5qMGQEI1c ziZm-a21|>PUSZH$Xqk2xVYeRwt0QW%#Ih_}>rhiY7y<#a?Djc(k94NZ z?7Y8op7Zg3-1pv$G+%0dp+b9oTkvu1g>BEw(pt7fp7%Ulq|}6>C04Wcl<$H^Dcg)) z$RuM!nF)=Ctkc>8ZS4WW<#uTYt$@Bp+i5+iHy5r<(5i`SHqd6ht=EOmwEL!{V*k!0 z@1h#0$(Ws)$fF~9N{x~aLi_uJR0t+0fYI+s&?GRhFsZmIMIV2LBAVclOWm~4rBqUL zf_5(W?tg=o2qx$_1nzX~vurpUSeBw&im?%m_COzK$4Xw}io2+>P^lCJIG9JzLL1F* zfA0wO!lE7w-6_iO5xD3vc>P+eI%~#h6>QUA{<(WEyH%YD`U;G|iUhTS{=86umLj8g zdT!#`kj_y(##kgX&>s4SvT3H{4N|4$%b$MRwQJdIZ?{q^`1Y|_ZI-9%k5yz%tYMS0 zhIf!L&>n9us_2QgBUF_a>QUCZ{L1p}h&1#n7jn12lrs)nyYs(v-#WBRnkib&P2ALk zc%P0{45AY?!wddVf*MWdV%5-F{7AR-@O|D+qkNdUvZfY%TR+ng8nU()%+%Ic2MgBD zNRK;Z8pv>$I)~8+?u%0bM(N~V z9X03#ESrvDGzXjLP0+U`PKQ7vI4w>Q7^RcTkhlkyO|M|Nj{@arg4=&VZI4f;4 zn!cfYpOek#SaN@T(nQ9ij(?T?=oo~rOG1L~frZ^~#VxuYX7pm5T0!Uf6sBmS^=aW^ zZ)3lU_i%;OAU(@%mS&VXs;^GaGrCg#(i6Q|O{v^K-+^)@XGV0>378R_@8XpR zMALl{o$iBWN7JURJZO@lz4^J_}p&9o%*#-9G?%h6x|gPup_nWWLI`|GE#~wpQ8IYCyze3gr&wdW^vVq zVQz=%ciWLtQx~=0TIH>*sc^D)A;tF_oQemhQp=h~TcDkzUt2%-R(i^viN9&}d4plM z6Q75Z$HlpdTcc43$^Dv1bzrb4PB(+mbWpc(#Rn(=&(_Ebbmfs7FyrT|C-IZRpMM@= z7f1PMhuyiUhjRxYtp^doX8#7n&ADX-wf0=>#WgI z^EF4k`YEsPeP?|maL!Qz4z7|qu%sm93BL<#s#3;3K?K|*;7#x^fo0$|5IZ(B1eudS z1HUrytGNijdJOo_U^Iw+hv+Th-y>WB;z77Oz$&G}#W@L9h?x1)l(U!c!n7G=@N4=!dy@SQ(Tvl#y`)UIW=k@CHC`@I{at z%*VhD)_`-sCqQoWBd{Kff@tAB1hRP;1Lyx0dte>d1I`9_6yl!>3wuTQ1IQ~q406F= zgmI8pd;!Ge^A_OK%A6rwC~N|`?rz~XK(2d8{Kr9lv_BMoQxVReh0P*t2f1Jm_+{vO z#eYk9TsSN|5Aq3qDE`MF-+>A64(NU~zZHFIg^j`%kmp$*hQSR?5gq`!!3OcS33rOV z8{}L5ThR}Rei-Cie^T^>=x0HGJ3bNpvgm2>3(&(pud|X0kQXu?Yz7yAHQ)mhUoG)< z;y)pNm-w3<>N~{$g~a!X{wLA@4Dtp~fao7KPQxh0M1L3l3*=jT5e$IiqGv!HneN4d z=eQr_BMgGva3;tLz7^!U1;Vd_oYx9+-U`r%_y({{bt>a&7?UAv1@Y#&UlP6wa^dem zKAAT_UTB}A>(?c&mpJhv5O0**2l5G)A9&-Y5iNLy%kas@FZVYE2G*fYS#MUB&v**Y zp+S^Ku*1b-KaUG^r`R3VwaOLRKI`6TZ)q;esA}=Mq?Zc@rc@UL2Oh3+xe6LoYs2l0 F>OXejMgaf- delta 3204 zcmZXW4Qx}_702(hpB*Q$gFg}yQxYHxl(cjtDP^RjDG7s>Hf%4@ZXxN|G@-K6P8C|E zMU=)AS^=7dp|5C+ZcJ?J)(v}#h(uLYWhB|qCTjL9Vnb6I_d^q1p*obNkU{X<|M;C! zsg0cbJLiASJ@>r(?tAv9ofkXz)@XzKqK|7Y?%Oe6Td^;($G4$OsT+zq%ua1v=p&y} zmXZ3fkV~B_+|X#;JfpR0PYwlK9+!61jOZJ+gXS}OXK8PS9=&1Pku~N?y)hQ5$)_$A zat}}gv|P$6+;G#dTd8bMx`%?$qWLWOzzl^khJ6{T03-M26i>|4rR$hS*LmdG9%^+d zmD8Nyzl*`QzX;AmFhl=@z?J@fJ%&=>%G11ZT!}`9p^x>TnFBoI0lKGDsXT=_=%(kP zUGet3H%xnA(F+&`@^q8;z(pJ3jcTdcwvnbj*haYebGM7#S$!E=4kNNQLl1#rcXNrB zCx3&pa3iGibSK7CqA=Fe{DHD)uH$8CrWy2p?HiN-v+ekRQYw1#AE^eLml{pg*amvo z=Jaq98DrSCvZ%ZH7b@L@Xx&wFlef0|B}7`{%7xtBFlCzu%tPLV-`<3hIU`T2xQK`D zNBo42E{Zpx177r)1U0JX$*Lt@zF|OW1V1mQkq4%3&MbM#)jV#-OXg{ho5xBv%`IGW z=4hCc(6NsnLuiTXXeKpv(~-u_6~6j%f3`Q>oAA}Rn`_O@zB^*uzdUpES7)w=lub?C z485rQBf<4n!jFw!1rZy(OO5r0g6RjT6@J1Oc8?i4FF}p)qZcwX2aI?R#;1&sejq-8 zTQ?1g5e?;OfltNwMA%nt`?O~07JUZGuoAvybP-mT{(~`1d5nSRpVE|t5v)8k5}>zW zS#%PkkzGc|!O+e$9RmZ=x-=zW1S_kM_%e!>Xz~| zPBxMgxg!g51|K-bpJYEd0pYunkfAPExct31Lyy2rUQW|$&^bJ%d3x5oQrbSPbyPdD zz(^-24CE#YW?NaqoYSA#cJuZ^nucNA$`6+))%%%kS!^2XRfNTD(1vl4n= zPT?9C4d6{dFL9<$kD+DDpgv3}2Ahh(-A-_o6KqGYIPccvekb1O#Os`R(*WYm{2x1U zyew1)suw=Rg8=)`>3(~CE)m2T&(j*tant*V1y z9*m3;^`>#AqPm3>Jw{<@mPX}3zngTxNWVLK8s9klg%=@4S9oX7d5SBK7q4F`XAnW% z(?Hs2sw%M>nrH-0&Ydgg4Ikk-It>+yX|E!Jr%#z%0<)KGgA-Y7Q9p>@y4yOa5lwgZ z2fMr5mQgKi<6qrqv@JP>H`ZRR-rr zy1$~?7dwahFjJ|(2Own6CGa-*6JQm19mECWJIY}Y4B#_e{5d=cpSv*NO&z#f^mfs| zDSnsmVGy^$(+AE{Di+uvfhQ!eS=jF+1hz|jr*MzN_e=aRSc8QJ!D{ezFbWQX-1u7{ zFUS{-1p{w`+~|d3Jf;Gdi-ro=PQYJ*Y$W(AK`yWm-mYxCmR=xvr-H*k;3SvpmO)$nCmf*SM#1P06tHrMcTj0+VHVGFC+d;mv zmEwO#xK8*3;YN`2o(3Di7r;Bf{iXN{Vd0M=41(P08z4^@6ng1E_ca&lOS=cSYFF~I02XHC$KZ`#sJSBWb_&&%x_@Vd& z@)_XYJoiDbMDe>&hkrdWmk3vYyiQjP1{YW(!a9%(Y!%-W9u)mB$ftZz^w&f`4)UqD zL_aI~d61uu%c5Tsy#UUD9*g*$PG*4I$Xu`!Tng5M>m>d|iT_0Wr^VkQ{%(i*0r7t; z@r3BFi+%#+3rvBi9}8q*1hLRZAfMh(zz8@gx(#Bh^Z;%+$0Hzb-3*Wm-41f2Uk7>K zy~33s=dA`g?_n^6_*RhXJP%f?wJH#YfhW!LvhWDV6OV$tBX5A*;E1E^w#2;^PTUXT zN%BNM-nr<|@NE}0ZPHBER^K;+@Ac^J#6%eY9F3;)G>Lz`x~TqTQDSId$X^?$hgJFWl# diff --git a/sys/vaxstand/tpsrt0.o b/sys/vaxstand/tpsrt0.o index 560ecaedf676fad0386353580f16fdcc7c31253b..a36a7cd766f9581a6ac9b6b98cdf2bcd0b810a4f 100644 GIT binary patch delta 42 wcmaFG`iXUdgir(n0|N&TGcw+i7rOBN>ut7)THiR>fg(%{46K_K7*8<*0Q%eu2><{9 delta 33 ncmeyw`igaegirtj0|N&TGcw+i7rM~Ta7SdK*0;?XjHeg@md**S diff --git a/sys/vaxstand/ts.o b/sys/vaxstand/ts.o index 90b8bcfa3dce2e09230caad639c9c40f7992f36d..ebd9b0ebc6fe0a442ed7412c233511d6708711d4 100644 GIT binary patch delta 125 zcmcb}cad*H0~2HLPA91eXU@-jm?`otl@BQ~57#J9SGrqU}`~Uxi z(>E9bY~H&7nSqA_16Y7En}0ABFbVErVqjonU|>B6q=gw6c+X6(WZf(T delta 125 zcmcb}cad*H0~2G|C`y@* zR51O|aEFOhsG8Y)Fxyiup1(+RKk@hbCC<0JB-$X2YTjt1T;A4WJBlx7e>|JEQonAa zkJcJe{w^lu9%FDyWyg4fp(Uafl<0bM4Epuk zpyv@EblHJ6a4zoMpqwE3r1@;m6CH5G6hCL3yp7jb!BA7#fPiDj+s@EubU69rG zD^^b~n`kBM}OXhkc&BdF6)PDf}L}d(*DIh{wr^h{u&TU)~yW=FeyS dxlJQ}FJ}isX9mY8bZ%%cGCn*^T`rfK{s78E>2m-8 delta 452 zcmXZYF-QVY7zgn0y}R=?I}{P&A}uJvaPhK1EU+QULE;Qb5lIb{1_cYE3mlxHf{6Hr zrih{;s4ZyCC918VsincCEm{k@zKi#`$M3!O{old+zJ}jJVU+>Q$pA49FiPuJn$D<_ z)#GrVH&x_pV`zsmKkW13*S3w2{c`O#Endj?j;MUd(!A-yXBPJbC}nhPODULCa-qbx z`K5#%e$E3Dj!0+xgkw+2IC&xbGP&#psbLfSeGfgtNk| z&=eMhPIH`l>%z9s5_TCj2JW0kM!b=Lo7&l=_yI{>hMo@>y>GffVfy|@nifu}>jTK( o!{DxKY7%nE6y~)eK57&At%ZZNN~_j}%GO$~v01M}&PW*W2Z^0iR{#J2 diff --git a/sys/vaxstand/up.o b/sys/vaxstand/up.o index 6f2140f8c87cd2630006b448aaf81bd4a781c18d..c44d11c9e8e09f3cc5c17bf6bd96c07fa74a76b1 100644 GIT binary patch delta 1360 zcmX|=ZD>R!NcH;7HPq~86{y=Q?#e$W3o z|MQ&loSb{7{d&8{M+uoqdETZYsYAQySnB&7^h|1H8=YjG^avfyr0Hf#Lo6@#(=n#F z67(E9>>7QlS0<$5F}tdkW$dd^^G}HoW5`Gt`ztPUp1Isx!x^OV`n>A44Jo$WeX{F) zpS^6bVp-jqG=AS~Mx9=*4bdG;^=d&xU)qt3XqZ*pFC-uFMUuJnuVqDZk24eG6Rk~Y zxm*8kBw|R|P%_hKVpff~q60J^(ic`8Mj`d~#MN;^)PjlyghbXD#P%Mwy~<2J3}Xz{ zs1{UK^J-yHE#WvW&E*!+z+ylxAo#|;+7lXV?kvrp|Kpreu!%V_7OLGJZpiLmuEVtHw)lO}eZ}xQ|y>=Jc89Pi(Rv7UM5Hi?v3huldEY@fWDYV4TYLO*9;%Uv|V@^Wi^Psy@y zwrjFJU(jdF_EY|s>2IvxzaemK8C~c_^mB!M;BRd_4Q&kJjrFY{*lXwu_9NTQF8DV# zzm7??QBu=VH2HW|FDjmrUW9nsBJ82RG5jn3%(zKH@%VJS&uU~!UH7vO9@#BbjqjWe zW*uGTTCbvmY|YSPOv*@P&W_em+~ASGM|jnlhk=+odCWryA6fi(!5pX%5-JG&i{Jx6 zQ*asNz9zm1qgU`X!9yUPjb~iw6JQAAwBR!M1R=@bTDb7~-2EW;s-O$TcR;@23z0ts z@(t7Ali(Gw8N4O*&qDL>jMu4x+`j?Ex!wYDy&L3pKeU-7p)Ddg4%^o45uVxnBMb$%sz{3qgi%2@>b{u&X+|V$09$n YbxH%h#9ma^(|ha+ICyF+SawKnQSXKw92eg>bOB{SCuM?P&@r&iesCj z*&jmdL_#?O8Ei5bZdd8iNw6q_TeWkzRJ_ryD{R+B$i$Dq9g>-LNp^isavBVm{NCq1 z&-r-Yd+vAbKef9&l#tm8*UR+q#H)RDd}6AX>Jz0+^h?%B577SP8QMl^Ju{R?={O5J z2I=SQb;tguohl&(m(^9YZF6^lTFVL{=72e9K38y9zcYukqxKw924B#eWy1;fkn{bn zL!R=qCkwW{Syx6Etv0N)U2jHo6+_!~KceI1NJX@d6`Wh+RP3c#+1s`qP2EW*$YH%X z-1tjyPbg$6*if;ODB`jfazvk|Mu1ahr{XA|C@VPi0rC1SZ?#1Wk@olTISeowx3xZJ2oLP&I)J?w5=|1QEjFX|0>S7mHJ z5-aoSOMgzP%j}T5wev>tqGAm%+qQ zMQ4TP86;M-+n#16muF3CC%wS>)V4Lp^R~@zYUlYJ-bHGGME0fmLgJQf+pAu?V2v`S zcG0KUjJh`10VmG*t;!eDe9mfQIrR~Gm2LHIsG0f~^Lp3`Z%flI4Dy_o*Ul)>_?^oI*(_1xG{CMe~zNjTb9=NoZa~jZ;-aw>haI@zJRfA4O01)V!I@)a-D^-*FKl zo=f<1gK02KNZ^Xpze)Zrc}ubg3SYCBgy%8Ie#y5$+$Gl$sgHsIJf|cT4BkaZ+Jo_7`FGb;I(L*^uY0?G7OD>)9ZpNeG5pL*%npP$ wQGkO}_f3aBjae5nQJr~m)} diff --git a/sys/vaxstand/upmaptype.o b/sys/vaxstand/upmaptype.o index e99c5f46e22d5ecdfa3935436d30670bb05795ef..b6121274a7b675e208b284fa25933eda064d471e 100644 GIT binary patch delta 174 zcmaFH_K1y*osogz55q(@cSh-nezJ@{6LT~fFHf9S!|{nDV)X^a0G7#ej8V3K7#J87 z7=#%Tn9P|WY%T@|MssE!pl$^Q0R{#p1{N7Go0VY!gE_MfkZr&q!f=4ui`i!KR>sp{ n69R#zumLehS0t1T(v=KlgLLIV*)~9SC6LVy#6FYvGOYvvwWAyL delta 178 zcmaFF_Kb~ zK$Qv%!VC#a=FAW_7lQ+%IkNy*T!4XriGf7{%w}a+z+ld70Aw35h%g*r_F{IJypi!V n*n~i!b!%>)_o^}0Pkgd0Xc@x;zP10jHup0)WC<}FwlUm) zKO3mjX6?Va`|smGtW_L9mJpc517v+<0E%S+8ApJO-<F}aGhVe&s#6&4>0Qw9M0rBdVo delta 308 zcmbQovxtY4osoedXCkW`qwPeW0>(2F_o^{APkgd0XeGk~zP10jHup0)WC<}Fb~4<5 zKOd;nX6?Va`|p!LtW_L9mKd1D17v+=0E%S+87F{@-<` zEHCs6NV5Xb3n0w`q`8@B#{S18JZ(Fqn$Oo(E@7E@N$A_OURX{FPM| E01=Q?t_line].l_open)(dev, tp)); } @@ -681,7 +681,7 @@ dhtimer() /* * Turn on the line associated with dh dev. */ -dmopen(dev) +dmopen(dev, flag) dev_t dev; { register struct tty *tp; @@ -710,7 +710,7 @@ dmopen(dev) if ((addr->dmlstat & DML_CAR) || (dhsoftCAR[dm] & (1 << unit))) tp->t_state |= TS_CARR_ON; addr->dmcsr = DM_IE|DM_SE; - if (tp->t_state & TS_CARR_ON) + if (tp->t_state & TS_CARR_ON || flag & FNDELAY) break; sleep((caddr_t)&tp->t_rawq, TTIPRI); } diff --git a/sys/vaxuba/dhu.c b/sys/vaxuba/dhu.c index 2a98d93d..b1d44d24 100644 --- a/sys/vaxuba/dhu.c +++ b/sys/vaxuba/dhu.c @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)dhu.c 7.4 (Berkeley) 1/24/89 + * @(#)dhu.c 7.6 (Berkeley) 7/30/02 */ /* @@ -88,12 +88,12 @@ struct uba_driver dhudriver = * Local variables for the driver */ /* - * Baud rates: no 50, 200, or 38400 baud; all other rates are from "Group B". + * Baud rates: no 50 or 200 baud; all other rates are from "Group B". * EXTA => 19200 baud - * EXTB => 2000 baud + * EXTB => 38400 baud */ char dhu_speeds[] = - { 0, 0, 1, 2, 3, 4, 0, 5, 6, 7, 8, 10, 11, 13, 14, 9 }; + { 0, 0, 1, 2, 3, 4, 0, 5, 6, 7, 8, 10, 11, 13, 14, 15 }; short dhusoftCAR[NDHU]; @@ -236,7 +236,7 @@ dhuopen(dev, flag) if ((dhumctl(dev, DHU_ON, DMSET) & DHU_CAR) || (dhusoftCAR[dhu] & (1<<(unit&0xf)))) tp->t_state |= TS_CARR_ON; - while ((tp->t_state & TS_CARR_ON) == 0) { + while (!(tp->t_state & TS_CARR_ON) && !(flag & FNDELAY)) { tp->t_state |= TS_WOPEN; sleep((caddr_t)&tp->t_rawq, TTIPRI); } diff --git a/sys/vaxuba/dhureg.h b/sys/vaxuba/dhureg.h index 7d9a94b1..c8217347 100644 --- a/sys/vaxuba/dhureg.h +++ b/sys/vaxuba/dhureg.h @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)dhureg.h 7.2 (Berkeley) 11/8/88 + * @(#)dhureg.h 7.3 (Berkeley) 5/17/02 */ /* @@ -112,7 +112,7 @@ struct dhudevice { /* Bits in dhubar2 */ #define DHU_BA2_DMAGO 0x80 /* transmit dma start */ -#define DHU_BA2_XBA 0x03 /* top two bits of dma address */ +#define DHU_BA2_XBA 0x3F /* top six bits of dma address */ #define DHU_XBA_SHIFT 16 /* amount to shift xba bits */ /* Bits for dhumctl only: stat bits are shifted up 16 */ diff --git a/sys/vaxuba/uda.c b/sys/vaxuba/uda.c index 060b6368..f916661f 100644 --- a/sys/vaxuba/uda.c +++ b/sys/vaxuba/uda.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)uda.c 7.29 (Berkeley) 9/6/99 + * @(#)uda.c 7.34 (Berkeley) 11/24/03 */ /* @@ -1576,9 +1576,22 @@ udaonline(ui, mp) if (!cold) printf("ra%d: uda%d, unit %d, size = %d sectors\n", ui->ui_unit, ui->ui_ctlr, mp->mscp_unit, ra->ra_dsize); - /* can now compute ncyl */ - ra->ra_geom.rg_ncyl = howmany(ra->ra_dsize, ra->ra_geom.rg_ntracks * - ra->ra_geom.rg_nsectors); + /* + * can now compute ncyl + * + * There are some broken controllers that return zeros for the geometry + * parameters (observed on Emulex QD21 and UC06), causing the ncyl + * calculation below to blow up with a division by zero. We work around + * this by faking nsectors = 1, ntracks = 1, and ncyl = 1 when faced + * with such garbage. Of course this is only usable if one uses pack + * labels, but they are required for third-party disks anyway. + */ + if (ra->ra_geom.rg_nsectors && ra->ra_geom.rg_ntracks) + ra->ra_geom.rg_ncyl = howmany(ra->ra_dsize, + ra->ra_geom.rg_ntracks * ra->ra_geom.rg_nsectors); + else + ra->ra_geom.rg_nsectors = ra->ra_geom.rg_ntracks = + ra->ra_geom.rg_ncyl = 1; return (MSCP_DONE); } @@ -2111,6 +2124,15 @@ struct size { 1253580,699720, /* F=sectors 699720 thru 1953299 */ 1577940,375360, /* G=sectors 375360 thru 1953299 */ 291346, 83640, /* H=sectors 83640 thru 374985 */ +}, ra73_sizes[8] = { + 32768, 0, /* A=sectors 0 thru 32767 */ + 131072, 33810, /* B=sectors 33810 thru 164881 */ + 3920490,0, /* C=sectors 0 thru 3920489 */ + 131072, 458640, /* D=sectors 458640 thru 589711 */ + 1638400,590940, /* E=sectors 590940 thru 2229339 */ + 1690500,2229990, /* F=sectors 2229990 thru 3920489 */ + 3461850,458640, /* G=sectors 458640 thru 3920489 */ + 291346, 166110, /* H=sectors 166110 thru 457455 */ }, ra80_sizes[8] = { 15884, 0, /* A=sectors 0 thru 15883 */ 33440, 15884, /* B=sectors 15884 thru 49323 */ @@ -2186,6 +2208,69 @@ struct size { 2242188,698763, /* F=sectors 698763 thru 2940950 */ 2566005,374946, /* G=sectors 374946 thru 2940950 */ 291346, 83421, /* H=sectors 83421 thru 374766 */ +}, rf30_sizes[8] = { + 15884, 0, /* A=sectors 0 thru 15883 */ + 33440, 15984, /* B=sectors 15984 thru 49423 */ + 293040, 0, /* C=sectors 0 thru 293039 */ + 15884, 49506, /* D=sectors 49506 thru 65389 */ + 55936, 65490, /* E=sectors 65490 thru 121425 */ + 171606, 121434, /* F=sectors 121434 thru 293039 */ + 243534, 49506, /* G=sectors 49506 thru 293039 */ + 0, 0, +}, rf31_sizes[8] = { + 15884, 0, /* A=sectors 0 thru 15883 */ + 66880, 16000, /* B=sectors 16000 thru 82879 */ + 744400, 0, /* C=sectors 0 thru 744399 */ + 15884, 374800, /* D=sectors 374800 thru 390683 */ + 307200, 390800, /* E=sectors 390800 thru 697999 */ + 46400, 698000, /* F=sectors 698000 thru 744399 */ + 369600, 374800, /* G=sectors 374800 thru 744399 */ + 291346, 83200, /* H=sectors 83200 thru 374545 */ +}, rf35_sizes[8] = { + 15884, 0, /* A=sectors 0 thru 15883 */ + 66880, 15960, /* B=sectors 15960 thru 82839 */ + 1664628,0, /* C=sectors 0 thru 1664627 */ + 15884, 375060, /* D=sectors 375060 thru 390943 */ + 307200, 391020, /* E=sectors 391020 thru 698219 */ + 966378, 698250, /* F=sectors 698250 thru 1664627 */ + 1289568,375060, /* G=sectors 375060 thru 1664627 */ + 291346, 82992, /* H=sectors 82992 thru 374337 */ +}, rf36_sizes[8] = { + 32768, 0, /* A=sectors 0 thru 32767 */ + 131072, 32768, /* B=sectors 32768 thru 163839 */ + 3125408,0, /* C=sectors 0 thru 3125407 */ + 131072, 455186, /* D=sectors 455186 thru 586257 */ + 1638400,586258, /* E=sectors 586258 thru 2224657 */ + 900750, 2224658, /* F=sectors 2224658 thru 3125407 */ + 2670222,455186, /* G=sectors 455186 thru 3125407 */ + 291346, 163840, /* H=sectors 163840 thru 455185 */ +}, rf71_sizes[8] = { + 15884, 0, /* A=sectors 0 thru 15883 */ + 66880, 15984, /* B=sectors 15984 thru 82863 */ + 781440, 0, /* C=sectors 0 thru 781439 */ + 15884, 374736, /* D=sectors 374736 thru 390619 */ + 307200, 390720, /* E=sectors 390720 thru 697919 */ + 83472, 697968, /* F=sectors 697968 thru 781439 */ + 406704, 374736, /* G=sectors 374736 thru 781439 */ + 291346, 82880, /* H=sectors 82880 thru 374225 */ +}, rf72_sizes[8] = { + 15884, 0, /* A=sectors 0 thru 15883 */ + 66880, 16800, /* B=sectors 16800 thru 83679 */ + 1954050,0, /* C=sectors 0 thru 1954049 */ + 15884, 375900, /* D=sectors 375900 thru 391783 */ + 307200, 392700, /* E=sectors 392700 thru 699899 */ + 1253700,700350, /* F=sectors 700350 thru 1954049 */ + 1578150,375900, /* G=sectors 375900 thru 1954049 */ + 291346, 84000, /* H=sectors 84000 thru 375345 */ +}, rf74_sizes[8] = { + 32768, 0, /* A=sectors 0 thru 32767 */ + 131072, 32768, /* B=sectors 32768 thru 163839 */ + 6976375,0, /* C=sectors 0 thru 6976374 */ + 131072, 455186, /* D=sectors 455186 thru 586257 */ + 3276800,586258, /* E=sectors 586258 thru 3863057 */ + 3113317,3863058, /* F=sectors 3863058 thru 6976374 */ + 6521189,455186, /* G=sectors 455186 thru 6976374 */ + 291346, 163840, /* H=sectors 163840 thru 455185 */ }, rc25_sizes[8] = { 15884, 0, /* A=blk 0 thru 15883 */ 10032, 15884, /* B=blk 15884 thru 25915 */ @@ -2195,6 +2280,33 @@ struct size { 0, 0, 24820, 25916, /* G=blk 25916 thru 50735 */ 0, 0, +}, rd52_sizes[8] = { + 15884, 0, /* A=blk 0 thru 15883 */ + 9766, 15884, /* B=blk 15884 thru 25649 */ + 60480, 0, /* C=blk 0 thru 60479 */ + 0, 0, /* D=unused */ + 0, 0, /* E=unused */ + 0, 0, /* F=unused */ + 34830, 25650, /* G=blk 25650 thru 60479 */ + 0, 0, /* H=unused */ +}, rd53_sizes[8] = { + 15884, 0, /* A=blk 0 thru 15883 */ + 33440, 15884, /* B=blk 15884 thru 49323 */ + 138672, 0, /* C=blk 0 thru 138671 */ + 0, 0, /* D=unused */ + 33440, 0, /* E=blk 0 thru 33439 */ + 105232, 33440, /* F=blk 33440 thru 138671 */ + 89348, 49324, /* G=blk 49324 thru 138671 */ + 122788, 15884, /* H=blk 15884 thru 138671 */ +}, rd54_sizes[8] = { + 15884, 0, /* A=sectors 0 thru 15883 */ + 33440, 16065, /* B=sectors 16065 thru 49504 */ + 311200, 0, /* C=sectors 0 thru 311199 */ + 15884, 49725, /* D=sectors 49725 thru 65608 */ + 55936, 65790, /* E=sectors 65790 thru 121725 */ + 189310, 121890, /* F=sectors 121890 thru 311199 */ + 261475, 49725, /* G=sectors 49725 thru 311199 */ + 0, 0, }, rx50_sizes[8] = { 800, 0, /* A=blk 0 thru 799 */ 0, 0, @@ -2218,13 +2330,25 @@ struct udatypes { { MSCP_MKDRIVE2('R', 'A', 70), "ra70", ra70_sizes }, { MSCP_MKDRIVE2('R', 'A', 71), "ra71", ra71_sizes }, { MSCP_MKDRIVE2('R', 'A', 72), "ra72", ra72_sizes }, + { MSCP_MKDRIVE2('R', 'A', 73), "ra73", ra73_sizes }, { MSCP_MKDRIVE2('R', 'A', 80), "ra80", ra80_sizes }, { MSCP_MKDRIVE2('R', 'A', 81), "ra81", ra81_sizes }, { MSCP_MKDRIVE2('R', 'A', 82), "ra82", ra82_sizes }, { MSCP_MKDRIVE2('R', 'A', 90), "ra90", ra90_sizes }, { MSCP_MKDRIVE2('R', 'A', 92), "ra92", ra92_sizes }, + { MSCP_MKDRIVE2('R', 'F', 30), "rf30", rf30_sizes }, + { MSCP_MKDRIVE2('R', 'F', 31), "rf31", rf31_sizes }, + { MSCP_MKDRIVE2('R', 'F', 35), "rf35", rf35_sizes }, + { MSCP_MKDRIVE2('R', 'F', 36), "rf36", rf36_sizes }, + { MSCP_MKDRIVE2('R', 'F', 71), "rf71", rf71_sizes }, + { MSCP_MKDRIVE2('R', 'F', 72), "rf72", rf72_sizes }, + { MSCP_MKDRIVE2('R', 'F', 73), "rf73", ra73_sizes }, + { MSCP_MKDRIVE2('R', 'F', 74), "rf74", rf74_sizes }, { MSCP_MKDRIVE2('R', 'C', 25), "rc25-removable", rc25_sizes }, { MSCP_MKDRIVE3('R', 'C', 'F', 25), "rc25-fixed", rc25_sizes }, + { MSCP_MKDRIVE2('R', 'D', 52), "rd52", rd52_sizes }, + { MSCP_MKDRIVE2('R', 'D', 53), "rd53", rd53_sizes }, + { MSCP_MKDRIVE2('R', 'D', 54), "rd54", rd54_sizes }, { MSCP_MKDRIVE2('R', 'X', 50), "rx50", rx50_sizes }, 0 }; diff --git a/ucb/compress/compress.c b/ucb/compress/compress.c index aa624e36..41f64ebc 100644 --- a/ucb/compress/compress.c +++ b/ucb/compress/compress.c @@ -1,5 +1,5 @@ #ifndef lint -static char sccsid[] = "@(#)compress.c @(#)compress.c 5.10 (Berkeley) 1/19/99"; +static char sccsid[] = "@(#)compress.c @(#)compress.c 5.11 (Berkeley) 1/30/03"; #endif not lint /* @@ -810,39 +810,10 @@ compress() { #ifndef COMPATIBLE if (strong_comp) { - compFile cf; - char buf[4096]; - int len, err; - putchar(magic_strong[0]); putchar(magic_strong[1]); if(ferror(stdout)) writeerr(); - cf = compress_open(stdout, strong_level); - if (cf == NULL) { - fprintf(stderr, "compress: not enough memory for strong compression state info\n"); - unlink(ofname); - exit(1); - } - for (;;) { - len = fread(buf, 1, sizeof(buf), stdin); - if (len < 0) { - perror("compress: fread"); - unlink(ofname); - exit(1); - } - if (len == 0) - break; - if (compwrite(cf, buf, len) != len) { - fprintf(stderr, "compress: compwrite: %s\n", comperror(cf, &err)); - unlink(ofname); - exit(1); - } - } - if (compclose(cf) != Z_OK) { - fprintf(stderr, "compress: compclose: %s\n", comperror(cf, &err)); - unlink(ofname); - exit(1); - } + strong_compress(); return; } @@ -1105,36 +1076,7 @@ decompress() { #ifndef COMPATIBLE if (strong_comp) { - compFile cf; - char buf[4096]; - int len, err; - - cf = uncompress_open(stdin); - if (cf == NULL) { - fprintf(stderr, "uncompress: not enough memory for strong compression state info\n"); - unlink(ofname); - exit(1); - } - for (;;) { - len = compread(cf, buf, sizeof(buf)); - if (len < 0) { - fprintf(stderr, "uncompress: compread: %s\n", comperror(cf, &err)); - unlink(ofname); - exit(1); - } - if (len == 0) - break; - if (fwrite(buf, 1, len, stdout) != len) { - perror("compress: fwrite"); - unlink(ofname); - exit(1); - } - } - if (compclose(cf) != Z_OK) { - fprintf(stderr, "compress: compclose: %s\n", comperror(cf, &err)); - unlink(ofname); - exit(1); - } + strong_decompress(); return; } #endif /* COMPATIBLE */ @@ -1421,6 +1363,121 @@ in_stack(c, stack_top) } #endif /* DEBUG */ +/* Strong compression mode. These are just hooks into zlib. */ + +strong_compress() +{ + register compFile cf; + register char *buf; + register int len, buflen; + struct stat stbuf; + int err; + char *errmsg; + + cf = compress_open(stdout, strong_level); + if (cf == NULL) { + fprintf(stderr, + "compress: not enough memory for strong compression state info\n"); + unlink(ofname); + exit(1); + } + fstat(0, &stbuf); + buflen = stbuf.st_blksize; + buf = malloc(buflen); + if (buf == NULL) { + fprintf(stderr, + "compress: not enough memory for strong compression buffer\n"); + unlink(ofname); + exit(1); + } + for (;;) { + len = read(0, buf, buflen); + if (len < 0) { + perror(zcat_flg ? "stdin" : quiet ? "input" : NULL); + unlink(ofname); + exit(1); + } + if (len == 0) + break; + compwrite(cf, buf, len); + errmsg = comperror(cf, &err); + if (err != Z_OK) { + fprintf(stderr, "%s: %s\n", ofname, errmsg); + unlink ( ofname ); + exit ( 1 ); + } + } + free(buf); + if (compclose(cf) != Z_OK) { + fprintf(stderr, "%s: %s\n", ofname, comperror(cf, &err)); + unlink ( ofname ); + exit ( 1 ); + } +} + +strong_decompress() +{ + register compFile cf; + register char *buf; + register int len, buflen; + struct stat stbuf; + int err; + char *errmsg; + long pos; + + cf = uncompress_open(stdin); + if (cf == NULL) { + fprintf(stderr, + "uncompress: not enough memory for strong compression state info\n"); + unlink(ofname); + exit(1); + } + fstat(1, &stbuf); + buflen = stbuf.st_blksize; + buf = malloc(buflen); + if (buf == NULL) { + fprintf(stderr, + "uncompress: not enough memory for strong compression buffer\n"); + unlink(ofname); + exit(1); + } + for (;;) { + len = compread(cf, buf, buflen); + if (len > 0) { + if (write(1, buf, len) != len) + writeerr(); + } + errmsg = comperror(cf, &err); + if (err == Z_STREAM_END) + break; + if (err != Z_OK) { + if (err == Z_ERRNO) { + perror(zcat_flg ? "stdin" : quiet ? "input" : NULL); + unlink(ofname); + exit(1); + } else { + fprintf(stderr, "%s\n", errmsg); + unlink(ofname); + exit(1); + } + } + } + free(buf); + fstat(0, &stbuf); + if ((stbuf.st_mode & S_IFMT) == S_IFREG) { + pos = ftell(stdin); + if (pos < stbuf.st_size) + fprintf(stderr, + "warning: compressed data ends at %ld, appendage follows (ignored)\n", + pos); + } + if (compclose(cf) != Z_OK) { + fprintf(stderr, "%s\n", comperror(cf, &err)); + unlink(ofname); + exit(1); + } +} + writeerr() { perror ( ofname ); @@ -1606,7 +1663,7 @@ long int num, den; version() { - fprintf(stderr, "%s, Berkeley 5.10 1/19/99\n", rcs_ident); + fprintf(stderr, "%s, Berkeley 5.11 1/30/03\n", rcs_ident); fprintf(stderr, "Options: "); #ifdef vax fprintf(stderr, "vax, "); diff --git a/ucb/compress/gzcompat.c b/ucb/compress/gzcompat.c index a04256ff..9c47c3db 100644 --- a/ucb/compress/gzcompat.c +++ b/ucb/compress/gzcompat.c @@ -1,5 +1,5 @@ #ifndef lint -static char sccsid[] = "@(#)gzcompat.c 5.1 (Berkeley) 1/21/99"; +static char sccsid[] = "@(#)gzcompat.c 5.2 (Berkeley) 12/21/00"; #endif /* gzcompat converts between compress -s and gzip formats. */ @@ -28,67 +28,88 @@ struct gzheader { #define OS_UNIX 0x03 -int main() +int main(argc, argv) + char **argv; { + FILE *infile; + char *inname; char buf[4096]; int len; int mkgzip; + if (argc == 1) { + infile = stdin; + inname = "stdin"; + } else if (argc == 2) { + inname = argv[1]; + infile = fopen(inname, "r"); + if (infile == NULL) { + perror(inname); + exit(1); + } + } else { + fprintf(stderr, "usage: %s [infile]\n", argv[0]); + exit(1); + } + /* First read the input magic number. */ - len = fread(buf, 1, 2, stdin); + len = fread(buf, 1, 2, infile); if (len < 0) { - perror("stdin"); - return 1; + perror(inname); + exit(1); } if (len != 2) { - fprintf(stderr, "stdin: not in compress -s or gzip format\n"); - return 1; + fprintf(stderr, "%s: not in compress -s or gzip format\n", + inname); + exit(1); } if (buf[0] == magic_strong[0] && buf[1] == magic_strong[1]) mkgzip = 1; else if (buf[0] == magic_gzip[0] && buf[1] == magic_gzip[1]) mkgzip = 0; else { - fprintf(stderr, "stdin: not in compress -s or gzip format\n"); - return 1; + fprintf(stderr, "%s: not in compress -s or gzip format\n", + inname); + exit(1); } /* Now read and check the gzip header if necessary. */ if (!mkgzip) { - len = fread(&gzheader, sizeof(struct gzheader), 1, stdin); + len = fread(&gzheader, sizeof(struct gzheader), 1, infile); if (len < 0) { - perror("stdin"); - return 1; + perror(inname); + exit(1); } if (len != 1) { - fprintf(stderr, "stdin: invalid gzip header\n"); - return 1; + fprintf(stderr, "%s: invalid gzip header\n", inname); + exit(1); } if (gzheader.cm != CM_DEFLATE || gzheader.flg & FRSVD) { - fprintf(stderr, "stdin: invalid gzip header\n"); - return 1; + fprintf(stderr, "%s: invalid gzip header\n", inname); + exit(1); } if (gzheader.flg & FEXTRA) { int count; - count = getchar(); - if (ferror(stdin)) { - perror("stdin"); - return 1; + count = getc(infile); + if (ferror(infile)) { + perror(inname); + exit(1); } - if (feof(stdin)) { - fprintf(stderr, "stdin: invalid gzip header\n"); - return 1; + if (feof(infile)) { + fprintf(stderr, "%s: invalid gzip header\n", + inname); + exit(1); } while (count) { - getchar(); - if (ferror(stdin)) { - perror("stdin"); - return 1; + getc(infile); + if (ferror(infile)) { + perror(inname); + exit(1); } - if (feof(stdin)) { - fprintf(stderr, "stdin: invalid gzip header\n"); - return 1; + if (feof(infile)) { + fprintf(stderr, "%s: invalid gzip header\n", inname); + exit(1); } count--; } @@ -97,14 +118,14 @@ int main() int ch; do { - ch = getchar(); - if (ferror(stdin)) { - perror("stdin"); - return 1; + ch = getc(infile); + if (ferror(infile)) { + perror(inname); + exit(1); } - if (feof(stdin)) { - fprintf(stderr, "stdin: invalid gzip header\n"); - return 1; + if (feof(infile)) { + fprintf(stderr, "%s: invalid gzip header\n", inname); + exit(1); } } while (ch); @@ -113,27 +134,28 @@ int main() int ch; do { - ch = getchar(); - if (ferror(stdin)) { - perror("stdin"); - return 1; + ch = getc(infile); + if (ferror(infile)) { + perror(inname); + exit(1); } - if (feof(stdin)) { - fprintf(stderr, "stdin: invalid gzip header\n"); - return 1; + if (feof(infile)) { + fprintf(stderr, "%s: invalid gzip header\n", inname); + exit(1); } } while (ch); } if (gzheader.flg & FHCRC) { - len = fread(buf, 1, 2, stdin); + len = fread(buf, 1, 2, infile); if (len < 0) { - perror("stdin"); - return 1; + perror(inname); + exit(1); } if (len != 2) { - fprintf(stderr, "stdin: invalid gzip header\n"); - return 1; + fprintf(stderr, "%s: invalid gzip header\n", + inname); + exit(1); } } } @@ -142,13 +164,13 @@ int main() if (mkgzip) { if (fwrite(magic_gzip, 1, 2, stdout) != 2) { perror("stdout"); - return 1; + exit(1); } } else { if (fwrite(magic_strong, 1, 2, stdout) != 2) { perror("stdout"); - return 1; + exit(1); } } @@ -164,25 +186,27 @@ int main() gzheader.os = OS_UNIX; if (fwrite(&gzheader, sizeof(struct gzheader), 1, stdout) != 1) { perror("stdout"); - return 1; + exit(1); } } /* Now actually copy the data! */ for (;;) { - len = fread(buf, 1, sizeof(buf), stdin); + len = fread(buf, 1, sizeof(buf), infile); if (len < 0) { - perror("stdin"); - return 1; + perror(inname); + exit(1); } if (len == 0) break; if (fwrite(buf, 1, len, stdout) != len) { perror("stdout"); - return 1; + exit(1); } } /* I can't believe we're done! */ - return 0; + if (argc == 2) + fclose(infile); + return(0); } diff --git a/ucb/ftp/cmds.c b/ucb/ftp/cmds.c index 8b7b944b..e88c2e2a 100644 --- a/ucb/ftp/cmds.c +++ b/ucb/ftp/cmds.c @@ -16,7 +16,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)cmds.c 5.8 (Berkeley) 6/29/88"; +static char sccsid[] = "@(#)cmds.c 5.9 (Berkeley) 6/12/03"; #endif /* not lint */ /* @@ -989,6 +989,13 @@ ls(argc, argv) { char *cmd; + if (argc == 2 && (argv[1][0] == '|' || argv[1][0] == '>')) { + argc++; + argv[2] = argv[1]; + argv[1] = NULL; + if (argv[2][0] == '>') + argv[2]++; + } if (argc < 2) argc++, argv[1] = NULL; if (argc < 3) diff --git a/ucb/sccs.c b/ucb/sccs.c index b471332d..6fc214aa 100644 --- a/ucb/sccs.c +++ b/ucb/sccs.c @@ -22,7 +22,7 @@ char copyright[] = #endif /* not lint */ #ifndef lint -static char sccsid[] = "@(#)sccs.c 5.8 (Berkeley) 9/7/99"; +static char sccsid[] = "@(#)sccs.c 5.9 (Berkeley) 5/27/01"; #endif /* not lint */ # include @@ -195,7 +195,7 @@ struct sccsprog SccsProg[] = "comb", PROG, 0, PROGPATH(comb), "delta", PROG, 0, PROGPATH(delta), "get", PROG, 0, PROGPATH(get), - "help", PROG, NO_SDOT, PROGPATH(help), + "help", PROG, NO_SDOT, PROGPATH(sccshelp), "prs", PROG, 0, PROGPATH(prs), "prt", PROG, 0, PROGPATH(prt), "rmdel", PROG, REALUSER, PROGPATH(rmdel), @@ -214,6 +214,7 @@ struct sccsprog SccsProg[] = "unedit", UNEDIT, NO_SDOT, NULL, "diffs", DIFFS, NO_SDOT|REALUSER, NULL, "-diff", DODIFF, NO_SDOT|REALUSER, PROGPATH(bdiff), + "nprt", CMACRO, NO_SDOT, "prt -n -a -i", "print", CMACRO, 0, "prs -e/get -p -m -s", "branch", CMACRO, NO_SDOT, "get:ixrc -e -b/delta: -s -n -ybranch-place-holder/get:pl -e -t -g", diff --git a/ucb/talk/Makefile b/ucb/talk/Makefile index f8f15c09..aa58ba9b 100644 --- a/ucb/talk/Makefile +++ b/ucb/talk/Makefile @@ -91,7 +91,7 @@ get_addrs.o: /usr/include/sys/socket.h /usr/include/netinet/in.h talk.h get_addrs.o: /usr/include/curses.h /usr/include/stdio.h /usr/include/sgtty.h get_addrs.o: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h get_addrs.o: /usr/include/sys/ttydev.h /usr/include/utmp.h /usr/include/errno.h -get_addrs.o: /usr/include/netdb.h +get_addrs.o: /usr/include/arpa/inet.h /usr/include/netdb.h ctl_transact.o: ctl_transact.c talk_ctl.h /usr/include/sys/types.h ctl_transact.o: /usr/include/protocols/talkd.h /usr/include/sys/types.h ctl_transact.o: /usr/include/sys/socket.h /usr/include/netinet/in.h talk.h diff --git a/ucb/talk/get_addrs.c b/ucb/talk/get_addrs.c index 8461167e..9bf39a8a 100644 --- a/ucb/talk/get_addrs.c +++ b/ucb/talk/get_addrs.c @@ -16,10 +16,11 @@ */ #ifndef lint -static char sccsid[] = "@(#)get_addrs.c 5.4 (Berkeley) 6/29/88"; +static char sccsid[] = "@(#)get_addrs.c 5.5 (Berkeley) 5/9/03"; #endif /* not lint */ #include "talk_ctl.h" +#include #include get_addrs(my_machine_name, his_machine_name) @@ -27,6 +28,7 @@ get_addrs(my_machine_name, his_machine_name) { struct hostent *hp; struct servent *sp; + long ip; msg.pid = htonl(getpid()); /* look up the address of the local host */ @@ -43,14 +45,20 @@ get_addrs(my_machine_name, his_machine_name) * network address, otherwise do a lookup... */ if (strcmp(his_machine_name, my_machine_name)) { - hp = gethostbyname(his_machine_name); - if (hp == (struct hostent *) 0 ) { - fprintf(stderr, - "talk: %s: Can't figure out network address.\n", - his_machine_name); - exit(-1); + ip = inet_addr(his_machine_name); + if (ip != -1) + bcopy(&ip, (char *) &his_machine_addr, sizeof(ip)); + else { + hp = gethostbyname(his_machine_name); + if (hp == (struct hostent *) 0 ) { + fprintf(stderr, + "talk: %s: Can't figure out network address.\n", + his_machine_name); + exit(-1); + } + bcopy(hp->h_addr, (char *) &his_machine_addr, + hp->h_length); } - bcopy(hp->h_addr, (char *) &his_machine_addr, hp->h_length); } else his_machine_addr = my_machine_addr; /* find the server's port */ diff --git a/ucb/w.c b/ucb/w.c index de2778d3..34409c67 100644 --- a/ucb/w.c +++ b/ucb/w.c @@ -11,7 +11,7 @@ char copyright[] = #endif not lint #ifndef lint -static char sccsid[] = "@(#)w.c 5.9 (Berkeley) 1/3/88"; +static char sccsid[] = "@(#)w.c 5.10 (Berkeley) 1/1/03"; #endif not lint /* @@ -138,6 +138,7 @@ main(argc, argv) char *cp; register int curpid, empty; struct winsize win; + struct tm *tm; login = (argv[0][0] == '-'); cp = rindex(argv[0], '/'); @@ -211,7 +212,8 @@ main(argc, argv) time(&now); if (header) { /* Print time of day */ - prtat(&now); + tm = localtime(&now); + printf(" %2d:%02d", tm->tm_hour, tm->tm_min); /* * Print how long system has been up. @@ -246,7 +248,7 @@ main(argc, argv) nusers++; } rewind(ut); - printf(" %d user%s", nusers, nusers>1?"s":""); + printf(" %d user%s", nusers, nusers!=1?"s":""); /* * Print 1, 5, and 15 minute load averages. @@ -452,30 +454,25 @@ prttime(tim, tail) printf("%s", tail); } -char *weekday[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; +char *weekday[] = { "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" }; char *month[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; -/* prtat prints a 12 hour time given a pointer to a time of day */ +/* prtat prints a 24 hour time given a pointer to a time of day */ prtat(time) - long *time; + register long *time; { - struct tm *p; - register int hr, pm; + register struct tm *p; p = localtime(time); - hr = p->tm_hour; - pm = (hr > 11); - if (hr > 11) - hr -= 12; - if (hr == 0) - hr = 12; if (now - *time <= 18 * HR) - prttime(hr * 60 + p->tm_min, pm ? "pm" : "am"); + printf(" %2d:%02d", p->tm_hour, p->tm_min); else if (now - *time <= 7 * DAY) - printf(" %s%2d%s", weekday[p->tm_wday], hr, pm ? "pm" : "am"); + printf(" %s%2d:%02d", weekday[p->tm_wday], p->tm_hour, + p->tm_min); else - printf(" %2d%s%2d", p->tm_mday, month[p->tm_mon], p->tm_year); + printf(" %2d%s%02d", p->tm_mday, month[p->tm_mon], + p->tm_year % 100); } /* diff --git a/usr.bin/at/Makefile b/usr.bin/at/Makefile index db97bca1..898a11b5 100644 --- a/usr.bin/at/Makefile +++ b/usr.bin/at/Makefile @@ -72,21 +72,22 @@ FRC: atq: atq.c /usr/include/stdio.h /usr/include/sys/types.h atq: /usr/include/sys/file.h /usr/include/sys/dir.h /usr/include/sys/stat.h -atq: /usr/include/sys/time.h /usr/include/time.h /usr/include/pwd.h -atq: /usr/include/ctype.h +atq: /usr/include/sys/time.h /usr/include/time.h /usr/include/tzfile.h +atq: /usr/include/pwd.h /usr/include/ctype.h atrm: atrm.c /usr/include/stdio.h /usr/include/pwd.h /usr/include/ctype.h atrm: /usr/include/sys/types.h /usr/include/sys/dir.h /usr/include/sys/file.h atrm: /usr/include/sys/stat.h -at: at.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/signal.h -at: /usr/include/machine/trap.h /usr/include/pwd.h /usr/include/sys/param.h -at: /usr/include/sys/types.h /usr/include/signal.h +at: at.c /usr/include/sys/param.h /usr/include/sys/types.h +at: /usr/include/signal.h /usr/include/machine/trap.h at: /usr/include/machine/machparam.h /usr/include/machine/endian.h -at: /usr/include/sys/time.h /usr/include/time.h /usr/include/sys/file.h +at: /usr/include/sys/file.h /usr/include/sys/time.h /usr/include/time.h +at: /usr/include/stdio.h /usr/include/ctype.h /usr/include/signal.h +at: /usr/include/pwd.h /usr/include/tzfile.h atrun: atrun.c /usr/include/stdio.h /usr/include/sys/param.h atrun: /usr/include/sys/types.h /usr/include/signal.h atrun: /usr/include/machine/trap.h /usr/include/machine/machparam.h atrun: /usr/include/machine/endian.h /usr/include/sys/dir.h atrun: /usr/include/sys/file.h /usr/include/sys/time.h /usr/include/time.h -atrun: /usr/include/sys/stat.h /usr/include/pwd.h +atrun: /usr/include/sys/stat.h /usr/include/pwd.h /usr/include/tzfile.h # IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/usr.bin/at/at.c b/usr.bin/at/at.c index f3975874..25fdb6b8 100644 --- a/usr.bin/at/at.c +++ b/usr.bin/at/at.c @@ -11,7 +11,7 @@ char copyright[] = #endif not lint #ifndef lint -static char sccsid[] = "@(#)at.c 5.5 (Berkeley) 1/18/87"; +static char sccsid[] = "@(#)at.c 5.6 (Berkeley) 12/31/99"; #endif not lint /* @@ -27,13 +27,14 @@ static char sccsid[] = "@(#)at.c 5.5 (Berkeley) 1/18/87"; * University of California @ Berkeley * */ +#include +#include +#include #include #include #include #include -#include -#include -#include +#include #define HOUR 100 /* 1 hour (using military time) */ #define HALFDAY (12 * HOUR) /* half a day (12 hours) */ @@ -120,7 +121,7 @@ struct times { int min; /* min. of hour that job is to be run */ } attime, nowtime; -char atfile[100]; /* name of spoolfile "yy.ddd.hhhh.??" */ +char atfile[100]; /* spoolfile name "yyyy.ddd.hhhh.??" */ char *getenv(); /* get info on user's environment */ char **environ; /* user's environment */ FILE *spoolfile; /* spool file */ @@ -481,8 +482,8 @@ FILE **spoolfile; } /* - * Create the filename for the spoolfile. The format is "yy.ddd.mmmm.??" - * where "yy" is the year the job will be run, "ddd" the day of year, + * Create the filename for the spoolfile. The format is "yyyy.ddd.mmmm.??" + * where "yyyy" is the year the job will be run, "ddd" the day of year, * "mmmm" the hour and minute, and "??" a scratch value used to dis- * tinguish between two files that are to be run at the same time. */ @@ -496,7 +497,7 @@ char *atfile; int i; /* scratch variable */ for (i=0; ; i += 53) { - sprintf(atfile, "%s/%02d.%03d.%02d%02d.%02d", ATDIR, year, + sprintf(atfile, "%s/%04d.%03d.%02d%02d.%02d", ATDIR, year, dayofyear, hour, minute, (getpid() + i) % 100); /* @@ -703,16 +704,6 @@ countdays() return(dayofyear); } -/* - * Is a year a leap year? - */ -isleap(year) -int year; - -{ - return((year%4 == 0 && year%100 != 0) || year%100 == 0); -} - getdateindex(date) char *date; { @@ -765,7 +756,7 @@ struct times *attime; } now = localtime(&time.tv_sec); - attime->year = nowtime->year = now->tm_year; + attime->year = nowtime->year = now->tm_year + TM_YEAR_BASE; attime->yday = nowtime->yday = now->tm_yday; attime->mon = nowtime->mon = now->tm_mon; attime->mday = nowtime->mday = now->tm_mday; diff --git a/usr.bin/at/atq.c b/usr.bin/at/atq.c index 2766d807..cbd1b9c5 100644 --- a/usr.bin/at/atq.c +++ b/usr.bin/at/atq.c @@ -11,7 +11,7 @@ char copyright[] = #endif not lint #ifndef lint -static char sccsid[] = "@(#)atq.c 5.1 (Berkeley) 6/6/85"; +static char sccsid[] = "@(#)atq.c 5.2 (Berkeley) 12/31/99"; #endif not lint /* @@ -36,6 +36,7 @@ static char sccsid[] = "@(#)atq.c 5.1 (Berkeley) 6/6/85"; # include # include # include +# include # include # include @@ -361,7 +362,7 @@ plastrun() * Print the time that the spooling area was last updated. */ printf("\n LAST EXECUTION TIME: %s ",mthnames[loc->tm_mon]); - printf("%d, 19%d ",loc->tm_mday,loc->tm_year); + printf("%d, %d ",loc->tm_mday,loc->tm_year + TM_YEAR_BASE); printf("at %d:%02d\n\n",loc->tm_hour,loc->tm_min); } @@ -403,13 +404,13 @@ char *filename; * Pick off the necessary info from the file name and convert the day * of year to a month and day of month. */ - sscanf(filename,"%2d.%3d.%2d%2d",&year,&yday,&hour,&min); + sscanf(filename,"%4d.%3d.%2d%2d",&year,&yday,&hour,&min); get_mth_day(year,yday,&month,&day); /* * Format the execution date of a job. */ - sprintf(date,"%3s %2d, 19%2d %02d:%02d",mthnames[month], + sprintf(date,"%3s %2d, %4d %02d:%02d",mthnames[month], day, year,hour,min); /* @@ -444,7 +445,7 @@ int year, dayofyear, *month, *day; /* * Are we dealing with a leap year? */ - leap = ((year%4 == 0 && year%100 != 0) || year%100 == 0); + leap = isleap(year); /* * Calculate the month of the year and day of the month. @@ -510,7 +511,7 @@ char *file; /* * Do we want to include a file in the queue? (used by "scandir") We are looking - * for files with following syntax: yy.ddd.hhhh. so the test is made to see if + * for files with following syntax: yyyy.ddd.hhhh. so the test is made to see if * the file name has three dots in it. This test will suffice since the only * other files in /usr/spool/at don't have any dots in their name. */ diff --git a/usr.bin/at/atrm.c b/usr.bin/at/atrm.c index fcffb6da..0af9e91d 100644 --- a/usr.bin/at/atrm.c +++ b/usr.bin/at/atrm.c @@ -11,7 +11,7 @@ char copyright[] = #endif not lint #ifndef lint -static char sccsid[] = "@(#)atrm.c 5.3 (Berkeley) 1/18/87"; +static char sccsid[] = "@(#)atrm.c 5.4 (Berkeley) 12/31/99"; #endif not lint /* @@ -244,7 +244,7 @@ usage() /* * Do we want to include a file in the queue? (used by "scandir") We are looking - * for files with following syntax: yy.ddd.hhhh. so the test is made to see if + * for files with following syntax: yyyy.ddd.hhhh. so the test is made to see if * the file name has three dots in it. This test will suffice since the only * other files in /usr/spool/at don't have any dots in their name. */ diff --git a/usr.bin/at/atrun.c b/usr.bin/at/atrun.c index b2c48394..65b8d81a 100644 --- a/usr.bin/at/atrun.c +++ b/usr.bin/at/atrun.c @@ -11,7 +11,7 @@ char copyright[] = #endif not lint #ifndef lint -static char sccsid[] = "@(#)atrun.c 5.5 (Berkeley) 11/26/86"; +static char sccsid[] = "@(#)atrun.c 5.6 (Berkeley) 12/31/99"; #endif not lint /* @@ -36,6 +36,7 @@ static char sccsid[] = "@(#)atrun.c 5.5 (Berkeley) 11/26/86"; #endif # include # include +# include # define ATDIR "/usr/spool/at" /* spooling area */ # define TMPDIR "/tmp" /* area for temporary files */ @@ -47,7 +48,7 @@ static char sccsid[] = "@(#)atrun.c 5.5 (Berkeley) 11/26/86"; # define LASTFILE "/usr/spool/at/lasttimedone" /* update time file */ -char nowtime[11]; /* time it is right now (yy.ddd.hhmm) */ +char nowtime[13]; /* time right now (yyyy.ddd.hhmm) */ char errfile[25]; /* file where we redirect errors to */ @@ -97,7 +98,7 @@ char **argv; } /* - * Create a string with the syntax yy.ddd.hhmm that represents the + * Create a string with the syntax yyyy.ddd.hhmm that represents the * time it is right now. This string is used to determine whether a * job should be run. */ @@ -124,9 +125,9 @@ char *nowtime; /* * Create a string to be used in determining whether or not a job - * should be run. The syntax is yy.ddd.hhmm . + * should be run. The syntax is yyyy.ddd.hhmm . */ - sprintf(nowtime,"%d.%03d.%02d%02d",now->tm_year, + sprintf(nowtime,"%d.%03d.%02d%02d",now->tm_year + TM_YEAR_BASE, now->tm_yday, now->tm_hour, now->tm_min); @@ -484,7 +485,7 @@ struct direct *direntry; * If a directory entry represents a job, determine if it's time to * run it. */ - return(strncmp(direntry->d_name, nowtime,11) <= 0); + return(strncmp(direntry->d_name, nowtime,13) <= 0); } /* diff --git a/usr.bin/roff/common_source/n1.c b/usr.bin/roff/common_source/n1.c index ef7a9696..bec4ca82 100644 --- a/usr.bin/roff/common_source/n1.c +++ b/usr.bin/roff/common_source/n1.c @@ -1,5 +1,5 @@ #ifndef lint -static char sccsid[] = "@(#)n1.c 4.8 7/21/87"; +static char sccsid[] = "@(#)n1.c 4.9 5/28/02"; #endif lint #include "tdef.h" @@ -142,7 +142,7 @@ extern struct contab { unsigned mx; }x; }contab[NM]; -int ms[] = {31,28,31,30,31,30,31,31,30,31,30,31}; +extern int fmt[NN]; #ifndef NROFF int acctf; #endif @@ -403,7 +403,9 @@ cvtime() tmp = localtime(&t); v.dy = tmp->tm_mday; v.dw = tmp->tm_wday + 1; - v.yr = tmp->tm_year; + v.yr = tmp->tm_year % 100; + fmt[2] = 2; /* make \n(yr 2 digits */ + v.cn = 19 + tmp->tm_year / 100; v.mo = tmp->tm_mon + 1; } cnum(a) diff --git a/usr.bin/roff/common_source/ni.c b/usr.bin/roff/common_source/ni.c index 736cfd51..72556672 100644 --- a/usr.bin/roff/common_source/ni.c +++ b/usr.bin/roff/common_source/ni.c @@ -1,5 +1,5 @@ #ifndef lint -static char sccsid[] = "@(#)ni.c 4.2 9/15/87"; +static char sccsid[] = "@(#)ni.c 4.3 5/28/02"; #endif lint #include "tdef.h" @@ -19,7 +19,8 @@ int r[NN] = { PAIR('d','l'), PAIR('s','t'), PAIR('s','b'), - PAIR('c','.')}; + PAIR('c','.'), + PAIR('c','n')}; int pto = 10000; int pfrom = 1; int print = 1; diff --git a/usr.bin/roff/common_source/tdef.h b/usr.bin/roff/common_source/tdef.h index a4839c1f..88b100a1 100644 --- a/usr.bin/roff/common_source/tdef.h +++ b/usr.bin/roff/common_source/tdef.h @@ -1,4 +1,4 @@ -/* tdef.h 4.8 87/04/30 */ +/* tdef.h 4.9 02/05/28 */ #include #undef CMASK /* XXX */ @@ -52,7 +52,7 @@ #define NN 132 /*number registers*/ #endif /* #define NN 200 */ -#define NNAMES 14 /*predefined reg names*/ +#define NNAMES 15 /*predefined reg names*/ #define NIF 15 /*if-else nesting*/ #define NS 64 /*name buffer*/ #define NTM 256 /*tm buffer*/ diff --git a/usr.bin/roff/common_source/v.h b/usr.bin/roff/common_source/v.h index b691ba7b..3489d991 100644 --- a/usr.bin/roff/common_source/v.h +++ b/usr.bin/roff/common_source/v.h @@ -1,4 +1,4 @@ -/* v.h 4.2 83/08/11 */ +/* v.h 4.3 02/05/28 */ -struct v {int pn,nl,yr,hp,ct,dn,mo,dy,dw,ln,dl,st,sb,cd; +struct v {int pn,nl,yr,hp,ct,dn,mo,dy,dw,ln,dl,st,sb,cd,cn; int vxx[NN-NNAMES];} v ; diff --git a/usr.bin/sccscmds/cmd/get.c b/usr.bin/sccscmds/cmd/get.c index 973dec8c..0ffac18a 100644 --- a/usr.bin/sccscmds/cmd/get.c +++ b/usr.bin/sccscmds/cmd/get.c @@ -4,7 +4,7 @@ # include "../hdr/had.h" # include -static char Sccsid[] = "@(#)get.c 4.9 2/2/88"; +static char Sccsid[] = "@(#)get.c 4.10 12/14/99"; int Debug = 0; struct packet gpkt; @@ -474,11 +474,18 @@ register char *old, *new; *new++ = *old++; if (*old != '/') *new++ = *old++; + old++; *new++ = ','; *new++ = ' '; - *new++ = '1'; *new++ = '9'; /* works for this century at least */ - *new++ = *++old; - *new++ = *++old; + if (*old >= '7') { + *new++ = '1'; + *new++ = '9'; + } else { + *new++ = '2'; + *new++ = '0'; + } + *new++ = *old++; + *new++ = *old++; *new = '\0'; } diff --git a/usr.bin/sccscmds/cmd/makefile b/usr.bin/sccscmds/cmd/makefile index 0d04fd6c..26a9fe77 100644 --- a/usr.bin/sccscmds/cmd/makefile +++ b/usr.bin/sccscmds/cmd/makefile @@ -1,4 +1,4 @@ -# makefile 4.6 99/01/07 +# makefile 4.7 01/05/27 # CFLAGS= -O -w LIBS= ../libpw.a ../libPW.a ../libwrt.a @@ -121,7 +121,7 @@ install: all ln ${DESTDIR}/usr/bin/chghist ${DESTDIR}/usr/bin/rmdel install -s comb ${DESTDIR}/usr/bin install -s delta ${DESTDIR}/usr/bin - install -s help ${DESTDIR}/usr/bin + install -s help ${DESTDIR}/usr/bin/sccshelp install -s prt ${DESTDIR}/usr/bin install -s prs ${DESTDIR}/usr/bin install -c sccsdiff.sh ${DESTDIR}/usr/bin/sccsdiff diff --git a/usr.bin/sccscmds/cmd/prs.c b/usr.bin/sccscmds/cmd/prs.c index 41eb20a9..661b3a34 100644 --- a/usr.bin/sccscmds/cmd/prs.c +++ b/usr.bin/sccscmds/cmd/prs.c @@ -1,7 +1,11 @@ + +#ifndef lint +static char *sccsid = "@(#)prs.c 4.5 (Berkeley) 5/27/01"; +#endif lint + /*************************************************************************/ /* */ -/* prs [-d] [-r] [-c] [-a] */ -/* [-y] file ... */ +/* prs [-d] [-r] [-l] [-e] [-a] file ... */ /* */ /*************************************************************************/ @@ -23,17 +27,26 @@ # include "../hdr/defines.h" # include "../hdr/had.h" -static char Sccsid[] = "@(#)prs.c 4.4 1/7/99"; +struct stat Statbuf; +char Null[1]; +char Error[128]; +char *getwd(); char had[26]; -char Getpgm[] = "/usr/bin/get"; +char Getpgm[] = "get"; +static char defline[] = ":Dt:\t:DL:\nMRs:\n:MR:COMMENTS:\n:C:"; +char *sid_ba(); char Sid[32]; char Mod[16]; +char Olddir[BUFSIZ]; +char Pname[BUFSIZ]; +char Dir[BUFSIZ]; char *Type; char Deltadate[18]; char *Deltatime; -char tempskel[] = "/tmp/prXXXXXX"; /* used to generate temp file names */ - +char tempskel[] = "/tmp/prXXXXXX"; /* used to generate temp + file names + */ char untmp[32], uttmp[32], cmtmp[32]; char mrtmp[32], bdtmp[32]; FILE *UNiop; @@ -41,13 +54,13 @@ FILE *UTiop; FILE *CMiop; FILE *MRiop; FILE *BDiop; -char line[BUFSIZ]; +char line[BUFSIZ], *getline(); int num_files; -long cutoff; -long revcut; -char *dataspec; +int HAD_CM, HAD_MR, HAD_FD, HAD_BD, HAD_UN; +char dt_line[BUFSIZ]; +char *dataspec = &defline[0]; char iline[BUFSIZ], xline[BUFSIZ], gline[BUFSIZ]; -char *maket(); +FILE *maket(); struct packet gpkt; struct sid sid; struct tm *Dtime; @@ -59,7 +72,8 @@ char *argv[]; register int j; register char *p; char c; - extern prs(); + char *sid_ab(); + extern process(); extern int Fcnt; /* @@ -68,7 +82,6 @@ char *argv[]; */ Fflags = FTLMSG | FTLCLN | FTLEXIT; - /* The following loop processes keyletters and arguments. Note that these are processed only once for each @@ -78,31 +91,25 @@ char *argv[]; if (argv[j][0] == '-' && (c = argv[j][1])) { p = &argv[j][2]; switch (c) { - - case 'r': /* delta cutoff */ + case 'r': /* specified SID */ if (*p) { if (invalid(p)) fatal("invalid sid (co8)"); sid_ab(p,&sid); } break; - - case 'c': /* time cutoff */ - if (*p && date_ab(p,&cutoff)) - fatal("bad date/time (cm5)"); - break; - - case 'y': /* reverse time cutoff */ - if (*p && date_ab(p,&revcut)) - fatal ("bad date/time (cm5)"); - break; - - case 'a': - if (*p) - fatal("value after a arg (cm7)"); + case 'l': /* later than specified SID */ + case 'e': /* earlier than specified SID */ + case 'a': /* print all delta types (R or D) */ + if (*p) { + sprintf(Error, + "value after %c arg (cm7)",c); + fatal(Error); + } break; case 'd': /* dataspec line */ - dataspec = p; + if (*p) + dataspec = p; break; default: fatal("unknown key letter (cm1)"); @@ -118,10 +125,11 @@ char *argv[]; if (num_files == 0) fatal("missing file arg (cm3)"); - if (!HADD) - exit(0); - if (HADC && HADY) - fatal("both 'c' and 'y' keyletters specified (prs2)"); + /* + check the dataspec line and determine if any tmp files + need be created + */ + ck_spec(dataspec); setsig(); @@ -133,43 +141,59 @@ char *argv[]; Fflags |= FTLJMP; /* - Call 'prs' routine for each file argument. + Call 'process' routine for each file argument. */ for (j = 1; j < argc; j++) if (p = argv[j]) - do_file(p,prs); + do_file(p,process); exit(Fcnt ? 1 : 0); } -prs(file) +/* + * This procedure opens the SCCS file and calls all subsequent + * modules to perform 'prs'. Once the file is finished, process + * returns to 'main' to process any other possible files. +*/ +process(file) register char *file; { - int n; extern char had_dir, had_standinp; + static int pr_fname = 0; + + if (setjmp(Fjmp)) /* set up to return here from 'fatal' */ + return; /* and return to caller of 'process' */ - if (setjmp(Fjmp)) - return; sinit(&gpkt,file,1); /* init packet and open SCCS file */ - gpkt.p_reqsid.s_rel = sid.s_rel; - gpkt.p_reqsid.s_lev = sid.s_lev; - gpkt.p_reqsid.s_br = sid.s_br; - gpkt.p_reqsid.s_seq = sid.s_seq; - gpkt.p_cutoff = cutoff; - gpkt.p_reopen = 1; + /* + move value of global sid into gpkt.p_reqsid for + later comparision. + */ + + gpkt.p_reqsid = sid; + + gpkt.p_reopen = 1; /* set reopen flag to 1 for 'getline' */ /* - read delta table entries checking only for format error + Read delta table entries checking for format error and + setting the value for the SID if none was specified. + Also check to see if SID specified does in fact exists. */ - deltblchk(&gpkt); + deltblchk(&gpkt); /* create auxiliary file for User Name Section */ - aux_create(UNiop,untmp,EUSERNAM); + if (HAD_UN) + aux_create(UNiop,untmp,EUSERNAM); + else read_to(EUSERNAM,&gpkt); + + /* + store flags (if any) into global array called 'Sflags' + */ doflags(&gpkt); @@ -177,53 +201,121 @@ register char *file; create auxiliary file for the User Text section */ - aux_create(UTiop,uttmp,EUSERTXT); + if (HAD_FD) + aux_create(UTiop,uttmp,EUSERTXT); + else read_to(EUSERTXT,&gpkt); /* indicate to 'getline' that EOF is okay */ + gpkt.p_chkeof = 1; /* read body of SCCS file and create temp file for it */ + while(read_mod(&gpkt)) ; - if (num_files > 1 || had_dir || had_standinp) - printf("\n%s:\n",gpkt.p_file); /* - Here, file has already been re-opened (by 'getline') + Here, file has already been re-opened (by 'getline' after + EOF was encountered by 'read_mod' calling 'getline') */ + getline(&gpkt); /* skip over header line */ + if (!HADD && !HADR && !HADE && !HADL) + HADE = pr_fname = 1; + if (!HADD) + printf("%s:\n\n",file); + /* - call dodeltbl to read delta table entries + call 'dodeltbl' to read delta table entries + and determine which deltas are to be considered */ dodeltbl(&gpkt); + /* + call 'clean_up' to remove any temporary file created + during processing of the SCCS file passed as an argument from + 'do_file' + */ + clean_up(); - return; + return; /* return to caller of 'process' */ } +/* + * This procedure actually reads the delta table entries and + * substitutes pre-defined strings and pointers with the information + * needed during the scanning of the 'dataspec' line +*/ dodeltbl(pkt) register struct packet *pkt; { - int n; + char *n; + int stopdel; + int found; struct deltab dt; struct stats stats; + /* + flags used during determination of deltas to be + considered + */ + + found = stopdel = 0; + /* Read entire delta table. */ - while (getstats(pkt,&stats)) { + while (getstats(pkt,&stats) && !stopdel) { if (getadel(pkt,&dt) != BDELTAB) fmterr(pkt); /* + ignore 'removed' deltas if !HADA keyletter + */ + + if (!HADA && dt.d_type != 'D') { + read_to(EDELTAB,pkt); + continue; + } + + /* + determine whether or not to consider current delta + */ + + if (!(eqsid(&gpkt.p_reqsid, &dt.d_sid)) && !found) { + /* + if !HADL or HADE keyletter skip delta entry + */ + if ((!HADL) || HADE) { + read_to(EDELTAB,pkt); + continue; + } + } + else { + found = 1; + stopdel = 1; + } + /* + if HADE keyletter read remainder of delta table entries + */ + if (HADE && stopdel) + stopdel = 0; + /* + create temp file for MRs and comments + */ + if (HAD_MR) + MRiop = maket(mrtmp); + if (HAD_CM) + CMiop = maket(cmtmp); + /* Read rest of delta entry. */ while ((n = getline(pkt)) != NULL) @@ -231,9 +323,6 @@ register struct packet *pkt; break; else { switch (pkt->p_line[1]) { - case EDELTAB: - scanspec(dataspec,&dt,&stats); - break; case INCLUDE: getit(iline,n); continue; @@ -244,8 +333,28 @@ register struct packet *pkt; getit(gline,n); continue; case MRNUM: + if (HAD_MR) + putmr(n); + continue; case COMMENTS: + if (HAD_CM) + putcom(n); continue; + case EDELTAB: + /* + close temp files for MRs and comments + */ + if (HAD_MR) + fclose(MRiop); + if (HAD_CM) + fclose(CMiop); + scanspec(dataspec,&dt,&stats); + /* + remove temp files for MRs and comments + */ + unlink(mrtmp); + unlink(cmtmp); + break; default: fmterr(pkt); } @@ -264,23 +373,36 @@ register struct packet *pkt; * immediately. */ -static char Zkeywd[5] = "@(#)"; +extern char *Sflags[]; +static char Zkywd[5] = "@(#)"; + scanspec(spec,dtp,statp) char spec[]; struct deltab *dtp; struct stats *statp; { - extern char *Sflags[]; register char *lp; register char *k; union { char str[2]; - short istr; + int istr; } u; register char c; + /* Zero union u (one int may be larger than two char's) + */ + u.istr = 0; + + /* + call 'idsetup' to set certain data keywords for + 'scanspec' substitution + */ idsetup(&dtp->d_sid,&gpkt,&dtp->d_datetime); + + /* + scan 'dataspec' line + */ for(lp = spec; *lp != 0; lp++) { if(lp[0] == ':' && lp[1] != 0 && lp[2] == ':') { c = *++lp; @@ -312,6 +434,8 @@ struct stats *statp; printf("%s",dtp->d_pgmr); break; case 'C': /* Comments */ + if (exists(cmtmp)) + printfile(cmtmp); break; case 'Y': /* Type flag */ printf("%s",Type); @@ -320,159 +444,189 @@ struct stats *statp; printf("%s",Mod); break; case 'W': /* Form of what string */ - printf("%s",Zkeywd); - printf("%s",Mod); - putchar('\t'); - printf("%s",Sid); + printf("%s%s\t%s",Zkywd,Mod,Sid); break; case 'A': /* Form of what string */ - printf("%s",Zkeywd); - printf("%s ",Type); - printf("%s ",Mod); - printf("%s",Sid); - printf("%s",Zkeywd); + printf("%s%s %s %s%s",Zkywd,Type,Mod,Sid,Zkywd); break; case 'Z': /* what string constructor */ - printf("%s",Zkeywd); + printf("%s",Zkywd); break; case 'F': /* File name */ printf("%s",sname(gpkt.p_file)); break; default: putchar(':'); - putchar(c); - putchar(':'); - break; + --lp; + continue; } lp++; } else if(lp[0] == ':' && lp[1] != 0 && lp[2] !=0 && lp[3] == ':') { if (lp[1] == ':') { putchar(':'); - *lp += 2; continue; } - u.str[1] = *++lp; +#if u370 || u3b + u.str[3] = *++lp; + u.str[2] = *++lp; +#else u.str[0] = *++lp; + u.str[1] = *++lp; +#endif switch (u.istr) { - case 'Dl': /* Delta line statistics */ - printf("%05d",statp->s_ins); + case 256*'L'+'D': /* :DL: Delta line statistics */ + printf("%.05d",statp->s_ins); putchar('/'); - printf("%05d",statp->s_del); + printf("%.05d",statp->s_del); putchar('/'); - printf("%05d",statp->s_unc); + printf("%.05d",statp->s_unc); break; - case 'Li': /* Lines inserted by delta */ - printf("%05d",statp->s_ins); + case 256*'i'+'L': /* :Li: Lines inserted by delta */ + printf("%.05d",statp->s_ins); break; - case 'Ld': /* Lines deleted by delta */ - printf("%05d",statp->s_del); + case 256*'d'+'L': /* :Ld: Lines deleted by delta */ + printf("%.05d",statp->s_del); break; - case 'Lu': /* Lines unchanged by delta */ - printf("%05d",statp->s_unc); + case 256*'u'+'L': /* :Lu: Lines unchanged by delta */ + printf("%.05d",statp->s_unc); break; - case 'DT': /* Delta type */ + case 256*'T'+'D': /* :DT: Delta type */ printf("%c",dtp->d_type); break; - case 'Dy': /* Year delta created */ + case 256*'y'+'D': /* :Dy: Year delta created */ printf("%02d",Dtime->tm_year); break; - case 'Dm': /* Month delta created */ + case 256*'m'+'D': /* :Dm: Month delta created */ printf("%02d",(Dtime->tm_mon + 1)); break; - case 'Dd': /* Day delta created */ + case 256*'d'+'D': /* :Dd: Day delta created */ printf("%02d",Dtime->tm_mday); break; - case 'Th': /* Hour delta created */ + case 256*'h'+'T': /* :Th: Hour delta created */ printf("%02d",Dtime->tm_hour); break; - case 'Tm': /* Minutes delta created */ + case 256*'m'+'T': /* :Tm: Minutes delta created */ printf("%02d",Dtime->tm_min); break; - case 'Ts': /* Seconds delta created */ + case 256*'s'+'T': /* :Ts: Seconds delta created */ printf("%02d",Dtime->tm_sec); break; - case 'DS': /* Delta sequence number */ + case 256*'S'+'D': /* :DS: Delta sequence number */ printf("%d",dtp->d_serial); break; - case 'DP': /* Predecessor delta sequence number */ + case 256*'P'+'D': /* :DP: Predecessor delta sequence number */ printf("%d",dtp->d_pred); break; - case 'DI': /* Deltas included,excluded,ignored */ + case 256*'I'+'D': /* :DI: Deltas included,excluded,ignored */ printf("%s",iline); - putchar('/'); - printf("%s",xline); - putchar('/'); - printf("%s",gline); + if (length(xline)) + printf("/%s",xline); + if (length(gline)) + printf("/%s",gline); break; - case 'Di': /* Deltas included */ + case 256*'n'+'D': /* :Dn: Deltas included */ printf("%s",iline); break; - case 'Dx': /* Deltas excluded */ + case 256*'x'+'D': /* :Dx: Deltas excluded */ printf("%s",xline); break; - case 'Dg': /* Deltas ignored */ + case 256*'g'+'D': /* :Dg: Deltas ignored */ printf("%s",gline); break; - case 'MR': /* MR numbers */ + case 256*'R'+'M': /* :MR: MR numbers */ + if (exists(mrtmp)) + printfile(mrtmp); break; - case 'UN': /* User names */ - printfile(untmp); + case 256*'N'+'U': /* :UN: User names */ + if (exists(untmp)) + printfile(untmp); break; - case 'MF': /* MR validation flag */ + case 256*'F'+'M': /* :MF: MR validation flag */ if (Sflags[VALFLAG - 'a']) printf("yes"); else printf("no"); break; - case 'MP': /* MR validation program */ + case 256*'P'+'M': /* :MP: MR validation program */ if (!(k = Sflags[VALFLAG - 'a'])) printf("none"); else printf("%s",k); break; - case 'KF': /* Keyword err/warn flag */ + case 256*'F'+'K': /* :KF: Keyword err/warn flag */ if (Sflags[IDFLAG - 'a']) printf("yes"); else printf("no"); break; - case 'BF': /* Branch flag */ + case 256*'F'+'B': /* :BF: Branch flag */ if (Sflags[BRCHFLAG - 'a']) printf("yes"); else printf("no"); break; - case 'FB': /* Floor Boundry */ + case 256*'B'+'F': /* :FB: Floor Boundry */ if (k = Sflags[FLORFLAG - 'a']) printf("%s",k); else printf("none"); break; - case 'CB': /* Ceiling Boundry */ + case 256*'B'+'C': /* :CB: Ceiling Boundry */ if (k = Sflags[CEILFLAG - 'a']) printf("%s",k); else printf("none"); break; - case 'Ds': /* Default SID */ + case 256*'s'+'D': /* :Ds: Default SID */ if (k = Sflags[DEFTFLAG - 'a']) printf("%s",k); else printf("none"); break; - case 'ND': /* Null delta */ + case 256*'D'+'N': /* :ND: Null delta */ if (Sflags[NULLFLAG - 'a']) printf("yes"); else printf("no"); break; - case 'FD': /* File descriptive text */ - printfile(uttmp); + case 256*'D'+'F': /* :FD: File descriptive text */ + if (exists(uttmp)) + printfile(uttmp); break; - case 'BD': /* Entire file body */ - printfile(bdtmp); + case 256*'D'+'B': /* :BD: Entire file body */ + if (exists(bdtmp)) + printfile(bdtmp); break; - case 'GB': /* Gotten body from 'get' */ + case 256*'B'+'G': /* :GB: Gotten body from 'get' */ getbody(&dtp->d_sid,&gpkt); break; + case 256*'N'+'P': /* :PN: Full pathname of File */ + copy(gpkt.p_file,Dir); + dname(Dir); + if(getwd(Olddir) == NULL) + fatal("getwd failed (prs2)"); + if(chdir(Dir) != 0) + fatal("cannot change directory (prs3)"); + if(getwd(Pname) == NULL) + fatal("getwd failed (prs2)"); + if(chdir(Olddir) != 0) + fatal("cannot change directory (prs3)"); + printf("%s/",Pname); + printf("%s",sname(gpkt.p_file)); + break; + case 256*'L'+'F': /* :FL: Flag descriptions (as in 'prt') */ + printflags(); + break; + case 256*'t'+'D': /* :Dt: Whole delta table line */ + /* + replace newline with null char to make + data keyword simple format + */ + repl(dt_line,'\n','\0'); + k = dt_line; + /* + skip control char, line flag, and blank + */ + k += 3; + printf("%s",k); + break; default: putchar(':'); - printf("%c",u.istr); - putchar(':'); - break; + lp -= 2; + continue; } lp++; } @@ -523,13 +677,20 @@ struct stats *statp; } +/* + * This procedure cleans up all temporary files created during + * 'process' that are used for data keyword substitution +*/ clean_up() { - unlink(untmp); - unlink(uttmp); - unlink(bdtmp); - if (gpkt.p_iop) + if (gpkt.p_iop) /* if SCCS file is open, close it */ fclose(gpkt.p_iop); + xrm(&gpkt); /* remove the 'packet' used for this SCCS file */ + unlink(mrtmp); /* remove all temporary files from /tmp */ + unlink(cmtmp); /* " */ + unlink(untmp); /* " */ + unlink(uttmp); /* " */ + unlink(bdtmp); /* " */ } @@ -565,13 +726,22 @@ register char *i_sid; } +/* + * This procedure checks the delta table entries for correct format. + * It also checks to see if the SID specified by the -r keyletter + * is contained in the file. If no SID was specified assumes the top + * delta created (last in time). +*/ deltblchk(pkt) register struct packet *pkt; { - int n; + char *n; + int have; + int found; struct deltab dt; struct stats stats; + have = found = 0; /* Read entire delta table. */ @@ -580,6 +750,30 @@ register struct packet *pkt; fmterr(pkt); /* + if no SID was specified, get top delta + */ + if (pkt->p_reqsid.s_rel == 0 && !have) { + /* + ignore if "removed" delta + */ + if (!HADA && dt.d_type != 'D') { + read_to(EDELTAB,pkt); + continue; + } + /* + move current SID into SID to look at + */ + gpkt.p_reqsid = dt.d_sid; + found = have = 1; + } + /* + if SID was specified but not located yet check + to see if this SID is the one + */ + if (pkt->p_reqsid.s_rel != 0 && !found) + if (eqsid(&gpkt.p_reqsid, &dt.d_sid)) + found = 1; + /* Read rest of delta entry. */ while ((n = getline(pkt)) != NULL) @@ -603,11 +797,25 @@ register struct packet *pkt; if (n == NULL || pkt->p_line[0] != CTLCHAR) fmterr(pkt); } + /* + if not at the beginning of the User Name section + there is an internal error + */ if (pkt->p_line[1] != BUSERNAM) fmterr(pkt); + /* + if SID did not exist (the one specified by -r keyletter) + then there exists an error + */ + if (!found) + fatal("nonexistent SID (prs1)"); } +/* + * This procedure reads the stats line from the delta table entry + * and places the statisitics into a structure called "stats". +*/ getstats(pkt,statp) register struct packet *pkt; register struct stats *statp; @@ -625,29 +833,45 @@ register struct stats *statp; } +/* + * This procedure reads a delta table entry line from the delta + * table entry and places the contents of the line into a structure + * called "deltab". +*/ getadel(pkt,dt) register struct packet *pkt; register struct deltab *dt; { if (getline(pkt) == NULL) fmterr(pkt); + copy(pkt->p_line,dt_line); /* copy delta table line for :Dt: keywd */ return(del_ab(pkt->p_line,dt,pkt)); } +FILE *fdfopen(); - -char *maket(file) +/* + * This procedure creates the temporary file used during the + * "process" subroutine. The skeleton defined at the beginning + * of the program is filled in in this function +*/ +FILE *maket(file) char *file; { FILE *iop; + char *mktemp(); - copy(tempskel,file); + copy(tempskel,file); /* copy file name into the skeleton */ iop = xfcreat(mktemp(file),0644); return(iop); } +/* + * This procedure prints (on the standard output) the contents of any___ + * temporary file that may have been created during "process". +*/ printfile(file) register char *file; { @@ -661,40 +885,67 @@ register char *file; } +/* + * This procedure reads the body of the SCCS file from beginning to end. + * It also creates the temporary file /tmp/prbdtmp____________ which contains + * the body of the SCCS file for data keyword substitution. +*/ read_mod(pkt) register struct packet *pkt; { register char *p; int ser; - int iord; + int iod; register struct apply *ap; + int level = 0; - BDiop = maket(bdtmp); + if (HAD_BD) + BDiop = maket(bdtmp); while (getline(pkt) != NULL) { p = pkt->p_line; - fputs(p,BDiop); + if (HAD_BD) + fputs(p,BDiop); if (*p++ != CTLCHAR) continue; else { - if (!((iord = *p++) == INS || iord == DEL || iord == END)) + if (!((iod = *p++) == INS || iod == DEL || iod == END)) fmterr(pkt); NONBLANK(p); satoi(p,&ser); - if (iord == END) - remq(pkt,ser); - else if ((ap = &pkt->p_apply[ser])->a_code == APPLY) - addq(pkt,ser,iord == INS ? YES : NO,iord,ap->a_reason & USER); - else - addq(pkt,ser,iord == INS ? NO : NULL,iord,ap->a_reason & USER); +/* + * The logic here is really wrong. Best I can tell, pkt->p_apply can never + * be anything but NULL in prs. No routine ever sets it. It appears + * that the only intent of the code was to check that INS and DEL commands + * were matched with an equal amount of END commands. So we'll do that + * instead. + * if (iod == END) + * remq(pkt,ser); + * else if ((ap = &pkt->p_apply[ser])->a_code == APPLY) + * addq(pkt,ser,iod == INS ? YES : NO,iod,ap->a_reason & USER); + * else + * addq(pkt,ser,iod == INS ? NO : NULL,iod,ap->a_reason & USER); + */ + if (iod == END) { + if (--level < 0) + fmterr(pkt); + } else + level++; } } - fclose(BDiop); - if (pkt->p_q) + if (HAD_BD) + fclose(BDiop); + if (level != 0) fatal("premature eof (co5)"); return(0); } +/* + * This procedure is only called if the :GB: data keyword is specified. + * It forks and creates a child process to invoke 'get' with the '-p' + * and '-s' options for the SID currently being processed. Upon + * completion, control of the program is returned to 'prs'. +*/ getbody(gsid,pkt) struct sid *gsid; struct packet *pkt; @@ -707,7 +958,7 @@ struct packet *pkt; char filearg[80]; sid_ba(gsid,str); - sprintf(rarg,"%s",str); + sprintf(rarg,"-r%s",str); sprintf(filearg,"%s",pkt->p_file); /* fork here so 'getbody' can execute 'get' to @@ -715,12 +966,12 @@ struct packet *pkt; */ if ((i = fork()) < 0) fatal("cannot fork, try again"); - if (i = 0) { + if (i == 0) { /* perform 'get' and redirect output to standard output */ - execl(Getpgm,Getpgm,"-s","-p","-r",rarg,filearg,0); + execlp(Getpgm,Getpgm,"-s","-p",rarg,filearg,0); sprintf(Error,"cannot execute '%s'",Getpgm); fatal(Error); } @@ -731,6 +982,11 @@ struct packet *pkt; } +/* + * This procedure places the line read in "dodeltbl" into a global string + * 'str'. This procedure is only called for include, exclude or ignore + * lines. +*/ getit(str,cp) register char *str, *cp; { @@ -741,13 +997,18 @@ register char *str, *cp; } +/* + * This procedure creates an auxiliary file for the iop passed as an argument + * for the file name also passed as an argument. If no text exists for the + * named file, an auxiliary file is still created with the text "(none)". +*/ aux_create(iop,file,delchar) FILE *iop; char *file; char delchar; { - int n; + char *n; int text; /* create auxiliary file for the named section @@ -765,11 +1026,16 @@ char delchar; if (n == NULL || gpkt.p_line[0] != CTLCHAR || gpkt.p_line[1] != delchar) fmterr(&gpkt); if (!text) - fprintf(iop,"No entries\n"); + fprintf(iop,"(none)\n"); fclose(iop); } +/* + * This procedure sets the values for certain data keywords which are + * either shared by more than one data keyword or because substitution + * here would be easier than doing it in "scanspec" (more efficient etc.) +*/ idsetup(gsid,pkt,bdate) struct sid *gsid; struct packet *pkt; @@ -778,20 +1044,131 @@ long *bdate; register char *p; extern struct tm *localtime(); + char *auxf(), *date_ba(); - date_ba(bdate,Deltadate); + /*** There doesn't seem to be a comparable routine in Ultrix + sccs_tzset(); + *** and it also doesn't appear to be needed -- depp */ + date_ba(bdate,Deltadate); Deltatime = &Deltadate[9]; Deltadate[8] = 0; - sid_ba(gsid,Sid); - Dtime = localtime(bdate); - if (p = Sflags[MODFLAG - 'a']) copy(p,Mod); - else sprintf(Mod,"%s",sname(pkt->p_file)); - + else sprintf(Mod,"%s",auxf(pkt->p_file,'g')); if (!(Type = Sflags[TYPEFLAG - 'a'])) - Type = "none"; + Type = Null; +} + + +/* + * This procedure places any MRs that are found in the delta table entry + * into the temporary file created for that express purpose (/tmp/prmrtmp____________). +*/ +putmr(cp) +register char *cp; +{ + + cp += 3; + + if (!(*cp) || (*cp == '\n')) { + fclose(MRiop); + unlink(mrtmp); + return; + } + + fputs(cp,MRiop); +} + + +/* + * This procedure is the same as "putmr" except it is used for the comment + * section of the delta table entries. +*/ +putcom(cp) +register char *cp; +{ + + cp += 3; + + fputs(cp,CMiop); + +} + + +/* + * This procedure reads through the SCCS file until a line is found + * containing the character passed as an argument in the 2nd__ position + * of the line. +*/ +read_to(ch,pkt) +register char ch; +register struct packet *pkt; +{ + register char *p; + while ((p = getline(pkt)) && + !(*p++ == CTLCHAR && *p == ch)) + ; + return; +} + + +/* + * This procedure prints a list of all the flags that are present in the + * SCCS file. The format is the same as 'prt' except the flag description + * is _n_o_t preceeded by a "tab". +*/ +printflags() +{ + register char *k; + + if (Sflags[BRCHFLAG - 'a']) /* check for 'branch' flag */ + printf("branch\n"); + if ((k = (Sflags[CEILFLAG - 'a']))) /* check for 'ceiling flag */ + printf("ceiling\t%s\n",k); + if ((k = (Sflags[DEFTFLAG - 'a']))) /* check for 'default SID' flag */ + printf("default SID\t%s\n",k); + if ((k = (Sflags[FLORFLAG - 'a']))) /* check for 'floor' flag */ + printf("floor\t%s\n",k); + if (Sflags[IDFLAG - 'a']) /* check for 'id err/warn' flag */ + printf("id keywd err/warn\n"); + if ((k = (Sflags[MODFLAG - 'a']))) /* check for 'module' flag */ + printf("module\t%s\n",k); + if (Sflags[NULLFLAG - 'a']) /* check for 'null delta' flag */ + printf("null delta\n"); + if ((k = (Sflags[TYPEFLAG - 'a']))) /* check for 'type' flag */ + printf("type\t%s\n",k); + if (Sflags[VALFLAG - 'a']) { /* check for 'MR valid' flag */ + printf("validate MRs\t"); + /* + check for MR validating program + (optional) + */ + if (k = (Sflags[VALFLAG - 'a'])) + printf("%s\n",k); + else putchar('\n'); + } + return; +} + + +/* + * This procedure checks the `dataspec' (if user defined) and determines + * if any temporary files need be created for future keyword replacement +*/ +ck_spec(p) +register char *p; +{ + if (libPW_index(p,":C:") != -1) /* check for Comment keyword */ + HAD_CM = 1; + if (libPW_index(p,":MR:") != -1)/* check for MR keyword */ + HAD_MR = 1; + if (libPW_index(p,":UN:") != -1)/* check for User name keyword */ + HAD_UN = 1; + if (libPW_index(p,":FD:") != -1)/* check for descriptive text kyword */ + HAD_FD = 1; + if (libPW_index(p,":BD:") != -1)/* check for body keyword */ + HAD_BD = 1; } diff --git a/usr.bin/sccscmds/cmd/prt.c b/usr.bin/sccscmds/cmd/prt.c index d6288a26..47705fe3 100644 --- a/usr.bin/sccscmds/cmd/prt.c +++ b/usr.bin/sccscmds/cmd/prt.c @@ -1,7 +1,7 @@ # include "../hdr/defines.h" # include "../hdr/had.h" -static char Sccsid[] = "@(#)prt.c 4.3 2/2/88"; +static char Sccsid[] = "@(#)prt.c 4.4 5/27/01"; /* Program to print parts or all of an SCCS file. @@ -103,6 +103,7 @@ char *argv[]; case 'f': /* print flags */ case 't': /* print descriptive user-text */ case 'b': /* print body */ + case 'n': /* "nice" format */ break; case 'y': /* delta cutoff */ @@ -139,6 +140,9 @@ char *argv[]; if (HADC && HADR) fatal("both 'c' and 'r' keyletters specified (pr2)"); + if (HADN) + prefix = 0; + setsig(); /* @@ -403,8 +407,10 @@ register struct delent *delp; printf("%s:\t",file); } - printf("%c %s\t%s\t%s\t%s\t%s\t%s",delp->type,delp->osid, - delp->datetime,delp->pgmr,delp->serial,delp->pred,statistics); + printf(HADN ? "%c %-10s %s %-8s %-5s %-5s %s" + : "%c %s\t%s\t%s\t%s\t%s\t%s", + delp->type, delp->osid, delp->datetime, delp->pgmr, + delp->serial, delp->pred, statistics); } diff --git a/usr.bin/sccscmds/com/date_ab.c b/usr.bin/sccscmds/com/date_ab.c index d7a2595f..fd53c2f0 100644 --- a/usr.bin/sccscmds/com/date_ab.c +++ b/usr.bin/sccscmds/com/date_ab.c @@ -1,7 +1,7 @@ # include "../hdr/macros.h" # include -static char Sccsid[] = "@(#)date_ab.c 4.5 10/6/87"; +static char Sccsid[] = "@(#)date_ab.c 4.6 12/14/99"; /* Function to convert date in the form "yymmddhhmmss" to @@ -35,7 +35,12 @@ long *bdt; Datep = adt; if((y=g2()) == -2) y = 99; - if(y<70 || y>99) return(-1); + if (y < 0) + return(-1); + if (y >= 70) + y += 1900; + else + y += 2000; if((t=g2()) == -2) t = 12; if(t<1 || t>12) return(-1); @@ -53,7 +58,6 @@ long *bdt; if(s<0 || s>59) return(-1); tim = 0L; - y += 1900; for(i=1970; itm_year,'/'); + DO2(p,(lcltm->tm_year % 100),'/'); DO2(p,(lcltm->tm_mon + 1),'/'); DO2(p,lcltm->tm_mday,' '); DO2(p,lcltm->tm_hour,':'); diff --git a/usr.bin/sccscmds/util/Makefile b/usr.bin/sccscmds/util/Makefile index 3a793779..9bfca8a0 100644 --- a/usr.bin/sccscmds/util/Makefile +++ b/usr.bin/sccscmds/util/Makefile @@ -1,4 +1,4 @@ -# @(#)Makefile 1.7 (Berkeley) 88/12/22 +# @(#)Makefile 1.8 (Berkeley) 01/05/27 # CFLAGS = -O -w PWOBJS= giveup.o lockit.o rename.o userdir.o \ @@ -8,7 +8,7 @@ PWOBJS= giveup.o lockit.o rename.o userdir.o \ patoi.o patol.o repeat.o repl.o satoi.o sname.o substr.o trnslat.o \ verify.o any.o zeropad.o WROBJS= write.o -PW2OBJS=logname.o pexec.o +PW2OBJS=logname.o pexec.o index.o all: libpw.a libwrt.a libPW.a mv -f libpw.a libwrt.a libPW.a .. diff --git a/usr.bin/sccscmds/util/index.c b/usr.bin/sccscmds/util/index.c new file mode 100644 index 00000000..e45c8b24 --- /dev/null +++ b/usr.bin/sccscmds/util/index.c @@ -0,0 +1,42 @@ +#ifndef lint +static char *sccsid = "@(#)index.c 5.1 (Berkeley) 5/27/01"; +#endif lint + +/* + If `s2' is a substring of `s1' return the offset of the first + occurrence of `s2' in `s1', + else return -1. +*/ + +/********************************************************************** + * + * 3Jul82 + * Name conflict in 4.1BSD on 'index'. Library dependence is made + * explicit. + * --jmcg + * + *********************************************************************/ + +libPW_index(as1,as2) +char *as1,*as2; +{ + register char *s1,*s2,c; + int offset; + + s1 = as1; + s2 = as2; + c = *s2; + + while (*s1) + if (*s1++ == c) { + offset = s1 - as1 - 1; + s2++; + while ((c = *s2++) == *s1++ && c) ; + if (c == 0) + return(offset); + s1 = offset + as1 + 1; + s2 = as2; + c = *s2; + } + return(-1); +} diff --git a/usr.lib/Makefile b/usr.lib/Makefile index d07fe479..a67fbefe 100644 --- a/usr.lib/Makefile +++ b/usr.lib/Makefile @@ -9,7 +9,7 @@ # software without specific prior written permission. This software # is provided ``as is'' without express or implied warranty. # -# @(#)Makefile 5.14 (Berkeley) 1/18/99 +# @(#)Makefile 5.16 (Berkeley) 5/24/02 # CFLAGS= -O LIBC= /lib/libc.a @@ -24,7 +24,7 @@ TAGSDIR=libcurses libdbm libln libm libmp libpc libtermlib # Programs that live in subdirectories, and have makefiles of their own. # SUBDIR= learn lib2648 libF77 libI77 libU77 libcurses libdbm libg libln \ - libm libmp libpc libplot libtermlib liby libz lpr me sendmail + libm libmp libpc libplot libtermlib liby libz lpr man me ms sendmail # C source that lives in the current directory # diff --git a/usr.lib/libF77/Version b/usr.lib/libF77/Version index d56a157f6331e7fde90ca7fa873f71100d296c2a..9e3f38f703d0ffcf816e060a0fb419b4d426104e 100644 GIT binary patch delta 33 ncmeyZ@>^wtDU*mxYO;cYiGq=Vm5GU!ks**_V7%Fr$w&YItRe`Y delta 33 ocmeyZ@>^wtDU*nQa*2Y1k%FPQm5G6sp{0VMrKRO&PbMP)0Iz=t*Z=?k diff --git a/usr.lib/libF77/Version.c b/usr.lib/libF77/Version.c index a721511f..7ecefdca 100644 --- a/usr.lib/libF77/Version.c +++ b/usr.lib/libF77/Version.c @@ -1,5 +1,5 @@ char *libF77_id[] = { - "@(#)libF77.a Oct 2 17:40:19 1999", + "@(#)libF77.a Dec 4 20:44:21 2003", "@(#)abort_.c 5.2 11/3/86", "@(#)besj0_.c 5.1 6/7/85", "@(#)besj1_.c 5.1 6/7/85", diff --git a/usr.lib/libF77/profiled/Version b/usr.lib/libF77/profiled/Version index d56a157f6331e7fde90ca7fa873f71100d296c2a..9e3f38f703d0ffcf816e060a0fb419b4d426104e 100644 GIT binary patch delta 33 ncmeyZ@>^wtDU*mxYO;cYiGq=Vm5GU!ks**_V7%Fr$w&YItRe`Y delta 33 ocmeyZ@>^wtDU*nQa*2Y1k%FPQm5G6sp{0VMrKRO&PbMP)0Iz=t*Z=?k diff --git a/usr.lib/libI77/Version b/usr.lib/libI77/Version index 6081d64ec98f49de393e08b680bda6ca3fee3930..d269209517e7611bc9cb2e8b6bc256cd95515d14 100644 GIT binary patch delta 31 lcmZ3^wVZ3hP7#;XWCaBi1tSA16LTw53n0V5c;ne9766kn2+sfj delta 31 mcmZ3^wVZ3hP7(j)5(Nb#1w(Ty6B8>#0|i4%OUsRCqgViyqX_i? diff --git a/usr.lib/libI77/Version.c b/usr.lib/libI77/Version.c index b2eaa174..01cbc5ea 100644 --- a/usr.lib/libI77/Version.c +++ b/usr.lib/libI77/Version.c @@ -1,5 +1,5 @@ char *libI77_id[] = { - "@(#)libI77.a Oct 2 17:44:10 1999", + "@(#)libI77.a Dec 4 20:47:58 2003", "@(#)backspace.c 5.2 7/30/85", "@(#)c_dfe.c 5.2 7/30/85", "@(#)c_iio.c 5.2 7/30/85", diff --git a/usr.lib/libI77/profiled/Version b/usr.lib/libI77/profiled/Version index 6081d64ec98f49de393e08b680bda6ca3fee3930..d269209517e7611bc9cb2e8b6bc256cd95515d14 100644 GIT binary patch delta 31 lcmZ3^wVZ3hP7#;XWCaBi1tSA16LTw53n0V5c;ne9766kn2+sfj delta 31 mcmZ3^wVZ3hP7(j)5(Nb#1w(Ty6B8>#0|i4%OUsRCqgViyqX_i? diff --git a/usr.lib/libU77/Version b/usr.lib/libU77/Version index b7cb2a3cb43b5f85dfb28f030fb703e0a4256813..6470658bb6004c3a91c789dbf722e71d3c5549c4 100644 GIT binary patch delta 32 mcmZ3@znXu-UlEtoWCaBi1tSA1Q$s5wLm_y[outline][outcol]; if ((i&_STANDOUT) == (curscr->_flags&_STANDOUT)) - _putchar(i); + _putchar(i & 0177); else goto nondes; } diff --git a/usr.lib/libz/ChangeLog b/usr.lib/libz/ChangeLog new file mode 100644 index 00000000..218cfb0c --- /dev/null +++ b/usr.lib/libz/ChangeLog @@ -0,0 +1,239 @@ + + ChangeLog file for zlib + +Changes in 1.0.4 (24 Jul 96) +- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF + bit, so the decompressor could decompress all the correct data but went + on to attempt decompressing extra garbage data. This affected minigzip too. +- zlibVersion and gzerror return const char* (needed for DLL) +- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno) +- use z_error only for DEBUG (avoid problem with DLLs) + +Changes in 1.0.3 (2 Jul 96) +- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS + small and medium models; this makes the library incompatible with previous + versions for these models. (No effect in large model or on other systems.) +- return OK instead of BUF_ERROR if previous deflate call returned with + avail_out as zero but there is nothing to do +- added memcmp for non STDC compilers +- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly) +- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO) +- better check for 16-bit mode MSC (avoids problem with Symantec) + +Changes in 1.0.2 (23 May 96) +- added Windows DLL support +- added a function zlibVersion (for the DLL support) +- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model) +- Bytef is define's instead of typedef'd only for Borland C +- avoid reading uninitialized memory in example.c +- mention in README that the zlib format is now RFC1950 +- updated Makefile.dj2 +- added algorithm.doc + +Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion] +- fix array overlay in deflate.c which sometimes caused bad compressed data +- fix inflate bug with empty stored block +- fix MSDOS medium model which was broken in 0.99 +- fix deflateParams() which could generated bad compressed data. +- Bytef is define'd instead of typedef'ed (work around Borland bug) +- added an INDEX file +- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32), + Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas) +- speed up adler32 for modern machines without auto-increment +- added -ansi for IRIX in configure +- static_init_done in trees.c is an int +- define unlink as delete for VMS +- fix configure for QNX +- add configure branch for SCO and HPUX +- avoid many warnings (unused variables, dead assignments, etc...) +- no fdopen for BeOS +- fix the Watcom fix for 32 bit mode (define FAR as empty) +- removed redefinition of Byte for MKWERKS +- work around an MWKERKS bug (incorrect merge of all .h files) + +Changes in 0.99 (27 Jan 96) +- allow preset dictionary shared between compressor and decompressor +- allow compression level 0 (no compression) +- add deflateParams in zlib.h: allow dynamic change of compression level + and compression strategy. +- test large buffers and deflateParams in example.c +- add optional "configure" to build zlib as a shared library +- suppress Makefile.qnx, use configure instead +- fixed deflate for 64-bit systems (detected on Cray) +- fixed inflate_blocks for 64-bit systems (detected on Alpha) +- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2) +- always return Z_BUF_ERROR when deflate() has nothing to do +- deflateInit and inflateInit are now macros to allow version checking +- prefix all global functions and types with z_ with -DZ_PREFIX +- make falloc completely reentrant (inftrees.c) +- fixed very unlikely race condition in ct_static_init +- free in reverse order of allocation to help memory manager +- use zlib-1.0/* instead of zlib/* inside the tar.gz +- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith + -Wconversion -Wstrict-prototypes -Wmissing-prototypes" +- allow gzread on concatenated .gz files +- deflateEnd now returns Z_DATA_ERROR if it was premature +- deflate is finally (?) fully deterministic (no matches beyond end of input) +- Document Z_SYNC_FLUSH +- add uninstall in Makefile +- Check for __cpluplus in zlib.h +- Better test in ct_align for partial flush +- avoid harmless warnings for Borland C++ +- initialize hash_head in deflate.c +- avoid warning on fdopen (gzio.c) for HP cc -Aa +- include stdlib.h for STDC compilers +- include errno.h for Cray +- ignore error if ranlib doesn't exist +- call ranlib twice for NeXTSTEP +- use exec_prefix instead of prefix for libz.a +- renamed ct_* as _tr_* to avoid conflict with applications +- clear z->msg in inflateInit2 before any error return +- initialize opaque in example.c, gzio.c, deflate.c and inflate.c +- fixed typo in zconf.h (_GNUC__ => __GNUC__) +- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode) +- fix typo in Make_vms.com (f$trnlnm -> f$getsyi) +- in fcalloc, normalize pointer if size > 65520 bytes +- don't use special fcalloc for 32 bit Borland C++ +- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc... +- use Z_BINARY instead of BINARY +- document that gzclose after gzdopen will close the file +- allow "a" as mode in gzopen. +- fix error checking in gzread +- allow skipping .gz extra-field on pipes +- added reference to Perl interface in README +- put the crc table in FAR data (I dislike more and more the medium model :) +- added get_crc_table +- added a dimension to all arrays (Borland C can't count). +- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast +- guard against multiple inclusion of *.h (for precompiled header on Mac) +- Watcom C pretends to be Microsoft C small model even in 32 bit mode. +- don't use unsized arrays to avoid silly warnings by Visual C++: + warning C4746: 'inflate_mask' : unsized array treated as '__far' + (what's wrong with far data in far model?). +- define enum out of inflate_blocks_state to allow compilation with C++ + +Changes in 0.95 (16 Aug 95) +- fix MSDOS small and medium model (now easier to adapt to any compiler) +- inlined send_bits +- fix the final (:-) bug for deflate with flush (output was correct but + not completely flushed in rare occasions). +- default window size is same for compression and decompression + (it's now sufficient to set MAX_WBITS in zconf.h). +- voidp -> voidpf and voidnp -> voidp (for consistency with other + typedefs and because voidnp was not near in large model). + +Changes in 0.94 (13 Aug 95) +- support MSDOS medium model +- fix deflate with flush (could sometimes generate bad output) +- fix deflateReset (zlib header was incorrectly suppressed) +- added support for VMS +- allow a compression level in gzopen() +- gzflush now calls fflush +- For deflate with flush, flush even if no more input is provided. +- rename libgz.a as libz.a +- avoid complex expression in infcodes.c triggering Turbo C bug +- work around a problem with gcc on Alpha (in INSERT_STRING) +- don't use inline functions (problem with some gcc versions) +- allow renaming of Byte, uInt, etc... with #define. +- avoid warning about (unused) pointer before start of array in deflate.c +- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c +- avoid reserved word 'new' in trees.c + +Changes in 0.93 (25 June 95) +- temporarily disable inline functions +- make deflate deterministic +- give enough lookahead for PARTIAL_FLUSH +- Set binary mode for stdin/stdout in minigzip.c for OS/2 +- don't even use signed char in inflate (not portable enough) +- fix inflate memory leak for segmented architectures + +Changes in 0.92 (3 May 95) +- don't assume that char is signed (problem on SGI) +- Clear bit buffer when starting a stored block +- no memcpy on Pyramid +- suppressed inftest.c +- optimized fill_window, put longest_match inline for gcc +- optimized inflate on stored blocks. +- untabify all sources to simplify patches + +Changes in 0.91 (2 May 95) +- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h +- Document the memory requirements in zconf.h +- added "make install" +- fix sync search logic in inflateSync +- deflate(Z_FULL_FLUSH) now works even if output buffer too short +- after inflateSync, don't scare people with just "lo world" +- added support for DJGPP + +Changes in 0.9 (1 May 95) +- don't assume that zalloc clears the allocated memory (the TurboC bug + was Mark's bug after all :) +- let again gzread copy uncompressed data unchanged (was working in 0.71) +- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented +- added a test of inflateSync in example.c +- moved MAX_WBITS to zconf.h because users might want to change that. +- document explicitly that zalloc(64K) on MSDOS must return a normalized + pointer (zero offset) +- added Makefiles for Microsoft C, Turbo C, Borland C++ +- faster crc32() + +Changes in 0.8 (29 April 95) +- added fast inflate (inffast.c) +- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this + is incompatible with previous versions of zlib which returned Z_OK. +- work around a TurboC compiler bug (bad code for b << 0, see infutil.h) + (actually that was not a compiler bug, see 0.81 above) +- gzread no longer reads one extra byte in certain cases +- In gzio destroy(), don't reference a freed structure +- avoid many warnings for MSDOS +- avoid the ERROR symbol which is used by MS Windows + +Changes in 0.71 (14 April 95) +- Fixed more MSDOS compilation problems :( There is still a bug with + TurboC large model. + +Changes in 0.7 (14 April 95) +- Added full inflate support. +- Simplified the crc32() interface. The pre- and post-conditioning + (one's complement) is now done inside crc32(). WARNING: this is + incompatible with previous versions; see zlib.h for the new usage. + +Changes in 0.61 (12 April 95) +- workaround for a bug in TurboC. example and minigzip now work on MSDOS. + +Changes in 0.6 (11 April 95) +- added minigzip.c +- added gzdopen to reopen a file descriptor as gzFile +- added transparent reading of non-gziped files in gzread. +- fixed bug in gzread (don't read crc as data) +- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose). +- don't allocate big arrays in the stack (for MSDOS) +- fix some MSDOS compilation problems + +Changes in 0.5: +- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but + not yet Z_FULL_FLUSH. +- support decompression but only in a single step (forced Z_FINISH) +- added opaque object for zalloc and zfree. +- added deflateReset and inflateReset +- added a variable zlib_version for consistency checking. +- renamed the 'filter' parameter of deflateInit2 as 'strategy'. + Added Z_FILTERED and Z_HUFFMAN_ONLY constants. + +Changes in 0.4: +- avoid "zip" everywhere, use zlib instead of ziplib. +- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush + if compression method == 8. +- added adler32 and crc32 +- renamed deflateOptions as deflateInit2, call one or the other but not both +- added the method parameter for deflateInit2. +- added inflateInit2 +- simplied considerably deflateInit and inflateInit by not supporting + user-provided history buffer. This is supported only in deflateInit2 + and inflateInit2. + +Changes in 0.3: +- prefix all macro names with Z_ +- use Z_FINISH instead of deflateEnd to finish compression. +- added Z_HUFFMAN_ONLY +- added gzerror() diff --git a/usr.lib/libz/Makefile b/usr.lib/libz/Makefile index 58d64c5a..09e02772 100644 --- a/usr.lib/libz/Makefile +++ b/usr.lib/libz/Makefile @@ -1,6 +1,6 @@ # Makefile for libz # -# @(#)Makefile 5.2 (Berkeley) 1/19/99 +# @(#)Makefile 5.4 (Berkeley) 8/7/00 CFLAGS= -O LIBC= /lib/libc.a @@ -20,24 +20,6 @@ all: libz libz_p @ld -x -r $*.o @mv a.out $*.o -# trees.c and infblock.c are compiled without -O, otherwise the generated code -# dumps core when executed. Sorry, can't troubleshoot this problem, gotta learn -# some VAX assembly first... - -trees.o: trees.c - @${CC} -c -pg trees.c - @ld -x -o profiled/trees.o -r trees.o - ${CC} -c trees.c - @ld -x -r trees.o - @mv a.out trees.o - -infblock.o: infblock.c - @${CC} -c -pg infblock.c - @ld -x -o profiled/infblock.o -r infblock.o - ${CC} -c infblock.c - @ld -x -r infblock.o - @mv a.out infblock.o - libz libz_p: ${OBJS} @echo building profiled libz @cd profiled; ar cu ../libz_p ${OBJS} diff --git a/usr.lib/libz/README b/usr.lib/libz/README new file mode 100644 index 00000000..28adc90b --- /dev/null +++ b/usr.lib/libz/README @@ -0,0 +1,99 @@ +zlib 1.0.4 is a general purpose data compression library. All the code +is reentrant (thread safe). The data format used by the zlib library +is described by RFCs (Request for Comments) 1950 to 1952 in the files +ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate +format) and rfc1952.txt (gzip format). These documents are also available in +other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html + +All functions of the compression library are documented in the file +zlib.h. A usage example of the library is given in the file example.c +which also tests that the library is working correctly. Another +example is given in the file minigzip.c. The compression library itself +is composed of all source files except example.c and minigzip.c. + +To compile all files and run the test program, follow the instructions +given at the top of Makefile. In short "make test; make install" +should work for most machines. For MSDOS, use one of the special +makefiles such as Makefile.msc; for VMS, use Make_vms.com or descrip.mms. + +Questions about zlib should be sent to or, +if this fails, to the addresses given below in the Copyright section. +The zlib home page is http://quest.jpl.nasa.gov/zlib/ + +The changes made in version 1.0.4 are documented in the file ChangeLog. +The main changes since 1.0.3 are: + +- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF + bit, so the decompressor could decompress all the correct data but went + on to attempt decompressing extra garbage data. This affected minigzip too. +- zlibVersion and gzerror return const char* (needed for DLL) +- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno) + + +A Perl interface to zlib written by Paul Marquess +is in the CPAN (Comprehensive Perl Archive Network) sites, such as: +ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib* + + +Notes for some targets: + +- For Turbo C the small model is supported only with reduced performance to + avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 + +- For 64-bit Iris, deflate.c must be compiled without any optimization. + With -O, one libpng test fails. The test works in 32 bit mode (with + the -32 compiler flag). The compiler bug has been reported to SGI. + +- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 + it works when compiled with cc. + +- zlib doesn't work on HP-UX 9.05 with one cc compiler (the one not + accepting the -O option). It works with the other cc compiler. + +- To build a Windows DLL version, include in a DLL project zlib.def, zlib.rc + and all .c files except example.c and minigzip.c; compile with -DZLIB_DLL + For help on building a zlib DLL, contact Alessandro Iacopetti + http://lisa.unial.it/iaco , + or contact Brad Clarke . + +- gzdopen is not supported on RISCOS + + +Acknowledgments: + + The deflate format used by zlib was defined by Phil Katz. The deflate + and zlib specifications were written by Peter Deutsch. Thanks to all the + people who reported problems and suggested various improvements in zlib; + they are too numerous to cite here. + +Copyright notice: + + (C) 1995-1996 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + gzip@prep.ai.mit.edu madler@alumni.caltech.edu + +If you use the zlib library in a product, we would appreciate *not* +receiving lengthy legal documents to sign. The sources are provided +for free but without warranty of any kind. The library has been +entirely written by Jean-loup Gailly and Mark Adler; it does not +include third-party code. + +If you redistribute modified sources, we would appreciate that you include +in the file ChangeLog history information documenting your changes. diff --git a/usr.lib/libz/algorithm.doc b/usr.lib/libz/algorithm.doc new file mode 100644 index 00000000..01902aff --- /dev/null +++ b/usr.lib/libz/algorithm.doc @@ -0,0 +1,105 @@ +1. Compression algorithm (deflate) + +The deflation algorithm used by zlib (also zip and gzip) is a variation of +LZ77 (Lempel-Ziv 1977, see reference below). It finds duplicated strings in +the input data. The second occurrence of a string is replaced by a +pointer to the previous string, in the form of a pair (distance, +length). Distances are limited to 32K bytes, and lengths are limited +to 258 bytes. When a string does not occur anywhere in the previous +32K bytes, it is emitted as a sequence of literal bytes. (In this +description, `string' must be taken as an arbitrary sequence of bytes, +and is not restricted to printable characters.) + +Literals or match lengths are compressed with one Huffman tree, and +match distances are compressed with another tree. The trees are stored +in a compact form at the start of each block. The blocks can have any +size (except that the compressed data for one block must fit in +available memory). A block is terminated when deflate() determines that +it would be useful to start another block with fresh trees. (This is +somewhat similar to the behavior of LZW-based _compress_.) + +Duplicated strings are found using a hash table. All input strings of +length 3 are inserted in the hash table. A hash index is computed for +the next 3 bytes. If the hash chain for this index is not empty, all +strings in the chain are compared with the current input string, and +the longest match is selected. + +The hash chains are searched starting with the most recent strings, to +favor small distances and thus take advantage of the Huffman encoding. +The hash chains are singly linked. There are no deletions from the +hash chains, the algorithm simply discards matches that are too old. + +To avoid a worst-case situation, very long hash chains are arbitrarily +truncated at a certain length, determined by a runtime option (level +parameter of deflateInit). So deflate() does not always find the longest +possible match but generally finds a match which is long enough. + +deflate() also defers the selection of matches with a lazy evaluation +mechanism. After a match of length N has been found, deflate() searches for a +longer match at the next input byte. If a longer match is found, the +previous match is truncated to a length of one (thus producing a single +literal byte) and the longer match is emitted afterwards. Otherwise, +the original match is kept, and the next match search is attempted only +N steps later. + +The lazy match evaluation is also subject to a runtime parameter. If +the current match is long enough, deflate() reduces the search for a longer +match, thus speeding up the whole process. If compression ratio is more +important than speed, deflate() attempts a complete second search even if +the first match is already long enough. + +The lazy match evaluation is not performed for the fastest compression +modes (level parameter 1 to 3). For these fast modes, new strings +are inserted in the hash table only when no match was found, or +when the match is not too long. This degrades the compression ratio +but saves time since there are both fewer insertions and fewer searches. + + +2. Decompression algorithm (inflate) + +The real question is, given a Huffman tree, how to decode fast. The most +important realization is that shorter codes are much more common than +longer codes, so pay attention to decoding the short codes fast, and let +the long codes take longer to decode. + +inflate() sets up a first level table that covers some number of bits of +input less than the length of longest code. It gets that many bits from the +stream, and looks it up in the table. The table will tell if the next +code is that many bits or less and how many, and if it is, it will tell +the value, else it will point to the next level table for which inflate() +grabs more bits and tries to decode a longer code. + +How many bits to make the first lookup is a tradeoff between the time it +takes to decode and the time it takes to build the table. If building the +table took no time (and if you had infinite memory), then there would only +be a first level table to cover all the way to the longest code. However, +building the table ends up taking a lot longer for more bits since short +codes are replicated many times in such a table. What inflate() does is +simply to make the number of bits in the first table a variable, and set it +for the maximum speed. + +inflate() sends new trees relatively often, so it is possibly set for a +smaller first level table than an application that has only one tree for +all the data. For inflate, which has 286 possible codes for the +literal/length tree, the size of the first table is nine bits. Also the +distance trees have 30 possible values, and the size of the first table is +six bits. Note that for each of those cases, the table ended up one bit +longer than the ``average'' code length, i.e. the code length of an +approximately flat code which would be a little more than eight bits for +286 symbols and a little less than five bits for 30 symbols. It would be +interesting to see if optimizing the first level table for other +applications gave values within a bit or two of the flat code size. + + +Jean-loup Gailly Mark Adler +gzip@prep.ai.mit.edu madler@alumni.caltech.edu + + +References: + +[LZ77] Ziv J., Lempel A., ``A Universal Algorithm for Sequential Data +Compression,'' IEEE Transactions on Information Theory, Vol. 23, No. 3, +pp. 337-343. + +``DEFLATE Compressed Data Format Specification'' available in +ftp://ds.internic.net/rfc/rfc1951.txt diff --git a/usr.lib/man/tmac.an.new b/usr.lib/man/tmac.an.new index 532e69c6..649d9d2b 100644 --- a/usr.lib/man/tmac.an.new +++ b/usr.lib/man/tmac.an.new @@ -2,7 +2,7 @@ .\" All rights reserved. The Berkeley software License Agreement .\" specifies the terms and conditions for redistribution. .\" -.\" @(#)tmac.an.new 6.5 (Berkeley) 7/5/88 +.\" @(#)tmac.an.new 6.6 (Berkeley) 5/28/02 .\" ' DT, PD, SM, and B macros invoked internally. ' # month name @@ -21,10 +21,12 @@ .if "\nm"11" .ds ]m December ' # set the date .if n \{.nr m \nm+1 -. ie \nd .ds ]W Modified \nm/\nd/\ny +. ie \nd \{.nr y \ny%100 +. ds ]W Modified \nm/\nd/\ny\} . el .ds ]W Printed \n(mo/\n(dy/\n(yr\} -.if t \{.ie \nd .ds ]W \*(]m \nd, 19\ny -. el .ds ]W \*(]m \n(dy, 19\n(yr\} +.if t \{.ie \nd \{.if \ny<1900 .nr y \ny+1900 +. ds ]W \*(]m \nd, \ny\} +. el .ds ]W \*(]m \n(dy, \n(cn\n(yr\} .if t .tr *\(** .ie n \{\ . ds lq \&"\" diff --git a/usr.lib/me/tmac.e b/usr.lib/me/tmac.e index b52e9b88..5ff3586f 100644 --- a/usr.lib/me/tmac.e +++ b/usr.lib/me/tmac.e @@ -1,5 +1,5 @@ .nr _0 \n(.c -.\" @(#)tmac.e 2.31 (Berkeley) 5/21/88 +.\" @(#)tmac.e 2.32 (Berkeley) 5/28/02 .\" .\" Copyright (c) 1988 Regents of the University of California. .\" All rights reserved. @@ -25,7 +25,7 @@ .\"* 1919 Addison Street Suite 105 * .\"* Berkeley, California 94704 * .\"* * -.\"* VERSION 2.31 First Release: 11 Sept 1978 * +.\"* VERSION 2.32 First Release: 11 Sept 1978 * .\"* See file \*(||/revisions for revision history * .\"* * .\"* Documentation is available. * @@ -1056,7 +1056,7 @@ .if \n(dw=5 .ds dw Thursday .if \n(dw=6 .ds dw Friday .if \n(dw=7 .ds dw Saturday -.ds td \*(mo \n(dy, 19\n(yr +.ds td \*(mo \n(dy, \n(cn\n(yr .\" *** PARAMETRIC INITIALIZATIONS *** .if (1m<0.1i)&(\nx!=0) \ . vs 9p \" for 12-pitch DTC terminals diff --git a/usr.lib/ms/Makefile b/usr.lib/ms/Makefile new file mode 100644 index 00000000..1e52cff0 --- /dev/null +++ b/usr.lib/ms/Makefile @@ -0,0 +1,31 @@ +# +# Copyright (c) 1987 Regents of the University of California. +# All rights reserved. +# +# Redistribution and use in source and binary forms are permitted +# provided that this notice is preserved and that due credit is given +# to the University of California at Berkeley. The name of the University +# may not be used to endorse or promote products derived from this +# software without specific prior written permission. This software +# is provided ``as is'' without express or implied warranty. +# +# @(#)Makefile 1.1 (Berkeley) 5/24/02 +# +MSLIB= /usr/lib/ms +TMLIB= /usr/lib/tmac +MSSRCS= acc.ms cov.ms eqn.ms ref.ms tbl.ms ths.ms toc.ms +TMSRCS= tmac.s tmac.scover tmac.sdisp tmac.skeep tmac.srefs + +all: + +install: FRC + -[ -d ${DESTDIR}${MSLIB} ] || mkdir ${DESTDIR}${MSLIB} + -[ -d ${DESTDIR}${TMLIB} ] || mkdir ${DESTDIR}${TMLIB} + chown bin.bin ${DESTDIR}${MSLIB} ${DESTDIR}${TMLIB} + chmod 755 ${DESTDIR}${MSLIB} ${DESTDIR}${TMLIB} + install -c -o bin -g bin -m 444 ${MSSRCS} ${DESTDIR}${MSLIB} + install -c -o bin -g bin -m 444 ${TMSRCS} ${DESTDIR}${TMLIB} + +clean: +depend: +FRC: diff --git a/usr.lib/ms/acc.ms b/usr.lib/ms/acc.ms new file mode 100644 index 00000000..c7771484 --- /dev/null +++ b/usr.lib/ms/acc.ms @@ -0,0 +1,80 @@ +.\" @(#)acc.ms 1.3 (Berkeley) 6/2/90 +. \" AM - accent mark definitions +.bd S B 3 +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \h'-1'\' +. ds ` \h'-1'\` +. ds ^ \h'-1'^ +. ds , \h'-1', +. ds ~ \h'-1'~ +. ds ? ? +. ds ! ! +. ds / \h'-1'\(sl +. ds q o\h'-1', +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' +. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] +.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' +.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' +.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +.ds oe o\h'-(\w'o'u*4/10)'e +.ds Oe O\h'-(\w'O'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : \h'-1'" +. ds 8 B +. ds v \h'-1'\o'\(aa\(ga' +. ds _ \h'-1'^ +. ds . \h'-1'. +. ds 3 3 +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +. ds oe oe +. ds Oe OE +.\} +.rm #[ #] #H #V #F C diff --git a/usr.lib/ms/cov.ms b/usr.lib/ms/cov.ms new file mode 100644 index 00000000..a90e7f8b --- /dev/null +++ b/usr.lib/ms/cov.ms @@ -0,0 +1,257 @@ +.\" @(#)cov.ms 1.3 (Berkeley) 6/2/90 +. \" TL - title and initialization +.de TL +.if \\n(TM .nr ST 1 +.if \\n(TM .pn 0 +.br +.nr TV 1 +.nr YE 1 +.nr SJ \\n(.j +.di WT +.na +.fi +.ll 5.0i +.ft 3 +.ps 12 +.hy 0 +.. +. \" TX - actually print title +.de TX +.rs +.sp .5i +.ce 1000 +.if n .ul 1000 +.ps 12 +.ft 3 +.vs 15p +.ne 4 +.hy 0 +.WT +.hy 14 +.ce 0 +.ul 0 +.. +. \" AU - author(s) +.de AU +.nr AV 1 +.ad \\n(SJ +.br +.di +.br +.nf +.nr NA +1 +.di A\\n(NA +.ll \\n(LLu +.if t .ft 2 +.if n .ft 1 +.ps 10 +.. +. \" AI - author's institution +.de AI +.br +.ft 1 +.di +.di I\\n(NA +.nf +.. +. \" AX - actually print authors and institutions +.de AX +.ft 1 +.rs +.ce 1000 +.if n .ul 0 +.ps 10 +.vs 12p +.if n .sp 2 +.if t .sp +.A1 +.if n .sp +.if t .sp .5 +.ns +.I1 +.if \\n(NA-1 .if n .sp 2 +.if \\n(NA-1 .if t .sp +.A2 +.if \\n(NA-1 .if n .sp +.if \\n(NA-1 .if t .sp .5 +.ns +.I2 +.if \\n(NA-2 .if t .sp +.if \\n(NA-2 .if n .sp 2 +.A3 +.if \\n(NA-2 .if t .sp .5 +.if \\n(NA-2 .if n .sp +.ns +.I3 +.if \\n(NA-3 .if t .sp +.if \\n(NA-3 .if n .sp 2 +.A4 +.if \\n(NA-3 .if t .sp .5 +.if \\n(NA-3 .if n .sp +.ns +.I4 +.if \\n(NA-4 .if t .sp +.if \\n(NA-4 .if n .sp 2 +.A5 +.if \\n(NA-4 .if n .sp +.if \\n(NA-4 .if t .sp .5 +.ns +.I5 +.if \\n(NA-5 .if t .sp +.if \\n(NA-5 .if n .sp 2 +.A6 +.if \\n(NA-5 .if n .sp +.if \\n(NA-5 .if t .sp .5 +.ns +.I6 +.if \\n(NA-6 .if t .sp +.if \\n(NA-6 .if n .sp 2 +.A7 +.if \\n(NA-6 .if n .sp +.if \\n(NA-6 .if t .sp .5 +.ns +.I7 +.if \\n(NA-7 .if t .sp +.if \\n(NA-7 .if n .sp 2 +.A8 +.if \\n(NA-7 .if n .sp +.if \\n(NA-7 .if t .sp .5 +.ns +.I8 +.if \\n(NA-8 .if t .sp +.if \\n(NA-8 .if n .sp 2 +.A9 +.if \\n(NA-8 .if n .sp +.if \\n(NA-8 .if t .sp .5 +.ns +.I9 +.. +. \" AB - abstract begin +.de AB +.br +.di +.ul 0 +.ce 0 +.nr 1T 1 +.nr IK 1 +.nr KI 1 +.di WB +.rs +.nr AJ 1 +.ce 1 +.ft 2 +.if n .ul +.ll \\n(LLu +.if \\n(.$=0 ABSTRACT +.if \\n(.$>0 .if !\\$1no \\$1 +.if \\n(.$=0 .sp +.if \\n(.$>0 .if !\\$1no .sp +.hy 14 +.ul 0 +.ce 0 +.fi +.ft 1 +.nr OJ \\n(.i +.in +\\n(.lu/12u +.ll -\\n(.lu/12u +.br +.ps \\n(PS +.if \\n(VS>=40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.ti +\\n(PIu +.if \\n(TM .ls 1 +.. +. \" AE - abstract end +.de AE +.br +.di +.ll \\n(LLu +.ps \\n(PS +.if \\n(VS>=40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.nr 1T 0 +.nr IK 0 +.in \\n(OJu +.nr AJ 0 +.di +.ce 0 +.if \\n(ST>0 .SY +.if \\n(ST<3 .rm SY +.if \\n(TM .ls 2 +.. +. \" SY - cover sheet of released paper +.de SY +.ll \\n(LLu +.if !\\n(LT .nr LT \\n(LLu +.ns +.if \\n(TV .TX +.if \\n(AV .AX +.rs +.ce 0 +.nf +.sp 3 +.pn 2 +.af PN i +.ls 1 +.WB +.ls +.sp 3v +\\*(DY +.af PN 1 +.sp |9i +.if \\n(FP>0 .FA +.FG +.fi +.. +. \" S2 - cover and page 1 of RP +.de S2 +.ce 0 +.br +.SY +.rm SY +.bp 1 +.if \\n(TV .TX +.if \\n(AV .AX +.rs +.ce 0 +.ft 1 +.ad \\n(SJ +.. +. \" S1 - cover and page 1 of RP (no p.1 title) +.de S1 +.ce 0 +.br +.SY +.rm SY +.bp 1 +.rs +.ce 0 +.ft 1 +.ad \\n(SJ +.. +. \" S0 - conserve paper format (without RP) +.de S0 +.ce 0 +.br +.ll \\n(LLu +.if \\n(TV+\\n(AV>0 .ns +.if \\n(TV .TX +.if \\n(AV .AX +.if \\n(TV+\\n(AV>0 .rs +.ce 0 +.if \\n(TV>0 .sp 2 +.ls 1 +.if \\n(FP>0 \{\ +. FJ +. nf +. FG +. fi +. FK +. nr FP 0 +.\} +.nf +.WB +.ls +.fi +.ad \\n(SJ +.. diff --git a/usr.lib/ms/eqn.ms b/usr.lib/ms/eqn.ms new file mode 100644 index 00000000..d15e40de --- /dev/null +++ b/usr.lib/ms/eqn.ms @@ -0,0 +1,58 @@ +.\" @(#)eqn.ms 1.3 (Berkeley) 6/2/90 +.bd S B 3 +. \" EQ - equation, breakout and display +.de EQ +.nr UR \\n(.u +.rm EE +.nr LE 1 \" default centered +.ds EL \f1\\$1\fP +.if \\$1C .ds EL \f1\\$2\fP +.if \\$1L \{\ +. ds EL \f1\\$2\fP +. nr LE 0 +.\} +.if \\$1I \{\ +. ds EL \f1\\$2\fP +. nr LE 0 +. ds EE \\h'|10n' +. if !\\$3 .ds EE \\h'\\$3' +.\} +.if \\n(YE>0 .nf +.di EZ +.. +. \" EN - end of a displayed equation +.de EN +.if !\\*(10 .br +.di +.rm EZ +.nr ZN \\n(dn +.if \\n(ZN>0 .if \\n(YE=0 .LP +.if \\n(ZN=0 .if !\\*(EL .nr ZN 1 +.if \\n(.z .if \\n(ZN>0 .if !\\n(nl=\\n(PE .sp \\n(DDu +.if !\\n(.z .if \\n(ZN>0 .if !\\n(.d=\\n(PE .sp \\n(DDu +.pc +.if \\n(BD>0 .nr LE 0 \" can't mean centering in this case. +.if \\n(MK>0 .if \\n(LE=1 .ds EE \\h'|10n' +.if \\n(MK>0 .nr LE 0 \" don't center if mark/lineup +.lt \\n(.lu +.if \\n(EP=0 .if \\n(ZN>0 \{\ +. if \\n(LE>0 .tl \\*(10\\*(EL +. if \\n(LE=0 .if \\n(BD=0 .tl \\*(EE\\*(10\\*(EL +. if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\\*(10 .nr BD \\w\\*(10 +. if \\n(LE=0 .if \\n(BD>0 \!\\*(10\\t\\*(EL +.\} +.if \\n(EP>0 .if \\n(ZN>0 \{\ +. if \\n(LE>0 .tl \\*(EL\\*(10 +. if \\n(LE=0 .if \\n(BD=0 .tl \\*(EL\\*(EE\\*(10 +. if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\\*(10 .nr BD \\w\\*(10 +. if \\n(LE=0 .if \\n(BD>0 \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10 +.\} +.lt \\n(LLu +.pc % +.if \\n(YE>0 .if \\n(UR>0 .fi +.rm 10 11 12 13 14 15 16 17 18 19 20 21 22 23 EL +.rr 10 11 12 13 14 15 16 17 18 19 20 21 22 23 +.if \\n(ZN>0 .if t .sp \\n(DDu +.if \\n(.z .nr PE \\n(nl +.if !\\n(.z .nr PE \\n(.d +.. diff --git a/usr.lib/ms/ref.ms b/usr.lib/ms/ref.ms new file mode 100644 index 00000000..be1232f6 --- /dev/null +++ b/usr.lib/ms/ref.ms @@ -0,0 +1,156 @@ +.\" @(#)ref.ms 1.3 (Berkeley) 6/2/90 +. \" refer macros for citations +.de [] +.][ \\$1 +.. +.de ][ +.if \\$1>4 .tm %M undefined (Bell Labs) +.[\\$1 +.. +.if n .ds [o \&" +.if n .ds [c \&" +.if t .ds [o `` +.if t .ds [c '' +.ds <. . +.ds <, , +. \" [0 - other type of citation +.de [0 +.FS +.nr [: 0 +.if !\\*([F .FP \\*([F +.if !\\*([Q \{\ +.nr [: 1 +\\*([Q\c +.\} +.if !\\*([A \{\ +.nr [: 1 +\\*([A\c +.\} +.if !\\*([T \{\ +.if \\n([:>0 , +.nr [: 1 +\f2\\*([T\f1\c +.\} +.if !\\*([S , \\*([S\c +.if !\\*([V , \\*([V\c +.if !\\*([P \{\ +.ie \\n([P>0 , pp. \\*([P\c +.el , p. \\*([P\c +.\} +.if !\\*([C , \\*([C\c +.if !\\*([D , \\*([D\c +.if \\n([:>0 \&. +.if !\\*([O \\*([O +.FE +.. +. \" [1 - journal article +.de [1 +.FS +.if !\\*([F .FP \\*([F +.if !\\*([Q \\*([Q, +.if !\\*([A \\*([A, +.if !\\*([T \\*([o\\*([T,\\*([c +\f2\\*([J\f1\c +.if !\\*([V , vol. \\*([V\c +.if !\\*([N , no. \\*([N\c +.if !\\*([P \{\ +.ie \\n([P>0 , pp. \\*([P\c +.el , p. \\*([P\c +.\} +.if !\\*([I , \\*([I\c +.if !\\*([C , \\*([C\c +.if !\\*([D , \\*([D\c +\&. +.if !\\*([O \\*([O +.FE +.. +. \" [2 - book +.de [2 +.FS +.if !\\*([F .FP \\*([F +.if !\\*([Q \\*([Q, +.if !\\*([A \\*([A, +.if !\\*([T \f2\\*([T,\f1 +.if !\\*([S \\*([S, +.if !\\*([V \\*([V, +.if !\\*([P \{\ +.ie \\n([P>0 pp. \\*([P, +.el p. \\*([P, +.\} +\\*([I\c +.if !\\*([C , \\*([C\c +.if !\\*([D , \\*([D\c +\&. +.if !\\*([O \\*([O +.FE +.. +. \" [3 - article in book +.de [3 +.FS +.if !\\*([F .FP \\*([F +.if !\\*([Q \\*([Q, +.if !\\*([A \\*([A, +.if !\\*([T \\*([o\\*([T,\\*([c +in \f2\\*([B\f1\c +.if !\\*([E , ed. \\*([E\c +.if !\\*([S , \\*([S\c +.if !\\*([V , vol. \\*([V\c +.if !\\*([P \{\ +.ie \\n([P>0 , pp. \\*([P\c +.el , p. \\*([P\c +.\} +.if !\\*([I , \\*([I\c +.if !\\*([C , \\*([C\c +.if !\\*([D , \\*([D\c +\&. +.if !\\*([O \\*([O +.FE +.. +. \" [4 - report +.de [4 +.FS +.if !\\*([F .FP \\*([F +.if !\\*([Q \\*([Q, +.if !\\*([A \\*([A, +.if !\\*([T \\*([o\\*([T,\\*([c +.if !\\*([R \\*([R\c +.if !\\*([G \& (\\*([G)\c +.if !\\*([P \{\ +.ie \\n([P>0 , pp. \\*([P\c +.el , p. \\*([P\c +.\} +.if !\\*([I , \\*([I\c +.if !\\*([C , \\*([C\c +.if !\\*([D , \\*([D\c +\&. +.if !\\*([O \\*([O +.FE +.. +.de ]< +.[< +.. +.de [< +.SH +References +.LP +.de FP +.IP \\\\$1. +\\.. +.rm FS FE +.. +.de [> +.]> +.. +.de ]> +.sp +.. +.de ]- +.[- +.. +.de [- +.rm [Q [A [T [J [B [E [S [V +.rm [N [P [I [C [D [O [R [G +.. +.de ]] +.\" circumvent EOF bug in troff +.. diff --git a/usr.lib/ms/tbl.ms b/usr.lib/ms/tbl.ms new file mode 100644 index 00000000..a0ee7b9b --- /dev/null +++ b/usr.lib/ms/tbl.ms @@ -0,0 +1,83 @@ +.\" @(#)tbl.ms 1.3 (Berkeley) 6/2/90 +. \" TS - table start +.de TS +.br +.if !\\n(1T .RT +.ul 0 +.ti \\n(.iu +.if t .sp .5 +.if n .sp +.if \\$1H .TQ +.nr IX 1 +.. +.de TQ +.di TT +.nr IT 1 +.. +. \" TH - end table header (begun with .TS H) +.de TH +.if \\n(.d>.5v .nr T. 0 +.if \\n(.d>.5v .T# 0 +.di +.nr TQ \\n(.i +.nr HT 1 +.in 0 +.mk #a +.mk #b +.mk #c +.mk #d +.mk #e +.mk #f +.TT +.in \\n(TQu +.mk #T +.. +. \" TE - table end +.de TE +.nr IX 0 +.if \\n(IT>0 .if \\n(HT=0 \{\ +. di +. nr UR \\n(.u +. nf +. TT +. if \\n(UR>0 .fi +.\} +.nr IT 0 +.nr HT 0 +.sp \\n(DDu +.rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ m+ n+ +.rr a- b- c- d- e- f- g- h- i- j- k- l- m- +.rr a| b| c| d| e| f| g| h| i| j| k| l| m| +.rr 32 33 34 35 36 37 38 40 79 80 81 82 +.. +. \" B1 - begin boxed text +.de B1 +.br +.di BB +.nr BC 0 +.if \\$1C .nr BC 1 +.nr BE 1 +.. +. \" B2 - end boxed text +.de B2 +.br +.nr BI 1n +.if \\n(.$>0 .nr BI \\$1n +.di +.nr BE 0 +.nr BW \\n(dl +.nr BH \\n(dn +.ne \\n(BHu+\\n(.Vu +.nr BQ \\n(.u +.nf +.nr BW +2*\\n(BI +.if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u +.in +\\n(BIu +.BB +.in -\\n(BIu +.sp -1 +\l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu' +.if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u +.if \\n(BQ .fi +.br +.. diff --git a/usr.lib/ms/ths.ms b/usr.lib/ms/ths.ms new file mode 100644 index 00000000..08826ffb --- /dev/null +++ b/usr.lib/ms/ths.ms @@ -0,0 +1,24 @@ +.\" @(#)ths.ms 1.3 (Berkeley) 6/2/90 +. \" TM - U.C. Berkeley thesis mode +.ls 2 +.if v .nr PO 1.5i +.rm CH +.ds RH \\n(PN +.rm CF +.P1 +.nr TM 1 +. \" CT - chapter title +.de CT +.rn RH R@ +.if \\n(1T .bp +.RT +.if \\n(1T .sp +.if !\\n(1T .BG +.RT +.ft 3 +.if n .ul 100 +.ps \\n(PS+2 +.ce 100 +.nr CT 1 +.rn R@ RH +.. diff --git a/usr.lib/ms/tmac.s b/usr.lib/ms/tmac.s new file mode 100644 index 00000000..60a6560d --- /dev/null +++ b/usr.lib/ms/tmac.s @@ -0,0 +1,1025 @@ +.\" @(#)tmac.s 1.7 (Berkeley) 5/28/02 +.\" ancillary files reside in \*(//, +.\" except local which are in \*(L/, +.ds // /usr/lib/ms/ +.ds L/ /usr/local/lib/tmac/ +. \" IZ - initialize (before text begins) +.de IZ +.nr FM 1i +.nr YY -\\n(FMu +.nr XX 0 1 +.nr IP 0 +.nr PI 5n +.nr QI 5n +.nr FI 2n +.nr I0 \\n(PIu +.if n .nr PD 1v +.if t .nr PD .3v +.if n .nr DD 1v +.if t .nr DD .5v +.nr PS 10 +.nr VS 12 +.ps \\n(PS +.vs \\n(VSp +.nr ML 3v +.nr IR 0 +.nr TB 0 +.nr SJ \\n(.j +.nr PO \\n(.o +.nr LL 6i +.ll \\n(LLu +.lt 6i +.ev 1 +.nr FL 5.5i +.ll \\n(FLu +.ps 8 +.vs 10p +.ev +.ds CH - \\\\n(PN - +.if n .ds CF \\*(DY +.wh 0 NP +.wh -\\n(FMu FO +.ch FO 16i +.wh -\\n(FMu FX +.ch FO -\\n(FMu +.wh -\\n(FMu/2u BT +.. +. \" RT - reset (at new paragraph) +.de RT +.if !\\n(1T .BG +.if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di +.if \\n(TM .ls 2 +.ce 0 +.ul 0 +.if \\n(QP \{\ +. ll +\\n(QIu +. in -\\n(QIu +. nr QP -1 +.\} +.if \\n(NX<=1 .if !\\n(AJ .ll \\n(LLu +.if !\\n(IF \{\ +. ps \\n(PS +. if \\n(VS>=40 .vs \\n(VSu +. if \\n(VS<=39 .vs \\n(VSp +.\} +.if !\\n(IP .nr I0 \\n(PIu +.if \\n(IP \{\ +. in -\\n(I\\n(IRu +. nr IP -1 +.\} +.ft 1 +.TA +.fi +.. +. \" TA - set default tabs +.de TA +.if n .ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 80n +.if t .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n +.. +. \" BG - begin (at first paragraph) +.de BG +.br +.nr YE 1 +.di +.ce 0 +.nr KI 0 +.hy 14 +.nr 1T 1 +.S\\n(ST +.rm S0 S1 S2 SY TX AX WT RP +.\"redefs +.de TL +.ft 3 +.ce 99 +.sp +.LG +\\.. +.de AU +.ft 2 +.if n .ul 0 +.ce 99 +.sp +.NL +\\.. +.de AI +.ft 1 +.if n .ul 0 +.ce 99 +.if n .sp +.if t .sp .5 +.NL +\\.. +.RA +.rn FJ FS +.rn FK FE +.nf +.ev 1 +.ps \\n(PS-2 +.vs \\n(.s+2p +.ev +.if !\\n(KG .nr FP 0 +.nr KG 0 +.if \\n(FP \{\ +. FS +. FG +. FE +.\} +.br +.if \\n(TV .if n .sp 2 +.if \\n(TV .if t .sp 1 +.fi +.ll \\n(LLu +.. +. \" RA - redefine abstract +.de RA +.de AB +.br +.if !\\n(1T .BG +.ce +.sp +.if !\\n(.$ ABSTRACT +.if \\n(.$ .if !\\$1no \\$1 +.if !\\n(.$ .sp +.if \\n(.$ .if !\\$1no .sp +.sp +.nr AJ 1 +.in +\\n(.lu/12u +.ll -\\n(.lu/12u +.RT +.if \\n(TM .ls 1 +\\.. +.de AE +.nr AJ 0 +.br +.in 0 +.ll \\n(LLu +.if \\n(VS>=40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.if \\n(TM .ls 2 +\\.. +.. +. \" RP - released paper format +.de RP +.nr ST 2 +.if \\$1no .nr ST 1 +.pn 0 +.br +.. +. \" TL - source file for cover sheet +.de TL +.rn TL @T +.so \*(//cov.ms +.TL +.rm @T +.. +. \" PP - regular paragraph +.de PP +.RT +.if \\n(1T .sp \\n(PDu +.ne 1.1 +.ti +\\n(PIu +.. +. \" LP - left paragraph +.de LP +.RT +.if \\n(1T .sp \\n(PDu +.ne 1.1 +.ti \\n(.iu +.. +. \" IP - indented paragraph +.de IP +.RT +.if \\n(1T .sp \\n(PDu +.ne 1.1 +.if !\\n(IP .nr IP +1 +.if \\n(.$-1 .nr I\\n(IR \\$2n +.in +\\n(I\\n(IRu +.ta \\n(I\\n(IRu +.if \\n(.$ \{\ +.ds HT \&\\$1 +.ti -\\n(I\\n(IRu +\\*(HT\t\c +.if \w'\\*(HT'u>(\\n(I\\n(IRu+1n) .br +.\} +.. +. \" XP - exdented paragraph +.de XP +.RT +.if \\n(1T .sp \\n(PDu +.ne 1.1 +.if !\\n(IP .nr IP +1 +.in +\\n(I\\n(IRu +.ti -\\n(I\\n(IRu +.. +. \" QP - quote paragraph +.de QP +.ti \\n(.iu +.RT +.if \\n(1T .sp \\n(PDu +.ne 1.1 +.nr QP 1 +.in +\\n(QIu +.ll -\\n(QIu +.ti \\n(.iu +.if \\n(TM .ls 1 +.. +. \" SH - section header +.de SH +.ti \\n(.iu +.RT +.if \\n(1T .sp +.RT +.ne 3.1 +.B +.. +. \" NH - numbered header +.de NH +.SH +.nr NS \\$1 +.if !\\n(.$ .nr NS 1 +.if !\\n(NS .nr NS 1 +.nr H\\n(NS +1 +.if !\\n(NS-4 .nr H5 0 +.if !\\n(NS-3 .nr H4 0 +.if !\\n(NS-2 .nr H3 0 +.if !\\n(NS-1 .nr H2 0 +.if !\\$1 .if \\n(.$ .nr H1 1 +.if \\$1S \{\ +. nr NS \\n(.$-1 +. nr H1 \\$2 +. nr H2 \\$3 +. nr H3 \\$4 +. nr H4 \\$5 +. nr H5 \\$6 +.\} +.ds SN \\n(H1. +.if \\n(NS-1 .as SN \\n(H2. +.if \\n(NS-2 .as SN \\n(H3. +.if \\n(NS-3 .as SN \\n(H4. +.if \\n(NS-4 .as SN \\n(H5. +\\*(SN +.. +. \" DS - display with keep (L=left I=indent C=center B=block) +.de DS +.KS +.nf +.\\$1D \\$2 \\$1 +.ft 1 +.ps \\n(PS +.if \\n(VS>=40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.. +.de D +.ID \\$1 +.. +. \" ID - indented display with no keep +.de ID +.XD +.if t .in +.5i +.if n .in +8 +.if \\n(.$ .if !\\$1I .if !\\$1 \{\ +. in \\n(OIu +. in +\\$1n +.\} +.. +. \" LD - left display with no keep +.de LD +.XD +.. +. \" CD - centered display with no keep +.de CD +.XD +.ce 999 +.. +. \" XD - real display macro +.de XD +.nf +.nr OI \\n(.i +.sp \\n(DDu +.if \\n(TM .ls 1 +.. +. \" DE - end display of any kind +.de DE +.ce 0 +.if \\n(BD .DF +.nr BD 0 +.in \\n(OIu +.KE +.if \\n(TM .ls 2 +.sp \\n(DDu +.fi +.. +. \" BD - block display: center entire block +.de BD +.XD +.nr BD 1 +.nf +.in \\n(OIu +.di DD +.. +. \" DF - finish block display +.de DF +.di +.if \\n(dl>\\n(BD .nr BD \\n(dl +.if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u +.nr EI \\n(.l-\\n(.i +.ta \\n(EIuR +.DD +.in \\n(OIu +.. +. \" KS - begin regular keep +.de KS +.nr KN \\n(.u +.if !\\n(IK .if !\\n(IF .KQ +.nr IK +1 +.. +. \" KQ - real keep processor +.de KQ +.br +.nr KI \\n(.i +.ev 2 +.TA +.br +.in \\n(KIu +.ps \\n(PS +.if \\n(VS>=40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.ll \\n(LLu +.lt \\n(LTu +.if \\n(NX>1 .ll \\n(CWu +.if \\n(NX>1 .lt \\n(CWu +.di KK +.nr TB 0 +.. +. \" KF - begin floating keep +.de KF +.nr KN \\n(.u +.if !\\n(IK .FQ +.nr IK +1 +.. +. \" FQ - real floating keep processor +.de FQ +.nr KI \\n(.i +.ev 2 +.TA +.br +.in \\n(KIu +.ps \\n(PS +.if \\n(VS>=40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.ll \\n(LLu +.lt \\n(LTu +.if \\n(NX>1 .ll \\n(CWu +.if \\n(NX>1 .lt \\n(CWu +.di KK +.nr TB 1 +.. +. \" KE - end keep +.de KE +.if \\n(IK .if !\\n(IK-1 .if !\\n(IF .RQ +.if \\n(IK .nr IK -1 +.. +. \" RQ - real keep release +.de RQ +.br +.di +.nr NF 0 +.if \\n(dn-\\n(.t .nr NF 1 +.if \\n(TC .nr NF 1 +.if \\n(NF .if !\\n(TB .sp 200 +.if !\\n(NF .if \\n(TB .nr TB 0 +.nf +.rs +.nr TC 5 +.in 0 +.ls 1 +.if !\\n(TB \{\ +. ev +. br +. ev 2 +. KK +. rm KK +.\} +.ls +.ce 0 +.if \\n(TB .da KJ +.if \\n(TB \!.KD \\n(dn +.if \\n(TB .KK +.if \\n(TB .di +.nr TC \\n(TB +.if \\n(KN .fi +.in +.ev +.. +. \" KD - keep redivert +.de KD +.nr KM 0 +.if \\n(.zKJ .nr KM 1 +.if \\n(KM \!.KD \\$1 +.if !\\n(KM .if \\n(.t<\\$1 .di KJ +.. +. \" EM - end macro (process leftover keep) +.de EM +.br +.if !\\n(TB .wh -1p CM +.if \\n(TB \{\ +\&\c +' bp +. NP +. ch CM 160 +.\} +.. +.de XK +.nr TD 1 +.nf +.ls 1 +.in 0 +.rn KJ KL +.KL +.rm KL +.if \\n(.zKJ .di +.nr TB 0 +.if \\n(.zKJ .nr TB 1 +.br +.in +.ls +.fi +.nr TD 0 +.. +. \" NP - new page +.de NP +.if !\\n(LT .nr LT \\n(LLu +.if \\n(FM+\\n(HM>=\\n(.p \{\ +. tm HM + FM longer than page +. ab +.\} +.CM +.if !\\n(HM .nr HM 1i +.po \\n(POu +.nr PF \\n(.f +.nr PX \\n(.s +.ft 1 +.ps \\n(PS +'sp \\n(HMu/2u +.PT +'sp |\\n(HMu +.HD \"undefined +.ps \\n(PX +.ft \\n(PF +.nr XX 0 1 +.nr YY 0-\\n(FMu +.ch FO 16i +.ch FX 17i +.ch FO -\\n(FMu +.ch FX \\n(.pu-\\n(FMu +.if \\n(MF .FV +.nr MF 0 +.mk +.os +.ev 2 +.if !\\n(TD .if \\n(TC<5 .XK +.nr TC 0 +.ev +.nr TQ \\n(.i +.nr TK \\n(.u +.if \\n(IT \{\ +. in 0 +. nf +. TT +. in \\n(TQu +. if \\n(TK .fi +.\} +.ns +.mk #T +.. +. \" PT - page titles +.de PT +.lt \\n(LTu +.pc % +.nr PN \\n% +.nr PT \\n% +.if !'\\n%'0' .if !'\\n%'1' .if !'\\n%'i' .nr PT 2 +.if \\n(P1 .nr PT 2 +.if \\n(PT>1 .if !\\n(EH .if !\\n(OH .tl \\*(LH\\*(CH\\*(RH +.if \\n(PT>1 .if \\n(OH .if o .tl \\*(O1 +.if \\n(PT>1 .if \\n(EH .if e .tl \\*(E2 +.lt \\n(.lu +.. +. \" OH - odd page header +.de OH +.nr OH 1 +.if !\\n(.$ .nr OH 0 +.ds O1 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 +.. +. \" EH - even page header +.de EH +.nr EH 1 +.if !\\n(.$ .nr EH 0 +.ds E2 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 +.. +. \" P1 - PT on 1st page +.de P1 +.nr P1 1 +.. +. \" FO - footer +.de FO +.rn FO FZ +.if \\n(IT .nr T. 1 +.if \\n(IT .if !\\n(FC .T# 1 +.if \\n(IT .br +.nr FC +1 +.if \\n(NX<2 .nr WF 0 +.nr dn 0 +.if \\n(FC<=1 .if \\n(XX .XF +.rn FZ FO +.nr MF 0 +.if \\n(dn .nr MF 1 +.if !\\n(WF .nr YY 0-\\n(FMu +.if !\\n(WF .ch FO \\n(YYu +.if !\\n(dn .nr WF 0 +.if \\n(FC<=1 .if !\\n(XX \{\ +. if \\n(NX>1 .RC +. if \\n(NX<2 'bp +.\} +.nr FC -1 +.if \\n(ML .ne \\n(MLu +.. +. \" BT - bottom title +.de BT +.nr PF \\n(.f +.nr PX \\n(.s +.ft 1 +.ps \\n(PS +.lt \\n(LTu +.po \\n(POu +.if \\n(TM .if \\n(CT \{\ +. tl ''\\n(PN'' +. nr CT 0 +.\} +.if !'\\n%'0' .if !\\n(EF .if !\\n(OF .tl \\*(LF\\*(CF\\*(RF +.if !'\\n%'0' .if \\n(OF .if o .tl \\*(O3 +.if !'\\n%'0' .if \\n(EF .if e .tl \\*(E4 +.ft \\n(PF +.ps \\n(PX +.. +. \" OF - odd page footer +.de OF +.nr OF 1 +.if !\\n(.$ .nr OF 0 +.ds O3 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 +.. +. \" EF - even page footer +.de EF +.nr EF 1 +.if !\\n(.$ .nr EF 0 +.ds E4 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 +.. +. \" 2C - double column +.de 2C +.MC +.. +. \" 1C - single column +.de 1C +.MC \\n(LLu +.hy 14 +.. +. \" MC - multiple columns, arg is col width +.de MC +.nr L1 \\n(LL*7/15 +.if \\n(.$ .nr L1 \\$1n +.nr NQ \\n(LL/\\n(L1 +.if \\n(NQ<1 .nr NQ 1 +.if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1 +.if !\\n(1T \{\ +. BG +. if n .sp 4 +. if t .sp 2 +.\} +.if !\\n(NX .nr NX 1 +.if !\\n(NX=\\n(NQ \{\ +. RT +. if \\n(NX>1 .bp +. mk +. nr NC 1 +. po \\n(POu +.\} +.if \\n(NQ>1 .hy 12 +.nr NX \\n(NQ +.nr CW \\n(L1 +.ll \\n(CWu +.nr FL \\n(CWu*11u/12u +.if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1) +.nr RO \\n(CW+\\n(GW +.ns +.. +.de RC +.if \\n(NC>=\\n(NX .C2 +.if \\n(NC<\\n(NX .C1 +.nr NC \\n(ND +.. +.de C1 +.rt +.po +\\n(ROu +.nr ND \\n(NC+1 +.nr XX 0 1 +.if \\n(MF .FV +.ch FX \\n(.pu-\\n(FMu +.ev 2 +.if \\n(TB .XK +.nr TC 0 +.ev +.nr TQ \\n(.i +.if \\n(IT .in 0 +.if \\n(IT .TT +.if \\n(IT .in \\n(TQu +.mk #T +.ns +.. +.de C2 +.po \\n(POu +'bp +.nr ND 1 +.. +. \" RS - right shift +.de RS +.nr IS \\n(IP +.RT +.nr IP \\n(IS +.if \\n(IP .in +\\n(I\\n(IRu +.nr IR +1 +.nr I\\n(IR \\n(PIu +.in +\\n(I\\n(IRu +.. +. \" RE - retreat left +.de RE +.nr IS \\n(IP +.RT +.nr IP \\n(IS +.if \\n(IR .nr IR -1 +.if \\n(IP<=0 .in -\\n(I\\n(IRu +.. +. \" CM - cut mark +. \" only in troff when register v isn't one +. \" if string .T is set (ditroff), only if .T is "vp" +. \" may be forced if register v is two +.if n .ig +.if \nv=1 .ig +.if !\nv=2 .if !"\*(.T"" .if !"\*(.T"vp" .ig +.de CM +.po 0 +.lt 7.6i +.ft 1 +.ps 10 +.vs 4p +.tl '--''--' +.po +.vs +.lt +.ps +.ft +.. +. \" I - italic font +.de I +.nr PQ \\n(.f +.if t .ft 2 +.ie \\$1 .if n .ul 999 +.el .if n .ul 1 +.if t .if !\\$1 \&\\$1\|\f\\n(PQ\\$2 +.if n .if \\n(.$=1 \&\\$1 +.if n .if \\n(.$>1 \&\\$1\c +.if n .if \\n(.$>1 \&\\$2 +.. +. \" B - bold font +.de B +.nr PQ \\n(.f +.if t .ft 3 +.ie \\$1 .if n .ul 999 +.el .if n .ul 1 +.if t .if !\\$1 \&\\$1\f\\n(PQ\\$2 +.if n .if \\n(.$=1 \&\\$1 +.if n .if \\n(.$>1 \&\\$1\c +.if n .if \\n(.$>1 \&\\$2 +.. +. \" R - Roman font +.de R +.if n .ul 0 +.ft 1 +.. +. \" UL - underline in troff +.de UL +.if t \\$1\l'|0\(ul'\\$2 +.if n .I "\\$1" "\\$2" +.. +. \" SM - smaller +.de SM +.ps -2 +.. +. \" LG - larger +.de LG +.ps +2 +.. +. \" NL - normal +.de NL +.ps \\n(PS +.. +. \" DA - force date +.de DA +.if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4 +.ds CF \\*(DY +.. +. \" ND - no date or new date +.de ND +.if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4 +.rm CF +.. +. \" \** - numbered footnote +.ds * \\*[\\n+*\\*] +. \" FJ - replaces FS after cover +.de FJ +'ce 0 +.di +.ev 1 +.ll \\n(FLu +.da FF +.br +.if \\n(IF .tm Nested footnote +.nr IF 1 +.if !\\n+(XX-1 .FA +.if !\\n(MF .if !\\n(.$ .if \\n* .FP \\n* +.if !\\n(MF .if \\n(.$ .FP \\$1 no +.. +. \" FK - replaces FE after cover +.de FK +.br +.in 0 +.nr IF 0 +.di +.ev +.if !\\n(XX-1 .nr dn +\\n(.v +.nr YY -\\n(dn +.if !\\n(NX .nr WF 1 +.if \\n(dl>\\n(CW .nr WF 1 +.if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu +.if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) \{\ +. if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu +. if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v +. if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu) +.\} +.. +. \" FS - begin footnote on cover +.de FS +.ev 1 +.br +.ll \\n(FLu +.da FG +.if !\\n(.$ .if \\n* .FP \\n* +.if \\n(.$ .FP \\$1 no +.. +. \" FE - end footnote on cover +.de FE +.br +.di +.nr FP \\n(dn +.if !\\n(1T .nr KG 1 +.ev +.. +. \" FA - print line before footnotes +.de FA +.in 0 +.if n _________________________ +.if t \l'1i' +.br +.. +. \" FP - footnote paragraph +.de FP +.sp \\n(PDu/2u +.if \\n(FF<2 .ti \\n(FIu +.if \\n(FF=3 \{\ +. in \\n(FIu*2u +. ta \\n(FIu*2u +. ti 0 +.\} +.if !\\n(FF \{\ +. ie "\\$2"no" \\$1\0\c +. el \\*[\\$1\\*]\0\c +.\} +.if \\n(FF .if \\n(FF<3 \{\ +. ie "\\$2"no" \\$1\0\c +. el \\$1.\0\c +.\} +.if \\n(FF=3 \{\ +. ie "\\$2"no" \\$1\t\c +. el \\$1.\t\c +.\} +.. +. \" FV - get leftover footnote from previous page +.de FV +.FS +.nf +.ls 1 +.FY +.ls +.fi +.FE +.. +. \" FX - divert leftover footnote for next page +.de FX +.if \\n(XX .di FY +.if \\n(XX .ns +.. +. \" XF - actually print footnote +.de XF +.if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v +.ev 1 +.nf +.ls 1 +.FF +.rm FF +.nr XX 0 1 +.br +.ls +.di +.fi +.ev +.. +.de IS \" *** start ideal picture +.nr g7 \\n(.u +.ls 1 +.. +.de IF +.if \\n(g7 .fi +.ls +.. +.de IE \" *** end ideal picture +.if \\n(g7 .fi +.ls +.. +.de PS \" *** start picture: $1=height, $2=width in units or inches +.if t .sp .3 +.nr g7 \\$2 +.in (\\n(.lu-\\n(g7u)/2u +.ne \\$1u +.nr g7 \\n(.u +.ls 1 +.. +.de PE \" *** end picture +.in +.if \\n(g7 .fi +.if t .sp .6 +.ls +.. +.\" GS called with C (default), L or R (\n(g1=width, \n(g2=height) +.de GS \" *** start gremlin picture +.nr g7 (\\n(.lu-\\n(g1u)/2u +.if "\\$1"L" .nr g7 \\n(.iu +.if "\\$1"R" .nr g7 \\n(.lu-\\n(g1u +.in \\n(g7u +.nr g7 \\n(.u +.ls 1 +.nf +.ne \\n(g2u +.. +.de GE \" *** end gremlin picture +.ls +.in +.if \\n(g7 .fi +.if t .sp .6 +.. +.de GF \" *** finish gremlin picture; stay at top +.ls +.in +.if \\n(g7 .fi +.. +. \" TS - source file for tbl +.de TS +.rn TS @T +.so \*(//tbl.ms +.TS \\$1 \\$2 +.rm @T +.. +. \" EQ - source file for eqn +.de EQ +.rn EQ @T +.so \*(//eqn.ms +.EQ \\$1 \\$2 +.rm @T +.. +. \" ]- - source file for refer +.de ]- +.rn ]- @T +.so \*(//ref.ms +.]- +.rm @T +.. +.if !"\*(.T"" \{\ +. \" LT and HE - source for letter head +.de LT +.rn LT @T +.so \*(L/hed.ms +.LT +.rm @T +.. +.de HE +.rn HE @T +.so \*(L/hed.ms +.HE +.rm @T +.. +.\} +. \" [< - for refer -s or -e +.de ]< +.rn ]< @T +.so \*(//ref.ms +.]< +.rm @T +.. +. \" footnote delimiters +.if \n(.V>19 .ds [ \f1[ +.if \n(.V>19 .ds ] ]\fP +.if \n(.V<20 .ds [ \f1\s-2\v'-.4m' +.if \n(.V<20 .ds ] \v'.4m'\s+2\fP +. \" refer strings +.if n .ds [. [ +.if t .ds [. \s-2\v'-.4m'\f1 +.if n .ds .] ] +.if t .ds .] \v'.4m'\s+2\fP +.if n .ds <. " +.if t .ds <. . +.if n .ds >. . +.if t .ds >. " +.if n .ds >; ; +.if t .ds >; " +.if n .ds Q \&" +.if n .ds U \&" +.if n .ds - \%-- +.if t .ds Q `` +.if t .ds U '' +.if t .ds - \(em +.ds ' \h'\w'e'u/5'\z\'\h'-\w'e'u/5' +.ds ` \h'\w'e'u/5'\z\`\h'-\w'e'u/5' +.ds ^ \h'\w'o'u/10'\z^\h'-\w'o'u/10' +.ds , \h'\w'c'u/5'\z,\h'-\w'c'u/5' +.ds : \h'\w'u'u/5'\u\z.\h'\w'u'u*2/5'\z.\d\h'-\w'u'u*3/5' +.ds ~ \h'\w'n'u/10'\z~\h'-\w'n'u/10' +.ds C \h'\w'c'u/5'\v'-.6m'\s-4\zv\s+4\v'.6m'\h'-\w'c'u/5' +. \" AM - better accent marks +.de AM +.so \*(//acc.ms +.. +. \" TM - thesis mode +.de TM +.so \*(//ths.ms +.. +. \" BX - word in a box +.de BX +.if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul' +.if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu' +.. +. \" B1 - source file for boxed text +.de B1 +.rn B1 @T +.so \*(//tbl.ms +.B1 \\$1 +.rm @T +.. +. \" XS - table of contents +.de XS +.rn XS @T +.so \*(//toc.ms +.XS \\$1 \\$2 +.rm @T +.. +. \" IX - index words to stderr +.de IX +.tm \\$1\t\\$2\t\\$3\t\\$4 ... \\n(PN +.. +. \" UX - UNIX macro +.de UX +.ie \\n(UX \s-1UNIX\s0\\$1 +.el \{\ +\s-1UNIX\s0\\$1\(dg +.FS +\(dg \s-1UNIX\s0 is a registered trademark of AT&T Bell Laboratories +in the USA and other countries. +.FE +.nr UX 1 +.\} +.. +.co +.if \n(mo-0 .ds MO January +.if \n(mo-1 .ds MO February +.if \n(mo-2 .ds MO March +.if \n(mo-3 .ds MO April +.if \n(mo-4 .ds MO May +.if \n(mo-5 .ds MO June +.if \n(mo-6 .ds MO July +.if \n(mo-7 .ds MO August +.if \n(mo-8 .ds MO September +.if \n(mo-9 .ds MO October +.if \n(mo-10 .ds MO November +.if \n(mo-11 .ds MO December +.ds DY \*(MO \n(dy, \n(cn\n(yr +.nr * 0 1 +.IZ +.em EM +.rm IZ RA // diff --git a/usr.lib/ms/tmac.scover b/usr.lib/ms/tmac.scover new file mode 100644 index 00000000..bc15e02c --- /dev/null +++ b/usr.lib/ms/tmac.scover @@ -0,0 +1,323 @@ +. \"OK - "other keywords" for cover sheet. +.de OK +.br +.di +.di OD +.nf +.ft 3 +.. +. \"CS - spew out cover sheet +.de CS +.br +.if \\n(AJ>0 .tm Abstract not finished, AE assumed. +.if \\n(AJ>0 .AE +.di +.if t .po 0.5i +.ft 2 +.nr IB \\n(.b +.ft P +.nr K1 1 +.if t .sp |.4i +.if t .lg +.ll 7.0i +.vs 12p +.nf +.if t \h'7n'\s24\(bs\s12\f3 Bell Laboratories \s16\f1Cover Sheet for Technical Memorandum +.if n Bell Laboratories Cover Sheet for Technical Memorandum +.if t .sp .5v +.if n .sp +.if t \s6\l'7i' +.fi +.ps 9 +.ft 2 +.if t .sp 2p +.if \\n(.$<=6 The information contained herein is for the use of employees of Bell Laboratories and is not for publication. (See GEI 13.9-3)\p +.if \\n(.$>6 Warning: studying this document may cause drowsiness. Do not read before driving or operating machinery. (See GEI 13.9-3)\p +.ft 1 +.nf +.if \\n(IB>0 .bd 2 \\n(IB +.if t \s6\l'7i' +.if t .sp .5v +.if n .sp +.if t .ll 4.0i +.if n .ll 30 +.if t .po 1.0i +.ps 9 +.if t .ta 0.5i 4.5i 4.9i +.if n .ta 9 39 46 +.mk +Title- \f3\s10 +.rt +.if t .in 0.5i +.if n .in 10 +.hy 0 +.WT +.hy 14 +.br +.rt +.ll \\n(LLu +.if t .in 4.5i +.if n .in 40 +.nf +\s9\f1Date- \s10\f3 +.rt +.if t .in 4.9i +.if n .in 47 +\\*(DY +.sp +.if t .ti 4.5i +.if n .ti 40 +.mk +\s9\f1TM- \f3\s10 +.br +.rt +.CZ \\*(MN +.in 0 +.sp |\\n(.hu+1v +.mk +\s9\f1Other Keywords- \f3 +.rt +.if t .in 1.1i +.if n .in 20 +.OD +.in 0 +.if t .sp .7i +.if n .sp 3 +.ps 9 +.if t .ta 1.8i 3.3i 4.3i +.if n .ta 19 34 44 +.ft 1 +.mk +.fi +.ll 6.7i +.in 4.6i +.ti 0 +.nr SJ \\n(.j +.na +Author Location Extension Charging Case- \s10\f3\\*(CA +.ps 10 +.ti 4.3i +\f1\s9Filing Case- \s10\f3\\*(CC +.nf +.in 0 +.ad \\n(SJ +.rt +.sp 1 +.CB 1 +.if \\n(NA-1 .CB 2 +.if \\n(NA-2 .CB 3 +.if \\n(NA-3 .CB 4 +.if \\n(NA-4 .CB 5 +.if \\n(NA-5 .CB 6 +.if \\n(NA-6 .CB 7 +.if \\n(NA-7 .CB 8 +.if \\n(NA-8 .CB 9 +.ft 1 +.rm OK OD R1 E1 R2 E2 R3 E3 R4 E4 AB AE +.ds K1 \\$1 +.ds K2 \\$2 +.ds K3 \\$3 +.ds K4 \\$4 +.ds K5 \\$5 +.ds K6 \\$6 +.wh 9.8i CG +.ch FO 16i +.if t .sp .4i +.if n .sp 2 +.ls 1 +.pn 2 +.WB +.rm WB +.ls +.br +.if 9.7i-\\n(nlu-\\n(FPu-1v>0 .sp 9.7i-\\n(nlu-\\n(FPu-1v +.if \\n(FP>0 .FA +.FG +.nr K1 0 +.if \\n(GA=1 .nr GA 2 +.if \\n(VS>40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.bp 1 +.rm CG +.if t .po \\n(POu +.. +. \" CG - write bottom box on cover sheet +.de CG +.if t .po 0.5i +.vs 12p +.ch FO 12i +.ch FX 12i +.if t .ll 7i +.br +.if t \l'7i' +.if t .ta 1.4i 2.8i 4.2i +.if n .ta 14 29 44 +.if t .sp 8p +.if n .sp +Pages Text \\*(K1 Other \\*(K2 Total \\*(K3 +.if t .sp 8p +.if n .sp +.if t .po .5i +.if t No. Figures \\*(K4 No. Tables \\*(K5 No. Refs. \\*(K6 \b'|||||\ \ ' +.if n No. Figures \\*(K4 No. Tables \\*(K5 No. Refs. \\*(K6 +.br +.if t .po .5i +.if t \l'7i' +.ps 7 +.br +.if n .sp +.rm K1 +.rm K2 +.rm K3 +.rm K4 +.rm K5 +.rm K6 +.if t .po .5i +.if t .tl 'E-1932-U (6-73)'SEE REVERSE SIDE FOR DISTRIBUTION LIST'' +.if n .tl 'E-1932-U (6-73) SEE REVERSE SIDE FOR DISTRIBUTION LIST''' +.if t .po 0.5i +.ll \\n(LLu +.ps 10 +.ch CG 12i +.if \\n(K1>0 .bp +.. +. \"CB - help with cover sheet +.de CB +.br +.mk +.A\\$1 +.rt +\& \\*(R\\$1 \\*(E\\$1 +.br +.. +.de CZ +.br +.if !"\\$1"" \\$1 +.br +.if !"\\$2"" \\$2 +.br +.if !"\\$3"" \\$3 +.br +.if !"\\$4"" \\$4 +.br +.if !"\\$5"" \\$5 +.br +.if !"\\$6"" \\$6 +.br +.if !"\\$7"" \\$7 +.br +.if !"\\$8"" \\$8 +.br +.if !"\\$9"" \\$9 +.. +. \"S1 - tm style +.de S1 +.br +.if t .ta 4.75i +.if n .ta 46 +.ll 80 +.ps 36 +.br +.if t .vs .35i +.if t \t\(bs +.br +.if n .sp 24p +.ps 12 +.br +.ft 3 +\tBell Laboratories +.ft 1 +.nr SJ \\n(.j +.na +.br +.ps 8 +.vs 12p +.sp 2v +.mk +.ll +.ll 4.0i +Subject: +.ft 3 +.br +.rt +.if n .in +9 +.if t .in +\w'Subject: 'u +.ps +.nf +.hy 0 +.WT +.hy 14 +.ft 1 +.fi +.in 0 +.if \\n(MC>0 \\s8Case- \\*(CA\\s10 +.if \\n(MG>0 --\s8 File- \\*(CC\\s10 +.br +.rt +.if n .ll 70 +.if t .ll 6.5i +.if t .in 5.10i +.if n .in 52 +.ps 8 +.ti -6n +.ta 6n +date:\t\\s\\n(PS\\f3\\*(DY +.sp +.ft 1 +.ps 8 +.mk +.ti -6n +from: +.ps +.br +.rt +.nf +.ft 3 +.A1 +.if \\n(NA>1 .A2 +.if \\n(NA>2 .A3 +.if \\n(NA>3 .A4 +.if \\n(NA>4 .A5 +.if \\n(NA>5 .A6 +.if \\n(NA>6 .A7 +.if \\n(NA>7 .A8 +.if \\n(NA>8 .A9 +.ft 1 +.sp +.mk +.ps 8 +.ti -6n +.ft 1 +.if \\n(IM=0 .if \\n(MM .if "\\*(MQ"" \{\ +.if \\n(MN=0 .ds MQ TM: +.if \\n(MN=1 .ds MQ MF: +.if \\n(MN=2 .ds MQ MR: +.if \\n(MN=3 .ds MQ EN:\} +\\*(MQ +.br +.ti \\n(.iu +.rt +.ps +.ft 3 +.hy 0 +.ll 20i +.if t .ll 7.75i-\\n(.ou +.fi +.na +.if \\n(MM .CZ \\*(MN +.hy 14 +.nf +.ft 1 +.ll \\n(LLu +.in +.sp |\\n(.hu +.if \\n(IM=0 .sp +.ad \\n(SJ +.ce +.ft 2 +.if \\n(IM=0 \\*(QF +.ft 1 +.ce 0 +.if \\n(IM=0 .sp +.fi +.. diff --git a/usr.lib/ms/tmac.sdisp b/usr.lib/ms/tmac.sdisp new file mode 100644 index 00000000..644f8721 --- /dev/null +++ b/usr.lib/ms/tmac.sdisp @@ -0,0 +1,60 @@ +. \"DS - display. If .DS C, center; L, left-adjust; I, indent. +.de DS +.KS +.nf +.\\$1D \\$2 \\$1 +.ft 1 +.ps \\n(PS +.if \\n(VS>40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.. +.de D +.ID \\$1 +.. +.de CD +.XD +.ce 1000 +.. +.de ID +.XD +.if t .in +0.5i +.if n .in +8 +.if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in \\n(OIu +.if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in +\\$1n +.. +.de LD +.XD +.. +.de XD +.nf +.nr OI \\n(.i +.if t .sp 0.5 +.if n .sp 1 +.. +.de BD \" block display: save everything, then center it. +.XD +.nr BD 1 +.nf +.in \\n(OIu +.di DD +.. +. \"DE - display end +.de DE +.ce 0 +.if \\n(BD>0 .DF +.nr BD 0 +.in \\n(OIu +.KE +.if t .sp 0.5 +.if n .sp 1 +.fi +.. +.de DF \" finish a block display to be recentered. +.di +.if \\n(dl>\\n(BD .nr BD \\n(dl +.if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u +.nr EI \\n(.l-\\n(.i +.ta \\n(EIuR +.DD +.in \\n(OIu +.. diff --git a/usr.lib/ms/tmac.skeep b/usr.lib/ms/tmac.skeep new file mode 100644 index 00000000..9e7a3731 --- /dev/null +++ b/usr.lib/ms/tmac.skeep @@ -0,0 +1,80 @@ +. \"KS keep - for keep release features. As in IFM +.de ]K +.nr KN \\n(.u +.if \\n(IK=0 .if \\n(IF=0 .KQ +.nr IK +1 +.. +. \"KQ - real keep processor +.de KQ +.br +.nr KI \\n(.i +.ev 2 +.br +.in \\n(KIu +.ps \\n(PS +.if \\n(VS>40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.ll \\n(LLu +.lt \\n(LTu +.if \\n(NX>1 .ll \\n(CWu +.if \\n(NX>1 .lt \\n(CWu +.di KK +.nr TB 0 +.. +. \"KF - floating keep +.de ]J +.nr KN \\n(.u +.if !\\n(IK .FQ +.nr IK +1 +.. +. \"FQ real floating keep processor +.de FQ +.nr KI \\n(.i +.ev 2 +.br +.in \\n(KIu +.ps \\n(PS +.if \\n(VS>40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.ll \\n(LLu +.lt \\n(LTu +.if \\n(NX>1 .ll \\n(CWu +.if \\n(NX>1 .lt \\n(CWu +.di KK +.nr TB 1 +.. +. \"KE release - everything between keep and release is together +.de KE +.if \\n(IK .if !\\n(IK-1 .if \\n(IF=0 .RQ +.if \\n(IK .nr IK -1 +.. +. \"RQ real release +.de RQ +.br +.di +.nr NF 0 +.if \\n(dn-\\n(.t .nr NF 1 +.if \\n(TC .nr NF 1 +.if \\n(NF .if !\\n(TB .sp 200 +.if !\\n(NF .if \\n(TB .nr TB 0 +.nf +.rs +.nr TC 5 +.in 0 +.ls 1 +.if \\n(TB=0 .ev +.if \\n(TB=0 .br +.if \\n(TB=0 .ev 2 +.if \\n(TB=0 .KK +.ls +.ce 0 +.if \\n(TB=0 .rm KK +.if \\n(TB .da KJ +.if \\n(TB \!.KD \\n(dn +.if \\n(TB .KK +.if \\n(TB .di +.nr TC \\n(TB +.if \\n(KN .fi +.in +.ev +.. diff --git a/usr.lib/ms/tmac.srefs b/usr.lib/ms/tmac.srefs new file mode 100644 index 00000000..45950b3b --- /dev/null +++ b/usr.lib/ms/tmac.srefs @@ -0,0 +1,137 @@ +.\" REFER macros .... citations +.de [] +.][ \\$1 +.. +.de ][ +.if \\$1>5 .tm Bad arg to [] +.[\\$1 +.. +.if n .ds [. [ +.if t .ds [. \s-2\v'-.4m'\f1 +.if n .ds .] ] +.if t .ds .] \v'.4m'\s+2\fP +.if n .ds [o "" +.if n .ds [c "" +.if t .ds [o `` +.if t .ds [c '' +.\" the next lines deal with the problem of .[1] or [1]. +.\" refer will write "linexxx\*(<.[1]\*(>. +.\" and either "<." or ">." should produce the .; +.\" similarly for , +.if n .ds >. . +.if t .ds <. . +.if n .ds >, , +.if t .ds <, , +.de [5 \" tm style +.FS +.IP "\\*([F.\0" +\\*([A, \\f2\\*([T\\f1, +.ie \\n(TN \\*([M. +.el Bell Laboratories internal memorandum (\\*([D). +.RT +.FE +.. +.de [0 \" other +.FS +.IP "\\*([F.\0" +.if !"\\*([A"" \\*([A, +.if !"\\*([T"" \\f2\\*([T\\f1\c +.if !"\\*([T"" .if !"\\*([O"" ,\ +.ie !"\\*([O"" \\*([O +.el .if !"\\*([T"" \&. +.if !"\\*([D"" \\*([D. +.RT +.FE +.. +.de [1 \" journal article +.FS +.IP "\\*([F.\0" +\\*([A, +.if !"\\*([T"" \\*([o\\*([T,\\*([c +.if !"\\*([V"" .if t \\f2\\*([J\\f1 +.if "\\*([V"" .if t \\f2\\*([J\\f1, +.if n \\f2\\*([J\\f1, +.el \\f2\\*([J\\f1, +.if !"\\*([V"" \{.if n Vol.\& +\\f3\\*([V\\f1\c +.if n ,\} +.if !"\\*([N"" (\\*([N)\c +.if !"\\*([P"" \{\ +.ie \\n([P>0 \ pp.\& +.el \ p.\& +\\*([P\} +.if !"\\*([I"" .if "\\*([R"" \\*([I, +(\\*([D). +.if !"\\*([O"" \\*([O +.RT +.FE +.. +.de [2 \" book +.FS +.IP "\\*([F.\0" +\\*([A, \\f2\\*([T,\\f1 +\\*([I\c +.if !"\\*([C"" , \\*([C\c + (\\*([D). +.if !"\\*([G"" Gov't. ordering no. \\*([G +.if !"\\*([O"" \\*([O +.RT +.FE +.. +.de [4 \" report +.FS +.IP "\\*([F.\0" +\\*([A, \\*([o\\*([T,\\*([c +\\*([R\c +.if !"\\*([G"" \& (\\*([G)\c +.if !"\\*([I"" , \\*([I\c +.if !"\\*([C"" , \\*([C\c + (\\*([D). +.if !"\\*([O"" \\*([O +.RT +.FE +.. +.de [3 \" article in book +.FS +.IP "\\*([F.\0" +\\*([A, \\*([o\\*([T,\\*([c +.if !"\\*([P"" pp. \\*([P +in \\f2\\*([B\\f1, \c +.if !"\\*([E"" ed. \\*([E, \c +.if !"\\*([I"" \\*([I\c +.if !"\\*([C"" , \\*([C\c + (\\*([D). +.if !"\\*([O"" \\*([O +.RT +.FE +.. +.de ]< +.[< +.. +.de [< +.SH +References +.LP +.rm FS FE +.. +.de [> +.]> +.. +.de ]> +.sp +.. +.de ]- +.[- +.. +.de [- +.rm [V [P [A [T +.rm [N [C [B [O +.rm [R [I [E [D +.. +.de ]] +this is never +executed +and just +uses up an end-of-file +bug. +.. diff --git a/usr.lib/ms/toc.ms b/usr.lib/ms/toc.ms new file mode 100644 index 00000000..a5c88691 --- /dev/null +++ b/usr.lib/ms/toc.ms @@ -0,0 +1,105 @@ +.\" @(#)toc.ms 1.3 (Berkeley) 6/2/90 +. \" XS - begin index entry +.de XS +.if !\\n(1T .BG +.ds XL \\n(PN +.if \\n(.$ .ds XL \\$1 +.nr SJ \\n(.j +.nr PF \\n(.f +.nr PX \\n(.s +.nr SL \\n(.l +.ls 1 +.br +.da XT +.if \\n(.$-1 \{\ +. nr XI 1 +. in \\$2n +.\} +.ft 1 +.ps \\n(PS +.ll \\n(LLu-8n +.na +.sp \\n(PDu +.. +. \" XA - add index entry +.de XA +.if !\\*(XLno \\a\\t\\*(XL +.if \\n(.$ .ds XL \\$1 +.sp \\n(PDu +.if \\n(.$-1 \{\ +. nr XI 1 +. in \\$2n +.\} +.. +. \" XE - end index entry +.de XE +.if !\\*(XLno \\a\\t\\*(XL +.br +.da +.ls +.ad \\n(SJ +.ft \\n(PF +.ps \\n(PX +.ll \\n(SLu +.if \\n(XI \{\ +. nr XI 0 +. in 0 +.\} +.. +. \" PX - print index (table of contents) +.de PX +.if \\n(VS>=40 .vs \\n(VSu +.if \\n(VS<=39 .vs \\n(VSp +.ll \\n(LLu +.lt \\n(LTu +.ta \\n(LLu-5n \\n(LLuR +.in 0 +.nf +.rs +.if !\\$1no \{\ +. sp .5i +. tl ''\f3\s+2Table of Contents\s-2\f1'' +. sp .5i +.\} +.XT +.. +. \" TC - table of contents at end of paper +.de TC +.af PN i +.bp 1 +.PX \\$1 +.. +. \" NH - numbered section header +.de NH +.RT +.if \\n(1T .sp +.if !\\n(1T .BG +.RT +.ne 3.1 +.ft 3 +.if n .ul 1000 +.nr NS \\$1 +.if !\\n(.$ .nr NS 1 +.if !\\n(NS .nr NS 1 +.nr H\\n(NS +1 +.if !\\n(NS-4 .nr H5 0 +.if !\\n(NS-3 .nr H4 0 +.if !\\n(NS-2 .nr H3 0 +.if !\\n(NS-1 .nr H2 0 +.if !\\$1 .if \\n(.$ .nr H1 1 +.if \\$1S \{\ +. nr NS \\n(.$-1 +. nr H1 \\$2 +. nr H2 \\$3 +. nr H3 \\$4 +. nr H4 \\$5 +. nr H5 \\$6 +.\} +.ds SN \\n(H1. +.ti \\n(.iu +.if \\n(NS-1 .as SN \\n(H2. +.if \\n(NS-2 .as SN \\n(H3. +.if \\n(NS-3 .as SN \\n(H4. +.if \\n(NS-4 .as SN \\n(H5. +\\*(SN +.. diff --git a/usr.lib/sendmail/Makefile b/usr.lib/sendmail/Makefile index 09d6f3f9..b23ba8c9 100644 --- a/usr.lib/sendmail/Makefile +++ b/usr.lib/sendmail/Makefile @@ -9,9 +9,9 @@ # software without specific prior written permission. This software # is provided ``as is'' without express or implied warranty. # -# @(#)Makefile 4.13 (Berkeley) 5/1/88 +# @(#)Makefile 4.14 (Berkeley) 3/27/00 # -SUBDIR= lib src aux +SUBDIR= lib src aux cf/cf all: ${SUBDIR} diff --git a/usr.lib/sendmail/cf/cf/Makefile b/usr.lib/sendmail/cf/cf/Makefile index 85fa192d..1c3046fb 100644 --- a/usr.lib/sendmail/cf/cf/Makefile +++ b/usr.lib/sendmail/cf/cf/Makefile @@ -14,7 +14,7 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#)Makefile 1.20 (Berkeley) 3/3/89 +# @(#)Makefile 1.26 (Berkeley) 12/4/03 # ###################################################################### # @@ -27,9 +27,13 @@ HOSTS = cad.cf cogsci.cf ic.cf okeeffe.cf ucbarpa.cf ucbvax.cf GROUPS = cadgroup.cf cc.cf cchem.cf -PROTOS = tcpproto.cf tcpuucpproto.cf uucpproto.cf ucbtcp.cf +UCBTCP = ucbtcp.cf -ALL = $(HOSTS) $(GROUPS) $(PROTOS) +HARHAN = harhantcp.cf + +PROTOS = baretcpproto.cf tcpproto.cf tcpuucpproto.cf uucpproto.cf + +ALL = $(HOSTS) $(GROUPS) $(UCBTCP) $(HARHAN) $(PROTOS) GET = sccs get @@ -44,20 +48,23 @@ BLDFILE = buildinfo m4 $*.mc > $*.cf rm -f $(BLDFILE) -all: $(ALL) +all: $(PROTOS) clean: rm -f $(ALL) a.out core make.out rm -f ,* +install: + install -c -o bin -g bin -m 644 baretcpproto.cf ${DESTDIR}/usr/lib/sendmail.cf + # # Standard files included by all # $(ALL): ../m4/boilerplate.m4 ../m4/fake_domains.m4 ../m4/localm.m4 \ - ../m4/nsclasses.m4 ../m4/nsmacros.m4 ../m4/nstcpldm.m4 \ - ../m4/nstcpm.m4 ../m4/postwriterule.m4 ../m4/prewriterule.m4 \ + ../m4/nsclasses.m4 ../m4/nsmacros.m4 ../m4/smtpm.m4 \ + ../m4/postwriterule.m4 ../m4/prewriterule.m4 \ ../m4/rule0.m4 ../m4/rule3.m4 ../m4/rule5.m4 ../m4/smtpuucpm.m4 \ - ../m4/uucpm.m4 ../m4/version.m4 ../sitedep/nicregistered.m4 \ + ../m4/uucpm.m4 ../m4/version.m4 \ proto.mc # @@ -71,3 +78,4 @@ ucbvax.cf: ../m4/suucpm.m4 ../sitedep/uucp.cad.m4 \ ../sitedep/uucp.cogsci.m4 ../sitedep/uucp.ucbarpa.m4 \ ../sitedep/uucp.ucbvax.m4 +depend: diff --git a/usr.lib/sendmail/cf/cf/baretcpproto.mc b/usr.lib/sendmail/cf/cf/baretcpproto.mc new file mode 100644 index 00000000..5c1e6ffc --- /dev/null +++ b/usr.lib/sendmail/cf/cf/baretcpproto.mc @@ -0,0 +1,11 @@ +divert(10)dnl +# +# Prototype configuration file for systems on TCP/IP (SMTP) based networks +# without any connection to UUCP, BITNET, or CSNET +# +# @(#)baretcpproto.mc 1.1 (Berkeley) 3/27/00 +# +define(DOMAIN, `DDYOUR_DOMAIN_GOES_HERE') +define(EXTERNAL_VERSION, ``#' `@(#)baretcpproto.mc 1.1' (Berkeley) `3/27/00'') +divert(0)dnl +include(proto.mc)dnl diff --git a/usr.lib/sendmail/cf/cf/harhantcp.mc b/usr.lib/sendmail/cf/cf/harhantcp.mc new file mode 100644 index 00000000..1c40eeb3 --- /dev/null +++ b/usr.lib/sendmail/cf/cf/harhantcp.mc @@ -0,0 +1,10 @@ +divert(10)dnl +# +# Generic configuration file for Harhan machines. +# +# @(#)harhantcp.mc 1.2 (Berkeley) 5/29/02 +# +define(DOMAIN, `DDHarhan.ORG') +define(EXTERNAL_VERSION, ``#' `@(#)harhantcp.mc 1.2' (Berkeley) `5/29/02'') +divert(0)dnl +include(proto.mc)dnl diff --git a/usr.lib/sendmail/cf/cf/proto.mc b/usr.lib/sendmail/cf/cf/proto.mc index f4b63bdf..96648fe5 100644 --- a/usr.lib/sendmail/cf/cf/proto.mc +++ b/usr.lib/sendmail/cf/cf/proto.mc @@ -16,7 +16,7 @@ # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # ifdef(`EXTERNAL_VERSION', EXTERNAL_VERSION, `#') -# @(#)proto.mc 1.21 (Berkeley) 2/15/89 +# @(#)proto.mc 1.22 (Berkeley) 3/27/00 # sinclude(buildinfo)dnl # @@ -50,8 +50,6 @@ UUCP_ALIASES include(../m4/nsmacros.m4) include(../m4/nsclasses.m4) -ifdef(`INTERNET_RELAY', -`include(../sitedep/nicregistered.m4)') include(../m4/version.m4) include(../m4/boilerplate.m4) @@ -69,8 +67,7 @@ include(../m4/rule3.m4) include(../m4/localm.m4) ifdef(`UUCP_ONLY',, -`include(../m4/nstcpldm.m4)') -include(../m4/nstcpm.m4) +`include(../m4/smtpm.m4)') ifdef(`UUCP_NAME', `include(../m4/uucpm.m4)' `include(../m4/rule5.m4)') @@ -103,19 +100,10 @@ ifdef(`UUCP_ONLY',, `ifdef(`UUCP_RELAY', `#' forward non-local UUCP traffic to our UUCP relay -R$*<@$*.UUCP>$* $`#'tcpld$@$R$:$1<@$2.UUCP> uucp mail)' +R$*<@$*.UUCP>$* $`#'smtp$@$R$:$1<@$2.UUCP> uucp mail)' -`ifdef(`ARPAKLUDGE', -`#' hide behind our internet relay when talking to people in the arpa domain -R$*<@$*.arpa>$* $`#'tcp$@$2.arpa$:$1<@$2.arpa>$3 user@host.arpa - -`#' but speak domains to them if they speak domains too -R$*<@$*>$* $`#'tcpld$@$2$:$1<@$2>$3 user@host.domain, `#' resolve SMTP traffic -`ifdef(`INTERNET_RELAY', -R$*<@$*.$D>$* $`#'tcpld$@$2.$D$:$1<@$2.$D>$3 user@host.ourdomain -R$*<@$+>$* $`#'tcp$@$2$:$1<@$2>$3 user@host.ourdomain, -R$*<@$+>$* $`#'tcpld$@$2$:$1<@$2>$3 user@host.domain)')') +R$*<@$+>$* $`#'smtp$@$2$:$1<@$2>$3 user@host.domain) # remaining names must be local R$+ $#local$:$1 everything else diff --git a/usr.lib/sendmail/cf/cf/tcpproto.mc b/usr.lib/sendmail/cf/cf/tcpproto.mc index 1b7bd403..5f05781c 100644 --- a/usr.lib/sendmail/cf/cf/tcpproto.mc +++ b/usr.lib/sendmail/cf/cf/tcpproto.mc @@ -2,13 +2,12 @@ divert(10)dnl # # Prototype configuration file for systems on TCP/IP (SMTP) based networks # -# @(#)tcpproto.mc 1.2 (Berkeley) 1/24/89 +# @(#)tcpproto.mc 1.3 (Berkeley) 3/27/00 # define(DOMAIN, `DDYOUR_DOMAIN_GOES_HERE') define(UUCP_RELAY, DRYOUR_UUCP_RELAY_GOES_HERE) define(BITNET_RELAY, `DBYOUR_BITNET_RELAY_GOES_HERE') define(CSNET_RELAY, `DCYOUR_CSNET_RELAY_GOES_HERE') -define(ARPAKLUDGE, `1') -define(EXTERNAL_VERSION, ``#' `@(#)tcpproto.mc 1.2' (Berkeley) `1/24/89'') +define(EXTERNAL_VERSION, ``#' `@(#)tcpproto.mc 1.3' (Berkeley) `3/27/00'') divert(0)dnl include(proto.mc)dnl diff --git a/usr.lib/sendmail/cf/m4/boilerplate.m4 b/usr.lib/sendmail/cf/m4/boilerplate.m4 index b6240288..6775917c 100644 --- a/usr.lib/sendmail/cf/m4/boilerplate.m4 +++ b/usr.lib/sendmail/cf/m4/boilerplate.m4 @@ -16,7 +16,7 @@ divert(10) # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#)boilerplate.m4 1.3 (Berkeley) 2/15/89 +# @(#)boilerplate.m4 1.4 (Berkeley) 3/27/00 # divert(0) ###################### @@ -80,6 +80,8 @@ OW* Ox8 # load average at which we refuse connections OX12 +# me too! +Om ########################### # Message precedences # diff --git a/usr.lib/sendmail/cf/m4/nsmacros.m4 b/usr.lib/sendmail/cf/m4/nsmacros.m4 index 96dcea3e..7988c1ab 100644 --- a/usr.lib/sendmail/cf/m4/nsmacros.m4 +++ b/usr.lib/sendmail/cf/m4/nsmacros.m4 @@ -16,7 +16,7 @@ divert(10) # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#)nsmacros.m4 1.10 (Berkeley) 2/15/89 +# @(#)nsmacros.m4 1.11 (Berkeley) 3/27/00 # divert(0) ###################### @@ -29,13 +29,6 @@ DOMAIN, `#' YOUR DOMAIN NAME GOES HERE! DDYOUR_DOMAIN_NAME) -ifdef(`INTERNET_RELAY', -`#' Internet relay host -- machines in our domain that are not -`#' registered with the NIC will be "hidden" behind this relay machine -`#' with the % kludge`,' although SMTP delivery will still be performed -`#' by the sending machine. Someday this will go away. -INTERNET_RELAY) - ifdef(`UUCP_RELAY', `#' UUCP relay host UUCP_RELAY) diff --git a/usr.lib/sendmail/cf/m4/rule0.m4 b/usr.lib/sendmail/cf/m4/rule0.m4 index 4250a5e7..0524b6d8 100644 --- a/usr.lib/sendmail/cf/m4/rule0.m4 +++ b/usr.lib/sendmail/cf/m4/rule0.m4 @@ -16,7 +16,7 @@ divert(10) # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#)rule0.m4 1.11 (Berkeley) 2/15/89 +# @(#)rule0.m4 1.13 (Berkeley) 3/27/00 # divert(0) ############################################################ @@ -32,16 +32,12 @@ divert(0) S0 -# first make canonical -R$*<$*>$* $1$2$3 defocus -R$+ $:$>3$1 make canonical - # handle special cases R$*<@[$+]>$* $:$1<@$[[$2]$]>$3 numeric internet addr -R$*<@[$+]>$* $#tcp$@[$2]$:$1@[$2]$3 numeric internet spec +R$*<@[$+]>$* $#smtp$@[$2]$:$1@[$2]$3 numeric internet spec R$+ $:$>6$1 R$-<@$w> $#local$:$1 -R@ $#error$:Invalid address handle <> form +R@ $#local$:$n handle <> form # canonicalize using the nameserver if not internal domain R$*<@$*.$~I>$* $:$1<@$[$2.$3$]>$4 diff --git a/usr.lib/sendmail/cf/m4/smtpm.m4 b/usr.lib/sendmail/cf/m4/smtpm.m4 new file mode 100644 index 00000000..4e778ac4 --- /dev/null +++ b/usr.lib/sendmail/cf/m4/smtpm.m4 @@ -0,0 +1,66 @@ +divert(10) +# +# Copyright (c) 1983 Eric P. Allman +# Copyright (c) 1988 The Regents of the University of California. +# All rights reserved. +# +# Redistribution and use in source and binary forms are permitted +# provided that the above copyright notice and this paragraph are +# duplicated in all such forms and that any documentation, +# advertising materials, and other materials related to such +# distribution and use acknowledge that the software was developed +# by the University of California, Berkeley. The name of the +# University may not be used to endorse or promote products derived +# from this software without specific prior written permission. +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +# +# @(#)smtpm.m4 1.14 (Berkeley) 3/27/00 +# +divert(0) +############################################################ +############################################################ +##### +##### Internet SMTP Mailer specification +##### +##### Messages processed by this specification may leave +##### the local domain -- hence, they must be canonical +##### according to RFC822 etc. +##### +############################################################ +############################################################ + +Msmtp, P=[IPC], F=mDFMueXL, S=27, R=27, A=IPC $h, E=\r\n + +S27 + +# don't touch the special error address +R@ $@@ + +# pass 's through +R<@$+>$* $@<@$[$1$]>$2 resolve + +# map colons to dots everywhere +R$*:$* $1.$2 map colons to dots + +# output local host as user@host.domain +R$- $@$1<@$w> user w/o host +R$+<@$w> $@$1<@$w> this host +R$+<@$=w> $@$1<@$w> or an alias +R$+<@$-> $:$1<@$[$2$]> ask nameserver +R$+<@$w> $@$1<@$w> this host +R$+<@$-> $@$1<@$2.$D> if nameserver fails + +# if not local, and not a "fake" domain, ask the nameserver +R$+<@$+.$~I> $@$1<@$[$2.$3$]> user@host.domain +R$+<@[$+]> $@$1<@[$2]> already ok + +# output fake domains as user%fake@relay + +ifdef(`BITNET_RELAY', +R$+<@$+.BITNET> $@$1%$2.BITNET<@$B> user@host.BITNET) +ifdef(`CSNET_RELAY', +R$+<@$+.CSNET> $@$1%$2.CSNET<@$C> user@host.CSNET) +R$+<@$+.UUCP> $@$2!$1 user@host.UUCP + diff --git a/usr.lib/sendmail/cf/m4/smtpuucpm.m4 b/usr.lib/sendmail/cf/m4/smtpuucpm.m4 index d738bebe..24867074 100644 --- a/usr.lib/sendmail/cf/m4/smtpuucpm.m4 +++ b/usr.lib/sendmail/cf/m4/smtpuucpm.m4 @@ -16,7 +16,7 @@ divert(10) # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#)smtpuucpm.m4 1.2 (Berkeley) 2/15/89 +# @(#)smtpuucpm.m4 1.3 (Berkeley) 3/27/00 # divert(0) ############################################################ @@ -35,7 +35,7 @@ divert(0) ############################################################ ############################################################ -Msmtpuucp, P=[IPC], F=mDFMueXLC, S=13, R=23, A=IPC $h, E=\r\n +Msmtpuucp, P=[IPC], F=mDFMueXL, S=13, R=23, A=IPC $h, E=\r\n define(SMTPUUCPPAIR, `R<@$1.uucp>:$+ $`#'smtpuucp$@$2$:`$'2 diff --git a/usr.lib/sendmail/cf/m4/version.m4 b/usr.lib/sendmail/cf/m4/version.m4 index 0fedfcaf..2f9c8b92 100644 --- a/usr.lib/sendmail/cf/m4/version.m4 +++ b/usr.lib/sendmail/cf/m4/version.m4 @@ -16,11 +16,11 @@ divert(10) # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#)version.m4 1.35 (Berkeley) 2/15/89 +# @(#)version.m4 1.36 (Berkeley) 3/27/00 # divert(0) ###################### # Version Number # ###################### -DZ1.35 +DZ1.36 diff --git a/usr.lib/sendmail/doc/intro.me b/usr.lib/sendmail/doc/intro.me index bf97625f..58bce463 120000 --- a/usr.lib/sendmail/doc/intro.me +++ b/usr.lib/sendmail/doc/intro.me @@ -1 +1 @@ -/usr/src/doc/smm/16.sendmail/intro.me \ No newline at end of file +../../../doc/smm/16.sendmail/intro.me \ No newline at end of file diff --git a/usr.lib/sendmail/doc/op.me b/usr.lib/sendmail/doc/op.me index 8c20b694..ba522cd5 120000 --- a/usr.lib/sendmail/doc/op.me +++ b/usr.lib/sendmail/doc/op.me @@ -1 +1 @@ -/usr/src/doc/smm/07.sendmailop/op.me \ No newline at end of file +../../../doc/smm/07.sendmailop/op.me \ No newline at end of file diff --git a/usr.lib/sendmail/src/Version.c b/usr.lib/sendmail/src/Version.c index 06a5ffb8..145bca6c 100644 --- a/usr.lib/sendmail/src/Version.c +++ b/usr.lib/sendmail/src/Version.c @@ -17,15 +17,22 @@ */ #ifndef lint -static char sccsid[] = "@(#)version.c 5.61.1.1 (Berkeley) 10/1/99"; +static char sccsid[] = "@(#)version.c 5.61.1.2 (Berkeley) 5/29/02"; #endif /* not lint */ -char Version[] = "5.61.1.1"; +char Version[] = "5.61.1.2"; # ifdef COMMENT SCCS/s.version.c: +D 5.61.1.2 02/05/29 22:17:11 msokolov 486 485 00000/00000/00023 +minor Y2K fix +fix handling of null from addresses +Log source IP addresses of everything coming from Internet (daemon mode). +This feature will help catch Sendmail abusers while not suspending any +Sendmail civil liberties. + D 5.61.1.1 99/10/01 18:43:01 msokolov 485 484 00000/00000/00023 started Quasijarus Sendmail @@ -2102,13 +2109,13 @@ conf.o: convtime.o: convtime.c 5.3 (Berkeley) 6/30/88 daemon.o: - daemon.c 5.27 (Berkeley) 9/20/88 (with daemon mode) + daemon.c 5.29 (Berkeley) 5/29/02 (with daemon mode) deliver.o: - deliver.c 5.23 (Berkeley) 9/20/88 + deliver.c 5.24 (Berkeley) 4/3/00 domain.o: domain.c 5.18 (Berkeley) 1/1/89 (with name server) envelope.o: - envelope.c 5.15 (Berkeley) 6/30/88 + envelope.c 5.17 (Berkeley) 4/3/00 err.o: err.c 5.9 (Berkeley) 6/30/88 headers.o: @@ -2118,7 +2125,7 @@ macro.o: main.o: Copyright (c) 1988 Regents of the University of California. main.c 5.19 (Berkeley) 9/20/88 - sendmail.h 5.13 9/20/88 + sendmail.h 5.14 5/29/02 parseaddr.o: parseaddr.c 5.9 (Berkeley) 6/30/88 queue.o: @@ -2130,7 +2137,7 @@ recipient.o: savemail.o: savemail.c 5.9 (Berkeley) 6/30/88 srvrsmtp.o: - srvrsmtp.c 5.22 (Berkeley) 6/30/88 (with SMTP) + srvrsmtp.c 5.23 (Berkeley) 5/29/02 (with SMTP) stab.o: stab.c 5.5 (Berkeley) 6/30/88 stats.o: diff --git a/usr.lib/sendmail/src/daemon.c b/usr.lib/sendmail/src/daemon.c index bacaba9b..179bc789 100644 --- a/usr.lib/sendmail/src/daemon.c +++ b/usr.lib/sendmail/src/daemon.c @@ -21,9 +21,9 @@ #ifndef lint #ifdef DAEMON -static char sccsid[] = "@(#)daemon.c 5.27 (Berkeley) 9/20/88 (with daemon mode)"; +static char sccsid[] = "@(#)daemon.c 5.29 (Berkeley) 5/29/02 (with daemon mode)"; #else -static char sccsid[] = "@(#)daemon.c 5.27 (Berkeley) 9/20/88 (without daemon mode)"; +static char sccsid[] = "@(#)daemon.c 5.29 (Berkeley) 5/29/02 (without daemon mode)"; #endif #endif /* not lint */ @@ -167,6 +167,7 @@ getrequests() auto int lotherend; struct sockaddr_in otherend; extern int RefuseLA; + extern char *inet_ntoa(); /* see if we are rejecting connections */ while (getla() > RefuseLA) @@ -186,6 +187,17 @@ getrequests() continue; } + /* + ** Log the connection. + */ + +# ifdef LOG + if (LogLevel > 1) + syslog(LOG_INFO, "connection from %s:%u", + inet_ntoa(otherend.sin_addr), + otherend.sin_port); +# endif LOG + /* ** Create a subprocess to process the mail. */ @@ -219,6 +231,9 @@ getrequests() (void) signal(SIGCHLD, SIG_DFL); /* determine host name */ + (void) sprintf(buf, "[%s]", + inet_ntoa(otherend.sin_addr)); + RealHostAddr = newstr(buf); hp = gethostbyaddr((char *) &otherend.sin_addr, sizeof otherend.sin_addr, AF_INET); if (hp != NULL) { @@ -229,20 +244,16 @@ getrequests() (void) strcat(buf, "."); (void) strcat(buf, NetName); } + RealHostName = newstr(buf); } else { - extern char *inet_ntoa(); - - /* produce a dotted quad */ - (void) sprintf(buf, "[%s]", - inet_ntoa(otherend.sin_addr)); + /* use the dotted quad */ + RealHostName = RealHostAddr; } /* should we check for illegal connection here? XXX */ - RealHostName = newstr(buf); - (void) close(DaemonSocket); InChannel = fdopen(t, "r"); OutChannel = fdopen(dup(t), "w"); diff --git a/usr.lib/sendmail/src/deliver.c b/usr.lib/sendmail/src/deliver.c index a8617e0c..95513650 100644 --- a/usr.lib/sendmail/src/deliver.c +++ b/usr.lib/sendmail/src/deliver.c @@ -17,7 +17,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)deliver.c 5.23 (Berkeley) 9/20/88"; +static char sccsid[] = "@(#)deliver.c 5.24 (Berkeley) 4/3/00"; #endif /* not lint */ #include @@ -137,7 +137,8 @@ deliver(e, firstto) /* rewrite from address, using rewriting rules */ expand("\001f", buf, &buf[sizeof buf - 1], e); - (void) strcpy(tfrombuf, remotename(buf, m, TRUE, TRUE)); + (void) strcpy(tfrombuf, remotename(buf[0] != '\0' ? buf : "<>", m, + TRUE, TRUE)); define('g', tfrombuf, e); /* translated sender address */ define('h', host, e); /* to host */ diff --git a/usr.lib/sendmail/src/envelope.c b/usr.lib/sendmail/src/envelope.c index f8bc526e..6ec2d2b8 100644 --- a/usr.lib/sendmail/src/envelope.c +++ b/usr.lib/sendmail/src/envelope.c @@ -17,7 +17,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)envelope.c 5.15 (Berkeley) 6/30/88"; +static char sccsid[] = "@(#)envelope.c 5.17 (Berkeley) 4/3/00"; #endif /* not lint */ #include @@ -316,8 +316,8 @@ settime() now = curtime(); tm = gmtime(&now); - (void) sprintf(tbuf, "%02d%02d%02d%02d%02d", tm->tm_year, tm->tm_mon+1, - tm->tm_mday, tm->tm_hour, tm->tm_min); + (void) sprintf(tbuf, "%02d%02d%02d%02d%02d", tm->tm_year % 100, + tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min); define('t', tbuf, CurEnv); (void) strcpy(dbuf, ctime(&now)); *index(dbuf, '\n') = '\0'; @@ -439,6 +439,8 @@ setsender(from) ** Username can return errno != 0 on non-errors. */ + if (from != NULL && from[0] == '\0') + from = "<>"; if (QueueRun || OpMode == MD_SMTP || OpMode == MD_ARPAFTP) realname = from; if (realname == NULL || realname[0] == '\0') diff --git a/usr.lib/sendmail/src/sendmail.h b/usr.lib/sendmail/src/sendmail.h index bf26515c..dca9a36e 100644 --- a/usr.lib/sendmail/src/sendmail.h +++ b/usr.lib/sendmail/src/sendmail.h @@ -15,7 +15,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)sendmail.h 5.13 (Berkeley) 9/20/88 + * @(#)sendmail.h 5.14 (Berkeley) 5/29/02 */ /* @@ -25,7 +25,7 @@ # ifdef _DEFINE # define EXTERN # ifndef lint -static char SmailSccsId[] = "@(#)sendmail.h 5.13 9/20/88"; +static char SmailSccsId[] = "@(#)sendmail.h 5.14 5/29/02"; # endif lint # else _DEFINE # define EXTERN extern @@ -521,6 +521,7 @@ EXTERN char *FileName; /* name to print on error messages */ EXTERN char *SmtpPhase; /* current phase in SMTP processing */ EXTERN char *MyHostName; /* name of this host for SMTP messages */ EXTERN char *RealHostName; /* name of host we are talking to */ +EXTERN char *RealHostAddr; /* address of that host as "[a.b.c.d]" */ EXTERN char *CurHostName; /* current host we are dealing with */ EXTERN jmp_buf TopFrame; /* branch-to-top-of-loop-on-error frame */ EXTERN bool QuickAbort; /* .... but only if we want a quick abort */ diff --git a/usr.lib/sendmail/src/srvrsmtp.c b/usr.lib/sendmail/src/srvrsmtp.c index 3d1919cb..193f5cd2 100644 --- a/usr.lib/sendmail/src/srvrsmtp.c +++ b/usr.lib/sendmail/src/srvrsmtp.c @@ -20,9 +20,9 @@ #ifndef lint #ifdef SMTP -static char sccsid[] = "@(#)srvrsmtp.c 5.22 (Berkeley) 6/30/88 (with SMTP)"; +static char sccsid[] = "@(#)srvrsmtp.c 5.23 (Berkeley) 5/29/02 (with SMTP)"; #else -static char sccsid[] = "@(#)srvrsmtp.c 5.22 (Berkeley) 6/30/88 (without SMTP)"; +static char sccsid[] = "@(#)srvrsmtp.c 5.23 (Berkeley) 5/29/02 (without SMTP)"; #endif #endif /* not lint */ @@ -112,7 +112,7 @@ smtp() bool hasmail; /* mail command received */ auto ADDRESS *vrfyqueue; ADDRESS *a; - char *sendinghost; + char *sendinghost, *hellohost; char inp[MAXLINE]; char cmdbuf[100]; extern char Version[]; @@ -134,7 +134,15 @@ smtp() settime(); if (RealHostName != NULL) { - CurHostName = RealHostName; + if (RealHostName[0] != '[' && RealHostAddr != NULL) + { + CurHostName = xalloc(strlen(RealHostName) + + strlen(RealHostAddr) + 4); + sprintf(CurHostName, "%s (%s)", RealHostName, + RealHostAddr); + } + else + CurHostName = RealHostName; setproctitle("srvrsmtp %s", CurHostName); } else @@ -145,7 +153,7 @@ smtp() expand("\001e", inp, &inp[sizeof inp], CurEnv); message("220", inp); SmtpPhase = "startup"; - sendinghost = NULL; + sendinghost = hellohost = NULL; for (;;) { /* arrange for backout */ @@ -210,15 +218,8 @@ smtp() MyHostName); break; } - if (RealHostName != NULL && strcasecmp(p, RealHostName)) - { - char hostbuf[MAXNAME]; - - (void) sprintf(hostbuf, "%s (%s)", p, RealHostName); - sendinghost = newstr(hostbuf); - } - else - sendinghost = newstr(p); + if (RealHostName == NULL || strcasecmp(p, RealHostName)) + hellohost = newstr(p); message("250", "%s Hello %s, pleased to meet you", MyHostName, p); break; @@ -227,8 +228,34 @@ smtp() SmtpPhase = "MAIL"; /* force a sending host even if no HELO given */ - if (RealHostName != NULL && macvalue('s', CurEnv) == NULL) - sendinghost = RealHostName; + if (RealHostName != NULL) + { + int c; + + c = strlen(RealHostName) + 1; + if (hellohost != NULL) + c += strlen(hellohost) + 8; + if (RealHostAddr != NULL) + c += strlen(RealHostAddr) + 3; + sendinghost = xalloc(c); + strcpy(sendinghost, RealHostName); + if (hellohost != NULL) + { + strcat(sendinghost, " (HELO "); + strcat(sendinghost, hellohost); + strcat(sendinghost, ")"); + } + if (RealHostAddr != NULL) + { + strcat(sendinghost, " ("); + strcat(sendinghost, RealHostAddr); + strcat(sendinghost, ")"); + } + } + else if (hellohost != NULL) + sendinghost = hellohost; + else + sendinghost = macvalue('s', CurEnv); /* check for validity of this command */ if (hasmail) diff --git a/usr.lib/sendmail/src/version.c b/usr.lib/sendmail/src/version.c index 88b2d862..0a21465b 100644 --- a/usr.lib/sendmail/src/version.c +++ b/usr.lib/sendmail/src/version.c @@ -17,7 +17,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)version.c 5.61.1.1 (Berkeley) 10/1/99"; +static char sccsid[] = "@(#)version.c 5.61.1.2 (Berkeley) 5/29/02"; #endif /* not lint */ -char Version[] = "5.61.1.1"; +char Version[] = "5.61.1.2";