Commit Graph

359 Commits

Author SHA1 Message Date
ats
b58557899d Deleted the private cleandir target. It didn't had a rule for the
obj symlink in it and the normal bsd.prog.mk cleandir target does
already the correct thing.
1993-12-11 20:35:15 +00:00
ache
fae8cc8948 Remove compiler warning:
void function return int.
1993-12-11 00:37:55 +00:00
ache
26f4641e6c Force HUPCL in bidirectional port open.
This don't allow it hangs forever.
1993-12-11 00:36:14 +00:00
ache
bc518291b7 1) Fix error with port recognition, speed initialization code
added to probe.
2) Force CLOCAL=on for outgoing ports and CLOCAL=off for
incoming ports into open in bidirectional case.
3) Add DELAY after writing to com_ier for fifo drain into probe.
1993-12-09 17:24:19 +00:00
wollman
522efb39b5 Fixed spelling error. Added NSIP (XNS over IP). Fixed TP class 4 over
IP line (TPIP) to be an option rather than a pseudo-device (the code keys
off #ifdef TPIP, not #if NTPIP > 0, as makes sense).
1993-12-06 01:57:16 +00:00
ats
1108a57b4c Fixed the error that a Fdopen succeeds without a found fd controller in
the system.
1993-12-04 16:13:18 +00:00
alm
2c48c35e86 From: Jeffrey Hsu <hsu@soda.berkeley.edu>
The following patch adds the addr argument to signal handlers.

The kernel with the patch is no more and no less in compliance or in
violation of POSIX and ANSI C than the kernel before the patch.

The added functionality this addr argument provides is quite useful.  It
enables an entire class of algorithms which use mprotect to trace memory
references.  Beside garbage collectors, I have heard of this technique being
applied to debuggers and profilers.  The only benchmarking I've performed is
using akcl to compile maxima:  without the kernel patch, it takes 7 hours to
compile maxima, while with stratified garbage collection, it only takes 50
minutes.

Basically, I can't think of a reason not to add the addr argument and there
is a compelling need for it.

If you find the patch acceptable, please let me know so I can send my
FreeBSD akcl config files to wfs for inclusion in the core akcl release.
The old 386BSD config files there won't work on either NetBSD or FreeBSD.
1993-12-03 05:10:08 +00:00
alm
db1888bf05 Reset fdc during probe.
From: <dec@lazarus.nrtc.northrop.com>
   Changes between EPSILON and RELEASE of FreeBSD have again caused
the kernel to not see my floppy disk drives.  I don't know what happened,
'cause I don't see any changes to fd.c, but here is an old fix that
I have applied to the probe routine which will solve the problem (at
least for me).  Since this is a rather brute-force solution - I understand
if you want to ignore it...

[Upgrading to pre-Beta FreeBSD caused this on my system. -AM]
1993-12-03 05:01:40 +00:00
ache
b1df2caabc wmesg was too long (>7), fixed 1993-11-29 19:26:32 +00:00
dg
45a8306672 * Revision 2.16 1993/11/29 16:55:56 davidg
* merged in Garrett Wollman's strict prototype changes
 *
 * Revision 2.15  1993/11/29  16:32:58  davidg
 * From Thomas Sandford <t.d.g.sandford@comp.brad.ac.uk>
 * Add support for the 8013W board type
1993-11-29 17:07:33 +00:00
ache
e431e009b6 Direct #undefs removed to allow flexible manipulation
via config options. Unneded #defines removed.
Improved dependance of "snd.h" and NSND.
1993-11-28 10:55:59 +00:00
dg
1b23af429b Patch from Gene Stark:
Subject: Page fault in PTE area fails in copyout
Index: sys/i386/i386/trap.c FreeBSD-1.0.2

Description:
	Reading files of several megabytes into Emacs, or many small
	files all at once, would fail with "IO error - bad address".

Repeat-By:
	The bug can be exercised by a test program that malloc()'s
	a 5MB chunk of memory, and then, without accessing the memory
	first, filling it with data from a file using read().
	(I read 64k chunks from /dev/wd0d into successive 64k regions
	of the 5MB chunk.)  The read() will fail with EFAULT at the first
	virtual address boundary that is a multiple of 0x400000.

Fix:
	The problem was code in sys/i386/i386/trap.c that tries to
	figure out what kind of trap occurred and to handle it appropriately.
	It was interpreting any page fault with virtual address
	>= vm->vm_maxsaddr as being a user stack segment fault.
	In fact, addresses >= USRSTACK are in the user structure/PTE area,
	and if they are handled as stack faults, the proper PTE will
	not be paged in when it is supposed to be.  This situation comes
	up in copyout() and copyoutstr(), if PTE's are accessed for the
	first time ever.  The page fault on accessing the nonexistent PTE
	is mishandled as a stack fault, and then the fault that occurs on
	the subsequent access to the page itself causes copyout to fail
	with EFAULT.
1993-11-28 09:28:54 +00:00
ache
7f3ca7c540 Move soundcard.h & ultrasound.h to proper location <machine/...>
to allow application access it.
1993-11-27 22:16:44 +00:00
wollman
13557bc52a Declare cnopen, cnclose, and other console routines. 1993-11-27 19:19:19 +00:00
rich
37c59cbda9 Declared cn{open,close,read,write,ioctl,select} extern. 1993-11-27 06:50:45 +00:00
rich
47ffcbfe51 Fix conflicting prototypes and return values. 1993-11-27 06:32:41 +00:00
wollman
425f3e1671 Fix d_write_t -> d_rdwr_t (typing error). 1993-11-26 22:44:17 +00:00
wollman
8e24073a9b Make the LINT kernel compile with -W -Wreturn-type -Wcomment -Werror, and
add same (sans -Werror) to Makefile for future compilations.
1993-11-25 01:38:01 +00:00
nate
0d2bf2f9ed Subject: Panic - can't mount route (Soren's changes)
From: Geoff Rehmet  <g89r4222@braae.ru.ac.za>

