Commit Graph

18240 Commits

Author SHA1 Message Date
is 3c0c2ec93b Don't assemble _fpemuli: unless FPU_EMULATE is defined (by Thorsten Frueauf).
While here, remove a comment which should have gone months ago.
1997-07-17 16:22:54 +00:00
cgd b79d7b9bb1 * clean up the way APMDEBUG and DEBUG are treated. defining either will
get APM debugging code compiled in.  also, redo the way APM debugging
  printfs are invoked, making sure they're always compiled in if debugging
  is enabled, but printing them only if the appropriate bits in the
  'apmdebug' global variable are set.
* clean up function prototypes (alphabetize in each category, get rid
  of 'STATIC' and make them always static since kernels shouldn't have
  static symbols stripped anyway, and debugging kernels definitely don't),
  group global variables together and note that they're used as globals).
* Export the following as option-settable and patchable global variables:
	apmdebug	flags word that controls which APM debugging
			printfs are printed, set with APMDEBUG_VALUE.
	apm_enabled	boolean that indicates whether or not APM should
			ever be configured on the machine.  true by
			default, false if APM_DISABLE defined when
			compiling.  this option exists so that users
			whose systems crash when APM is enabled can
			disable it with a patchable kernel variable, and
			therefore don't necessarily have to compile
			a custom kernel as often.  With this option set,
			a check is still done to see if the APM BIOS
			exists; this variable should be used to prevent
			the kernel from ever attaching to the APM BIOS.
	apm_force_64k_segments
			boolean that tells segment setup code to always
			use segments with 64k length.  false by default,
			true if APM_FORCE_64K_SEGMENTS defined when
			compiling.  used to just be a compile-time option.
	apm_do_idle	boolean that controls whether or not the APM code
			will try to signal the BIOS that the system is
			idle when in the idle loop.  true by default,
			false if APM_NO_IDLE defined when compiling.
	apm_do_standby	boolean that controls whether or not standby
			requests are ever attempted.  true by default,
			false if APM_NO_STANDBY defined when compiling.
			used to just be a compile-time option.
	apm_v11_enabled	boolean that controls whether or not the driver
			attempts to use APM spec v1.1 features.  If true,
			the driver does (it implements v1.1 of the spec),
			and if false the driver only uses v1.0 features.
			true by default, false if APM_V10_ONLY is defined
			when compiling.  Really, the driver should be
			updated to do APM v1.2 and this option should
			either be updated or go the way of the dodo.
			used to just be a compile-time option.
	apm_bogus_bios	(patchable only) controls a few of the APM segment
			setup features.  (probably should just be a global
			and not patchable.)
* make apm_perror print out the full contents of %ax rather than
  just the error code, in addition to printing out the string corresponding
  to the error code.
* print estimated remaining battery life time as "[<hours>h ]<minutes>m",
  which is actually easily understood, rather than as "<hours>:<minutes>
  minutes", which is not.
* restructure match and attach so that they work as they should, remove
  redundancy, support attaching the APM device but not actually enabling it
  so that APM is attached on systems which have it but on which it's broken
  in some fatal way.
* add more debugging printfs in the apm control device entry points.
* return EOPNOTSUPP when trying to do a standby ioctl if standbys have
  been disabled, rather than returning the less-intuitive ENOTTY.
* rename a few functions for consistency: apmprobe -> apmmatch,
  apm_err_translate -> apm_strerror.
* mark a few serious or annoying bogons XXX so people might look at
  them later.
* KNF (lots of changes!)

Despite this substantial amount of work, this driver still needs a _lot_ of
work.  In particular, the user-land device interface needs to be gutted, and
better support for APM-aware applications and device drivers (i.e. call-backs)
needs to be added (e.g. callback interfaces somewhat like those suggested
by the APM spec).

There are still outstanding known problems with some machines.  The true
source of those problems is not currently known, and could be either the APM
BIOSes of the machines in question or this APM driver.  However, even if the
problems are caused by APM BIOS bugs, they could be more gracefully worked
around in this driver.
1997-07-17 06:30:03 +00:00
veego 76371b8a9d include <m68k/db_machdep.h> to get the prototype for kdb_trap if DDB and
DEBUG are defined and add a cast for the second argument to the
kdb_trap call.
1997-07-17 06:27:08 +00:00
cgd 92723b6027 return either 0 (success) or 1 (failure) from apmcall(), rather than 0 (success) or the whatever happened to be in %eax after the APM call on
failure.  The latter usually would end up being the (nonzero) opcode
placed in %ax before the call, but could conceivably be modified by the
call to be zero.  In any case, 0/1 is much nicer than 0/random-nonzero,
as well as being safer.
1997-07-17 05:15:01 +00:00
jtk ca1bba150a use locator defines in "locators.h" to index cf_loc[] 1997-07-17 03:16:39 +00:00
mark 917e4bdd0b Implement inst_unconditional_flow_transfer as a macro. 1997-07-17 02:28:39 +00:00
jtk 9388f271a9 use locator defines in "locators.h" to index cf_loc[] 1997-07-17 02:12:50 +00:00
jtk d36d6d14ab use locator defines in "locators.h" to index cf_loc[] 1997-07-17 02:01:26 +00:00
jtk 9ed3ea9ab3 use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all *UNK uses in
hpib code with the native names from locators.h
1997-07-17 01:59:12 +00:00
jtk b9370d116d use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all *UNK uses in
vme code with the native names from locators.h
1997-07-17 01:56:29 +00:00
jtk b4777471db use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:52:54 +00:00
jtk 47c4af3536 use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all *UNK uses in
mainbus code with the native names from locators.h
1997-07-17 01:48:35 +00:00
jtk 320892f8db oops, WSCONSCF_CONSOLE should be WSCONSDEVCF_CONSOLE 1997-07-17 01:33:04 +00:00
jtk 594536a71f use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:28:54 +00:00
jtk 37f9c6bd88 use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:17:45 +00:00
jtk a541bca95a use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all
TCCF_*_UNKNOWN uses in tc code with the native names from locators.h
1997-07-17 01:12:41 +00:00
jtk 024b25a651 use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all
EISA_UNKNOWN_SLOT uses in eisa code with the native names from
locators.h
1997-07-17 01:08:46 +00:00
jtk bd611fe5b6 use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all *UNK uses in
isa code with the native names from locators.h
1997-07-17 01:06:27 +00:00
jtk c0f08c42a8 use "locators.h" defines for indices for cf_loc[] and default values 1997-07-17 01:01:06 +00:00
jtk 26414c7820 use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all *UNK uses in
isa code with the native names from locators.h
1997-07-17 00:58:48 +00:00
perry 797652981e More CD quirks, from Dave Huang (pr-3843) 1997-07-17 00:46:50 +00:00
pk 6b12855c49 pmap_extract(): move printf()'s inside debugging brackets. The caller
decides what to do upon finding an absent mapping.
1997-07-16 15:35:23 +00:00
christos 533bf031cd Add RCSID() macro. 1997-07-16 15:16:43 +00:00
hpeyerl 11d5346627 Fix an oops on my part. I commented out some devices in my local copy
of this file.
1997-07-16 13:40:24 +00:00
drochner a0b2749901 Recognize Cirrus Logic GD5434 VGA chip. It can be treated like a GD5430.
(closes PR port-i386/2638)
1997-07-16 12:44:55 +00:00
kleink b2bead304f Fix a misplaced brace which caused NAT list corruption; from Dave Huang
<khym@bga.com> in PR kern/3872.
1997-07-16 11:06:07 +00:00
mark 00b3633e19 Disable the SUBDIRS= lines as we have no subdirs to build. 1997-07-16 02:46:37 +00:00
is ae6e3e81bc Amiga glue code for the m68k fpu emulation subsystem.
XXX This (the m68k FPE, not the glue code) is known to be broken for
68LC040/68040V and 68LC060 cpus. This is also the reason we don't
bother to add options FPU_EMULATE to the DRACO configuration file, as
DraCos only come in 68040V (very few) and 68060 variants.
1997-07-16 00:01:51 +00:00
fvdl 06b1c0c4aa Recognize MMX P5 by it's model number, not by the cpuid flag. Otherwise
we also get "Pentium II with MMX" which is like saying "Pentium with FPU".
Also add one more entry for a K5
1997-07-16 00:01:49 +00:00
is 006b61726d Amiga glue code for the m68k fpu emulation subsystem.
XXX This (the m68k FPE, not the glue code) is known to be broken for
68LC040/68040V and 68LC060 cpus. This is also the reason we don't
bother to add options FPU_EMULATE to the DRACO configuration file, as
DraCos only come in 68040V (very few) and 68060 variants.
1997-07-16 00:01:44 +00:00
fvdl 286a3374b9 Give the hash lock a better name, it's not just ffs that uses it. 1997-07-15 19:08:18 +00:00
scottr 3284008cff Add DrHw value for the Macintosh Display Card 1997-07-15 15:45:38 +00:00
drochner b401c3f024 Use include files from kernel source, not userland. Create a
"machine" link automatically for this.
1997-07-15 13:02:04 +00:00
drochner 6b02672ee8 Cleanup include file usage: Avoid user space headers, use
<sys/types.h> instead of <sys/param.h> where possible.
1997-07-15 12:45:22 +00:00
drochner d6a6f815ee Add boot ROM support for 3c905 TX ethernet card. 1997-07-15 11:23:04 +00:00
leo 9eb01ced39 Install key-maps only and forget about the program generating them. 1997-07-15 08:42:21 +00:00
leo bacc863c24 Add atari. 1997-07-15 08:40:02 +00:00
leo ec7ce2c9f8 Isabus support. 1997-07-15 08:25:39 +00:00
leo 3adf93ecde isabus support 1997-07-15 08:17:39 +00:00
augustss 5b3b56dd1a Garbage collect some unused routines. 1997-07-15 07:51:04 +00:00
augustss 8727da130b In the name of backwards compatibility AUDIO_ENCODING_LINEAR has been
renamed AUDIO_ENCODING_SLINEAR and AUDIO_ENCODING_LINEAR reverts to the
NetBSD 1.2 sematics.  A kernel with COMPAT_12 defined will accept
AUDIO_ENCODING_LINEAR and treat it as before, without COMPAT_12 it
will be rejected.
1997-07-15 07:46:04 +00:00
scottr ec40091111 In nubus_print(), always print the NuBus slot number. Also, refine it so
that when no driver matches, our output is a little more consistent with
existing practice.
1997-07-15 07:43:12 +00:00
leo 38071fa916 Use '0' instead of NULL when talking about int's 1997-07-15 06:51:15 +00:00
leo ce96a8a2e4 Implement bus_space_subregion() 1997-07-15 06:49:56 +00:00
leo de78b4c0e9 Garbage collect bell-ioctl's. 1997-07-15 06:48:05 +00:00
fvdl c437b55ca7 A filesystem may not support VFS_VGET (like msdosfs). If it doesn't,
the server code would always skip all dir entries for a readdirplus
operation. To avoid endlessly retrying clients, try VFS_VGET first,
and it it fails, return NFSERR_NOTSUPP so that client will fall
back to normal readdir operations.
1997-07-15 01:07:47 +00:00
scottr 034bf6b188 Clean up some DIAGNOSTIC messages: use %x to display the slot number. 1997-07-14 23:05:35 +00:00
kleink 4193b52786 Do not compile in satlink unconditionally; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-i386/3864.
1997-07-14 21:09:07 +00:00
fvdl 2c5bca83ed Don't assume that pointers into mbuf data remain valid across nfsm_dissect.
In readdirplus, don't keep such pointers but store the file attributes
in a variable instead until they are needed. Change nfsm_loadattr*
a bit so it can accept a direct pointer to an nfs_fattr structure.
1997-07-14 20:46:20 +00:00
thorpej e296b3b344 New bus error/address error trap handlers, code lifted from mac68k
port, which is lifted from amiga port, plus some changes from me:
- Add support for the HP MMU to the 020/030 bus/address error handler
  (mostly lifted wholesale from the old code).
- Rename addrerr and buserr to busaddrerr2030.  The new name reflects that
  these functions are specific to the 68020 and 68030, and that the same
  handler function is used for both vectors.

The vector table is patched once we know our CPU type, before the MMU
is enabled.  In the event that we're running on a CPU that we're not
configured for, simply invoke the PROM's "reboot request"; we have no
hope of running in the event of a config botch, since we need working
a working bus error handler for console initialization.

These new functions optimze for common-case page faults, eliminate
many run-time checks, and are sharable.
1997-07-14 19:18:31 +00:00
veego 89c8d10a08 Updated for the use of ${FILES}. 1997-07-14 15:07:04 +00:00
veego 4a8fd6d9af s/MAP/FILES/ 1997-07-14 15:05:12 +00:00
veego def2a88260 s/BOOTBLOCKS/FILES/, remove the no longer needed install: rule and set the
BINDIR to /usr/mdec.
1997-07-14 15:03:05 +00:00
oki 841be646de Use genassym.cf to make assym.h 1997-07-14 14:42:52 +00:00
thorpej b88b183ab5 Don't have kernel vs. non-kernel versions of _ENTRY(); there's no
reason to omit the .type directive in the kernel case.
1997-07-14 07:44:56 +00:00
hpeyerl 6d4fa106d1 Move satlink0 to ALPHA. 1997-07-13 21:24:14 +00:00
hpeyerl 135cc571fc Satellite receiver driver for ISA cards from PlanetConnect by Jason and
Herb for Canada Connect Corp.
1997-07-13 19:33:29 +00:00
hpeyerl 16371837ec Satellite receiver driver for ISA cards from PlanetConnect by Jason and
Herb for Canada Connect Corp.
1997-07-13 19:32:00 +00:00
hpeyerl 080d346785 Add Satellite receiver driver for ISA cards from PlanetConnect by Jason and
Herb for Canada Connect Corp.
1997-07-13 19:12:06 +00:00
hpeyerl d1f899bc4c Satellite receiver driver for ISA cards from PlanetConnect by Jason and
Herb for Canada Connect Corp.
1997-07-13 19:09:46 +00:00
leo 198bd713f2 Generate assym.h dependencies when making 'depend'. 1997-07-12 22:07:36 +00:00
thorpej d9d9b2f705 Remove a comment that has not been applicable for some time. 1997-07-12 19:03:11 +00:00
perry 57e0b3811a regen 1997-07-12 16:53:10 +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
perry 2bf925fe32 add a couple of new device codes (from Jason Wright, pr 3853) 1997-07-12 14:41:05 +00:00
scottr 7a1c9e3d1a Remove a stowaway that got in on the last commit. 1997-07-12 06:13:08 +00:00
scottr 0dd96574d4 Fix from Dave Huang <khym@bga.com> for my exception vector botch for
the '040 and '060 in initcpu().  "D'oh!"
1997-07-12 06:07:24 +00:00
scottr a628a48bba Cosmetic changes to intvid_info[] initialization 1997-07-11 06:02:26 +00:00
is c7e3ab1310 - Fix gain control.
- play mono stuff on all channels.
1997-07-10 22:18:42 +00:00
mellon eb51f51303 Convert spaces to tabs following option declarations 1997-07-10 20:46:37 +00:00
kleink 49324f585c Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.
1997-07-10 18:14:08 +00:00
scottr a41c255aa0 Update for vm/lock.h -> sys/lock.h change 1997-07-10 18:00:40 +00:00
fvdl b245497f3e model 6, step 3 -> Pentium II, recognize it. 1997-07-10 16:02:24 +00:00
veego 3feb40be26 Restore the define of UPAGES. 1997-07-10 08:23:30 +00:00
veego 1450ec3f1b Restore the define of NPTEPG. 1997-07-10 08:23:03 +00:00
veego 1c599835b4 Restore the defines of UPAGES and NPTEPG. 1997-07-10 08:22:36 +00:00
veego 78996821fa Move the defines of UPAGES and NPTEPG back to the MD param.h, execpt that
the sun3[x] doesn't use NPTEPG.
1997-07-10 08:22:09 +00:00
cgd c5d237fec8 kill the apm_enabled softc member I added, and instead use apminited,
a global variable (yech, but i'm not out to save the world) which had
the same meaning and ended up being stealthily set in pretty much
the same place.
1997-07-10 04:15:39 +00:00
cgd ceb9be409e figure out which space we're using in i386_memio_{map,alloc,unmap} by
doing 'if (tag == ...) else if (tag == ...) else panic' rather than
by doing a switch.  This makes life easier for people who need
the i386 bus_space_* functions to access spaces other than the normal
memory and I/O spaces, because it allows them to define an i386
bus_space_tag_t as a pointer to a function table, rather than just
an int.  (They could define it as an int and cast it to a funtion
table pointer, but I think that's bad karma, and this change doesn't
hurt.)
1997-07-10 04:07:00 +00:00
cgd d2e314622d undo the change done (at my suggestion) in rev 1.236. That is,
mark all of 0 -> IOM_BEGIN as used, even though there are some regions
which are left for use by the BIOS (namely, the first 4k page and the
area after biosbasemem*1024 but before IOM_BEGIN).  Drivers wishing to
manipulate these areas should map them specially, with _i386_memio_map()
rather than bus_space_map() or i386_memio_map().
1997-07-10 03:10:58 +00:00
cgd cba7918db6 (1) add a flag to the softc to indicate that the APM device may be
disabled even if it's attached.  If disabled, ENXIO on open.
(2) in the case where the code32 segment len overflows the I/O hole,
    instead of giving up truncate it.  (In other words, revert
    change (2) in rev 1.21 which i suggested mistakenly.)
(3) map bios data space in the 0->640k range with _i386_memio_map()
    rather than with bus_space_map(), so that no accounting checks
    are done.  The checks which are done to make sure that allocation
    in this range is safe are sufficient.
(4) check the return value from _i386_memio_map(), and if it indicates
    an error disconnect from the APM BIOS, print an error message,
    and return without having marked the device 'enabled'.
1997-07-10 03:07:29 +00:00
cgd 9989c90b52 rename i386 bus_space_{map,unmap,subregion,alloc,free} implementation
functions (which only work on memory and i/o space) to i386_memio_*,
and make bus_space_* in bus.h be #defines which invoke them.  This makes
life easier for people who need to define the all of the bus_space functions
so that they work on spaces other than memory and I/O space.  Also, add
an _i386_memio_map function which is like i386_memio_map but doesn't do
the extent map checking or allocation.  _i386_memio_map and i386_memio_*
are for use only by machine-dependent code.
1997-07-10 02:36:44 +00:00
is e76096387d Make multichannel output work. The cc parameter to hw_start_output is
a byte counter, it seems. Somebody should really write man 9 audio_if.
While here, make debug output invisible #ifndef AUCCDEBUG.
1997-07-09 22:37:08 +00:00
pk f3dc7ce0f4 Use setpgt4m(), not bzero(), to initialize a pmap's first-level page table.
Fix a slightly misleading comment.
1997-07-09 21:51:26 +00:00
matthias bb66aaeadc * Make it possible to disable disconnect/reconnect on a per target base.
* Eliminate disable interrupts in ncr_pdma_in. No more fifo overflows at
  high baud rates :-) (Thank's to Ian Dall for this).
1997-07-09 19:28:25 +00:00
matthias c5e3d310a6 When booting from a md device set RB_DFLTROOT in boothowto. 1997-07-09 19:28:20 +00:00
matthias 1c1450c97a Remove __VM_PMAP_HACK. 1997-07-09 19:27:54 +00:00
matthias ed60e6a598 This wasn't in use for several years now. 1997-07-09 19:27:33 +00:00
matthias 147aa6816f Remove __VM_PMAP_HACK. 1997-07-09 19:26:34 +00:00
leo 1c21c4994d Make sure the card is probed once. 1997-07-09 14:38:02 +00:00
leo 89325630dd Introduce 'bootversion' in locore.s. Check this to decide if installing
a bootstrap with the running installboot makes sense.
1997-07-09 14:31:12 +00:00
thorpej b4ab2c89f5 Oops, fix a slight oversight, and remove T_MACHCHECK handling (some
code for this was in my private tree at one time, and I must have
forgotten to g/c the constant from trap.h).  Reported by
enami tsugutomo <enami@but-b.or.jp>, PR #3845.
1997-07-09 07:01:29 +00:00
jtk 8a210e82b2 fix mixer goof on GUS max 1997-07-09 03:03:21 +00:00
pk 94289e9990 In the turbosparc's "match" function, test for the `master' CPU, in case
someone ever builds a multi-processor turbosparc module.
1997-07-08 22:14:42 +00:00
pk 37d77087e8 Check `b_dev' field in bdwrite() before using it as an index into bdevsw[].
`b_dev' value of NODEV happens and is normal if the buffer is on its way
to the underlying device strategy function for the first time.

Also, MFS sillily uses a major device number (255) which cannot be used
to index bdevsw[]. Check marked with XXXs.
1997-07-08 22:03:30 +00:00
pk b7b1073fd0 In bread() and breadn(): if getblk() returns a DELWRI buffer, don't
call biowait() but return `success' immediately. We can return `success'
because buffers with recorded errors are not returned by getblk().
(Takes care of PR#3694).
1997-07-08 21:42:59 +00:00
christos fd464a1a5d Correct prototype for __errno(). 1997-07-08 20:23:42 +00:00
pk 8eae6eb3b7 Fix a pasto in kvm_uncache() (sun4m)
Add TLB flushes when removing segments/regions.
Flush cache appropriately when cache-tag protection bits need invalidation.
1997-07-08 20:02:47 +00:00
pk 27d22f8faf Add FPU version 5 (turbosparc on-chip).
Re-arrange cpuattach() a bit so that more initialization is done before
dealing with the FPU.  Some more work is still required to de-couple
FPU detection from the autoconfiguration attach code in SMP systems.
1997-07-08 19:58:14 +00:00
mark ec553ec8c0 New version of the ARM FPE core built. This core does not have all the
builtin veneer code. Instead this veneer code has been moved to kernel.
This removes the need for any runtime fixups of the fpe.
1997-07-08 19:41:28 +00:00
thorpej 4e8a131f3a When allocating space used by physical memory from the iomem extent,
use a value derived from biosbasemem, rather than a constant.  Pointed
out by Chris Demetriou <cgd@netbsd.org>
1997-07-08 17:55:44 +00:00
kleink 96914606be From sun3:
Correct handling for Trap #2 in SunOS executables,
 now that we know it is supposed to flush the cache.
 (Was thought to be "some obscure FPU operation".)
1997-07-08 16:56:31 +00:00
veego 5e57562634 New adosfs lkm, which will only be build on the Amiga. 1997-07-08 16:46:24 +00:00
veego 91a6533462 lkm for the adosfs. From Matthias Scheler in pr#3726 1997-07-08 16:44:49 +00:00
kleink c2b4ef7d65 Fix a masking botch from last commit; make this more intuitive. 1997-07-08 09:11:29 +00:00
mrg 02e5531ec7 put back IPFILTER_DEFAULT_BLOCK, as documented in options(4). 1997-07-08 05:54:02 +00:00
christos 2b0c0d95ab Make this work for SETUIDSCRIPTS:
- include <sys/stat.h> for S_ISUID, S_ISGID
- fix bug where shortcut to fail would use uninitialized variables.
- elide other warnings.
1997-07-08 02:32:02 +00:00
fvdl 5d96e77ef6 Get locking around inode hashing right. 1997-07-07 23:37:36 +00:00
fvdl acdbbd5215 Do locking around nfsnode hashing (perhaps even right this time!) 1997-07-07 23:34:55 +00:00
pk 99edebd566 fbrcons_{rows,cols} helper functions. 1997-07-07 23:31:30 +00:00
pk af86c62d61 Get console tty size from raster console if applicable. 1997-07-07 23:30:22 +00:00
veego 29fcbcb000 Use FR_PASS for IPF_DEFAULT_PASS. This can be overwritten with an
options IPF_DEFAULT_PASS=FR_BLOCK in your config file.
1997-07-07 23:08:22 +00:00
cgd 5c2a76b304 fix static inline functions' prototypes so they're correctly marked
'inline' as well as static.  mark prototypes for static inline functions
as possibly unused (with __attribute__ ((unused))), to avoid generating
warnings when compiling without optimization but with most ports'
default warning flags.  Clean up prototype list spacing, and make it more
consistent.
1997-07-07 22:52:17 +00:00
cgd 6ac982f2a0 mark prototypes for static inline functions as possibly unused (with
__attribute__ ((unused))), to avoid generating warnings when compiling
without optimization but with most ports' default warning flags.
1997-07-07 22:45:34 +00:00
fvdl 413872caa0 Get rid of (void) cast to KFREE, as it may be a macro, in which case
the cast will be a syntax error.
1997-07-07 22:21:21 +00:00
pk 7a959f1752 Add `maxusers' line and set it to 32. 1997-07-07 21:54:51 +00:00
pk 42f6c894f8 Raise max maxusers to 1024 1997-07-07 21:53:43 +00:00
phil ccfe711608 Protect against double inclusion. PR 3524. 1997-07-07 20:57:46 +00:00
pk 0360275f33 Clear relevant `cpuinfo' fields upon detection of a cloaked TurboSparc. 1997-07-07 20:43:25 +00:00
cgd fce829ca4b mark prototypes for static inline functions as possibly unused
(with __attribute__ ((unused))), to avoid generating warnings when
compiling without optimization but with the default warning flags.
1997-07-07 20:37:34 +00:00
cgd c96fac46ea update for new vnode_if.sh 1997-07-07 20:19:54 +00:00
cgd 6542ece8e1 mark prototypes for static inline functions in the generated files as
possibly unused (with __attribute__ ((unused))), to avoid generating
warnings when compiling without optimization but with most ports' default
warning flags.
1997-07-07 20:17:36 +00:00
pk 2d50be8cb3 Add `turbosparc_getfaultstatus()' to be used instead of the generic srmmu item. 1997-07-07 20:06:42 +00:00
jonathan 1490cbcf7b Rewrite struct ecoff_symhdr using the same field ordering as GNU
binutils and the MipsCo toolchain, not the Alpha ordering (which has a
block of int32_t symbol counts and a block of long offsets) .
1997-07-07 19:37:33 +00:00
phil 511baacef4 Provide better filter validation. PR 3366. 1997-07-07 18:18:28 +00:00
pk 3c1b9ba29b Install media functions only if something useful can be returned. 1997-07-07 16:28:44 +00:00
drochner 64cd693ada Don't use private copy of old netinet/if_ether.h.
Use <net/if_ether.h> for ethernet specific definitions, and insert private
definitions for ARP if needed. (The new ARP macros in <net/if_arp.h> are
not used because they create larger code, and we really don't need more
than ethernet/ip support here.)
1997-07-07 15:52:49 +00:00
fvdl d9e3ab6bcb Revert until I have time to fix it today (lock applied wrongly). 1997-07-07 11:50:49 +00:00
fvdl acffafa288 Oops, I messed up the lock. Reverting it until I have time to fix it,
to avoid people getting trouble after the supscan hits.
1997-07-07 11:47:06 +00:00
fvdl 5a4803bc55 XXX - some userland code includes this, needing <sys/time.h>, so
include it, for the time being.
1997-07-07 10:57:34 +00:00
hannken bcb9e18784 Fix bad parentheses in `getcpuinfo()'. 1997-07-07 08:44:01 +00:00
jonathan 65e2c70353 Force write-back of D-cache after doing DDB writes on mips3. Flushing
the Icache is not sufficient: a mips3 can write a new insn into
writeback L1 Dcache, leaving stale instructions in the mixed L2 cache.
1997-07-07 04:55:27 +00:00
jonathan 919bc0ce92 Typo in RCS id. 1997-07-07 03:57:55 +00:00
jonathan d1ec048977 DDB for mips.
Add DDB interface to /sys/arch/mips/mips..
  Rework heuristic stack traceback to work with DDB.
  Add hooks  to print exception log from DDB.
  Add hooks from pmax console drivers:   call Debugger()
  after break from serial console, or 'DO' key from LK-xxx.
1997-07-07 03:54:24 +00:00
pk 27434aef27 Follow lock changes (DEBUG => LOCKDEBUG). 1997-07-06 23:57:16 +00:00
pk 4846e5ba47 Adjust for generic lock changes. 1997-07-06 23:52:52 +00:00
is 487476c2a9 Implement the RTC_OFFSET kernel option/rtc_offset variable for the Amiga port.
To get the old behaviour, set options RTC_OFFSET=0 in your kernel configuration
file.
1997-07-06 23:17:53 +00:00
fvdl 5dec49d28c There appear to be spinlock bugs in the VM code. They are not a problem
now, as we're always one on CPU (they will be later, though). With DEBUG,
they cause a lot of output, so DEBUG -> LOCKDEBUG for now.
1997-07-06 22:53:14 +00:00
fvdl 6eecd789e6 There appear to be spinlock bugs in the VM code. They are not a problem
now, as we're always one on CPU (they will be later, though). With DEBUG,
they cause a lot of output, so DEBUG -> LOCKDEBUG for now.
1997-07-06 22:51:59 +00:00
ragge 759763742b Remove __VM_PMAP_HACK. 1997-07-06 22:38:22 +00:00
thorpej ba90103dd6 The fingerprint of (*fr_checkp)() is the same if compiling in kernel
or user code.
1997-07-06 22:32:34 +00:00
is 5e6f97d4ef A first hack at DraCo real-time clock support; only reads clock, currently.
Also only whole seconds are used (while the hardware provides 1/256 seconds).
1997-07-06 22:27:19 +00:00
pk f02db5d4f6 Turn off microsparc II compatibility bit in Fujitsu turbosparc processors. 1997-07-06 22:23:37 +00:00
is 3040e9247c * Command code definitions for the Dallas Semiconductor series of chips which
connect to their 1-wire bus like the DS2404 "EconoRAM Time Chip"
- and -
* Interface function definitions for this kind of chips. Currently only
low-level byte_read and _write, implenented as inline functions.
This functions take a struct ds_handle * (also defined here), which contains
pointers to bit-read/write and reset functions.
Eventually, prototypes for memory-access functions should go here, and the
1-wire bus should be made a BSD auto-configuration bus.
1997-07-06 22:22:01 +00:00
pk 0ab67aca5d Define the turbosparc's processor configuration register. 1997-07-06 22:21:11 +00:00
thorpej a6c52a705c Fix a case where an error condition wouldn't be indicated in the dispatch
routine.  A few minor KNF'ish stylistic changes while I'm here.
1997-07-06 22:19:43 +00:00
thorpej 5b434b6e72 Under no circumstances should we #define iplread to an error stub; ip_fil.c
already has the correct code to return ENXIO if logging is not enabled.
1997-07-06 22:13:49 +00:00
thorpej 928ff81b87 Need ip_auth.o 1997-07-06 22:12:56 +00:00
pk c4e35e2f8b Have a patchable variable `ignore_bogus_traps' (0 by default) that
controls whether or we panic when receiving an unhandled trap.
1997-07-06 21:34:45 +00:00
pk bbb57cadb4 Use the module info fields `cputype' and `vactype' to hold a processor
family's type and cache information. This can be optionally modified
by the associated `match' routine.
1997-07-06 21:18:27 +00:00
pk 55a6f97322 Add VAC_UNKNOWN to `enum vactype'. 1997-07-06 21:15:14 +00:00
pk 81469e565e Add two more fields (`cputype' and `vactype') to the module info. 1997-07-06 21:14:25 +00:00
christos 3de323b091 Fix printf formats. 1997-07-06 19:32:39 +00:00
fvdl b362aa16be Put lock around inode hashing, because getnewvnode or MALLOC might block,
creating race conditions.
1997-07-06 12:43:43 +00:00
fvdl 1680996881 Put lock around nfs node hashing to avoid race conditions, as MALLOC
or getnewvnode may block.
1997-07-06 12:42:06 +00:00
fvdl 6d77e0b4bb Move kern_lock.c to kern/ 1997-07-06 12:40:30 +00:00
fvdl 206e9582ef Move lock.h and kern_lock.c to their rightful places, as in Lite2. Make
the VM code use the new interface.
1997-07-06 12:38:25 +00:00
fvdl 8f8988628d Add NetBSD RCS Id, and a few minor changes to make it compile. 1997-07-06 12:35:33 +00:00
fvdl eb5b4ac910 Add lock count fields to proc structure. Always define NCPU to 1 for now
in lock.h
1997-07-06 12:32:38 +00:00
pk 48ad000318 Slight optimization when pv_unlink'ing last entry (suggested by Eric Fair).
Use MR4() macro where appropriate.
1997-07-06 12:29:54 +00:00
pk c3af302842 Use setpgt4m() in setptesw4m(). 1997-07-06 12:22:39 +00:00
fvdl f93a04da47 Import Lite2 locking code 1997-07-06 12:19:53 +00:00
thorpej e0acb98b94 Fix an old and obscure TCP bug, brought to my attention by Bill Fenner,
fixed in FreeBSD by John Polstra:

Fix a bug (apparently very old) that can cause a TCP connection to
be dropped when it has an unusual traffic pattern.  For full details
as well as a test case that demonstrates the failure, see the
referenced PR (FreeBSD's kern/3998).

   Under certain circumstances involving the persist state, it is
   possible for the receive side's tp->rcv_nxt to advance beyond its
   tp->rcv_adv.  This causes (tp->rcv_adv - tp->rcv_nxt) to become
   negative.  However, in the code affected by this fix, that difference
   was interpreted as an unsigned number by max().  Since it was
   negative, it was taken as a huge unsigned number.  The effect was
   to cause the receiver to believe that its receive window had negative
   size, thereby rejecting all received segments including ACKs.  As
   the test case shows, this led to fruitless retransmissions and
   eventually to a dropped connection.  Even connections using the
   loopback interface could be dropped.  The fix substitutes the signed
   imax() for the unsigned max() function.

Bill informs me that his research indicates this bug appeared in Reno.
1997-07-06 07:04:34 +00:00
thorpej b19b36aff5 Restore original RCS IDs. 1997-07-06 05:29:13 +00:00
thorpej 7d072d8efa Add new ipfilter files. 1997-07-06 05:14:51 +00:00
thorpej 329a831bd5 Deal with a bogus warning from -Wuninitialized. 1997-07-06 05:14:08 +00:00
thorpej 0feb054b62 - Add a missing #ifdef SOLARIS
- Properly prototype ipfilterattach()/iplattach().
1997-07-06 05:13:40 +00:00
thorpej c68633278f - Add a prototype for fixskip() so that this file compiles.
- Fix, ONCE AGAIN, semantics of ipfilterattach().  This time, not only
  was it semantically broken, it wasn't even close to compiling!
1997-07-06 05:13:00 +00:00
thorpej 3fb8ff16e8 The sheer number of #ifdef's around it should have been a hint that
#include <machine/mtpr.h> isn't something you're supposed to do in
NetBSD.
1997-07-06 05:11:28 +00:00
thorpej ab01c534f6 Fix a bug caught by gcc: add parenthesis to properly group a test. 1997-07-06 05:10:41 +00:00
thorpej 90c43e78e2 Import yet another missing piece of IPFilter 3.2beta1. 1997-07-06 05:02:26 +00:00
thorpej 5a85b0d9fa Import ip_auth.h from IPFilter 3.2beta1; this was missed during the
upgrade.
1997-07-06 04:58:52 +00:00
thorpej 3a3d0fcb0f Add new DDB and KGDB files. 1997-07-06 04:09:45 +00:00
thorpej 55fdd1f6be Add a new line in a printf, for purely cosmetic reasons. 1997-07-05 20:58:30 +00:00
leo cd3ee4b310 If booted with RB_ASKNAME, don't go looking for a root device. 1997-07-05 20:57:40 +00:00
thorpej 2252d1317b Add support for remote serial KGDB. 1997-07-05 20:52:40 +00:00
leo a323500b0f Pull in latest Amiga bus/address error handling. 1997-07-05 20:50:41 +00:00
thorpej 15de91e26d Add a breakpoint() inline, used by DDB and KGDB. 1997-07-05 20:49:46 +00:00
thorpej bbf08442c7 Define the ALTENTRY() macro here. 1997-07-05 20:49:19 +00:00
thorpej bc831d9a96 Add glue for remote KGDB. 1997-07-05 20:48:12 +00:00
thorpej 9ae7db0945 Garbage-collect old KGDB glue. 1997-07-05 20:47:35 +00:00
thorpej 46222f0d29 Split the memory access functions out of db_interface.c, so that they can
be shared by DDB and KGDB.
1997-07-05 20:46:37 +00:00
thorpej f796580395 Machine-dependent portions of remote serial KGDB, for NetBSD/i386. Based
on Matthias Pfaller's NetBSD/pc532 kgdb_machdep.c.
1997-07-05 20:44:57 +00:00
darrenr a7a52d12c8 fix conflicts from import 1997-07-05 05:52:39 +00:00
darrenr 729f0dc597 fix conflicts from import 1997-07-05 05:38:14 +00:00
is 5171612d6c Multichannel output still doesn't work, but while working on it, I repaired
the double buffering code, and setting a couple of other parameters works now.
1997-07-04 21:00:15 +00:00
is e03fce55ed addql does set condition codes, so we are not allowed to put it in between
the andl and the jeq.
Mea maxima culpa.
1997-07-04 20:52:50 +00:00
drochner 8c0a9bab00 Don't cast 64bit (off_t) file sizes to vm_offset_t (32bit on many
architectures), truncate them intelligently instead.
The truncation is done centralized in vnode_pager.c.
This prevents from wrap-over effects when parts of large (>2^32 byte) files
are mmapped.
Don't allow to mmap above the numerical range of vm_offset_t.
This is considered a temporary solution until the vm system handles the
object sizes/offsets more cleanly.
1997-07-04 20:22:09 +00:00
drochner aa015962db Since there is a "%qx" printf format, don't truncate to long for
debug output.
1997-07-04 19:22:48 +00:00
drochner a8ac47dd1b Fix syntax error which appeared #ifdef DEBUG ("end[]").
Simplify the heap location stuff.
1997-07-04 18:47:25 +00:00
drochner d9fbb6e1eb Catch errors from underlying reads, ie where oread() returns -1.
(Original code used fread() which never returns -1, so this case was
not handled.)
1997-07-04 18:45:11 +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
drochner 41c3159f16 Emulate old bootblocks better: Use type of boot harddisk, extracted
from disklabel, as default.
(Pushed by Darren Reed <darrenr@cyber.com.au>:-)
1997-07-04 10:52:44 +00:00
scottr 9fc7759ee2 Optimize the bus error handlers a bit; save a couple cycles by dropping
through a branch rather than taking it in the case of an MMU fault,
which also has the desirable side effect of possibly avoiding an
I-cache miss.
1997-07-04 04:49:15 +00:00
pk aff11374d7 Defer setting the CACHEPAGETABLES flag until cache_enable(). 1997-07-02 14:52:59 +00:00
pk 94113eb121 Remove a bogon. 1997-07-02 14:39:24 +00:00
jonathan eca6630217 Fix NSCC tests. Use NSCC > 0 (needs-flag) rather than NSCC > 1 (needs-count).
Fix prototypes previously hidden by same.
1997-07-02 13:59:15 +00:00
drochner 0b58e59709 Correct the error message printing for failed boot attempts
("filename" must be processed by parsebootfile() first).
Being here:
- remove the special "#ifdef MATTHIAS" mainloop
- make some "booting..." output match reality
- print '\n' and '\b' more controlled
1997-07-02 13:20:36 +00:00
mikel 7b93ae0fcb if exec_netbsd() fails, indicate what file we were trying to boot.
suggested by Havard Eidnes in PR port-i386/3771.
1997-07-02 04:07:43 +00:00
phil a8597d8143 Report actual disksize on finding a disk.
(From: der Mouse  <mouse@Rodents.Montreal.QC.CA>)
1997-07-02 03:51:25 +00:00
jeremy bbf76eb63e Implement pmap and va caching within C table managers to help speed
up PV->(pmap,va) operations.
1997-07-02 03:23:57 +00:00
cjs 3b3cb5bcff Update comments to show that ed driver on PCI works with 3c90x cards. 1997-07-02 02:44:09 +00:00
scottr d00173ae5a Add support for Portrait Video Card. From SUNAGAWA Keiki
<kei_sun@ba2.so-net.or.jp> in PR 3821.
1997-07-01 19:04:18 +00:00
thorpej 5accaea913 Add support for Elf symbol tables to DDB, written from scratch by me.
Known to work in DDB under NetBSD/alpha.
1997-07-01 18:36:36 +00:00
jonathan da53d70f23 Move generic mips functions setregs(), sendsig(), sys_signal()
to sys/arch/mips/mips/mips_machdep.c.  Delete from pica, pmax machdep.c.

Delint pica machdep.c.
1997-07-01 09:32:13 +00:00
bouyer 77d5755416 Sync with ufs/ufs:
Avoid panic triggered by rename("foo/", "bar/..") (From Mycroft, via christos)
1997-07-01 07:34:03 +00:00
jonathan dfa33cb24e Remove "untested" comments and messages. 1997-07-01 07:21:14 +00:00
cjs 312218482a Add QUIRK_NOTAGS quirk to disable tagged command queuing for particular
drives. Add a quirk entry for HP C372x drives with QUIRK_NOTAGS. Also,
print quirks being used if quirks other than QUIRK_NOSYNC are being used.
1997-07-01 00:41:43 +00:00
jonathan e0bb7d9370 Establish handler for vertical-retrace interrupts.
Use establish-time argument in handlers, to work with multiple framebuffers.
1997-06-30 22:08:58 +00:00
fvdl 1dfdc8999d Immediately return EPERM for a VOP_REMOVE on a directory. 1997-06-30 20:23:56 +00:00
fvdl 3d85c0c28a Return EPERM for an attempt to remove a directory with VOP_REMOVE. 1997-06-30 20:20:31 +00:00
fvdl 9b30a6a4e5 Return EPERM for an attempt to remove a directory with VOP_REMOVE, not EISDIR. 1997-06-30 20:16:31 +00:00
fvdl 822371a987 Return EPERM, not EISDIR for an attempt to remove a directory. 1997-06-30 20:13:44 +00:00
jonathan 8586e62e14 Enable stack tracebacks if MDB is configured. 1997-06-30 14:42:32 +00:00
scottr f2bdde942a Due to reliability problems on some models, back out the more radical of
the pc532/dev/ncr.c-inspired changes; in particular, wait for previous
transfer to complete before starting another, as we used to do.  Retain
splbio() protection and simplified sbc_pdma_in().
1997-06-30 05:24:35 +00:00
ragge 9f009387fc Must grok includes. Also; prettier compile-time printout. 1997-06-29 21:30:09 +00:00
leo d4c5e4e6fe Add code to set pitch and duration of the keyboard bell. (Thomas Gerner). 1997-06-29 20:30:49 +00:00
scottr ea99cc2796 Fix tyop in last; will link 040-enabled kernels now. 1997-06-29 19:54:57 +00:00
scottr 4428f246a1 Split up CPU-dependent bus error/address error handlers. Mostly from
the Amiga port, but with an extension to save the actual fault
address (in m68k_fault_addr) when we catch a bus error.
1997-06-29 19:02:07 +00:00
scottr 6eb0e7c503 Prototype DCIS(). 1997-06-29 18:56:11 +00:00
christos e1130c4e6a tyop 1997-06-29 18:55:36 +00:00
christos eb7327d1ff Add missing braces in initializers. 1997-06-29 18:50:54 +00:00
pk 363c28ce88 Fix typo in last commit. 1997-06-29 18:44:21 +00:00
is 86f86c044c Use function types for vectab, instead of u_int8_t *. 1997-06-29 13:49:45 +00:00
scottr 0b7e64bbfa Update for mac68k_buserr_addr -> m68k_fault_addr change. 1997-06-29 06:10:35 +00:00
scottr 7044c8fd8a Get several cleanup chores out of the way. The code is functionally
identical to the previous incarnation.

 - Update using m68k asm.h macros
 - Move initialization towards the front of the file
 - Rename mac68k_buserr_addr to m68k_fault_addr
 - Reorganize trap 15 handler, similar in structure to -- though not as
   complete as -- the hp300 version
 - Reorganize doboot() for easier integration of external cache, and
   make room for the latter (#ifdef __notyet__)
 - General garbage collection of unused code/data
1997-06-29 06:07:39 +00:00
scottr a3bfbcf80a Remove unused (#ifdef'ed) vector 0 initalizer 1997-06-29 05:52:11 +00:00
scottr be164c61ed Garbage collect bad{,b,w,l}addr() 1997-06-29 00:26:12 +00:00
scottr 494cda5d27 Use <m68k/include/asm.h>. 1997-06-28 23:35:02 +00:00
leo 1f92b460a0 Add 'libsa/atari_stand.h' that defines atari specific things. This allows
for a removal of our own copy of stand.h which was out-of-date by definition.
1997-06-28 21:36:28 +00:00
pk adc8e8d8b0 Accommodate non-VM_PMAP_HACK code. 1997-06-28 19:59:03 +00:00
pk a9b31740a2 Remove __VM_PMAP_HACK. 1997-06-28 19:56:12 +00:00
thorpej b1d65b1d3f Adjust start address here, now that exec() no longer does it for us. 1997-06-28 07:20:25 +00:00
thorpej fee80fcee9 - Fix ZMAGIC image loading.
- Deal with stripped kernels.
- Let machine-dependent code frob the start address.
- General cleanup.
From Matthias Pfaller <matthias@netbsd.org>
1997-06-28 07:17:56 +00:00
mhitch d6b6efec34 Moved the mini-debug routines out of trap.c into their own file, like the
original pica port.
1997-06-28 03:59:46 +00:00
mhitch a503f4436c Mini-debuuger is now included by options MDB.
Move mini-debugger routines to separate file, minidebug.c.
1997-06-28 03:57:55 +00:00
mhitch 566b174c13 Mini-debugger now included by options MDB.
Cpu_regs() is included by options DEBUG, as are the stacktrace routines,
so move it inside the #ifdef DEBUG along with stacktrace().
1997-06-28 03:55:05 +00:00
mhitch 8c12914cdb Fix typo.
Include minidebug.c with options MDB.
1997-06-28 03:43:21 +00:00
is de025de65f Add support for T-racing of emulated instructions. (Yes, gdb uses this.) 1997-06-27 23:32:09 +00:00
kleink ff831a8fcd regen. 1997-06-27 05:36:07 +00:00
kleink 96588fead9 Use sys_posix_rename() instead of sys_rename() as it's the behaviour of the
native implementation.
1997-06-27 05:29:34 +00:00
jeremy 63c23f2337 Add reference to DMA selection variable used in dev/ic/ncr53c9x.c and sample
code to enable it.  Currently commented out.
1997-06-27 02:07:32 +00:00
is f3efbb406a The recent buserr handler cleanup in the Amiga locore.s made the label
_buserr point to the 68020/030 buserr code _only_. This has broken access
error handling in the 060 support code.
This is repaired by jumping to _buserr60 from the 060SP, and by providing
a _buserr60 label identical to the _buserr in the unchanged m68k ports
using the 68060.
1997-06-26 22:28:42 +00:00
christos b59135a6fb Avoid panic triggered by rename("foo/", "bar/..") (From Mycroft) 1997-06-26 22:23:17 +00:00
kleink 4c2700de65 * Include the actual type of a bad primary block in diagnostic output.
* Add diagnostic output for bad secondary block types.
From Michael van Elst <mlelstv@serpens.swb.de> in PR kern/3785.
1997-06-26 21:36:58 +00:00
scottr b1f4ee5c2a Identify and use the Apple Twisted Pair NB card properly, from PR 3789
submitted by Denny Gentry <denny1@home.com>; investigation on the hardware
done by Bob Nestor.
1997-06-26 21:08:10 +00:00
kleink d1380abbfd In AmigaDOS, read permission on a directory has the effect read and execute
permission has in VFS; execute permission permission on a directory is ignored
by AmigaDOS:  when translating permissions from AmigaDOS to VFS, set up VFS
execute permission for AmigaDOS-readable directories.
Fixes PR kern/3787 from Michael van Elst <mlelstv@serpens.swb.de>.
1997-06-26 21:04:32 +00:00
drochner 4accbcf15b Install isofs headers too. 1997-06-26 19:27:40 +00:00
drochner a1d00666ac Allow to define the location of the heap at runtime #if HEAP_VARIABLE.
That helps to test libsa code in user space.
1997-06-26 19:17:40 +00:00