Matthew Dillon [Sun, 6 Aug 2006 18:56:46 +0000 (18:56 +0000)]
Add structures and skeleton code for a new system call called syslink()
which will support the kernel syslink API. This is the link protocol that
will be used for user<->kernel (e.g. user VFS) and kernel<->kernel (cluster)
communications.
Syslink-based protocols will be used for DEV, VFS, CCMS, and other
cluster-related operations.
Sascha Wildner [Sun, 6 Aug 2006 12:49:06 +0000 (12:49 +0000)]
Perform the following cleanup in sys/dev/netif:
* Ansify function definitions.
* Remove (void) casts for discarded return values.
* Remove register keywords.
* Move types and names in function definitions on separate lines.
In-collaboration-with: Alexey Slynko <slynko@tronet.ru>
Reviewed-by: sephe
Sepherosa Ziehau [Sun, 6 Aug 2006 10:32:23 +0000 (10:32 +0000)]
Sync MII support with NetBSD/OpenBSD:
- Standard conforming GMII support:
1) replace mii_media_add() with mii_phy_add_media().
2) ukphy has generic GMII support now, thus retire nvphy.
- Factor common code of PHY modules out into mii_physubr.c, noticably
mii_phy_{set_media, tick, update}().
In order to support this refactoring:
1) mii_softc.{mii_reset,mii_status} funtion pointers are added, which are
used to reset PHY modules and get PHY modules' status.
2) mii_softc.mii_anegticks is added, which is used by PHY modules to tell
mii_phy_tick(), how often auto-negociation should happen. Two commonly
used values are defined as MII_ANEGTICKS and MII_ANEGTICKS_GIGE.
mii_softc.mii_anegticks is set to MII_ANEGTICKS by default.
- Add mii_softc.mii_media_status and rename mii_softc.mii_active to
mii_softc.mii_media_active. Now changes in either one of them will cause
MIIBUS_STATCHG() being involked.
- For PHY modules that utilize mii_phy_add_media(), ifmedia_entry.ifm_data
no longer stores value of BMCR. It stores an index of mii_media_table[],
which stores BMCR, ANAR and GTCR.
- Replace slightly different PHY modules detach routines with ukphy_detach().
- Use OUI and MODEL id array + mii_phy_match() in PHY modules probe routines,
instead of original large `if, else if' or `switch' code segment.
- Support more OUIs and MODELs in individual PHY module.
- Make the usage of `mii' and `sc' stack variable more consistent. `mii'
refers to miibus softc, while `sc' refers to PHY module softc.
- Nuke no longer used functions' definition and declaration.
- Regen miidevs.h
Following PHY modules were tested:
acphy(dc), brgphy(bge), e1000phy(nv,sk), exphy(xl), inphy(fxp), rgephy(re),
rlphy(rl), ruephy(rue), ukphy(nv,vr,...)
MII generic code is mainly synced with NetBSD.
Individual PHY modules are mainly synced with OpenBSD.
Tested-by: swildner, corecode
Sascha Wildner [Sun, 6 Aug 2006 02:27:56 +0000 (02:27 +0000)]
Match .Dt with filename.
Sascha Wildner [Sun, 6 Aug 2006 02:27:01 +0000 (02:27 +0000)]
Use .Cd for config declaration and add missing quote.
Sepherosa Ziehau [Sat, 5 Aug 2006 03:18:27 +0000 (03:18 +0000)]
none_funcname() -> none_crypto_funcname()
Now more ieee80211_xxx_none.c can be added without duplicated(confusing)
function names.
Sepherosa Ziehau [Fri, 4 Aug 2006 15:42:27 +0000 (15:42 +0000)]
- Add ieee80211com.ic_sysctl_oid, so sub-wlan module (e.g. wlan_wep) can
further expand the sysctl tree
- Fix a possible memory leakage in ieee80211_sysctl_attach()
Sepherosa Ziehau [Fri, 4 Aug 2006 14:04:16 +0000 (14:04 +0000)]
Rename acx_fw_txdesc.f_tx_{ack,rts}_fail to
acx_fw_txdesc.f_tx_{data,rts}_nretry.
These two fields can be used to do rate control.
Sascha Wildner [Thu, 3 Aug 2006 16:40:49 +0000 (16:40 +0000)]
Remove all occurences of double semicolons at the end of a line by
single ones.
Submitted-by: Bill Marquette <bill.marquette@gmail.com>
Matthew Dillon [Thu, 3 Aug 2006 16:06:15 +0000 (16:06 +0000)]
Get rid of a bogus check that cut the blocked-lock wakeup code a little
too short, causing sendmail and postfix to sometimes block indefinitely.
Reported-by: Sven Willenberger <sven@dmv.com>, Petr Janda <elekktretterr@exemail.com.au>, Jon Hamilton <hamilton@pobox.com>
Matthew Dillon [Wed, 2 Aug 2006 01:25:28 +0000 (01:25 +0000)]
Get rid of some unused fields in the fileops and adjust the declarations
to use the '.field = blah' initialization method.
Sascha Wildner [Tue, 1 Aug 2006 18:13:21 +0000 (18:13 +0000)]
Don't call pci_get_device() multiple times.
Sascha Wildner [Tue, 1 Aug 2006 18:11:47 +0000 (18:11 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:11:20 +0000 (18:11 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:10:40 +0000 (18:10 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:10:05 +0000 (18:10 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:09:37 +0000 (18:09 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:08:24 +0000 (18:08 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:07:57 +0000 (18:07 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:07:12 +0000 (18:07 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:06:44 +0000 (18:06 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:06:14 +0000 (18:06 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:05:43 +0000 (18:05 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:05:02 +0000 (18:05 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:04:22 +0000 (18:04 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:03:53 +0000 (18:03 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:03:19 +0000 (18:03 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:02:40 +0000 (18:02 +0000)]
Use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 18:01:38 +0000 (18:01 +0000)]
Use pcidevs.h and common PCI probe style.
Sascha Wildner [Tue, 1 Aug 2006 18:00:54 +0000 (18:00 +0000)]
Use pcidevs.h and common PCI probe style.
Sascha Wildner [Tue, 1 Aug 2006 17:55:57 +0000 (17:55 +0000)]
regenerate
Sascha Wildner [Tue, 1 Aug 2006 17:49:11 +0000 (17:49 +0000)]
Add some missing IDs in preparation for switching some network drivers
to use pcidevs.h.
Sascha Wildner [Tue, 1 Aug 2006 17:02:32 +0000 (17:02 +0000)]
Regen.
Hart: 2006-06-05 (version 605)
Boemler: 2006-08-01
Matthew Dillon [Tue, 1 Aug 2006 16:21:19 +0000 (16:21 +0000)]
Update the syslink structural documentation. Add syslink_msg.h, containing
the transport structure for syslink messages. Start working on the new
syslink system call API which will be used to establish a syslink connection
with the kernel.
Simon Schubert [Tue, 1 Aug 2006 08:25:58 +0000 (08:25 +0000)]
Don't prematurely check for non-active descriptors by looking up the
entry in _thread_fd_table, as it might have not been populated before.
_FD_LOCK already takes care of filtering out non-existing descriptors.
Reported-by: Thomas E. Spanjaard
Simon Schubert [Mon, 31 Jul 2006 19:29:41 +0000 (19:29 +0000)]
Update the documentation to reflect current state: d_reclen is dead.
Simon Schubert [Mon, 31 Jul 2006 12:17:39 +0000 (12:17 +0000)]
Move include under _KERNEL protection.
This reduces namespace pollution and allows C++ sources including
netinet/if_ether.h to be compiled again.
Reported-by: Joe Talbott <josepht@cstone.net>
Simon Schubert [Mon, 31 Jul 2006 12:12:08 +0000 (12:12 +0000)]
Add amd64 support
Matthew Dillon [Sun, 30 Jul 2006 16:49:34 +0000 (16:49 +0000)]
Fix an incorrect #ifndef label. Also remove a now unnecessary
#include <sys/msgport.h>.
Reported-by: Joe Talbott <josepht@ntelos.net>
Sepherosa Ziehau [Sun, 30 Jul 2006 09:39:27 +0000 (09:39 +0000)]
Rather than calling mircotime() in catchpacket(), make catchpacket()
take a timeval indicating when the packet was captured. Move
microtime() to the calling functions and grab the timestamp as soon
as we know that we're going to call catchpacket at least once.
This means that we call microtime() once per matched packet, as
opposed to once per matched packet per bpf listener. It also means
that we return the same timestamp to all bpf listeners, rather than
slightly different ones.
It would be more accurate to call microtime() even earlier for all
packets, but microtime() can be costly, so this didn't seem like a good idea.
Obtained-from: FreeBSD (dwmalone@freebsd.org)
Remined-and-Reviewed-by: joerg
Sascha Wildner [Sun, 30 Jul 2006 07:50:28 +0000 (07:50 +0000)]
ruserpass() takes 4 arguments but is called with only 3. Since we
don't actually use acct, just take a dummy pointer.
Matthew Dillon [Sun, 30 Jul 2006 06:49:39 +0000 (06:49 +0000)]
Remove duplicate code line.
Reported-by: "Bill Marquette" <bill.marquette@gmail.com>
Taken-from: OpenBSD
Sascha Wildner [Sat, 29 Jul 2006 18:56:28 +0000 (18:56 +0000)]
Remove brconfig(8) from the build.
Simon Schubert [Sat, 29 Jul 2006 12:11:11 +0000 (12:11 +0000)]
Retire brconfig. Its functionality is covered in ifconfig.
YONETANI Tomokazu [Sat, 29 Jul 2006 03:49:01 +0000 (03:49 +0000)]
Last commit changed the function arguments of userland version of
iplioctl() to use (struct dev_ioctl_args *) only for ip_fil.c.
Adjust it to make it work again.
Matthew Dillon [Fri, 28 Jul 2006 07:31:08 +0000 (07:31 +0000)]
Why is ip_fil.h trying to declare kernel procedures for userland #include's?
Remove them.
Matthew Dillon [Fri, 28 Jul 2006 06:24:03 +0000 (06:24 +0000)]
For the moment adjust dd to find the new location of the device type
flags (D_*)
Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
Matthew Dillon [Fri, 28 Jul 2006 02:17:41 +0000 (02:17 +0000)]
MASSIVE reorganization of the device operations vector. Change cdevsw
to dev_ops. dev_ops is a syslink-compatible operations vector structure
similar to the vop_ops structure used by vnodes.
Remove a huge number of instances where a thread pointer is still being
passed as an argument to various device ops and other related routines.
The device OPEN and IOCTL calls now take a ucred instead of a thread pointer,
and the CLOSE call no longer takes a thread pointer.
Matthew Dillon [Fri, 28 Jul 2006 02:11:53 +0000 (02:11 +0000)]
Fix a minor bug that prevented compilation.
Matthew Dillon [Fri, 28 Jul 2006 02:11:31 +0000 (02:11 +0000)]
Make a few more #define's visible when compiling with _KERNEL_STRUCTURES
Simon Schubert [Thu, 27 Jul 2006 00:46:57 +0000 (00:46 +0000)]
Update amd64 bits of libc's math routines
Obtained-from: NetBSD
Simon Schubert [Thu, 27 Jul 2006 00:44:27 +0000 (00:44 +0000)]
Correct TLS and PIC addressing
Simon Schubert [Thu, 27 Jul 2006 00:44:20 +0000 (00:44 +0000)]
Remove get/make/signalcontext.
SUSv3 calls it "obsolescent" and i386 doesn't have it either.
Simon Schubert [Thu, 27 Jul 2006 00:43:56 +0000 (00:43 +0000)]
add header glue
Simon Schubert [Thu, 27 Jul 2006 00:43:42 +0000 (00:43 +0000)]
Always create __sys_name syscalls with weak symbols _name and name
Obtained-from: FreeBSD
Simon Schubert [Thu, 27 Jul 2006 00:43:35 +0000 (00:43 +0000)]
Add amd64 atomic_lock implementation
Obtained-from: FreeBSD
Simon Schubert [Thu, 27 Jul 2006 00:43:17 +0000 (00:43 +0000)]
This is suitable for amd64 as well
Simon Schubert [Thu, 27 Jul 2006 00:43:09 +0000 (00:43 +0000)]
Tell malloc.c about amd64
Simon Schubert [Thu, 27 Jul 2006 00:43:02 +0000 (00:43 +0000)]
Add amd64 defines
Obtained-from: FreeBSD
Simon Schubert [Thu, 27 Jul 2006 00:42:54 +0000 (00:42 +0000)]
include the correct headers
Simon Schubert [Thu, 27 Jul 2006 00:42:46 +0000 (00:42 +0000)]
Import amd64 MD headers
Obtained-from: FreeBSD and our sys/i386
Simon Schubert [Thu, 27 Jul 2006 00:41:38 +0000 (00:41 +0000)]
Compile libc_r for all archs
Simon Schubert [Thu, 27 Jul 2006 00:41:31 +0000 (00:41 +0000)]
Build battd only for i386 (uses apm)
Simon Schubert [Thu, 27 Jul 2006 00:41:24 +0000 (00:41 +0000)]
Add defines for amd64
Obtained-from: FreeBSD
Simon Schubert [Thu, 27 Jul 2006 00:41:17 +0000 (00:41 +0000)]
Pull up changes from i386
Simon Schubert [Thu, 27 Jul 2006 00:41:10 +0000 (00:41 +0000)]
Use %zd for size_t printf()s
Simon Schubert [Thu, 27 Jul 2006 00:41:03 +0000 (00:41 +0000)]
remove i386-only conditionalisation
Simon Schubert [Thu, 27 Jul 2006 00:40:55 +0000 (00:40 +0000)]
Do obscure va_list handling also on amd64
Obtained-from: FreeBSD
Simon Schubert [Thu, 27 Jul 2006 00:40:35 +0000 (00:40 +0000)]
Add amd64 support
Obtained-from: FreeBSD
Simon Schubert [Thu, 27 Jul 2006 00:39:53 +0000 (00:39 +0000)]
Add amd64 target sources
Obtained-from: FreeBSD
Simon Schubert [Thu, 27 Jul 2006 00:39:40 +0000 (00:39 +0000)]
Add correct register offsets
Simon Schubert [Thu, 27 Jul 2006 00:39:33 +0000 (00:39 +0000)]
Remove unneeded patches
Simon Schubert [Thu, 27 Jul 2006 00:35:02 +0000 (00:35 +0000)]
Restructure Makefiles to accomodate multiple archs
Simon Schubert [Thu, 27 Jul 2006 00:30:10 +0000 (00:30 +0000)]
Restructure Makefiles to accomodate multiple archs
Simon Schubert [Thu, 27 Jul 2006 00:29:57 +0000 (00:29 +0000)]
Link libgcc_pic for shared libs
Simon Schubert [Thu, 27 Jul 2006 00:29:49 +0000 (00:29 +0000)]
Build amd64 with the i486 files
Simon Schubert [Thu, 27 Jul 2006 00:29:42 +0000 (00:29 +0000)]
Merge from vendor branch GDB:
restore erroneously removed header
Simon Schubert [Thu, 27 Jul 2006 00:29:42 +0000 (00:29 +0000)]
restore erroneously removed header
Sascha Wildner [Wed, 26 Jul 2006 20:21:07 +0000 (20:21 +0000)]
Comment out empty BUGS section.
Sascha Wildner [Wed, 26 Jul 2006 20:18:54 +0000 (20:18 +0000)]
Document the recently added WITHOUT_SRCS variable.
Sascha Wildner [Wed, 26 Jul 2006 18:26:13 +0000 (18:26 +0000)]
NOUUCP was removed a long time ago from the system.
Sascha Wildner [Wed, 26 Jul 2006 18:23:16 +0000 (18:23 +0000)]
Update upgrade procedure and adjust disk usage.
Matthew Dillon [Tue, 25 Jul 2006 20:01:50 +0000 (20:01 +0000)]
Fix a bug where the VMAYHAVELOCKS flag on a vnode may get lost, resulting
in an assertion during exit.
Fix a bug where F_NOEND is not properly set in one of the merge cases. This
only effects very rare F_GETLK cases.
Reported-by: Joerg Sonnenberger <joerg@britannica.bec.de>
Matthew Dillon [Tue, 25 Jul 2006 20:00:56 +0000 (20:00 +0000)]
Add code to dump lockf locks associated with a vnode.
Sascha Wildner [Sun, 23 Jul 2006 07:47:12 +0000 (07:47 +0000)]
Remove devd specific documentation.
Sascha Wildner [Sun, 23 Jul 2006 06:01:46 +0000 (06:01 +0000)]
Fix date format.
Sascha Wildner [Sat, 22 Jul 2006 23:55:30 +0000 (23:55 +0000)]
Get rid of .Pp before .Sh
Sascha Wildner [Sat, 22 Jul 2006 23:52:23 +0000 (23:52 +0000)]
Use .Cd for kernel configuration options.
Sascha Wildner [Sat, 22 Jul 2006 18:49:25 +0000 (18:49 +0000)]
Use full month name for .Dd
Simon Schubert [Fri, 21 Jul 2006 00:51:13 +0000 (00:51 +0000)]
- Move error exit in front of tsleep_interlock()
- invoke tsleep_interlock and tsleep in a critical section
- release the serializer on error exit
Simon Schubert [Thu, 20 Jul 2006 22:57:47 +0000 (22:57 +0000)]
Default kdump's data limit to 64 bytes and document how it can be disabled.
Matthew Dillon [Thu, 20 Jul 2006 20:16:24 +0000 (20:16 +0000)]
Check the the ops mount pointer is not NULL before indirecting through it.
The mount pointer can be NULL if the vnode is dead. This can occur if a
tty is revoke()'d.
Reported-by: walt <wa1ter@myrealbox.com>, Thomas Schlesinger <schlesinger@netcologne.de>
Simon Schubert [Thu, 20 Jul 2006 17:01:22 +0000 (17:01 +0000)]
Pull in fixes from FreeBSD to make -e handling work better.
Obtained-from: FreeBSD
Noticed-by: joerg, Jiawei Ye <leafy@moderntimes.com.cn> (indirect)
Simon Schubert [Thu, 20 Jul 2006 16:22:48 +0000 (16:22 +0000)]
Fix bug introduced in rev 1.33 and make a clearer code flow.
Noticed-by: y0netani
Sepherosa Ziehau [Wed, 19 Jul 2006 13:38:56 +0000 (13:38 +0000)]
regen
Sepherosa Ziehau [Wed, 19 Jul 2006 13:34:53 +0000 (13:34 +0000)]
Add device ids for various NVIDIA's GigE
Sascha Wildner [Wed, 19 Jul 2006 07:49:21 +0000 (07:49 +0000)]
Mention all arguments and fix wording.
Matthew Dillon [Wed, 19 Jul 2006 06:08:14 +0000 (06:08 +0000)]
Introduce sys/syslink.h, the beginnings of a VOP-compatible RPC-like
communications infrastructure that will be used for userland VFS and
communications between hosts in a cluster.
Begin merging the vnode operations vector code with syslink by replacing
vnodeop_desc with syslink_desc. Also get rid of a lot of junk related
to vnodeop_desc that is no longer used.
Matthew Dillon [Wed, 19 Jul 2006 05:59:54 +0000 (05:59 +0000)]
Get rid of the weird coda VOP function arguments and void casts and
replace with the proper arguments.
Matthew Dillon [Tue, 18 Jul 2006 22:22:16 +0000 (22:22 +0000)]
Remove several layers in the vnode operations vector init code. Declare
the operations vector directly instead of via a descriptor array. Remove
most of the recalculation code, it stopped being needed over a year ago.
This work is similar to what FreeBSD now does, but was developed along a
different line. Ultimately our vop_ops will become SYSLINK ops for userland
VFS and clustering support.