Commit Graph

2000 Commits

Author SHA1 Message Date
Bruce Evans 8ff0acffb3 Fixed minor style bugs in previous commit. 1999-01-11 23:43:54 +00:00
Bruce Evans 443f91618b Updated for not-so-new version of Cyclom-Y PCI boards (with a custom
register for the PLX id).  Merge the vendor's modification of the 2.2.*
release version into -current for reference.  Will be cleaned up in next
commit.

Obtained from:	ftp://ftp.cyclades.com/pub/cyclades/cyclom-y/freebsd/3.0/cyy30.tar.gz
1999-01-11 23:35:01 +00:00
Nicolas Souchu 2dcc537bfe Fix missing \n in boot printfs. Add more mode detection if bootverbose. 1999-01-11 21:22:41 +00:00
Kazutaka YOKOTA 61329bcee4 Update the pointer into the bitmap correctly. The previous code
had the pointer off by 4 bytes if the width of the bitmap is
a multiple of four.
1999-01-11 17:32:22 +00:00
Kazutaka YOKOTA 1243dad08d Add splash screen module. This version has rather limited
capabilities, but should be a good start... Well, sort of.

It can handle W*ndows 256 color BMP file.  (Other color depth probably
won't work.) The size of the image must be 320x200 or less.  *sigh*
1999-01-11 03:34:56 +00:00
Kazutaka YOKOTA 2ad872c579 The first stage of console driver reorganization: activate new
keyboard and video card drivers.

Because of the changes, you are required to update your kernel
configuration file now!

The files in sys/dev/syscons are still i386-specific (but less so than
before), and won't compile for alpha and PC98 yet.

syscons still directly accesses the video card registers here and
there; this will be rectified in the later stages.
1999-01-11 03:18:56 +00:00
Kazutaka YOKOTA 559e7c1b0c Oops, I committed wrong version of these files in the last commit!
Here are the correct, and up-top-date ones.
1999-01-11 03:06:28 +00:00
Nick Hibma 34dced2c1a Added file handling to ulpt (USB printer) driver 1999-01-11 00:03:59 +00:00
Bill Paul 6c70e5b472 Tweak the vr_start() and vr_rxeof() routines a little to improve
performance and reliability a little. There was a condition before
where transmission would stall during periods of heavy traffic
exchange between two hosts. Also set the 'want interrupt' bit in
receive descriptor control words.
1999-01-10 18:51:49 +00:00
Nick Hibma 53809e8652 Sync with NetBSD sources. Almost there. Mostly style fixes. 1999-01-10 18:42:54 +00:00
Nick Hibma d2dfa9aec1 Remove warning 1999-01-10 18:31:22 +00:00
Nicolas Souchu a7006f894f Fix broken low level ppb_rxxx() return type: char becomes u_char.
Submitted by: Bruce Evans <bde@zeta.org.au>

Some ppb bootup printfs simplified.
1999-01-10 16:41:14 +00:00
Nicolas Souchu bc35c17446 Major ppbus commit with:
+ ECP parallel port chipset FIFO detection
	+ DMA+FIFO parallel I/O handled as chipset specific
	+ nlpt updated in order to use the above enhanced parallel I/O.
	  Use 'lptcontrol -e' to use enhanced I/O
	+ Various options documented in LINT
	+ Full IEEE1284 NIBBLE and BYTE modes support. See ppbus(4) for
	  an overview of the IEEE1284 standard
	+ Detection of PnP parallel devices at boot
	+ Read capability added to nlpt driver to get IEEE1284 compliant
	  printer status with a simple 'cat /dev/lpt0'
	+ IEEE1284 peripheral emulation added to BYTE mode. Two computers
	  may dialog according to IEEE1284 signaling method.
	  See PERIPH_1284 option and /sys/dev/ppbus/ppi.c

All this code is supposed to provide basic functions for IEEE1284 programming.
ppi.c and nlpt.c may act as examples.
1999-01-10 12:04:56 +00:00
Matt Jacob bff85e290f Suggested by bde@freebsd.org- memcpy not necessarily good to use. D'oh- not in
the BSD DKI. Stop being lazy and finish the defines so MEMCPY becomes bzero
for FreeBSD.
1999-01-10 11:15:23 +00:00
Matt Jacob f7102a20c6 Add some prototype deadchip detection. Set FIFO bursting (1XX0 only-
it's already on for the 2XX0) and detect the broken 1040A FIFO. Change
bzero to MEMZERO (portability with **nux). Use memcpy for same reason.

Finally detect QUEUE FULL conditions and return this as an error that
will get cam_periph_error to do it's 'tagged openings now XXX' dance.
1999-01-10 02:55:10 +00:00
Matt Jacob 128101f362 up isp_fifo_threshold NVRAM storage to 3 bits (for future 128 bit) 1999-01-10 02:51:48 +00:00
Matt Jacob f28c2b3f0b add MEMZERO portability defines 1999-01-10 02:51:06 +00:00
Matt Jacob 285e230daf Amazingly stupid forgetfullness had me forgetting to turn on FIFO bursts
for the 1XX0 cards. That cost > 50% performance.
1999-01-10 02:45:51 +00:00
Eivind Eklund 219cbf59f2 KNFize, by bde. 1999-01-10 01:58:29 +00:00
Nicolas Souchu 24063475b4 Fix Linux compatible mode. ppb_rxxx() calls are chars, inb() is int. 1999-01-09 18:10:37 +00:00
Nicolas Souchu bf896bd0e2 Change /dev/smb and /dev/iic interface to allow user programs to interact with
devices dynamically. That means,

        + only one /dev/iic or /dev/smb device for each smb/iic bus to access
        + I2C/SMB device address must be given to any ioctl
        + new devices may be plugged and accessed after boot, which was
          impossible previously (device addresses were hardcoded into
          the kernel)
1999-01-09 18:08:24 +00:00
Nicolas Souchu 26af4d7d6a Fix the disappearing da0 problem.
Submited by: Doug Rabson <dfr@nlsystems.com>
1999-01-09 18:05:46 +00:00
Kenjiro Cho 1e7bb3a362 cleanup: remove part of the code for 2.1.
add two functions to get the MAC address of the card.

Obtained from: ALTQ
1999-01-09 12:56:17 +00:00
Kazutaka YOKOTA 617b908036 Add the new keyboard driver and video card driver. They will be
used by console drivers.

(They are not yet activated yet.  Wait for announcement later.)
1999-01-09 02:44:50 +00:00
Bruce Evans 2a32c15f45 Unspammed includes in <machine/cpufunc.h> in the !SMP case. Partially
unspammed them in the SMP case.
1999-01-08 19:17:49 +00:00
Eivind Eklund 5526d2d920 Split DIAGNOSTIC -> DIAGNOSTIC, INVARIANTS, and INVARIANT_SUPPORT as
discussed on -hackers.

Introduce 'KASSERT(assertion, ("panic message", args))' for simple
check + panic.

Reviewed by:	msmith
1999-01-08 17:31:30 +00:00
Eivind Eklund 95ddc5daa5 USUBCLASS_MODEM -> USUBCLASS_ABSTRACT_CONTROL_MODEL
Matches the header file change, and makes this compile.
1999-01-08 17:25:37 +00:00
Nick Hibma a73f7cf01f Major synchronisation with NetBSD USB code 1999-01-07 23:07:57 +00:00
Nick Hibma a1aa3832a4 Clean up, nothing major 1999-01-07 23:01:11 +00:00
Kazutaka YOKOTA fc847f6651 Remove a hard-coded table of kernel console I/O functions exported
from sc, vt and sio drivers.  Use instead a linker_set to collect them.

Staticize ??cngetc(), ??cnputc(), etc functions in sc and vt drivers.
We must still have siocngetc() and siocnputc() as globals because they
are directly referred to by i386-gdbstub.c :-(

Oked by: bde
1999-01-07 14:14:24 +00:00
Nick Hibma f21bc50cc2 queue.h has taken over this functionality 1999-01-06 23:16:45 +00:00
Greg Lehey acf3160e71 Fix an overflow problem which prevented revive from working on plexes
of more than 4 GB.

Reported by: dg
1999-01-06 23:11:29 +00:00
Nick Hibma d718b44f52 Added proper names to the device messages at probe and attach.
Missing ones:
	Device Id ADS technologies
	Device Id's SiS hardware
1999-01-06 19:55:49 +00:00
Nick Hibma 953327085a Removed NetBSD specific code 1999-01-06 12:31:28 +00:00
Nick Hibma 3523e1b5a7 Big oops, wrong major number in source 1999-01-05 09:33:23 +00:00
Luigi Rizzo 73a5bda360 Fix YMF719 detection (report by jose@we.lc.ehu.es).
Fix compile problems without "controller pnp0"
(fix by German Tischler)
1999-01-04 20:06:38 +00:00
Luigi Rizzo 2bd69c5d34 Bring in ad1816 patches from German Tischler.
Fix 'device not configured' problem that people were experiencing
when only PCI devices are present.
1999-01-04 10:40:14 +00:00
Nick Hibma 0d3c3d3942 Corrected the major number for usb and added ums as major 111 1999-01-03 16:48:03 +00:00
Bill Paul 57ff492d3e Minor bug: in the case where allocating a fresh mbuf for the receive ring
fails, we need to set the descriptor status word so that the 'OWN' bit
is set again so that the chip can reuse it. Previously, this wasn't being
done.
1999-01-03 02:05:21 +00:00
Dag-Erling Smørgrav 0a3e1d6535 Use M_VGA_VG320 if M_VESA_CG800x600 is not available. It looks ugly in
low-res, but it works...

Submitted by:	Ben Smithurst <ben@scientia.demon.co.uk>
1999-01-01 14:40:49 +00:00
Bruce Evans b55dcca107 The previous commit was bogus. malloc(..., M_WAITOK) should not be
used in device attach routines.  At least for attaches at boot time,
actually waiting, or actually failing for malloc(..., M_NOWAIT), are
almost equally unlikely and harmless, but using M_WAITOK interferes
with automatic detection of bogus M_WAITOK's.
1999-01-01 12:35:47 +00:00
Dag-Erling Smørgrav 52ff03bd8b Here's one for the terminally melancholic amongst us. 1998-12-31 13:41:40 +00:00
Dag-Erling Smørgrav 52529398ad Compile without warnings. 1998-12-31 13:38:59 +00:00
Luigi Rizzo 4964edb0c6 Extend the callback mechanism and add hooks to support PCI cards.
Remove a few unused variables.
1998-12-31 07:34:01 +00:00
KATO Takenori 9ffb74afa4 Another(better) way to support Access/NOTE N98(PC-98) without any effects
for other Access/PC series.

Submitted by:	Chiharu Shibata <chi@bd.mbn.or.jp>
1998-12-31 03:21:14 +00:00
Kazutaka YOKOTA 13e05026dd Make the VESA KLD module work! 1998-12-30 11:21:08 +00:00
Tim Vanderhoek dea9268b70 Silence -Wtrigraph.
Submitted by:	Bradley Dunn <bradley@dunn.org>  (pr: kern/8817)
1998-12-30 00:37:44 +00:00
Matt Jacob 17e318c604 clarify headers;ansify 1998-12-28 19:24:23 +00:00
Matt Jacob c305536317 clarify headers;move uninit to outer layer;remove watchdog 1998-12-28 19:22:27 +00:00
Nicolas Souchu 517e248509 Rename smbtx to intsmb (IntelSMB interface), the future PIIX4 SMBus
interface driver.
1998-12-28 19:07:51 +00:00
Peter Wemm c285ca1254 Some relatively minor tweaks to enable vinum to be built into a static
kernel as a pseudo-device.  The changes were:
- #ifdef DEBUG -> #ifdef VINUMDEBUG
- opt_vinum.h for holding above config variable
- Fixing up a few stray problems where DEBUG wasn't optional.
- config.c -> vinumconfig.c (there's already a config.o)
- Other *.c -> vinum*.c (wasn't strictly necessary, but done in case we end
  up with something else conflicting later on and we might have to have yet
  more repository copies of files).
- include file paths fixups..  (ie: get them all from the kernel tree
  instead of partly from the kernel and partly from /usr/include/machine)

I've spoken with Greg about this..  I hope this doesn't mess him around
too much..
1998-12-28 16:28:24 +00:00
Dag-Erling Smørgrav ee57f3c3d8 One more for the road: Chuck the friendly floating daemon. Requires
VESA_800x600 to run.
1998-12-28 14:22:57 +00:00
Dag-Erling Smørgrav 00e53a11e8 Save the palette in case syscons doesn't restore it properly.
Fix a minor overflow.
1998-12-28 14:20:13 +00:00
Peter Wemm ef2dbe9885 If I've done this right, revive the vinum code in it's now home after it
was savaged in the blood bath a few hours ago.
1998-12-28 04:56:24 +00:00
Dag-Erling Smørgrav 2aebedc3ad Finally give FreeBSD a graphical screensaver. It isn't much, but it works,
and can serve as a template for further efforts. Consider this my (belated)
Christmas present to the Project :)

Requested by:	jkh
1998-12-27 22:03:09 +00:00
Søren Schmidt c74cd3590f Remove LKM's depricated by modules. 1998-12-27 19:38:15 +00:00
Poul-Henning Kamp fc47545ec3 Pre 3.0 branch cleanup casualty #6: ft 1998-12-27 13:40:57 +00:00
Bill Paul d482d37e81 The VIA Rhine appears to be yet another chip that always includes the
ethernet CRC in received frames and has no option to turn this behavior
off. Trim the CRC off manually in vr_rxeof().
1998-12-24 18:03:17 +00:00
Bruce Evans 223f865ada Flush the fifos at the correct place in cyopen(). Various things
in cyopen() were done in a different order than in sioopen(), partly
to (ab)use a side effect of comparam() and partly because I didn't
understand what the reset was doing (it flushes the fifos).  This
turned out to be more than a cosmetic problem.  Flushing the fifos
quite late is good for discarding input that arrived while the line
state was being initialized, and in the cy driver it also seems to
reduce a problem with input that arrived long ago during the previous
close (the UART loses sync too easily and for too long).
1998-12-24 14:17:57 +00:00
Warner Losh ed994fe86a Invalid is spelled with the v *BEFORE* the a. 1998-12-22 22:31:06 +00:00
Eivind Eklund 800df04d57 Error check is not necessary - this function cannot fail in this
context.

Noted by:	gibbs
1998-12-22 20:21:12 +00:00
Justin T. Gibbs e84c798977 Don't calculate the residual twice. 1998-12-22 18:14:50 +00:00
Justin T. Gibbs b2608b2c73 Staticize the overrun buffer so that they are not shared between
cards of different bus types as each bus type may have a different
bus mapping.

Submitted by:	Eivind Eklund <eivind@yes.no>
1998-12-22 18:14:15 +00:00
Justin T. Gibbs a466025179 Return NULL on resource shortage instead of blindly continuing.
Obtained from: Eivind Eklund <eivind@yes.no>
1998-12-22 18:12:09 +00:00
Eivind Eklund ea420b4fd8 Better error checking and more complete struct initialization.
Reviewed by:	Simon Shapiro <shimon@simon-shapiro.org>
1998-12-22 00:52:27 +00:00
Bruce Evans 3bc124d470 Wait for channel commands to complete after issuing the commands.
The optimisation of only waiting before issuing new commands is
obviously invalid in general and it caused many errors in NIST-PCTS.
I think the errors were mostly for characters sent with the wrong
parity, etc., after a half complete tcsetattr().

Use microtime() instead of a magic loop count to limit the wait.
The wait is a busy-wait :-( and normally takes about 500 usec.
1998-12-19 16:28:57 +00:00
Bruce Evans 747c608e8d Flush the tx fifo in cystop(). Now ttyflush() (and thus tcflush(3))
almost works properly.  Unfortunately, there is no way to flush
the rx fifo without resetting the channel, which also flushes the
tx fifo.  We avoid resetting even when both fifos need to be flushed,
since resetting seems to cause the rx to lose sync if it is done
while data is arriving.

Reminded by:	NIST-PCTS
1998-12-17 19:23:09 +00:00
Bruce Evans f9828cced4 Fixed handling of BREAK in input. BREAK was not being converted into an
escape sequence in the `-ignbrk -brkint parmrk' case.

Found by:	NIST-PCTS
1998-12-17 18:43:08 +00:00
Bruce Evans 7cfc9b133e Oops, this should have been in the previous commit (ensure atomic update
of com->cor[1]).
1998-12-17 18:18:06 +00:00
Bruce Evans 657365cdd7 Implemented sending of BREAKs. This is quite complicated because the
hardware is interrupt-driven to a fault and sending a BREAK requires
mode switching.  Always running in the BREAK-capable mode as in PR 8318
would double the overhead for sending \0's.

Reminded by:	PR 8318
1998-12-17 17:40:13 +00:00
Justin T. Gibbs 0378c40c5c Fix a few problems with handling rejected transfer negotiation messages.
Use the host message loop for any unknown message types instead of performing
a reject message in the sequencer.  Pass reject messages to the host
message loop too which frees up a sequencer interrupt type slot.

Default to issuing a bus reset if initiator mode is enabled.  It seems
that the reset scsi bus bit is not defined in the same location for
all aic78xx BIOSes, so attempting to honor this setting will have to
wait until I get more information on how to detect it.

Nuke some unused variables.
1998-12-17 00:06:52 +00:00
Poul-Henning Kamp 11749a2453 Straigthen out the use of the tls and tlf callbacks.
Not tested on the if_sr, if_cx and if_ar drivers, but
expected to work just the same as it used to.

Any users of these drivers (or even better: donors
of hardware for them) please contact phk@freebsd.org
so we can test the next batch of changes to if_sppp.
1998-12-16 18:42:38 +00:00
Eivind Eklund fcfdc24dd2 vxalloc() can return NULL. Deal with it. 1998-12-16 00:38:57 +00:00
KATO Takenori 4896212043 Oops, I forgot to commit two diffs to fe driver. 1998-12-15 15:56:37 +00:00
KATO Takenori 2d2d8cc4f0 PC/AT(ISA) version and PC-98(NEC) version of if_fe drivers are merged,
as well as several functional additions.

(1) dot3 MIB support.
(2) if_media selection method support.
(3) bridge support.
(4) new boards support. Supported boards are as follows.
    [PC/AT]
     * Fujitsu FMV-180 series
     * Allied-Telesis RE2000 series
     * Allied-Telesyn AT1700 series
     * Gateway Communications G/Ether series
     * UB networks Access/PC ISA series
     * TDK/LANX LAC-AX series
     * ICL EtherTeam16i series
     * RATOC REX-5586/5587
    [PC-98]
     * Allied-Telesis RE1000 series
     * Allied-Telesis RE1000Plus/ME1500 series
     * Contec C-NET(9N)E series
     * Contec C-NET(98)P2 series
     * UB networks Access/PC N98C+ series
     * TDK/LANX LAC-98 series(not tested)

Submitted by: seki@sysrap.cs.fujitsu.co.jp (Masahiro Sekiguchi) and
              chi@bd.mbn.or.jp (Chiharu Shibata)
1998-12-15 15:51:37 +00:00
Justin T. Gibbs 41faa7d374 Pull in new ccb_hdr list types. 1998-12-15 08:24:45 +00:00
Justin T. Gibbs 0ca48af774 Perform a save data pointers operation if a data transfer was performed
in target mode, but we are not completing the command.

Use a template of allowed bus arbitration phases to selectively and
dynamically enable/disable initiator or target (re)selection.

Properly handle timeouts for target role transactions - just go to the
bus free state and report the error to the peripheral driver.

Checkpoint support for the XPT_ABORT_CCB function code.  This currently
handles the accept tio and immediate notify ccb types, but does not
handle the continue target I/O or SCSI I/O ccb types.  This is enough
to handle dynamic target enable/disable events.

Clean up the SCSI reset code so that we perform at most 1 SCSI bus
reset at initialization, the reset requested by the XPT layer.
1998-12-15 08:22:42 +00:00
Nick Hibma fd3ae282c5 Added UCLASS_CDC definitions to usb.h 1998-12-15 07:06:51 +00:00
Warner Losh b128b9cf2a o Convert length of hccb to integer from the array. Eivind Eklund
pointed this out, but I've not seen a manifestation of this.
o Check against 0x00 as well as 0xff for geometry register, as some clone
  cards don't return 0xff.  Vadim Mikhailov pointed this out in PR
  8743 for his Dell SCSI Array controller working in AHA-1540
  emulation mode.  Note that this test is likely to go away in the
  future in favor of a better one Justin has recommended.
1998-12-15 02:51:54 +00:00
Julian Elischer 6384b0f1bb The OHCI interfaces I have access to map their control regs etc. into
memory address space rather than IO space.. reflect this when looking for the
interface revision register.

If this is not true for them all then we probably need some smarter code.
1998-12-14 21:14:11 +00:00
Bruce Evans ff9607b070 Fixed LINT breakage in previous commit. Option FDC_YE enabled a
syntax error.  Options FDC_YE and DEVFS together enabled references
to a nonexistent variable and calls of a nonexistent function.
1998-12-14 16:29:58 +00:00
Nick Hibma bea029a166 Added Id 1998-12-14 09:40:15 +00:00
Nick Hibma 6fef2c2c27 Added Id to all files 1998-12-14 09:32:25 +00:00
Nick Hibma f287ad3471 Added Id 1998-12-14 09:31:41 +00:00
Nick Hibma 680a2f48d9 Added comment 1998-12-14 09:15:19 +00:00
Nick Hibma def348d45a Added copyright and Id 1998-12-14 09:13:29 +00:00
Matthew Dillon 2cbe36f725 probe function changed from returning char * to const char *. 1998-12-14 06:37:37 +00:00
Matthew Dillon 35f069d08b pci_device pd_probe function changed from returning char * to returning
const char *.  Originally I was going to add casts from const char * to
    char * in some of the pci device drivers, but the reality is that the
    pci device probes return constant quoted strings.
1998-12-14 05:47:29 +00:00
Nick Hibma 1806e812ae small oops on previous bug fix, it's late... 1998-12-13 23:53:42 +00:00
Nick Hibma 67aabdd8b7 small bug fix 1998-12-13 23:26:41 +00:00
Nick Hibma 9501b6d6b8 Removed unneeded definition 1998-12-13 23:16:20 +00:00
Steve Price 921543cf2f Add support for another 3COM/USR PNP modem, USR3031. 1998-12-13 23:12:54 +00:00
Nick Hibma eca58e5e00 dded the stubs for umodem and ucom (communications class driver). They are nothing other than
the ugen driver with different variable names.
1998-12-13 23:04:35 +00:00
Eivind Eklund b3a941181e Remove warning introduced by the last committer. 1998-12-13 23:00:48 +00:00
Nick Hibma 3e041e6116 Updated USB kernel sources to NetBSD sources of 1998-12-09.
1 bug fix and several textual changes.
Preparing to feed back changes for port into NetBSD to create one source base.
1998-12-13 22:27:42 +00:00
Justin T. Gibbs 0aae7eb02e Pull in fixes similar to those recently committed to the bt driver:
- For transactions of 0 length, us a non-residual checking CCB type.

 - Preserve command status if our interrupt handler completes a command
   while we are polling for completion in aha_cmd.
1998-12-13 00:05:04 +00:00
Nick Hibma da3ff61390 Fixed warning in usr.sbin/usbd 1998-12-12 11:57:59 +00:00
Warner Losh 69acd21dfd Add support for the YE-Data external PCMCIA floppy driver. This
floppy is used on the toshiba Libretto line of subnotebook computers.
It differs from a normal floppy in that you must use PIO rather than
DMA to transfer the data.

To enable this, you must add options "FDC_YE" to your kernel.  I don't
have a machine that has a floppy and a pcmcia slot to test to make
sure that this doesn't impact normal floppy units, so I've left this as
an option.

I have ported this to -current and made an attempt to ensure that the
indentation conforms to style(9), aka the bruce filter.

Reviewed by:	nate, markm
Submitted by:	David Horwitt (dhorwitt@ucsd.edu)
1998-12-12 08:16:01 +00:00
Julian Elischer 8cbe8a3ebf If we failed to probe/attach somehow, we never have a sc->sc_hcca
but the present PCI probe code still thinks we are there as the pci attach
can't return an error code.

This means we are in the shared interrupt list, but have not been set up.
If we are sharing ints with another device, ohci_intr will be called and will
coredump on a NULL reference. So just return if it is called when not set up.

This fixes the symptom and not the cause.
The right answer is to let the PCI system know that the attach failed,
or to fail earlier (in the PCI probe).
The attach() is a void fn() so it can't return failure..
1998-12-11 06:02:06 +00:00
Justin T. Gibbs 4c196f451c Remove unsued variable.
If we are not transfering any data, use a non S/G ccb type that doesn't
return residual information.  It seems that some firmware revisions dislike
S/G ccbs with 0 length S/G lists.

Correct bt_cmd() so that we always honor command status that was latched
by our interrupt routine while polling for completion..
1998-12-11 03:50:35 +00:00