Description:
	On bootup, probe of wd drives fails (CP30104), and kernel panics
	- cannot mount root
	It appears that the device probe just times out.
	Increasing the timeout back to its old value fixes the problem.
Repeat-By:
	SUP FreBSD-current,  Find a CP30104 .....  (ok ok ok)
	Basically - Soren's changes barf my disk.
1993-11-23 21:36:37 +00:00
chmr
5bd9041020 Changed return(-1) in switch_scr to return(EINVAL), because -1 is
ERESTART on return from a system call.
1993-11-23 18:20:52 +00:00
nate
73aab54861 Stop gap measure until we can get Bruce's driver debugged.
---
From: sos@login.dkuug.dk (S|ren Schmidt)
Subject: IDE-disk hangs - solution/patches NetBSD/FreeBSD
Summary: fixes for lost interrupts with IDE disks
Keywords: hanging-disk, IDE-disk, lost-interrupt


Due to "popular" demand I'm posting these patches to NetBSD/FreeBSD
instead of mailing them around the world :-)

As many have found out there is a problem when using IDE disks on
FreeBSD. Following is a patch that fixes the problem with lost intterrupts.
Both fixes is based on a patch posted here some month ago by
Stefan Behrens?? (sorry I've lost the original article). But anyway it
works (for me :-).
Basically it does a timeout on lost interrupts, starting the operation
again and logging and error message on the console.

It additionally makes the allready present while loop timeouts
independent of CPU speed, and adds minor numbers for easy access to
dos partitions.
1993-11-22 23:25:46 +00:00
dg
b19cf9d9a8 * Revision 2.14 1993/11/22 10:55:30 davidg
* change all splnet's to splimp's
 *
 * Revision 2.13  1993/11/22  10:53:52  davidg
 * patch to add support for SMC8216 (Elite-Ultra) boards
 * from Glen H. Lowe
 *
 * Revision 2.12  1993/11/07  18:04:13  davidg
 * fix from Garrett Wollman:
 * add a return(0) at the end of ed_probe so that if the various device
 * specific probes fail that we just don't fall of the end of the function.
1993-11-22 11:08:16 +00:00
dg
ac967db637 patches from Julian Elischer -
Added support for mmapping /dev/mem
1993-11-22 09:46:45 +00:00
dg
94bb597ccc added 5us delay before checking BUSY flag to conform to ATA spec -
as suggested by John Dyson (dyson@implode.rain.com)
1993-11-19 06:30:00 +00:00
rgrimes
73dd2628a2 New version of scsi code from Julian 1993-11-18 05:03:27 +00:00
ache
8d34e09677 Fix attach message, make separate line for it
(old version assumed that line is probe line)
1993-11-17 23:38:23 +00:00
wollman
029f1ccc6f Fixed comments that start within a comment, so code compiles cleanly with
-Wcomment.
1993-11-17 23:25:28 +00:00
wollman
1ae9954219 Increased symtab space and added two more options that don't do anything
(yet).
1993-11-17 23:24:12 +00:00
ache
3dd806470c If netmask == 0, new value changed from 0x8000 to 0x10000
(don't mess with IRQ15)
1993-11-17 00:21:03 +00:00
dg
156d1cd94a new process tracing code from Sean Eric Fagen (sef@kithrup.com).
...also, fixed up the syscall args to make GCC happy.
1993-11-16 09:54:57 +00:00
ache
cf434a6bef We don't want shared boot, so -Bstatic added to ld options 1993-11-16 02:02:05 +00:00
paul
53f348b4ef Changed -Z back to -z.
In line with all other ld's -z is now the "standard" ZMAGIC format.
1993-11-16 00:45:04 +00:00
paul
4d25c340ff Changed -z to -Z so we create old-style ZMAGIC kernels. 1993-11-15 21:06:08 +00:00
ache
142d081759 timeout+sleep changed to tsleep 1993-11-15 01:33:11 +00:00
ache
bfbb9f451b if netmask == 0, then the loopback code can do some really
bad things.
workaround for this: if netmask == 0, set it to 0x8000,
which is value used by splsoftclock
1993-11-14 23:53:32 +00:00
ache
3e31049377 New sio driver from Bruce. 1993-11-14 23:29:01 +00:00
rgrimes
3593da9033 Add _bde_exists: label so that the global is really defined. Fix spelling
error (mount -> amount)
1993-11-14 02:27:22 +00:00
rgrimes
93f6cc5abd >From Charles Hannum
Change movl %es: -2(reg) to use a subl $2,reg when fixing up the IDT
entries for bdb.  This seems to be the best way to go.

Some day soon #ifdef BDB all of Bruces debugger code.
1993-11-13 04:43:25 +00:00
dg
aa3ae6ef2a First steps in rewriting locore.s, and making info useful
when the machine panics.

i386/i386/locore.s:
1) got rid of most .set directives that were being used like
	#define's, and replaced them with appropriate #define's in
	the appropriate header files (accessed via genassym).
2) added comments to header inclusions and global definitions,
	and global variables
