Commit Graph

7887 Commits

Author SHA1 Message Date
enami
769cc65919 Free memory when failed to map it. 2000-05-15 08:08:12 +00:00
enami
01f1223f94 Cosmetic changes. 2000-05-15 07:57:19 +00:00
bouyer
a1c4db6c37 - split siop_pci in attachements vs helper functions, for comming esiop
- add a reset callback to enable PCI-specific features. This improve bandwith
  by a factor of 2 on my alpha with a 875 !
- sync copyrigth notice
2000-05-15 07:53:17 +00:00
bouyer
863014523a - split siop.c in script-dependant vs script-independant part, for
comming esiop
- add a reset callback for bus-dependant registers settings
2000-05-15 07:48:24 +00:00
bouyer
95d08cb691 Regen 2000-05-15 07:44:05 +00:00
bouyer
06d4aa45eb - use my standart copyrigth notice
- After reselect, don't clear ack after the IDENTIFY message, this breaks
  when the reselecting target has different sync parameters than the previous
  one.
2000-05-15 07:43:45 +00:00
thorpej
7da80620c9 splimp() -> splnet() 2000-05-15 01:55:53 +00:00
thorpej
e5ae7c287a Symbol namespace cleanup: rl_ -> rtk_ 2000-05-15 01:55:12 +00:00
thorpej
a4b298224a Use <dev/ic/ac97reg.h> 2000-05-15 01:35:29 +00:00
thorpej
706ee091ed Move register definitions into ac97reg.h 2000-05-15 01:32:03 +00:00
thorpej
1838aef29c ac97.h -> ac97var.h 2000-05-15 01:27:44 +00:00
dante
e852afa89f Fix a typo 2000-05-14 19:52:34 +00:00
dante
94cd08a535 Handle better the status codes.
Add a way to instruct the upper layer to don't bother w/ new requests if/when a device queue is full/busy or the device is unavailabale at that time
Use scsipi_inquiry_data instead of its own inquiry structure
2000-05-14 18:25:49 +00:00
dante
1937dbee6a Reflect changes in scsipi_inquiry_data structure: "flags" field is now named "flags3" 2000-05-14 18:22:13 +00:00
dante
f65d97bb57 Change scsipi_inquiry_data strucure to be ANSI SPC-2 rev16 compliant 2000-05-14 18:20:11 +00:00
drochner
ac9d663468 My (Cabletron) card supplies two more statistics counters.
Instead of dropping them all, read out min(expected, supplied).
2000-05-14 17:19:18 +00:00
soren
2e9acbbc58 Typo. 2000-05-14 15:19:24 +00:00
soren
22ead9a824 Regen. 2000-05-14 15:18:33 +00:00
soren
a2c48b9c79 Add a few devices. 2000-05-14 15:18:16 +00:00
soren
8513bb93ed Regen. 2000-05-14 14:58:14 +00:00
soren
b84dfa7c45 Add SGI IOC3. 2000-05-14 14:56:53 +00:00
bjh21
e6f1ac083f Release dlreg.h into the public domain. It's hardly a great creative
work, after all.
2000-05-14 09:46:17 +00:00
jdolecek
ba84aa08e8 one less - the bootblocks were even easier shot than I though :) 2000-05-13 20:18:29 +00:00
he
084953b8f7 Update from Matthew Jacob:
Correctly account for F-port vs. F-port (no FLOGI_ACC) topologies.
  Make sure we get a port database entry for the fabric name server.
  Preserve fabric logins if the device didn't change across fabric
  or port database changes, or the device has already logged into
  us (e.g., for target/initiator dual role devices like Veritas
  SANbox). Propagate class 3 service parameter changes where devices
  can change roles.

  Fix all occurrences of setting a sendmarker so that setting it
  for one bus on dual bus cards doesn't wipe a pending sendmarker
  for other busses on the same card :-;.

  Comments added and clarifications made in some of the target mode code.
