ragge
eaeee62af2
Wall cleaning.
1998-04-13 12:10:26 +00:00
tv
b21bfbde11
Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
...
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
jonathan
70f1f1a099
use dev/dec/lk201.h, fold back DELAY() changes from pmax lk201.c rev 1.7.
1998-03-22 09:37:47 +00:00
mycroft
0dae91d9af
Eliminate uses of TS_WOPEN in hard-wired devices.
1998-03-21 22:52:59 +00:00
ragge
cad3cb3894
ubasetup() must be non-static. (used by QDSS)
1998-03-21 10:24:29 +00:00
ragge
cf02ad2bc9
Add support for QDSS graphic console. Code originated from 4.4BSD,
...
ported to NetBSD by Boris Gjenero <bgjenero@undergrad.math.uwaterloo.ca>
1998-03-21 10:02:39 +00:00
ragge
52defbf438
Use rom routines on MicroVAX II, so that the QDSS/QVSS display will
...
be used if present. Fix provided by Boris Gjenero.
1998-03-20 16:36:20 +00:00
bouyer
9f50fca1fd
Add commented out "options FFS_EI"
1998-03-18 16:34:41 +00:00
ragge
52fbd35380
Add support for "root on qe".
1998-03-13 11:40:19 +00:00
ragge
51964fa1e8
Standalone routine for DEQNA, written by Roar Thronaes.
1998-03-11 22:13:55 +00:00
ragge
8e2874bf64
Support for UVM on VAXen.
1998-03-02 17:00:00 +00:00
ragge
ad1f451760
Move the boot program higher up in memory; to allow loading of bigger kernels.
1998-02-28 12:10:13 +00:00
ragge
1e3fb9012d
Type fix so that time get read correct on VS2000, from Ken Wellsch.
1998-02-22 14:19:39 +00:00
mycroft
533de19431
Remove random.s.
1998-02-22 08:51:04 +00:00
mycroft
dcfb8695ab
Move to libkern.
1998-02-22 08:50:17 +00:00
thorpej
772da350d4
Disable the message buffer during crash dumps by clearing msgbufenabled,
...
not msgbufmapped.
1998-02-19 04:18:30 +00:00
mycroft
5197bf8085
Minor changes.
1998-02-18 10:55:48 +00:00
mycroft
f0a5dd43ce
Multiple-inclusion crap, correct precision of DBL_*, etc.
1998-02-18 10:54:10 +00:00
cgd
3bbb7f7d45
Move pmap_map() function definition to MD headers, as appropriate. It's
...
an internal function, and the VM system shouldn't try to prototype it.
(Note that some ports _don't_ prototype it.)
1998-02-18 02:05:32 +00:00
thorpej
8354e68508
Remove "class" declarations, and add "devclass" declarations where
...
appropriate. Fix several inconsistencies between device class and
attributes. Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
ragge
c5b2acd27f
Split out MSCP floppies as a separate device (rx) instead of handling
...
them as disk drives. It is now also allowed to change floppies without
the system complaining :-)
1998-02-08 14:03:45 +00:00
ragge
a355d0bc1b
Re-implement page reference bit emulation by using the (otherwise unused)
...
valid bit. This is faster than the "unmap all" solution that were described
in that Mach paper _and_ it eliminates the need for checking the wired bit.
As a result of this; swapping started working again on vax :-)
1998-01-31 12:17:34 +00:00
ragge
fe52d237fd
Fix to make vfork work on machines with separated PCB/mtpr PTE registers.
1998-01-27 17:35:03 +00:00
mycroft
15ae963bea
When dumping, print out the device number as major,minor.
1998-01-24 16:46:23 +00:00
ragge
eda1eecede
Remove __BROKEN_INDIRECT_CONFIG and change all drivers to use
...
config_search instead.
1998-01-24 14:16:11 +00:00
ragge
01eb1bb746
Make kernel compile & run again after latest config changes.
1998-01-18 22:09:13 +00:00
ragge
afb1a37379
Fix page size initialisation.
1998-01-18 22:07:50 +00:00
ragge
37f6125fdd
Garbage-collect unnecessary functions. Don't have blkcpy/blkclr
...
as inline.
1998-01-18 22:06:01 +00:00
thorpej
f32f947061
Update for changes to config.
1998-01-12 20:52:29 +00:00
perry
6f57e5c573
multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom)
1998-01-09 22:23:44 +00:00
perry
b46484bb8a
RCSID Police.
1998-01-05 20:51:25 +00:00
perry
015e898c02
RCSID Police.
1998-01-05 07:02:46 +00:00
thorpej
b9f1b716f3
Now that all ports have pmap_activate(), and it has an identical interface,
...
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
thorpej
b73f9750f6
Don't allocate PTEs in cpu_fork(); they were allocated when the new
...
process's pmap was created. Instead, use pmap_activate() to load the
page {0,1} base and length registers into the PCB for the hardware's use.
1998-01-03 00:37:31 +00:00
thorpej
aa58d4ac6b
Adjust for the fact that the page {0,1} base and length registers are now
...
stored in the pmap structure.
1998-01-03 00:35:28 +00:00
thorpej
f267fe868d
- Adjust so that access to the PCB is not required in most pmap functions.
...
Store the page {0,1} base and length registers in the pmap structure,
and implement pmap_activate(), which stores them in the PCB (for the
hardware's use).
- Re-implement pmap_pinit(); allocate the PTEs here, not in cpu_fork().
1998-01-03 00:34:02 +00:00
thorpej
172a9381b6
- Remove the PCB pointer from the pmap structure. Instead, store the
...
page {0,1} base and length registers in the pmap structure. They will
be loaded in to the PCB when the process's address space is activated
by way of pmap_activate().
- Remove pmap_pinit() macro; it's now a real function.
- Prototypes for pmap_pinit(), pmap_activate(), pmap_deactivate().
1998-01-03 00:28:43 +00:00
thorpej
d8076f896b
Grab the PCB directly from the u-area, not by indirecting through VM
...
structures.
1998-01-03 00:23:53 +00:00
ragge
5680284286
Fix problem in copy*str() when not emulating locc.
1998-01-02 19:33:27 +00:00
kleink
eefde8bdcd
Add COMPAT_13.
1997-12-01 16:31:29 +00:00
kleink
66c2794142
Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
...
cleanup
1997-11-23 20:20:53 +00:00
fair
315f8de9c2
add pseudo-device rnd, commented out
1997-11-20 08:11:14 +00:00
lukem
e8cb388f65
* add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
...
* fix up use of 'options<SPACE><TAB>'
1997-11-17 01:58:31 +00:00
veego
8b485c5962
Add a missing #if NARP > 0 around arpintr(); and add a #include "arp.h"
...
for NARP. This is for the 'new' arp system.
1997-11-13 10:43:06 +00:00
thorpej
ce4c770f88
Make sure CPP, AR, AS, and RANLIB are defined.
1997-11-12 23:11:50 +00:00
thorpej
a421995756
Define LORDER, NM, and TSORT here, like we do the rest of the tools.
1997-11-12 22:25:31 +00:00
ragge
7b60c8ed11
Fix multivolume installation bug; PR#4454.
1997-11-10 22:14:16 +00:00
thorpej
0b04d28454
Mark uses of long long with /* LONGLONG */ for lint. From
...
Chris Demetriou <cgd@pa.dec.com>.
1997-11-05 04:36:08 +00:00
thorpej
cc1f5b65c9
asm -> __asm__
1997-11-05 04:23:35 +00:00
thorpej
4730a8cbec
Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
...
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
by the way it's used).
The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.) The __indr_reference
change was made for consistency.
1997-11-04 23:09:23 +00:00
ragge
8f6ac836dd
Move some interrupt routines out to assembler.
...
Optimize (slightly) pmap_clear_modify.
1997-11-04 22:59:20 +00:00
ragge
fb4298e98c
Optimized copy/fetch/store routines; rewritten in assembler.
1997-11-04 20:52:27 +00:00
ragge
fd48076569
Use genassym for the first time in vax port history. Rewrite cpu_exit,
...
cpu_switch, setrunqueue and remrunqueue in assembler for efficiency.
1997-11-03 20:00:17 +00:00
ragge
4e254b7a82
Major rewriting, optimization and simplifying of the pmap code:
...
- Map in all physical memory first in system space. This reduces
pmap_copy_page() and pmap_zero_page to 3 resp. 2 instructions.
- Have fized position user page tables. Makes the pv_table smaller
and all reverse references faster (and simpler).
- Remove the wiring code. Nobody doesn't even know what a DR32 is anymore.
- Simulate page reference bit by setting page invalid, as suggested by
Rich Draves in a paper for 1991 Mach Usenix Symposium.
This reduced the time spent in the pmap module to between 70-75% of
the previous; and made process startup _much_ faster.
1997-11-02 14:25:26 +00:00
ragge
9b1a735c8f
Major rewriting, optimization and simplifying of the pmap code:
...
- Map in all physical memory first in system space. This reduces
pmap_copy_page() and pmap_zero_page to 3 resp. 2 instructions.
- Have fized position user page tables. Makes the pv_table smaller
and all reverse references faster (and simpler).
- Remove the wiring code. Nobody doesn't even know what a DR32 is anymore.
- Simulate page reference bit by setting page invalid, as suggested by
Rich Draves in a paper for 1991 Mach Usenix Symposium.
This reduced the time spent in the pmap module to between 70-75% of
the previous; and made process startup _much_ faster.
1997-11-02 14:25:24 +00:00
ragge
ae27edc757
Major rewriting, optimization and simplifying of the pmap code:
...
- Map in all physical memory first in system space. This reduces
pmap_copy_page() and pmap_zero_page to 3 resp. 2 instructions.
- Have fized position user page tables. Makes the pv_table smaller
and all reverse references faster (and simpler).
- Remove the wiring code. Nobody doesn't even know what a DR32 is anymore.
- Simulate page reference bit by setting page invalid, as suggested by
Rich Draves in a paper for 1991 Mach Usenix Symposium.
This reduced the time spent in the pmap module to between 70-75% of
the previous; and made process startup _much_ faster.
1997-11-02 14:25:19 +00:00
ragge
84f5dc2404
Fix clearing of redundant restart flag; CPU specific.
...
Also clean up a bit.
1997-11-02 14:07:07 +00:00
ragge
a8e1e83943
#include files must be in the correct order.
1997-11-02 14:01:07 +00:00
thorpej
665f7d1a6e
Implement __RENAME() in <machine/cdefs.h>
1997-10-22 05:20:32 +00:00
ragge
e603ff5aa3
Fix vers.c dependency; PR#4090.
1997-10-20 11:54:26 +00:00
ragge
efa4c7c48e
MSGBUFSIZE must be in CLBYTES, not NBPG. Also expand it to 4 * CLBYTES.
1997-10-19 20:48:47 +00:00
ragge
2260651129
Add match code to detect more than one SCSI adapter on 3100.
...
Provided by Bertram Barth.
1997-10-19 20:35:15 +00:00
ragge
d379f24df5
#include <vm/vm.h>. Fix some erroneous declarations.
1997-10-19 14:33:48 +00:00
ragge
e0bc9f61d7
Add a sometimes needed round_page().
...
Always flush TLB when messing around with system mapping.
1997-10-19 14:32:42 +00:00
ragge
a9510ace16
Only check for process switch if we are coming in from userspace.
...
Make ERESTART work for syscalls >63.
While we're here; clean up a little bit.
1997-10-19 12:32:52 +00:00
ragge
038cd08cce
Make UBA adapter selection work on 8600 again.
1997-10-18 23:39:18 +00:00
christos
801520ffac
fix chrtoblk declaration
1997-10-16 23:43:16 +00:00
explorer
80513cb5ae
o Make usage of /dev/random dependant on
...
pseudo-device rnd # /dev/random and in-kernel generator
in config files.
o Add declaration to all architectures.
o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
bouyer
6ab3092b11
Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
...
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
thorpej
616e0b7e33
Copyright assigned to The NetBSD Foundation.
1997-10-05 18:26:38 +00:00
lukem
7d508b124f
define SIZE?=size, and use ${SIZE} instead of size. makes cross
...
compilation easier
1997-10-03 07:17:00 +00:00
christos
7f41ec0345
PR/4162: Chris Jones: make cleandir does not work properly; it does not
...
remove the object files and the .depend file in the kernel build directory.
1997-09-30 22:50:53 +00:00
leo
d4713d24c2
Implement the kernel part of pr-1891. This allows for a more flexible sized
...
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
mycroft
16a8787248
Fix execve(2) and *setregs() interfaces so emulations can set registers in a
...
more correct way. (See tech-kern.)
1997-09-11 23:01:44 +00:00
bouyer
6f3bab1f59
Merge scsipi branch in the mainline. This add support for ATAPI devices
...
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
mjacob
6ac7f6248f
add a before tab to SCSIVERBOSE
1997-08-23 19:16:06 +00:00
mjacob
1a7afa3853
add commented out reference SCSIVERBOSE option
1997-08-20 18:38:13 +00:00
ragge
cd0d651d0f
delay() must be protected by #ifdef _KERNEL.
1997-08-05 13:28:51 +00:00
ragge
23e157b82b
Handle XFC instruction faults.
1997-07-28 21:48:33 +00:00
ragge
ab4412faad
Actually do 'halt' or 'reboot' on MicroVAX.
1997-07-26 10:12:40 +00:00
ragge
b17d1e7207
Fixed bug causing machines with a memory size not a multiple of 16k
...
to crash. This is true on many MicroVAXen.
1997-07-25 21:54:48 +00:00
jtk
9388f271a9
use locator defines in "locators.h" to index cf_loc[]
1997-07-17 02:12:50 +00:00
perry
ad1710ce1e
update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson
1997-07-12 16:18:36 +00:00
ragge
759763742b
Remove __VM_PMAP_HACK.
1997-07-06 22:38:22 +00:00
ragge
59501e1879
Fix bug causing all uda's to be recognized as ctlr 1 from boot.
1997-07-04 13:26:02 +00:00
ragge
d7d40e44f6
Bugfix to mscp tape code; so that weof/eot works correctly.
1997-07-04 11:58:20 +00:00
ragge
9f009387fc
Must grok includes. Also; prettier compile-time printout.
1997-06-29 21:30:09 +00:00
thorpej
0404c01c46
#define DB_AOUT_SYMBOLS
1997-06-26 01:26:56 +00:00
thorpej
cf016f61f4
foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
...
from the disklabel accordingly.
1997-06-24 00:56:28 +00:00
ragge
2ab0792e74
Bug fixes to page fault handling system. Many thanks to Johnny Billquist
...
for hunting down this bug(s).
1997-06-13 15:16:25 +00:00
ragge
5c3a8f6b46
Not-yet-finished console RX01 driver for 11/780.
1997-06-13 14:55:07 +00:00
ragge
9412f1c4fc
Some new definitions for different boot devices.
1997-06-13 08:24:09 +00:00
ragge
68a4a97360
Add clock_subr.c.
1997-06-13 08:18:49 +00:00
ragge
5cfff50811
cpu_switch() should be mi_switch(). Pointed out by Johnny Billquist.
...
(bqt@update.uu.se )
1997-06-12 16:23:22 +00:00
mrg
552af779d2
bring mrg-vm-swap2 onto mainilne.
1997-06-12 15:46:19 +00:00
mrg
dc6a98e92c
bring mrg-vm-swap2 onto mainilne.
1997-06-12 15:09:23 +00:00
veego
6ab737a609
Initialize machine from MACHINE and machine_arch from MACHINE_ARCH.
1997-06-08 23:59:57 +00:00
ragge
4d45dc0466
Use correct console on KA65? machines. Bugfix when specifying adaptor
...
number. Show compile-time for boot. Prettier printout.
1997-06-08 17:49:15 +00:00
ragge
2492a42479
System statistics fixes. From Johnny Billquist (bqt@update.uu.se).
1997-06-07 12:15:27 +00:00
ragge
f47d895f8c
Clean up disklabel checking.
1997-06-07 12:13:27 +00:00
ragge
2db3f948a0
Disk statistics fixes. From Johnny Billquist (bqt@update.uu.se).
1997-06-07 12:11:38 +00:00
ragge
0d970d6a78
Create a fake disklabel if there are no one on the disk.
1997-06-07 11:59:44 +00:00
veego
de7e49a954
Add 'char machine_arch[] = "xxx";' for the new sysctl hw.machine_arch.
1997-06-06 23:26:01 +00:00
gwr
e2a58b69f7
Add #define __VM_PMAP_HACK as a temporary measure.
1997-05-16 21:35:30 +00:00
ragge
05de3b9034
Multicast definitions, forgotten in previous checkins.
1997-05-15 20:10:23 +00:00
ragge
e3a104cb1f
Oops, I forgot to check this file in after clock changes.
1997-05-04 19:13:33 +00:00
ragge
0a9b7dccc7
BPF and multicast support added, patches provided by Jonathan Stone
...
and Ken Wellsch. Fixes PR#2796.
1997-05-02 17:11:24 +00:00
ragge
749ec2a297
Remove #define LEDEBUG.
1997-04-21 22:04:23 +00:00
ragge
400a0d512e
Fix so that these files compile again after recent ARP changes.
1997-04-19 15:02:27 +00:00
ragge
12c25bea6a
Update floppy boot files to confirm to new boot syntax.
1997-04-19 11:42:14 +00:00
ragge
df9ea3ac75
Updates to KA43 (VS3100/76) support by Bertram Barth.
1997-04-18 18:53:38 +00:00
ragge
36b2211d14
Change implementation of TOY clock addressing. Gives us only
...
one routine for three different HW implementations.
1997-04-18 18:49:33 +00:00
ragge
3611dda5d0
Add better boot support for VS3100/??.
1997-04-10 21:25:18 +00:00
ragge
b7973034b4
& should be |.
1997-04-06 20:37:05 +00:00
christos
738cdfd351
Add netatalk netisr
1997-04-03 17:35:56 +00:00
thorpej
2268a2c7eb
Don't allocate mclrefcnt[]; it's dead and gone.
1997-03-27 21:01:52 +00:00
gwr
37b247edde
Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/
1997-03-26 22:42:13 +00:00
gwr
71e43d14ab
Move findroot/setroot stuff from configure() to cpu_rootconf().
1997-03-26 22:38:40 +00:00
ragge
720d1ef3f7
Update address struct to recognize KA420 motherboard.
1997-03-22 23:05:31 +00:00
ragge
65469bc546
CPU support for MV3100. (KA41)
1997-03-22 23:02:07 +00:00
ragge
ab80098c50
Clean up DZ console routines. Use memory size from boot (if provided).
1997-03-22 12:50:56 +00:00
ragge
608bad4ba2
Bugfixes to lance routines. Get memory size from rpb to pass to kernel.
...
Support some more CPU types in boot.
1997-03-22 12:47:27 +00:00
thorpej
1d987a161b
#include <net/if_media.h>
1997-03-17 03:17:34 +00:00
ragge
10bf322448
Make install docs more up-to-date.
1997-03-15 20:08:33 +00:00
is
07b064e02e
New ARP system, supports IPv4 over any hardware link.
...
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.
For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
ragge
44936626ed
Make boot compile again.
1997-03-15 16:39:20 +00:00
ragge
abedbf253e
Clean up console autoconfiguration so that the VAXstation DZ11-like
...
console work.
1997-03-15 16:36:17 +00:00
ragge
668632a4df
Change the way boot device is figured out; now only using DEC numbers
...
and done when the device get attached.
1997-03-15 16:32:16 +00:00
ragge
2a79087848
Put in some #ifdef's to compile only for MV2000.
1997-03-15 16:14:23 +00:00
ragge
285002ead6
Cleanup. Prepare for getting memory size from boot (VMB).
1997-03-15 16:11:25 +00:00
ragge
0044b4ccf0
Add a forgotten #ifdef. Remove debug printout.
1997-03-15 16:07:17 +00:00
ragge
1d90a0a507
Add definitions for DEC HW device numbers.
1997-03-15 15:09:40 +00:00
ragge
b5b674f227
Do not use inline functions in boot blocks. Some CPUs doesn't have
...
all instructions.
1997-03-15 15:08:23 +00:00
ragge
8fa1cdb04b
Add routines for network handling and standalone le driver.
...
To make this work nice, big changes to the boot unit handling
was also required. From now only DEC HW unit numbering are used
in boot, to easy match boot device in kernel.
1997-03-15 13:04:22 +00:00
mycroft
f868dff8d3
Define the `cleankernel' target consistently with other ports.
1997-03-14 23:27:29 +00:00
ragge
2bbaeef8cc
Fast and dirty fix to avoid panics during autoconf of KFQSA DSSI disks.
...
Controller errors showing up can't be handled anyway.
1997-03-12 19:42:30 +00:00
ragge
2b8ac648a3
Frob pages before trying to map them, to be sure they exist.
1997-03-09 16:00:06 +00:00
ragge
b64bca2999
Fixed bug that caused d partition being treated as c.
...
RAW_PART is 2, not 3.
1997-03-09 15:55:58 +00:00
ragge
9bf924ecc4
Be able to find out if we are booted from network.
1997-02-27 19:43:26 +00:00
gwr
2de163471e
Minimal changes to adapt to removal of NCR5380_PERMIT_RESELECT.
...
This driver should be updated to allow per-target control over
disconnect/reselect, but I will leave that to the port masters.
1997-02-26 22:29:08 +00:00
ragge
5e35ea57c5
Patches to make VS2000 to work. From Ari Suutari.
1997-02-26 18:38:19 +00:00
fvdl
115b6d92fa
Define ALIGNED_POINTER
1997-02-24 23:16:53 +00:00
ragge
e86bc96653
Basic change to cpu-config code. This will make support of new
...
cpu types much easier.
1997-02-19 10:04:09 +00:00
ragge
c3aeacf957
unsigned -> long to match ddb change.
1997-02-16 20:37:29 +00:00
ragge
657c7b5d55
This file has been obsoleted for ages.
1997-02-16 17:40:46 +00:00
ragge
9efff168a1
Remove ::
1997-02-12 18:07:53 +00:00
ragge
cb344cfe97
ra disks is DV_DISK, not DV_DULL.
1997-02-12 18:02:47 +00:00
ragge
40f0692085
s/tms/mt/
1997-02-12 18:00:42 +00:00
ragge
e7d1921239
Remove bogus prototypes.
1997-02-12 17:58:56 +00:00
ragge
e42e582ebb
Fix so it works with root over NFS.
1997-02-12 17:57:39 +00:00