3) replaced some hardcoded constants with cpp defines (such as
	PDESIZE and others)
4) aligned all comments to the same column to make them easier to
	read
5) moved macro definitions for ENTRY, ALIGN, NOP, etc. to
	/sys/i386/include/asmacros.h
6) added #ifdef BDE_DEBUGGER around all of Bruce's debugger code
7) added new global '_KERNend' to store last location+1 of kernel
8) cleaned up zeroing of bss so that only bss is zeroed
9) fix zeroing of page tables so that it really does zero them all
	- not just if they follow the bss.
10) rewrote page table initialization code so that 1) works correctly
	and 2) write protects the kernel text by default
11) properly initialize the kernel page directory, upages, p0stack PT,
	and page tables. The previous scheme was more than a bit
	screwy.
12) change allocation of virtual area of IO hole so that it is
	fixed at KERNBASE + 0xa0000. The previous scheme put it
	right after the kernel page tables and then later expected
	it to be at KERNBASE +0xa0000
13) change multiple bogus settings of user read/write of various
	areas of kernel VM - including the IO hole; we should never
	be accessing the IO hole in user mode through the kernel
	page tables
14) split kernel support routines such as bcopy, bzero, copyin,
	copyout, etc. into a seperate file 'support.s'
15) split swtch and related routines into a seperate 'swtch.s'
16) split routines related to traps, syscalls, and interrupts
	into a seperate file 'exception.s'
17) remove some unused global variables from locore that got
	inserted by Garrett when he pulled them out of some .h
	files.

i386/isa/icu.s:
1) clean up global variable declarations
2) move in declaration of astpending and netisr

i386/i386/pmap.c:
1) fix calculation of virtual_avail. It previously was calculated
	to be right in the middle of the kernel page tables - not
	a good place to start allocating kernel VM.
2) properly allocate kernel page dir/tables etc out of kernel map
	- previously only took out 2 pages.