2000-05-13 16:53:03 +00:00
bjh21
9d61165c26 Oops. Swedish is KB_SV. 2000-05-13 14:40:10 +00:00
jdolecek
ba714a7f2c regenerate from mcadevs, to get proper 'generated from' info 2000-05-13 14:20:40 +00:00
jdolecek
d63e211e90 one more 2000-05-13 14:00:19 +00:00
jdolecek
05a45852e4 superseded by http://www.netbsd.org/Ports/i386/ps2.html 2000-05-13 14:00:02 +00:00
bjh21
83d50760d8 Add keypad-# and Swedish layout 2000-05-13 12:16:35 +00:00
bjh21
5d05bf7a7a Add Archimedes mouse/kbd/video 2000-05-13 12:13:45 +00:00
jhawk
e0292df01c sc_ih (interrupt cookie) is not pci-specific data
and needs to remain in fxp_softc rather than fxp_pci_softc;
otherwise we break cardbus.
2000-05-12 18:46:33 +00:00
thorpej
cd82969dfc Print the revision info from the PCI configuration header. From
Dave Sainty, kern/10025.
2000-05-12 17:52:07 +00:00
thorpej
c8de5ae180 Treat the 3c980C-TXM like the 3c980 Server Adapter. From Paul J. Lavoie,
kern/10037.
2000-05-12 17:48:47 +00:00
thorpej
032c5f01de Regen. 2000-05-12 17:47:05 +00:00
thorpej
0a712d4707 Add product ID for 3Com 3c980C-TXM 10/100 Ethernet. From Paul J. Lavoie,
kern/10037.
2000-05-12 17:46:47 +00:00
thorpej
d6c07323b2 If using ring-mode, don't update the receive descriptor list base address
when a receive overrun occurs.  From Castor Fu <castor@geocast.com>.
2000-05-12 17:09:27 +00:00
thorpej
f0481f14ab Oops! We actually want the *lower* 6 bits of the crc32 of the multicast
address to generate the multicast filter bit index, not the upper 6.

Should address kern/8268.
2000-05-12 16:57:30 +00:00
thorpej
6e4b4f6954 Use ether_crc32_le(). 2000-05-12 16:45:42 +00:00
thorpej
692e54c43d Use ether_crc32_be(). 2000-05-12 16:44:19 +00:00
thorpej
288883fca7 Apply indent(1). 2000-05-12 16:42:41 +00:00
thorpej
6474f16852 Use ether_crc32_le(). 2000-05-12 16:41:59 +00:00
tsutsui
0ee6a24aa7 Read upd_pktstatus from DMA buffer after bus_dmamap_sync() called. 2000-05-12 15:22:33 +00:00
bouyer
9b45dfba17 Accept any 'sc' value when probing atapi drives: with some drives, or
controllers, or combination of both, the value can be different from the
expected one after a reset.
2000-05-12 15:00:33 +00:00
jhawk
421c001447 Move struct fxp_pci_softc declaration to if_fxp_pci.c removing an
unnecessary header file (if_fxp_pcivar.h); oh, how quickly the nascent
inodes are subject to infant mortality.
2000-05-12 13:46:31 +00:00
jhawk
cd552bf956 Fix bugs seen on Sony Vaios.
Address kern/9370, kern/9548, kern/9571, and kern/9573.

Save and restore critical PCI configuration registers because they are
sometimes bashed.
Add a powerhook to restore said PCI registers after APM events.
The fxp now works across a warm boot from windows (vaio).
The fxp now works across an apm suspend/resume or hibernate/resume cycle.
2000-05-12 03:37:40 +00:00
jhawk
6622f20fc1 Move pci-specific data to fxp_pci_softc from fxp_pci_softc.
Add some more pci-specific data to fxp_pci_softc.
2000-05-12 03:36:18 +00:00
jhawk
e50925114e Catch some potentially infinite loops in while() loops if the chip happens
to "go insane" and never complete some operations (dmasync, etc.).
2000-05-12 03:35:57 +00:00
jhawk
8d671b6292 Define some PCI power management CSR constants. 2000-05-12 03:35:34 +00:00
bjh21
2d09335a35 Fixes from PR 9838:
Only access board memory using the front-end functions.
Add hook for clearing latched interrupts.
Corrent debugging printf of ethertype on LE systems.
Make it possible to us I82586_DEBUG as a kernel option.

Tested on arm26 and mvme68k.
2000-05-11 20:55:03 +00:00
is
4d65db2d97 RATOC REX-R280 (another if_mbe_pcmcia card) support by UCHIYAMA Yasushi.
Originally part of pr 6789, reworked by the submitter to fit into -current.
2000-05-11 19:24:35 +00:00
jdolecek
2185bcc386 MI part of MicroChannel Architecture bus support
This work is based on code written by Scott D. Telford, the IBM
Token Ring card attachment was written by Gregory McGarry.

