Joerg Sonnenberger [Wed, 1 Jun 2005 20:47:14 +0000 (20:47 +0000)]
Back out last commit, this wasn't supposed to crep in.
Matthew Dillon [Wed, 1 Jun 2005 20:40:33 +0000 (20:40 +0000)]
Use the ACPI timer as the system clock if possible. This should free up
the PC speaker on most systems and fix VESA BIOS and other issues.
Matthew Dillon [Wed, 1 Jun 2005 20:38:37 +0000 (20:38 +0000)]
Disable the ability to change the system clock with a sysctl. More
work is needed before this will work (if we ever want to make it work,
that is). The system clock selected at boot time is the one that will
be used.
Joerg Sonnenberger [Wed, 1 Jun 2005 20:21:47 +0000 (20:21 +0000)]
if_printf / device_printf. remove stored device_t reference as it is
no longer needed.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Matthew Dillon [Wed, 1 Jun 2005 20:19:47 +0000 (20:19 +0000)]
More cleanups, add the API implementation to select the system clock.
Joerg Sonnenberger [Wed, 1 Jun 2005 20:04:53 +0000 (20:04 +0000)]
Removing rest of debugging code which slipped into the commit.
This doesn't change the semantic.
Noticed-by: Andreas Kohn
Sascha Wildner [Wed, 1 Jun 2005 18:37:20 +0000 (18:37 +0000)]
* Add __unused where necessary.
* Change local variable name to avoid name shadowing.
* Bump WARNS to 6.
Submitted by: Sepherosa Ziehau <sepherosa@softhome.net>
Liam J. Foy [Wed, 1 Jun 2005 18:25:45 +0000 (18:25 +0000)]
- Kill keyword 'register'
Joerg Sonnenberger [Wed, 1 Jun 2005 18:07:10 +0000 (18:07 +0000)]
Stop branding DragonFly binaries with the FreeBSD ABI.
Increment __DragonFly_version to get this into programs,
we can do sanity checks on it later.
Matthew Dillon [Wed, 1 Jun 2005 17:43:46 +0000 (17:43 +0000)]
Implement a new cputimer infrastructure to allow us to support different
time bases. This is in preparation for adding support for the ACPI timer
as the system's free-running counter instead of the i8254 timer 1 or timer 2.
Joerg Sonnenberger [Wed, 1 Jun 2005 16:51:46 +0000 (16:51 +0000)]
Add back support for SYSV binaries. Those are nasty since
ELFOSABI_NONE == ELFOSABI_SYSV, but doing another loop to
handle them doesn't hurt much, since it's not the critical path
anyway.
Joerg Sonnenberger [Wed, 1 Jun 2005 15:09:11 +0000 (15:09 +0000)]
Teach file about DragonFly's ELF ABI tagging.
Go ahead for local patch by maintainer.
Joerg Sonnenberger [Wed, 1 Jun 2005 14:36:48 +0000 (14:36 +0000)]
Increment subversion to allow matching for ELF ABI tagging enabled kernels.
Joerg Sonnenberger [Wed, 1 Jun 2005 14:34:46 +0000 (14:34 +0000)]
Merge from vendor branch FILE:
Update to file 4.13. Put the contrib files into contrib/file-4 instead
of contrib/file-4.13 since we want to do more incremental updates and
this keeps the repository size down.
Joerg Sonnenberger [Wed, 1 Jun 2005 14:34:46 +0000 (14:34 +0000)]
Update to file 4.13. Put the contrib files into contrib/file-4 instead
of contrib/file-4.13 since we want to do more incremental updates and
this keeps the repository size down.
Joerg Sonnenberger [Wed, 1 Jun 2005 14:34:46 +0000 (14:34 +0000)]
Update to file 4.13. Put the contrib files into contrib/file-4 instead
of contrib/file-4.13 since we want to do more incremental updates and
this keeps the repository size down.
Sascha Wildner [Wed, 1 Jun 2005 03:05:40 +0000 (03:05 +0000)]
* Remove timevaladd() and move timevalfix() and timevalsub() to
usr.bin/kdump where they belong.
* Include missing <stdlib.h>, add prototypes, staticize, constify,
remove void casts, add __unused.
* Minor style(9) cleanup.
* Bump WARNS to 6.
Submitted by: Haakon Schad Bergsaker <hakonsb@math.uio.no>
Modifications by: me
Sascha Wildner [Wed, 1 Jun 2005 03:02:30 +0000 (03:02 +0000)]
Add DragonFly cvs id.
Sascha Wildner [Tue, 31 May 2005 22:49:19 +0000 (22:49 +0000)]
Remove no longer relevant file.
Liam J. Foy [Tue, 31 May 2005 19:11:04 +0000 (19:11 +0000)]
- Minor restructure. Don't bother calling makemsg() unless we can create
the client.
Ok: joerg
Joerg Sonnenberger [Tue, 31 May 2005 17:45:20 +0000 (17:45 +0000)]
Don't match executables with ELFOSABI_NONE against the brand list.
For binaries without matching brand, try to match PT_NOTE header
of type 1 (which is equal to .note.ABI-tag as section).
Implement matching for FreeBSD, the up-coming DragonFly and Linux
ABI tag.
This implementation has some known limitations:
- only one PT_NOTE header of type 1 is checked (the last)
- the PT_NOTE header has to be part of the first page
- ELF branding is prefered, no further matching is done (prevents multiple
ABI emulations for the same ELF OS ABI)
Inspired-by: NetBSD
Joerg Sonnenberger [Tue, 31 May 2005 14:11:43 +0000 (14:11 +0000)]
Remove M_EXT_OLD, rename m_ext.ext_nref.new to m_ext.ext_ref and
m_ext.ext_nfree.new to m_ext.ext_free.
Liam J. Foy [Tue, 31 May 2005 13:50:09 +0000 (13:50 +0000)]
- Fix memory leak if realloc(3) failed. Use reallocf(3).
Ok: joerg
Joerg Sonnenberger [Tue, 31 May 2005 12:31:21 +0000 (12:31 +0000)]
If we want to abuse an API by providing a callback doing nothing, we
can at least follow the new API to do nothing.
Joerg Sonnenberger [Tue, 31 May 2005 12:29:05 +0000 (12:29 +0000)]
Convert to new m_ext API.
Joerg Sonnenberger [Tue, 31 May 2005 10:44:13 +0000 (10:44 +0000)]
cleanup
Joerg Sonnenberger [Tue, 31 May 2005 08:30:14 +0000 (08:30 +0000)]
No need to bzero softc.
Joerg Sonnenberger [Tue, 31 May 2005 08:27:47 +0000 (08:27 +0000)]
Let fxp_release take a device_t directly and change some device_printf
to if_printf. This allows the elimination of fxp_softc.dev.
Also add a missing '\n' in fxp_attach.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Tue, 31 May 2005 08:23:29 +0000 (08:23 +0000)]
Remove __inline hints, let the compiler figure out the details.
This prevents GCC 3.4.4 from inline fxp_scb_wait, but since we access
external memory anyway, the calling overhead doesn't matter.
Joerg Sonnenberger [Tue, 31 May 2005 08:19:04 +0000 (08:19 +0000)]
Use PCI accessor functions instead of messing directly with the
config space.
Use if_printf in fxp_watchdog.
Don't hardware interface name for if_initname, use the device name.
Remove bogus source path and include of machine/clock.h.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Tue, 31 May 2005 08:12:48 +0000 (08:12 +0000)]
Remove bogus check if interface was already attached. The function is
called only from *_attach and if those are called twice, enough is broken
already.
Joerg Sonnenberger [Tue, 31 May 2005 08:10:44 +0000 (08:10 +0000)]
if_printf / device_printf.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Tue, 31 May 2005 08:06:47 +0000 (08:06 +0000)]
if_printf / device_printf cleanup.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
While here, use a local eaddr to build the fake MAC address and stop
printing it in fwe_attach, ether_ifattach does it already.
Joerg Sonnenberger [Tue, 31 May 2005 07:52:22 +0000 (07:52 +0000)]
Use PCI accessor functions instead of messing directly with the config
space.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Tue, 31 May 2005 07:51:13 +0000 (07:51 +0000)]
Use ether_crc32_be / ether_crc32_le.
Obtained-from: FreeBSD
Factor out crc mask calculation and move it out of the loop.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Tue, 31 May 2005 07:46:17 +0000 (07:46 +0000)]
if_printf / device_printf.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Sascha Wildner [Tue, 31 May 2005 00:22:38 +0000 (00:22 +0000)]
WARNS6 cleanup.
Submitted by: Peter Avalos <pavalos@theshell.com>
Sascha Wildner [Tue, 31 May 2005 00:06:26 +0000 (00:06 +0000)]
* Remove register keywords.
* WARNS6 cleanup (approx. 1100 warnings).
* Move drandom() to phantglobs.c instead of having 2 versions.
* K&R -> ANSI function declarations.
Submitted by: Peter Avalos <pavalos@theshell.com>
Sascha Wildner [Tue, 31 May 2005 00:00:38 +0000 (00:00 +0000)]
Add the DragonFly cvs id.
Joerg Sonnenberger [Mon, 30 May 2005 20:50:53 +0000 (20:50 +0000)]
libc_r has to provide strong versions of the public symbols to override
the stubs in libc. Otherwise mixing e.g. of pthread_cond_init from libc
and pthread_cond_timedwait from libc_r can occur and result in panics.
Joerg Sonnenberger [Mon, 30 May 2005 11:56:00 +0000 (11:56 +0000)]
Forgot to assign ext_buf, resulting in a panic.
Reported-by: Pawel Biernacki <kaktus@chaos.dragonflybsd.pl>
Sascha Wildner [Mon, 30 May 2005 00:54:46 +0000 (00:54 +0000)]
Handle renaming of battd.1 to battd.8
Sascha Wildner [Mon, 30 May 2005 00:42:39 +0000 (00:42 +0000)]
Always clean the cat directory as well.
Sascha Wildner [Mon, 30 May 2005 00:19:40 +0000 (00:19 +0000)]
Fix date.
Sascha Wildner [Sun, 29 May 2005 23:35:00 +0000 (23:35 +0000)]
Add sorta colorful Fred logo for the boot menu. Rename beastie_disable
to fred_disable (along with some more words). Document fred_disable
and loader_color.
Submitted by: Joerg Anslik <joerg@anslik.de>
Based on a patch by: Aaron Malone <aaron@munge.net>
[see http://leaf.dragonflybsd.org/mailarchive/submit/2004-01/msg00032.html]
Jeffrey Hsu [Sun, 29 May 2005 16:32:20 +0000 (16:32 +0000)]
Simplify the interface to m_uiomove().
Jeffrey Hsu [Sun, 29 May 2005 15:52:26 +0000 (15:52 +0000)]
Rename local variable for clarity.
Jeffrey Hsu [Sun, 29 May 2005 10:39:59 +0000 (10:39 +0000)]
Use m_getl() to get the right sized mbuf.
Jeffrey Hsu [Sun, 29 May 2005 10:08:36 +0000 (10:08 +0000)]
Deprecate MCLGET() in favor of m_getcl() or m_getl() in order to
take advantage of cluster caching.
Joerg Sonnenberger [Sat, 28 May 2005 22:22:33 +0000 (22:22 +0000)]
Use ether_crc32_be.
Obtained-from: FreeBSD
Joerg Sonnenberger [Sat, 28 May 2005 22:15:07 +0000 (22:15 +0000)]
style and minor cleanup
Joerg Sonnenberger [Sat, 28 May 2005 21:02:04 +0000 (21:02 +0000)]
Use ether_crc32_le and ether_crc32_be.
Obtained-from: FreeBSD
Sascha Wildner [Sat, 28 May 2005 01:16:30 +0000 (01:16 +0000)]
Use M_ZERO instead of an explicit bzero().
Sascha Wildner [Sat, 28 May 2005 00:22:04 +0000 (00:22 +0000)]
Remove DEC Alpha support.
Sascha Wildner [Fri, 27 May 2005 21:12:51 +0000 (21:12 +0000)]
Remove DEC Alpha support.
Sascha Wildner [Fri, 27 May 2005 20:57:40 +0000 (20:57 +0000)]
Remove old workaround for 2.6.3 optimizer bug.
Joerg Sonnenberger [Fri, 27 May 2005 20:43:50 +0000 (20:43 +0000)]
Convert to new m_ext interface. This also fixes a memory leak, since
sk_detach wasn't correctly cleaning up the jumbo buffer ring.
Joerg Sonnenberger [Fri, 27 May 2005 20:27:56 +0000 (20:27 +0000)]
Remove nge_jpool_etrny, not used anymore.
Joerg Sonnenberger [Fri, 27 May 2005 19:11:49 +0000 (19:11 +0000)]
Minor reorder of the code to make it easier to deal with capabilities.
Joerg Sonnenberger [Fri, 27 May 2005 15:36:10 +0000 (15:36 +0000)]
Use ether_ioctl for the default case and merge the cases which just
call it.
Joerg Sonnenberger [Fri, 27 May 2005 15:19:40 +0000 (15:19 +0000)]
Don't cast command to int.
Joerg Sonnenberger [Fri, 27 May 2005 15:13:10 +0000 (15:13 +0000)]
Don't call ether_ioctl first, check for errors and call it again
or process the special cases afterwards. Just call it for those
cases we are not interested in.
Joerg Sonnenberger [Fri, 27 May 2005 15:08:11 +0000 (15:08 +0000)]
Use ether_ioctl for the default case. Merge cases which just called it.
Joerg Sonnenberger [Fri, 27 May 2005 15:03:12 +0000 (15:03 +0000)]
Fall through to ether_ioctl and merge those cases which just called it.
Joerg Sonnenberger [Fri, 27 May 2005 14:57:19 +0000 (14:57 +0000)]
Use ether_ioctl for the default case in dc_ioctl. Merge SIOCSIFADDR,
SIOCGIFADDR and SIOCSIFMTU into the default case.
Liam J. Foy [Fri, 27 May 2005 11:24:49 +0000 (11:24 +0000)]
- Use pidfile(3). The pid file can be used as a quick reference if the process
needs to be sent a signal.
Obtained from: NetBSD
Sascha Wildner [Fri, 27 May 2005 10:01:24 +0000 (10:01 +0000)]
Fix CVS root directory name.
Noticed by: Thomas E. Spanjaard <tgen@netphreax.net>
Sascha Wildner [Fri, 27 May 2005 09:29:32 +0000 (09:29 +0000)]
Fix supfile name.
Noticed by: Thomas E. Spanjaard <tgen@netphreax.net>
Sascha Wildner [Fri, 27 May 2005 07:52:21 +0000 (07:52 +0000)]
Use M_ZERO instead of an explicit bzero().
Sascha Wildner [Fri, 27 May 2005 07:35:59 +0000 (07:35 +0000)]
Fix misspelled filename.
Sascha Wildner [Thu, 26 May 2005 23:22:13 +0000 (23:22 +0000)]
Remove DEC Alpha support.
Sascha Wildner [Thu, 26 May 2005 23:17:31 +0000 (23:17 +0000)]
Remove an extra comma and fix two typos.
Jeffrey Hsu [Thu, 26 May 2005 22:59:57 +0000 (22:59 +0000)]
Fix typo with last commit.
Noticed by: Sascha Wildner
Joerg Sonnenberger [Thu, 26 May 2005 22:49:17 +0000 (22:49 +0000)]
style. remove some unused variables.
Joerg Sonnenberger [Thu, 26 May 2005 22:17:12 +0000 (22:17 +0000)]
Add missing splx(s) in sk_detach.
Sascha Wildner [Thu, 26 May 2005 16:24:33 +0000 (16:24 +0000)]
* Declare vtb_buffer as a pointer to uint16_t and get rid of
sc_vtb_pointer() and some casts.
* Use the standard uint16_t type instead of u_int16_t.
* Use M_ZERO instead of explicitly bzero()ing.
* Don't set VTB_VALID if malloc() failed.
In discussion with: joerg
Matthew Dillon [Thu, 26 May 2005 09:10:36 +0000 (09:10 +0000)]
Properly initialize the serializer by calling lwkt_serialize_init().
Matthew Dillon [Thu, 26 May 2005 09:10:10 +0000 (09:10 +0000)]
Fix a bug in the serializer's race detection code. It is possible for
the lock to be acquired and released by an interrupt between our attempt
to acquire and our tsleep. We must test the condition again from within
a critical section before sleeping.
The previous code was doing a test-and-set when it should have just done
a test in the re-test case.
Matthew Dillon [Thu, 26 May 2005 09:06:40 +0000 (09:06 +0000)]
Remove some debugging that crept int othe last commit.
Matthew Dillon [Wed, 25 May 2005 22:59:20 +0000 (22:59 +0000)]
Fix a race in the serializer's use of atomic_intr_cond_enter(). When
the procedure call is made the serializer must enter a critical section
and check the bit again before actually sleeping to avoid a race against
wakeup().
Jeffrey Hsu [Wed, 25 May 2005 21:35:51 +0000 (21:35 +0000)]
Prefer m_getcl() to separate calls to MGETHDR() and MCLGET() in order to
take advantage of cluster caching.
Matthew Dillon [Wed, 25 May 2005 21:26:52 +0000 (21:26 +0000)]
Properly conditionalize a call to ether_poll_deregister via
#ifdef DEVICE_POLLING.
Reported-by: various
Jeffrey Hsu [Wed, 25 May 2005 21:18:51 +0000 (21:18 +0000)]
Remove redundant assignment.
Matthew Dillon [Wed, 25 May 2005 14:59:05 +0000 (14:59 +0000)]
Get rid of IFCAP_POLLING for now.
Matthew Dillon [Wed, 25 May 2005 14:58:32 +0000 (14:58 +0000)]
Change ifconfig 'poll' to ifconfig 'polling', the same keyword that it
used for the capabilities flag before. But now it just uses a normal
IFF flag.
Joerg Sonnenberger [Wed, 25 May 2005 13:12:22 +0000 (13:12 +0000)]
Remove some compat junk, deindent a switch.
Joerg Sonnenberger [Wed, 25 May 2005 12:37:29 +0000 (12:37 +0000)]
Convert to new m_ext API.
Joerg Sonnenberger [Wed, 25 May 2005 12:18:31 +0000 (12:18 +0000)]
Force jumbo buffers to be a multiple of 64bit.
Joerg Sonnenberger [Wed, 25 May 2005 11:59:14 +0000 (11:59 +0000)]
Remove compat junk.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Wed, 25 May 2005 11:51:26 +0000 (11:51 +0000)]
Use ether_crc32_le.
Obtained-from: FreeBSD
Don't include machine/clock.h, we have DELAY already.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Wed, 25 May 2005 11:46:10 +0000 (11:46 +0000)]
if_printf / device_printf and some more cleanup.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Wed, 25 May 2005 11:42:59 +0000 (11:42 +0000)]
Nuke further compatibility junk.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Joerg Sonnenberger [Wed, 25 May 2005 11:38:59 +0000 (11:38 +0000)]
if_printf / device_printf and some further cleanup.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Matthew Dillon [Wed, 25 May 2005 07:58:41 +0000 (07:58 +0000)]
Fix a bugaboo in the last commit. We can't move to a generic mux yet
because FAST interrupts aren't compatible with the mechanism.
YONETANI Tomokazu [Wed, 25 May 2005 06:22:22 +0000 (06:22 +0000)]
Don't treat an empty command buffer as parse error.
The buffer will also be made empty after /boot.config
is successfully parsed, or when you hit just Enter key
to suppress 5-second wait.
Matthew Dillon [Wed, 25 May 2005 01:44:33 +0000 (01:44 +0000)]
Rewrite the polling code. Instead of trying to do fancy polling enablement
from inside the IF interrupt itself, which creates a headache in the code,
simply allow IFF_POLLING to be set and cleared via ifconfig. This greatly
simplifies both the networking code and the polling code and allows polling
to be enabled and disabled at will on a per-network-interface basis.
* Drivers no longer have to have polling checks in the interrupt path.
* An if_poll function vector has been added. Polling is supported if the
driver initializes the vector.
* Registration command added to the poll function command list.
* Driver code for registration and deregistration is now greatly simplified.
The kernel polling code no longer randomly turns off the polling bit if an
interface goes down or is reset.
Remove IFCAP_POLLING, it serves no purpose.
Fix a couple of bugs in the serializer code. Add a warning in
nexus_setup_intr if a driver tries to specify a serializer and an SPL.
A driver can specify one or the other, not both.
Convert the EM driver to use the new serializer API instead of SPLs.
Add ifconfig poll and ifconfig -poll support to ifconfig, and fix bugs
in the rtsock code that only returned the low 16 bits of the interface
flags so ifconfig properly reports when polling mode is turned on for an
interface.
NOTE to people using polling. You must first enable polling via
kern.polling.enable, and then may specify the 'poll' directive in ifconfig
to enable it on a per interface basis. If IFF_POLLING refuses to be set,
the device does not support polling.
Matthew Dillon [Tue, 24 May 2005 21:22:05 +0000 (21:22 +0000)]
(add missing file related to last commit)
Get rid of bus_{disable,enable}_intr(), it wasn't generic enough for
our needs.
Implement some generic atomic.h functions to aid in the implementation of
a low level mutex.
Implement a generic low level sleep-mutex serializer, kern/lwkt_serialize.c.
The serializer is designed to be a replacement for SPL calls but may also
be used for other very low level work (e.g. lockmgr interlocks).
Add a serializer argument to BUS_SETUP_INTR(). When non-NULL, the interrupt
handler will no longer be protected by an SPL so e.g. spl*() will no
longer protect against that device's interrupts.
The IF queueing and dequeueing mechanisms may no longer depend on outside
SPL state because network driver interrupt handlers are no longer required to
enter splnet(). Use critical sections for the moment. The IFQ and
IFF_OACTIVE interactions are not yet MP safe.
Matthew Dillon [Tue, 24 May 2005 21:18:27 +0000 (21:18 +0000)]
Get rid of the bad hack that was doing network polling from the trap code.
Matthew Dillon [Tue, 24 May 2005 20:59:05 +0000 (20:59 +0000)]
Get rid of bus_{disable,enable}_intr(), it wasn't generic enough for
our needs.
Implement some generic atomic.h functions to aid in the implementation of
a low level mutex.
Implement a generic low level sleep-mutex serializer, kern/lwkt_serialize.c.
The serializer is designed to be a replacement for SPL calls but may also
be used for other very low level work (e.g. lockmgr interlocks).
Add a serializer argument to BUS_SETUP_INTR(). When non-NULL, the interrupt
handler will no longer be protected by an SPL so e.g. spl*() will no
longer protect against that device's interrupts.
The IF queueing and dequeueing mechanisms may no longer depend on outside
SPL state because network driver interrupt handlers are no longer required to
enter splnet(). Use critical sections for the moment. The IFQ and
IFF_OACTIVE interactions are not yet MP safe.
Joerg Sonnenberger [Tue, 24 May 2005 16:46:26 +0000 (16:46 +0000)]
Use ether_crc32_be.
Obtained-from: FreeBSD