i386/i386/machdep.c:
1) modify boot() to print a warning that the system will reboot in
	PANIC_REBOOT_WAIT_TIME amount of seconds, and let the user
	abort with a key on the console. The machine will wait for
	ever if a key is typed before the reboot. The default is
	15 seconds, but can be set to 0 to mean don't wait at all,
	-1 to mean wait forever, or any positive value to wait for
	that many seconds.
2) print "Rebooting..." just before doing it.

kern/subr_prf.c:
1) remove PANICWAIT as it is deprecated by the change to machdep.c

i386/i386/trap.c:
1) add table of trap type strings and use it to print a real trap/
	panic message rather than just a number. Lot's of work to
	be done here, but this is the first step. Symbolic traceback
	is in the TODO.

i386/i386/Makefile.i386:
1) add support in to build support.s, exception.s and swtch.s

...and various changes to various header files to make all of the
	above happen.
1993-11-13 02:25:21 +00:00
ache
76098db5b5 Fixed minor bug in M[LSN] interpretation, added octave-tracking.
Added the slur-mark feature.
Name of ioctl's include sys/spkr.h changed to machine/speaker.h
1993-11-09 02:32:30 +00:00
ache
788ea3fcac Name of ioctl's include sys/spkr.h changed to machine/speaker.h 1993-11-09 02:31:53 +00:00
alm
46df0965e7 Applied David Greenman's hack to disable IRQ conflict checking
when COM_MULTIPORT is defined.
1993-11-09 02:12:36 +00:00
jkh
79a69c41f4 Change from David Greenman to return properly unsigned irq. 1993-11-09 01:20:33 +00:00
ache
5a7a2e36f5 Add missing read flush code to siostop 1993-11-08 19:36:32 +00:00
wollman
4e9765d815 Added the netrmp protocol from the Net/2 tape. While of dubious utility,
it's simple enough that it might actually work and be useful on some systems.
(That's more than you can say for netccitt or netimp!)
1993-11-07 22:54:51 +00:00
wollman
d2ef484c3d Get rid of WFJ's use of sleep() for more user-friendly tsleep(). 1993-11-07 21:47:19 +00:00
wollman
1ee55cfc6a Add options MACHVMCOMPAT and bump symtab space appropriately. 1993-11-07 21:46:25 +00:00
wollman
bd2b2815f2 Made all header files idempotent and moved incorrect common data from
headers into a related source file.  Also fixed a bug in ed_probe() where
it was possible to fall off the end of the function
1993-11-07 17:44:34 +00:00
wollman
371ee40cea Made all header files idempotent and moved incorrect common data from
headers into a related source file.  Added cons.h as first step towards
moving i386/i386/cons.h to machine/cons.h where it belongs.
1993-11-07 17:43:17 +00:00
wollman
c1b92d6bad Made all header files idempotent and moved incorrect common data from
headers into a related source file.  (This is the only change to locore.s).
Also fixed pg() to be properly declared and use stdargs.
1993-11-07 17:41:36 +00:00
wollman
facbbe496c Fixed comment. 1993-11-07 17:40:05 +00:00
wollman
e31f27fb90 Try to be a little smarter about touching the date on assym.s, so that
if something changes which doesn't affect it, locore doesn't have to get
rebuilt.  This is at the cost of a genassym and a cmp in every compile,
until someone can figure out how to make `make' smarter itself.
1993-11-07 16:46:33 +00:00
wollman
3895123653 Added some more defines that weren't there before. Also bumped up
symtab space again.
1993-11-07 16:44:40 +00:00
wollman
c3e07d8db4 Needed to bump up SYMTAB_SPACE again. (This really should be done by the
boot loader...)
1993-11-07 05:26:17 +00:00
wollman
4b075d2d89 Added CWARNFLAGS and COPTFLAGS defines to Makefile so that we can easily
test various warning and optimization compiler flags without modifying the
Makefile. (From my patch set.)
1993-11-07 04:41:11 +00:00
dg
89898c034b splnone()'s in the trap code can be deadly. Save/restore previous priority
instead.
1993-11-04 15:05:41 +00:00
ache
a75aa5402e DST offset calculation removed, it is wrong in any case. 1993-11-04 01:56:31 +00:00
ache
c71cb496fa Russian keymap (RUKEYMAP) changes:
New syscons keys added: NEXT, DBG, RBT
AltGr Shift removed from right Alt
Shift state on -,+ keys exchanged
1993-11-04 01:49:20 +00:00
paul
7f9e326f19 Restored comments that were removed from npx.c using # comment
format rather than /* */, as per advise from Jordan.
1993-11-03 23:32:35 +00:00
ats
308fa63885 Added the option FAT_CURSOR into the GENERIC kernel descriptions for
pccons or syscons usage. Modified comment in LINT for FAT_CURSOR.
Now the FAT_CURSOR can be controlled over the option, instead of hacking
syscons.c and pccons.c.
1993-11-03 20:02:23 +00:00
nate
6b63e50d73 Fixed the reason for wx.c not working. I forgot to keep all the table entries
for the driver in the kernel when NWX was defined.
1993-11-03 18:07:32 +00:00
nate
2edf299714 Added wx driver support 1993-11-03 18:05:42 +00:00
paul
6d8373f3a9 Removed comments from within asm block.
New gas fails to parse comments within asm blocks properly. Simply
remove them until gas gets fixed.
1993-11-03 00:29:19 +00:00
chmr
bdd2e5afa7 Modified the "rude stack hack" that it only applies to addresses within
the stack area and not memory above VM_MAXUSER_ADDRESS.
That way, copyout and friends now work for pages whose page table entries
have not yet been allocated/been paged out.
1993-11-01 11:51:29 +00:00
jkh
6deb924798 Added FAT_CURSOR and STAR_SAVER settings. 1993-10-31 00:21:46 +00:00
jkh
326f92d7d4 Add example entries for syscons screen savers and cursor shape. 1993-10-31 00:20:35 +00:00
jkh
10ecafe61a Now that STAR_SAVER and SNAKE_SAVER are kernel options, add code
to make sure that bad things don't happen if both are (incorrectly)
defined at once.
1993-10-31 00:19:01 +00:00
jkh
7967c5b8ed Fixed bug where syscons.c wouldn't compile if DDB was enabled.
Removed FAT_CURSOR and STAR_SAVER as compiled in defaults - these should
be kernel options!
1993-10-31 00:09:02 +00:00
dg
f0b1e94bf1 Whoops, the algorithm I last used was messed up - I left off parans, and
should have used PGSHIFT instead of PAGE_SHIFT.
1993-10-29 09:06:56 +00:00
dg
1cf0cc74f4 Change filesystem buffer cache size calculation to be less for 4MB
machines (now 20% of all memory after the first 3MB). This is necessary
in order for 4MB machine to be able to rebuild the entire source tree
and not run out of physical memory because of fixed memory requirements
of processes and kernel VM.
1993-10-29 08:58:34 +00:00
jkh
ce47804b9f Update to latest Linux sound driver 2.0 1993-10-29 03:44:07 +00:00
rgrimes
c5a61da88b Put back the $Id$ strings 1993-10-28 06:15:14 +00:00
rgrimes
5d128f3da8 Put back the $Id$ string 1993-10-28 06:11:38 +00:00
jkh
c914abf4aa This is syscons version 1.1 1993-10-28 05:27:36 +00:00
rgrimes
fc70a4f648 Fix for 1542C support, it turns out that the 0x8 extended bios flag is only
set when extended translation is turned on, thus we need to do the mailbox
unlock command no matter what value is in the extended bios flag byte as
the other extensions (ie, > 2 drive support) cause the same problems.

The code has been changed to ALWAYS unlock the mailbox interface on ALL
1542C class boards.
1993-10-28 02:38:36 +00:00
nate
bc9e7efe61 Added character 21 to conf.c table for future ps/2 mouse driver. This
finishes the install of the device short of adding the driver itself to
i386/isa/psm.c
1993-10-26 22:25:20 +00:00
nate
fbbc42a492 Bad kludge to work around the alternative wd driver problems 1993-10-26 21:27:07 +00:00
nate
b2c114a921 Added alternative wd driver (called wx due to device name limitations)
This will be removed when a single driver that works on all hardware can
be verified
1993-10-26 21:26:19 +00:00
nate
c9630f19bd Added ps/2 mouse driver file to finish off what Jordan started before
The driver will have to come after it's probe routine has been written.
1993-10-26 21:24:34 +00:00
jkh
313b638950 From: Amancio Hasty Jr <hasty@netcom.com>
Make sure calls to gus_voice_irq() are protected from interrupts.
1993-10-24 19:38:06 +00:00
paul
b9f46ecfd6 Removed #define ISDEBUG from top of file, should be config option
to get debugging code compiled in.

Moved bpfilter.h out of ifdef'd code so it can be seen.
1993-10-24 04:42:32 +00:00
paul
70dfbc0e44 Moved allocation of memory into is_attach so that malloc gets
called once when card is attached. Solved problem with driver
getting hosed when a reset takes place.

Removed init_block array -- now part of malloced memory. No more
static declarations left.

Added code so that debug ioctl actually does something.
ifconfig is0 debug will now switch on debugging code.

Other general cleanups.
1993-10-24 04:27:00 +00:00
jkh
4fb0b7a27f Needed to bump symtab space even more (to 102452). 1993-10-23 22:55:43 +00:00
jkh
146223428e Enable mpu401 driver. 1993-10-23 22:21:00 +00:00
jkh
58acebbd89 Enabled all sound drivers by default. 1993-10-23 22:20:47 +00:00
jkh
abc78b3565 Fixed up to at least compile (can't test) properly for FreeBSD 1993-10-23 22:13:42 +00:00
jkh
efbf1dafe4 Moved sound driver from major 21 to major 30 1993-10-23 22:13:08 +00:00
jkh
1383b9ccfe Removed comments from LINT file, left small example for SoundBlaster
in its place and moved commentary into /sys/i386/doc/sound.doc
1993-10-23 21:21:52 +00:00
jkh
28cd21a9ba Made kernel printf's more closely follow standard BSD convention. 1993-10-23 21:11:49 +00:00
rgrimes
05897fbde5 Put the sound stuff in alpabetic order. 1993-10-23 20:31:17 +00:00
jkh
6fff94e5f0 This is the Linux generic soundcard driver, version 1.0c. Supports
SBlaster/Adlib/ProAudio Spectrum/Gravis/etc cards.  This is a BETA test
driver, please test it and get back to me!
1993-10-23 10:55:52 +00:00
jkh
47553b3ec6 Soundcard driver include file (/usr/include/machine/soundcard.h) 1993-10-23 10:50:21 +00:00
jkh
bc10e75fdd New soundcard driver at major device 21 1993-10-23 10:49:24 +00:00
jkh
9019e3218e Add config + files information for new Linux soundcard driver 1993-10-23 10:49:01 +00:00
nate
5c4f191c39 Removed un-necessary dependencies for assym.s 1993-10-23 08:28:17 +00:00
nate
d4033edb0b Reverted back to older version of ./genassym, instead of ./genassym.o
since make depend wasn't picking up any new dependencies.  However, due
to a bug in the old code, the original dependencies weren't being used, so
this version is better than the original and the lastest version.
(And is more readable as well)
1993-10-23 06:46:24 +00:00
dg
788f37f770 * Revision 2.11 1993/10/23 04:21:03 davidg
* Novell probe changed to be invasive because of too many complaints
 * about some clone boards not being reset properly and thus not
 * found on a warmboot. Yuck.
 *
 * Revision 2.10  1993/10/23  04:07:12  davidg
 * increment output errors if the device times out (done via watchdog)
 *
 * Revision 2.9  1993/10/23  04:01:45  davidg
 * increment input error counter if a packet with a bad length is
 * detected.
1993-10-23 04:52:41 +00:00
nate
da7778d34f Updated LINT to have the mse0 config line 1993-10-19 19:49:24 +00:00
nate
2d3f6b81db This is my patched version of a busmouse driver originally by Rick Macklem
(rick@snowhite.cis.uoguelph.ca).  I am currently using it with a Microsoft
InPort busmouse, under FreeBSD Epsilon.  I hadn't planned on supporting it,
but I have patched it a few times, and I guess this is now the de facto
reference version, so send me any problems or improvements.

                                                        - Gene Stark
                                                          stark@cs.sunysb.edu
                                                          October 9, 1993
1993-10-19 19:46:49 +00:00
rgrimes
22b3b00902 Add ie0 to standard kernels, this is the ATT starlan/ethernet driver
from Garrett Wollman.
1993-10-19 01:28:09 +00:00