XXX this is still very experimental and development version; use at your
XXX own risk
2000-05-11 15:42:00 +00:00
bouyer
2222d240a7 Use correct divider value for scxfer 2000-05-11 09:30:12 +00:00
dante
8c999651eb Change adw_isr_callback() status handler
Add a catch for DMA Error which show up on Intel 82443BX Host Bridge/Controller (rev. 0x03). This doesn't fix the problem, but reset the SCSI bus and reinitialize the host adapter
Minor cosmetical changes

Thanks a lot to Greg Oster and Andan Lauber
2000-05-10 21:22:34 +00:00
thorpej
5786c811d5 Support 64-bit PCI memory mapping registers, as sometimes are used
on the Symbios 53c896 controller.  Also, prefer memory space over
I/O space.
2000-05-10 17:22:46 +00:00
thorpej
90f7e687dc These are no longer used. 2000-05-10 17:09:44 +00:00
thorpej
d56c0ff801 Support Adaptec U2W cards with a 64-bit PCI memory range (such cards
are available with Power Macintosh G3 and G4 systems).
2000-05-10 17:07:52 +00:00
thorpej
5939e70ca3 Add support for mapping 64-bit PCI memory space. If the region
is mapped in a way that is inaccessible by a 32-bit bus_addr_t, then
print a message to that effect and return failure.

Original patches by Bill Studenmund, with a few small changes by me.
2000-05-10 16:58:42 +00:00
pk
82dbe14248 No need to specify page alignment; this is automatic. 2000-05-10 14:25:43 +00:00
pk
bb1605cff5 Fix bogus `boundary' argument in bus_dmamap_create(). 2000-05-10 14:16:11 +00:00
pk
2e595d79d8 Load DMA buffer before mapping it into kernel space. 2000-05-10 11:15:32 +00:00
kleink
7a6f003756 Add a comment describing the previous change. 2000-05-10 08:39:58 +00:00
haya
014be1da8b Move if_rl_cardbus.c:1.8 to if_rtk_cardbus.c. 2000-05-10 00:24:14 +00:00
haya
7d4bae615d Move if_rl_pci.c:1.7 to if_rtk_pci.c. 2000-05-10 00:19:55 +00:00
pk
18a16edec1 Conform bus_dmamem_{alloc,map} usage to bus_dma(9) specs. 2000-05-09 23:16:19 +00:00
pk
1bf775b965 Conform bus_dmamem_{alloc,map} usage to bus_dma(9) specs. 2000-05-09 22:42:08 +00:00
jhawk
e02d0e3597 Back out rev 1.7 of i82365_isa.c; 0x300-0x3ff, or even 0x330-0x3ff
is not a reasonable place to allocate 12-bit pcmcia iospace.
It seems to cause conflicts on a large number of modern laptops,
necesitating hand-patching of the kernel (mostly due to
video devices in the upper range of that space).

This will presumably cause problems on the NEC Versa 6030X,
however that appears to be a vastly less common case than
the laptops that are inconvenienced by the current state.

12-bit iospace now uses 0x400-0xfff.
2000-05-09 17:59:39 +00:00
bouyer
05e928a241 Ops, abort if we can't map the registers ! Pointed out by Matthias Drochner. 2000-05-09 17:05:52 +00:00
explorer
6b66bf5d80 set paa_busname to pcmcia, like the i82365.c driver does. 2000-05-08 19:44:34 +00:00
augustss
1a1595070f Fix the most glaring bug in the old rbus code. This way your machine won't
panic with a 3c562, but it won't work either.
2000-05-08 19:27:00 +00:00
augustss
5da7a65ca6 Back out my rbus change since it seems to break things. 2000-05-08 19:25:46 +00:00
thorpej
622e87734a Quiet some uninitialized variable warnings that do in fact look legitimate. 2000-05-08 18:28:46 +00:00
thorpej
79cbea8cc3 Don't use not-in-user-namespace variable names that newer versions of
GCC doesn't like very much.
2000-05-08 18:23:36 +00:00
dante
6644e670f7 Change the way ADW_CARRIER is allocated and handled.
Increased ADW_MAX_CCB to 63 and ADW_MAX_CARRIER to 253
Print WDTR/SDTR negotiation result per target
Protect AdvISR() inside splbio()/splx() pair
Add a pending queue to keep track of all the CCBs that are being executed by the host adapter.
Rewrote timeout handler in a more efficient way:
    After 3 timeout now the SCSI is resetted and all pending queues not completed are now reenqueued in the waiting queue so to get executed just after the BUS Reset (hoping that resetting the SCSI BUS and reinitializing the adapter could solve the problem).
2000-05-08 17:21:33 +00:00
dante
2648a72bb2 Minor changes to PCI configuration 2000-05-08 17:11:54 +00:00
joda
6d3ce966ce VIA VT82C686A hardware monitor 2000-05-08 16:40:42 +00:00
itojun
e6469f14ad move static function getstr() to cons.c, make it publically available
as cngetsn().  there will be other consumer.
2000-05-08 16:30:57 +00:00
augustss
20edddd023 KNF the code and fix three bugs:
* If a non-zero addr was given to rbus_space_alloc_subregion() it would
   claim to have allocated region when in fact it just failed.
 * If a non-zero addr was given to rbus_space_alloc_subregion() allocation
   often (always?) failed when it shouldn't.
 * One part of rbus_space_alloc_subregion() used an alignment that always
   made the kernel panic.
I'm not sure if my change is correct, because I don't know what this code
is supposed to do.  But now I can use a 3c562 card.
2000-05-08 14:00:05 +00:00
augustss
fd36bc02a6 Swap the order of disabling the function and disestablishing the interrupt
on detach.  This avoid accessing unmapped registers on multi-function cards.
2000-05-08 13:53:32 +00:00
augustss
621323af72 KNF some comments. 2000-05-08 13:51:36 +00:00
augustss
e169e0018c Regen. 2000-05-08 13:26:05 +00:00
augustss
43c5780ae1 Allow a verbose description to be printed with the option MIIVERBOSE. 2000-05-08 13:25:34 +00:00
augustss
56aa5c16d1 Add another AMD chip. 2000-05-08 13:23:21 +00:00
kleink
05f0b17555 Make pci_get_capability() work correctly on both header type 0 and type 2
devices; both have different Capability List Pointer registers.
2000-05-08 10:52:38 +00:00
kleink
085ec82073 Add a register offset for the Capability List Pointer in header type 2.
XXX Ideally the PCI-Cardbus Bridge header should be restructured to just
XXX present standard register definitions, making it ~safe to be included.
2000-05-08 10:45:52 +00:00
kleink
de328af944 Fix a inverted logic botch introduced in rev. 1.35, typically causing
cb_chipset() to return the wrong chipset type.
2000-05-08 07:31:20 +00:00
mycroft
f5bd37be57 Make the SPARC audioamd driver at least *compile*. Well, the C code, that is.
*sigh*
2000-05-08 02:44:31 +00:00
wiz
8651580247 man page is written, remove it from TODO 2000-05-07 20:47:10 +00:00
jonathan
8ee4c016eb PCI product codes for Yamaha YMF744B (DS-1S) YMF754 (DS-1E) audio chips. 2000-05-07 17:00:06 +00:00
jonathan
0d57ac396d Product codes for Yamaha YMF744B (DS-1S) YMF754 (DS-1E) audio chips. 2000-05-07 16:56:34 +00:00
veego
f7e2752025 Change one 0 for bootverbose to 1 if DEBUG is defined. 2000-05-07 14:59:23 +00:00
veego
20ae91400c Add a dummy bootverbose. 2000-05-07 14:49:11 +00:00
veego
21942247f3 It is a bad idea to declare a static bootverbose variable here. Remove it. 2000-05-07 14:43:31 +00:00
martin
41dc1a6839 Avoid stomping on the W0_CONFIG_CTRL register which seems not to be
implemented on EISA cards. This makes a 3Com 3C597 Fast Etherlink TX
work for me at last, fixing PR kern/7067.
2000-05-07 14:03:25 +00:00
martin
4a351b20bc Minimized io ports reserved by this driver to the ports actually needed.
Fixes PR kern/5279 for this driver.
2000-05-07 13:57:16 +00:00
wiz
4211fcfd7e remove unnecessary output to console 2000-05-07 13:50:10 +00:00
wiz
7392f90215 multiple inclusion protection 2000-05-07 03:01:58 +00:00
wiz
3d3dc5c594 add one 2000-05-07 01:46:01 +00:00
wiz
2f7dba9ea1 compilation fix 2000-05-07 01:16:23 +00:00
wiz
188ac21f3f add bktr 2000-05-07 00:29:19 +00:00
wiz
006e9528a1 install bt8xx.h for bktr 2000-05-07 00:29:03 +00:00
wiz
4caea4817d some glue for bktr-driver 2000-05-07 00:25:58 +00:00
wiz
5f8b869a3e Some NetBSD specific changes; also TODO, and import script, based
on bind2netbsd by Bernd Ernesti
2000-05-07 00:24:33 +00:00
wiz
c2f780fbfd Import of (finally busspaced) bktr-driver from FreeBSD (part 2).
This version is from the location specified in the README, modified
by bktr2netbsd, to be committed later.
2000-05-07 00:17:13 +00:00
wiz
8b27ce1a70 Import of (finally busspaced) bktr-driver from FreeBSD (part 1).
This version is from the location specified in the README, modified
by bktr2netbsd, to be committed later.
2000-05-07 00:16:17 +00:00
augustss
26f708a5a3 Handle the Linksys USB100H1 like the other Linksys adapters.
Restructure the code a little.
2000-05-06 20:38:59 +00:00
augustss
fd58a6ae12 Regen. 2000-05-06 18:28:36 +00:00
augustss
13d8353ffc Add Linksys USB100H1, an Ethernet and HomePNA adapter. 2000-05-06 18:28:01 +00:00
augustss
82cfd6b42a Simplify an expression. 2000-05-06 14:35:28 +00:00
augustss
4c46b93c8d Add bba. 2000-05-06 14:34:31 +00:00
soren
5e209d22f7 Print the usual interrupt line. 2000-05-06 00:46:19 +00:00
soren
6a1547768c Typos. 2000-05-06 00:44:00 +00:00
matt
2b44ae84ee LP64 printf fix. (I wish size_t was unsigned long on all platforms). 2000-05-05 17:52:38 +00:00
bouyer
904ca34539 Ops, restore sync/wide parameters after a reselect.
Also, better handling of parity errors.
2000-05-05 09:32:48 +00:00
bouyer
4c9516aa3b Rework the command queue, to avoid having commands blocked at the end
of the queue. Load is now properly balanced across all disks of the same bus.
2000-05-05 09:05:44 +00:00
ad
fc89ce9f53 Oops, nuke unused structure member. 2000-05-04 17:27:25 +00:00
bouyer
2306b4a34e When a WDTR message is rejected, initiate sync negotiation anyway.
When a SDTR message is rejected indicate that target is async
Add a missing bus_dma_sync call.
2000-05-04 17:18:27 +00:00
bouyer
f5b572d26b - LP64 issues in debug printfs.
- on a phase mismatch, do byte recovery only if we were in data phase.
  Otherwise just clear the fifo.
- Properly handle reject of a sync or wide negotiation.
2000-05-04 16:56:13 +00:00
bouyer
babd44e7a1 Ops, regen siop.out from the last siop.ss. 2000-05-04 15:44:35 +00:00
bouyer
c8ff442f72 Add a flag hold in scratcha0, set when we're doing a data transfer. Used
for save data pointers.
2000-05-04 15:42:42 +00:00
mycroft
319d44bfb1 Adjust asm patterns for newer versions of GCC. 2000-05-03 21:20:07 +00:00
thorpej
5a5c88dc4e `typedef void ifnet_ret_t;' isn't valid C -- use #define, instead. Also,
don't abuse the C preprocessor.
2000-05-03 21:08:02 +00:00
thorpej
081e7cbdaf `typedef void ifnet_ret_t;' isn't valid C -- use #define, instead. 2000-05-03 20:52:29 +00:00
thorpej
b29178acf3 Remove unnecessary junk on #undef line that some C preprocessors
get cranky about.
2000-05-03 19:19:04 +00:00
thorpej
e37397c2e8 `typedef void ifnet_ret_t;' isn't valid C -- use #define, instead. 2000-05-03 19:17:54 +00:00
thorpej
ab635a46d3 Slight change to previous. 2000-05-03 19:15:27 +00:00
thorpej
2d66ccbd13 Don't return an uninitialized error code. 2000-05-03 18:58:37 +00:00
thorpej
01e8438aa8 Fill in ccb->ccb_req.sgcount with the value that's guaranteed to
be initialized.
2000-05-03 18:58:15 +00:00
mycroft
d0d92c23d0 Use USBD_NORMAL_COMPLETION in the previous. 2000-05-03 18:21:36 +00:00
mycroft
ffe599486c When emulating UHF_PORT_POWER for the internal hub, make sure to initialize
the status return value.
2000-05-03 18:14:49 +00:00
bouyer
3bb9a5f666 - do sync/wide negotiation
- use a circular queue for the start slots, so that order has better chances
  to be preserved.
2000-05-02 19:03:02 +00:00
augustss
621ef4d785 Add am7930 audio driver. 2000-05-02 06:43:05 +00:00
augustss
f9dbbf4c92 Make am7930 driver machine independent. PR 10032 from Gregory McGarry. 2000-05-02 06:30:49 +00:00
nathanw
8ca78ff825 In siop_lookup_product(), actually check the PCI *vendor* ID as well as the
product ID.
Prevents false matches of other devices, such as the DEC 21050 ppb.
2000-05-02 03:59:35 +00:00
thorpej
712326ecbd Traditionally, the floppy controller was configured at 0x3f0 for 8 ports,
but the registers actually begin at 0x3f2, and this is what PNPBIOS reports
for the floppy controller resources.  Adjust the register offsets and the
mapping of them for the ISA front-end to compensate, so that the PNPBIOS
attachment of the floppy controller actually works.
2000-05-02 03:33:45 +00:00
thorpej
5e915fcab9 Nuke some dead code. 2000-05-02 03:32:09 +00:00
augustss
c7d698ac41 Support recording conversions that change the sample size. PR 10029, from Gregory McGarry. 2000-05-02 00:00:00 +00:00
augustss
2365a92cb5 Add Creative Music System driver. From Gregory McGarry <g.mcgarry@ieee.org> 2000-05-01 22:48:33 +00:00
augustss
4e1e58e353 Change the way the codec is access to mimic how Linux&FreeBSD does it. 2000-05-01 17:15:41 +00:00
augustss
07f142cd50 Add some more debug output. 2000-05-01 17:10:40 +00:00
tsutsui
9498452c05 - Move some initialization into MI rl_attach() from each bus attachment.
- Use proper CARDBUS_* macro in if_rl_cardbus.c
- Use product ID read from PCI configuration space rather than from EEPROM
  in if_rl_pci.c.

Patch sent from Masanori Kanaoka <kanaoka@ann.hi-ho.ne.jp> and
some cosmetic changes by me.
2000-05-01 15:08:50 +00:00
soren
ac6e6c980d Add Seeq 8003 register definitions. 2000-05-01 08:06:17 +00:00
takemura
7d3231b37a Mouse move event should be made before mouse bown event. Without that,
you may got a mouse down event in strange plase.
2000-05-01 07:36:58 +00:00
augustss
fec9706315 Remove unneeded #include "mpu.h" 2000-04-30 22:16:56 +00:00
augustss
aaa405eab7 Add driver for C-Media CMI8x38 Audio Chip. From Takuya SHIOZAKI <AoiMoe@imou.to> 2000-04-30 21:59:58 +00:00
dante
1dbea6c0f9 Add new microcode for all of the supported boards.
Fix minor glitches.
Add preliminary support for ASB-3940U3W host adapters; it might work w/ autotermination on.
ASB-3940U3W support is not yet tested due to lack of board.
2000-04-30 18:52:14 +00:00
dante
ff84aeb762 Add ASB-3940U3W host adapters (AdvanSys) 2000-04-30 18:46:18 +00:00
dante
d2679acf60 Add ASB-3940U3W host adpeter (AdvanSys) 2000-04-30 18:34:53 +00:00
tsutsui
439b360ab9 Modify EEPROM read functions and handle also 9356 EEPROM.
Fixes kern/9861.
2000-04-30 12:00:40 +00:00
ragge
e623cd6f8f Discard these old leftovers from the IMP and trailer days! 2000-04-30 11:50:50 +00:00
ragge
6f6bea9eed Change to use new ubareset() functionality. 2000-04-30 11:46:49 +00:00