#
a15f7c96 |
|
02-May-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmft: The in-kernel NVMe over Fabrics controller This is the server (target in SCSI terms) for NVMe over Fabrics. Userland is responsible for accepting a new queue pair and receiving the initial Connect command before handing the queue pair off via an ioctl to this CTL frontend. This frontend exposes CTL LUNs as NVMe namespaces to remote hosts. Users can ask LUNS to CTL that can be shared via either iSCSI or NVMeoF. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44726
|
#
0c4ee619 |
|
02-May-2024 |
John Baldwin <jhb@FreeBSD.org> |
ctl: Support for NVMe commands - Add support for queueing and executing NVMe admin and NVM commands via ctl_run and ctl_queue. This requires fixing a few places that were SCSI-specific to add NVME logic. - NVMe has much simpler command ordering requirements than SCSI. In particular, the HBA is not required to enforce any specific ordering for requests with overlapping LBAs. The host is required to manage that ordering. However, fused commands (currently only COMPARE and WRITE NVM commands can be fused) are required to be executed atomically. To support fused commands, make the second half of a fused command block on the first half, and have commands submitted after a fused command pair block on the second half. - Add handlers and command tables for admin and NVM commands that operate on individual namespaces and will be passed down from an NVMe over Fabrics controller to a CTL LUN. Reviewed by: ken, imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44720
|
#
6f308bcf |
|
02-May-2024 |
John Baldwin <jhb@FreeBSD.org> |
ctl: Support NVMe requests in debug trace functions Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44719
|
#
a1eda741 |
|
02-May-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmf: The in-kernel NVMe over Fabrics host This is the client (initiator in SCSI terms) for NVMe over Fabrics. Userland is responsible for creating a set of queue pairs and then handing them off via an ioctl to this driver, e.g. via the 'connect' command from nvmecontrol(8). An nvmeX new-bus device is created at the top-level to represent the remote controller similar to PCI nvmeX devices for PCI-express controllers. As with nvme(4), namespace devices named /dev/nvmeXnsY are created and pass through commands can be submitted to either the namespace devices or the controller device. For example, 'nvmecontrol identify nvmeX' works for a remote Fabrics controller the same as for a PCI-express controller. nvmf exports remote namespaces via nda(4) devices using the new NVMF CAM transport. nvmf does not support nvd(4), only nda(4). Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44714
|
#
59144db3 |
|
02-May-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmf_tcp: Add a TCP transport for NVMe over Fabrics Structurally this is very similar to the TCP transport for iSCSI (icl_soft.c). One key difference is that NVMeoF transports use a more abstract interface working with NVMe commands rather than transport PDUs. Thus, the data transfer for a given command is managed entirely in the transport backend. Similar to icl_soft.c, separate kthreads are used to handle transmit and receive for each queue pair. On the transmit side, when a capsule is transmitted by an upper layer, it is placed on a queue for processing by the transmit thread. The transmit thread converts command response capsules into suitable TCP PDUs where each PDU is described by an mbuf chain that is then queued to the backing socket's send buffer. Command capsules can embed data along with the NVMe command. On the receive side, a socket upcall notifies the receive kthread when more data arrives. Once enough data has arrived for a PDU, the PDU is handled synchronously in the kthread. PDUs such as R2T or data related PDUs are handled internally, with callbacks invoked if a data transfer encounters an error, or once the data transfer has completed. Received capsule PDUs invoke the upper layer's capsule_received callback. struct nvmf_tcp_command_buffer manages a TCP command buffer for data transfers that do not use in-capsule-data as described in the NVMeoF spec. Data related PDUs such as R2T, C2H, and H2C are associated with a command buffer except in the case of the send_controller_data transport method which simply constructs one or more C2H PDUs from the caller's mbuf chain. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44712
|
#
78444b5a |
|
28-Apr-2024 |
Ricardo Branco <rbranco@suse.de> |
glabel: Add support for Linux swap Reviewed by: imp, kib Pull Request: https://github.com/freebsd/freebsd-src/pull/1205
|
#
25723d66 |
|
28-Apr-2024 |
Christos Margiolis <christos@FreeBSD.org> |
sound: Retire unit.* The unit.* code is largely obsolete and imposes limits that are no longer needed nowadays. - Capping the maximum allowed soundcards in a given machine. By default, the limit is 512 (snd_max_u() in unit.c), and the maximum possible is 2048 (SND_UNIT_UMAX in unit.h). It can also be tuned through the hw.snd.maxunit loader(8) tunable. Even though these limits are large enough that they should never cause problems, there is no need for this limit to exist in the first place. - Capping the available device/channel types. By default, this is 32 (snd_max_d() in unit.c). However, these types are pre-defined in pcm/sound.h (see SND_DEV_*), so the cap is unnecessary when we know that their number is constant. - Capping the number of channels per-device. By default, the limit 1024 (snd_max_c() in unit.c). This is probably the most problematic of the limits mentioned, because this limit can never be reached, as the maximum is hard-capped at either hw.snd.maxautovchans (16 by default), or SND_MAXHWCHAN and SND_MAXVCHANS. These limtits are encoded in masks (see SND_U_MASK, SND_D_MASK, SND_C_MASK in unit.h) and are used to construct a bitfield of the form [dsp_unit, type, channel_unit] in snd_mkunit() which is assigned to pcm_channel->unit. This patch gets rid of everything unit.*-related and makes a slightly different use of the "unit" field to only contain the channel unit number. The channel type is stored in a new pcm_channel->type field, and the DSP unit number need not be stored at all, since we can fetch it from device_get_unit(pcm_channel->dev). This change has the effect that we no longer need to impose caps on the number of soundcards, device/channel types and per-device channels. As a result the code is noticeably simplified and more readable. Apart from the fact that the hw.snd.maxunit loader(8) tunable is also retired as a side-effect of this patch, sound(4)'s behavior remains the same. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: dev_submerge.ch Differential Revision: https://reviews.freebsd.org/D44912
|
#
c68eed82 |
|
24-Apr-2024 |
Gleb Smirnoff <glebius@FreeBSD.org> |
accf_tls: accept filter that waits for TLS handshake header
|
#
a8fd0a5f |
|
19-Apr-2024 |
Ricardo Branco <rbranco@suse.de> |
glabel: Remove support for old reiserfs Reviewed by: imp, emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/1101
|
#
54e231b3 |
|
19-Apr-2024 |
Denis Bodor <lefinnois@lefinnois.net> |
Add support for i2c-tiny-usb: usb to iic bridge Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1123
|
#
1d515759 |
|
13-Apr-2024 |
John Baldwin <jhb@FreeBSD.org> |
files: Sort the VirtIO device entries Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D44781
|
#
bfd2ce2a |
|
10-Apr-2024 |
Stephen J. Kiernan <stevek@FreeBSD.org> |
efidev: Allow for optionally including efidev and efirtc into the kernel Require both "efirt" and "efidev" in order to build in efidev Require both "efirt" and "efirtc" in order to build in efirtc Update FIRECRACKER, GENERIC, and NOTES for amd64 Update NOTES and std.arm for arm64 Reviewed by: imp Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D44745
|
#
e8c0d15a |
|
11-Apr-2024 |
Christos Margiolis <christos@FreeBSD.org> |
sound: Get rid of snd_clone and use DEVFS_CDEVPRIV(9) Currently the snd_clone framework creates device nodes on-demand for every channel, through the dsp_clone() callback, and is responsible for routing audio to the appropriate channel(s). This patch gets rid of the whole snd_clone framework (including any related sysctls) and instead uses DEVFS_CDEVPRIV(9) to handle device opening, channel allocation and audio routing. This results in a significant reduction in code size as well as complexity. Behavior that is preserved: - hw.snd.basename_clone. - Exclusive access of an audio device (i.e VCHANs disabled). - Multiple processes can read from/write to the device. - A device can only be opened as many times as the maximum allowed channel number (see SND_MAXHWCHAN in pcm/sound.h). - OSSv4 compatibility aliases are preserved. Behavior changes: Only one /dev/dspX device node is created (on attach) for each audio device, as opposed to the current /dev/dspX.Y devices created by snd_clone. According to the sound(4) man page, devices are not meant to be opened through /dev/dspX.Y anyway, so it is best if we do not create device nodes for them in the first place. As a result of this, modify dsp_oss_audioinfo() to print /dev/dspX in the "ai->devnode", instead of /dev/dspX.Y. Sponsored by: The FreeBSD Foundation MFC after: 2 months Reviewed by: dev_submerge.ch, bapt, markj Differential Revision: https://reviews.freebsd.org/D44411
|
#
e1c4c8dd |
|
20-Oct-2023 |
Cristian Marussi <cristian.marussi@arm.com> |
vtscmi: Add a virtio-scmi driver Add a new virtio backend to support SCMI VirtIO devices (type 32) as defined by the VirtIO specification since version v1.2. https://docs.oasis-open.org/virtio/virtio/v1.2/cs01/virtio-v1.2-cs01.pdf Reviewed by: andrew, bryanv Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43047
|
#
60bb979b |
|
09-Apr-2024 |
John Baldwin <jhb@FreeBSD.org> |
iser: Add kernel build glue 'device iser' is documented in iser(4) but not supported. Hook it up to the build. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44687
|
#
c0d8f586 |
|
04-Apr-2024 |
Christos Margiolis <christos@FreeBSD.org> |
Revert "sound: Get rid of snd_clone and use DEVFS_CDEVPRIV(9)" This reverts commit dc831e93bad63f9faea09f1806a7733a40bff316. After several reports in the mailing lists, this commit breaks pulseaudio. Revert until the issue is resolved.
|
#
dc831e93 |
|
30-Mar-2024 |
Christos Margiolis <christos@FreeBSD.org> |
sound: Get rid of snd_clone and use DEVFS_CDEVPRIV(9) Currently the snd_clone framework creates device nodes on-demand for every channel, through the dsp_clone() callback, and is responsible for routing audio to the appropriate channel(s). This patch gets rid of the whole snd_clone framework (including any related sysctls) and instead uses DEVFS_CDEVPRIV(9) to handle device opening, channel allocation and audio routing. This results in a significant reduction in code size as well as complexity. Behavior that is preserved: - hw.snd.basename_clone. - Exclusive access of an audio device (i.e VCHANs disabled). - Multiple processes can read from/write to the device. - A device can only be opened as many times as the maximum allowed channel number (see SND_MAXHWCHAN in pcm/sound.h). - OSSv4 compatibility aliases are preserved. Behavior changes: Only one /dev/dspX device node is created (on attach) for each audio device, as opposed to the current /dev/dspX.Y devices created by snd_clone. According to the sound(4) man page, devices are not meant to be opened through /dev/dspX.Y anyway, so it is best if we do not create device nodes for them in the first place. As a result of this, modify dsp_oss_audioinfo() to print /dev/dspX in the "ai->devnode", instead of /dev/dspX.Y. Sponsored by: The FreeBSD Foundation MFC after: 2 months Reviewed by: dev_submerge.ch, markj Differential Revision: https://reviews.freebsd.org/D44411
|
#
2ae32f1f |
|
22-Dec-2023 |
Mark Johnston <markj@FreeBSD.org> |
build: Do not pass -fno-sanitize-memory-param-retval to subr_coverage.c In the absence of -fsanitize=kernel-memory, the presence of this flag results in a -Wunused-command-line-argument warning. MFC after: 1 week
|
#
c21bc6f3 |
|
21-Mar-2024 |
Bojan Novković <bnovkov@FreeBSD.org> |
ddb: Add CTF-based pretty printing Add basic CTF support and a CTF-powered pretty-printer to ddb. The db_ctf.* files expose a basic interface for fetching type data for ELF symbols, interacting with the CTF string table, and translating type identifiers to type data. The db_pprint.c file uses those interfaces to implement a pretty-printer for all kernel ELF symbols. The pretty-printer works with symbol names and arbitrary addresses: pprint struct thread 0xffffffff8194ad90 Pretty-printing currently only works after the root filesystem gets mounted because the CTF info is not available during early boot. Differential Revision: https://reviews.freebsd.org/D37899 Approved by: markj (mentor)
|
#
e18b97bd |
|
12-Mar-2024 |
Randall Stewart <rrs@FreeBSD.org> |
Update to bring the rack stack with all its fixes in. This brings the rack stack up to the current level used at NF. Many fixes and improvements have been added. I also add in a fix to BBR to deal with the changes that have been in hpts for a while i.e. only one call no matter if mbuf queue or tcp_output. It basically does little except BBlogs and is a placemark for future work on doing path capacity measurements. With a bit of a struggle with git I finally got rack_pcm.c into place (apologies for not noticing this error). The LINT kernel is running on my box now .. sigh. Reviewed by: tuexen, glebius Sponsored by: Netflix Inc. Differential Revision:https://reviews.freebsd.org/D43986
|
#
4fefe1b7 |
|
07-Mar-2024 |
Martin Matuska <mm@FreeBSD.org> |
zfs: merge openzfs/zfs@8f2f6cd2a Notable upstream pull request merges: #15887 -multiple Fast Dedup: Cleanup and documentation ahead of integrating Fast Dedup #15907 5600dff0e Fixed parameter passing error when calling zfs_acl_chmod #15908 8f2f6cd2a ddt: reduce DDT_NAMELEN Obtained from: OpenZFS OpenZFS commit: 8f2f6cd2ac688916adb2caf979daf95365ccb48f
|
#
f84e9df6 |
|
27-Feb-2024 |
Mitchell Horne <mhorne@FreeBSD.org> |
conf: deduplicate dwmmc config logic The core of this driver is supported by multiple architectures. Move the config entries to the MI conf/files. This hardware is found on several available/emerging RISC-V SoCs, so we will soon need it on this architecture. Reviewed by: manu MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D44104 |
#
a01dc140 |
|
27-Feb-2024 |
Mitchell Horne <mhorne@FreeBSD.org> |
conf: deduplicate dwc config logic Move the core dwc(4) file entries to the MI conf/files. Platform-specific versions e.g. rk_dwc are retained in their current position. On arm64 this necessitates adding an additional 'device dwc' option. This hardware is found on several available/emerging RISC-V SoCs, so we will soon need it on this architecture. Reviewed by: manu MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D44103 |
#
114ab149 |
|
12-Feb-2024 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: make uart_bus_puc.c not depend on puc If one wants to have puc working as a module we need the bus in the kernel otherwise we won't be able to find any child to attach. Reviewed by: imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43846 |
#
80044c78 |
|
16-Jan-2024 |
Xavier Beaudouin <xavier.beaudouin@klarasystems.com> |
Add UDP encapsulation of ESP in IPv6 This patch provides UDP encapsulation of ESP packets over IPv6. Ports the IPv4 code to IPv6 and adds support for IPv6 in udpencap.c As required by the RFC and unlike in IPv4 encapsulation, UDP checksums are calculated. Co-authored-by: Aurelien Cazuc <aurelien.cazuc.external@stormshield.eu> Sponsored-by: Stormshield Sponsored-by: Wiktel Sponsored-by: Klara, Inc. |
#
f92d9b1a |
|
28-Nov-2023 |
Kristof Provost <kp@FreeBSD.org> |
pflow: import from OpenBSD pflow is a pseudo device to export flow accounting data over UDP. It's compatible with netflow version 5 and IPFIX (10). The data is extracted from the pf state table. States are exported once they are removed. Reviewed by: melifaro Obtained from: OpenBSD Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D43106 |
#
53df7e58 |
|
14-Jan-2024 |
Marius Strobl <marius@FreeBSD.org> |
geom_redboot(4): Garbage collect disconnected driver The last MIPS user has been removed in c09981f1 2 years ago, the last ARM one in ff945277 even 5.5 years ago. |
#
03e8d25b |
|
14-Jan-2024 |
Marius Strobl <marius@FreeBSD.org> |
geom_map(4): Garbage collect disconnected driver The last MIPS user has been removed in c09981f1 2 years ago, the last ARM one in 58d5c511 even 5.5 years ago. |
#
62e8ccc3 |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
syscon: Move syscon code in dev/syscon We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: mhorne Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43196 |
#
950a6087 |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
phy: Move phy code in dev/phy We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: emaste, imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43195 |
#
b2f0caf1 |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
regulator: Move regulator code in dev/regulator We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: emaste, imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43194 |
#
e51b3d8e |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
nvmem: Move nvmem code in dev/nvmem We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: dab, imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43193 |
#
1f469a9f |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
hwreset: Move reset code in dev/hwreset We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43192 |
#
be82b3a0 |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
clk: Move clock code in dev/clk We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: mhorne Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43191 |
#
b1e82d33 |
|
04-Jan-2024 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.27.5.0 Version : 1.27.5.0 Date : 10/10/2023 ===================== Fixes ----- BASE: - Fixed handling the Remote Fault with AN, causing the link failure. ===================== Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications |
#
a5e65981 |
|
04-Jan-2024 |
Oskar Holmlund <oh@FreeBSD.org> |
sys/conf: Add backlight as a dependency to pwm_backlight.c Approved by: manu Differential revision: https://reviews.freebsd.org/D43312 |
#
ea9a9b12 |
|
01-Dec-2023 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
sys/conf: make xen_acpi_cpu.c depend on acpi Since Xen can function on systems without ACPI, make sure this key dependency is handled. Reviewed by: royger |
#
80446fc7 |
|
08-Dec-2023 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
linuxkpi: Move `struct kobject` code to `linux_kobject.c` [Why] `linux_compat.c` is already too long. I will need to add `struct kset` in a follow-up commit, so let's move the existing `struct kobject` code to its own file. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D43019 |
#
793e4aca |
|
11-Dec-2023 |
Michael Tuexen <tuexen@FreeBSD.org> |
tcp stacks: in kernel BBR and RACK require in kernel HPTS Compiling the BBR or RACK stack into the kernel requires HPTS to be compiled into the kernel. Reviewed by: glebius, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D42998 |
#
4f9c93f1 |
|
04-Dec-2023 |
Gleb Smirnoff <glebius@FreeBSD.org> |
lro: separate HPTS specific code into tcp_lro_hpts.c Put same copyright header as tcp_hpts.c has, since all this code was developed by Randall Stewart <rrs@FreeBSD.org> as a part of the HPTS work. Also copy Mellanox copyright from tcp_lro.c as Hans Petter Selasky also participated in restructuring the code. Reviewed by: imp, tuexen, rrs Differential Revision: https://reviews.freebsd.org/D42854 |
#
7fa08d41 |
|
21-Nov-2023 |
Olivier Certner <olce@FreeBSD.org> |
kern_racct.c: Don't compile if RACCT undefined Just skip compiling this file if RACCT isn't defined. This allows to skip including headers that no code uses at all, and also to remove the whole file's #ifdef/#endif bracketing. Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation |
#
96f193b2 |
|
20-Nov-2023 |
Alex Xu (Hello71) <alex_y_xu@yahoo.ca> |
Compile RACK when options TCP_RACK, not TCP_BBR Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca> Fixes: 3a338c5341 ("Add the BBR and RACK stacks to the LINT kernel.") Pull Request: https://github.com/freebsd/freebsd-src/pull/907 |
#
6eda49b7 |
|
12-Nov-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
mlx5_core: add new files to the static files list Sponsored by: NVidia networking MFC after: 1 week |
#
dd7d42a1 |
|
23-Oct-2023 |
Rick Macklem <rmacklem@FreeBSD.org> |
nfscl/kgssapi: Fix Kerberized NFS mounts to pNFS servers During recent testing related to the IETF NFSv4 Bakeathon, it was discovered that Kerberized NFSv4.1/4.2 mounts to pNFS servers (sec=krb5[ip],pnfs mount options) was broken. The FreeBSD client was using the "service principal" for the MDS to try and establish a rpcsec_gss credential for a DS, which is incorrect. (A "service principal" looks like "nfs@<fqdn-of-server>" and the <fqdn-of-server> for the DS is not the same as the MDS for most pNFS servers.) To fix this, the rpcsec_gss code needs to be able to do a reverse DNS lookup of the DS's IP address. A new kgssapi upcall to the gssd(8) daemon is added by this patch to do the reverse DNS along with a new rpcsec_gss function to generate the "service principal". A separate patch to the gssd(8) will be committed, so that this patch will fix the problem. Without the gssd(8) patch, the new upcall fails and current/incorrect behaviour remains. This bug only affects the rare case of a Kerberized (sec=krb5[ip],pnfs) mount using pNFS. This patch changes the internal KAPI between the kgssapi and nfscl modules, but since I did a version bump a few days ago, I will not do one this time. MFC after: 1 month |
#
3a338c53 |
|
18-Oct-2023 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add the BBR and RACK stacks to the LINT kernel. While here, drop the EXTRA_TCP_STACKS option, which serves no purpose and should never have been added. Instead, build bbr and rack as long as either or both of INET and INET6 is enabled. There is no risk to anyone who doesn't load one or both and then twiddle the relevant sysctls. Differential Revision: https://reviews.freebsd.org/D42088 |
#
b6c653c9 |
|
16-Oct-2023 |
Mark Johnston <markj@FreeBSD.org> |
kmsan: Set -fno-sanitize-memory-param-retval for now As of LLVM 16, -fsanitize-memory-param-retval is the default. It yields significantly smaller code, but the KMSAN runtime interceptors need to be updated to stop checking shadow state of parameters. Apply a minimal workaround for now. MFC after: 3 days Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc. |
#
2cef6288 |
|
14-Sep-2023 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
pf: convert state retrieval to netlink Use netlink to export pf's state table. The primary motivation is to improve how we deal with very large state stables. With the previous implementation we had to build the entire list (both in the kernel and in userspace) before we could start processing. With netlink we start to get data in userspace while the kernel is still generating more. This reduces peak memory consumption (which can get to the GB range once we hit millions of states). Netlink also makes future extension easier, in that we can easily add fields to the state export without breaking userspace. In that regard it's similar to an nvlist-based approach, except that it also deals with transport to userspace and that it performs significantly better than nvlists. Testing has failed to measure a performance difference between the previous struct-copy based ioctl and the netlink approach. Differential Revision: https://reviews.freebsd.org/D38888 |
#
1d6a6a52 |
|
27-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
i2c: Add Microcrystal RV3032 RTC driver This is a simple RTC driver for the rv3032 from Microcrystal. Just the basic functionality is implemented (no timer, alarm etc ..). Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41995 |
#
125f5c5b |
|
18-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move opencores i2c driver into controller subdirectory Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41914 |
#
7c569caa |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move i2c sensors drivers into new sensor subdirectory No reason that they should live directly under iicbus Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41913 |
#
918a10c9 |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: conf: Fix pcf8574 entry It lives in the gpio subdirectory Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41912 |
#
06589d6e |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move ADC drivers into a new adc subfolder No reason that they should live directly under iicbus Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41911 |
#
062944cc |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move Silergy pmic/regulators under pmic/silergy subdirectory Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41909 |
#
2f16049c |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move remaining rtc driver into rtc subfolder No reason that they should live directly under iicbus Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41908 |
#
2373e704 |
|
23-Sep-2023 |
Alexander Motin <mav@FreeBSD.org> |
Untie strchrnul() from gdb. MFC after: 10 days |
#
1554ba03 |
|
24-Aug-2023 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Add mac_grantbylabel This module allows controlled privilege escallation via mac labels securely associated with a process via mac_veriexec. There are over 700 PRIV_* but we can compress many of them into a single GBL_* thus constraining the size of gbl labels. The goal is to allow a daemon to run as an unprivileged process while still being able a set of privileged operations needed. We add APIs to libveriexec so that userland processes can check labels and an exec_script API that allows a suitably labeled process to run something like a python interpreter directly if necessary; overcomming the 'indirect' flag applied to the interpreter. Add -l option to sbin/veriexec to report labels. Reviewed by: stevek Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D41431 |
#
af93fea7 |
|
23-Aug-2023 |
Jake Freeland <jfree@freebsd.org> |
timerfd: Move implementation from linux compat to sys/kern Move the timerfd impelemntation from linux compat code to sys/kern. Use it to implement the new system calls for timerfd. Add a hook to kern_tc to allow timerfd to know when the system time has stepped. Add kqueue support to timerfd. Adjust a few names to be less Linux centric. RelNotes: YES Reviewed by: markj (on irc), imp, kib (with reservations), jhb (slack) Differential Revision: https://reviews.freebsd.org/D38459 |
#
4a69fc16 |
|
07-Oct-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
Add membarrier(2) This is an attempt at clean-room implementation of the Linux' membarrier(2) syscall. For documentation, you would need to read both membarrier(2) Linux man page, the comments in Linux kernel/sched/membarrier.c implementation and possibly look at actual uses. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32360 |
#
2a902189 |
|
18-Aug-2023 |
Dmitry Salychev <dsl@FreeBSD.org> |
sff: Add SFP driver (fdt-based draft) This basic version of the driver obtains properties of the "sff,sfp" compatible devices and implements a simple interface to provide an I2C bus device for the rest of the drivers (e.g. to implement SIOCGI2C). Both of the interface and driver are subjects for a further generalization to be used in case of non-FDT and non-arm64 platforms. Reviewed by: bz, manu Approved by: bz (mentor) MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D41440 |
#
02f27066 |
|
16-Aug-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Add a virtio-gpu 2D driver Add a driver to connect vt to the VirtIO GPU device in 2D mode. This provides a output on the display when a qemu virtio gpu device is added, e.g. with -device virtio-gpu-pci. Tested on qemu using UTM, and a Hetzner arm64 VM instance. Reviewed by: bryanv (earlier version) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40094 |
#
031beb4e |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line sh pattern Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/ |
#
8a2e880a |
|
16-Aug-2023 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.27.4.0 This is the list of changes since last release, taken from the release notes of Chelsio Unified Wire 3.18.0.1. Version : 1.27.4.0 Date : 07/05/2023 ======================================= Fixes ----- BASE: - Handle 40G to 100G cable change. - Avoid unnecessary i2c read. ======================================= Obtained from: Chelsio Communications Sponsored by: Chelsio Communications MFC after: 1 week |
#
8f5dbc22 |
|
08-Aug-2023 |
Marius Strobl <marius@FreeBSD.org> |
arswitch(4): Remove support for AR{7240,9340} found in MIPS SoCs only With the general removal of MIPS support there's no longer a need to support these integrated switches. Approved by: adrian Differential Revision: https://reviews.freebsd.org/D41394 |
#
077ef5b4 |
|
07-Aug-2023 |
Marius Strobl <marius@FreeBSD.org> |
ath(4): Remove MIPS SoC build glue and AR9130 from FreeBSD HAL All of these are obsoleted by the general removal of MIPS support. Actually, corresponding to the removed AH_SUPPORT_x, there is more superfluous support sprinkled across the HAL source. However, that code is left in place for now in order to ease a sync to NetBSD. Reviewed by: emaste (w/ man page fix) Approved by: adrian Differential Revision: https://reviews.freebsd.org/D41355 |
#
37c8ee88 |
|
07-Aug-2023 |
Marius Strobl <marius@FreeBSD.org> |
ath(4): Remove MIPS AHB frontend and join PCI one w/ main support again Following the removal of general MIPS support, there's no longer a need to have the AHB bus-frontend in place, which according to Linux sources also isn't used with any non-MIPS SoCs. For simplicity, PCI bus support is only made conditional on the main one again, i. e. device ath_pci is removed, and built into the main module, i. e. if_ath_pci.ko obsoleted, respectively. Effectively, this reverts the following commits and associated changes: dba9c8597747c6c9bf3d2ec68f7eb90552878dc7 e849bb3ecbb1963344a22ae77fc96f89fbebf40c Approved by: adrian Relnotes: yes Differential Revision: https://reviews.freebsd.org/D41354 |
#
fdfd3a90 |
|
06-Dec-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
ofw: Add a ofw_firmware driver Some SoCs have an external firmware doing power management, clock and other stuffs. (Xilinx, ARM Juno etc ...) The way it is represent in the DTB is usually having a 'firmware' node under the root node and have some nodes under it with the correct compatible strings. The firmware node itself doesn't have any compatible strings. This driver is simple subclassed from simplebus and attaches at BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE so early drivers (like clock drivers) can still have a change to attach early. Reviewed by: andrew Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D37612 |
#
7ff9ae90 |
|
03-Aug-2023 |
Marius Strobl <marius@FreeBSD.org> |
iflib(9): Remove support for cloning pseudo interfaces This code was used by the first incarnation of wg(4) and is dead ever since f187d6dfbf633665ba6740fe22742aec60ce02a2 has removed the latter again. Moreover, this code matched iflib(4) like a square peg fits in a round hole, was incomplete and despite some hacks still tailored to VPC and wg(4) but not generic. In effect, this reverts the following: 09f6ff4f1a47c3009dc16fdc609a44f2341bc7ac (w/ its "ancillary changes") 9aeca21324f481f57f2ecb7009f461f4f51b62b3 1f93e931d9f0c688f43f98ef777e04636a325526 0f9544d03e89d180f94a7a84b110ec7d2b6c625a 0dd691b41276ce13d25ffb1443af27f85038aa3f Reviewed by: erj, kbowling Differential Revision: <https://reviews.freebsd.org/D41196> |
#
7d380b98 |
|
03-Aug-2023 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
spibus(4): Add support for ACPI-based children enumeration When spibus is attached as child of Intel SPI controller it scans all ACPI nodes for "SPI Serial Bus Connection Resource Descriptor" described in section 19.6.126 of ACPI specs. If such a descriptor is found, SPI child is added to spibus, it's SPI chip select, mode, clock, IRQ resource and ACPI handle are added to ivars. Existing ACPI bus-hosted child is deleted afterwards. Apple ACPI SPI extensions are supported. Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D41248 |
#
f561c2ec |
|
31-Jul-2023 |
John Baldwin <jhb@FreeBSD.org> |
memdesc: Add routines for copying data to/from memory descriptors These are modeled on the API used for m_copydata/m_copyback and the crypto buffer APIs. One day it might be nice to reduce the proliferation of these by adding cursors and using memdesc directly for crypto request buffers. Reviewed by: markj Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D40615 |
#
4ef1c6f7 |
|
26-Jul-2023 |
Marius Strobl <marius@FreeBSD.org> |
base: Remove support for the VTOC8 partitioning scheme The removal of the sparc64 support in February 2020 obsoleted the VTOC8 partitioning scheme as no other FreeBSD platform makes use of it. Moreover, the code is bitrotting as nothing defines e. g. LOADER_VTOC8_SUPPORT any more and, thus, should go now, too. With this change, the following commits are reverted as far as VTOC8 is concerned and parts haven't already previously been deleted along with prior sparc64 removals: 094fcb157d4c98211899cf09d06e2cf19149b7e0 a7d366e9589c95feda6f3bc78c59c6355d51f126 ba8d50d08b9df4e8213f9a6997ff6792ecebcd9b The alignment example d9711c28efc4ec89ba5ea11f8fd63e9d0a7fc81b added to the VTOC8 section of gpart.8 is folded into the MBR one. This should finally conclude the deorbit of sparc64-specific bits. We had joy, we had fun we ran Unix on a Sun. But that source and the song of FreeBSD have all gone. Credits to Michael Bueker for the original "Unix on a Sun" and Rod McKuen for the "Seasons in the Sun" lyrics. |
#
215bab79 |
|
25-Jul-2023 |
Shivank Garg <shivank@freebsd.org> |
mac_ipacl: new MAC policy module to limit jail/vnet IP configuration The mac_ipacl policy module enables fine-grained control over IP address configuration within VNET jails from the base system. It allows the root user to define rules governing IP addresses for jails and their interfaces using the sysctl interface. Requested by: multiple Sponsored by: Google, Inc. (GSoC 2019) MFC after: 2 months Reviewed by: bz, dch (both earlier versions) Differential Revision: https://reviews.freebsd.org/D20967 |
#
058d1722 |
|
23-Jul-2023 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: include sctp_module.c in kernel builds Allow kldload to detect that SCTP has been build into the kernel. MFC after: 3 days |
#
4e8d558c |
|
10-Jun-2023 |
Martin Matuska <mm@FreeBSD.org> |
zfs: merge openzfs/zfs@feff9dfed Notable upstream pull request merges: #14833 Update compatibility.d files #14841 ZIL: Reduce scope of per-dataset zl_issuer_lock #14863 zil: Add some more statistics #14866 btree: Implement faster binary search algorithm #14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg #14892 Fix concurrent resilvers initiated at same time #14903 Fix NULL pointer dereference when doing concurrent 'send' operations #14910 ZIL: Allow to replay blocks of any size #14939 Fix the L2ARC write size calculating logic #14934 Introduce zfs_refcount_(add|remove)_few() #14946 Improve l2arc reporting in arc_summary #14953 Finally drop long disabled vdev cache #14954 Fix the L2ARC write size calculating logic (2) #14955 Use list_remove_head() where possible #14959 ZIL: Fix race introduced by f63811f0721 Obtained from: OpenZFS OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb
|
#
54dfc97b |
|
02-Jun-2023 |
Shailend Chand <shailend@google.com> |
Add gve, the driver for Google Virtual NIC (gVNIC) gVNIC is a virtual network interface designed specifically for Google Compute Engine (GCE). It is required to support per-VM Tier_1 networking performance, and for using certain VM shapes on GCE. The NIC supports TSO, Rx and Tx checksum offloads, and RSS. It does not currently do hardware LRO, and thus the software-LRO in the host is used instead. It also supports jumbo frames. For each queue, the driver negotiates a set of pages with the NIC to serve as a fixed bounce buffer, this precludes the use of iflib. Reviewed-by: markj MFC-after: 2 weeks Differential Revision: https://reviews.freebsd.org/D39873 |
#
062a7b91 |
|
10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
twe: Remove driver Sponsored by: Netflix |
#
80327535 |
|
26-Apr-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Mark simplefb as depending on fdt This file is for a FDT specific device, mark it as such. Reported by: Zachary Leaf <zachary.leaf@arm.com> Sponsored by: Arm Ltd |
#
d5035d91 |
|
25-Apr-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Add a simple-framebuffer vt driver This allows us to support this hardware and, in the future, use clocks so they are enabled past the initial kernel boot process. Reviewed by: ray Differential Revision: https://reviews.freebsd.org/D30103 |
#
b344bd3a |
|
23-Apr-2023 |
Val Packett <val@packett.cool> |
ext2fs: extract crc16 into sys/crc16.h deduplicate this as it might be needed for other drivers (e.g. Apple SPI-HID) Sponsored by: https://www.patreon.com/valpackett Reviewed by: chuck, imp MFC after: 1 month Differential revision: https://reviews.freebsd.org/D32879 |
#
06a1103f |
|
18-Apr-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
ath10k: ath11k: add specific LinuxKPI support Add files needed by ath1?k drivers to linuxkpi/linuxkpi_wlan. This contain (skeleton) implementations of what is needed to compile but specifically mhi/qmi/qrtr will need more work for ath11k. MFC after: 2 months |
#
ca5391bd |
|
20-Apr-2023 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to version 1.27.3.0 These are the changes since the last update (copy-pasted from the release notes for Chelsio Unified Wire v3.18.0.0): ==================== Version : 1.27.3.0 Date : 04/07/2023 Fixes ----- BASE: - Fixed a hang if module eeprom reads gives invalid data. - KR backlplane no-fec link problem fixed. OFLD: - iscsi ddp errors fixed. - iwarp connection abort in rare cases causing NIC traffic hang fixed. ENHANCEMENTS ------------ BASE: - Cisco GLC-TE 1G modules support added. ==================== Version : 1.27.1.0 Date : 12/02/2022 Fixes ----- BASE: - memwrite dsgl cannot be used for T5. OFLD: - Enabled FCoE in SO adapters. - TOE-TLS crash fixed. - iscsi hang fixed. MFC after: 2 weeks Sponsored by: Chelsio Communications |
#
aa7bbdab |
|
18-Apr-2023 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5: Implement diagostic counters as sysctl(8) nodes. MFC after: 1 week Sponsored by: NVIDIA Networking |
#
6d765bff |
|
15-Feb-2021 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen: move common variables off of sys/x86/xen/hvm.c The xen_domain_type and HYPERVISOR_shared_info variables are shared by all Xen architectures, so they should be in common rather than reimplemented by each architecture. hvm_start_flags is used by xen_initial_domain() and so needs to be in common. Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D28982 |
#
5e2183da |
|
13-Jan-2014 |
Julien Grall <julien@xen.org> |
xen/intr: move sys/x86/xen/xen_intr.c to sys/dev/xen/bus/ The event channel source code or equivalent is needed on all architectures. Since much of this is viable to share, get this moved out of x86-land. Each interrupt interface then needs a distinct back-end implementation. Reviewed by: royger Submitted by: Elliott Mitchell <ehem+freebsd@m5p.com> Original implementation: Julien Grall <julien@xen.org>, 2014-01-13 17:41:04 Differential Revision: https://reviews.freebsd.org/D30236 |
#
b2c50bb9 |
|
18-Feb-2021 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen/efi: make Xen PV EFI clock optional The present implementation is only for x86. Other architectures need adjustments for querying presence of EFI. Xen's EFI support is also quite troublesome on non-x86. This is being slowly remedied, but until in better shape the EFI clock functionality should be disabled. Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D31065 |
#
2a58b312 |
|
03-Apr-2023 |
Martin Matuska <mm@FreeBSD.org> |
zfs: merge openzfs/zfs@431083f75 Notable upstream pull request merges: #12194 Fix short-lived txg caused by autotrim #13368 ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced() #13392 Implementation of block cloning for ZFS #13741 SHA2 reworking and API for iterating over multiple implementations #14282 Sync thread should avoid holding the spa config write lock when possible #14283 txg_sync should handle write errors in ZIL #14359 More adaptive ARC eviction #14469 Fix NULL pointer dereference in zio_ready() #14479 zfs redact fails when dnodesize=auto #14496 improve error message of zfs redact #14500 Skip memory allocation when compressing holes #14501 FreeBSD: don't verify recycled vnode for zfs control directory #14502 partially revert PR 14304 (eee9362a7) #14509 Fix per-jail zfs.mount_snapshot setting #14514 Fix data race between zil_commit() and zil_suspend() #14516 System-wide speculative prefetch limit #14517 Use rw_tryupgrade() in dmu_bonus_hold_by_dnode() #14519 Do not hold spa_config in ZIL while blocked on IO #14523 Move dmu_buf_rele() after dsl_dataset_sync_done() #14524 Ignore too large stack in case of dsl_deadlist_merge #14526 Use .section .rodata instead of .rodata on FreeBSD #14528 ICP: AES-GCM: Refactor gcm_clear_ctx() #14529 ICP: AES-GCM: Unify gcm_init_ctx() and gmac_init_ctx() #14532 Handle unexpected errors in zil_lwb_commit() without ASSERT() #14544 icp: Prevent compilers from optimizing away memset() in gcm_clear_ctx() #14546 Revert zfeature_active() to static #14556 Remove bad kmem_free() oversight from previous zfsdev_state_list patch #14563 Optimize the is_l2cacheable functions #14565 FreeBSD: zfs_znode_alloc: lock the vnode earlier #14566 FreeBSD: fix false assert in cache_vop_rmdir when replaying ZIL #14567 spl: Add cmn_err_once() to log a message only on the first call #14568 Fix incremental receive silently failing for recursive sends #14569 Restore ASMABI and other Unify work #14576 Fix detection of IBM Power8 machines (ISA 2.07) #14577 Better handling for future crypto parameters #14600 zcommon: Refactor FPU state handling in fletcher4 #14603 Fix prefetching of indirect blocks while destroying #14633 Fixes in persistent error log #14639 FreeBSD: Remove extra arc_reduce_target_size() call #14641 Additional limits on hole reporting #14649 Drop lying to the compiler in the fletcher4 code #14652 panic loop when removing slog device #14653 Update vdev state for spare vdev #14655 Fix cloning into already dirty dbufs #14678 Revert "Do not hold spa_config in ZIL while blocked on IO" Obtained from: OpenZFS OpenZFS commit: 431083f75bdd3efaee992bdd672625ec7240d252
|
#
19e43c16 |
|
27-Mar-2023 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
netlink: add netlink KPI to the kernel by default This change does the following: Base Netlink KPIs (ability to register the family, parse and/or write a Netlink message) are always present in the kernel. Specifically, * Implementation of genetlink family/group registration/removal, some base accessors (netlink_generic_kpi.c, 260 LoC) are compiled in unconditionally. * Basic TLV parser functions (netlink_message_parser.c, 507 LoC) are compiled in unconditionally. * Glue functions (netlink<>rtsock), malloc/core sysctl definitions (netlink_glue.c, 259 LoC) are compiled in unconditionally. * The rest of the KPI _functions_ are defined in the netlink_glue.c, but their implementation calls a pointer to either the stub function or the actual function, depending on whether the module is loaded or not. This approach allows to have only 1k LoC out of ~3.7k LoC (current sys/netlink implementation) in the kernel, which will not grow further. It also allows for the generic netlink kernel customers to load successfully without requiring Netlink module and operate correctly once Netlink module is loaded. Reviewed by: imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D39269 |
#
105a4f7b |
|
09-Mar-2023 |
Brooks Davis <brooks@FreeBSD.org> |
ng_atmllc: remove This standalone module is the last vestage of ATM support in the tree so send it on its way. Reviewed by: manu, emaste Relnotes: yes Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38880 |
#
af0cc0b2 |
|
09-Mar-2023 |
Brooks Davis <brooks@FreeBSD.org> |
NgATM: Remove netgraph ATM support Most ATM support was removed prior to FreeBSD 12. The netgraph support was kept as it was less intrusive, but it is presumed to be unused. Reviewed by: manu Relnotes: yes Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38879 |
#
b9f235ba |
|
13-Feb-2023 |
Warner Losh <imp@FreeBSD.org> |
Properly conditionalize clang 15-only flags Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38550 |
#
eca005d8 |
|
12-Feb-2023 |
Mateusz Guzik <mjg@FreeBSD.org> |
zlib: silence K&R warns Sponsored by: Rubicon Communications, LLC ("Netgate") |
#
dcb4b138 |
|
05-Feb-2023 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen/timer: rename "timer.c" to "xen_timer.c" The better to avoid conflicting with other files given how "timer.c" isn't a very unique name. ARM and RISC-V both have timer.c files. Reviewed by: royger, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/609 Differential Revision: https://reviews.freebsd.org/D36258 |
#
69d94f4c |
|
02-Feb-2023 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add tarfs, a filesystem backed by tarballs. Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: pauamma, imp Differential Revision: https://reviews.freebsd.org/D37753 |
#
1bfa548b |
|
13-Jan-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
ifnet/API: Privatize the implementation of the drbr_* APIs When ALTQ is enabled ifnet accessors already need to be called, largely defeating the purpose of the inline. To that extent, make the ALTQ form functions in the netstack proper, and make them always available. Reviewed By: glebius Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38104 |
#
3d100b2a |
|
31-Jan-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Remove dme(4) from files Fixes: 69759b0c695da15a3379ca01335ab314897d8594 |
#
4ffe60e6 |
|
07-Jan-2023 |
Søren Schmidt <sos@FreeBSD.org> |
Add Combo PHY, RK817, Syr827, tcs4525 pmic devices to Rockchip specific config. |
#
c9313a0b |
|
22-Dec-2022 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
netlink: allow netlink to be build in the kernel Differential Revision: https://reviews.freebsd.org/D37781 |
#
32661319 |
|
21-Dec-2022 |
John Baldwin <jhb@FreeBSD.org> |
Fix spelling of NO_WINFINITE_RECURSION. Reported by: dim Fixes: 2e08e4b75ea1 zfs: Fix build with GCC 12. |
#
2e08e4b7 |
|
21-Dec-2022 |
John Baldwin <jhb@FreeBSD.org> |
zfs: Fix build with GCC 12. Silence -Winfinite-recursion for ldo.c in lua and -Wstringop-overread for nvpair.c. Reviewed by: mm Differential Revision: https://reviews.freebsd.org/D37631 |
#
e00b6e25 |
|
21-Dec-2022 |
Søren Schmidt <sos@FreeBSD.org> |
Attach Motorcomm YT8511 GbE PHY driver to the build. |
#
969935b8 |
|
11-Nov-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Add support for an array of hwresets In some drivers we need to assert and deassert a group of hardware resets in any order. To support this add a new hwreset_array that manages all hwresets defined for a device. Reviewed by: bz, manu, mmel Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37357 |
#
eaabc937 |
|
14-Dec-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
tcp: retire TCPDEBUG This subsystem is superseded by modern debugging facilities, e.g. DTrace probes and TCP black box logging. We intentionally leave SO_DEBUG in place, as many utilities may set it on a socket. Also the tcp::debug DTrace probes look at this flag on a socket. Reviewed by: gnn, tuexen Discussed with: rscheff, rrs, jtl Differential revision: https://reviews.freebsd.org/D37694 |
#
eb6f4885 |
|
07-Dec-2022 |
Doug Rabson <dfr@FreeBSD.org> |
Fix a typo in the binmisc option name This should be spelt IMGACT_BINMISC to match the filename. The option name does not appear outside of sys/conf and this module is typically used via the kernel module imgact_binmisc.ko. MFC After: 2 weeks |
#
813c5b75 |
|
08-Nov-2022 |
Luiz Amaral <email@luiz.eng.br> |
pfsync: prepare code to accommodate AF_INET6 family Work is ongoing to add support for pfsync over IPv6. This required some changes to allow for differentiating between the two families in a more generic way. This patch converts the relevant ioctls to using nvlists, making future extensions (such as supporting IPv6 addresses) easier. Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D36277 |
#
3c0e9169 |
|
07-Nov-2022 |
Mark Johnston <markj@FreeBSD.org> |
ksan: Build sanitizer runtimes without stack-smashing protection On arm64 with per-thread stack canaries enabled (the PERTHREAD_SSP option), the compiler may load curthread->td_md.md_canary in function prologues. This is not safe in data_abort(); see commit 2c10be9e06d4. Thus, sanitizer runtimes must also avoid accessing the current thread's canary. Since SSP has limited utility in sanitizer runtimes, simply disable it unconditionally to avoid unpleasant surprises in the future. MFC after: 2 weeks Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. |
#
58d84ef8 |
|
04-Nov-2022 |
Sumit Saxena <sumit.saxena@broadcom.com> |
if_bnxt: Added support for mgmt interface for passthrough hwrms Added support for application management interface. There are two types of commands supported: 1. Firmware IOCTLs: These ioctls are meant for firmware consumption. Driver acts as a transport for these. 2. Driver only IOCTLs: These ioctls are meant for driver consumption. Driver will serve these ioctls without sending them down to firmware. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D36448 |
#
744bfb21 |
|
28-Oct-2022 |
John Baldwin <jhb@FreeBSD.org> |
Import the WireGuard driver from zx2c4.com. This commit brings back the driver from FreeBSD commit f187d6dfbf633665ba6740fe22742aec60ce02a2 plus subsequent fixes from upstream. Relative to upstream this commit includes a few other small fixes such as additional INET and INET6 #ifdef's, #include cleanups, and updates for recent API changes in main. Reviewed by: pauamma, gbe, kevans, emaste Obtained from: git@git.zx2c4.com:wireguard-freebsd @ 3cc22b2 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D36909 |
#
227046a4 |
|
28-Oct-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Enable more extres options when FDT is missing These now build when FDT is not included in the kernel config. Sponsored by: Innovate UK |
#
19ee8335 |
|
27-Oct-2022 |
Jung-uk Kim <jkim@FreeBSD.org> |
acpica: Merge ACPICA 20221020 |
#
64c3edc2 |
|
27-Oct-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Allow the extres regulator code to build without FDT This allows drivers that use this to build in an ACPI only kernel. Sponsored by: The FreeBSD Foundation |
#
7b43fba0 |
|
27-Oct-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Mark FDT only drivers as such These drivers have FDT bindings, but not ACPI. Mark them as FDT only to help a no-FDT LINT kernel build. Sponsored by: The FreeBSD Foundation |
#
a9880bfe |
|
17-Oct-2022 |
Takanori Watanabe <takawata@FreeBSD.org> |
acpi_ged: New driver to ACPI generic event device New driver to ACPI generic event device, defined in ACPI spec. Some ACPI power button may not work without this. In qemu arm64 with "virt" machine, with ACPI firmware, enable devd check devd message by and invoke following command in qemu monitor (qemu) system_powerdown and make sure some power button input event appear. (setting sysctl hw.acpi.power_button_state=S5 is not work, because ACPI tree does not have \_S5 object.) Reviewed by: andrew, hrs Differential Revision: https://reviews.freebsd.org/D37032 |
#
0e1f5ab7 |
|
12-Aug-2022 |
Colin Percival <cperciva@FreeBSD.org> |
virtio_mmio: Support command-line parameters The Virtio MMIO bus driver was added in 2014 with support for devices exposed via FDT; in 2018 support was added to discover Virtio MMIO devices via ACPI tables, as in QEMU. The Firecracker VMM eschews both FDT and ACPI, instead presenting device information via kernel command line arguments of the form virtio_mmio.device=<parameters>. These command line parameters get converted into kernel environment variables; this adds support for parsing those variables and attaching virtio_mmio children to nexus. There is a case to be made that it would be cleaner to have a new "cmdlinebus" attached to nexus and virtio_mmio children attached to that. A future commit might do that. Discussed with: imp, jrtc27 Sponsored by: https://patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D36189 |
#
c7046f76 |
|
21-Sep-2022 |
Martin Matuska <mm@FreeBSD.org> |
zfs: merge openzfs/zfs@c629f0bf6 Notable upstream pull request merges: #13725 Fix BLAKE3 tuneable and module loading on Linux and FreeBSD #13756 FreeBSD: Organize sysctls #13773 FreeBSD: add kqfilter support for zvol cdev #13781 Importing from cachefile can trip assertion #13794 Apply arc_shrink_shift to ARC above arc_c_min #13798 Improve too large physical ashift handling #13799 Revert "Avoid panic with recordsize > 128k, raw sending and no large_blocks" #13802 Add zfs.sync.snapshot_rename #13831 zfs_enter rework #13855 zfs recv hangs if max recordsize is less than received recordsize Obtained from: OpenZFS OpenZFS commit: c629f0bf62e351355716f9870d6c2e377584b016
|
#
f697b943 |
|
20-Sep-2022 |
Jake Freeland <jfree@FreeBSD.org> |
linuxkpi: drm-kmod debugfs support This diff extends LinuxKPI to support simple attribute files in debugfs. These simple attributes are an essential component for compiling drm-kmod with CONFIG_DEBUG_FS enabled. This will allow for easier graphics driver debugging using Intel's igt-gpu-tools. Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D35883 Sponsored by: Google, Inc. (GSoC 2022) |
#
b8a083ea |
|
16-Sep-2022 |
Jakub Kołodziej <jkol@semihalf.com> |
gpio: Merge TCA6416 & TCA6408 drivers into TCA64XX This merges TCA6416, TCA6408 drivers and adds PCA9555 support. They handle 8 pin and 16 pin ICs with basic INPUT/OUTPUT functionality. The register map is fairly similar so there is no point in having two separate drivers. Reviewed by: kd Obtained from: Semihalf Differential Revision: https://reviews.freebsd.org/D36559 |
#
9054e296 |
|
17-Mar-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire ISA sound card DMA support As all ISA sound card drivers have been removed sndbuf_dma no longer serves any purpose. Reviewed by: mav Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34671 |
#
129028c7 |
|
13-Sep-2022 |
Jessica Clarke <jrtc27@FreeBSD.org> |
da9063_rtc: Add new driver for the Dialog Semiconductor DA9063 RTC This is a simple RTC present in the PMIC, supporting 1s precision. This is the PMIC on SiFive's HiFive Unmatched. Reviewed by: mhorne, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36200 |
#
80466455 |
|
13-Sep-2022 |
Jessica Clarke <jrtc27@FreeBSD.org> |
da9063_iic: Add new driver for the Dialog Semiconductor DA9063 PMIC This is an MFD with regulators, an RTC and a watchdog, among other things. This adds the necessary infrastructure for specific children to be added. Note that the PMIC can also be attached via SPI, not just I2C, and so the interface is abstracted. No SPI implementation is added, however. This is the PMIC on SiFive's HiFive Unmatched. Reviewed by: manu, mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36199 |
#
8c6e5d8c |
|
07-Sep-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Import an optimized str{n}cmp on arm64 These are from the Arm Optimized Routines and don't use the VFP so are safe to use in the kernel. Sponsored by: The FreeBSD Foundation |
#
aa74cc6d |
|
06-Sep-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
divert(4): do not depend on ipfw(4) Although originally socket was intended to use with ipfw(4) only, now it also can be used with pf(4). On a kernel without packet filters, it still can be used to inject traffic. |
#
e72c5228 |
|
30-Aug-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
divert(4): make it compilable and working without INET Differential revision: https://reviews.freebsd.org/D36383 |
#
2bb28b5f |
|
14-Aug-2022 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.27.0.0. Changes since 1.26.6.0 are listed here. This list comes from the Release Notes for "Chelsio Unified Wire 3.17.0.0 for Linux" dated 2022-07-29. Fixes ----- BASE: - Enabled all MA parity interrupt bits. - Use config file value to override number of rx channel. nrxch=1 was not handled in the firmware. - Replaced read only registers with new registers EDC_H_BIST_USER_WDATA0, EDC_H_BIST_USER_WDATA1 and EDC_H_BIST_CMD_LEN to dump the uP memory parity error status registers. - 10G simplex module support enabled. Obtained from: Chelsio Communications MFC after: 1 month Sponsored by: Chelsio Communications |
#
f63cb32c |
|
11-Aug-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Retire 4.4BSD raw sockets Until today the remnants of the original code had provided some aid in implementation of routing socket and IPSEC key socket. There were more obfuscation rather than generalisation with this aid. A historical reference on the original idea of the raw sockets can be found in chapter 11 of 4.4BSD System Manager Manual: https://raw.githubusercontent.com/sergev/4.4BSD-Lite2/master/usr/share/doc/smm/18.net.pdf Reviewed by: melifaro Differential revision: https://reviews.freebsd.org/D36124 |
#
102e6817 |
|
09-Aug-2022 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
devd: move all devd notification logic to a separate file. Currently, subr_bus.c shares logic for (a) maintaining all HW devices (e.g. discovery/attach/detach logic) and (b) generic devctl notification layer for devices/PMU/GEOM/interfaces/etc). These two subsystems share really tiny interaction interface, composed of 3 notification functions. With that in mind, move devctl layer to a separate file, establishing a clear notification interface between the sub.c bus layer and the provider (devctl). The primary driver of this change is netlink implementation (D36002). The idea is to propagate device-level events to netlink as well, so all netlink customers can subscribe to these changes. The long-term goal is to deprecate devctl and to use netlink as the kernel<> userland transport provided netlink gets enough traction. Reviewed by: imp, markj Differential Revision: https://reviews.freebsd.org/D36091 MFC after: 1 month |
#
5c4d2252 |
|
08-Aug-2022 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
routing: move rtentry and subscription code out of route_ctl.c route_ctl.c size has grown considerably since initial introduction. Factor out non-relevant parts: * all rtentry logic, such as creation/destruction and accessors goes to net/route/route_rtentry.c * all rtable subscription logic goes to net/route/route_subscription.c Differential Revision: https://reviews.freebsd.org/D36074 MFC after: 1 month |
#
2ce55385 |
|
04-Aug-2022 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
routing: add rib_<add|del>_route_px() functions operating with nexthops. This change adds public KPI to work with routes using pre-created nexthops, instead of using data from addrinfo structures. These functions will be later used for adding/deleting kernel-originated routes and upcoming netlink protocol. As a part of providing this KPI, low-level route addition code has been reworked to provide more control over route creation or change. Specifically, a number of operation flags (RTM_F_<CREATE|EXCL|REPLACE|APPEND>) have been added, defining the desired behaviour the the route already exists (or not exists). This change required some changes in the multipath addition code, resulting in moving this code to route_ctl.c, rendering mpath_ctl.c empty. Differential Revision: https://reviews.freebsd.org/D36073 MFC after: 1 month |
#
adff82ea |
|
29-Jul-2022 |
Luiz Souza <luiz@netgate.com> |
Add the PHY driver for the Marvell 88E1512. This driver supports the auto negotiation mode between the copper and fiber ports. This PHY has two independent PHYs (one for copper and other for fiber) but in this case the functionality is presented as a single PHY for easy management. Sponsored by: Rubicon Communications, LLC ("Netgate") |
#
bbb2f537 |
|
08-Aug-2022 |
John Baldwin <jhb@FreeBSD.org> |
cxgbe: Rename t4_kern_tls.c to t6_kern_tls.c. This implementation of NIC TLS is specific to T6 adapters. Sponsored by: Chelsio Communications |
#
e726e710 |
|
26-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Suppress unused variable warning for zfs_fm.c With clang 15, the following -Werror warning is produced: sys/contrib/openzfs/module/zfs/zfs_fm.c:256:6: error: variable 'cnt' set but not used [-Werror,-Wunused-but-set-variable] int cnt = 0; ^ The 'cnt' variable does not seem to be used for anything, but since this is contributed code, suppress the warning instead. MFC after: 3 days |
#
e83ffec3 |
|
26-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Suppress -Wstrict-prototypes for several zlib files Clang 15 is more strict about function definitions not matching declarations, and zlib has a lot of these, but since it is contributed code (and in K&R style to boot), suppress those warnings instead. MFC after: 3 days |
#
3c9a0112 |
|
20-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Fix unused variable warning in acpica's nsaccess.c With clang 15, the following -Werror warning is produced: sys/contrib/dev/acpica/components/namespace/nsaccess.c:452:29: error: variable 'NumCarats' set but not used [-Werror,-Wunused-but-set-variable] UINT32 NumCarats; ^ Here, 'NumCarats' is a variable that is only used when debugging. Since acpica is contributed code, suppress the warning with a compile flag. MFC after: 3 days |
#
287d467c |
|
18-Jul-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
mac: add new mac_ddb(4) policy Generally, access to the kernel debugger is considered to be unsafe from a security perspective since it presents an unrestricted interface to inspect or modify the system state, including sensitive data such as signing keys. However, having some access to debugger functionality on production systems may be useful in determining the cause of a panic or hang. Therefore, it is desirable to have an optional policy which allows limited use of ddb(4) while disabling the functionality which could reveal system secrets. This loadable MAC module allows for the use of some ddb(4) commands while preventing the execution of others. The commands have been broadly grouped into three categories: - Those which are 'safe' and will not emit sensitive data (e.g. trace). Generally, these commands are deterministic and don't accept arguments. - Those which are definitively unsafe (e.g. examine <addr>, search <addr> <value>) - Commands which may be safe to execute depending on the arguments provided (e.g. show thread <addr>). Safe commands have been flagged as such with the DB_CMD_MEMSAFE flag. Commands requiring extra validation can provide a function to do so. For example, 'show thread <addr>' can be used as long as addr can be checked against the system's list of process structures. The policy also prevents debugger backends other than ddb(4) from executing, for example gdb(4). Reviewed by: markj, pauamma_gundo.com (manpages) Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D35371 |
#
2449b9e5 |
|
18-Jul-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
mac: kdb/ddb framework hooks Add three simple hooks to the debugger allowing for a loaded MAC policy to intervene if desired: 1. Before invoking the kdb backend 2. Before ddb command registration 3. Before ddb command execution We extend struct db_command with a private pointer and two flag bits reserved for policy use. Reviewed by: markj Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D35370 |
#
1424f65b |
|
16-Jul-2022 |
Mark Johnston <markj@FreeBSD.org> |
vm_pager: Remove the default pager It's unused now. Keep the OBJ_DEFAULT identifier, but make it an alias of OBJT_SWAP for the benefit of out-of-tree code. Reviewed by: alc, imp, kib Tested by: pho Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35790 |
#
97dbd377 |
|
02-Jul-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
pca954x: harmonize pca9547 and pca954x and add pca9540 support The two implementations for the pca9548 switch and the pca9547 mux seemed close enough so we can put them together and with a bit more abstraction add pca9540 support. While here apply a bit of consistency in variable and driver naming and use device_has_property instead of the FDT-only OF_ variant. This disconnects pca9547 from the build but does not yet delete it. MFC after: 2 weeks Reviewed by: mmel (earlier version), avg Differential Revision: https://reviews.freebsd.org/D35701 |
#
038405f3 |
|
29-Jun-2022 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Enable CRC64 checksums in xz. Reviewed by: imp Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D35668 |
#
ab91feab |
|
22-Feb-2022 |
Kristof Provost <kp@FreeBSD.org> |
ovpn: Introduce OpenVPN DCO support OpenVPN Data Channel Offload (DCO) moves OpenVPN data plane processing (i.e. tunneling and cryptography) into the kernel, rather than using tap devices. This avoids significant copying and context switching overhead between kernel and user space and improves OpenVPN throughput. In my test setup throughput improved from around 660Mbit/s to around 2Gbit/s. Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D34340 |
#
d1aefbc0 |
|
23-Jun-2022 |
Martin Matuska <mm@FreeBSD.org> |
zfs: fix static module build broken in 1f1e2261e |
#
716924cb |
|
21-Jun-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire snd_sbc ISA sound card driver Along with the snd_sb8 and snd_sb16 drivers. They supported ISA Creative Sound Blaster and compatible sound cards. Note that isa/sb.h is not removed, as it is still used by some PCI sound card drivers. ISA sound card drivers are deprecated as discussed on the current[1] and stable[2] mailing lists. Deprecation notices were added in e39ec8933be4 and MFCd to stable branches. Driver removals are being committed individually so that specific drivers can be restored if necessary (either in FreeBSD or by downstream projects). [1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html [2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html Reviewed by: mav Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34671 |
#
5126e5ee |
|
21-Jun-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire snd_mss ISA sound card driver The snd_mss driver supported Microsoft Sound System sound cards. ISA sound card drivers are deprecated as discussed on the current[1] and stable[2] mailing lists. Deprecation notices were added in e39ec8933be4 and MFCd to stable branches. Driver removals are being committed individually so that specific drivers can be restored if necessary (either in FreeBSD or by downstream projects). [1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html [2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html Reviewed by: mav Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: Thttps://reviews.freebsd.org/D34671 |
#
754decef |
|
21-Jun-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire snd_gusc ISA sound card driver snd_gusc supported the Gravis UltraSound MAX and UltraSound PnP sound cards. ISA sound card drivers are deprecated as discussed on the current[1] and stable[2] mailing lists. Deprecation notices were added in e39ec8933be4 and MFCd to stable branches. Driver removals are being committed individually so that specific drivers can be restored if necessary (either in FreeBSD or by downstream projects). [1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html [2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html Reviewed by: mav Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34671 |
#
aa83e9b1 |
|
21-Jun-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire snd_ess ISA sound card driver snd_ess supported sound cards using the ESS 18xx chipset. ISA sound card drivers are deprecated as discussed on the current[1] and stable[2] mailing lists. Deprecation notices were added in e39ec8933be4 and MFCd to stable branches. Driver removals are being committed individually so that specific drivers can be restored if necessary (either in FreeBSD or by downstream projects). [1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html [2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html Reviewed by: mav Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34671 |
#
df51e63e |
|
21-Jun-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire snd_ad1816 ISA sound card driver snd_ad1816 supported ISA sound cards based on the Analog Devices AD1816A "SoundPort® Controller". ISA sound card drivers are deprecated as discussed on the current[1] and stable[2] mailing lists. Deprecation notices were added in e39ec8933be4 and MFCd to stable branches. Driver removals are being committed individually so that specific drivers can be restored if necessary (either in FreeBSD or by downstream projects). [1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html [2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html Reviewed by: mav Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34671 |
#
acdfbc6c |
|
30-May-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
irdma: fix LINT-NOIP/NOINET/NOINET6 builds This module depends on the presence of both INET and INET6 options in order to compile. Reviewed by: erj Fixes: cdcd52d41e24 ("irdma: Add RDMA driver for Intel(R) Ethernet...") Differential Revision: https://reviews.freebsd.org/D35343 |
#
cdcd52d4 |
|
23-May-2022 |
Bartosz Sobczak <bartosz.sobczak@intel.com> |
irdma: Add RDMA driver for Intel(R) Ethernet Controller E810 This is an initial commit for RDMA FreeBSD driver for Intel(R) Ethernet Controller E810, called irdma. Supporting both RoCEv2 and iWARP protocols in per-PF manner, RoCEv2 being the default. Testing has been done using krping tool, perftest, ucmatose, rping, ud_pingpong, rc_pingpong and others. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: #manpages (pauamma_gundo.com) [documentation] MFC after: 1 week Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D34690 |
#
a95c7001 |
|
13-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
zfs: Disable -Wunused-but-set-variable for dnode.c. dn is only used by DNODE_VERIFY (conditional on ZFS_DEBUG) in dnode_special_open. |
#
1ae22e62 |
|
12-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
infiniband: Disable -Wunused-but-set-variable for a few more OFED files. |
#
b93f47ea |
|
17-Mar-2022 |
Roger Pau Monné <royger@FreeBSD.org> |
xen/acpi: upload Cx and Px data to Xen When FreeBSD is running as dom0 (initial domain) on a Xen system it has access to the native ACPI tables and is the OSPM. However the hypervisor is the entity in charge of the CPU idle and frequency states, and in order to perform this duty it requires information found the ACPI dynamic tables that can only be parsed by the OSPM. Introduce a new Xen specific ACPI driver to fetch the Processor related information and upload it to Xen. Note that this driver needs to take precedence over the generic ACPI CPU driver when running as dom0, so downgrade the probe score of the native driver to BUS_PROBE_DEFAULT in order for the Xen specific driver to use BUS_PROBE_SPECIFIC. Tested on an Intel NUC to successfully parse and upload both the Cx and Px states to Xen. Sponsored by: Citrix Systems R&D Reviewed by: jhb kib Differential revision: https://reviews.freebsd.org/D34841 |
#
db3603ff |
|
06-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
ibcore: Disable set but unused warnings. |
#
2f3b6756 |
|
05-Apr-2022 |
Warner Losh <imp@FreeBSD.org> |
zstd: Supress set but unused warnings for zstd_compress_superblock.c Sponsored by: Netflix |
#
c9114f9f |
|
23-Mar-2021 |
Mitchell Horne <mhorne@FreeBSD.org> |
Add new vnode dumper to support live minidumps This dumper can instantiate and write the dump's contents to a file-backed vnode. Unlike existing disk or network dumpers, the vnode dumper should not be invoked during a system panic, and therefore is not added to the global dumper_configs list. Instead, the vnode dumper is constructed ad-hoc when a live dump is requested using the new ioctl on /dev/mem. This is similar in spirit to a kgdb session against the live system via /dev/mem. As described briefly in the mem(4) man page, live dumps are not guaranteed to result in a usuable output file, but offer some debugging value where forcefully panicing a system to dump its memory is not desirable/feasible. A future change to savecore(8) will add an option to save a live dump. Reviewed by: markj, Pau Amma <pauamma@gundo.com> (manpages) Discussed with: kib MFC after: 3 weeks Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D33813 |
#
92e6b471 |
|
18-Mar-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire broken snd_ds1 and snd_maestro drivers In 2012 joel@ reported[1] that these were not functional, and they do not appear to have been fixed since. [1] https://lists.freebsd.org/pipermail/freebsd-multimedia/2012-January/012751.html Reported by: joel Relnotes: Yes Sponsored by: The FreeBSD Foundation |
#
d5add41d |
|
02-Mar-2022 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
ietp(4): Driver for Elantech I2C touchpad MFC after: 2 month Tested by: Matt Daw <matt.daw_AT_gmail_DOT_com> |
#
5aa839c9 |
|
02-Mar-2022 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
bcm5974: wsp(4) driver version with HID attachment. MFC after: 2 month Tested by: Greg V (Type 4 touchpads) |
#
1ef67193 |
|
02-Mar-2022 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Add missed dependency on usbdevs.h for static builds MFC after: 2 month |
#
7dda139e |
|
01-Mar-2022 |
Warner Losh <imp@FreeBSD.org> |
ath: missed a chance to use ${ATH_C} Fixes: 8881d206f4e6 (reviewed by scottl, markj in D34401) Noticed by: markj Sponsored by: Netflix |
#
8881d206 |
|
28-Feb-2022 |
Warner Losh <imp@FreeBSD.org> |
ath: Suppress set but unused warnings The ath driver has a lot of these warnings. It's an older driver, so just supress these warnings until they can be fixed. They are a mix of simple dead stores, debubgging output and stuff that would require careful study to know if its safe to remove the access or not (there are likely very few of the latter, but if there are any they are latent bugs that compiler could optimize away). Since I have no ath hardware to test on anymore, take the conservative approach. Sponsored by: Netflix |
#
c7996ddf |
|
28-Feb-2022 |
Kirk McKusick <mckusick@FreeBSD.org> |
Create a new GEOM utility, gunion(8). The gunion(8) utility is used to track changes to a read-only disk on a writable disk. Logically, a writable disk is placed over a read-only disk. Write requests are intercepted and stored on the writable disk. Read requests are first checked to see if they have been written on the top (writable disk) and if found are returned. If they have not been written on the top disk, then they are read from the lower disk. The gunion(8) utility can be especially useful if you have a large disk with a corrupted filesystem that you are unsure of how to repair. You can use gunion(8) to place another disk over the corrupted disk and then attempt to repair the filesystem. If the repair fails, you can revert all the changes in the upper disk and be back to the unchanged state of the lower disk thus allowing you to try another approach to repairing it. If the repair is successful you can commit all the writes recorded on the top disk to the lower disk. Another use of the gunion(8) utility is to try out upgrades to your system. Place the upper disk over the disk holding your filesystem that is to be upgraded and then run the upgrade on it. If it works, commit it; if it fails, revert the upgrade. Further details can be found in the gunion(8) manual page. Reviewed by: Chuck Silvers, kib (earlier version) tested by: Peter Holm Differential Revision: https://reviews.freebsd.org/D32697 |
#
b7bfded1 |
|
23-Feb-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make mmc_fdt_helper and sdhci depends on clk and regulator Those two frameworks are needed. |
#
adbb32d3 |
|
22-Feb-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make mmc_pwrseq depends on regulator and clk It uses those two frameworks too. |
#
832adbd4 |
|
22-Feb-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make mmc_helpers depends on regulator and clk It also needs those two framework. |
#
da5b7e90 |
|
21-Feb-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
boottrace: a simple boot and shutdown-time tracing facility Boottrace is a facility for capturing trace events during boot and shutdown. This includes kernel initialization, as well as rc. It has been used by NetApp internally for several years, for catching and diagnosing slow devices or subsystems. It is driven from userspace by sysctl interface, and the output is a human-readable log of events (kern.boottrace.log). This commit adds the core boottrace functionality implementing these interfaces. Adding the trace annotations themselves to kernel and userland will happen in follow-up commits. A future commit will also add a boottrace(4) man page. For now, boottrace is unconditionally compiled into the kernel but disabled by default. It can be enabled by setting the kern.boottrace.enabled tunable to 1 in loader.conf(5). There is an existing boot-time event tracing facility, which can be compiled into the kernel with 'options TSLOG'. While there is some functional overlap between this and boottrace, they are distinct. TSLOG is suitable for generating detailed timing information and flamegraphs, and has been used to great success by cperciva@ to diagnose and reduce the overall system boot time. Boottrace aims to more quickly provide an overview of timing and resource usage of the boot (and shutdown) process to a sysadmin who requires this knowledge. Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. X-NetApp-PR: #23 Differential Revision: https://reviews.freebsd.org/D30184 |
#
f898e419 |
|
21-Feb-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make mmc_helper depend on gpio mmc_helper have an hard dependency on gpio_if.h gpio(4) isn't in the default x86 kernel and none of the x86 sd/mmc drivers uses mmc_helper so just add a dependency on gpio. Fixes: 85b3794ceef ("files: Make ext_resources non-optional") |
#
85b3794c |
|
11-Jan-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make ext_resources non-optional EXT_RESOURCES have been introduced in 12-CURRENT and all supported releases have it enabled in their kernel config. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D33834 |
#
1bd3e8ba |
|
20-Feb-2022 |
Michal Meloun <mmel@FreeBSD.org> |
ofw_iicbus: Add method for manual setting of basic OFW parameters. Some IIC multifunction devices may have multiple I2C addresses per chip, but only the primary address is listed in the DT (e.g. MAX776200). In this case, the sub-devices for the secondary addresses must be created manually with fixed OFW parameters (node, name, compatibility string, IIC address). Add a bus method to the ofw_iicbus interface that does this. MFC after: 4 weeks |
#
5f2aca83 |
|
08-Feb-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Disable clang 14 warning about bitwise operators in zstd Parts of zstd, used in openzfs and other places, trigger a new clang 14 -Werror warning: ``` sys/contrib/zstd/lib/decompress/huf_decompress.c:889:25: error: use of bitwise '&' with boolean operands [-Werror,-Wbitwise-instead-of-logical] (BIT_reloadDStreamFast(&bitD1) == BIT_DStream_unfinished) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` While the warning is benign, it should ideally be fixed upstream and then vendor-imported, but for now silence it selectively. MFC after: 3 days |
#
f7220c48 |
|
05-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: move ECN handling code to a common file Reduce the burden to maintain correct and extensible ECN related code across multiple stacks and codepaths. Formally no functional change. Incidentially this establishes correct ECN operation in one instance. Reviewed By: rrs, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34162 |
#
7994ef3c |
|
04-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
Revert "tcp: move ECN handling code to a common file" This reverts commit 0c424c90eaa6602e07bca7836b1d178b91f2a88a. |
#
0c424c90 |
|
04-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: move ECN handling code to a common file Reduce the burden to maintain correct and extensible ECN related code across multiple stacks and codepaths. Formally no functional change. Incidentially this establishes correct ECN operation in one instance. Reviewed By: rrs, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34162 |
#
63b7c2df |
|
02-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
Disable -Wunused-function for {ed,x}25519_ref10.c in libsodium. |
#
84d7b8e7 |
|
01-Feb-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5en: Implement TLS RX support. TLS RX support is modeled after TLS TX support. The basic structures and layouts are almost identical, except that the send tag created filters RX traffic and not TX traffic. The TLS RX tag keeps track of past TLS records up to a certain limit, approximately 1 Gbyte of TCP data. TLS records of same length are joined into a single database record. Regularly the HW is queried for TLS RX progress information. The TCP sequence number gotten from the HW is then matches against the database of TLS TCP sequence number records and lengths. If a match is found a static params WQE is queued on the IQ and the hardware should immediately resume decrypting TLS data until the next non-sequential TCP packet arrives. Offloading TLS RX data is supported for untagged, prio-tagged, and regular VLAN traffic. MFC after: 1 week Sponsored by: NVIDIA Networking |
#
2c0ade80 |
|
01-Feb-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5: Implement flow steering helper functions for TCP sockets. This change adds convenience functions to setup a flow steering rule based on a TCP socket. The helper function gets all the address information from the socket and returns a steering rule, to be used with HW TLS RX offload. MFC after: 1 week Sponsored by: NVIDIA Networking |
#
69426357 |
|
01-Feb-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5en: Implement support for internal queues, IQ. Internal send queues are regular sendqueues which are reserved for WQE commands towards the hardware and firmware. These queues typically carry resync information for ongoing TLS RX connections and when changing schedule queues for rate limited connections. The internal queue, IQ, code is more or less a stripped down copy of the existing SQ managing code with exception of: 1) An optional single segment memory buffer which can be read or written as a whole by the hardware, may be provided. 2) An optional completion callback for all transmit operations, may be provided. 3) Does not support mbufs. MFC after: 1 week Sponsored by: NVIDIA Networking |
#
1961a14a |
|
04-Nov-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
linuxkpi: Add i2c support Add i2c support to linuxkpi. This is needed by drm-kmod. For every i2c_adapter added by i2c_add_adapter we add a child to the device named "lkpi_iic". This child handle the conversion between Linux i2c_msgs to FreeBSD iic_msgs. For every i2c_adapter added by i2c_bit_add_bus we add a child to the device named "lkpi_iicbb". This child handle the conversion between Linux i2c_msgs to FreeBSD iic_msgs. With the help of iic(4), this expose the i2c controller to userspace allowing a user to query DDC information from a monitor. e.g.: i2c -f /dev/iic0 -a 0x28 -c 128 -d r will query the standard EDID from the monitor if plugged. The bitbang part (lkpi_iicbb) isn't tested at all for now as I don't have compatible hardware (all my hardware have native i2c controller). Tested on: Intel (SandyBridge, Skylake, ApolloLake) Tested on: AMD (Picasso, Polaris (amd64 and arm64)) MFC after: 1 month Reviewed by: hselasky Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33053 |
#
16cf646a |
|
24-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
crypto: Remove xform.c and compile xform_*.c standalone. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33995 |
#
1d95c6f9 |
|
24-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
Don't implicitly pull in most of 'device crypto' for 'options IPSEC'. options IPSEC is already documented as requiring 'device crypto' and duplicating the dependencies is harder to read and not always consistent. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33990 |
#
0c6274a8 |
|
24-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
crypto: Add an API supporting curve25519. This adds a wrapper around libsodium's curve25519 support matching Linux's curve25519 API. The intended use case for this is WireGuard. Note that this is not integrated with OCF as it is not related to symmetric operations on data. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33935 |
#
5025e850 |
|
23-Jan-2022 |
Martin Matuska <mm@FreeBSD.org> |
zfs: fix kernel build after e92ffd9b6 if ZFS is compiled in Add missing source file lz4_zfs.c to sys/conf/files |
#
42876a03 |
|
18-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
crypto: Stop compiling in chacha20poly1305 AEAD ciphers from libsodium. These ciphers are now supported via OCF or 'struct enc_xform'. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33889 |
#
e7168004 |
|
18-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
crypto: Add a simple API for [X]ChaCha20-Poly1035 on flat buffers. This is a synchronous software API which wraps the existing software implementation shared with OCF. Note that this will not currently use optimized backends (such as ossl(4)) but may be appropriate for operations on small buffers. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33524 |
#
3b762424 |
|
03-Jan-2022 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.26.6.0. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CHANGES ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Version : 1.26.6.0 Date : 01/03/2022 ================================================================================ Fixes ----- BASE: - Fixed one module eeprom read failure. - Fixed an issue with speed selection when 40G and 25G are advertised and supported. - Fixed a random traffic hang when T5 receives invalid ets BW in dcbx messages from a switch. - Fixed very long link up time with few switches. ================================================================================ Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications |
#
6b4cac81 |
|
26-Dec-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: add 802.11 compat code Add 802.11 compat code for mac80211 and to a minimal degree cfg80211. This allows us to compile and use basic functionality of wireless drivers such as iwlwifi. This is a constant work in progress but having it in the tree will allow others to test and more easy to track changes and avoid having snapshots no longer applying to branches. Sponsored by: The FreeBSD Foundation MFC after: 3 days |
#
d1058958 |
|
26-Dec-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: import beginning of a new version of netdevice.h Import a netdevice update complementing the last remaining bits of the old ifnet derived implementation. Along add a (for now) task based NAPI implementation. This is the minimal set of chnages which are needed for the initial support of wireless drivers. The NAPI implementation has an option to still switch to "direct dispatch" as it had been used by these drivers before not relying on a deferred context along with some printf tracing. This has been helpful in the last weeks for debugging and will be cleaned once we have had broader testing and are sure this is fine as-is. Should we need a more time-sensitive or load-sensitive response in the future we can always switch to something more sophisticated. Sponsored by: The FreeBSD Foundation MFC after: 3 days X-Differential Revision: D33075 (abandoned without feedback a while ago) |
#
49ed6e97 |
|
26-Dec-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: add a work-in-progress skbuff implementation This is a work-in-progress implementation of sk_buff compat code used for wireless drivers only currently. Bring in this version of the code as it has proven to be good enough to have packets going for a few months. The current implementation has several drawbacks including the need for us to copy data between sk_buffs and mbufs. Do not rely on the internals of this implementation. They are highly likely to change as we will improve the integration to FreeBSD mbufs. Sponsored by: The FreeBSD Foundation MFC after: 3 days |
#
3b9b51fe |
|
15-Dec-2021 |
Cy Schubert <cy@FreeBSD.org> |
ipfilter: Move kernel bits to netpfil Through fixes and improvements our ipfilter sources have diverged enough to warrant move from contrib into sys/netpil. Now that I'm planning on implementing MSS clamping as in iptables it makes more sense to move ipfilter to netpfil. This is the first of three commits the ipfilter move. Suggested by glebius on two occaions. Suggested by and discussed with: glebius Reviewed by: glebius, kp (for #network) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D33510 |
#
eb2d9adb |
|
16-Dec-2021 |
John Baldwin <jhb@FreeBSD.org> |
Sort libsodium entries by path in sys/conf/files. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33483 |
#
31b35400 |
|
14-Dec-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove more of the PC Card infrastructure Remove more of the pccard infrasturcture. CardBus Yenta driver (cbb) still references the remaining bits. It needs some additiona work to remove 16-bit support still, so it remains. Sponsored by: Netflix |
#
357ba2cf |
|
09-Dec-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.26.4.0 (Rest is from the README that came with the firmware) Version : 1.26.4.0 Date : 12/02/2021 Fixes ----- BASE: - Fixed error on setting 25G speed on 100G copper with multiple FEC set in firmware commands. - Handle link of unknown optics modules by enabling module tx unconditionally. - Fixed link not coming up for 25G CRS phys. Firmware incorrectly tried to bring up the link in RS-FEC but as per IEEE spec, it must be BASER FEC. - Fixed an issue where firmware doesn't automatically retry next FEC if driver asks to bring up the link using RS-FEC and link doesn't come up. Obtained from: Chelsio Communications MFC after: 1 month Sponsored by: Chelsio Communications |
#
bf2fa8d9 |
|
04-Dec-2021 |
Florian Walpen <dev@submerge.ch> |
MAC/priority module for realtime privilege group This is a MAC policy module that grants scheduling privileges based on group membership. Users or processes in the group realtime (gid 47) are allowed to run threads and processes with realtime scheduling priority. For timing-sensitive, low-latency software like audio/jack, running with realtime priority helps to avoid stutter and gaps. PR: 239125 MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D33191 |
#
db0ac6de |
|
02-Dec-2021 |
Cy Schubert <cy@FreeBSD.org> |
Revert "wpa: Import wpa_supplicant/hostapd commit 14ab4a816" This reverts commit 266f97b5e9a7958e365e78288616a459b40d924a, reversing changes made to a10253cffea84c0c980a36ba6776b00ed96c3e3b. A mismerge of a merge to catch up to main resulted in files being committed which should not have been. |
#
266f97b5 |
|
02-Dec-2021 |
Cy Schubert <cy@FreeBSD.org> |
wpa: Import wpa_supplicant/hostapd commit 14ab4a816 This is the November update to vendor/wpa committed upstream 2021-11-26. MFC after: 1 month
|
#
93c67567 |
|
02-Dec-2021 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove "options PCBGROUP" With upcoming changes to the inpcb synchronisation it is going to be broken. Even its current status after the move of PCB synchronization to the network epoch is very questionable. This experimental feature was sponsored by Juniper but ended never to be used in Juniper and doesn't exist in their source tree [sjg@, stevek@, jtl@]. In the past (AFAIK, pre-epoch times) it was tried out at Netflix [gallatin@, rrs@] with no positive result and at Yandex [ae@, melifaro@]. I'm up to resurrecting it back if there is any interest from anybody. Reviewed by: rrs Differential revision: https://reviews.freebsd.org/D33020 |
#
8722e05a |
|
25-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
twa: Remove Belatedly remove twa(4). It was supposed to go before 13.0, but was overlooked. Sponsored by: Netflix Relnotes: yes Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33114 |
#
0d5935af |
|
25-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
esp: Remove Belatedly remove esp(4). It was tagged as gone in 13, but was overlooked until now. Sponsored by: Netflix Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33115 |
#
60de2867 |
|
25-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
amr: remove Belatedly remove amr(4). It was slated to depart before 13.0 but was overlooked until now. Sponsored by: Netflix Relnotes: yes Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33113 |
#
399188a2 |
|
25-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
iir: Remove Belatedly remove iir(4). It was slated to go before 13, but was overlooked. Sponsored by: Netflix Relnotes: yes Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33112 |
#
a9620045 |
|
25-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
mly: Remove. We'd said this was going away in 13, but was overlooked. Belatedly remove. Sponsored by: Netflix Relnotes: yes Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33111 |
#
ecbbe831 |
|
24-Nov-2021 |
Mark Johnston <markj@FreeBSD.org> |
netinet: Deduplicate most in_cksum() implementations in_cksum() and related routines are implemented separately for each platform, but only i386 and arm have optimized versions. Other platforms' copies of in_cksum.c are identical except for style differences and support for big-endian CPUs. Deduplicate the implementations for the rest of the platforms. This will make it easier to implement in_cksum() for unmapped mbufs. On arm and i386, define HAVE_MD_IN_CKSUM to mean that the MI implementation is not to be compiled. No functional change intended. Reviewed by: kp, glebius MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33095 |
#
26d65475 |
|
08-Oct-2021 |
Hubert Mazur <hum@semihalf.com> |
Pcf85063: Add RTC driver Add driver for pcf85063 real time clock. Register set and get time methods. Parse data obtained from bus according to specification and fill kernel structures. Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32817 |
#
cb35af13 |
|
22-Oct-2021 |
Hubert Mazur <hum@semihalf.com> |
TCA6408: Add driver for tca6408 gpio expander Driver for tca6408 gpio expander over i2c bus. Expose API for manipulating pin's direction, state and polarity inversion. Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32819 |
#
0c9156fa |
|
15-Nov-2021 |
Kornel Duleba <mindal@semihalf.com> |
Introduce DP83822 PHY driver DP83822 is a 10/100 Texas Instruments PHY. Link status change interrupts are supported by the driver, however not all boards have the PHY interrupt wired. Because of that if failure to allocate an IRQ is not treated as an error. Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32815 |
#
e85c94b8 |
|
15-Nov-2021 |
Kornel Duleba <mindal@semihalf.com> |
Introduce DP83867 PHY driver DP83867 is a 10/100/1000 Texas Instruments PHY. Only SGMII mode is supported. Link status changes can be checked through an interrupt generated by the PHY, if available Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32813 |
#
ce40632a |
|
22-Nov-2021 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ifnet: append if_debug.c to if.c With this change if_index can become static. There is nothing that if_debug.c would want to isolate from if.c. Potentially if.c wants to share everything with if_debug.c. Move Bjoern's copyright to if.c. Reviewed by: bz |
#
e02f64d9 |
|
17-Nov-2021 |
Brooks Davis <brooks@FreeBSD.org> |
freebsd32: add real abort2 Previously, the code would copy twice as many pointers as specified and print pairs of them a single 64-bit pointer. abort2 doesn't return so make the return type void freebsd32_abort2 is in it's own file with a 2-clause BSD license based on a discussion with Wojciech many years ago. Reviewed by: kevans |
#
09cd6341 |
|
17-Nov-2021 |
Stefan Eßer <se@FreeBSD.org> |
zfs: fix commit dae1713419a6 merge openzfs/zfs@269b5dadc into main Commit dae1713419a6 did not add two required lines for edonr specific functionality to this file, causing kernel build failures if ZFS is compiled in. This commit should be included in an eventual MFC of dae1713419a6. |
#
c0525ab1 |
|
17-Aug-2020 |
Andriy Gapon <avg@FreeBSD.org> |
pca954x: driver for PCA954x / TCA954x I2C switches At the moment only PCA9548A is supported and has been tested. MFC after: 2 weeks |
#
b8d60729 |
|
11-Nov-2021 |
Randall Stewart <rrs@FreeBSD.org> |
tcp: Congestion control cleanup. NOTE: HEADS UP read the note below if your kernel config is not including GENERIC!! This patch does a bit of cleanup on TCP congestion control modules. There were some rather interesting surprises that one could get i.e. where you use a socket option to change from one CC (say cc_cubic) to another CC (say cc_vegas) and you could in theory get a memory failure and end up on cc_newreno. This is not what one would expect. The new code fixes this by requiring a cc_data_sz() function so we can malloc with M_WAITOK and pass in to the init function preallocated memory. The CC init is expected in this case *not* to fail but if it does and a module does break the "no fail with memory given" contract we do fall back to the CC that was in place at the time. This also fixes up a set of common newreno utilities that can be shared amongst other CC modules instead of the other CC modules reaching into newreno and executing what they think is a "common and understood" function. Lets put these functions in cc.c and that way we have a common place that is easily findable by future developers or bug fixers. This also allows newreno to evolve and grow support for its features i.e. ABE and HYSTART++ without having to dance through hoops for other CC modules, instead both newreno and the other modules just call into the common functions if they desire that behavior or roll there own if that makes more sense. Note: This commit changes the kernel configuration!! If you are not using GENERIC in some form you must add a CC module option (one of CC_NEWRENO, CC_VEGAS, CC_CUBIC, CC_CDG, CC_CHD, CC_DCTCP, CC_HTCP, CC_HD). You can have more than one defined as well if you desire. Note that if you create a kernel configuration that does not define a congestion control module and includes INET or INET6 the kernel compile will break. Also you need to define a default, generic adds 'options CC_DEFAULT=\"newreno\" but you can specify any string that represents the name of the CC module (same names that show up in the CC module list under net.inet.tcp.cc). If you fail to add the options CC_DEFAULT in your kernel configuration the kernel build will also break. Reviewed by: Michael Tuexen Sponsored by: Netflix Inc. RELNOTES:YES Differential Revision: https://reviews.freebsd.org/D32693 |
#
197ff4c3 |
|
01-Nov-2021 |
Kornel Duleba <mindal@semihalf.com> |
ossl: Add support for AES-CBC cipher AES-CBC OpenSSL assembly is used underneath. The glue layer(ossl_aes.c) is based on CHACHA20 implementation. Contrary to the SHA and CHACHA20, AES OpenSSL assembly logic does not have a fallback implementation in case CPU doesn't support required instructions. Because of that CPU caps are checked during initialization and AES support is advertised only if available. The feature is available on all architectures that ossl supports: i386, amd64, arm64. The biggest advantage of this patch over existing solutions (aesni(4) and armv8crypto(4)) is that it supports SHA, allowing for ETA operations. Sponsored by: Stormshield Obtained from: Semihalf Reviewed by: jhb (previous version) Differential revision: https://reviews.freebsd.org/D32099 |
#
6354154e |
|
30-Sep-2020 |
Andriy Gapon <avg@FreeBSD.org> |
pcf8574: driver for 8-pin quasi-bidirectional GPIO over I2C MFC after: 2 weeks |
#
ff6fe298 |
|
20-Aug-2020 |
Andriy Gapon <avg@FreeBSD.org> |
driver for MAX44009 I2C illuminance sensor |
#
a60b3046 |
|
17-Aug-2020 |
Andriy Gapon <avg@FreeBSD.org> |
pcf8591: driver for adc/dac with i2c interface |
#
200bc589 |
|
06-Nov-2021 |
Wojciech Macek <wma@FreeBSD.org> |
Revert "ossl: Add support for AES-CBC cipher" This reverts commit 849faf4e0ba9a8b8f24ff34da93a0fd46c14eda9. |
#
849faf4e |
|
01-Nov-2021 |
Kornel Duleba <mindal@semihalf.com> |
ossl: Add support for AES-CBC cipher AES-CBC OpenSSL assembly is used underneath. The glue layer(ossl_aes.c) is based on CHACHA20 implementation. Contrary to the SHA and CHACHA20, AES OpenSSL assembly logic does not have a fallback implementation in case CPU doesn't support required instructions. Because of that CPU caps are checked during initialization and AES support is advertised only if available. The feature is available on all architectures that ossl supports: i386, amd64, arm64. The biggest advantage of this patch over existing solutions (aesni(4) and armv8crypto(4)) is that it supports SHA, allowing for ETA operations. Sponsored by: Stormshield Obtained from: Semihalf Reviewed by: jhb Differential revision: https://reviews.freebsd.org/D32099 |
#
48cb3fee |
|
26-Oct-2021 |
Ed Maste <emaste@FreeBSD.org> |
Retire obsolete iscsi_initiator(4) The new iSCSI initiator iscsi(4) was introduced with FreeBSD 10.0, and the old intiator was marked obsolete shortly thereafter (in commit d32789d95cfbf, MFC'd to stable/10 in ba54910169c4). Remove it now. Reviewed by: jhb, mav Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32673 |
#
6aae3517 |
|
20-Oct-2021 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Retire synchronous PPP kernel driver sppp(4). The last two drivers that required sppp are cp(4) and ce(4). These devices are still produced and can be purchased at Cronyx <http://cronyx.ru/hardware/wan.html>. Since Roman Kurakin <rik@FreeBSD.org> has quit them, they no longer support FreeBSD officially. Later they have dropped support for Linux drivers to. As of mid-2020 they don't even have a developer to maintain their Windows driver. However, their support verbally told me that they could provide aid to a FreeBSD developer with documentaion in case if there appears a new customer for their devices. These drivers have a feature to not use sppp(4) and create an interface, but instead expose the device as netgraph(4) node. Then, you can attach ng_ppp(4) with help of ports/net/mpd5 on top of the node and get your synchronous PPP. Alternatively you can attach ng_frame_relay(4) or ng_cisco(4) for HDLC. Actually, last time I used cp(4) back in 2004, using netgraph(4) instead of sppp(4) was already the right way to do. Thus, remove the sppp(4) related part of the drivers and enable by default the negraph(4) part. Further maintenance of these drivers in the tree shouldn't be a big deal. While doing that, remove some cruft and enable cp(4) compilation on amd64. The ce(4) for some unknown reason marks its internal DDK functions with __attribute__ fastcall, which most likely is safe to remove, but without hardware I'm not going to do that, so ce(4) remains i386-only. Reviewed by: emaste, imp, donner Differential Revision: https://reviews.freebsd.org/D32590 See also: https://reviews.freebsd.org/D23928 |
#
79a100e2 |
|
05-Sep-2021 |
Warner Losh <imp@FreeBSD.org> |
bluetooth: complete removal of ng_h4 The ng_h4 module was disconnected 13 years ago when the tty later was locked by Ed. It completely fails to compile, and has a number of false positives for Giant use. Remove it for lack of interest. Bluetooth has largely (completely?) moved on from bluetooth over UART transport. OK'd by: emax Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D31846 |
#
66ea3906 |
|
29-Sep-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
LinuxKPI: Remove FreeBSD struct resource from all LKPI headers except linux/pci.h to avoid conflicts with Linux version. This allows to #define resource in drm-kmod globally and strip some #ifdef-s Reviewed by: hselasky, manu MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D31673 |
#
45d6fbae |
|
27-Sep-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.26.2.0. The firmwares and the following changelog are from the "Chelsio Unified Wire v3.15.0.0 for Linux." Version : 1.26.2.0 Date : 09/24/2021 ==================== FIXES ----- BASE: - Added support for SFP+ RJ45 (0x1C). - Fixing backward compatibility issue with older drivers when multiple speeds are passed to firmware. OFLD: - Do not touch tp_plen_max if driver is supplying tp_plen_max. This fixes a connection reset issue in iscsi. ENHANCEMENTS ------------ BASE: - Firmware header modified to add firmware binary signature. MFC after: 1 month Sponsored by: Chelsio Communications |
#
cf0ee873 |
|
12-Sep-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
Drop cloudabi According to https://github.com/NuxiNL/cloudlibc: CloudABI is no longer being maintained. It was an awesome experiment, but it never got enough traction to be sustainable. There is no reason to keep it in FreeBSD. Approved by: ed (private mail) Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D31923 |
#
8a8166e5 |
|
02-Aug-2021 |
Bartlomiej Grzesik <bag@semihalf.com> |
mmc: switch mmc_helper to device_ api Add generic mmc_helper which uses newly introduced device_*_property api. Thanks to this change the sd/mmc drivers will be capable of parsing both DT and ACPI description. Ensure backward compatibility for all mmc_fdt_helper users. Reviewed by: manu, mw Sponsored by: Semihalf Differential revision: https://reviews.freebsd.org/D31598 |
#
6b9d35fa |
|
06-Jul-2020 |
Guinan Sun <guinanx.sun@intel.com> |
e1000: remove duplicated phy codes Add two files base.c and base.h to reduce the redundancy in the silicon family code. Remove the code duplication from e1000_82575 files. Clean family specific functions from base. Fix up a stray and duplicate function declaration. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Sasha Neftin <sasha.neftin@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Reviewed-by: Wei Zhao <wei.zhao1@intel.com> Approved by: imp Obtained from: DPDK (44dddd14059f151f39f7e075b887decfc9a10f11) MFC after: 1 week |
#
a3f0d182 |
|
16-Sep-2021 |
Artur Rojek <ar@semihalf.com> |
ena: fix building in-kernel driver When building ENA as compiled into the kernel, the driver would fail to build. Resolve the problem by introducing the following changes: 1. Add missing `ena_rss.c` entry in `sys/conf/files`. 2. Prevent SYSCTL_ADD_INT from throwing an assert due to an extra CTLTYPE_INT flag. Fixes: 986e7b92276 ("ena: Move RSS logic into its own source files") Fixes: 6d1ef2abd33 ("ena: Implement full RSS reconfiguration") Obtained from: Semihalf Sponsored by: Amazon, Inc. MFC after: 1 week |
#
cf4670fe |
|
14-Sep-2021 |
Mark Johnston <markj@FreeBSD.org> |
kcov: Integrate with KMSAN - kern_kcov.c needs to be compiled with -fsanitize=kernel-memory when KMSAN is configured since it calls into various other subsystems. - Disable address and memory sanitizers in kcov(4)'s coverage sanitizer callbacks, as they do not provide useful checking. Moreover, with KMSAN we may otherwise get false positives since the caller (coverage sanitizer runtime) is not instrumented. - Disable KASAN and KMSAN interceptors in subr_coverage.c, as they do not provide any benefit but do introduce overhead when fuzzing. Sponsored by: The FreeBSD Foundation |
#
a422084a |
|
10-Aug-2021 |
Mark Johnston <markj@FreeBSD.org> |
Add the KMSAN runtime KMSAN enables the use of LLVM's MemorySanitizer in the kernel. This enables precise detection of uses of uninitialized memory. As with KASAN, this feature has substantial runtime overhead and is intended to be used as part of some automated testing regime. The runtime maintains a pair of shadow maps. One is used to track the state of memory in the kernel map at bit-granularity: a bit in the kernel map is initialized when the corresponding shadow bit is clear, and is uninitialized otherwise. The second shadow map stores information about the origin of uninitialized regions of the kernel map, simplifying debugging. KMSAN relies on being able to intercept certain functions which cannot be instrumented by the compiler. KMSAN thus implements interceptors which manually update shadow state and in some cases explicitly check for uninitialized bytes. For instance, all calls to copyout() are subject to such checks. The runtime exports several functions which can be used to verify the shadow map for a given buffer. Helpers provide the same functionality for a few structures commonly used for I/O, such as CAM CCBs, BIOs and mbufs. These are handy when debugging a KMSAN report whose proximate and root causes are far away from each other. Obtained from: NetBSD Sponsored by: The FreeBSD Foundation |
#
9340ebd4 |
|
02-Aug-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add missing file to sys/conf/files after 469884cf04a9b92677c7c83e229ca6b8814f8b0a . Found by: vishwin@ Differential Revision: https://reviews.freebsd.org/D29921 MFC after: 1 week Sponsored by: NVIDIA Networking |
#
ae598127 |
|
13-Jan-2014 |
Julien Grall <julien@xen.org> |
xen/timer: make xen timer optional The timer is not used on ARM. Submitted by: Elliott Mitchell <ehem+freebsd@m5p.com> Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D29041 |
#
a48f7ba4 |
|
13-Jan-2014 |
Julien Grall <julien@xen.org> |
xen: move x86/xen/xenpv.c to dev/xen/bus/xenpv.c Minor changes are necessary to make this processor-independent, but moving the file out of x86 and into common is the first step (so others don't add /more/ x86-isms). Submitted by: Elliott Mitchell <ehem+freebsd@m5p.com> Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D29042 |
#
b633e08c |
|
16-Jun-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
ibcore: Kernel space update based on Linux 5.7-rc1. Overview: This is the first stage of a RDMA stack upgrade introducing kernel changes only based on Linux 5.7-rc1. This patch is based on about four main areas of work: - Update of the IB uobjects system: - The memory holding so-called AH, CQ, PD, SRQ and UCONTEXT objects is now managed by ibcore. This also require some changes in the kernel verbs API. The updated verbs changes are typically about initialize and deinitialize objects, and remove allocation and free of memory. - Update of the uverbs IOCTL framework: - The parsing and handling of user-space commands has been completely refactored to integrate with the updated IB uobjects system. - Various changes and updates to the generic uverbs interfaces in device drivers including the new uAPI surface. - The mlx5_ib_devx.c in mlx5ib and related mlx5 core changes. Dependencies: - The mlx4ib driver code has been updated with the minimum changes needed. - The mlx5ib driver code has been updated with the minimum changes needed including DV support. Compatibility: - All user-space facing APIs are backwards compatible after this change. - All kernel-space facing RDMA APIs are backwards compatible after this change, with exception of ib_create_ah() and ib_destroy_ah() which takes a new flag. - The "ib_device_ops" structure exist, but only contains the driver ID and some structure sizes. Differences from Linux: - Infiniband drivers must use the INIT_IB_DEVICE_OPS() macro to set the sizes needed for allocating various IB objects, when adding IB device instances. Security: - PRIV_NET_RAW is needed to use raw ethernet transmit features. - PRIV_DRIVER is needed to use other privileged operations. Based on upstream Linux, Torvalds (5.7-rc1): 8632e9b5645bbc2331d21d892b0d6961c1a08429 MFC after: 1 week Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D31149 Sponsored by: NVIDIA Networking |
#
b972a7fa |
|
20-Jul-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: fix LINT build We failed to list the new pf_syncookies.c file in sys/conf/files. This worked for the usual configurations, where pf is a module, but not for LINT builds. Reported by: lwhsu MFC after: 1 week Sponsored by: Modirum MDPay |
#
f39d9c91 |
|
14-Jul-2021 |
Val Packett <val@packett.cool> |
libkern: import strnstr from libc Required for drm-kmod 5.6 (amdgpu). Reviewed by: bz, hselasky, nc Differential Revision: https://reviews.freebsd.org/D31131 |
#
27d997be |
|
13-Jul-2021 |
Warner Losh <imp@FreeBSD.org> |
cardbus: move card_if.m to sys/dev/cardbus Move card_if.m to sys/dev/cardbus since pccard is disappearing. Sponsored by: Netflix |
#
3c900106 |
|
24-Jun-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.26.0.0. Changes since 1.25.6.0 are listed here. This list comes from the Release Notes for "Chelsio Unified Wire 3.14.0.4 for Linux" dated 2021-07-08. Fixes ----- BASE: - Wait 5ms before and after the i2c command that clears the mod_select. This fixes incorrect port module type read from i2c. Obtained from: Chelsio Communications MFC after: 1 week Sponsored by: Chelsio Communications |
#
517904de |
|
11-Jul-2021 |
Peter Grehan <grehan@FreeBSD.org> |
igc(4): Introduce new driver for the Intel I225 Ethernet controller. This controller supports 2.5G/1G/100MB/10MB speeds, and allows tx/rx checksum offload, TSO, LRO, and multi-queue operation. The driver was derived from code contributed by Intel, and modified by Netgate to fit into the iflib framework. Thanks to Mike Karels for testing and feedback on the driver. Reviewed by: bcr (manpages), kbowling, scottl, erj MFC after: 1 month Relnotes: yes Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30668 |
#
bf3a3852 |
|
08-Jul-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
fan53555: attach to build and switch from syr827 Rather than extending syr827 for syr828 (as initially done in D31103) switch to the Fairchild Semiconductor Corporation fan53555 implementation which is in-tree but was not attached to the build. The fan53555 implementation also supports syr827/syr8278 already. [1] Update NOTES and the arm64 GENERIC configuration for the switch. syr827 for now stays in the tree but is not used by any kernel configuration. Suggested by: mmel [1] Reviewed by: mmel, manu Differential Revision: https://reviews.freebsd.org/D31112 |
#
d0732fa8 |
|
06-Jul-2021 |
Alexander Motin <mav@FreeBSD.org> |
Add ocs_gendump.c to the build, missed in 29e2dbd42c3e. |
#
e013e369 |
|
21-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Get rid of Linuxulator kernel build options. Stop confusing people, retire COMPAT_LINUX and COMPAT_LINUX32 kernel build options. Since we have 32 and 64 bit Linux emulators, we can't build both emulators together into the kernel. I don't think it matters, Linux emulation depends on loadable modules (via rc). Cut LINPROCFS and LINSYSFS for consistency. PR: 215061 Reviewed by: bcr (manpages), trasz Differential Revision: https://reviews.freebsd.org/D30751 MFC after: 2 weeks |
#
663b174b |
|
07-Jun-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
an: Remove driver Last an(4) devices have been End Of Life and End Of Sale in 2007. Time to remove this driver. Differential Revision: https://reviews.freebsd.org/D30679 Reviewed by: imp (earlier version), emaste (earlier version) Sponsored by: Diablotin Systems |
#
e0fa04e2 |
|
25-May-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.25.6.0. Changes since 1.25.0.0 are listed here. This list comes from the Release Notes for the "Chelsio Unified Wire v3.14.0.3 for Linux" release dated 2021-05-21. Fixes ----- BASE: - Fixed Back to back T6 100G-CR4 link coming up with NO FEC sometimes. - [T5] Try to bring up link in 1G speed if link doesn't come up on 10G. - Fixed a bug to not allow BaseR fec in 100G speed. - Fixed linkup issues on BT adapter in 1G and 100M speed. - Fixed an issue to allow driver to send VI_ENABLE multiple times (once with rx disable and then later rx enable). - Fixed rate limiting not working on class number 16 to 30. - Fixed backward compatibility issue in port type interpretation with vpd version 0x80. ETH: - Fixed a case when firmware failed to deliver NIC WR completion to host. - No rate limit support for WR ETH_TX_PKTS2 due to performance reasons. OFLD - Fixed a connection hang in SO adapters when tp_plen_max (set by driver) is more than the window size. - Added fw_filter_vnic_mode to firmware API file (t4fw_interface.h) - Use correct rx channel in coprocessor crypto completion (CPL_FW6_PLD). This was causing out of order completion to host. FOiSCSI - Fixed a crash due to unaligned access of ipv6 address. - Fixed a crash during lun reset. Enhancements ------------ ETH: - Rate limiting support added for encapsulated (vxlan, nvgre, geneve) NIC TCP packets. OFLD: - More than 128 SGLs supported in FW_RI_FR_NSMR_WR. Now, more than 16GB (upto 64GB) of PBLs can be written with single FW_RI_FR_NSMR_WR. Obtained from: Chelsio Communications MFC after: 1 month Sponsored by: Chelsio Communications |
#
21e3c1fb |
|
25-May-2021 |
John Baldwin <jhb@FreeBSD.org> |
Assume OCF is the only KTLS software backend. This removes support for loadable software backends. The KTLS OCF support is now always included in kernels with KERN_TLS and the ktls_ocf.ko module has been removed. The software encryption routines now take an mbuf directly and use the TLS mbuf as the crypto buffer when possible. Bump __FreeBSD_version for software backends in ports. Reviewed by: gallatin, markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D30138 |
#
80e645dc |
|
21-May-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
mmc: Only build mmc_fdt_helper and mmc_pwrseq for arch that uses ext_resources This is now a needed requirement and fixes powerpc* build |
#
5b2a81f5 |
|
16-May-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
mmc: Add mmc-pwrseq driver This driver is used to power up sdio card or eMMC. It handle the reset-gpio, clocks and needed delays for powerup/powerdown. Sponsored by: Diablotin Systems Differential Revision: https://reviews.freebsd.org/D30288 |
#
ac3ede53 |
|
11-May-2021 |
Roger Pau Monné <royger@FreeBSD.org> |
x86/xen: remove PVHv1 code PVHv1 was officially removed from Xen in 4.9, so just axe the related code from FreeBSD. Note FreeBSD supports PVHv2, which is the replacement for PVHv1. Sponsored by: Citrix Systems R&D Reviewed by: kib, Elliott Mitchell Differential Revision: https://reviews.freebsd.org/D30228 |
#
47bde792 |
|
21-Apr-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
mmccam: Add mmc_sim, a generic sim for mmc driver to use This adds a generic sim that abstract a lot of what needs to be implemented in a driver for mmccam support. A new interface with three methods is added : - mmc_sim_get_tran_settings: Use to get what the controller supports in term of capabilities, freq etc ... - mmc_sim_set_tran_settings: Use to change the speed/freq/etc of the sdcard host controller - mmc_sim_cam_request: Used for MMCIO requests Differential Revision: https://reviews.freebsd.org/D27485 Reviewed by: kibab |
#
38da497a |
|
13-Apr-2021 |
Mark Johnston <markj@FreeBSD.org> |
Add the KASAN runtime KASAN enables the use of LLVM's AddressSanitizer in the kernel. This feature makes use of compiler instrumentation to validate memory accesses in the kernel and detect several types of bugs, including use-after-frees and out-of-bounds accesses. It is particularly effective when combined with test suites or syzkaller. KASAN has high CPU and memory usage overhead and so is not suited for production environments. The runtime and pmap maintain a shadow of the kernel map to store information about the validity of memory mapped at a given kernel address. The runtime implements a number of functions defined by the compiler ABI. These are prefixed by __asan. The compiler emits calls to __asan_load*() and __asan_store*() around memory accesses, and the runtime consults the shadow map to determine whether a given access is valid. kasan_mark() is called by various kernel allocators to update state in the shadow map. Updates to those allocators will come in subsequent commits. The runtime also defines various interceptors. Some low-level routines are implemented in assembly and are thus not amenable to compiler instrumentation. To handle this, the runtime implements these routines on behalf of the rest of the kernel. The sanitizer implementation validates memory accesses manually before handing off to the real implementation. The sanitizer in a KASAN-configured kernel can be disabled by setting the loader tunable debug.kasan.disable=1. Obtained from: NetBSD MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29416 |
#
5c62eded |
|
11-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Introduce nvlist variant of DIOCADDRULE This will make future extensions of the API much easier. The intent is to remove support for DIOCADDRULE in FreeBSD 14. Reviewed by: markj (previous version), glebius (previous version) MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29557 |
#
aa3ea612 |
|
31-Mar-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
x86: remove gcov kernel support Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D29529 |
#
0cff00ae |
|
22-Mar-2021 |
Ed Maste <emaste@FreeBSD.org> |
retire obsolete mn(4) sync serial driver Approved by: phk Relnotes: yes |
#
ebe5cf35 |
|
04-Mar-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement basic support for allocating memory from a specific numa node in the LinuxKPI. Differential Revision: https://reviews.freebsd.org/D29077 Reviewed by: markj@ and kib@ MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking |
#
92aecd1e |
|
03-Mar-2021 |
John Baldwin <jhb@FreeBSD.org> |
ossl: Add ChaCha20 cipher support. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D28756 |
#
a079e38b |
|
03-Mar-2021 |
John Baldwin <jhb@FreeBSD.org> |
ossl: Add Poly1305 digest support. Reviewed by: cem Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D28754 |
#
d0673fe1 |
|
23-Feb-2021 |
Allan Jude <allanjude@FreeBSD.org> |
smbios: Move smbios driver out from x86 machdep code Add it to the x86 GENERIC and MINIMAL kernels Sponsored by: Ampere Computing LLC Submitted by: Klara Inc. Reviewed by: rpokala Differential Revision: https://reviews.freebsd.org/D28738 |
#
a0ba293c |
|
22-Feb-2021 |
Stefan Eßer <se@FreeBSD.org> |
Add missing entry for zfs_racct.c |
#
dd2e1352 |
|
18-Feb-2021 |
John Baldwin <jhb@FreeBSD.org> |
Add an implementation of CHACHA20_POLY1305 to cryptosoft. This uses the chacha20 IETF and poly1305 implementations from libsodium. A seperate auth_hash is created for the auth side whose Setkey method derives the poly1305 key from the AEAD key and nonce as described in RFC 8439. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27837 |
#
fc8fc743 |
|
18-Feb-2021 |
John Baldwin <jhb@FreeBSD.org> |
Add an OCF algorithm for ChaCha20-Poly1305 AEAD. Note that this algorithm implements the mode defined in RFC 8439. Reviewed by: cem Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27836 |
#
952667da |
|
12-Feb-2021 |
Roger Pau Monné <royger@FreeBSD.org> |
xen/efi: introduce a PV interface for EFI run time services for dom0 FreeBSD when running as a dom0 under Xen is not supposed to access the run time services directly, and instead should proxy the calls through Xen using an hypercall interface that exposes access to selected run time services. Implement the efirt interface on top of the Xen provided hypercalls. Sponsored by: Citrix Systems R&D Reviewed by: kib Differential revision: https://reviews.freebsd.org/D28621 |
#
66803b34 |
|
14-Feb-2021 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Only require mac_veriexec for verified_exec The veriexec option is redundant, mac_veriexec is sufficient. MFC after: 1 week # # 72 columns --| # # Uncomment and complete these metadata fields, as appropriate: # # PR: <If and which Problem Report is related.> # Reported by: <If someone else reported the issue.> # Reviewed by: <If someone else reviewed your modification.> # Approved by: <If you needed approval for this commit.> # Obtained from: <If the change is from a third party.> # MFC after: <N [day[s]|week[s]|month[s]]. Request a reminder email> # MFH: <Ports tree branch name. Request approval for merge.> # Relnotes: <Set to 'yes' for mention in release notes.> # Security: <Vulnerability reference (one per line) or description.> # Sponsored by: <If the change was sponsored by an organization.> # Pull Request: <https://github.com/freebsd/<repo>/pull/###> # Differential Revision: <https://reviews.freebsd.org/D###> # # "Pull Request" and "Differential Revision" require the *full* GitHub or # Phabricator URL. The commit author should be set appropriately, using # `git commit --author` if someone besides the committer sent in the change. # # Uncomment and complete these metadata fields, as appropriate: # # PR: # Reported by: <If someone else reported the issue.> # Reviewed by: <If someone else reviewed your modification.> # Approved by: <If you needed approval for this commit.> # Obtained from: <If the change is from a third party.> # MFC after: <N [day[s]|week[s]|month[s]]. Request a reminder email> # MFH: <Ports tree branch name. Request approval for merge.> # Relnotes: <Set to 'yes' for mention in release notes.> # Security: <Vulnerability reference (one per line) or description.> # Sponsored by: <If the change was sponsored by an organization.> # Pull Request: <https://github.com/freebsd/<repo>/pull/###> # Differential Revision: <https://reviews.freebsd.org/D###> # # "Pull Request" and "Differential Revision" require the *full* GitHub or # Phabricator URL. The commit author should be set appropriately, using # `git commit --author` if someone besides the committer sent in the change. # |
#
af366d35 |
|
08-Feb-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: implement strlen in assembly The C variant in libkern performs excessive branching to find the non-zero byte instead of using the bsfq instruction. The same code patched to use it is still slower than the routine implemented here as the compiler keeps neglecting to perform certain optimizations (like using leaq). On top of that the routine can is a starting point for copyinstr which operates on words instead of bytes. Tested with glibc test suite. Sample results (calls/s): Haswell: $(perl -e "print 'A' x 3"): stock: 211198039 patched:338626619 asm: 465609618 $(perl -e "print 'A' x 100"): stock: 83151997 patched: 98285919 asm: 120719888 AMD EPYC 7R32: $(perl -e "print 'A' x 3"): stock: 282523617 asm: 491498172 $(perl -e "print 'A' x 100"): stock: 114857172 asm: 112082057 |
#
fa765ca7 |
|
28-Jan-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: implement devres() framework parts and two examples This code implements a version of the devres framework found working for various iwlwifi use cases and also providing functions for ttm_page_alloc_dma.c from DRM. Part of the framework replicates the consumed KPI, while others are internal helper functions. In addition the simple devm_k*malloc() consumers were implemented and kvasprintf() was enhanced to also work for the devm_kasprintf() case. Addmittingly lkpi_devm_kmalloc_release() could be avoided but for the overall understanding of the code and possible memory tracing it may still be helpful. Further devsres consumer are implemented for iwlwifi but will follow later as the main reason for this change is to sort out overlap with DRM. Sponsored-by: The FreeBSD Foundation Obtained-from: bz_iwlwifi MFC After: 3 days Reviewed-by: hselasky, manu Differential Revision: https://reviews.freebsd.org/D28189 |
#
a6c2507d |
|
28-Jan-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: add firmware loading support Implement linux firmware KPI compat code. This includes: request_firmware() request_firmware_nowait(), request_firmware_direct(), firmware_request_nowarn(), and release_firmware(). Given we will try to map requested names from natively ported or full-linuxkpi-using drivers to a firmware(9) auto-loading name format (.ko file name and image name matching), we quieten firmware(9) and print success or failure (unless the _nowarn() version was called) in the linuxkpi implementation. At the moment we try up-to 4 different naming combinations, with path stripped, original name, and requested name with '/' or '.' replaced. We do not currently defer loading in the "nowait" case. Sponsored-by: The FreeBSD Foundation Sponsored-by: Rubicon Communications, LLC ("Netgate") (firmware(9) nowarn update from D27413) MFC after: 3 days Reviewed by: kib, manu (looked at older versions) Differential Revision: https://reviews.freebsd.org/D27414 |
#
cfd6422a |
|
26-Jan-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
netgraph/ng_vlan_rotate: IEEE 802.1ad VLAN manipulation netgraph type This node is part of an A10-NSP (L2-BSA) development. Carrier networks tend to stack three or more tags for internal purposes and therefore hiding the service tags deep inside of the stack. When decomposing such an access network frame, the processing order is typically reversed: First distinguish by service, than by other means. This new netgragh node allows to bring the relevant VLAN in front (to the out-most position). This way other netgraph nodes (like ng_vlan) can operate on this specific type. Reviewed by: manpages (gbe), brueffer (manpages), kp Approved by: kp (mentor) MFC after: 1 month Relnotes: yes Sponsored by: IKS Service GmbH Differential Revision: https://reviews.freebsd.org/D22076 |
#
5bd56585 |
|
20-Jan-2021 |
John Baldwin <jhb@FreeBSD.org> |
Tidy some crypto-related lines in sys/conf/files. Reviewed by: cem (earlier version) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27835 |
#
2c98edd6 |
|
19-Jan-2021 |
Andriy Gapon <avg@FreeBSD.org> |
htu21: driver for HTU21D I2C temperature and humidity sensor MFC after: 2 weeks Relnotes: perhaps |
#
9da9560c |
|
18-Jan-2021 |
Bryan Venteicher <bryanv@FreeBSD.org> |
virtio: Add VirtIO PCI modern (V1) support Use the existing legacy PCI driver as the basis for shared code between the legacy and modern PCI drivers. The existing virtio_pci kernel module will contain both the legacy and modern drivers. Changes to the virtqueue and each device driver (network, block, etc) for V1 support come in later commits. Update the MMIO driver to reflect the VirtIO bus method changes, but the modern compliance can be improved on later. Note that the modern PCI driver requires bus_map_resource() to be implemented, which is not the case on all archs. The hw.virtio.pci.transitional tunable default value is zero so transitional devices will continue to be driven via the legacy driver. Reviewed by: grehan (mentor) Differential Revision: https://reviews.freebsd.org/D27856 |
#
94611a83 |
|
14-Jan-2021 |
Andrew Turner <andrew@FreeBSD.org> |
Add missing no-ctfconvert to C generation rules Stop running ctfconvert over generated C files in the kernel by marking them with no-ctfconvert. This fixes warnings from ctfconvert trying to parse C files: ctfconvert: file.c: Couldn't read ehdr: Invalid argument Reviewed by: emaste, mmel Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D28156 |
#
2c95fb75 |
|
22-Dec-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
linuxkpi: Add shrinker support A driver can register a shrinker that will be called when the kernel wants to free some memory. Add support for that in linuxkpi and call the registered shrinkers when the lowmem event is triggered. Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D27728 |
#
a21def4d |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove wi(4) driver Remove wi(4). pccard is going away, and wi only supports PC Card devices, though it has a minor amount of glue to also support PCI cards. However, removing the one without removing the other is hard, so the whole driver is being removed. Relnotes: Yes |
#
23e124c7 |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove bt3c(4) driver pccard is being removed, so remove bt3c driver since it only has PC Card attachment. Also remove bt3cfw(8) since it's the firmware for this driver. Relnotes: Yes |
#
0d3a424a |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove cmx(4) driver The only attachment of cmx was pccard, so remove the driver in anticipation of PC Card support removal. Relnotes: Yes |
#
31cafce9 |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove ata(4) PC Card attachemnt Remove ata PC Card attachment. Relnotes: Yes |
#
ba29d48c |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove uart(4) PC Card attachment pccard is going away, so remove uart's attachment. Relnotes: Yes |
#
135021ed |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove puc(4) PC Card attachment Remove PUC's pccard attachment. This removes support for 16-bit PC Cards. Relnotes: Yes |
#
fbcdcec5 |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove an(4) PC Card attachment Remove pccard attachment for an driver since pccard support is being removed. Relnotes: Yes |
#
b363d3d5 |
|
07-Jan-2021 |
Matt Macy <mmacy@FreeBSD.org> |
OpenZFS: Fix issues caused by reversed commits + rebase |
#
cabbfa3e |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Move power_if.m from pccard to cardbus power_if.m is used by both pccard and cardbus. Move it into cardbus. |
#
d97d5c0c |
|
14-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import hidmap-based drivers written by Greg V This change includes: hpen - Generic / MS Windows compatible HID pen tablet driver. hgame - Generic game controller and joystick driver. xb360gp - Xbox360-compatible game controller driver. Submitted by: Greg V <greg_unrelenting.technology> Reviewed by: hselasky (as part of D27993) |
#
afd590d9 |
|
14-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import hidmap and bunch of drivers based on it hidmap is a kernel module that maps HID input usages to evdev events. Following dependent drivers is included in the commit: hms - HID mouse driver. hcons - Consumer page AKA Multimedia keys driver. hsctrl - System Controls page (Power/Sleep keys) driver. ps4dshock - Sony DualShock 4 gamepad driver. Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27993 |
#
94773907 |
|
13-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import hidraw(4) - driver for access to raw HID device data This driver provides raw access to HID devices through uhid(4)-compatible interface and is based on pre-8.x uhid(4) code. Unlike uhid(4) it does not take devices in to monopoly ownership and allows parallel access from other drivers. hidraw supports Linux's hidraw-compatible interface as well. Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27992 |
#
b93f6bfc |
|
12-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Port ukbd to HID and attach to build Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27991 |
#
cb022db8 |
|
10-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Port multitouch hmt(4) driver to hidbus and attach to build Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27990 |
#
10fbbdfb |
|
10-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import hconf(4) - digitizer configuration top-level collection support. Reviewed by: hselasky (as part of D27990) |
#
01f2e864 |
|
08-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import usbhid - USB transport backend for HID subsystem. This change implements hid_if.m methods for HID-over-USB protocol [1]. Also, this change adds USBHID_ENABLED kernel option which changes device_probe() priority and adds/removes PnP records to prefer usbhid over ums, ukbd, wmt and other USB HID device drivers and vice-versa. The module is based on uhid(4) driver. It is disabled by default for now due to conflicts with existing USB HID drivers. [1] https://www.usb.org/sites/default/files/hid1_11.pdf Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27893 |
#
b1f1b07f |
|
06-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import iichid - I2C transport backend for HID subsystem This implements hid_if.m methods for HID-over-I2C protocol [1]. Following kernel options are added: IICHID_SAMPLING - Enable support for a sampling mode as interrupt resource acquisition is not always possible in a case of GPIO interrupts. IICHID_DEBUG - Enable debug output. The module is based on prior Marc Priggemeyer work (D16698). [1] http://download.microsoft.com/download/7/d/d/7dd44bb7-2a7a-4505-ac1c-7227d3d96d5b/hid-over-i2c-protocol-spec-v1-0.docx Differential revision: https://reviews.freebsd.org/D27892 |
#
e49fa9f6 |
|
05-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import quirk subsystem. hidquirk(4) is derived from usb_quirk(4) and inherits all its HID-related functionality. It does not support ioctl(2) interface yet. Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27890 |
#
2b4464b0 |
|
08-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import hidbus(4) This driver provides support for multiple HID driver attachments to single HID transport backend. This ability existed in Net/OpenBSD (uhidev and ihidev drivers) but has never been ported to FreeBSD. Unlike Net/OpenBSD we do not use report number alone to distinct report source but we follow MS way and use a top level collection (TLC) usage index that report belongs to as a location key. The driver performs child device autodiscovery based on HID report descriptor data, proxying of HID requests from child devices to parent transport backends and broadcasting of interrupts in backward direction. Differential revision: https://reviews.freebsd.org/D27888 |
#
961a3535 |
|
06-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import HID transport method definitions and helper functions. Create an abstract HID interface that provides hardware independent access to HID capabilities and functions through the device tree. hid_if.m resembles existing USBHID KPI and consist of next methods: HID method USBHID variant ----------------------------------------------------------------------- hid_intr_setup usbd_transfer_setup (INTERRUPT IN xfer) hid_intr_unsetup usbd_transfer_unsetup (INTERRUPT IN xfer) hid_intr_start usbd_transfer_start (INTERRUPT IN xfer) hid_intr_stop usbd_transfer_drain (INTERRUPT IN xfer) hid_intr_poll usbd_transfer_poll (INTERRUPT IN xfer) hid_get_rdesc usbd_req_get_report_descriptor hid_read No direct analog. Not intended for common use. hid_write uhid(4) write() hid_get_report usbd_req_get_report hid_set_report usbd_req_set_report hid_set_idle usbd_req_set_idle hid_set_protocol usbd_req_set_protocol This change is part of D27888 |
#
67de2db2 |
|
04-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Factor-out hardware-independent part of USB HID support to new module It will be used by the upcoming HID-over-i2C implementation. Should be no-op, except hid.ko module dependency is to be added to affected drivers. Reviewed by: hselasky, manu Differential revision: https://reviews.freebsd.org/D27867 |
#
bc861033 |
|
06-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
libkern/strcasestr.c: Drop xlocale support and connect to build. Reviewed by: markj, hselasky Differential revision: https://reviews.freebsd.org/D27866 |
#
7a202823 |
|
23-Dec-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Expose eventfd in the native API/ABI using a new __specialfd syscall eventfd is a Linux system call that produces special file descriptors for event notification. When porting Linux software, it is currently usually emulated by epoll-shim on top of kqueues. Unfortunately, kqueues are not passable between processes. And, as noted by the author of epoll-shim, even if they were, the library state would also have to be passed somehow. This came up when debugging strange HW video decode failures in Firefox. A native implementation would avoid these problems and help with porting Linux software. Since we now already have an eventfd implementation in the kernel (for the Linuxulator), it's pretty easy to expose it natively, which is what this patch does. Submitted by: greg@unrelenting.technology Reviewed by: markj (previous version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D26668 |
#
e51ed06a |
|
26-Dec-2020 |
Marius Strobl <marius@FreeBSD.org> |
mlphy(4)/tlphy(4): Remove obsolete drivers These drivers should have been removed along with tl(4) as part of 7c897ca91fe1cdb785531d2f5aa0d441c1d73142 and r347918 respectively as these fromer made sure to only ever attach to the latter, e. g.: <...> static int tlphy_probe(device_t dev) { if (!mii_dev_mac_match(dev, "tl")) return (ENXIO); <...> |
#
b63eeef4 |
|
26-Dec-2020 |
Marius Strobl <marius@FreeBSD.org> |
scc(4)/uart(4): Remove obsolete support for Siemens SAB 82532 It's no longer used since 58aa35d42975c298ca0adba705c042596303c9f5 and r357455 respectively. |
#
9cca83b6 |
|
24-Dec-2020 |
Marius Strobl <marius@FreeBSD.org> |
mk48txx(4): remove obsolete driver It's no longer used since 58aa35d42975c298ca0adba705c042596303c9f5 and r357455 respectively. |
#
d141239c |
|
24-Dec-2020 |
Marius Strobl <marius@FreeBSD.org> |
mc146818(4): remove obsolete driver It's no longer used since 58aa35d42975c298ca0adba705c042596303c9f5 and r357455 respectively. |
#
f5baf8bb |
|
25-Dec-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add modular fib lookup framework. This change introduces framework that allows to dynamically attach or detach longest prefix match (lpm) lookup algorithms to speed up datapath route tables lookups. Framework takes care of handling initial synchronisation, route subscription, nhop/nhop groups reference and indexing, dataplane attachments and fib instance algorithm setup/teardown. Framework features automatic algorithm selection, allowing for picking the best matching algorithm on-the-fly based on the amount of routes in the routing table. Currently framework code is guarded under FIB_ALGO config option. An idea is to enable it by default in the next couple of weeks. The following algorithms are provided by default: IPv4: * bsearch4 (lockless binary search in a special IP array), tailored for small-fib (<16 routes) * radix4_lockless (lockless immutable radix, re-created on every rtable change), tailored for small-fib (<1000 routes) * radix4 (base system radix backend) * dpdk_lpm4 (DPDK DIR24-8-based lookups), lockless datastrucure, optimized for large-fib (D27412) IPv6: * radix6_lockless (lockless immutable radix, re-created on every rtable change), tailed for small-fib (<1000 routes) * radix6 (base system radix backend) * dpdk_lpm6 (DPDK DIR24-8-based lookups), lockless datastrucure, optimized for large-fib (D27412) Performance changes: Micro benchmarks (I7-7660U, single-core lookups, 2048k dst, code in D27604): IPv4: 8 routes: radix4: ~20mpps radix4_lockless: ~24.8mpps bsearch4: ~69mpps dpdk_lpm4: ~67 mpps 700k routes: radix4_lockless: 3.3mpps dpdk_lpm4: 46mpps IPv6: 8 routes: radix6_lockless: ~20mpps dpdk_lpm6: ~70mpps 100k routes: radix6_lockless: 13.9mpps dpdk_lpm6: 57mpps Forwarding benchmarks: + 10-15% IPv4 forwarding performance (small-fib, bsearch4) + 25% IPv4 forwarding performance (full-view, dpdk_lpm4) + 20% IPv6 forwarding performance (full-view, dpdk_lpm6) Control: Framwork adds the following runtime sysctls: List algos * net.route.algo.inet.algo_list: bsearch4, radix4_lockless, radix4 * net.route.algo.inet6.algo_list: radix6_lockless, radix6, dpdk_lpm6 Debug level (7=LOG_DEBUG, per-route) net.route.algo.debug_level: 5 Algo selection (currently only for fib 0): net.route.algo.inet.algo: bsearch4 net.route.algo.inet6.algo: radix6_lockless Support for manually changing algos in non-default fib will be added soon. Some sysctl names will be changed in the near future. Differential Revision: https://reviews.freebsd.org/D27401 |
#
9ee99cec |
|
11-Dec-2020 |
Brooks Davis <brooks@FreeBSD.org> |
hme(4): Remove as previous announced The hme (Happy Meal Ethernet) driver was the onboard NIC in most supported sparc64 platforms. A few PCI NICs do exist, but we have seen no evidence of use on non-sparc systems. Reviewed by: imp, emaste, bcr Sponsored by: DARPA |
#
e8db04c3 |
|
08-Dec-2020 |
Nick Hibma <n_hibma@FreeBSD.org> |
New Netgraph module ng_macfilter: Macfilter to route packets through different hooks based on sender MAC address. Based on ng_macfilter written by Pekka Nikander Sponsered by Retina b.v. Reviewed by: afedorov MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D27268 |
#
6844eecf |
|
04-Dec-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Add basic support for Freescale LX2160A SoC. All peripherals but the network processor are supported. |
#
fd86ae68 |
|
04-Dec-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
ossl: split out x86 bits to x86/ossl_cpuid.c Make room for adding arm64 support to this driver by moving the x86-specific feature parsing to a separate file. Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27388 |
#
a4a10b37 |
|
30-Nov-2020 |
Toomas Soome <tsoome@FreeBSD.org> |
Add VT driver for VBE framebuffer device Implement vt_vbefb to support Vesa Bios Extensions (VBE) framebuffer with VT. vt_vbefb is built based on vt_efifb and is assuming similar data for initialization, use MODINFOMD_VBE_FB to identify the structure vbe_fb in kernel metadata. struct vbe_fb, is populated by boot loader, and is passed to kernel via metadata payload. Differential Revision: https://reviews.freebsd.org/D27373 |
#
926ce35a |
|
24-Nov-2020 |
Jung-uk Kim <jkim@FreeBSD.org> |
Port rtsx(4) driver for Realtek SD card reader from OpenBSD. This driver provides support for Realtek PCI SD card readers. It attaches mmc(4) bus on card insertion and detaches it on card removal. It has been tested with RTS5209, RTS5227, RTS5229, RTS522A, RTS525A and RTL8411B. It should also work with RTS5249, RTL8402 and RTL8411. PR: 204521 Submitted by: Henri Hennebert (hlh at restart dot be) Reviewed by: imp, jkim Differential Revision: https://reviews.freebsd.org/D26435 |
#
2e58ec01 |
|
18-Nov-2020 |
Mark Johnston <markj@FreeBSD.org> |
Move kern_clocksource.c to sys/conf/files Sponsored by: The FreeBSD Foundation |
#
dab39c11 |
|
09-Nov-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
LinuxKPI: Implement ACPI bits required by drm-kmod in base system It includes: ACPI_HANDLE() implementation. AC and VIDEO ACPI events notification support. Replacement of hand-rolled GPLed _DSM method evaluation helpers with in-base ones. Submitted by: wulf Differential Revision: https://reviews.freebsd.org/D26603 |
#
bad6b236 |
|
08-Nov-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Move all ifaddr route creation business logic to net/route/route_ifaddr.c Differential Revision: https://reviews.freebsd.org/D26318 |
#
890efa1a |
|
06-Nov-2020 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.25.0.40. This fixes a potential crash in firmware 1.25.0.0 on the passive open side during TOE operation. Obtained from: Chelsio Communications MFC after: 1 week Sponsored by: Chelsio Communications |
#
072ac1a1 |
|
24-Oct-2020 |
Kyle Evans <kevans@FreeBSD.org> |
backlight(9): compile with COMPAT_LINUXKPI as well This would be more accurately expressed as COMPAT_LINUXKPI implying or requiring backlight, but config(8) doesn't really have a way to express that. This fixes the build with COMPAT_LINUXKPI specified in one's kernel config. |
#
4c51d296 |
|
22-Oct-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix for monotolithic kernel builds using device lagg(4). Differential Revision: https://reviews.freebsd.org/D26254 Reviewed by: melifaro@ MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking |
#
9d40cf60 |
|
22-Oct-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Factor out generic IP over infiniband, IPoIB, definitions and code into net/if_infiniband.c and net/infiniband.h . No functional change intended. Differential Revision: https://reviews.freebsd.org/D26254 Reviewed by: melifaro@ MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking |
#
0c325f53 |
|
18-Oct-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Implement flowid calculation for outbound connections to balance connections over multiple paths. Multipath routing relies on mbuf flowid data for both transit and outbound traffic. Current code fills mbuf flowid from inp_flowid for connection-oriented sockets. However, inp_flowid is currently not calculated for outbound connections. This change creates simple hashing functions and starts calculating hashes for TCP,UDP/UDP-Lite and raw IP if multipath routes are present in the system. Reviewed by: glebius (previous version),ae Differential Revision: https://reviews.freebsd.org/D26523 |
#
acb4cf9d |
|
15-Oct-2020 |
Ed Maste <emaste@FreeBSD.org> |
move vmware pv drivers to sys/conf/files VMware now has arm64 support; move these to MI files in advance of building them on arm64. PR: 250308 Reported by: Vincent Milum Jr MFC after: 1 week Sponsored by: The FreeBSD Foundation |
#
a3c41f8b |
|
10-Oct-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Add "Fenestras X" alternative /dev/random implementation Fortuna remains the default; no functional change to GENERIC. Big picture: - Scalable entropy generation with per-CPU, buffered local generators. - "Push" system for reseeding child generators when root PRNG is reseeded. (Design can be extended to arc4random(9) and userspace generators.) - Similar entropy pooling system to Fortuna, but starts with a single pool to quickly bootstrap as much entropy as possible early on. - Reseeding from pooled entropy based on time schedule. The time interval starts small and grows exponentially until reaching a cap. Again, the goal is to have the RNG state depend on as much entropy as possible quickly, but still periodically incorporate new entropy for the same reasons as Fortuna. Notable design choices in this implementation that differ from those specified in the whitepaper: - Blake2B instead of SHA-2 512 for entropy pooling - Chacha20 instead of AES-CTR DRBG - Initial seeding. We support more platforms and not all of them use loader(8). So we have to grab the initial entropy sources in kernel mode instead, as much as possible. Fortuna didn't have any mechanism for this aside from the special case of loader-provided previous-boot entropy, so most of these sources remain TODO after this commit. Reviewed by: markm Approved by: csprng (markm) Differential Revision: https://reviews.freebsd.org/D22837 |
#
0d95c2e2 |
|
03-Oct-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
pwm_backlight: Depend on ext_resources This driver cannot work without it. |
#
fedeb08b |
|
03-Oct-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Introduce scalable route multipath. This change is based on the nexthop objects landed in D24232. The change introduces the concept of nexthop groups. Each group contains the collection of nexthops with their relative weights and a dataplane-optimized structure to enable efficient nexthop selection. Simular to the nexthops, nexthop groups are immutable. Dataplane part gets compiled during group creation and is basically an array of nexthop pointers, compiled w.r.t their weights. With this change, `rt_nhop` field of `struct rtentry` contains either nexthop or nexthop group. They are distinguished by the presense of NHF_MULTIPATH flag. All dataplane lookup functions returns pointer to the nexthop object, leaving nexhop groups details inside routing subsystem. User-visible changes: The change is intended to be backward-compatible: all non-mpath operations should work as before with ROUTE_MPATH and net.route.multipath=1. All routes now comes with weight, default weight is 1, maximum is 2^24-1. Current maximum multipath group width is statically set to 64. This will become sysctl-tunable in the followup changes. Using functionality: * Recompile kernel with ROUTE_MPATH * set net.route.multipath to 1 route add -6 2001:db8::/32 2001:db8::2 -weight 10 route add -6 2001:db8::/32 2001:db8::3 -weight 20 netstat -6On Nexthop groups data Internet6: GrpIdx NhIdx Weight Slots Gateway Netif Refcnt 1 ------- ------- ------- --------------------------------------- --------- 1 13 10 1 2001:db8::2 vlan2 14 20 2 2001:db8::3 vlan2 Next steps: * Land outbound hashing for locally-originated routes ( D26523 ). * Fix net/bird multipath (net/frr seems to work fine) * Add ROUTE_MPATH to GENERIC * Set net.route.multipath=1 by default Tested by: olivier Reviewed by: glebius Relnotes: yes Differential Revision: https://reviews.freebsd.org/D26449 |
#
a91b408a |
|
02-Oct-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
linuxkpi: Add dmi_* function dmi function are used to get smbios values. The DRM subsystem and drivers use it to enabled (or not) quirks. Reviewed by: hselasky Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26046 |
#
38d94a4b |
|
02-Oct-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Add pwm_backlight Driver for pwm-backlight compatible device. Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26252 |
#
675aae73 |
|
02-Oct-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Add backlight subsystem This is a simple subsystem that allow drivers to register as a backlight. Each backlight creates a device node under /dev/backlight/backlightX and an alias based on the name provided. Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26250 |
#
88c9c3f4 |
|
17-Sep-2020 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4/5/6 firmwares to 1.25.0.0. Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications |
#
eac7052f |
|
04-Sep-2020 |
Matt Macy <mmacy@FreeBSD.org> |
ZFS: MFV 2.0-rc1-gfd20a8 - fixes jail delegation - fixes raw kstat unsupported complaints - exposes dbgmsg, dbuf, and checksum benchmark stats - restore rename -u support
|
#
e7b2173d |
|
02-Sep-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix build fallout after r365054 . Make sure that building dev/sdhci/sdhci_fsl_fdt.c has all the right dependencies until a proper fix can be made. Sponsored by: Mellanox Technologies // NVIDIA Networking |
#
2b33ffde |
|
01-Sep-2020 |
Marcin Wojtas <mw@FreeBSD.org> |
Introduce the SDHCI driver for NXP QorIQ Layerscape SoCs Implement support for an eSDHC controller found in NXP QorIQ Layerscape SoCs. This driver has been tested with NXP LS1046A and LX2160A (Honeycomb board), which is incompatible with the existing sdhci_fsl driver (aiming at older chips from this family). As such, it is not intended as replacement for the old driver, but rather serves as an improved alternative for SoCs that support it. It comes with support for both PIO and Single DMA modes and samples the clock from the extres clk API. Submitted by: Artur Rojek <ar@semihalf.com> Reviewed by: manu, mmel, kibab Obtained from: Semihalf Sponsored by: Alstom Group Differential Revision: https://reviews.freebsd.org/D26153 |
#
d96e5996 |
|
27-Aug-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement extensible arrays API using the existing radix tree implementation in the LinuxKPI. Differential Revision: https://reviews.freebsd.org/D25101 Reviewed by: kib @ MFC after: 1 week Sponsored by: Mellanox Technologies |
#
9e5787d2 |
|
24-Aug-2020 |
Matt Macy <mmacy@FreeBSD.org> |
Merge OpenZFS support in to HEAD. The primary benefit is maintaining a completely shared code base with the community allowing FreeBSD to receive new features sooner and with less effort. I would advise against doing 'zpool upgrade' or creating indispensable pools using new features until this change has had a month+ to soak. Work on merging FreeBSD support in to what was at the time "ZFS on Linux" began in August 2018. I first publicly proposed transitioning FreeBSD to (new) OpenZFS on December 18th, 2018. FreeBSD support in OpenZFS was finally completed in December 2019. A CFT for downstreaming OpenZFS support in to FreeBSD was first issued on July 8th. All issues that were reported have been addressed or, for a couple of less critical matters there are pull requests in progress with OpenZFS. iXsystems has tested and dogfooded extensively internally. The TrueNAS 12 release is based on OpenZFS with some additional features that have not yet made it upstream. Improvements include: project quotas, encrypted datasets, allocation classes, vectorized raidz, vectorized checksums, various command line improvements, zstd compression. Thanks to those who have helped along the way: Ryan Moeller, Allan Jude, Zack Welch, and many others. Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25872 |
#
ab0c29af |
|
21-Aug-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add TLS support to the kernel RPC. An internet draft titled "Towards Remote Procedure Call Encryption By Default" describes how TLS is to be used for Sun RPC, with NFS as an intended use case. This patch adds client and server support for this to the kernel RPC, using KERN_TLS and upcalls to daemons for the handshake, peer reset and other non-application data record cases. The upcalls to the daemons use three fields to uniquely identify the TCP connection. They are the time.tv_sec, time.tv_usec of the connection establshment, plus a 64bit sequence number. The time fields avoid problems with re-use of the sequence number after a daemon restart. For the server side, once a Null RPC with AUTH_TLS is received, kernel reception on the socket is blocked and an upcall to the rpctlssd(8) daemon is done to perform the TLS handshake. Upon completion, the completion status of the handshake is stored in xp_tls as flag bits and the reply to the Null RPC is sent. For the client, if CLSET_TLS has been set, a new TCP connection will send the Null RPC with AUTH_TLS to initiate the handshake. The client kernel RPC code will then block kernel I/O on the socket and do an upcall to the rpctlscd(8) daemon to perform the handshake. If the upcall is successful, ct_rcvstate will be maintained to indicate if/when an upcall is being done. If non-application data records are received, the code does an upcall to the appropriate daemon, which will do a SSL_read() of 0 length to handle the record(s). When the socket is being shut down, upcalls are done to the daemons, so that they can perform SSL_shutdown() calls to perform the "peer reset". The rpctlssd(8) and rpctlscd(8) daemons require a patched version of the openssl library and, as such, will not be committed to head at this time. Although the changes done by this patch are fairly numerous, there should be no semantics change to the kernel RPC at this time. A future commit to the NFS code will optionally enable use of TLS for NFS. |
#
f5247a23 |
|
21-Aug-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Make net.fibs growable. Allow to dynamically grow the amount of fibs in each vnet. This change alters current behavior. Currently, if one defines ROUTETABLES > 1 in the kernel config, each vnet will be created with the number of fibs defined in the kernel config. After this commit vnets will be created with fibs=1. Dynamic net.fibs is not compatible with net.add_addr_allfibs. The plan is to deprecate the latter and make net.add_addr_allfibs=0 default behaviour. Reviewed by: glebius Relnotes: yes Differential Revision: https://reviews.freebsd.org/D26062 |
#
209d3fb4 |
|
20-Aug-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove the long obsolete ufm driver. It was a driver for a USB FM tuner that was available in the market in 2002. I wrote the driver in 2003. I've not used it since 2005 or so, so it's time to retire this driver. No userland code ever interfaced to the special device it created. There's no user base: the last bug I received on this driver was in 2004. Relnotes: Yes |
#
8a0edc91 |
|
13-Aug-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Add prng(9) API Add prng(9) as a replacement for random(9) in the kernel. There are two major differences from random(9) and random(3): - General prng(9) APIs (prng32(9), etc) do not guarantee an implementation or particular sequence; they should not be used for repeatable simulations. - However, specific named API families are also exposed (for now: PCG), and those are expected to be repeatable (when so-guaranteed by the named algorithm). Some minor differences from random(3) and earlier random(9): - PRNG state for the general prng(9) APIs is per-CPU; this eliminates contention on PRNG state in SMP workloads. Each PCPU generator in an SMP system produces a unique sequence. - Better statistical properties than the Park-Miller ("minstd") PRNG (longer period, uniform distribution in all bits, passes BigCrush/PractRand analysis). - Faster than Park-Miller ("minstd") PRNG -- no division is required to step PCG-family PRNGs. For now, random(9) becomes a thin shim around prng32(). Eventually I would like to mechanically switch consumers over to the explicit API. Reviewed by: kib, markj (previous version both) Discussed with: markm Differential Revision: https://reviews.freebsd.org/D25916 |
#
c178a7e7 |
|
06-Aug-2020 |
Andriy Gapon <avg@FreeBSD.org> |
cp2112: driver for the namesake GPIO and I2C master gadget Documentation: - CP2112 Datasheet https://www.silabs.com/documents/public/data-sheets/cp2112-datasheet.pdf - AN495: CP2112 Interface Specification https://www.silabs.com/documents/public/application-notes/an495-cp2112-interface-specification.pdf - CP2112 Errata https://www.silabs.com/documents/public/errata/cp2112-errata.pdf The logic is implemented as three sub-drivers. The parent driver claims the USB device and creates two child devices. One acts as a GPIO controller and the other is an I2C controller. Tested with CP2112 revision F02. Both features seem to work. HTU21 sensor was used as an I2C slave. Reviewed by: adrian, hselasky MFC after: 2 weeks Relnotes: maybe Differential Revision: https://reviews.freebsd.org/D25359 |
#
aa6ea9b6 |
|
29-Jul-2020 |
John-Mark Gurney <jmg@FreeBSD.org> |
remove some long abandonded serial drivers (cy, rc, rp) since 2008 Reviewed by: phk (earlier version) Reviewed by: emaste (earlier version) Reviewed by: bcr (earlier version) Reviewed by: zeising (earlier version) Differential Revision: https://reviews.freebsd.org/D25874 |
#
cd21fc6a |
|
28-Jul-2020 |
Marcin Wojtas <mw@FreeBSD.org> |
Fix ENA build when integrated into kernel Provide missing rules for ena_datapath.c and ena_netmap.c, which prevented the ENA driver from building. This issue was showing up only when building the driver statically into the kernel. PR: 248116 Submitted by: Artur Rojek <ar@semihalf.com> MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D25796 Obtained from: Semihalf Sponsored by: Amazon, Inc. |
#
22b33ca4 |
|
28-Jul-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Add an ACPI attachment for if_smc This is needed by some of the Arm simulators as they implement a smc based network interface, but use ACPI rather than FDT. Sponsored by: Innovate UK |
#
855e49f3 |
|
27-Jul-2020 |
Alexander Motin <mav@FreeBSD.org> |
Add initial driver for ACPI Platform Error Interfaces. APEI allows platform to report different kinds of errors to OS in several ways. We've found that Supermicro X10/X11 motherboards report PCIe errors appearing on hot-unplug via this interface using NMI. Without respective driver it ended up in kernel panic without any additional information. This driver introduces support for the APEI Generic Hardware Error Source reporting via NMI, SCI or polling. It decodes the reported errors and either pass them to pci(4) for processing or just logs otherwise. Errors marked as fatal still end up in kernel panic, but some more informative. When somebody get to native PCIe AER support implementation both of the reporting mechanisms should get common error recovery code. Since in our case errors happen when the device is already gone, there is nothing to recover, so the code just clears the error statuses, practically ignoring the otherwise destructive NMIs in nicer way. MFC after: 2 weeks Relnotes: yes Sponsored by: iXsystems, Inc. |
#
28da7c9e |
|
26-Jul-2020 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Add syscon power and reset control device driver This device driver supports both syscon-power and syscon-reset devices, as specified in [1] and [2]. These provide a very simple interface for power and reset control, and among other things are used by QEMU's virt machine on RISC-V. A separate commit will enable this on RISC-V, as that requires adding a RISC-V-specific riscv_syscon akin to r327936's aw_syscon. [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/power/reset/syscon-poweroff.txt [2] https://www.kernel.org/doc/Documentation/devicetree/bindings/power/reset/syscon-reboot.txt Reviewed by: brooks (mentor), jhb (mentor) Approved by: brooks (mentor), jhb (mentor) Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D25724 |
#
d63a631e |
|
26-Jul-2020 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Add Goldfish RTC device driver for RISC-V This device was originally used as part of the goldfish virtual hardware platform used for emulating Android on QEMU, but is now also used as the RTC for the RISC-V virt machine in QEMU. It provides a simple 64-bit nanosecond timer exposed via a pair of memory-mapped 32-bit registers, although only with 1s granularity. Reviewed by: brooks (mentor), jhb (mentor), kp Approved by: brooks (mentor), jhb (mentor), kp Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D25717 |
#
94bc2117 |
|
30-Jun-2020 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add i.MX 8M Quad support - Add CCM driver and clocks implementations for i.MX 8M - Add GPC driver for iMX8 - Add clock tree for i.MX 8M Quad - Add clocks support and new compat strings (where required) for existing i.MX 6 UART, I2C, and GPIO drivers - Enable aarch64-compatible drivers form i.MX 6 in arm64 GENERIC kernel config - Add dtb/imx8 kernel module with DTBs for Nitrogen8M and iMX8MQ EVK With this patch both Nitrogen8M and iMX8MQ EVK boot with NFS root up to multiuser login prompt Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D25274 |
#
518da7ac |
|
30-Jun-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Add dwc_otg_acpi Create an acpi attachment for the DWC USB OTG device. This is present in the Raspberry Pi 4 in the USB-C port normally used to power the board. Some firmware presents the kernel with ACPI tables rather than FDT so we need an ACPI attachment. Submitted by: Greg V <greg_unrelenting.technology> Approved by: hselasky (removal of All rights reserved) Differential Revision: https://reviews.freebsd.org/D25203 |
#
56e5ad5f |
|
26-Jun-2020 |
Matt Macy <mmacy@FreeBSD.org> |
Rename nvpair.c to bsd_nvpair.c to not conflict with openzfs' version. |
#
d97d8385 |
|
25-May-2020 |
Marcin Wojtas <mw@FreeBSD.org> |
Introduce support for Epson RX-8803 RTC. This patch introduces support for Epson RX-8803 RTC controller accessible over I2C bus. It has a resolution of 1 sec. Support for interrupt based alarm was not implemented. Submitted by: Kornel Duleba <mindal@semihalf.com> Reviewed by: manu Obtained from: Semihalf Sponsored by: Alstom Group Differential Revision: https://reviews.freebsd.org/D24364 |
#
7187cccc |
|
25-May-2020 |
Marcin Wojtas <mw@FreeBSD.org> |
Add TCA6416 GPIO expander support. Add basic TCA6416 GPIO expander support over I2C bus. The driver handles enabling and disabling pins, setting pin mode to IN and OUT and toggling the pins. External interrupts are not supported. Submitted by: Dawid Gorecki <dgr@semihalf.com> Reviewed by: manu, mmel Obtained from: Semihalf Sponsored by: Alstom Group Differential Revision: https://reviews.freebsd.org/D24363 |
#
37f1f268 |
|
23-May-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Update to Zstandard 1.4.5 As usual, the full release notes are found on Github: https://github.com/facebook/zstd/releases/tag/v1.4.5 Notable changes include: * Improved decompress performance on amd64 and arm (5-10% and 15-50%, respectively). * '--patch-from' zstd(1) CLI option, which provides something like a very fast version of bspatch(1) with slightly worse compression. See release notes. In this update, I dropped the 3-year old -O0 workaround for an LLVM ARM bug; the bug was fixed in LLVM SVN in 2017, but we didn't remove this workaround from our tree until now. MFC after: I won't, but feel free Relnotes: yes
|
#
353d02e9 |
|
23-May-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
libkern: Add arc4random_uniform This variant get a random number up to the limit passed as the argument. This is simply a copy of the libc version. Sponsored-by: The FreeBSD Foundation Reviewed by: cem, hselasky (previous version) Differential Revision: https://reviews.freebsd.org/D24962 |
#
b0084bf6 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
kgssapi no longer supports RC4, so don't list it as a build dependency. Reviewed by: cem Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24774 |
#
0e00c709 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for DES and Triple DES from OCF. It no longer has any in-kernel consumers via OCF. smbfs still uses single DES directly, so sys/crypto/des remains for that use case. Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24773 |
#
32075647 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for the Blowfish algorithm from OCF. It no longer has any in-kernel consumers. Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24772 |
#
5e46d47f |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for the skipjack encryption algorithm. This was removed from IPsec in r286100 and no longer has any in-tree consumers. Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24769 |
#
7971a6f9 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for the cast128 encryption algorithm. It no longer has any in-tree consumers. Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24768 |
#
97e25132 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove ubsec(4). This driver was previously marked for deprecation in r360710. Approved by: csprng (cem, gordon, delphij) Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24766 |
#
fc88ecd3 |
|
28-Apr-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Move route-specific ddb commands to route/route_ddb.c Currently functionality resides in rtsock.c, which is a controlling interface, partially external to the routing subsystem. Additionally, DDB-supporting functionality is > 100SLOC, which deserves a separate file. Given that, move this functionality to a newly-created net/route/ subdir. Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D24561 |
#
e7d8af4f |
|
28-Apr-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Move route_temporal.c and route_var.h to net/route. Nexthop objects implementation, defined in r359823, introduced sys/net/route directory intended to hold all routing-related code. Move recently-introduced route_temporal.c and private route_var.h header there. Differential Revision: https://reviews.freebsd.org/D24597 |
#
732a02b4 |
|
17-Apr-2020 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Split XDR into separate kernel module. Make krpc depend on xdr. Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D24408 |
#
62dc472b |
|
14-Apr-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Add mmc_fdt_helpers for mmccam enabled config MFC after: 1 month X-MFC-With: r359924 |
#
e63fbd7b |
|
14-Apr-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Those functions are here to help fdt mmc controller drivers to parse the dts to find the supported speeds and the regulators. Not all DTS have every settings properly defined so host controller will still have to add some caps themselves. It also add a mmc_fdt_gpio_setup function which will read the cd-gpios property and register it as the CD pin. If the pin support interrupts one will be registered and the cd_helper function will be called. If the pin doesn't support interrupts the internal taskqueue will poll for change and call the same cd_helper function. mmc_fdt_gpio_setup will also parse the wp-gpio property and MMC drivers can know the write-protect pin value by calling the mmc_fdt_gpio_get_readonly function. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D23267 |
#
9897e357 |
|
13-Apr-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Re-organize the NFS file handle affinity code for the NFS server. The file handle affinity code was configured to be used by both the old and new NFS servers. This no longer makes sense, since there is only one NFS server. This patch copies a majority of the code in sys/nfs/nfs_fha.c and sys/nfs/nfs_fha.h into sys/fs/nfsserver/nfs_fha_new.c and sys/fs/nfsserver/nfs_fha_new.h, so that the files in sys/nfs can be deleted. The code is simplified by deleting the function callback pointers used to call functions in either the old or new NFS server and they were replaced by calls to the functions. As well as a cleanup, this re-organization simplifies the changes required for handling of external page mbufs, which is required for KERN_TLS. This patch should not result in a semantic change to file handle affinity. |
#
a6663252 |
|
12-Apr-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Introduce nexthop objects and new routing KPI. This is the foundational change for the routing subsytem rearchitecture. More details and goals are available in https://reviews.freebsd.org/D24141 . This patch introduces concept of nexthop objects and new nexthop-based routing KPI. Nexthops are objects, containing all necessary information for performing the packet output decision. Output interface, mtu, flags, gw address goes there. For most of the cases, these objects will serve the same role as the struct rtentry is currently serving. Typically there will be low tens of such objects for the router even with multiple BGP full-views, as these objects will be shared between routing entries. This allows to store more information in the nexthop. New KPI: struct nhop_object *fib4_lookup(uint32_t fibnum, struct in_addr dst, uint32_t scopeid, uint32_t flags, uint32_t flowid); struct nhop_object *fib6_lookup(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid, uint32_t flags, uint32_t flowid); These 2 function are intended to replace all all flavours of <in_|in6_>rtalloc[1]<_ign><_fib>, mpath functions and the previous fib[46]-generation functions. Upon successful lookup, they return nexthop object which is guaranteed to exist within current NET_EPOCH. If longer lifetime is desired, one can specify NHR_REF as a flag and get a referenced version of the nexthop. Reference semantic closely resembles rtentry one, allowing sed-style conversion. Additionally, another 2 functions are introduced to support uRPF functionality inside variety of our firewalls. Their primary goal is to hide the multipath implementation details inside the routing subsystem, greatly simplifying firewalls implementation: int fib4_lookup_urpf(uint32_t fibnum, struct in_addr dst, uint32_t scopeid, uint32_t flags, const struct ifnet *src_if); int fib6_lookup_urpf(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid, uint32_t flags, const struct ifnet *src_if); All functions have a separate scopeid argument, paving way to eliminating IPv6 scope embedding and allowing to support IPv4 link-locals in the future. Structure changes: * rtentry gets new 'rt_nhop' pointer, slightly growing the overall size. * rib_head gets new 'rnh_preadd' callback pointer, slightly growing overall sz. Old KPI: During the transition state old and new KPI will coexists. As there are another 4-5 decent-sized conversion patches, it will probably take a couple of weeks. To support both KPIs, fields not required by the new KPI (most of rtentry) has to be kept, resulting in the temporary size increase. Once conversion is finished, rtentry will notably shrink. More details: * architectural overview: https://reviews.freebsd.org/D24141 * list of the next changes: https://reviews.freebsd.org/D24232 Reviewed by: ae,glebius(initial version) Differential Revision: https://reviews.freebsd.org/D24232 |
#
dee3aa83 |
|
10-Apr-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for Kernel GSS algorithms deprecated in r348875. This removes support for using DES, Triple DES, and RC4. Reviewed by: cem, kp Tested by: kp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24344 |
#
8de97f39 |
|
09-Apr-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Remove the old NFS lock device driver that uses Giant. This NFS lock device driver was replaced by the kernel NLM around FreeBSD7 and has not normally been used since then. To use it, the kernel had to be built without "options NFSLOCKD" and the nfslockd.ko had to be deleted as well. Since it uses Giant and is no longer used, this patch removes it. With this device driver removed, there is now a lot of unused code in the userland rpc.lockd. That will be removed on a future commit. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D22933 |
#
78c1387f |
|
02-Apr-2020 |
Ian Lepore <ian@FreeBSD.org> |
Add the Cadence GEM ethernet driver to NOTES so that it gets built with LINT kernels. Move the config for it from files.<arch> files into the main config (conf/files), because it works on multiple platforms now. |
#
59838c1a |
|
01-Apr-2020 |
John Baldwin <jhb@FreeBSD.org> |
Retire procfs-based process debugging. Modern debuggers and process tracers use ptrace() rather than procfs for debugging. ptrace() has a supserset of functionality available via procfs and new debugging features are only added to ptrace(). While the two debugging services share some fields in struct proc, they each use dedicated fields and separate code. This results in extra complexity to support a feature that hasn't been enabled in the default install for several years. PR: 244939 (exp-run) Reviewed by: kib, mjg (earlier version) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D23837 |
#
c98cae3b |
|
18-Mar-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Add file for static compilation of mlx5. Sponsored by: Mellanox Technologies MFC after: 2 weeks |
#
9b7938dc |
|
09-Mar-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
iicbus(4): Add support for ACPI-based children enumeration When iicbus is attached as child of Designware I2C controller it scans all ACPI nodes for "I2C Serial Bus Connection Resource Descriptor" described in section 19.6.57 of ACPI specs. If such a descriptor is found, I2C child is added to iicbus, it's I2C address, IRQ resource and ACPI handle are added to ivars. Existing ACPI bus-hosted child is deleted afterwards. The driver also installs so called "I2C address space handler" which is disabled by default as nontested. Set hw.iicbus.enable_acpi_space_handler loader tunable to 1 to enable it. Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D22901 |
#
f15ccf88 |
|
06-Mar-2020 |
Chuck Silvers <chs@FreeBSD.org> |
Add a new "mntfs" pseudo file system which provides private device vnodes for file systems to safely access their disk devices, and adapt FFS to use it. Also add a new BO_NOBUFS flag to allow enforcing that file systems using mntfs vnodes do not accidentally use the original devfs vnode to create buffers. Reviewed by: kib, mckusick Approved by: imp (mentor) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D23787 |
#
79514055 |
|
01-Mar-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove bktr(4) Remove the brooktree driver as discussed on arch@. Bump FreeBSD version to 1300082, though I doubt anything will care. Relnote: yes |
#
1179b649 |
|
21-Feb-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
linuxkpi: Move shmem related functions in it's own file For drmkpi (D23085) we don't want the Linux struct file as we don't emulate everything. Also the prototypes should be in shmem_fs.h to have 100% compatibility with Linux. Reviewed by: hselasky MFC after: Maybe Differential Revision: https://reviews.freebsd.org/D23764 |
#
bbb7a2c7 |
|
15-Feb-2020 |
Matt Macy <mmacy@FreeBSD.org> |
Add chacha20poly1305 support to crypto build This is a dependency for in-kernel wireguard. Reviewed by: cem@ MFC after: 1 week Sponsored by: Rubicon Communications, LLC (Netgate) Differential Revision: https://reviews.freebsd.org/D23689 |
#
77ad00bf |
|
11-Feb-2020 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4/5/6 firmwares to 1.24.12.0. Obtained from: Chelsio Communications MFC after: 1 month Sponsored by: Chelsio Communications |
#
58aa35d4 |
|
03-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove sparc64 kernel support Remove all sparc64 specific files Remove all sparc64 ifdefs Removee indireeect sparc64 ifdefs |
#
d9e9979c |
|
02-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
On powerpc, we use ofw_syscons for device sc. That references the default fonts. As a workaround, remove the static. vt is default on powerpc, but there's a few old macs that still fail with vt. sc is used as a work arouond for those machines, and the kernel fails to build w/o it. |
#
bb9c7e26 |
|
02-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Move font.h generation to conf/files from conf/files.* Use ${SRCTOP} instead of /usr/share. Prefer to depend on option sc_dflt_fnt instead of sc. gc the 4 otherwise identical instances in the tree. Platforms that don't need this won't included it. |
#
e17b7f1a |
|
02-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Fix old-style build Fix the old-style build by using ${SRCTOP} instead of a weird construct that only works for new-style build. Simplify the building of keymap files by using macros Move atkbdmap.h in files.x86 This has been broken since r296899 which removed the implicit dependency on /usr/share. |
#
51691e26 |
|
01-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove vpo.4 The Parallel Port SCSI adapter was interesting for 100MB ZIP drives, but is no longer used or maintained. Remove it from the tree. The Parallel Port microsequencer (microseq.9) is now mostly unused in the tree, but remains. PPI still refrences it, but doesn't use its full functionality. Relnotes: Yes Reviewed by: rgrimes@, Ihor Antonov Discussed on: arch@ Differential Revision: https://reviews.freebsd.org/D23389 |
#
d4665eaa |
|
30-Jan-2020 |
Jeff Roberson <jeff@FreeBSD.org> |
Implement a safe memory reclamation feature that is tightly coupled with UMA. This is in the same family of algorithms as Epoch/QSBR/RCU/PARSEC but is a unique algorithm. This has 3x the performance of epoch in a write heavy workload with less than half of the read side cost. The memory overhead is significantly lessened by limiting the free-to-use latency. A synthetic test uses 1/20th of the memory vs Epoch. There is significant further discussion in the comments and code review. This code should be considered experimental. I will write a man page after it has settled. After further validation the VM will begin using this feature to permit lockless page lookups. Both markj and cperciva tested on arm64 at large core counts to verify fences on weaker ordering architectures. I will commit a stress testing tool in a follow-up. Reviewed by: mmacy, markj, rlibby, hselasky Discussed with: sbahara Differential Revision: https://reviews.freebsd.org/D22586 |
#
34a5582c |
|
22-Jan-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Bring back redirect route expiration. Redirect (and temporal) route expiration was broken a while ago. This change brings route expiration back, with unified IPv4/IPv6 handling code. It introduces net.inet.icmp.redirtimeout sysctl, allowing to set an expiration time for redirected routes. It defaults to 10 minutes, analogues with net.inet6.icmp6.redirtimeout. Implementation uses separate file, route_temporal.c, as route.c is already bloated with tons of different functions. Internally, expiration is implemented as an per-rnh callout scheduled when route with non-zero rt_expire time is added or rt_expire is changed. It does not add any overhead when no temporal routes are present. Callout traverses entire routing tree under wlock, scheduling expired routes for deletion and calculating the next time it needs to be run. The rationale for such implemention is the following: typically workloads requiring large amount of routes have redirects turned off already, while the systems with small amount of routes will not inhibit large overhead during tree traversal. This changes also fixes netstat -rn display of route expiration time, which has been broken since the conversion from kread() to sysctl. Reviewed by: bz MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D23075 |
#
d0554d26 |
|
02-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
iicoc: limit fdt attachment to EXT_RESOURCES platforms The fdt attachment for this heavily relies on extres for clk work. This unbreaks the build for mips XLPN32/XLP, which have pci/fdt but no need for this fdt attachment. |
#
422d05da |
|
02-Jan-2020 |
Ian Lepore <ian@FreeBSD.org> |
Add support for i2c bus mux hardware. An i2c bus can be divided into segments which can be selectively connected and disconnected from the main bus. This is usually done to enable using multiple slave devices having the same address, by isolating the devices onto separate bus segments, only one of which is connected to the main bus at once. There are several types of i2c bus muxes, which break down into two general categories... - Muxes which are themselves i2c slaves. These devices respond to i2c commands on their upstream bus, and based on those commands, connect various downstream buses to the upstream. In newbus terms, they are both a child of an iicbus and the parent of one or more iicbus instances. - Muxes which are not i2c devices themselves. Such devices are part of the i2c bus electrically, but in newbus terms their parent is some other bus. The association with the upstream bus must be established by separate metadata (such as FDT data). In both cases, the mux driver has one or more iicbus child instances representing the downstream buses. The mux driver implements the iicbus_if interface, as if it were an iichb host bridge/i2c controller driver. It services the IO requests sent to it by forwarding them to the iicbus instance representing the upstream bus, after electrically connecting the upstream bus to the downstream bus that hosts the i2c slave device which made the IO request. The net effect is automatic mux switching which is transparent to slaves on the downstream buses. They just do i2c IO they way they normally do, and the bus is electrically connected for the duration of the IO and then idled when it is complete. The existing iicbus_if callback() method is enhanced so that the parameter passed to it can be a struct which contains a device_t for the requesting bus and slave devices. This change is done by adding a flag that indicates the extra values are present, and making the flags field the first field of a new args struct. If the flag is set, the iichb or mux driver can recast the pointer-to-flags into a pointer-to-struct and access the extra fields. Thus abi compatibility with older drivers is retained (but a mux cannot exist on the bus with the older iicbus driver in use.) A new set of core support routines exists in iicbus.c. This code will help implement mux drivers for any type of mux hardware by supplying all the boilerplate code that forwards IO requests upstream. It also has code for parsing metadata and instantiating the child iicbus instances based on it. Two new hardware mux drivers are added. The ltc430x driver supports the LTC4305/4306 mux chips which are controlled via i2c commands. The iic_gpiomux driver supports any mux hardware which is controlled by manipulating the state of one or more gpio pins. Test Plan Tested locally using a variety of mux'd bus configurations involving both ltc4305 and a homebrew gpio-controlled mux. Tested configurations included cascaded muxes (unlikely in the real world, but useful to prove that 'it all just works' in terms of the automatic switching and upstream forwarding of IO requests). |
#
ffac39de |
|
21-Dec-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Add vmgenc(4) driver for ACPI VM generation counter The VM generation counter is a 128-bit value exposed by the BIOS via ACPI. The value changes to another unique identifier whenever a VM is duplicated. Additionally, ACPI provides notification events when such events occur. The driver decodes the pointer to the UUID, exports the value to userspace via OPAQUE sysctl blob, and forwards the ACPI notifications in the form of an EVENTHANDLER invocation as well as userspace devctl events. See design paper: https://go.microsoft.com/fwlink/p/?LinkID=260709 |
#
6386edbb |
|
19-Dec-2019 |
Philip Paeps <philip@FreeBSD.org> |
iicoc: add FDT bus attachment This adds support for OpenCores I2C master controllers on FDT systems. Reviewed by: kp Sponsored by: Axiado |
#
eb95689a |
|
19-Dec-2019 |
Philip Paeps <philip@FreeBSD.org> |
iicoc: split up common core and PCI bus specifics The OpenCores I2C IP core can be found on any bus. Split out the PCI bus specifics into their own file, only compiled on systems with PCI. Reviewed by: kp Sponsored by: Axiado |
#
7b9439d0 |
|
16-Dec-2019 |
Warner Losh <imp@FreeBSD.org> |
We'll never have multiple slots a cardbus bridge. So, replace exca array with a singleton. Also, pccbb isa attachment is never going to happen, do disconnect it from the build (will delete this in future commit). It would need to be updated as well, but since this code is effectively dead code, remove it from the build instead. |
#
6f012c14 |
|
10-Dec-2019 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4/5/6 firmwares to 1.24.11.0. These were obtained from the Chelsio Unified Wire v3.12.0.1 beta release. Note that the firmwares are not uuencoded any more. MFH: 1 month Sponsored by: Chelsio Communications |
#
fdfcae4a |
|
06-Dec-2019 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add a GPIO based MDIO bit-banging bus driver. Uses two GPIO pins as MDC (clock) and MDIO (bidirectional I/O), relies on mii_bitbang. Tested on SG-3200 where the PHY for one of the ports is wired independently of the SoC MDIO bus. Sponsored by: Rubicon Communications, LLC (Netgate) |
#
7272f9cd |
|
06-Dec-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement hardware TLS via send tags for mlx5en(4), which is supported by ConnectX-6 DX. Currently TLS v1.2 and v1.3 with AES 128/256 crypto over TCP/IP (v4 and v6) is supported. A per PCI device UMA zone is used to manage the memory of the send tags. To optimize performance some crypto contexts may be cached by the UMA zone, until the UMA zone finishes the memory of the given send tag. An asynchronous task is used manage setup of the send tags towards the firmware. Most importantly setting the AES 128/256 bit pre-shared keys for the crypto context. Updating the state of the AES crypto engine and encrypting data, is all done in the fast path. Each send tag tracks the TCP sequence number in order to detect non-contiguous blocks of data, which may require a dump of prior unencrypted data, to restore the crypto state prior to wire transmission. Statistics counters have been added to count the amount of TLS data transmitted in total, and the amount of TLS data which has been dumped prior to transmission. When non-contiguous TCP sequence numbers are detected, the software needs to dump the beginning of the current TLS record up until the point of retransmission. All TLS counters utilize the counter(9) API. In order to enable hardware TLS offload the following sysctls must be set: kern.ipc.mb_use_ext_pgs=1 kern.ipc.tls.ifnet.permitted=1 kern.ipc.tls.enable=1 Sponsored by: Mellanox Technologies |
#
04f1690b |
|
05-Dec-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add basic support for TCP/IP based hardware TLS offload to mlx5core. The hardware offload is primarily targeted for TLS v1.2 and v1.3, using AES 128/256 bit pre-shared keys. This patch adds all the needed hardware structures, capabilites and firmware commands. Sponsored by: Mellanox Technologies |
#
adc56f5a |
|
02-Dec-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Make use of the stats(3) framework in the TCP stack. This makes it possible to retrieve per-connection statistical information such as the receive window size, RTT, or goodput, using a newly added TCP_STATS getsockopt(3) option, and extract them using the stats_voistat_fetch(3) API. See the net/tcprtt port for an example consumer of this API. Compared to the existing TCP_INFO system, the main differences are that this mechanism is easy to extend without breaking ABI, and provides statistical information instead of raw "snapshots" of values at a given point in time. stats(3) is more generic and can be used in both userland and the kernel. Reviewed by: thj Tested by: thj Obtained from: Netflix Relnotes: yes Sponsored by: Klara Inc, Netflix Differential Revision: https://reviews.freebsd.org/D20655 |
#
33ce28d1 |
|
27-Nov-2019 |
Scott Long <scottl@FreeBSD.org> |
Remove the trm(4) driver Differential Revision: https://reviews.freebsd.org/D22575 |
#
bddf7343 |
|
21-Nov-2019 |
John Baldwin <jhb@FreeBSD.org> |
NIC KTLS for Chelsio T6 adapters. This adds support for ifnet (NIC) KTLS using Chelsio T6 adapters. Unlike the TOE-based KTLS in r353328, NIC TLS works with non-TOE connections. NIC KTLS on T6 is not able to use the normal TSO (LSO) path to segment the encrypted TLS frames output by the crypto engine. Instead, the TOE is placed into a special setup to permit "dummy" connections to be associated with regular sockets using KTLS. This permits using the TOE to segment the encrypted TLS records. However, this approach does have some limitations: 1) Regular TOE sockets cannot be used when the TOE is in this special mode. One can use either TOE and TOE-based KTLS or NIC KTLS, but not both at the same time. 2) In NIC KTLS mode, the TOE is only able to accept a per-connection timestamp offset that varies in the upper 4 bits. Put another way, only connections whose timestamp offset has the 28 lower bits cleared can use NIC KTLS and generate correct timestamps. The driver will refuse to enable NIC KTLS on connections with a timestamp offset with any of the lower 28 bits set. To use NIC KTLS, users can either disable TCP timestamps by setting the net.inet.tcp.rfc1323 sysctl to 0, or apply a local patch to the tcp_new_ts_offset() function to clear the lower 28 bits of the generated offset. 3) Because the TCP segmentation relies on fields mirrored in a TCB in the TOE, not all fields in a TCP packet can be sent in the TCP segments generated from a TLS record. Specifically, for packets containing TCP options other than timestamps, the driver will inject an "empty" TCP packet holding the requested options (e.g. a SACK scoreboard) along with the segments from the TLS record. These empty TCP packets are counted by the dev.cc.N.txq.M.kern_tls_options sysctls. Unlike TOE TLS which is able to buffer encrypted TLS records in on-card memory to handle retransmits, NIC KTLS must re-encrypt TLS records for retransmit requests as well as non-retransmit requests that do not include the start of a TLS record but do include the trailer. The T6 NIC KTLS code tries to optimize some of the cases for requests to transmit partial TLS records. In particular it attempts to minimize sending "waste" bytes that have to be given as input to the crypto engine but are not needed on the wire to satisfy mbufs sent from the TCP stack down to the driver. TCP packets for TLS requests are broken down into the following classes (with associated counters): - Mbufs that send an entire TLS record in full do not have any waste bytes (dev.cc.N.txq.M.kern_tls_full). - Mbufs that send a short TLS record that ends before the end of the trailer (dev.cc.N.txq.M.kern_tls_short). For sockets using AES-CBC, the encryption must always start at the beginning, so if the mbuf starts at an offset into the TLS record, the offset bytes will be "waste" bytes. For sockets using AES-GCM, the encryption can start at the 16 byte block before the starting offset capping the waste at 15 bytes. - Mbufs that send a partial TLS record that has a non-zero starting offset but ends at the end of the trailer (dev.cc.N.txq.M.kern_tls_partial). In order to compute the authentication hash stored in the trailer, the entire TLS record must be sent as input to the crypto engine, so the bytes before the offset are always "waste" bytes. In addition, other per-txq sysctls are provided: - dev.cc.N.txq.M.kern_tls_cbc: Count of sockets sent via this txq using AES-CBC. - dev.cc.N.txq.M.kern_tls_gcm: Count of sockets sent via this txq using AES-GCM. - dev.cc.N.txq.M.kern_tls_fin: Count of empty FIN-only packets sent to compensate for the TOE engine not being able to set FIN on the last segment of a TLS record if the TLS record mbuf had FIN set. - dev.cc.N.txq.M.kern_tls_records: Count of TLS records sent via this txq including full, short, and partial records. - dev.cc.N.txq.M.kern_tls_octets: Count of non-waste bytes (TLS header and payload) sent for TLS record requests. - dev.cc.N.txq.M.kern_tls_waste: Count of waste bytes sent for TLS record requests. To enable NIC KTLS with T6, set the following tunables prior to loading the cxgbe(4) driver: hw.cxgbe.config_file=kern_tls hw.cxgbe.kern_tls=1 Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D21962 |
#
849aef49 |
|
21-Nov-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Port the NetBSD KCSAN runtime to FreeBSD. Update the NetBSD Kernel Concurrency Sanitizer (KCSAN) runtime to work in the FreeBSD kernel. It is a useful tool for finding data races between threads executing on different CPUs. This can be enabled by enabling KCSAN in the kernel config, or by using the GENERIC-KCSAN amd64 kernel. It works on amd64 and arm64, however the later needs a compiler change to allow -fsanitize=thread that KCSAN uses. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22315 |
#
d2e69013 |
|
18-Nov-2019 |
Andriy Gapon <avg@FreeBSD.org> |
fix up r354804, add new ZFS file mmp.c to kernel files Reported by: CI LINT build MFC after: 4 weeks X-MFC with: r354804 |
#
4d893465 |
|
13-Nov-2019 |
John Baldwin <jhb@FreeBSD.org> |
Add t4_keyctx.c to sys/conf/files for the non-module build. Missed in r354667. Pointy hat to: jhb MFC after: 1 month Sponsored by: Chelsio Communications |
#
81ca5d2f |
|
08-Nov-2019 |
Mark Johnston <markj@FreeBSD.org> |
Add new iwm(4) files to sys/conf/files. Submitted by: rea MFC with: r354504 |
#
124a91ac |
|
08-Nov-2019 |
Michal Meloun <mmel@FreeBSD.org> |
Implement support for (soft)linked clocks. This kind of clock nodes represent temporary placeholder for clocks defined later in boot process. Also, these are necessary to break circular dependencies occasionally occurring in complex clock graphs. MFC after: 3 weeks |
#
2b885467 |
|
02-Nov-2019 |
Toomas Soome <tsoome@FreeBSD.org> |
r354264 did mix up the directory path The correct path is sys/cddl/contrib/opensolaris/common/lz4, not sys/cddl/contrib/opensolaris/lz4 Reported by: Michael Butler |
#
a524707b |
|
02-Nov-2019 |
Toomas Soome <tsoome@FreeBSD.org> |
r354253 did miss the updates to sys/conf/files and sys/conf/kern.pre.mk Reported by: Brandon Bergren |
#
0634308d |
|
18-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Fix debugnet(4) link/build fallout on some configurations Introduced in r353685 (sys/conf/files), r353694 (debugnet.c db_printf). Submitted by: kevans Reported by: cy X-MFC-With: r353685, r353694 |
#
dda17b36 |
|
17-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Implement NetGDB(4) NetGDB(4) is a component of a system using a panic-time network stack to remotely debug crashed FreeBSD kernels over the network, instead of traditional serial interfaces. There are three pieces in the complete NetGDB system. First, a dedicated proxy server must be running to accept connections from both NetGDB and gdb(1), and pass bidirectional traffic between the two protocols. Second, the NetGDB client is activated much like ordinary 'gdb' and similarly to 'netdump' in ddb(4) after a panic. Like other debugnet(4) clients (netdump(4)), the network interface on the route to the proxy server must be online and support debugnet(4). Finally, the remote (k)gdb(1) uses 'target remote <proxy>:<port>' (like any other TCP remote) to connect to the proxy server. The NetGDB v1 protocol speaks the literal GDB remote serial protocol, and uses a 1:1 relationship between GDB packets and sequences of debugnet packets (fragmented by MTU). There is no encryption utilized to keep debugging sessions private, so this is only appropriate for local segments or trusted networks. Submitted by: John Reimer <john.reimer AT emc.com> (earlier version) Discussed some with: emaste, markj Relnotes: sure Differential Revision: https://reviews.freebsd.org/D21568 |
#
7790c8c1 |
|
17-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Split out a more generic debugnet(4) from netdump(4) Debugnet is a simplistic and specialized panic- or debug-time reliable datagram transport. It can drive a single connection at a time and is currently unidirectional (debug/panic machine transmit to remote server only). It is mostly a verbatim code lift from netdump(4). Netdump(4) remains the only consumer (until the rest of this patch series lands). The INET-specific logic has been extracted somewhat more thoroughly than previously in netdump(4), into debugnet_inet.c. UDP-layer logic and up, as much as possible as is protocol-independent, remains in debugnet.c. The separation is not perfect and future improvement is welcome. Supporting INET6 is a long-term goal. Much of the diff is "gratuitous" renaming from 'netdump_' or 'nd_' to 'debugnet_' or 'dn_' -- sorry. I thought keeping the netdump name on the generic module would be more confusing than the refactoring. The only functional change here is the mbuf allocation / tracking. Instead of initiating solely on netdump-configured interface(s) at dumpon(8) configuration time, we watch for any debugnet-enabled NIC for link activation and query it for mbuf parameters at that time. If they exceed the existing high-water mark allocation, we re-allocate and track the new high-water mark. Otherwise, we leave the pre-panic mbuf allocation alone. In a future patch in this series, this will allow initiating netdump from panic ddb(4) without pre-panic configuration. No other functional change intended. Reviewed by: markj (earlier version) Some discussion with: emaste, jhb Objection from: marius Differential Revision: https://reviews.freebsd.org/D21421 |
#
671d68fa |
|
13-Oct-2019 |
Mark Johnston <markj@FreeBSD.org> |
Move SCTP DTrace probe definitions into a .c file. Previously they were defined in a header which was included exactly once. Change this to follow the usual practice of putting definitions in C files. No functional change intended. Discussed with: tuexen MFC after: 1 week Sponsored by: The FreeBSD Foundation |
#
1a13f2e6 |
|
07-Oct-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Introduce stats(3), a flexible statistics gathering API. This provides a framework to define a template describing a set of "variables of interest" and the intended way for the framework to maintain them (for example the maximum, sum, t-digest, or a combination thereof). Afterwards the user code feeds in the raw data, and the framework maintains these variables inside a user-provided, opaque stats blobs. The framework also provides a way to selectively extract the stats from the blobs. The stats(3) framework can be used in both userspace and the kernel. See the stats(3) manual page for details. This will be used by the upcoming TCP statistics gathering code, https://reviews.freebsd.org/D20655. The stats(3) framework is disabled by default for now, except in the NOTES kernel (for QA); it is expected to be enabled in amd64 GENERIC after a cool down period. Reviewed by: sef (earlier version) Obtained from: Netflix Relnotes: yes Sponsored by: Klara Inc, Netflix Differential Revision: https://reviews.freebsd.org/D20477 |
#
c28ef249 |
|
02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Import Linux code to query/set buffer state in mlx5en(4). Submitted by: kib@ MFC after: 3 days Sponsored by: Mellanox Technologies |
#
4bc8507b |
|
02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Remove no longer needed fwdump register tables from mlx5core. Submitted by: kib@ MFC after: 3 days Sponsored by: Mellanox Technologies |
#
66b38bfe |
|
02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for Multi-Physical Function Switch, MPFS, in mlx5en. MPFS is a logical switch in the Mellanox device which forward packets based on a hardware driven L2 address table, to one or more physical- or virtual- functions. The physical- or virtual- function is required to tell the MPFS by using the MPFS firmware commands, which unicast MAC addresses it is requesting from the physical port's traffic. Broadcast and multicast traffic however, is copied to all listening physical- and virtual- functions and does not need a rule in the MPFS switching table. Linux commit: eeb66cdb682678bfd1f02a4547e3649b38ffea7e MFC after: 3 days Sponsored by: Mellanox Technologies |
#
935dbbeb |
|
01-Oct-2019 |
Ryan Stone <rstone@FreeBSD.org> |
Clean up duplicate entries in sys/conf/files Reviewed by: imp |
#
ec3ecd04 |
|
24-Sep-2019 |
Jung-uk Kim <jkim@FreeBSD.org> |
Fix white spaces. |
#
35c7bb34 |
|
24-Sep-2019 |
Randall Stewart <rrs@FreeBSD.org> |
This commit adds BBR (Bottleneck Bandwidth and RTT) congestion control. This is a completely separate TCP stack (tcp_bbr.ko) that will be built only if you add the make options WITH_EXTRA_TCP_STACKS=1 and also include the option TCPHPTS. You can also include the RATELIMIT option if you have a NIC interface that supports hardware pacing, BBR understands how to use such a feature. Note that this commit also adds in a general purpose time-filter which allows you to have a min-filter or max-filter. A filter allows you to have a low (or high) value for some period of time and degrade slowly to another value has time passes. You can find out the details of BBR by looking at the original paper at: https://queue.acm.org/detail.cfm?id=3022184 or consult many other web resources you can find on the web referenced by "BBR congestion control". It should be noted that BBRv1 (which this is) does tend to unfairness in cases of small buffered paths, and it will usually get less bandwidth in the case of large BDP paths(when competing with new-reno or cubic flows). BBR is still an active research area and we do plan on implementing V2 of BBR to see if it is an improvement over V1. Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D21582 |
#
50c365c4 |
|
04-Sep-2019 |
Ruslan Bukin <br@FreeBSD.org> |
Include dwgpio to the build. Sponsored by: DARPA, AFRL |
#
b2e60773 |
|
26-Aug-2019 |
John Baldwin <jhb@FreeBSD.org> |
Add kernel-side support for in-kernel TLS. KTLS adds support for in-kernel framing and encryption of Transport Layer Security (1.0-1.2) data on TCP sockets. KTLS only supports offload of TLS for transmitted data. Key negotation must still be performed in userland. Once completed, transmit session keys for a connection are provided to the kernel via a new TCP_TXTLS_ENABLE socket option. All subsequent data transmitted on the socket is placed into TLS frames and encrypted using the supplied keys. Any data written to a KTLS-enabled socket via write(2), aio_write(2), or sendfile(2) is assumed to be application data and is encoded in TLS frames with an application data type. Individual records can be sent with a custom type (e.g. handshake messages) via sendmsg(2) with a new control message (TLS_SET_RECORD_TYPE) specifying the record type. At present, rekeying is not supported though the in-kernel framework should support rekeying. KTLS makes use of the recently added unmapped mbufs to store TLS frames in the socket buffer. Each TLS frame is described by a single ext_pgs mbuf. The ext_pgs structure contains the header of the TLS record (and trailer for encrypted records) as well as references to the associated TLS session. KTLS supports two primary methods of encrypting TLS frames: software TLS and ifnet TLS. Software TLS marks mbufs holding socket data as not ready via M_NOTREADY similar to sendfile(2) when TLS framing information is added to an unmapped mbuf in ktls_frame(). ktls_enqueue() is then called to schedule TLS frames for encryption. In the case of sendfile_iodone() calls ktls_enqueue() instead of pru_ready() leaving the mbufs marked M_NOTREADY until encryption is completed. For other writes (vn_sendfile when pages are available, write(2), etc.), the PRUS_NOTREADY is set when invoking pru_send() along with invoking ktls_enqueue(). A pool of worker threads (the "KTLS" kernel process) encrypts TLS frames queued via ktls_enqueue(). Each TLS frame is temporarily mapped using the direct map and passed to a software encryption backend to perform the actual encryption. (Note: The use of PHYS_TO_DMAP could be replaced with sf_bufs if someone wished to make this work on architectures without a direct map.) KTLS supports pluggable software encryption backends. Internally, Netflix uses proprietary pure-software backends. This commit includes a simple backend in a new ktls_ocf.ko module that uses the kernel's OpenCrypto framework to provide AES-GCM encryption of TLS frames. As a result, software TLS is now a bit of a misnomer as it can make use of hardware crypto accelerators. Once software encryption has finished, the TLS frame mbufs are marked ready via pru_ready(). At this point, the encrypted data appears as regular payload to the TCP stack stored in unmapped mbufs. ifnet TLS permits a NIC to offload the TLS encryption and TCP segmentation. In this mode, a new send tag type (IF_SND_TAG_TYPE_TLS) is allocated on the interface a socket is routed over and associated with a TLS session. TLS records for a TLS session using ifnet TLS are not marked M_NOTREADY but are passed down the stack unencrypted. The ip_output_send() and ip6_output_send() helper functions that apply send tags to outbound IP packets verify that the send tag of the TLS record matches the outbound interface. If so, the packet is tagged with the TLS send tag and sent to the interface. The NIC device driver must recognize packets with the TLS send tag and schedule them for TLS encryption and TCP segmentation. If the the outbound interface does not match the interface in the TLS send tag, the packet is dropped. In addition, a task is scheduled to refresh the TLS send tag for the TLS session. If a new TLS send tag cannot be allocated, the connection is dropped. If a new TLS send tag is allocated, however, subsequent packets will be tagged with the correct TLS send tag. (This latter case has been tested by configuring both ports of a Chelsio T6 in a lagg and failing over from one port to another. As the connections migrated to the new port, new TLS send tags were allocated for the new port and connections resumed without being dropped.) ifnet TLS can be enabled and disabled on supported network interfaces via new '[-]txtls[46]' options to ifconfig(8). ifnet TLS is supported across both vlan devices and lagg interfaces using failover, lacp with flowid enabled, or lacp with flowid enabled. Applications may request the current KTLS mode of a connection via a new TCP_TXTLS_MODE socket option. They can also use this socket option to toggle between software and ifnet TLS modes. In addition, a testing tool is available in tools/tools/switch_tls. This is modeled on tcpdrop and uses similar syntax. However, instead of dropping connections, -s is used to force KTLS connections to switch to software TLS and -i is used to switch to ifnet TLS. Various sysctls and counters are available under the kern.ipc.tls sysctl node. The kern.ipc.tls.enable node must be set to true to enable KTLS (it is off by default). The use of unmapped mbufs must also be enabled via kern.ipc.mb_use_ext_pgs to enable KTLS. KTLS is enabled via the KERN_TLS kernel option. This patch is the culmination of years of work by several folks including Scott Long and Randall Stewart for the original design and implementation; Drew Gallatin for several optimizations including the use of ext_pgs mbufs, the M_NOTREADY mechanism for TLS records awaiting software encryption, and pluggable software crypto backends; and John Baldwin for modifications to support hardware TLS offload. Reviewed by: gallatin, hselasky, rrs Obtained from: Netflix Sponsored by: Netflix, Chelsio Communications Differential Revision: https://reviews.freebsd.org/D21277 |
#
df4e516f |
|
25-Aug-2019 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: remove obsolete file The netmap_pt.c module has become obsolete after the refactoring that added netmap_kloop.c. Remove it and unlink it from the build system. MFC after: 1 week |
#
21aae724 |
|
25-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
Remove zlib 1.0.4 from kernel. PR: 229763 Reviewed by: emaste, Yoshihiro Ota <ota j email ne jp> Differential Revision: https://reviews.freebsd.org/D21375 |
#
93289cfc |
|
21-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
Create a AHCI attachment for nvme. Intel has created RST and many laptops from vendors like Lenovo and Asus. It's a mechanism for creating multiple boot devices under windows. It effectively hides the nvme drive inside of the ahci controller. The details are supposed to be a trade secret. However, there's a reverse engineered Linux driver, and this implements similar operations to allow nvme drives to attach. The ahci driver attaches nvme children that proxy the remapped resources to the child. nvme_ahci is just like nvme_pci, except it doesn't do the PCI specific things. That's moved into ahci where appropriate. When the nvme drive is remapped, MSI-x interrupts aren't forwarded (the linux driver doesn't know how to use this either). INTx interrupts are used instead. This is suboptimal, but usually sufficient for the laptops these parts are in. This is based loosely on https://www.spinics.net/lists/linux-ide/msg53364.html submitted, but not accepted by, Linux. It was written by Dan Williams. These changes were written from scratch by Olivier Houchard. Submitted by: cognet@ (Olivier Houchard) |
#
f182f928 |
|
21-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
Separate the pci attachment from the rest of nvme Nvme drives can be attached in a number of different ways. Separate out the PCI attachment so that we can have other attachment types, like ahci and various types of NVMeoF. Submitted by: cognet@ |
#
2b0ebb77 |
|
19-Aug-2019 |
Conrad Meyer <cem@FreeBSD.org> |
libkern: Implement strchrnul(3) |
#
3544d43b |
|
18-Aug-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
ng_ubt(4): do not attach Intel Wireless 8260/8265 in bootloader mode. Add helper function for synchronous execution of HCI commands at probe stage and use this function to check firmware state of Intel Wireless 8260/8265 bluetooth devices found in many post 2016 year laptops. Attempt to initialize FreeBSD bluetooth stack while such a device is in bootloader mode locks the adapter hardly so it requires power on/off cycle to restore. This change blocks ng_ubt attachment unless operational firmware is loaded thus preventing the lock up. PR: 237083 Reviewed by: hps, emax MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D21071 |
#
eefd8f96 |
|
13-Aug-2019 |
Conrad Meyer <cem@FreeBSD.org> |
geom_uzip(4), mkuzip(8): Add Zstd image mode The Zstd format bumps the CLOOP major number to 4 to avoid incompatibility with older systems. Support in geom_uzip(4) is conditional on the ZSTDIO kernel option, which is enabled in amd64 GENERIC, but not all in-tree configurations. mkuzip(8) was modified slightly to always initialize the nblocks + 1'th offset in the CLOOP file format. Previously, it was only initialized in the case where the final compressed block happened to be unaligned w.r.t. DEV_BSIZE. The "Fake" last+1 block change in r298619 means that the final compressed block's 'blen' was never correct unless the compressed uzip image happened to be BSIZE-aligned. This happened in about 1 out of every 512 cases. The zlib and lzma decompressors are probably tolerant of extra trash following the frame they were told to decode, but Zstd complains that the input size is incorrect. Correspondingly, geom_uzip(4) was modified slightly to avoid trashing the nblocks + 1'th offset when it is known to be initialized to a good value. This corrects the calculated final real cluster compressed length to match that printed by mkuzip(8). mkuzip(8) was refactored somewhat to reduce code duplication and increase ease of adding other compression formats. * Input block size validation was pulled out of individual compression init routines into main(). * Init routines now validate a user-provided compression level or select an algorithm-specific default, if none was provided. * A new interface for calculating the maximal compressed size of an incompressible input block was added for each driver. The generic code uses it to validate against MAXPHYS as well as to allocate compression result buffers in the generic code. * Algorithm selection is now driven by a table lookup, to increase ease of adding other formats in the future. mkuzip(8) gained the ability to explicitly specify a compression level with '-C'. The prior defaults -- 9 for zlib and 6 for lzma -- are maintained. The new zstd default is 9, to match zlib. Rather than select lzma or zlib with '-L' or its absense, respectively, a new argument '-A <algorithm>' is provided to select 'zlib', 'lzma', or 'zstd'. '-L' is considered deprecated, but will probably never be removed. All of the new features were documented in mkuzip.8; the page was also cleaned up slightly. Relnotes: yes |
#
ac8e5d02 |
|
13-Aug-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Remove deprecated GEOM classes Follow-up on r322318 and r322319 and remove the deprecated modules. Shift some now-unused kernel files into userspace utilities that incorporate them. Remove references to removed GEOM classes in userspace utilities. Reviewed by: imp (earlier version) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D21249 |
#
4dec4ffe |
|
13-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
Flowtables were removed in r321618, remove stray reference here. |
#
b6066d82 |
|
13-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
vx(4) was removed in r347921. Remove stray reference. |
#
6aae4735 |
|
13-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
nsp(4) was removed in r339571. Remove stray reference. |
#
09813007 |
|
12-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
ukbdmap.h rule was identical on all platforms, so move them into sys/conf/files. This allows us to remove 'nodevice ukbd' from the arm64 NOTES file. |
#
4d3f1eaf |
|
08-Aug-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Update to Zstandard 1.4.2 The full release notes for 1.4.1 (skipped) and 1.4.2 can be found on Github: https://github.com/facebook/zstd/releases/tag/v1.4.1 https://github.com/facebook/zstd/releases/tag/v1.4.2 These are mostly minor updates; 1.4.1 purportedly brings something like 7% faster decompression speed. Relnotes: yes
|
#
63722e52 |
|
07-Aug-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add cdceem(4) driver, for virtual ethernet devices compliant with Communication Device Class Ethernet Emulation Model (CDC EEM). The driver supports both the device, and host side operation; there is a new USB template (#11) for the former. This enables communication with virtual USB NIC provided by iLO 5, as found in new HPE Proliant servers. Reviewed by: hselasky MFC after: 2 weeks Relnotes: yes Sponsored by: Hewlett Packard Enterprise |
#
a15cb219 |
|
06-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
Expose zlib's utility functions in Z_SOLO library when building kernel. This allows kernel code to reuse zlib's implementation. PR: 229763 Reviewed by: Yoshihiro Ota <ota j email ne jp> Relnotes: yes Differential Revision: https://reviews.freebsd.org/D21156 |
#
5177d294 |
|
05-Aug-2019 |
Ian Lepore <ian@FreeBSD.org> |
Add a driver for Texas Instruments ADS101x/ADS111x i2c ADC chips. Instances of the device can be configured using hints or FDT data. Interfaces to reconfigure the chip and extract voltage measurements from it are available via sysctl(8). |
#
1dbf944a |
|
02-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
if_mxge: update zlib version 1.0.4 to 1.2.11. PR: 229763 Submitted by: Yoshihiro Ota <ota j email ne jp> Differential Revision: https://reviews.freebsd.org/D20272 |
#
20abea66 |
|
01-Aug-2019 |
Randall Stewart <rrs@FreeBSD.org> |
This adds the third step in getting BBR into the tree. BBR and an updated rack depend on having access to the new ratelimit api in this commit. Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D20953 |
#
0ed1d6fb |
|
01-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
Allow Kernel to link in both legacy libkern/zlib and new sys/contrib/zlib, with an eventual goal to convert all legacl zlib callers to the new zlib version: * Move generic zlib shims that are not specific to zlib 1.0.4 to sys/dev/zlib. * Connect new zlib (1.2.11) to the zlib kernel module, currently built with Z_SOLO. * Prefix the legacy zlib (1.0.4) with 'zlib104_' namespace. * Convert sys/opencrypto/cryptodeflate.c to use new zlib. * Remove bundled zlib 1.2.3 from ZFS and adapt it to new zlib and make it depend on the zlib module. * Fix Z_SOLO build of new zlib. PR: 229763 Submitted by: Yoshihiro Ota <ota j email ne jp> Reviewed by: markm (sys/dev/zlib/zlib_kmod.c) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19706 |
#
d4565741 |
|
29-Jul-2019 |
Xin LI <delphij@FreeBSD.org> |
Remove gzip'ed a.out support. The current implementation of gzipped a.out support was based on a very old version of InfoZIP which ships with an ancient modified version of zlib, and was removed from the GENERIC kernel in 1999 when we moved to an ELF world. PR: 205822 Reviewed by: imp, kib, emaste, Yoshihiro Ota <ota at j.email.ne.jp> Relnotes: yes Differential Revision: https://reviews.freebsd.org/D21099 |
#
951e0584 |
|
22-Jul-2019 |
Ruslan Bukin <br@FreeBSD.org> |
o Add support for BERI IOMMU device o Add an experimental IOMMU support to xDMA framework The BERI IOMMU device is the part of CHERI device-model project [1]. It translates memory addresses for various BERI peripherals modelled in software. It accepts FreeBSD/mips64 page directories format and manages BERI TLB. 1. https://github.com/CTSRD-CHERI/device-model Sponsored by: DARPA, AFRL |
#
7fe671dc |
|
08-Jul-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Put USB ACPI code into own module, uacpi.ko. The code needs more testing before being enabled by default. Sponsored by: Mellanox Technologies |
#
494fd9b6 |
|
02-Jul-2019 |
Ganbold Tsagaankhuu <ganbold@FreeBSD.org> |
Fix build error introduced by r349596. |
#
82334850 |
|
28-Jun-2019 |
John Baldwin <jhb@FreeBSD.org> |
Add an external mbuf buffer type that holds multiple unmapped pages. Unmapped mbufs allow sendfile to carry multiple pages of data in a single mbuf, without mapping those pages. It is a requirement for Netflix's in-kernel TLS, and provides a 5-10% CPU savings on heavy web serving workloads when used by sendfile, due to effectively compressing socket buffers by an order of magnitude, and hence reducing cache misses. For this new external mbuf buffer type (EXT_PGS), the ext_buf pointer now points to a struct mbuf_ext_pgs structure instead of a data buffer. This structure contains an array of physical addresses (this reduces cache misses compared to an earlier version that stored an array of vm_page_t pointers). It also stores additional fields needed for in-kernel TLS such as the TLS header and trailer data that are currently unused. To more easily detect these mbufs, the M_NOMAP flag is set in m_flags in addition to M_EXT. Various functions like m_copydata() have been updated to safely access packet contents (using uiomove_fromphys()), to make things like BPF safe. NIC drivers advertise support for unmapped mbufs on transmit via a new IFCAP_NOMAP capability. This capability can be toggled via the new 'nomap' and '-nomap' ifconfig(8) commands. For NIC drivers that only transmit packet contents via DMA and use bus_dma, adding the capability to if_capabilities and if_capenable should be all that is required. If a NIC does not support unmapped mbufs, they are converted to a chain of mapped mbufs (using sf_bufs to provide the mapping) in ip_output or ip6_output. If an unmapped mbuf requires software checksums, it is also converted to a chain of mapped mbufs before computing the checksum. Submitted by: gallatin (earlier version) Reviewed by: gallatin, hselasky, rrs Discussed with: ae, kp (firewalls) Relnotes: yes Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D20616 |
#
f5a95d9a |
|
24-Jun-2019 |
Warner Losh <imp@FreeBSD.org> |
Remove NAND and NANDFS support NANDFS has been broken for years. Remove it. The NAND drivers that remain are for ancient parts that are no longer relevant. They are polled, have terrible performance and just for ancient arm hardware. NAND parts have evolved significantly from this early work and little to none of it would be relevant should someone need to update to support raw nand. This code has been off by default for years and has violated the vnode protocol leading to panics since it was committed. Numerous posts to arch@ and other locations have found no actual users for this software. Relnotes: Yes No Objection From: arch@ Differential Revision: https://reviews.freebsd.org/D20745 |
#
2973d38a |
|
23-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
The gpiopps(4) driver currently has probe and attach code only for FDT based systems, so conditionalize it accordingly in conf/files. |
#
9026f4b8 |
|
23-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
The sy8106a and syr827 drviers require FDT and the ext_resources subsystem. |
#
48fedd09 |
|
23-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
Add the rtc8583 driver to conf/files. Also, move sy8106a from file.allwinner to conf/files... it's not allwinner-specific, some day other platforms could use the same regulator chip. |
#
c363b16c |
|
20-Jun-2019 |
Conrad Meyer <cem@FreeBSD.org> |
sys: Remove DEV_RANDOM device option Remove 'device random' from kernel configurations that reference it (most). Replace perhaps mistaken 'nodevice random' in two MIPS configs with 'options RANDOM_LOADABLE' instead. Document removal in UPDATING; update NOTES and random.4. Reviewed by: delphij, markm (previous version) Approved by: secteam(delphij) Differential Revision: https://reviews.freebsd.org/D19918 |
#
e68fcc88 |
|
17-Jun-2019 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add ACPI support for USB driver. This adds ACPI device path on devinfo(8) output and show value of _UPC(usb port capabilities), _PLD (physical location of device) when hw.usb.debug >= 1 . Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D20630 |
#
f89d2072 |
|
17-Jun-2019 |
Xin LI <delphij@FreeBSD.org> |
Separate kernel crc32() implementation to its own header (gsb_crc32.h) and rename the source to gsb_crc32.c. This is a prerequisite of unifying kernel zlib instances. PR: 229763 Submitted by: Yoshihiro Ota <ota at j.email.ne.jp> Differential Revision: https://reviews.freebsd.org/D20193 |
#
b43e2c8b |
|
16-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
Add ofw_pwmbus to enumerate pwmbus devices on systems configured with fdt data. Also, add fdt support to pwmc. |
#
f8f8d87c |
|
15-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
Restructure the pwm device hirearchy and interfaces. The pwm and pwmbus interfaces were nearly identical, this merges them into a single pwmbus interface. The pwmbus driver now implements the pwmbus interface by simply passing all calls through to its parent (the hardware driver). The channel_count method moves from pwm to pwmbus, and the get_bus method is deleted (just no longer needed). The net effect is that the interface for doing pwm stuff is now the same regardless of whether you're a child of pwmbus, or some random driver elsewhere in the hierarchy that is bypassing the pwmbus layer and is talking directly to the hardware driver via cross-hierarchy connections established using fdt data. The pwmc driver is now a child of pwmbus, instead of being its sibling (that's why the get_bus method is no longer needed; pwmc now gets the device_t of the bus using device_get_parent()). |
#
dd47326c |
|
15-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
Allow pwm(9) components to be selected individually, while 'device pwm' still includes it all. |
#
6e33e7e0 |
|
08-Jun-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Remove extra stray + from a diff from the beginning of the lines after r348805 to fix the build. Please do not ask how 3 more local builds succeeded without barfing. Pointyhat to: bz MFC after: 6 weeks X-MFC with: r348805 |
#
67ca7330 |
|
08-Jun-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Add SDIO support. Add a CAM-Newbus SDIO support module. This works provides a newbus infrastructure for device drivers wanting to use SDIO. On the lower end while it is connected by newbus to SDHCI, it talks CAM using the MMCCAM framework to get to it. This also duplicates the usbdevs framework to equally create sdiodev header files with #defines for "vendors" and "products". Submitted by: kibab (initial work, see https://reviews.freebsd.org/D12467) Reviewed by: kibab, imp (comments on earlier version) MFC after: 6 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19749 |
#
5ca5dfe9 |
|
31-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
random(4): Fix RANDOM_LOADABLE build I introduced an obvious compiler error in r346282, so this change fixes that. Unfortunately, RANDOM_LOADABLE isn't covered by our existing tinderbox, and it seems like there were existing latent linking problems. I believe these were introduced on accident in r338324 during reduction of the boolean expression(s) adjacent to randomdev.c and hash.c. It seems the RANDOM_LOADABLE build breakage has gone unnoticed for nine months. This change correctly annotates randomdev.c and hash.c with !random_loadable to match the pre-r338324 logic; and additionally updates the HWRNG drivers in MD 'files.*', which depend on random_device symbols, with !random_loadable (it is invalid for the kernel to depend on symbols from a module). (The expression for both randomdev.c and hash.c was the same, prior to r338324: "optional random random_yarrow | random !random_yarrow !random_loadable". I.e., "random && (yarrow || !loadable)." When Yarrow was removed ("yarrow := False"), the expression was incorrectly reduced to "optional random" when it should have retained "random && !loadable".) Additionally, I discovered that virtio_random was missing a MODULE_DEPEND on random_device, which breaks kld load/link of the driver on RANDOM_LOADABLE kernels. Address that issue as well. PR: 238223 Reported by: Eir Nym <eirnym AT gmail.com> Reviewed by: delphij, markm Approved by: secteam(delphij) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D20466 |
#
7f166c93 |
|
23-May-2019 |
Colin Percival <cperciva@FreeBSD.org> |
Use ACPI SPCR on x86 This takes the SPCR code currently in uart_cpu_arm64.c, moves it into a new uart_cpu_acpi.c (with some associated refactoring), and uses it from both arm64 and x86. An SPCR serial port address AccessWidth field value of 0 ("reserved") is now treated as 1 ("byte access") in order to work around a buggy SPCR table on Amazon EC2 i3.metal instances. Reviewed by: manu, Greg V MFC after: 3 days Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D20357 |
#
bac5ec96 |
|
19-May-2019 |
Ian Lepore <ian@FreeBSD.org> |
Add common support functions for USB devices configured via FDT data. FDT data is sometimes used to configure usb devices which are hardwired into an embedded system. Because the devices are instantiated by the usb enumeration process rather than by ofwbus iterating through the fdt data, it is somewhat difficult for a usb driver to locate fdt data that belongs to it. In the past, various ad-hoc methods have been used, which can lead to errors such applying configuration that should apply only to a hardwired device onto a similar device attached by the user at runtime. For example, if the user adds an ethernet device that uses the same driver as the builtin ethernet, both devices might end up with the same MAC address. These changes add a new usb_fdt_get_node() helper function that a driver can use to locate FDT data that belongs to a single unique instance of the device. This function locates the proper FDT data using the mechanism detailed in the standard "usb-device.txt" binding document [1]. There is also a new usb_fdt_get_mac_addr() function, used to retrieve the mac address for a given device instance from the fdt data. It uses usb_fdt_get_node() to locate the right node in the FDT data, and attempts to obtain the mac-address or local-mac-address property (in that order, the same as linux does it). The existing if_smsc driver is modified to use the new functions, both as an example and for testing the new functions. Rpi and rpi2 boards use this driver and provide the mac address via the fdt data. [1] https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/usb/usb-device.txt Differential Revision: https://reviews.freebsd.org/D20262 |
#
7a582e53 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove xe(4) Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
02fae06a |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove wb(4) Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
be345ff0 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove txp(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
b1b1c2fe |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove tx(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
7c897ca9 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove tl(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
90089841 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove sn(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
3b70dd81 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove sf(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
607790d1 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove pcn(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
dd262716 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove fe(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
3ee01a13 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove ex(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
e153ee66 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove ep(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
05aa6e58 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove ed(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
08ac01a9 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove de(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
e1edf124 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove cs(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230 |
#
3b2324c3 |
|
08-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Initial version of Mellanox in-kernel firmware upgrade support. Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies |
#
423530be |
|
08-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for Dynamic Interrupt Moderation, DIM, in mlx5en(4). Add support for DIM based on Linux, with some minor adaptions specific to FreeBSD. Linux commit f97c3dc3c0e8d23a5c4357d182afeef4c67f5c33 MFC after: 3 days Sponsored by: Mellanox Technologies |
#
251a32b5 |
|
07-May-2019 |
Kyle Evans <kevans@FreeBSD.org> |
tun/tap: merge and rename to `tuntap` tun(4) and tap(4) share the same general management interface and have a lot in common. Bugs exist in tap(4) that have been fixed in tun(4), and vice-versa. Let's reduce the maintenance requirements by merging them together and using flags to differentiate between the three interface types (tun, tap, vmnet). This fixes a couple of tap(4)/vmnet(4) issues right out of the gate: - tap devices may no longer be destroyed while they're open [0] - VIMAGE issues already addressed in tun by kp [0] emaste had removed an easy-panic-button in r240938 due to devdrn blocking. A naive glance over this leads me to believe that this isn't quite complete -- destroy_devl will only block while executing d_* functions, but doesn't block the device from being destroyed while a process has it open. The latter is the intent of the condvar in tun, so this is "fixed" (for certain definitions of the word -- it wasn't really broken in tap, it just wasn't quite ideal). ifconfig(8) also grew the ability to map an interface name to a kld, so that `ifconfig {tun,tap}0` can continue to autoload the correct module, and `ifconfig vmnet0 create` will now autoload the correct module. This is a low overhead addition. (MFC commentary) This may get MFC'd if many bugs in tun(4)/tap(4) are discovered after this, and how critical they are. Changes after this are likely easily MFC'd without taking this merge, but the merge will be easier. I have no plans to do this MFC as of now. Reviewed by: bcr (manpages), tuexen (testing, syzkaller/packetdrill) Input also from: melifaro Relnotes: yes Differential Revision: https://reviews.freebsd.org/D20044 |
#
6b97c2e3 |
|
19-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Revert r346410 and r346411 libkern in .PATH has too many filename conflicts with libc and my -DNO_CLEAN tinderbox didn't catch that ahead of time. Mea culpa. |
#
7deb4b19 |
|
19-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
libkern: Bring in arc4random_uniform(9) from libc It is a useful arc4random wrapper in the kernel for much the same reasons as in userspace. Move the source to libkern (because kernel build is restricted to sys/, but userspace can include any file it likes) and build kernel and libc versions from the same source file. Copy the documentation from arc4random_uniform(3) to the section 9 page. While here, add missing arc4random_buf(9) symlink. Sponsored by: Dell EMC Isilon |
#
9a4eed0b |
|
17-Apr-2019 |
Emmanuel Vadot <manu@FreeBSD.org> |
ofw_graph: Add functions for graph bindings Those functions are helpers to work on graph bindings. graphs are mostly use with video related devices. See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/graph.txt?id=4436a3711e3249840e0679e92d3c951bcaf25515 MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D19877 |
#
499d565a |
|
17-Apr-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Compile sha1.c when ether support is included sha1 is used by ether_gen_addr after r346324. Perhaps in an ideal world we could detect that the kernel's been compiled without sha1_* bits included and silently fallback to arc4random instead because these platforms/kernel configs are far and few between. It's fairly lightweight, though, so just include it for now. |
#
924f8189 |
|
16-Apr-2019 |
Kyle Evans <kevans@FreeBSD.org> |
fdt: further consolidate DTB building and revise manpage FDT_DTS_FILE was built separately with a rule in sys/conf/files and recreated the rules we used in dtb.mk. Now that we have other infrastructure to build a DTB along with the kernel, fold FDT_DTS_FILE into that since it doesn't have any special requirements. fdt(4) never got revised to mention the DTS/DTSO make options, so do that now. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D19736 |
#
b0fefb25 |
|
02-Apr-2019 |
Marcin Wojtas <mw@FreeBSD.org> |
Create kernel module to parse Veriexec manifest based on envs The current approach of injecting manifest into mac_veriexec is to verify the integrity of it in userspace (veriexec (8)) and pass its entries into kernel using a char device (/dev/veriexec). This requires verifying root partition integrity in loader, for example by using memory disk and checking its hash. Otherwise if rootfs is compromised an attacker could inject their own data. This patch introduces an option to parse manifest in kernel based on envs. The loader sets manifest path and digest. EVENTHANDLER is used to launch the module right after the rootfs is mounted. It has to be done this way, since one might want to verify integrity of the init file. This means that manifest is required to be present on the root partition. Note that the envs have to be set right before boot to make sure that no one can spoof them. Submitted by: Kornel Duleba <mindal@semihalf.com> Reviewed by: sjg Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D19281 |
#
154c6ffd |
|
02-Apr-2019 |
Alexander Motin <mav@FreeBSD.org> |
Build NVMe CAM transport unrelated to NVMe SIM. Before this I suppose it was impossible load CAM-based NVMe as module. Plus this appeared to be needed to build r345815 without NVMe driver. MFC after: 2 weeks |
#
91a3f358 |
|
24-Mar-2019 |
Ian Lepore <ian@FreeBSD.org> |
Support device-independent labels for geom_flashmap slices. While geom_flashmap has always supported label names for its slices, it does so by appending "s.labelname" to the provider device name, meaning you still have to know the name and unit of the hardware device to use the labels. These changes add support for device-independent geom_flashmap labels, using the standard geom_label infrastructure. geom_flashmap now creates a softc struct attached to its geom, and as it creates slices it stores the label into an array in the softc. The new geom_label_flashmap uses those labels when tasting a geom_flashmap provider. Differential Revision: https://reviews.freebsd.org/D19535 |
#
123af6ec |
|
20-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
Rename fuse(4) to fusefs(4) This makes it more consistent with other filesystems, which all end in "fs", and more consistent with its mount helper, which is already named "mount_fusefs". Reviewed by: cem, rgrimes MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19649 |
#
d18c1f26 |
|
19-Mar-2019 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Reapply r345274 with build fixes for 32-bit architectures. Update NAT64LSN implementation: o most of data structures and relations were modified to be able support large number of translation states. Now each supported protocol can use full ports range. Ports groups now are belongs to IPv4 alias addresses, not hosts. Each ports group can keep several states chunks. This is controlled with new `states_chunks` config option. States chunks allow to have several translation states for single alias address and port, but for different destination addresses. o by default all hash tables now use jenkins hash. o ConcurrencyKit and epoch(9) is used to make NAT64LSN lockless on fast path. o one NAT64LSN instance now can be used to handle several IPv6 prefixes, special prefix "::" value should be used for this purpose when instance is created. o due to modified internal data structures relations, the socket opcode that does states listing was changed. Obtained from: Yandex LLC MFC after: 1 month Sponsored by: Yandex LLC |
#
d6369c2d |
|
18-Mar-2019 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Revert r345274. It appears that not all 32-bit architectures have necessary CK primitives. |
#
d7a1cf06 |
|
17-Mar-2019 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Update NAT64LSN implementation: o most of data structures and relations were modified to be able support large number of translation states. Now each supported protocol can use full ports range. Ports groups now are belongs to IPv4 alias addresses, not hosts. Each ports group can keep several states chunks. This is controlled with new `states_chunks` config option. States chunks allow to have several translation states for single alias address and port, but for different destination addresses. o by default all hash tables now use jenkins hash. o ConcurrencyKit and epoch(9) is used to make NAT64LSN lockless on fast path. o one NAT64LSN instance now can be used to handle several IPv6 prefixes, special prefix "::" value should be used for this purpose when instance is created. o due to modified internal data structures relations, the socket opcode that does states listing was changed. Obtained from: Yandex LLC MFC after: 1 month Sponsored by: Yandex LLC |
#
5c04f73e |
|
18-Mar-2019 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add NAT64 CLAT implementation as defined in RFC6877. CLAT is customer-side translator that algorithmically translates 1:1 private IPv4 addresses to global IPv6 addresses, and vice versa. It is implemented as part of ipfw_nat64 kernel module. When module is loaded or compiled into the kernel, it registers "nat64clat" external action. External action named instance can be created using `create` command and then used in ipfw rules. The create command accepts two IPv6 prefixes `plat_prefix` and `clat_prefix`. If plat_prefix is ommitted, IPv6 NAT64 Well-Known prefix 64:ff9b::/96 will be used. # ipfw nat64clat CLAT create clat_prefix SRC_PFX plat_prefix DST_PFX # ipfw add nat64clat CLAT ip4 from IPv4_PFX to any out # ipfw add nat64clat CLAT ip6 from DST_PFX to SRC_PFX in Obtained from: Yandex LLC Submitted by: Boris N. Lytochkin MFC after: 1 month Relnotes: yes Sponsored by: Yandex LLC |
#
4a21f4c6 |
|
13-Mar-2019 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4/5/6 firmwares to 1.23.0.0. Obtained from: Chelsio Communications MFC after: 1 month Sponsored by: Chelsio Communications |
#
b02af3b2 |
|
06-Mar-2019 |
Matt Macy <mmacy@FreeBSD.org> |
Add build time GPL warning when GCOV is enabled MFC after: 1 week |
#
8f400ec4 |
|
26-Feb-2019 |
Ian Lepore <ian@FreeBSD.org> |
Compile fdt_slicer and geom_flashmap when the at45d device is included. |
#
e8643b01 |
|
26-Feb-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Modularize xz. Embedded lzma decompression library becomes a module usable by other consumers, in addition to geom_uzip. Most important code changes are - removal of XZ_DEC_SINGLE define, we need the code to work with XZ_DEC_DYNALLOC; - xz_crc32_init() call is removed from geom_uzip, xz module handles initialization on its own. xz is no longer embedded into geom_uzip, instead the depend line for the module is provided, and corresponding kernel option is added to each MIPS kernel config file using geom_uzip. The commit also carries unrelated cleanup by removing excess "device geom_uzip" in places which were missed in r344479. Reviewed by: cem, hselasky, ray, slavash (previous versions) Sponsored by: Mellanox Technologies Differential revision: https://reviews.freebsd.org/D19266 MFC after: 3 weeks |
#
5426539c |
|
23-Feb-2019 |
Matt Macy <mmacy@FreeBSD.org> |
gcov support add gcov support and export results as files in debugfs Reviewed by: hps@ MFC after: 1 week Sponsored by: iX Systems Differential Revision: https://reviews.freebsd.org/D19260 |
#
d09131e0 |
|
21-Feb-2019 |
Bruce Evans <bde@FreeBSD.org> |
Connect the restored dumb and sc terminal emulators to the kernel build. Add or fix options to control static and dynamic configuration. Keep the default of scteken, but default to statically configuring all available emulators (now 3 instead of 1). The dumb emulator is almost usable. libedit and libreadline handle dumb terminals perfectly for at least shell history. less(1) works as well as possible except on exit. But curses programs make messes. The dumb emulator has strange color support, with 2 dumb colors for normal output but fancy colorization for the cursor, mouse pointer and (with a non-dumb initial emulator) for low-level console output. Using the sc emulator instead of the default of scteken fixes at least the following bugs: - NUL is a printing character in cons25 but not in teken - teken doesn't support fixed colors for "reverse" video. - The best versions of sc are about 10 times faster than scteken (for printing to the frame buffer). This version is only about 5 times faster. Fix configuration features: - make SC_DFLT_TERM (for setting the initial emulator) a normal option. Add configuration features: - negative options SC_NO_TERM_* for omitting emulators in the static config. Modules for emulators might work, but I don't know of any - vidcontrol -e shows the available emulators - vidcontrol -E <emulator> sets the active emulator. |
#
61ebc359 |
|
21-Feb-2019 |
Bruce Evans <bde@FreeBSD.org> |
Move scterm_teken.c from 6 MD files lists to the MI files list so that it is easier to configure. It is MI, unlike some of the other syscons files already in the MI list. Move scvtb.c similarly. It is needed whenever sc is configured, and is more MI than most of the files already in the MI list. This only changes the combined list for arm64 and mips. These arches already cannot build sc or even NOTES. |
#
1809ef78 |
|
20-Feb-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Implement rangesets. The data structure implements non-intersecting intervals over the [0, UINT64_MAX] range, and supports fast insert, predicated clearing of subrange, and lookup of an interval containing the specified address. Internally it is a pctrie over the interval start addresses. Implementation provides additional guarantees over the structure state in case of memory allocation failures. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D18893 |
#
dfd8e45a |
|
19-Feb-2019 |
Warner Losh <imp@FreeBSD.org> |
Remove the i915 and radeon drivers. Per discussions on arch@ and elsewhere, the maintenance of this code has moved to the drm-kmod and drm-legacy-kmod ports. Remove the i915 and radeon drivers from the tree. Approved by: graphics team Reviewed by: manu@, mmel@ Differential Revision: https://reviews.freebsd.org/D19196 |
#
669fd68e |
|
19-Feb-2019 |
Warner Losh <imp@FreeBSD.org> |
Per discussions on arch@ and elsewhere, retire drm module / drives. Retire the drm modules / drivers. These are now handled by the drm-legacy-kmod port and/or the drm-kmod port. All future development and maintanace will be handled there. Approved by: graphics team Reviewed by: manu@, mmel@ Differential Revision: https://reviews.freebsd.org/D19196 |
#
a99bc4c3 |
|
14-Feb-2019 |
Sean Eric Fagan <sef@FreeBSD.org> |
Add CBC-MAC authentication. This adds the CBC-MAC code to the kernel, but does not hook it up to anything (that comes in the next commit). https://tools.ietf.org/html/rfc3610 describes the algorithm. Note that this is a software-only implementation, which means it is fairly slow. Sponsored by: iXsystems Inc Differential Revision: https://reviews.freebsd.org/D18592 |
#
74a083d6 |
|
11-Feb-2019 |
Michael Tuexen <tuexen@FreeBSD.org> |
Fix flags used when compiling kern_kcov.c and subr_coverage.c. Without this fix, the usage of kernel coverage would lockup the system. Thanks to Andrew for suggesting the final form of the fix. PR: 235611 Reviewed by: andrew@, emaste@ Differential Revision: https://reviews.freebsd.org/D19135 |
#
2d01f2de |
|
04-Feb-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Only enable trace-cmp on Clang and modern GCC. It's was only added to GCC 8.1 so don't try to enable it for earlier releases. Reported by: lwhsu Sponsored by: DARPA, AFRL |
#
c75f49f7 |
|
31-Jan-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Make iflib a loadable module. iflib is already a module, but it is unconditionally compiled into the kernel. There are drivers which do not need iflib(4), and there are situations where somebody might not want iflib in kernel because of using the corresponding driver as module. Reviewed by: marius Discussed with: erj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D19041 |
#
524553f5 |
|
29-Jan-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Extract the coverage sanitizer KPI to a new file. This will allow multiple consumers of the coverage data to be compiled into the kernel together. The only requirement is only one can be registered at a given point in time, however it is expected they will only register when the coverage data is needed. A new kernel conflig option COVERAGE is added. This will allow kcov to become a module that can be loaded as needed, or compiled into the kernel. While here clean up the #include style a little. Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D18955 |
#
b3c0d957 |
|
12-Jan-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Add support for the Clang Coverage Sanitizer in the kernel (KCOV). When building with KCOV enabled the compiler will insert function calls to probes allowing us to trace the execution of the kernel from userspace. These probes are on function entry (trace-pc) and on comparison operations (trace-cmp). Userspace can enable the use of these probes on a single kernel thread with an ioctl interface. It can allocate space for the probe with KIOSETBUFSIZE, then mmap the allocated buffer and enable tracing with KIOENABLE, with the trace mode being passed in as the int argument. When complete KIODISABLE is used to disable tracing. The first item in the buffer is the number of trace event that have happened. Userspace can write 0 to this to reset the tracing, and is expected to do so on first use. The format of the buffer depends on the trace mode. When in PC tracing just the return address of the probe is stored. Under comparison tracing the comparison type, the two arguments, and the return address are traced. The former method uses on entry per trace event, while the later uses 4. As such they are incompatible so only a single mode may be enabled. KCOV is expected to help fuzzing the kernel, and while in development has already found a number of issues. It is required for the syzkaller system call fuzzer [1]. Other kernel fuzzers could also make use of it, either with the current interface, or by extending it with new modes. A man page is currently being worked on and is expected to be committed soon, however having the code in the kernel now is useful for other developers to use. [1] https://github.com/google/syzkaller Submitted by: Mitchell Horne <mhorne063@gmail.com> (Earlier version) Reviewed by: kib Testing by: tuexen Sponsored by: DARPA, AFRL Sponsored by: The FreeBSD Foundation (Mitchell Horne) Differential Revision: https://reviews.freebsd.org/D14599 |
#
1dbb72e9 |
|
02-Jan-2019 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
Refresh sys/conf/files after recent rtwn(4) update. MFC after: 4 days |
#
a0483764 |
|
29-Dec-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Update to Zstandard 1.3.8 This merge brings in a couple new files, which needed to be attached to the build; a new dependency on <limits.h>, which must be stubbed; and a name change in the Context parameter constants, from ZSTD_p_foo to ZSTD_c_foo. Significantly, it fixes a kernel build error with GCC where floating-point functions were included in the kernel build, by hiding them under the same compile-time #ifdef that already covered their invocation. That issue was introduced to FreeBSD in the 1.3.7 update and tracked upstream here: https://github.com/facebook/zstd/issues/1386 The full 1.3.8 release notes can be found on Github: https://github.com/facebook/zstd/releases/tag/v1.3.8 Relnotes: yes
|
#
0e4a3d93 |
|
18-Dec-2018 |
Mark Johnston <markj@FreeBSD.org> |
Remove a use of a negative array index from fxp(4). This fixes a warning seen when compiling amd64 GENERIC with clang 7. Also remove the workaround added in r337324. clang 7 and gcc 4.2 generate the same code with or without the code change. Reviewed by: imp (previous version) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D18603 |
#
2091650b |
|
12-Dec-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
fdt: Add support for simple-mfd bus Quoting the binding Documentation : "These devices comprise a nexus for heterogeneous hardware blocks containing more than one non-unique yet varying hardware functionality." Reviewed by: loos Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D17751 |
#
9312900f |
|
12-Dec-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
Add a pwm subsystem so we can configure pwm controller from kernel and userland. The pwm subsystem consist of API for PWM controllers, pwmbus to register them and a pwm(8) utility to talk to them from userland. Reviewed by: oshgobo (capsicum), bcr (manpage), 0mp (manpage) Differential Revision: https://reviews.freebsd.org/D17938 |
#
b9e0c8c2 |
|
12-Dec-2018 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Add NETGRAPH_CHECKSUM. MFC after: 1 week |
#
67350cb5 |
|
09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
#
8a886978 |
|
05-Dec-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix LINT build after r341572. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
b6e66be2 |
|
05-Dec-2018 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: align codebase to the current upstream (760279cfb2730a585) Changelist: - Replace netmap passthrough host support with a more general mechanism to call TXSYNC/RXSYNC from an in-kernel event-loop. No kernel threads are used to use this feature: the application is required to spawn a thread (or a process) and issue a SYNC_KLOOP_START (NIOCCTRL) command in the thread body. The kernel loop is executed by the ioctl implementation, which returns to userspace only when a different thread calls SYNC_KLOOP_STOP or the netmap file descriptor is closed. - Update the if_ptnet driver to cope with the new data structures, and prune all the obsolete ptnetmap code. - Add support for "null" netmap ports, useful to allocate netmap_if, netmap_ring and netmap buffers to be used by specialized applications (e.g. hypervisors). TXSYNC/RXSYNC on these ports have no effect. - Various fixes and code refactoring. Sponsored by: Sunny Valley Networks Differential Revision: https://reviews.freebsd.org/D18015 |
#
9dae3b52 |
|
04-Dec-2018 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
altq: manual cleanup after r341507 Remove a file that became practically empty. Fix indentation. Like r341507, I do not plan to MFC, but anyone else can. |
#
04f9b8a1 |
|
01-Dec-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
Add Silergy SYR827 PMIC driver SYR827 is a PMIC that can output a voltage from 0.7125V to 1.5V in 12.5mV steps It's controlled via I2C. MFC after: 1 month |
#
78afed13 |
|
28-Nov-2018 |
John Baldwin <jhb@FreeBSD.org> |
Move CLIP table handling out of TOM and into the base driver. - Store the clip table in 'struct adapter' instead of in the TOM softc. - Init the clip table during attach and teardown during detach. - While here, add a dev.<nexus>.<unit>.misc.clip sysctl to dump the CLIP table. This does mean that we update the clip table even if TOE is not enabled, but non-TOE things need the CLIP table anyway. Reviewed by: np, Krishnamraju Eraparaju @ Chelsio Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D18010 |
#
70bfe7f7 |
|
26-Nov-2018 |
Mark Murray <markm@FreeBSD.org> |
Add dependency to allow if_muge device to be only ethernet device in stripped-down RPI3 kernel. |
#
3d5db455 |
|
24-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340427 through r340868.
|
#
f9f020a4 |
|
23-Nov-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
Derive PHY class to new one specialized for USB PHY functions. Submitted by: mmel |
#
c7a20141 |
|
19-Nov-2018 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4/5/6 firmwares to 1.22.0.3. Obtained from: Chelsio Communications MFC after: 2 months Sponsored by: Chelsio Communications |
#
c06e7b66 |
|
07-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340126 through r340212.
|
#
4ea56599 |
|
06-Nov-2018 |
Andrew Turner <andrew@FreeBSD.org> |
Port the NetBSD ubsan runtime to the FreeBSD kernel. This allows us to build the ubsan code added in r340189 into the kernel with the KUBSAN option. This will report when undefined behaviour is detected in the currently running kernel. As it can be large, the kernel is 65MB on arm64, loader may not be able to load the kernel on all architectures so is disabled by default for now. Sponsored by: DARPA, AFRL |
#
24b6d871 |
|
26-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Redo r339563: Remove joy(4) driver. This driver was marked as gone in 12. We're at 13 now. Remove it. Data from nycbug's dmesg cache shows only one potential user, suggesting it never was used much. However, even though this device has been obsolete for 15 years at least, sys/joystick.h is included in a number of graphics packages still, so that remains. A full exprun is needed before that can be removed. RelNotes: yes Differential Revision: https://reviews.freebsd.org/D17629 |
#
7c320a22 |
|
25-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Revert r339563. I held the mistaken belief this was completely unused. While the driver is unused and likely not relevant for a long time, sys/joystick.h lives on in maybe half a dozen ports, even though hardware to use it hasn't been widely used in maybe 15 years. |
#
c6879c6c |
|
23-Oct-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r339015 through r339669.
|
#
2a7db7a6 |
|
23-Oct-2018 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: align codebase to the current upstream (sha 8374e1a7e6941) Changelist: - Move large parts of VALE code to a new file and header netmap_bdg.[ch]. This is useful to reuse the code within upcoming projects. - Improvements and bug fixes to pipes and monitors. - Introduce nm_os_onattach(), nm_os_onenter() and nm_os_onexit() to handle differences between FreeBSD and Linux. - Introduce some new helper functions to handle more host rings and fake rings (netmap_all_rings(), netmap_real_rings(), ...) - Added new sysctl to enable/disable hw checksum in emulated netmap mode. - nm_inject: add support for NS_MOREFRAG Approved by: gnn (mentor) Differential Revision: https://reviews.freebsd.org/D17364 |
#
0f743729 |
|
22-Oct-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Update to Zstandard 1.3.7 Relnotes: yes Sponsored by: Dell EMC Isilon |
#
6a186782 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove the ncr(4) drive. This driver has been obsolete since the FreeBSD 4.x. It should have been removed then since the sym(4) driver had subsumed it. The driver was commented out of GENERIC in 2000. RelNotes: Yes |
#
49a93324 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove stg(4) driver stg(4) is marked as gone in 12. Remove it. There are no sightings of it in the nycbug dmesg database. It was for an obscure SCSI card that sold mostly in Japan, and was especially popilar among pc98 hackers in the 4.x time frame. It was also only enabled on i386. Relnote: Yes |
#
08204c2c |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove nsp(4) driver nsp(4) is marked as gone in 12. Remove it. There are no sightings of it in the nycbug dmesg database. It was for an obscure SCSI card that sold mostly in Japan, and was especially popilar among pc98 hackers in the 4.x time frame. It was also only enabled on i386. Relnote: Yes |
#
2dfd3588 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove ncv(4) driver ncv(4) is marked as gone in 12. Remove it. There are no sightings of it in the nycbug dmesg database. It was for an obscure SCSI card that sold mostly in Japan, and was especially popilar among pc98 hackers in the 4.x time frame.. Relnote: Yes |
#
e9b5375b |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Retire dpt(4) Marked as gone in 12 and not relevant since the early 90s. No sightings in nycbug's dmesg database. Relnotes: yes |
#
a1db7455 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove bt(4) driver The buslogic scsi driver has been tagged as gone in 12 for some time now. Remove it. The nycbug dmesg database shows only one sighting in 6 for this driver. It was very popular in the early days of the project, but that popularity seems to have died by 2004 when the nycbug database started up. Relnotes: yes |
#
43b16da8 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove adv(4) and adw(4) Remove the advanssy drivers (both adv and adw). They were tagged as gone in 12 a while qgo. The nycbug dmesg database shows this was last seen in 6 and there were only a few adv sightings then (none for adw). Relnotes: yes |
#
c24bd33d |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove aic(4) driver aic was marked to be gone in 12 a while ago. Go ahead and remove it. nycbug's dmesg database shows this was last seen in 6 and one more time in 4.x. It never was popular, and what popularity it had was over before the nycbug databse got going in 2004. Relnotes: yes |
#
39c362e0 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove aha(4) from the tree. We tagged aha as gone in 12 a while ago. Proceed with its removal. Data from nycbug's database shows the last sighting of this driver in 6, with the prior one in 4.x show its popularity had died prior to 4.x. Relnotes: yes |
#
33a54d77 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove joy(4) driver. This driver was marked as gone in 12. We're at 13 now. Remove it. Data from nycbug's dmesg cache shows only one potential user, suggesting it never was used much. RelNotes: yes Differential Revision: https://reviews.freebsd.org/D17629 |
#
a3609b82 |
|
21-Oct-2018 |
Andrew Turner <andrew@FreeBSD.org> |
Split out the virtio mmio FDT attachment and add an ACPI attachment. This allows the memory mapped I/O virtio driver to attach when we boot with ACPI tables, for example in some cases with QEMU emulating arm64. MFC after: 1 month |
#
3f102f58 |
|
11-Oct-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
Provide string functions for use before ifuncs get resolved. The change is a no-op for architectures which don't ifunc memset, memcpy nor memmove. Convert places which need them. Xen bits by royger. Reviewed by: kib Approved by: re (gjb) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17487 |
#
6f1f1a63 |
|
09-Oct-2018 |
Jung-uk Kim <jkim@FreeBSD.org> |
Update ACPICA to 20181003. Approved by: re (gjb)
|
#
ce44d808 |
|
27-Sep-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338731 through r338987.
|
#
a8e3f99e |
|
27-Sep-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: implement memcmp in assembly Both the in-kernel C variant and libc asm variant have very poor performance. The former compiles to a single byte comparison loop, which breaks down even for small sizes. The latter uses rep cmpsq/b which turn out to have very poor throughput and are slower than a hand-coded 32-byte comparison loop. Depending on size this is about 3-4 times faster than the current routines. Reviewed by: kib Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D17328 |
#
da2d1e9d |
|
29-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338298 through r338391.
|
#
19fa89e9 |
|
25-Aug-2018 |
Mark Murray <markm@FreeBSD.org> |
Remove the Yarrow PRNG algorithm option in accordance with due notice given in random(4). This includes updating of the relevant man pages, and no-longer-used harvesting parameters. Ensure that the pseudo-unit-test still does something useful, now also with the "other" algorithm instead of Yarrow. PR: 230870 Reviewed by: cem Approved by: so(delphij,gtetlow) Approved by: re(marius) Differential Revision: https://reviews.freebsd.org/D16898 |
#
7847e041 |
|
24-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338026 through r338297, and resolve conflicts.
|
#
592ffb21 |
|
23-Aug-2018 |
Warner Losh <imp@FreeBSD.org> |
Revert drm2 removal. Revert r338177, r338176, r338175, r338174, r338172 After long consultations with re@, core members and mmacy, revert these changes. Followup changes will be made to mark them as deprecated and prent a message about where to find the up-to-date driver. Followup commits will be made to make this clear in the installer. Followup commits to reduce POLA in ways we're still exploring. It's anticipated that after the freeze, this will be removed in 13-current (with the residual of the drm2 code copied to sys/arm/dev/drm2 for the TEGRA port's use w/o the intel or radeon drivers). Due to the impending freeze, there was no formal core vote for this. I've been talking to different core members all day, as well as Matt Macey and Glen Barber. Nobody is completely happy, all are grudgingly going along with this. Work is in progress to mitigate the negative effects as much as possible. Requested by: re@ (gjb, rgrimes) |
#
92c15132 |
|
21-Aug-2018 |
Matt Macy <mmacy@FreeBSD.org> |
r338172 follow - remove firmwares |
#
b14b0078 |
|
21-Aug-2018 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add muge(4) to the arm64 GENERIC kernel muge(4) is the USB ethernet adapter that is used in RPi 3B+. Shipping it in GENERIC kernel allows using NFS root out of the box instead of either building custom kernel or modifying loader.conf for early loading of if_muge.ko No objections: emaste |
#
3611ec60 |
|
17-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r337646 through r338014.
|
#
01d5de8f |
|
16-Aug-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Add xform-conforming auth_hash wrapper for Poly-1305 The wrapper is a thin shim around libsodium's Poly-1305 implementation. For now, we just use the C algorithm and do not attempt to build the SSE-optimized variant for x86 processors. The algorithm support has not yet been plumbed through cryptodev, or added to cryptosoft. |
#
20a3cbe1 |
|
12-Aug-2018 |
Matt Macy <mmacy@FreeBSD.org> |
fix static ZFS linking Static linking of ZFS is a newish option and LINT doesn't include it |
#
fc63c661 |
|
04-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Put in a temporary workaround for strange array access in if_fxp.c. |
#
b5988450 |
|
01-Aug-2018 |
Ravi Pokala <rpokala@FreeBSD.org> |
Remove jedec_ts(4) The jedec_ts(4) driver has been marked as deprecated in stable/11, and is now being removed from -HEAD. Add a notice in UPDATING, and update the few remaining references (regarding jedec_dimm(4)'s compatibility and history) to reflect the fact that jedec_ts(4) is now deleted. Reviewed by: avg Relnotes: yes Differential Revision: https://reviews.freebsd.org/D16537 |
#
0021e1c1 |
|
31-Jul-2018 |
Alexander Motin <mav@FreeBSD.org> |
MFV r336991, r337001: 9102 zfs should be able to initialize storage devices The first access to a disk block can incur a performance penalty on some platforms (e.g. AWS's EBS, VMware VMDKs). Therefore it is recommended that volumes be "thick provisioned", where supported by the platform (VMware). Thick provisioning is time consuming and often is ignored. If the thick provision step is omitted, customers will see suboptimal performance until we have written to all parts of the LUN. ZFS should be able to initialize any unused storage to remove any first-write penalty that exists. illumos/illumos-gate@094e47e980b0796b94b1b8f51f462a64d246e516 Reviewed by: John Wren Kennedy <john.kennedy@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: George Wilson <george.wilson@delphix.com>
|
#
cfe196fb |
|
31-Jul-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
nvmem: Add nvmem interface and helpers The nvmem interface helps provider of nvmem data to expose themselves to consumer. NVMEM is generally present on some embedded board in a form of eeprom or fuses. The nvmem api are helpers for consumer to read/write the cell data from a provider. Differential Revision: https://reviews.freebsd.org/D16419 |
#
58d5c511 |
|
27-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove Atmel AT91RM9200 and AT91SAM9 support. The last known robust version of this code base was FreeBSD 8.2. There are no users of this on current, and all users of it have abandoned this platform or are in legacy mode with a prior version of FreeBSD. All known users on arm@ approved this removal, and there were no objections. Differential Revision: https://reviews.freebsd.org/D16312 |
#
3496c981 |
|
19-Jul-2018 |
Ian Lepore <ian@FreeBSD.org> |
Make it possible to run ntpd as a non-root user, add ntpd uid and gid. Code analysis and runtime analysis using truss(8) indicate that the only privileged operations performed by ntpd are adjusting system time, and (re-)binding to privileged UDP port 123. These changes add a new mac(4) policy module, mac_ntpd(4), which grants just those privileges to any process running with uid 123. This also adds a new user and group, ntpd:ntpd, (uid:gid 123:123), and makes them the owner of the /var/db/ntp directory, so that it can be used as a location where the non-privileged daemon can write files such as the driftfile, and any optional logfile or stats files. Because there are so many ways to configure ntpd, the question of how to configure it to run without root privs can be a bit complex, so that will be addressed in a separate commit. These changes are just what's required to grant the limited subset of privs to ntpd, and the small change to ntpd to prevent it from exiting with an error if running as non-root. Differential Revision: https://reviews.freebsd.org/D16281 |
#
b575d8c8 |
|
17-Jul-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Refactor access to CR-space into using VSC APIs in mlx5core. Remove no longer used files and APIs. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
25bc561e |
|
13-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
There's two files in the sys tree named inflate.c, in addition to it being a common name elsewhere. Rename the old kzip one to subr_inflate.c. This actually fixes the build issues on sparc64 that my inclusion of .PATH ${SYSDIR}/kern created in r336244, so also revert the broken workaround I committed in r336249. This slipped passed me because apparently, I never did a clean build. |
#
52379d36 |
|
13-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Create helper functions for parsing boot args. boot_parse_arg to parse a single arg boot_parse_cmdline to parse a command line string boot_parse_args to parse all the args in a vector boot_howto_to_env Convert howto bits to env vars boot_env_to_howto Return howto mask mased on what's set in the environment. All these routines return an int that's the bitmask of the args translated to RB_* flags. As a special case, the 'S' flag sets the comconsole_speed env var. Any arg that looks like a=b will set the env key 'a' to value 'b'. If =b is omitted, 'a' is set to '1'. This should help us reduce the number of redundant copies of these routines in the tree. It should also give a more uniform experience between platforms. Also, invent a new flag RB_PROBE that's set when 'P' is parsed. On x86 + BIOS, this means 'probe for the keyboard, and if it's not there set both RB_MULTIPLE and RB_SERIAL (which means show the output on both video and serial consoles, but make serial primary). Others it may be some similar concept of probing, but it's loader dependent what, exactly, it means. These routines are suitable for /boot/loader and/or the kernel, though they may not be suitable for the tightly hand-rolled-for-space environments like boot2. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D16205 |
#
2d7e9271 |
|
11-Jul-2018 |
Ian Lepore <ian@FreeBSD.org> |
Add various spi devices to NOTES. Add some required options for building the cqspi and n25q drivers. |
#
96744f02 |
|
05-Jul-2018 |
Sean Bruno <sbruno@FreeBSD.org> |
Make ZSTD a real option via ZSTDIO. It looks like the intent was to allow ZSTD support to be compiled into the kernel with options ZSTDIO. But it doesn't look like that was ever implemented or I'm missing how to do it. I did a cursory audit of kernel config files and made a decision to enable ZSTDIO in riscv GENERIC and mips MALTA configurations. All other kernel configurations already had this option in their kernel configs but they didn't do anything useful as the feature was declared as "standard" prior to this. Reviewed by: cem allanjude Differential Revision: https://reviews.freebsd.org/D16007 |
#
fb47a376 |
|
19-Jun-2018 |
Stephen J. Kiernan <stevek@FreeBSD.org> |
MAC/veriexec implements a verified execution environment using the MAC framework. The code is organized into a few distinct pieces: * The meta-data store (in veriexec_metadata.c) which maps a file system identifier, file identifier, and generation key tuple to veriexec meta-data record. * Fingerprint management (in veriexec_fingerprint.c) which deals with calculating the cryptographic hash for a file and verifying it. It also manages the loadable fingerprint modules. * MAC policy implementation (in mac_veriexec.c) which implements the following MAC methods: mpo_init Initializes the veriexec state, meta-data store, fingerprint modules, and registers mount and unmount EVENTHANDLERs mpo_syscall Implements the following per-policy system calls: MAC_VERIEXEC_CHECK_FD_SYSCALL Check a file descriptor to see if the referenced file has a valid fingerprint. MAC_VERIEXEC_CHECK_PATH_SYSCALL Check a path to see if the referenced file has a valid fingerprint. mpo_kld_check_load Check if loading a kld is allowed. This checks if the referenced vnode has a valid fingerprint. mpo_mount_destroy_label Clears the veriexec slot data in a mount point label. mpo_mount_init_label Initializes the veriexec slot data in a mount point label. The file system identifier is saved in the veriexec slot data. mpo_priv_check Check if a process is allowed to write to /dev/kmem and /dev/mem devices. If a process is flagged as trusted, it is allowed to write. mpo_proc_check_debug Check if a process is allowed to be debugged. If a process is not flagged with VERIEXEC_NOTRACE, then debugging is allowed. mpo_vnode_check_exec Check is an exectuable is allowed to run. If veriexec is not enforcing or the executable has a valid fingerprint, then it is allowed to run. NOTE: veriexec will complain about mismatched fingerprints if it is active, regardless of the state of the enforcement. mpo_vnode_check_open Check is a file is allowed to be opened. If verification was not requested, veriexec is not enforcing, or the file has a valid fingerprint, then veriexec will allow the file to be opened. mpo_vnode_copy_label Copies the veriexec slot data from one label to another. mpo_vnode_destroy_label Clears the veriexec slot data in a vnode label. mpo_vnode_init_label Initializes the veriexec slot data in a vnode label. The fingerprint status for the file is stored in the veriexec slot data. * Some sysctls, under security.mac.veriexec, for setting debug level, fetching the current state in a human-readable form, and dumping the fingerprint database are implemented. * The MAC policy implementation source file also contains some utility functions. * A set of fingerprint modules for the following cryptographic hash algorithms: RIPEMD-160, SHA1, SHA2-256, SHA2-384, SHA2-512 * Loadable module builds for MAC/veriexec and fingerprint modules. WARNING: Using veriexec with NFS (or other network-based) file systems is not recommended as one cannot guarantee the integrity of the files served, nor the uniqueness of file system identifiers which are used as key in the meta-data store. Reviewed by: ian, jtl Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D8554 |
#
2dae2a74 |
|
31-May-2018 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Add code to deal with the chip's source MAC table (aka SMT). Submitted by: Krishnamraju Eraparaju @ Chelsio Sponsored by: Chelsio Communications |
#
38535d6c |
|
29-May-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for hardware rate limiting to mlx5en(4). The hardware rate limiting feature is enabled by the RATELIMIT kernel option. Please refer to ifconfig(8) and the txrtlmt option and the SO_MAX_PACING_RATE set socket option for more information. This feature is compatible with hardware transmit send offload, TSO. A set of sysctl(8) knobs under dev.mce.<N>.rate_limit are provided to setup the ratelimit table and also to fine tune various rate limit related parameters. Sponsored by: Mellanox Technologies |
#
cccc969b |
|
18-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Silence non-actionable warnings in vendor code We can't modify vendor code so there's no signal in warnings from it. Similarly -Waddress-of-packed-member is not useful on networking code as access to packed structures is fundamental to its operation. |
#
3dc87e52 |
|
17-May-2018 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add a "multifunction" device side USB template, which provides mass storage, CDC ACM (serial), and CDC ECM (ethernet) at the same time. It's quite similar in function to Linux' "g_multi" gadget. Reviewed by: hselasky@ MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation |
#
6f78fad3 |
|
17-May-2018 |
Sean Bruno <sbruno@FreeBSD.org> |
Retire vxge(4). This driver was merged to HEAD one week prior to Exar publicly announcing they had left the Ethernet market. It is not known to be used and has various code quality issues spotted by Brooks and Hiren. Retire it in preparation for FreeBSD 12.0. Submitted by: kbowling Reviewed by: brooks imp Relnotes: yes Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D15442 |
#
e757cb8e |
|
15-May-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add new USB HID driver for Super Nintendo gamepads. Differential Revision: https://reviews.freebsd.org/D15385 Submitted by: johalun@gmail.com (Johannes Lundberg) Sponsored by: Mellanox Technologies |
#
09f6ff4f |
|
11-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
iflib(9): Add support for cloning pseudo interfaces Part 3 of many ... The VPC framework relies heavily on cloning pseudo interfaces (vmnics, vpc switch, vcpswitch port, hostif, vxlan if, etc). This pulls in that piece. Some ancillary changes get pulled in as a side effect. Reviewed by: shurd@ Approved by: sbruno@ Sponsored by: Joyent, Inc. Differential Revision: https://reviews.freebsd.org/D15347 |
#
06bf2a6a |
|
10-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Add simple preempt safe epoch API Read locking is over used in the kernel to guarantee liveness. This API makes it easy to provide livenes guarantees without atomics. Includes epoch_test kernel module to stress test the API. Documentation will follow initial use case. Test case and improvements to preemption handling in response to discussion with mjg@ Reviewed by: imp@, shurd@ Approved by: sbruno@ |
#
57b49365 |
|
08-May-2018 |
Sean Bruno <sbruno@FreeBSD.org> |
nxge(4): Remove nxge(4) and associated man page and tools in FreeBSD 12.0. Submitted by: kbowling Reviewed by: brooks Relnotes: yes Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D1529 |
#
e5054602 |
|
05-May-2018 |
Mark Johnston <markj@FreeBSD.org> |
Import the netdump client code. This is a component of a system which lets the kernel dump core to a remote host after a panic, rather than to a local storage device. The server component is available in the ports tree. netdump is particularly useful on diskless systems. The netdump(4) man page contains some details describing the protocol. Support for configuring netdump will be added to dumpon(8) in a future commit. To use netdump, the kernel must have been compiled with the NETDUMP option. The initial revision of netdump was written by Darrell Anderson and was integrated into Sandvine's OS, from which this version was derived. Reviewed by: bdrewery, cem (earlier versions), julian, sbruno MFC after: 1 month X-MFC note: use a spare field in struct ifnet Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D15253 |
#
b6f2c452 |
|
05-May-2018 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update all firmwares to 1.19.1.0. These firmwares and the following list of changes are from the public ChelsioUwire-3.7.1.0 release. T6 Firmware ================================================================================ Version : 1.19.1.0 Date : 04/23/2018 ================================================================================ Fixes ----- BASE: - Fixed traffic stall when rate-limit is modified while running traffic. - Fixes a firmware crash in FW_ETH_TX_EO_WR handling. - Fixes host DCB support when FW_PORT_CMD is used. ETH: - Exit Auto-Negotiation if we don't receive base page from peer within 10s. This fixes some cases where in we keep on restarting auto negotiation without ever exiting, resulting in link failure. - Fixes an issue where VF packets counter were not increasing if VF packets coalesced WR is used by driver. OFLD: - Kernel and user mode NVMEoF performance enhancements. FOiSCSI: - Fixes fw crash when trying to connect to non-existence IPv6 iSNS target. ================================================================================ Version : 1.18.9.0 Date : 03/27/2018 ================================================================================ Fixes ----- BASE: - For Ethernet frames less than 64B, pad them with zero bytes as per IEEE spec (RFC 894). - Added a new parameter iqtype to FW_IQ_CMD to identify the ingress NIC or offload queues. This fixes an issue where driver was receiving interrupt with no new messages in queue. - FW_PARAMS_CMD processes all the valaid paramaters and returns value 0UL for any unknown parameter. OFLD: - Fixes connection failure during SRQ reuse. - Fixes incorrect cqe in case of WRITE with immediate operation. FOiSCSI: - Fixes a fw crash when wrong node-id is passed to FW_FOISCSI_CTRL_WR. FOFCoE: - Fixes a fw hang while creating NPIV. Enhancements ------------ ETH: - A new WR FW_ETH_TX_PKTS_VM_WR added to support VM packet coalescing. ================================================================================ Version : 1.18.4.0 Date : 02/28/2018 ================================================================================ Fixes ----- BASE: - Fixed Rate limiting not working for 101Mbps<=rate limit<=163Mbps range. - Fixed starting more than 32 VMs on PF4 causing firmware hang. ETH: - Fixed link failure due to FEC mismatch with optics. - Fixed link failure with link toggle stress tests. - Only BaseR FEC is supported for 50G. - Fixed a bug in next page handling which sometimes causes link down. - Fixed port down due to failre to read eeprom contents of some modules. - Fixed a bug causing adapter to fail with spider configuration. FOiSCSI: - Fixed a bug causing login failure when connecting to multiple targets. Enhancements ------------ BASE: - Added a new firmware API to retrieve the maximum temperaturethreshold for the chip (FW_PARAM_DEV_DIAG_MAXTMPTHRESH). ETH: - Added support for user to contol pause negotiation during auto negotiation. FOiSCSI: - Added a new facility to redirect few fw events to offload rx queue (based on driver's configration) - Driver can ignore providing ipv6 prefix len during ipv6 address configuration. ================================================================================ Version : 1.17.14.0 Date : 12/27/2017 ================================================================================ FIXES ----- BASE: - Fixed an FLR failure during simulteneous power up of VM. - Fixed an issue in vlan acl which was limiting vlan range to 1024. ETH: - Enabled RS-FEC for 25G active copper cable and 25GBASE-SR. - When auto negotiation is enabled, final pause settings are resolved based on local and peer pause settings. - Handle NACK for an I2C access. OFLD - Fixed rdma connection cleanup in SO adpater. - Fixed rdma connections during read invalidate. - Fixed the crash when invalid BW rate is passed to fw. - Fixed the traffic hang when BW allocation is changed from switch during traffic. FOFCoE: - Fixed an issue where initiator remains logged-in even after LLDP is disabled on switch. ENHANCEMENTS ------------ BASE: - Added support for 248 VFs. - Added fw driver periodic calibration for MC. ETH: - Added XLAUI port type support. - Added raw mac entry deletion support (FW_VI_MAC_ID_BASED_FREE). OFLD: - Inline IPSec support added (flag F_FW_ULPTX_WR_DATA indicates the inline IPSec WR). - New work request FW_RI_RDMA_WRITE_CMPL_WR (write with completion) added to T5 Firmware ================================================================================ Version : 1.19.1.0 Date : 04/23/2018 ================================================================================ Fixes ----- BASE: - Fixes a firmware crash in FW_ETH_TX_EO_WR handling. - Fixes host DCB support when FW_PORT_CMD is used. ETH: - Fixes an issue where VF packets counter were not increasing if VF packets coalesced WR is used by driver. OFLD: - Fixes an issue where fw hangs if max traffic rate passed is 0. FOiSCSI: - Fixes fw crash when trying to connect to non-existence IPv6 iSNS target. ================================================================================ Version : 1.18.9.0 Date : 03/27/2018 ================================================================================ Fixes ----- BASE: - For Ethernet frames less than 64B, pad them with zero bytes as per IEEE spec (RFC 894). - Added a new parameter iqtype to FW_IQ_CMD to identify the ingress NIC or offload queues. This fixes an issue where driver was receiving interrupt with no new messages in queue. ETH: - Pad the Ethernet packets of size less than 64B with zeros. This fixes the incorrect checksum generation of packets less then 64B. FOiSCSI: - Fixes a fw crash when wrong node-id is passed to FW_FOISCSI_CTRL_WR. FOFCoE: - Fixes a fw hang while creating NPIV. Enhancements ------------ ETH: - A new WR FW_ETH_TX_PKTS_VM_WR added to support VM packet coalescing. ================================================================================ Version : 1.18.4.0 Date : 02/28/2018 ================================================================================ Fixes ----- BASE: - Fixed starting more than 32 VMs on PF4 causing firmware hang. FOiSCSI: - Fixed a bug causing login failure when connecting to multiple targets. Enhancements ------------ BASE: - Added a new firmware API to retrieve the maximum temperaturethreshold for the chip (FW_PARAM_DEV_DIAG_MAXTMPTHRESH). ETH: - Added support for user to contol pause negotiation during auto negotiation. FOiSCSI: - Added a new facility to redirect few fw events to offload rx queue (based on driver's configration) - Driver can ignore providing ipv6 prefix len during ipv6 address configuration. ================================================================================ Version : 1.17.14.0 Date : 12/27/2017 ================================================================================ FIXES ----- BASE: - Fixed an issue in vlan acl which was limiting vlan range to 1024. ETH: - Corrected lane inversion logic. - Fixed improper LED behavior in T580 cards. - When auto negotiation is enabled, final pause settings are resolved based on local and peer pause settings. - Handle NACK for an I2C access. OFLD - Fixed rdma connections during read invalidate. FOiSCSI: - Fixed a connections hang when link is toggled frequently. FOFCoE: - Fixed an issue where initiator remains logged-in even after LLDP is disabled on switch. ENHANCEMENTS ------------ BASE: - Added support for 124 VFs. ETH: - Added XLAUI port type support. - Added raw mac entry deletion support (FW_VI_MAC_ID_BASED_FREE). OFLD: - New work request FW_RI_RDMA_WRITE_CMPL_WR (write with completion) added to optimize NVMEoF write. T4 Firmware ================================================================================ Version : 1.19.1.0 Date : 04/23/2018 ================================================================================ Fixes ----- BASE: - Fixes a firmware crash in FW_ETH_TX_EO_WR handling. - Fixes host DCB support when FW_PORT_CMD is used. FOiSCSI: - Fixes fw crash when trying to connect to non-existence IPv6 iSNS target. ================================================================================ Version : 1.18.9.0 Date : 03/27/2018 ================================================================================ Fixes ----- BASE: - Added a new paramter iqtype to FW_IQ_CMD to identify the ingress NIC or offload queues. This fixes an issue where driver was receiving interrupt with no new messages in queue. FOFCoE: - Fixes a fw hang while creating NPIV. Enhancements ------------ ETH: - A new WR FW_ETH_TX_PKTS_VM_WR added to support VM packet coalescing. ================================================================================ Version : 1.18.4.0 Date : 02/28/2018 ================================================================================ Enhancements ------------ BASE: - Added a new firmware API to retrieve the maximum temperaturethreshold for the chip (FW_PARAM_DEV_DIAG_MAXTMPTHRESH). ================================================================================ Version : 1.17.14.0 Date : 12/27/2017 ================================================================================ FIXES ----- BASE: - Fixed an issue in vlan acl which was limiting vlan range to 1024. MFC after: 3 days Sponsored by: Chelsio Communications |
#
2695c9c1 |
|
02-May-2018 |
Sean Bruno <sbruno@FreeBSD.org> |
Retire ixgb(4) This driver was for an early and uncommon legacy PCI 10GbE for a single ASIC, Intel 82597EX. Intel quickly shifted to the long lived ixgbe family. Submitted by: kbowling Reviewed by: brooks imp jeffrey.e.pieper@intel.com Relnotes: yes Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D15234 |
#
e1320420 |
|
01-May-2018 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Move all TCAM filter code into a separate file. Sponsored by: Chelsio Communications |
#
e6a376d1 |
|
01-May-2018 |
Ed Maste <emaste@FreeBSD.org> |
Retire lmc(4) This driver supports legacy, 32-bit PCI devices, and had an ambiguous license. Supported devices were already reported to be rare in 2003 (when an earlier version of the driver was removed in r123201). Reviewed by: rgrimes Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D15245 |
#
eb69ed7f |
|
23-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for Cadence Quad SPI Flash Controller found on Intel® Arria® 10 SoC. Cadence Quad SPI Flash is not generic SPI controller, but SPI flash controller, so don't use spibus here, instead provide quad spi flash interface. Since it is not on spibus, then mx25l flash device driver is not usable here, so provide new n25q flash device driver with quad spi flash interface. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10245 |
#
3b8d52d3 |
|
20-Apr-2018 |
Conrad Meyer <cem@FreeBSD.org> |
blake2: Disable warnings (not just error) for code we will not modify Leave libb2 pristine and silence the warnings for mjg. |
#
3ee9c3c4 |
|
19-Apr-2018 |
Randall Stewart <rrs@FreeBSD.org> |
This commit brings in the TCP high precision timer system (tcp_hpts). It is the forerunner/foundational work of bringing in both Rack and BBR which use hpts for pacing out packets. The feature is optional and requires the TCPHPTS option to be enabled before the feature will be active. TCP modules that use it must assure that the base component is compile in the kernel in which they are loaded. MFC after: Never Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D15020 |
#
a397def9 |
|
17-Apr-2018 |
Warner Losh <imp@FreeBSD.org> |
Add PNP info to the PCI attahement of the puc driver. Adjust sys/conf/files and sys/modules/puc/Makefile to omit pucdata.c now tht it's included by puc_pci.c. Submitted by: Lakhan Shiva Kamireddy (with build fixes by me) Pull Request: https://github.com/freebsd/freebsd/pull/136 |
#
3a4fc8a8 |
|
13-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Remove support for the Arcnet protocol. While Arcnet has some continued deployment in industrial controls, the lack of drivers for any of the PCI, USB, or PCIe NICs on the market suggests such users aren't running FreeBSD. Evidence in the PR database suggests that the cm(4) driver (our sole Arcnet NIC) was broken in 5.0 and has not worked since. PR: 182297 Reviewed by: jhibbits, vangyzen Relnotes: yes Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15057 |
#
8f89e7db |
|
13-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for Altera SoftDMA® device. SoftDMA is a software implementation of DMA engine built using Altera FIFO component. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9620 |
#
4be5a951 |
|
13-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for Altera modular Scatter-Gather DMA engine (mSGDMA). Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9619 |
#
c42f10a2 |
|
12-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for ARM PrimeCell PL330 DMA engine. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10201 |
#
3d5b3b0a |
|
12-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Tune xDMA interface slightly: o Move descriptors allocation to DMA engine driver o Add generic xdma_request() routine o Add less-generic scatter-gather application based on xdma interface Typical operation flow in peripheral device driver is: 1. Get xDMA controller sc->xdma_tx = xdma_ofw_get(sc->dev, "tx"); 2. Allocate virtual channel sc->xchan_tx = xdma_channel_alloc(sc->xdma_tx, caps); 3. Setup transfer status callback xdma_setup_intr(sc->xchan_tx, my_tx_intr, sc, &sc->ih_tx); 4. Request a transfer(s) ret = xdma_request(sc->xchan_tx, &req); 5. Free the channel xdma_channel_free(sc->xdma_tx); 6. Free the controller xdma_put(sc->xdma_tx); Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14971 |
#
2ff91c17 |
|
12-Apr-2018 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: align codebase to the current upstream (commit id 3fb001303718146) Changelist: - Turn tx_rings and rx_rings arrays into arrays of pointers to kring structs. This patch includes fixes for ixv, ixl, ix, re, cxgbe, iflib, vtnet and ptnet drivers to cope with the change. - Generalize the nm_config() callback to accept a struct containing many parameters. - Introduce NKR_FAKERING to support buffers sharing (used for netmap pipes) - Improved API for external VALE modules. - Various bug fixes and improvements to the netmap memory allocator, including support for externally (userspace) allocated memory. - Refactoring of netmap pipes: now linked rings share the same netmap buffers, with a separate set of kring pointers (rhead, rcur, rtail). Buffer swapping does not need to happen anymore. - Large refactoring of the control API towards an extensible solution; the goal is to allow the addition of more commands and extension of existing ones (with new options) without the need of hacks or the risk of running out of configuration space. A new NIOCCTRL ioctl has been added to handle all the requests of the new control API, which cover all the functionalities so far supported. The netmap API bumps from 11 to 12 with this patch. Full backward compatibility is provided for the old control command (NIOCREGIF), by means of a new netmap_legacy module. Many parts of the old netmap.h header has now been moved to netmap_legacy.h (included by netmap.h). Approved by: hrs (mentor) |
#
0437c8e3 |
|
11-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Remove support for FDDI networks. Defines in net/if_media.h remain in case code copied from ifconfig is in use elsewere (supporting non-existant media type is harmless). Reviewed by: kib, jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15017 |
#
2967ace8 |
|
09-Apr-2018 |
Kyle Evans <kevans@FreeBSD.org> |
Retire the geom_aes class It's had a good life, but it's not really configurable and not really used. Obtained from: opBSD (with some changes) Differential Revision: https://reviews.freebsd.org/D14991 |
#
ef270ab1 |
|
30-Mar-2018 |
Kenneth D. Merry <ken@FreeBSD.org> |
Bring in the Broadcom/Emulex Fibre Channel driver, ocs_fc(4). The ocs_fc(4) driver supports the following hardware: Emulex 16/8G FC GEN 5 HBAS LPe15004 FC Host Bus Adapters LPe160XX FC Host Bus Adapters Emulex 32/16G FC GEN 6 HBAS LPe3100X FC Host Bus Adapters LPe3200X FC Host Bus Adapters The driver supports target and initiator mode, and also supports FC-Tape. Note that the driver only currently works on little endian platforms. It is only included in the module build for amd64 and i386, and in GENERIC on amd64 only. Submitted by: Ram Kishore Vegesna <ram.vegesna@broadcom.com> Reviewed by: mav MFC after: 5 days Relnotes: yes Sponsored by: Broadcom Differential Revision: https://reviews.freebsd.org/D11423 |
#
61590291 |
|
28-Mar-2018 |
Conrad Meyer <cem@FreeBSD.org> |
opencrypto: Integrate Chacha20 algorithm into OCF Mostly this is a thin shim around existing code to integrate with enc_xform and cryptosoft (+ cryptodev). Expand the cryptodev buffer used to match that of Chacha20's native block size as a performance enhancement for chacha20_xform_crypt_multi. |
#
69f0fecb |
|
28-Mar-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Remove infrastructure for token-ring networks. Reviewed by: cem, imp, jhb, jmallett Relnotes: yes Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14875 |
#
0b0c76bc |
|
28-Mar-2018 |
Alexander Motin <mav@FreeBSD.org> |
MFV r331695, 331700: 9166 zfs storage pool checkpoint illumos/illumos-gate@8671400134a11c848244896ca51a7db4d0f69da4 The idea of Storage Pool Checkpoint (aka zpool checkpoint) deals with exactly that. It can be thought of as a “pool-wide snapshot” (or a variation of extreme rewind that doesn’t corrupt your data). It remembers the entire state of the pool at the point that it was taken and the user can revert back to it later or discard it. Its generic use case is an administrator that is about to perform a set of destructive actions to ZFS as part of a critical procedure. She takes a checkpoint of the pool before performing the actions, then rewinds back to it if one of them fails or puts the pool into an unexpected state. Otherwise, she discards it. With the assumption that no one else is making modifications to ZFS, she basically wraps all these actions into a “high-level transaction”. Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: John Kennedy <john.kennedy@delphix.com> Reviewed by: Dan Kimmel <dan.kimmel@delphix.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Serapheim Dimitropoulos <serapheim.dimitro@delphix.com>
|
#
6472fa9a |
|
28-Mar-2018 |
Eitan Adler <eadler@FreeBSD.org> |
[iwm] Add support for iwm 3168 cards ``` iwm0@pci0:5:0:0: class=0x028000 card=0x21108086 chip=0x24fb8086 rev=0x10 hdr=0x00 vendor = 'Intel Corporation' device = 'Dual Band Wireless-AC 3168NGW [Stone Peak]' class = network [94829] iwm0: <Intel(R) Dual Band Wireless AC 3168> mem 0xef700000-0xef701fff at device 0.0 on pci5 [94829] iwm0: hw rev 0x220, fw ver 22.361476.0, address 28:c6:3f:15:43:c5 ``` MFC After: 2 weeks Reviewed by: ivadasz (over IRC) PR: 224886 Differential Revision: https://reviews.freebsd.org/D14865 |
#
e24e5683 |
|
23-Mar-2018 |
Jonathan T. Looney <jtl@FreeBSD.org> |
Make the TCP blackbox code committed in r331347 be an optional feature controlled by the TCP_BLACKBOX option. Enable this as part of amd64 GENERIC. For now, leave it disabled on other platforms. Sponsored by: Netflix, Inc. |
#
f20b553d |
|
23-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add mutual exclusion mechanism for software reset of firmware in mlx5core. Since the FW can be shared between PCI functions it is common that more than one health poll will detected a failure, this can lead to multiple resets. The solution is to use a FW locking mechanism using semaphore space to provide a way to synchronize between functions. The FW semaphore is acquired via config cycle access. First the VSEC gateway must be acquired, then the semaphore can be locked by writing a value to it and confirmed it's locked by reading the same value back. The process in the same to free the semaphore, except the value written should be zero. Submitted by: slavash@ MFC after: 1 week Sponsored by: Mellanox Technologies |
#
b8436536 |
|
22-Mar-2018 |
Alexander Motin <mav@FreeBSD.org> |
MFV r331400: 8484 Implement aggregate sum and use for arc counters In pursuit of improving performance on multi-core systems, we should implements fanned out counters and use them to improve the performance of some of the arc statistics. These stats are updated extremely frequently, and can consume a significant amount of CPU time. Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Dan McDonald <danmcd@joyent.com> Author: Paul Dagnelie <pcd@delphix.com>
|
#
2529f56e |
|
22-Mar-2018 |
Jonathan T. Looney <jtl@FreeBSD.org> |
Add the "TCP Blackbox Recorder" which we discussed at the developer summits at BSDCan and BSDCam in 2017. The TCP Blackbox Recorder allows you to capture events on a TCP connection in a ring buffer. It stores metadata with the event. It optionally stores the TCP header associated with an event (if the event is associated with a packet) and also optionally stores information on the sockets. It supports setting a log ID on a TCP connection and using this to correlate multiple connections that share a common log ID. You can log connections in different modes. If you are doing a coordinated test with a particular connection, you may tell the system to put it in mode 4 (continuous dump). Or, if you just want to monitor for errors, you can put it in mode 1 (ring buffer) and dump all the ring buffers associated with the connection ID when we receive an error signal for that connection ID. You can set a default mode that will be applied to a particular ratio of incoming connections. You can also manually set a mode using a socket option. This commit includes only basic probes. rrs@ has added quite an abundance of probes in his TCP development work. He plans to commit those soon. There are user-space programs which we plan to commit as ports. These read the data from the log device and output pcapng files, and then let you analyze the data (and metadata) in the pcapng files. Reviewed by: gnn (previous version) Obtained from: Netflix, Inc. Relnotes: yes Differential Revision: https://reviews.freebsd.org/D11085 |
#
0e33efe4 |
|
21-Mar-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Import Blake2 algorithms (blake2b, blake2s) from libb2 The upstream repository is on github BLAKE2/libb2. Files landed in sys/contrib/libb2 are the unmodified upstream files, except for one difference: secure_zero_memory's contents have been replaced with explicit_bzero() only because the previous implementation broke powerpc link. Preferential use of explicit_bzero() is in progress upstream, so it is anticipated we will be able to drop this diff in the future. sys/crypto/blake2 contains the source files needed to port libb2 to our build system, a wrapped (limited) variant of the algorithm to match the API of our auth_transform softcrypto abstraction, incorporation into the Open Crypto Framework (OCF) cryptosoft(4) driver, as well as an x86 SSE/AVX accelerated OCF driver, blake2(4). Optimized variants of blake2 are compiled for a number of x86 machines (anything from SSE2 to AVX + XOP). On those machines, FPU context will need to be explicitly saved before using blake2(4)-provided algorithms directly. Use via cryptodev / OCF saves FPU state automatically, and use via the auth_transform softcrypto abstraction does not use FPU. The intent of the OCF driver is mostly to enable testing in userspace via /dev/crypto. ATF tests are added with published KAT test vectors to validate correctness. Reviewed by: jhb, markj Obtained from: github BLAKE2/libb2 Differential Revision: https://reviews.freebsd.org/D14662 |
#
e9ac2743 |
|
20-Mar-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Implement getrandom(2) and getentropy(3) The general idea here is to provide userspace programs with well-defined sources of entropy, in a fashion that doesn't require opening a new file descriptor (ulimits) or accessing paths (/dev/urandom may be restricted by chroot or capsicum). getrandom(2) is the more general API, and comes from the Linux world. Since our urandom and random devices are identical, the GRND_RANDOM flag is ignored. getentropy(3) is added as a compatibility shim for the OpenBSD API. truss(1) support is included. Tests for both system calls are provided. Coverage is believed to be at least as comprehensive as LTP getrandom(2) test coverage. Additionally, instructions for running the LTP tests directly against FreeBSD are provided in the "Test Plan" section of the Differential revision linked below. (They pass, of course.) PR: 194204 Reported by: David CARLIER <david.carlier AT hardenedbsd.org> Discussed with: cperciva, delphij, jhb, markj Relnotes: maybe Differential Revision: https://reviews.freebsd.org/D14500 |
#
27cb8d84 |
|
16-Mar-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Garbage collect unused chacha20 code Two copies of chacha20 were imported into the tree on Apr 15 2017 (r316982) and Apr 16 2017 (r317015). Only the latter is actually used by anything, so just go ahead and garbage collect the unused version while it's still only in CURRENT. I'm not making any judgement on which implementation is better. If I pulled the wrong one, feel free to swap the existing implementation out and replace it with the other code (conforming to the API that actually gets used in randomdev, of course). We only need one generic implementation. Sponsored by: Dell EMC Isilon |
#
e808190a |
|
08-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add kernel and userspace code to dump the firmware state of supported ConnectX-4/5 devices in mlx5core. The dump is obtained by reading a predefined register map from the non-destructive crspace, accessible by the vendor-specific PCIe capability (VSC). The dump is stored in preallocated kernel memory and managed by the mlx5tool(8), which communicates with the driver using a character device node. The utility allows to store the dump in format <address> <value> into a file, to reset the dump content, and to manually initiate the dump. A call to mlx5_fwdump() should be added at the places where a dump must be fetched automatically. The most likely place is right before a firmware reset request. Submitted by: kib@ MFC after: 1 week Sponsored by: Mellanox Technologies |
#
4b95c665 |
|
08-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add vendor specific capability interface support in mlx5core. Add the ability to access the vendor specific space gateway in order to support reading and writing data into the different configuration domains. Submitted by: Matthew Finlay <matt@mellanox.com> MFC after: 1 week Sponsored by: Mellanox Technologies |
#
118063fb |
|
08-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for explicit congestion notification, ECN, to mlx5ib(4). ECN configuration and statistics is available through a set of sysctl(8) nodes under sys.class.infiniband.mlx5_X.cong . The ECN configuration nodes can also be used as loader tunables. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
5f8cd1c0 |
|
23-Feb-2018 |
Jeff Roberson <jeff@FreeBSD.org> |
Add a generic Proportional Integral Derivative (PID) controller algorithm and use it to regulate page daemon output. This provides much smoother and more responsive page daemon output, anticipating demand and avoiding pageout stalls by increasing the number of pages to match the workload. This is a reimplementation of work done by myself and mlaier at Isilon. Reviewed by: bsdimp Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon Differential Revision: https://reviews.freebsd.org/D14402 |
#
dcd935df |
|
22-Feb-2018 |
Ravi Pokala <rpokala@FreeBSD.org> |
jedec_dimm(4): report asset info and temperatures for DDR3 and DDR4 DIMMs A super-set of the functionality of jedec_ts(4). jedec_dimm(4) reports asset information (Part Number, Serial Number) encoded in the "Serial Presence Detect" (SPD) data on JEDEC DDR3 and DDR4 DIMMs. It also calculates and reports the memory capacity of the DIMM, in megabytes. If the DIMM includes a "Thermal Sensor On DIMM" (TSOD), the temperature is also reported. Reviewed by: cem MFC after: 1 week Relnotes: yes Sponsored by: Panasas Differential Revision: https://reviews.freebsd.org/D14392 Discussed with: avg, cem Tested by: avg, cem (previous version, no semantic changes) |
#
0d787e9b |
|
22-Feb-2018 |
Wojciech Macek <wma@FreeBSD.org> |
NVMe: Add big-endian support Remove bitfields from defined structures as they are not portable. Instead use shift and mask macros in the driver and nvmecontrol application. NVMe is now working on powerpc64 host. Submitted by: Michal Stanek <mst@semihalf.com> Obtained from: Semihalf Reviewed by: imp, wma Sponsored by: IBM, QCM Technologies Differential revision: https://reviews.freebsd.org/D13916 |
#
064827be |
|
21-Feb-2018 |
Alexander Motin <mav@FreeBSD.org> |
MFV r329799, r329800: 9079 race condition in starting and ending condesing thread for indirect vdevs illumos/illumos-gate@667ec66f1b4f491d5e839644e0912cad1c9e7122 The timeline of the race condition is the following: [1] Thread A is about to finish condesing the first vdev in spa_condense_indirect_thread(), so it calls the spa_condense_indirect_complete_sync() sync task which sets the spa_condensing_indirect field to NULL. Waiting for the sync task to finish, thread A sleeps until the txg is done. When this happens, thread A will acquire spa_async_lock and set spa_condense_thread to NULL. [2] While thread A waits for the txg to finish, thread B which is running spa_sync() checks whether it should condense the second vdev in vdev_indirect_should_condense() by checking the spa_condensing_indirect field which was set to NULL by spa_condense_indirect_thread() from thread A. So it goes on and tries to spawn a new condensing thread in spa_condense_indirect_start_sync() and the aforementioned assertions fails because thread A has not set spa_condense_thread to NULL (which is basically the last thing it does before returning). The main issue here is that we rely on both spa_condensing_indirect and spa_condense_thread to signify whether a condensing thread is running. Ideally we would only use one throughout the codebase. In addition, for managing spa_condense_thread we currently use spa_async_lock which basically tights condensing to scrubing when it comes to pausing and resuming those actions during spa export. Reviewed by: Matt Ahrens <mahrens@delphix.com> Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com> Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org> Author: Serapheim Dimitropoulos <serapheim@delphix.com>
|
#
24433f00 |
|
21-Feb-2018 |
Alexander Motin <mav@FreeBSD.org> |
MFV r329502: 7614 zfs device evacuation/removal illumos/illumos-gate@5cabbc6b49070407fb9610cfe73d4c0e0dea3e77 https://www.illumos.org/issues/7614: This project allows top-level vdevs to be removed from the storage pool with “zpool remove”, reducing the total amount of storage in the pool. This operation copies all allocated regions of the device to be removed onto other devices, recording the mapping from old to new location. After the removal is complete, read and free operations to the removed (now “indirect”) vdev must be remapped and performed at the new location on disk. The indirect mapping table is kept in memory whenever the pool is loaded, so there is minimal performance overhead when doing operations on the indirect vdev. The size of the in-memory mapping table will be reduced when its entries become “obsolete” because they are no longer used by any block pointers in the pool. An entry becomes obsolete when all the blocks that use it are freed. An entry can also become obsolete when all the snapshots that reference it are deleted, and the block pointers that reference it have been “remapped” in all filesystems/zvols (and clones). Whenever an indirect block is written, all the block pointers in it will be “remapped” to their new (concrete) locations if possible. This process can be accelerated by using the “zfs remap” command to proactively rewrite all indirect blocks that reference indirect (removed) vdevs. Note that when a device is removed, we do not verify the checksum of the data that is copied. This makes the process much faster, but if it were used on redundant vdevs (i.e. mirror or raidz vdevs), it would be possible to copy the wrong data, when we have the correct data on e.g. the other side of the mirror. Therefore, mirror and raidz devices can not be removed. Reviewed by: Alex Reece <alex@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: John Kennedy <john.kennedy@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Richard Laager <rlaager@wiktel.com> Reviewed by: Tim Chase <tim@chase2k.com> Approved by: Garrett D'Amore <garrett@damore.org> Author: Prashanth Sreenivasa <pks@delphix.com>
|
#
6026dcd7 |
|
13-Feb-2018 |
Mark Johnston <markj@FreeBSD.org> |
Add support for zstd-compressed user and kernel core dumps. This works similarly to the existing gzip compression support, but zstd is typically faster and gives better compression ratios. Support for this functionality must be configured by adding ZSTDIO to one's kernel configuration file. dumpon(8)'s new -Z option is used to configure zstd compression for kernel dumps. savecore(8) now recognizes and saves zstd-compressed kernel dumps with a .zst extension. Submitted by: cem (original version) Relnotes: yes Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D13101, https://reviews.freebsd.org/D13633 |
#
33ec1ccb |
|
13-Feb-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Import the mthca kernel side infiniband driver from Linux 4.9 and fix compilation under FreeBSD. The mthca driver was temporarily removed as part of the Linux 4.9 RoCE/infinband upgrade. Top commit in Linux source tree: 69973b830859bc6529a7a0468ba0d80ee5117826 Sponsored by: Mellanox Technologies |
#
e8a81142 |
|
12-Feb-2018 |
Landon J. Fuller <landonf@FreeBSD.org> |
bwn(4): Fix outstanding bug in PHY-G tssi2dbm table generation caught by -Wconstant-conversion, and remove now unnecessary warning suppression flags. |
#
b99a6823 |
|
07-Feb-2018 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Rework ipfw dynamic states implementation to be lockless on fast path. o added struct ipfw_dyn_info that keeps all needed for ipfw_chk and for dynamic states implementation information; o added DYN_LOOKUP_NEEDED() macro that can be used to determine the need of new lookup of dynamic states; o ipfw_dyn_rule now becomes obsolete. Currently it used to pass information from kernel to userland only. o IPv4 and IPv6 states now described by different structures dyn_ipv4_state and dyn_ipv6_state; o IPv6 scope zones support is added; o ipfw(4) now depends from Concurrency Kit; o states are linked with "entry" field using CK_SLIST. This allows lockless lookup and protected by mutex modifications. o the "expired" SLIST field is used for states expiring. o struct dyn_data is used to keep generic information for both IPv4 and IPv6; o struct dyn_parent is used to keep O_LIMIT_PARENT information; o IPv4 and IPv6 states are stored in different hash tables; o O_LIMIT_PARENT states now are kept separately from O_LIMIT and O_KEEP_STATE states; o per-cpu dyn_hp pointers are used to implement hazard pointers and they prevent freeing states that are locklessly used by lookup threads; o mutexes to protect modification of lists in hash tables now kept in separate arrays. 65535 limit to maximum number of hash buckets now removed. o Separate lookup and install functions added for IPv4 and IPv6 states and for parent states. o By default now is used Jenkinks hash function. Obtained from: Yandex LLC MFC after: 42 days Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D12685 |
#
d177c199 |
|
05-Feb-2018 |
Landon J. Fuller <landonf@FreeBSD.org> |
bwn(4): migrate bwn(4) to the native bhnd(9) interface, and drop siba_bwn. - Remove the shim interface that allowed bwn(4) to use either siba_bwn or bhnd(4), replacing all siba_bwn calls with their bhnd(4) bus equivalents. - Drop the legay, now-unused siba_bwn bus driver. - Clean up bhnd(4) board flag defines referenced by bwn(4). Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D13518 |
#
90a48fba |
|
03-Feb-2018 |
Xin LI <delphij@FreeBSD.org> |
After r328426, g_label depends on UFS (option FFS) code to read UFS superblock, and the kernel will fail to link when UFS is not built in. This commit makes it depend on a small portion of FFS bits and thereby fixes build for this situation. This is intended as an interim bandaid, and the actual superblock reading code should probably be made independent of UFS, so we do not need to depend on it (see kib@'s comment in the review for details), and we will revisit this once the superblock check hashes are all in place. Differential Revision: https://reviews.freebsd.org/D14092 |
#
68f18f30 |
|
29-Jan-2018 |
Benno Rice <benno@FreeBSD.org> |
Remove some duplicated sys/conf/files* entries. net80211/ieee80211_ageq.c was present twice in sys/conf/files so leave the correctly sorted one. dev/wpi/if_wpi.c was present in sys/conf/files as well as sys/conf/files.amd64 and sys/conf/files.i386 so prefer the sys/conf/files entry. Reviewed by: allanjude, rstone |
#
5823f6fb |
|
25-Jan-2018 |
Ruslan Bukin <br@FreeBSD.org> |
o Move sdhci_fdt to the generic files list. o Include Qualcomm EHCI and UART drivers to the build. Sponsored by: DARPA, AFRL |
#
f8759fac |
|
20-Jan-2018 |
Michal Meloun <mmel@FreeBSD.org> |
Convert extres/phy to kobj model. Similarly as other extres pseudo-drivers, implement phy by using kobj model. This detaches it from provider device, so single device driver can export multiple different phys. Additionally, this allows phy to be subclassed to more specialized drivers, like is USB OTG phy, or PCIe phy with hot-plug capability. Tested by: manu (previous version, on Allwinner board) MFC after: 1 month |
#
3f289c3f |
|
12-Jan-2018 |
Jeff Roberson <jeff@FreeBSD.org> |
Implement 'domainset', a cpuset based NUMA policy mechanism. This allows userspace to control NUMA policy administratively and programmatically. Implement domainset based iterators in the page layer. Remove the now legacy numa_* syscalls. Cleanup some header polution created by having seq.h in proc.h. Reviewed by: markj, kib Discussed with: alc Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon Differential Revision: https://reviews.freebsd.org/D13403 |
#
78f57a9c |
|
08-Jan-2018 |
Mark Johnston <markj@FreeBSD.org> |
Generalize the gzio API. We currently use a set of subroutines in kern_gzio.c to perform compression of user and kernel core dumps. In the interest of adding support for other compression algorithms (zstd) in this role without complicating the API consumers, add a simple compressor API which can be used to select an algorithm. Also change the (non-default) GZIO kernel option to not enable compressed user cores by default. It's not clear that such a default would be desirable with support for multiple algorithms implemented, and it's inconsistent in that it isn't applied to kernel dumps. Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D13632 |
#
d3692a4d |
|
08-Jan-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Integrate zstd into the kernel Mock userspace headers and include mocked headers first in compilation command to inject kernel headers and override e.g., malloc(3) with malloc(9). Submitted by: allanjude Reviewed by: imp (earlier version), bapt (earlier version) Differential Revision: https://reviews.freebsd.org/D10407 |
#
ae3d6bfa |
|
31-Dec-2017 |
Colin Percival <cperciva@FreeBSD.org> |
Connect kern_tslog.c to the build and add TSLOG / TSLOGSIZE kernel options. These are intended for debugging purposes and should not be added to "generic" kernel configurations since they result in a nontrivial amount of memory being set aside for this purpose, can break if kernel modules are unloaded, and can potentially leak a dangerous amount of information about timestamps used as a source of kernel entropy. |
#
cd901504 |
|
25-Dec-2017 |
Michael Tuexen <tuexen@FreeBSD.org> |
When adding support for sending SCTP packets containing an ABORT chunk to ipfw in https://svnweb.freebsd.org/changeset/base/326233, a dependency on the SCTP stack was added to ipfw by accident. This was noted by Kevel Bowling in https://reviews.freebsd.org/D13594 where also a solution was suggested. This patch is based on Kevin's suggestion, but implements the required SCTP checksum computation without any dependency on other SCTP sources. While there, do some cleanups and improve comments. Thanks to Kevin Kevin Browling for reporting the issue and suggesting a fix. |
#
cd04523f |
|
23-Dec-2017 |
Kyle Evans <kevans@FreeBSD.org> |
Move syscon into extres framework This should help reduce confusion between syscon/syscons a little bit. syscon is a resource generally modeled by FDT platforms, and not to be confused with syscons. |
#
4d68f3da |
|
23-Dec-2017 |
Kyle Evans <kevans@FreeBSD.org> |
syscon: Introduce kobj and split out fdt bits Allow more flexibility by kobj'ifying syscon and splitting out fdt specific bits in preparation of a move to the extres framework. The generic fdt driver has been moved to syscon_generic.c and the fdt requirement has been removed from the syscon interface, as is common to the extres framework. Reviewed by: strejda Differential Revision: https://reviews.freebsd.org/D13521 |
#
c19c7afe |
|
20-Dec-2017 |
Eric Joyner <erj@FreeBSD.org> |
ixgbe(4): Convert driver to use iflib Initial update to the ixgbe PF and VF drivers to support the iflib interface. The PF driver version is bumped to 4.0.0, and the VF driver version is bumped to 2.0.0. Special thanks to sbruno@ for the support in helping make this conversion happen. Submitted by: Jeb Cramer <cramerj@intel.com>, Krzysztof Galazka (Chris) <krzysztof.galazka@intel.com>, Piotr Pietruszewski <piotr.pietruszewski@intel.com> Reviewed by: sbruno@, shurd@, #IntelNetworking Tested by: Jeffrey Pieper <jeffrey.e.pieper@intel.com>, Sergey Kozlov <kozlov.sergey.404@gmail.com> Sponsored by: Limelight Networks, Intel Corporation Differential Revision: https://reviews.freebsd.org/D11727 |
#
b9f5a3d3 |
|
11-Dec-2017 |
Kyle Evans <kevans@FreeBSD.org> |
Add generic 'syscon' driver Upstream dts for allwinner will require a syscon driver, since the emac node coming in 4.15 will be using xref to /soc/syscon for configuring the emac clock. Add a generic syscon driver to attach to /soc/syscon for use by if_awg, providing basic read/write functionality to consumers. syscon driver will also be used by arm64 at least for A64+H5 emac/if_awg. Written by: mmel Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D13295 |
#
8d14ca9c |
|
01-Dec-2017 |
Landon J. Fuller <landonf@FreeBSD.org> |
Introduce bwn(4) support for the bhnd(4) bus. Currently, bwn(4) relies on the siba_bwn(4) bus driver to provide support for the on-chip SSB interconnect found in Broadcom's older PCI(e) Wi-Fi adapters. Non-PCI Wi-Fi adapters, as well as the newer BCMA interconnect found in post-2009 Broadcom Wi-Fi hardware, are not supported by siba_bwn(4). The bhnd(4) bus driver (also used by the FreeBSD/MIPS Broadcom port) provides a unified kernel interface to a superset of the hardware supported by siba_bwn; by attaching bwn(4) via bhnd(4), we can support both modern PCI(e) Wi-Fi devices based on the BCMA backplane interconnect, as well as Broadcom MIPS WiSoCs that include a D11 MAC core directly attached to their SSB or BCMA backplane. This diff introduces opt-in bwn(4) support for bhnd(4) by providing: - A small bwn(4) driver subclass, if_bwn_bhnd, that attaches via bhnd(4) instead of siba_bwn(4). - A bhndb(4)-based PCI host bridge driver, if_bwn_pci, that optionally probes at a higher priority than the siba_bwn(4) PCI driver. - A set of compatibility shims that perform translation of bwn(4)'s siba_bwn function calls into their bhnd(9) API equivalents when bwn(4) is attached via a bhnd(4) bus parent. When bwn(4) is attached via siba_bwn(4), all siba_bwn function calls are simply passed through to their original implementations. To test bwn(4) with bhnd(4), place the following lines in loader.conf(5): hw.bwn_pci.preferred="1" if_bwn_pci_load="YES bwn_v4_ucode_load="YES" bwn_v4_lp_ucode_load="YES" To verify that bwn(4) is using bhnd(4), you can check dmesg: bwn0: <Broadcom 802.11 MAC/PHY/Radio, rev 15> ... on bhnd0 ... or devinfo(8): pcib2 pci2 bwn_pci0 bhndb0 bhnd0 bwn0 ... bwn(4)/bhnd(4) has been tested for regressions with most chipsets currently supported by bwn(4), including: - BCM4312 - BCM4318 - BCM4321 With minimal changes to the DMA code (not included in this commit), I was also able to test support for newer BCMA devices by bringing up basic working Wi-Fi on two previously unsupported, BCMA-based N-PHY chipsets: - BCM43224 - BCM43225 Approved by: adrian (mentor, implicit) Sponsored by: The FreeBSD Foundation & Plausible Labs Differential Revision: https://reviews.freebsd.org/D13041 |
#
82725ba9 |
|
23-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325999 through r326131.
|
#
2f909a9f |
|
22-Nov-2017 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): Add a basic ChipCommon GPIO driver sufficient to support bwn(4) The driver is functional on both BHND Wi-Fi adapters and MIPS SoCs, but does not currently include support for features not required by bwn(4), including GPIO interrupt handling. Approved by: adrian (mentor, implicit) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D12708 |
#
4e96bf3a |
|
22-Nov-2017 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): extend the PMU APIs to support bwn(4) The bwn(4) driver requires a number of extensions to the bhnd(4) PMU interface to support external configuration of PLLs, LDOs, and other parameters that require chipset or PHY-specific workarounds. These changes add support for: - Writing raw voltage register values to PHY-specific LDO regulator registers (required by LP-PHY). - Enabling/disabling PHY-specific LDOs (required by LP-PHY) - Writing to arbitrary PMU chipctrl registers (required for common PHY PLL reset support). - Requesting chipset/PLL-specific spurious signal avoidance modes. - Querying clock frequency and latency. Additionally, rather than updating legacy PWRCTL support to conform to the new PMU interface: - PWRCTL API is now provided by a bhnd_pwrctl_if.m interface. - Since PWRCTL is only found in older SSB-based chipsets, translation from bhnd(4) bus APIs to corresponding PWRCTL operations is now handled entirely within the siba(4) driver. - The PWRCTL-specific host bridge clock gating APIs in bhnd_bus_if.m have been lifted out into a standalone bhnd_pwrctl_hostb_if.m interface. Approved by: adrian (mentor, implicit) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D12664 |
#
a3dff126 |
|
21-Nov-2017 |
Andrew Turner <andrew@FreeBSD.org> |
Add a driver for the EFI RTC. This uses the EFI Runtime Services to query the system time. As we seem to only read this time on boot, and this is the only source of time on many arm64 machines we need to enable this by default there. As this is not always the case with U-Boot firmware, or when we have been booted from a non-UEFI environment we only enable the device driver when the Runtime Services are present and reading the time doesn't result in an error. PR: 212185 Reviewed by: imp, kib Tested by: emaste Relnotes: yes Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12650 |
#
55b1c6e7 |
|
15-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325663 through r325841.
|
#
c3191c2e |
|
15-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update the mlx4 core and mlx4en(4) modules towards Linux v4.9. Background: The coming ibcore update forces an update of mlx4ib(4) which in turn requires an updated mlx4 core module. This also affects the mlx4en(4) module because commonly used APIs are updated. This commit is a middle step updating the mlx4 modules towards the new ibcore. This change contains no major new features. Changes in mlx4: a) Improved error handling when mlx4 PCI devices are detached inside VMs. b) Major update of codebase towards Linux 4.9. Changes in mlx4ib(4): a) Minimal changes needed in order to compile using the updated mlx4 core APIs. Changes in mlx4en(4): a) Update flow steering code in mlx4en to use new APIs for registering MAC addresses and IP addresses. b) Update all statistics counters to be 64-bit. c) Minimal changes needed in order to compile using the updated mlx4 core APIs. Sponsored by: Mellanox Technologies MFC after: 1 week |
#
8dee9a7a |
|
13-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Remove no longer supported mthca driver. Sponsored by: Mellanox Technologies |
#
8cc48704 |
|
13-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update mlx4ib(4) to Linux 4.9. Sponsored by: Mellanox Technologies |
#
8e6e287f |
|
10-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update mlx5ib(4) to match Linux 4.9 and the new ibcore APIs. Sponsored by: Mellanox Technologies |
#
f8190300 |
|
10-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325505 through r325662.
|
#
5a93b4cd |
|
10-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Refactor the flowsteering APIs used by mlx5en(4). This change is needed by the coming ibcore and mlx5ib updates in order to support traffic redirection to so-called raw ethernet QPs. Remove unused E-switch related routines and files while at it. Sponsored by: Mellanox Technologies MFC after: 1 week |
#
c2c014f2 |
|
07-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r323559 through r325504.
|
#
be04c94e |
|
30-Oct-2017 |
Michael Zhilin <mizhka@FreeBSD.org> |
[i2c/clock] add support for EPSON RTC-8583 RTC-8583 is time-of-day clock used in some SOHO routers. This clock has only 2 bits for year values, but thanks to user SRAM it's possible to save year value and keep it up to date via driver code. Tested on Planex_MZK-W300NAG (SoC is RT2880) Submitted by: Hiroki Mori <yamori83@yahoo.co.jp> Differential Revision: https://reviews.freebsd.org/D12833 |
#
67696522 |
|
30-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Remove unnecessary C in .fwo file I accidentally made consistent MFC after: 1 month MFC with: r325122, r325124 |
#
986ab26f |
|
30-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Fix a bad copy-paste (8000C -> 8265) done in r325122 This fixes the clean rule for "device iwm8265fw". MFC after: 1 month MFC with: r325122 |
#
4c7aa20f |
|
30-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Fill in the blanks for iwm8265fw(4) rules, missed in r324434 Now using "device iwmfw" or "device iwm8265fw" in one's kernel configuration will potentially result in a working IWM8265 series wireless SoC. This is an alternative to the fix that was made in r324470 for `sys/modules/iwmfw`. MFC after: 1 month |
#
ac04195b |
|
20-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Move swapout code into vm/vm_swapout.c. There is no NO_SWAPPING #ifdef left in the code. Requested by: alc Reviewed by: alc, markj Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D12663 |
#
39ed7f25 |
|
17-Oct-2017 |
Brooks Davis <brooks@FreeBSD.org> |
Remove mbpool(9) now that it has no consumers. mbpool existed to support NICs with memory interfaces and all remaining comsumers were removed earlier this year with NATM. Reviewed by: jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10513 |
#
714d3ee0 |
|
07-Oct-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T6, T5, and T4 firmwares to 1.16.63.0. Changes since 1.16.26.0 for all three firmwares are listed below. This list was obtained from the Release Notes of the Chelsio Unified Wire v3.5.05 release for Linux. T6 Firmware ++++++++++++ ================================================================================ Version : 1.16.63.0 Date : 09/29/2017 ================================================================================ Fixes ----- BASE: - Fixed a fw crash when configured traffic rate limit is less than 10kbps. - Fixed traffic rate limiting for smaller traffic rate value. ETH: - Fixed 40G link failure when interface is toggled. - Fixed adapter crash when interface is toggled during traffic. - Fixed 25G link failure when PEER only supports consortium mode autoneg for 25G. - Fixed 100G optics link failure when cable is plugged in after bringing up the interface. - Enable RS FEC as default if speed is 100G. - Fixed DCBX configuration refresh failure. OFLD - Fixed 0B iWARP ingress read failure. - Fixed iWARP SRQ reuse failure. FOiSCSI: - Fixed vlan interface ping failure. - Fixed target discovery failures. - Fixed mutual chap login failure. ================================================================================ Version : 1.16.59.0 Date : 09/05/2017 ================================================================================ FIXES ----- BASE: - Fixed fw crash caused by MC parity error in SO adapters. - Generate Timer0Int interrupt if fw crashes due to unaligned access error. Host driver must look into PCIE_FW register to see if any fw fatal error has encountered. If PCIE_FW doesn't indicate any error then driver must ignore this interrupt. - Fixed receive buffer threshold settings which was resulting in error frames on receive side. ETH: - Fixed an issue in connection traffic shaping when FLOWC_WR->FW_FLOWC_MNEM_SCHEDCLASS is not received in first WR on the connection. - Fixed link failure when speed is changed from 10G-1G-10G due to incorrect flag check. - Fixed improper LED behaviour for blink test and when traffic is running. - Removed storage of previous fec settings from fw. Driver needs to pass the user settings whenever a new module is plugged in as fw resets these when a module is unplugged. OFLD - OVS offload: TP cache is flushed periodically to get the accuate filters stats (hit count). ENHANCEMENTS ------------ BASE: - Ring backbone feature added. New FW_PARAMS_PARAM_DEV_RING_BACKBONE param type added to query and enable ring backbone support. - VNI support added for filtering. New entry_type FW_VI_MAC_TYPE_EXACTMAC_VNI added to FW_VI_MAC_CMD. - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. - FW_PARAMS_PARAM_DEV_TPCHMAP API added to read the port to channel mapping. - HMA (Host memory access) support added. New FW_HMA_CMD and FW_PARAMS_PARAM_DEV_HMA_SIZE added to query and configure the HMA. It enables the memfree support (256 connections) for iwarp. - PTP support enabled. ETH: - Added consortium mode 50G support. - Added the ability to allow only selected speeds to be advertised during auto negotiation. - Increased port capability from 16 to 32 bits to support more speeds. FW_PARAMS_PARAM_PFVF_PORT_CAPS32 added to query whether fw supports 16 or 32 bit port capability. OFLD: - RDMA Write with immediate support added (iwarp 2.0 feature) - FW_TLS_KEYCTX_TX_WR removed and security key management moved to driver. - 256 offloaded connections support for iwarp on SO adapters. iSCSI: - New param FW_PARAMS_PARAM_DEV_PPOD_EDRAM added for iscsi ppod configuration in EDRAM (performance improvement). FOiSCSI: - iSCSI Command offload target support added. FOFCoE: - FCoE support enabled. ================================================================================ Version : 1.16.43.0 Date : 05/05/2017 ================================================================================ FIXES ----- BASE: - Fixed default DCB mode to AUTO. - Fixed DCBX bugs when AUTO mode is configured in config file. - Fixed an issue where even after removing PFC from switch, PFC wasn't getting reset. - Fixed DDR3/DDR4 ECC errors. - Fixed an FLR issue where FLR completion was going to host before FLR processing is finished in fw. ETH: - Fixed bug in writing multi-bytes using i2c interface. - Fixed the link failure when optical cable is inserted into the QSA module after loading the driver. - Fixed false link up when peer interface was brought down. - Enabling RS FEC by default for 100Gbase-SR4 according to 802.3BJ standard. - Fixed bugs related to negotiated fec based local/peer fec ability and request. - Fixed auto-neg failure with few switches. - T6 Performance improvement fixes. OFLD - Fixed an extra credit issue if FW_RI_TYPE_FINI is delayed in fw due to backpressure. - Added a new queue type FW_IQ_TYPE_VF_CQ to handle the FW_PARAMS_PARAM_DMAQ* commands. queue type will be part of the FW_PARAMS_PARAM_DMAQ_IQ_INTIDX value. Used in guest RDMA (RDMA from VM/VF) usecase. - T6 Crypto Coprocessor mode bug fixes. - T6 Crypto TLS-inline mode bug fixes. ENHANCEMENTS ------------ BASE: - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. ETH: - Added broadcom consortium next page support for 25G CR. This can be enabled using flags=an_brcm option in the t6-config.txt file. - Added spider mode support. - Added support for 10G-BaseT converter sfp+ module. - Added support for additional 25G/100G cables. - Added support to enable/disable auto-neg using ethtool. ================================================================================ Version : 1.16.33.0 Date : 02/24/2017 ================================================================================ Fixes ----- BASE: - Fixed DDR4 uncorrectable errors. ETH: - Enabled link auto negotiation (AN) by default in config file. - Added AN and FEC control api. Host driver and application can enable/disable AN and FEC. ENHANCEMENTS ------------ BASE: - Enabled High priorty filter. - Added T6425 adapter support. ETH: - Added new workrequest ETH_TX_PKTS2_WR (see fw api document for more details). ================================================================================ Version : 1.16.29.0 Date : 01/27/2017 ================================================================================ FIXES ----- BASE: - Set multiple fec values only if AN is enabled in config file and when module is connected. - Fixed intermittent DDR3/4 ECC errors. - max number of ethctrl queue in VF set to 2 (reverted the last change because it causes problem in VF drivers). ETH: - Made devlog more verbose by printing cable information in redable form. - Updated AN settings to work with more 25G/100G switches. - Added support for more SFP28/QSFP28 cables. - Fixed an issue of link going down after few hours of idle time. OFLD: - Fixed an issue in TLS which was causing fw crash on running TLS traffic. FOiSCSI: - Fixed the failure of PXE boot OS install on an iscsi lun. ENHANCEMENTS ------------ OFLD: - Added filtering support for NAT. New WR FW_FILTER2_WR and FW_PARAMS_PARAM_DEV_FILTER2_WR added for the same. - Added RDMA guest mode (mode 3 or RDMA from VF) support. ================================================================================ T5 Firmware ++++++++++++ ================================================================================ Version : 1.16.63.0 Date : 09/29/2017 ================================================================================ Fixes ----- BASE: - Fixed offload memory overcommit in case of SO adapter. ETH: - Fixed DCBX configuration refresh failure. OFLD - Fixed 0B iWARP ingress read failure. FOiSCSI: - Fixed vlan interface ping failure. ================================================================================ Version : 1.16.59.0 Date : 09/05/2017 ================================================================================ FIXES ----- BASE: - Fixed an FLR issue which was causing error when VF attached VM was powered on. ETH: - Fixed an issue in connection traffic shaping when FLOWC_WR->FW_FLOWC_MNEM_SCHEDCLASS is not received in first WR on the connection. - Fixed link failure when speed is changed from 10G-1G-10G due to incorrect flag check. - Fixed T580 link failure with few switches which take more time for establishing link. ENHANCEMENTS ------------ BASE: - Ring backbone feature added. New FW_PARAMS_PARAM_DEV_RING_BACKBONE param type added to query and enable ring backbone support. - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. - FW_PARAMS_PARAM_DEV_TPCHMAP API added to read the port to channel mapping. FOiSCSI: - iSCSI Command offload target support added. ================================================================================ Version : 1.16.43.0 Date : 05/05/2017 ================================================================================ FIXES ----- BASE: - Fixed default DCB mode to AUTO. - Fixed DCBX bugs when AUTO mode is configured in config file. - Fixed an issue where even after removing PFC from switch, PFC wasn't getting reset. ETH: - Fixed bug in writing multi-bytes using i2c interface. - Fixed the link failure when optical cable is inserted into the QSA module after loading the driver. OFLD - Fixed an extra credit issue if FW_RI_TYPE_FINI is delayed in fw due to backpressure. - Added a new queue type FW_IQ_TYPE_VF_CQ to handle the FW_PARAMS_PARAM_DMAQ* commands. queue type will be part of the FW_PARAMS_PARAM_DMAQ_IQ_INTIDX value. Used in guest RDMA (RDMA from VM/VF) usecase. ENHANCEMENTS ------------ BASE: - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. ================================================================================ Version : 1.16.33.0 Date : 02/24/2017 ================================================================================ ENHANCEMENTS ------------ ETH: - Added new workrequest ETH_TX_PKTS2_WR (see fw api document for more details). ================================================================================ Version : 1.16.29.0 Date : 01/27/2017 ================================================================================ FIXES ----- BASE: - max number of ethctrl queue in VF set to 2 (reverted the last change because it causes problem in VF drivers). FOiSCSI: - Fixed the failure of PXE boot OS install on an iscsi lun. ENHANCEMENTS ------------ OFLD: - Added filtering support for NAT. New WR FW_FILTER2_WR and FW_PARAMS_PARAM_DEV_FILTER2_WR added for the same. - Added RDMA guest mode (mode 3 or RDMA from VF) support. ================================================================================ T4 Firmware +++++++++++ ================================================================================ Version : 1.16.63.0 Date : 09/29/2017 ================================================================================ Fixes ----- ETH: - Fixed DCBX configuration refresh failure. FOiSCSI: - Fixed vlan interface ping failure. ================================================================================ Version : 1.16.59.0 Date : 09/05/2017 ================================================================================ FIXES ----- ETH: - Fixed an issue in connection traffic shaping when FLOWC_WR->FW_FLOWC_MNEM_SCHEDCLASS is not received in first WR on the connection. ENHANCEMENTS ------------ BASE: - FW_PARAMS_PARAM_DEV_TPCHMAP API added to read the port to channel mapping. ================================================================================ Version : 1.16.43.0 Date : 05/05/2017 ================================================================================ FIXES ----- BASE: - Fixed default DCB mode to AUTO. - Fixed DCBX bugs when AUTO mode is configured in config file. - Fixed an issue where even after removing PFC from switch, PFC wasn't getting reset. ETH: - Fixed bug in writing multi-bytes using i2c interface. OFLD - Fixed an extra credit issue if FW_RI_TYPE_FINI is delayed in fw due to backpressure. - Added a new queue type FW_IQ_TYPE_VF_CQ to handle the FW_PARAMS_PARAM_DMAQ* commands. queue type will be part of the FW_PARAMS_PARAM_DMAQ_IQ_INTIDX value. Used in guest RDMA (RDMA from VM/VF) usecase. ENHANCEMENTS ------------ BASE: - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications |
#
0e73a619 |
|
01-Oct-2017 |
Andrew Turner <andrew@FreeBSD.org> |
To prepare for adding EFI runtime services support on arm64 move the machine independent parts of the existing code to a new file that can be shared between amd64 and arm64. Reviewed by: kib (previous version), imp Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12434 |
#
437e74ba |
|
01-Oct-2017 |
Andriy Gapon <avg@FreeBSD.org> |
fix up r324163, MFV of r323530,r323533,r323534, 7431 ZFS Channel Programs Add several new files to the files enabled by ZFS kernel option. MFC after: 5 weeks X-MFC with: r324163 |
#
bda88d07 |
|
01-Oct-2017 |
Andriy Gapon <avg@FreeBSD.org> |
MFV r323530,r323533,r323534: 7431 ZFS Channel Programs, and followups 7431 ZFS Channel Programs illumos/illumos-gate@dfc115332c94a2f62058ac7f2bce7631fbd20b3d https://github.com/illumos/illumos-gate/commit/dfc115332c94a2f62058ac7f2bce7631fbd20b3d https://www.illumos.org/issues/7431 ZFS channel programs (ZCP) adds support for performing compound ZFS administrative actions via Lua scripts in a sandboxed environment (with time and memory limits). This initial commit includes both base support for running ZCP scripts, and a small initial library of API calls which support getting properties and listing, destroying, and promoting datasets. Testing: in addition to the included unit tests, channel programs have been in use at Delphix for several months for batch destroying filesystems. The dsl_destroy_snaps_nvl() call has also been replaced with Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: John Kennedy <john.kennedy@delphix.com> Reviewed by: Dan Kimmel <dan.kimmel@delphix.com> Approved by: Garrett D'Amore <garrett@damore.org> Author: Chris Williamson <chris.williamson@delphix.com> 8552 ZFS LUA code uses floating point math illumos/illumos-gate@916c8d881190bd2c3ca20d9fca919aecff504435 https://github.com/illumos/illumos-gate/commit/916c8d881190bd2c3ca20d9fca919aecff504435 https://www.illumos.org/issues/8552 In the LUA interpreter used by "zfs program", the lua format() function accidentally includes support for '%f' and friends, which can cause compilation problems when building on platforms that don't support floating-point math in the kernel (e.g. sparc). Support for '%f' friends (%f %e %E %g %G) should be removed, since there's no way to supply a floating-point value anyway (all numbers in ZFS LUA are int64_t's). Reviewed by: Yuri Pankov <yuripv@gmx.com> Reviewed by: Igor Kozhukhov <igor@dilos.org> Approved by: Dan McDonald <danmcd@joyent.com> Author: Matthew Ahrens <mahrens@delphix.com> 8590 memory leak in dsl_destroy_snapshots_nvl() illumos/illumos-gate@e6ab4525d156c82445c116ecf6b2b874d5e9009d https://github.com/illumos/illumos-gate/commit/e6ab4525d156c82445c116ecf6b2b874d5e9009d https://www.illumos.org/issues/8590 In dsl_destroy_snapshots_nvl(), "snaps_normalized" is not freed after it is added to "arg". Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed by: Steve Gonczi <steve.gonczi@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Approved by: Dan McDonald <danmcd@joyent.com> Author: Matthew Ahrens <mahrens@delphix.com> FreeBSD notes: - zfs-program.8 manual page is taken almost as is from the vendor repository, no FreeBSD-ification done - fixed multiple instances of NULL being used where an integer is expected - replaced ETIME and ECHRNG with ETIMEDOUT and EDOM respectively This commit adds a modified version of Lua 5.2.4 under sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua, mirroring the upstream. See README.zfs in that directory for the description of Lua customizations. See zfs-program.8 on how to use the new feature. MFC after: 5 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D12528
|
#
17f313e5 |
|
16-Sep-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix in-kernel build of ibcore module. Requested by: Sobczak, Bartosz <bartosz.sobczak@intel.com> Sponsored by: Mellanox Technologies |
#
02c474b4 |
|
15-Sep-2017 |
Ilya Bakulin <kibab@FreeBSD.org> |
Miscellaneous fixes and improvements to MMCCAM stack * Demote the level of several debug messages to CAM_DEBUG_TRACE * Add detection for SDHC cards that can do 1.8V. No voltage switch sequence is issued yet; * Don't create a separate LUN for each SDIO function. We need just one to make pass(4) attach; * Remove obsolete mmc_sdio* files. SDIO functionality will be moved into the separate device that will manage a new sdio(4) bus; * Terminate probing if got no reply to CMD0; * Make bcm2835 SDHCI host controller driver compile with 'option MMCCAM'. Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D12109 |
#
be173360 |
|
12-Sep-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Leave the Cavium Liquid IO driver exist in files, not files.amd64 Submitted by: imp |
#
e460f3ad |
|
12-Sep-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Do not try to build the Cavium Liquidio driver on all architechtures. For now, limit to amd64 only. |
#
f173c2b7 |
|
12-Sep-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
The diff is the initial submission of Cavium Liquidio 2350/2360 10/25G Intelligent NIC driver. The submission conconsists of firmware binary file and driver sources. Submitted by: pkanneganti@cavium.com (Prasad V Kanneganti) Relnotes: Yes Sponsored by: Cavium Networks Differential Revision: https://reviews.freebsd.org/D11927 |
#
d87eabee |
|
09-Sep-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
revert r323371 in prepartion for a proper fix Submitted by: imp |
#
141bf584 |
|
09-Sep-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
r323359 instroduced an ARMv8 only uart(4) device to the tree but placed the driver in a place where it will be built for all targets. x86 doesn't have all the required build bits for this device. Move the uart(4) device mvebu to arm64 only. |
#
ac0770dd |
|
09-Sep-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Introduce UART driver module for Armada 3700 This patch adds support for UART in Armada 3700 family. It exposes both low-level UART interface, as well as standard driver methods. Submitted by: Patryk Duda <pdk@semihalf.com> Obtained from: Semihalf Sponsored by: Semihalf Differential Revision: https://reviews.freebsd.org/D12250 |
#
2f6a1a81 |
|
31-Aug-2017 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20170831.
|
#
fc740a16 |
|
29-Aug-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T6/T5/T4 firmwares to 1.16.59.0. These firmwares come from a pre-release snapshot. The final firmwares in this Chelsio release cycle will likely be .61.0 or later and those will be the next "long lived" firmwares in FreeBSD head and stable branches. .59 is being provided in head (only) for wider test exposure. Obtained from: Chelsio Communications Sponsored by: Chelsio Communications |
#
12515907 |
|
22-Aug-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add new mlx5ib(4) driver to the kernel source tree which supports Remote DMA over Converged Ethernet, RoCE, for the ConnectX-4 series of PCI express network cards. There is currently no user-space support and this driver only supports kernel side non-routable RoCE V1. The krping kernel module can be used to test this driver. Full user-space support including RoCE V2 will be added as part of the ongoing upgrade to ibcore from Linux 4.9. Otherwise this driver is feature equivalent to mlx4ib(4). The mlx5ib(4) kernel module will only be built when WITH_OFED=YES is specified. MFC after: 2 weeks Sponsored by: Mellanox Technologies |
#
76136d20 |
|
19-Aug-2017 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Add support for generic MS Windows 7/8/10-compatible USB HID touchscreens found in many laptops. Reviewed by: hps, gonzo, bcr (manpages) Approved by: gonzo (mentor) Differential Revision: https://reviews.freebsd.org/D12017 |
#
03f55691 |
|
18-Aug-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Fix cut and paste typo that prevented T5 firmware to be compiled in. Reviewed by: np |
#
90cff13c |
|
13-Aug-2017 |
Ian Lepore <ian@FreeBSD.org> |
Remove the old ds1374 driver and use the ds13rtc driver instead. Adjust several mips config files accordingly. |
#
bb2e8108 |
|
13-Aug-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add a new driver, ds13rtc, that handles all DS13xx series i2c RTC chips. This driver supports only basic timekeeping functionality. It completely replaces the ds133x driver. It can also replace the ds1374 driver, but that will take a few other changes in MIPS code and config, and will be committed separately. It does NOT replace the existing ds1307 driver, which provides access to some of the extended features on the 1307 chip, such as controlling the square wave output signal. If both ds1307 and ds13rtc drivers are present, the ds1307 driver will outbid and win control of the device. This driver can be configured with FDT data, or by using hints on non-FDT systems. In addition to the standard hints for i2c devices, it requires a "chiptype" string of the form "dallas,ds13xx" where 'xx' is the chip id (i.e., the same format as FDT compat strings). |
#
b96793ae |
|
07-Aug-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Add the T6 and T5 Unified Wire configuration files to the kernel, just like for T4, when the driver is compiled into the kernel. Reported by: mav@ MFC after: 3 days Sponsored by: Chelsio Communications |
#
8a5d94f9 |
|
03-Aug-2017 |
Warner Losh <imp@FreeBSD.org> |
Make nvd vs nda choice boot-time rather than build-time Introduce hw.nvme.use_nvd tunable. This tunable allows both nvd and nda to be installed in the kernel, while allowing only one of them to create devices. This is an all-or-nothing setting, and you can't change it after boot-time. However, it will allow easier A/B testing. Differential Revision: https://reviews.freebsd.org/D11825 |
#
f856f099 |
|
03-Aug-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Initial import of the "collect" component of Chelsio unified debug (cudbg) code, hooked up to the main driver via an ioctl. The ioctl can be used to collect the chip's internal state in a compressed dump file. These dumps can be decoded with the "view" component of cudbg. Obtained from: Chelsio Communications MFC after: 2 months Sponsored by: Chelsio Communications |
#
94759a24 |
|
31-Jul-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add a driver for the Intersil ISL12xx family of i2c RTC chips. Supports ISL1209, ISL1218, ISL1219, ISL1220, ISL1221 (just basic RTC functionality, not all the other fancy stuff the chips can do). |
#
207fe81e |
|
29-Jul-2017 |
Ian Lepore <ian@FreeBSD.org> |
Replace the pcf8563 i2c RTC driver with a new nxprtc driver which handles all the chips in the NXP PCA212x and PCA/PCF85xx series. In addition to supporting more chips, this driver uses the countdown timer on the chips as a fractional seconds counter, giving it a resolution of about 15 milliseconds. |
#
5f9b24fa |
|
28-Jul-2017 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20170728.
|
#
a94a63f0 |
|
09-Jul-2017 |
Warner Losh <imp@FreeBSD.org> |
An MMC/SD/SDIO stack using CAM Implement the MMC/SD/SDIO protocol within a CAM framework. CAM's flexible queueing will make it easier to write non-storage drivers than the legacy stack. SDIO drivers from both the kernel and as userland daemons are possible, though much of that functionality will come later. Some of the CAM integration isn't complete (there are sleeps in the device probe state machine, for example), but those minor issues can be improved in-tree more easily than out of tree and shouldn't gate progress on other fronts. Appologies to reviews if specific items have been overlooked. Submitted by: Ilya Bakulin Reviewed by: emaste, imp, mav, adrian, ian Differential Review: https://reviews.freebsd.org/D4761 merge with first commit, various compile hacks. |
#
8eb6488e |
|
05-Jul-2017 |
Eric Joyner <erj@FreeBSD.org> |
ixgbe(4): Update HEAD (p3) to 3.2.12-k Includes: - Support for X550EM devices. - Support for Bypass adapters. - Flow Director code moved to separate files - SR-IOV code moved to separate files - Netmap code moved to separate files Differential Revision: https://reviews.freebsd.org/D11232 Submitted by: Jeb Cramer <cramerj@intel.com> Reviewed by: erj@ Tested by: Jeff Pieper <jeffrey.e.pieper@intel.com> Sponsored by: Intel Corporation |
#
75ac55b8 |
|
28-Jun-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add iic_recover_bus.c. Should have been part of r320461. |
#
9ea3e141 |
|
26-Jun-2017 |
Mark Johnston <markj@FreeBSD.org> |
Implement parts of the hrtimer API in the LinuxKPI. Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11359 |
#
f9cdbaba |
|
20-Jun-2017 |
Andriy Gapon <avg@FreeBSD.org> |
MFV r318946: 8021 ARC buf data scatter-ization illumos/illumos-gate@770499e185d15678ccb0be57ebc626ad18d93383 https://github.com/illumos/illumos-gate/commit/770499e185d15678ccb0be57ebc626ad18d93383 https://www.illumos.org/issues/8021 The ARC buf data project (known simply as "ABD" since its genesis in the ZoL community) changes the way the ARC allocates `b_pdata` memory from using linear `void *` buffers to using scatter/gather lists of fixed-size 1KB chunks. This improves ZFS's performance by helping to defragment the address space occupied by the ARC, in particular for cases where compressed ARC is enabled. It could also ease future work to allocate pages directly from `segkpm` for minimal- overhead memory allocations, bypassing the `kmem` subsystem. This is essentially the same change as the one which recently landed in ZFS on Linux, although they made some platform-specific changes while adapting this work to their codebase: 1. Implemented the equivalent of the `segkpm` suggestion for future work mentioned above to bypass issues that they've had with the Linux kernel memory allocator. 2. Changed the internal representation of the ABD's scatter/gather list so it could be used to pass I/O directly into Linux block device drivers. (This feature is not available in the illumos block device interface yet.) FreeBSD notes: - the actual (default) chunk size is 4KB (despite the text above saying 1KB) - we can try to reimplement ABDs, so that they are not permanently mapped into the KVA unless explicitly requested, especially on platforms with scarce KVA - we can try to use unmapped I/O and avoid intermediate allocation of a linear, virtual memory mapped buffer - we can try to avoid extra data copying by referring to chunks / pages in the original ABD Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: John Kennedy <john.kennedy@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Prashanth Sreenivasa <pks@delphix.com> Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed by: Chris Williamson <chris.williamson@delphix.com> Approved by: Richard Lowe <richlowe@richlowe.net> Author: Dan Kimmel <dan.kimmel@delphix.com> MFC after: 3 weeks
|
#
d23db91e |
|
20-Jun-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: Add uninit_bg feature support. From the linux tune2fs(8) manpage: "Allow the kernel to initialize bitmaps and inode tables and keep a high watermark for the unused inodes in a filesystem, to reduce e2fsck(8) time. This first e2fsck run after enabling this feature will take the full time, but subsequent e2fsck runs will take only a fraction of the original time, depending on how full the file system is." Submitted by: Fedor Uporov Differential Revision: https://reviews.freebsd.org/D11211 |
#
b6803171 |
|
10-Jun-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add a driver for the Vitesse/Microsemi VSC8501 PHY. |
#
7f153db8 |
|
10-Jun-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add some utility functions to help a PHY driver on an FDT-configured system retrieve its config data from the fdt data. The properties that are common to all phys are decoded and returned in a structure. The fdt node handles for the mac and phy devices are also returned in the config data struct, so a driver can easily obtain additional hardware-specific config values from the fdt data. |
#
46565964 |
|
09-Jun-2017 |
Mark Johnston <markj@FreeBSD.org> |
Augment wait queue support in the LinuxKPI. In particular: - Don't evaluate event conditions with a sleepqueue lock held, since such code may attempt to acquire arbitrary locks. - Fix the return value for wait_event_interruptible() in the case that the wait is interrupted by a signal. - Implement wait_on_bit_timeout() and wait_on_atomic_t(). - Implement some functions used to test for pending signals. - Implement a number of wait_event_*() variants and unify the existing implementations. - Unify the mechanism used by wait_event_*() and schedule() to put the calling thread to sleep. This is required to support updated DRM drivers. Thanks to hselasky for finding and fixing a number of bugs in the original revision. Reviewed by: hselasky MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D10986 |
#
40373cf5 |
|
08-Jun-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove msdosfs -o large support. Its purpose was to translate the values for msdosfs inode numbers, which is calculated from the msdosfs structures describing the file, into the range representable by 32bit ino_t. The translation acted for filesystems larger than 128Gb, it reserved the range 0xf0000000 (FILENO_FIRST_DYN) to UINT32_MAX and remembered some arbitrary translation of ino >= FILENO_FIRST_DYN into this range. It consumed memory that could be only freed by unmount, and the translation was not stable across remounts. With ino_t type extended to 64 bit, there is no such issue and values can be returned without compaction to 32bit. That is, for the native environments, the translation layer is not necessary and adds significant undeserved code complexity. For compat ABIs which use 32bit ino_t, the vfs.ino64_trunc_error sysctl provides some measures to soften the failure mode when inode numbers truncation is not safe. Discussed with: bde Sponsored by: The FreeBSD Foundation |
#
cd684dec |
|
04-Jun-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] Move Smart Fifo handling into if_iwm_sf.c, sync with Linux iwlwifi. * This change also fixes a possible issue in the existing smart-fifo code, which set the IWM_SF_CFG_DUMMY_NOTIF_OFF bit on AC8260 chipsets, although that's only used in iwlwifi for Family 8000 chipsets connected via SDIO interface. Obtained from: Dragonflybsd.git cb650b01526b0aeef3c4307d926e7f1428997d50 |
#
af051161 |
|
31-May-2017 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20170531.
|
#
39999a69 |
|
28-May-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Support for linux ext2fs posix-draft ACLs. This is closely tied to the Extended Attribute implementation. Submitted by: Fedor Uporov Reviewed by: kevlo, pfg Differential Revision: https://reviews.freebsd.org/D10807 |
#
7c0cad38 |
|
23-May-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update the T4, T5, and T6 firmwares to 1.16.45.0. The latest firmware has a number of link related fixes, support for a new custom card, and the fix for a bug that affected rate limiting on FreeBSD. Obtained from: Chelsio Communications MFC after: 1 week Sponsored by: Chelsio Communications |
#
9b8d05b8 |
|
22-May-2017 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Add support for Amazon Elastic Network Adapter (ENA) NIC ENA is a networking interface designed to make good use of modern CPU features and system architectures. The ENA device exposes a lightweight management interface with a minimal set of memory mapped registers and extendable command set through an Admin Queue. The driver supports a range of ENA devices, is link-speed independent (i.e., the same driver is used for 10GbE, 25GbE, 40GbE, etc.), and has a negotiated and extendable feature set. Some ENA devices support SR-IOV. This driver is used for both the SR-IOV Physical Function (PF) and Virtual Function (VF) devices. ENA devices enable high speed and low overhead network traffic processing by providing multiple Tx/Rx queue pairs (the maximum number is advertised by the device via the Admin Queue), a dedicated MSI-X interrupt vector per Tx/Rx queue pair, and CPU cacheline optimized data placement. The ENA driver supports industry standard TCP/IP offload features such as checksum offload and TCP transmit segmentation offload (TSO). Receive-side scaling (RSS) is supported for multi-core scaling. The ENA driver and its corresponding devices implement health monitoring mechanisms such as watchdog, enabling the device and driver to recover in a manner transparent to the application, as well as debug logs. Some of the ENA devices support a working mode called Low-latency Queue (LLQ), which saves several more microseconds. This feature will be implemented for driver in future releases. Submitted by: Michal Krawczyk <mk@semihalf.com> Jakub Palider <jpa@semihalf.com> Jan Medala <jan@semihalf.com> Obtained from: Semihalf Sponsored by: Amazon.com Inc. Differential revision: https://reviews.freebsd.org/D10427 |
#
5033c43b |
|
17-May-2017 |
John Baldwin <jhb@FreeBSD.org> |
Add a driver for the Chelsio T6 crypto accelerator engine. The ccr(4) driver supports use of the crypto accelerator engine on Chelsio T6 NICs in "lookaside" mode via the opencrypto framework. Currently, the driver supports AES-CBC, AES-CTR, AES-GCM, and AES-XTS cipher algorithms as well as the SHA1-HMAC, SHA2-256-HMAC, SHA2-384-HMAC, and SHA2-512-HMAC authentication algorithms. The driver also supports chaining one of AES-CBC, AES-CTR, or AES-XTS with an authentication algorithm for encrypt-then-authenticate operations. Note that this driver is still under active development and testing and may not yet be ready for production use. It does pass the tests in tests/sys/opencrypto with the exception that the AES-GCM implementation in the driver does not yet support requests with a zero byte payload. To use this driver currently, the "uwire" configuration must be used along with explicitly enabling support for lookaside crypto capabilities in the cxgbe(4) driver. These can be done by setting the following tunables before loading the cxgbe(4) driver: hw.cxgbe.config_file=uwire hw.cxgbe.cryptocaps_allowed=-1 MFC after: 1 month Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D10763 |
#
f48f6960 |
|
12-May-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] Factor out firmware station handling into if_iwm_sta.c. * This adds iwm_mvm_rm_sta(), which will be used to tear down firmware state for better/cleaner iwm_newstate() handling. * Makes iwm_enable_txq() and iwm_mvm_flush_tx_path() non-static, add the declarations to if_iwm_util.h for now. Obtained from: dragonflybsd.git 85d1c6190c4c3564b1a347f253e823aa95c202b2 |
#
554e6778 |
|
09-May-2017 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/vmbus: Reorganize vmbus device tree For GEN1 Hyper-V, vmbus is attached to pcib0, which contains the resources for PCI passthrough and SR-IOV. There is no acpi_syscontainer0 on GEN1 Hyper-V. For GEN2 Hyper-V, vmbus is attached to acpi_syscontainer0, which contains the resources for PCI passthrough and SR-IOV. There is no pcib0 on GEN2 Hyper-V. The ACPI VMBUS device now only holds its _CRS, which is empty as of this commit; its existence is mainly for upward compatibility. Device tree structure is suggested by jhb@. Tested-by: dexuan@ Collabrated-wth: dexuan@ MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D10565 |
#
2204b427 |
|
02-May-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Support routines for Tx traffic scheduling. - Create a new file, t4_sched.c, and move all of the code related to traffic management from t4_main.c and t4_sge.c to this file. - Track both Channel Rate Limiter (ch_rl) and Class Rate Limiter (cl_rl) parameters in the PF driver. - Initialize all the cl_rl limiters with somewhat arbitrary default rates and provide routines to update them on the fly. - Provide routines to reserve and release traffic classes. MFC after: 1 month Sponsored by: Chelsio Communications |
#
32455e89 |
|
27-Apr-2017 |
John Baldwin <jhb@FreeBSD.org> |
Revert r317446 and bring back cy(4). Requested by: bde |
#
a63222db |
|
26-Apr-2017 |
John Baldwin <jhb@FreeBSD.org> |
Remove the cy(4) driver for Cyclades serial adapters. This driver has been disconnected from the build since the new tty layer was introduced in 8.0 and was never updated for new tty. |
#
a7dc3128 |
|
24-Apr-2017 |
Brooks Davis <brooks@FreeBSD.org> |
Remove the NATM framework including the en(4), fatm(4), hatm(4), and patm(4) devices. Maintaining an address family and framework has real costs when we make infrastructure improvements. In the case of NATM we support no devices manufactured in the last 20 years and some will not even work in modern motherboards (some newer devices that patm(4) could be updated to support apparently exist, but we do not currently have support). With this change, support remains for some netgraph modules that don't require NATM support code. It is unclear if all these should remain, though ng_atmllc certainly stands alone. Note well: FreeBSD 11 supports NATM and will continue to do so until at least September 30, 2021. Improvements to the code in FreeBSD 11 are certainly welcome. Reviewed by: philip Approved by: harti |
#
150890b0 |
|
16-Apr-2017 |
Mark Murray <markm@FreeBSD.org> |
Replace the RC4 algorithm for generating in-kernel secure random numbers with Chacha20. Keep the API, though, as that is what the other *BSD's have done. Use the boot-time entropy stash (if present) to bootstrap the in-kernel entropy source. Reviewed by: delphij,rwatson Approved by: so(delphij) MFC after: 2 months Relnotes: yes Differential Revision: https://reviews.freebsd.org/D10048 |
#
d196586a |
|
15-Apr-2017 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
3BSD-licensed implementation of the chacha20 stream cipher, intended for use by the upcoming arc4random replacement. |
#
709557d9 |
|
03-Apr-2017 |
Robert Watson <rwatson@FreeBSD.org> |
Break audit_bsm_klib.c into two files: one (audit_bsm_klib.c) retaining various utility functions used during BSM generation, and a second (audit_bsm_db.c) that contains the various in-kernel databases supporting various audit activities (the class and event-name tables). (No functional change is intended.) Obtained from: TrustedBSD Project MFC after: 3 weeks Sponsored by: DARPA, AFRL |
#
aac74aea |
|
02-Apr-2017 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add ipfw_pmod kernel module. The module is designed for modification of a packets of any protocols. For now it implements only TCP MSS modification. It adds the external action handler for "tcp-setmss" action. A rule with tcp-setmss action does additional check for protocol and TCP flags. If SYN flag is present, it parses TCP options and modifies MSS option if its value is greater than configured value in the rule. Then it adjustes TCP checksum if needed. After handling the search continues with the next rule. Obtained from: Yandex LLC MFC after: 2 weeks Relnotes: yes Sponsored by: Yandex LLC No objection from: #network Differential Revision: https://reviews.freebsd.org/D10150 |
#
ac506a8f |
|
31-Mar-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: Initial support for Extended Attributes. Currently read-only. Submitted by: Fedor Uporov MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D10151 |
#
653e7d63 |
|
29-Mar-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Split iscsi(4) ctl frontend off of ctl(4) as cfiscsi(4) The goal of this work is to remove the explicit dependency for ctl(4) on iscsi(4), so end-users without iscsi(4) support in the kernel can use ctl(4) for its other functions. This allows those without iscsi(4) support built into the kernel to use ctl(4) as a test mechanism. As a sidenote, this was possible around the 10.0-RELEASE period, but made impossible for end-users without iscsi(4) between 10.0-RELEASE and 11.0-RELEASE. Automatically load cfiscsi(4) from ctladm(8) and ctld(8) for backwards compatibility with previously releases. The automatic loading feature is compiled into the beforementioned tools if MK_ISCSI == yes when building world. Add a manpage for cfiscsi(4) and refer to it in ctl(4). Differential Revision: D10099 MFC after: 2 months Relnotes: yes Reviewed by: mav, trasz Sponsored by: Dell EMC Isilon |
#
1811d6bf |
|
29-Mar-2017 |
Robert Watson <rwatson@FreeBSD.org> |
Add an experimental DTrace audit provider, which allows users of DTrace to instrument security event auditing rather than relying on conventional BSM trail files or audit pipes: - Add a set of per-event 'commit' probes, which provide access to particular auditable events at the time of commit in system-call return. These probes gain access to audit data via the in-kernel audit_record data structure, providing convenient access to system-call arguments and return values in a single probe. - Add a set of per-event 'bsm' probes, which provide access to particular auditable events at the time of BSM record generation in the audit worker thread. These probes have access to the in-kernel audit_record data structure and BSM representation as would be written to a trail file or audit pipe -- i.e., asynchronously in the audit worker thread. DTrace probe arguments consist of the name of the audit event (to support future mechanisms of instrumenting multiple events via a single probe -- e.g., using classes), a pointer to the in-kernel audit record, and an optional pointer to the BSM data and its length. For human convenience, upper-case audit event names (AUE_...) are converted to lower case in DTrace. DTrace scripts can now cause additional audit-based data to be collected on system calls, and inspect internal and BSM representations of the data. They do not affect data captured in the audit trail or audit pipes configured in the system. auditd(8) must be configured and running in order to provide a database of event information, as well as other audit configuration parameters (e.g., to capture command-line arguments or environmental variables) for the provider to operate. Reviewed by: gnn, jonathan, markj Sponsored by: DARPA, AFRL MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D10149 |
#
cb99e844 |
|
27-Mar-2017 |
Michael Zhilin <mizhka@FreeBSD.org> |
[etherswitch] simplify kernconf for recently added etherswitch drivers This simple patch adds e6060sw, adm6996fc and ksz8995ma into conf/files. Submitted by: Hiroki Mori <yamori813@yahoo.co.jp> Reviewed by: adrian, mizhka MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D9255 |
#
72dec079 |
|
16-Mar-2017 |
Marius Strobl <marius@FreeBSD.org> |
- Add support for eMMC "partitions". Besides the user data area, i. e. the default partition, eMMC v4.41 and later devices can additionally provide up to: 1 enhanced user data area partition 2 boot partitions 1 RPMB (Replay Protected Memory Block) partition 4 general purpose partitions (optionally with a enhanced or extended attribute) Of these "partitions", only the enhanced user data area one actually slices the user data area partition and, thus, gets handled with the help of geom_flashmap(4). The other types of partitions have address space independent from the default partition and need to be switched to via CMD6 (SWITCH), i. e. constitute a set of additional "disks". The second kind of these "partitions" doesn't fit that well into the design of mmc(4) and mmcsd(4). I've decided to let mmcsd(4) hook all of these "partitions" up as disk(9)'s (except for the RPMB partition as it didn't seem to make much sense to be able to put a file-system there and may require authentication; therefore, RPMB partitions are solely accessible via the newly added IOCTL interface currently; see also below). This approach for one resulted in cleaner code. Second, it retains the notion of mmcsd(4) children corresponding to a single physical device each. With the addition of some layering violations, it also would have been possible for mmc(4) to add separate mmcsd(4) instances with one disk each for all of these "partitions", however. Still, both mmc(4) and mmcsd(4) share some common code now e. g. for issuing CMD6, which has been factored out into mmc_subr.c. Besides simply subdividing eMMC devices, some Intel NUCs having UEFI code in the boot partitions etc., another use case for the partition support is the activation of pseudo-SLC mode, which manufacturers of eMMC chips typically associate with the enhanced user data area and/ or the enhanced attribute of general purpose partitions. CAVEAT EMPTOR: Partitioning eMMC devices is a one-time operation. - Now that properly issuing CMD6 is crucial (so data isn't written to the wrong partition for example), make a step into the direction of correctly handling the timeout for these commands in the MMC layer. Also, do a SEND_STATUS when CMD6 is invoked with an R1B response as recommended by relevant specifications. However, quite some work is left to be done in this regard; all other R1B-type commands done by the MMC layer also should be followed by a SEND_STATUS (CMD13), the erase timeout calculations/handling as documented in specifications are entirely ignored so far, the MMC layer doesn't provide timeouts applicable up to the bridge drivers and at least sdhci(4) currently is hardcoding 1 s as timeout for all command types unconditionally. Let alone already available return codes often not being checked in the MMC layer ... - Add an IOCTL interface to mmcsd(4); this is sufficiently compatible with Linux so that the GNU mmc-utils can be ported to and used with FreeBSD (note that due to the remaining deficiencies outlined above SANITIZE operations issued by/with `mmc` currently most likely will fail). These latter will be added to ports as sysutils/mmc-utils in a bit. Among others, the `mmc` tool of the GNU mmc-utils allows for partitioning eMMC devices (tested working). - For devices following the eMMC specification v4.41 or later, year 0 is 2013 rather than 1997; so correct this for assembling the device ID string properly. - Let mmcsd.ko depend on mmc.ko. Additionally, bump MMC_VERSION as at least for some of the above a matching pair is required. - In the ACPI front-end of sdhci(4) describe the Intel eMMC and SDXC controllers as such in order to match the PCI one. Additionally, in the entry for the 80860F14 SDXC controller remove the eMMC-only SDHCI_QUIRK_INTEL_POWER_UP_RESET. OKed by: imp Submitted by: ian (mmc_switch_status() implementation) |
#
aa6b3456 |
|
11-Mar-2017 |
Emmanuel Vadot <manu@FreeBSD.org> |
Remove i915drm and radeondrm from NOTES and conf. This unbreak LINT kernel. Reported by: lwhsu |
#
9760ac0a |
|
09-Mar-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement support for mutexes with deadlock avoidance in the LinuxKPI. When locking a mutex and deadlock is detected the first mutex lock call that sees the deadlock will return -EDEADLK . MFC after: 1 week Sponsored by: Mellanox Technologies |
#
14c5024d |
|
08-Mar-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Cleanup the LinuxKPI slab implementation. Put large functions into linux_slab.c instead of declaring them static inline. Add support for more memory allocation wrappers like kmalloc_array() and __vmalloc(). Make sure either the M_WAITOK or the M_NOWAIT flag is set and mask away unused memory allocation flags before calling FreeBSD's malloc() routine. Move kmalloc_node() definition to slab.h where it belongs. Implement support for the SLAB_DESTROY_BY_RCU feature when creating a kmem_cache which basically means kmem_cache memory is freed using call_rcu(). MFC after: 1 week Sponsored by: Mellanox Technologies |
#
ca2ad6bd |
|
06-Mar-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
LinuxKPI workqueue cleanup. This change makes the workqueue implementation behave more like in Linux, both functionality wise and structure wise. All workqueue code has been moved to linux_work.c Add an atomic based statemachine to the work_struct to ensure proper operation. Prior to this change struct_work was directly mapped to a FreeBSD task. When a taskqueue has multiple threads the same task may end up being executed on more than one worker thread simultaneously. This might cause problems with code coming from Linux, which expects serial behaviour, similar to Linux tasklets. Move all global workqueue function names into the linux_xxx domain to avoid symbol name clashes in the future. Implement a few more workqueue related functions and macros. Create two multithreaded taskqueues for the LinuxKPI during module load, one for time-consuming callbacks and one for non-time consuming callbacks. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
99b14d9f |
|
04-Mar-2017 |
Eric Badger <badger@FreeBSD.org> |
remove procfs ctl interface This interface has no in-tree consumers and has been more or less non-functional for several releases. Remove manpage note that the procfs special file 'mem' is grouped to kmem. This hasn't been true since r81107. Remove procfs' README file. It is an out of date duplication of the manpage (quoth the README: "since the bsd kernel is single-processor..."). Reviewed by: vangyzen, bcr (manpage) Approved by: des (procfs maintainer), vangyzen (mentor) Differential Revision: https://reviews.freebsd.org/D9802 |
#
efe3b0de |
|
27-Feb-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove SVR4 (System V Release 4) binary compatibility support. UNIX System V Release 4 is operating system released in 1988. It ceased to exist in early 2000-s. |
#
7fa27112 |
|
24-Feb-2017 |
Andriy Gapon <avg@FreeBSD.org> |
zfs: clean up unused files and definitions MFC after: 1 month X-MFC after: r314048 |
#
ad35d471 |
|
24-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] Add support for Firmware paging, needed for newer 8000C firmware. * Uses the IWM_FW_PAGING_BLOCK_CMD firmware command to tell the firmware what memory ranges to use for paging. Obtained from: dragonflybsd.git 8a5b199964f8e7bdb00039f0b48817a01b402f18 |
#
1cdefd08 |
|
22-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Optimise unmapped LinuxKPI page allocations. When allocating unmapped pages, take advantage of the direct map on AMD64 to get the virtual address corresponding to a page. Else all pages allocated must be mapped because sometimes the virtual address of a page is requested. Move all page allocation and deallocation code into an own C-file. Add support for GFP_DMA32, GFP_KERNEL, GFP_ATOMIC and __GFP_ZERO allocation flags. Make a clear separation between mapped and unmapped allocations. Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies |
#
d4dd31fd |
|
21-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
add 7265D firmware. |
#
6c2c3bd8 |
|
21-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] Move struct iwm_cfg chipset configs to if_iwm_7000.c and _8000.c * This is more similar to how code/definitions are distributed in Linux's iwlwifi. * This should make recognizing new chipset variants, and adding additional flags from the Linux iwlwifi code easier, without blowing up if_iwm.c Obtained from: dragonflybsd.git 27d11320e707d2c41424efc1983762f6799941d6 |
#
1a01b4e5 |
|
21-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Replace dummy implementation of RCU in the LinuxKPI with one based on the in-kernel concurrency kit's ck_epoch API. Factor RCU hlist_xxx() functions into own rculist.h header file. Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies |
#
ef23481a |
|
21-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for LinuxKPI tasklets. Tasklets are implemented using a taskqueue and a small statemachine on top. The additional statemachine is required to ensure all LinuxKPI tasklets get serialized. FreeBSD taskqueues do not guarantee serialisation of its tasks, except when there is only one worker thread configured. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
1e3db1de |
|
20-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Make the LinuxKPI task struct persistent accross system calls. A set of helper functions have been added to manage the life of the LinuxKPI task struct. When an external system call or task is invoked, a check is made to create the task struct by demand. A thread destructor callback is registered to free the task struct when a thread exits to avoid memory leaks. This change lays the ground for emulating the Linux kernel more closely which is a dependency by the code using the LinuxKPI APIs. Add new dedicated td_lkpi_task field has been added to struct thread instead of abusing td_retval[1]. Fix some header file inclusions to make LINT kernel build properly after this change. Bump the __FreeBSD_version to force a rebuild of all kernel modules. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
cc5bbcb2 |
|
19-Feb-2017 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add USB Mass Storage CTL frontend. This makes it possible for USB OTG-capable hardware to implement device side of USB Mass Storage, ie pretend it's a flash drive. It's configured in the same way as other CTL frontends, using ctladm(8) or ctld(8). Differently from usfs(4), all the configuration can be done without rebuilding the kernel. Testing and review is welcome. Right now I'm still moving, and I don't have access to my test environment, so I'm somewhat reluctant to making larger changes to this code; on the other hand I don't want to let it sit on Phab until my testing setup is back, because I want to get it into 11.1-RELEASE. Reviewed by: emaste (cursory), wblock (man page) MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8787 |
#
86d99b68 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA bus support for add-in cards. Remove related kernel and compile options. Remove doxygen pointers to now deleted files. Remove EISA and VME as examples in bus_space.9. Retained EISA mode code for IO PIC and MPTABLES because that's not EISA bus, per se, and some people have abused EISA to mean "EISA-like behavior as opposed to ISA" rather than using it for EISA add-in cards. Relnotes: yes |
#
7a3a7496 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove PCI/EISA bridge support. But keep knowing that a chip is this kind of bridge since we know for other types of unsupported bridges as well. |
#
792c0097 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA support from Buslogic (bt) cards. Remove known models form man page. Tweak comments to not refer to EISA scenarios now that it is no longer supported. Remove unused enum. |
#
a4e4cebf |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA support from ahc driver. The AIC-7770 chip can be on ISA, VesaLocalBus or EISA. Internally, EISA and ISA are handled the same, with VL being handled slightly differently. To avoid too much code churn, retain the EISA name, despite it being used only for ISA bus. When it is on the ISA bus, weird gymnastics are required with EISA-space address accesses as well. Remove known models from the ahc man page. Remove ahc_eisa module. |
#
bcb3c3b5 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA support from dpt. Remove known EISA models from dpt.4. Remove EISA-only bits from dpt_scsi.c. |
#
f08a6f59 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA attachment (fea) from pdq driver. Remove vestiges of TurboChannel and Q-Bus support while I'm here. Remove obsolete diagnostics from man page. |
#
3fb3ab7f |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA support from adv driver. Remove references to it from man page. Remove comment about EISA dual channel card. Remove trivial references in advlib to avoid false positives with grep. Remove stray MCA reference not worth a seperate commit. |
#
68872de6 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove support for EISA in the ida driver. Remove references to EISA-only registers. Remove known EISA cards from man page. |
#
f2e8ba3f |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA support for ep driver. Left in place EISA strings that are still relevant (ISA cards can still be in EISA mode, and we're still ignoring those in the identify routine). Notes about cards in EISA mode have been left in the manual since they aren't relevant to EISA support, but instruct how to properly configure an ISA card in a mode when it is in a ISA bus slot. |
#
222dc691 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove references to EISA support from the vx driver, along with EISA support. Fix a comment block that's shared with both vx and ep. Remove obsolete refernce to statically compiling a kernel with a fixed number of vx devices. Have not removed EISA from the title of the document the register definitions were originally derived from (though no doubt more recent docments were also consulted). |
#
d4bfe939 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove the ahb driver for the EISA Adaptec 174x. |
#
5625fe92 |
|
15-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove Micro Channel Architecture support. Of the commonly available machines, only a few 486 machines that used it, and those haven't had enough memory to run FreeBSD for quite some time (often limited to 16MB). Not to be confused with the Machine Check Architecture, which is still very much alive and used (and untouched by this commit). No Objection From: arch@ |
#
8f3bba2d |
|
13-Feb-2017 |
Landon J. Fuller <landonf@FreeBSD.org> |
[mips/broadcom] Move MIPS-specific bhnd(4) nexus drivers to sys/mips/broadcom, and add MIPS/BCM4706-specific workaround to bhnd_nexus_is_hw_disabled() -- the BCM4706 low-cost package leaves secondary GMAC cores floating. Reviewed by: mizhka Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D9499 |
#
76d26032 |
|
10-Feb-2017 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Allow Dtrace to be compiled into the kernel again after r313177. MFC after: 1 week |
#
ab6c171a |
|
08-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] back this out to version 16 for now. Since I'm manually playing the dragonflybsd iwm/iwmfw commits forward, I'm .. well, this. This right here. |
#
36b9ae3a |
|
08-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] add version 17 firmware. |
#
33e3a188 |
|
06-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] fix path. |
#
db6a9c12 |
|
06-Feb-2017 |
Andrew Turner <andrew@FreeBSD.org> |
Only build the ACPI PCI drivers on x86, they are unlikely to be used on arm64 without dignificant changes. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation |
#
fcf59617 |
|
06-Feb-2017 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Merge projects/ipsec into head/. Small summary ------------- o Almost all IPsec releated code was moved into sys/netipsec. o New kernel modules added: ipsec.ko and tcpmd5.ko. New kernel option IPSEC_SUPPORT added. It enables support for loading and unloading of ipsec.ko and tcpmd5.ko kernel modules. o IPSEC_NAT_T option was removed. Now NAT-T support is enabled by default. The UDP_ENCAP_ESPINUDP_NON_IKE encapsulation type support was removed. Added TCP/UDP checksum handling for inbound packets that were decapsulated by transport mode SAs. setkey(8) modified to show run-time NAT-T configuration of SA. o New network pseudo interface if_ipsec(4) added. For now it is build as part of ipsec.ko module (or with IPSEC kernel). It implements IPsec virtual tunnels to create route-based VPNs. o The network stack now invokes IPsec functions using special methods. The only one header file <netipsec/ipsec_support.h> should be included to declare all the needed things to work with IPsec. o All IPsec protocols handlers (ESP/AH/IPCOMP protosw) were removed. Now these protocols are handled directly via IPsec methods. o TCP_SIGNATURE support was reworked to be more close to RFC. o PF_KEY SADB was reworked: - now all security associations stored in the single SPI namespace, and all SAs MUST have unique SPI. - several hash tables added to speed up lookups in SADB. - SADB now uses rmlock to protect access, and concurrent threads can do SA lookups in the same time. - many PF_KEY message handlers were reworked to reflect changes in SADB. - SADB_UPDATE message was extended to support new PF_KEY headers: SADB_X_EXT_NEW_ADDRESS_SRC and SADB_X_EXT_NEW_ADDRESS_DST. They can be used by IKE daemon to change SA addresses. o ipsecrequest and secpolicy structures were cardinally changed to avoid locking protection for ipsecrequest. Now we support only limited number (4) of bundled SAs, but they are supported for both INET and INET6. o INPCB security policy cache was introduced. Each PCB now caches used security policies to avoid SP lookup for each packet. o For inbound security policies added the mode, when the kernel does check for full history of applied IPsec transforms. o References counting rules for security policies and security associations were changed. The proper SA locking added into xform code. o xform code was also changed. Now it is possible to unregister xforms. tdb_xxx structures were changed and renamed to reflect changes in SADB/SPDB, and changed rules for locking and refcounting. Reviewed by: gnn, wblock Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D9352 |
#
6e39c650 |
|
05-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] Add implementation of the notification wait api from iwlwifi. Obtained from: Linux iwlwifi Obtained from: DragonflyBSD commit 94dc1dadceb57b688036211262d678bc6bbdde37 |
#
5832bcdc |
|
28-Jan-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Remove non-existent ct(4) dependency for scsi_low.c ct(4) was removed with pc98 in r312910 |
#
2b375b4e |
|
27-Jan-2017 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
Remove pc98 support completely. I thank all developers and contributors for pc98. Relnotes: yes |
#
66d53750 |
|
27-Jan-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for reading advanced diagnostic counters. By default reading the diagnostic counters is disabled. The firmware decides which counters are supported and only those supported show up in the dev.mce.X.diagnostics sysctl tree. To enable reading of diagnostic counters set one or more of the following sysctls to one: dev.mce.X.conf.diag_general_enable=1 dev.mce.X.conf.diag_pci_enable=1 MFC after: 1 week Sponsored by: Mellanox Technologies |
#
60b9567d |
|
23-Jan-2017 |
Kevin Lo <kevlo@FreeBSD.org> |
Add support for the Realtek RTL8192EU chipset. Committed over the D-Link DWA-131 rev E1 on amd64 with WPA. Reviewed by: avos |
#
5a88d9fd |
|
16-Jan-2017 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
Add sys/dev/rtwn/rtl8821a/usb/r21au_dfs.c into sys/conf/files Reported by: adrian |
#
662e30fc |
|
16-Jan-2017 |
Michael Zhilin <mizhka@FreeBSD.org> |
[gpioths] new driver for temperature/humidity sensor DHT11 This patch adds driver for temperature/humidity sensor connected via GPIO. To compile it into kernel add "device gpioths". To activate driver, use hints (.at and .pins) for gpiobus. As result it will provide temperature & humidity values via sysctl. DHT11 is cheap & popular temperature/humidity sensor used via GPIO on ARM or MIPS devices like Raspberry Pi or Onion Omega. Reviewed by: adrian Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D9185 |
#
245c5ebb |
|
12-Jan-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Purge surprise change to sys/conf/files for ixgbe(4). Reported by: imp |
#
062a4b8c |
|
12-Jan-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Deprecate kernel configuration option EM_MULTIQUEUE now that the em(4) driver conforms to iflib. |
#
e5d519fd |
|
10-Jan-2017 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
[sdhci] Add ACPI platform support for SDHCI driver - Create ACPI version of SDHCI attach/detach/accessors logic. Some platforms (e.g. BayTrail-based Minnowboard) expose SDHCI devices via ACPI, not PCI - Add sdchi_acpi kernel module Reviewed by: ian, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D9112 |
#
f2d6ace4 |
|
09-Jan-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Migrate e1000 to the IFLIB framework: - em(4) igb(4) and lem(4) - deprecate the igb device from kernel configurations - create a symbolic link in /boot/kernel from if_em.ko to if_igb.ko Devices tested: - 82574L - I218-LM - 82546GB - 82579LM - I350 - I217 Please report problems to freebsd-net@freebsd.org Partial review from jhb and suggestions on how to *not* brick folks who originally would have lost their igbX device. Submitted by: mmacy@nextbsd.org MFC after: 2 weeks Relnotes: yes Sponsored by: Limelight Networks and Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D8299 |
#
46aa7533 |
|
09-Jan-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
White space cleanup from an cut-n-paste. Submitted by: mmacy@nextbsd.org |
#
78906a72 |
|
08-Jan-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add new helper routines for sdhci bridge drivers that use gpio pins for card presence and write protect switch detection. A bridge driver just needs to call the setup routine in its attach(), the teardown in its detach(), and write a couple tiny glue functions to connect the sdhci interface functions to the new helper functions. This is not extensively documented, but multiple examples will exist real soon. |
#
b092fd69 |
|
07-Jan-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[net80211] include the prototype VHT code into the build. Note: it isn't called anywhere yet! |
#
28482948 |
|
05-Jan-2017 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20161222.
|
#
b3d8a775 |
|
05-Jan-2017 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Include e6000sw driver in ARMADA38X configuration e6000sw Marvell switch driver was added to files and Armada38x kernel configuration file. Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D8178 |
#
c88fa719 |
|
03-Jan-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4, T5 and T6 firmwares to 1.16.26.0. Changelog for all public firmwares for all chips since the last release (1.15.37.0) follows (it's a straight copy-paste from the Release Notes for the 12/30/2016 Unified Wire release on Chelsio's website). T6 Firmware ++++++++++++ Version : 1.16.26.0 Date : 12/28/2016 Fixes ----- BASE: - Max number of egress and control queues adjusted to accomodate co-processor mode queues. - Fixed intermittent DDR3/4 ECC errors. - Fixed a traffic stall when ETS BW is configured as 0%. - Max number of ethctrl queue in VF set to 1. ETH: - Added a new config file option 'speed' under port section to set the port speed. Use only when auto negotiation is off. - FEC option removed from firmware config file. cxgbtool can be used to change the fec setting. - CPL_TX_TNL_LSO cpl handling added in ETH_TX_PKT_VM handler. This fixes large tunnel tcp packet support for VxLAN. Version : 1.16.22.0 Date : 12/05/2016 Fixes ----- BASE: - fw_port_type updated in fw API to match kernel.org definitions. - Saved power by disaling unused MAC lanes. - Configures correct power bin. - Enhanced DDR4 performance. - Enabled interrupts. - Fixed an issue where filter rule for 'unicast hash' is not working. ETH: - Disabled auto negotiation by default because most of 100G switches do not support AN as of today. - Fixed flow control not getting disabled problem. - Fixed an issue where port0 doesn't come up sometimes. - Fixed 10G link not coming up issue. - Fixed an issue with promiscuous mode when dcbx disabled. OFLD: - Fixed a connection stuck issue when abort is received during out of tx pages backpressure. ENHANCEMENTS ------------ BASE: - Added inline TLS mode support. Version : 1.16.12.0 Date : 11/11/2016 ENHANCEMENTS ------------ BASE: - Added T6 support. - Added T6 1G/10G/25G/40G/100G link speeds. - Added T6 co-processor mode crypto support. - Added facility to increase link AN+AEC timeout. OFLD: - Added support for all T5 offload protocols except FCoE. iSCSI: - iscsi completion moderation enabled. ======================================================================= T5 Firmware ++++++++++++ Version : 1.16.26.0 Date : 12/28/2016 FIXES ----- BASE: - Max number of ethctrl queue in VF set to 1. Version : 1.16.22.0 Date : 12/05/2016 FIXES ----- BASE: - Fixed an issue where filter rule for 'unicast hash' is not working. ETH: - Fixed an issue with promiscuous mode when dcbx disabled. ENHANCEMENTS ------------ ETH: - Added 40G-KR support. Version : 1.16.12.0 Date : 11/11/2016 FIXES ----- BASE: - Fixed multiple issues related with VFs FLR processing. - Fixed channel assignment based on number of ports in adapter. - Fixed a crash when VM having PF assigned as passthrough mode is rebooted. - Handled 2nd HELLO command from the same PF without seeing BYE from the same PF and if that is the only PF. - A warning is printed in firmware log if PCI-E cookie generation is enabled in serial initialization file. - Fixed multiple issues related with Filtering. - Enabled DSGL memory write for iscsi and rdma. - Added new FW_PARAMS_CMD[DEV] options to retrieve Serial Configuration and VPD version numbers. - Fixed an issue where LVDS output was not getting enabled using vpd. DCBX: - Fixed DCBX CEE Incorrect class to pririty mapping. - Fixed incorrect interpretation of DCBX IEEE PFC. ETH: - Adjusted the link related delay timings according to the QSFP spec. - Improved 40G link bringup time with few switches. OFLD: - Do not reserve qp/cq if rdma capability is not enabled. - Fixed an issue where approx 1600+ TOE connections were causing a firmware fatal error. FOiSCSI: - Fixed an issue where unloading foiscsi driver causes mailbox timeout. ENHANCEMENTS ------------ BASE: - Added 10G KR/KX support. - Added T540-BT adapter support. - Added 4 new rss key modes for PFs and VFs. OFLD: - Added new WR FW_RI_FR_NSMR_TPTE_WR to improve fast MR write performance in RDMA. Version : 1.16.5.0 Date : 10/26/2016 FIXES ----- BASE: - Fixed multiple issues where FLR from multiple VFs can cause firmware crash. - Fixed channel assignment based on number of ports in adapter. - Fixed the HELLO command master force api to handle the 2nd HELLO correctly without getting BYE from the PF driver. - Added facility to retrieve Serial configuration and VPD version. Two new FW_PARAMS_CMD[DEV] options added to retrieve these values. - Fixed multiple issues where FLR from multiple VFs are not completing. - Added new RSS hash secret key modes. - Fixed an issue where LVDS output was not getting enabled using vpd. DCBX: - Fixed an issue where iscsi tlv is sent incorrectly to host (DCBX CEE). - Fixed an issue where app priority values are not handled correctly in fw (DCBX IEEE). ETH: - Adjusts the link related delay timings according to the QSFP spec. - Changed 2.5G mac speed bit to 25G mac speed bit in fw API. - Improvement in 40G link bringup time with few switches. OFLD: - Do not reserve qp/cq if rdma capability is not enabled. - Fixed an issue where approx 1600+ TOE connections were causing a firmware fatal error. - Fixed DSGL memory write in T5. Now iwarp and iscsi can use DSGL to do memory write. - Fixed multiple issues in hash filter mode where incorrect protocol mask was getting used and affecting hash filter functionality. - New fastpath WR FW_RI_FR_NSMR_TPTE_WR (with fully populated TPTE) is added for small REG_MR operations. FOiSCSI: - Fixed an issue in foiscsi recovery path. - Fixed an issue where foiscsi (in VM in PCIE passthrough mode) didn't come up after VM FLR. ENHANCEMENTS ------------ ETH: - Implemented 1G/10G KR/KX ability. - Implemented T540-BT adapter support. ======================================================================= T4 Firmware +++++++++++ Version : 1.16.12.0 Date : 11/11/2016 FIXES ----- BASE: - Fixed an issue where reading temperature sesors using ldst command causes mailbox timeout. - Added new FW_PARAMS_CMD[DEV] options to retrieve Serial Configuration and VPD version numbers. ETH: - Fixed DCBX CEE Incorrect class to pririty mapping. FOiSCSI: - Fixed an issue where unloading foiscsi driver causes mailbox timeout. MFC after: 3 days Sponsored by: Chelsio Communications |
#
5c5bcb1d |
|
26-Dec-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
[ig4] Add ACPI platform support for ig4 driver Add ACPI part for ig4 driver to make it work on Intel BayTrail SoC where ig4 device is available only through ACPI Reviewed by: avg MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D8742 |
#
02fe53a4 |
|
26-Dec-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Import drm_patform.c, an implementation of non-PCI based attachment for graphics drivers. It will be used in upcoming driver for Nvidia Tegra boards. MFC after: 1 month |
#
85debf7f |
|
20-Dec-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Add xDMA -- the DMA abstraction layer, initial verison. xDMA is a DMA framework designed to abstract the interaction between device drivers and DMA engines. Project wiki: https://wiki.freebsd.org/xdma Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D8807 |
#
c283839d |
|
19-Dec-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): NVRAM serialization support. This adds support for: - Serializing an bhnd_nvram_plist (as exported from bhnd_nvram_store, etc) to an arbitrary NVRAM data format. - Generating a serialized representation of the current NVRAM store's state suitable for writing back to flash, or re-encoding for upload to a FullMAC device. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8762 |
#
19be09f3 |
|
19-Dec-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): NVRAM device path support. Implements bhnd_nvram_store support for parsing and operating over NVRAM device paths, and device path aliases, as well as tracking per-path NVRAM variable writes. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8760 |
#
f76db8de |
|
19-Dec-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): add support for wrapping arbitrary pointers in an NVRAM I/O context. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8759 |
#
9be0790d |
|
19-Dec-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): support direct conversion of bhnd_nvram_val This adds support for bhnd_nvram_val_convert_init() and bhnd_nvram_val_convert_new(), which may be used to perform value format-aware encoding of an NVRAM value to a new target format/type. This will be used to simplify converting to/from serialized format-specific NVRAM value representations to common external representations. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8757 |
#
eb686149 |
|
19-Dec-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): Implement a new bhnd_nvram_plist and bhnd_nvram_prop API for representing arbitrary Broadcom NVRAM key/value pairs. This will be used to track pending changes in bhnd_nvram_store, and provide support for exporting all or a device subpath for NVRAM (as required by some fullmac wifi chipsets). Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8756 |
#
5a1842a2 |
|
12-Dec-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add ip6_tryforward() - a run to completion forwarding implementation for IPv6. It gets performance benefits from reduced number of checks. It doesn't copy mbuf to be able send ICMPv6 error message, because it keeps mbuf unchanged until the moment, when the route decision has been made. It doesn't do IPsec checks, and when some IPsec security policies present, ip6_input() uses normal slow path. Reviewed by: bz, gnn Obtained from: Yandex LLC MFC after: 1 month Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D8527 |
#
480f31c2 |
|
10-Dec-2016 |
Konrad Witaszczyk <def@FreeBSD.org> |
Add support for encrypted kernel crash dumps. Changes include modifications in kernel crash dump routines, dumpon(8) and savecore(8). A new tool called decryptcore(8) was added. A new DIOCSKERNELDUMP I/O control was added to send a kernel crash dump configuration in the diocskerneldump_arg structure to the kernel. The old DIOCSKERNELDUMP I/O control was renamed to DIOCSKERNELDUMP_FREEBSD11 for backward ABI compatibility. dumpon(8) generates an one-time random symmetric key and encrypts it using an RSA public key in capability mode. Currently only AES-256-CBC is supported but EKCD was designed to implement support for other algorithms in the future. The public key is chosen using the -k flag. The dumpon rc(8) script can do this automatically during startup using the dumppubkey rc.conf(5) variable. Once the keys are calculated dumpon sends them to the kernel via DIOCSKERNELDUMP I/O control. When the kernel receives the DIOCSKERNELDUMP I/O control it generates a random IV and sets up the key schedule for the specified algorithm. Each time the kernel tries to write a crash dump to the dump device, the IV is replaced by a SHA-256 hash of the previous value. This is intended to make a possible differential cryptanalysis harder since it is possible to write multiple crash dumps without reboot by repeating the following commands: # sysctl debug.kdb.enter=1 db> call doadump(0) db> continue # savecore A kernel dump key consists of an algorithm identifier, an IV and an encrypted symmetric key. The kernel dump key size is included in a kernel dump header. The size is an unsigned 32-bit integer and it is aligned to a block size. The header structure has 512 bytes to match the block size so it was required to make a panic string 4 bytes shorter to add a new field to the header structure. If the kernel dump key size in the header is nonzero it is assumed that the kernel dump key is placed after the first header on the dump device and the core dump is encrypted. Separate functions were implemented to write the kernel dump header and the kernel dump key as they need to be unencrypted. The dump_write function encrypts data if the kernel was compiled with the EKCD option. Encrypted kernel textdumps are not supported due to the way they are constructed which makes it impossible to use the CBC mode for encryption. It should be also noted that textdumps don't contain sensitive data by design as a user decides what information should be dumped. savecore(8) writes the kernel dump key to a key.# file if its size in the header is nonzero. # is the number of the current core dump. decryptcore(8) decrypts the core dump using a private RSA key and the kernel dump key. This is performed by a child process in capability mode. If the decryption was not successful the parent process removes a partially decrypted core dump. Description on how to encrypt crash dumps was added to the decryptcore(8), dumpon(8), rc.conf(5) and savecore(8) manual pages. EKCD was tested on amd64 using bhyve and i386, mipsel and sparc64 using QEMU. The feature still has to be tested on arm and arm64 as it wasn't possible to run FreeBSD due to the problems with QEMU emulation and lack of hardware. Designed by: def, pjd Reviewed by: cem, oshogbo, pjd Partial review: delphij, emaste, jhb, kib Approved by: pjd (mentor) Differential Revision: https://reviews.freebsd.org/D4712 |
#
3cbaf64f |
|
05-Dec-2016 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares from version 1.16.12.0 to 1.16.22.0. Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications |
#
2daeee1a |
|
30-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Mark the Alpine ethernet driver as FDT only. It calls alpine_serdes_resource_get which is defined in an FDT only file. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation |
#
a10443e8 |
|
29-Nov-2016 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Include firmware for T6 cards in the driver. Update all firmwares to 1.16.12.0. Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications |
#
bba481d7 |
|
28-Nov-2016 |
Olivier Houchard <cognet@FreeBSD.org> |
Hook CK to the kernel build. |
#
77cb4d3e |
|
26-Nov-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding. - Defined an abstract NVRAM I/O API (bhnd_nvram_io), decoupling NVRAM/SPROM parsing from the actual underlying NVRAM data provider (e.g. CFE firmware devices). - Defined an abstract NVRAM data API (bhnd_nvram_data), decoupling higher-level NVRAM operations (indexed lookup, data conversion, etc) from the underlying NVRAM file format parsing/serialization. - Implemented a new high-level bhnd_nvram_store API, providing indexed variable lookup, pending write tracking, etc on top of an arbitrary bhnd_nvram_data instance. - Migrated all bhnd(4) NVRAM device drivers to the common bhnd_nvram_store API. - Implemented a common bhnd_nvram_val API for parsing/encoding NVRAM variable values, including applying format-specific behavior when converting to/from the NVRAM string representations. - Dropped the now unnecessary bhnd_nvram driver, and moved the broadcom/mips-specific CFE NVRAM driver out into sys/mips/broadcom. - Implemented a new nvram_map file format: - Variable definitions are now defined separately from the SPROM layout. This will also allow us to define CIS tuple NVRAM mappings referencing the common NVRAM variable definitions. - Variables can now be defined within arbitrary named groups. - Textual descriptions and help information can be defined inline for both variables and variable groups. - Implemented a new, compact encoding of SPROM image layout offsets. - Source-level (but not build system) support for building the NVRAM file format APIs (bhnd_nvram_io, bhnd_nvram_data, bhnd_nvram_store) as a userspace library. The new compact SPROM image layout encoding is loosely modeled on Apple dyld compressed LINKEDIT symbol binding opcodes; it provides a compact state-machine encoding of the mapping between NVRAM variables and the SPROM image offset, mask, and shift instructions necessary to decode or encode the SPROM variable data. The compact encoding reduces the size of the generated SPROM layout data from roughly 60KB to 3KB. The sequential nature SPROM layout opcode tables also simplify iteration of the SPROM variables, as it's no longer neccessary to iterate the full NVRAM variable definition table, but instead simply scan the SPROM revision's layout opcode table. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8645 |
#
f63f5057 |
|
22-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Only build acpi_timer.c on x86, it fails on arm64 as it attempts to access an invalid address. It is also unneeded on arm64 as we use the ARM Generic Timer driver. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation |
#
e45c936f |
|
21-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Mark virtio_mmio as FDT only, it lacks an ACPI attachment. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation |
#
da8695d4 |
|
21-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Mark uart_dev_snps.c as FDT only, it doesn't have and ACPI bindings. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation |
#
824f05d6 |
|
21-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Mark extres as FDT only. Much of this assumes FDT and fails to build without it. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation |
#
f3b37a1f |
|
17-Nov-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for DM9000 Ethernet MAC Controller. This device found in the Ingenic jz4780 SoC. Submitted by: kan Sponsored by: DARPA, AFRL |
#
099a0e1b |
|
15-Nov-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add a GPIO poweroff and reset driver. Summary: This implements part of the gpio-poweroff and gpio-restart device tree bindings. Optional properties are not handled currently. It also currently only supports level-triggered reset. Reviewed By: gonzo Differential Revision: https://reviews.freebsd.org/D8521 |
#
d933e97f |
|
15-Nov-2016 |
Stephen Hurd <shurd@FreeBSD.org> |
New driver for Broadcom NetXtreme-C and NetXtreme-E devices. This driver uses the iflib framework supporting Broadcom 25/50Gbps devices. Reviewed by: gallatin, wblock Approved by: davidch MFC after: 2 weeks Relnotes: yes Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D7551 |
#
468faf99 |
|
13-Nov-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Allow embeding DRM2 code into kernel. It's usefull for development (for netboot) and it also helps to boot FreeBSD on some embeded platforms (where we must boot kernel directly, without standard boot loader). MFC after: 3 weeks |
#
aabc5ce0 |
|
07-Nov-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Refactor FDT part of gpioled driver - Split driver in two parts: FDT and non-FDT - Instead of reattach gpioled nodes to GPIO bus use gpio_pin_get_by_ofw_idx and add ofwbus and simplebus as parrent buses Reviewed by: loos Differential Revision: https://reviews.freebsd.org/D8233 |
#
78eb3293 |
|
31-Oct-2016 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: add a grant-table user-space device A grant-table user-space device will allow user-space applications to map and share grants (Xen way to share memory) among Xen domains. This grant table user-space device has been tested with the QEMU Qdisk Xen backed. Submitted by: jaggi Reviewed by: royger Differential review: https://reviews.freebsd.org/D7293 |
#
448897d3 |
|
29-Oct-2016 |
Andriy Gapon <avg@FreeBSD.org> |
add iic interface to ig4 driver, move isl and cyapa to iicbus Summary: The hardware does not expose a classic SMBus interface. Instead it has a lower level interface that can express a far richer I2C protocol than what smbus offers. However, the interface does not provide a way to explicitly generate the I2C stop and start conditions. It's only possible to request that the stop condition is generated after transferring the next byte in either direction. So, at least one data byte must always be transferred. Thus, some I2C sequences are impossible to generate, e.g., an equivalent of smbus quick command (<start>-<slave addr>-<r/w bit>-<stop>). At the same time isl(4) and cyapa(4) are moved to iicbus and now they use iicbus_transfer for communication. Previously they used smbus_trans() interface that is not defined by the SMBus protocol and was implemented only by ig4(4). In fact, that interface was impossible to implement for the typical SMBus controllers like intpm(4) or ichsmb(4) where a type of the SMBus command must be programmed. The plan is to remove smbus_trans() and all its uses. As an aside, the smbus_trans() method deviates from the standard, but perhaps backwards, FreeBSD convention of using 8-bit slave addresses (shifted by 1 bit to the left). The method expects 7-bit addresses. There is a user facing consequence of this change. A user must now provide device hints for isl and cyapa that specify an iicbus to use and a slave address on it. On Chromebook hardware where isl and cyapa devices are commonly found it is also possible to use a new chromebook_platform(4) driver that automatically configures isl and cyapa devices. There is no need to provide the device hints in that case, Right now smbus(4) driver tries to discover all slaves on the bus. That is very dangerous. Fortunately, the probing code uses smbus_trans() to do its job, so it is really enabled for ig4 only. The plan is to remove that auto-probing code and smbus_trans(). Tested by: grembo, Matthias Apitz <guru@unixarea.de> (w/o chromebook_platform) Discussed with: grembo, imp Reviewed by: wblock (docs) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D8172 |
#
4afdfe97 |
|
22-Oct-2016 |
Andriy Gapon <avg@FreeBSD.org> |
jedec_ts: a driver for thermal sensors on memory modules The driver currently supports chips that are fully compliant with the JEDEC SPD / EEPROM / TS standard (JEDEC Standard 21-C, TSE2002 Specification, frequenlty referred to as JEDEC JC 42.4). Additionally some chips from STMicroelectronics are supported as well. They are compliant except for their Device ID pattern. Given the continued lack of any common sensor infrastructure, the driver uses an ad-hoc sysctl to report the temperature. Reviewed by: wblock (documentation) MFC after: 2 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D8174 |
#
485fb025 |
|
21-Oct-2016 |
Ed Maste <emaste@FreeBSD.org> |
netmap: if_ptnet depends on inet |
#
7902c8dc |
|
20-Oct-2016 |
Wojciech Macek <wma@FreeBSD.org> |
Driver for PCI Ethernet NIC on Alpine V1 and V2. Obtained from: Semihalf Submitted by: Michal Stanek <mst@semihalf.com> Sponsored by: Annapurna Labs Reviewed by: wma Differential Revision: https://reviews.freebsd.org/D7814 |
#
7453645f |
|
17-Oct-2016 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
rtwn(4), urtwn(4): merge common code, add support for 11ac devices. All devices: - add support for rate adaptation via ieee80211_amrr(9); - use short preamble for transmitted frames when needed; - multi-bss support: * for RTL8821AU: 2 VAPs at the same time; * other: 1 any VAP + 1 sta VAP. RTL8188CE: - fix IQ calibration bug (reason of significant speed degradation); - add h/w crypto acceleration support. USB: - A-MPDU Tx support; - short GI support; Other: - add support for RTL8812AU / RTL8821AU chipsets (a/b/g/n only; no ac yet); - split merged code into subparts: * bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*) * common (if_rtwn*) * chip-specific (rtl*/*) - various other bugfixes. Due to code reorganization, module names / requirements were changed too: urtwn urtwnfw -> rtwn rtwn_usb rtwnfw rtwn rtwnfw -> rtwn rtwn_pci rtwnfw Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU. Tested by: kevlo, garga, Peter Garshtja <peter.garshtja@ambient-md.com>, Kevin McAleavey <kevin.mcaleavey@knosproject.com>, Ilias-Dimitrios Vrachnis <id@vrachnis.com>, <otacilio.neto@bsd.com.br> Relnotes: yes |
#
37e3a6d3 |
|
16-Oct-2016 |
Luigi Rizzo <luigi@FreeBSD.org> |
Import the current version of netmap, aligned with the one on github. This commit, long overdue, contains contributions in the last 2 years from Stefano Garzarella, Giuseppe Lettieri, Vincenzo Maffione, including: + fixes on monitor ports + the 'ptnet' virtual device driver, and ptnetmap backend, for high speed virtual passthrough on VMs (bhyve fixes in an upcoming commit) + improved emulated netmap mode + more robust error handling + removal of stale code + various fixes to code and documentation (some mixup between RX and TX parameters, and private and public variables) We also include an additional tool, nmreplay, which is functionally equivalent to tcpreplay but operating on netmap ports. |
#
72f1cf04 |
|
15-Oct-2016 |
Jared McNeill <jmcneill@FreeBSD.org> |
Add driver for GPIO controlled regulator. Reviewed by: gonzo, manu, mmel Differential Revision: https://reviews.freebsd.org/D8257 |
#
f79d484d |
|
11-Oct-2016 |
Warner Losh <imp@FreeBSD.org> |
Create /dev/efidev to provide an ioctl interface to userland. It supports userland interfaces to UEFI Runtime Services. This is indended to the the MI portion of EFI RuntimeServices support. Differential Revision: https://reviews.freebsd.org/D8128 Reviewed by: kib@, wblock@, Ganael Laplanche |
#
493deb39 |
|
04-Oct-2016 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20160930.
|
#
97549c34 |
|
30-Sep-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Move the ConnectX-3 and ConnectX-2 driver from sys/ofed into sys/dev/mlx4 like other PCI network drivers. The sys/ofed directory is now mainly reserved for generic infiniband code, with exception of the mthca driver. - Add new manual page, mlx4en(4), describing how to configure and load mlx4en. - All relevant driver C-files are now prefixed mlx4, mlx4_en and mlx4_ib respectivly to avoid object filename collisions when compiling the kernel. This also fixes an issue with proper dependency file generation for the C-files in question. - Device mlxen is now device mlx4en and depends on device mlx4, see mlx4en(4). Only the network device name remains unchanged. - The mlx4 and mlx4en modules are now built by default on i386 and amd64 targets. Only building the mlx4ib module depends on WITH_OFED=YES . Sponsored by: Mellanox Technologies |
#
9e579a58 |
|
24-Sep-2016 |
Mark Johnston <markj@FreeBSD.org> |
Move implementations of uread() and uwrite() to the illumos compat layer. MFC after: 1 week |
#
14e1a2cd |
|
20-Sep-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Move ofw_cpu file to the main files conf file. There is nothing CPU specific here, and it's usable by both fdt and Open Firmware based systems. Rather than keeping the same file in every one, just add it to the ofw/fdt block in the main file. |
#
2b3f6d66 |
|
11-Sep-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add evdev protocol implementation evdev is a generic input event interface compatible with Linux evdev API at ioctl level. It allows using unmodified (apart from header name) input evdev drivers in Xorg, Wayland, Qt. This commit has only generic kernel API. evdev support for individual hardware drivers like ukbd, ums, atkbd, etc. will be committed later. Project was started by Jakub Klama as part of GSoC 2014. Jakub's evdev implementation was later used as a base, updated and finished by Vladimir Kondratiev. Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> Reviewed by: adrian, hans Differential Revision: https://reviews.freebsd.org/D6998 |
#
6af45170 |
|
07-Sep-2016 |
John Baldwin <jhb@FreeBSD.org> |
Chelsio T4/T5 VF driver. The cxgbev/cxlv driver supports Virtual Function devices for Chelsio T4 and T4 adapters. The VF devices share most of their code with the existing PF4 driver (cxgbe/cxl) and as such the VF device driver currently depends on the PF4 driver. Similar to the cxgbe/cxl drivers, the VF driver includes a t4vf/t5vf PCI device driver that attaches to the VF device. It then creates child cxgbev/cxlv devices representing ports assigned to the VF. By default, the PF driver assigns a single port to each VF. t4vf_hw.c contains VF-specific routines from the shared code used to fetch VF-specific parameters from the firmware. t4_vf.c contains the VF-specific PCI device driver and includes its own attach routine. VF devices are required to use a different firmware request when transmitting packets (which in turn requires a different CPL message to encapsulate messages). This alternate firmware request does not permit chaining multiple packets in a single message, so each packet results in a firmware request. In addition, the different CPL message requires more detailed information when enabling hardware checksums, so parse_pkt() on VF devices must examine L2 and L3 headers for all packets (not just TSO packets) for VF devices. Finally, L2 checksums on non-UDP/non-TCP packets do not work reliably (the firmware trashes the IPv4 fragment field), so IPv4 checksums for such packets are calculated in software. Most of the other changes in the non-VF-specific code are to expose various variables and functions private to the PF driver so that they can be used by the VF driver. Note that a limited subset of cxgbetool functions are supported on VF devices including register dumps, scheduler classes, and clearing of statistics. In addition, TOE is not supported on VF devices, only for the PF interfaces. Reviewed by: np MFC after: 2 months Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D7599 |
#
b90d9a37 |
|
06-Sep-2016 |
Jared McNeill <jmcneill@FreeBSD.org> |
Add "pci" as a dependency to ichss. Reviewed by: jhibbits |
#
4e8a91fb |
|
04-Sep-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Make some additional -Wconstant-conversion warnings from clang 3.9.0 in bwn(4) non-fatal for now. |
#
664a7497 |
|
03-Sep-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
Implement a generic bhnd(4) device enumeration table API. This defines a new bhnd_erom_if API, providing a common interface to device enumeration on siba(4) and bcma(4) devices, for use both in the bhndb bridge and SoC early boot contexts, and migrates mips/broadcom over to the new API. This also replaces the previous adhoc device enumeration support implemented for mips/broadcom. Migration of bhndb to the new API will be implemented in a follow-up commit. - Defined new bhnd_erom_if interface for bhnd(4) device enumeration, along with bcma(4) and siba(4)-specific implementations. - Fixed a minor bug in bhndb that logged an error when we attempted to map the full siba(4) bus space (18000000-17FFFFFF) in the siba EROM parser. - Reverted use of the resource's start address as the ChipCommon enum_addr in bhnd_read_chipid(). When called from bhndb, this address is found within the host address space, resulting in an invalid bridged enum_addr. - Added support for falling back on standard bus_activate_resource() in bhnd_bus_generic_activate_resource(), enabling allocation of the bhnd_erom's bhnd_resource directly from a nexus-attached bhnd(4) device. - Removed BHND_BUS_GET_CORE_TABLE(); it has been replaced by the erom API. - Added support for statically initializing bhnd_erom instances, for use prior to malloc availability. The statically allocated buffer size is verified both at runtime, and via a compile-time assertion (see BHND_EROM_STATIC_BYTES). - bhnd_erom classes are registered within a module via a linker set, allowing mips/broadcom to probe available EROM parser instances without creating a strong reference to bcma/siba-specific symbols. - Migrated mips/broadcom to bhnd_erom_if, replacing the previous MIPS-specific device enumeration implementation. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D7748 |
#
dbbaf04f |
|
03-Sep-2016 |
Mark Johnston <markj@FreeBSD.org> |
Remove support for idle page zeroing. Idle page zeroing has been disabled by default on all architectures since r170816 and has some bugs that make it seemingly unusable. Specifically, the idle-priority pagezero thread exacerbates contention for the free page lock, and yields the CPU without releasing it in non-preemptive kernels. The pagezero thread also does not behave correctly when superpage reservations are enabled: its target is a function of v_free_count, which includes reserved-but-free pages, but it is only able to zero pages belonging to the physical memory allocator. Reviewed by: alc, imp, kib Differential Revision: https://reviews.freebsd.org/D7714 |
#
2d77e0ca |
|
01-Sep-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the digi(4) drivers. These drivers were never updated for the new TTY changes and have been disconnected from the build since 8.0. Ok'd by: imp, peterj |
#
5ef231f6 |
|
27-Aug-2016 |
Mariusz Zaborski <oshogbo@FreeBSD.org> |
Add cnv API. cnv API is a set of functions for managing name/value pairs by cookie. The cookie can be obtained by nvlist_next(), nvlist_get_parent() or nvlist_get_pararr() function. This patch also includes unit tests. Submitted by: Adam Starak <starak.adam@gmail.com> |
#
f90f4b65 |
|
26-Aug-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): Initial PMU/PWRCTL power and clock management support. - Added bhnd_pmu driver implementations for PMU and PWRCTL chipsets, derived from Broadcom's ISC-licensed HND code. - Added bhnd bus-level support for routing per-core clock and resource power requests to the PMU device. - Lift ChipCommon support out into the bhnd module, dropping bhnd_chipc. Reviewed by: mizhka Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D7492 |
#
240f8c2d |
|
21-Aug-2016 |
Ed Schouten <ed@FreeBSD.org> |
Add CPU independent code for running 32-bits CloudABI executables. Essentially, this is a literal copy of the code in sys/compat/cloudabi64, except that it now makes use of 32-bits datatypes and limits. In sys/conf/files, we now need to take care to build the code in sys/compat/cloudabi if either COMPAT_CLOUDABI32 or COMPAT_CLOUDABI64 is turned on. This change does not yet include any of the CPU dependent bits. Right now I have implementations for running i386 binaries both on i386 and x86-64, which I will send out for review separately. |
#
21768fa9 |
|
19-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the ie(4) driver for Intel 82586 ISA Ethernet adapters. This driver only supports 10Mb Ethernet using PIO (the hardware supports DMA, but the driver only does PIO). There are not any PCCard adapters supported by this driver, only ISA cards. In addition, it does not use bus_space but instead uses bcopy with volatile pointers triggering a host of warnings. (if_ie.c is one of 3 files always built with -Wno-error) Relnotes: yes |
#
09b9789b |
|
19-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the wl(4) driver and wlconfig(8) utility. The wl(4) driver supports pre-802.11 PCCard wireless adapters that are slower than 802.11b. They do not work with any of the 802.11 framework and the driver hasn't been reported to actually work in a long time. Relnotes: yes |
#
64450fdf |
|
19-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the wds(4) driver for the WD700 ISA SCSI HBA. While this driver does do DMA, it bounce buffers all transactions through a single 64k buffer. It also does not have a manpage. Relnotes: yes |
#
c1c97642 |
|
19-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the si(4) driver and sicontrol(8) for Specialix serial cards. The si(4) driver supported multiport serial adapters for ISA, EISA, and PCI buses. This driver does not use bus_space, instead it depends on direct use of the pointer returned by rman_get_virtual(). It is also still locked by Giant and calls for patch testing to convert it to use bus_space were unanswered. Relnotes: yes |
#
88912400 |
|
19-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the scd(4) driver for Sony CDU31/33 CD-ROM drives. This is a driver for a pre-ATAPI ISA CD-ROM adapter. The driver only uses PIO. |
#
1728aef2 |
|
16-Aug-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): Implement NVRAM support required for PMU bring-up. - Added a generic bhnd_nvram_parser API, with support for the TLV format used on WGT634U devices, the standard BCM NVRAM format used on most modern devices, and the "board text file" format used on some hardware to supply external NVRAM data at runtime (e.g. via an EFI variable). - Extended the bhnd_bus_if and bhnd_nvram_if interfaces to support both string-based and primitive data type variable access, required for common behavior across both SPROM and NVRAM data sources. - Extended the existing SPROM implementation to support the new string-based NVRAM APIs. - Added an abstract bhnd_nvram driver, implementing the bhnd_nvram_if atop the bhnd_nvram_parser API. - Added a CFE-based bhnd_nvram driver to provide read-only access to NVRAM data on MIPS SoCs, pending implementation of a flash-aware bhnd_nvram driver. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D7489 |
#
061ae3c5 |
|
15-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the mcd(4) driver for Mitsumi CD-ROM players. This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in the manpage, this driver is only useful as a backend to cdcontrol to play audio CDs since it doesn't use DMA, so its data performance is "abysmal" (and that was true in the mid 90's). |
#
d8caf56e |
|
13-Aug-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add ipfw_nat64 module that implements stateless and stateful NAT64. The module works together with ipfw(4) and implemented as its external action module. Stateless NAT64 registers external action with name nat64stl. This keyword should be used to create NAT64 instance and to address this instance in rules. Stateless NAT64 uses two lookup tables with mapped IPv4->IPv6 and IPv6->IPv4 addresses to perform translation. A configuration of instance should looks like this: 1. Create lookup tables: # ipfw table T46 create type addr valtype ipv6 # ipfw table T64 create type addr valtype ipv4 2. Fill T46 and T64 tables. 3. Add rule to allow neighbor solicitation and advertisement: # ipfw add allow icmp6 from any to any icmp6types 135,136 4. Create NAT64 instance: # ipfw nat64stl NAT create table4 T46 table6 T64 5. Add rules that matches the traffic: # ipfw add nat64stl NAT ip from any to table(T46) # ipfw add nat64stl NAT ip from table(T64) to 64:ff9b::/96 6. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96 via NAT64 host. Stateful NAT64 registers external action with name nat64lsn. The only one option required to create nat64lsn instance - prefix4. It defines the pool of IPv4 addresses used for translation. A configuration of instance should looks like this: 1. Add rule to allow neighbor solicitation and advertisement: # ipfw add allow icmp6 from any to any icmp6types 135,136 2. Create NAT64 instance: # ipfw nat64lsn NAT create prefix4 A.B.C.D/28 3. Add rules that matches the traffic: # ipfw add nat64lsn NAT ip from any to A.B.C.D/28 # ipfw add nat64lsn NAT ip6 from any to 64:ff9b::/96 4. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96 via NAT64 host. Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D6434 |
#
56132dcc |
|
13-Aug-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Move logging via BPF support into separate file. * make interface cloner VNET-aware; * simplify cloner code and use if_clone_simple(); * migrate LOGIF_LOCK() to rmlock; * add ipfw_bpf_mtap2() function to pass mbuf to BPF; * introduce new additional ipfwlog0 pseudo interface. It differs from ipfw0 by DLT type used in bpfattach. This interface is intended to used by ipfw modules to dump packets with additional info attached. Currently pflog format is used. ipfw_bpf_mtap2() function uses second argument to determine which interface use for dumping. If dlen is equal to ETHER_HDR_LEN it uses old ipfw0 interface, if dlen is equal to PFLOG_HDRLEN - ipfwlog0 will be used. Obtained from: Yandex LLC Sponsored by: Yandex LLC |
#
23ac9029 |
|
12-Aug-2016 |
Stephen Hurd <shurd@FreeBSD.org> |
Update iflib to support more NIC designs - Move group task queue into kern/subr_gtaskqueue.c - Change intr_enable to return an int so it can be detected if it's not implemented - Allow different TX/RX queues per set to be different sizes - Don't split up TX mbufs before transmit - Allow a completion queue for TX as well as RX - Pass the RX budget to isc_rxd_available() to allow an earlier return and avoid multiple calls Submitted by: shurd Reviewed by: gallatin Approved by: scottl Differential Revision: https://reviews.freebsd.org/D7393 |
#
13b4b4df |
|
10-Aug-2016 |
Ed Schouten <ed@FreeBSD.org> |
Provide the CloudABI vDSO to its executables. CloudABI executables already provide support for passing in vDSOs. This functionality is used by the emulator for OS X to inject system call handlers. On FreeBSD, we could use it to optimize calls to gettimeofday(), etc. Though I don't have any plans to optimize any system calls right now, let's go ahead and already pass in a vDSO. This will allow us to simplify the executables, as the traditional "syscall" shims can be removed entirely. It also means that we gain more flexibility with regards to adding and removing system calls. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D7438 |
#
0ce1624d |
|
08-Aug-2016 |
Stephen J. Kiernan <stevek@FreeBSD.org> |
Move IPv4-specific jail functions to new file netinet/in_jail.c _prison_check_ip4 renamed to prison_check_ip4_locked Move IPv6-specific jail functions to new file netinet6/in6_jail.c _prison_check_ip6 renamed to prison_check_ip6_locked Add appropriate prototypes to sys/sys/jail.h Adjust kern_jail.c to call prison_check_ip4_locked and prison_check_ip6_locked accordingly. Add netinet/in_jail.c and netinet6/in6_jail.c to the list of files that need to be built when INET and INET6, respectively, are configured in the kernel configuration file. Reviewed by: jtl Approved by: sjg (mentor) Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D6799 |
#
6c995137 |
|
29-Jul-2016 |
Warner Losh <imp@FreeBSD.org> |
Fix typo. |
#
08f13879 |
|
28-Jul-2016 |
Warner Losh <imp@FreeBSD.org> |
Move protocol specific stuff into a linker set object that's per-protocol. This reduces the number scsi symbols references by cam_xpt significantly, and eliminates all ata / nvme symbols. There's still some NVME / ATA specific code for dealing with XPT_NVME_IO and XPT_ATA_IO respectively, and a bunch of scsi-specific code, but this is progress. Differential Revision: https://reviews.freebsd.org/D7289 |
#
92ee0c01 |
|
27-Jul-2016 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Enable the build of micphy as part of generic miibus build, but only for FDT enabled systems. Sponsored by: Rubicon Communications (Netgate) |
#
4ac21b4f |
|
27-Jul-2016 |
Stephen J. Kiernan <stevek@FreeBSD.org> |
Prepare for network stack as a module - Move cr_canseeinpcb to sys/netinet/in_prot.c in order to separate the INET and INET6-specific code from the rest of the prot code (It is only used by the network stack, so it makes sense for it to live with the other network stack code.) - Move cr_canseeinpcb prototype from sys/systm.h to netinet/in_systm.h - Rename cr_seeotheruids to cr_canseeotheruids and cr_seeothergids to cr_canseeothergids, make them non-static, and add prototypes (so they can be seen/called by in_prot.c functions.) - Remove sw_csum variable from ip6_forward in ip6_forward.c, as it is an unused variable. Reviewed by: gnn, jtl Approved by: sjg (mentor) Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D2901 |
#
e4ff4297 |
|
25-Jul-2016 |
Sean Bruno <sbruno@FreeBSD.org> |
Update iwmfw(4) to include support for 8260 series units and update f/w for the other devices supported by this driver. Patch linked in https://reviews.freebsd.org/D6967 but not actually a part of the review. Obtained from DragonflyBSD. Submitted by: Kevin Bowling <kev009@kev009.com> MFC after: 2 weeks Relnotes: yes |
#
3e560c53 |
|
23-Jul-2016 |
Navdeep Parhar <np@FreeBSD.org> |
Fix kernel builds with "device cxgbe". |
#
f91fca5b |
|
22-Jul-2016 |
John Baldwin <jhb@FreeBSD.org> |
Add a driver to create VF devices on Chelsio T4/T5 NICs. Chelsio NICs are a bit unique compared to some other NICs in that they expose different functionality on different physical functions. In particular, PF4 is used to manage the NIC interfaces ('t4nex' and 't5nex'). However, PF4 is not able to create VF devices. Instead, VFs are only supported by physical functions 0 through 3. This commit adds 't4iov' and 't5iov' drivers that attach to PF0-3. One extra wrinkle is that the iov devices cannot enable SR-IOV until the firwmare has been initialized by the main PF4 driver. To handle this case, a new t4_if kobj interface has been added to permit cross-calls between the PF drivers. The PF4 driver notifies sibling drivers when it is fully attached. It also requests sibling drivers to detach before it detaches. Sibling drivers query the PF4 driver during their attach routine to see if it is attached. If not, the sibling drivers defer their attach actions until the PF4 driver informs them it is attached. VF devices are associated with a single port on the NIC. VF devices created from PF0 are associated with the first port on the NIC, VFs from PF1 are associated with the second port, etc. VF devices can only be created from a PF device that has an associated port. Thus, on a 2-port card, VFs are only supported on PF0 and PF1. Reviewed by: np (earlier versions) MFC after: 1 month Sponsored by: Chelsio Communications |
#
d12543e0 |
|
21-Jul-2016 |
Warner Losh <imp@FreeBSD.org> |
Fix cam builds w/o nvme. This is a stop-gap fix until the real fix of dynamically loading XPTs is done and tested. MFC After: 1 week |
#
b867e84e |
|
18-Jul-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add ipfw_nptv6 module that implements Network Prefix Translation for IPv6 as defined in RFC 6296. The module works together with ipfw(4) and implemented as its external action module. When it is loaded, it registers as eaction and can be used in rules. The usage pattern is similar to ipfw_nat(4). All matched by rule traffic goes to the NPT module. Reviewed by: hrs Obtained from: Yandex LLC MFC after: 1 month Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D6420 |
#
f24c011b |
|
10-Jun-2016 |
Warner Losh <imp@FreeBSD.org> |
Commit the bits of nda that were missed. This should fix the build. Approved by: re@ |
#
baabaca3 |
|
09-Jun-2016 |
Warner Losh <imp@FreeBSD.org> |
New NVMe front end (nda). |
#
7ba7852f |
|
04-Jun-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
Switch mips/sentry5 to bhnd(4), and unify with mips/broadcom Now that bhnd(4) provides feature parity with the previous siba/mips implementation, we can switch sentry5 over and begin lifting common support code out for use across bhnd(4) embedded targets. Changes: - Fixed enumeration of siba(4) per-core address maps, required for discovery of memory mapped chipc flash region on siba(4) devices. - Simplified bhnd kernel configuration (dropped 'bhndbus' option). - Replaced files.broadcom's direct file references with their corresponding standard kernel options. - Lifted out common bcma/siba nexus support, inheriting from the new generic bhnd_nexus driver. - Dropped now-unused sentry5 siba code. - Re-integrated BCM into the universe build now that it actually compiles. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D6712 |
#
00d6aaed |
|
01-Jun-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] add if_iwm_led.c into the build. |
#
bcf5fc49 |
|
01-Jun-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[ath] commit initial bluetooth coexistence support for the MCI NICs. This is the initial framework to call into the MCI HAL routines and drive the basic state engine. The MCI bluetooth coex model uses a command channel between wlan and bluetooth, rather than a 2-wire or 3-wire signaling protocol to control things. This means the wlan and bluetooth chip exchange a lot more information and signaling, even at the per-packet level. The NICs in question can share the input LNA and output PA on the die, so they absolutely can't stomp on each other in a silly fashion. It also allows for the bluetooth side to signal when profiles come and go, so the driver can take appropriate control. There's also the possibility of dynamic bluetooth/wlan duty cycle control which I haven't yet really played with. It configures things up with a static "wlan wins everything" coexistence, configures up the available 2GHz channel map for bluetooth, sets a static duty cycle for bluetooth/wifi traffic priority and drives the basics needed to keep the MCI HAL code happy. It doesn't do any actual coexistence except to default to "wlan wins everything", which at least demonstrates that things do indeed work. Bluetooth inquiry frames still trump wifi (including beacons), so that demonstrates things really do indeed seem to work. Tested: * AR9462 (WB222), STA mode + bt * QCA9565 (WB335), STA mode + bt TODO: * .. the rest of coexistence. yes, bluetooth, not people. That stuff's hard. * It doesn't do the initial BT side calibration, which requires a WLAN chip reset. I'll fix up the reset path a bit more first before I enable that. * The 1-ant and 2-ant configuration bits aren't being set correctly in if_ath_btcoex.c - I'll dig into that and fix it in a subsequent commit. * It's not enabled by default for WB222/WB225 even though I believe it now can be - I'll chase that up in a subsequent commit. Obtained from: Qualcomm Atheros, Linux ath9k |
#
0144ad3e |
|
30-May-2016 |
Allan Jude <allanjude@FreeBSD.org> |
Connect the SHA-512t256 and Skein hashing algorithms to ZFS Support for the new hashing algorithms in ZFS was introduced in r289422 However it was disconnected because FreeBSD lacked implementations of SHA-512 (truncated to 256 bits), and Skein. These implementations were introduced in r300921 and r300966 respectively This commit connects them to ZFS and enabled these new checksum algorithms This new algorithms are not supported by the boot blocks, so do not use them on your root dataset if you boot from ZFS. Relnotes: yes Sponsored by: ScaleEngine Inc. |
#
9a812993 |
|
29-May-2016 |
Don Lewis <truckman@FreeBSD.org> |
Now that PIE is free of runtime floating point, revert r300853 to reconnect PIE to the build. |
#
9d2cb821 |
|
27-May-2016 |
Don Lewis <truckman@FreeBSD.org> |
Disconnect PIE from the build until it is free of floating point math. Reported by: lidl, adrian |
#
b38b13d8 |
|
26-May-2016 |
Kevin Lo <kevlo@FreeBSD.org> |
Add rtwn(4) and rtwnfw(4). |
#
128e3872 |
|
26-May-2016 |
Ian Lepore <ian@FreeBSD.org> |
Add a PPS driver that takes the timing pulse from a gpio pin. Currently supports only ofw/fdt systems. Some day, hinted attachment for non-fdt systems should be possible too. |
#
ef94ebfc |
|
26-May-2016 |
Don Lewis <truckman@FreeBSD.org> |
Include the new AQM files when compiling a kernel with options DUMMYNET. Reported by: Nikolay Denev <nike_d AT cytexbg DOT com> MFC after: 2 weeks (with r300779) |
#
6c6f602b |
|
26-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[gpiospi] add initial gpio SPI bit bang driver. Submitted by: ray Obtained from: zrouter |
#
d67fe28b |
|
26-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[spigen] add initial spigen driver from green@ This is a simple ioctl and mmap API to issue SPI transactions from userland. It's useful for simple devices (eg spi temperature sensors, etc) for experimentation. TODO: * Write some documentation! Submitted by: green |
#
8ba8cb91 |
|
23-May-2016 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Move the OFW iicbus code to dev/iicbus to stop polluting dev/ofw with unrelated code. Discussed with: nwhitehorn (a long time ago) |
#
f4a3eb02 |
|
23-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bhnd] Implement pass-through resource management for ChipCommon. This patchset adds support to bhnd_chipc for sharing SYS_RES_MEMORY resources with its children, allowing us to hang devices off of bhnd_chipc that rely on access to a subset of the device register space that bhnd_chipc itself must also allocate. We could avoid most of this heavy lifting if RF_SHAREABLE+SYS_RES_MEMORY wasn't limited to use with allocations at the same size/offset. As a work-around, I implemented something similar to vga_pci.c, which implements similar reference counting of of PCI BAR resources for its children. With these changes, chipc will use reference counting of SYS_RES_MEMORY allocation/activation requests, to decide when to allocate/activate/ deactivate/release resources from the parent bhnd(4) bus. The requesting child device is allocated a new resource from chipc's rman, pointing to (possibly a subregion of) the refcounted bhnd resources allocated by chipc. Other resource types are just passed directly to the parent bhnd bus; RF_SHAREABLE works just fine with IRQs. I also lifted the SPROM device code out into a common driver, since this now allows me to hang simple subclasses off of a common driver off of both bhndb_pci and bhnd_chipc. Tested: * (landonf) Tested against BCM4331 and BCM4312, confirmed that SPROM still attaches and can be queried. Submitted by: Landon Fuller <landonf@landonf.org> Reviewed by: mizkha@gmail.com Differential Revision: https://reviews.freebsd.org/D6471 |
#
9d292ea1 |
|
22-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bhnd] Add support for querying the attachment type of the bhnd bus. This adds a BHND_BUS_GET_ATTACH_TYPE(); the primary use-case is to let chipc make a coarse-grained determination as to whether UART, SPI, etc drivers ought to be attached, and on fullmac devices, whether a real CPU driver ought to be skipped for the ARM core, etc. Tested: * BCM4331 (BHND) * BCM4312 (SIBA) Submitted by: Landon Fuller <landonf@landonf.org> Differential Revision: https://reviews.freebsd.org/D6492 |
#
4c7070db |
|
17-May-2016 |
Scott Long <scottl@FreeBSD.org> |
Import the 'iflib' API library for network drivers. From the author: "iflib is a library to eliminate the need for frequently duplicated device independent logic propagated (poorly) across many network drivers." Participation is purely optional. The IFLIB kernel config option is provided for drivers that want to transition between legacy and iflib modes of operation. ixl and ixgbe driver conversions will be committed shortly. We hope to see participation from the Broadcom and maybe Chelsio drivers in the near future. Submitted by: mmacy@nextbsd.org Reviewed by: gallatin Differential Revision: D5211 |
#
706923d7 |
|
17-May-2016 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Finish cleaning up after killing ReiserFS. Remove LINT/NOTES option and file linkages. |
#
257cbe34 |
|
17-May-2016 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Rename icl_proxy.c to icl_soft_proxy.c, to make it clear it's a part of software ICL backend. MFC after: 1 month Sponsored by: The FreeBSD Foundation |
#
52562029 |
|
17-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bwn] add in bwn n-phy linking. * The default kernel and options won't build the GPL PHY bits; * bwn(4) defaults to building as a module anyway!; * If BWN_GPL_PHY is specified in the config file, and you uncomment the GPL PHY bits in the module Makefile, you'll get a working N-PHY. This is specifically designed to be obtuse for now, as I don't want to flip it on by default. It's easy enough for people to flip on and build, and it's a module so the default GENERIC kernel won't be GPL tainted. I'll have to add an actual HAL layer that allows the GPL PHY to be loaded before if_bwn so it can be "magic", but that'll come later. Tested: * BCM4321 11abg NIC, STA mode |
#
8ef24a0d |
|
17-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bhnd] Finish bhnd(4) PCI/PCIe-G1 hostb support. Now that we've got access to SPROM and can access board identification, this implements all known remaining hardware work-arounds for the bhnd(4) PCI and PCIe-G1 cores operating endpoint mode. Additionally, this adds an initial set of skeleton PCIe-G2 hostb and pcib drivers, required by fullmac and newer softmac devices. Submitted by: Landon Fuller <landonf@landonf.org> Differential Revision: https://reviews.freebsd.org/D6377 |
#
c41639c2 |
|
14-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bwn] add in the new phy common and utils files. They're not yet used by included code; that'll come next. |
#
89f0b8c6 |
|
13-May-2016 |
Ed Maste <emaste@FreeBSD.org> |
Remove sh accidentally added to dependency lines in r299684 Submitted by: Landon Fuller <landonf@landonf.org> |
#
96807c23 |
|
13-May-2016 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T5 and T4 firmwares to 1.15.37.0. These firmwares were obtained from the "Chelsio T5/T4 Unified Wire v2.12.0.3 for Linux" release. Changes since 1.14.4.0 (which is the firmware in -STABLE branches) are in the "Release Notes" accompanying the Unified Wire release and are copy-pasted here as well. 22.1. T5 Firmware +++++++++++++++++++++++++++++++++ Version : 1.15.37.0 Date : 04/27/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where the default ingress queue was ignored. - Fixed an issue where adapter failed to load fw by adjusting DRAM frequency. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Fixed 40G link failures with some switches when auto-negotiation enabled. - Fixed to improve on link bring-up time. - Per port buffer groups size doubled to improve performance. - Fixed an issue where bogus d3hot bits were set causing traffic stall. - Fixed an issue where sometimes adapter was not seen after reboot. - Fixed an issue where iWARP was crashing in conjunction with traffic management. - Fixed an issue where link failed to come up after removing twinax cable and inserting optical module. ETH - Fixed a link flap issue on T580-CR. OFLD - Fixed a potential iSCSI data corruption issue by disabling RxFragEn flag. FOiSCSI - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP was not been provisioned yet and driver tried to use given inerface. - Fixed an issue where fw was sending ENETUNREACH event for normal tcp disconnection. DCBX - Fixed an issue where iscsi tlv is sent incorrectly to host. (DCBX CEE) - Fixed an issue where apply bit set for APP id was affecting the ETS and PFC settings.(DCBX IEEE) - Fixed an issue where app priority values are not handled correctly in fw. (DCBX IEEE) - Fixed an issue where enable/disable dcbx can cause crash. (DCBX CEE,DCBX IEEE) FOFCoE - Removed BB6 support. ENHANCEMENTS ------------ BASE: - Added new interface to program DCA settings in SGE contexts; allow 32-byte IQE size - Added PTP interface fw_ptp_ts to support PTP Frequeny and Offset adjustment. - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. OFLD: - WR opcode is returned to host in cqe error response. 22.2. T4 Firmware +++++++++++++++++ Version : 1.15.37.0 Date : 04/27/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where default ingress queue was ignored. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Per port buffer groups size doubled to improve performance. - Fixed an issue where iWARP was crashing in conjunction with traffic management. FOiSCSI: - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP had not been provisioned yet and driver tried to use given inerface. DCBX - Fixed an issue where iscsi tlv is sent incorrectly to host.(DCBX CEE) - Fixed an issue where enable/disable dcbx can cause crash in firmware.(DCBX CEE) FOiSCSI - Fixes an issue where fw was sending ENETUNREACH event for normal tcp disconnection. FOFCoE - Removed BB6 support. ENHANCEMENTS ------------ BASE: - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. ================================================================================ Obtained from: Chelsio Communications MFC after: 6 weeks Relnotes: yes Sponsored by: Chelsio Communications |
#
16fba18f |
|
13-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
After r299241, which added bhnd(4), use sh to run the shell scripts for generating nvram maps, to allow a noexec-mounted source directory. Reported by: Johan Hendriks <joh.hendriks@gmail.com> PR: 209435 |
#
5a333f6f |
|
11-May-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add gpiokeys driver gpiokey driver implements functional subset of gpiokeys device-tree bindings: https://www.kernel.org/doc/Documentation/devicetree/bindings/input/gpio-keys.txt It acts as a virtual keyboard, so keys are visible through kbdmux(4) Driver maps linux scancodes for most common keys to FreeBSD scancodes and also extends spec by introducing freebsd,code property to specify FreeBSD-native scancodes. Reviewed by: mmel, jmcneill Differential Revision: https://reviews.freebsd.org/D6279 |
#
0c3833fb |
|
10-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
Rename siba -> siba_s5, to specifically reference that it's for the legacy siba sentry5 cpu glue. The siba_cc code is the hard-coded chipcommon bits for the sentry s5, which will eventually be replaced with the more flexible bhnd sipa/cc code. bwn, etc uses siba_bwn, which doesn't use siba or siba_cc to do anything. |
#
45d8d791 |
|
09-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[siba] migrate siba.c to siba_mips.c Turns out that ye olde siba.c is /just/ the siba mips code (used by the initial SENTRY5 port. However, I don't think it was ever finished enough to be useful, and I do have this nagging feeling that we'll eventually replace it with the bhnd code. But, since bhnd(4) introduced siba.c too, we ended up with a source file name clash, and that broke the SENTRY5 build. It /looks/ like this is the only place siba.c / device siba is used. |
#
e83ce340 |
|
08-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bhnd] Initial bhnd(4) SPROM/NVRAM support. This adds support for the NVRAM handling and the basic SPROM hardware used on siba(4) and bcma(4) devices, including: * SPROM directly attached to the PCI core, accessible via PCI configuration space. * SPROM attached to later ChipCommon cores. * SPROM variables vended from the parent SoC bus (e.g. via a directly-attached flash device). Additional improvements to the NVRAM/SPROM interface will be required, but this changeset stands alone as working checkpoint. Submitted by: Landon Fuller <landonf@landonf.org> Reviewed by: Michael Zhilin <mizkha@gmail.com> (Broadcom MIPS support) Differential Revision: https://reviews.freebsd.org/D6196 |
#
148ed571 |
|
04-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bwn] [bhnd] initial support for using bhnd for if_bwn devices. This is an initial work in progress to use the replacement bhnd bus code for devices which support it. * Add manpage updates for bhnd, bhndb, siba * Add kernel options for bhnd, bhndbus, etc * Add initial support in if_bwn_pci / if_bwn_mac for using bhnd as the bus transport for suppoted NICs * if_bwn_pci will eventually be the PCI bus glue to interface to bwn, which will use the right backend bus to attach to, versus direct nexus/bhnd attachments (as found in embedded broadcom devices.) The PCI glue defaults to probing at a lower level than the bwn glue, so bwn should still attach as per normal without a boot time tunable set. It's also not fully fleshed out - the bwn probe/attach code needs to be broken out into platform and bus specific things (just like ath, ath_pci, ath_ahb) before we can shift the driver over to using this. Tested: * BCM4311, STA mode * BCM4312, STA mode Submitted by: Landon Fuller <landonf@landonf.org> Differential Revision: https://reviews.freebsd.org/D6191 |
#
d546e47a |
|
02-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bwn] break out the 'g' phy code into a separate source file. * Break out the 'g' phy code; * Break out the debugging bits into a separate source file, since some debugging prints are done in the phy code; * Make some more chip methods in if_bwn.c public. This brings the size of if_bwn.c down to 6,805 lines which is now approaching managable. |
#
b9768303 |
|
02-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bwn] break out the LP PHY code into a separate file. This (and eventually migrating the other PHY code out) is in preparation for adding the 11n PHY. No, the 11ac PHY (for the BCM4260 softmac part) isn't yet open source, so we can't grow that. Yet. This trims ~3,700 lines of code from if_bwn.c, bringing it down to a slightly less crazy sounding 10,446 lines of code. |
#
f8146b88 |
|
27-Apr-2016 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20160422.
|
#
fd868a25 |
|
15-Apr-2016 |
Stanislav Galabov <sgalabov@FreeBSD.org> |
Change the fdt_static_dtb.S dependency fdt_static_dtb.S dependency in sys/conf/files is currently set as: $S/boot/fdt/dts/${MACHINE}/${FDT_DTS_FILE} This is wrong, as what fdt_static_dtb.S actually uses is the DTB file produced from the FDT_DTS_FILE. In addition it also makes using DTS files stored in $S/gnu/dts/${MACHINE}/ impossible. So, change the dependency to "fdt_dtb_file", which seems to be the right option here anyway. Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D5963 |
#
2acdf79f |
|
14-Apr-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add External Actions KPI to ipfw(9). It allows implementing loadable kernel modules with new actions and without needing to modify kernel headers and ipfw(8). The module registers its action handler and keyword string, that will be used as action name. Using generic syntax user can add rules with this action. Also ipfw(8) can be easily modified to extend basic syntax for external actions, that become a part base system. Sample modules will coming soon. Obtained from: Yandex LLC Sponsored by: Yandex LLC |
#
a6e0c5da |
|
14-Apr-2016 |
Warner Losh <imp@FreeBSD.org> |
New CAM I/O scheduler for FreeBSD. The default I/O scheduler is the same as before. The common scheduling bits have moved from inline code in each of the CAM periph drivers into a library that implements the default scheduling. In addition, a number of rate-limiting and I/O preference options can be enabled by adding CAM_IOSCHED_NETFLIX to your config file. A number of extra stats are also maintained. CAM_IOSCHED_NETFLIX isn't on by default because it uses a separate BIO_READ and BIO_WRITE queue, so doesn't honor BIO_ORDERED between these two types of operations. We already didn't honor it for BIO_DELETE, and we don't depend on BIO_ORDERED between reads and writes anywhere in the system (it is currently used with BIO_FLUSH in ZFS to make sure some writes are complete before others start and as a poor-man's soft dependency in one place in UFS where we won't be issuing READs until after the operation completes). However, out of an abundance of caution, it isn't enabled by default. Plus, this also brings in NCQ TRIM support for those SSDs that support it. A black list is also provided for known rogues that use NCQ trim as an excuse to corrupt the drive. It was difficult to separate out into a separate commit. This code has run in production at Netflix for over a year now. Sponsored by: Netflix, Inc Differential Revision: https://reviews.freebsd.org/D4609 |
#
46360281 |
|
07-Apr-2016 |
Ed Maste <emaste@FreeBSD.org> |
Add option to specify built-in keymap for kbdmux PR: 153459 Submitted by: swell.k@gmail.com |
#
b738dafd |
|
01-Apr-2016 |
Jared McNeill <jmcneill@FreeBSD.org> |
Move support for Synopsys Designware APB UART out of ns8250 and into a separate driver. Add support for activating clock and hwreset resources for these devices when the EXT_RESOURCES option is present. Reviewed by: andrew, mmel, Emmanuel Vadot <manu@bidouilliste.com> Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D5749 |
#
f6b5fa42 |
|
20-Mar-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
Now that urtwn is its own device, and it'll get hotplug loaded by devd/ifconfig/etc, don't build it in the kernel. This should fix the build as well! Notice by: dchagin |
#
4e3d35d7 |
|
15-Mar-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Add phy framework, a next part of new 'extended resources' family of support frameworks (i.e. clk/regulators/tsensors/fuses...). It provides simple unified consumers interface for manipulations with phy (USB/SATA/PCIe) resources. |
#
878ca242 |
|
15-Mar-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Add regulator framework, a next part of new 'extended resources' family of support frameworks(i.e. clk/reset/phy/tsensors/fuses...). The framework is still far from perfect and probably doesn't have stable interface yet, but we want to start testing it on more real boards and different architectures. |
#
58de8459 |
|
15-Mar-2016 |
Michal Meloun <mmel@FreeBSD.org> |
CLK: Add enumerator for 'clocks' OFW node. Add bus device bindings for clk_fixed class. |
#
f3215338 |
|
01-Mar-2016 |
John Baldwin <jhb@FreeBSD.org> |
Refactor the AIO subsystem to permit file-type-specific handling and improve cancellation robustness. Introduce a new file operation, fo_aio_queue, which is responsible for queueing and completing an asynchronous I/O request for a given file. The AIO subystem now exports library of routines to manipulate AIO requests as well as the ability to run a handler function in the "default" pool of AIO daemons to service a request. A default implementation for file types which do not include an fo_aio_queue method queues requests to the "default" pool invoking the fo_read or fo_write methods as before. The AIO subsystem permits file types to install a private "cancel" routine when a request is queued to permit safe dequeueing and cleanup of cancelled requests. Sockets now use their own pool of AIO daemons and service per-socket requests in FIFO order. Socket requests will not block indefinitely permitting timely cancellation of all requests. Due to the now-tight coupling of the AIO subsystem with file types, the AIO subsystem is now a standard part of all kernels. The VFS_AIO kernel option and aio.ko module are gone. Many file types may block indefinitely in their fo_read or fo_write callbacks resulting in a hung AIO daemon. This can result in hung user processes (when processes attempt to cancel all outstanding requests during exit) or a hung system. To protect against this, AIO requests are only permitted for known "safe" files by default. AIO requests for all file types can be enabled by setting the new vfs.aio.enable_usafe sysctl to a non-zero value. The AIO tests have been updated to skip operations on unsafe file types if the sysctl is zero. Currently, AIO requests on sockets and raw disks are considered safe and are enabled by default. aio_mlock() is also enabled by default. Reviewed by: cem, jilles Discussed with: kib (earlier version) Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D5289 |
#
dd991bd5 |
|
29-Feb-2016 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T5 and T4 firmwares to 1.15.28.0. These firmwares were obtained from the beta "Chelsio T5/T4 Unified Wire v2.12.0.2 for Linux" release. Changes since last release are listed in the "Release Notes" accompanying the beta release and are copy-pasted here as well. The plan is to have only GA'd firmwares in any -STABLE FreeBSD branch so I'll MFC this (after 2 months) only if it ends up in a GA release. ================================================================================ ================================================================================ 22.1. T5 Firmware +++++++++++++++++++++++++++++++++ Version : 1.15.28.0 Date : 02/29/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where the default ingress queue was ignored. - Fixed an issue where adapter failed to load fw by adjusting DRAM frequency. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Fixed 40G link failures with some switches when auto-negotiation enabled. - Fixed to improve on link bring-up time. - Per port buffer groups size doubled to improve performance. - Fixed an issue where bogus d3hot bits were set causing traffic stall. - Fixed an issue where sometimes adapter was not seen after reboot. - Fixed an issue where iWARP was crashing in conjunction with traffic management. - Fixed an issue where link failed to come up after removing twinax cable and inserting optical module. OFLD - Fixed a potential iSCSI data corruption issue by disabling RxFragEn flag. FOiSCSI - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP was not been provisioned yet and driver tried to use given inerface. ENHANCEMENTS ------------ BASE: - Added new interface to program DCA settings in SGE contexts; allow 32-byte IQE size - Added PTP interface fw_ptp_ts to support PTP Frequeny and Offset adjustment. - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. OFLD: - WR opcode is returned to host in cqe error response. ================================================================================ ================================================================================ 22.2. T4 Firmware +++++++++++++++++ Version : 1.15.28.0 Date : 02/29/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where default ingress queue was ignored. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Per port buffer groups size doubled to improve performance. - Fixed an issue where iWARP was crashing in conjunction with traffic management. FOiSCSI: - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP had not been provisioned yet and driver tried to use given inerface. ENHANCEMENTS ------------ BASE: - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. ================================================================================ Obtained from: Chelsio Communications MFC after: 2 months Sponsored by: Chelsio Communications |
#
5497acc5 |
|
23-Feb-2016 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Obsolete mkulzma(8) and geom_uncompress(4), their functionality is now provided by mkuzip(8) and geom_uzip(4) respectively. MFC after: 1 month |
#
8f8cb840 |
|
23-Feb-2016 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Improve mkuzip(8) and geom_uzip(4), merge in LZMA support from mkulzma(8) and geom_uncompress(4): 1. mkuzip(8): - Proper support for eliminating all-zero blocks when compressing an image. This feature is already supported by the geom_uzip(4) module and CLOOP format in general, so it's just a matter of making mkuzip(8) match. It should be noted, however that this feature while it sounds great, results in very slight improvement in the overall compression ratio, since compressing default 16k all-zero block produces only 39 bytes compressed output block, which is 99.8% compression ratio. With typical average compression ratio of amd64 binaries and data being around 60-70% the difference between 99.8% and 100.0% is not that great further diluted by the ratio of number of zero blocks in the uncompressed image to the overall number of blocks being less than 0.5 (typically). However, this may be important from performance standpoint, so that kernel are not spinning its wheels decompressing those empty blocks every time this zero region is read. It could also be important when you create huge image mostly filled with zero blocks for testing purposes. - New feature allowing to de-duplicate output image. It turns out that if you twist CLOOP format a bit you can do that as well. And unlike zero-blocks elimination, this gives a noticeable improvement in the overall compression ratio, reducing output image by something like 3-4% on my test UFS2 3GB image consisting of full FreeBSD base system plus some of the packages (openjdk, apache etc), about 2.3GB worth of file data (800+MB compressed). The only caveat is that images created with this feature "on" would not work on older versions of FeeBSDxi kernel, hence it's turned off by default. - provide options to control both features and document them in manual page. - merge in all relevant LZMA compression support from the mkulzma(8), add new option to select between both. - switch license from ad-hoc beerware into standard 2-clause BSD. 2. geom_uzip(4): - implement support for de-duplicated images; - optimize some code paths to handle "all-zero" blocks without reading any compressed data; - beef up manual page to explain that geom_uzip(4) is not limited only to md(4) images. The compressed data can be written to the block device and accessed directly via magic of GEOM(4) and devfs(4), including to mount root fs from a compressed drive. - convert debug log code from being compiled in conditionally into being present all the time and provide two sysctls to turn it on or off. Due to intended use of the module, it can be used in environments where there may not be a luxury to put new kernel with debug code enabled. Having those options handy allows debug issues without as much problem by just having access to serial console or network shell access to a box/appliance. The resulting additional CPU cycles are just few int comparisons and branches, and those are minuscule when compared to data decompression which is the main feature of the module. - hopefully improve robustness and resiliency of the geom_uzip(4) by performing some of the data validation / range checking on the TOC entries and rejecting to attach to an image if those checks fail. - merge in all relevant LZMA decompression support from the geom_uncompress(4), enable automatically when appropriate format is indicated in the header. - move compilation work into its own worker thread so that it does not clog g_up. This allows multiple instances work in parallel utilizing smp cores. - document new knobs in the manual page. Reviewed by: adrian MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D5333 |
#
36e9c2ce |
|
19-Feb-2016 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Revert r295756: Extract common code from PowerPC's ofw_pci Import portions of the PowerPC OF PCI implementation into new file "ofw_pci.c", common for other platforms. The files ofw_pci.c and ofw_pci.h from sys/powerpc/ofw no longer exist. All required declarations are moved to sys/dev/ofw/ofw_pci.h. This creates a new ofw_pci_write_ivar() function and modifies ofw_pci_nranges(), ofw_pci_read_ivar(), ofw_pci_route_interrupt() methods. Most functions contain existing ppc implementations in the majority unchanged. Now there is no need to have multiple identical copies of methods for various architectures. Submitted by: Marcin Mazurek <mma@semihalf.com> Obtained from: Semihalf Sponsored by: Annapurna Labs Reviewed by: jhibbits, mmel Differential Revision: https://reviews.freebsd.org/D4879 This needs to return to the drawing board as it breaks both PowerPC and Sparc64 build. Pointed out by: jhibbits |
#
a259e55b |
|
18-Feb-2016 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Extract common code from PowerPC's ofw_pci Import portions of the PowerPC OF PCI implementation into new file "ofw_pci.c", common for other platforms. The files ofw_pci.c and ofw_pci.h from sys/powerpc/ofw no longer exist. All required declarations are moved to sys/dev/ofw/ofw_pci.h. This creates a new ofw_pci_write_ivar() function and modifies ofw_pci_nranges(), ofw_pci_read_ivar(), ofw_pci_route_interrupt() methods. Most functions contain existing ppc implementations in the majority unchanged. Now there is no need to have multiple identical copies of methods for various architectures. Submitted by: Marcin Mazurek <mma@semihalf.com> Obtained from: Semihalf Sponsored by: Annapurna Labs Reviewed by: jhibbits, mmel Differential Revision: https://reviews.freebsd.org/D4879 |
#
a5694b65 |
|
27-Jan-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix generation of dependency rules for the LinuxKPI, the MLX5 driver and all of OFED except MLX4[EN/IB]. Sponsored by: Mellanox Technologies MFC after: 1 week |
#
0a17d8c2 |
|
24-Jan-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Add reset framework, a second part of new 'extended resources' family of support frameworks (i.e. regulators/phy/tsensors/fuses...). It provides simple unified consumers interface for manipulations with on-chip resets. Reviewed by: ian, imp (paritaly) |
#
12a05f9a |
|
24-Jan-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Add clock framework, a first part of new 'extended resources' family of support frameworks(i.e. reset/regulators/phy/tsensors/fuses...). The clock framework significantly simplifies handling of complex clock structures found in modern SoCs. It provides the unified consumers interface, holds and manages actual clock topology, frequency and gating. It's tested on three different ARM boards (Nvidia Tegra TK1, Inforce 6410 and Odroid XU2) and on one MIPS board (Creator Ci20) by kan@. The framework is still far from perfect and probably doesn't have stable interface yet, but we want to start testing it on more real boards and different architectures. Reviewed by: ian, kan (earlier version) |
#
937c6a18 |
|
22-Jan-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
Now that the flashmap code knows about SPI flash, add it in builds. PR: kern/206227 Submitted by: Stanislav Galabov <sgalabov@gmail.com> |
#
33a2a37b |
|
21-Jan-2016 |
Gleb Smirnoff <glebius@FreeBSD.org> |
- Separate sendfile(2) implementation from uipc_syscalls.c into separate file. Claim my copyright. - Provide more comments, better function and structure names. - Sort out unneeded includes from resulting two files. No functional changes. |
#
9824e4ad |
|
21-Jan-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: Bring back the htree dir_index implementation. The htree dir_index is perhaps one of the most characteristic features of the linux ext3 implementation. It was removed in r281670, due to repeated bug reports. Damjan Jovanic detected and fixed three bugs and did some stress testing by building Apache OpenOffice on top of it so it is now in good shape to bring back. Differential Revision: https://reviews.freebsd.org/D5007 Submitted by: Damjan Jovanovic Reviewed by: pfg Tested by: pho Relnotes: Yes MFC after: 2 months (only 10.x) |
#
64535e84 |
|
15-Jan-2016 |
Warner Losh <imp@FreeBSD.org> |
Move ohci files to their proper place in the tree for atmel. Fix when it is included (we don't have a at91rm9200 device). From a similar patch in the PR, with tweaked names. PR: 206229 |
#
4332feca |
|
06-Jan-2016 |
Allan Jude <allanjude@FreeBSD.org> |
Make additional parts of sys/geom/eli more usable in userspace The upcoming GELI support in the loader reuses parts of this code Some ifdefs are added, and some code is moved outside of existing ifdefs The HMAC parts of GELI are broken out into their own file, to separate them from the kernel crypto/openssl dependant parts that are replaced in the boot code. Passed the GELI regression suite (tools/regression/geom/eli) Files=20 Tests=14996 Result: PASS Reviewed by: pjd, delphij MFC after: 1 week Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D4699 |
#
7a3f5d11 |
|
27-Dec-2015 |
Allan Jude <allanjude@FreeBSD.org> |
Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.c cperciva's libmd implementation is 5-30% faster The same was done for SHA256 previously in r263218 cperciva's implementation was lacking SHA-384 which I implemented, validated against OpenSSL and the NIST documentation Extend sbin/md5 to create sha384(1) Chase dependancies on sys/crypto/sha2/sha2.{c,h} and replace them with sha512{c.c,.h} Reviewed by: cperciva, des, delphij Approved by: secteam, bapt (mentor) MFC after: 2 weeks Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D3929 |
#
71e8eac4 |
|
25-Dec-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
[mdio] migrate mdiobus out of etherswitch and into a top-level device of its own. The mdio driver interface is generally useful for devices that require MDIO without the full MII bus interface. This lifts the driver/interface out of etherswitch(4), and adds a mdio(4) man page. Submitted by: Landon Fuller <landon@landonf.org> Differential Revision: https://reviews.freebsd.org/D4606 |
#
281a0fd4 |
|
24-Dec-2015 |
Patrick Kelsey <pkelsey@FreeBSD.org> |
Implementation of server-side TCP Fast Open (TFO) [RFC7413]. TFO is disabled by default in the kernel build. See the top comment in sys/netinet/tcp_fastopen.c for implementation particulars. Reviewed by: gnn, jch, stas MFC after: 3 days Sponsored by: Verisign, Inc. Differential Revision: https://reviews.freebsd.org/D4350 |
#
a9ca1c79 |
|
23-Dec-2015 |
Sean Bruno <sbruno@FreeBSD.org> |
ixgbe(4): Update to version 3.1.13-k Add support for two new devices: X552 SFP+ 10 GbE, and the single port version of X550T. Submitted by: erj Reviewed by: gnn Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D4186 |
#
bc7b9300 |
|
21-Dec-2015 |
Ian Lepore <ian@FreeBSD.org> |
Implement OF_decode_addr() for arm. Move most of powerpc's implementation into a new function that other platforms can share. This creates a new ofw_reg_to_paddr() function (in a new ofw_subr.c file) that contains most of the existing ppc implementation, mostly unchanged. The ppc code now calls the new MI code from the MD code, then creates a ppc-specific bus_space mapping from the results. The new arm implementation does the same in an arm-specific way. This also moves the declaration of OF_decode_addr() from ofw_machdep.h to openfirm.h, except on sparc64 which uses a different function signature. This will help all FDT platforms to set up early console access using OF_decode_addr(). |
#
65ff3638 |
|
08-Dec-2015 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Merge helper fib* functions used for basic lookups. Vast majority of rtalloc(9) users require only basic info from route table (e.g. "does the rtentry interface match with the interface I have?". "what is the MTU?", "Give me the IPv4 source address to use", etc..). Instead of hand-rolling lookups, checking if rtentry is up, valid, dealing with IPv6 mtu, finding "address" ifp (almost never done right), provide easy-to-use API hiding all the complexity and returning the needed info into small on-stack structure. This change also helps hiding route subsystem internals (locking, direct rtentry accesses). Additionaly, using this API improves lookup performance since rtentry is not locked. (This is safe, since all the rtentry changes happens under both radix WLOCK and rtentry WLOCK). Sponsored by: Yandex LLC |
#
204c8e00 |
|
01-Dec-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
Add initial ar9300 HAL support for the spectral scan mode. |
#
e1b74f21 |
|
30-Nov-2015 |
Kevin Lo <kevlo@FreeBSD.org> |
Add initial support for RTL8152 USB Fast Ethernet. RTL8152 supports IPv4/IPv6 checksum offloading and VLAN tag insertion/stripping. Since uether doesn't provide a way to announce driver specific offload capabilities to upper stack, checksum offloading support needs more work and will be done in the future. Special thanks to Hayes Wang from RealTek who gave input. |
#
ef91a976 |
|
25-Nov-2015 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Overhaul if_enc(4) and make it loadable in run-time. Use hhook(9) framework to achieve ability of loading and unloading if_enc(4) kernel module. INET and INET6 code on initialization registers two helper hooks points in the kernel. if_enc(4) module uses these helper hook points and registers its hooks. IPSEC code uses these hhook points to call helper hooks implemented in if_enc(4). |
#
ff6b30b9 |
|
24-Nov-2015 |
Kevin Lo <kevlo@FreeBSD.org> |
Add dependency to uether. Reviewed by: hselasky |
#
b45de1eb |
|
23-Nov-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
[ath] migrate ioctl and busdma memory operations out into separate source files. This should be a big no-op pass; and reduces the size of if_ath.c. I'm hopefully soon going to take a whack at the USB support for ath(4) and this'll require some reuse of the busdma memory code. |
#
22f2c49ab1 |
|
18-Nov-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add the mlx5 and mlx5en modules to the i386 and amd64 kernel builds by default and add a manual page for mlx5en. The mlx5 module contains shared code for both infiniband and ethernet. The mlx5en module contains specific code for ethernet functionality only. A mlx5ib module is in the works for infiniband support. Supported hardware: - ConnectX-4: 10/20/25/40/50/56/100Gb/s speeds. - ConnectX-4 LX: 10/25/40/50Gb/s speeds (low power consumption) Refer to the mlx5en(4) manual page for a comprehensive list. The team porting the mlx5 driver(s) to FreeBSD: - Hans Petter Selasky <hselasky@freebsd.org> - Oded Shanoon <odeds@mellanox.com> - Meny Yossefi <menyy@mellanox.com> - Shany Michaely <shanim@mellanox.com> - Shahar Klein <shahark@mellanox.com> - Daria Genzel <dariaz@mellanox.com> - Mark Bloch <markb@mellanox.com> Differential Revision: https://reviews.freebsd.org/D4163 Submitted by: Mark Block <markb@mellanox.com> Sponsored by: Mellanox Technologies Reviewed by: gnn @ MFC after: 3 days |
#
8d59ecb2 |
|
29-Oct-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Finish process of moving the LinuxKPI module into the default kernel build. - Move all files related to the LinuxKPI into sys/compat/linuxkpi and its subfolders. - Update sys/conf/files and some Makefiles to use new file locations. - Added description of COMPAT_LINUXKPI to sys/conf/NOTES which in turn adds the LinuxKPI to all LINT builds. - The LinuxKPI can be added to the kernel by setting the COMPAT_LINUXKPI option. The OFED kernel option no longer builds the LinuxKPI into the kernel. This was done to keep the build rules for the LinuxKPI in sys/conf/files simple. - Extend the LinuxKPI module to include support for USB by moving the Linux USB compat from usb.ko to linuxkpi.ko. - Bump the FreeBSD_version. - A universe kernel build has been done. Reviewed by: np @ (cxgb and cxgbe related changes only) Sponsored by: Mellanox Technologies |
#
3c71b84f |
|
25-Oct-2015 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Add etherswitch support to mge This commit introduces support for etherswitch devices that utilize SMI as a way of accessing its registers. SMI register is located in address space of mge -- access to it was exported through MDIO interface. Attachment functions were enhanced so as to ensure proper initialisation in both cases: 1) PHYs attached directly to mge, 2) PHYs attached to switch device and switch attached to mge. Attachment of etherswitch device depends on dts entry with compatible="mrvl,sw" property. If none is found, typical PHY attachment procedure follows. In case of switch attached, PHYs' status and configuration is accessible via etherswitchcfg, and ifconfig shows always-up, non-configurable mge interfaces. Due to the fact that there may be simultaneous accessess to SMI registers (e.g. from PHY attached to one of mge instances and switch to the other), SMI access interlock was added. It is SX lock, because sleep ability is necessary -- busy-waiting would result in poor performance due to long delays required by hardware. Underlying switch driver is obliged to use sleepable locks as well. Reviewed by: adrian Obtained from: Semihalf Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D3900 |
#
2da3897d |
|
22-Oct-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Rename linuxapi[.ko] into linuxkpi[.ko], to reflect that it is a kernel programming interface module, KPI, to avoid confusion with the existing Linux userspace binary compatibility shims. Bump the FreeBSD_version number. Reviewed by: np @ Suggested by: dumbbell @ Sponsored by: Mellanox Technologies |
#
b78ef4bd |
|
22-Oct-2015 |
Ed Schouten <ed@FreeBSD.org> |
Refactoring: move out generic bits from cloudabi64_sysvec.c. In order to make it easier to support CloudABI on ARM64, move out all of the bits from the AMD64 cloudabi_sysvec.c into a new file cloudabi_module.c that would otherwise remain identical. This reduces the AMD64 specific code to just ~160 lines. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D3974 |
#
ff72f87b |
|
14-Oct-2015 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Fix the dependencies to be similar to TCP as without TCP, e.g., NOIP kernels this will otherwise fail. |
#
86a996e6 |
|
13-Oct-2015 |
Hiren Panchasara <hiren@FreeBSD.org> |
There are times when it would be really nice to have a record of the last few packets and/or state transitions from each TCP socket. That would help with narrowing down certain problems we see in the field that are hard to reproduce without understanding the history of how we got into a certain state. This change provides just that. It saves copies of the last N packets in a list in the tcpcb. When the tcpcb is destroyed, the list is freed. I thought this was likely to be more performance-friendly than saving copies of the tcpcb. Plus, with the packets, you should be able to reverse-engineer what happened to the tcpcb. To enable the feature, you will need to compile a kernel with the TCPPCAP option. Even then, the feature defaults to being deactivated. You can activate it by setting a positive value for the number of captured packets. You can do that on either a global basis or on a per-socket basis (via a setsockopt call). There is no way to get the packets out of the kernel other than using kmem or getting a coredump. I thought that would help some of the legal/privacy concerns regarding such a feature. However, it should be possible to add a future effort to export them in PCAP format. I tested this at low scale, and found that there were no mbuf leaks and the peak mbuf usage appeared to be unchanged with and without the feature. The main performance concern I can envision is the number of mbufs that would be used on systems with a large number of sockets. If you save five packets per direction per socket and have 3,000 sockets, that will consume at least 30,000 mbufs just to keep these packets. I tried to reduce the concerns associated with this by limiting the number of clusters (not mbufs) that could be used for this feature. Again, in my testing, that appears to work correctly. Differential Revision: D3100 Submitted by: Jonathan Looney <jlooney at juniper dot net> Reviewed by: gnn, hiren |
#
a231723c |
|
08-Oct-2015 |
Roger Pau Monné <royger@FreeBSD.org> |
xen/console: Introduce a new console driver for Xen guest The current Xen console driver is crashing very quickly when using it on an ARM guest. This is because the console lock is recursive and it may lead to recursion on the tty lock and/or corrupt the ring pointer. Furthermore, the console lock is not always taken where it should be and has to be released too early because of the way the console has been designed. Over the years, code has been modified to support various new features but the driver has not been reworked. This new driver has been rewritten with the idea of only having a small set of specific function to write either via the shared ring or the hypercall interface. Note that HVM support has been left aside for now because it requires additional features which are not yet supported. A follow-up patch will be sent with HVM guest support. List of items that may be good to have but not mandatory: - Avoid to flush for each character written when using the tty - Support multiple consoles Submitted by: Julien Grall <julien.grall@citrix.com> Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D3698 Sponsored by: Citrix Systems R&D |
#
67da38c5 |
|
21-Sep-2015 |
Ed Maste <emaste@FreeBSD.org> |
Move kbd.c to main sys/conf/files list It is (optionally) used on all architectures. Sponsored by: The FreeBSD Foundation |
#
7ac58230 |
|
09-Sep-2015 |
Alexander Motin <mav@FreeBSD.org> |
Reimplement CTL High Availability. CTL HA functionality was originally implemented by Copan many years ago, but large part of the sources was never published. This change includes clean room implementation of the missing code and fixes for many bugs. This code supports dual-node HA with ALUA in four modes: - Active/Unavailable without interlink between nodes; - Active/Standby with second node handling only basic LUN discovery and reservation, synchronizing with the first node through the interlink; - Active/Active with both nodes processing commands and accessing the backing storage, synchronizing with the first node through the interlink; - Active/Active with second node working as proxy, transfering all commands to the first node for execution through the interlink. Unlike original Copan's implementation, depending on specific hardware, this code uses simple custom TCP-based protocol for interlink. It has no authentication, so it should never be enabled on public interfaces. The code may still need some polishing, but generally it is functional. Relnotes: yes Sponsored by: iXsystems, Inc. |
#
ae1f3df4 |
|
27-Aug-2015 |
Warner Losh <imp@FreeBSD.org> |
New 1-Wire bus implementation. 1-Wire controller is abstracted, though only gpiobus configured via FDT is supported. Bus enumeration is supported. Devices are created for each device found. 1-Wire temperature controllers are supported, but other drivers could be written. Temperatures are polled and reported via a sysctl. Errors are reported via sysctl counters. Mis-wired bus detection is included for more trouble shooting. See ow(4), owc(4) and ow_temp(4) for details of what's supported and known issues. This has been tested on Raspberry Pi-B, Pi2 and Beagle Bone Black with up to 7 devices. Differential Revision: https://reviews.freebsd.org/D2956 Relnotes: yes MFC after: 2 weeks Reviewed by: loos@ (with many insightful comments) |
#
70e6ab8f |
|
26-Aug-2015 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20150818.
|
#
0a70aaf8 |
|
21-Aug-2015 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add ALTQ(9) support for the CoDel algorithm. CoDel is a parameterless queue discipline that handles variable bandwidth and RTT. It can be used as the single queue discipline on an interface or as a sub discipline of existing queue disciplines such as PRIQ, CBQ, HFSC, FAIRQ. Differential Revision: https://reviews.freebsd.org/D3272 Reviewd by: rpaulo, gnn (previous version) Obtained from: pfSense Sponsored by: Rubicon Communications (Netgate) |
#
12e413be |
|
19-Aug-2015 |
Michael Gmelin <grembo@FreeBSD.org> |
Allow building a kernel with baked in ig4, isl and cyapa drivers. Also addresses jhb's remarks on D2811 and D3068. PR: 202059 Differential Revision: https://reviews.freebsd.org/D3351 Reviewed by: jhb Approved by: jhb |
#
3df058ff |
|
18-Aug-2015 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add the GPIO driver for the ADI Engineering RCC-VE and RCC-DFF/DFFv2. This driver allows read the software reset switch state and control the status LEDs. The GPIO pins have their direction (input/output) locked down to prevent possible short circuits. Note that most people get a reset button that is a hardware reset. The software reset button is available on boards from Netgate. Sponsored by: Rubicon Communications (Netgate) |
#
646041a8 |
|
17-Aug-2015 |
Mark Murray <markm@FreeBSD.org> |
Add DEV_RANDOM pseudo-option and use it to "include out" random(4) if desired. Retire randomdev_none.c and introduce random_infra.c for resident infrastructure. Completely stub out random(4) calls in the "without DEV_RANDOM" case. Add RANDOM_LOADABLE option to allow loadable Yarrow/Fortuna/LocallyWritten algorithm. Add a skeleton "other" algorithm framework for folks to add their own processing code. NIST, anyone? Retire the RANDOM_DUMMY option. Build modules for Yarrow, Fortuna and "other". Use atomics for the live entropy rate-tracking. Convert ints to bools for the 'seeded' logic. Move _write() function from the algorithm-specific areas to randomdev.c Get rid of reseed() function - it is unused. Tidy up the opt_*.h includes. Update documentation for random(4) modules. Fix test program (reviewers, please leave this). Differential Revision: https://reviews.freebsd.org/D3354 Reviewed by: wblock,delphij,jmg,bjk Approved by: so (/dev/random blanket) |
#
67ceb24b |
|
15-Aug-2015 |
Alexander Motin <mav@FreeBSD.org> |
Move "ioctl" CAM frontend into separate file. It has nothing to share with too huge ctl.c other then device descriptor, but even that may be counted as design error that may be fixed later. At some point we may even want to have several ioctl ports. |
#
2f444d15 |
|
15-Aug-2015 |
Alexander Motin <mav@FreeBSD.org> |
Drop "internal" CTL frontend. Its idea was to be a simple initiator and execute several commands from kernel level, but FreeBSD never had consumer for that functionality, while its implementation polluted many unrelated places.. |
#
e0360e14 |
|
14-Aug-2015 |
Alexander Motin <mav@FreeBSD.org> |
MFV r277431: 5497 lock contention on arcs_mtx Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Richard Elling <richard.elling@richardelling.com> Approved by: Dan McDonald <danmcd@omniti.com> Author: Prakash Surya <prakash.surya@delphix.com> illumos/illumos-gate@244781f10dcd82684fd8163c016540667842f203 This patch attempts to reduce lock contention on the current arc_state_t mutexes. These mutexes are used liberally to protect the number of LRU lists within the ARC (e.g. ARC_mru, ARC_mfu, etc). The granularity at which these locks are acquired has been shown to greatly affect the performance of highly concurrent, cached workloads.
|
#
6d57346a |
|
12-Aug-2015 |
Peter Wemm <peter@FreeBSD.org> |
Add missing cddl/contrib/opensolaris/uts/common/fs/zfs/bqueue.c that was left out of r286705. Forgotten by: mav |
#
963b53ea |
|
08-Aug-2015 |
Rui Paulo <rpaulo@FreeBSD.org> |
sys/conf/files: add iwm and iwmfw. |
#
d94b89b9 |
|
05-Aug-2015 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T5 and T4 firmwares bundled with the driver to 1.14.4.0. The changes in the firmwares since 1.11.27.0 are listed here (straight copy-paste from the "Release Notes.txt" accompanying the Chelsio Unified Wire 2.11.1.0 release on the website). 22.1. T5 Firmware +++++++++++++++++++++++++++++++++ Version : 1.14.4.0 Date : 08/05/2015 ================================================================================ FIXES ----- BASE: - Fixes a potential data path hang by properly programming PMTX congestion threshold settings. - Fixes a potential initialization error when accessing a configuration file stored on the flash. - Fixes a regression where SGE resources can be miss-sized if iWARP is disabled. ETH: - Fixes a timing issue that would prevent CR4 links from coming up with some switches. FOFCoE: - Defers fcoe linkdown mailbox command handling till LOGO is sent. - Updates vlan prio for all outstanding IOs during dcbx update. ENHANCEMENTS ------------ BASE: - Adds support for PAUSE OFF watchdog. - Reports devlog access information in PCIE_FW_PF register 7. ETH: - Enhances segmentation offload to include VxLAN and Geneve. - Adds PTP support. - Adds new interface to allow the driver to query the VI rss table base addresses. - Allows the driver to program the SGE ingrext contxt CongDrop field. OFLD: - Adds new interface for the driver to specify offloaded connections TCP snd and rcv scale factors. iSCSI: - Adds support for iscsi segmentatation offload (ISO). - Adds support for iscsi t10-dif offload. FOiSCSI: - Sets FORCE_BIT for cut through processing for FOiSCSI. FOFCoE: - Adds support for FCoE BB6. - Improves WRITE performance. ================================================================================ ================================================================================ Version : 1.13.32.0 Date : 03/25/2015 ================================================================================ FIXES ----- BASE: - Fixes FW_CAPS_CONFIG_CMD return value on error (was positive instead of negative) - Fixes FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ indication (was wrong on certain adapter configurations) - Fixes config file based PL_TIMEOUT register programming ETH: - Fixes a potential EO UDP SEG header corruption - Fixes an issue where 1000Base-X was not enabled correctly when using QSA modules OFLD: - Fixes timeout issue with half-open connections - Fixes FW_FLOWC_WR processing when state is set to finwait1 FOFCoE: - Fixes fcoe xchg leaks in linkdown/peer down path - Fixes cleanup in FCoE linkdown and fixed buf timer flowid abuse - Fixes fw crash by clearing fcf flowc during bye FOiSCSI: - Don't create a new tcp socket if ERL0 attempt has timed out. ENHANCEMENTS ------------ BASE: - Adds support for VFs on PFs 4 to 7 - Adds support for QPs/CQs on any physical and virtual function ETH: - Stops sending LACP frames on loopback interface - Adds an AUTOEQU indication to CPL_SGE_EGR_UPDATE - Adds support for CR4 links (BEAN/AEC on 40G TwinAx cables) OFLD: - Improves default settings of LAN and CLUSTER TCP timer settings - Sends Negative Advice CPLs to software FOISCSI: - Adds IPv6 support for foiscsi. Keeps backward compatibility with old foiscsi drivers which doesn't support ipv6. FOFCoE: - Added fcoe debug support in flowc dump ================================================================================ ================================================================================ Version : 1.12.25.0 Date : 10/22/2014 ================================================================================ FIXES ----- BASE: - Improves precision of the Weight Round Robing Traffic Management Algorithm - Fixes an issue where the link would intermittently fail to come up - Fixes an issue where adapters with an external PHY couldn't run at 100Mbps - Fixes an issue where active optical cables were not recognized - Fixes link advertising issues on T520-BT (speed and pause frames) that would cause the link to negotiate unexpected settings - Forces link restart when auto-negotiation is disabled - Fix an issue where pause frames wouldn't be fully disabled even if requested ETH: - Fixes NVGRE Segmentation Offload network header generation. DCBX: - Fixes an issue where some settings were not being sent to the switch correctly - Fixes an issue where back-to-back DCBX port updates could get overwritten by FW - Fixes a firmware crash on DCBX APP information request before link up FOiSCSI: - Fixes abort task leak in tmf response handling - Fixes TCP RST handling while in iSCSI ERL0 - Fixes a firmware crash on BYE without INIT ENHANCEMENTS ------------- BASE: - Adds link partner settings reporting when available - Adds QSA support (in conjunction with QSA VPD) - Adds T520-BT LED support - Reports NOTSUPPORTED for modules with an unhandled identifier DCBX: - Adds version reporting (indicating which version FW is trying to negotiate) - Adds IEEE support - Reports LLDP time outs FOiSCSI: - Add support for multiple iSCSI DDP client - Sends DHCP renew request when lease expires ================================================================================ 22.2. T4 Firmware +++++++++++++++++ Version : 1.14.4.0 Date : 08/05/2015 ================================================================================ FIXES ----- BASE: - Fixes a potential initialization error when accessing a configuration file stored on the flash. - Initialize PCIE_DBG_INDIR_REQ.Enable to 0, as hardware failed to do so and register dumps could result in errors. ETH: - Fixes an issue that sometimes prevented the link from coming up in CR adapters. ENHANCEMENTS ------------ BASE: - Adds support for PAUSE OFF watchdog. - Reports devlog access information in PCIE_FW_PF register 7. ETH: - Adds new interface to allow the driver to query the VI rss table base addresses. OFLD: - Adds new interface for the driver to specify offloaded connections TCP snd and rcv scale factors. ================================================================================ ================================================================================ Version : 1.13.32.0 Date : 03/25/2015 ================================================================================ FIXES ----- BASE: - Fixes FW_CAPS_CONFIG_CMD return value on error (was positive instead of negative) - Fixes FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ indication (was wrong on certain adapter configurations) - Fixes config file based PL_TIMEOUT register programming ETH: - Fixes a potential EO UDP SEG header corruption OFLD: - Fixes timeout issue with half-open connections - Fixes FW_FLOWC_WR processing when state is set to finwait1 FOiSCSI: - Don't create a new tcp socket if ERL0 attempt has timed out. ENHANCEMENTS ------------ ETH: - Stops sending LACP frames on loopback interface - Adds an AUTOEQU indication to CPL_SGE_EGR_UPDATE OFLD: - Improves default settings of LAN and CLUSTER TCP timer settings - Sends Negative Advice CPLs to software ================================================================================ ================================================================================ Version : 1.12.25.0 Date : 10/22/2014 ================================================================================ FIXES ----- BASE: - Improves precision of the Weight Round Robing Traffic Management Algorithm - Forces link restart when auto-negotiation is disabled - Fix an issue where pause frames wouldn't be fully disabled even if requested DCBX: - Fixes an issue where some settings were not being sent to the switch correctly - Fixes an issue where back-to-back DCBX port updates could get overwritten by FW - Fixes a firmware crash on DCBX APP information request before link up FOiSCSI: - Fixes abort task leak in tmf response handling - Fixes TCP RST handling while in iSCSI ERL0 - Fixes a firmware crash on BYE without INIT ENHANCEMENTS ------------ BASE: - Adds link partner settings reporting when available - Firmware now reports NOTSUPPORTED for modules with an unhandled identifier DCBX: - Adds version reporting (indicating which version FW is trying to negotiate) - Adds IEEE support - Reports LLDP time outs FOiSCSI: - Adds support for multiple iSCSI DDP clients - Sends DHCP renew request when lease expires ================================================================================ Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications |
#
40ebf162 |
|
30-Jul-2015 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add GPIO backlight driver compatible with Linux FDT bindings. Brightness is controlled through sysctl dev.gpiobacklight.X.brightness: - any value greater than 0: backlight is on - any value less than or equal to 0: backlight is off FDT bindings docs in Linux tree: Documentation/devicetree/bindings/video/backlight/gpio-backlight.txt |
#
fe0f0bbb |
|
22-Jul-2015 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20150717.
|
#
75ac3a73 |
|
21-Jul-2015 |
Conrad Meyer <cem@FreeBSD.org> |
vt: Draw logos per CPU core This feature is inspired by another Unix-alike OS commonly found on airplane headrests. A number of beasties[0] are drawn at top of framebuffer during boot, based on the number of active SMP CPUs[1]. Console buffer output continues to scroll in the screen area below beastie(s)[2]. After some time[3] has passed, the beasties are erased leaving the entire terminal for use. Includes two 80x80 vga16 beastie graphics and an 80x80 vga16 orb graphic. (The graphics are RLE compressed to save some space -- 3x 3200 bytes uncompressed, or 4208 compressed.) [0]: The user may select the style of beastie with kern.vt.splash_cpu_style=(0|1|2) [1]: Or the number may be overridden with tunable kern.vt.splash_ncpu. [2]: https://www.youtube.com/watch?v=UP2jizfr3_o [3]: Configurable with kern.vt.splash_cpu_duration (seconds, def. 10). Differential Revision: https://reviews.freebsd.org/D2181 Reviewed by: dumbbell, emaste Approved by: markj (mentor) MFC after: 2 weeks |
#
32cd0147 |
|
19-Jul-2015 |
Mark Johnston <markj@FreeBSD.org> |
Implement the lockstat provider using SDT(9) instead of the custom provider in lockstat.ko. This means that lockstat probes now have typed arguments and will utilize SDT probe hot-patching support when it arrives. Reviewed by: gnn Differential Revision: https://reviews.freebsd.org/D2993 |
#
eacbeb2b |
|
17-Jul-2015 |
Benno Rice <benno@FreeBSD.org> |
Merge driver for PMC Sierra's range of SAS/SATA HBAs. Submitted by: Achim Leubner <Achim.Leubner@pmcs.com> Reviewed by: scottl
|
#
6e5fcd99 |
|
16-Jul-2015 |
Ed Schouten <ed@FreeBSD.org> |
Add a sysentvec for CloudABI on x86-64. Summary: For CloudABI we need to put two things on the stack of new processes: the argument data (a binary blob; not strings) and a startup data structure. The startup data structure contains interesting things such as a pointer to the ELF program header, the thread ID of the initial thread, a stack smashing protection canary, and a pointer to the argument data. Fetching system call arguments and setting the return value is similar to FreeBSD. The only differences are that system call 0 does not exist and that we call into cloudabi_convert_errno() to convert the error code. We also need this function in a couple of other places, so we'd better reuse it here. Reviewers: dchagin, kib Reviewed By: kib Subscribers: imp Differential Revision: https://reviews.freebsd.org/D3098 |
#
c7dbd802 |
|
14-Jul-2015 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4 and T5 firmwares to 1.14.2.0. Obtained from: Chelsio Communications MFC after: 3 days |
#
6520495a |
|
11-Jul-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
Add an initial NUMA affinity/policy configuration for threads and processes. This is based on work done by jeff@ and jhb@, as well as the numa.diff patch that has been circulating when someone asks for first-touch NUMA on -10 or -11. * Introduce a simple set of VM policy and iterator types. * tie the policy types into the vm_phys path for now, mirroring how the initial first-touch allocation work was enabled. * add syscalls to control changing thread and process defaults. * add a global NUMA VM domain policy. * implement a simple cascade policy order - if a thread policy exists, use it; if a process policy exists, use it; use the default policy. * processes inherit policies from their parent processes, threads inherit policies from their parent threads. * add a simple tool (numactl) to query and modify default thread/process policities. * add documentation for the new syscalls, for numa and for numactl. * re-enable first touch NUMA again by default, as now policies can be set in a variety of methods. This is only relevant for very specific workloads. This doesn't pretend to be a final NUMA solution. The previous defaults in -HEAD (with MAXMEMDOM set) can be achieved by 'sysctl vm.default_policy=rr'. This is only relevant if MAXMEMDOM is set to something other than 1. Ie, if you're using GENERIC or a modified kernel with non-NUMA, then this is a glorified no-op for you. Thank you to Norse Corp for giving me access to rather large (for FreeBSD!) NUMA machines in order to develop and verify this. Thank you to Dell for providing me with dual socket sandybridge and westmere v3 hardware to do NUMA development with. Thank you to Scott Long at Netflix for providing me with access to the two-socket, four-domain haswell v3 hardware. Thank you to Peter Holm for running the stress testing suite against the NUMA branch during various stages of development! Tested: * MIPS (regression testing; non-NUMA) * i386 (regression testing; non-NUMA GENERIC) * amd64 (regression testing; non-NUMA GENERIC) * westmere, 2 socket (thankyou norse!) * sandy bridge, 2 socket (thankyou dell!) * ivy bridge, 2 socket (thankyou norse!) * westmere-EX, 4 socket / 1TB RAM (thankyou norse!) * haswell, 2 socket (thankyou norse!) * haswell v3, 2 socket (thankyou dell) * haswell v3, 2x18 core (thankyou scott long / netflix!) * Peter Holm ran a stress test suite on this work and found one issue, but has not been able to verify it (it doesn't look NUMA related, and he only saw it once over many testing runs.) * I've tested bhyve instances running in fixed NUMA domains and cpusets; all seems to work correctly. Verified: * intel-pcm - pcm-numa.x and pcm-memory.x, whilst selecting different NUMA policies for processes under test. Review: This was reviewed through phabricator (https://reviews.freebsd.org/D2559) as well as privately and via emails to freebsd-arch@. The git history with specific attributes is available at https://github.com/erikarn/freebsd/ in the NUMA branch (https://github.com/erikarn/freebsd/compare/local/adrian_numa_policy). This has been reviewed by a number of people (stas, rpaulo, kib, ngie, wblock) but not achieved a clear consensus. My hope is that with further exposure and testing more functionality can be implemented and evaluated. Notes: * The VM doesn't handle unbalanced domains very well, and if you have an overly unbalanced memory setup whilst under high memory pressure, VM page allocation may fail leading to a kernel panic. This was a problem in the past, but it's much more easily triggered now with these tools. * This work only controls the path through vm_phys; it doesn't yet strongly/predictably affect contigmalloc, KVA placement, UMA, etc. So, driver placement of memory isn't really guaranteed in any way. That's next on my plate. Sponsored by: Norse Corp, Inc.; Dell |
#
306a82f8 |
|
09-Jul-2015 |
Mariusz Zaborski <oshogbo@FreeBSD.org> |
Rename zfs nvpair files to not colidate with our nvlist. PR: 201356 Approved by: pjd (mentor) |
#
6d338f9a |
|
09-Jul-2015 |
Ed Schouten <ed@FreeBSD.org> |
Import the CloudABI datatypes and create a system call table. CloudABI is a pure capability-based runtime environment for UNIX. It works similar to Capsicum, except that processes already run in capabilities mode on startup. All functionality that conflicts with this model has been omitted, making it a compact binary interface that can be supported by other operating systems without too much effort. CloudABI is 'secure by default'; the idea is that it should be safe to run arbitrary third-party binaries without requiring any explicit hardware virtualization (Bhyve) or namespace virtualization (Jails). The rights of an application are purely determined by the set of file descriptors that you grant it on startup. The datatypes and constants used by CloudABI's C library (cloudlibc) are defined in separate files called syscalldefs_mi.h (pointer size independent) and syscalldefs_md.h (pointer size dependent). We import these files in sys/contrib/cloudabi and wrap around them in cloudabi*_syscalldefs.h. We then add stubs for all of the system calls in sys/compat/cloudabi or sys/compat/cloudabi64, depending on whether the system call depends on the pointer size. We only have nine system calls that depend on the pointer size. If we ever want to support 32-bit binaries, we can simply add sys/compat/cloudabi32 and implement these nine system calls again. The next step is to send in code reviews for the individual system call implementations, but also add a sysentvec, to allow CloudABI executabled to be started through execve(). More information about CloudABI: - GitHub: https://github.com/NuxiNL/cloudlibc - Talk at BSDCan: https://www.youtube.com/watch?v=SVdF84x1EdA Differential Revision: https://reviews.freebsd.org/D2848 Reviewed by: emaste, brooks Obtained from: https://github.com/NuxiNL/freebsd |
#
4e1bc9a0 |
|
07-Jul-2015 |
Achim Leubner <achim@FreeBSD.org> |
Driver 'pmspcv' added. Supports PMC-Sierra PM8001/8081/8088/8089/8074/8076/8077 SAS/SATA HBA Controllers. |
#
b1089024 |
|
05-Jul-2015 |
Ian Lepore <ian@FreeBSD.org> |
Ensure all the required files get built when you include the IPSEC option. |
#
54f98da9 |
|
04-Jul-2015 |
Mariusz Zaborski <oshogbo@FreeBSD.org> |
Move the nvlist source and private includes from sys/kern to seperate directory sys/contrib/libnv. The goal of this operation is to NOT install header files which shouldn't be used outside the nvlist library. Approved by: pjd (mentor) |
#
194709a5 |
|
03-Jul-2015 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove commented-out and non-existent cbus(4) attachment for uart(4). |
#
472aa699 |
|
03-Jul-2015 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Allow proto(4) to be compiled into the kernel. |
#
d1b06863 |
|
30-Jun-2015 |
Mark Murray <markm@FreeBSD.org> |
Huge cleanup of random(4) code. * GENERAL - Update copyright. - Make kernel options for RANDOM_YARROW and RANDOM_DUMMY. Set neither to ON, which means we want Fortuna - If there is no 'device random' in the kernel, there will be NO random(4) device in the kernel, and the KERN_ARND sysctl will return nothing. With RANDOM_DUMMY there will be a random(4) that always blocks. - Repair kern.arandom (KERN_ARND sysctl). The old version went through arc4random(9) and was a bit weird. - Adjust arc4random stirring a bit - the existing code looks a little suspect. - Fix the nasty pre- and post-read overloading by providing explictit functions to do these tasks. - Redo read_random(9) so as to duplicate random(4)'s read internals. This makes it a first-class citizen rather than a hack. - Move stuff out of locked regions when it does not need to be there. - Trim RANDOM_DEBUG printfs. Some are excess to requirement, some behind boot verbose. - Use SYSINIT to sequence the startup. - Fix init/deinit sysctl stuff. - Make relevant sysctls also tunables. - Add different harvesting "styles" to allow for different requirements (direct, queue, fast). - Add harvesting of FFS atime events. This needs to be checked for weighing down the FS code. - Add harvesting of slab allocator events. This needs to be checked for weighing down the allocator code. - Fix the random(9) manpage. - Loadable modules are not present for now. These will be re-engineered when the dust settles. - Use macros for locks. - Fix comments. * src/share/man/... - Update the man pages. * src/etc/... - The startup/shutdown work is done in D2924. * src/UPDATING - Add UPDATING announcement. * src/sys/dev/random/build.sh - Add copyright. - Add libz for unit tests. * src/sys/dev/random/dummy.c - Remove; no longer needed. Functionality incorporated into randomdev.*. * live_entropy_sources.c live_entropy_sources.h - Remove; content moved. - move content to randomdev.[ch] and optimise. * src/sys/dev/random/random_adaptors.c src/sys/dev/random/random_adaptors.h - Remove; plugability is no longer used. Compile-time algorithm selection is the way to go. * src/sys/dev/random/random_harvestq.c src/sys/dev/random/random_harvestq.h - Add early (re)boot-time randomness caching. * src/sys/dev/random/randomdev_soft.c src/sys/dev/random/randomdev_soft.h - Remove; no longer needed. * src/sys/dev/random/uint128.h - Provide a fake uint128_t; if a real one ever arrived, we can use that instead. All that is needed here is N=0, N++, N==0, and some localised trickery is used to manufacture a 128-bit 0ULLL. * src/sys/dev/random/unit_test.c src/sys/dev/random/unit_test.h - Improve unit tests; previously the testing human needed clairvoyance; now the test will do a basic check of compressibility. Clairvoyant talent is still a good idea. - This is still a long way off a proper unit test. * src/sys/dev/random/fortuna.c src/sys/dev/random/fortuna.h - Improve messy union to just uint128_t. - Remove unneeded 'static struct fortuna_start_cache'. - Tighten up up arithmetic. - Provide a method to allow eternal junk to be introduced; harden it against blatant by compress/hashing. - Assert that locks are held correctly. - Fix the nasty pre- and post-read overloading by providing explictit functions to do these tasks. - Turn into self-sufficient module (no longer requires randomdev_soft.[ch]) * src/sys/dev/random/yarrow.c src/sys/dev/random/yarrow.h - Improve messy union to just uint128_t. - Remove unneeded 'staic struct start_cache'. - Tighten up up arithmetic. - Provide a method to allow eternal junk to be introduced; harden it against blatant by compress/hashing. - Assert that locks are held correctly. - Fix the nasty pre- and post-read overloading by providing explictit functions to do these tasks. - Turn into self-sufficient module (no longer requires randomdev_soft.[ch]) - Fix some magic numbers elsewhere used as FAST and SLOW. Differential Revision: https://reviews.freebsd.org/D2025 Reviewed by: vsevolod,delphij,rwatson,trasz,jmg Approved by: so (delphij) |
#
a5b789f6 |
|
24-Jun-2015 |
Ermal Luçi <eri@FreeBSD.org> |
ALTQ FAIRQ discipline import from DragonFLY Differential Revision: https://reviews.freebsd.org/D2847 Reviewed by: glebius, wblock(manpage) Approved by: gnn(mentor) Obtained from: pfSense Sponsored by: Netgate |
#
1f6c33ac |
|
24-Jun-2015 |
Eric Joyner <erj@FreeBSD.org> |
Several build changes for ix and ixv: - Allow ix and ixv to be built seperately. - Re-enable building ix for i386 and amd64 archs - Fix ixv Makefile. Approved by: jfv (mentor) |
#
2d45d793 |
|
19-Jun-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add USB gold driver to default kernel build. |
#
4f4d15f0 |
|
10-Jun-2015 |
Ruslan Bukin <br@FreeBSD.org> |
Allow DTrace to be compiled-in to the kernel. This will require for AArch64 as we dont have modules yet. Sponsored by: HEIF5 Sponsored by: ARM Ltd. Differential Revision: https://reviews.freebsd.org/D1997 |
#
0a76fe7c |
|
01-Jun-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add USB MIDI template for USB device side mode. |
#
71d51719 |
|
29-May-2015 |
Michael Gmelin <grembo@FreeBSD.org> |
ig4 - Intel fourth gen integrated I2C SMBus driver. Differential Revision: https://reviews.freebsd.org/D2372 Reviewed by: jhb, wblock, adrian Approved by: jhb, wblock Relnotes: yes |
#
f3bb9251 |
|
28-May-2015 |
John Baldwin <jhb@FreeBSD.org> |
Create a separate kobj interface for leaf-driver PCI IOV methods. Leaf drivers should not import the PCI bus interface to add IOV handling. Instead, move the IOV client methods to a separate kobj interface. Differential Revision: https://reviews.freebsd.org/D2584 Reviewed by: rstone |
#
3c838a9f |
|
25-May-2015 |
Andrew Rybchenko <arybchik@FreeBSD.org> |
sfxge: add 7xxx NICs family support Support 7xxx adapters including firmware-assisted TSO and VLAN tagging: - Solarflare Flareon Ultra 7000 series 10/40G adapters: - Solarflare SFN7042Q QSFP+ Server Adapter - Solarflare SFN7142Q QSFP+ Server Adapter - Solarflare Flareon Ultra 7000 series 10G adapters: - Solarflare SFN7022F SFP+ Server Adapter - Solarflare SFN7122F SFP+ Server Adapter - Solarflare SFN7322F Precision Time Synchronization Server Adapter - Solarflare Flareon 7000 series 10G adapters: - Solarflare SFN7002F SFP+ Server Adapter Support utilities to configure adapters and update firmware. The work is done by Solarflare developers (Andy Moreton, Andrew Lee and many others), Artem V. Andreev <Artem.Andreev at oktetlabs.ru> and me. Sponsored by: Solarflare Communications, Inc. MFC after: 2 weeks Causually read by: gnn Differential Revision: https://reviews.freebsd.org/D2618 |
#
0df8b29d |
|
08-May-2015 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: introduce a newbus function to allocate unused memory In order to map memory from other domains when running on Xen FreeBSD uses unused physical memory regions. Until now this memory has been allocated using bus_alloc_resource, but this is not completely safe as we can end up using unreclaimed MMIO or ACPI regions. Fix this by introducing a new newbus method that can be used by Xen drivers to request for unused memory regions. On amd64 we make sure this memory comes from regions above 4GB in order to prevent clashes with MMIO/ACPI regions. On i386 there's nothing we can do, so just fall back to the previous mechanism. Sponsored by: Citrix Systems R&D Tested by: Gustau Pérez <gperez@entel.upc.edu> |
#
3b5d5c3f |
|
30-Apr-2015 |
Eric Joyner <erj@FreeBSD.org> |
Fix build by adding ixgbe_x550.c to sys/conf/files for ixgbe. Submitted by: neel Approved by: jfv (mentor) |
#
ed95805e |
|
30-Apr-2015 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for Xen PV domU kernels. Support for HVM domU kernels remains. Xen is planning to phase out support for PV upstream since it is harder to maintain and has more overhead. Modern x86 CPUs include virtualization extensions that support HVM guests instead of PV guests. In addition, the PV code was i386 only and not as well maintained recently as the HVM code. - Remove the i386-only NATIVE option that was used to disable certain components for PV kernels. These components are now standard as they are on amd64. - Remove !XENHVM bits from PV drivers. - Remove various shims required for XEN (e.g. PT_UPDATES_FLUSH, LOAD_CR3, etc.) - Remove duplicate copy of <xen/features.h>. - Remove unused, i386-only xenstored.h. Differential Revision: https://reviews.freebsd.org/D2362 Reviewed by: royger Tested by: royger (i386/amd64 HVM domU and amd64 PVH dom0) Relnotes: yes |
#
3e126de6 |
|
28-Apr-2015 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Make it possible to statically link SIFTR into the kernel as a new option. Reviewed by: bz Discussed with: lstewart MFC after: 2 weeks |
#
d588c3d6 |
|
28-Apr-2015 |
Andrew Turner <andrew@FreeBSD.org> |
Only enable the hpet driver on x86 hardware, it doesn't exist on arm64. Sponsored by: The FreeBSD Foundation |
#
d9db5225 |
|
22-Apr-2015 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Move zlib.c from net to libkern. It is not network-specific code and would be better as part of libkern instead. Move zlib.h and zutil.h from net/ to sys/ Update includes to use sys/zlib.h and sys/zutil.h instead of net/ Submitted by: Steve Kiernan stevek@juniper.net Obtained from: Juniper Networks, Inc. GitHub Pull Request: https://github.com/freebsd/freebsd/pull/28 Relnotes: yes |
#
9963b450 |
|
18-Apr-2015 |
Konstantin Belousov <kib@FreeBSD.org> |
Complete r281670, unlist removed files. Sponsored by: The FreeBSD Foundation |
#
61f37615 |
|
18-Apr-2015 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Remove xform_ipip.c and code related to XF_IP4. The only thing is used from this code is ipip_output() function, that does IPIP encapsulation. Other parts of XF_IP4 code were removed in r275133. Also it isn't possible to configure the use of XF_IP4, nor from userland via setkey(8), nor from the kernel. Simplify the ipip_output() function and rename it to ipsec_encap(). * move IP_DF handling from ipsec4_process_packet() into ipsec_encap(); * since ipsec_encap() called from ipsec[64]_process_packet(), it is safe to assume that mbuf is contiguous at least to IP header for used IP version. Remove all unneeded m_pullup(), m_copydata and related checks. * use V_ip_defttl and V_ip6_defhlim for outer headers; * use V_ip4_ipsec_ecn and V_ip6_ipsec_ecn for outer headers; * move all diagnostic messages to the ipsec_encap() callers; * simplify handling of ipsec_encap() results: if it returns non zero value, print diagnostic message and free mbuf. * some style(9) fixes. Differential Revision: https://reviews.freebsd.org/D2303 Reviewed by: glebius Sponsored by: Yandex LLC |
#
772e66a6 |
|
16-Apr-2015 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Move ALTQ from contrib to net/altq. The ALTQ code is for many years discontinued by its initial authors. In FreeBSD the code was already slightly edited during the pf(4) SMP project. It is about to be edited more in the projects/ifnet. Moving out of contrib also allows to remove several hacks to the make glue. Reviewed by: net@ |
#
1dbefcc0 |
|
10-Apr-2015 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Move all code related to IP fragment reassembly to ip_reass.c. Some function names have changed and comments are reformatted or added, but there is no functional change. Claim copyright for me and Adrian. Sponsored by: Nginx, Inc. |
#
df62b8a2 |
|
30-Mar-2015 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: add a handler for the debug interrupt Handle the VIRQ_DEBUG signal and print a stack trace of each vCPU on the Xen console. This is only used for debug purposes and is triggered by the administrator of the Xen host. Sponsored by: Citrix Systems R&D MFC after: 1 week |
#
cdc58367 |
|
24-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Remove from legacy ata(4) driver support for hardware, supported by newer and more functional drivers ahci(4), siis(4) and mvs(4). This removes about 3400 lines of code, unused since FreeBSD 9.0 release. |
#
d7eb38c0 |
|
20-Mar-2015 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add a driver for the Dallas/Maxim DS1307, another common i2c RTC. Many thanks to ian who gently provided me the DS1307 breakout board. Tested on: Raspberry pi Differential Revision: https://reviews.freebsd.org/D2022 Reviewed by: rpaulo |
#
606618ac |
|
17-Mar-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
Fix ixgbe(4) - add ix_txrx to compile in the kernel. Sponsored by: Norse Corp, Inc. |
#
758cc3dc |
|
17-Mar-2015 |
Jack F Vogel <jfv@FreeBSD.org> |
Update to the Intel ixgbe driver: - Split the driver into independent pf and vf loadables. This is in preparation for SRIOV support which will be following shortly. This also allows us to keep a seperate revision control over the two parts, making for easier sustaining. - Make the TX/RX code a shared/seperated file, in the old code base the ixv code would miss fixes that went into ixgbe, this model will eliminate that problem. - The driver loadables will now match the device names, something that has been requested for some time. - Rather than a modules/ixgbe there is now modules/ix and modules/ixv - It will also be possible to make your static kernel with only one or the other for streamlined installs, or both. Enjoy! Submitted by: jfv and erj |
#
b7ba031f |
|
11-Mar-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Factor out mbuf hashing code from LAGG driver so that other network drivers can use it. This avoids some code duplication. Add missing default case to all switch statements while at it. Also move the hashing of the IPv6 flow field to layer 4 because the IPv6 flow field is constant on a per L4 connection basis and not on a per L3 network. Differential Revision: https://reviews.freebsd.org/D1987 Sponsored by: Mellanox Technologies MFC after: 1 month |
#
1191f715 |
|
28-Feb-2015 |
Ryan Stone <rstone@FreeBSD.org> |
Add infrastructure for exporting config schema from PF drivers Differential Revision: https://reviews.freebsd.org/D80 MFC after: 1 month Sponsored by: Sandvine Inc. |
#
9bfb1e36 |
|
28-Feb-2015 |
Ryan Stone <rstone@FreeBSD.org> |
Implement interface to create SR-IOV Virtual Functions Implement the interace to create SR-IOV Virtual Functions (VFs). When a driver registers that they support SR-IOV by calling pci_setup_iov(), the SR-IOV code creates a new node in /dev/iov for that device. An ioctl can be invoked on that device to create VFs and have the driver initialize them. At this point, allocating memory I/O windows (BARs) is not supported. Differential Revision: https://reviews.freebsd.org/D76 Reviewed by: jhb MFC after: 1 month Sponsored by: Sandvine Inc. |
#
4d6a976e |
|
28-Feb-2015 |
Ryan Stone <rstone@FreeBSD.org> |
Move libnv into the kernel and hook it into the kernel build Differential Revision: https://reviews.freebsd.org/D1883 Reviewed by: jfv MFC after: 1 month Sponsored by: Sandvine Inc. |
#
3cd45331 |
|
28-Feb-2015 |
Ryan Stone <rstone@FreeBSD.org> |
Implement asprintf in libkern Differential Revision: https://reviews.freebsd.org/D1877 Reviewed by: pjd, jfv MFC After: 1 month Sponsored by: Sandvine Inc. |
#
befcc3e2 |
|
28-Feb-2015 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add a driver for the Maxim DS3231 a low-cost, extremely accurate (+-2PPM) I2C real-time clock (RTC). The DS3231 has an integrated temperature-compensated crystal oscillator (TXCO) and crystal. DS3231 has a temperature sensor, an independent 32kHz output (which can be turned on and off by the driver) and another output that can be used as interrupt for alarms or as a second square-wave output, which frequency and operation mode can be set by driver sysctl(8) knobs. Differential Revision: https://reviews.freebsd.org/D1016 Reviewed by: ian, rpaulo Tested on: Raspberry pi model B |
#
e02196c5 |
|
24-Feb-2015 |
Andrew Rybchenko <arybchik@FreeBSD.org> |
sfxge: add to config files Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) |
#
1c0e1b6d |
|
18-Feb-2015 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20141107 and 20150204.
|
#
cc4a90c4 |
|
17-Feb-2015 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Globally enable -fms-extensions when building kernel with gcc, and remove this option from all modules that enable it theirselves. In C mode -fms-extensions option enables anonymous structs and unions, allowing us to use this C11 feature in kernel. Of course, clang supports it without any extra options. Reviewed by: dim |
#
8a8f7d5b |
|
17-Feb-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix compilation of the SDP driver and a compile warning after r278886. Also fix the kernel build rule for mlx4_exp.c. This fixes the LINT kernel target for amd64. Sponsored by: Mellanox Technologies MFC after: 1 month |
#
b5c1e0cb |
|
17-Feb-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update the infiniband stack to Mellanox's OFED version 2.1. Highlights: - Multiple verbs API updates - Support for RoCE, RDMA over ethernet All hardware drivers depending on the common infiniband stack has been updated aswell. Discussed with: np @ Sponsored by: Mellanox Technologies MFC after: 1 month |
#
0867995c |
|
14-Feb-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Import USB display link driver from OpenBSD. Support for compression has been removed and the driver has been greatly simplified and optimised for FreeBSD. The driver is currently not built by default. Requested by: Bruce Simpson <bms@fastmail.net> |
#
07615495 |
|
15-Feb-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Import videomode code from NetBSD which is needed by USB display link drivers. |
#
f1c3d09a |
|
06-Feb-2015 |
Enji Cooper <ngie@FreeBSD.org> |
Unbreak the build (memchr is explicitly required by devctl(9) after r278320) Submitted by: Michael Butler <imb@protected-networks.net> Reported by: O. Hartmann <ohartman@zedat.fu-berlin.de> |
#
e73ebd68 |
|
31-Jan-2015 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Fix build with "device iscsi" in kernel config. Sponsored by: The FreeBSD Foundation |
#
321b17ec |
|
31-Jan-2015 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add kobj interface between ICL and the rest of the iSCSI stack. Review note - icl.c was moved to icl_soft.c. MFC after: 1 month Sponsored by: The FreeBSD Foundation |
#
7cf3e8e4 |
|
23-Jan-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Make sure the compiler flag to get cxgbe(4) to compile with gcc is used only when gcc is being used. This is what r277225 should have been. Suggested by: dim@ |
#
b2bdc62a |
|
18-Jan-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
Refactor / restructure the RSS code into generic, IPv4 and IPv6 specific bits. The motivation here is to eventually teach netisr and potentially other networking subsystems a bit more about how RSS work queues / buckets are configured so things have a hope of auto-configuring in the future. * net/rss_config.[ch] takes care of the generic bits for doing configuration, hash function selection, etc; * topelitz.[ch] is now in net/ rather than netinet/; * (and would be in libkern if it didn't directly include RSS_KEYSIZE; that's a later thing to fix up.) * netinet/in_rss.[ch] now just contains the IPv4 specific methods; * and netinet/in6_rss.[ch] now just contains the IPv6 specific methods. This should have no functional impact on anyone currently using the RSS support. Differential Revision: D1383 Reviewed by: gnn, jfv (intel driver bits) |
#
bd47e77e |
|
18-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Extend fixes made in r277308 to fix build of LINT kernels for i386 and amd64. Until further we need some custom C-flags when building the Linux compat API. MFC after: 1 month Sponsored by: Mellanox Technologies Reported by: bz@ |
#
e982e5c5 |
|
17-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Start importing the basic OFED linux compatibility layer changes made by dumbbell@ to be able to compile this layer as a dependency module. Clean up some Makefiles and remove the no longer used OFED define. Currently only i386 and amd64 targets are supported. MFC after: 1 month Sponsored by: Mellanox Technologies |
#
cddd227c |
|
15-Jan-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Make cxgbe(4) buildable with the gcc in base. |
#
3e420a3e |
|
13-Jan-2015 |
Ruslan Bukin <br@FreeBSD.org> |
Add usb template SERIALNET allowing us to have both USB CDC Ethernet and USB CDC Modem same time by single cable. Reviewed by: hselasky@ |
#
bdb9ab0d |
|
06-Jan-2015 |
Mark Johnston <markj@FreeBSD.org> |
Factor out duplicated code from dumpsys() on each architecture into generic code in sys/kern/kern_dump.c. Most dumpsys() implementations are nearly identical and simply redefine a number of constants and helper subroutines; a generic implementation will make it easier to implement features around kernel core dumps. This change does not alter any minidump code and should have no functional impact. PR: 193873 Differential Revision: https://reviews.freebsd.org/D904 Submitted by: Conrad Meyer <conrad.meyer@isilon.com> Reviewed by: jhibbits (earlier version) Sponsored by: EMC / Isilon Storage Division |
#
b2d77b2e |
|
06-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix kernel build after r276730. |
#
cc6dd788 |
|
05-Jan-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
Refactor and split out the net80211 software scan engine from the rest of the scan API. The eventual aim is to have 'ieee80211_scan.c' have the net80211 and driver facing scan API to start, finish and continue doing scanning while 'ieee80211_swscan.c' implements the software scanner that runs the scan task, handles probe request/reply bits, configures the VAP off-channel, changes channel and does the scanning bits. For NICs that do no scanning at all, the existing code is needed. ath(4) and most of the other NICs (dumb USB ones in particular) do little to no scan offload - it's all done in software. Some NICs may do single channel at a time scanning; I haven't really checked them out in detail. iwn(4), the upcoming 7260 driver stuff, the new Qualcomm Atheros 11ac chipsets and the Atheros mobile/USB full-offload chips all have complete scan engines in firmware. We don't have to drive any of it at all - the firmware just needs to be told what to scan, when to scan, how long to scan. It'll take care of going off channel, pausing TX/RX appropriately, sending sleep notification to the AP, sending probe requests and handling probe responses. It'll do passive/active scan itself. It's almost completely transparent to the network stack - all we see are scan notifications when it finishes scanning each channel and beacons/probe responses when it does its thing. Once it's done we get a final notification that the scan is complete, with some scan results in the message. The iwn(4) NICs handle doing active scanning too as an option and will handle waiting appropriately on 5GHz passive channels before active scanning. There's some more refactoring, tidying up and lock assertions to sprinkle around to tidy this whole thing up before I turn swscan.c into another set of ic methods to override by the driver or alternate scan module. So in theory this is all one big no-op commit. In theory. Tested: * iwn(4) 5200, STA mode * ath(4) 6205, STA mode * ath(4) - various NICs, AP mode |
#
4906cdc8 |
|
02-Jan-2015 |
Warner Losh <imp@FreeBSD.org> |
Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support CWARNFALGS.$file centrally so we don't have to have it in all the places. Remove a few warning flags that are no longer needed. Also, always use -Wno-unknown-pragma to (hopefully temporarily) work around #pragma ident in debug.h in the opensolaris code. Remove some stale warning suppression that's no longer necessary. |
#
2089f538 |
|
01-Jan-2015 |
Scott Long <scottl@FreeBSD.org> |
Garbage collect the asr driver. Hardware for it has not been produced in roughly 10 years, and the driver has not enjoyed any significant maintenance since long before that. Despite well-meaning efforts from a number of people, myself included, it never made the jump to 64-bit and was relegated to the back-corners of i386. Now its frailty is hampering forward progress with Clang. Any renewed engineering efforts are of course welcome and can happen outside of the tree. No MFC of this is planned. |
#
7951040f |
|
31-Dec-2014 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): major tx rework. a) Front load as much work as possible in if_transmit, before any driver lock or software queue has to get involved. b) Replace buf_ring with a brand new mp_ring (multiproducer ring). This is specifically for the tx multiqueue model where one of the if_transmit producer threads becomes the consumer and other producers carry on as usual. mp_ring is implemented as standalone code and it should be possible to use it in any driver with tx multiqueue. It also has: - the ability to enqueue/dequeue multiple items. This might become significant if packet batching is ever implemented. - an abdication mechanism to allow a thread to give up writing tx descriptors and have another if_transmit thread take over. A thread that's writing tx descriptors can end up doing so for an unbounded time period if a) there are other if_transmit threads continuously feeding the sofware queue, and b) the chip keeps up with whatever the thread is throwing at it. - accurate statistics about interesting events even when the stats come at the expense of additional branches/conditional code. The NIC txq lock is uncontested on the fast path at this point. I've left it there for synchronization with the control events (interface up/down, modload/unload). c) Add support for "type 1" coalescing work request in the normal NIC tx path. This work request is optimized for frames with a single item in the DMA gather list. These are very common when forwarding packets. Note that netmap tx in cxgbe already uses these "type 1" work requests. d) Do not request automatic cidx updates every 32 descriptors. Instead, request updates via bits in individual work requests (still every 32 descriptors approximately). Also, request an automatic final update when the queue idles after activity. This means NIC tx reclaim is still performed lazily but it will catch up quickly as soon as the queue idles. This seems to be the best middle ground and I'll probably do something similar for netmap tx as well. e) Implement a faster tx path for WRQs (used by TOE tx and control queues, _not_ by the normal NIC tx). Allow work requests to be written directly to the hardware descriptor ring if room is available. I will convert t4_tom and iw_cxgbe modules to this faster style gradually. MFC after: 2 months |
#
182600f1 |
|
27-Dec-2014 |
Marius Strobl <marius@FreeBSD.org> |
Use the same 6000 series g2{a,b} firmware versions when embedding these images into the kernel as currently included into iwn6000g2{a,b}fw.ko and delete the old files, missed in r254199 and r259135 respectively. MFC after: 3 days |
#
c05bafc5 |
|
25-Dec-2014 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Deorbit the IEEE-488/GPIB support. |
#
c15882f0 |
|
22-Dec-2014 |
Rick Macklem <rmacklem@FreeBSD.org> |
Remove the old NFS client and server from head, which means that the NFSCLIENT and NFSSERVER kernel options will no longer work. This commit only removes the kernel components. Removal of unused code in the user utilities will be done later. This commit does not include an addition to UPDATING, but that will be committed in a few minutes. Discussed on: freebsd-fs |
#
237623b0 |
|
14-Dec-2014 |
Konstantin Belousov <kib@FreeBSD.org> |
Add a facility for non-init process to declare itself the reaper of the orphaned descendants. Base of the API is modelled after the same feature from the DragonFlyBSD. Requested by: bapt Reviewed by: jilles (previous version) Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 3 weeks |
#
08fca7a5 |
|
12-Dec-2014 |
John-Mark Gurney <jmg@FreeBSD.org> |
Add some new modes to OpenCrypto. These modes are AES-ICM (can be used for counter mode), and AES-GCM. Both of these modes have been added to the aesni module. Included is a set of tests to validate that the software and aesni module calculate the correct values. These use the NIST KAT test vectors. To run the test, you will need to install a soon to be committed port, nist-kat that will install the vectors. Using a port is necessary as the test vectors are around 25MB. All the man pages were updated. I have added a new man page, crypto.7, which includes a description of how to use each mode. All the new modes and some other AES modes are present. It would be good for someone else to go through and document the other modes. A new ioctl was added to support AEAD modes which AES-GCM is one of them. Without this ioctl, it is not possible to test AEAD modes from userland. Add a timing safe bcmp for use to compare MACs. Previously we were using bcmp which could leak timing info and result in the ability to forge messages. Add a minor optimization to the aesni module so that single segment mbufs don't get copied and instead are updated in place. The aesni module needs to be updated to support blocked IO so segmented mbufs don't have to be copied. We require that the IV be specified for all calls for both GCM and ICM. This is to ensure proper use of these functions. Obtained from: p4: //depot/projects/opencrypto Relnotes: yes Sponsored by: FreeBSD Foundation Sponsored by: NetGate |
#
0767e98a |
|
10-Dec-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: move grant table code Mave the grant table code into the dev/xen folder in preparation for turning it into a device using the newbus interface. This is just code motion, no functional changes. Sponsored by: Citrix Systems R&D |
#
c97038fa |
|
25-Nov-2014 |
Ruslan Bukin <br@FreeBSD.org> |
o Add Virtio MMIO bus driver to config o Move Virtio-related to common config file |
#
b4db959a |
|
25-Nov-2014 |
Ruslan Bukin <br@FreeBSD.org> |
Add new devices to the config. |
#
4c52dc45 |
|
22-Nov-2014 |
Warner Losh <imp@FreeBSD.org> |
There never was a PC Card joystick attachment that worked. Kill the current stub one until such time as one shows up. |
#
73f49e9e |
|
18-Nov-2014 |
Warner Losh <imp@FreeBSD.org> |
Implement the historic DIOCGDINFO ioctl for gpart on BSD partitions. Several utilities still use this interface and require additional information since gpart was activated than before. This allows fsck of a UFS partition without having to specify it is UFS, per historic behavior. |
#
8a38d62c |
|
13-Nov-2014 |
John Baldwin <jhb@FreeBSD.org> |
Remove reference to sys/dev/dpt/dpt_control.c. It was removed back in 2001 after having never been updated for CAM changes in 1998. |
#
603eaf79 |
|
09-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Renove faith(4) and faithd(8) from base. It looks like industry have chosen different (and more traditional) stateless/statuful NAT64 as translation mechanism. Last non-trivial commits to both faith(4) and faithd(8) happened more than 12 years ago, so I assume it is time to drop RFC3142 in FreeBSD. No objections from: net@ |
#
f325335c |
|
07-Nov-2014 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Overhaul if_gre(4). Split it into two modules: if_gre(4) for GRE encapsulation and if_me(4) for minimal encapsulation within IP. gre(4) changes: * convert to if_transmit; * rework locking: protect access to softc with rmlock, protect from concurrent ioctls with sx lock; * correct interface accounting for outgoing datagramms (count only payload size); * implement generic support for using IPv6 as delivery header; * make implementation conform to the RFC 2784 and partially to RFC 2890; * add support for GRE checksums - calculate for outgoing datagramms and check for inconming datagramms; * add support for sending sequence number in GRE header; * remove support of cached routes. This fixes problem, when gre(4) doesn't work at system startup. But this also removes support for having tunnels with the same addresses for inner and outer header. * deprecate support for various GREXXX ioctls, that doesn't used in FreeBSD. Use our standard ioctls for tunnels. me(4): * implementation conform to RFC 2004; * use if_transmit; * use the same locking model as gre(4); PR: 164475 Differential Revision: D1023 No objections from: net@ Relnotes: yes Sponsored by: Yandex LLC |
#
10cb2424 |
|
30-Oct-2014 |
Mark Murray <markm@FreeBSD.org> |
This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. This code has had an extensive rewrite and a good series of reviews, both by the author and other parties. This means a lot of code has been simplified. Pluggable structures for high-rate entropy generators are available, and it is most definitely not the case that /dev/random can be driven by only a hardware souce any more. This has been designed out of the device. Hardware sources are stirred into the CSPRNG (Yarrow, Fortuna) like any other entropy source. Pluggable modules may be written by third parties for additional sources. The harvesting structures and consequently the locking have been simplified. Entropy harvesting is done in a more general way (the documentation for this will follow). There is some GREAT entropy to be had in the UMA allocator, but it is disabled for now as messing with that is likely to annoy many people. The venerable (but effective) Yarrow algorithm, which is no longer supported by its authors now has an alternative, Fortuna. For now, Yarrow is retained as the default algorithm, but this may be changed using a kernel option. It is intended to make Fortuna the default algorithm for 11.0. Interested parties are encouraged to read ISBN 978-0-470-47424-2 "Cryptography Engineering" By Ferguson, Schneier and Kohno for Fortuna's gory details. Heck, read it anyway. Many thanks to Arthur Mesh who did early grunt work, and who got caught in the crossfire rather more than he deserved to. My thanks also to folks who helped me thresh this out on whiteboards and in the odd "Hallway track", or otherwise. My Nomex pants are on. Let the feedback commence! Reviewed by: trasz,des(partial),imp(partial?),rwatson(partial?) Approved by: so(des) |
#
bf7313e3 |
|
22-Oct-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: implement the privcmd user-space device This device is only attached to priviledged domains, and allows the toolstack to interact with Xen. The two functions of the privcmd interface is to allow the execution of hypercalls from user-space, and the mapping of foreign domain memory. Sponsored by: Citrix Systems R&D i386/include/xen/hypercall.h: amd64/include/xen/hypercall.h: - Introduce a function to make generic hypercalls into Xen. xen/interface/xen.h: xen/interface/memory.h: - Import the new hypercall XENMEM_add_to_physmap_range used by auto-translated guests to map memory from foreign domains. dev/xen/privcmd/privcmd.c: - This device has the following functions: - Allow user-space applications to make hypercalls into Xen. - Allow user-space applications to map memory from foreign domains, this is accomplished using the newly introduced hypercall (XENMEM_add_to_physmap_range). xen/privcmd.h: - Public ioctl interface for the privcmd device. x86/xen/hvm.c: - Remove declaration of hypercall_page, now it's declared in hypercall.h. conf/files: - Add the privcmd device to the build process. |
#
5779d8ad |
|
22-Oct-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: import a proper event channel user-space device The user-space event channel device is used by applications to receive and send event channel interrupts. This device is based on the Linux evtchn device. Sponsored by: Citrix Systems R&D xen/evtchn/evtchn_dev.c: - Remove the old event channel device, which was already disabled in the build system. dev/xen/evtchn/evtchn_dev.c: - Import a new event channel device based on the one present in Linux. - This device allows the following operations: - Bind VIRQ event channels (ioctl). - Bind regular event channels (ioctl). - Create and bind new event channels (ioctl). - Unbind event channels (ioctl). - Send notifications to event channels (ioctl). - Reset the device shared memory ring (ioctl). - Unmask event channels (write). - Receive event channel upcalls (read). - The new code is MP safe, and can be used concurrently. conf/files: - Add the new device to the build system. |
#
007054f0 |
|
20-Oct-2014 |
Bryan Venteicher <bryanv@FreeBSD.org> |
Add vxlan interface vxlan creates a virtual LAN by encapsulating the inner Ethernet frame in a UDP packet. This implementation is based on RFC7348. Currently, the IPv6 support is not fully compliant with the specification: we should be able to receive UPDv6 packets with a zero checksum, but we need to support RFC6935 first. Patches for this should come soon. Encapsulation protocols such as vxlan emphasize the need for the FreeBSD network stack to support batching, GRO, and GSO. Each frame has to make two trips through the network stack, and each frame will be at most MTU sized. Performance suffers accordingly. Some latest generation NICs have begun to support vxlan HW offloads that we should also take advantage of. VIMAGE support should also be added soon. Differential Revision: https://reviews.freebsd.org/D384 Reviewed by: gnn Relnotes: yes |
#
93d500a5 |
|
17-Oct-2014 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
After r273087,r273090,r273091,r273121 changes to gif(4) try to fix NOIP builds for real. MFC after: 27 days |
#
ae3fa78b |
|
15-Oct-2014 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add inet/inet6 to the dependency list. Without them if_gif is useless. MFC after: 1 month |
#
1d2baefc |
|
10-Oct-2014 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Change the PF hash from Jenkins to Murmur3. In forwarding tests this showed a conservative 3% incrase in PPS. Differential Revision: https://reviews.freebsd.org/D461 Submitted by: des Reviewed by: emaste MFC after: 1 month |
#
779b53d0 |
|
09-Oct-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r272825.
|
#
80b47aef |
|
09-Oct-2014 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Move the SCTP syscalls to netinet with the rest of the SCTP code. The syscalls themselves are tightly coupled with the network stack and therefore should not be in the generic socket code. The following four syscalls have been marked as NOSTD so they can be dynamically registered in sctp_syscalls_init() function: sys_sctp_peeloff sys_sctp_generic_sendmsg sys_sctp_generic_sendmsg_iov sys_sctp_generic_recvmsg The syscalls are also set up to be dynamically registered when COMPAT32 option is configured. As a side effect of moving the SCTP syscalls, getsock_cap needs to be made available outside of the uipc_syscalls.c source file. A proper prototype has been added to the sys/socketvar.h header file. API tests from the SCTP reference implementation have been run to ensure compatibility. (http://code.google.com/p/sctp-refimpl/source/checkout) Submitted by: Steve Kiernan <stevek@juniper.net> Reviewed by: tuexen, rrs Obtained from: Juniper Networks, Inc. |
#
78b59024 |
|
06-Oct-2014 |
Xin LI <delphij@FreeBSD.org> |
Add explicit_bzero(3) and its kernel counterpart. Obtained from: OpenBSD MFC after: 2 weeks |
#
1ce4b357 |
|
03-Oct-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r272516.
|
#
313a0c13 |
|
02-Oct-2014 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20140926.
|
#
557077b5 |
|
30-Sep-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: add xenstored user-space device This device is used by the user-space daemon that runs xenstore (xenstored). It allows xenstored to map the xenstore memory page, and reports the event channel xenstore is using. Sponsored by: Citrix Systems R&D dev/xen/xenstore/xenstored_dev.c: - Add the xenstored character device that's used to map the xenstore memory into user-space, and to report the event channel used by xenstore. conf/files: - Add the device to the build process. |
#
a6aedc5d |
|
30-Sep-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: move xenstore devices Move xenstore related devices (xenstore.c and xenstore_dev.c) from xen/xenstore to dev/xen/xenstore. This is just code motion, no functional changes. Sponsored by: Citrix Systems R&D |
#
9de2fdaf |
|
25-Sep-2014 |
John Baldwin <jhb@FreeBSD.org> |
Lock ncr(4) and mark it MPSAFE along with various other fixes: - Use bus_*() instead of bus_space_*(). - Use device_printf(). - Remove unused global variables and the extra warning suppression they required. - Use callout() instead of timeout(). Reviewed by: se |
#
f02f7422 |
|
22-Sep-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Hardware driver update from Mellanox Technologies, including: - improved performance - better stability - new features - bugfixes Supported HCAs: - ConnectX-2 - ConnectX-3 - ConnectX-3 Pro Sponsored by: Mellanox Technologies MFC after: 1 week |
#
14f2533c |
|
23-Sep-2014 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
As per [1] Intel only supports this driver on 64bit platforms. For now restrict it to amd64. Other architectures might be re-added later once tested. Remove the drivers from the global NOTES and files files and move them to the amd64 specifics. Remove the drivers from the i386 modules build and only leave the amd64 version. Rather than depending on "inet" depend on "pci" and make sure that ixl(4) and ixlv(4) can be compiled independently [2]. This also allows the drivers to build properly on IPv4-only or IPv6-only kernels. PR: 193824 [2] Reviewed by: eric.joyner intel.com MFC after: 3 days References: [1] http://lists.freebsd.org/pipermail/svn-src-all/2014-August/090470.html |
#
f495ec29 |
|
23-Sep-2014 |
Rui Paulo <rpaulo@FreeBSD.org> |
Move all the power management (SMBus) drivers to their own directory, away from sys/pci. |
#
271b33a6 |
|
22-Sep-2014 |
Rui Paulo <rpaulo@FreeBSD.org> |
Move amdsmb and nfsmb from dev/pci to their own device directory. |
#
3355bd61 |
|
22-Sep-2014 |
Rui Paulo <rpaulo@FreeBSD.org> |
Move pci/ncr to dev/ncr. |
#
59ef6b46 |
|
19-Sep-2014 |
Steven Hartland <smh@FreeBSD.org> |
Fix static kernel build with options ZFS This was broken by r271802. MFC after: 1 week X-MFC-With: r271802 Sponsored by: Multiplay |
#
b2d3d26f |
|
19-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Move rl(4) to dev/rl. |
#
9e2eaa64 |
|
15-Sep-2014 |
Adrian Chadd <adrian@FreeBSD.org> |
Disable flow-director support until it's been debugged and verified. The flowdirector feature shares on-chip memory with other things such as the RX buffers. In theory it should be configured in a way that doesn't interfere with the rest of operation. In practice, the RX buffer calculation didn't take the flow-director allocation into account and there'd be overlap. This lead to various garbage frames being received containing what looks like internal NIC state. What _I_ saw was traffic ending up in the wrong RX queues. If I was doing a UDP traffic test with only one NIC ring receiving traffic, everything is fine. If I fired up a second UDP stream which came in on another ring, there'd be a few percent of traffic from both rings ending up in the wrong ring. Ie, the RSS hash would indicate it was supposed to come in ring X, but it'd come in ring Y. However, when the allocation was fixed up, the developers at Verisign still saw traffic stalls. The flowdirector feature ends up fiddling with the NIC to do various attempts at load balancing connections by populating flow table rules based on sampled traffic. It's likely that all of that has to be carefully reviewed and made less "magic". So for now the flow director feature is disabled (which fixes both what I was seeing and what they were seeing) until it's all much more debugged and verified. Tested: * (me) 82599EB 2x10G NIC, RSS UDP testing. * (verisign) not sure on the NIC (but likely 82599), 100k-200k/sec TCP transaction tests. Submitted by: Marc De La Gueronniere <mdelagueronniere@verisign.com> MFC after: 1 week Sponsored by: Verisign, Inc. |
#
b8ed20db |
|
13-Sep-2014 |
Ian Lepore <ian@FreeBSD.org> |
Create an interface and support routines for drivers that handle IO pin multiplexing and configuration based on FDT data. Reviewed by: imp |
#
3a8b5804 |
|
13-Sep-2014 |
Ian Lepore <ian@FreeBSD.org> |
Make inclusion of fdt clock support conditional on fdt_clock, not just fdt. There are plenty of platforms that use fdt without needing the overhead of the new clock support routines. |
#
9ff96c23 |
|
10-Sep-2014 |
Andrew Turner <andrew@FreeBSD.org> |
Move if_smc_fdt.c to live in sys/dev/smc. It's not specific to the ARM Versatile hardware. |
#
27ecc2ad |
|
05-Sep-2014 |
Benno Rice <benno@FreeBSD.org> |
Add support for gdb's memory searching capabilities to our in-kernel gdb server. Submitted by: Daniel O'Connor <daniel.oconnor@isilon.com> Reviewed by: jhb Sponsored by: EMC Isilon Storage Division |
#
c9daea0b |
|
05-Sep-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r271160.
|
#
6bd03b20 |
|
05-Sep-2014 |
Kevin Lo <kevlo@FreeBSD.org> |
The USB LED driver for the Dream Cheeky WebMail Notifier. Reviewed by: hselasky |
#
802df3ac |
|
04-Sep-2014 |
Warner Losh <imp@FreeBSD.org> |
Separate out PCI attachment from the main AHCI driver. Move checks of PCI IDs into quirks, which mostly fit (though you'd get no argument from me that AHCI_Q_SATA1_UNIT0 is oddly specific). Set these quirks in the PCI attachment. Make some shared functions public so that PCI and possibly other bus attachments can use them. The split isn't perfect yet, but it is functional. The split will be perfected as other bus attachments for AHCI are written. Sponsored by: Netflix Reviewed by: kan, mav Differential Revision: https://reviews.freebsd.org/D699 |
#
73d49053 |
|
03-Sep-2014 |
Ian Lepore <ian@FreeBSD.org> |
Use sh -c '...' to launch the dtb build scripts with env stuff prepended, otherwise it tries to treat the env var stuff as a script file name. |
#
90940e28 |
|
02-Sep-2014 |
Warner Losh <imp@FreeBSD.org> |
Invoke make_dtb with MACHINE defined for enhanced cross building friendliness. This should restore old-fashioned kernel building in a cross environment, though this has only had limited testing. Sponsored by: Netflix |
#
6b6d6c44 |
|
01-Sep-2014 |
Ian Lepore <ian@FreeBSD.org> |
Create an interface for drivers to enable or disable their clocks as listed in the clocks=<...> properties of their FDT data. The clock properties consist of 2-cell tuples, each containing a clock device node reference and a clock number. A clock device driver can register itself as providing this interface, then other drivers can turn the FDT clock node reference into the corresponding device_t so that they can use the interface to query and manipulate their clocks. This provides convenience functions to enable or disable all the clocks listed in the properties for a device, so most drivers will be able to manage their clocks with a single call to fdt_clock_enable_all(dev). |
#
0cba2b28 |
|
31-Aug-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add support for multi-field values inside ipfw tables. This is the last major change in given branch. Kernel changes: * Use 64-bytes structures to hold multi-value variables. * Use shared array to hold values from all tables (assume each table algo is capable of holding 32-byte variables). * Add some placeholders to support per-table value arrays in future. * Use simple eventhandler-style API to ease the process of adding new table items. Currently table addition may required multiple UH drops/ acquires which is quite tricky due to atomic table modificatio/swap support, shared array resize, etc. Deal with it by calling special notifier capable of rolling back state before actually performing swap/resize operations. Original operation then restarts itself after acquiring UH lock. * Bump all objhash users default values to at least 64 * Fix custom hashing inside objhash. Userland changes: * Add support for dumping shared value array via "vlist" internal cmd. * Some small print/fill_flags dixes to support u32 values. * valtype is now bitmask of <skipto|pipe|fib|nat|dscp|tag|divert|netgraph|limit|ipv4|ipv6>. New values can hold distinct values for each of this types. * Provide special "legacy" type which assumes all values are the same. * More helpers/docs following.. Some examples: 3:41 [1] zfscurr0# ipfw table mimimi create valtype skipto,limit,ipv4,ipv6 3:41 [1] zfscurr0# ipfw table mimimi info +++ table(mimimi), set(0) +++ kindex: 2, type: addr references: 0, valtype: skipto,limit,ipv4,ipv6 algorithm: addr:radix items: 0, size: 296 3:42 [1] zfscurr0# ipfw table mimimi add 10.0.0.5 3000,10,10.0.0.1,2a02:978:2::1 added: 10.0.0.5/32 3000,10,10.0.0.1,2a02:978:2::1 3:42 [1] zfscurr0# ipfw table mimimi list +++ table(mimimi), set(0) +++ 10.0.0.5/32 3000,0,10.0.0.1,2a02:978:2::1 |
#
fc1dccd5 |
|
30-Aug-2014 |
Christian Brueffer <brueffer@FreeBSD.org> |
Allow the iwn(4) fw 100 to be compiled into the kernel and update the relevant manpages. |
#
832fd780 |
|
23-Aug-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r270409.
|
#
61ae650d |
|
22-Aug-2014 |
Jack F Vogel <jfv@FreeBSD.org> |
Update to the Intel Base driver for the Intel XL710 Ethernet Controller Family - It was decided to change the driver name to if_ixl for FreeBSD - This release adds the VF Driver to the tree, it can be built into the kernel or as the if_ixlv module - The VF driver is independent for the first time, this will be desireable when full SRIOV capability is added to the OS. - Thanks to my new coworker Eric Joyner for his superb work in both the core and vf driver code. Enjoy everyone! Submitted by: jack.vogel@intel.com and eric.joyner@intel.com MFC after: 3 days (hoping to make 10.1) |
#
3914ddf8 |
|
17-Aug-2014 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bring in the new automounter, similar to what's provided in most other UNIX systems, eg. MacOS X and Solaris. It uses Sun-compatible map format, has proper kernel support, and LDAP integration. There are still a few outstanding problems; they will be fixed shortly. Reviewed by: allanjude@, emaste@, kib@, wblock@ (earlier versions) Phabric: D523 MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation |
#
4bf50f18 |
|
16-Aug-2014 |
Luigi Rizzo <luigi@FreeBSD.org> |
Update to the current version of netmap. Mostly bugfixes or features developed in the past 6 months, so this is a 10.1 candidate. Basically no user API changes (some bugfixes in sys/net/netmap_user.h). In detail: 1. netmap support for virtio-net, including in netmap mode. Under bhyve and with a netmap backend [2] we reach over 1Mpps with standard APIs (e.g. libpcap), and 5-8 Mpps in netmap mode. 2. (kernel) add support for multiple memory allocators, so we can better partition physical and virtual interfaces giving access to separate users. The most visible effect is one additional argument to the various kernel functions to compute buffer addresses. All netmap-supported drivers are affected, but changes are mechanical and trivial 3. (kernel) simplify the prototype for *txsync() and *rxsync() driver methods. All netmap drivers affected, changes mostly mechanical. 4. add support for netmap-monitor ports. Think of it as a mirroring port on a physical switch: a netmap monitor port replicates traffic present on the main port. Restrictions apply. Drive carefully. 5. if_lem.c: support for various paravirtualization features, experimental and disabled by default. Most of these are described in our ANCS'13 paper [1]. Paravirtualized support in netmap mode is new, and beats the numbers in the paper by a large factor (under qemu-kvm, we measured gues-host throughput up to 10-12 Mpps). A lot of refactoring and additional documentation in the files in sys/dev/netmap, but apart from #2 and #3 above, almost nothing of this stuff is visible to other kernel parts. Example programs in tools/tools/netmap have been updated with bugfixes and to support more of the existing features. This is meant to go into 10.1 so we plan an MFC before the Aug.22 deadline. A lot of this code has been contributed by my colleagues at UNIPI, including Giuseppe Lettieri, Vincenzo Maffione, Stefano Garzarella. MFC after: 3 days. |
#
a5d6708e |
|
15-Aug-2014 |
Adrian Chadd <adrian@FreeBSD.org> |
Add if_ath_alq code into the non-module build. |
#
c4df003e |
|
14-Aug-2014 |
Gavin Atkinson <gavin@FreeBSD.org> |
Allow iwn105fw and iwn135 firmwares to be compiled into the kernel. MFC after: 1 week |
#
1b833d53 |
|
13-Aug-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r269943.
|
#
f9478f91 |
|
05-Aug-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add new USB phone descriptor template for USB device side mode. MFC after: 3 days |
#
68394ec8 |
|
28-Jul-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
* Add generic ipfw interface tracking API * Rewrite interface tables to use interface indexes Kernel changes: * Add generic interface tracking API: - ipfw_iface_ref (must call unlocked, performs lazy init if needed, allocates state & bumps ref) - ipfw_iface_add_ntfy(UH_WLOCK+WLOCK, links comsumer & runs its callback to update ifindex) - ipfw_iface_del_ntfy(UH_WLOCK+WLOCK, unlinks consumer) - ipfw_iface_unref(unlocked, drops reference) Additionally, consumer callbacks are called in interface withdrawal/departure. * Rewrite interface tables to use iface tracking API. Currently tables are implemented the following way: runtime data is stored as sorted array of {ifidx, val} for existing interfaces full data is stored inside namedobj instance (chained hashed table). * Add IP_FW_XIFLIST opcode to dump status of tracked interfaces * Pass @chain ptr to most non-locked algorithm callbacks: (prepare_add, prepare_del, flush_entry ..). This may be needed for better interaction of given algorithm an other ipfw subsystems * Add optional "change_ti" algorithm handler to permit updating of cached table_info pointer (happens in case of table_max resize) * Fix small bug in ipfw_list_tables() * Add badd (insert into sorted array) and bdel (remove from sorted array) funcs Userland changes: * Add "iflist" cmd to print status of currently tracked interface * Add stringnum_cmp for better interface/table names sorting |
#
1e0a021e |
|
26-Jul-2014 |
Marcel Moolenaar <marcel@FreeBSD.org> |
The accept filter code is not specific to the FreeBSD IPv4 network stack, so it really should not be under "optional inet". The fact that uipc_accf.c lives under kern/ lends some weight to making it a "standard" file. Moving kern/uipc_accf.c from "optional inet" to "standard" eliminates the need for #ifdef INET in kern/uipc_socket.c. Also, this meant the net.inet.accf.unloadable sysctl needed to move, as net.inet does not exist without networking compiled in (as it lives in netinet/in_proto.c.) The new sysctl has been named net.accf.unloadable. In order to support existing accept filter sysctls, the net.inet.accf node has been added netinet/in_proto.c. Submitted by: Steve Kiernan <stevek@juniper.net> Obtained from: Juniper Networks, Inc. |
#
984a2ea9 |
|
16-Jul-2014 |
Alexander Motin <mav@FreeBSD.org> |
Add support for VMWare dialect of EXTENDED COPY command, aka VAAI Clone. This allows to clone VMs and move them between LUNs inside one storage host without generating extra network traffic to the initiator and back, and without being limited by network bandwidth. LUNs participating in copy operation should have UNIQUE NAA or EUI IDs set. For LUNs without these IDs VMWare will use traditional copy operations. Beware: the above LUN IDs explicitly set to values non-unique from the VM cluster point of view may cause data corruption if wrong LUN is addressed! MFC after: 2 weeks Sponsored by: iXsystems, Inc. |
#
c59e4cc3 |
|
01-Jul-2014 |
Rick Macklem <rmacklem@FreeBSD.org> |
Merge the NFSv4.1 server code in projects/nfsv4.1-server over into head. The code is not believed to have any effect on the semantics of non-NFSv4.1 server behaviour. It is a rather large merge, but I am hoping that there will not be any regressions for the NFS server. MFC after: 1 month |
#
29441ba3 |
|
01-Jul-2014 |
Xin LI <delphij@FreeBSD.org> |
MFV r267565: 4757 ZFS embedded-data block pointers ("zero block compression") 4913 zfs release should not be subject to space checks MFC after: 2 weeks
|
#
327235b3 |
|
22-Jun-2014 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update the bundled T4 and T5 firmwares to versions 1.11.27.0. Obtained from: Chelsio MFC after: 3 days |
#
a401c53a |
|
18-Jun-2014 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Rename vt(4) vga module to dismiss interference with syscons(4) vga module. MFC after: 1 week Sponsored by: The FreeBSD Foundation |
#
34ec15da |
|
16-Jun-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: create a PV CPU device for PVH guests Since there's no ACPI on PVH guests, we need to create a dummy CPU device in order to fill the pcpu->pc_device field. Sponsored by: Citrix Systems R&D Approved by: gibbs dev/xen/pvcpu/pvcpu.c: - Create a dummy CPU device for PVH guests in order to fill the per-cpu pc_device field. conf/files: - Add the pvcpu device to kernels using XEN or XENHVM options. |
#
9f7d47b0 |
|
14-Jun-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add API to ease adding new algorithms/new tabletypes to ipfw. Kernel-side changelog: * Split general tables code and algorithm-specific table data. Current algorithms (IPv4/IPv6 radix and interface tables radix) moved to new ip_fw_table_algo.c file. Tables code now supports any algorithm implementing the following callbacks: +struct table_algo { + char name[64]; + int idx; + ta_init *init; + ta_destroy *destroy; + table_lookup_t *lookup; + ta_prepare_add *prepare_add; + ta_prepare_del *prepare_del; + ta_add *add; + ta_del *del; + ta_flush_entry *flush_entry; + ta_foreach *foreach; + ta_dump_entry *dump_entry; + ta_dump_xentry *dump_xentry; +}; * Change ->state, ->xstate, ->tabletype fields of ip_fw_chain to ->tablestate pointer (array of 32 bytes structures necessary for runtime lookups (can be probably shrinked to 16 bytes later): +struct table_info { + table_lookup_t *lookup; /* Lookup function */ + void *state; /* Lookup radix/other structure */ + void *xstate; /* eXtended state */ + u_long data; /* Hints for given func */ +}; * Add count method for namedobj instance to ease size calculations * Bump ip_fw3 buffer in ipfw_clt 128->256 bytes. * Improve bitmask resizing on tables_max change. * Remove table numbers checking from most places. * Fix wrong nesting in ipfw_rewrite_table_uidx(). * Add IP_FW_OBJ_LIST opcode (list all objects of given type, currently implemented for IPFW_OBJTYPE_TABLE). * Add IP_FW_OBJ_LISTSIZE (get buffer size to hold IP_FW_OBJ_LIST data, currenly implemented for IPFW_OBJTYPE_TABLE). * Add IP_FW_OBJ_INFO (requests info for one object of given type). Some name changes: s/ipfw_xtable_tlv/ipfw_obj_tlv/ (no table specifics) s/ipfw_xtable_ntlv/ipfw_obj_ntlv/ (no table specifics) Userland changes: * Add do_set3() cmd to ipfw2 to ease dealing with op3-embeded opcodes. * Add/improve support for destroy/info cmds. |
#
d68d0cf5 |
|
11-Jun-2014 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add disklabel64 support MFC after: 2 weeks |
#
23f6698f |
|
08-Jun-2014 |
Konstantin Belousov <kib@FreeBSD.org> |
Initialize the pbuf counter for directio using SYSINIT, instead of using a direct hook called from kern_vfs_bio_buffer_alloc(). Mark ffs_rawread.c as requiring both ffs and directio options to be compiled into the kernel. Add ffs_rawread.c to the list of ufs.ko module' sources. In addition to stopping breaking the layering violation, it also allows to link kernel when FFS is configured as module and DIRECTIO is enabled. One consequence of the change is that ffs_rawread.o is always linked into the module regardless of the DIRECTIO option. This is similar to the option QUOTA and ufs_quota.c. Sponsored by: The FreeBSD Foundation MFC after: 1 week |
#
ad76ab42 |
|
29-May-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Factor out kernel configuration for DWC OTG FDT attach code. |
#
0b4dc07d |
|
29-May-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Hook the ISP/SAF1761 driver into MIPS kernel builds. - Update FDT file for BERI DE4 boards. - Add needed kernel configuration keywords. - Rename module to saf1761otg so that the device unit number does not interfere with the hardware ID in dmesg. Sponsored by: DARPA, AFRL |
#
298d969c |
|
27-May-2014 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): netmap support for Terminator 5 (T5) based 10G/40G cards. Netmap gets its own hardware-assisted virtual interface and won't take over or disrupt the "normal" interface in any way. You can use both simultaneously. For kernels with DEV_NETMAP, cxgbe(4) carves out an ncxl<N> interface (note the 'n' prefix) in the hardware to accompany each cxl<N> interface. These two ifnet's per port share the same wire but really are separate interfaces in the hardware and software. Each gets its own L2 MAC addresses (unicast and multicast), MTU, checksum caps, etc. You should run netmap on the 'n' interfaces only, that's what they are for. With this, pkt-gen is able to transmit > 45Mpps out of a single 40G port of a T580 card. 2 port tx is at ~56Mpps total (28M + 28M) as of now. Single port receive is at 33Mpps but this is very much a work in progress. I expect it to be closer to 40Mpps once done. In any case the current effort can already saturate multiple 10G ports of a T5 card at the smallest legal packet size. T4 gear is totally untested. trantor:~# ./pkt-gen -i ncxl0 -f tx -D 00:07:43:ab:cd:ef 881.952141 main [1621] interface is ncxl0 881.952250 extract_ip_range [275] range is 10.0.0.1:0 to 10.0.0.1:0 881.952253 extract_ip_range [275] range is 10.1.0.1:0 to 10.1.0.1:0 881.962540 main [1804] mapped 334980KB at 0x801dff000 Sending on netmap:ncxl0: 4 queues, 1 threads and 1 cpus. 10.0.0.1 -> 10.1.0.1 (00:00:00:00:00:00 -> 00:07:43:ab:cd:ef) 881.962562 main [1882] Sending 512 packets every 0.000000000 s 881.962563 main [1884] Wait 2 secs for phy reset 884.088516 main [1886] Ready... 884.088535 nm_open [457] overriding ifname ncxl0 ringid 0x0 flags 0x1 884.088607 sender_body [996] start 884.093246 sender_body [1064] drop copy 885.090435 main_thread [1418] 45206353 pps (45289533 pkts in 1001840 usec) 886.091600 main_thread [1418] 45322792 pps (45375593 pkts in 1001165 usec) 887.092435 main_thread [1418] 45313992 pps (45351784 pkts in 1000834 usec) 888.094434 main_thread [1418] 45315765 pps (45406397 pkts in 1002000 usec) 889.095434 main_thread [1418] 45333218 pps (45378551 pkts in 1001000 usec) 890.097434 main_thread [1418] 45315247 pps (45405877 pkts in 1002000 usec) 891.099434 main_thread [1418] 45326515 pps (45417168 pkts in 1002000 usec) 892.101434 main_thread [1418] 45333039 pps (45423705 pkts in 1002000 usec) 893.103434 main_thread [1418] 45324105 pps (45414708 pkts in 1001999 usec) 894.105434 main_thread [1418] 45318042 pps (45408723 pkts in 1002001 usec) 895.106434 main_thread [1418] 45332430 pps (45377762 pkts in 1001000 usec) 896.107434 main_thread [1418] 45338072 pps (45383410 pkts in 1001000 usec) ... Relnotes: Yes Sponsored by: Chelsio Communications. |
#
fa0f6e62 |
|
23-May-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Initial import of character device in userspace support for FreeBSD. The CUSE library is a wrapper for the devfs kernel functionality which is exposed through /dev/cuse . In order to function the CUSE kernel code must either be enabled in the kernel configuration file or loaded separately as a module. Currently none of the committed items are connected to the default builds, except for installing the needed header files. The CUSE code will be connected to the default world and kernel builds in a follow-up commit. The CUSE module was written by Hans Petter Selasky, somewhat inspired by similar functionality found in FUSE. The CUSE library can be used for many purposes. Currently CUSE is used when running Linux kernel drivers in user-space, which need to create a character device node to communicate with its applications. CUSE has full support for almost all devfs functionality found in the kernel: - kevents - read - write - ioctl - poll - open - close - mmap - private per file handle data Requested by several people. Also see "multimedia/cuse4bsd-kmod" in ports. |
#
81e3caaf |
|
21-May-2014 |
Justin Hibbits <jhibbits@FreeBSD.org> |
imagact_binmisc builds for all supported architectures, so enable it for all. Any bugs in execution will be dealt with as they crop up. MFC after: 3 weeks Relnotes: Yes |
#
0572ccaa |
|
20-May-2014 |
Jim Harris <jimharris@FreeBSD.org> |
Add ismt(4) driver. ismt(4) supports the SMBus Message Transport controller found on Intel C2000 series (Avoton) and S1200 series (Briarwood) Atom SoCs. Sponsored by: Intel |
#
a7353153 |
|
18-May-2014 |
Jack F Vogel <jfv@FreeBSD.org> |
This is the beta release of the driver for the new Intel 40G Ethernet Controller XL710 Family. This is the core driver, a VF driver called i40evf, will be following soon. Questions or comments to myself or my co-developer Eric Joyner. Cheers! |
#
dd75f2c5 |
|
09-May-2014 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add the lm75 i2c digital temperature sensor driver. This driver supports the low and high precision models (9 and 11 bits) and it will auto-detect the both variants. The driver expose the temperature registers (actual temperature, shutdown and hysteresys temperature) and also the configuration register. It was tested on FDT systems: RPi, BBB and on non-FDT systems: AR71xx, with both, hardware i2c controllers (when available) and gpioiic(4). This provides a simple and cheap way for verifying the i2c bus on embedded systems. |
#
665484d8 |
|
07-May-2014 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
Add mrsas(4) driver from LSI official support of newer MegaRAID SAS cards. LSI has been maintaining this driver outside of the FreeBSD tree. It overlaps support of ThunderBolt and Invader cards that mfi(4) supports. By default mfi(4) will attach to cards. If the tunable: hw.mfi.mrsas_enable=1 is set then mfi(4) will not probe and attach to these newer cards and allow mrsas(4) to attach. So by default this driver will not effect a FreeBSD system unless mfi(4) is removed from the kernel or the tunable is enabled. mrsas(4) attaches disks to the CAM layer so it depends on CAM and devices show up as /dev/daX. mfiutil(8) does not work with mrsas. The FreeBSD version of MegaCli and StorCli from LSI do work with mrsas. It appears that StorCli only works with mrsas. MegaCli appears to work with mfi(4) and mrsas(4). It would be good to add mfiutil(4) support to mrsas, emulations modes, kernel logging, device aliases to ease the transition between mfi(4) and mrsas(4). Style issues should be resolved by LSI when they get committers approved. The plan is get this driver in FreeBSD 9.3 to improve HW support. Thanks to LSI for developing, testing and working with FreeBSD to make this driver co-exist in FreeBSD. This improves the overall support of MegaRAID SAS. Submitted by: Kashyap Desai <Kashyap.Desai@lsi.com> Reviewed by: scottl MFC after: 3 days Sponsored by: LSI |
#
02e17f0b |
|
02-May-2014 |
Marius Strobl <marius@FreeBSD.org> |
Allow GEOM_VINUM to be statically compiled into the kernel. Submitted by: gleb MFC after: 3 days |
#
991554f2 |
|
02-May-2014 |
Kenneth D. Merry <ken@FreeBSD.org> |
Bring in the mpr(4) driver for LSI's MPT3 12Gb SAS controllers. This is derived from the mps(4) driver, but it supports only the 12Gb IT and IR hardware including the SAS 3004, SAS 3008 and SAS 3108. Some notes about this driver: o The 12Gb hardware can do "FastPath" I/O, and that capability is included in this driver. o WarpDrive functionality has been removed, since it isn't supported in the 12Gb driver interface. o The Scatter/Gather list handling code is significantly different between the 6Gb and 12Gb hardware. The 12Gb boards support IEEE Scatter/Gather lists. Thanks to LSI for developing and testing this driver for FreeBSD. share/man/man4/mpr.4: mpr(4) man page. sys/dev/mpr/*: mpr(4) driver files. sys/modules/Makefile, sys/modules/mpr/Makefile: Add a module Makefile for the mpr(4) driver. sys/conf/files: Add the mpr(4) driver. sys/amd64/conf/GENERIC, sys/i386/conf/GENERIC, sys/mips/conf/OCTEON1, sys/sparc64/conf/GENERIC: Add the mpr(4) driver to all config files that currently have the mps(4) driver. sys/ia64/conf/GENERIC: Add the mps(4) and mpr(4) drivers to the ia64 GENERIC config file. sys/i386/conf/XEN: Exclude the mpr module from building here. Submitted by: Steve McConnell <Stephen.McConnell@lsi.com> MFC after: 3 days Tested by: Chris Reeves <chrisr@spectralogic.com> Sponsored by: LSI, Spectra Logic Relnotes: LSI 12Gb SAS driver mpr(4) added |
#
0edb7351 |
|
30-Apr-2014 |
Warner Losh <imp@FreeBSD.org> |
Allow FDT_DTS_FILE to be a list, either in the makedtb target, or in a kernel config file. If you also want to have a static DTB compiled into your kernel, however, it cannot be a list. We have no mechanism in the kernel for picking one, so that doesn't make sense and will result in a compile-time error. |
#
28bc7834 |
|
25-Apr-2014 |
Kevin Lo <kevlo@FreeBSD.org> |
Add preliminary support for the Realtek RTL8188EUS and RTL8188ETV chipsets. Committed over the TP-LINK TL-WN725N v2 (RTL8188EUS) on amd64 with WPA. |
#
e8c166e8 |
|
05-Apr-2014 |
Marcel Moolenaar <marcel@FreeBSD.org> |
An all-or-nothing approach to labels isn't flexible enough. Embedded systems need fine-grained control over what's in and what's out. That's ideal. For now, separate GPT labels from the rest and allow g_label to be built with just GPT labels. Obtained from: Juniper Networks, Inc. |
#
5605a99e |
|
01-Apr-2014 |
Ryan Stone <rstone@FreeBSD.org> |
Add a method to get the PCI RID for a device. Reviewed by: kib MFC after: 2 months Sponsored by: Sandvine Inc. |
#
7036ae46 |
|
01-Apr-2014 |
Ryan Stone <rstone@FreeBSD.org> |
Revert PCI RID changes. My PCI RID changes somehow got intermixed with my PCI ARI patch when I committed it. I may have accidentally applied a patch to a non-clean working tree. Revert everything while I figure out what went wrong. Pointy hat to: rstone |
#
d773f48b |
|
01-Apr-2014 |
Ryan Stone <rstone@FreeBSD.org> |
Add a method to get the PCI Routing ID for a device Reviewed by: kib Sponsored by: Sandvine, Inc |
#
d27ad6d0 |
|
27-Mar-2014 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Enable to build UEFI framebuffer driver for vt(4). It can be enabled by "device vt_efifb" in kernel config. Requested by: emaste Sponsored by: The FreeBSD Foundation |
#
0f26fd2c |
|
27-Mar-2014 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Remove ctl_mem_pool.{c,h}. Sponsored by: The FreeBSD Foundation |
#
8083f14f |
|
15-Mar-2014 |
John-Mark Gurney <jmg@FreeBSD.org> |
replace the kernel's version w/ cperciva's implementation... In all my tests, it is faster ~20%, even on an old IXP425 533MHz it is ~45% faster... This is partly due to loop unrolling, so the code size does significantly increase... I do plan on committing a version that rolls up the loops again for smaller code size for embedded systems where size is more important than absolute performance (it'll save ~6k code)... The kernel implementation is now shared w/ userland's libcrypt and libmd... We drop support for sha256 from sha2.c, so now sha2.c only contains sha384 and sha512... Reviewed by: secteam@ |
#
7527624e |
|
14-Mar-2014 |
Robert Watson <rwatson@FreeBSD.org> |
Several years after initial development, merge prototype support for linking NIC Receive Side Scaling (RSS) to the network stack's connection-group implementation. This prototype (and derived patches) are in use at Juniper and several other FreeBSD-using companies, so despite some reservations about its maturity, merge the patch to the base tree so that it can be iteratively refined in collaboration rather than maintained as a set of gradually diverging patch sets. (1) Merge a software implementation of the Toeplitz hash specified in RSS implemented by David Malone. This is used to allow suitable pcbgroup placement of connections before the first packet is received from the NIC. Software hashing is generally avoided, however, due to high cost of the hash on general-purpose CPUs. (2) In in_rss.c, maintain authoritative versions of RSS state intended to be pushed to each NIC, including keying material, hash algorithm/ configuration, and buckets. Provide software-facing interfaces to hash 2- and 4-tuples for IPv4 and IPv6 using both the RSS standardised Toeplitz and a 'naive' variation with a hash efficient in software but with poor distribution properties. Implement rss_m2cpuid()to be used by netisr and other load balancing code to look up the CPU on which an mbuf should be processed. (3) In the Ethernet link layer, allow netisr distribution using RSS as a source of policy as an alternative to source ordering; continue to default to direct dispatch (i.e., don't try and requeue packets for processing on the 'right' CPU if they arrive in a directly dispatchable context). (4) Allow RSS to control tuning of connection groups in order to align groups with RSS buckets. If a packet arrives on a protocol using connection groups, and contains a suitable hardware-generated hash, use that hash value to select the connection group for pcb lookup for both IPv4 and IPv6. If no hardware-generated Toeplitz hash is available, we fall back on regular PCB lookup risking contention rather than pay the cost of Toeplitz in software -- this is a less scalable but, at my last measurement, faster approach. As core counts go up, we may want to revise this strategy despite CPU overhead. Where device drivers suitably configure NICs, and connection groups / RSS are enabled, this should avoid both lock and line contention during connection lookup for TCP. This commit does not modify any device drivers to tune device RSS configuration to the global RSS configuration; patches are in circulation to do this for at least Chelsio T3 and Intel 1G/10G drivers. Currently, the KPI for device drivers is not particularly robust, nor aware of more advanced features such as runtime reconfiguration/rebalancing. This will hopefully prove a useful starting point for refinement. No MFC is scheduled as we will first want to nail down a more mature and maintainable KPI/KBI for device drivers. Sponsored by: Juniper Networks (original work) Sponsored by: EMC/Isilon (patch update and merge) |
#
45c203fc |
|
14-Mar-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove AppleTalk support. AppleTalk was a network transport protocol for Apple Macintosh devices in 80s and then 90s. Starting with Mac OS X in 2000 the AppleTalk was a legacy protocol and primary networking protocol is TCP/IP. The last Mac OS X release to support AppleTalk happened in 2009. The same year routing equipment vendors (namely Cisco) end their support. Thus, AppleTalk won't be supported in FreeBSD 11.0-RELEASE. |
#
2c284d93 |
|
13-Mar-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove IPX support. IPX was a network transport protocol in Novell's NetWare network operating system from late 80s and then 90s. The NetWare itself switched to TCP/IP as default transport in 1998. Later, in this century the Novell Open Enterprise Server became successor of Novell NetWare. The last release that claimed to still support IPX was OES 2 in 2007. Routing equipment vendors (e.g. Cisco) discontinued support for IPX in 2011. Thus, IPX won't be supported in FreeBSD 11.0-RELEASE. |
#
c203fa69 |
|
11-Mar-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: add and enable Xen console for PVH guests This adds and enables the PV console used on XEN kernels to GENERIC/XENHVM kernels in order for it to be used on PVH. Approved by: gibbs Sponsored by: Citrix Systems R&D dev/xen/console/console.c: - Define console_page. - Move xc_printf debug function from i386 XEN code to generic console code. - Rework xc_printf. - Use xen_initial_domain instead of open-coded checks for Dom0. - Gate the attach of the PV console to PV(H) guests. dev/xen/console/xencons_ring.c: - Allow the PV Xen console to output earlier by directly signaling the event channel in start_info if the event channel is not yet initialized. - Use HYPERVISOR_start_info instead of xen_start_info. i386/include/xen/xen-os.h: - Remove prototype for xc_printf since it's now declared in global xen-os.h i386/xen/xen_machdep.c: - Remove previous version of xc_printf. - Remove definition of console_page (now it's defined in the console itself). - Fix some printf formatting errors. x86/xen/pv.c: - Add some early boot debug messages using xc_printf. - Set console_page based on the value passed in start_info. xen/xen-os.h: - Declare console_page and add prototype for xc_printf. |
#
3bd5959e |
|
28-Feb-2014 |
Warner Losh <imp@FreeBSD.org> |
Only try to build the static dtb when we're building a static dtb... |
#
eeb913c9 |
|
28-Feb-2014 |
Warner Losh <imp@FreeBSD.org> |
Integrate device-tree upstream files into the build process: (1) Invoke cpp to bring in files via #include (although the old /include/ stuff is supported still). (2) bring in files from either vendor tree or freebsd-custom files when building. (3) move all dts* files from sys/boot/fdt/dts to sys/boot/fdt/dts/${MACHINE} as appropriate. (4) encode all the magic to do the build in sys/tools/fdt/make_dtb.sh so that the different places in the tree use the exact same logic. (5) switch back to gpl dtc by default. the bsdl one in the tree has significant issues not easily addressed by those unfamiliar with the code. |
#
7330dd0b |
|
23-Feb-2014 |
Adrian Chadd <adrian@FreeBSD.org> |
Add initial AR8327 support. This is (almost!) enough to actually probe, attach, configure a default port group and do some basic work. It's also totally hard-coded for the Qualcomm Atheros DB120 board - it doesn't yet have any of the code from OpenWRT which parses extra configuration data to know how to program the switch. The LED stuff is also missing. But, it's enough to facilitate board, PHY, switch and VLAN bringup, so I am committing it now. Tested: * Qualcomm Atheros DB120 Obtained from: OpenWRT |
#
f0ea3689 |
|
14-Feb-2014 |
Luigi Rizzo <luigi@FreeBSD.org> |
This new version of netmap brings you the following: - netmap pipes, providing bidirectional blocking I/O while moving 100+ Mpps between processes using shared memory channels (no mistake: over one hundred million. But mind you, i said *moving* not *processing*); - kqueue support (BHyVe needs it); - improved user library. Just the interface name lets you select a NIC, host port, VALE switch port, netmap pipe, and individual queues. The upcoming netmap-enabled libpcap will use this feature. - optional extra buffers associated to netmap ports, for applications that need to buffer data yet don't want to make copies. - segmentation offloading for the VALE switch, useful between VMs. and a number of bug fixes and performance improvements. My colleagues Giuseppe Lettieri and Vincenzo Maffione did a substantial amount of work on these features so we owe them a big thanks. There are some external repositories that can be of interest: https://code.google.com/p/netmap our public repository for netmap/VALE code, including linux versions and other stuff that does not belong here, such as python bindings. https://code.google.com/p/netmap-libpcap a clone of the libpcap repository with netmap support. With this any libpcap client has access to most netmap feature with no recompilation. E.g. tcpdump can filter packets at 10-15 Mpps. https://code.google.com/p/netmap-ipfw a userspace version of ipfw+dummynet which uses netmap to send/receive packets. Speed is up in the 7-10 Mpps range per core for simple rulesets. Both netmap-libpcap and netmap-ipfw will be merged upstream at some point, but while this happens it is useful to have access to them. And yes, this code will be merged soon. It is infinitely better than the version currently in 10 and 9. MFC after: 3 days |
#
177ccd3c |
|
14-Feb-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Disable warning about unused static const variables for sys/pci/ncr.c. MFC after: 3 days |
#
2a987425 |
|
14-Feb-2014 |
Dimitry Andric <dim@FreeBSD.org> |
In r260111, in sys/conf/files, I disabled warning about unused functions for the wrong mcg.c, the one in ofed/drivers/infiniband/hw/mlx4. Disable the warning for ofed/drivers/net/mlx4/mcg.c instead. MFC after: 3 days |
#
b3448df4 |
|
14-Feb-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Similar to r260026, disable warning about unused functions for ieee80211_adhoc.c, ieee80211_hostap.c and ieee80211_sta.c. MFC after: 3 days |
#
f25e50cf |
|
14-Feb-2014 |
Andriy Gapon <avg@FreeBSD.org> |
provide fast versions of ffsl and flsl for i386; ffsll and flsll for amd64 Reviewed by: jhb MFC after: 10 days X-MFC note: consider thirdparty modules depending on these symbols Sponsored by: HybridCluster |
#
6d866ed3 |
|
13-Feb-2014 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add an OFW GPIO compatible bus. This allows the use of the DTS files to describe GPIO bindings in the system. Move the GPIOBUS lock macros to gpiobusvar.h as they are now shared between the OFW and the non OFW versions of GPIO bus. Export gpiobus_print_pins() so it can also be used on the OFW GPIO bus. Approved by: adrian (mentor, implicit) |
#
cf042e43 |
|
09-Feb-2014 |
Christian Brueffer <brueffer@FreeBSD.org> |
Allow iwn2000 and iwn2030 firmware to be linked into the kernel. PR: 184631 Submitted by: Oliver Pinter MFC after: 1 week |
#
29311227 |
|
06-Feb-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Import USB RNDIS driver to FreeBSD from OpenBSD. Useful for so-called USB tethering. - Imported code from OpenBSD - Adapted code to FreeBSD - Removed some unused functions - Fixed some buffer encoding and decoding issues - Optimised data transport path a bit, by sending multiple packets at a time - Increased receive buffer to 16K Obtained from: OpenBSD Requested by: eadler @ MFC after: 2 weeks |
#
65d08437 |
|
05-Feb-2014 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Move Open Firmware device root on PowerPC, ARM, and MIPS systems to a sub-node of nexus (ofwbus) rather than direct attach under nexus. This fixes FDT on x86 and will make coexistence with ACPI on ARM systems easier. SPARC is unchanged. Reviewed by: imp, ian |
#
06763f5e |
|
01-Feb-2014 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Provide a simpler and more standards-compliant simplebus implementation to get the Routerboard 800 up and running with the vendor device tree. This does not implement some BERI-specific features (which hopefully won't be necessary soon), so move the old code to mips/beri, with a higher attach priority when built, until MIPS interrupt domain support is rearranged. |
#
eed447b5 |
|
29-Jan-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for trackpads found in Apple MacBook products. While at it add some missing devd entries. Submitted by: Huang Wen Hui <huanghwh@gmail.com> MFC after: 1 week |
#
50b464aa |
|
07-Jan-2014 |
Scott Long <scottl@FreeBSD.org> |
Remove aicasm as a build dependency. It made sense when the ahc and ahd drivers and their firmware were under active development, but those days have passed. The firmware now exists in pre-compiled form, no longer dependent on it's sources or on aicasm. If you wish to rebuild the firmware from source, the glue still exists under the 'make firmware' target in sys/modules/aic7xxx. This also fixes the problem introduced with r257777 et al with building kernels the old fashioned way in sys/$arch/compile/$CONFIG when the ahc/ahd drivers were included. |
#
02c7dba9 |
|
05-Jan-2014 |
Ian Lepore <ian@FreeBSD.org> |
Remove dev/fdt/fdt_pci.c, which was code specific to Marvell ARM SoCs, related to setting up static device mappings. Since it was only used by arm/mv/mv_pci.c, it's now just static functions within that file, plus one public function that gets called only from arm/mv/mv_machdep.c. |
#
ab0b9f6b |
|
02-Jan-2014 |
Xin LI <delphij@FreeBSD.org> |
MFV r260154 + 260182: 4369 implement zfs bookmarks 4368 zfs send filesystems from readonly pools Illumos/illumos-gate@78f171005391b928aaf1642b3206c534ed644332 MFC after: 2 weeks
|
#
ff962389 |
|
30-Dec-2013 |
Dimitry Andric <dim@FreeBSD.org> |
For sys/ofed/drivers/infiniband/hw/mlx4/mcg.c, disable warning about unused variables for now. MFC after: 3 days |
#
d33c2508 |
|
30-Dec-2013 |
Dimitry Andric <dim@FreeBSD.org> |
For sys/ofed/drivers/infiniband/core/cm.c, disable warning about unused functions for now. MFC after: 3 days |
#
3d3e01a2 |
|
29-Dec-2013 |
Dimitry Andric <dim@FreeBSD.org> |
Turn off warnings about unused variables for a bunch of files under contrib/ipfilter. MFC after: 3 days |
#
29c425ac |
|
28-Dec-2013 |
Dimitry Andric <dim@FreeBSD.org> |
Disable warning about unused functions for ieee80211_crypto.c and ieee80211_mesh.c for now. MFC after: 3 days |
#
fabb883e |
|
28-Dec-2013 |
Dimitry Andric <dim@FreeBSD.org> |
Disable warning about unused functions for ar9300_reset.c for now. MFC after: 3 days |
#
f9790aeb |
|
15-Dec-2013 |
Luigi Rizzo <luigi@FreeBSD.org> |
split netmap code according to functions: - netmap.c base code - netmap_freebsd.c FreeBSD-specific code - netmap_generic.c emulate netmap over standard drivers - netmap_mbq.c simple mbuf tailq - netmap_mem2.c memory management - netmap_vale.c VALE switch simplify devce-specific code |
#
37fd54ff |
|
08-Dec-2013 |
Aleksandr Rybalko <ray@FreeBSD.org> |
o Build syscons(9)'s splash support if both sc and splash are enabled. o Include opt_splash.h for vt(9) to know when splash device is enabled. o Build logo_freebsd.c only if splash and vt are enabled. o Include opt_compat.h to know when we have to respect compatibility. Sponsored by: The FreeBSD Foundation |
#
f5fdfd5d |
|
08-Dec-2013 |
Peter Wemm <peter@FreeBSD.org> |
Fix build with 'crypto' and 'zfs' in the same kernel. This was the path of least pain I could find. |
#
24447bc5 |
|
07-Dec-2013 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Include dev/fb/fb_if.m in build always, without it kms modules complain about lack of fb_getinfo_desc symbol. Submitted by: dumbbell Sponsored by: The FreeBSD Foundation |
#
27cf7d04 |
|
05-Dec-2013 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Merge VT(9) project (a.k.a. newcons). Reviewed by: nwhitehorn MFC_to_10_after: re approval Sponsored by: The FreeBSD Foundation |
#
456a87bb |
|
28-Nov-2013 |
Andriy Gapon <avg@FreeBSD.org> |
MFV r258371,r258372: 4101 metaslab_debug should allow for fine-grained control 4101 metaslab_debug should allow for fine-grained control 4102 space_maps should store more information about themselves 4103 space map object blocksize should be increased 4104 ::spa_space no longer works 4105 removing a mirrored log device results in a leaked object 4106 asynchronously load metaslab illumos/illumos-gate@0713e232b7712cd27d99e1e935ebb8d5de61c57d Note that some tunables have been removed and some new tunables have been added. Of particular note, FreeBSD-only knob vfs.zfs.space_map_last_hope is removed as it was a nop for some time now (after one of the previous merges from upstream). MFC after: 11 days Sponsored by: HybridCluster [merge]
|
#
da089c14 |
|
18-Nov-2013 |
Mark Johnston <markj@FreeBSD.org> |
Import the axge(4) driver for the ASIX AX88178A and AX88179 USB Ethernet adapters. Both devices support Gigabit Ethernet and USB 2.0, and the AX88179 supports USB 3.0. The driver was written by kevlo@ and lwhsu@, with a few bug fixes from me. MFC after: 2 months |
#
5cd2b97c |
|
05-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Teach nexus(4) about Open Firmware (e.g. FDT) on ARM and MIPS, retiring fdtbus in most cases. This brings ARM and MIPS more in line with existing Open Firmware platforms like sparc64 and powerpc, as well as preventing double-enumeration of the OF tree on embedded PowerPC (first through nexus, then through fdtbus). This change is also designed to simplify resource management on FDT platforms by letting there exist a platform-defined root bus resource_activate() call instead of replying on fdtbus to do the right thing through fdt_bs_tag. The OFW_BUS_MAP_INTR() and OFW_BUS_CONFIG_INTR() kobj methods are also available to implement for similar purposes. Discussed on: -arm, -mips Tested by: zbb, brooks, imp, and others MFC after: 6 weeks |
#
f827d58e |
|
04-Nov-2013 |
Ian Lepore <ian@FreeBSD.org> |
Rework the aicasm build machinery so that it gets built along with toolchain components instead of with the kernel and/or modules. This ensures that it gets built with the host compiler, not the compiler in obj/... used to build the target components (which may be a cross-compiler outputting code for a different architecture and using header files with types and options set up for the wrong architecture). Reviewed by: imp |
#
ce3ee1e7 |
|
01-Nov-2013 |
Luigi Rizzo <luigi@FreeBSD.org> |
update to the latest netmap snapshot. This includes the following: - use separate memory regions for VALE ports - locking fixes - some simplifications in the NIC-specific routines - performance improvements for the VALE switch - some new features in the pkt-gen test program - documentation updates There are small API changes that require programs to be recompiled (NETMAP_API has been bumped so you will detect old binaries at runtime). In particular: - struct netmap_slot now is 16 bytes to support an extra pointer, which may save one data copy when using VALE ports or VMs; - the struct netmap_if has two extra fields; MFC after: 3 days |
#
e9c347cd |
|
28-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove ng_fec(4). |
#
67514745 |
|
25-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Use common OFW root code to set up fdtbus. This is an almost purely negative diff that should improve reliability somewhat. There should be no differences in behavior -- please report any that crop up. This has been tested on ARM and PPC systems. Tested by: ray |
#
585300e9 |
|
24-Oct-2013 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add an OFW SPI compatible bus. Fix the spibus probe to return BUS_PROBE_GENERIC and not BUS_PROBE_SPECIFIC (0) so the OFW SPI bus can attach when enabled. Export the spibus devclass_t and driver_t declarations. Submitted by: ray Approved by: adrian (mentor) |
#
f02d731f |
|
23-Oct-2013 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Enable the build of OFW I2C bus for FDT systems. Approved by: adrian (mentor) |
#
a33ce322 |
|
21-Oct-2013 |
Brooks Davis <brooks@FreeBSD.org> |
Remove the isf(4) driver. It was created by accident and is subset of the cfi(4) driver. It remained in the tree longer than would be ideal due to the time required to bring cfi(4) to feature parity. Sponsored by: DARPA/AFRL MFC after: 3 days |
#
1f40dbc8 |
|
21-Oct-2013 |
Brooks Davis <brooks@FreeBSD.org> |
MFP4: 223121 (FDT infrastructure portion) Implement support for interrupt-parent nodes in simplebus. The current implementation requires that device declarations have an interrupt-parent node and that it point to a device that has registered itself as a interrupt controller in fdt_ic_list_head and implements the fdt_ic interface. Sponsored by: DARPA/AFRL |
#
bef54b1b |
|
20-Oct-2013 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
The Xen userland event channel driver isn't complete. Disabled it from the kernel build until it is ready. sys/conf/files: Remove the entry for xen/evtchn/evtchn_dev.c so it is not included in any kernel builds. Noticed by: smh |
#
b45ca25f |
|
15-Oct-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Add AR9340 switch support to the build. |
#
48d05478 |
|
14-Oct-2013 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4 and T5 firmwares to 1.9.12.0 |
#
1a3c1f06 |
|
06-Oct-2013 |
Mark Murray <markm@FreeBSD.org> |
Snapshot. Looking pretty good; this mostly works now. New code includes: * Read cached entropy at startup, both from files and from loader(8) preloaded entropy. Failures are soft, but announced. Untested. * Use EVENTHANDLER to do above just before we go multiuser. Untested. |
#
12babbf2 |
|
06-Oct-2013 |
Mark Murray <markm@FreeBSD.org> |
MFC - tracking commit
|
#
505cdd82 |
|
06-Oct-2013 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove the uipc_cow.c file, which is not used since the zero copy sockets removal. Noted by: alc Sponsored by: The FreeBSD Foundation Approved by: re (delphij) |
#
f02e47dc |
|
04-Oct-2013 |
Mark Murray <markm@FreeBSD.org> |
Snapshot. This passes the build test, but has not yet been finished or debugged. Contains: * Refactor the hardware RNG CPU instruction sources to feed into the software mixer. This is unfinished. The actual harvesting needs to be sorted out. Modified by me (see below). * Remove 'frac' parameter from random_harvest(). This was never used and adds extra code for no good reason. * Remove device write entropy harvesting. This provided a weak attack vector, was not very good at bootstrapping the device. To follow will be a replacement explicit reseed knob. * Separate out all the RANDOM_PURE sources into separate harvest entities. This adds some secuity in the case where more than one is present. * Review all the code and fix anything obviously messy or inconsistent. Address som review concerns while I'm here, like rename the pseudo-rng to 'dummy'. Submitted by: Arthur Mesh <arthurmesh@gmail.com> (the first item) |
#
c9f432b7 |
|
28-Sep-2013 |
Alfred Perlstein <alfred@FreeBSD.org> |
Update OFED to Linux 3.7 and update Mellanox drivers. Update the OFED Infiniband core to the version supplied in Linux version 3.7. The update to OFED is nearly all additional defines and functions with the exception of the addition of additional parameters to ib_register_device() and the reg_user_mr callback. In addition the ibcore (Infiniband core) and ipoib (IP over Infiniband) have both been made into completely loadable modules to facilitate testing of the OFED stack in FreeBSD. Finally the Mellanox Infiniband drivers are now updated to the latest version shipping with Linux 3.7. Submitted by: Mellanox FreeBSD driver team: Oded Shanoon (odeds mellanox.com), Meny Yossefi (menyy mellanox.com), Orit Moskovich (oritm mellanox.com) Approved by: re |
#
4e400768 |
|
20-Sep-2013 |
David Christensen <davidch@FreeBSD.org> |
Substantial rewrite of bxe(4) to add support for the BCM57712 and BCM578XX controllers. Approved by: re MFC after: 4 weeks |
#
009ea47e |
|
14-Sep-2013 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bring in the new iSCSI target and initiator. Reviewed by: ken (parts) Approved by: re (delphij) Sponsored by: FreeBSD Foundation |
#
9d32fc31 |
|
07-Sep-2013 |
Mark Murray <markm@FreeBSD.org> |
MFC
|
#
bfc88dcb |
|
06-Sep-2013 |
Cy Schubert <cy@FreeBSD.org> |
Update ipfilter 4.1.28 --> 5.1.2. Approved by: glebius (mentor) BSD Licensed by: Darren Reed <darrenr@reed.wattle.id.au> (author)
|
#
0fbf163e |
|
06-Sep-2013 |
Mark Murray <markm@FreeBSD.org> |
MFC
|
#
7008be5b |
|
04-Sep-2013 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Change the cap_rights_t type from uint64_t to a structure that we can extend in the future in a backward compatible (API and ABI) way. The cap_rights_t represents capability rights. We used to use one bit to represent one right, but we are running out of spare bits. Currently the new structure provides place for 114 rights (so 50 more than the previous cap_rights_t), but it is possible to grow the structure to hold at least 285 rights, although we can make it even larger if 285 rights won't be enough. The structure definition looks like this: struct cap_rights { uint64_t cr_rights[CAP_RIGHTS_VERSION + 2]; }; The initial CAP_RIGHTS_VERSION is 0. The top two bits in the first element of the cr_rights[] array contain total number of elements in the array - 2. This means if those two bits are equal to 0, we have 2 array elements. The top two bits in all remaining array elements should be 0. The next five bits in all array elements contain array index. Only one bit is used and bit position in this five-bits range defines array index. This means there can be at most five array elements in the future. To define new right the CAPRIGHT() macro must be used. The macro takes two arguments - an array index and a bit to set, eg. #define CAP_PDKILL CAPRIGHT(1, 0x0000000000000800ULL) We still support aliases that combine few rights, but the rights have to belong to the same array element, eg: #define CAP_LOOKUP CAPRIGHT(0, 0x0000000000000400ULL) #define CAP_FCHMOD CAPRIGHT(0, 0x0000000000002000ULL) #define CAP_FCHMODAT (CAP_FCHMOD | CAP_LOOKUP) There is new API to manage the new cap_rights_t structure: cap_rights_t *cap_rights_init(cap_rights_t *rights, ...); void cap_rights_set(cap_rights_t *rights, ...); void cap_rights_clear(cap_rights_t *rights, ...); bool cap_rights_is_set(const cap_rights_t *rights, ...); bool cap_rights_is_valid(const cap_rights_t *rights); void cap_rights_merge(cap_rights_t *dst, const cap_rights_t *src); void cap_rights_remove(cap_rights_t *dst, const cap_rights_t *src); bool cap_rights_contains(const cap_rights_t *big, const cap_rights_t *little); Capability rights to the cap_rights_init(), cap_rights_set(), cap_rights_clear() and cap_rights_is_set() functions are provided by separating them with commas, eg: cap_rights_t rights; cap_rights_init(&rights, CAP_READ, CAP_WRITE, CAP_FSTAT); There is no need to terminate the list of rights, as those functions are actually macros that take care of the termination, eg: #define cap_rights_set(rights, ...) \ __cap_rights_set((rights), __VA_ARGS__, 0ULL) void __cap_rights_set(cap_rights_t *rights, ...); Thanks to using one bit as an array index we can assert in those functions that there are no two rights belonging to different array elements provided together. For example this is illegal and will be detected, because CAP_LOOKUP belongs to element 0 and CAP_PDKILL to element 1: cap_rights_init(&rights, CAP_LOOKUP | CAP_PDKILL); Providing several rights that belongs to the same array's element this way is correct, but is not advised. It should only be used for aliases definition. This commit also breaks compatibility with some existing Capsicum system calls, but I see no other way to do that. This should be fine as Capsicum is still experimental and this change is not going to 9.x. Sponsored by: The FreeBSD Foundation |
#
77de2c3f |
|
30-Aug-2013 |
Mark Murray <markm@FreeBSD.org> |
Separate out the Software RNG entropy harvesting queue and thread into its own files. Submitted by: Arthur Mesh <arthurmesh@gmail.com> |
#
f27c28dc |
|
30-Aug-2013 |
Mark Murray <markm@FreeBSD.org> |
MFC
|
#
9f40021f |
|
29-Aug-2013 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Introduce a new, HVM compatible, paravirtualized timer driver for Xen. Use this new driver for both PV and HVM instances. This driver requires a Xen hypervisor that supports vector callbacks, VCPUOP hypercalls, and reports that it has a "safe PV clock". New timer driver: Submitted by: will Sponsored by: Spectra Logic Corporation PV port to new driver, and bug fixes: Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D sys/dev/xen/timer/timer.c: - Register a PV timer device driver which (currently) implements device_{identify,probe,attach} and stubs device_detach. The detach routine requires functionality not provided by timecounters(4). The suspend and resume routines need additional work (due to Xen requiring that the hypercalls be executed on the target VCPU), and aren't needed for our purposes. - Make sure there can only be one device instance of this driver, and that it only registers one eventtimers(4) and one timecounters(4) device interface. Make both interfaces use PCPU data as needed. - Match, with a few style cleanups & API differences, the Xen versions of the "fetch time" functions. - Document the magic scale_delta() better for the i386 version. - When registering the event timer, bind a separate event channel for the timer VIRQ to the device's event timer interrupt handler for each active VCPU. Describe each interrupt as "xen_et:c%d", so they can be identified per CPU in "vmstat -i" or "show intrcnt" in KDB. - When scheduling a timer into the hypervisor, try up to 60 times if the hypervisor rejects the time as being in the past. In the common case, this retry shouldn't happen, and if it does, it should only happen once. This is because the event timer advertises a minimum period of 100usec, which is only less than the usual hypercall round trip time about 1 out of every 100 tries. (Unlike other similar drivers, this one actually checks whether the hypervisor accepted the singleshot timer set hypercall.) - Implement a RTC PV clock based on the hypervisor wallclock. sys/conf/files: - Add dev/xen/timer/timer.c if the kernel configuration includes either the XEN or XENHVM options. sys/conf/files.i386: sys/i386/include/xen/xen_clock_util.h: sys/i386/xen/clock.c: sys/i386/xen/xen_clock_util.c: sys/i386/xen/mp_machdep.c: sys/i386/xen/xen_rtc.c: - Remove previous PV timer used in i386 XEN PV kernels, the new timer introduced in this change is used instead (so we share the same code between PVHVM and PV). MFC after: 2 weeks |
#
76acc41f |
|
29-Aug-2013 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Implement vector callback for PVHVM and unify event channel implementations Re-structure Xen HVM support so that: - Xen is detected and hypercalls can be performed very early in system startup. - Xen interrupt services are implemented using FreeBSD's native interrupt delivery infrastructure. - the Xen interrupt service implementation is shared between PV and HVM guests. - Xen interrupt handlers can optionally use a filter handler in order to avoid the overhead of dispatch to an interrupt thread. - interrupt load can be distributed among all available CPUs. - the overhead of accessing the emulated local and I/O apics on HVM is removed for event channel port events. - a similar optimization can eventually, and fairly easily, be used to optimize MSI. Early Xen detection, HVM refactoring, PVHVM interrupt infrastructure, and misc Xen cleanups: Sponsored by: Spectra Logic Corporation Unification of PV & HVM interrupt infrastructure, bug fixes, and misc Xen cleanups: Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D sys/x86/x86/local_apic.c: sys/amd64/include/apicvar.h: sys/i386/include/apicvar.h: sys/amd64/amd64/apic_vector.S: sys/i386/i386/apic_vector.s: sys/amd64/amd64/machdep.c: sys/i386/i386/machdep.c: sys/i386/xen/exception.s: sys/x86/include/segments.h: Reserve IDT vector 0x93 for the Xen event channel upcall interrupt handler. On Hypervisors that support the direct vector callback feature, we can request that this vector be called directly by an injected HVM interrupt event, instead of a simulated PCI interrupt on the Xen platform PCI device. This avoids all of the overhead of dealing with the emulated I/O APIC and local APIC. It also means that the Hypervisor can inject these events on any CPU, allowing upcalls for different ports to be handled in parallel. sys/amd64/amd64/mp_machdep.c: sys/i386/i386/mp_machdep.c: Map Xen per-vcpu area during AP startup. sys/amd64/include/intr_machdep.h: sys/i386/include/intr_machdep.h: Increase the FreeBSD IRQ vector table to include space for event channel interrupt sources. sys/amd64/include/pcpu.h: sys/i386/include/pcpu.h: Remove Xen HVM per-cpu variable data. These fields are now allocated via the dynamic per-cpu scheme. See xen_intr.c for details. sys/amd64/include/xen/hypercall.h: sys/dev/xen/blkback/blkback.c: sys/i386/include/xen/xenvar.h: sys/i386/xen/clock.c: sys/i386/xen/xen_machdep.c: sys/xen/gnttab.c: Prefer FreeBSD primatives to Linux ones in Xen support code. sys/amd64/include/xen/xen-os.h: sys/i386/include/xen/xen-os.h: sys/xen/xen-os.h: sys/dev/xen/balloon/balloon.c: sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/console/xencons_ring.c: sys/dev/xen/control/control.c: sys/dev/xen/netback/netback.c: sys/dev/xen/netfront/netfront.c: sys/dev/xen/xenpci/xenpci.c: sys/i386/i386/machdep.c: sys/i386/include/pmap.h: sys/i386/include/xen/xenfunc.h: sys/i386/isa/npx.c: sys/i386/xen/clock.c: sys/i386/xen/mp_machdep.c: sys/i386/xen/mptable.c: sys/i386/xen/xen_clock_util.c: sys/i386/xen/xen_machdep.c: sys/i386/xen/xen_rtc.c: sys/xen/evtchn/evtchn_dev.c: sys/xen/features.c: sys/xen/gnttab.c: sys/xen/gnttab.h: sys/xen/hvm.h: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbus_if.m: sys/xen/xenbus/xenbusb_front.c: sys/xen/xenbus/xenbusvar.h: sys/xen/xenstore/xenstore.c: sys/xen/xenstore/xenstore_dev.c: sys/xen/xenstore/xenstorevar.h: Pull common Xen OS support functions/settings into xen/xen-os.h. sys/amd64/include/xen/xen-os.h: sys/i386/include/xen/xen-os.h: sys/xen/xen-os.h: Remove constants, macros, and functions unused in FreeBSD's Xen support. sys/xen/xen-os.h: sys/i386/xen/xen_machdep.c: sys/x86/xen/hvm.c: Introduce new functions xen_domain(), xen_pv_domain(), and xen_hvm_domain(). These are used in favor of #ifdefs so that FreeBSD can dynamically detect and adapt to the presence of a hypervisor. The goal is to have an HVM optimized GENERIC, but more is necessary before this is possible. sys/amd64/amd64/machdep.c: sys/dev/xen/xenpci/xenpcivar.h: sys/dev/xen/xenpci/xenpci.c: sys/x86/xen/hvm.c: sys/sys/kernel.h: Refactor magic ioport, Hypercall table and Hypervisor shared information page setup, and move it to a dedicated HVM support module. HVM mode initialization is now triggered during the SI_SUB_HYPERVISOR phase of system startup. This currently occurs just after the kernel VM is fully setup which is just enough infrastructure to allow the hypercall table and shared info page to be properly mapped. sys/xen/hvm.h: sys/x86/xen/hvm.c: Add definitions and a method for configuring Hypervisor event delievery via a direct vector callback. sys/amd64/include/xen/xen-os.h: sys/x86/xen/hvm.c: sys/conf/files: sys/conf/files.amd64: sys/conf/files.i386: Adjust kernel build to reflect the refactoring of early Xen startup code and Xen interrupt services. sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: sys/dev/xen/control/control.c: sys/dev/xen/evtchn/evtchn_dev.c: sys/dev/xen/netback/netback.c: sys/dev/xen/netfront/netfront.c: sys/xen/xenstore/xenstore.c: sys/xen/evtchn/evtchn_dev.c: sys/dev/xen/console/console.c: sys/dev/xen/console/xencons_ring.c Adjust drivers to use new xen_intr_*() API. sys/dev/xen/blkback/blkback.c: Since blkback defers all event handling to a taskqueue, convert this task queue to a "fast" taskqueue, and schedule it via an interrupt filter. This avoids an unnecessary ithread context switch. sys/xen/xenstore/xenstore.c: The xenstore driver is MPSAFE. Indicate as much when registering its interrupt handler. sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbusvar.h: Remove unused event channel APIs. sys/xen/evtchn.h: Remove all kernel Xen interrupt service API definitions from this file. It is now only used for structure and ioctl definitions related to the event channel userland device driver. Update the definitions in this file to match those from NetBSD. Implementing this interface will be necessary for Dom0 support. sys/xen/evtchn/evtchnvar.h: Add a header file for implemenation internal APIs related to managing event channels event delivery. This is used to allow, for example, the event channel userland device driver to access low-level routines that typical kernel consumers of event channel services should never access. sys/xen/interface/event_channel.h: sys/xen/xen_intr.h: Standardize on the evtchn_port_t type for referring to an event channel port id. In order to prevent low-level event channel APIs from leaking to kernel consumers who should not have access to this data, the type is defined twice: Once in the Xen provided event_channel.h, and again in xen/xen_intr.h. The double declaration is protected by __XEN_EVTCHN_PORT_DEFINED__ to ensure it is never declared twice within a given compilation unit. sys/xen/xen_intr.h: sys/xen/evtchn/evtchn.c: sys/x86/xen/xen_intr.c: sys/dev/xen/xenpci/evtchn.c: sys/dev/xen/xenpci/xenpcivar.h: New implementation of Xen interrupt services. This is similar in many respects to the i386 PV implementation with the exception that events for bound to event channel ports (i.e. not IPI, virtual IRQ, or physical IRQ) are further optimized to avoid mask/unmask operations that aren't necessary for these edge triggered events. Stubs exist for supporting physical IRQ binding, but will need additional work before this implementation can be fully shared between PV and HVM. sys/amd64/amd64/mp_machdep.c: sys/i386/i386/mp_machdep.c: sys/i386/xen/mp_machdep.c sys/x86/xen/hvm.c: Add support for placing vcpu_info into an arbritary memory page instead of using HYPERVISOR_shared_info->vcpu_info. This allows the creation of domains with more than 32 vcpus. sys/i386/i386/machdep.c: sys/i386/xen/clock.c: sys/i386/xen/xen_machdep.c: sys/i386/xen/exception.s: Add support for new event channle implementation. |
#
12278dbb |
|
26-Aug-2013 |
Mark Murray <markm@FreeBSD.org> |
MFC
|
#
57f60867 |
|
25-Aug-2013 |
Mark Johnston <markj@FreeBSD.org> |
Implement the ip, tcp, and udp DTrace providers. The probe definitions use dynamic translation so that their arguments match the definitions for these providers in Solaris and illumos. Thus, existing scripts for these providers should work unmodified on FreeBSD. Tested by: gnn, hiren MFC after: 1 month |
#
ddbfa6b1 |
|
24-Aug-2013 |
Mark Murray <markm@FreeBSD.org> |
1) example (partially humorous random_adaptor, that I call "EXAMPLE") * It's not meant to be used in a real system, it's there to show how the basics of how to create interfaces for random_adaptors. Perhaps it should belong in a manual page 2) Move probe.c's functionality in to random_adaptors.c * rename random_ident_hardware() to random_adaptor_choose() 3) Introduce a new way to choose (or select) random_adaptors via tunable "rngs_want" It's a list of comma separated names of adaptors, ordered by preferences. I.e.: rngs_want="yarrow,rdrand" Such setting would cause yarrow to be preferred to rdrand. If neither of them are available (or registered), then system will default to something reasonable (currently yarrow). If yarrow is not present, then we fall back to the adaptor that's first on the list of registered adaptors. 4) Introduce a way where RNGs can play a role of entropy source. This is mostly useful for HW rngs. The way I envision this is that every HW RNG will use this functionality by default. Functionality to disable this is also present. I have an example of how to use this in random_adaptor_example.c (see modload event, and init function) 5) fix kern.random.adaptors from kern.random.adaptors: yarrowpanicblock to kern.random.adaptors: yarrow,panic,block 6) add kern.random.active_adaptor to indicate currently selected adaptor: root@freebsd04:~ # sysctl kern.random.active_adaptor kern.random.active_adaptor: yarrow Submitted by: Arthur Mesh <arthurmesh@gmail.com> |
#
9732e4fd |
|
22-Aug-2013 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Move the old iSCSI initiator source to a more appropriate place (sys/dev/iscsi_initiator/ instead of sys/dev/iscsi/initiator/), to make room for the new one. This is also more logical location (kernel module being named iscsi_initiator.ko, for example). There is no ongoing work on this I know of, so it shouldn't make life harder for anyone. There are no functional changes, apart from "svn mv" and adjusting paths. |
#
0dac22d8 |
|
18-Aug-2013 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Implement 32bit versions of the cap_ioctls_limit(2) and cap_ioctls_get(2) system calls as unsigned longs have different size on i386 and amd64. Reported by: jilles Sponsored by: The FreeBSD Foundation |
#
d7511a40 |
|
12-Aug-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Add read-only support for extents in ext2fs. Basic support for extents was implemented by Zheng Liu as part of his Google Summer of Code in 2010. This support is read-only at this time. In addition to extents we also support the huge_file extension for read-only purposes. This works nicely with the additional support for birthtime/nanosec timestamps and dir_index that have been added lately. The implementation may not work for all ext4 filesystems as it doesn't support some features that are being enabled by default on recent linux like flex_bg. Nevertheless, the feature should be very useful for migration or simple access in filesystems that have been converted from ext2/3 or don't use incompatible features. Special thanks to Zheng Liu for his dedication and continued work to support ext2 in FreeBSD. Submitted by: Zheng Liu (lz@) Reviewed by: Mike Ma, Christoph Mallon (previous version) Sponsored by: Google Inc. MFC after: 3 weeks |
#
5711939b |
|
09-Aug-2013 |
David E. O'Brien <obrien@FreeBSD.org> |
* Add random_adaptors.[ch] which is basically a store of random_adaptor's. random_adaptor is basically an adapter that plugs in to random(4). random_adaptor can only be plugged in to random(4) very early in bootup. Unplugging random_adaptor from random(4) is not supported, and is probably a bad idea anyway, due to potential loss of entropy pools. We currently have 3 random_adaptors: + yarrow + rdrand (ivy.c) + nehemeiah * Remove platform dependent logic from probe.c, and move it into corresponding registration routines of each random_adaptor provider. probe.c doesn't do anything other than picking a specific random_adaptor from a list of registered ones. * If the kernel doesn't have any random_adaptor adapters present then the creation of /dev/random is postponed until next random_adaptor is kldload'ed. * Fix randomdev_soft.c to refer to its own random_adaptor, instead of a system wide one. Submitted by: arthurmesh@gmail.com, obrien Obtained from: Juniper Networks Reviewed by: so (des) |
#
0e6a0799 |
|
31-Jul-2013 |
David E. O'Brien <obrien@FreeBSD.org> |
Back out r253779 & r253786. |
#
31d98677 |
|
29-Jul-2013 |
Rui Paulo <rpaulo@FreeBSD.org> |
Import OpenBSD's rsu(4) WLAN driver. Support chipsets are the Realtek RTL8188SU, RTL8191SU, and RTL8192SU. Many thanks to Idwer Vollering for porting/writing the man page and for testing. Reviewed by: adrian, hselasky Obtained from: OpenBSD Tested by: kevlo, Idwer Vollering <vidwer at gmail.com> |
#
99ff83da |
|
29-Jul-2013 |
David E. O'Brien <obrien@FreeBSD.org> |
Decouple yarrow from random(4) device. * Make Yarrow an optional kernel component -- enabled by "YARROW_RNG" option. The files sha2.c, hash.c, randomdev_soft.c and yarrow.c comprise yarrow. * random(4) device doesn't really depend on rijndael-*. Yarrow, however, does. * Add random_adaptors.[ch] which is basically a store of random_adaptor's. random_adaptor is basically an adapter that plugs in to random(4). random_adaptor can only be plugged in to random(4) very early in bootup. Unplugging random_adaptor from random(4) is not supported, and is probably a bad idea anyway, due to potential loss of entropy pools. We currently have 3 random_adaptors: + yarrow + rdrand (ivy.c) + nehemeiah * Remove platform dependent logic from probe.c, and move it into corresponding registration routines of each random_adaptor provider. probe.c doesn't do anything other than picking a specific random_adaptor from a list of registered ones. * If the kernel doesn't have any random_adaptor adapters present then the creation of /dev/random is postponed until next random_adaptor is kldload'ed. * Fix randomdev_soft.c to refer to its own random_adaptor, instead of a system wide one. Submitted by: arthurmesh@gmail.com, obrien Obtained from: Juniper Networks Reviewed by: obrien |
#
3d30404f |
|
27-Jul-2013 |
Alfred Perlstein <alfred@FreeBSD.org> |
Fix watchdog pretimeout. The original API calls for pow2ns, however the new APIs from Linux call for seconds. We need to be able to convert to/from 2^Nns to seconds in both userland and kernel to fix this and properly compare units. |
#
caf20efc |
|
26-Jul-2013 |
Navdeep Parhar <np@FreeBSD.org> |
Add support for packet-sniffing tracers to cxgbe(4). This works with all T4 and T5 based cards and is useful for analyzing TSO, LRO, TOE, and for general purpose monitoring without tapping any cxgbe or cxl ifnet directly. Tracers on the T4/T5 chips provide access to Ethernet frames exactly as they were received from or transmitted on the wire. On transmit, a tracer will capture a frame after TSO segmentation, hw VLAN tag insertion, hw L3 & L4 checksum insertion, etc. It will also capture frames generated by the TCP offload engine (TOE traffic is normally invisible to the kernel). On receive, a tracer will capture a frame before hw VLAN extraction, runt filtering, other badness filtering, before the steering/drop/L2-rewrite filters or the TOE have had a go at it, and of course before sw LRO in the driver. There are 4 tracers on a chip. A tracer can trace only in one direction (tx or rx). For now cxgbetool will set up tracers to capture the first 128B of every transmitted or received frame on a given port. This is a small subset of what the hardware can do. A pseudo ifnet with the same name as the nexus driver (t4nex0 or t5nex0) will be created for tracing. The data delivered to this ifnet is an additional copy made inside the chip. Normal delivery to cxgbe<n> or cxl<n> will be made as usual. /* watch cxl0, which is the first port hanging off t5nex0. */ # cxgbetool t5nex0 tracer 0 tx0 (watch what cxl0 is transmitting) # cxgbetool t5nex0 tracer 1 rx0 (watch what cxl0 is receiving) # cxgbetool t5nex0 tracer list # tcpdump -i t5nex0 <== all that cxl0 sees and puts on the wire If you were doing TSO, a tcpdump on cxl0 may have shown you ~64K "frames" with no L3/L4 checksum but this will show you the frames that were actually transmitted. /* all done */ # cxgbetool t5nex0 tracer 0 disable # cxgbetool t5nex0 tracer 1 disable # cxgbetool t5nex0 tracer list # ifconfig t5nex0 destroy |
#
b9f07b86 |
|
23-Jul-2013 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add the support for 802.1q and port based vlans for arswitch. Tested on: RB450G (standalone ar8316), RSPRO (standalone ar8316) and TPLink MR-3220 (ar724x integrated switch). Approved by: adrian (mentor) Obtained from: zrouter |
#
ae230e21 |
|
13-Jul-2013 |
Rui Paulo <rpaulo@FreeBSD.org> |
Fix the urtwnfw definitions. We can now use urtwnfw in kernel config files. |
#
81d392a0 |
|
11-Jul-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Improve SYN cookies by encoding the MSS, WSCALE (window scaling) and SACK information into the ISN (initial sequence number) without the additional use of timestamp bits and switching to the very fast and cryptographically strong SipHash-2-4 MAC hash algorithm to protect the SYN cookie against forgeries. The purpose of SYN cookies is to encode all necessary session state in the 32 bits of our initial sequence number to avoid storing any information locally in memory. This is especially important when under heavy spoofed SYN attacks where we would either run out of memory or the syncache would fill with bogus connection attempts swamping out legitimate connections. The original SYN cookies method only stored an indexed MSS values in the cookie. This isn't sufficient anymore and breaks down in the presence of WSCALE information which is only exchanged during SYN and SYN-ACK. If we can't keep track of it then we may severely underestimate the available send or receive window. This is compounded with large windows whose size information on the TCP segment header is even lower numerically. A number of years back SYN cookies were extended to store the additional state in the TCP timestamp fields, if available on a connection. While timestamps are common among the BSD, Linux and other *nix systems Windows never enabled them by default and thus are not present for the vast majority of clients seen on the Internet. The common parameters used on TCP sessions have changed quite a bit since SYN cookies very invented some 17 years ago. Today we have a lot more bandwidth available making the use window scaling almost mandatory. Also SACK has become standard making recovering from packet loss much more efficient. This change moves all necessary information into the ISS removing the need for timestamps. Both the MSS (16 bits) and send WSCALE (4 bits) are stored in 3 bit indexed form together with a single bit for SACK. While this is significantly less than the original range, it is sufficient to encode all common values with minimal rounding. The MSS depends on the MTU of the path and with the dominance of ethernet the main value seen is around 1460 bytes. Encapsulations for DSL lines and some other overheads reduce it by a few more bytes for many connections seen. Rounding down to the next lower value in some cases isn't a problem as we send only slightly more packets for the same amount of data. The send WSCALE index is bit more tricky as rounding down under-estimates the available send space available towards the remote host, however a small number values dominate and are carefully selected again. The receive WSCALE isn't encoded at all but recalculated based on the local receive socket buffer size when a valid SYN cookie returns. A listen socket buffer size is unlikely to change while active. The index values for MSS and WSCALE are selected for minimal rounding errors based on large traffic surveys. These values have to be periodically validated against newer traffic surveys adjusting the arrays tcp_sc_msstab[] and tcp_sc_wstab[] if necessary. In addition the hash MAC to protect the SYN cookies is changed from MD5 to SipHash-2-4, a much faster and cryptographically secure algorithm. Reviewed by: dwmalone Tested by: Fabian Keil <fk@fabiankeil.de> |
#
3c9d5a03 |
|
10-Jul-2013 |
Hiren Panchasara <hiren@FreeBSD.org> |
Adding urtwn(4) firmware and related changes. Reviewed by: rpaulo Approved by: sbruno (mentor) |
#
5f545832 |
|
06-Jul-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Add files related to ext2 HTree implementation These should've been added along with r252890 Reported by: gonzo PointyHat: pfg MFC after: 1 week |
#
f72b68a1 |
|
03-Jul-2013 |
Navdeep Parhar <np@FreeBSD.org> |
- Include the T5 firmware with the driver. - Update the T4 firmware to the latest. - Minor reorganization and updates to the version macros, etc. Obtained from: Chelsio MFC after: 1 day |
#
6c6f1f01 |
|
03-Jul-2013 |
Peter Wemm <peter@FreeBSD.org> |
Add an entry for filemon. |
#
237abf0c |
|
28-Jun-2013 |
Davide Italiano <davide@FreeBSD.org> |
- Trim an unused and bogus Makefile for mount_smbfs. - Reconnect with some minor modifications, in particular now selsocket() internals are adapted to use sbintime units after recent'ish calloutng switch. |
#
5f518366 |
|
27-Jun-2013 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add a general purpose resource allocator, vmem, from NetBSD. It was originally inspired by the Solaris vmem detailed in the proceedings of usenix 2001. The NetBSD version was heavily refactored for bugs and simplicity. - Use this resource allocator to allocate the buffer and transient maps. Buffer cache defrags are reduced by 25% when used by filesystems with mixed block sizes. Ultimately this may permit dynamic buffer cache sizing on low KVA machines. Discussed with: alc, kib, attilio Tested by: pho Sponsored by: EMC / Isilon Storage Division |
#
db581564 |
|
21-Jun-2013 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Rename run(4) firmware file from runfw to run.fw. Previous name was the same as top-level target name for "device runfw" kernel option and caused cyclic dependancy that lead to kernel build breakage Module change is not strictly required and done for name unification sake PR: conf/175751 Submitted by: Issei <i10a at herbmint.jp> |
#
fd75b91d |
|
18-Jun-2013 |
Jack F Vogel <jfv@FreeBSD.org> |
Add quad port probe support, this gives the admin proper information about the slot (which should be a PCIE Gen 3 slot for this adapter) by looking back thru the PCI parent devices to the slot device. The fix above also corrects the bandwidth display to GT/s rather than the incorrect Gb/s Next, allow the use of ALTQ if you select the compile option IXGBE_LEGACY_TX. Allow the use of 'unsupported' optic modules by a compile option as well. Add a phy reset capability into the stop code, this is so a static configured driver will still behave properly when taken down (not being able to unload it). This revision synchronizes the shared code with Intel internal current code, and note that it now includes DCB supporting code, this was necessitated by some internal changes with the code, but it also will provide the opportunity to develop this feature in the core driver down the road. I have edited the README to get rid of some of the worse anachronisms in it as well, its by no means as robust as I might wish at this point however. Oh, I also have included some conditional stuff in the code so it will be compatible in both the 9.X and 10 environments. Performance has been a focus in recent changes and I believe this revision driver will perform very well in most workloads. MFC after: 2 weeks |
#
c8789c34 |
|
17-Jun-2013 |
Scott Long <scottl@FreeBSD.org> |
This is an addendum to r251837. Missed adding the new references to cam_compat.c to the various makefiles. Obtained from: Netflix |
#
216ca234 |
|
12-Jun-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate the LNA mixing diversity machinery from the AR9285 HAL to the driver. The AR9485 chip and AR933x SoC both implement LNA diversity. There are a few extra things that need to happen before this can be flipped on for those chips (mostly to do with setting up the different bias values and LNA1/LNA2 RSSI differences) but the first stage is putting this code into the driver layer so it can be reused. This has the added benefit of making it easier to expose configuration options and diagnostic information via the ioctl API. That's not yet being done but it sure would be nice to do so. Tested: * AR9285, with LNA diversity enabled * AR9285, with LNA diversity disabled in EEPROM |
#
c2c2fc4d |
|
08-Jun-2013 |
Rui Paulo <rpaulo@FreeBSD.org> |
Import Kevin Lo's port of urtwn(4) from OpenBSD. urtwn(4) is a driver for the Realtek RTL8188CU/RTL8192CU USB IEEE 802.11b/g/n wireless cards. This driver requires microcode which is available in FreeBSD ports: net/urtwn-firmware-kmod. Hiren ported the urtwn(4) man page from OpenBSD and Glen just commited a port for the firmware. TODO: - 802.11n support - Stability fixes - the driver can sustain lots of traffic but has trouble coping with simultaneous iperf sessions. - fix debugging MFC after: 2 months Tested by: kevlo, hiren, gjb |
#
b70f530b |
|
07-Jun-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Bring over the initial static bluetooth coexistence configuration for the WB195 combo NIC - an AR9285 w/ an AR3011 USB bluetooth NIC. The AR3011 is wired up using a 3-wire coexistence scheme to the AR9285. The code in if_ath_btcoex.c sets up the initial hardware mapping and coexistence configuration. There's nothing special about it - it's static; it doesn't try to configure bluetooth / MAC traffic priorities or try to figure out what's actually going on. It's enough to stop basic bluetooth traffic from causing traffic stalls and diassociation from the wireless network. To use this code, you must have the above NIC. No, it won't work for the AR9287+AR3012, nor the AR9485, AR9462 or AR955x combo cards. Then you set a kernel hint before boot or before kldload, where 'X' is the unit number of your AR9285 NIC: # kenv hint.ath.X.btcoex_profile=wb195 This will then appear in your boot messages: [100482] athX: Enabling WB195 BTCOEX This code is going to evolve pretty quickly (well, depending upon my spare time) so don't assume the btcoex API is going to stay stable. In order to use the bluetooth side, you must also load in firmware using ath3kfw and the binary firmware file (ath3k-1.fw in my case.) Tested: * AR9280, no interference * WB195 - AR9285 + AR3011 combo; STA mode; basic bluetooth inquiries were enough to cause traffic stalls and disassociations. This has stopped with the btcoex profile code. TODO: * Importantly - the AR9285 needs ASPM disabled if bluetooth coexistence is enabled. No, I don't know why. It's likely some kind of bug to do with the AR3011 sending bluetooth coexistence signals whilst the device is asleep. Since we don't actually sleep the MAC just yet, it shouldn't be a problem. That said, to be totally correct: + ASPM should be disabled - upon attach and wakeup + The PCIe powersave HAL code should never be called Look at what the ath9k driver does for inspiration. * Add WB197 (AR9287+AR3012) support * Add support for the AR9485, which is another combo like the AR9285 * The later NICs have a different signaling mechanism between the MAC and the bluetooth device; I haven't even begun to experiment with making that HAL code work. But it should be a lot more automatic. * The hardware can do much more interesting traffic weighting with bluetooth and wifi traffic. None of this is currently used. Ideally someone would code up something to watch the bluetooth traffic GPIO (via an interrupt) and then watch it go high/low; then figure out what the bluetooth traffic is and adjust things appropriately. * If I get the time I may add in some code to at least track this stuff and expose statistics. But it's up to someone else to experiment with the bluetooth coexistence support and add the interesting stuff (like "real" detection of bulk, audio, etc bluetooth traffic patterns and change wifi parameters appropriately - eg, maximum aggregate length, transmit power, using quiet time to control TX duty cycle, etc.) |
#
dce93cd0 |
|
24-May-2013 |
Achim Leubner <achim@FreeBSD.org> |
Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver. Approved by: scottl (mentor) |
#
cb34ed44 |
|
20-May-2013 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add basic support for FDT to i386 & amd64. This change includes: 1. Common headers for fdt.h and ofw_machdep.h under x86/include with indirections under i386/include and amd64/include. 2. New modinfo for loader provided FDT blob. 3. Common x86_init_fdt() called from hammer_time() on amd64 and init386() on i386. 4. Split-off FDT specific low-level console functions from FDT bus methods for the uart(4) driver. The low-level console logic has been moved to uart_cpu_fdt.c and is used for arm, mips & powerpc only. The FDT bus methods are shared across all architectures. 5. Add dev/fdt/fdt_x86.c to hold the fdt_fixup_table[] and the fdt_pic_table[] arrays. Both are empty right now. FDT addresses are I/O ports on x86. Since the core FDT code does not handle different address spaces, adding support for both I/O ports and memory addresses requires some thought and discussion. It may be better to use a compile-time option that controls this. Obtained from: Juniper Networks, Inc. |
#
a9d8d09c |
|
20-May-2013 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20130517.
|
#
f2cc1285 |
|
11-May-2013 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add a new general purpose path-compressed radix trie which can be used with any structure containing a uint64_t index. The tree code auto-generates type safe wrappers. - Eliminate the buf splay and replace it with pctrie. This is not only significantly faster with large files but also allows for the possibility of shared locking. Reviewed by: alc, attilio Sponsored by: EMC / Isilon Storage Division |
#
248dd603 |
|
08-May-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Bring in a basic ethernet switch driver for the IP17x series of switches. These are notably found on some AR71xx based Mikrotik boards. Submitted by: Luiz Otavio O Souza <loos.br@gmail.com> Reviewed by: ray |
#
0e468be1 |
|
02-May-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Add the AR9300 HAL into the kernel and module builds. Tested: * make universe (honest!) |
#
b3caab66 |
|
30-Apr-2013 |
Brooks Davis <brooks@FreeBSD.org> |
MFP4 changes 222065 and 222068: Add a simplebus attachment for cfi(4)'s FDT support and move cfi_bus_fdt.c to sys/conf/files so non-ppc architectures are supported. Sponsored by: DARPA, AFRL |
#
895f26a9 |
|
19-Apr-2013 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20130418.
|
#
7b796c40 |
|
19-Apr-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Implement a very basic multi-PHY aware switch device. This is intended to be used as a stop-gap for switch devices which expose multiple ethernet PHYs but we don't have a driver for - here, etherswitchcfg and the general switch configuration API can be used to interface to said PHYs. Submitted by: Luiz Otavio O Souza <loos.br@gmail.com> |
#
adb97406 |
|
17-Apr-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Move the NFS FHA (File Handle Affinity) code from sys/nfsserver to sys/nfs, since it is now shared by the two NFS servers. Suggested by: rmacklem Sponsored by: Spectra Logic MFC after: 2 weeks |
#
d96b98a3 |
|
17-Apr-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Revamp the old NFS server's File Handle Affinity (FHA) code so that it will work with either the old or new server. The FHA code keeps a cache of currently active file handles for NFSv2 and v3 requests, so that read and write requests for the same file are directed to the same group of threads (reads) or thread (writes). It does not currently work for NFSv4 requests. They are more complex, and will take more work to support. This improves read-ahead performance, especially with ZFS, if the FHA tuning parameters are configured appropriately. Without the FHA code, concurrent reads that are part of a sequential read from a file will be directed to separate NFS threads. This has the effect of confusing the ZFS zfetch (prefetch) code and makes sequential reads significantly slower with clients like Linux that do a lot of prefetching. The FHA code has also been updated to direct write requests to nearby file offsets to the same thread in the same way it batches reads, and the FHA code will now also send writes to multiple threads when needed. This improves sequential write performance in ZFS, because writes to a file are now more ordered. Since NFS writes (generally less than 64K) are smaller than the typical ZFS record size (usually 128K), out of order NFS writes to the same block can trigger a read in ZFS. Sending them down the same thread increases the odds of their being in order. In order for multiple write threads per file in the FHA code to be useful, writes in the NFS server have been changed to use a LK_SHARED vnode lock, and upgrade that to LK_EXCLUSIVE if the filesystem doesn't allow multiple writers to a file at once. ZFS is currently the only filesystem that allows multiple writers to a file, because it has internal file range locking. This change does not affect the NFSv4 code. This improves random write performance to a single file in ZFS, since we can now have multiple writers inside ZFS at one time. I have changed the default tuning parameters to a 22 bit (4MB) window size (from 256K) and unlimited commands per thread as a result of my benchmarking with ZFS. The FHA code has been updated to allow configuring the tuning parameters from loader tunable variables in addition to sysctl variables. The read offset window calculation has been slightly modified as well. Instead of having separate bins, each file handle has a rolling window of bin_shift size. This minimizes glitches in throughput when shifting from one bin to another. sys/conf/files: Add nfs_fha_new.c and nfs_fha_old.c. Compile nfs_fha.c when either the old or the new NFS server is built. sys/fs/nfs/nfsport.h, sys/fs/nfs/nfs_commonport.c: Bring in changes from Rick Macklem to newnfs_realign that allow it to operate in blocking (M_WAITOK) or non-blocking (M_NOWAIT) mode. sys/fs/nfs/nfs_commonsubs.c, sys/fs/nfs/nfs_var.h: Bring in a change from Rick Macklem to allow telling nfsm_dissect() whether or not to wait for mallocs. sys/fs/nfs/nfsm_subs.h: Bring in changes from Rick Macklem to create a new nfsm_dissect_nonblock() inline function and NFSM_DISSECT_NONBLOCK() macro. sys/fs/nfs/nfs_commonkrpc.c, sys/fs/nfsclient/nfs_clkrpc.c: Add the malloc wait flag to a newnfs_realign() call. sys/fs/nfsserver/nfs_nfsdkrpc.c: Setup the new NFS server's RPC thread pool so that it will call the FHA code. Add the malloc flag argument to newnfs_realign(). Unstaticize newnfs_nfsv3_procid[] so that we can use it in the FHA code. sys/fs/nfsserver/nfs_nfsdsocket.c: In nfsrvd_dorpc(), add NFSPROC_WRITE to the list of RPC types that use the LK_SHARED lock type. sys/fs/nfsserver/nfs_nfsdport.c: In nfsd_fhtovp(), if we're starting a write, check to see whether the underlying filesystem supports shared writes. If not, upgrade the lock type from LK_SHARED to LK_EXCLUSIVE. sys/nfsserver/nfs_fha.c: Remove all code that is specific to the NFS server implementation. Anything that is server-specific is now accessed through a callback supplied by that server's FHA shim in the new softc. There are now separate sysctls and tunables for the FHA implementations for the old and new NFS servers. The new NFS server has its tunables under vfs.nfsd.fha, the old NFS server's tunables are under vfs.nfsrv.fha as before. In fha_extract_info(), use callouts for all server-specific code. Getting file handles and offsets is now done in the individual server's shim module. In fha_hash_entry_choose_thread(), change the way we decide whether two reads are in proximity to each other. Previously, the calculation was a simple shift operation to see whether the offsets were in the same power of 2 bucket. The issue was that there would be a bucket (and therefore thread) transition, even if the reads were in close proximity. When there is a thread transition, reads wind up going somewhat out of order, and ZFS gets confused. The new calculation simply tries to see whether the offsets are within 1 << bin_shift of each other. If they are, the reads will be sent to the same thread. The effect of this change is that for sequential reads, if the client doesn't exceed the max_reqs_per_nfsd parameter and the bin_shift is set to a reasonable value (22, or 4MB works well in my tests), the reads in any sequential stream will largely be confined to a single thread. Change fha_assign() so that it takes a softc argument. It is now called from the individual server's shim code, which will pass in the softc. Change fhe_stats_sysctl() so that it takes a softc parameter. It is now called from the individual server's shim code. Add the current offset to the list of things printed out about each active thread. Change the num_reads and num_writes counters in the fha_hash_entry structure to 32-bit values, and rename them num_rw and num_exclusive, respectively, to reflect their changed usage. Add an enable sysctl and tunable that allows the user to disable the FHA code (when vfs.XXX.fha.enable = 0). This is useful for before/after performance comparisons. nfs_fha.h: Move most structure definitions out of nfs_fha.c and into the header file, so that the individual server shims can see them. Change the default bin_shift to 22 (4MB) instead of 18 (256K). Allow unlimited commands per thread. sys/nfsserver/nfs_fha_old.c, sys/nfsserver/nfs_fha_old.h, sys/fs/nfsserver/nfs_fha_new.c, sys/fs/nfsserver/nfs_fha_new.h: Add shims for the old and new NFS servers to interface with the FHA code, and callbacks for the The shims contain all of the code and definitions that are specific to the NFS servers. They setup the server-specific callbacks and set the server name for the sysctl and loader tunable variables. sys/nfsserver/nfs_srvkrpc.c: Configure the RPC code to call fhaold_assign() instead of fha_assign(). sys/modules/nfsd/Makefile: Add nfs_fha.c and nfs_fha_new.c. sys/modules/nfsserver/Makefile: Add nfs_fha_old.c. Reviewed by: rmacklem Sponsored by: Spectra Logic MFC after: 2 weeks |
#
c0720112 |
|
15-Apr-2013 |
Ivan Voras <ivoras@FreeBSD.org> |
Introduce glabel labels based on GEOM ident attributes. In this initial implementation, error on the side of conservatism and only create labels for GEOMs of classes DISK and MULTIPATH. Discussed with: trasz Approved by: silence from freebsd-geom@ |
#
4e76af6a |
|
08-Apr-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge from projects/counters: counter(9). Introduce counter(9) API, that implements fast and raceless counters, provided (but not limited to) for gathering of statistical data. See http://lists.freebsd.org/pipermail/freebsd-arch/2013-April/014204.html for more details. In collaboration with: kib Reviewed by: luigi Tested by: ae, ray Sponsored by: Nginx, Inc. |
#
f924768c |
|
06-Apr-2013 |
Marius Strobl <marius@FreeBSD.org> |
- Make ata_str2mode() static, it's not used outside of ata-all.c. - Move ata_timeout() to ata-all.c so we don't need to expose both this function and ata_cam_end_transaction() but only the former. - Move ata_cmd2str() from ata-queue.c to ata-all.c so we can get rid of the former. - Add some missing prototypes. MFC after: 3 days |
#
9c7c683c |
|
04-Apr-2013 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20130328.
|
#
45f6d665 |
|
04-Apr-2013 |
Alexander Motin <mav@FreeBSD.org> |
Remove all legacy ATA code parts, not used since options ATA_CAM enabled in most kernels before FreeBSD 9.0. Remove such modules and respective kernel options: atadisk, ataraid, atapicd, atapifd, atapist, atapicam. Remove the atacontrol utility and some man pages. Remove useless now options ATA_CAM. No objections: current@, stable@ MFC after: never |
#
3b6e39d4 |
|
03-Apr-2013 |
Brooks Davis <brooks@FreeBSD.org> |
MFP4 change 217313 and part of 222068: Add a simple nexus attachment for cfi(4). |
#
7608b757 |
|
23-Mar-2013 |
Martin Matuska <mm@FreeBSD.org> |
Fix kernel build with options ZFS after r24571 (libzfs_core). Submitted by: Bjoern A. Zeeb <bz@FreeBSD.org> |
#
774d251d |
|
17-Mar-2013 |
Attilio Rao <attilio@FreeBSD.org> |
Sync back vmcontention branch into HEAD: Replace the per-object resident and cached pages splay tree with a path-compressed multi-digit radix trie. Along with this, switch also the x86-specific handling of idle page tables to using the radix trie. This change is supposed to do the following: - Allowing the acquisition of read locking for lookup operations of the resident/cached pages collections as the per-vm_page_t splay iterators are now removed. - Increase the scalability of the operations on the page collections. The radix trie does rely on the consumers locking to ensure atomicity of its operations. In order to avoid deadlocks the bisection nodes are pre-allocated in the UMA zone. This can be done safely because the algorithm needs at maximum one new node per insert which means the maximum number of the desired nodes is the number of available physical frames themselves. However, not all the times a new bisection node is really needed. The radix trie implements path-compression because UFS indirect blocks can lead to several objects with a very sparse trie, increasing the number of levels to usually scan. It also helps in the nodes pre-fetching by introducing the single node per-insert property. This code is not generalized (yet) because of the possible loss of performance by having much of the sizes in play configurable. However, efforts to make this code more general and then reusable in further different consumers might be really done. The only KPI change is the removal of the function vm_page_splay() which is now reaped. The only KBI change, instead, is the removal of the left/right iterators from struct vm_page, which are now reaped. Further technical notes broken into mealpieces can be retrieved from the svn branch: http://svn.freebsd.org/base/user/attilio/vmcontention/ Sponsored by: EMC / Isilon storage division In collaboration with: alc, jeff Tested by: flo, pho, jhb, davide Tested by: ian (arm) Tested by: andreast (powerpc) |
#
0ba771b5 |
|
14-Mar-2013 |
Brooks Davis <brooks@FreeBSD.org> |
FDT_DTS_FILE is expanded in a Makefile so use :R to remove the suffix rather than using echo|cut to remove everything after the first '.'. |
#
89f6b863 |
|
08-Mar-2013 |
Attilio Rao <attilio@FreeBSD.org> |
Switch the vm_object mutex to be a rwlock. This will enable in the future further optimizations where the vm_object lock will be held in read mode most of the time the page cache resident pool of pages are accessed for reading purposes. The change is mostly mechanical but few notes are reported: * The KPI changes as follow: - VM_OBJECT_LOCK() -> VM_OBJECT_WLOCK() - VM_OBJECT_TRYLOCK() -> VM_OBJECT_TRYWLOCK() - VM_OBJECT_UNLOCK() -> VM_OBJECT_WUNLOCK() - VM_OBJECT_LOCK_ASSERT(MA_OWNED) -> VM_OBJECT_ASSERT_WLOCKED() (in order to avoid visibility of implementation details) - The read-mode operations are added: VM_OBJECT_RLOCK(), VM_OBJECT_TRYRLOCK(), VM_OBJECT_RUNLOCK(), VM_OBJECT_ASSERT_RLOCKED(), VM_OBJECT_ASSERT_LOCKED() * The vm/vm_pager.h namespace pollution avoidance (forcing requiring sys/mutex.h in consumers directly to cater its inlining functions using VM_OBJECT_LOCK()) imposes that all the vm/vm_pager.h consumers now must include also sys/rwlock.h. * zfs requires a quite convoluted fix to include FreeBSD rwlocks into the compat layer because the name clash between FreeBSD and solaris versions must be avoided. At this purpose zfs redefines the vm_object locking functions directly, isolating the FreeBSD components in specific compat stubs. The KPI results heavilly broken by this commit. Thirdy part ports must be updated accordingly (I can think off-hand of VirtualBox, for example). Sponsored by: EMC / Isilon storage division Reviewed by: jeff Reviewed by: pjd (ZFS specific review) Discussed with: alc Tested by: pho |
#
d938ff1d |
|
25-Feb-2013 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmware to 1.8.4.0. MFC after: 5 days |
#
26dd49c6 |
|
21-Feb-2013 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Improve mxge's receive performance for IPv6: - Add support for IPv6 rx csum offload - Finally switch mxge from using its own driver lro, to using tcp_lro MFC after: 7 days Sponsored by: Myricom Inc. |
#
9c48c75e |
|
15-Feb-2013 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20130214.
|
#
f72761c6 |
|
13-Feb-2013 |
Ian Lepore <ian@FreeBSD.org> |
Add a dependency so that when compiling in a static dtb, the kernel gets re-linked after changing the .dts source. Reviewed by: cognet, arm@ |
#
dd0b4fb6 |
|
12-Feb-2013 |
Konstantin Belousov <kib@FreeBSD.org> |
Reform the busdma API so that new types may be added without modifying every architecture's busdma_machdep.c. It is done by unifying the bus_dmamap_load_buffer() routines so that they may be called from MI code. The MD busdma is then given a chance to do any final processing in the complete() callback. The cam changes unify the bus_dmamap_load* handling in cam drivers. The arm and mips implementations are updated to track virtual addresses for sync(). Previously this was done in a type specific way. Now it is done in a generic way by recording the list of virtuals in the map. Submitted by: jeff (sponsored by EMC/Isilon) Reviewed by: kan (previous version), scottl, mjacob (isp(4), no objections for target mode changes) Discussed with: ian (arm changes) Tested by: marius (sparc64), mips (jmallet), isci(4) on x86 (jharris), amd64 (Fabian Keil <freebsd-listen@fabiankeil.de>) |
#
ef17620f |
|
08-Feb-2013 |
Xin LI <delphij@FreeBSD.org> |
MFV r245512: * Illumos zfs issue #3035 [1] LZ4 compression support in ZFS. LZ4 is a new high-speed BSD-licensed compression algorithm created by Yann Collet that delivers very high compression and decompression performance compared to lzjb (>50% faster on compression, >80% faster on decompression and around 3x faster on compression of incompressible data), while giving better compression ratio [1]. This version of LZ4 corresponds to upstream's [2] revision 85. Please note that for obvious reasons this is not backward read compatible. This means once a pool have LZ4 compressed data, these data can no longer be read by older ZFS implementations. Local changes: - On-stack hash table disabled and using kernel slab allocator instead, at this time. This requires larger kernel thread stack for zio workers. This may change in the future should we adjusted the zio workers' thread stack size. - likely and unlikely will be undefined if they are already defined, this is required for i386 XEN build. - Removed De Bruijn sequence based __builtin_ctz family of builtins in favor of the latter. Both GCC and clang supports these builtins. - Changed the way the LZ4 code detects endianness. - Manual pages modifications to mention the feature based on Illumos counterpart. - Boot loader changes to make it support LZ4 decompression. [1] https://www.illumos.org/issues/3035 [2] http://code.google.com/p/lz4/source/list Obtained from: Illumos (13921:9d721847e469) Tested on: FreeBSD/amd64 MFC after: 1 month
|
#
efcc2a30 |
|
17-Jan-2013 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20130117.
|
#
0a349699 |
|
13-Jan-2013 |
Robert Watson <rwatson@FreeBSD.org> |
Partially merge Perforce changeset 219942 to head: Implement an FDT attachment for altera_avgen(4). Portions of the changeset updating DTS and device.hints will be merged separately. Sponsored by: DARPA, AFRL |
#
b364a525 |
|
13-Jan-2013 |
Robert Watson <rwatson@FreeBSD.org> |
Merge Perforce changeset 219940 to head: Rework altera_avgen(4) to cleanly(ish) separate nexus bus attachment from the driver itself. This should allow us to plug in an fdt attachment more easily. Sponsored by: DARPA, AFRL |
#
dc43fd86 |
|
13-Jan-2013 |
Robert Watson <rwatson@FreeBSD.org> |
Partially merge Perforce changeset 219930 to head: Add an Intel StrataFlash (isf) driver FDT attachment. Portions of the original changeset hooking up FDT use for BERI will be merged separately. Sponsored by: DARPA, AFRL |
#
180ee20c |
|
13-Jan-2013 |
Robert Watson <rwatson@FreeBSD.org> |
Merge Perforce changeset 219927 to head: Implement an FDT attachment for the Altera SD Card driver Sponsored by: DARPA, AFRL |
#
ae366ffc |
|
13-Jan-2013 |
Bryan Venteicher <bryanv@FreeBSD.org> |
Add VirtIO to the i386 and amd64 GENERIC kernels This also removes the kludge from r239009 that covered only the network driver. Reviewed by: grehan Approved by: grehan (mentor) MFC after: 1 week |
#
558e8c98 |
|
02-Jan-2013 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add missing dependancy. Submitted by: Michael Butler MFC after: 1 week |
#
aaa45683 |
|
01-Jan-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Link if_ath_spectral.c into the build. |
#
e9d8a3ab |
|
01-Jan-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Add missing update to link ar5416_spectral.c into the build. |
#
3254bef2 |
|
19-Dec-2012 |
Olivier Houchard <cognet@FreeBSD.org> |
Get the old NFSCLIENT to compile by adding now needed files. |
#
6f1cbda7 |
|
15-Dec-2012 |
Robert Watson <rwatson@FreeBSD.org> |
Four .c files from OpenBSM are used, in modified form, by the kernel to implement the BSM audit trail format. Rename the kernel versions of the files to match the userspace filenames so that it's easier to work out what they correspond to, and therefore ensure they are kept in-sync. Obtained from: TrustedBSD Project |
#
4516888b |
|
03-Dec-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Add the AR5416/AR9285 bluetooth coexistence code into the main kernel build. |
#
ed17e06e |
|
20-Nov-2012 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20121114.
|
#
1848286a |
|
18-Nov-2012 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add UFS writesuspension mechanism, designed to allow userland processes to modify on-disk metadata for filesystems mounted for write. Reviewed by: kib, mckusick Sponsored by: FreeBSD Foundation |
#
5b1723eb |
|
14-Nov-2012 |
Rui Paulo <rpaulo@FreeBSD.org> |
Enable back the clang warning in if_ath.c. |
#
611dd4b0 |
|
12-Nov-2012 |
David E. O'Brien <obrien@FreeBSD.org> |
Be more consistent. |
#
0e26b6eb |
|
12-Nov-2012 |
David E. O'Brien <obrien@FreeBSD.org> |
Garbage collect the explicit "compile-with", they are no longer needed. |
#
372c8c7e |
|
09-Nov-2012 |
Roman Divacky <rdivacky@FreeBSD.org> |
Dont compile some files in drm with -finline-limit=1350. GCC 4.2.1 doesnt need that and clang does not support that. This effectively reverts r126542. |
#
5c0adc7d |
|
26-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Siba, in theory, is a architecturally neutral bus, so place it in files. It used to be in files.mips before the clean-room rewrite and really doesn't belong there. If we need to grow arch specific code, we can move it into $ARCH/$ACH/siba_machdep.c. |
#
e3cdd5e1 |
|
24-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Hoist the MI compat_freebsd32 files up into files from files.*. |
#
5d26cae7 |
|
24-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Move common fdt into files. Duplicate in files.powerpc the files shared with aim. Config is smart enough to cope with multiple lines of the same path with different options. This reduces the needless duplication. |
#
a3028286 |
|
24-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Sort a few mis-sorted items. |
#
2d4a31aa |
|
23-Oct-2012 |
Andre Oppermann <andre@FreeBSD.org> |
Change the dependency of kern/uipc_cow.c from zero_copy_sockets to socket_send_cow. Missed in r241931. Submitted by: pluknet |
#
4f35c3ef |
|
19-Oct-2012 |
Marius Strobl <marius@FreeBSD.org> |
Fix kernel build with options ZFS after r240868. |
#
682ee99e |
|
18-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
It seems that it is preferable to keep support for glabel also for filesystems that we don't support natively. Revert part of r241636 to do so. This patch is not targeted for MFC. Requested by: gleb, jhb |
#
2e564269 |
|
17-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE SMBFS from the build in preparation for dropping GIANT from VFS. In addition, disconnect also netsmb, which is a base requirement for SMBFS. In the while SMBFS regular users can use FUSE interface and smbnetfs port to work with their SMBFS partitions. Also, there are ongoing efforts by vendor to support in-kernel smbfs, so there are good chances that it will get relinked once properly locked. This is not targeted for MFC. |
#
a42ac676 |
|
17-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE NTFS from the build in preparation for dropping GIANT from VFS. This code is particulary broken and fragile and other in-kernel implementations around, found in other operating systems, don't really seem clean and solid enough to be imported at all. If someone wants to reconsider in-kernel NTFS implementation for inclusion again, a fair effort for completely fixing and cleaning it up is expected. In the while NTFS regular users can use FUSE interface and ntfs-3g port to work with their NTFS partitions. This is not targeted for MFC. |
#
e6116d5b |
|
17-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE NWFS from the build in preparation for dropping GIANT from VFS. In addition, disconnect also netncp, which is a base requirement for NWFS. In the possibility of a future maintenance of the code and later readd to the FreeBSD base, maybe we should think about a better location for netncp. I'm not entirely sure the / top location is actually right, however I will let network people to comment on that more specifically. This is not targeted for MFC. |
#
26c3f6d7 |
|
16-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE CODAFS from the build in preparation for dropping GIANT from VFS. This is not targeted for MFC. |
#
4b0bdbfd |
|
16-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE XFS from the build in preparation for dropping GIANT from VFS. This is not targeted for MFC. |
#
55793cdc |
|
16-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE PORTALFS from the build in preparation for dropping GIANT from VFS. This is not targeted for MFC. |
#
05e009c4 |
|
16-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE HPFS from the build in preparation for dropping GIANT from VFS. This is not targeted for MFC. |
#
d6b3aaf8 |
|
15-Oct-2012 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Split sdhci driver in two parts: sdhci and sdhci_pci. sdchi encapsulates a generic SD Host Controller logic that relies on actual hardware driver for register access. sdhci_pci implements driver for PCI SDHC controllers using new SDHCI interface No kernel config modifications are required, but if you load sdhc as a module you must switch to sdhci_pci instead. |
#
5fe58019 |
|
13-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Import a FreeBSD port of the FUSE Linux module. This has been developed during 2 summer of code mandates and being revived by gnn recently. The functionality in this commit mirrors entirely content of fusefs-kmod port, which doesn't need to be installed anymore for -CURRENT setups. In order to get some sparse technical notes, please refer to: http://lists.freebsd.org/pipermail/freebsd-fs/2012-March/013876.html or to the project branch: svn://svn.freebsd.org/base/projects/fuse/ which also contains granular history of changes happened during port refinements. This commit does not came from the branch reintegration itself because it seems svn is not behaving properly for this functionaly at the moment. Partly Sponsored by: Google, Summer of Code program 2005, 2011 Originally submitted by: ilya, Csaba Henk <csaba-ml AT creo DOT hu > In collabouration with: pho Tested by: flo, gnn, Gustau Perez, Kevin Oberman <rkoberman AT gmail DOT com> MFC after: 2 months |
#
3b3a8eb9 |
|
14-Sep-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
o Create directory sys/netpfil, where all packet filters should reside, and move there ipfw(4) and pf(4). o Move most modified parts of pf out of contrib. Actual movements: sys/contrib/pf/net/*.c -> sys/netpfil/pf/ sys/contrib/pf/net/*.h -> sys/net/ contrib/pf/pfctl/*.c -> sbin/pfctl contrib/pf/pfctl/*.h -> sbin/pfctl contrib/pf/pfctl/pfctl.8 -> sbin/pfctl contrib/pf/pfctl/*.4 -> share/man/man4 contrib/pf/pfctl/*.5 -> share/man/man5 sys/netinet/ipfw -> sys/netpfil/ipfw The arguable movement is pf/net/*.h -> sys/net. There are future plans to refactor pf includes, so I decided not to break things twice. Not modified bits of pf left in contrib: authpf, ftp-proxy, tftp-proxy, pflogd. The ipfw(4) movement is planned to be merged to stable/9, to make head and stable match. Discussed with: bz, luigi |
#
7851c3ee |
|
13-Sep-2012 |
Navdeep Parhar <np@FreeBSD.org> |
Allow cxgbe to be built into a kernel with "device cxgbe." MFC after: 1 week |
#
654bedb8 |
|
11-Sep-2012 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add device entry for DWC OTG. |
#
a89828a2 |
|
10-Sep-2012 |
John Baldwin <jhb@FreeBSD.org> |
Remove some more NetBSD compat shims and other unused bits from these drivers: - Remove scsi_low_pisa.*, they were unused. - Remove <compat/netbsd/physio_proc.h> and calls to the stubs in that header. They were empty nops. - Retire sl_xname and use device_get_nameunit() and device_printf() with the underlying device_t instead. - Remove unused {ct,ncv,nsp,stg}print() functions. - Remove empty SOFT_INTR_REQUIRED() macro and the unused sl_irq member. |
#
62208ca5 |
|
03-Sep-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
- Move jenkins.h to jenkins_hash.c - Provide missing function that can do hashing of arbitrary sized buffer. - Refetch lookup3.c and do only minimal edits to it, so that diff between our jenkins_hash.c and lookup3.c is minimal. - Add declarations for jenkins_hash(), jenkins_hash32() to sys/hash.h. - Document these functions in hash(9) Obtained from: http://burtleburtle.net/bob/c/lookup3.c |
#
917a07e1 |
|
02-Sep-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Partially revert r239959, after actually fixing most of the clang warnings in sys/gnu/fs/xfs. The only warnings that still need to be suppressed are those about array bound overruns of flexible array members in xfs_dir2_{block,sf}.c, which are too expensive (in terms of cascading code changes) to fix. MFC after: 1 week X-MFC-With: r239959 |
#
04b648fe |
|
31-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Work around several warnings from clang in the xfs filesystem, when linking it statically into the kernel. With our gcc in base there are no warnings, so also remove the WERROR= from the module makefile. Noted by: Eir Nym <eirnym@gmail.com> MFC after: 1 week |
#
3a45ae3c |
|
31-Aug-2012 |
John Baldwin <jhb@FreeBSD.org> |
Add common rules for building firmware object files (NORMAL_FW to run uudecode, and NORMAL_FWO to use ld to build the .fwo file) and use those instead of explicit ld/uudecode invocations in sys/conf/files. Apart from increasing readability, this makes it possible to adjust the flags used for firmware objects in one place. MFC after: 2 weeks |
#
f70f23cc |
|
30-Aug-2012 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add PrimeCell UART (PL011) driver Obtained from: Semihalf |
#
9a6a13d6 |
|
29-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
After r239868, also remove the comment about the workaround for ah_eeprom_9287.c. |
#
5e34d6ba |
|
29-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Remove workaround for the clang 3.2 warning in ah_eeprom_9287.c, since the fix has been applied now. |
#
087d3173 |
|
25-Aug-2012 |
Brooks Davis <brooks@FreeBSD.org> |
Add isf(4), a driver for the Intel StrataFlash family of NOR flash parts. The driver attempts to support all documented parts, but has only been tested with the 512Mbit part on the Terasic DE4 FPGA board. It should be trivial to adapt the driver's attach routine to other embedded boards using with any parts in the family. Also import isfctl(8) which can be used to erase sections of the flash. Sponsored by: DARPA, AFRL |
#
d432e92a |
|
25-Aug-2012 |
Robert Watson <rwatson@FreeBSD.org> |
Add a device driver for the Altera University Program SD Card IP Core, which can be synthesised in Altera FPGAs. An altera_sdcardc device probes during the boot, and /dev/altera_sdcard devices come and go as inserted and removed. The device driver attaches directly to the Nexus, as is common for system-on-chip device drivers. This IP core suffers a number of significant limitations, including a lack of interrupt-driven I/O -- we must implement timer-driven polling, only CSD 0 cards (up to 2G) are supported, there are serious memory access issues that require the driver to verify writes to memory-mapped buffers, undocumented alignment requirements, and erroneous error returns. The driver must therefore work quite hard, despite a fairly simple hardware-software interface. The IP core also supports at most one outstanding I/O at a time, so is not a speed demon. However, with the above workarounds, and subject to performance problems, it works quite reliably in practice, and we can use it for read-write mounts of root file systems, etc. Sponsored by: DARPA, AFRL |
#
cf824886 |
|
25-Aug-2012 |
Robert Watson <rwatson@FreeBSD.org> |
Add altera_avgen(4), a generic device driver to be used by hard and soft CPU cores on Altera FPGAs. The device driver allows memory-mapped devices on Altera's Avalon SoC bus to be exported to userspace via device nodes. device.hints directories dictate device name, permissible access methods, physical address and length, and I/O alignment. Devices can be accessed using read(2)/write(2), but also memory mapped in userspace using mmap(2). Devices attach directly to the Nexus, as is common for embedded device drivers; in the future something more mature might be desirable. There is currently no facility to support directing device-originated interrupts to userspace. In the future, this device driver may be renamed to socgen(4), as it can in principle also be used with other system-on-chip (SoC) busses, such as Axi on ASICs and FPGAs. However, we have only tested it on Avalon busses with memory-mapped ROMs, frame buffers, etc. Sponsored by: DARPA, AFRL |
#
f8e8af9c |
|
21-Aug-2012 |
Hiroki Sato <hrs@FreeBSD.org> |
Add s35390a_rtc(4) driver for Seiko Instruments S-35390A RTC. Submitted by: Yusuke Tanaka |
#
7ae0e2c9 |
|
20-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copy of llvm/clang to trunk r162107. With thanks to Benjamin Kramer and Joerg Sonnenberger for their input and fixes.
|
#
1df130f1 |
|
16-Aug-2012 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20120816.
|
#
b011f8c4 |
|
14-Aug-2012 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Merging of projects/armv6, part 5 - Driver for SMSC LAN95XX and LAN8710A ethernet controllers - Driver for LAN8710A PHY Submitted by: Ben Gray, Damjan Marion, Tim Kientzle |
#
1463ca4a |
|
03-Aug-2012 |
Luigi Rizzo <luigi@FreeBSD.org> |
support building vtnet as an embedded driver |
#
d19f06b3 |
|
26-Jul-2012 |
Alexander Motin <mav@FreeBSD.org> |
Refactor enclosure manegement support in ahci(4). Move it out into separate subdevice ahciem. Emulate SEMB SES device from AHCI LED interface to expose it to users in form of ses(4) CAM device. If we ever see AHCI controllers supporting SES of SAF-TE over I2C as described by specification, they should fit well into this new picture. Sponsored by: iXsystems, Inc. |
#
3fdfc330 |
|
22-Jul-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Begin separating out the TX DMA setup in preparation for TX EDMA support. * Introduce TX DMA setup/teardown methods, mirroring what's done in the RX path. Although the TX DMA descriptor is setup via ath_desc_alloc() / ath_desc_free(), there TX status descriptor ring will be allocated in this path. * Remove some of the TX EDMA capability probing from the RX path and push it into the new TX EDMA path. |
#
85eeca35 |
|
17-Jul-2012 |
Alan Cox <alc@FreeBSD.org> |
Move what remains of vm/vm_contig.c into vm/vm_pageout.c, where similar code resides. Rename vm_contig_grow_cache() to vm_pageout_grow_cache(). Reviewed by: kib |
#
e8241eab |
|
11-Jul-2012 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20120711.
|
#
ab5d0362 |
|
05-Jul-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Sync with Intel internal source: shared code update and small changes in core required Add support for new i210/i211 devices Improve queue calculation based on mac type MFC after:5 days |
#
b9ea0cee |
|
03-Jul-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Link in the new RX EDMA routines. |
#
461a98a2 |
|
02-Jul-2012 |
Alexander Motin <mav@FreeBSD.org> |
Add acpi_asus_wmi(4) -- driver for random extras found on WMI-compatible Asus laptops. It is alike to acpi_asus(4), but uses WMI interface instead of separate ACPI device. On Asus EeePC T101MT netbook it allows to handle hotkeys and on/off WLAN, Bluetooth, LCD backlight, camera, cardreader and touchpad. On Asus UX31A ultrabook it allows to handle hotkeys, on/off WLAN, Bluetooth, Wireless LED, control keyboard backlight brightness, monitor temperature and fan speed. LCD brightness control doesn't work now for unknown reason, possibly requiring some video card initialization. Sponsored by: iXsystems, Inc. |
#
79e62fee |
|
23-Jun-2012 |
Marius Strobl <marius@FreeBSD.org> |
Unbreak options ZFS after r236884. |
#
a665ed98 |
|
23-Jun-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Move the code dealing with shared page into a dedicated kern_sharedpage.c source file from kern_exec.c. MFC after: 29 days |
#
09fe6320 |
|
19-Jun-2012 |
Navdeep Parhar <np@FreeBSD.org> |
- Updated TOE support in the kernel. - Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs. These are available as t3_tom and t4_tom modules that augment cxgb(4) and cxgbe(4) respectively. The cxgb/cxgbe drivers continue to work as usual with or without these extra features. - iWARP driver for Terminator 3 ASIC (kernel verbs). T4 iWARP in the works and will follow soon. Build-tested with make universe. 30s overview ============ What interfaces support TCP offload? Look for TOE4 and/or TOE6 in the capabilities of an interface: # ifconfig -m | grep TOE Enable/disable TCP offload on an interface (just like any other ifnet capability): # ifconfig cxgbe0 toe # ifconfig cxgbe0 -toe Which connections are offloaded? Look for toe4 and/or toe6 in the output of netstat and sockstat: # netstat -np tcp | grep toe # sockstat -46c | grep toe Reviewed by: bz, gnn Sponsored by: Chelsio communications. MFC after: ~3 months (after 9.1, and after ensuring MFC is feasible) |
#
8f0e9130 |
|
30-May-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Add a rangelock implementation, intended to be used to range-locking the i/o regions of the vnode data space. The implementation is quite simple-minded, it uses the list of the lock requests, ordered by arrival time. Each request may be for read or for write. The implementation is fair FIFO. MFC after: 2 month |
#
e9651b76 |
|
24-May-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Fix to kern/168294 - add flow director support into the static kernel build of ixgbe. Thanks Sergey for pointing this out. |
#
f6ad3f23 |
|
24-May-2012 |
Alexander Motin <mav@FreeBSD.org> |
MFprojects/zfsd: Revamp the CAM enclosure services driver. This updated driver uses an in-kernel daemon to track state changes and publishes physical path location information\for disk elements into the CAM device database. Sponsored by: Spectra Logic Corporation Sponsored by: iXsystems, Inc. Submitted by: gibbs, will, mav |
#
4ffd4dfe |
|
22-May-2012 |
Grzegorz Bernacki <gber@FreeBSD.org> |
Add a new geom class which allows to divide NAND Flash chip into partitions. Partitions are created based on data in dts file which are extracted and interpreted by slicer. Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks |
#
ba5c15d9 |
|
19-May-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate most of the beacon handling functions out to if_ath_beacon.c. This is also in preparation for supporting AR9300 and later NICs. |
#
a35dae8d |
|
19-May-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate the TDMA management functions out of if_ath.c into if_ath_tdma.c. There's some TX path TDMA code in if_ath_tx.c which should be migrated out, but first I should likely try and verify/fix/repair the TDMA support in 9.x and -HEAD. |
#
e60c4fc2 |
|
19-May-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate the bulk of the RX routines out from if_ath.c to if_ath_rx.[ch]. * migrate the rx processing out into if_ath_rx.c * migrate the TSF functions into if_ath_tsf.h, as inlines This is in prepration for supporting the EDMA RX routines, required to support the AR93xx series NICs. TODO: * ath_start() shouldn't be private, but it's called as part of the RX path. I should likely migrate ath_rx_tasklet() back into if_ath.c and then return this to be 'static'. The RX code really shouldn't need to see TX routines (and vice versa.) * ath_beacon_* should be in if_ath_beacon.[ch]. * ath_tdma_* should be in if_ath_tdma.[ch] ... |
#
7f725bcd |
|
17-May-2012 |
Grzegorz Bernacki <gber@FreeBSD.org> |
Import work done under project/nand (@235533) into head. The NAND Flash environment consists of several distinct components: - NAND framework (drivers harness for NAND controllers and NAND chips) - NAND simulator (NANDsim) - NAND file system (NAND FS) - Companion tools and utilities - Documentation (manual pages) This work is still experimental. Please use with caution. Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks |
#
27a2ecaa |
|
11-May-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Further arswitch work: * Add in the AR724x support. It probes the same as an AR8216/AR8316, so just add in a hint to force the probe success rather than auto-detecting it. * Add in the missing entries from conf/files, lacking in the previous commit. The register values and CPU port / mirror port initialisation value was obtained from Linux OpenWRT ag71xx_ar7240.c. The DELAY(1000) to let things settle is my local workaround. For some reason, PHY4 doesn't seem to probe very reliably without it. It's quite possible that we're missing some MDIO bus initialisation code in if_arge for the AR724x case. As I dislike DELAY() workarounds in general, it's definitely worth trying to figure out why this is the case. Tested on: AP93 (AR7240) reference design Obtained from: Linux OpenWRT |
#
4310d6de |
|
10-May-2012 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Add support for Ralink RT2800/RT3000 chipsets. Thanks to ray@, Sevan and Sergey Dyatko for feedback and testing! Obtained from: OpenBSD MFC after: 3 weeks |
#
4574da7f |
|
01-May-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Bring over the first part of the etherswitch framework - an MDIO bus and MDIO/MII rendezvous proxy. * Add an 'mdio' bus, which is the "IO" side of an MII bus (but by design can be anything which implements the underlying register access API.) * Add 'miiproxy' and 'mdioproxy', which provides a rendezvous mechanism for MII busses to appear hanging off arbitrary busses (ie, that aren't necessarily a traditional looking MII bus.) MII busses can now hang off anything that implements an mdiobus. For the AR71xx SoC, there's one MDIO bus but two MII busses. So to properly support two or more real PHYs, this can be done: # arge0 MDIO bus - there's no arge1 MDIO bus for AR71xx hint.argemdio.0.at="nexus0" hint.argemdio.0.maddr=0x19000000 hint.argemdio.0.msize=0x1000 hint.argemdio.0.order=0 # Create two mdioproxy instances hint.mdioproxy.0.at="mdio0" hint.mdioproxy.1.at="mdio0" # .. and with a follow-up patch hint.arge.0.mdio=mdioproxy0 hint.arge.1.mdio=mdioproxy0 TODO: * Do a sweep or two and add appropriate locking in mdio/mdioproxy/miiproxy. Submitted by: Stefan Bethke <stb@lassitu.de> Reviewed by: ray |
#
00f32ecb |
|
30-Apr-2012 |
Alexander Motin <mav@FreeBSD.org> |
Add to GEOM RAID class module, supporting the DDF metadata format, as defined by the SNIA Common RAID Disk Data Format Specification v2.0. Supports multiple volumes per array and multiple partitions per disk. Supports standard big-endian and Adaptec's little-endian byte ordering. Supports all single-layer RAID levels. Dual-layer RAID levels except RAID10 are not supported now because of GEOM RAID design limitations. Some work is still to be done, but the present code already manages basic interoperation with RAID BIOS of the Adaptec 1430SA SATA RAID controller. MFC after: 1 month Sponsored by: iXsystems, Inc. |
#
c9716b34 |
|
29-Apr-2012 |
Marius Strobl <marius@FreeBSD.org> |
Drag in subr_acl_nfs4.c for ZFS automatically, otherwise it's unintuitive that "options zfs" requires "options ufs_acl". |
#
fc1de960 |
|
18-Apr-2012 |
Alexander Motin <mav@FreeBSD.org> |
Add to GEOM RAID class module for reading non-degraded RAID5 volumes and some environment to differentiate 4 possible RAID5 on-disk layouts. Tested with Intel and AMD RAID BIOSes. MFC after: 2 weeks |
#
34f4e555 |
|
13-Apr-2012 |
Marius Strobl <marius@FreeBSD.org> |
Add a driver for the NXP (Philips) PCF8563 RTC. Obtained from: NetBSD (pcf8563reg.h) |
#
ed5a2b61 |
|
12-Apr-2012 |
John Baldwin <jhb@FreeBSD.org> |
Add OFED and the associated options and drivers to x86 LINT builds: - Mark 'sdp' as requiring 'inet'. - Always include "opt_inet.h" and "opt_inet6.h" and modify the IB driver Makefiles to honor WITH/WITHOUT_INET/INET6/_SUPPORT options to determine what should be enabled during a module build. - Fix the mlxen(4) driver and the core IB code to compile without if INET is disabled (including when both INET and INET6 are disabled). Reviewed by: bz MFC after: 2 weeks |
#
a6ba0fd6 |
|
30-Mar-2012 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
MFhead_mfi r227068 First cut of new HW support from LSI and merge into FreeBSD. Supports Drake Skinny and ThunderBolt cards. MFhead_mfi r227574 Style MFhead_mfi r227579 Use bus_addr_t instead of uintXX_t. MFhead_mfi r227580 MSI support MFhead_mfi r227612 More bus_addr_t and remove "#ifdef __amd64__". MFhead_mfi r227905 Improved timeout support from Scott. MFhead_mfi r228108 Make file. MFhead_mfi r228208 Fixed botched merge of Skinny support and enhanced handling in call back routine. MFhead_mfi r228279 Remove superfluous !TAILQ_EMPTY() checks before TAILQ_FOREACH(). MFhead_mfi r228310 Move mfi_decode_evt() to taskqueue. MFhead_mfi r228320 Implement MFI_DEBUG for 64bit S/G lists. MFhead_mfi r231988 Restore structure layout by reverting the array header to use [0] instead of [1]. MFhead_mfi r232412 Put wildcard pattern later in the match table. MFhead_mfi r232413 Use lower case for hexadecimal numbers to match surrounding style. MFhead_mfi r232414 Add more Thunderbolt variants. MFhead_mfi r232888 Don't act on events prior to boot or when shutting down. Add hw.mfi.detect_jbod_change to enable or disable acting on JBOD type of disks being added on insert and removed on removing. Switch hw.mfi.msi to 1 by default since it works better on newer cards. MFhead_mfi r233016 Release driver lock before taking Giant when deleting children. Use TAILQ_FOREACH_SAFE when items can be deleted. Make code a little simplier to follow. Fix a couple more style issues. MFhead_mfi r233620 Update mfi_spare/mfi_array with the actual number of elements for array_ref and pd. Change these max. #define names to avoid name space collisions. This will require an update to mfiutil It avoids mfiutil having to do a magic calculation. Add a note and #define to state that a "SYSTEM" disk is really what the firmware calls a "JBOD" drive. Thanks to the many that helped, LSI for the initial code drop, mav, delphij, jhb, sbruno that all helped with code and testing.
|
#
f5f9340b |
|
28-Mar-2012 |
Fabien Thomas <fabient@FreeBSD.org> |
Add software PMC support. New kernel events can be added at various location for sampling or counting. This will for example allow easy system profiling whatever the processor is with known tools like pmcstat(8). Simultaneous usage of software PMC and hardware PMC is possible, for example looking at the lock acquire failure, page fault while sampling on instructions. Sponsored by: NETASQ MFC after: 1 month |
#
88c7c434 |
|
27-Mar-2012 |
Peter Wemm <peter@FreeBSD.org> |
Allow (with a license warning) "options ZFS" to work in static kernels. The 'make depend' rules have to use custom -I paths for the special compat includes for the opensolaris/zfs headers. This option will pull in the couple of files that are shared with dtrace, but they appear to correctly use the MODULE_VERSION/MODULE_DEPEND rules so loader should do the right thing, as should kldload. Reviewed by: pjd (glanced at) |
#
1ab68cbb |
|
27-Mar-2012 |
Jayachandran C. <jchandra@FreeBSD.org> |
Driver for OpenCores I2C controller. Add a Simple polled driver iicoc for the OpenCores I2C controller. This is used in Netlogic XLP processors. Submitted by: Sreekanth M. S. (kanthms at netlogicmicro com) |
#
1513a6ff |
|
27-Mar-2012 |
Jayachandran C. <jchandra@FreeBSD.org> |
Move driver for DS1374 RTC to sys/dev/iicbus The earlier version of the driver is sys/mips/rmi/dev/iic/ds1374u.c Convert all references to ds1374u to ds1374, and use DEVMETHOD_END. Also update the license header as Netlogic is now Broadcom. |
#
3b5683fc |
|
23-Mar-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Work around the following clang warning in mps(4): sys/dev/mps/mps_sas.c:861:1: error: function 'mpssas_discovery_timeout' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] mpssas_discovery_timeout(void *data) ^ Because the driver is obtained from upstream, we don't want to modify it; just silence the warning instead, it is harmless. MFC after: 3 days |
#
e800e2e1 |
|
19-Mar-2012 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Connect geom_part_ldm to the kernel build. MFC after: 1 month |
#
3468c30c |
|
13-Mar-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
(Re)-make these ACL routines optional. They're only currently used by ZFS and UFS_ACL. They're just wasting space on embedded platforms with neither enabled. |
#
e4afd792 |
|
01-Mar-2012 |
Alexander Motin <mav@FreeBSD.org> |
Add driver for the RME HDSPe AIO/RayDAT sound cards -- snd_hdspe(4). Cards are expensive and so rare, so leave the driver as module. Submitted by: Ruslan Bukin <br@bsdpad.com> MFC after: 2 weeks |
#
102a3198 |
|
23-Feb-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Revert r231978, so I can apply a more proper fix to silence unneeded internal declaration warnings in several sys/cam/ctl files. MFC after: 1 week |
#
8508b798 |
|
21-Feb-2012 |
Dimitry Andric <dim@FreeBSD.org> |
When building with clang, disable -Wunneeded-internal-declaration for several sys/cam/ctl files, since these get the following warnings: In file included from sys/cam/ctl/ctl_backend.c:60: sys/cam/ctl/ctl_private.h:300:30: error: variable 'page_index_template' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] static struct ctl_page_index page_index_template[] = { ^ These warnings are tricky to fix without a lot of overhaul, and they are harmless, so disable them for now. MFC after: 1 week |
#
7b1144d2 |
|
19-Feb-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Break out the radar code into a separate source file. This mirrors the internal HAL organisation and reduces the differences between the HAL codebases slightly. Obtained from: Atheros |
#
a159c266 |
|
16-Feb-2012 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20120215.
|
#
93f90263 |
|
14-Feb-2012 |
Luigi Rizzo <luigi@FreeBSD.org> |
properly sort dev/oce entries |
#
2f345d8e |
|
10-Feb-2012 |
Luigi Rizzo <luigi@FreeBSD.org> |
Add a driver for Emulex OneConnect ethernet cards (10 Gbit PCIe) A manpage will come in a future commit. Submitted by: Naresh Raju Gottumukkala (emulex) |
#
5e0a19bd |
|
07-Feb-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Consistently set RPCGEN_CPP when running rpcgen, so the C preprocessor set via ${CPP} is used, instead of always using hardcoded /usr/bin/cpp. MFC after: 1 week |
#
c6708f73 |
|
04-Feb-2012 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
After multiple requests for back out, after multiple promisses from adrian@ to fix it (without fixing it), after making one of my servers unbootable, after now making also my laptop unbootable and after running out of patiance back out r229800 until better solution is found. |
#
048a50f3 |
|
02-Feb-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Fix the netback driver build for i386. netback.c: Add missing VM includes. xen/xenvar.h, xen/xenpmap.h: Move some XENHVM macros from <machine/xen/xenpmap.h> to <machine/xen/xenvar.h> on i386 to match the amd64 headers. conf/files: Add netback to the build. Submitted by: jhb MFC after: 3 days |
#
fc2e7eec |
|
02-Feb-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Unbreak the i386 full PV (XEN kernel) build by reverting rev 230878 and taking the netback driver out of the build temporarily. |
#
7106ed25 |
|
01-Feb-2012 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Use new OSS-based BSD-licensed header for cs sound driver. The cs driver requires a table with firmware values. An alternative firmware is available in a similar Open Sound System driver. This is actually a partial revert of Revision 77504. Special thanks to joel@ for patiently testing several replacement attempts. The csa driver and the complete sound system are now free of the GPL. Tested by: joel Approved by: jhb (mentor) MFC after: 3 weeks |
#
22ea1313 |
|
01-Feb-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add the netback driver to the build. MFC after: 3 days |
#
85d0a26e |
|
30-Jan-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
New hardware support: Intel X540 adapter support added. Some shared code reorganization along with the new adapter. Sync changes to OACTIVE in igb into this driver. Misc small fixes. |
#
d043c564 |
|
26-Jan-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Bring in the LSI-supported version of the mps(4) driver. This involves significant changes to the mps(4) driver, but is not a complete rewrite. Some of the changes in this version of the driver: - Integrated RAID (IR) support. - Support for WarpDrive controllers. - Support for SCSI protection information (EEDP). - Support for TLR (Transport Level Retries), needed for tape drives. - Improved error recovery code. - ioctl interface compatible with LSI utilities. mps.4: Update the mps(4) driver man page somewhat for the driver changes. The list of supported hardware still needs to be updated to reflect the full list of supported cards. conf/files: Add the new driver files. mps/mpi/*: Updated version of the MPI header files, with a BSD style copyright. mps/*: See above for a description of the new driver features. modules/mps/Makefile: Add the new mps(4) driver files. Submitted by: Kashyap Desai <Kashyap.Desai@lsi.com> Reviewed by: ken MFC after: 1 week |
#
5dcd37b1 |
|
20-Jan-2012 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Replace GPLd headers from the Maestro3 driver with BSD licensed versions derived from /usr/ports/audio/oss. The particular headers used were taken from the attic/drv/oss_allegro directory and are mostly identical to the previous files. The Maestro3 driver is now free from the GPL. NOTE: due to lack of testers this driver is being considered for deprecation and removal. PR: kern/153920 Approved by: jhb (mentor) MFC after: 2 weeks |
#
7c6b05d2 |
|
15-Jan-2012 |
Alexander Motin <mav@FreeBSD.org> |
Major snd_hda driver rewrite: - Huge old hdac driver was split into three independent pieces: HDA controller driver (hdac), HDA CODEC driver (hdacc) and HDA sudio function driver (hdaa). - Support for multichannel recording was added. Now, as specification defines, driver checks input associations for pins with sequence numbers 14 and 15, and if found (usually) -- works as before, mixing signals together. If it doesn't, it configures input association as multichannel. - Signal tracer was improved to look for cases where several DACs/ADCs in CODEC can work with the same audio signal. If such case found, driver registers additional playback/record stream (channel) for the pcm device. - New controller streams reservation mechanism was implemented. That allows to have more pcm devices then streams supported by the controller (usually 4 in each direction). Now it limits only number of simultaneously transferred audio streams, that is rarely reachable and properly reported if happens. - Codec pins and GPIO signals configuration was exported via set of writable sysctls. Another sysctl dev.hdaa.X.reconfig allows to trigger driver reconfiguration in run-time. - Driver now decodes pins location and connector type names. In some cases it allows to hint user where on the system case connectors, related to the pcm device, are located. Number of channels supported by pcm device, reported now (if it is not 2), should also make search easier. - Added workaround for digital mic on some Asus laptops/netbooks. MFC after: 2 months Sponsored by: iXsystems, Inc. |
#
130f4520 |
|
11-Jan-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add the CAM Target Layer (CTL). CTL is a disk and processor device emulation subsystem originally written for Copan Systems under Linux starting in 2003. It has been shipping in Copan (now SGI) products since 2005. It was ported to FreeBSD in 2008, and thanks to an agreement between SGI (who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is available under a BSD-style license. The intent behind the agreement was that Spectra would work to get CTL into the FreeBSD tree. Some CTL features: - Disk and processor device emulation. - Tagged queueing - SCSI task attribute support (ordered, head of queue, simple tags) - SCSI implicit command ordering support. (e.g. if a read follows a mode select, the read will be blocked until the mode select completes.) - Full task management support (abort, LUN reset, target reset, etc.) - Support for multiple ports - Support for multiple simultaneous initiators - Support for multiple simultaneous backing stores - Persistent reservation support - Mode sense/select support - Error injection support - High Availability support (1) - All I/O handled in-kernel, no userland context switch overhead. (1) HA Support is just an API stub, and needs much more to be fully functional. ctl.c: The core of CTL. Command handlers and processing, character driver, and HA support are here. ctl.h: Basic function declarations and data structures. ctl_backend.c, ctl_backend.h: The basic CTL backend API. ctl_backend_block.c, ctl_backend_block.h: The block and file backend. This allows for using a disk or a file as the backing store for a LUN. Multiple threads are started to do I/O to the backing device, primarily because the VFS API requires that to get any concurrency. ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a small amount of memory to act as a source and sink for reads and writes from an initiator. Therefore it cannot be used for any real data, but it can be used to test for throughput. It can also be used to test initiators' support for extremely large LUNs. ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes, and command handler functions defined for supported opcodes. ctl_debug.h: Debugging support. ctl_error.c, ctl_error.h: CTL-specific wrappers around the CAM sense building functions. ctl_frontend.c, ctl_frontend.h: These files define the basic CTL frontend port API. ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM. This frontend allows for using CTL without any target-capable hardware. So any LUNs you create in CTL are visible in CAM via this port. ctl_frontend_internal.c, ctl_frontend_internal.h: This is a frontend port written for Copan to do some system-specific tasks that required sending commands into CTL from inside the kernel. This isn't entirely relevant to FreeBSD in general, but can perhaps be repurposed. ctl_ha.h: This is a stubbed-out High Availability API. Much more is needed for full HA support. See the comments in the header and the description of what is needed in the README.ctl.txt file for more details. ctl_io.h: This defines most of the core CTL I/O structures. union ctl_io is conceptually very similar to CAM's union ccb. ctl_ioctl.h: This defines all ioctls available through the CTL character device, and the data structures needed for those ioctls. ctl_mem_pool.c, ctl_mem_pool.h: Generic memory pool implementation used by the internal frontend. ctl_private.h: Private data structres (e.g. CTL softc) and function prototypes. This also includes the SCSI vendor and product names used by CTL. ctl_scsi_all.c, ctl_scsi_all.h: CTL wrappers around CAM sense printing functions. ctl_ser_table.c: Command serialization table. This defines what happens when one type of command is followed by another type of command. ctl_util.c, ctl_util.h: CTL utility functions, primarily designed to be used from userland. See ctladm for the primary consumer of these functions. These include CDB building functions. scsi_ctl.c: CAM target peripheral driver and CTL frontend port. This is the path into CTL for commands from target-capable hardware/SIMs. README.ctl.txt: CTL code features, roadmap, to-do list. usr.sbin/Makefile: Add ctladm. ctladm/Makefile, ctladm/ctladm.8, ctladm/ctladm.c, ctladm/ctladm.h, ctladm/util.c: ctladm(8) is the CTL management utility. It fills a role similar to camcontrol(8). It allow configuring LUNs, issuing commands, injecting errors and various other control functions. usr.bin/Makefile: Add ctlstat. ctlstat/Makefile ctlstat/ctlstat.8, ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8). It reports I/O statistics for CTL. sys/conf/files: Add CTL files. sys/conf/NOTES: Add device ctl. sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB length field is now 2 bytes long. Add several mode page definitions for CTL. sys/cam/scsi_all.c: Handle the new 2 byte inquiry length. sys/dev/ciss/ciss.c, sys/dev/ata/atapi-cam.c, sys/cam/scsi/scsi_targ_bh.c, scsi_target/scsi_cmds.c, mlxcontrol/interface.c: Update for 2 byte inquiry length field. scsi_da.h: Add versions of the format and rigid disk pages that are in a more reasonable format for CTL. amd64/conf/GENERIC, i386/conf/GENERIC, ia64/conf/GENERIC, sparc64/conf/GENERIC: Add device ctl. i386/conf/PAE: The CTL frontend SIM at least does not compile cleanly on PAE. Sponsored by: Copan Systems, SGI and Spectra Logic MFC after: 1 month |
#
ec3fc72f |
|
11-Jan-2012 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20120111.
|
#
70e0bbed |
|
11-Jan-2012 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Replace GPL'd headers in the emu10kx snd driver code. This uses the emuxkireg.h already used in the emu10k1 snd driver. Special thanks go to Alexander Motin as he was able to find some errors and reverse engineer some wrong values in the emuxkireg header. The emu10kx driver is now free from the GPL. PR: 153901 Tested by: mav, joel Approved by: jhb (mentor) MFC after: 2 weeks |
#
3da972f7 |
|
07-Jan-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Make these two files conditionally build on UFS_ACL, as it doesn't seem to be used elsewhere. Since UFS_ACL is enabled by default for GENERIC kernels, this shouldn't break anything - but please beat me to fix things if it does. This reduces the footprint of the kernel on small embedded systems (think <1MB flash for the compressed kernel image) just enough to actually fit. |
#
ce96bb79 |
|
04-Jan-2012 |
Aleksandr Rybalko <ray@FreeBSD.org> |
GEOM_UNCOMPRESS module, can be used with uzip images and with new ulzma images. Approved by: adrian (mentor) |
#
e11f2b82 |
|
04-Jan-2012 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Update contrib/xz-embedded to build with new GEOM_UNCOMPRESS module. Approved by: adrian (mentor) |
#
c7e0c9db |
|
03-Jan-2012 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Replace a GPL'd header in the emu10k1 snd driver code. This brings in the emuxkireg.h from NetBSD (dev/pci) which is used for the same purpose but is smaller. The emu10k1 is now free from the GPL. PR: 153901 Obtained from: NetBSD Approved by: core (mentor implicit) MFC after: 2 weeks |
#
22fec34a |
|
03-Jan-2012 |
Ed Schouten <ed@FreeBSD.org> |
Implement extensions on top of standards instead of the other way around. Now that index() and rindex() have become unused, simply turn them into wrappers around strchr() and strrchr(), respectively. |
#
41adcfa1 |
|
01-Jan-2012 |
Ed Schouten <ed@FreeBSD.org> |
Remove the now unused skpc() function. It was only used by ufs and ext2 and I have really strong doubts that there are other pieces of code that also use this function. If it turns out that external drivers use this code as well, I'd be happy to migrate or revert. Bump __FreeBSD_version while there. |
#
de85bfc5 |
|
01-Jan-2012 |
Ed Schouten <ed@FreeBSD.org> |
Introducing memcchr(3). It seems two of the file system drivers we have in the tree, namely ufs and ext3, use a function called `skpc()'. The meaning of this function does not seem to be documented in FreeBSD, but it turns out one needs to be a VAX programmer to understand what it does. SPKC is an instruction on the VAX that does the opposite of memchr(). It searches for the non-equal character. Add a new function called memcchr() to the tree that has the following advantages over skpc(): - It has a name that makes more sense than skpc(). Just like strcspn() matches the complement of strspn(), memcchr() is the complement of memchr(). - It is faster than skpc(). Similar to our strlen() in libc, it compares entire words, instead of single bytes. It seems that for this routine this yields a sixfold performance increase on amd64. - It has a man page. |
#
97a15669 |
|
30-Dec-2011 |
Dimitry Andric <dim@FreeBSD.org> |
Disable several instances instances of clang's -Wself-assign warning. All of these are harmless, and are in fact used to shut up warnings from lint. While here, remove -Wno-missing-prototypes from the xfs module Makefile, as I could not reproduce those warnings either with gcc or clang. MFC after: 1 week |
#
874fb554 |
|
29-Dec-2011 |
Dimitry Andric <dim@FreeBSD.org> |
For several files in sys/dev/drm, disable -Wunused-value when building with clang. There are several macros in these files that return values, and in some cases nothing is done with them, but it is completely harmless. For some other files, also disable -Wconstant-conversion, since that triggers a false positive with the DMA_BIT_MASK() macro. MFC after: 1 week |
#
c65ee21d |
|
25-Dec-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
First pass of LED related code changes. Migrate the LED code out of if_ath.c and into if_ath_led.c. These routines are _all_ software based LED blinking. |
#
6f7651b9 |
|
21-Dec-2011 |
Dimitry Andric <dim@FreeBSD.org> |
When building with clang, disable -Wshift-count-negative and -Wshift-count-overflow for sys/dev/ath/ath_hal/ah_regdomain.c, as it gets multiple instances of the following warnings: In file included from sys/dev/ath/ath_hal/ah_regdomain.c:99: sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:69:15: warning: shift count is negative [-Wshift-count-negative] .chan11a = BM4(F1_4950_4980, ^~~~~~~~~~~~~~~~~ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:41:4: note: expanded from: W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) } ^ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:34:45: note: expanded from: (((_a) > 63 && (_a) < 128 ? (((uint64_t) 1)<<((_a)-64)) : (uint64_t) 0)) ^ ~~~~~~~~~ and: In file included from sys/dev/ath/ath_hal/ah_regdomain.c:99: sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:629:15: error: shift count >= width of type [-Werror,-Wshift-count-overflow] .chan11a = BM4(W2_5260_5320, ^~~~~~~~~~~~~~~~~ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:40:34: note: expanded from: { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd), \ ^ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:32:44: note: expanded from: (((_a) >= 0 && (_a) < 64 ? (((uint64_t) 1)<<(_a)) : (uint64_t) 0)) ^ ~~~~ Both warnings are false positives, caused by LLVM PR 10030. For global initializations, clang fails to detect that the branch of the ternary operator causing the warning is dead. MFC after: 1 week |
#
fea85869 |
|
21-Dec-2011 |
Dimitry Andric <dim@FreeBSD.org> |
When building with clang, disable -Warray-bounds for sys/dev/asr/asr.c, as it gets the following warning: sys/dev/asr/asr.c:1836:29: warning: array index of '58' indexes past the end of an array (that contains 1 element) [-Warray-bounds] while ((len > 0) && (sg < &((PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE) ^ sys/dev/asr/i2omsg.h:934:8: note: array 'Simple' declared here I2O_SGE_SIMPLE_ELEMENT Simple[1]; ^ This is a false positive, since I2O_SG_ELEMENT::Simple is not declared as a C99 flexible array member, but in the old (but more portable) way. At run-time, the proper number of array elements will hopefully have been allocated. MFC after: 1 week |
#
a380d07b |
|
21-Dec-2011 |
Dimitry Andric <dim@FreeBSD.org> |
Start selectively disabling a few kernel build warnings for clang, since there are some places in the kernel where fixing them is too disruptive, or where there is a false positive. In this case, disable -Wconstant-conversion for two aic7xxx-related files, as they get the following warning on i386 (and possibly on other 32-bit arches): sys/dev/aic7xxx/ahc_pci.c:112:10: warning: implicit conversion from 'long long' to 'bus_addr_t' (aka 'unsigned int') changes value from 549755813887 to 4294967295 [-Wconstant-conversion] ? 0x7FFFFFFFFFLL ~~^~~~~~~~~~~~~~ This is a false positive, since the code only passes the 0x7FFFFFFFFFLL argument, if sizeof(bus_addr_t) is larger than 4 (e.g. on 64 bit arches, or when PAE is enabled on i386). The code could be refactored to do compile-time checks, but that is more disruptive. MFC after: 1 week |
#
6aa40c01 |
|
17-Dec-2011 |
Andriy Gapon <avg@FreeBSD.org> |
retire libkern gets Inspired by: bde MFC after: 2 months X-MFC-Note: if deemed a part of KPI, just call cngets internally |
#
3f0275a0 |
|
28-Nov-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20111123.
|
#
7ac6374d |
|
28-Nov-2011 |
Philip Paeps <philip@FreeBSD.org> |
Limit building sfxge(4) in-kernel to amd64 for the time being. We can put it back after I fix the breakages on some of our more exotic platforms. While here, add the driver to the amd64 NOTES, so it can be picked up in LINT builds. |
#
3af069c5 |
|
25-Nov-2011 |
Marius Strobl <marius@FreeBSD.org> |
Deorbit the broken amd(4) (see PR 124667), which was superseded by esp(4) as of r227006. |
#
fee9ff32 |
|
23-Nov-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Don't compile in the AR9130 embedded WMAC code into the HAL by default. This won't work unless AH_SUPPORT_AR9130 which can't be enabled - it breaks the other 11n chipsets for now. Sponsored by: Hobnob, Inc. |
#
e4b68814 |
|
22-Nov-2011 |
Luigi Rizzo <luigi@FreeBSD.org> |
forgot to merge NETMAP entries in sys/conf ! |
#
cf13a585 |
|
20-Nov-2011 |
Lawrence Stewart <lstewart@FreeBSD.org> |
- Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate() system calls to provide feed-forward clock management capabilities to userspace processes. ffclock_getcounter() returns the current value of the kernel's feed-forward clock counter. ffclock_getestimate() returns the current feed-forward clock parameter estimates and ffclock_setestimate() updates the feed-forward clock parameter estimates. - Document the syscalls in the ffclock.2 man page. - Regenerate the script-derived syscall related files. Committed on behalf of Julien Ridoux and Darryl Veitch from the University of Melbourne, Australia, as part of the FreeBSD Foundation funded "Feed-Forward Clock Synchronization Algorithms" project. For more information, see http://www.synclab.org/radclock/ Submitted by: Julien Ridoux (jridoux at unimelb edu au) |
#
f464c5cc |
|
19-Nov-2011 |
Lawrence Stewart <lstewart@FreeBSD.org> |
Provide high-level functions to access the feed-forward absolute and difference clocks. Each routine can output an upper bound on the absolute time or time interval requested. Different flavours of absolute time can be requested, for example with or without leap seconds, monotonic or not, etc. Committed on behalf of Julien Ridoux and Darryl Veitch from the University of Melbourne, Australia, as part of the FreeBSD Foundation funded "Feed-Forward Clock Synchronization Algorithms" project. For more information, see http://www.synclab.org/radclock/ Submitted by: Julien Ridoux (jridoux at unimelb edu au) |
#
41f1dccc |
|
17-Nov-2011 |
Kevin Lo <kevlo@FreeBSD.org> |
Add unicode support to msdosfs and smbfs; original pathes from imura, bug fixes by Kuan-Chung Chiu <buganini at gmail dot com>. Tested by me in production for several days at work. |
#
e948693e |
|
16-Nov-2011 |
Philip Paeps <philip@FreeBSD.org> |
Add the sfxge(4) device driver, providing support for 10Gb Ethernet adapters based on Solarflare SFC9000 family controllers. The driver supports jumbo frames, transmit/receive checksum offload, TCP Segmentation Offload (TSO), Large Receive Offload (LRO), VLAN checksum offload, VLAN TSO, and Receive Side Scaling (RSS) using MSI-X interrupts. This work was sponsored by Solarflare Communications, Inc. My sincere thanks to Ben Hutchings for doing a lot of the hard work! Sponsored by: Solarflare Communications, Inc. MFC after: 3 weeks |
#
0d9a4ef3 |
|
03-Nov-2011 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
First cut at updating mfi(4) to support newer LSI MegaRAID SAS cards. Specifically, add support for "Drake Skinny" and "ThunderBolt" LSI cards. Initial code was supplied by LSI under BSD license. Several improvements were done by myself. Such things like making it work in a static kernel, be able to boot of the RAID, performance improvements. I removed some fairly complicated code that seemed to directly access the disks under the firmware. It doesn't seem to be needed and significantly slowed down the performance of the driver and caused tons of sense errors to be reported. This code is being checked in this area so others can help me get it into shape to commit into the FreeBSD tree. Assistance has been volunteered by iXsystems. We might want to re-work the JBOD attachment that creates /dev/mfisyspd? node for each disk. Performance is faster then prior cards. It works okay with WITNESS and INVARIANTS on amd64 and i386. I recall seeing a use after free time bug with FreeBSD 8 and a Drake Skinny card with WITNESS and INVARIANTS on. First task is get all of the new structures to be named in FreeBSD style format. Next is probably to deal with the 64bit addressing changes that are mostly around the #ifdef __amd64__ checks. Thanks to LSI for providing the initial code. Obtained from: LSI |
#
a9ab459b |
|
01-Nov-2011 |
Marius Strobl <marius@FreeBSD.org> |
Add a PCI front-end to esp(4) allowing it to support AMD Am53C974 and replace amd(4) with the former in the amd64, i386 and pc98 GENERIC kernel configuration files. Besides duplicating functionality, amd(4), which previously also supported the AMD Am53C974, unlike esp(4) is no longer maintained and has accumulated enough bit rot over time to always cause a panic during boot as long as at least one target is attached to it (see PR 124667). PR: 124667 Obtained from: NetBSD (based on) MFC after: 3 days |
#
8c1093fc |
|
01-Nov-2011 |
Marius Strobl <marius@FreeBSD.org> |
- Import the common MII bitbang'ing code from NetBSD and convert drivers to take advantage of it instead of duplicating it. This reduces the size of the i386 GENERIC kernel by about 4k. The only potential in-tree user left unconverted is xe(4), which generally should be changed to use miibus(4) instead of implementing PHY handling on its own, as otherwise it makes not much sense to add a dependency on miibus(4)/mii_bitbang(4) to xe(4) just for the MII bitbang'ing code. The common MII bitbang'ing code also is useful in the embedded space for using GPIO pins to implement MII access. - Based on lessons learnt with dc(4) (see r185750), add bus barriers to the MII bitbang read and write functions of the other drivers converted in order to ensure the intended ordering. Given that register access via an index register as well as register bank/window switching is subject to the same problem, also add bus barriers to the respective functions of smc(4), tl(4) and xl(4). - Sprinkle some const. Thanks to the following testers: Andrew Bliznak (nge(4)), nwhitehorn@ (bm(4)), yongari@ (sis(4) and ste(4)) Thanks to Hans-Joerg Sirtl for supplying hardware to test stge(4). Reviewed by: yongari (subset of drivers) Obtained from: NetBSD (partially) |
#
112a855d |
|
07-Oct-2011 |
Marius Strobl <marius@FreeBSD.org> |
- Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY drivers that only ever attach to a particular MAC driver, i.e. inphy(4), ruephy(4) and xlphy(4), to the directory where the respective MAC driver lives and only compile it into the kernel when the latter is also there, also removing it from miibus.ko and moving it into the module of the respective MAC driver. - While at it, rename exphy.c, which comes from NetBSD where the MAC driver it corresponds to also is named ex(4) instead of xl(4) but that in FreeBSD actually identifies itself as xlphy(4), and its function names accordingly for consistency. - Additionally while at it, fix some minor style issues like whitespace in the register headers and add multi-inclusion protection to inphyreg.h. |
#
f359758c |
|
04-Oct-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add strnlen() to libkern. |
#
db1fda10 |
|
04-Oct-2011 |
Xin LI <delphij@FreeBSD.org> |
Add the 9750 SATA+SAS 6Gb/s RAID controller card driver, tws(4). Many thanks for their contiued support to FreeBSD. This is version 10.80.00.003 from codeset 10.2.1 [1] Obtained from: LSI http://kb.lsi.com/Download16574.aspx [1] |
#
cfb5f768 |
|
18-Aug-2011 |
Jonathan Anderson <jonathan@FreeBSD.org> |
Add experimental support for process descriptors A "process descriptor" file descriptor is used to manage processes without using the PID namespace. This is required for Capsicum's Capability Mode, where the PID namespace is unavailable. New system calls pdfork(2) and pdkill(2) offer the functional equivalents of fork(2) and kill(2). pdgetpid(2) allows querying the PID of the remote process for debugging purposes. The currently-unimplemented pdwait(2) will, in the future, allow querying rusage/exit status. In the interim, poll(2) may be used to check (and wait for) process termination. When a process is referenced by a process descriptor, it does not issue SIGCHLD to the parent, making it suitable for use in libraries---a common scenario when using library compartmentalisation from within large applications (such as web browsers). Some observers may note a similarity to Mach task ports; process descriptors provide a subset of this behaviour, but in a UNIX style. This feature is enabled by "options PROCDESC", but as with several other Capsicum kernel features, is not enabled by default in GENERIC 9.0. Reviewed by: jhb, kib Approved by: re (kib), mentor (rwatson) Sponsored by: Google Inc |
#
49901133 |
|
08-Jul-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add new USB 3G driver. Submitted by: PseudoCylon <moonlightakkiy@yahoo.ca> MFC after: 14 days |
#
e0bfbfce |
|
28-Jun-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Update packet filter (pf) code to OpenBSD 4.5. You need to update userland (world and ports) tools to be in sync with the kernel. Submitted by: mlaier Submitted by: eri
|
#
0dbe859d |
|
24-Jun-2011 |
John Baldwin <jhb@FreeBSD.org> |
Split out host_pcib_get_busno() from the generic PCI-PCI bridge driver to start a new file that will hold utility APIs used by various Host-PCI bridge drivers and drivers that provide PCI domains. |
#
399e6543 |
|
23-Jun-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
- Add more USB templates for various USB device classes - Add basic template support for USB 3.0 - Export definition of template sysctl numbers through usb_ioctl.h MFC after: 7 days |
#
e4a06afe |
|
10-Jun-2011 |
Jeff Roberson <jeff@FreeBSD.org> |
- Eliminate an incorrect include path from the mthca build. |
#
52cd27cb |
|
05-Jun-2011 |
Robert Watson <rwatson@FreeBSD.org> |
Implement a CPU-affine TCP and UDP connection lookup data structure, struct inpcbgroup. pcbgroups, or "connection groups", supplement the existing inpcbinfo connection hash table, which when pcbgroups are enabled, might now be thought of more usefully as a per-protocol 4-tuple reservation table. Connections are assigned to connection groups base on a hash of their 4-tuple; wildcard sockets require special handling, and are members of all connection groups. During a connection lookup, a per-connection group lock is employed rather than the global pcbinfo lock. By aligning connection groups with input path processing, connection groups take on an effective CPU affinity, especially when aligned with RSS work placement (see a forthcoming commit for details). This eliminates cache line migration associated with global, protocol-layer data structures in steady state TCP and UDP processing (with the exception of protocol-layer statistics; further commit to follow). Elements of this approach were inspired by Willman, Rixner, and Cox's 2006 USENIX paper, "An Evaluation of Network Stack Parallelization Strategies in Modern Operating Systems". However, there are also significant differences: we maintain the inpcb lock, rather than using the connection group lock for per-connection state. Likewise, the focus of this implementation is alignment with NIC packet distribution strategies such as RSS, rather than pure software strategies. Despite that focus, software distribution is supported through the parallel netisr implementation, and works well in configurations where the number of hardware threads is greater than the number of NIC input queues, such as in the RMI XLR threaded MIPS architecture. Another important difference is the continued maintenance of existing hash tables as "reservation tables" -- these are useful both to distinguish the resource allocation aspect of protocol name management and the more common-case lookup aspect. In configurations where connection tables are aligned with hardware hashes, it is desirable to use the traditional lookup tables for loopback or encapsulated traffic rather than take the expense of hardware hashes that are hard to implement efficiently in software (such as RSS Toeplitz). Connection group support is enabled by compiling "options PCBGROUP" into your kernel configuration; for the time being, this is an experimental feature, and hence is not enabled by default. Subject to the limited MFCability of change dependencies in inpcb, and its change to the inpcbinfo init function signature, this change in principle could be merged to FreeBSD 8.x. Reviewed by: bz Sponsored by: Juniper Networks, Inc. |
#
884a2a69 |
|
04-Jun-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Rename recently added USB serial driver. Suggested by: YongHyeon PYUN MFC after: 7 days |
#
48237774 |
|
01-Jun-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Flesh out the radar detection related operations for the ath driver. This is in no way a complete DFS/radar detection implementation! It merely creates an abstracted interface which allows for future development of the DFS radar detection code. Note: Net80211 already handles the bulk of the DFS machinery, all we need to do here is figure out that a radar event has occured and inform it as such. It then drives the DFS state engine for us. The "null" DFS radar detection module is included by default; it doesn't require a device line. This commit: * Adds a simple abstracted layer for radar detection state - sys/dev/ath/ath_dfs/; * Implements a null DFS module which doesn't do anything; (ie, implements the exact behaviour at the moment); * Adds hooks to the ath driver to process received radar events and gives the DFS module a chance to determine whether a radar has been detected. Obtained from: Atheros |
#
0c38ca8c |
|
01-Jun-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for new USB serial driver. Submitted by: Lev Serebryakov, lev @ MFC after: 14 days |
#
4dba21f1 |
|
30-May-2011 |
Navdeep Parhar <np@FreeBSD.org> |
L2 table code. This is enough to get the T4's switch + L2 rewrite filters working. (All other filters - switch without L2 info rewrite, steer, and drop - were already fully-functional). Some contrived examples of "switch" filters with L2 rewriting: # cxgbetool t4nex0 iport 0 dport 80 action switch vlan +9 eport 3 Intercept all packets received on physical port 0 with TCP port 80 as destination, insert a vlan tag with VID 9, and send them out of port 3. # cxgbetool t4nex0 sip 192.168.1.1/32 ivlan 5 action switch \ vlan =9 smac aa:bb:cc:dd:ee:ff eport 0 Intercept all packets (received on any port) with source IP address 192.168.1.1 and VLAN id 5, rewrite the VLAN id to 9, rewrite source mac to aa:bb:cc:dd:ee:ff, and send it out of port 0. MFC after: 1 week |
#
94c389c6 |
|
26-May-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Introduce AR9287 support to the FreeBSD HAL. |
#
226e6f9b |
|
01-May-2011 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Add files for wpi(4) |
#
c3371854 |
|
30-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Fis a problem with r221258 that mac is still needed in case for ient6 only for mac_inet.c. Reported by: Luiz Otavio O Souza (lists.br gmail.com) MFC after: 4 days |
#
2daeab43 |
|
29-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
After r221249 allow SCTP to be compiled in an IPv6 only environment as well. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 10 days |
#
bb73f68c |
|
29-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Add some more missing optional dependencies on inet6, not only inet, to get the files for an IPv6 only kernel as well, remove extra inet6 option where not needed. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days |
#
b287c6c7 |
|
30-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Make the TCP code compile without INET. Sort #includes and add #ifdef INETs. Add some comments at #endifs given more nestedness. To make the compiler happy, some default initializations were added in accordance with the style on the files. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days |
#
79288c11 |
|
30-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Make the UDP code compile without INET. Expose udp_usrreq.c to IPv6 only as well compiling out most functions adding or extending #ifdef INET coverage. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days |
#
548d35fd |
|
28-Apr-2011 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Exar driver for X3100 10GbE Server/Storage adapters Features: Jumbo frames (up to 9600), LRO (Large Receive Offload), TSO (TCP segmentation offload), RTH (Receive Traffic Hash). Submitted by: Sriram Rapuru at Exar MFC after: 2 weeks |
#
9f25ad52 |
|
27-Apr-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. The AR9130 is an AR9160/AR5416 family WMAC which is glued directly to the AR913x SoC peripheral bus (APB) rather than via a PCI/PCIe bridge. The specifics: * A new build option is required to use the AR9130 - AH_SUPPORT_AR9130. This is needed due to the different location the RTC registers live with this chip; hopefully this will be undone in the future. This does currently mean that enabling this option will break non-AR9130 builds, so don't enable it unless you're specifically building an image for the AR913x SoC. * Add the new probe, attach, EEPROM and PLL methods specific to Howl. * Add a work-around to ah_eeprom_v14.c which disables some of the checks for endian-ness and magic in the EEPROM image if an eepromdata block is provided. This'll be fixed at a later stage by porting the ath9k probe code and making sure it doesn't break in other setups (which my previous attempt at this did.) * Sprinkle Howl modifications throughput the interrupt path - it doesn't implement the SYNC interrupt registers, so ignore those. * Sprinkle Howl chip powerup/down throughout the reset path; the RTC methods were * Sprinkle some other Howl workarounds in the reset path. * Hard-code an alternative setup for the AR_CFG register for Howl, that sets up things suitable for Big-Endian MIPS (which is the only platform this chip is glued to.) This has been tested on the AR913x based TP-Link WR-1043nd mode, in legacy, HT/20 and HT/40 modes. Caveats: * 2ghz has only been tested. I've not seen any 5ghz radios glued to this chipset so I can't test it. * AR5416_INTERRUPT_MITIGATION is not supported on the AR9130. At least, it isn't implemented in ath9k. Please don't enable this. * This hasn't been tested in MBSS mode or in RX/TX block-aggregation mode. |
#
b8e463e6 |
|
27-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
MfP4 CH=192029: Expose ip_icmp.c to INET6 as well and only export badport_bandlim() along with the two sysctls in the non-INET case. The bandlim types work for all cases I reviewed in IPv6 as well and the sysctls are available as we export net.inet.* from in_proto.c. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days |
#
7c208ed6 |
|
25-Apr-2011 |
Rick Macklem <rmacklem@FreeBSD.org> |
Fix the experimental NFS client so that it does not bogusly set the f_flags field of "struct statfs". This had the interesting effect of making the NFSv4 mounts "disappear" after r221014, since NFSMNT_NFSV4 and MNT_IGNORE became the same bit. Move the files used for a diskless NFS root from sys/nfsclient to sys/nfs in preparation for them to be used by both NFS clients. Also, move the declaration of the three global data structures from sys/nfsclient/nfs_vfsops.c to sys/nfs/nfs_diskless.c so that they are defined when either client uses them. Reviewed by: jhb MFC after: 2 weeks |
#
c6d2fa7e |
|
25-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
After r220885 compile the various NIC drivers depending on INET unconditionally backing out r193997, so that they are available for IPv6-only setups as well. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 5 days |
#
6d8ea1e7 |
|
21-Apr-2011 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add g_eli_key_cache.c to GELI. MFC after: 2 weeks |
#
f4e2f6c9 |
|
20-Apr-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Implement very basic ALQ logging for net80211. This is destined to be a lightweight and optional set of ALQ probes for debugging events which are just impossible to debug with printf/log (eg packet TX/RX handling; AMPDU handling.) The probes and operations themselves will appear in subsequent commits. |
#
d51f8d20 |
|
20-Apr-2011 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Add firmware images for the 6000 series g2a and g2b adapters. |
#
c2bce4a2 |
|
20-Apr-2011 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Update iwn(4) firmware blobs: - bump iwn1000fw to 39.31.5.1 - bump iwn5000fw to 8.83.5.1 - bump iwn6050fw to 41.28.5.1 |
#
336d023b |
|
17-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Make in_proto.c dependent on either inet or inet6. While it does not provide any functionality for IPv6, it provides the sysctl nodes for net.inet.* that a lot of functionality shared between IPv4 and IPv6 depends on. We cannot change these anymore without breaking a lot of management and tuning. In case of IPv6 only, we compile out everything but the sysctl node declarations. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC After: 5 days |
#
d052a1cc |
|
15-Apr-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20110413.
|
#
77823fbc |
|
13-Apr-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Bring over the antenna diversity logic support for Kite. Again, this is just the code ported from ath9k and included in the build, it isn't yet enabled. |
#
1c554472 |
|
12-Apr-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Add the initial AR9285 PHY glue for supporting antenna diversity. This code isn't currently used anywhere; it's just linked into the build. |
#
27afdbaa |
|
12-Apr-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Introduce geom_map, a GEOM provider designed for use by embedded flash stores. Some devices - notably those with uboot - don't have an explicit partition table (eg like Redboot's FIS.) geom_map thus provides an easy way to export the hard-coded flash layout as geom providers for use by filesystems and other tools. It also includes a "search" function which allows for dynamic creation of partition layouts where the device only has a single hard-coded partition. For example, if there is a "kernel+rootfs" partition, a single image can be created which appends the rootfs after the kernel with an appropriate search string. geom_map can be told to search for said search string and create a partition beginning after it. Submitted by: Aleksandr Rybalko <ray@dlink.ua> |
#
dba9c859 |
|
31-Mar-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Break out the ath PCI logic into a separate device/module. Introduce the AHB glue for Atheros embedded systems. Right now it's hard-coded for the AR9130 chip whose support isn't yet in this HAL; it'll be added in a subsequent commit. Kernel configuration files now need both 'ath' and 'ath_pci' devices; both modules need to be loaded for the ath device to work. |
#
ec125fbb |
|
30-Mar-2011 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add rctl. It's used by racct to take user-configurable actions based on the set of rules it maintains and the current resource usage. It also privides userland API to manage that ruleset. Sponsored by: The FreeBSD Foundation Reviewed by: kib (earlier version) |
#
097055e2 |
|
29-Mar-2011 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add racct. It's an API to keep per-process, per-jail, per-loginclass and per-loginclass resource accounting information, to be used by the new resource limits code. It's connected to the build, but the code that actually calls the new functions will come later. Sponsored by: The FreeBSD Foundation Reviewed by: kib (earlier version) |
#
89b17223 |
|
24-Mar-2011 |
Alexander Motin <mav@FreeBSD.org> |
MFgraid/head: Add new RAID GEOM class, that is going to replace ataraid(4) in supporting various BIOS-based software RAIDs. Unlike ataraid(4) this implementation does not depend on legacy ata(4) subsystem and can be used with any disk drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4) with `options ATA_CAM`). To make code more readable and extensible, this implementation follows modular design, including core part and two sets of modules, implementing support for different metadata formats and RAID levels. Support for such popular metadata formats is now implemented: Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage. Such RAID levels are now supported: RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT. For any all of these RAID levels and metadata formats this class supports full cycle of volume operations: reading, writing, creation, deletion, disk removal and insertion, rebuilding, dirty shutdown detection and resynchronization, bad sector recovery, faulty disks tracking, hot-spare disks. For Intel and Promise formats there is support multiple volumes per disk set. Look graid(8) manual page for additional details. Co-authored by: imp Sponsored by: Cisco Systems, Inc. and iXsystems, Inc. |
#
e4cd31dd |
|
21-Mar-2011 |
Jeff Roberson <jeff@FreeBSD.org> |
- Merge changes to the base system to support OFED. These include a wider arg2 for sysctl, updates to vlan code, IFT_INFINIBAND, and other miscellaneous small features. |
#
dd46ab31 |
|
14-Mar-2011 |
David Christensen <davidch@FreeBSD.org> |
- Initial release of bxe(4) to support Broadcom NetXtreme II 10GbE. (BCM57710, BCM57711, BCM57711E) MFC after: One month |
#
ad946a9c |
|
12-Mar-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
INET6 for some time needed in_pcb.c so make sure we compile it in case of no inet. MFC after: 2 weeks |
#
586b0ae5 |
|
11-Mar-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Port over the AR9285 PA calibration and initial calibration code from Linux ath9k. The ath9k ar9002_hw_init_cal() isn't entirely clear about what is supposed to be called for what chipsets, so I'm ignoring the rest of it and just porting the AR9285 init cal path as-is and leaving the rest alone. Subsequent commits may also tidy up the Merlin (AR9285) and other chipset support. Obtained from: Linux ath9k |
#
48c1d364 |
|
07-Mar-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Implement open-loop TX power control (OLC) for Merlin (AR9280) and generally tidy up the TX power programming code. Enforce that the TX power offset for Merlin is -5 dBm, rather than any other value programmable in the EEPROM. This requires some further code to be ported over from ath9k, so until that is done and tested, fail to attach NICs whose TX power offset isn't -5 dBm. This improves both legacy and HT transmission on my merlin board. It allows for stable MCS TX up to MCS15. Specifics: * Refactor out a bunch of the TX power calibration code - setting/obtaining the power detector / gain boundaries, programming the PDADC * Take the -5 dBm TX power offset into account on Merlin - "0" in the per-rate TX power register means -5 dBm, not 0 dBm * When doing OLC * Enforce min (0) and max (AR5416_MAX_RATE_POWER) when fiddling with the TX power, to avoid the TX power values from wrapping when low. * Implement the 1 dBm cck power offset when doing OLC * Implement temperature compensation for 2.4ghz mode when doing OLC * Implement an AR9280 specific TX power calibration routine which includes the OLC twiddles, leaving the earlier chipset path (AR5416, AR9160) alone Whilst here, use these refactored routines for the AR9285 TX power calibration/programming code and enforce correct overflow/underflow handling when fiddling with TX power values. Obtained from: linux ath9k |
#
2bfc50bc |
|
04-Mar-2011 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add two new system calls, setloginclass(2) and getloginclass(2). This makes it possible for the kernel to track login class the process is assigned to, which is required for RCTL. This change also make setusercontext(3) call setloginclass(2) and makes it possible to retrieve current login class using id(1). Reviewed by: kib (as part of a larger patch) |
#
5b8c2f81 |
|
03-Mar-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
- Remove dependency to ucom from ulpt. MFC after: 14 days Approved by: thompsa (mentor) |
#
d2d7a00a |
|
02-Mar-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Break the keycache management functions out into if_ath_keycache.c . |
#
5dcd9c10 |
|
02-Mar-2011 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add support for NetFlow version 9 into ng_netflow(4) node. Submitted by: Alexander V. Chernikov <melifaro ipfw.ru> |
#
6079fdbe |
|
02-Mar-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate the sysctl related routines (statistics, debugging, etc) out of if_ath.c and into if_ath_sysctl.c . |
#
3ddc3c85 |
|
01-Mar-2011 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up sys_capability.c to the build. Sponsored by: Google, Inc. Reviewed by: anderson Discussed with: benl, kris, pjd Obtained from: Capsicum Project MFC after: 3 months |
#
54e4ee71 |
|
18-Feb-2011 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4) - NIC driver for Chelsio T4 (Terminator 4) based 10Gb/1Gb adapters. MFC after: 3 weeks |
#
26fdf1e8 |
|
17-Feb-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
- Fix build of manual page and inclusion of mos driver into kernel config file. - Fix style compliancy by wrapping some long lines in if_mos.c Approved by: thompsa (mentor) |
#
0b94ba42 |
|
11-Feb-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20110211.
|
#
a53ad9d6 |
|
06-Feb-2011 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Fix cut&paste mistake. MFC after: 1 week |
#
c497ab81 |
|
04-Feb-2011 |
John Baldwin <jhb@FreeBSD.org> |
Correct include path. Submitted by: arundel MFC after: 1 week |
#
4b44f6f2 |
|
01-Feb-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Include some preliminary TX HT rate scenario setup code. The AR5416 and later TX descriptors have new fields for supporting 11n bits (eg 20/40mhz mode, short/long GI) and enabling/disabling RTS/CTS protection per rate. These functions will be responsible for initialising the TX descriptors for the AR5416 and later chips for both HT and legacy frames. Beacon frames will remain using the non-11n TX descriptor setup for now; Linux ath9k does much the same. Note that these functions aren't yet used anywhere; a few more framework changes are needed before all of the right rate information is available for TX. |
#
b8e788a5 |
|
29-Jan-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate the TX path code out of if_ath and into a separate source file. There's two reasons for this: * the raw and non-raw TX path shares a lot of duplicate code which should be refactored; * the 11n-ready chip TX path needs a little reworking. |
#
5bc8125a |
|
28-Jan-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Break out the debug macros from if_ath.c into if_ath_debug.[ch] . This is prep work for breaking out the TX path into a separate set of source files. |
#
f7a77f6f |
|
23-Jan-2011 |
Michael Tuexen <tuexen@FreeBSD.org> |
Add stream scheduling support. This work is based on a patch received from Robin Seggelmann. MFC after: 3 months. |
#
204582f2 |
|
20-Jan-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Push the non-AR5416 related stuff into chipset specific directories. sys/dev/ath/ath_hal/ar5416/ is getting very crowded and further commits will make it even more crowded. Now is a good time to shuffle these files out before any more extensive work is done on them. Create an ar9003 directory whilst I'm here; ar9003 specific chipset code will eventually live there. |
#
2fea6431 |
|
17-Jan-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). Compile sys/dev/mem/memutil.c for all supported platforms and remove now unnecessary dev_mem_md_init(). Consistently define mem_range_softc from mem.c for all platforms. Add missing #include guards for machine/memdev.h and sys/memrange.h. Clean up some nearby style(9) nits. MFC after: 1 month |
#
639016b8 |
|
11-Jan-2011 |
Andrew Thompson <thompsa@FreeBSD.org> |
Allow runfw(4) to be compiled in to the kernel. Submitted by: Akinori Furukoshi |
#
90305aa3 |
|
03-Jan-2011 |
Rick Macklem <rmacklem@FreeBSD.org> |
Fix the nlm so that it no longer depends on the regular nfs client and, as such, can be loaded for the experimental nfs client without the regular client. Reviewed by: jhb MFC after: 2 weeks |
#
2608aefc |
|
30-Dec-2010 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add driver for DM&P Vortex86 RDC R6040 Fast Ethernet. The controller is commonly found on DM&P Vortex86 x86 SoC. The driver supports all hardware features except flow control. The flow control was intentionally disabled due to silicon bug. DM&P Electronics, Inc. provided all necessary information including sample board to write driver and answered many questions I had. Many thanks for their support of FreeBSD. H/W donated by: DM&P Electronics, Inc. |
#
e6713fe5 |
|
30-Dec-2010 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add RDC Semiconductor R6040 10/100 PHY driver. |
#
a8d61afd |
|
21-Dec-2010 |
Lawrence Stewart <lstewart@FreeBSD.org> |
- Introduce the Hhook (Helper Hook) KPI. The KPI is closely modelled on pfil(9), and in many respects can be thought of as a more generic superset of pfil. Hhook provides a way for kernel subsystems to export hook points that Khelp modules can hook to provide enhanced or new functionality to the kernel. The KPI has been designed to ensure hook points pose no noticeable overhead when no hook functions are registered. - Introduce the Khelp (Kernel Helpers) KPI. Khelp provides a framework for managing Khelp modules, which indirectly use the Hhook KPI to register their hook functions with hook points of interest within the kernel. Khelp modules aim to provide a structured way to dynamically extend the kernel at runtime in an ABI preserving manner. Depending on the subsystem providing hook points, a Khelp module may be able to associate per-object data for maintaining relevant state between hook calls. - pjd's Object Specific Data (OSD) KPI is used to manage the per-object data allocated to Khelp modules. Create a new "OSD_KHELP" OSD type for use by the Khelp framework. - Bump __FreeBSD_version to 900028 to mark the introduction of the new KPIs. In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: FreeBSD Foundation Reviewed by: bz, others along the way MFC after: 3 months |
#
0e1497ae |
|
19-Dec-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Update firmware for wpi(4) from version 2.14.4 to 15.32.2.9. PR: kern/142907 Submitted by: Craig Butler <craig001 at lerwick.hopto.org> MFC after: 2 weeks |
#
5a77b11b |
|
15-Dec-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20101209.
|
#
06e79492 |
|
30-Nov-2010 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add Serial Management Protocol (SMP) passthrough support to CAM. This includes support in the kernel, camcontrol(8), libcam and the mps(4) driver for SMP passthrough. The CAM SCSI probe code has been modified to fetch Inquiry VPD page 0x00 to determine supported pages, and will now fetch page 0x83 in addition to page 0x80 if supported. Add two new CAM CCBs, XPT_SMP_IO, and XPT_GDEV_ADVINFO. The SMP CCB is intended for SMP requests and responses. The ADVINFO is currently used to fetch cached VPD page 0x83 data from the transport layer, but is intended to be extensible to fetch other types of device-specific data. SMP-only devices are not currently represented in the CAM topology, and so the current semantics are that the SIM will route SMP CCBs to either the addressed device, if it contains an SMP target, or its parent, if it contains an SMP target. (This is noted in cam_ccb.h, since it will change later once we have the ability to have SMP-only devices in CAM's topology.) smp_all.c, smp_all.h: New helper routines for SMP. This includes SMP request building routines, response parsing routines, error decoding routines, and structure definitions for a number of SMP commands. libcam/Makefile: Add smp_all.c to libcam, so that SMP functionality is available to userland applications. camcontrol.8, camcontrol.c: Add smp passthrough support to camcontrol. Several new subcommands are now available: 'smpcmd' functions much like 'cmd', except that it allows the user to send generic SMP commands. 'smprg' sends the SMP report general command, and displays the decoded output. It will automatically fetch extended output if it is available. 'smppc' sends the SMP phy control command, with any number of potential options. Among other things, this allows the user to reset a phy on a SAS expander, or disable a phy on an expander. 'smpmaninfo' sends the SMP report manufacturer information and displays the decoded output. 'smpphylist' displays a list of phys on an expander, and the CAM devices attached to those phys, if any. cam.h, cam.c: Add a status value for SMP errors (CAM_SMP_STATUS_ERROR). Add a missing description for CAM_SCSI_IT_NEXUS_LOST. Add support for SMP commands to cam_error_string(). cam_ccb.h: Rename the CAM_DIR_RESV flag to CAM_DIR_BOTH. SMP commands are by nature bi-directional, and we may need to support bi-directional SCSI commands later. Add the XPT_SMP_IO CCB. Since SMP commands are bi-directional, there are pointers for both the request and response. Add a fill routine for SMP CCBs. Add the XPT_GDEV_ADVINFO CCB. This is currently used to fetch cached page 0x83 data from the transport later, but is extensible to fetch many other types of data. cam_periph.c: Add support in cam_periph_mapmem() for XPT_SMP_IO and XPT_GDEV_ADVINFO CCBs. cam_xpt.c: Add support for executing XPT_SMP_IO CCBs. cam_xpt_internal.h: Add fields for VPD pages 0x00 and 0x83 in struct cam_ed. scsi_all.c: Add scsi_get_sas_addr(), a function that parses VPD page 0x83 data and pulls out a SAS address. scsi_all.h: Add VPD page 0x00 and 0x83 structures, and a prototype for scsi_get_sas_addr(). scsi_pass.c: Add support for mapping buffers in XPT_SMP_IO and XPT_GDEV_ADVINFO CCBs. scsi_xpt.c: In the SCSI probe code, first ask the device for VPD page 0x00. If any VPD pages are supported, that page is required to be implemented. Based on the response, we may probe for the serial number (page 0x80) or device id (page 0x83). Add support for the XPT_GDEV_ADVINFO CCB. sys/conf/files: Add smp_all.c. mps.c: Add support for passing in a uio in mps_map_command(), so we can map a S/G list at once. Add support for SMP passthrough commands in mps_data_cb(). SMP is a special case, because the first buffer in the S/G list is outbound and the second buffer is inbound. Add support for warning the user if the busdma code comes back with more buffers than will work for the command. This will, for example, help the user determine why an SMP command failed if busdma comes back with three buffers. mps_pci.c: Add sys/uio.h. mps_sas.c: Add the SAS address and the parent handle to the list of fields we pull from device page 0 and cache in struct mpssas_target. These are needed for SMP passthrough. Add support for the XPT_SMP_IO CCB. For now, this CCB is routed to the addressed device if it supports SMP, or to its parent if it does not and the parent does. This is necessary because CAM does not currently support SMP-only nodes in the topology. Make SMP passthrough support conditional on __FreeBSD_version >= 900026. This will make it easier to MFC this change to the driver without MFCing the CAM changes as well. mps_user.c: Un-staticize mpi_init_sge() so we can use it for the SMP passthrough code. mpsvar.h: Add a uio and iovecs into struct mps_command for SMP passthrough commands. Add a cm_max_segs field to struct mps_command so that we can warn the user if busdma comes back with too many segments. Clear the cm_reply when a command gets freed. If it is not cleared, reply frames will eventually get freed into the pool multiple times and corrupt the pool. (This fix is from scottl.) Add a prototype for mpi_init_sge(). sys/param.h: Bump __FreeBSD_version to 900026 for the for the inclusion of the XPT_GDEV_ADVINFO and XPT_SMP_IO CAM CCBs. |
#
1a4e3449 |
|
26-Nov-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
Update ixgbe driver to verion 2.3.6 - This adds a VM SRIOV interface, ixv, it is however transparent to the user, it links with the ixgbe.ko, but when ixgbe is loaded in a virtualized guest with SRIOV configured this will be detected. - Sync shared code to latest - Many bug fixes and improvements, thanks to everyone who has been using the driver and reporting issues. |
#
18ec6525 |
|
21-Nov-2010 |
Weongyo Jeong <weongyo@FreeBSD.org> |
Adds a USB packet filter feature to the stack that it could capture packets which go through each USB host controllers. Its implementations are almost based on BPF code and very similar with it except it's little bit customized for USB packet only. The userland program usbdump(8) would be committed soon. Discussed with: hps, thompsa, yongari |
#
dbc42409 |
|
11-Nov-2010 |
Lawrence Stewart <lstewart@FreeBSD.org> |
This commit marks the first formal contribution of the "Five New TCP Congestion Control Algorithms for FreeBSD" FreeBSD Foundation funded project. More details about the project are available at: http://caia.swin.edu.au/freebsd/5cc/ - Add a KPI and supporting infrastructure to allow modular congestion control algorithms to be used in the net stack. Algorithms can maintain per-connection state if required, and connections maintain their own algorithm pointer, which allows different connections to concurrently use different algorithms. The TCP_CONGESTION socket option can be used with getsockopt()/setsockopt() to programmatically query or change the congestion control algorithm respectively from within an application at runtime. - Integrate the framework with the TCP stack in as least intrusive a manner as possible. Care was also taken to develop the framework in a way that should allow integration with other congestion aware transport protocols (e.g. SCTP) in the future. The hope is that we will one day be able to share a single set of congestion control algorithm modules between all congestion aware transport protocols. - Introduce a new congestion recovery (TF_CONGRECOVERY) state into the TCP stack and use it to decouple the meaning of recovery from a congestion event and recovery from packet loss (TF_FASTRECOVERY) a la RFC2581. ECN and delay based congestion control protocols don't generally need to recover from packet loss and need a different way to note a congestion recovery episode within the stack. - Remove the net.inet.tcp.newreno sysctl, which simplifies some portions of code and ensures the stack always uses the appropriate mechanisms for recovering from packet loss during a congestion recovery episode. - Extract the NewReno congestion control algorithm from the TCP stack and massage it into module form. NewReno is always built into the kernel and will remain the default algorithm for the forseeable future. Implementations of additional different algorithms will become available in the near future. - Bump __FreeBSD_version to 900025 and note in UPDATING that rebuilding code that relies on the size of "struct tcpcb" is required. Many thanks go to the Cisco University Research Program Fund at Community Foundation Silicon Valley and the FreeBSD Foundation. Their support of our work at the Centre for Advanced Internet Architectures, Swinburne University of Technology is greatly appreciated. In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: Cisco URP, FreeBSD Foundation Reviewed by: rpaulo Tested by: David Hayes (and many others over the years) MFC after: 3 months |
#
6dfeb66e |
|
01-Nov-2010 |
David E. O'Brien <obrien@FreeBSD.org> |
Shorten long lines. |
#
a38de013 |
|
25-Oct-2010 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Factor out DDB commands from r204145, r204279 into if_debug.c for further enhancements (1). Switch to a standard 2-clause BSD license for this (2). Unfortunately we have to un-static the ifindex_table for this but do not publicly export it. Suggested by: rwatson (1) a while back. Approved by: thompsa (2) for the change from r204279. MFC after: 6 days |
#
0ef7c8a2 |
|
24-Oct-2010 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Add initial inet DDB support for show in_ifaddr and show sin commands which proved to be useful while debugging address list problems. MFC after: 6 days |
#
ff662b5c |
|
19-Oct-2010 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Improve the Xen para-virtualized device infrastructure of FreeBSD: o Add support for backend devices (e.g. blkback) o Implement extensions to the Xen para-virtualized block API to allow for larger and more outstanding I/Os. o Import a completely rewritten block back driver with support for fronting I/O to both raw devices and files. o General cleanup and documentation of the XenBus and XenStore support code. o Robustness and performance updates for the block front driver. o Fixes to the netfront driver. Sponsored by: Spectra Logic Corporation sys/xen/xenbus/init.txt: Deleted: This file explains the Linux method for XenBus device enumeration and thus does not apply to FreeBSD's NewBus approach. sys/xen/xenbus/xenbus_probe_backend.c: Deleted: Linux version of backend XenBus service routines. It was never ported to FreeBSD. See xenbusb.c, xenbusb_if.m, xenbusb_front.c xenbusb_back.c for details of FreeBSD's XenBus support. sys/xen/xenbus/xenbusvar.h: sys/xen/xenbus/xenbus_xs.c: sys/xen/xenbus/xenbus_comms.c: sys/xen/xenbus/xenbus_comms.h: sys/xen/xenstore/xenstorevar.h: sys/xen/xenstore/xenstore.c: Split XenStore into its own tree. XenBus is a software layer built on top of XenStore. The old arrangement and the naming of some structures and functions blurred these lines making it difficult to discern what services are provided by which layer and at what times these services are available (e.g. during system startup and shutdown). sys/xen/xenbus/xenbus_client.c: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbus_probe.c: sys/xen/xenbus/xenbusb.c: sys/xen/xenbus/xenbusb.h: Split up XenBus code into methods available for use by client drivers (xenbus.c) and code used by the XenBus "bus code" to enumerate, attach, detach, and service bus drivers. sys/xen/reboot.c: sys/dev/xen/control/control.c: Add a XenBus front driver for handling shutdown, reboot, suspend, and resume events published in the XenStore. Move all PV suspend/reboot support from reboot.c into this driver. sys/xen/blkif.h: New file from Xen vendor with macros and structures used by a block back driver to service requests from a VM running a different ABI (e.g. amd64 back with i386 front). sys/conf/files: Adjust kernel build spec for new XenBus/XenStore layout and added Xen functionality. sys/dev/xen/balloon/balloon.c: sys/dev/xen/netfront/netfront.c: sys/dev/xen/blkfront/blkfront.c: sys/xen/xenbus/... sys/xen/xenstore/... o Rename XenStore APIs and structures from xenbus_* to xs_*. o Adjust to use of M_XENBUS and M_XENSTORE malloc types for allocation of objects returned by these APIs. o Adjust for changes in the bus interface for Xen drivers. sys/xen/xenbus/... sys/xen/xenstore/... Add Doxygen comments for these interfaces and the code that implements them. sys/dev/xen/blkback/blkback.c: o Rewrite the Block Back driver to attach properly via newbus, operate correctly in both PV and HVM mode regardless of domain (e.g. can be in a DOM other than 0), and to deal with the latest metadata available in XenStore for block devices. o Allow users to specify a file as a backend to blkback, in addition to character devices. Use the namei lookup of the backend path to automatically configure, based on file type, the appropriate backend method. The current implementation is limited to a single outstanding I/O at a time to file backed storage. sys/dev/xen/blkback/blkback.c: sys/xen/interface/io/blkif.h: sys/xen/blkif.h: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: Extend the Xen blkif API: Negotiable request size and number of requests. This change extends the information recorded in the XenStore allowing block front/back devices to negotiate for optimal I/O parameters. This has been achieved without sacrificing backward compatibility with drivers that are unaware of these protocol enhancements. The extensions center around the connection protocol which now includes these additions: o The back-end device publishes its maximum supported values for, request I/O size, the number of page segments that can be associated with a request, the maximum number of requests that can be concurrently active, and the maximum number of pages that can be in the shared request ring. These values are published before the back-end enters the XenbusStateInitWait state. o The front-end waits for the back-end to enter either the InitWait or Initialize state. At this point, the front end limits it's own capabilities to the lesser of the values it finds published by the backend, it's own maximums, or, should any back-end data be missing in the store, the values supported by the original protocol. It then initializes it's internal data structures including allocation of the shared ring, publishes its maximum capabilities to the XenStore and transitions to the Initialized state. o The back-end waits for the front-end to enter the Initalized state. At this point, the back end limits it's own capabilities to the lesser of the values it finds published by the frontend, it's own maximums, or, should any front-end data be missing in the store, the values supported by the original protocol. It then initializes it's internal data structures, attaches to the shared ring and transitions to the Connected state. o The front-end waits for the back-end to enter the Connnected state, transitions itself to the connected state, and can commence I/O. Although an updated front-end driver must be aware of the back-end's InitWait state, the back-end has been coded such that it can tolerate a front-end that skips this step and transitions directly to the Initialized state without waiting for the back-end. sys/xen/interface/io/blkif.h: o Increase BLKIF_MAX_SEGMENTS_PER_REQUEST to 255. This is the maximum number possible without changing the blkif request header structure (nr_segs is a uint8_t). o Add two new constants: BLKIF_MAX_SEGMENTS_PER_HEADER_BLOCK, and BLKIF_MAX_SEGMENTS_PER_SEGMENT_BLOCK. These respectively indicate the number of segments that can fit in the first ring-buffer entry of a request, and for each subsequent (sg element only) ring-buffer entry associated with the "header" ring-buffer entry of the request. o Add the blkif_request_segment_t typedef for segment elements. o Add the BLKRING_GET_SG_REQUEST() macro which wraps the RING_GET_REQUEST() macro and returns a properly cast pointer to an array of blkif_request_segment_ts. o Add the BLKIF_SEGS_TO_BLOCKS() macro which calculates the number of ring entries that will be consumed by a blkif request with the given number of segments. sys/xen/blkif.h: o Update for changes in interface/io/blkif.h macros. o Update the BLKIF_MAX_RING_REQUESTS() macro to take the ring size as an argument to allow this calculation on multi-page rings. o Add a companion macro to BLKIF_MAX_RING_REQUESTS(), BLKIF_RING_PAGES(). This macro determines the number of ring pages required in order to support a ring with the supplied number of request blocks. sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: o Negotiate with the other-end with the following limits: Reqeust Size: MAXPHYS Max Segments: (MAXPHYS/PAGE_SIZE) + 1 Max Requests: 256 Max Ring Pages: Sufficient to support Max Requests with Max Segments. o Dynamically allocate request pools and segemnts-per-request. o Update ring allocation/attachment code to support a multi-page shared ring. o Update routines that access the shared ring to handle multi-block requests. sys/dev/xen/blkfront/blkfront.c: o Track blkfront allocations in a blkfront driver specific malloc pool. o Strip out XenStore transaction retry logic in the connection code. Transactions only need to be used when the update to multiple XenStore nodes must be atomic. That is not the case here. o Fully disable blkif_resume() until it can be fixed properly (it didn't work before this change). o Destroy bus-dma objects during device instance tear-down. o Properly handle backend devices with powef-of-2 sector sizes larger than 512b. sys/dev/xen/blkback/blkback.c: Advertise support for and implement the BLKIF_OP_WRITE_BARRIER and BLKIF_OP_FLUSH_DISKCACHE blkif opcodes using BIO_FLUSH and the BIO_ORDERED attribute of bios. sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: Fix various bugs in blkfront. o gnttab_alloc_grant_references() returns 0 for success and non-zero for failure. The check for < 0 is a leftover Linuxism. o When we negotiate with blkback and have to reduce some of our capabilities, print out the original and reduced capability before changing the local capability. So the user now gets the correct information. o Fix blkif_restart_queue_callback() formatting. Make sure we hold the mutex in that function before calling xb_startio(). o Fix a couple of KASSERT()s. o Fix a check in the xb_remove_* macro to be a little more specific. sys/xen/gnttab.h: sys/xen/gnttab.c: Define GNTTAB_LIST_END publicly as GRANT_REF_INVALID. sys/dev/xen/netfront/netfront.c: Use GRANT_REF_INVALID instead of driver private definitions of the same constant. sys/xen/gnttab.h: sys/xen/gnttab.c: Add the gnttab_end_foreign_access_references() API. This API allows a client to batch the release of an array of grant references, instead of coding a private for loop. The implementation takes advantage of this batching to reduce lock overhead to one acquisition and release per-batch instead of per-freed grant reference. While here, reduce the duration the gnttab_list_lock is held during gnttab_free_grant_references() operations. The search to find the tail of the incoming free list does not rely on global state and so can be performed without holding the lock. sys/dev/xen/xenpci/evtchn.c: sys/dev/xen/evtchn/evtchn.c: sys/xen/xen_intr.h: o Implement the bind_interdomain_evtchn_to_irqhandler API for HVM mode. This allows an HVM domain to serve back end devices to other domains. This API is already implemented for PV mode. o Synchronize the API between HVM and PV. sys/dev/xen/xenpci/xenpci.c: o Scan the full region of CPUID space in which the Xen VMM interface may be implemented. On systems using SuSE as a Dom0 where the Viridian API is also exported, the VMM interface is above the region we used to search. o Pass through bus_alloc_resource() calls so that XenBus drivers attaching on an HVM system can allocate unused physical address space from the nexus. The block back driver makes use of this facility. sys/i386/xen/xen_machdep.c: Use the correct type for accessing the statically mapped xenstore metadata. sys/xen/interface/hvm/params.h: sys/xen/xenstore/xenstore.c: Move hvm_get_parameter() to the correct global header file instead of as a private method to the XenStore. sys/xen/interface/io/protocols.h: Sync with vendor. sys/xeninterface/io/ring.h: Add macro for calculating the number of ring pages needed for an N deep ring. To avoid duplication within the macros, create and use the new __RING_HEADER_SIZE() macro. This macro calculates the size of the ring book keeping struct (producer/consumer indexes, etc.) that resides at the head of the ring. Add the __RING_PAGES() macro which calculates the number of shared ring pages required to support a ring with the given number of requests. These APIs are used to support the multi-page ring version of the Xen block API. sys/xeninterface/io/xenbus.h: Add Comments. sys/xen/xenbus/... o Refactor the FreeBSD XenBus support code to allow for both front and backend device attachments. o Make use of new config_intr_hook capabilities to allow front and back devices to be probed/attached in parallel. o Fix bugs in probe/attach state machine that could cause the system to hang when confronted with a failure either in the local domain or in a remote domain to which one of our driver instances is attaching. o Publish all required state to the XenStore on device detach and failure. The majority of the missing functionality was for serving as a back end since the typical "hot-plug" scripts in Dom0 don't handle the case of cleaning up for a "service domain" that is not itself. o Add dynamic sysctl nodes exposing the generic ivars of XenBus devices. o Add doxygen style comments to the majority of the code. o Cleanup types, formatting, etc. sys/xen/xenbus/xenbusb.c: Common code used by both front and back XenBus busses. sys/xen/xenbus/xenbusb_if.m: Method definitions for a XenBus bus. sys/xen/xenbus/xenbusb_front.c: sys/xen/xenbus/xenbusb_back.c: XenBus bus specialization for front and back devices. MFC after: 1 month |
#
9a9a302f |
|
19-Oct-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Fix an undefined behaviour if the desired ratectl algo is not available. This can happen if the algos are built as modules but are not loaded. If the selected ratectl algo is not available, try to load it (The load module functions does nothing currently). Add a dummy ratectl algo which always selects the first available rate. Use that one if the desired algo is not available. MFC after: 1 week |
#
d751769d |
|
13-Oct-2010 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
USB Network: - Add new driver for iPhone tethering - Supports the iPhone 3G/3GS/4G ethernet protocol Approved by: thompsa (mentor) |
#
0acf6a64 |
|
04-Oct-2010 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Link the XHCI (USB 3.0 hardware driver) into the default kernel build. Approved by: thompsa (mentor) |
#
24e01f59 |
|
02-Oct-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Split the root mount logic from the (generic) mount code and move it (the root mount code) into a new file called vfs_mountroot.c The split is almost trivial, as the code is almost perfectly non-intertwined. The only adjustment needed was to move the UMA zone allocation out of vfs_mountroot() [in vfs_mountroot.c] and into vfs_mount.c, where it had to be done as a SYSINIT [see vfs_mount_init()]. There are no functional changes with this commit. |
#
6b34b16e |
|
27-Sep-2010 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Initial GPIO bus support. Includes: - GPIO bus controller interface - GPIO bus interface - Implementation of GPIO led(4) compatible device - Implementation of iic(4) bus over GPIO (author: Luiz Otavio O Souza) Tested by: Luiz Otavio O Souza, Alexandr Rybalko |
#
d318c565 |
|
27-Sep-2010 |
Jaakko Heinonen <jh@FreeBSD.org> |
Add reference counting for devfs paths containing user created symbolic links. The reference counting is needed to be able to determine if a specific devfs path exists. For true device file paths we can traverse the cdevp_list but a separate directory list is needed for user created symbolic links. Add a new directory entry flag DE_USER to mark entries which should unreference their parent directory on deletion. A new function to traverse cdevp_list and the directory list will be introduced in a separate commit. Idea from: kib Reviewed by: kib |
#
109c1de8 |
|
24-Sep-2010 |
Attilio Rao <attilio@FreeBSD.org> |
Make the RPC specific __rpc_inet_ntop() and __rpc_inet_pton() general in the kernel (just as inet_ntoa() and inet_aton()) are and sync their prototype accordingly with already mentioned functions. Sponsored by: Sandvine Incorporated Reviewed by: emaste, rstone Approved by: dfr MFC after: 2 weeks |
#
42fecd12 |
|
16-Sep-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20100915.
|
#
0b57f2cd |
|
10-Sep-2010 |
David E. O'Brien <obrien@FreeBSD.org> |
Add real dependancies on the uuencoded firmwares. Now when one does 'make kernel ; make kernel' the second invocation only does: `kernel.ko' is up to date. rather than reproduce all the .fw files and relink the kernel. |
#
d3c7b9a0 |
|
10-Sep-2010 |
Kenneth D. Merry <ken@FreeBSD.org> |
MFp4 (//depot/projects/mps/...) Bring in a driver for the LSI Logic MPT2 6Gb SAS controllers. This driver supports basic I/O, and works with SAS and SATA drives and expanders. Basic error recovery works (i.e. timeouts and aborts) as well. Integrated RAID isn't supported yet, and there are some known bugs. So this isn't ready for production use, but is certainly ready for testing and additional development. For the moment, new commits to this driver should go into the FreeBSD Perforce repository first (//depot/projects/mps/...) and then get merged into -current once they've been vetted. This has only been added to the amd64 GENERIC, since that is the only architecture I have tested this driver with. Submitted by: scottl Discussed with: imp, gibbs, will Sponsored by: Yahoo, Spectra Logic Corporation |
#
0343c899 |
|
08-Aug-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
License ACK is not required for the wpifw module nor when building it into the kernel. PR: conf/148758 Submitted by: Joe Talbott <josepht at dragonflybsd.org> MFC after: 3 days |
#
709fac06 |
|
06-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20100806.
|
#
daef39e7 |
|
25-Jul-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Remove the acpi_aiboost driver. It has been replaced by aibs(4). |
#
f92bbff2 |
|
24-Jul-2010 |
Rick Macklem <rmacklem@FreeBSD.org> |
Move sys/nfsclient/nfs_lock.c into sys/nfs and build it as a separate module that can be used by both the regular and experimental nfs clients. This fixes the problem reported by jh@ where /dev/nfslock would be registered twice when both nfs clients were used. I also defined the size of the lm_fh field to be the correct value, as it should be the maximum size of an NFSv3 file handle. Reviewed by: jh MFC after: 2 weeks |
#
774f94f1 |
|
15-Jul-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
- Update 6000 firmware to 9.221.4.1 - Add 6050 firmware MFC after: 2 weeks |
#
b8270585 |
|
30-Jun-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
OK, I was a bit sleep this morning and checked in the core changes but left out the shared code, lol. Well, and a couple fixes to the core... hopefully this will all be complete now. Happy happy joy joy :) |
#
bbe4a97d |
|
25-Jun-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Import the acpi_aibs(4) driver written by Constantine A. Murenin. It has more features than acpi_aiboost(4) and it will eventually replace acpi_aiboost(4). Submitted by: Constantine A. Murenin <cnst at FreeBSD.org> Reviewed by: freebsd-acpi, imp MFC after: 1 month |
#
875b8844 |
|
20-Jun-2010 |
Alexander Motin <mav@FreeBSD.org> |
Implement new event timers infrastructure. It provides unified APIs for writing event timer drivers, for choosing best possible drivers by machine independent code and for operating them to supply kernel with hardclock(), statclock() and profclock() events in unified fashion on various hardware. Infrastructure provides support for both per-CPU (independent for every CPU core) and global timers in periodic and one-shot modes. MI management code at this moment uses only periodic mode, but one-shot mode use planned for later, as part of tickless kernel project. For this moment infrastructure used on i386 and amd64 architectures. Other archs are welcome to follow, while their current operation should not be affected. This patch updates existing drivers (i8254, RTC and LAPIC) for the new order, and adds event timers support into the HPET driver. These drivers have different capabilities: LAPIC - per-CPU timer, supports periodic and one-shot operation, may freeze in C3 state, calibrated on first use, so may be not exactly precise. HPET - depending on hardware can work as per-CPU or global, supports periodic and one-shot operation, usually provides several event timers. i8254 - global, limited to periodic mode, because same hardware used also as time counter. RTC - global, supports only periodic mode, set of frequencies in Hz limited by powers of 2. Depending on hardware capabilities, drivers preferred in following orders, either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC. User may explicitly specify wanted timers via loader tunables or sysctls: kern.eventtimer.timer1 and kern.eventtimer.timer2. If requested driver is unavailable or unoperational, system will try to replace it. If no more timers available or "NONE" specified for second, system will operate using only one timer, multiplying it's frequency by few times and uing respective dividers to honor hz, stathz and profhz values, set during initial setup. |
#
3c5326bf |
|
13-Jun-2010 |
Rafal Jaworowski <raj@FreeBSD.org> |
Connect FDT infrastructure to the build system. Reviewed by: imp Sponsored by: The FreeBSD Foundation |
#
d359a62d |
|
08-Jun-2010 |
Andrey V. Elsukov <ae@FreeBSD.org> |
New netgraph node ng_patch(4). It performs data modification of packets passing through. Modifications are restricted to a subset of C language operations on unsigned integers of 8, 16, 32 or 64 bit size. These are: set to new value (=), addition (+=), subtraction (-=), multiplication (*=), division (/=), negation (= -), bitwise AND (&=), bitwise OR (|=), bitwise eXclusive OR (^=), shift left (<<=), shift right (>>=). Several operations are all applied to a packet sequentially in order they were specified by user. Submitted by: Maxim Ignatenko <gelraen.ua at gmail.com> Vadim Goncharov <vadimnuclight at tpu.ru> Discussed with: net@ Approved by: mav (mentor) MFC after: 1 month |
#
f25a8a01 |
|
25-May-2010 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add uep(4), driver for USB onscreen touch panel from eGalax. The driver is stub. It just creates device entry and feeds reassembled packets from hardware into it. If in future we would port wsmouse(4) from NetBSD, or make sysmouse(4) to support absolute motion events, then the driver can be extended to act as system mouse. Meanwhile, it just presents a /dev/uep0, that can be utilized by X driver, that I am going to commit to ports tree soon. The name for the driver is chosen to be the same as in NetBSD, however, due to different USB stacks this driver isn't a port. |
#
afe1a688 |
|
23-May-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Reorganize syscall entry and leave handling. Extend struct sysvec with three new elements: sv_fetch_syscall_args - the method to fetch syscall arguments from usermode into struct syscall_args. The structure is machine-depended (this might be reconsidered after all architectures are converted). sv_set_syscall_retval - the method to set a return value for usermode from the syscall. It is a generalization of cpu_set_syscall_retval(9) to allow ABIs to override the way to set a return value. sv_syscallnames - the table of syscall names. Use sv_set_syscall_retval in kern_sigsuspend() instead of hardcoding the call to cpu_set_syscall_retval(). The new functions syscallenter(9) and syscallret(9) are provided that use sv_*syscall* pointers and contain the common repeated code from the syscall() implementations for the architecture-specific syscall trap handlers. Syscallenter() fetches arguments, calls syscall implementation from ABI sysent table, and set up return frame. The end of syscall bookkeeping is done by syscallret(). Take advantage of single place for MI syscall handling code and implement ptrace_lwpinfo pl_flags PL_FLAG_SCE, PL_FLAG_SCX and PL_FLAG_EXEC. The SCE and SCX flags notify the debugger that the thread is stopped at syscall entry or return point respectively. The EXEC flag augments SCX and notifies debugger that the process address space was changed by one of exec(2)-family syscalls. The i386, amd64, sparc64, sun4v, powerpc and ia64 syscall()s are changed to use syscallenter()/syscallret(). MIPS and arm are not converted and use the mostly unchanged syscall() implementation. Reviewed by: jhb, marcel, marius, nwhitehorn, stas Tested by: marcel (ia64), marius (sparc64), nwhitehorn (powerpc), stas (mips) MFC after: 1 month |
#
c4eb8f47 |
|
16-May-2010 |
Alexander Motin <mav@FreeBSD.org> |
Make mvs_if.c to not be always linked statically into the kernel. Link it same way as mvs.c. |
#
dd48af36 |
|
02-May-2010 |
Alexander Motin <mav@FreeBSD.org> |
Import mvs(4) - Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA controllers driver for CAM ATA subsystem. This driver supports same hardware as atamarvell, ataadaptec and atamvsata drivers from ata(4), but provides many additional features, such as NCQ, PMP, etc. |
#
3f5e024c |
|
28-Apr-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20100428.
|
#
d193ed0b |
|
14-Apr-2010 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add driver for Silicon Integrated Systems SiS190/191 Fast/Gigabit Ethernet. This driver was written by Alexander Pohoyda and greatly enhanced by Nikolay Denev. I don't have these hardwares but this driver was tested by Nikolay Denev and xclin. Because SiS didn't release data sheet for this controller, programming information came from Linux driver and OpenSolaris. Unlike other open source driver for SiS190/191, sge(4) takes full advantage of TX/RX checksum offloading and does not require additional copy operation in RX handler. The controller seems to have advanced offloading features like VLAN hardware tag insertion/stripping, TCP segmentation offload(TSO) as well as jumbo frame support but these features are not available yet. Special thanks to xclin <xclin<> cs dot nctu dot edu dot tw> who sent fix for receiving VLAN oversized frames. |
#
70ed590b |
|
10-Apr-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Update firmware for the 6000 series Intel cards to version 9.193.4.1. Approved by: rpaulo (mentor) MFC after: 2 weeks |
#
c4597afc |
|
09-Apr-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Building wlan_amrr is now mandatory. This is an interim fix. |
#
b6108616 |
|
07-Apr-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
net80211 rate control framework (net80211 ratectl). This framework allows drivers to abstract the rate control algorithm and just feed the framework with the usable parameters. The rate control framework will now deal with passing the parameters to the selected algorithm. Right now we have AMRR (the default) and RSSADAPT but there's no way to select one with ifconfig, yet. The objective is to have more rate control algorithms in the net80211 stack so all drivers[0] can use it. Ideally, we'll have the well-known sample rate control algorithm in the net80211 at some point so all drivers can use it (not just ath). [0] all drivers that do rate control in software, that is. Reviewed by: bschmidt, thompsa, weyongo MFC after: 1 months |
#
883e8983 |
|
31-Mar-2010 |
Alexander Motin <mav@FreeBSD.org> |
ng_gif depends on gif. |
#
8ec87fc5 |
|
29-Mar-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
Update to igb and em: em revision 7.0.0: - Using driver devclass, seperate legacy (pre-pcie) code into a seperate source file. This will at least help protect against regression issues. It compiles along with em, and is transparent to end use, devices in each appear to be 'emX'. When using em in a modular form this also allows the legacy stuff to be defined out. - Add tx and rx rings as in igb, in the 82574 this becomes actual multiqueue for the first time (2 queues) while in other PCIE adapters its just make code cleaner. - Add RX mbuf handling logic that matches igb, this will eliminate packet drops due to temporary mbuf shortage. igb revision 1.9.3: - Following the ixgbe code, use a new approach in what was called 'get_buf', the routine now has been made independent of rxeof, it now does the update to the engine TDT register, this design allows temporary mbuf resources to become non-critical, not requiring a packet to be discarded, instead it just returns and does not increment the tail pointer. - With the above change it was also unnecessary to keep 'spare' maps around, since we do not have the discard issue. - Performance tweaks and improvements to the code also. MFC in a week |
#
3b4d8b3f |
|
21-Mar-2010 |
Luigi Rizzo <luigi@FreeBSD.org> |
Add a priority-based packet scheduler. Sponsored by: The ONELAB2 Project Submitted by: Riccardo Panicucci |
#
ca3cf4fa |
|
05-Mar-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20100304.
|
#
527e4e95 |
|
03-Mar-2010 |
Weongyo Jeong <weongyo@FreeBSD.org> |
Hook up the bwn driver. Pointed by: nwhitehorn |
#
04b0a86f |
|
02-Mar-2010 |
Alfred Perlstein <alfred@FreeBSD.org> |
put inclusion of net/zlib.c under "device gzio" instead of "zlib" since right now there is no reason to only include "zlib". Requested by: jhb |
#
cc4d3c30 |
|
02-Mar-2010 |
Luigi Rizzo <luigi@FreeBSD.org> |
Bring in the most recent version of ipfw and dummynet, developed and tested over the past two months in the ipfw3-head branch. This also happens to be the same code available in the Linux and Windows ports of ipfw and dummynet. The major enhancement is a completely restructured version of dummynet, with support for different packet scheduling algorithms (loadable at runtime), faster queue/pipe lookup, and a much cleaner internal architecture and kernel/userland ABI which simplifies future extensions. In addition to the existing schedulers (FIFO and WF2Q+), we include a Deficit Round Robin (DRR or RR for brevity) scheduler, and a new, very fast version of WF2Q+ called QFQ. Some test code is also present (in sys/netinet/ipfw/test) that lets you build and test schedulers in userland. Also, we have added a compatibility layer that understands requests from the RELENG_7 and RELENG_8 versions of the /sbin/ipfw binaries, and replies correctly (at least, it does its best; sometimes you just cannot tell who sent the request and how to answer). The compatibility layer should make it possible to MFC this code in a relatively short time. Some minor glitches (e.g. handling of ipfw set enable/disable, and a workaround for a bug in RELENG_7's /sbin/ipfw) will be fixed with separate commits. CREDITS: This work has been partly supported by the ONELAB2 project, and mostly developed by Riccardo Panicucci and myself. The code for the qfq scheduler is mostly from Fabio Checconi, and Marta Carbone and Francesco Magno have helped with testing, debugging and some bug fixes. |
#
e7228204 |
|
01-Mar-2010 |
Alfred Perlstein <alfred@FreeBSD.org> |
Merge projects/enhanced_coredumps (r204346) into HEAD: Enhanced process coredump routines. This brings in the following features: 1) Limit number of cores per process via the %I coredump formatter. Example: if corefilename is set to %N.%I.core AND num_cores = 3, then if a process "rpd" cores, then the corefile will be named "rpd.0.core", however if it cores again, then the kernel will generate "rpd.1.core" until we hit the limit of "num_cores". this is useful to get several corefiles, but also prevent filling the machine with corefiles. 2) Encode machine hostname in core dump name via %H. 3) Compress coredumps, useful for embedded platforms with limited space. A sysctl kern.compress_user_cores is made available if turned on. To enable compressed coredumps, the following config options need to be set: options COMPRESS_USER_CORES device zlib # brings in the zlib requirements. device gzio # brings in the kernel vnode gzip output module. 4) Eventhandlers are fired to indicate coredumps in progress. 5) The imgact sv_coredump routine has grown a flag to pass in more state, currently this is used only for passing a flag down to compress the coredump or not. Note that the gzio facility can be used for generic output of gzip'd streams via vnodes. Obtained from: Juniper Networks Reviewed by: kan |
#
28993443 |
|
21-Feb-2010 |
Ed Schouten <ed@FreeBSD.org> |
Decompose the most lousy named file in sys/kern; kern_subr.c. Although this file has historically been used as a dumping ground for random functions, nowadays it only contains functions related to copying bits {from,to} userspace and hash table utility functions. Behold, subr_uio.c and subr_hash.c. |
#
7d4f72b3 |
|
15-Feb-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Bring back AR9285 support. This fixes most of the issues and should be pretty usable. MFC after: 1 month |
#
3834e46b |
|
14-Feb-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Also build ah_eeprom_v4k.c when ar9280 is selected. |
#
b1ba33ff |
|
31-Jan-2010 |
Robert Noland <rnoland@FreeBSD.org> |
Welcome drm support for VIA unichrome chips. MFC after: 2 weeks |
#
139890fd |
|
31-Jan-2010 |
Robert Noland <rnoland@FreeBSD.org> |
Import simple drm memory manager. This is required for the VIA driver and at least some parts are needed for GEM. MFC after: 2 weeks |
#
f3d3bf87 |
|
29-Jan-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Add support for the AR9285 chipset, which is found on many netbooks available today. This card is a low power 802.11bgn that only does 11n rates up to MCS 7 (that's 65 Mbps in 20Mhz mode and 135 in 40Mhz mode). 802.11n is not yet supported, but will be in the future. The driver still has a problem regarding to the setting of txpower on the card, so don't expect good performance yet. After fixing this problem, an MFC is possible. Special thanks to iXsystems and S Smirnov <tonve at yandex.ru> for help with the purchase of a netbook with this card. Sponsored by: iXsystems, Inc. |
#
069f1a80 |
|
28-Jan-2010 |
Andrew Thompson <thompsa@FreeBSD.org> |
Add run(4), a driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices. This driver was written for OpenBSD by Damien Bergamini and ported over by Akinori Furukoshi. |
#
b3f9d8c8 |
|
16-Jan-2010 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add gmountver, disk mount verification GEOM class. Note that due to e.g. write throttling ('wdrain'), it can stall all the disk I/O instead of just the device it's configured for. Using it for removable media is therefore not a good idea. Reviewed by: pjd (earlier version) |
#
e09c00ca |
|
14-Jan-2010 |
Ulf Lilleengen <lulf@FreeBSD.org> |
Bring in the ext2fs work done by Aditya Sarawgi during and after Google Summer of Code 2009: - BSDL block and inode allocation policies for ext2fs. This involves the use FFS1 style block and inode allocation for ext2fs. Preallocation was removed since it was GPL'd. - Make ext2fs MPSAFE by introducing locks to per-mount datastructures. - Fixes for kern/122047 PR. - Various small bugfixes. - Move out of gnu/ directory. Sponsored by: Google Inc. Submitted by: Aditya Sarawgi <sarawgi.aditya AT SPAMFREE gmail DOT com> |
#
941e2863 |
|
12-Jan-2010 |
Andrew Thompson <thompsa@FreeBSD.org> |
Add a driver by Fredrik Lindberg for Option HSDPA USB devices. These differ from standard 3G wireless units by supplying a raw IP/IPv6 endpoint rather than using PPP over serial. uhsoctl(1) is used to initiate and close the WAN connection. Obtained from: Fredrik Lindberg <fli@shapeshifter.se> |
#
604a99e9 |
|
09-Jan-2010 |
Warner Losh <imp@FreeBSD.org> |
Merge r192355 from projects/mips to head by hand: r192355 | gonzo | 2009-05-18 17:20:56 -0600 (Mon, 18 May 2009) | 2 lines - Add support for MX25Lxxx SPI flash (readonly atm) |
#
0f454b93 |
|
29-Dec-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
iwn(4) update. Notable changes: * new firmware * untested support for 1000 and 6000 series * bgscan support * remove unnecessary RXON changes * allow setting of country/regdomain by enforcing channel flags read from the EEPROM * suspend/resume fixes * RF kill switch fixes * LED adjustments * several bus_dma*() related fixes * addressed some LORs * many other bug fixes Submitted by: Bernhard Schmidt <bschmidt at techwires.net> Obtained from: Brandon Gooch <jamesbrandongooch at gmail dot com> (LED related changes), Benjamin Kaduk <kaduk at mit dot edu> (LOR fixes), OpenBSD |
#
22f123af |
|
15-Dec-2009 |
Luigi Rizzo <luigi@FreeBSD.org> |
more splitting of ip_fw2.c, now extract the 'table' routines and the sockopt routines (the upper half of the kernel). Whoever is the author of the 'table' code (Ruslan/glebius/oleg ?) please change the attribution in ip_fw_table.c. I have copied the copyright line from ip_fw2.c but it carries my name and I have neither written nor designed the feature so I don't deserve the credit. MFC after: 1 month |
#
70228fb3 |
|
15-Dec-2009 |
Luigi Rizzo <luigi@FreeBSD.org> |
Start splitting ip_fw2.c and ip_fw.h into smaller components. At this time we pull out from ip_fw2.c the logging functions, and support for dynamic rules, and move kernel-only stuff into netinet/ipfw/ip_fw_private.h No ABI change involved in this commit, unless I made some mistake. ip_fw.h has changed, though not in the userland-visible part. Files touched by this commit: conf/files now references the two new source files netinet/ip_fw.h remove kernel-only definitions gone into netinet/ipfw/ip_fw_private.h. netinet/ipfw/ip_fw_private.h new file with kernel-specific ipfw definitions netinet/ipfw/ip_fw_log.c ipfw_log and related functions netinet/ipfw/ip_fw_dynamic.c code related to dynamic rules netinet/ipfw/ip_fw2.c removed the pieces that goes in the new files netinet/ipfw/ip_fw_nat.c minor rearrangement to remove LOOKUP_NAT from the main headers. This require a new function pointer. A bunch of other kernel files that included netinet/ip_fw.h now require netinet/ipfw/ip_fw_private.h as well. Not 100% sure i caught all of them. MFC after: 1 month |
#
508cdc24 |
|
30-Nov-2009 |
John Baldwin <jhb@FreeBSD.org> |
Remove extra parantheses from usb_ethernet.c and usb_serial.c lines. config(8) doesn't parse parantheses and instead treated them as being part of the device driver name (e.g. '(u3g' vs 'u3g'). While here, fix the style of these long lines to match the wrapping used for other long lines in this file. Submitted by: Brett Glass MFC after: 1 week |
#
bcbe578a |
|
25-Nov-2009 |
Alexander Motin <mav@FreeBSD.org> |
Drop USB mass storage devices support from ata(4). It is out of the build as long as I remember, and completely superseded by better maintained umass(4). It's main idea was to optionally avoid CAM dependency for such devices, but with move ATA to CAM, it is not actual any more. No objections: hselasky@, thompsa@, arch@ |
#
9e30fbf6 |
|
19-Nov-2009 |
Alexander Motin <mav@FreeBSD.org> |
Tune CAM ATA kernel options a bit. Move PMP support from da to scbus and add ada device option, according to man page. |
#
2272d050 |
|
16-Nov-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge ACPICA 20091112.
|
#
75880123 |
|
11-Nov-2009 |
Attilio Rao <attilio@FreeBSD.org> |
Move inet_aton() (specular to inet_ntoa(), already present in libkern) into libkern in order to made it usable by other modules than alias_proxy. Obtained from: Sandvine Incorporated Sponsored by: Sandvine Incorporated MFC: 1 week |
#
b4263060 |
|
11-Nov-2009 |
Ruslan Ermilov <ru@FreeBSD.org> |
Added option NETGRAPH_VLAN. Submitted by: pluknet |
#
4d16b4ec |
|
09-Nov-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
Driver for the Apple Touchpad present on MacBook (non-Pro & Pro). Submitted by: Rohit Grover <rgrover1 at gmail.com> MFC after: 2 months |
#
6bd41d5b |
|
29-Oct-2009 |
Alexander Motin <mav@FreeBSD.org> |
Add missing ATA kernel options dependencies. MFC after: 3 days |
#
78e360f8 |
|
25-Oct-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
Update firmware images according to the latest iwn updated. "device iwnfw" includes all firmware images, but you can pick just one by using the model number, e.g.: "device iwn4965fw". |
#
65d0fb03 |
|
22-Oct-2009 |
Alexander Motin <mav@FreeBSD.org> |
MFp4: Move Port Multiplier support code out of ATA XPT into pmp periph driver. This is convinient, as PMP itself is a bus target and has own state. |
#
b20adc2b |
|
19-Oct-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Remove the newly added uch341 driver, it will be merged into uchcom instead. Suggested by: takawata Submitted by: HPS |
#
bbaa712c |
|
11-Oct-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Scan for option ROMs on i386 and amd64 only. |
#
c01f2b83 |
|
05-Oct-2009 |
Navdeep Parhar <np@FreeBSD.org> |
cxgb(4) updates, including: - support for the new Gen-2, BT, and LP-CR cards. - T3 firmware 7.7.0 - shared "common code" updates. Approved by: gnn (mentor) Obtained from: Chelsio MFC after: 1 month |
#
a38f6f86 |
|
01-Oct-2009 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
Fix build nfscl and/or nfsd. MFC after: 3 days |
#
3bfbd845 |
|
28-Sep-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Add support for ChipHead 341 serial port adapter. Submitted by: Hans Petter Selasky |
#
17dfbc1c |
|
22-Sep-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Add per-process osrel node to the procfs, to allow read and set p_osrel value for the process. Approved by: des (procfs maintainer) MFC after: 3 weeks |
#
e0a770a0 |
|
22-Sep-2009 |
Roman Divacky <rdivacky@FreeBSD.org> |
Don't build ufs_gjournal.c at all if UFS_GJOURNAL option is not given instead of building an almost empty C file. Approved by: pjd Approved by: ed (mentor, implicit) |
#
a9315dde |
|
22-Sep-2009 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add pieces of infrastructure required for NFSv4 ACL support in UFS. Reviewed by: rwatson |
#
2f66eb1e |
|
22-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Hide x86bios stuff in i386/amd64 specific files as atkbdc would get these stuff into build. |
#
8b1620e0 |
|
21-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Allow atkbd to obtain keyboard repeat rate from BIOS on amd64. Submitted by: swell.k at gmail.com |
#
205d67b0 |
|
21-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Collapase interrupt supporting functions to a new module, and switch from x86emu to this new module. This changeset also brings a fix for bugs introduced with the initial x86emu commit, which prevents the user from using some display mode or cause instant reboots during mode switch. Submitted by: paradox <ddkprog yahoo com> |
#
91d34542 |
|
21-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Revert part that should not be in my previous commit. Pointy hat to: delphij |
#
6abad12d |
|
21-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Automatically depend on x86emu when vesa or dpms is being built into kernel. With this change the user no longer need to remember building this option. Submitted by: swell.k at gmail.com |
#
92488a57 |
|
11-Sep-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Catch up with ACPICA 20090903. |
#
efba048e |
|
08-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
- Port x86emu to FreeBSD. - Connect x86emu to build. Tested with: make universe Submitted by: swell.k at gmail com |
#
9b934d09 |
|
03-Sep-2009 |
Ed Schouten <ed@FreeBSD.org> |
Move libteken out of the syscons directory. I initially committed libteken to sys/dev/syscons/teken, but now that I'm working on a console driver myself, I noticed this was not a good decision. Move it to sys/teken to make it easier for other drivers to use a terminal emulator. Also list teken.c in sys/conf/files, instead of listing it in all the files.arch files separately. |
#
bfdaa523 |
|
23-Aug-2009 |
Ed Schouten <ed@FreeBSD.org> |
Allow pty(4) to be loaded as a kld. Unfortunately, the wrappers that are present in pts(4) don't have the mechanics to allow pty(4) to be unloaded safely, so I'm forcing this kld to return EBUSY. This also means we have to enable some extra code in pts(4) unconditionally. Proposed by: rwatson |
#
f588a0bd |
|
23-Aug-2009 |
Robert Noland <rnoland@FreeBSD.org> |
Add kernel support for Radeon R6/7xx 3D. You will still need Mesa from git and possibly an updated DDX driver, but this is working fairly well now. MFC after: 2 weeks |
#
530c0060 |
|
01-Aug-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Merge the remainder of kern_vimage.c and vimage.h into vnet.c and vnet.h, we now use jails (rather than vimages) as the abstraction for virtualization management, and what remained was specific to virtual network stacks. Minor cleanups are done in the process, and comments updated to reflect these changes. Reviewed by: bz Approved by: re (vimage blanket) |
#
6418e06a |
|
31-Jul-2009 |
Weongyo Jeong <weongyo@FreeBSD.org> |
add upgt Approved by: re (kib) |
#
d0ea4743 |
|
25-Jul-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Update epair(4) to the new netisr implementation and polish things a bit: - use dpcpu data to track the ifps with packets queued up, - per-cpu locking and driver flags - along with .nh_drainedcpu and NETISR_POLICY_CPU. - Put the mbufs in flight reference count, preventing interfaces from going away, under INVARIANTS as this is a general problem of the stack and should be solved in if.c/netisr but still good to verify the internal queuing logic. - Permit changing the MTU to virtually everythinkg like we do for loopback. Hook epair(4) up to the build. Approved by: re (kib) |
#
01381811 |
|
24-Jul-2009 |
John Baldwin <jhb@FreeBSD.org> |
Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to a device pager (OBJT_DEVICE) object in that it uses fictitious pages to provide aliases to other memory addresses. The primary difference is that it uses an sglist(9) to determine the physical addresses for a given offset into the object instead of invoking the d_mmap() method in a device driver. Reviewed by: alc Approved by: re (kensmith) MFC after: 2 weeks |
#
67b87e44 |
|
20-Jul-2009 |
Alexander Motin <mav@FreeBSD.org> |
Add `siis` CAM driver for SiliconImage SiI3124/3132/3531 SATA2 controllers. Driver supports Serial ATA and ATAPI devices, Port Multipliers (including FIS-based switching), hardware command queues (31 command per port) and Native Command Queuing. This is probably the second on popularity, after AHCI, type of SATA2 controllers, that benefits from using CAM, because of hardware command queuing support. Approved by: re (kib) |
#
030d10ee |
|
19-Jul-2009 |
Sam Leffler <sam@FreeBSD.org> |
add urtw Approved by: re (kib) |
#
eddfbb76 |
|
14-Jul-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Build on Jeff Roberson's linker-set based dynamic per-CPU allocator (DPCPU), as suggested by Peter Wemm, and implement a new per-virtual network stack memory allocator. Modify vnet to use the allocator instead of monolithic global container structures (vinet, ...). This change solves many binary compatibility problems associated with VIMAGE, and restores ELF symbols for virtualized global variables. Each virtualized global variable exists as a "reference copy", and also once per virtual network stack. Virtualized global variables are tagged at compile-time, placing the in a special linker set, which is loaded into a contiguous region of kernel memory. Virtualized global variables in the base kernel are linked as normal, but those in modules are copied and relocated to a reserved portion of the kernel's vnet region with the help of a the kernel linker. Virtualized global variables exist in per-vnet memory set up when the network stack instance is created, and are initialized statically from the reference copy. Run-time access occurs via an accessor macro, which converts from the current vnet and requested symbol to a per-vnet address. When "options VIMAGE" is not compiled into the kernel, normal global ELF symbols will be used instead and indirection is avoided. This change restores static initialization for network stack global variables, restores support for non-global symbols and types, eliminates the need for many subsystem constructors, eliminates large per-subsystem structures that caused many binary compatibility issues both for monitoring applications (netstat) and kernel modules, removes the per-function INIT_VNET_*() macros throughout the stack, eliminates the need for vnet_symmap ksym(2) munging, and eliminates duplicate definitions of virtualized globals under VIMAGE_GLOBALS. Bump __FreeBSD_version and update UPDATING. Portions submitted by: bz Reviewed by: bz, zec Discussed with: gnn, jamie, jeff, jhb, julian, sam Suggested by: peter Approved by: re (kensmith) |
#
59aa14a9 |
|
11-Jul-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
Implementation of the upcoming Wireless Mesh standard, 802.11s, on the net80211 wireless stack. This work is based on the March 2009 D3.0 draft standard. This standard is expected to become final next year. This includes two main net80211 modules, ieee80211_mesh.c which deals with peer link management, link metric calculation, routing table control and mesh configuration and ieee80211_hwmp.c which deals with the actually routing process on the mesh network. HWMP is the mandatory routing protocol on by the mesh standard, but others, such as RA-OLSR, can be implemented. Authentication and encryption are not implemented. There are several scripts under tools/tools/net80211/scripts that can be used to test different mesh network topologies and they also teach you how to setup a mesh vap (for the impatient: ifconfig wlan0 create wlandev ... wlanmode mesh). A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled by default on GENERIC kernels for i386, amd64, sparc64 and pc98. Drivers that support mesh networks right now are: ath, ral and mwl. More information at: http://wiki.freebsd.org/WifiMesh Please note that this work is experimental. Also, please note that bridging a mesh vap with another network interface is not yet supported. Many thanks to the FreeBSD Foundation for sponsoring this project and to Sam Leffler for his support. Also, I would like to thank Gateworks Corporation for sending me a Cambria board which was used during the development of this project. Reviewed by: sam Approved by: re (kensmith) Obtained from: projects/mesh11s |
#
52c9ce25 |
|
10-Jul-2009 |
Scott Long <scottl@FreeBSD.org> |
Separate the parallel scsi knowledge out of the core of the XPT, and modularize it so that new transports can be created. Add a transport for SATA Add a periph+protocol layer for ATA Add a driver for AHCI-compliant hardware. Add a maxio field to CAM so that drivers can advertise their max I/O capability. Modify various drivers so that they are insulated from the value of MAXPHYS. The new ATA/SATA code supports AHCI-compliant hardware, and will override the classic ATA driver if it is loaded as a module at boot time or compiled into the kernel. The stack now support NCQ (tagged queueing) for increased performance on modern SATA drives. It also supports port multipliers. ATA drives are accessed via 'ada' device nodes. ATAPI drives are accessed via 'cd' device nodes. They can all be enumerated and manipulated via camcontrol, just like SCSI drives. SCSI commands are not translated to their ATA equivalents; ATA native commands are used throughout the entire stack, including camcontrol. See the camcontrol manpage for further details. Testing this code may require that you update your fstab, and possibly modify your BIOS to enable AHCI functionality, if available. This code is very experimental at the moment. The userland ABI/API has changed, so applications will need to be recompiled. It may change further in the near future. The 'ada' device name may also change as more infrastructure is completed in this project. The goal is to eventually put all CAM busses and devices until newbus, allowing for interesting topology and management options. Few functional changes will be seen with existing SCSI/SAS/FC drivers, though the userland ABI has still changed. In the future, transports specific modules for SAS and FC may appear in order to better support the topologies and capabilities of these technologies. The modularization of CAM and the addition of the ATA/SATA modules is meant to break CAM out of the mold of being specific to SCSI, letting it grow to be a framework for arbitrary transports and protocols. It also allows drivers to be written to support discrete hardware without jeopardizing the stability of non-related hardware. While only an AHCI driver is provided now, a Silicon Image driver is also in the works. Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware is possible and encouraged. Help with new transports is also encouraged. Submitted by: scottl, mav Approved by: re |
#
2affcf8d |
|
05-Jul-2009 |
Sam Leffler <sam@FreeBSD.org> |
add missing bit of r195379 Approved by: re (kensmith) |
#
76340123 |
|
05-Jul-2009 |
Sam Leffler <sam@FreeBSD.org> |
Revamp 802.11 action frame handling: o add a new facility for components to register send+recv handlers o ieee80211_send_action and ieee80211_recv_action now use the registered handlers to dispatch operations o rev ieee80211_send_action api to enable passing arbitrary data o rev ieee80211_recv_action api to pass the 802.11 frame header as it may be difficult to locate o update existing IEEE80211_ACTION_CAT_BA and IEEE80211_ACTION_CAT_HT handling o update mwl for api rev Reviewed by: rpaulo Approved by: re (kensmith) |
#
6ae52187 |
|
05-Jul-2009 |
Alexander Motin <mav@FreeBSD.org> |
Mark atanvidia depending on ataahci since rev.188846. Approved by: re (kib) |
#
b49a2b39 |
|
30-Jun-2009 |
Doug Rabson <dfr@FreeBSD.org> |
Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. Approved by: re |
#
18bef456 |
|
25-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Make ata-{dma,sata}.c dependent on atacore build option. Discussed with: mav |
#
93588d5c |
|
24-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Move non-PCI prototypes from ata-pci.h -> ata-all.h. This removes unnecessary PCI #includes dependency for systems with ATA controllers living at non-PCI buses. Submitted by: Piotr Ziecik Obtained from: Semihalf |
#
9ba2b298 |
|
23-Jun-2009 |
Marius Strobl <marius@FreeBSD.org> |
- Initialize the ifnet structure, especially if_dname, before probing the PHYs as some PHY drivers use it (but probably shouldn't). How gem(4) has worked with brgphy(4) on powerpc without this so far is unclear to me. - Introduce a dying flag which is set during detach and checked in gem_ioctl() in order to prevent active BPF listeners to clear promiscuous mode which may lead to the tick callout being restarted which will trigger a panic once it's actually gone. - In gem_stop() reset rather than just disable the transmitter and receiver in order to ensure we're not unloading DMA maps still in use by the hardware. [1] - The blanking time is specified in PCI clocks so we should use twice the value when operating at 66MHz. - Spell some 2 as ETHER_ALIGN and a 19 as GEM_STATUS_TX_COMPLETION_SHFT to make the actual intentions clear. - As we don't unload the peak attempts counter ignore its overflow interrupts. - Remove a stale setting of a variable to GEM_TD_INTERRUPT_ME which isn't used afterwards. - For optimum performance increment the TX kick register in multiples of 4 if possible as suggested by the documentation. - Partially revert r164931; drivers should only clear the watchdog timer if all outstanding TX descriptors are done. - Fix some debugging strings. - Add a missing BUS_DMASYNC_POSTWRITE in gem_rint(). - As the error paths in the interrupt handler are generally unlikely predict them as false. - Add support for the SBus version of the GEM controller. [2] - Add some lock assertions. - Improve some comments. - Fix some more or less cosmetic issues in the code of the PCI front-end. - Change some softc members to be unsigned where more appropriate and remove unused ones. Approved by: re (kib) Obtained from: NetBSD (partially) [2], OpenBSD [1] MFC after: 2 weeks |
#
eb6219e3 |
|
23-Jun-2009 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Implement minimal set of changes suggested by bz to make mxge no longer depend on INET. |
#
df849145 |
|
23-Jun-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
* Driver for ACPI WMI (Windows Management Instrumentation) * Driver for ACPI HP extra functionations, which required ACPI WMI driver. Submitted by: Michael <freebsdusb at bindone.de> Approved by: re MFC after: 2 weeks |
#
991633af |
|
23-Jun-2009 |
Marko Zec <zec@FreeBSD.org> |
Connect ng_pipe to the default build. Approved by: julian (mentor) |
#
3f345a5d |
|
19-Jun-2009 |
Kip Macy <kmacy@FreeBSD.org> |
Greatly simplify cxgb by removing almost all of the custom mbuf management logic - remove mbuf iovec - useful, but adds too much complexity when isolated to the driver - remove driver private caching - insufficient benefit over UMA to justify the added complexity and maintenance overhead - remove separate logic for managing multiple transmit queues, with the new drbr routines the control flow can be made to much more closely resemble legacy drivers - remove dedicated service threads, with per-cpu callouts one can get the same benefit much more simply by registering a callout 1 tick in the future if there are still buffered packets - remove embedded mbuf usage - Jeffr's changes will (I hope) soon be integrated greatly reducing the overhead of using kernel APIs for reference counting clusters - add hysteresis to descriptor coalescing logic - add coalesce threshold sysctls to allow users to decide at run-time between optimizing for forwarding / UDP or optimizing for TCP - add once per second watchdog to effectively close the very rare races occurring from coalescing - incorporate Navdeep's changes to the initialization path required to convert port and adapter locks back to ordinary mutexes (silencing BPF LOR complaints) - enable prefetches in get_packet and tx cleaning Reviewed by: navdeep@ MFC after: 2 weeks |
#
119051cb |
|
15-Jun-2009 |
Marius Strobl <marius@FreeBSD.org> |
Add cas(4), a driver for Sun Cassini/Cassini+ and National Semiconductor DP83065 Saturn Gigabit Ethernet controllers. These are the successors of the Sun GEM controllers and still have a similar but extended transmit logic. As such this driver is based on gem(4). Thanks to marcel@ for providing a Sun Quad GigaSwift Ethernet UTP (QGE) card which was vital for getting this driver to work on architectures not using Open Firmware. Approved by: re (kib) MFC after: 2 weeks |
#
452f657c |
|
12-Jun-2009 |
Ivan Voras <ivoras@FreeBSD.org> |
Add support for labels derived from GPT metadata. Approved by: gnn (mentor) Reviewed by: pjd PR: 128398 Submitted by: Marius Nuennerich < marius at nuenneri.ch > |
#
be7def1f |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
All these Ethernet NICs depend on INET, mostly for unconditional cksum related function calls, sometimes related to offload features from what I could see.xi It would be good if the offload functionality would be properly #ifdefed but the other calls to cksum related functions are a more general problem also elswhere in the network stack. |
#
47f01ed8 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
if_igb.c as well as ixgbe.c uncondtionally depend on INET specific functions, especially but not solely tcp_lro_*. |
#
ad44ffaa |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
As sys/kern/uipc_accf.c depends on inet, all three accf_* implementations do as well for accept_filt_generic_mod_event(). In addition accf_http also needs inet for the sysctl mib path. |
#
3cba5bde |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
ng_ipfw depends on inet and ipfirewall as well. ng_nat depends on inet and libalias and most of libalias depends on inet. Update dependencies to porperly reflect this. |
#
e2ad9ba2 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
ip_dummynet.c depends on INET. Note: this may be more because of improper #ifdefs these days. |
#
db4fe37e |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
netinet/if_ether.c (doing ARP) depends on INET as well. |
#
313e8db56 |
|
11-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
if_enc(4) is only useful with ipsec and either inet or inet6. |
#
00e1d682 |
|
11-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
stf(4) supports `6to4' IPv6 in IPv4 encapsulation accroding to RFC3056. It thus needs both INET and INET6 to do its duty. |
#
044348b7 |
|
11-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
if_bridge(4) unfortunately is missing a lot of #ifdef INETs and thus INET is a mandatory dependency at the moment. |
#
259d2d54 |
|
11-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
carp(4) allows people to share a set of IP addresses and can only use IPv4/v6 for inter-node communication (according to my reading). Properly wrap the carp callouts in INET || INET6 and refelect this in sys/conf/files as well. While in theory this should be ok, it might be a bit optimistic to think that carp could build with inet6 only[1]. Discussed with: mlaier [1] |
#
b40b9cf1 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
pflog, pfsync depend on pf and pf depends on inet. Actually it could/should be inet|inet6 but the code is not there and as long as our inet6 depends on inet this is fine. |
#
d6970896 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Unfortunately fs/nfsserver depends on INET at the moment. It seems to be nfs_nfsdport.c and nfs_nfsdcache.c are the problem only but we need to mark all or we will run into problems at link time. One is because of calling an INET specific function, the other is because of VIMAGE putting all tcp* into struct vnet_inet. Both are general problems throughout the entire stack and not a fault of the NFS implementation and will need to be addressed in the future. |
#
1aeaec56 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
if_gre.c insists on INET: #error "Huh? if_gre without inet?" According to my reading we still only support encapsulating datagrams into IPv4 and not IPv6 so there is no optional | gre inet6 yet. |
#
a6c4d998 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
ipfirewall insists on INET: #error IPFIREWALL requires INET. Track it here to not build ipfirewall with no INET in the kernel. |
#
55913642 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
ip_divert.c requires both INET and IPFIREWALL to be present: #error "IPDIVERT requires INET." #error "IPDIVERT requires IPFIREWALL" so properly track those depencies here. |
#
ba58b7af |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
IPsec depends on either IPv4 (inet) or IPv6 (inet6) so properly track dependencies and automatically disable building ipsec if neither of the two is in the kernel config. |
#
0f40c3f1 |
|
10-Jun-2009 |
Ariff Abdullah <ariff@FreeBSD.org> |
Move all sound related scripts to its own 'sound' subdir. Suggested by: jmallett |
#
7444fe98 |
|
09-Jun-2009 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Oops, fix directory name. |
#
d68875eb |
|
09-Jun-2009 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add alc(4), a driver for Atheros AR8131/AR8132 PCIe ethernet controller. These controllers are also known as L1C(AR8131) and L2C(AR8132) respectively. These controllers resembles the first generation controller L1 but usage of different descriptor format and new register mappings over L1 register space requires a new driver. There are a couple of registers I still don't understand but the driver seems to have no critical issues for performance and stability. Currently alc(4) supports the following hardware features. o MSI o TCP Segmentation offload o Hardware VLAN tag insertion/stripping o Tx/Rx interrupt moderation o Hardware statistics counters(dev.alc.%d.stats) o Jumbo frame o WOL AR8131/AR8132 also supports Tx checksum offloading but I disabled it due to stability issues. I'm not sure this comes from broken sample boards or hardware bugs. If you know your controller works without problems you can still enable it. The controller has a silicon bug for Rx checksum offloading, so the feature was not implemented. I'd like to say big thanks to Atheros. Atheros kindly sent sample boards to me and answered several questions I had. HW donated by: Atheros Communications, Inc. |
#
3576e2f4 |
|
09-Jun-2009 |
Kip Macy <kmacy@FreeBSD.org> |
revert to opt-in flowtable |
#
15d13a59 |
|
09-Jun-2009 |
Kip Macy <kmacy@FreeBSD.org> |
make flowtable opt-out |
#
f7bde4e8 |
|
09-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
For now only compile flowtable.c if both options FLOWTABLE and INET are given. This will also work when we add IPv6 support as for now INET6 depends on INET. |
#
90da2b28 |
|
07-Jun-2009 |
Ariff Abdullah <ariff@FreeBSD.org> |
Sound Mega-commit. Expect further cleanup until code freeze. For a slightly thorough explaination, please refer to [1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html . Summary of changes includes: 1 Volume Per-Channel (vpc). Provides private / standalone volume control unique per-stream pcm channel without touching master volume / pcm. Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for backwards compatibility, SOUND_MIXER_PCM through the opened dsp device instead of /dev/mixer. Special "bypass" mode is enabled through /dev/mixer which will automatically detect if the adjustment is made through /dev/mixer and forward its request to this private volume controller. Changes to this volume object will not interfere with other channels. Requirements: - SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which require specific application modifications (preferred). - No modifications required for using bypass mode, so applications like mplayer or xmms should work out of the box. Kernel hints: - hint.pcm.%d.vpc (0 = disable vpc). Kernel sysctls: - hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer bypass mode. - hw.snd.vpc_autoreset (default: 1). By default, closing/opening /dev/dsp will reset the volume back to 0 db gain/attenuation. Setting this to 0 will preserve its settings across device closing/opening. - hw.snd.vpc_reset (default: 0). Panic/reset button to reset all volume settings back to 0 db. - hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value. 2 High quality fixed-point Bandlimited SINC sampling rate converter, based on Julius O'Smith's Digital Audio Resampling - http://ccrma.stanford.edu/~jos/resample/. It includes a filter design script written in awk (the clumsiest joke I've ever written) - 100% 32bit fixed-point, 64bit accumulator. - Possibly among the fastest (if not fastest) of its kind. - Resampling quality is tunable, either runtime or during kernel compilation (FEEDER_RATE_PRESETS). - Quality can be further customized during kernel compilation by defining FEEDER_RATE_PRESETS in /etc/make.conf. Kernel sysctls: - hw.snd.feeder_rate_quality. 0 - Zero-order Hold (ZOH). Fastest, bad quality. 1 - Linear Interpolation (LINEAR). Slightly slower than ZOH, better quality but still does not eliminate aliasing. 2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC quality always start from 2 and above. Rough quality comparisons: - http://people.freebsd.org/~ariff/z_comparison/ 3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be directly fed into the hardware. 4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf. 5 Transparent/Adaptive Virtual Channel. Now you don't have to disable vchans in order to make digital format pass through. It also makes vchans more dynamic by choosing a better format/rate among all the concurrent streams, which means that dev.pcm.X.play.vchanformat/rate becomes sort of optional. 6 Exclusive Stream, with special open() mode O_EXCL. This will "mute" other concurrent vchan streams and only allow a single channel with O_EXCL set to keep producing sound. Other Changes: * most feeder_* stuffs are compilable in userland. Let's not speculate whether we should go all out for it (save that for FreeBSD 16.0-RELEASE). * kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org> * pull out channel mixing logic out of vchan.c and create its own feeder_mixer for world justice. * various refactoring here and there, for good or bad. * activation of few more OSSv4 ioctls() (see [1] above). * opt_snd.h for possible compile time configuration: (mostly for debugging purposes, don't try these at home) SND_DEBUG SND_DIAGNOSTIC SND_FEEDER_MULTIFORMAT SND_FEEDER_FULL_MULTIFORMAT SND_FEEDER_RATE_HP SND_PCM_64 SND_OLDSTEREO Manual page updates are on the way. Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many unsung / unnamed heroes. |
#
908e960e |
|
05-Jun-2009 |
Luigi Rizzo <luigi@FreeBSD.org> |
move kernel ipfw-related sources to a separate directory, adjust conf/files and modules' Makefiles accordingly. No code or ABI changes so this and most of previous related changes can be easily MFC'ed MFC after: 5 days |
#
129d3046 |
|
05-Jun-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Import ACPICA 20090521. |
#
8888f696 |
|
05-Jun-2009 |
Ed Schouten <ed@FreeBSD.org> |
Remove clists from the kernel. Clists were originally used by the TTY layer as a text buffer interface. The advantage of clists were that it would allocate a small set of additional buffers that could be shared between TTYs when needed. In the modern days we can just allocate some more KBs of memory to keep the TTYs satisfied. The global cfreelist also requires synchronisation, which may not be useful when trying to improve scalability. The MPSAFE TTY layer uses its own text buffers (ttyinq and ttyoutq). We had a small amount of drivers in the tree that still uses clists, like the old USB stack and some keyboard drivers. With the old USB stack gone and the keyboard drivers changed to use a circular buffer, we can safely remove clists from the kernel. |
#
b36cfff7 |
|
01-Jun-2009 |
John Baldwin <jhb@FreeBSD.org> |
Add a simple API to manage scatter/gather lists of phyiscal addresses. Each list describes a logical memory object that is backed by one or more physical address ranges. To minimize locking, the sglist objects themselves are immutable once they are shared. These objects may be used in the future to facilitate I/O requests using physically-addressed buffers. For the immediate future I plan to use them to implement a new type of VM object and pager. Reviewed by: jeff, scottl MFC after: 1 month |
#
cf4c5a53 |
|
01-Jun-2009 |
Sam Leffler <sam@FreeBSD.org> |
driver for Marvell 88W8363 Wireless LAN controller |
#
bcbdacdd |
|
28-May-2009 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add the kernel build glue for the experimental NFS subsystem that includes support for NFSv4. The subsystem can optionally be linked into the kernel using the two options: NFSCL - the client NFSD - the server It is also built as three modules: nfscl - the client nfsd - the server nfscommon - functions shared by the client and server Approved by: kib (mentor) |
#
06079f14 |
|
27-May-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Hook ubt and ubtbcmfw back up to the build. |
#
cfeb7489 |
|
27-May-2009 |
Zachary Loafman <zml@FreeBSD.org> |
fail(9) support: Add support for kernel fault injection using KFAIL_POINT_* macros and fail_point_* infrastructure. Add example fail point in vfs_bio.c to simulate VM buf pressure. Approved by: dfr (mentor) |
#
11c63ede |
|
27-May-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Delete the old USB stack. The new stack has settled in and has all the drivers/functionality and then some. |
#
00a5db46 |
|
26-May-2009 |
Stacey Son <sson@FreeBSD.org> |
Add the ksyms(4) pseudo driver. The ksyms driver allows a process to get a quick snapshot of the kernel's symbol table including the symbols from any loaded modules (the symbols are all merged into one symbol table). Unlike like other implementations, this ksyms driver maps memory in the process memory space to store the snapshot at the time /dev/ksyms is opened. It also checks to see if the process has already a snapshot open and won't allow it to open /dev/ksyms it again until it closes first. This prevents kernel and process memory from being exhausted. Note that /dev/ksyms is used by the lockstat(1) command. Reviewed by: gallatin kib (freebsd-arch) Approved by: gnn (mentor) |
#
a5aedd68 |
|
26-May-2009 |
Stacey Son <sson@FreeBSD.org> |
Add the OpenSolaris dtrace lockstat provider. The lockstat provider adds probes for mutexes, reader/writer and shared/exclusive locks to gather contention statistics and other locking information for dtrace scripts, the lockstat(1M) command and other potential consumers. Reviewed by: attilio jhb jb Approved by: gnn (mentor) |
#
cf5320bd |
|
25-May-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Complete move of SPX reassembly from spx_usrreq.c to spx_reass.c. MFC after: 1 month |
#
86ce6a83 |
|
21-May-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Remove the unmaintained University of Michigan NFSv4 client from 8.x prior to 8.0-RELEASE. Rick Macklem's new and more feature-rich NFSv234 client and server are replacing it. Discussed with: rmacklem |
#
5463c4a4 |
|
20-May-2009 |
Sam Leffler <sam@FreeBSD.org> |
Overhaul monitor mode handling: o replace DLT_IEEE802_11 support in net80211 with DLT_IEEE802_11_RADIO and remove explicit bpf support from wireless drivers; drivers now use ieee80211_radiotap_attach to setup shared data structures that hold the radiotap header for each packet tx/rx o remove rx timestamp from the rx path; it was used only by the tdma support for debugging and was mostly useless due to it being 32-bits and mostly unavailable o track DLT_IEEE80211_RADIO bpf attachments and maintain per-vap and per-com state when there are active taps o track the number of monitor mode vaps o use bpf tap and monitor mode vap state to decide when to collect radiotap state and dispatch frames; drivers no longer explicitly directly check bpf state or use bpf calls to tap frames o handle radiotap state updates on channel change in net80211; drivers should not do this (unless they bypass net80211 which is almost always a mistake) o update various drivers to be more consistent/correct in handling radiotap o update ral to include TSF in radiotap'd frames o add promisc mode callback to wi Reviewed by: cbzimmer, rpaulo, thompsa |
#
54d83191 |
|
13-May-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Remove usb_ethersubr.c missed reference -- we don't build ousb with LINT, so the tinderbox didn't pick this up. |
#
c8fb8515 |
|
10-May-2009 |
Warner Losh <imp@FreeBSD.org> |
Fix typo in bwi driver. |
#
21ca7b57 |
|
05-May-2009 |
Marko Zec <zec@FreeBSD.org> |
Change the curvnet variable from a global const struct vnet *, previously always pointing to the default vnet context, to a dynamically changing thread-local one. The currvnet context should be set on entry to networking code via CURVNET_SET() macros, and reverted to previous state via CURVNET_RESTORE(). Recursions on curvnet are permitted, though strongly discuouraged. This change should have no functional impact on nooptions VIMAGE kernel builds, where CURVNET_* macros expand to whitespace. The curthread->td_vnet (aka curvnet) variable's purpose is to be an indicator of the vnet context in which the current network-related operation takes place, in case we cannot deduce the current vnet context from any other source, such as by looking at mbuf's m->m_pkthdr.rcvif->if_vnet, sockets's so->so_vnet etc. Moreover, so far curvnet has turned out to be an invaluable consistency checking aid: it helps to catch cases when sockets, ifnets or any other vnet-aware structures may have leaked from one vnet to another. The exact placement of the CURVNET_SET() / CURVNET_RESTORE() macros was a result of an empirical iterative process, whith an aim to reduce recursions on CURVNET_SET() to a minimum, while still reducing the scope of CURVNET_SET() to networking only operations - the alternative would be calling CURVNET_SET() on each system call entry. In general, curvnet has to be set in three typicall cases: when processing socket-related requests from userspace or from within the kernel; when processing inbound traffic flowing from device drivers to upper layers of the networking stack, and when executing timer-driven networking functions. This change also introduces a DDB subcommand to show the list of all vnet instances. Approved by: julian (mentor) |
#
12e36acb |
|
02-May-2009 |
Warner Losh <imp@FreeBSD.org> |
Bring in Andrew Thompson's port of Sepherosa Ziehau's bwi driver for Broadcom BCM43xx chipsets. This driver uses the v3 firmware that needs to be fetched separately. A port will be committed to create the bwi firmware module. The driver matches the following chips: Broadcom BCM4301, BCM4307, BCM4306, BCM4309, BCM4311, BCM4312, BCM4318, BCM4319 The driver works for 802.11b and 802.11g. Limitations: This doesn't support the 802.11a or 802.11n portion of radios. Some BCM4306 and BCM4309 cards don't work with Channel 1, 2 or 3. Documenation for this firmware is reverse engineered from http://bcm.sipsolutions.net/ V4 of the firmware is needed for 11a or 11n support http://bcm-v4.sipsolutions.net/ Firmware needs to be fetched from a third party, port to be committed # I've tested this with a BCM4319 mini-pci and a BCM4318 CardBus card, and # not connected it to the build until the firmware port is committed. Obtained from: DragonFlyBSD, //depot/projects/vap Reviewed by: sam@, thompsa@ |
#
cebc5254 |
|
01-May-2009 |
Sam Leffler <sam@FreeBSD.org> |
add uath |
#
33cde130 |
|
29-Apr-2009 |
Bruce M Simpson <bms@FreeBSD.org> |
Bite the bullet, and make the IPv6 SSM and MLDv2 mega-commit: import from p4 bms_netdev. Summary of changes: * Connect netinet6/in6_mcast.c to build. The legacy KAME KPIs are mostly preserved. * Eliminate now dead code from ip6_output.c. Don't do mbuf bingo, we are not going to do RFC 2292 style CMSG tricks for multicast options as they are not required by any current IPv6 normative reference. * Refactor transports (UDP, raw_ip6) to do own mcast filtering. SCTP, TCP unaffected by this change. * Add ip6_msource, in6_msource structs to in6_var.h. * Hookup mld_ifinfo state to in6_ifextra, allocate from domifattach path. * Eliminate IN6_LOOKUP_MULTI(), it is no longer referenced. Kernel consumers which need this should use in6m_lookup(). * Refactor IPv6 socket group memberships to use a vector (like IPv4). * Update ifmcstat(8) for IPv6 SSM. * Add witness lock order for IN6_MULTI_LOCK. * Move IN6_MULTI_LOCK out of lower ip6_output()/ip6_input() paths. * Introduce IP6STAT_ADD/SUB/INC/DEC as per rwatson's IPv4 cleanup. * Update carp(4) for new IPv6 SSM KPIs. * Virtualize ip6_mrouter socket. Changes mostly localized to IPv6 MROUTING. * Don't do a local group lookup in MROUTING. * Kill unused KAME prototypes in6_purgemkludge(), in6_restoremkludge(). * Preserve KAME DAD timer jitter behaviour in MLDv1 compatibility mode. * Bump __FreeBSD_version to 800084. * Update UPDATING. NOTE WELL: * This code hasn't been tested against real MLDv2 queriers (yet), although the on-wire protocol has been verified in Wireshark. * There are a few unresolved issues in the socket layer APIs to do with scope ID propagation. * There is a LOR present in ip6_output()'s use of in6_setscope() which needs to be resolved. See comments in mld6.c. This is believed to be benign and can't be avoided for the moment without re-introducing an indirect netisr. This work was mostly derived from the IGMPv3 implementation, and has been sponsored by a third party. |
#
111c6b61 |
|
23-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
During if_detach(), invoke if_dead() to set the ifnet's function pointers to "dead" implementations that no-op rather than invoking the device driver. This would generally be unexpected and possibly quite badly handled by most device drivers after if_detach() has completed. Reviewed by: bms MFC after: 3 weeks |
#
4df4e335 |
|
19-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Merge OpenBSM 1.1 changes to the FreeBSD 8.x kernel: - Add and use mapping of fcntl(2) commands to new BSM constant space. - Adopt (int) rather than (long) arguments to a number of auditon(2) commands, as has happened in Solaris, and add compatibility code to handle the old comments. Note that BSM_PF_IEEE80211 is partially but not fully removed, as the userspace OpenBSM 1.1alpha5 code still depends on it. Once userspace is updated, I'll GCC the kernel constant. MFC after: 2 weeks Sponsored by: Apple, Inc. Obtained from: TrustedBSD Project Portions submitted by: sson |
#
34b07340 |
|
18-Apr-2009 |
Kip Macy <kmacy@FreeBSD.org> |
- Import infrastructure for caching flows as a means of accelerating L3 and L2 lookups as well as providing stateful load balancing when used with RADIX_MPATH. - Currently compiled in to i386 and amd64 but disabled by default, it can be enabled at runtime with 'sysctl net.inet.flowtable.enable=1'. - Embedded users can remove it entirely from the kernel by adding 'nooption FLOWTABLE' to their kernel config files. - A minimal hookup will be added to ip_output in a subsequent commit. I would like to see more review before bringing in changes that require more churn. Supported by: Bitgravity Inc. |
#
855628ab |
|
17-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Remove legacy versions of USB network interface drivers relying on IFF_NEEDSGIANT, as that is no longer supported. |
#
45452edc |
|
12-Apr-2009 |
Rick Macklem <rmacklem@FreeBSD.org> |
Change nfsserver so that it uses the nfssvc() system call provided in sys/nfs/nfs_nfssvc.c by registering with it using the nfsd_call_nfsserver function pointer. Also, add the build glue for nfs_nfssvc.c optionally based on "nfsserver" and also as a loadable module. Submitted by: rmacklem Reviewed by: kib Approved by: kib (mentor) |
#
800422dc |
|
09-Apr-2009 |
Jack F Vogel <jfv@FreeBSD.org> |
Add additional file to ixgbe files list, and uncomment NOTES entry MFC after: 2 weeks |
#
6830af1a |
|
05-Apr-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Remove usb_sw_transfer.[ch] which are now empty after r190735. |
#
5fb1afd7 |
|
30-Mar-2009 |
Warner Losh <imp@FreeBSD.org> |
New PHY driver for the internal PHY found in the AX88790. There's a number of quirks for this device, and this implements just the basics. The 2.5s powerdown recommended in the datasheet will be next... |
#
616190d0 |
|
24-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
split Atheros SuperG support out into it's own file that's included only with a new IEEE80211_SUPPORT_SUPERG option |
#
fffcc698 |
|
24-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
use IEEE80211_SUPPORT_TDMA option to control whether code is configured; this allows us to remove an #ifdef |
#
a390848f |
|
24-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
require wlan for ancillary modules; they are required to link |
#
2b78d306 |
|
19-Mar-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Remove the uscanner(4) driver, this follows the removal of the kernel scanner driver in Linux 2.6. uscanner was just a simple wrapper around a fifo and contained no logic, the default interface is now libusb (supported by sane). Reviewed by: HPS |
#
e5adda3d |
|
15-Mar-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced in FreeBSD 5.x to allow network device drivers to run with Giant despite the network stack being Giant-free. This significantly simplifies calls into ioctl() on network interfaces, especially in the multicast code, as well as eliminates deferred invocation of interface if_start routines. Disable the build on device drivers still depending on IFF_NEEDSGIANT as they no longer compile. They will be removed in a few weeks if they haven't been made MPSAFE in that time. Disabled drivers: if_ar if_axe if_aue if_cdce if_cue if_kue if_ray if_rue if_rum if_sr if_udav if_ural if_zyd Drivers that were already disabled because of tty changes: if_ppp if_sl Discussed on: arch@ |
#
4a948799 |
|
12-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
preliminary ar9280 support: o add 9280 attach that sets up ini, cal, etc. o new rf backend for 9280 and later parts o split ini setup and spur mitigation support out to methods and provide 9280-specific support o minor fixups to shared code to handle 9280-specific work Obtained from: Atheros (ini values and some code) |
#
12678024 |
|
11-Mar-2009 |
Doug Rabson <dfr@FreeBSD.org> |
Merge in support for Xen HVM on amd64 architecture. |
#
443f1e79 |
|
09-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
add geom_redboot, a geom module that exports RedBoot FIS partitions as named slices in dev/redboot/* |
#
f2c6781b |
|
09-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
Add cfid, a disk interface to CFI flash devices; this enables construction of flash-based filesystems. Note this is not interlocked against the raw CFI device. |
#
4fcda893 |
|
07-Mar-2009 |
Robert Noland <rnoland@FreeBSD.org> |
Import support for ATI Radeon R600 and R700 series chips. Tested on an HD3850 (RV670) on loan from Warren Block. Currently, you need one of the following for this to be useful: x11-drivers/xf86-video-radeonhd-devel (not tested) xf86-video-ati from git (EXA works, xv is too fast) xf86-video-radeonhd from git (EXA works, xv works) There is no 3d support available from dri just yet. MFC after: 2 weeks |
#
2619bc56 |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Use the correct config names for the netgraph bluetooth modules. |
#
b92755d1 |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
- comment out slhci in NOTES for the moment - rearrange the ucom entry so its recognised by config(8) |
#
3a3f90c6 |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Move the uaudio and ata-usb drivers into their correct locations. |
#
e0291722 |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Move two missed usb drivers out to the graveyard location under sys/legacy/dev. |
#
c89d41e5 |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Change over the usb kernel options to the new stack (retaining existing naming). The old usb stack can be compiled in my prefixing the name with 'o'. |
#
474bb3ce |
|
17-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Switch over to usbdevs.h generated at compile time. |
#
7310ee19 |
|
14-Feb-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Actually include geom_part_ebr.c when options GEOM_PART_EBR is present. Pointy hat: marcel |
#
2a1eb33a |
|
09-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Hook uslcom2 up to the build. |
#
78ba7361 |
|
09-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Remove usb2_config_td.[ch], they are no longer used. |
#
2656fef9 |
|
08-Feb-2009 |
Wojciech A. Koszek <wkoszek@FreeBSD.org> |
Fix several filenames for "make clean" target. |
#
603cb5d5 |
|
07-Feb-2009 |
Paolo Pisati <piso@FreeBSD.org> |
Fix LIBALIAS option for a static kernel. |
#
c74c7b73 |
|
14-Jan-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Merge OpenBSM alpha 5 from OpenBSM vendor branch to head, both contrib/openbsm (svn merge) and src/sys/{bsm,security/audit} (manual merge). Hook up bsm_domain.c and bsm_socket_type.c to the libbsm build along with man pages, add audit_bsm_domain.c and audit_bsm_socket_type.c to the kernel environment. OpenBSM history for imported revisions below for reference. MFC after: 1 month Sponsored by: Apple Inc. Obtained from: TrustedBSD Project OpenBSM 1.1 alpha 5 - Stub libauditd(3) man page added. - All BSM error number constants with BSM_ERRNO_. - Interfaces to convert between local and BSM socket types and protocol families have been added: au_bsm_to_domain(3), au_bsm_to_socket_type(3), au_domain_to_bsm(3), and au_socket_type_to_bsm(3), along with definitions of constants in audit_domain.h and audit_socket_type.h. This improves interoperability by converting local constant spaces, which vary by OS, to and from Solaris constants (where available) or OpenBSM constants for protocol domains not present in Solaris (a fair number). These routines should be used when generating and interpreting extended socket tokens. - Fix build warnings with full gcc warnings enabled on most supported platforms. - Don't compile error strings into bsm_errno.c when building it in the kernel environment. - When started by launchd, use the label com.apple.auditd rather than org.trustedbsd.auditd.
|
#
19d4850e |
|
13-Jan-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Hook up the u3g2 driver. Submitted by: Hans Petter Selasky |
#
10ad9a77 |
|
08-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
TDMA support for long distance point-to-point links using ath devices: o add net80211 support for a tdma vap that is built on top of the existing adhoc-demo support o add tdma scheduling of frame transmission to the ath driver; it's conceivable other devices might be capable of this too in which case they can make use of the 802.11 protocol additions etc. o add minor bits to user tools that need to know: ifconfig to setup and configure, new statistics in athstats, and new debug mask bits While the architecture can support >2 slots in a TDMA BSS the current design is intended (and tested) for only 2 slots. Sponsored by: Intel |
#
fb898a2c |
|
06-Jan-2009 |
Rong-En Fan <rafan@FreeBSD.org> |
- Remove snd_au88x0 which seems never got compiled into kernel nor as a kernel module. These files cause manual interaction when building ports/audio/aureal-kmod which provides a usable i386-only driver (it requires linking against some linux object files distributed by vendor which bankrupted back in 2000). MFC after: 1 week |
#
b4b1c516 |
|
01-Jan-2009 |
Ed Schouten <ed@FreeBSD.org> |
Replace syscons terminal renderer by a new renderer that uses libteken. Some time ago I started working on a library called libteken, which is terminal emulator. It does not buffer any screen contents, but only keeps terminal state, such as cursor position, attributes, etc. It should implement all escape sequences that are implemented by the cons25 terminal emulator, but also a fair amount of sequences that are present in VT100 and xterm. A lot of random notes, which could be of interest to users/developers: - Even though I'm leaving the terminal type set to `cons25', users can do experiments with placing `xterm-color' in /etc/ttys. Because we only implement a subset of features of xterm, this may cause artifacts. We should consider extending libteken, because in my opinion xterm is the way to go. Some missing features: - Keypad application mode (DECKPAM) - Character sets (SCS) - libteken is filled with a fair amount of assertions, but unfortunately we cannot go into the debugger anymore if we fail them. I've done development of this library almost entirely in userspace. In sys/dev/syscons/teken there are two applications that can be helpful when debugging the code: - teken_demo: a terminal emulator that can be started from a regular xterm that emulates a terminal using libteken. This application can be very useful to debug any rendering issues. - teken_stress: a stress testing application that emulates random terminal output. libteken has literally survived multiple terabytes of random input. - libteken also includes support for UTF-8, but unfortunately our input layer and font renderer don't support this. If users want to experiment with UTF-8 support, they can enable `TEKEN_UTF8' in teken.h. If you recompile your kernel or the teken_demo application, you can hold some nice experiments. - I've left PC98 the way it is right now. The PC98 platform has a custom syscons renderer, which supports some form of localised input. Maybe we should port PC98 to libteken by the time syscons supports UTF-8? - I've removed the `dumb' terminal emulator. It has been broken for years. It hasn't survived the `struct proc' -> `struct thread' conversion. - To prevent confusion among people that want to hack on libteken: unlike syscons, the state machines that parse the escape sequences are machine generated. This means that if you want to add new escape sequences, you have to add an entry to the `sequences' file. This will cause new entries to be added to `teken_state.h'. - Any rendering artifacts that didn't occur prior to this commit are by accident. They should be reported to me, so I can fix them. Discussed on: current@, hackers@ Discussed with: philip (at 25C3) |
#
3c36dc81 |
|
31-Dec-2008 |
Robert Watson <rwatson@FreeBSD.org> |
Commit two files missed in previous commit: hook up audit_bsm_errno.c and adapt for kernel build environment. Obtained from: TrustedBSD Project Sponsored by: Apple, Inc. |
#
1018c6cb |
|
25-Dec-2008 |
Julian Elischer <julian@FreeBSD.org> |
Hook up the ether_echo node and fix the man page |
#
a4b31351 |
|
22-Dec-2008 |
Alfred Perlstein <alfred@FreeBSD.org> |
Fix typo for udav include. Add link to the u3g2 driver. |
#
41fe50f5 |
|
19-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
MFH @ 186335
|
#
6e6b3f7c |
|
14-Dec-2008 |
Qing Li <qingli@FreeBSD.org> |
This main goals of this project are: 1. separating L2 tables (ARP, NDP) from the L3 routing tables 2. removing as much locking dependencies among these layers as possible to allow for some parallelism in the search operations 3. simplify the logic in the routing code, The most notable end result is the obsolescent of the route cloning (RTF_CLONING) concept, which translated into code reduction in both IPv4 ARP and IPv6 NDP related modules, and size reduction in struct rtentry{}. The change in design obsoletes the semantics of RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland applications such as "arp" and "ndp" have been modified to reflect those changes. The output from "netstat -r" shows only the routing entries. Quite a few developers have contributed to this project in the past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and Andre Oppermann. And most recently: - Kip Macy revised the locking code completely, thus completing the last piece of the puzzle, Kip has also been conducting active functional testing - Sam Leffler has helped me improving/refactoring the code, and provided valuable reviews - Julian Elischer setup the perforce tree for me and has helped me maintaining that branch before the svn conversion |
#
d2120224 |
|
12-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
Merge WIP from p4: o recognize ixp435 cpu o change memory layout for for ixp4xx to not assume memory is aliases to 0x10000000 (Cambria/ixp435 memory starts at zero) o handle 64 irqs for ixp435 o dual EHCI USB 2.0 controller integral to ixp435 o overhaul NPE code for ixp435 and better MAC+MII naming o updated NPE firmware (including NPE-A image for ixp435/ixp465) o Gateworks Cambria board support: - IDE compact flash - MCU - front panel LED on i2c bus - Octal LED latch Sanity-tested with NFS-root on Avila and Cambria boards. Requires pending boot2 mods for CF-boot on Cambria. |
#
385195c0 |
|
10-Dec-2008 |
Marko Zec <zec@FreeBSD.org> |
Conditionally compile out V_ globals while instantiating the appropriate container structures, depending on VIMAGE_GLOBALS compile time option. Make VIMAGE_GLOBALS a new compile-time option, which by default will not be defined, resulting in instatiations of global variables selected for V_irtualization (enclosed in #ifdef VIMAGE_GLOBALS blocks) to be effectively compiled out. Instantiate new global container structures to hold V_irtualized variables: vnet_net_0, vnet_inet_0, vnet_inet6_0, vnet_ipsec_0, vnet_netgraph_0, and vnet_gif_0. Update the VSYM() macro so that depending on VIMAGE_GLOBALS the V_ macros resolve either to the original globals, or to fields inside container structures, i.e. effectively #ifdef VIMAGE_GLOBALS #define V_rt_tables rt_tables #else #define V_rt_tables vnet_net_0._rt_tables #endif Update SYSCTL_V_*() macros to operate either on globals or on fields inside container structs. Extend the internal kldsym() lookups with the ability to resolve selected fields inside the virtualization container structs. This applies only to the fields which are explicitly registered for kldsym() visibility via VNET_MOD_DECLARE() and vnet_mod_register(), currently this is done only in sys/net/if.c. Fix a few broken instances of MODULE_GLOBAL() macro use in SCTP code, and modify the MODULE_GLOBAL() macro to resolve to V_ macros, which in turn result in proper code being generated depending on VIMAGE_GLOBALS. De-virtualize local static variables in sys/contrib/pf/net/pf_subr.c which were prematurely V_irtualized by automated V_ prepending scripts during earlier merging steps. PF virtualization will be done separately, most probably after next PF import. Convert a few variable initializations at instantiation to initialization in init functions, most notably in ipfw. Also convert TUNABLE_INT() initializers for V_ variables to TUNABLE_FETCH_INT() in initializer functions. Discussed at: devsummit Strassburg Reviewed by: bz, julian Approved by: julian (mentor) Obtained from: //depot/projects/vimage-commit2/... X-MFC after: never Sponsored by: NLnet Foundation, The FreeBSD Foundation |
#
23dc5621 |
|
04-Dec-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Integrate 185578 from dfr Use newbus to managed devices |
#
33644623 |
|
01-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
Switch to ath hal source code. Note this removes the ath_hal module; the ath module now brings in the hal support. Kernel config files are almost backwards compatible; supplying device ath_hal gives you the same chip support that the binary hal did but you must also include options AH_SUPPORT_AR5416 to enable the extended format descriptors used by 11n parts. It is now possible to control the chip support included in a build by specifying exactly which chips are to be supported in the config file; consult ath_hal(4) for information. |
#
db7f0b97 |
|
21-Nov-2008 |
Kip Macy <kmacy@FreeBSD.org> |
- bump __FreeBSD version to reflect added buf_ring, memory barriers, and ifnet functions - add memory barriers to <machine/atomic.h> - update drivers to only conditionally define their own - add lockless producer / consumer ring buffer - remove ring buffer implementation from cxgb and update its callers - add if_transmit(struct ifnet *ifp, struct mbuf *m) to ifnet to allow drivers to efficiently manage multiple hardware queues (i.e. not serialize all packets through one ifq) - expose if_qflush to allow drivers to flush any driver managed queues This work was supported by Bitgravity Inc. and Chelsio Inc. |
#
1ba4a712 |
|
17-Nov-2008 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes. This bring huge amount of changes, I'll enumerate only user-visible changes: - Delegated Administration Allows regular users to perform ZFS operations, like file system creation, snapshot creation, etc. - L2ARC Level 2 cache for ZFS - allows to use additional disks for cache. Huge performance improvements mostly for random read of mostly static content. - slog Allow to use additional disks for ZFS Intent Log to speed up operations like fsync(2). - vfs.zfs.super_owner Allows regular users to perform privileged operations on files stored on ZFS file systems owned by him. Very careful with this one. - chflags(2) Not all the flags are supported. This still needs work. - ZFSBoot Support to boot off of ZFS pool. Not finished, AFAIK. Submitted by: dfr - Snapshot properties - New failure modes Before if write requested failed, system paniced. Now one can select from one of three failure modes: - panic - panic on write error - wait - wait for disk to reappear - continue - serve read requests if possible, block write requests - Refquota, refreservation properties Just quota and reservation properties, but don't count space consumed by children file systems, clones and snapshots. - Sparse volumes ZVOLs that don't reserve space in the pool. - External attributes Compatible with extattr(2). - NFSv4-ACLs Not sure about the status, might not be complete yet. Submitted by: trasz - Creation-time properties - Regression tests for zpool(8) command. Obtained from: OpenSolaris |
#
0eec5c87 |
|
13-Nov-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Temporarily switch NFS back to the old RPC code while I try to diagnose and fix the problems a few people have noticed with the new code. People who want to continue testing the new code or who need RPCSEC_GSS support should use the new option NFS_NEWRPC to select it. |
#
3c6e15bc |
|
12-Nov-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add ale(4), a driver for Atheros AR8121/AR8113/AR8114 PCIe ethernet controller. The controller is also known as L1E(AR8121) and L2E(AR8113/AR8114). Unlike its predecessor Attansic L1, AR8121/AR8113/AR8114 uses completely different Rx logic such that it requires separate driver. Datasheet for AR81xx is not available to open source driver writers but it shares large part of Tx and PHY logic of L1. I still don't understand some part of register meaning and some MAC statistics counters but the driver seems to have no critical issues for performance and stability. The AR81xx requires copy operation to pass received frames to upper stack such that ale(4) consumes a lot of CPU cycles than that of other controller. A couple of silicon bugs also adds more CPU cycles to address the known hardware bug. However, if you have fast CPU you can still saturate the link. Currently ale(4) supports the following hardware features. - MSI. - TCP Segmentation offload. - Hardware VLAN tag insertion/stripping with checksum offload. - Tx TCP/UDP checksum offload and Rx IP/TCP/UDP checksum offload. - Tx/Rx interrupt moderation. - Hardware statistics counters. - Jumbo frame. - WOL. AR81xx PCIe ethernet controllers are mainly found on ASUS EeePC or P5Q series of ASUS motherboards. Special thanks to Jeremy Chadwick who sent the hardware to me. Without his donation writing a driver for AR81xx would never have been possible. Big thanks to all people who reported feedback or tested patches. HW donated by: koitsu Tested by: bsam, Joao Barros <joao.barros <> gmail DOT com > Jan Henrik Sylvester <me <> janh DOT de > Ivan Brawley < ivan <> brawley DOT id DOT au >, CURRENT ML |
#
eabe30fc |
|
03-Nov-2008 |
Alfred Perlstein <alfred@FreeBSD.org> |
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack that includes significant features and SMP safety. This commit includes a more or less complete rewrite of the *BSD USB stack, including Host Controller and Device Controller drivers and updating all existing USB drivers to use the new USB API: 1) A brief feature list: - A new and mutex enabled USB API. - Many USB drivers are now running Giant free. - Linux USB kernel compatibility layer. - New UGEN backend and libusb library, finally solves the "driver unloading" problem. The new BSD licensed libusb20 library is fully compatible with libusb-0.1.12 from sourceforge. - New "usbconfig" utility, for easy configuration of USB. - Full support for Split transactions, which means you can use your full speed USB audio device on a high speed USB HUB. - Full support for HS ISOC transactions, which makes writing drivers for various HS webcams possible, for example. - Full support for USB on embedded platforms, mostly cache flushing and buffer invalidating stuff. - Safer parsing of USB descriptors. - Autodetect of annoying USB install disks. - Support for USB device side mode, also called USB gadget mode, using the same API like the USB host side. In other words the new USB stack is symmetric with regard to host and device side. - Support for USB transfers like I/O vectors, means more throughput and less interrupts. - ... see the FreeBSD quarterly status reports under "USB project" 2) To enable the driver in the default kernel build: 2.a) Remove all existing USB device options from your kernel config file. 2.b) Add the following USB device options to your kernel configuration file: # USB core support device usb2_core # USB controller support device usb2_controller device usb2_controller_ehci device usb2_controller_ohci device usb2_controller_uhci # USB mass storage support device usb2_storage device usb2_storage_mass # USB ethernet support, requires miibus device usb2_ethernet device usb2_ethernet_aue device usb2_ethernet_axe device usb2_ethernet_cdce device usb2_ethernet_cue device usb2_ethernet_kue device usb2_ethernet_rue device usb2_ethernet_dav # USB wireless LAN support device usb2_wlan device usb2_wlan_rum device usb2_wlan_ral device usb2_wlan_zyd # USB serial device support device usb2_serial device usb2_serial_ark device usb2_serial_bsa device usb2_serial_bser device usb2_serial_chcom device usb2_serial_cycom device usb2_serial_foma device usb2_serial_ftdi device usb2_serial_gensa device usb2_serial_ipaq device usb2_serial_lpt device usb2_serial_mct device usb2_serial_modem device usb2_serial_moscom device usb2_serial_plcom device usb2_serial_visor device usb2_serial_vscom # USB bluetooth support device usb2_bluetooth device usb2_bluetooth_ng # USB input device support device usb2_input device usb2_input_hid device usb2_input_kbd device usb2_input_ms # USB sound and MIDI device support device usb2_sound 2) To enable the driver at runtime: 2.a) Unload all existing USB modules. If USB is compiled into the kernel then you might have to build a new kernel. 2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same base name like the kernel device option. Submitted by: Hans Petter Selasky hselasky at c2i dot net Reviewed by: imp, alfred |
#
a9148abd |
|
03-Nov-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Implement support for RPCSEC_GSS authentication to both the NFS client and server. This replaces the RPC implementation of the NFS client and server with the newer RPC implementation originally developed (actually ported from the userland sunrpc code) to support the NFS Lock Manager. I have tested this code extensively and I believe it is stable and that performance is at least equal to the legacy RPC implementation. The NFS code currently contains support for both the new RPC implementation and the older legacy implementation inherited from the original NFS codebase. The default is to use the new implementation - add the NFS_LEGACYRPC option to fall back to the old code. When I merge this support back to RELENG_7, I will probably change this so that users have to 'opt in' to get the new code. To use RPCSEC_GSS on either client or server, you must build a kernel which includes the KGSSAPI option and the crypto device. On the userland side, you must build at least a new libc, mountd, mount_nfs and gssd. You must install new versions of /etc/rc.d/gssd and /etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf. As long as gssd is running, you should be able to mount an NFS filesystem from a server that requires RPCSEC_GSS authentication. The mount itself can happen without any kerberos credentials but all access to the filesystem will be denied unless the accessing user has a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There is currently no support for situations where the ticket file is in a different place, such as when the user logged in via SSH and has delegated credentials from that login. This restriction is also present in Solaris and Linux. In theory, we could improve this in future, possibly using Brooks Davis' implementation of variant symlinks. Supporting RPCSEC_GSS on a server is nearly as simple. You must create service creds for the server in the form 'nfs/<fqdn>@<REALM>' and install them in /etc/krb5.keytab. The standard heimdal utility ktutil makes this fairly easy. After the service creds have been created, you can add a '-sec=krb5' option to /etc/exports and restart both mountd and nfsd. The only other difference an administrator should notice is that nfsd doesn't fork to create service threads any more. In normal operation, there will be two nfsd processes, one in userland waiting for TCP connections and one in the kernel handling requests. The latter process will create as many kthreads as required - these should be visible via 'top -H'. The code has some support for varying the number of service threads according to load but initially at least, nfsd uses a fixed number of threads according to the value supplied to its '-n' option. Sponsored by: Isilon Systems MFC after: 1 month |
#
64c71632 |
|
02-Nov-2008 |
Scott Long <scottl@FreeBSD.org> |
Move the CAM passthrough code into a true module so that it doesn't have to be compiled into the main AMR driver. It's code that is nice to have but not required for normal operation, and it is reported to cause problems for some people. |
#
972f68ae |
|
02-Nov-2008 |
Warner Losh <imp@FreeBSD.org> |
Move mn over. One of the last stragglers in sys/pci. There's no module built for this hardware, so no changes needed. |
#
c9dba40c |
|
01-Nov-2008 |
Ed Schouten <ed@FreeBSD.org> |
Reimplement the /dev/console device node. One of the pieces of code that I had left alone during the development of the MPSAFE TTY layer, was tty_cons.c. This file actually has two different functions: - It contains low-level console input/output routines (cnputc(), etc). - It creates /dev/console and wraps all its cdevsw calls to the appropriate TTY. This commit reimplements the second set of functions by moving it directly into the TTY layer. /dev/console is now a character device node that's basically a regular TTY, but does a lookup of `si_drv1' each time you open it. d_write has also been changed to call log_console(). d_close() is not present, because we must make sure we don't revoke the TTY after writing a log message to it. Even though I'm not convinced this is in line with the future directions of our console code, it is a good move for now. It removes recursive locking from the top half of the TTY layer. The previous implementation called into the TTY layer with Giant held. I'm renaming tty_cons.c to kern_cons.c now. The code hardly contains any TTY related bits, so we'd better give it a less misleading name. Tested by: Andrzej Tobola <ato iem pw edu pl>, Carlos A.M. dos Santos <unixmania gmail com>, Eygene Ryabinkin <rea-fbsd codelabs ru> |
#
b0606bd1 |
|
30-Oct-2008 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Make it possible to compile kernel with KTR but without DDB. |
#
564f8f0f |
|
28-Oct-2008 |
Robert Watson <rwatson@FreeBSD.org> |
Break out strictly credential-related portions of mac_process.c into a new file, mac_cred.c. Obtained from: TrustedBSD Project |
#
d90e0bbe |
|
27-Oct-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Add the files missed with r184331 to make mac_bsdextended compile again. |
#
e00251b7 |
|
25-Oct-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a driver for flash memory that implements to the Common Flash Memory Interface (CFI). The flash memory can be read and written to through /dev/cfi# and an ioctl() exists so processes can read the query information. The driver supports the AMD and Intel command set, though only the AMD command has been tested. Obtained from: Juniper Networks, Inc. |
#
831f5dcf |
|
21-Oct-2008 |
Alexander Motin <mav@FreeBSD.org> |
Import sdhci (PCI SD Host Controller) driver. Driver supports PCI devices with class 8 and subclass 5 according to SD Host Controller Specification. Update NOTES, enable module and static build. Enable related mmc and mmcsd modules build. Discussed on: mobile@, current@ |
#
483b9e47 |
|
09-Oct-2008 |
Nick Hibma <n_hibma@FreeBSD.org> |
Say hello to the u3g driver, implementing support for 3G modems. This was located in the ubsa driver, but should be moved into a separate driver: - 3G modems provide multiple serial ports to allow AT commands while the PPP connection is up. - 3G modems do not provide baud rate or other serial port settings. - Huawei cards need specific initialisation. - ubsa is for Belkin adapters, an Linuxy choice for another device like 3G. Speeds achieved here with a weak signal at best is ~40kb/s (UMTS). No spooky STALLED messages as well. Next: Move over all entries for Sierra and Novatel cards once I have found testers, and implemented serial port enumeration for Sierra (or rather have Andrea Guzzo do it). They list all endpoints in 1 iface instead of 4 ifaces. Submitted by: aguzzo@anywi.com MFC after: 3 weeks |
#
13014ca0 |
|
08-Oct-2008 |
Søren Schmidt <sos@FreeBSD.org> |
This is the roumored ATA modulerisation works, and it needs a little explanation. If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in. However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries: atacore: ATA core functionality, always needed for any ATA setup atacard: CARDBUS support atacbus: PC98 cbus support ataisa: ISA bus support atapci: PCI bus support only generic chipset support. ataahci: AHCI support, also pulled in by some vendor modules. ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets atadisk: ATA disk driver ataraid: ATA softraid driver atapicd: ATAPI cd/dvd driver atapifd: ATAPI floppy/flashdisk driver atapist: ATAPI tape driver atausb: ATA<>USB bridge atapicam: ATA<>CAM bridge This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file: device atacore device atapci device atavia And then you need the atadisk, atapicd etc lines in there just as usual. If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual. However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above. |
#
61d9c8fa |
|
04-Oct-2008 |
Antoine Brodin <antoine@FreeBSD.org> |
- Spell cam correctly (scbus), this makes it possible to compile hptiop in GENERIC and LINT. [1] - Rename hpt_dbg_level to hpt_iop_dbg_level to avoid multiple definition of hpt_dbg_level (hptmv also has hpt_dbg_level). PR: 127551 [1] Reviewed by: scottl@ MFC after: 1 month |
#
ba26d470 |
|
03-Oct-2008 |
Stanislav Sedov <stas@FreeBSD.org> |
- Add driver for Attansic L2 FastEthernet controller found on Asus EeePC and some Asus mainboards. Reviewed by: yongari, rpaulo, jhb Tested by: many Approved by: kib (mentor) MFC after: 1 week |
#
ae72afe0 |
|
23-Sep-2008 |
David E. O'Brien <obrien@FreeBSD.org> |
The kernel implemented 'memcmp' is an alias for 'bcmp'. However, memcmp and bcmp are not the same thing. 'man bcmp' states that the return is "non-zero" if the two byte strings are not identical. Where as, 'man memcmp' states that the return is the "difference between the first two differing bytes (treated as unsigned char values" if the two byte strings are not identical. So provide a proper memcmp(9), but it is a C implementation not a tuned assembly implementation. Therefore bcmp(9) should be preferred over memcmp(9). |
#
79775f8f |
|
22-Sep-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Update cxgb include paths to not require prefixing with dev/cxgb Submitted by: Chelsio Inc. |
#
a2a2d954 |
|
23-Aug-2008 |
Robert Noland <rnoland@FreeBSD.org> |
Update drm kernel drivers. This is a sync to mesa/drm pre-gem, with a few fixes on top of that. It also contains one local patch supplied by kib@ that I can't apply to git.master shared code. Approved by: flz Obtained from: mesa/drm git.master MFC after: 2 weeks |
#
bc093719 |
|
20-Aug-2008 |
Ed Schouten <ed@FreeBSD.org> |
Integrate the new MPSAFE TTY layer to the FreeBSD operating system. The last half year I've been working on a replacement TTY layer for the FreeBSD kernel. The new TTY layer was designed to improve the following: - Improved driver model: The old TTY layer has a driver model that is not abstract enough to make it friendly to use. A good example is the output path, where the device drivers directly access the output buffers. This means that an in-kernel PPP implementation must always convert network buffers into TTY buffers. If a PPP implementation would be built on top of the new TTY layer (still needs a hooks layer, though), it would allow the PPP implementation to directly hand the data to the TTY driver. - Improved hotplugging: With the old TTY layer, it isn't entirely safe to destroy TTY's from the system. This implementation has a two-step destructing design, where the driver first abandons the TTY. After all threads have left the TTY, the TTY layer calls a routine in the driver, which can be used to free resources (unit numbers, etc). The pts(4) driver also implements this feature, which means posix_openpt() will now return PTY's that are created on the fly. - Improved performance: One of the major improvements is the per-TTY mutex, which is expected to improve scalability when compared to the old Giant locking. Another change is the unbuffered copying to userspace, which is both used on TTY device nodes and PTY masters. Upgrading should be quite straightforward. Unlike previous versions, existing kernel configuration files do not need to be changed, except when they reference device drivers that are listed in UPDATING. Obtained from: //depot/projects/mpsafetty/... Approved by: philip (ex-mentor) Discussed: on the lists, at BSDCan, at the DevSummit Sponsored by: Snow B.V., the Netherlands dcons(4) fixed by: kan |
#
10dc76a3 |
|
15-Aug-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Integrate configuration bits for compling xen. MFC after: 1 month |
#
7e5dc2f8 |
|
14-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move wb driver from sys/pci to sys/dev/wb. |
#
5d5325f8 |
|
14-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move pcn driver from sys/pci to sys/dev/pcn. |
#
c8befdd5 |
|
14-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move the ste driver from sys/pci to sys/dev/ste. |
#
2bd7d759 |
|
14-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move the tl driver form sys/pci to sys/dev/tl. |
#
25292deb |
|
11-Aug-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Remove cxgb private lro implementation and switch to using system implementation. Obtained from: Chelsio Inc. MFC after: 1 week |
#
9884d99e |
|
11-Aug-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
Rename ds1339 -> ds133x to better fit the upcoming driver extensions. |
#
d2155f2f |
|
10-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move sis to sys/dev/sis for consistency. |
#
83825b71 |
|
10-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move the xl driver form sys/pci to sys/dev/xl for consistency. |
#
a0bac9cc |
|
30-Jul-2008 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Fix LINT MFC after: 3 months |
#
06248ffc |
|
30-Jul-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
Alter kernel build to work with new dev/e1000 structure. This makes both em and igb, or either alone build and work in the static kernel. MFC after:ASAP |
#
12d3da87 |
|
28-Jul-2008 |
John Baldwin <jhb@FreeBSD.org> |
Remove a stale reference to sys/dev/ixgbe/tcp_lro.c. |
#
32c5ce37 |
|
25-Jul-2008 |
Stanislav Sedov <stas@FreeBSD.org> |
- Connect ds1339 to the build infrastructure. Reviewed by: raj Approved by: imp |
#
bea45cdd |
|
25-Jul-2008 |
Ed Schouten <ed@FreeBSD.org> |
Move ttyinfo() into its own C file. The ttyinfo() routine generates the fancy output when pressing ^T. Right now it is stored in tty.c. In the MPSAFE TTY code it is already stored in tty_info.c. To make integration of the MPSAFE TTY code a little easier, take the same approach. This makes the TTY code a little bit more readable, because having the proc_*/thread_* routines in tty.c is very distractful. Approved by: philip (mentor) |
#
744eaff7 |
|
18-Jul-2008 |
David Malone <dwmalone@FreeBSD.org> |
Add an accept filter for TCP based DNS requests. It waits until the whole first request is present before returning from accept. |
#
4af83c8c |
|
18-Jul-2008 |
Kip Macy <kmacy@FreeBSD.org> |
import vendor fixes to cxgb |
#
a78c3ed8 |
|
04-Jul-2008 |
John Baldwin <jhb@FreeBSD.org> |
Remove the sbsh(4) driver. No one responded to requests for testing the MPSAFE patches on current@ and stable@. This driver also has a fundamental issue in that it sleeps when sending commands to the card including in the if_init/if_start routines (which can be called from interrupt context). As such, the driver shouldn't be working reliably even on 4.x. |
#
67c58e8a |
|
04-Jul-2008 |
John Baldwin <jhb@FreeBSD.org> |
Remove the cnw(4) driver. No one responded to calls to test it on current@ and stable@. It also is a driver for an older non-802.11 wireless PC card that is quite slow in comparison to say, wi(4). I know Warner wants this driver axed as well. |
#
c675522f |
|
26-Jun-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Re-implement the client side of rpc.lockd in the kernel. This implementation provides the correct semantics for flock(2) style locks which are used by the lockf(1) command line tool and the pidfile(3) library. It also implements recovery from server restarts and ensures that dirty cache blocks are written to the server before obtaining locks (allowing multiple clients to use file locking to safely share data). Sponsored by: Isilon Systems PR: 94256 MFC after: 2 weeks |
#
042df2e2 |
|
25-Jun-2008 |
Ruslan Ermilov <ru@FreeBSD.org> |
Enable GCC stack protection (aka Propolice) for userland: - It is opt-out for now so as to give it maximum testing, but it may be turned opt-in for stable branches depending on the consensus. You can turn it off with WITHOUT_SSP. - WITHOUT_SSP was previously used to disable the build of GNU libssp. It is harmless to steal the knob as SSP symbols have been provided by libc for a long time, GNU libssp should not have been much used. - SSP is disabled in a few corners such as system bootstrap programs (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves. - It should be safe to use -fstack-protector-all to build world, however libc will be automatically downgraded to -fstack-protector because it breaks rtld otherwise. - This option is unavailable on ia64. Enable GCC stack protection (aka Propolice) for kernel: - It is opt-out for now so as to give it maximum testing. - Do not compile your kernel with -fstack-protector-all, it won't work. Submitted by: Jeremie Le Hen <jeremie@le-hen.org> |
#
4d52a575 |
|
20-Jun-2008 |
Xin LI <delphij@FreeBSD.org> |
Add et(4), a port of DragonFly's Agere ET1310 10/100/Gigabit Ethernet device driver, written by sephe@ Obtained from: DragonFly Sponsored by: iXsystems MFC after: 2 weeks |
#
a0faacaa |
|
14-Jun-2008 |
Robert Watson <rwatson@FreeBSD.org> |
When NETATALK is compiled into the kernel, at_rmx.c is required regardless of whether NETATALKDEBUG is enabled, so make building it conditional on NETATALK instead. This problem appears to have been present from the time that the netatalk implementation was imported. PR: 124456 Submitted by: Nathan Whitehorn <whitehorn at wisc dot edu> MFC after: 3 days |
#
66764126 |
|
11-Jun-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
Add LRO into kernel build |
#
694c6518 |
|
05-Jun-2008 |
Benno Rice <benno@FreeBSD.org> |
This is a rewritten driver for the SMSC LAN91C111. It's based in part on the sn(4) driver and also looking at newer drivers. The reason for the rewrite is to support MII and to try and resolve some performance issues found when trying to use the sn(4) driver on the Gumstix network boards. For reference, the SMSC LAN91C111 is a non-PCI ethernet part whose lineage dates back to Ye Olde Days of ISA. It seems to get some use in the embedded space these days on parts lacking on-board MACs or on-board PCI controllers, such as the XScale PXA line of ARM CPUs. This also includes a driver for the SMSC LAN83C183 10/100 PHY. Man page to follow. |
#
09a80aba |
|
27-May-2008 |
Ed Schouten <ed@FreeBSD.org> |
Rename `tty_subr.c' to `subr_clist.c'. Because clists are also used outside the TTY layer, rename the file containing the clist routines to something more accurate. The mpsafetty TTY layer doesn't use clists. It uses its own buffers, which also implement the unbuffered copying to userspace. We cannot simply remove the clist routines then, because this would break various drivers that are present within the kernel. Approved by: philip (mentor) |
#
75a1bf5f |
|
26-May-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Hook up jme(4) to the build. |
#
5defec9f |
|
26-May-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Connect jmphy(4) to the build. |
#
2e598474 |
|
26-May-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and parts relied on the now removed NET_NEEDS_GIANT. Most of I4B has been disconnected from the build since July 2007 in HEAD/RELENG_7. This is what was removed: - configuration in /etc/isdn - examples - man pages - kernel configuration - sys/i4b (drivers, layers, include files) - user space tools - i4b support from ppp - further documentation Discussed with: rwatson, re |
#
e4372ceb |
|
25-May-2008 |
Robert Watson <rwatson@FreeBSD.org> |
Remove netatm from HEAD as it is not MPSAFE and relies on the now removed NET_NEEDS_GIANT. netatm has been disconnected from the build for ten months in HEAD/RELENG_7. Specifics: - netatm include files - netatm command line management tools - libatm - ATM parts in rescue and sysinstall - sample configuration files and documents - kernel support as a module or in NOTES - netgraph wrapper nodes for netatm - ctags data for netatm. - netatm-specific device drivers. MFC after: 3 weeks Reviewed by: bz Discussed with: bms, bz, harti |
#
cfef026a |
|
18-May-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Hook up age(4) to the build. |
#
5618f1be |
|
18-May-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Connect atphy(4) to the build. |
#
5ed1b46b |
|
18-May-2008 |
John Birrell <jb@FreeBSD.org> |
Add a couple of files which depend of the KDTRACE_HOOKS option. The syscall names are required by KDTRACE_HOOKS too. And the unzip |
#
9ca4041b |
|
16-May-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
This is driver version 1.4.4 of the Intel ixgbe driver. -It has new hardware support -It uses a new method of TX cleanup called Head Write Back -It includes the provisional generic TCP LRO feature contributed by Myricom and made general purpose by me. This should move into the stack upon approval but for this driver drop its in here. -Also bug fixes and etc... MFC in a week if no serious issues arise. |
#
ee98c4a5 |
|
06-May-2008 |
John Baldwin <jhb@FreeBSD.org> |
Add a new personality to mpt(4) devices to allow userland applications to perform various operations on a controller. Specifically, for each mpt(4) device, create a character device in devfs which accepts ioctl requests for reading and writing configuration pages and performing RAID actions. MFC after: 1 week Reviewed by: scottl |
#
3971d07b |
|
29-Apr-2008 |
Sam Leffler <sam@FreeBSD.org> |
Intel 4965 wireless driver (derived from openbsd driver of the same name) |
#
d74e3f17 |
|
25-Apr-2008 |
Sam Leffler <sam@FreeBSD.org> |
add rules for statically embedding ipw, iwi, ral, and wpi firmware modules |
#
0051271e |
|
21-Apr-2008 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make genclock standard on all platforms. Thanks to: grehan & marcel for platform support on ia64 and ppc. |
#
b032f27c |
|
20-Apr-2008 |
Sam Leffler <sam@FreeBSD.org> |
Multi-bss (aka vap) support for 802.11 devices. Note this includes changes to all drivers and moves some device firmware loading to use firmware(9) and a separate module (e.g. ral). Also there no longer are separate wlan_scan* modules; this functionality is now bundled into the wlan module. Supported by: Hobnob and Marvell Reviewed by: many Obtained from: Atheros (some bits) |
#
f4463607 |
|
20-Apr-2008 |
Sam Leffler <sam@FreeBSD.org> |
move awi to the Attic; it will not make the jump to the new world order Reviewed by: imp |
#
46b0a854 |
|
18-Apr-2008 |
Kip Macy <kmacy@FreeBSD.org> |
move cxgb_lt2.[ch] from NIC to TOE move most offload functionality from NIC to TOE factor out all socket and inpcb direct access factor out access to locking in incpb, pcbinfo, and sockbuf |
#
5e2c2d87 |
|
16-Apr-2008 |
Randall Stewart <rrs@FreeBSD.org> |
Allow SCTP to compile without INET6. PR: 116816 Obtained from tuexen@fh-muenster.de: MFC after: 2 weeks |
#
e440aed9 |
|
12-Apr-2008 |
Qing Li <qingli@FreeBSD.org> |
This patch provides the back end support for equal-cost multi-path (ECMP) for both IPv4 and IPv6. Previously, multipath route insertion is disallowed. For example, route add -net 192.103.54.0/24 10.9.44.1 route add -net 192.103.54.0/24 10.9.44.2 The second route insertion will trigger an error message of "add net 192.103.54.0/24: gateway 10.2.5.2: route already in table" Multiple default routes can also be inserted. Here is the netstat output: default 10.2.5.1 UGS 0 3074 bge0 => default 10.2.5.2 UGS 0 0 bge0 When multipath routes exist, the "route delete" command requires a specific gateway to be specified or else an error message would be displayed. For example, route delete default would fail and trigger the following error message: "route: writing to routing socket: No such process" "delete net default: not in table" On the other hand, route delete default 10.2.5.2 would be successful: "delete net default: gateway 10.2.5.2" One does not have to specify a gateway if there is only a single route for a particular destination. I need to perform more testings on address aliases and multiple interfaces that have the same IP prefixes. This patch as it stands today is not yet ready for prime time. Therefore, the ECMP code fragments are fully guarded by the RADIX_MPATH macro. Include the "options RADIX_MPATH" in the kernel configuration to enable this feature. Reviewed by: robert, sam, gnn, julian, kmacy |
#
8cecae25 |
|
03-Apr-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
Fix the build breakage, need the | between dependencies, I didn't realize that :( |
#
e9d8b9c3 |
|
02-Apr-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
This update primarily addresses the ability to have both the em and the igb driver static in the kernel. But it also reflects some other bug fixes in my development stream at Intel. PR 122373 is also fixed in this code. |
#
ffbb71c6 |
|
31-Mar-2008 |
Sam Leffler <sam@FreeBSD.org> |
add include path required to find ah_osdep.h PR: kern/122145 MFC after: 3 days |
#
b03fab12 |
|
28-Mar-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add support for PC-9800 partition tables. |
#
dfdcada3 |
|
26-Mar-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Add the new kernel-mode NFS Lock Manager. To use it instead of the user-mode lock manager, build a kernel with the NFSLOCKD option and add '-k' to 'rpc_lockd_flags' in rc.conf. Highlights include: * Thread-safe kernel RPC client - many threads can use the same RPC client handle safely with replies being de-multiplexed at the socket upcall (typically driven directly by the NIC interrupt) and handed off to whichever thread matches the reply. For UDP sockets, many RPC clients can share the same socket. This allows the use of a single privileged UDP port number to talk to an arbitrary number of remote hosts. * Single-threaded kernel RPC server. Adding support for multi-threaded server would be relatively straightforward and would follow approximately the Solaris KPI. A single thread should be sufficient for the NLM since it should rarely block in normal operation. * Kernel mode NLM server supporting cancel requests and granted callbacks. I've tested the NLM server reasonably extensively - it passes both my own tests and the NFS Connectathon locking tests running on Solaris, Mac OS X and Ubuntu Linux. * Userland NLM client supported. While the NLM server doesn't have support for the local NFS client's locking needs, it does have to field async replies and granted callbacks from remote NLMs that the local client has contacted. We relay these replies to the userland rpc.lockd over a local domain RPC socket. * Robust deadlock detection for the local lock manager. In particular it will detect deadlocks caused by a lock request that covers more than one blocking request. As required by the NLM protocol, all deadlock detection happens synchronously - a user is guaranteed that if a lock request isn't rejected immediately, the lock will eventually be granted. The old system allowed for a 'deferred deadlock' condition where a blocked lock request could wake up and find that some other deadlock-causing lock owner had beaten them to the lock. * Since both local and remote locks are managed by the same kernel locking code, local and remote processes can safely use file locks for mutual exclusion. Local processes have no fairness advantage compared to remote processes when contending to lock a region that has just been unlocked - the local lock manager enforces a strict first-come first-served model for both local and remote lockers. Sponsored by: Isilon Systems PR: 95247 107555 115524 116679 MFC after: 2 weeks |
#
4d621040 |
|
24-Mar-2008 |
Christian S.J. Peron <csjp@FreeBSD.org> |
Introduce support for zero-copy BPF buffering, which reduces the overhead of packet capture by allowing a user process to directly "loan" buffer memory to the kernel rather than using read(2) to explicitly copy data from kernel address space. The user process will issue new BPF ioctls to set the shared memory buffer mode and provide pointers to buffers and their size. The kernel then wires and maps the pages into kernel address space using sf_buf(9), which on supporting architectures will use the direct map region. The current "buffered" access mode remains the default, and support for zero-copy buffers must, for the time being, be explicitly enabled using a sysctl for the kernel to accept requests to use it. The kernel and user process synchronize use of the buffers with atomic operations, avoiding the need for system calls under load; the user process may use select()/poll()/kqueue() to manage blocking while waiting for network data if the user process is able to consume data faster than the kernel generates it. Patchs to libpcap are available to allow libpcap applications to transparently take advantage of this support. Detailed information on the new API may be found in bpf(4), including specific atomic operations and memory barriers required to synchronize buffer use safely. These changes modify the base BPF implementation to (roughly) abstrac the current buffer model, allowing the new shared memory model to be added, and add new monitoring statistics for netstat to print. The implementation, with the exception of some monitoring hanges that break the netstat monitoring ABI for BPF, will be MFC'd. Zerocopy bpf buffers are still considered experimental are disabled by default. To experiment with this new facility, adjust the net.bpf.zerocopy_enable sysctl variable to 1. Changes to libpcap will be made available as a patch for the time being, and further refinements to the implementation are expected. Sponsored by: Seccuris Inc. In collaboration with: rwatson Tested by: pwood, gallatin MFC after: 4 months [1] [1] Certain portions will probably not be MFCed, specifically things that can break the monitoring ABI. |
#
9727e637 |
|
19-Mar-2008 |
Jeff Roberson <jeff@FreeBSD.org> |
- Restore runq to manipulating threads directly by putting runq links and rqindex back in struct thread. - Compile kern_switch.c independently again and stop #include'ing it from schedulers. - Remove the ts_thread backpointers and convert most code to go from struct thread to struct td_sched. - Cleanup the ts_flags #define garbage that was causing us to sometimes do things that expanded to td->td_sched->ts_thread->td_flags in 4BSD. - Export the kern.sched sysctl node in sysctl.h |
#
1fa94a36 |
|
18-Mar-2008 |
Alan Cox <alc@FreeBSD.org> |
Almost seven years ago, vm/vm_page.c was split into three parts: vm/vm_contig.c, vm/vm_page.c, and vm/vm_pageq.c. Today, vm/vm_pageq.c has withered to the point that it contains only four short functions, two of which are only used by vm/vm_page.c. Since I can't foresee any reason for vm/vm_pageq.c to grow, it is time to fold the remaining contents of vm/vm_pageq.c back into vm/vm_page.c. Add some comments. Rename one of the functions, vm_pageq_enqueue(), that is now static within vm/vm_page.c to vm_page_enqueue(). Eliminate PQ_MAXCOUNT as it no longer serves any purpose. |
#
6617724c |
|
12-Mar-2008 |
Jeff Roberson <jeff@FreeBSD.org> |
Remove kernel support for M:N threading. While the KSE project was quite successful in bringing threading to FreeBSD, the M:N approach taken by the kse library was never developed to its full potential. Backwards compatibility will be provided via libmap.conf for dynamically linked binaries and static binaries will be broken. |
#
daeba9bd |
|
10-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Update file list and Makefile after repocopying vr(4) from src/sys/pci to src/sys/dev. |
#
603d67ae |
|
06-Mar-2008 |
Rink Springer <rink@FreeBSD.org> |
Commit cmx(4), a driver for Omnikey CardMan 4040 PCMCIA smartcard readers. PR: kern/114582 Submitted by: Daniel Roethlisberger <daniel@roe.ch> Reviewed by: imp, myself Tested by: johans, myself MFC after: 2 weeks |
#
2e7328e7 |
|
05-Mar-2008 |
Rink Springer <rink@FreeBSD.org> |
Import uslcom(4) from OpenBSD - this is a driver for Silicon Laboratories CP2101/CP2102 based USB serial adapters. Reviewed by: imp, emaste Obtained from: OpenBSD MFC after: 2 weeks |
#
321578e3 |
|
03-Mar-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
Connect MPC85XX to the PowerPC build. The kernel config file is KERNCONF=MPC85XX, so the usual procedure applies: 1. make buildworld TARGET_ARCH=powerpc 2. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX This default config uses kernel-level FPU emulation. For the soft-float world approach: 1. make buildworld TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 2. disable FPU_EMU option in sys/powerpc/conf/MPC85XX 3. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX Approved by: cognet (mentor) MFp4: e500 |
#
d7f687fc |
|
02-Mar-2008 |
Jeff Roberson <jeff@FreeBSD.org> |
Add cpuset, an api for thread to cpu binding and cpu resource grouping and assignment. - Add a reference to a struct cpuset in each thread that is inherited from the thread that created it. - Release the reference when the thread is destroyed. - Add prototypes for syscalls and macros for manipulating cpusets in sys/cpuset.h - Add syscalls to create, get, and set new numbered cpusets: cpuset(), cpuset_{get,set}id() - Add syscalls for getting and setting affinity masks for cpusets or individual threads: cpuid_{get,set}affinity() - Add types for the 'level' and 'which' parameters for the cpuset. This will permit expansion of the api to cover cpu masks for other objects identifiable with an id_t integer. For example, IRQs and Jails may be coming soon. - The root set 0 contains all valid cpus. All thread initially belong to cpuset 1. This permits migrating all threads off of certain cpus to reserve them for special applications. Sponsored by: Nokia Discussed with: arch, rwatson, brooks, davidxu, deischen Reviewed by: antoine |
#
909f20c8 |
|
01-Mar-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add support for VTOC8 labels (aka sun disk labels). When a label does not have VTOC information about the partitions, it will be created. This is because the VTOC information is used for the partition type and FreeBSD's sunlabel(8) does not create nor use VTOC information. For this purpose, new tags have been added to support FreeBSD's partition types. |
#
cee379a8 |
|
29-Feb-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
Somehow missed the stanza for 575 in the em driver |
#
531c890b |
|
29-Feb-2008 |
Paolo Pisati <piso@FreeBSD.org> |
Move ipfw's nat code into its own kld: ipfw_nat. |
#
f75ef9e4 |
|
29-Feb-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
This change introduces a split to the Intel E1000 driver, now rather than just em, there is an igb driver (this follows behavior with our Linux drivers). All adapters up to the 82575 are supported in em, and new client/desktop support will continue to be in that adapter. The igb driver is for new server NICs like the 82575 and its followons. Advanced features for virtualization and performance will be in this driver. Also, both drivers now have shared code that is up to the latest we have released. Some stylistic changes as well. Enjoy :) |
#
404825a7 |
|
25-Feb-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Move firmware in to separate module that can be compiled statically in to the kernel Add utility for converting future firmware revs to a C header file |
#
1669d8af |
|
20-Feb-2008 |
Andrew Thompson <thompsa@FreeBSD.org> |
Rename geom_lvm(4) to geom_linux_lvm(4). Requested by: des, phk |
#
ff44888c |
|
13-Feb-2008 |
Robert Watson <rwatson@FreeBSD.org> |
Remove coda_namecache from "options vcoda", it is no longer required. MFC after: 1 month Spotted by: Tinderbox |
#
2b8d4f5b |
|
10-Feb-2008 |
Andrew Thompson <thompsa@FreeBSD.org> |
Hook geom_lvm(4) up to the build. |
#
d47d37af |
|
26-Jan-2008 |
Marius Strobl <marius@FreeBSD.org> |
Add a driver for the National Semiconductor DP83815, DP83843 and DP83847 PHYs. The main reason for using a specific driver for these PHYs are reset quirks similar to the nsphy(4) driven DP83840A. PR: 112654 Obtained from: NetBSD MFC after: 2 weeks Thanks to: mlaier for testing w/ DP83815 |
#
6bf42daa |
|
20-Jan-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Update file list and Makefile after repocopying sf(4) from src/sys/pci to src/sys/dev. |
#
1e413cf9 |
|
15-Jan-2008 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Add optional support to mxge for MSI-X interrupts and multiple receive queues (which we call slices). The NIC will steer traffic into up to hw.mxge.max_slices different receive rings based on a configurable hash type (hw.mxge.rss_hash_type). Currently the driver defaults to using a single slice, so the default behavior is unchanged. Also, transmit from non-zero slices is disabled currently. |
#
20532d11 |
|
13-Jan-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Add cxgb_multiq.c to the cxgb build for static linking |
#
8e38aeff |
|
08-Jan-2008 |
John Baldwin <jhb@FreeBSD.org> |
Add a new file descriptor type for IPC shared memory objects and use it to implement shm_open(2) and shm_unlink(2) in the kernel: - Each shared memory file descriptor is associated with a swap-backed vm object which provides the backing store. Each descriptor starts off with a size of zero, but the size can be altered via ftruncate(2). The shared memory file descriptors also support fstat(2). read(2), write(2), ioctl(2), select(2), poll(2), and kevent(2) are not supported on shared memory file descriptors. - shm_open(2) and shm_unlink(2) are now implemented as system calls that manage shared memory file descriptors. The virtual namespace that maps pathnames to shared memory file descriptors is implemented as a hash table where the hash key is generated via the 32-bit Fowler/Noll/Vo hash of the pathname. - As an extension, the constant 'SHM_ANON' may be specified in place of the path argument to shm_open(2). In this case, an unnamed shared memory file descriptor will be created similar to the IPC_PRIVATE key for shmget(2). Note that the shared memory object can still be shared among processes by sharing the file descriptor via fork(2) or sendmsg(2), but it is unnamed. This effectively serves to implement the getmemfd() idea bandied about the lists several times over the years. - The backing store for shared memory file descriptors are garbage collected when they are not referenced by any open file descriptors or the shm_open(2) virtual namespace. Submitted by: dillon, peter (previous versions) Submitted by: rwatson (I based this on his version) Reviewed by: alc (suggested converting getmemfd() to shm_open()) |
#
f8a47341 |
|
29-Dec-2007 |
Alan Cox <alc@FreeBSD.org> |
Add the superpage reservation system. This is "part 2 of 2" of the machine-independent support for superpages. (The earlier part was the rewrite of the physical memory allocator.) The remainder of the code required for superpages support is machine-dependent and will be added to the various pmap implementations at a later date. Initially, I am only supporting one large page size per architecture. Moreover, I am only enabling the reservation system on amd64. (In an emergency, it can be disabled by setting VM_NRESERVLEVELS to 0 in amd64/include/vmparam.h or your kernel configuration file.) |
#
618c7db3 |
|
26-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add textdump(4) facility, which provides an alternative form of kernel dump using mechanically generated/extracted debugging output rather than a simple memory dump. Current sources of debugging output are: - DDB output capture buffer, if there is captured output to save - Kernel message buffer - Kernel configuration, if included in kernel - Kernel version string - Panic message Textdumps are stored in swap/dump partitions as with regular dumps, but are laid out as ustar files in order to allow multiple parts to be stored as a stream of sequentially written blocks. Blocks are written out in reverse order, as the size of a textdump isn't known a priori. As with regular dumps, they will be extracted using savecore(8). One new DDB(4) command is added, "textdump", which accepts "set", "unset", and "status" arguments. By default, normal kernel dumps are generated unless "textdump set" is run in order to schedule a textdump. It can be canceled using "textdump unset" to restore generation of a normal kernel dump. Several sysctls exist to configure aspects of textdumps; debug.ddb.textdump.pending can be set to check whether a textdump is pending, or set/unset in order to control whether the next kernel dump will be a textdump from userspace. While textdumps don't have to be generated as a result of a DDB script run automatically as part of a kernel panic, this is a particular useful way to use them, as instead of generating a complete memory dump, a simple transcript of an automated DDB session can be captured using the DDB output capture and textdump facilities. This can be used to generate quite brief kernel bug reports rich in debugging information but not dependent on kernel symbol tables or precisely synchronized source code. Most textdumps I generate are less than 100k including the full message buffer. Using textdumps with an interactive debugging session is also useful, with capture being enabled/disabled in order to record some but not all of the DDB session. MFC after: 3 months |
#
c9b0cc3b |
|
26-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add a simple scripting facility to DDB(4), allowing the user to define a set of named scripts. Each script consists of a list of DDB commands separated by ";"s that will be executed verbatim. No higher level language constructs, such as branching, are provided for: scripts are executed by sequentially injecting commands into the DDB input buffer. Four new commands are present in DDB: "run" to run a specific script, "script" to define or print a script, "scripts" to list currently defined scripts, and "unscript" to delete a script, modeled on shell alias commands. Scripts may also be manipulated using sysctls in the debug.ddb.scripting MIB space, although users will prefer to use the soon-to-be-added ddb(8) tool for usability reasons. Scripts with certain names are automatically executed on various DDB events, such as entering the debugger via a panic, a witness error, watchdog, breakpoint, sysctl, serial break, etc, allowing customized handling. MFC after: 3 months |
#
086fec57 |
|
25-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add a new DDB(4) facility, output capture. Input and output from DDB may be captured to a memory buffer for later inspection using sysctl(8), or in the future, to a textdump. A new DDB command, "capture", is added, which accepts arguments "on", "off", "reset", and "status". A new DDB sysctl tree, debug.ddb.capture, is added, which can be used to resize the capture buffer and extract buffer contents. MFC after: 3 months |
#
228d1e26 |
|
17-Dec-2007 |
Kip Macy <kmacy@FreeBSD.org> |
build tcp_offload.c instead of tcp_ofld.c |
#
620721db |
|
12-Dec-2007 |
Kip Macy <kmacy@FreeBSD.org> |
Add driver independent interface to offload active established TCP connections Reviewed by: silby |
#
5aaa8fef |
|
05-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a BSD disklabel backend to g_part: o Disklabels can have between 8 and 20 partitions (inclusive). o No device special file is created for the raw partition. o Switch ia64 to use this backend. o No support for boot code yet. |
#
3c90d1ea |
|
02-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) |
#
d31fc8ce |
|
01-Dec-2007 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove XRPU driver, after asking all the users. |
#
c6fa9175 |
|
21-Nov-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Alphabetize pts before pty. MFC after: 3 days |
#
dbac8ff4 |
|
12-Nov-2007 |
John Baldwin <jhb@FreeBSD.org> |
Move the agp(4) driver from sys/pci to sys/dev/agp. __FreeBSD_version was bumped to 800004 to note the change though userland apps should not be affected since they use <sys/agpio.h> rather than the headers in sys/dev/agp. Discussed with: anholt Repocopy by: simon |
#
f53d15fe |
|
08-Nov-2007 |
Stephan Uphoff <ups@FreeBSD.org> |
Initial checkin for rmlock (read mostly lock) a multi reader single writer lock optimized for almost exclusive reader access. (see also rmlock.9) TODO: Convert to per cpu variables linkerset as soon as it is available. Optimize UP (single processor) case. |
#
b9b0dac3 |
|
28-Oct-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Move towards more explicit support for various network protocol stacks in the TrustedBSD MAC Framework: - Add mac_atalk.c and add explicit entry point mac_netatalk_aarp_send() for AARP packet labeling, rather than using a generic link layer entry point. - Add mac_inet6.c and add explicit entry point mac_netinet6_nd6_send() for ND6 packet labeling, rather than using a generic link layer entry point. - Add expliict entry point mac_netinet_arp_send() for ARP packet labeling, and mac_netinet_igmp_send() for IGMP packet labeling, rather than using a generic link layer entry point. - Remove previous genering link layer entry point, mac_mbuf_create_linklayer() as it is no longer used. - Add implementations of new entry points to various policies, largely by replicating the existing link layer entry point for them; remove old link layer entry point implementation. - Make MAC_IFNET_LOCK(), MAC_IFNET_UNLOCK(), and mac_ifnet_mtx global to the MAC Framework rather than static to mac_net.c as it is now needed outside of mac_net.c. Obtained from: TrustedBSD Project |
#
8bb84cef |
|
27-Oct-2007 |
Sam Leffler <sam@FreeBSD.org> |
fix build |
#
a9d185b2 |
|
25-Oct-2007 |
David E. O'Brien <obrien@FreeBSD.org> |
Align. |
#
9f05d312 |
|
15-Oct-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
Backout sensors framework. Requested by: phk Discussed on: cvs-all |
#
989500bf |
|
14-Oct-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
Import it(4) and lm(4), supporting most popular Super I/O Hardware Monitors. Submitted by: Constantine A. Murenin <cnst@FreeBSD.org> Sponsored by: Google Summer of Code 2007 (GSoC2007/cnst-sensors) Mentored by: syrinx Tested by: many OKed by: kensmith Obtained from: OpenBSD (parts) |
#
99f6b270 |
|
14-Oct-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
Import OpenBSD's sysctl hardware sensors framework. This commit includes the following core components: * sample configuration file for sensorsd * rc(8) script and glue code for sensorsd(8) * sysctl(3) doc fixes for CTL_HW tree * sysctl(3) documentation for hardware sensors * sysctl(8) documentation for hardware sensors * support for the sensor structure for sysctl(8) * rc.conf(5) documentation for starting sensorsd(8) * sensor_attach(9) et al documentation * /sys/kern/kern_sensors.c o sensor_attach(9) API for drivers to register ksensors o sensor_task_register(9) API for the update task o sysctl(3) glue code o hw.sensors shadow tree for sysctl(8) internal magic * <sys/sensors.h> * HW_SENSORS definition for <sys/sysctl.h> * sensors display for systat(1), including documentation * sensorsd(8) and all applicable documentation The userland part of the framework is entirely source-code compatible with OpenBSD 4.1, 4.2 and -current as of today. All sensor readings can be viewed with `sysctl hw.sensors`, monitored in semi-realtime with `systat -sensors` and also logged with `sensorsd`. Submitted by: Constantine A. Murenin <cnst@FreeBSD.org> Sponsored by: Google Summer of Code 2007 (GSoC2007/cnst-sensors) Mentored by: syrinx Tested by: many OKed by: kensmith Obtained from: OpenBSD (parts) |
#
f854db0b |
|
23-Sep-2007 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Bring in the GEOM Virtualisation class, which allows to create huge GEOM providers with limited physical storage and add physical storage as needed. Submitted by: Ivan Voras Sponsored by: Google Summer of Code 2006 Approved by: re (kensmith) |
#
69fc43c0 |
|
08-Aug-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Compile ipfilter:ip_lookup.c without -Werror. The file contains a test that assumes that char is signed by default and causes a warning with GCC 4.2 on PowerPC. A patch has been sent to the maintainer that addresses this. Approved by: re (blanket) |
#
c5933b20 |
|
24-Jul-2007 |
Scott Long <scottl@FreeBSD.org> |
Introduce Danny Braniss' iSCSI initiator, version 2.0.99. Please read the included man pages on how to use it. This code is still somewhat experimental but has been successfully tested on a number of targets. Many thanks to Danny for contributing this. Approved by: re |
#
8136d21e |
|
23-Jul-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Continue effort to align UDPv4 and UDPv6 implementations by merging udp6_output() from udp6_output.c to udp6_usrreq.c, matching the UDPv4 structure, and allowing us to remove udp6_output.c. Reviewed by: bz, gnn Approved by: re (bmah) |
#
f9ae0280 |
|
19-Jul-2007 |
Andrew Gallatin <gallatin@FreeBSD.org> |
- Enable static building of mxge(4) and its firmware. - Add custom .c wrappers for the firmware, rather than the standard firmware(9) generated firmware objects to work around toolchain problems on ia64 involving linking objects produced by ld -b -binary into the kernel. - Move from using Myricom's ".dat" firmware blobs to using Myricom's zlib compressed ".h" firmware header files. This is done to facilitate the custom wrappers, and saves a fair amount of wired memory in the case where the firmware is built in, or preloaded. - Fix two compile issues in mxge which only appear on non-i386/amd64. Reviewed by: mlaier, mav (earlier version with just zlib support) Glanced at by: sam Approved by: re (kensmith) |
#
2b851aeb |
|
14-Jul-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Disconnect netatm from the build as it is not MPSAFE and relies on NET_NEEDS_GIANT, which will shortly be removed. This is done in a away that it may be easily reattached to the build before 7.1 if appropriate locking is added. Specifics: - Don't install netatm include files - Disconnect netatm command line management tools - Don't build libatm - Don't include ATM parts in rescue or sysinstall - Don't install sample configuration files and documents - Don't build kernel support as a module or in NOTES - Don't build netgraph wrapper nodes for netatm This removes the last remaining consumer of NET_NEEDS_GIANT. Reviewed by: harti Discussed with: bz, bms Approved by: re (kensmith) |
#
b54d3a6c |
|
14-Jul-2007 |
Randall Stewart <rrs@FreeBSD.org> |
- Modular congestion control, with RFC2581 being the default. - CMT_PF states added (w/sysctl to turn the PF version on) - sctp_input.c had a missing incr of cookie case when the auth was bad. This meant a free was called without an increment to refcnt, added increment like rest of code. - There was a case, unlikely, when the scope of the destination changed (this is a TSNH case). In that case, it would not free the alloc'ed asoc (in sctp_input.c). - When listed addresses found a colliding cookie/Init, then the collided upon tcb was not unlocked in sctp_pcb.c - Add error checking on arguments of sctp_sendx(3) to prevent it from referencing a NULL pointer. - Fix an error return of sctp_sendx(3), it was returing ENOMEM not -1. - Get assoc id was changed to use the sanctified socket api method for getting a assoc id (PEER_ADDR_INFO instead of PEER_ADDR_PARAMS). - Fix it so a peeled off socket will get a proper error return if it trys to send to a different address then it is connected to. - Fix so that select_a_stream can avoid an endless loop that could hang a caller. - time_entered (state set time) was not being set in all cases to the time we went established. Approved by: re(ken smith) |
#
00f05dc8 |
|
12-Jul-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Complete repo-copy and move of Coda from src/sys/coda to src/sys/fs/coda by removing files from src/sys/coda, and updating include paths in the new location, kernel configuration, and Makefiles. In one case add $FreeBSD$. Discussed with: anderson, Jan Harkes <jaharkes@cs.cmu.edu> Approved by: re (kensmith) Repo-copy madness: simon |
#
c27bff78 |
|
11-Jul-2007 |
Jack F Vogel <jfv@FreeBSD.org> |
New driver for Intel 10G PCI-Express adapter (82598), driver is still in Beta, but we want early users to have access to it in 7.0, Feedback welcome. Enjoy. -Jack Approved by: re |
#
e22a271e |
|
05-Jul-2007 |
Max Laier <mlaier@FreeBSD.org> |
Remove unused variable from pf_subr.c to make it -Werror buildable. Approved by: re (kensmith) |
#
40854247 |
|
05-Jul-2007 |
Peter Wemm <peter@FreeBSD.org> |
Compile pf/pf_subr.c and netnatm/cc_conn.c without -Werror for the time being. Approved by: re (rwatson) |
#
5e49926a |
|
03-Jul-2007 |
Tai-hwa Liang <avatar@FreeBSD.org> |
Reintroducing !INET6 + IPSEC building fix which was accidentally reverted in rev. 1.1229. Approved by: re (kensmith) |
#
118043c6 |
|
03-Jul-2007 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Temporary disconnect i4bing, i4bisppp and i4bipr from the build for the 7.0 timeframe. This is needed because I4B is not locked and NET_NEEDS_GIANT goes away. The plan is to lock I4B and bring everything back for 7.1. Approved by: re (kensmith) |
#
60ee3847 |
|
02-Jul-2007 |
Max Laier <mlaier@FreeBSD.org> |
Link pf 4.1 to the build: - move ftp-proxy from libexec to usr.sbin - add tftp-proxy - new altq mtag link Approved by: re (kensmith) |
#
b2630c29 |
|
02-Jul-2007 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC option is now deprecated, as well as the KAME IPsec code. What was FAST_IPSEC is now IPSEC. Approved by: re Sponsored by: Secure Computing |
#
1a1f3aa1 |
|
03-Jul-2007 |
Tai-hwa Liang <avatar@FreeBSD.org> |
Fixing !INET6 + FAST_IPSEC builds. Reviewed by: gnn Approved by: re (kensmith) |
#
0a458381 |
|
30-Jun-2007 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Remove a dangling file reference that is no longer needed with the removal of KAME IPsec Reviewed by: bz Approved by: re Supported by: Secure Computing |
#
2cb64cb2 |
|
01-Jul-2007 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Commit IPv6 support for FAST_IPSEC to the tree. This commit includes only the kernel files, the rest of the files will follow in a second commit. Reviewed by: bz Approved by: re Supported by: Secure Computing |
#
fd3ddbd0 |
|
29-Jun-2007 |
Sam Leffler <sam@FreeBSD.org> |
Neterion Xframe 10GbE Server/Storage adapter driver. The nxge driver provides support for Neterion Xframe-I and Xframe-II adapters. The driver supports TCP Segmentation Offload (TSO/LSO), Jumbo frames (5 buffer mode), Header separation (2 and 3 Receive buffer modes), VLAN, and Promiscuous mode. Submitted by: Neterion Reviewed by: rwatson Approved by: re (kensmith) |
#
9b258fca |
|
28-Jun-2007 |
Xin LI <delphij@FreeBSD.org> |
MFp4: - Remove unnecessary NULL checks after M_WAITOK allocations. - Use VOP_ACCESS instead of hand-rolled suser_cred() calls. [1] - Use malloc(9) KPI to allocate memory for string. The optimization taken from NetBSD is not valid for FreeBSD because our malloc(9) already act that way. [2] Requested by: rwatson [1] Submitted by: Howard Su [2] Approved by: re (tmpfs blanket) |
#
534046e3 |
|
24-Jun-2007 |
Rong-En Fan <rafan@FreeBSD.org> |
- Remove UMAP filesystem. It was disconnected from build three years ago, and it is seriously broken. Discussed on: freebsd-arch@ Approved by: re (mux) |
#
2446e4f0 |
|
15-Jun-2007 |
Alan Cox <alc@FreeBSD.org> |
Enable the new physical memory allocator. This allocator uses a binary buddy system with a twist. First and foremost, this allocator is required to support the implementation of superpages. As a side effect, it enables a more robust implementation of contigmalloc(9). Moreover, this reimplementation of contigmalloc(9) eliminates the acquisition of Giant by contigmalloc(..., M_NOWAIT, ...). The twist is that this allocator tries to reduce the number of TLB misses incurred by accesses through a direct map to small, UMA-managed objects and page table pages. Roughly speaking, the physical pages that are allocated for such purposes are clustered together in the physical address space. The performance benefits vary. In the most extreme case, a uniprocessor kernel running on an Opteron, I measured an 18% reduction in system time during a buildworld. This allocator does not implement page coloring. The reason is that superpages have much the same effect. The contiguous physical memory allocation necessary for a superpage is inherently colored. Finally, the one caveat is that this allocator does not effectively support prezeroed pages. I hope this is temporary. On i386, this is a slight pessimization. However, on amd64, the beneficial effects of the direct-map optimization outweigh the ill effects. I speculate that this is true in general of machines with a direct map. Approved by: re |
#
d1fa59e9 |
|
15-Jun-2007 |
Xin LI <delphij@FreeBSD.org> |
MFp4: Add tmpfs, an efficient memory file system. Please note that, this is currently considered as an experimental feature so there could be some rough edges. Consult http://wiki.freebsd.org/TMPFS for more information. For now, connect tmpfs to build on i386 and amd64 architectures only. Please let us know if you have success with other platforms. This work was developed by Julio M. Merino Vidal for NetBSD as a SoC project; Rohit Jalan ported it from NetBSD to FreeBSD. Howard Su and Glen Leeder are worked on it to continue this effort. Obtained from: NetBSD via p4 Submitted by: Howard Su (with some minor changes) Approved by: re (kensmith) |
#
2281b8f0 |
|
13-Jun-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Remove IPX over IP tunneling support, which allows IPX routing over IP tunnels, and was not MPSAFE. The code can be easily restored in the event that someone with an IPX over IP tunnel configuration can work with me to test patches. This removes one of five remaining consumers of NET_NEEDS_GIANT. Approved by: re (kensmith) |
#
ef72318f |
|
12-Jun-2007 |
Kip Macy <kmacy@FreeBSD.org> |
- import new common code for the T304 - update to firmware version 4.1.0 - switch over to standard method for initializing cdevs (contributed by scottl@) - break out timer_reclaim_task to be per-port - move msix teardown into separate function - fix bus_setup_intr for msi-x for the multi-port case so that msi-x resources are not corrupted on unload - handle 10/100/1000 base-T media and auto negotiation - bind qset to cpu even for singleq case - white space cleanups - remove recursive PORT_LOCK - move mtu setting to separate function - stop and re-init port when changing mtu - replace all direct references to m_data with calls to mtod - handle attach failure better by not trying to de-initialize taskqueues when they have not been allocated - no longer default to jumbo frames Sponsored by: Chelsio MFC after: 3 days |
#
6bc50445 |
|
12-Jun-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add the MBR partitioning scheme to g_part. This does not yet support the ability to install boot code. |
#
71498f30 |
|
12-Jun-2007 |
Bruce M Simpson <bms@FreeBSD.org> |
Import rewrite of IPv4 socket multicast layer to support source-specific and protocol-independent host mode multicast. The code is written to accomodate IPv6, IGMPv3 and MLDv2 with only a little additional work. This change only pertains to FreeBSD's use as a multicast end-station and does not concern multicast routing; for an IGMPv3/MLDv2 router implementation, consider the XORP project. The work is based on Wilbert de Graaf's IGMPv3 code drop for FreeBSD 4.6, which is available at: http://www.kloosterhof.com/wilbert/igmpv3.html Summary * IPv4 multicast socket processing is now moved out of ip_output.c into a new module, in_mcast.c. * The in_mcast.c module implements the IPv4 legacy any-source API in terms of the protocol-independent source-specific API. * Source filters are lazy allocated as the common case does not use them. They are part of per inpcb state and are covered by the inpcb lock. * struct ip_mreqn is now supported to allow applications to specify multicast joins by interface index in the legacy IPv4 any-source API. * In UDP, an incoming multicast datagram only requires that the source port matches the 4-tuple if the socket was already bound by source port. An unbound socket SHOULD be able to receive multicasts sent from an ephemeral source port. * The UDP socket multicast filter mode defaults to exclusive, that is, sources present in the per-socket list will be blocked from delivery. * The RFC 3678 userland functions have been added to libc: setsourcefilter, getsourcefilter, setipv4sourcefilter, getipv4sourcefilter. * Definitions for IGMPv3 are merged but not yet used. * struct sockaddr_storage is now referenced from <netinet/in.h>. It is therefore defined there if not already declared in the same way as for the C99 types. * The RFC 1724 hack (specify 0.0.0.0/8 addresses to IP_MULTICAST_IF which are then interpreted as interface indexes) is now deprecated. * A patch for the Rhyolite.com routed in the FreeBSD base system is available in the -net archives. This only affects individuals running RIPv1 or RIPv2 via point-to-point and/or unnumbered interfaces. * Make IPv6 detach path similar to IPv4's in code flow; functionally same. * Bump __FreeBSD_version to 700048; see UPDATING. This work was financially supported by another FreeBSD committer. Obtained from: p4://bms_netdev Submitted by: Wilbert de Graaf (original work) Reviewed by: rwatson (locking), silence from fenner, net@ (but with encouragement) |
#
68e8e04e |
|
10-Jun-2007 |
Sam Leffler <sam@FreeBSD.org> |
Update 802.11 wireless support: o major overhaul of the way channels are handled: channels are now fully enumerated and uniquely identify the operating characteristics; these changes are visible to user applications which require changes o make scanning support independent of the state machine to enable background scanning and roaming o move scanning support into loadable modules based on the operating mode to enable different policies and reduce the memory footprint on systems w/ constrained resources o add background scanning in station mode (no support for adhoc/ibss mode yet) o significantly speedup sta mode scanning with a variety of techniques o add roaming support when background scanning is supported; for now we use a simple algorithm to trigger a roam: we threshold the rssi and tx rate, if either drops too low we try to roam to a new ap o add tx fragmentation support o add first cut at 802.11n support: this code works with forthcoming drivers but is incomplete; it's included now to establish a baseline for other drivers to be developed and for user applications o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates prepending mbufs for traffic generated locally o add support for Atheros protocol extensions; mainly the fast frames encapsulation (note this can be used with any card that can tx+rx large frames correctly) o add sta support for ap's that beacon both WPA1+2 support o change all data types from bsd-style to posix-style o propagate noise floor data from drivers to net80211 and on to user apps o correct various issues in the sta mode state machine related to handling authentication and association failures o enable the addition of sta mode power save support for drivers that need net80211 support (not in this commit) o remove old WI compatibility ioctls (wicontrol is officially dead) o change the data structures returned for get sta info and get scan results so future additions will not break user apps o fixed tx rate is now maintained internally as an ieee rate and not an index into the rate set; this needs to be extended to deal with multi-mode operation o add extended channel specifications to radiotap to enable 11n sniffing Drivers: o ath: add support for bg scanning, tx fragmentation, fast frames, dynamic turbo (lightly tested), 11n (sniffing only and needs new hal) o awi: compile tested only o ndis: lightly tested o ipw: lightly tested o iwi: add support for bg scanning (well tested but may have some rough edges) o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data o wi: lightly tested This work is based on contributions by Atheros, kmacy, sephe, thompsa, mlaier, kevlo, and others. Much of the scanning work was supported by Atheros. The 11n work was supported by Marvell. |
#
a88b5e21 |
|
10-Jun-2007 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Connect icsphy(4) to the build. |
#
8e0185f6 |
|
04-Jun-2007 |
Jeff Roberson <jeff@FreeBSD.org> |
- Remove sched_core.c. The maintainer has lost interest in pursuing this and it has been neglected in the recent ksegrp removal as well as the thread_lock() changes. Discussed with: davidxu |
#
4b3ba478 |
|
31-May-2007 |
Andrew Thompson <thompsa@FreeBSD.org> |
Take back the name 'bridge' now that we are the one and only. This can be phased back in over the next few major releases. if_bridge is still the documented device name so nothing has changed yet. |
#
bba4862c |
|
31-May-2007 |
Ariff Abdullah <ariff@FreeBSD.org> |
Last major commit and updates for RELENG_7: - Rework the entire pcm_channel structure: * Remove rarely used link placeholder, instead, make each pcm_channel as head/link of each own/each other. Unlock - Lock sequence due to sleep malloc has been reduced. * Implement "busy" queue which will contain list of busy/active channels. This greatly reduce locking contention for example while servicing interrupt for hardware with many channels or when virtual channels reach its 256 peak channels. - So I heard you like v chan ... O RLY? Welcome to Virtual **Record** Channels (vrec, rec vchans, vchans for recording, Rec-Chan, you decide), the ultimate solutions for your nagging O_RDWR full-duplex wannabe (note: flash plugins) monopolizing single record channel causing EBUSY. Vrec works exactly like Vchans (or, should I rename it to "Vplay" :) , except that it operates on the opposite direction (recording). Up to 256 vrecs (like vchans) are possible. Notes: * Relocate dev.pcm.%d.{vchans,vchanformat,vchanrate} to each of its respective node/direction: dev.pcm.%d.play.* for "play" (cdev = dsp%d.vp%d) dev.pcm.%d.rec.* for "record" (cdev = dsp%d.vr%d) * Don't expect that it will magically give you ability to split "recording source" (eg: 1 channel for cdrom, 1 channel for mic, etc). Just admit that you only have a *single* recording source / channel. Please bug your hardware vendor instead :) - Bump maxautovchans from 4 to 16. For a full-fledged multimedia desktop/workstation with too many soundservers installed (esound, artsd, jackd, pulse/polypaudio, ding-dong pling plong mudkip fuh fuh, etc), 4 seems inadequate. There will be no memory penalty here, since virtual channels are allocate only by demand. - Nuke/Rework the entire statically created cdev entries. Everything is clonable through snd own clone manager which designed to withstand many kind of abusive devfs droids such as: * while : ; do /bin/test -e /dev/dsp ; done * jot 16777216 0 | while read x ; do ls /dev/dsp0.$x ; done * hundreds (could be thousands) concurrent threads/process opening "/dev/dsp" (previously, this might result EBUSY even with just 3 contesting threads/procs). o Reusable clone objects (instead of creating new one like there's no tomorrow) after certain expiration deadline. The clone allocator will decide whether to reuse, share, or creating new clone. o Automatic garbage collector. - Dynamic unit magic allocator. Maximum attached soundcards can be tuned using tunable "hw.snd.maxunit" (Default to 512). Minimum is 16, and maximum is 2048. - ..other fixes, mostly related to concurrency issues. joel@ will do the manpage updates on sound(4). Have fun. |
#
d722cab4 |
|
25-May-2007 |
Kip Macy <kmacy@FreeBSD.org> |
(MFp4) - upgrade to reflect state of 1.0.0.86 - move from firmware rev 3.2 to 4.0.0 - import driver bits for offload functionality - remove binary distribution clause from top level files as it runs counter to the intent of purely supporting the hardware MFC after: 3 days |
#
408e1674 |
|
21-May-2007 |
Alexander Motin <mav@FreeBSD.org> |
Return back NETGRAPH_MPPC_COMPRESSION depends. Reviewed by: ru, julian Approved by: glebius (mentor) |
#
91ac7888 |
|
16-May-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Make the serdev I/F non-optional. At least 3 drivers depend on it and they can be loaded as a module. PR: kern/112706 |
#
f366931c |
|
16-May-2007 |
Scott Long <scottl@FreeBSD.org> |
Add the 'mfip' sub-driver for gaining SCSI-passthrough access to devices on an MFI controller. |
#
7d3b4a08 |
|
15-May-2007 |
Alexander Motin <mav@FreeBSD.org> |
A node that implements various traffic shaping and rate limiting algorithms (ng_car). Approved by: glebius (mentor) |
#
ec9c7553 |
|
13-May-2007 |
Andre Oppermann <andre@FreeBSD.org> |
Complete the (mechanical) move of the TCP reassembly and timewait functions from their origininal place to their own files. TCP Reassembly from tcp_input.c -> tcp_reass.c TCP Timewait from tcp_subr.c -> tcp_timewait.c |
#
559d3390 |
|
09-May-2007 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Integrate the Camellia Block Cipher. For more information see RFC 4132 and its bibliography. Submitted by: Tomoyuki Okazaki <okazaki at kick dot gr dot jp> MFC after: 1 month |
#
4439f8b4 |
|
09-May-2007 |
Scott Long <scottl@FreeBSD.org> |
Introduce a driver for the Highpoint RocketRAID 3xxx series of controllers. The driver relies on CAM. Many thanks to Highpoint for providing this driver. |
#
4511a5c8 |
|
08-May-2007 |
Scott Long <scottl@FreeBSD.org> |
Import version 3.60.03.006 of the TWA driver: This patch does the following: - Remove un-necessary code that is not even compiling into the driver under TW_OSL_NON_DMA_MEM_ALLOC_PER_REQUEST defines. - Remove bundled firmware image and associated "files" entry for tw_cl_fwimg.c - Remove bundled firmware flashing routines. We now have tw_update userspace FreeBSD controller flash utility. - Fix driver crash on load due to shared interrupt. - Fix 2 lock leaks for Giant lock. - Fix CCB leak. - Add support for 9650SE controllers. Many thanks to 3Ware/AMCC for continuing to support FreeBSD. |
#
0738dfc3 |
|
06-May-2007 |
Kevin Lo <kevlo@FreeBSD.org> |
Add support for Ralink Technology RT2501USB/RT2601USB devices. Reviewed by: sam, sephe Obtained from: OpenBSD |
#
11631e9f |
|
04-May-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add missing e1000_82575.c entry to build in order to improve chances of kernel compilation due to missing symbols in em driver. |
#
d3b79b16 |
|
03-May-2007 |
Jack F Vogel <jfv@FreeBSD.org> |
Last minute mistake crept in, old file name. Approved by:pdeuskar |
#
89290aa3 |
|
03-May-2007 |
Jack F Vogel <jfv@FreeBSD.org> |
Merge in the new driver (6.5.0) of Intel. This has a new shared code infrastructure that is family specific and modular. There is also support for our latest gigabit nic, the 82575 that is MSI/X and multiqueue capable. The new shared code changes some interfaces to the core code but testing at Intel has been going on for months, it is fairly stable. I have attempted to be careful in retaining any fixes that CURRENT had and we did not, I apologize in advance if any thing gets clobbered, I'm sure I'll hear about it :) Approved by pdeuskar |
#
5e323541 |
|
25-Apr-2007 |
Alexander Motin <mav@FreeBSD.org> |
Add static build depends for ng_deflate, ng_nat and ng_sppp. Approved by: glebius (mentor) |
#
18717f69 |
|
21-Apr-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Allow MAC policy modules to control access to audit configuration system calls. Add MAC Framework entry points and MAC policy entry points for audit(), auditctl(), auditon(), setaudit(), aud setauid(). MAC Framework entry points are only added for audit system calls where additional argument context may be useful for policy decision-making; other audit system calls without arguments may be controlled via the priv(9) entry points. Update various policy modules to implement audit-related checks, and in some cases, other missing system-related checks. Obtained from: TrustedBSD Project Sponsored by: SPARTA, Inc. |
#
18242d3b |
|
16-Apr-2007 |
Andrew Thompson <thompsa@FreeBSD.org> |
Rename the trunk(4) driver to lagg(4) as it is too similar to vlan trunking. The name trunk is misused as the networking term trunk means carrying multiple VLANs over a single connection. The IEEE standard for link aggregation (802.3 section 3) does not talk about 'trunk' at all while it is used throughout IEEE 802.1Q in describing vlans. The lagg(4) driver provides link aggregation, failover and fault tolerance. Discussed on: current@ |
#
7b62d98b |
|
09-Apr-2007 |
Andrew Thompson <thompsa@FreeBSD.org> |
Hook trunk(4) up to the build. |
#
d640d2e2 |
|
09-Apr-2007 |
Paolo Pisati <piso@FreeBSD.org> |
The old PacketAlias* API is not exported when libalias run in kernel land. |
#
cc9164e2 |
|
08-Apr-2007 |
Andre Oppermann <andre@FreeBSD.org> |
Sort sctp_*.c files. |
#
27f0ce0f |
|
08-Apr-2007 |
Kip Macy <kmacy@FreeBSD.org> |
hook uipc_mvec.c into build |
#
1eba4c79 |
|
07-Apr-2007 |
Scott Long <scottl@FreeBSD.org> |
Add the CAM 'SG' peripheral device. This device implements a subset of the Linux SCSI SG passthrough device API. The intention is to allow for both running of Linux apps that want to talk to /dev/sg* nodes, and to facilitate porting of apps from Linux to FreeBSD. As such, both native and linuxolator entry points and definitions are provided. Caveats: - This does not support the procfs and sysfs nodes that the Linux SG driver provides. Some Linux apps may rely on these for operation, others may only use them for informational purposes. - More ioctls need to be implemented. - Linux uses a naming scheme of "sg[a-z]" for devices, while FreeBSD uses a scheme of "sg[0-9]". Devfs aliasis (symlinks) are automatically created to link the two together. However, tools like camcontrol only see the native names. - Some operations were originally designed to return byte counts or other data directly as the syscall return value. The linuxolator doesn't appear to support this well, so this driver just punts for these cases. Now that the driver is in place, others are welcome to add missing functionality. Thanks to Roman Divacky for pushing this work along. |
#
89c40e5f |
|
05-Apr-2007 |
Alexander Kabaev <kan@FreeBSD.org> |
Be more conservative and compile libkern/memset.c only on architectures than need it. These are i386, amd64 and powerpc so far. |
#
616db5f0 |
|
05-Apr-2007 |
Alexander Kabaev <kan@FreeBSD.org> |
Add trivial MI memset function implementation. GCC mandates the existence of this function as a linkable symbol in standalone configurations and existing inline memcpy from libkern.h fails this requirement. |
#
20d9e5e8 |
|
26-Mar-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Complete removal of uipc_socket2.c by moving the last few functions to other C files: - Move sbcreatecontrol() and sbtoxsockbuf() to uipc_sockbuf.c. While sbcreatecontrol() is really an mbuf allocation routine, it does its work with awareness of the layout of socket buffer memory. - Move pru_*() protocol switch stubs to uipc_socket.c where the non-stub versions of several of these functions live. Likewise, move socket state transition calls (soisconnecting(), etc) to uipc_socket.c. Moveo sodupsockaddr() and sotoxsocket(). |
#
63518ecc |
|
25-Mar-2007 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Introduce a new toy interface, edsc(4). It's a discard interface imitating an Ethernet device, so vlan(4) and if_bridge(4) can be attached to it for testing and benchmarking purposes. Its source can be an introduction to the anatomy of a network interface driver due to its simplicity as well as to a bunch of comments in it. |
#
66c7612a |
|
23-Mar-2007 |
Warner Losh <imp@FreeBSD.org> |
New device: icee. Generic i2c eeprom driver. |
#
2be4e471 |
|
22-Mar-2007 |
Jung-uk Kim <jkim@FreeBSD.org> |
Catch up with ACPI-CA 20070320 import. |
#
6810ad6f |
|
20-Mar-2007 |
Sam Leffler <sam@FreeBSD.org> |
Overhaul driver/subsystem api's: o make all crypto drivers have a device_t; pseudo drivers like the s/w crypto driver synthesize one o change the api between the crypto subsystem and drivers to use kobj; cryptodev_if.m defines this api o use the fact that all crypto drivers now have a device_t to add support for specifying which of several potential devices to use when doing crypto operations o add new ioctls that allow user apps to select a specific crypto device to use (previous ioctls maintained for compatibility) o overhaul crypto subsystem code to eliminate lots of cruft and hide implementation details from drivers o bring in numerous fixes from Michale Richardson/hifn; mostly for 795x parts o add an optional mechanism for mmap'ing the hifn 795x public key h/w to user space for use by openssl (not enabled by default) o update crypto test tools to use new ioctl's and add cmd line options to specify a device to use for tests These changes will also enable much future work on improving the core crypto subsystem; including proper load balancing and interposing code between the core and drivers to dispatch small operations to the s/w driver as appropriate. These changes were instigated by the work of Michael Richardson. Reviewed by: pjd Approved by: re |
#
42551e99 |
|
15-Mar-2007 |
Randall Stewart <rrs@FreeBSD.org> |
- Sysctl's move to seperate file - moved away from ifn/ifa access to sctp_ifa/sctp_ifn built and managed by the add-ip code. - cleaned up add-ip code to use the iterator - made iterator be a thread, which enables auto-asconf now. - rewrote and cleaned up source address selection (also made it use new structures). - Fixed a couple of memory leaks. - DACK now settable as to how many packets to delay as well as time. - connectx() to latest socket API, new associd arg. - Fixed issue with revoking and loosing potential to send when we inflate the flight size. We now inflate the cwnd too and deflate it later when the revoked chunk is sent or acked. - Got rid of some temp debug code - src addr selection moved to a common file (sctp_output.c) - Support for simple VRF's (we have support for multi-vfr via compile switch that is scrubbed from BSD but we won't need multi-vrf until we first get VRF :-D) - Rest of mib work for address information now done - Limit number of addresses in INIT/INIT-ACK to a #def (30). Reviewed by: gnn |
#
6654fb12 |
|
14-Mar-2007 |
Kip Macy <kmacy@FreeBSD.org> |
Add support for statically compiling cxgb into the kernel |
#
e6f54704 |
|
05-Mar-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Recognize repo-copy of kern_acl.c to vfs_acl.c, remove kern_acl.c, remove kern_acl.c from the build, connect vfs_acl.c to the build. Thanks to: joe |
#
e770bc6b |
|
26-Feb-2007 |
Matt Jacob <mjacob@FreeBSD.org> |
First cut at GEOM based multipath. This is an active/passive{/passive...} arrangement that has no intrinsic internal knowledge of whether devices it is given are truly multipath devices. As such, this is a simplistic approach, but still a useful one. The basic approach is to (at present- this will change soon) use camcontrol to find likely identical devices and and label the trailing sector of the first one. This label contains both a full UUID and a name. The name is what is presented in /dev/multipath, but the UUID is used as a true distinguishor at g_taste time, thus making sure we don't have chaos on a shared SAN where everyone names their data multipath as "Fred". The first of N identical devices (and N *may* be 1!) becomes the active path until a BIO request is failed with EIO or ENXIO. When this occurs, the active disk is ripped away and the next in a list is picked to (retry and) continue with. During g_taste events new disks that meet the match criteria for existing multipath geoms get added to the tail end of the list. Thus, this active/passive setup actually does work for devices which go away and come back, as do (now) mpt(4) and isp(4) SAN based disks. There is still a lot to do to improve this- like about 5 of the 12 recommendations I've received about it, but it's been functional enough for a while that it deserves a broader test base. Reviewed by: pjd Sponsored by: IronPort Systems MFC: 2 months |
#
c724ad66 |
|
26-Feb-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Build ipx_ip.c only if options IPXIP is defined. No functional change. |
#
6be2e366 |
|
24-Feb-2007 |
Bruce M Simpson <bms@FreeBSD.org> |
Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel. It is built in the same module as IPv4 multicast forwarding, i.e. ip_mroute.ko, if and only if IPv6 support is enabled for loadable modules. Export IPv6 forwarding structs to userland netstat(1) via sysctl(9). |
#
c3b162d5 |
|
14-Feb-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Teach DDB how to print sockets, socket buffers, protosw's, and domain structures given pointers to them. |
#
d139ce67 |
|
11-Feb-2007 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Makefile changes to reflect moving sys/isofs/cd9660 to sys/fs/cd9660. Continue to install userland include files in /usr/include/isofs/cd9660 so as not to break userland applications such as libstand. |
#
1d3aed33 |
|
07-Feb-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Evolve the ctlreq interface added to geom_gpt into a generic partitioning class that supports multiple schemes. Current schemes supported are APM (Apple Partition Map) and GPT. Change all GEOM_APPLE anf GEOM_GPT options into GEOM_PART_APM and GEOM_PART_GPT (resp). The ctlreq interface supports verbs to create and destroy partitioning schemes on a disk; to add, delete and modify partitions; and to commit or undo changes made. |
#
9d5ef073 |
|
02-Feb-2007 |
Warner Losh <imp@FreeBSD.org> |
Mark mmc *_if.m files as standard to allow for mmc/sd being compiled as a module. Submitted by: Andrea Bittau |
#
f458f2a5 |
|
29-Jan-2007 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Add a "-o large" mount option for msdosfs. Convert compile-time checks for #ifdef MSDOSFS_LARGE to run-time checks to see if "-o large" was specified. Test case provided by Oliver Fromme: truncate -s 200G test.img mdconfig -a -t vnode -f test.img -u 9 newfs_msdos -s 419430400 -n 1 /dev/md9 zip250 mount -t msdosfs /dev/md9 /mnt # should fail mount -t msdosfs -o large /dev/md9 /mnt # should succeed PR: 105964 Requested by: Oliver Fromme <olli lurza secnetix de> Tested by: trhodes MFC after: 2 weeks |
#
c5286e11 |
|
28-Jan-2007 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add support for serial communication with Windows CE based Handheld Computer. Obtained from: NetBSD |
#
5991458e |
|
04-Jan-2007 |
Bernd Walter <ticso@FreeBSD.org> |
MFp4: add basic driver for RTL8305SC switch in PHY emulation |
#
9e6f1d3b |
|
29-Dec-2006 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Build bits for ng_deflate(4) and ng_pred1(4). |
#
224a974b |
|
28-Dec-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Break contents of kern_mac.c out into two files following a repo-copy: mac_framework.c Contains basic MAC Framework functions, policy registration, sysinits, etc. mac_syscalls.c Contains implementations of various MAC system calls, including ENOSYS stubs when compiling without options MAC. Obtained from: TrustedBSD Project |
#
6c5b1675 |
|
22-Dec-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Connect vfs_extattr.c to build by default. |
#
c9d21ce9 |
|
12-Dec-2006 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Hook up msk(4) to the build. |
#
600313b1 |
|
09-Dec-2006 |
Warner Losh <imp@FreeBSD.org> |
As Bernd Walter points out, the rlphy is used for more things than just the intenral phy on parts supported by the rl and re drivers, the RTL8201BL for example. He also sent me a nice picture of hundreds of these chips in a tray to boulder his claim. :-) Therefore remove a comment that suggested that they were... |
#
fcf50d48 |
|
29-Nov-2006 |
Warner Losh <imp@FreeBSD.org> |
Build glue for at45d flash support. |
#
74828f25 |
|
26-Nov-2006 |
Sam Leffler <sam@FreeBSD.org> |
device-independent implementation of AMRR tx rate control algorithm Obtained from: openbsd (w/ mods) MFC after: 1 month |
#
9dbf796c |
|
19-Nov-2006 |
Sam Leffler <sam@FreeBSD.org> |
hookup ad7418 and ds1672 drivers MFC after: 1 month |
#
9aab0d96 |
|
15-Nov-2006 |
Maxim Konovalov <maxim@FreeBSD.org> |
o Add uark(4), a driver for Arkmicro Technologies ARK3116 based serial adapters. Submitted by: Alex Rodin Obtained from: OpenBSD Reviewed by: -usb MFC after: 6 weeks |
#
6aeb05d7 |
|
11-Nov-2006 |
Tom Rhodes <trhodes@FreeBSD.org> |
Merge posix4/* into normal kernel hierarchy. Reviewed by: glanced at by jhb Approved by: silence on -arch@ and -standards@ |
#
800c9408 |
|
06-Nov-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Add a new priv(9) kernel interface for checking the availability of privilege for threads and credentials. Unlike the existing suser(9) interface, priv(9) exposes a named privilege identifier to the privilege checking code, allowing more complex policies regarding the granting of privilege to be expressed. Two interfaces are provided, replacing the existing suser(9) interface: suser(td) -> priv_check(td, priv) suser_cred(cred, flags) -> priv_check_cred(cred, priv, flags) A comprehensive list of currently available kernel privileges may be found in priv.h. New privileges are easily added as required, but the comments on adding privileges found in priv.h and priv(9) should be read before doing so. The new privilege interface exposed sufficient information to the privilege checking routine that it will now be possible for jail to determine whether a particular privilege is granted in the check routine, rather than relying on hints from the calling context via the SUSER_ALLOWJAIL flag. For now, the flag is maintained, but a new jail check function, prison_priv_check(), is exposed from kern_jail.c and used by the privilege check routine to determine if the privilege is permitted in jail. As a result, a centralized list of privileges permitted in jail is now present in kern_jail.c. The MAC Framework is now also able to instrument privilege checks, both to deny privileges otherwise granted (mac_priv_check()), and to grant privileges otherwise denied (mac_priv_grant()), permitting MAC Policy modules to implement privilege models, as well as control a much broader range of system behavior in order to constrain processes running with root privilege. The suser() and suser_cred() functions remain implemented, now in terms of priv_check() and the PRIV_ROOT privilege, for use during the transition and possibly continuing use by third party kernel modules that have not been updated. The PRIV_DRIVER privilege exists to allow device drivers to check privilege without adopting a more specific privilege identifier. This change does not modify the actual security policy, rather, it modifies the interface for privilege checks so changes to the security policy become more feasible. Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net> |
#
9d1a95cd |
|
03-Nov-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Nitpicking. |
#
f8829a4a |
|
03-Nov-2006 |
Randall Stewart <rrs@FreeBSD.org> |
Ok, here it is, we finally add SCTP to current. Note that this work is not just mine, but it is also the works of Peter Lei and Michael Tuexen. They both are my two key other developers working on the project.. and they need ata-boy's too: **** peterlei@cisco.com tuexen@fh-muenster.de **** I did do a make sysent which updated the syscall's and sysproto.. I hope that is correct... without it you don't build since we have new syscalls for SCTP :-0 So go out and look at the NOTES, add option SCTP (make sure inet and inet6 are present too) and play with SCTP. I will see about comitting some test tools I have after I figure out where I should place them. I also have a lib (libsctp.a) that adds some of the missing socketapi functions that I need to put into lib's.. I will talk to George about this :-) There may still be some 64 bit issues in here, none of us have a 64 bit processor to test with yet.. Michael may have a MAC but thats another beast too.. If you have a mac and want to use SCTP contact Michael he maintains a web site with a loadable module with this code :-) Reviewed by: gnn Approved by: gnn |
#
f348204c |
|
31-Oct-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Hook up gjournal bits to the build. Sponsored by: home.pl |
#
1cc56059 |
|
29-Oct-2006 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add conf file entries for acpi_aiboost drivers. |
#
837f167e |
|
23-Oct-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Move "device splash" back to MI NOTES and "files", it's MI. |
#
663cf7fe |
|
23-Oct-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Move MI parts of syscons into MI "files". |
#
b39be1b3 |
|
22-Oct-2006 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add two new functions to convert FAT filesystem format timestamps to and from struct timespec, to replace the crummy conversion function which have been copy&pasted into three different filesystems already. Apart from general crummyness as indicated by code like: for (year = 1970;; year++) { inc = year & 0x03 ? 365 : 366; if (days < inc) break; days -= inc; } They also contain specialized crummyness which tries to compensate for the general crummyness by caching recent conversion results, with no regard for locking or consistency. These replacement functions are smaller, O(1) and handle the Y2.1K leap-year correctly. Ideally, these functions should live in a module of their own, which the three offending filesystems would depend on, but the size is 877 bytes of code (on i386), so that would be false economy. |
#
114b4164 |
|
20-Oct-2006 |
Warner Losh <imp@FreeBSD.org> |
Preliminary MMC stack. This stack supports SD 1.0 cards only, but should be easily adapted to SD 2.0 (aka SDHC), SDIO, MMC and MMCplus cards. At the present time, there's only one bridge driver for the ARM9 based Atmel AT91RM9200. |
#
bb914a52 |
|
17-Oct-2006 |
Warner Losh <imp@FreeBSD.org> |
Collapse the two identical emu10k1-alsa%diked.h creation rules for snd_emu10k1 and snd_emu10kx into one line. The 'pci' dependency here adds no value, so I eliminted it (we don't have a snd.all file that might make it mildly useful, and even then it wouldn't be that useful). With the pci optional component eliminated, I could use the '|' operator. I could have also include pci on both sides of the | operator, but since it isn't a value add at all, it was better to eliminate it. |
#
706a2374 |
|
08-Oct-2006 |
Paolo Pisati <piso@FreeBSD.org> |
Sort libalias files. Approved by: glebius Reviewed by: glebius, ru |
#
5d9f25dc |
|
06-Oct-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Added the GEOM_CACHE option. Reminded by: pjd |
#
b69f71eb |
|
02-Oct-2006 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Second part of a little cleanup in the calendar/timezone/RTC handling. Split subr_clock.c in two parts (by repo-copy): subr_clock.c contains generic RTC and calendaric stuff. etc. subr_rtc.c contains the newbus'ified RTC interface. Centralize the machdep.{adjkerntz,disable_rtc_set,wall_cmos_clock} sysctls and associated variables into subr_clock.c. They are not machine dependent and we have generic code that relies on being present so they are not even optional. |
#
62c07028 |
|
01-Oct-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Unbreak build caused by recent envy24/spicds commit. |
#
2c72e284 |
|
01-Oct-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Connect snd_hda(4) to build process... Add support for Intel High Definition Audio Controller. This driver make a special guarantee that "playback" works on majority hardwares with minimal or without specific vendor quirk. This driver is a product of collaborative effort made by: Stephane E. Potvin <sepotvin@videotron.ca> Andrea Bittau <a.bittau@cs.ucl.ac.uk> Wesley Morgan <morganw@chemikals.org> Daniel Eischen <deischen@FreeBSD.org> Maxime Guillaud <bsd-ports@mguillaud.net> Ariff Abdullah <ariff@FreeBSD.org> ....and various people from freebsd-multimedia@FreeBSD.org Refer to snd_hda(4) for features and issues. Welcome To HDA. Sponsored by: Defenxis Sdn. Bhd. |
#
9f548240 |
|
30-Sep-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Add spicds, envy24ht and remove ak4*. |
#
be4f3cd0 |
|
26-Sep-2006 |
Paolo Pisati <piso@FreeBSD.org> |
Summer of Code 2005: improve libalias - part 1 of 2 With the first part of my previous Summer of Code work, we get: -made libalias modular: -support for 'particular' protocols (like ftp/irc/etcetc) is no more hardcoded inside libalias, but it's available through external modules loadable at runtime -modules are available both in kernel (/boot/kernel/alias_*.ko) and user land (/lib/libalias_*) -protocols/applications modularized are: cuseeme, ftp, irc, nbt, pptp, skinny and smedia -added logging support for kernel side -cleanup After a buildworld, do a 'mergemaster -i' to install the file libalias.conf in /etc or manually copy it. During startup (and after every HUP signal) user land applications running the new libalias will try to read a file in /etc called libalias.conf: that file contains the list of modules to load. User land applications affected by this commit are ppp and natd: if libalias.conf is present in /etc you won't notice any difference. The only kernel land bit affected by this commit is ng_nat: if you are using ng_nat, and it doesn't correctly handle ftp/irc/etcetc sessions anymore, remember to kldload the correspondent module (i.e. kldload alias_ftp). General information and details about the inner working are available in the libalias man page under the section 'MODULAR ARCHITECTURE (AND ipfw(4) SUPPORT)'. NOTA BENE: this commit affects _ONLY_ libalias, ipfw in-kernel nat support will be part of the next libalias-related commit. Approved by: glebius Reviewed by: glebius, ru |
#
6b31d3f7 |
|
25-Sep-2006 |
Scott Long <scottl@FreeBSD.org> |
Add the mfi_debug.c file and MFI_DEBUG option. |
#
72845968 |
|
18-Sep-2006 |
Sam Leffler <sam@FreeBSD.org> |
remove local change Spotted by: Gavin Atkinson |
#
3da8df60 |
|
18-Sep-2006 |
Sam Leffler <sam@FreeBSD.org> |
nuke unused support for building ath hal from src code MFC after: 1 week |
#
a003a6cb |
|
14-Aug-2006 |
Warner Losh <imp@FreeBSD.org> |
Do not include ucom as a dependency line to enable inclusion of the serial line usb drivers that depend on it. Instead, let the compile fail rather than silently not including the driver. This is more in line with how we handle things like mii. # I'll note: a better system for coping with missing depends is needed, # but this dependency is clearly backwards given our current flawed # depend system. |
#
07ff6a18 |
|
12-Aug-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Oops. Remove accidentally committed change. Noticed by: marck |
#
73c0c411 |
|
12-Aug-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add strstr() function to the libkern. |
#
e4445a03 |
|
06-Aug-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Move definition of UNIX domain socket protosw and domain entries from uipc_proto.c to uipc_usrreq.c, making localdomain static. Remove uipc_proto.c as it's no longer used. With this change, UNIX domain sockets are entirely encapsulated in uipc_usrreq.c. |
#
302981e7 |
|
29-Jul-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove sio(4) and related options from MI files to amd64, i386 and pc98 MD files. Remove nodevice and nooption lines specific to sio(4) from ia64, powerpc and sparc64 NOTES. There were no such lines for arm yet. sio(4) is usable on less than half the platforms, not counting a future mips platform. Its presence in MI files is therefore increasingly becoming a burden. |
#
b1ff0220 |
|
28-Jul-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Allow to configure a kernel with envy24 support as documented in the manual page... |
#
22ea1bc5 |
|
27-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
Unify the checking for lock misbehavior in the various syscall() implementations and adjust some of the checks while I'm here: - Add a new check to make sure we don't return from a syscall in a critical section. - Add a new explicit check before userret() to make sure we don't return with any locks held. The advantage here is that we can include the syscall number and name in syscall() whereas that info is not available in userret(). - Drop the mtx_assert()'s of sched_lock and Giant. They are replaced by the more general checks just added. MFC after: 2 weeks |
#
5c985a0a |
|
24-Jul-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Add uipc_sockbuf.c to standard files list; accidentally missed in earlier commit. Spotted by: tinderbox |
#
d497bdf1 |
|
24-Jul-2006 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Hook up stge(4) to the build. |
#
3fa3f9a7 |
|
24-Jul-2006 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Connect gentbi, ip1000phy to the build. |
#
0fa7ab6a |
|
15-Jul-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
- Connect the snd_emu10kx driver to the build. [1] - Bump __FreeBSD_version, no need to build the port now. Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru> [1] |
#
a9a5ae2d |
|
14-Jul-2006 |
Warner Losh <imp@FreeBSD.org> |
MFp4: spibus glue |
#
e4256d1e |
|
06-Jul-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Move POSIX.1e-specific utility routines from kern_acl.c to subr_acl_posix1e.c, leaving kern_acl.c containing only ACL system calls and utility routines common across ACL types. Add subr_acl_posix1e.c to the build. Obtained from: TrustedBSD Project |
#
d473c9d5 |
|
26-Jun-2006 |
Gleb Smirnoff <glebius@FreeBSD.org> |
A netgraph node that can do different manipulations with mbuf_tags(9) on packets. Submitted by: Vadim Goncharov <vadimnuclight tpu.ru> mdoc(7) reviewed by: ru |
#
bdea400f |
|
26-Jun-2006 |
Andrew Thompson <thompsa@FreeBSD.org> |
Add a pseudo interface for packet filtering IPSec connections before or after encryption. There are two functions, a bpf tap which has a basic header with the SPI number which our current tcpdump knows how to display, and handoff to pfil(9) for packet filtering. Obtained from: OpenBSD Based on: kern/94829 No objections: arch, net MFC after: 1 month |
#
a04f78ea |
|
13-Jun-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Unbreak build on platforms that don't have uart_sab82532 and uart_z8530 for uart(4) by default, but have scc(4). |
#
b41f1452 |
|
13-Jun-2006 |
David Xu <davidxu@FreeBSD.org> |
Add scheduler CORE, the work I have done half a year ago, recent, I picked it up again. The scheduler is forked from ULE, but the algorithm to detect an interactive process is almost completely different with ULE, it comes from Linux paper "Understanding the Linux 2.6.8.1 CPU Scheduler", although I still use same word "score" as a priority boost in ULE scheduler. Briefly, the scheduler has following characteristic: 1. Timesharing process's nice value is seriously respected, timeslice and interaction detecting algorithm are based on nice value. 2. per-cpu scheduling queue and load balancing. 3. O(1) scheduling. 4. Some cpu affinity code in wakeup path. 5. Support POSIX SCHED_FIFO and SCHED_RR. Unlike scheduler 4BSD and ULE which using fuzzy RQ_PPQ, the scheduler uses 256 priority queues. Unlike ULE which using pull and push, the scheduelr uses pull method, the main reason is to let relative idle cpu do the work, but current the whole scheduler is protected by the big sched_lock, so the benefit is not visible, it really can be worse than nothing because all other cpu are locked out when we are doing balancing work, which the 4BSD scheduelr does not have this problem. The scheduler does not support hyperthreading very well, in fact, the scheduler does not make the difference between physical CPU and logical CPU, this should be improved in feature. The scheduler has priority inversion problem on MP machine, it is not good for realtime scheduling, it can cause realtime process starving. As a result, it seems the MySQL super-smack runs better on my Pentium-D machine when using libthr, despite on UP or SMP kernel. |
#
acb8c149 |
|
12-Jun-2006 |
Marius Strobl <marius@FreeBSD.org> |
Make the ISAPNP code optional and only enable it on i386 and pc98 (used for CBUS-PNP cards there) by default, as there are no amd64 and sparc64 machines with ISA slots and which therefore could make use of this code known to exist. For sparc64 this additionally allows to get rid of the compat shims for in{b,w,l}()/out{b,w,l}() etc and the associated hacks. OK'ed by: imp, peter |
#
78878cef |
|
11-Jun-2006 |
Warner Losh <imp@FreeBSD.org> |
Add the ability to subset the devices that UART pulls in. This allows the arm to compile without all the extras that don't appear, at least not in the flavors of ARM I deal with. This helps us save about 100k. If I've botched the available devices on a platform, please let me know and I'll correct ASAP. |
#
f60f5239 |
|
09-Jun-2006 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Accomodate new files due to latest XFS import. |
#
4e98d979 |
|
05-Jun-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect new GELI files to the build. Supported by: Wheel Sp. z o.o. (http://www.wheel.pl) |
#
206b17d7 |
|
27-May-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Commit the new (old) midi framework. It's based in parts on the NetBSD code, but large parts are rewritten by matk and tanimura. This is old code, it's not maintained since 2003. We also don't have a maintainer for this! Yuriy Tsibizov took it and uses it in his emu10kx driver. Since the emu10kx driver will enter the tree "soon" (some bugs have to be fixed after Yuriy return from his holidays), I add it here already. This also contains some changes to emu10k1 and cmi, so if you're lucky, you can now make some kind of use of midi with those soundcards. To all those poor souls which don't have such a card: feel free to send patches, we don't have a maintainer for this. To those which miss a specific feature in the midi code: feel free to submit patches, we don't have a maintainer for this. Oh, did I already told that it would be nice if someone would take care of it? Maintainer with midi equipment wanted! :-) If you get LOR's, submit a PR and notify multimedia@ please. If you get panics, submit a PR with a backtrace (compile the sound system into your kernel instead of using modules in this case) and notify multimedia@ please. Written by: matk, tanimura Submitted by: "Yuriy Tsibizov" <Yuriy.Tsibizov@gfk.ru> Based upon: code from NetBSD |
#
741367d5 |
|
18-May-2006 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
Add in a bunch of things to the mfi driver: - Linux ioctl support, with the other Linux changes MegaCli will run if you mount linprocfs & linsysfs then set sysctl compat.linux.osrelease=2.6.12 or similar. This works on i386. It should work on amd64 but not well tested yet. StoreLib may or may not work. Remember to kldload mfi_linux. - Add in AEN (Async Event Notification) support so we can get messages from the firmware when something happens. Not all messages are in defined in event detail. Use event_log to try to figure out what happened. - Try to implement something like SIGIO for StoreLib. Since mrmonitor doesn't work right I can't fully test it. StoreLib works best with the rh9 base. In theory mrmonitor isn't needed due to native driver support of AEN :-) Now we can configure and monitor the RAID better. Submitted by: IronPort Systems. |
#
990e7e2b |
|
13-May-2006 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Removed the deprecated lance driver, lnc, from files. |
#
656faadc |
|
12-May-2006 |
Max Laier <mlaier@FreeBSD.org> |
Remove ip6fw. Since ipfw has full functional IPv6 support now and - in contrast to ip6fw - is properly lockes, it is time to retire ip6fw. |
#
3e20eaf5 |
|
11-May-2006 |
John Baldwin <jhb@FreeBSD.org> |
Remove the snd_ess identify routine for the sound device in Alpha PWS machines. |
#
f4eb4717 |
|
07-May-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
- change the example of compiling only specific modules to not contain the linux module, since it is not cross-platform - move linprocfs from "files" and "options" to architecture specific files, since it only makes sense to build this for those architectures, where we also have a linuxolator - disable the build of the linuxolator on our tier-2 architecture "Alpha": * we don't have a linux_base port which supports Alpha and at the same time is not outdated/obsoleted upstream/in a good condition/ currently working * the upcomming new default linux base port is based upon Fedora Core 3 (security support via http://www.fedoralegacy.org), which isn't available for Alpha (like the current default linux base port which is based upon Red Hat 8) * nobody answered my request for testing it ~1 month ago on current@ and alpha@ (it doesn't surprises me, see above) * a SoC student wouldn't have to waste time on something which nobody is willing to test This does not remove the alpha specific MD files of the linuxolator yet. Discussed on: arch (mostly silence) Spiritual support by: scottl |
#
64220a7e |
|
28-Apr-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Rewrite of puc(4). Significant changes are: o Properly use rman(9) to manage resources. This eliminates the need to puc-specific hacks to rman. It also allows devinfo(8) to be used to find out the specific assignment of resources to serial/parallel ports. o Compress the PCI device "database" by optimizing for the common case and to use a procedural interface to handle the exceptions. The procedural interface also generalizes the need to setup the hardware (program chipsets, program clock frequencies). o Eliminate the need for PUC_FASTINTR. Serdev devices are fast by default and non-serdev devices are handled by the bus. o Use the serdev I/F to collect interrupt status and to handle interrupts across ports in priority order. o Sync the PCI device configuration to include devices found in NetBSD and not yet merged to FreeBSD. o Add support for Quatech 2, 4 and 8 port UARTs. o Add support for a couple dozen Timedia serial cards as found in Linux. |
#
28829246 |
|
26-Apr-2006 |
Pyun YongHyeon <yongari@FreeBSD.org> |
The sk(4) driver has moved to /sys/dev/sk |
#
cea4d875 |
|
24-Apr-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
o Move ISA specific code from ppc.c to ppc_isa.c -- a bus front- end for isa(4). o Add a seperate bus frontend for acpi(4) and allow ISA DMA for it when ISA is configured in the kernel. This allows acpi(4) attachments in non-ISA configurations, as is possible for ia64. o Add a seperate bus frontend for pci(4) and detect known single port parallel cards. o Merge PC98 specific changes under pc98/cbus into the MI driver. The changes are minor enough for conditional compilation and in this form invites better abstraction. o Have ppc(4) usabled on all platforms, now that ISA specifics are untangled enough. |
#
634da1d0 |
|
19-Apr-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove sab(4). |
#
858a52f4 |
|
14-Apr-2006 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Import ACPI Dock Station support. Note that this is still very young. Additional detach implementaions (or maybe improvement) for other deivce drivers is required. Reviewed by: njl, imp MFC after: 1 week |
#
d8636a9a |
|
10-Apr-2006 |
Paul Saab <ps@FreeBSD.org> |
Hook bce up to the build |
#
1411591a |
|
30-Mar-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Include the sbus attachment of scc(1) when either fhc(4) or sbus(4) is configured. |
#
af2e25a6 |
|
30-Mar-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
o Add scc(4) to the build. o Add the scc(4) manpage to the build. o Update the uart(4) manpage to account for scc(4). o Update the uart(4) module build to include support for scc(4). |
#
7f631a41 |
|
29-Mar-2006 |
Scott Long <scottl@FreeBSD.org> |
Hook the MFI driver up to the build. |
#
7d0c6c9f |
|
23-Mar-2006 |
Sam Leffler <sam@FreeBSD.org> |
add support for copying console messages to a remote gdb Reviewed by: kan |
#
08e57af4 |
|
19-Mar-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Merge Perforce changes 93512, 93514, 93515 from TrustedBSD audit3 branch: Integrate audit.c to audit_worker.c, so as to migrate the worker thread implementation to its own .c file. Populate audit_worker.c using parts now removed from audit.c: - Move audit rotation global variables. - Move audit_record_write(), audit_worker_rotate(), audit_worker_drain(), audit_worker(), audit_rotate_vnode(). - Create audit_worker_init() from relevant parts of audit_init(), which now calls this routine. - Recreate audit_free(), which wraps uma_zfree() so that audit_record_zone can be static to audit.c. - Unstaticize various types and variables relating to the audit record queue so that audit_worker can get to them. We may want to wrap these in accessor methods at some point. - Move AUDIT_PRINTF() to audit_private.h. Addition of audit_worker.c to kernel configuration, missed in earlier submit. Obtained from: TrustedBSD Project |
#
7e18aa79 |
|
12-Mar-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Quote ${CC} when passing it in environment. Submitted by: bde |
#
05b593b7 |
|
10-Mar-2006 |
Søren Schmidt <sos@FreeBSD.org> |
Add "device atausb" |
#
8d96e455 |
|
05-Mar-2006 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Retire NETSMBCRYPTO as a kernel option and make its functionality enabled by default in NETSMB and smbfs.ko. With the most of modern SMB providers requiring encryption by default, there is little sense left in keeping the crypto part of NETSMB optional at the build time. This will also return smbfs.ko to its former properties users are rather accustomed to. Discussed with: freebsd-stable, re (scottl) Not objected by: bp, tjr (silence) MFC after: 5 days |
#
9c6307b1 |
|
05-Mar-2006 |
Damien Bergamini <damien@FreeBSD.org> |
Add support for the second (RT2561/RT2561S) and third (RT2661 MIMO XR) generations of 802.11abg chipsets from Ralink Technology. Get rid of the pccard front-end while I'm here since all adapters are cardbus ones. Obtained from: OpenBSD |
#
375ce679 |
|
03-Mar-2006 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Take the functionality contained in the former "options TDFX_LINUX" into a separate module. Accordingly, convert the option into a device named similarly. Note for MFC: Perhaps the option should stay in RELENG_6 for POLA reasons. Suggested by: scottl Reviewed by: cokane MFC after: 5 days |
#
eef5d4a3 |
|
26-Feb-2006 |
Warner Losh <imp@FreeBSD.org> |
Move de driver to dev/de |
#
ca6831c7 |
|
07-Feb-2006 |
Warner Losh <imp@FreeBSD.org> |
Allow one to subset phy. If you want the kitchen sink, use device miibus (like today). If you want a subset, choose device mii and zero or more phy to include. We always include unkphy. We make use of the | functionality that ruslan recently added to config. This allowed me to trim 57k from my KB9202 kernel. |
#
09daf1c8 |
|
06-Feb-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Add support for audit pipe special devices, which allow user space applications to insert a "tee" in the live audit event stream. Records are inserted into a per-clone queue so that user processes can pull discreet records out of the queue. Unlike delivery to disk, audit pipes are "lossy", dropping records in low memory conditions or when the process falls behind real-time events. This mechanism is appropriate for use by live monitoring systems, host-based intrusion detection, etc, and avoids applications having to dig through active on-disk trails that are owned by the audit daemon. Obtained from: TrustedBSD Project |
#
c9d97251 |
|
06-Feb-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Alphabetize. |
#
df7418f3 |
|
02-Feb-2006 |
Matt Jacob <mjacob@FreeBSD.org> |
!$(*&!($!&$(!&$&(!$(&!&($!($ Forget to commit this. |
#
07881ef9 |
|
01-Feb-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Add 'options AUDIT' and associate various .c files with the AUDIT option. We always build audit_syscalls.c so that the system call stubs can return ENOSYS rather than the system call code generating SIGSYS for the system calls. We are not yet ready to add AUDIT to LINT, as the prototypes for system call arguments won't be there until after the system calls for audit are added. Much work from: wsalamon Obtained from: TrustedBSD Project |
#
1dfcf0d2 |
|
01-Feb-2006 |
Andre Oppermann <andre@FreeBSD.org> |
Move the IPSEC related code blocks to their own file to unclutter and signifincantly improve the readability of ip_input() and ip_output() again. The resulting IPSEC hooks in ip_input() and ip_output() may be used later on for making IPSEC loadable. This move is mostly mechanical and should preserve current IPSEC behaviour as-is. Nothing shall prevent improvements in the way IPSEC interacts with the IPv4 stack. Discussed with: bz, gnn, rwatson; (earlier version) |
#
44ac0964 |
|
31-Jan-2006 |
Marius Strobl <marius@FreeBSD.org> |
Hook up le(4) to the build. For now it's only added to the sparc64 GENERIC in order to support the on-board LANCE in Ultra 1 and to the MI NOTES as it should work just fine with the AMD PCnet family of chips on all archs but is not yet meant to replace lnc(4). If a kernel includes all of le(4), lnc(4) and pcn(4) precedence is given to lnc(4)/pcn(4) for now. |
#
847a2a17 |
|
31-Jan-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add buffer corruption protection (RedZone) for kernel's malloc(9). It detects both: buffer underflows and buffer overflows bugs at runtime (on free(9) and realloc(9)) and prints backtraces from where memory was allocated and from where it was freed. Tested by: kris |
#
6aec1278 |
|
28-Jan-2006 |
Max Laier <mlaier@FreeBSD.org> |
firmware(9) is a subsystem to load binary data into the kernel via a specially crafted module. There are several handrolled sollutions to this problem in the tree already which will be replaced with this. They include iwi(4), ipw(4), ispfw(4) and digi(4). No objection from: arch MFC after: 2 weeks X-MFC after: some drivers have been converted |
#
3f08bd8b |
|
27-Jan-2006 |
John Baldwin <jhb@FreeBSD.org> |
Add a basic reader/writer lock implementation to the kernel. This implementation is by no means perfect as far as some of the algorithms that it uses and the fact that it is missing some functionality (try locks and upgrades/downgrades are not there yet), however it does seem to work in my local testing. There is more detail in the comments in the code, but the short version follows. A reader/writer lock is very much like a regular mutex: it cannot be held across a voluntary sleep; it can be acquired in an interrupt thread; if the lock is held by a writer then the priority of any threads that block on the lock will be lent to the owner; the simple case lock operations all are done in a single atomic op. It also shares some similiarities with sx locks: it supports reader/writer semantics (multiple readers, but single writers); readers are allowed to recurse, but writers are not. We can extend this implementation further by either improving algorithms or adding new functionality, but this should at least give us a base to work with now. Reviewed by: arch (in theory) Tested on: i386 (4 cpu box with a kernel module that used 4 threads that randomly chose between read locks and write locks that ran w/o panicing for over a day solid. It usually panic'd within a few seconds when there were bugs during testing. :) The kernel module source is available on request.) |
#
12af2a0f |
|
25-Jan-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
Bring in a sysv-style pts implementation, as found in the rwatson_pts perforce branch. It works the same as its SysV/linux counterpart : You obtain a fd to the master pseudo terminal by opening /dev/ptmx, which craetes a node for the master as /dev/pty[num] and a node for the slave as /dev/pts/[num]. It should play nicely with the existing BSD ptys. By default, the system will use the BSD ptys, one can set the sysctl kern.pts.enable to 1 to make it use the new pts system. The max number of pty that can be allocated on a system can be changed with the sysctl kern.pts.max. It defaults to 1000, and can be increased, but it is not recommanded, as any pty with a number > 999 won't be handled by whatever uses utmp(5). |
#
084500bc |
|
24-Jan-2006 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
Add in the Linux IOCTL shim and create the megadev0 device so Linux LSI MegaRaid tools can run on FreeBSD until Linux emulation. Add in the Linux IOCTL shim and create the megadev0 device so Linux LSI MegaRaid tools can run on FreeBSD until Linux emulation. Add glue to build the modules but don't tie it into the build yet until I test it from the CVS repo. via the mirror on an amd64 machine. Tie this into the Linux32 emulation on amd64 so the tools can run on amd64 kernel. Cleaned up by: ps (amr_linux.c) |
#
83a81bcb |
|
17-Jan-2006 |
John Baldwin <jhb@FreeBSD.org> |
Add a new file (kern/subr_lock.c) for holding code related to struct lock_obj objects: - Add new lock_init() and lock_destroy() functions to setup and teardown lock_object objects including KTR logging and registering with WITNESS. - Move all the handling of LO_INITIALIZED out of witness and the various lock init functions into lock_init() and lock_destroy(). - Remove the constants for static indices into the lock_classes[] array and change the code outside of subr_lock.c to use LOCK_CLASS to compare against a known lock class. - Move the 'show lock' ddb function and lock_classes[] array out of kern_mutex.c over to subr_lock.c. |
#
d3e64681 |
|
10-Jan-2006 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the old BSD4.3 tty compatibility from (!BURN_BRIDGES && COMPAT_43) to COMPAT_43TTY. Add COMPAT_43TTY to NOTES and */conf/GENERIC Compile tty_compat.c only under the new option. Spit out #warning "Old BSD tty API used, please upgrade." if ioctl_compat.h gets #included from userland. |
#
3db831b3 |
|
09-Jan-2006 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add ufoma drivers in 'files', too. |
#
83803624 |
|
04-Jan-2006 |
Joel Dahl <joel@FreeBSD.org> |
Remove references to snd_vortex1(4). Approved by: tanimura, ariff |
#
47147ce7 |
|
28-Dec-2005 |
Warner Losh <imp@FreeBSD.org> |
Implement /dev/cardbus%d.cis, same thing as /dev/pccard%d.cis. There are some rough edges with this still, but it seems to work well enough to commit. |
#
4d5f30e0 |
|
21-Dec-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Drivers for AMD-8111 and NVIDIA nForce2/3/4 SMBus 2.0 controllers. |
#
2aacedb2 |
|
20-Dec-2005 |
John Baldwin <jhb@FreeBSD.org> |
Add a vgapci(4) stub device driver for VGA PCI devices. This device serves as a bus so that other drivers such as drm(4), acpi_video(4), and agp(4) can attach to it thus allowing multiple drivers for the same device. It also removes the need for the drmsub hack for the i8[13]0/i915 drm and agp drivers. |
#
5b211922 |
|
20-Dec-2005 |
John Baldwin <jhb@FreeBSD.org> |
Move the hostb driver out of the i386 and amd64 PCI code (where it was duplicated anyways) and into a single MI driver. Extend the driver a bit to implement the bus and PCI kobj interfaces such that other drivers can attach to it and transparently act as if their parent device is the PCI bus (for the most part). |
#
e1fd210e |
|
11-Dec-2005 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Hook XFS into kernel build. |
#
73c84207 |
|
09-Dec-2005 |
Scott Long <scottl@FreeBSD.org> |
The if_ti Tigon I/II driver has moved to /sys/dev/ti |
#
848c454c |
|
07-Dec-2005 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add BPF Just-In-Time compiler support for ng_bpf(4). The sysctl is changed from net.bpf.jitter.enable to net.bpf_jitter.enable and this controls both bpf(4) and ng_bpf(4) now. |
#
ae275efc |
|
05-Dec-2005 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add experimental BPF Just-In-Time compiler for amd64 and i386. Use the following kernel configuration option to enable: options BPF_JITTER If you want to use bpf_filter() instead (e. g., debugging), do: sysctl net.bpf.jitter.enable=0 to turn it off. Currently BIOCSETWF and bpf_mtap2() are unsupported, and bpf_mtap() is partially supported because 1) no need, 2) avoid expensive m_copydata(9). Obtained from: WinPcap 3.1 (for i386) |
#
69b9fffc |
|
02-Dec-2005 |
Eric Anholt <anholt@FreeBSD.org> |
Merge DRM CVS as of 2005-12-02, adding i915 DRM support thanks to Alexey Popov, and a new r300 PCI ID. |
#
9fb07673 |
|
28-Nov-2005 |
Eric Anholt <anholt@FreeBSD.org> |
Update DRM to CVS snapshot as of 2005-11-28. Notable changes: - S3 Savage driver ported. - Added support for ATI_fragment_shader registers for r200. - Improved r300 support, needed for latest r300 DRI driver. - (possibly) r300 PCIE support, needs X.Org server from CVS. - Added support for PCI Matrox cards. - Software fallbacks fixed for Rage 128, which used to render badly or hang. - Some issues reported by WITNESS are fixed. - i915 module Makefile added, as the driver may now be working, but is untested. - Added scripts for copying and preprocessing DRM CVS for inclusion in the kernel. Thanks to Daniel Stone for getting me started on that. |
#
a8e06f2a |
|
27-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make config(8) understand ORed dependecies in "files*" and improve tracking of known devices. Bump config(8) version. |
#
d5688b6a |
|
26-Nov-2005 |
Ariff Abdullah <ariff@FreeBSD.org> |
Support for ATI IXP 200 / 300 / 400 series audio controllers. |
#
655291f2 |
|
25-Nov-2005 |
David Xu <davidxu@FreeBSD.org> |
Bring in experimental kernel support for POSIX message queue. |
#
20209868 |
|
25-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Whitespace. |
#
d03dab65 |
|
22-Nov-2005 |
Marius Strobl <marius@FreeBSD.org> |
Move zs.c from files to files.powerpc as zs(4) by now is only supported on powerpc (more or less...). That way people updating from FreeBSD 5 to FreeBSD 6 and beyond on sparc64 will get an error from config(8) rather than a mysterious compile error when they have a stale 'device zs' in their kernel config file. MFC after: 2 weeks |
#
ef39adf0 |
|
18-Nov-2005 |
Andre Oppermann <andre@FreeBSD.org> |
Consolidate all IP Options handling functions into ip_options.[ch] and include ip_options.h into all files making use of IP Options functions. From ip_input.c rev 1.306: ip_dooptions(struct mbuf *m, int pass) save_rte(m, option, dst) ip_srcroute(m0) ip_stripoptions(m, mopt) From ip_output.c rev 1.249: ip_insertoptions(m, opt, phlen) ip_optcopy(ip, jp) ip_pcbopts(struct inpcb *inp, int optname, struct mbuf *m) No functional changes in this commit. Discussed with: rwatson Sponsored by: TCP/IP Optimization Fundraise 2005 |
#
ff1625c6 |
|
08-Nov-2005 |
Vinod Kashyap <vkashyap@FreeBSD.org> |
twa corresponding to the 9.3.0.1 release on the 3ware website. This driver has support for the 9xxxSX controllers, along with the earlier 9xxxS series controllers. |
#
e8d472a7 |
|
01-Nov-2005 |
Jung-uk Kim <jkim@FreeBSD.org> |
Catch up with ACPI-CA 20051021 import |
#
f6868f84 |
|
31-Oct-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Tie acpi_hpet.c into the module and kernel. |
#
9b229abc |
|
28-Oct-2005 |
Joerg Wunsch <joerg@FreeBSD.org> |
Finally complete some work on generalizing the PCF8584-based I2C drivers I started quite some time before. Retire the old i386-only pcf driver, and activate the new general driver that has been sitting in the tree already for quite some time. Build the i2c modules for sparc64 architectures as well (where I've been developing all this on). |
#
71a5cd7f |
|
22-Oct-2005 |
Nate Lawson <njl@FreeBSD.org> |
Hook acpi_smbat up to the build. |
#
f3f9e7ae |
|
20-Oct-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Remove duplicate entry. |
#
d0f68000 |
|
18-Oct-2005 |
Warner Losh <imp@FreeBSD.org> |
Move dc sources from pci and dev/mii into dev/dc. |
#
021eda1d |
|
14-Oct-2005 |
John Baldwin <jhb@FreeBSD.org> |
Remove the sx(4) driver at the request of the author. The author originally wrote it for 4.x and hasn't really had the time to fully update it to 5.x and later. Also, the author doesn't use the hardware anymore as well. If someone does need this driver they can always resurrect it from the Attic. Requested by: Frank Mayhar frank at exit dot com |
#
24f8c87b |
|
06-Oct-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Backout strtok() addition to libkern, strsep() is enough and strtok() is not safe. Discussed with: stefanf, njl |
#
5e66cbae |
|
06-Oct-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add strtok() and strtok_r() function to libkern. MFC after: 2 weeks |
#
48ce9021 |
|
05-Oct-2005 |
Warner Losh <imp@FreeBSD.org> |
Include forgotten rtl80x9 file for ed. |
#
2bc6081c |
|
03-Oct-2005 |
Scott Long <scottl@FreeBSD.org> |
Reintroduce the lmc T1/E1/T3 WAN driver. This version is locked, supports interface polling, compiles on 64-bit platforms, and compiles on NetBSD, OpenBSD, BSD/OS, and Linux. Woo! Thanks to David Boggs for providing this driver. Altq, sppp, netgraph, and bpf are required for this driver to operate. Userland tools and man pages will be committed next. Submitted by: David Boggs |
#
4406886f |
|
02-Oct-2005 |
Alexander Leidinger <netchild@FreeBSD.org> |
Soft volume implementation for audio devices without pcm mixer controller. Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Tested by: multimedia@ |
#
b6de9e91 |
|
27-Sep-2005 |
Max Laier <mlaier@FreeBSD.org> |
Remove bridge(4) from the tree. if_bridge(4) is a full functional replacement and has additional features which make it superior. Discussed on: -arch Reviewed by: thompsa X-MFC-after: never (RELENG_6 as transition period) |
#
852999de |
|
20-Sep-2005 |
Warner Losh <imp@FreeBSD.org> |
Add pccard_device.c |
#
71803995 |
|
18-Sep-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
sample.c needs ath magic include path |
#
346fa631 |
|
15-Sep-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add tnt4882 driver to the build |
#
d85986ec |
|
10-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Don't pollute the entire kernel build with -I$S/contrib/dev/ath and -I$S/contrib/dev/ath/freebsd. "ATH_BUILDING_FROM_SOURCE" can be defined to globally get back -I$S/contrib/dev/ath. |
#
7014a508 |
|
10-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Don't pollute the entire kernel build with -I$S/contrib/ipfilter. |
#
b186613e |
|
10-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Don't pollute the entire kernel build with -I$S/contrib/pf. |
#
94caedfb |
|
10-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Don't pollute the entire kernel build with -I$S/contrib/ngatm. |
#
ede2033b |
|
10-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Don't pollute the entire kernel build with -I$S/dev/twa. |
#
68a94b0d |
|
25-Aug-2005 |
Takanori Watanabe <takawata@FreeBSD.org> |
Oops, I forget to add item in files . Pointed out by: pjd |
#
9417a618 |
|
11-Aug-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add code for Ext2FS and ReiserFS labels recognition. Submitted by: Stanislav Sedov <stas@310.ru> PR: kern/84638 MFC after: 1 week |
#
c812ca43 |
|
08-Aug-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add strcasecmp() and strncasecmp() to libkern and connect to the build. |
#
8d511e2a |
|
02-Aug-2005 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add support for saving stack traces and displaying them via printf(9) and KTR. Contributed by: Antoine Brodin <antoine.brodin@laposte.net> Concept code from: Neal Fachan <neal@isilon.com> |
#
5ca1fcfe |
|
27-Jul-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect GEOM_ELI class to the build. MFC after: 1 week |
#
869de957 |
|
25-Jul-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect GZERO to the build. MFC after: 3 days |
#
af088425 |
|
20-Jul-2005 |
Eric Anholt <anholt@FreeBSD.org> |
Add the latest r300 code from r300.sf.net. This is based on the patch supplied by Vladimir Dergachev for inclusion in DRM CVS, with minor modifications for FreeBSD CVS and the appropriate license from Nicolai Haehnle on r300_reg.h. Fixes hangs when using r300.sf.net userland, tested on a Radeon 9600 on amd64. |
#
f509c650 |
|
18-Jul-2005 |
Warner Losh <imp@FreeBSD.org> |
This has worked for a while now. ex pccard attachment |
#
f93657d9 |
|
16-Jul-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Add additional sub-systems to the warning users get when they build a kernel that has become GPL infected. |
#
f9e56677 |
|
14-Jul-2005 |
Maksim Yevmenkin <emax@FreeBSD.org> |
kbdmux(4) keyboard multiplexer integration o Add minimal kbdmux(4) man page to the source tree (more details to follow); o Hook up kbdmux(4) to the build. This concludes the first part of the kbdmux(4) keyboard multiplexer integration. It now should be possible to use kbdmux(4), however one must configure kbdmux(4) by hand (i.e. load kbdmux(4) module and use kbdcontrol(1) to add/remove slave keyboards to/from kbdmux(4)). MFC after: 1 week |
#
39e5901e |
|
14-Jul-2005 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add SL811 based host controller driver for CF usb host controller. This is based on NetBSD slhci(4) driver for X68k amateur hardware. For now, it will not work properly, but it can detect usb device insertion. |
#
16324fb1 |
|
10-Jul-2005 |
Scott Long <scottl@FreeBSD.org> |
Update for the new and removed MPT driver files. Submitted by: gibbs Approved by: re |
#
fe98fb32 |
|
21-Jun-2005 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
Connect reiserfs build to every platforms, not only i386 and pc98. Reviewed by: mux (mentor) Approved by: re (dougb) |
#
c2165a93 |
|
20-Jun-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Don't compile legacy libalias support into kernel. Approved by: re (dwhite) |
#
151a9296 |
|
16-Jun-2005 |
Joseph Koshy <jkoshy@FreeBSD.org> |
Preserve sorting order. Submitted by: obrien Approved by: re |
#
b61403ff |
|
14-Jun-2005 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Move ext2fs from src/gnu to src/gnu/fs. Discussed on arch@. Reviewed by: kan Approved by: re (blanket), kan |
#
b16d349f |
|
11-Jun-2005 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Refactor the NETSMBCRYPTO option so that it does the same on all platforms. ARM is excluded as it doesn't yet have any crypto sources. Approved by: re (dwhite) MFC after: 1 day |
#
e9110049 |
|
10-Jun-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Attach ng_tcpmss to the build. |
#
f263522a |
|
09-Jun-2005 |
Joseph Koshy <jkoshy@FreeBSD.org> |
MFP4: - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation. |
#
7afc53b8 |
|
04-Jun-2005 |
Andrew Thompson <thompsa@FreeBSD.org> |
Connect if_bridge to the build. Approved by: mlaier (mentor) |
#
c4c9b52b |
|
05-May-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ng_nat - a netgraph(4) node, which does NAT |
#
376ea972 |
|
05-May-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
libalias is now buildable as kernel module |
#
52648411 |
|
04-May-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce MAC Framework and MAC Policy entry points to label and control access to POSIX Semaphores: mac_init_posix_sem() Initialize label for POSIX semaphore mac_create_posix_sem() Create POSIX semaphore mac_destroy_posix_sem() Destroy POSIX semaphore mac_check_posix_sem_destroy() Check whether semaphore may be destroyed mac_check_posix_sem_getvalue() Check whether semaphore may be queried mac_check_possix_sem_open() Check whether semaphore may be opened mac_check_posix_sem_post() Check whether semaphore may be posted to mac_check_posix_sem_unlink() Check whether semaphore may be unlinked mac_check_posix_sem_wait() Check whether may wait on semaphore Update Biba, MLS, Stub, and Test policies to implement these entry points. For information flow policies, most semaphore operations are effectively read/write. Submitted by: Dandekar Hrishikesh <rishi_dandekar at sbcglobal dot net> Sponsored by: DARPA, McAfee, SPARTA Obtained from: TrustedBSD Project |
#
9fa98e70 |
|
28-Apr-2005 |
Scott Long <scottl@FreeBSD.org> |
Update the file.* entries for the new home of hwpmc |
#
0c3757df |
|
28-Apr-2005 |
Darren Reed <darrenr@FreeBSD.org> |
Patches from Ruslan Ermilov to address problems compiling LINT |
#
c146a157 |
|
25-Apr-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
retire the musycc E1/T1 driver. |
#
484060eb |
|
22-Apr-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make aic*_reg_print.o appear in the .depend file, fixing the "make" failure after "make depend; make clean". Prodded by: bde |
#
ebccf1e3 |
|
18-Apr-2005 |
Joseph Koshy <jkoshy@FreeBSD.org> |
Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities and documentation into -CURRENT. Bump FreeBSD_version. Reviewed by: alc, jhb (kernel changes) |
#
ceaec73d |
|
18-Apr-2005 |
Damien Bergamini <damien@FreeBSD.org> |
Initial import of ipw, iwi, ral and ural drivers: ipw - Intel PRO/Wireless 2100 iwi - Intel PRO/Wireless 2200BG/2225BG/2915ABG ral - Ralink Technology RT2500 ural - Ralink Technology RT2500USB Approved by: silby (mentor) |
#
b8aa843c |
|
15-Apr-2005 |
Eric Anholt <anholt@FreeBSD.org> |
Update to DRM CVS as of 2005-04-12, bringing many changes: - Split core DRM routines back into their own module, rather than using the nasty templated system like before. - Development-class R300 support in radeon driver (requires userland pieces, of course). - Mach64 driver (haven't tested in a while -- my mach64s no longer fit in the testbox). Covers Rage Pros, Rage Mobility P/M, Rage XL, and some others. - i915 driver files, which just need to get drm_drv.c fixed to allow attachment to the drmsub device. Covers i830 through i915 integrated graphics. - savage driver files, which should require minimal changes to work. Covers the Savage3D, Savage IX/MX, Savage 4, ProSavage. - Support for color and texture tiling and HyperZ features of Radeon. Thanks to: scottl (much p4 handholding) Jung-uk Kim (helpful prodding) PR: [1] kern/76879, [2] kern/72548 Submitted by: [1] Alex, lesha at intercaf dot ru [2] Shaun Jurrens, shaun at shamz dot net |
#
f0c1dee2 |
|
12-Apr-2005 |
Vinod Kashyap <vkashyap@FreeBSD.org> |
The latest release of the FreeBSD driver (twa) for 3ware's 9xxx series controllers. This corresponds to the 9.2 release (for FreeBSD 5.2.1) on the 3ware website. Highlights of this release are: 1. The driver has been re-architected to use a "Common Layer" (all tw_cl* files), which is a consolidation of all OS-independent parts of the driver. The FreeBSD OS specific portions of the driver go into an "OS Layer" (all tw_osl* files). This re-architecture is to achieve better maintainability, consistency of behavior across OS's, and better portability to new OS's (drivers for new OS's can be written by just adding an OS Layer that's specific to the OS, by complying to a "Common Layer Programming Interface" API. 2. The driver takes advantage of multiple processors. 3. The driver has a new firmware image bundled, the new features of which include Online Capacity Expansion and multi-lun support, among others. More details about 3ware's 9.2 release can be found here: http://www.3ware.com/download/Escalade9000Series/9.2/9.2_Release_Notes_Web.pdf Since the Common Layer is used across OS's, the FreeBSD specific include path for header files (/sys/dev/twa) is not part of the #include pre-processor directive in any of the source files. For being able to integrate twa into the kernel despite this, Makefile.<arch> has been changed to add the include path to CFLAGS. Reviewed by: scottl |
#
8ca4df32 |
|
29-Mar-2005 |
Søren Schmidt <sos@FreeBSD.org> |
This is the much rumoured ATA mkIII update that I've been working on. o ATA is now fully newbus'd and split into modules. This means that on a modern system you just load "atapci and ata" to get the base support, and then one or more of the device subdrivers "atadisk atapicd atapifd atapist ataraid". All can be loaded/unloaded anytime, but for obvious reasons you dont want to unload atadisk when you have mounted filesystems. o The device identify part of the probe has been rewritten to fix the problems with odd devices the old had, and to try to remove so of the long delays some HW could provoke. Also probing is done without the need for interrupts, making earlier probing possible. o SATA devices can be hot inserted/removed and devices will be created/ removed in /dev accordingly. NOTE: only supported on controllers that has this feature: Promise and Silicon Image for now. On other controllers the usual atacontrol detach/attach dance is still needed. o Support for "atomic" composite ATA requests used for RAID. o ATA RAID support has been rewritten and and now supports these metadata formats: "Adaptec HostRAID" "Highpoint V2 RocketRAID" "Highpoint V3 RocketRAID" "Intel MatrixRAID" "Integrated Technology Express" "LSILogic V2 MegaRAID" "LSILogic V3 MegaRAID" "Promise FastTrak" "Silicon Image Medley" "FreeBSD PseudoRAID" o Update the ioctl API to match new RAID levels etc. o Update atacontrol to know about the new RAID levels etc NOTE: you need to recompile atacontrol with the new sys/ata.h, make world will take care of that. NOTE2: that rebuild is done differently from the old system as the rebuild is now done piggybacked on read requests to the array, so atacontrol simply starts a background "dd" to rebuild the array. o The reinit code has been worked over to be much more robust. o The timeout code has been overhauled for races. o Support of new chipsets. o Lots of fixes for bugs found while doing the modulerization and reviewing the old code. Missing or changed features from current ATA: o atapi-cd no longer has support for ATAPI changers. Todays its much cheaper and alot faster to copy those CD images to disk and serve them from there. Besides they dont seem to be made anymore, maybe for that exact reason. o ATA RAID can only read metadata from all the above metadata formats, not write all of them (Promise and Highpoint V2 so far). This means that arrays can be picked up from the BIOS, but they cannot be created from FreeBSD. There is more to it than just the missing write metadata support, those formats are not unique to a given controller like Promise and Highpoint formats, instead they exist for several types, and even worse, some controllers can have different formats and its impossible to tell which one. The outcome is that we cannot reliably create the metadata of those formats and be sure the controller BIOS will understand it. However write support is needed to update/fail/rebuild the arrays properly so it sits fairly high on the TODO list. o So far atapicam is not supported with these changes. When/if this will change is up to the maintainer of atapi-cam so go there for questions. HW donated by: Webveveriet AS HW donated by: Frode Nordahl HW donated by: Yahoo! HW donated by: Sentex Patience by: Vife and my boys (and even the cats) |
#
6bcf0032 |
|
22-Mar-2005 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Add USB Communication Device Class Ethernet driver. Originally written for FreeBSD based on aue(4) it was picked by OpenBSD, then from OpenBSD ported to NetBSD and finally NetBSD version merged with original one goes into FreeBSD. Obtained from: http://www.gank.org/freebsd/cdce/ NetBSD OpenBSD |
#
a7b1b2b6 |
|
18-Mar-2005 |
Philip Paeps <philip@FreeBSD.org> |
Hook acpi_fujitsu up to the build. Forgotten by: philip |
#
2f005935 |
|
14-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use vfs_hash instead of home-rolled. |
#
9236b51d |
|
14-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use vfs_hash() instead of home-rolled |
#
14bc0685 |
|
14-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use vfs_hash instead of home-rolled. |
#
6c325a2a |
|
14-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Currently (almost) all filesystems maintain a local inode hash table to get from (mount + inode) to vnode. These tables are mostly copy&pasted from UFS, sized based on desiredvnodes and therefore quite large (128K-512K). Several filesystems are buggy enough that they allocate the hash table even before they know if they will ever be used or not. Add "vfs_hash", a system wide hash table, which will replace all the per-filesystem hash-tables. The fields we add to struct vnode will more or less be saved in the respective filesystems inodes. Having one central implementation will save code and will allow us to justify the complexity of code to dynamically (re)size the hash at a later point. |
#
ae794b41 |
|
11-Mar-2005 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
just use crypto/rijndael (I forgot to commit this in my previous commit) |
#
fa20c234 |
|
10-Mar-2005 |
Sam Leffler <sam@FreeBSD.org> |
SampleRate rate control algorithm for the ath driver Submitted by: John Bicket |
#
858ff96a |
|
10-Mar-2005 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
use cast128 in opencrypto to nuke duplicate code. |
#
d74b3061 |
|
27-Feb-2005 |
Marius Strobl <marius@FreeBSD.org> |
The zs(4) driver is superseded by uart(4) and broken in -CURRENT. Remove it from the sparc64 kernel config files and delete its fhc(4) and sbus(4) front-end. Agreed with: marcel |
#
099894cc |
|
25-Feb-2005 |
Marius Strobl <marius@FreeBSD.org> |
Declare the sbus(4) front-end of puc(4) also for fhc(4), allowing uart(4) to support the Zilog 8530 SCCs which hang off of a FireHose bus on Sun E4000/E5000 class machines. Beside the fact that a puc_fhc.c would just be a copy of puc_sbus.c with s,sbus,fhc,g the reason why the declaration for fhc(4) was sticked into puc_sbus.c is that both of these front-ends for puc(4) will go away once there is a scc(4). Discussed with: marcel Tested by: hrs, kris MFC after: 3 days |
#
c6250ecf |
|
24-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Move acpi_perf and acpi_throttle into acpi.ko. Remove the acpi_perf build structure. |
#
99f0c332 |
|
24-Feb-2005 |
Hartmut Brandt <harti@FreeBSD.org> |
Split the chip-specific code from the generic Utopia code. This simplifies adding of new physical chips. Now one just needs to add a .h and a .c file for the new chip and add one line to utopia.c for that chip. |
#
a9771948 |
|
22-Feb-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add CARP (Common Address Redundancy Protocol), which allows multiple hosts to share an IP address, providing high availability and load balancing. Original work on CARP done by Michael Shalayeff, with many additions by Marco Pfatschbacher and Ryan McBride. FreeBSD port done solely by Max Laier. Patch by: mlaier Obtained from: OpenBSD (mickey, mcbride) |
#
febf4577 |
|
13-Feb-2005 |
Scott Long <scottl@FreeBSD.org> |
Add sys/dev/ieee488/ibfoo.c for hte pcii driver. Fixes the broken tinderbox for the last few days. |
#
1121c394 |
|
11-Feb-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make non-SOFTUPDATES kernels compile again. Integrate the stubfile into the main file now that license issues have been long resolved. |
#
75737f34 |
|
10-Feb-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add strspn() to libkern. Ok'ed by: rwatson |
#
969eaf21 |
|
09-Feb-2005 |
Warner Losh <imp@FreeBSD.org> |
Break out obscure ISA cards into their own files, as well as ne2000 and wd80x3 support. Make the obscure ISA cards optional, and add those options to NOTES on i386 (note: the ifdef around the whole code is for module building). Tweak pc98 ed support to include wd80x3 too. Add goo for alpha too. The affected cards are the 3Com 3C503, HP LAN+ and SIC (whatever that is). I couldn't find any of these for sale on ebay, so they are untested. If you have one of these cards, and send it to me, I'll ensure that you have no future problems with it... Minor cleanups as well by using functions rather than cut and paste code for some probing operations (where the function call overhead is lost in the noise). Remove use of kvtop, since they aren't required anymore. This driver needs to get its memory mapped act together, however, and use bus space. It doesn't right now. This reduces the size of if_ed.ko from about 51k to 33k on my laptop. |
#
aca86659 |
|
06-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Hook acpi_throttle(4) up to the build. It's currently part of acpi_perf.ko although this may change. |
#
df05d0fb |
|
06-Feb-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Further elaborate the GPIB driver. We now support a minimal subset of the ibfoo() API. |
#
69bc96f2 |
|
05-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Build cpufreq and acpi_perf on platforms that are likely to be able to use them. |
#
f2a7ef4e |
|
04-Feb-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Hook up ng_ipfw to kernel build. |
#
335e4ff3 |
|
03-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Hook up the cpufreq framework, acpi_perf(4), and cpufreq(4) drivers. |
#
f627315f |
|
03-Feb-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
- Move gets() function to libkern (I want to use it outside vfs_mount.c). - Add buffer size limitations (overflow will not be possible anymore). - Add 'visible' option, which will allow for passphrase reading in the future. - Remove special treatment of '@' and '#', those two are only confusing. Discussed with: rwatson MFC after: 2 weeks |
#
83820457 |
|
01-Feb-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a IEEE488 driver for PCIIA compatible cards. This driver implements "unaddressed listen only mode", which is what printers and plotters commonly do on GP-IB busses. This means that you can capture print/plot like output from your instruments by configuring them as necessary (good luck!) and cat -u /dev/gpib0l > /tmp/somefile Since there is no way to know when no more output is comming you will have to ctrl-C the cat process when it is done (that is why the -u is important). |
#
e4eb384b |
|
21-Jan-2005 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Bring in MemGuard, a very simple and small replacement allocator designed to help detect tamper-after-free scenarios, a problem more and more common and likely with multithreaded kernels where race conditions are more prevalent. Currently MemGuard can only take over malloc()/realloc()/free() for particular (a) malloc type(s) and the code brought in with this change manually instruments it to take over M_SUBPROC allocations as an example. If you are planning to use it, for now you must: 1) Put "options DEBUG_MEMGUARD" in your kernel config. 2) Edit src/sys/kern/kern_malloc.c manually, look for "XXX CHANGEME" and replace the M_SUBPROC comparison with the appropriate malloc type (this might require additional but small/simple code modification if, say, the malloc type is declared out of scope). 3) Build and install your kernel. Tune vm.memguard_divisor boot-time tunable which is used to scale how much of kmem_map you want to allott for MemGuard's use. The default is 10, so kmem_size/10. ToDo: 1) Bring in a memguard(9) man page. 2) Better instrumentation (e.g., boot-time) of MemGuard taking over malloc types. 3) Teach UMA about MemGuard to allow MemGuard to override zone allocations too. 4) Improve MemGuard if necessary. This work is partly based on some old patches from Ian Dowse. |
#
27dc7a92 |
|
13-Jan-2005 |
John Baldwin <jhb@FreeBSD.org> |
Allow the dragon and snake screen savers to be statically compiled into a kernel and add them to NOTES. MFC after: 2 weeks |
#
560cb857 |
|
11-Jan-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect SHSEC GEOM class to the build. |
#
2948a1cb |
|
09-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
sort more things alphabetically |
#
2c4b2249 |
|
04-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
Minor nits in formatting continued lines |
#
65881957 |
|
04-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
cnw as a pccard device was commented out, so uncomment it so LINT will build. |
#
944d0f0f |
|
03-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
move all the card entries to files.pc98 style change: regularize tabbing |
#
3ec0cd6e |
|
03-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
First step in removing OLDCARD from FreeBSD 6.0: o Move card from all architectures to just pc98. It is only needed there, although real issues remain with NEWCARD's support of ISA devices. |
#
2c3bc7b9 |
|
30-Dec-2004 |
Warner Losh <imp@FreeBSD.org> |
Call usbdevs2h with -h for .h file Explicitly generate usbdevs_data.h for usb kernels with new -d switch |
#
d676cb6f |
|
27-Dec-2004 |
Roman Kurakin <rik@FreeBSD.org> |
Add FR support to sppp (MFCronyx). Silence on: net@, current@, hackers@. No objections: joerg Requested by: by many (mostly Cronyx) users for a long long time. MFC after: 10 days PR: kern/21771, kern/66348 |
#
06064893 |
|
09-Dec-2004 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add IBM Laptop extra device driver. This depends on ACPI and RTC registers. Reviewed by: njl |
#
1e806e82 |
|
08-Dec-2004 |
Sam Leffler <sam@FreeBSD.org> |
Update for ath and net80211 changes. |
#
370abcb3 |
|
05-Dec-2004 |
Alan Cox <alc@FreeBSD.org> |
Update the Tigon 1 and 2 driver to use the sf_buf API for implementing zero-copy receive of jumbo frames. This eliminates the need for the jumbo frame allocator implemented in kern/uipc_jumbo.c and sys/jumbo.h. Remove it. Note: Zero-copy receive of jumbo frames did not work without these changes; I believe there was insufficient locking on the jumbo vm object. Tested by: ken@ Discussed with: gallatin@ |
#
694f13aa |
|
20-Nov-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Stop building uart_dev_i8251.c. It was copied from uart_dev_ns8250.c without ever being changed to actually work with an i8251. Nobody is working on this either at the moment, so it's not about to change soon. When the code necessary to support the i8251 is committed, this can be reverted again. |
#
1fbf6dc5 |
|
17-Nov-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up mac_sysv_{msg,sem,shm}.c to the build when compiling with MAC support. |
#
f46d4a67 |
|
17-Nov-2004 |
Marius Strobl <marius@FreeBSD.org> |
Add a driver back end for MC146818 and compatible clocks based on the respective NetBSD driver for use with the genclock interface. It's first use will be on sparc64 but it was also tested on alpha with a preliminary patch to switch alpha to use the genclock code together with this driver instead of the respective code in alpha/alpha/clock.c and the rather MD mcclock(4). Using it on i386 and amd64 won't be that hard but some changes/extensions to improve the genclock code in general should be done first, e.g. add locking and make it easier to access the NVRAM usually coupled with RTCs. |
#
6e81ac21 |
|
16-Nov-2004 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Add vkdb(4) man page and connect vkbd(4) to the build. |
#
492871f5 |
|
15-Nov-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Order of arguments after "optional" is not without significance: the first field must be the name of the enabling device/option, otherwise config doesn't know there is an option/device of that name. |
#
c2aed512 |
|
14-Nov-2004 |
Warner Losh <imp@FreeBSD.org> |
After discussions with Nate, repo copy the acpi assist drivers from i386 to dev/acpi_support. In theory, these devices could be found other than in i386 machines only as amd64 becomes more popular. These drivers don't appear to do anything i386 specific, so move them to dev/acpi_support. Move config lines to files so that those architectures that don't support kernel modules can build them into the kernel. At the same time, rename acpi_snc to acpi_sony to follow the lead of all the other specialty devices. |
#
8280421a |
|
11-Nov-2004 |
Warner Losh <imp@FreeBSD.org> |
Doh! This one crept in two commits ago and didn't get weeded out on the last commit. Sorry gang. Conical Hat: imp |
#
53f8cdd8 |
|
11-Nov-2004 |
Warner Losh <imp@FreeBSD.org> |
Kill the 802.11 crypo changes that shouldn't have been committed. Noticed by: phillip@ |
#
dbacb6c4 |
|
11-Nov-2004 |
Warner Losh <imp@FreeBSD.org> |
Commit takawata-san's Sony Notebook Controller driver, integrated into the tree. Small tweaks were made by myself to eliminate unnecessary includes and some other minor issues. Last time I asked takawata-san about this driver, he suggested I commit it. Submitted by: takawata |
#
c8c8f27a |
|
10-Nov-2004 |
Warner Losh <imp@FreeBSD.org> |
pbio has moved to dev/pbio Prodded by: peter |
#
c9472fb2 |
|
10-Nov-2004 |
Mark Murray <markm@FreeBSD.org> |
Remove at request of author, perhaps to be re-added later. |
#
f12ea43d |
|
08-Nov-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove the obsolete gx driver. All the hardware is supported by the better maintained if_em driver. Absentmindedly nodded vertical by: people on #that_channel |
#
4d13ab3d |
|
29-Oct-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add GEOM class "VFS" for filesystems and other buffer cache users of GEOM devices. There is nothing magic about this, it just gives a bufobj interface to GEOM. |
#
743d0f66 |
|
24-Oct-2004 |
Ruslan Ermilov <ru@FreeBSD.org> |
Hack around a problem with sys/tools/usbdevs2h.awk that generates both usbdevs.h and usbdevs_data.h. (The latter was not cleaned.) |
#
ff7c5a48 |
|
22-Oct-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Alas, poor SPECFS! -- I knew him, Horatio; A filesystem of infinite jest, of most excellent fancy: he hath taught me lessons a thousand times; and now, how abhorred in my imagination it is! my gorge rises at it. Here were those hacks that I have curs'd I know not how oft. Where be your kludges now? your workarounds? your layering violations, that were wont to set the table on a roar? Move the skeleton of specfs into devfs where it now belongs and bury the rest. |
#
fdebdf10 |
|
12-Oct-2004 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Add dcons_os.{c,h}. |
#
ab67442f |
|
07-Oct-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Since net/net_osdep.c contained only one function that could be trivially implemented as a macro, do that and remove it. NetBSD did this quite a while ago. |
#
f6bde1fd |
|
30-Sep-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a new API for allocating unit number (-like) resources. Allocation is always lowest free unit number. A mixed range/bitmap strategy for maximum memory efficiency. In the typical case where no unit numbers are freed total memory usage is 56 bytes on i386. malloc is called M_WAITOK but no locking is provided (yet). A bit of experience will be necessary to determine the best strategy. Hopefully a "caller provides locking" strategy can be maintained, but that may require use of M_NOWAIT allocation and failure handling. A userland test driver is included. |
#
08d0c00b |
|
23-Sep-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Per recent HEADSUP: Disconnect (old)vinum from the kernel build. Users should move to the new geom_vinum implementation instead. The refcount logic which is being added to devices to enable safe module unloading and the buf/vm work also in progress would require a major rework of the (old)-vinum code to comply with the new semantics. The actual source files will not be removed until I have coordinated with the geomvinum people if they need any bits repo-copied etc. |
#
cec50dea |
|
16-Sep-2004 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Attach ng_netflow to kernel build. Approved by: julian (mentor) |
#
a07bd003 |
|
10-Sep-2004 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for the VIA Networking Technologies VT6122 gigabit ethernet chip and integrated 10/100/1000 copper PHY. The vge driver has been added to GENERIC for i386, pc98 and amd64, but not to sparc or ia64 since I don't have the ability to test it there. The vge(4) driver supports VLANs, checksum offload and jumbo frames. Also added the lge(4) and nge(4) drivers to GENERIC for i386 and pc98 since I was in the neighborhood. There's no reason to leave them out anymore. |
#
8985c52b |
|
05-Sep-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Device driver for the Cypress CY7C637xx and CY7C640/1xx families of USB to RS232 bridges, such as the one found in the DeLorme Earthmate USB GPS receiver (which is the only device currently supported by this driver). While other USB to serial drivers in the tree rely heavily on ucom, this one is self-contained. The reason for that is that ucom assumes that the bridge uses bulk pipes for I/O, while the Cypress parts actually register as human interface devices and use HID reports for configuration and I/O. The driver is not entirely complete: there is no support yet for flow control, and output doesn't seem to work, though I don't know if that is because of a bug in the code, or simply because the Earthmate is a read- only device. |
#
ed062c8d |
|
04-Sep-2004 |
Julian Elischer <julian@FreeBSD.org> |
Refactor a bunch of scheduler code to give basically the same behaviour but with slightly cleaned up interfaces. The KSE structure has become the same as the "per thread scheduler private data" structure. In order to not make the diffs too great one is #defined as the other at this time. The KSE (or td_sched) structure is now allocated per thread and has no allocation code of its own. Concurrency for a KSEGRP is now kept track of via a simple pair of counters rather than using KSE structures as tokens. Since the KSE structure is different in each scheduler, kern_switch.c is now included at the end of each scheduler. Nothing outside the scheduler knows the contents of the KSE (aka td_sched) structure. The fields in the ksegrp structure that are to do with the scheduler's queueing mechanisms are now moved to the kg_sched structure. (per ksegrp scheduler private data structure). In other words how the scheduler queues and keeps track of threads is no-one's business except the scheduler's. This should allow people to write experimental schedulers with completely different internal structuring. A scheduler call sched_set_concurrency(kg, N) has been added that notifies teh scheduler that no more than N threads from that ksegrp should be allowed to be on concurrently scheduled. This is also used to enforce 'fainess' at this time so that a ksegrp with 10000 threads can not swamp a the run queue and force out a process with 1 thread, since the current code will not set the concurrency above NCPU, and both schedulers will not allow more than that many onto the system run queue at a time. Each scheduler should eventualy develop their own methods to do this now that they are effectively separated. Rejig libthr's kernel interface to follow the same code paths as linkse for scope system threads. This has slightly hurt libthr's performance but I will work to recover as much of it as I can. Thread exit code has been cleaned up greatly. exit and exec code now transitions a process back to 'standard non-threaded mode' before taking the next step. Reviewed by: scottl, peter MFC after: 1 week |
#
0793d4d1 |
|
02-Sep-2004 |
Alfred Perlstein <alfred@FreeBSD.org> |
Hook autofs to the build. |
#
f37a929c |
|
30-Aug-2004 |
Peter Wemm <peter@FreeBSD.org> |
Kill count device support from config. I've changed the last few remaining consumers to have the count passed as an option. This is i4b, pc98/wdc, and coda. Bump configvers.h from 500013 to 600000. Remove heuristics that tried to parse "device ed5" as 5 units of the ed device. This broke things like the snd_emu10k1 device, which required quotes to make it parse right. The no-longer-needed quotes have been removed from NOTES, GENERIC etc. eg, I've removed the quotes from: device snd_maestro device "snd_maestro3" device snd_mss I believe everything will still compile and work after this. |
#
b8e543f9 |
|
29-Aug-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Back out previous commit, ichwd is i386-only. |
#
776981d5 |
|
28-Aug-2004 |
Ian Dowse <iedowse@FreeBSD.org> |
Add an entry for ichwd to hopefully unbreak the LINT build. |
#
c21fd232 |
|
27-Aug-2004 |
Andre Oppermann <andre@FreeBSD.org> |
Always compile PFIL_HOOKS into the kernel and remove the associated kernel compile option. All FreeBSD packet filters now use the PFIL_HOOKS API and thus it becomes a standard part of the network stack. If no hooks are connected the entire packet filter hooks section and related activities are jumped over. This removes any performance impact if no hooks are active. Both OpenBSD and DragonFlyBSD have integrated PFIL_HOOKS permanently as well. |
#
c415679d |
|
22-Aug-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Remove in6_prefix.[ch] and the contained router renumbering capability. The prefix management code currently resides in nd6, leaving only the unused router renumbering capability in the in6_prefix files. Removing it will make it easier for us to provide locking for the remainder of IPv6 by reducing the number of objects requiring synchronized access. This functionality has also been removed from NetBSD and OpenBSD. Submitted by: George Neville-Neil <gnn at neville-neil.com> Discussed with/approved by: suz, keiichi at kame.net, core at kame.net |
#
9b932e9e |
|
17-Aug-2004 |
Andre Oppermann <andre@FreeBSD.org> |
Convert ipfw to use PFIL_HOOKS. This is change is transparent to userland and preserves the ipfw ABI. The ipfw core packet inspection and filtering functions have not been changed, only how ipfw is invoked is different. However there are many changes how ipfw is and its add-on's are handled: In general ipfw is now called through the PFIL_HOOKS and most associated magic, that was in ip_input() or ip_output() previously, is now done in ipfw_check_[in|out]() in the ipfw PFIL handler. IPDIVERT is entirely handled within the ipfw PFIL handlers. A packet to be diverted is checked if it is fragmented, if yes, ip_reass() gets in for reassembly. If not, or all fragments arrived and the packet is complete, divert_packet is called directly. For 'tee' no reassembly attempt is made and a copy of the packet is sent to the divert socket unmodified. The original packet continues its way through ip_input/output(). ipfw 'forward' is done via m_tag's. The ipfw PFIL handlers tag the packet with the new destination sockaddr_in. A check if the new destination is a local IP address is made and the m_flags are set appropriately. ip_input() and ip_output() have some more work to do here. For ip_input() the m_flags are checked and a packet for us is directly sent to the 'ours' section for further processing. Destination changes on the input path are only tagged and the 'srcrt' flag to ip_forward() is set to disable destination checks and ICMP replies at this stage. The tag is going to be handled on output. ip_output() again checks for m_flags and the 'ours' tag. If found, the packet will be dropped back to the IP netisr where it is going to be picked up by ip_input() again and the directly sent to the 'ours' section. When only the destination changes, the route's 'dst' is overwritten with the new destination from the forward m_tag. Then it jumps back at the route lookup again and skips the firewall check because it has been marked with M_SKIP_FIREWALL. ipfw 'forward' has to be compiled into the kernel with 'option IPFIREWALL_FORWARD' to enable it. DUMMYNET is entirely handled within the ipfw PFIL handlers. A packet for a dummynet pipe or queue is directly sent to dummynet_io(). Dummynet will then inject it back into ip_input/ip_output() after it has served its time. Dummynet packets are tagged and will continue from the next rule when they hit the ipfw PFIL handlers again after re-injection. BRIDGING and IPFW_ETHER are not changed yet and use ipfw_chk() directly as they did before. Later this will be changed to dedicated ETHER PFIL_HOOKS. More detailed changes to the code: conf/files Add netinet/ip_fw_pfil.c. conf/options Add IPFIREWALL_FORWARD option. modules/ipfw/Makefile Add ip_fw_pfil.c. net/bridge.c Disable PFIL_HOOKS if ipfw for bridging is active. Bridging ipfw is still directly invoked to handle layer2 headers and packets would get a double ipfw when run through PFIL_HOOKS as well. netinet/ip_divert.c Removed divert_clone() function. It is no longer used. netinet/ip_dummynet.[ch] Neither the route 'ro' nor the destination 'dst' need to be stored while in dummynet transit. Structure members and associated macros are removed. netinet/ip_fastfwd.c Removed all direct ipfw handling code and replace it with the new 'ipfw forward' handling code. netinet/ip_fw.h Removed 'ro' and 'dst' from struct ip_fw_args. netinet/ip_fw2.c (Re)moved some global variables and the module handling. netinet/ip_fw_pfil.c New file containing the ipfw PFIL handlers and module initialization. netinet/ip_input.c Removed all direct ipfw handling code and replace it with the new 'ipfw forward' handling code. ip_forward() does not longer require the 'next_hop' struct sockaddr_in argument. Disable early checks if 'srcrt' is set. netinet/ip_output.c Removed all direct ipfw handling code and replace it with the new 'ipfw forward' handling code. netinet/ip_var.h Add ip_reass() as general function. (Used from ipfw PFIL handlers for IPDIVERT.) netinet/raw_ip.c Directly check if ipfw and dummynet control pointers are active. netinet/tcp_input.c Rework the 'ipfw forward' to local code to work with the new way of forward tags. netinet/tcp_sack.c Remove include 'opt_ipfw.h' which is not needed here. sys/mbuf.h Remove m_claim_next() macro which was exclusively for ipfw 'forward' and is no longer needed. Approved by: re (scottl) |
#
7afc0218 |
|
16-Aug-2004 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add an ISA attachement to the aic7xxx driver to handle 284X controllers. The ISA probe uses an identify routine to probe all slot locations from 1 to 14 that do not conflict with other allocated resources. This required making aic7770.c part of the driver core when compiled as a module. aic7xxx.c: aic79xx.c: aic_osm_lib.c: Use aic_scb_timer_start() consistently to start the watchdog timer. This removes a few places that verbatum copied the code in aic_scb_timer_start(). During recovery processing, allow commands to still be queued to the controller. The only requirement we have is that our recovery command be queued first - something the code already guaranteed. The only other change required to make this work is to prevent timers from being started for these newly queued commands. Approved by: re |
#
e81856c3 |
|
16-Aug-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect RAID3 GEOM class to the build. |
#
75261008 |
|
13-Aug-2004 |
Max Khon <fjoe@FreeBSD.org> |
Add geom_uzip -- geom class that implements read-only compressed disks. Currently supports cloop V2.0 disk compression format. May support more formats in future. |
#
a7e22394 |
|
12-Aug-2004 |
Hartmut Brandt <harti@FreeBSD.org> |
Allow the ATM call control module to be built into the kernel. |
#
93185c74 |
|
12-Aug-2004 |
Warner Losh <imp@FreeBSD.org> |
Move towards isa attachment for pccbb. This is a work in progress, but works well with the pci attachment. |
#
1b868fa9 |
|
11-Aug-2004 |
Warner Losh <imp@FreeBSD.org> |
Remove pcic for NEWCARD |
#
d23a262f |
|
03-Aug-2004 |
Mark Murray <markm@FreeBSD.org> |
Making a loadable null.ko for /dev/(null|zero) proved rather unpopular, so remove this (mis)feature. Encouragement provided by: jhb (and others) |
#
8ab2f5ec |
|
01-Aug-2004 |
Mark Murray <markm@FreeBSD.org> |
Break out the MI part of the /dev/[k]mem and /dev/io drivers into their own directory and module, leaving the MD parts in the MD area (the MD parts _are_ part of the modules). /dev/mem and /dev/io are now loadable modules, thus taking us one step further towards a kernel created entirely out of modules. Of course, there is nothing preventing the kernel from having these statically compiled. |
#
8a8fbaca |
|
30-Jul-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect GEOM_MIRROR class to the build. |
#
63ead4f2 |
|
30-Jul-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Nuke geom_mirror class. New geom_mirror class is in the way. Approved by: phk |
#
0739ea1d |
|
15-Jul-2004 |
Seigo Tanimura <tanimura@FreeBSD.org> |
Rename the sound device drivers: - `sound' The generic sound driver, always required. - `snd_*' Device-dependent drivers, named after the sound module names. Configure accordingly to your hardware. In addition, rename the `snd_pcm' module to `sound' in order to sync with the driver names. Suggested by: cg |
#
b1e34c44 |
|
15-Jul-2004 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Copy qsort_r(3) from libc to libkern. Reviewed by: phk Approved by: julian (mentor) |
#
e79a88db |
|
12-Jul-2004 |
Warner Losh <imp@FreeBSD.org> |
pccard no longer requires a count because the floppy driver that nominally had a non-working reference to card.h has been removed. |
#
d07c9778 |
|
12-Jul-2004 |
Doug Rabson <dfr@FreeBSD.org> |
Make if_fwsubr.c dependant on fwip instead of firewire - there is not much point including it if you aren't using IP over firewire. |
#
37224cd3 |
|
10-Jul-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Mega update for the KDB framework: turn DDB into a KDB backend. Most of the changes are a direct result of adding thread awareness. Typically, DDB_REGS is gone. All registers are taken from the trapframe and backtraces use the PCB based contexts. DDB_REGS was defined to be a trapframe on all platforms anyway. Thread awareness introduces the following new commands: thread X switch to thread X (where X is the TID), show threads list all threads. The backtrace code has been made more flexible so that one can create backtraces for any thread by giving the thread ID as an argument to trace. With this change, ia64 has support for breakpoints. |
#
5971a234 |
|
10-Jul-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Hook the GDB backend into the build. |
#
f7797100 |
|
10-Jul-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Hook the KDB frontend into the build. |
#
0ac40133 |
|
08-Jul-2004 |
Brian Somers <brian@FreeBSD.org> |
Change the following environment variables to kernel options: bootp -> BOOTP bootp.nfsroot -> BOOTP_NFSROOT bootp.nfsv3 -> BOOTP_NFSV3 bootp.compat -> BOOTP_COMPAT bootp.wired_to -> BOOTP_WIRED_TO - i.e. back out the previous commit. It's already possible to pxeboot(8) with a GENERIC kernel. Pointed out by: dwmalone |
#
59e1ebc9 |
|
08-Jul-2004 |
Brian Somers <brian@FreeBSD.org> |
Change the following kernel options to environment variables: BOOTP -> bootp BOOTP_NFSROOT -> bootp.nfsroot BOOTP_NFSV3 -> bootp.nfsv3 BOOTP_COMPAT -> bootp.compat BOOTP_WIRED_TO -> bootp.wired_to This lets you PXE boot with a GENERIC kernel by putting this sort of thing in loader.conf: bootp="YES" bootp.nfsroot="YES" bootp.nfsv3="YES" bootp.wired_to="bge1" or even setting the variables manually from the OK prompt. |
#
3bc482ec |
|
03-Jul-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
By popular request, add a workaround that allows large (>128GB or so) FAT32 filesystems to be mounted, subject to some fairly serious limitations. This works by extending the internal pseudo-inode-numbers generated from the file's starting cluster number to 64-bits, then creating a table mapping these into arbitrary 32-bit inode numbers, which can fit in struct dirent's d_fileno and struct vattr's va_fileid fields. The mappings do not persist across unmounts or reboots, so it's not possible to export these filesystems through NFS. The mapping table may grow to be rather large, and may grow large enough to exhaust kernel memory on filesystems with millions of files. Don't enable this option unless you understand the consequences. |
#
e1237b28 |
|
02-Jul-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Introduce GEOM_LABEL class. This class is used for detecting volume labels on file systems: UFS, MSDOSFS (FAT12, FAT16, FAT32) and ISO9660. It also provide native labelization (there is no need for file system). g_label_ufs.c is based on geom_vol_ffs from Gordon Tetlow. g_label_msdos.c and g_label_iso9660.c are probably hacks, I just found where volume labels are stored and I use those offsets here, but with this class it should be easy to do it as it should be done by someone who know how. Implementing volume labels detection for other file systems also should be trivial. New providers are created in those directories: /dev/ufs/ (UFS1, UFS2) /dev/msdosfs/ (FAT12, FAT16, FAT32) /dev/iso9660/ (ISO9660) /dev/label/ (native labels, configured with glabel(8)) Manual page cleanups and some comments inside were submitted by Simon L. Nielsen, who was, as always, very helpful. Thanks! |
#
743e8e75 |
|
30-Jun-2004 |
Warner Losh <imp@FreeBSD.org> |
My last commit broke oldcard. Rather than duplicate the lines for pccarddevs.h, just make it standard for now. Once oldcard is gone, we'll revisit. |
#
f1ca765c |
|
30-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Move acpi_if.m to files.{amd64,i386,ia64}. This should fix the alpha build. Pointed out by: gallatin |
#
6840424e |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Like usbdevs, use before-depend to ensure ordering. Glass plaque award: obrien |
#
f207ef23 |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Restore the terminating backslash lost by a typo. |
#
0f18ebd2 |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Make acpi_quirks.h conditional on device acpi. |
#
4209cd53 |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add glue for building acpi_quirk.c |
#
d13e5a40 |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add acpi methods for HID/CID probing, evaluating objects, and walking the namespace. This is to allow decoupling of attachments from ACPI where they need some functionality when ACPI is present but do not want to require ACPI to always be loaded. |
#
b5ba0c50 |
|
28-Jun-2004 |
Warner Losh <imp@FreeBSD.org> |
We need to build miidevs.h when we have miibus, not mii. |
#
e9f58c27 |
|
27-Jun-2004 |
Warner Losh <imp@FreeBSD.org> |
Only build miidevs.h when we have mii in the kernel Only build pccarddevs.h when we have pccard in the kernel Only build usbdevs.h when we have usb in the kernel Suggested by: bde |
#
d07af9d9 |
|
26-Jun-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Add options NETGRAPH_FEC to hook up ng_fec.c to the LINT build. |
#
9d564133 |
|
26-Jun-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Add options NETGRAPH_EIFACE, which causes ng_eiface.c to be built into the kernel, similar to NETGRAPH_IFACE for ng_iface.c. It appears to have been omitted when added to the kernel. |
#
09c399ec |
|
25-Jun-2004 |
Warner Losh <imp@FreeBSD.org> |
MFp4: Reduce the need for hard coded *devs in various makefiles by declaring them before-depend. Other bugs in the handling of *devs remain, but this is the start of the cleanup. These will be address in future commits. Cleanup Motivator: bde |
#
684c1c1d |
|
24-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Hook acpi_quirks up to the build for kernel and modules. |
#
6d90faf3 |
|
23-Jun-2004 |
Paul Saab <ps@FreeBSD.org> |
Add support for TCP Selective Acknowledgements. The work for this originated on RELENG_4 and was ported to -CURRENT. The scoreboarding code was obtained from OpenBSD, and many of the remaining changes were inspired by OpenBSD, but not taken directly from there. You can enable/disable sack using net.inet.tcp.do_sack. You can also limit the number of sack holes that all senders can have in the scoreboard with net.inet.tcp.sackhole_limit. Reviewed by: gnn Obtained from: Yahoo! (Mohan Srinivasan, Jayanth Vijayaraghavan) |
#
f889d2ef |
|
22-Jun-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Major overhaul of pseudo-interface cloning. Highlights include: - Split the code out into if_clone.[ch]. - Locked struct if_clone. [1] - Add a per-cloner match function rather then simply matching names of the form <name><unit> and <name>. - Use the match function to allow creation of <interface>.<tag> vlan interfaces. The old way is preserved unchanged! - Also the match function to allow creation of stf(4) interfaces named stf0, stf, or 6to4. This is the only major user visible change in that "ifconfig stf" creates the interface stf rather then stf0 and does not print "stf0" to stdout. - Allow destroy functions to fail so they can refuse to delete interfaces. Currently, we forbid the deletion of interfaces which were created in the init function, particularly lo0, pflog0, and pfsync0. In the case of lo0 this was a panic implementation so it does not count as a user visiable change. :-) - Since most interfaces do not need the new functionality, an family of wrapper functions, ifc_simple_*(), were created to wrap old style cloner functions. - The IF_CLONE_INITIALIZER macro is replaced with a new incompatible IFC_CLONE_INITIALIZER and ifc_simple consumers use IFC_SIMPLE_DECLARE instead. Submitted by: Maurycy Pawlowski-Wieronski <maurycy at fouk.org> [1] Reviewed by: andre, mlaier Discussed on: net |
#
7c1fe953 |
|
16-Jun-2004 |
Max Laier <mlaier@FreeBSD.org> |
Commit pf version 3.5 and link additional files to the kernel build. Version 3.5 brings: - Atomic commits of ruleset changes (reduce the chance of ending up in an inconsistent state). - A 30% reduction in the size of state table entries. - Source-tracking (limit number of clients and states per client). - Sticky-address (the flexibility of round-robin with the benefits of source-hash). - Significant improvements to interface handling. - and many more ... |
#
02b199f1 |
|
13-Jun-2004 |
Max Laier <mlaier@FreeBSD.org> |
Link ALTQ to the build and break with ABI for struct ifnet. Please recompile your (network) modules as well as any userland that might make sense of sizeof(struct ifnet). This does not change the queueing yet. These changes will follow in a seperate commit. Same with the driver changes, which need case by case evaluation. __FreeBSD_version bump will follow. Tested-by: (i386)LINT |
#
b8b33234 |
|
13-Jun-2004 |
Doug Rabson <dfr@FreeBSD.org> |
Add a new driver to support IP over firewire. This driver is intended to conform to the rfc2734 and rfc3146 standard for IP over firewire and should eventually supercede the fwe driver. Right now the broadcast channel number is hardwired and we don't support MCAP for multicast channel allocation - more infrastructure is required in the firewire code itself to fix these problems. |
#
12c6be05 |
|
09-Jun-2004 |
Scott Long <scottl@FreeBSD.org> |
Add the esp(4) files. Two of them are sbus-specific and therefore only apply to sparc64. |
#
6732641e |
|
09-Jun-2004 |
Warner Losh <imp@FreeBSD.org> |
Step 1 in moving EISA devices to kobj/newbus. Use kobj methods for all of the interface between the driver and the bus. This will enable us to stop special casing eisa bus attachments in modules and treat them like we treat all other busses. In the longer run, we need to eliminate much (all?) of these interfaces and switch to using the standard bus_alloc_resource(), but that's not done right now. # I've not updated the modules to include eisa, etc, just yet Tested on: Compaq Proliant 3000/333 purchased for eisa work |
#
345ad866 |
|
07-Jun-2004 |
Julian Elischer <julian@FreeBSD.org> |
Split kern_thread.c into 2 parts. kern_kse.c and kern_thread.c Kern_kse has already been committed. This separates out the KSE threading ABI from generic thread support. |
#
a5dc42de |
|
01-Jun-2004 |
Seigo Tanimura <tanimura@FreeBSD.org> |
Axe the old midi drivers and framework. matk has developed a new module-friendly midi subsystem to be merged soon. |
#
099a0e58 |
|
31-May-2004 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Bring in mbuma to replace mballoc. mbuma is an Mbuf & Cluster allocator built on top of a number of extensions to the UMA framework, all included herein. Extensions to UMA worth noting: - Better layering between slab <-> zone caches; introduce Keg structure which splits off slab cache away from the zone structure and allows multiple zones to be stacked on top of a single Keg (single type of slab cache); perhaps we should look into defining a subset API on top of the Keg for special use by malloc(9), for example. - UMA_ZONE_REFCNT zones can now be added, and reference counters automagically allocated for them within the end of the associated slab structures. uma_find_refcnt() does a kextract to fetch the slab struct reference from the underlying page, and lookup the corresponding refcnt. mbuma things worth noting: - integrates mbuf & cluster allocations with extended UMA and provides caches for commonly-allocated items; defines several zones (two primary, one secondary) and two kegs. - change up certain code paths that always used to do: m_get() + m_clget() to instead just use m_getcl() and try to take advantage of the newly defined secondary Packet zone. - netstat(1) and systat(1) quickly hacked up to do basic stat reporting but additional stats work needs to be done once some other details within UMA have been taken care of and it becomes clearer to how stats will work within the modified framework. From the user perspective, one implication is that the NMBCLUSTERS compile-time option is no longer used. The maximum number of clusters is still capped off according to maxusers, but it can be made unlimited by setting the kern.ipc.nmbclusters boot-time tunable to zero. Work should be done to write an appropriate sysctl handler allowing dynamic tuning of kern.ipc.nmbclusters at runtime. Additional things worth noting/known issues (READ): - One report of 'ips' (ServeRAID) driver acting really slow in conjunction with mbuma. Need more data. Latest report is that ips is equally sucking with and without mbuma. - Giant leak in NFS code sometimes occurs, can't reproduce but currently analyzing; brueffer is able to reproduce but THIS IS NOT an mbuma-specific problem and currently occurs even WITHOUT mbuma. - Issues in network locking: there is at least one code path in the rip code where one or more locks are acquired and we end up in m_prepend() with M_WAITOK, which causes WITNESS to whine from within UMA. Current temporary solution: force all UMA allocations to be M_NOWAIT from within UMA for now to avoid deadlocks unless WITNESS is defined and we can determine with certainty that we're not holding any locks when we're M_WAITOK. - I've seen at least one weird socketbuffer empty-but- mbuf-still-attached panic. I don't believe this to be related to mbuma but please keep your eyes open, turn on debugging, and capture crash dumps. This change removes more code than it adds. A paper is available detailing the change and considering various performance issues, it was presented at BSDCan2004: http://www.unixdaemons.com/~bmilekic/netbuf_bmilekic.pdf Please read the paper for Future Work and implementation details, as well as credits. Testing and Debugging: rwatson, brueffer, Ketrien I. Saihr-Kesenchedra, ... Reviewed by: Lots of people (for different parts) |
#
e03f8cdc |
|
27-May-2004 |
Tony Ackerman <tackerman@FreeBSD.org> |
First release of ixgb driver for the Intel(R) PRO/10GbE Family of Adapters. This driver has been developed for use with FreeBSD, version 4.8 and later. Submitted by: Hema Joyce Reviewed by: Prafulla Deuskar Approved by: Prafulla Deuskar MFC after: 1 week |
#
dba6dd17 |
|
25-May-2004 |
Warner Losh <imp@FreeBSD.org> |
Move to generating pccarddevs.h on the fly, both for the kernel and the modules. Also generate usbdevs.h automatically now, but a non-kernel file is stopping that at the moment. |
#
79af3d91 |
|
25-May-2004 |
Warner Losh <imp@FreeBSD.org> |
Fix disorder introduce in 1.862 by sorting emu10k before miidevs.h, rather than after. bde inspired words: disorder |
#
c4e54758 |
|
25-May-2004 |
Warner Losh <imp@FreeBSD.org> |
devlist2h.awk is too generic a name for what it does. It really converts miidevs to a .h file, so rename to reflect that. The usb and pccard versions have also been renamed and will be hooked into the build system shortly (I've made the conversion in my p4 tree). |
#
7dc92b13 |
|
20-May-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
- Connect geom(8) and its libraries to the build. - Connect geom_stripe and geom_nop modules to the build. - Connect STRIPE and NOP classes to the LINT build. - Disconnect gconcat(8) from the build. Supported by: Wheel - Open Technologies - http://www.wheel.pl |
#
7226443d |
|
03-May-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Allow geom_concat and geom_gate to be compiled in kernel. |
#
e0871faf |
|
01-May-2004 |
Bruce Evans <bde@FreeBSD.org> |
Switch to using the moved cy driver (adjust pathnames and remove "count" parameter). Keep using it only in the i386 NOTES for now. It is fairly MI, but it doesn't use bus-space and has a couple of i386 i/o instructions in pci intitialization. |
#
e501d969 |
|
30-Apr-2004 |
Thomas Moestl <tmm@FreeBSD.org> |
Remove the sio EBus attachment, which never worked with an unpatched driver because sio(4) uses ISA-specific functions. uart(4) has full support for the respective hardware and should be used instead. |
#
0a6818e2 |
|
24-Apr-2004 |
Roman Kurakin <rik@FreeBSD.org> |
Connect ng_sppp to the build process. |
#
666ea1b6 |
|
23-Apr-2004 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Make sure Bluetooth stuff can be statically compiled into kernel Submitted by: ps Reviewed by: imp (mentor), ru |
#
bcc0344c |
|
20-Apr-2004 |
Nate Lawson <njl@FreeBSD.org> |
Remove an extra line that crept in. |
#
6e3b5e7e |
|
20-Apr-2004 |
Nate Lawson <njl@FreeBSD.org> |
Remove the commented out line for fore_load.c now that it's been removed. |
#
5e679b57 |
|
14-Apr-2004 |
Nate Lawson <njl@FreeBSD.org> |
Remove nowerror lines now that acpica is warns clean. |
#
9dc313a3 |
|
11-Apr-2004 |
Warner Losh <imp@FreeBSD.org> |
Add glue for new sx driver. |
#
6292a186 |
|
10-Apr-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Unbreak alpha kernel build and unbreak any non-i386 runtime brokenness. The VIA Nehemias is so obviously specific to i386 that it should not be compiled on non-i386 platforms. The obviousness is in the fact that all functions in nehemias.c are purely i386 inline assembly, guarded by #ifdef __i386__ |
#
e7806b4c |
|
09-Apr-2004 |
Mark Murray <markm@FreeBSD.org> |
Reorganise the entropy device so that high-yield entropy sources can more easily be used INSTEAD OF the hard-working Yarrow. The only hardware source used at this point is the one inside the VIA C3 Nehemiah (Stepping 3 and above) CPU. More sources will be added in due course. Contributions welcome! |
#
10d1d31e |
|
08-Apr-2004 |
Max Laier <mlaier@FreeBSD.org> |
Readd -Werror flag to compilation pf.c after the compiler warnings have been shut up. Tested by: LINT(i386) Approved by: bms(mentor) |
#
18a810fa |
|
03-Apr-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make led.c/led(4) standard so acpi_asus can use it too. |
#
9a02a2f5 |
|
01-Apr-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Fix style issues in twa lines added in rev 1.878. |
#
7cfcb873 |
|
01-Apr-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Comment out the au88x0 line which was inadvertantly included in the previous commit. |
#
7eb17244 |
|
01-Apr-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Move twa from files.i386 to files. This unbreaks LINT on !i386. Pointy hat to: vkashyap, ps |
#
2ae4f1fd |
|
19-Mar-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Introduce the hw.uart.console and hw.uart.dbgport environment variables to select a serial console and debug port (resp). On ia64 these replace the use of hints completely and take precedence over hints on alpha, amd64 and i386. On sparc64 these variables are not yet recognised. The reasons for introducing these variables are: 1. Hints have side-effects. They reserve the unit number for use by isa or acpi devices and therefore cannot be used to select a pci device. Also, the use of a unit number to select a device prior to bus enumeration is nonsense. The new variables have no side- effects and are not based on unit numbers. 2. Hints don't have the expression power to allow the sysadmin to select UARTs that are not legacy PC devices and need the support of compile-time constants to give the sysadmin some level of flexibility. The hw.uart.console and hw.uart.dbgport variables specify a list of attributes. An attribute is a tag-value pair, seperated by a colon. Attributes are seperated by a comma. Where possible, tags are the same as those in /etc/remote (only br and pa in practice). Details can be found in the manpage (not part of this commit). Not tested on: amd64, pc98 |
#
909d5c63 |
|
19-Mar-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Isolate PCB-specific ethertalk DDP functions in ddp_pcb.c, removing them from ddp_usrreq.c. Functions moved are: at_pcballoc() at_pcbconnect() at_pcbdetach() at_pcbdisconnect() at_pcbsetaddr() at_sockaddr() Also moved are ddp_ports and ddpcb, global variables associated with DDP pcbs. This makes PCB implementation more parallel to inet, inet6, and ipx. |
#
846ca5d0 |
|
15-Mar-2004 |
Scott Long <scottl@FreeBSD.org> |
Remove RAIDFrame. It hasn't worked since GEOM replaced the old disk mini-layer. I don't have time to bing it forward into the GEOM world, and no one else has stepped forward to claim it. It'll be in the Attic for safe keeping for now. |
#
06d6e4fc |
|
12-Mar-2004 |
Tom Rhodes <trhodes@FreeBSD.org> |
This are the build infrastructure changes to allow to use the Intel C/C++ compiler (lang/icc) to build the kernel. The icc CPUTYPE CFLAGS use icc v7 syntax, icc v8 moans about them, but doesn't abort. They also produce CPU specific code (new instructions of the CPU, not only CPU specific scheduling), so if you get coredumps with signal 4 (SIGILL, illegal instruction) you've used the wrong CPUTYPE. Incarnations of this patch survive gcc compiles and my make universe. I use it on my desktop. To use it update share/mk, add /usr/local/intel/compiler70/ia32/bin (icc v7, works) or /usr/local/intel_cc_80/bin (icc v8, doesn't work) to your PATH, make sure you have a new kernel compile directory (e.g. MYKERNEL_icc) and run CFLAGS="-O2 -ip" CC=icc make depend CFLAGS="-O2 -ip" CC=icc make in it. Don't compile with -ipo, the build infrastructure uses ld directly to link the kernel and the modules, but -ipo needs the link step to be performed with Intel's linker. Problems with icc v8: - panic: npx0 cannot be emulated on an SMP system - UP: first start of /bin/sh results in a FP exception Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>. Reviewed by: silence on -arch Submitted by: netchild |
#
bde778e9 |
|
08-Mar-2004 |
Benno Rice <benno@FreeBSD.org> |
Add a netgraph node to handle ATM LLC encapsulation. This currently handles ethernet (tested) and FDDI (not tested). The main use for this is on ADSL (or other ATM) connections where bridged ethernet is used, PPPoE being a prime example. There is no manual page as yet, I will write one shortly. Reviewed by: harti |
#
5af0827e |
|
03-Mar-2004 |
David E. O'Brien <obrien@FreeBSD.org> |
mga_state & r128_state need an inline-limit larger than amd64's default in order to compile. AMD64's default could be reduced below 8k, if dev/aic7xxx/aic79xx.c got this same treatment. |
#
7592c288 |
|
01-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add the ACPI standard video extensions driver. I've done some style cleanup but a bit more reamins to be done. For now, it is usable. PR: Submitted by: Taku YAMAMOTO <taku@cent.saitama-u.ac.jp> Reviewed by: Approved by: Obtained from: MFC after: |
#
7de87783 |
|
29-Feb-2004 |
Bernd Walter <ticso@FreeBSD.org> |
add driver for BWCT console management serials |
#
b55a9294 |
|
28-Feb-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
uteval.c gained a warning (cast discards qualifiers from pointer target type) after vendor import of ACPICA 20040220. Add nowerror. |
#
3e2c9711 |
|
28-Feb-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a generic watchdog facility which through a single device entry in /dev controls all available watchdog implementations. |
#
cdd40f3b |
|
27-Feb-2004 |
MIHIRA Sanpei Yoshiro <sanpei@FreeBSD.org> |
add support DM9601(DAVICOM USB to Ethernet MAC Controller with Integrated 10/100 PHY) - Corega FEther USB-TXC PR: kern/62932 Submitted by: HASHI Hiroaki <hashiz@tomba.cskk-sv.co.jp> Obtained from: NetBSD |
#
44f3b092 |
|
27-Feb-2004 |
John Baldwin <jhb@FreeBSD.org> |
Switch the sleep/wakeup and condition variable implementations to use the sleep queue interface: - Sleep queues attempt to merge some of the benefits of both sleep queues and condition variables. Having sleep qeueus in a hash table avoids having to allocate a queue head for each wait channel. Thus, struct cv has shrunk down to just a single char * pointer now. However, the hash table does not hold threads directly, but queue heads. This means that once you have located a queue in the hash bucket, you no longer have to walk the rest of the hash chain looking for threads. Instead, you have a list of all the threads sleeping on that wait channel. - Outside of the sleepq code and the sleep/cv code the kernel no longer differentiates between cv's and sleep/wakeup. For example, calls to abortsleep() and cv_abort() are replaced with a call to sleepq_abort(). Thus, the TDF_CVWAITQ flag is removed. Also, calls to unsleep() and cv_waitq_remove() have been replaced with calls to sleepq_remove(). - The sched_sleep() function no longer accepts a priority argument as sleep's no longer inherently bump the priority. Instead, this is soley a propery of msleep() which explicitly calls sched_prio() before blocking. - The TDF_ONSLEEPQ flag has been dropped as it was never used. The associated TDF_SET_ONSLEEPQ and TDF_CLR_ON_SLEEPQ macros have also been dropped and replaced with a single explicit clearing of td_wchan. TD_SET_ONSLEEPQ() would really have only made sense if it had taken the wait channel and message as arguments anyway. Now that that only happens in one place, a macro would be overkill. |
#
cc5934f5 |
|
25-Feb-2004 |
Max Laier <mlaier@FreeBSD.org> |
Tweak existing header and other build infrastructure to be able to build pf/pflog/pfsync as modules. Do not list them in NOTES or modules/Makefile (i.e. do not connect it to any (automatic) builds - yet). Approved by: bms(mentor) |
#
c66b4d8d |
|
25-Feb-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Move inet and inet6 related MAC Framework entry points from mac_net.c to a new mac_inet.c. This code is now conditionally compiled based on inet support being compiled into the kernel. Move socket related MAC Framework entry points from mac_net.c to a new mac_socket.c. To do this, some additional _enforce MIB variables are now non-static. In addition, mbuf_to_label() is now mac_mbuf_to_label() and non-static. Obtained from: TrustedBSD Project Sponsored by: DARPA, McAfee Research |
#
1cfd4b53 |
|
10-Feb-2004 |
Bruce M Simpson <bms@FreeBSD.org> |
Initial import of RFC 2385 (TCP-MD5) digest support. This is the first of two commits; bringing in the kernel support first. This can be enabled by compiling a kernel with options TCP_SIGNATURE and FAST_IPSEC. For the uninitiated, this is a TCP option which provides for a means of authenticating TCP sessions which came into being before IPSEC. It is still relevant today, however, as it is used by many commercial router vendors, particularly with BGP, and as such has become a requirement for interconnect at many major Internet points of presence. Several parts of the TCP and IP headers, including the segment payload, are digested with MD5, including a shared secret. The PF_KEY interface is used to manage the secrets using security associations in the SADB. There is a limitation here in that as there is no way to map a TCP flow per-port back to an SPI without polluting tcpcb or using the SPD; the code to do the latter is unstable at this time. Therefore this code only supports per-host keying granularity. Whilst FAST_IPSEC is mutually exclusive with KAME IPSEC (and thus IPv6), TCP_SIGNATURE applies only to IPv4. For the vast majority of prospective users of this feature, this will not pose any problem. This implementation is output-only; that is, the option is honoured when responding to a host initiating a TCP session, but no effort is made [yet] to authenticate inbound traffic. This is, however, sufficient to interwork with Cisco equipment. Tested with a Cisco 2501 running IOS 12.0(27), and Quagga 0.96.4 with local patches. Patches for tcpdump to validate TCP-MD5 sessions are also available from me upon request. Sponsored by: sentex.net |
#
0ec876a2 |
|
05-Feb-2004 |
Peter Wemm <peter@FreeBSD.org> |
Attempt to clean up the emu10k1-alsa.h stuff so that config doesn't delete it each time its run and have it regenerated each time by make. I used a quick hackish script rather than putting it in the files file and used the before-depend rule to avoid the depend/no-depend hacks. |
#
d148e81e |
|
15-Jan-2004 |
Atsushi Onoe <onoe@FreeBSD.org> |
Use generic net80211 framework for awi driver. Restore awi to be workable again; it was broken.. XXX: The initialization is still unreliable yet, it sometimes fails on some card. |
#
42397935 |
|
12-Jan-2004 |
David E. O'Brien <obrien@FreeBSD.org> |
Add emu10k1-alsa%diked.h dependancies. |
#
37621fd5 |
|
15-Dec-2003 |
Bruce M Simpson <bms@FreeBSD.org> |
Push m_apply() and m_getptr() up into the colleciton of standard mbuf routines, and purge them from opencrypto. Reviewed by: sam Obtained from: NetBSD Sponsored by: spc.org |
#
65b4a1b9 |
|
06-Dec-2003 |
Warner Losh <imp@FreeBSD.org> |
Remote meteor driver. It hasn't compiled in over 3 years. If someone makes it compile again, and can test it, we can restore the driver to the tree. |
#
1da8b3b9 |
|
06-Dec-2003 |
Warner Losh <imp@FreeBSD.org> |
Now that we have the en(4) driver, we no longer need the hea driver. Approved by: harti@ |
#
29b41845 |
|
06-Dec-2003 |
Warner Losh <imp@FreeBSD.org> |
Continue to remove drivers that don't compile and haven't compiled in a long time: lmc The LAN Media Corp PCI WAN driver based on tulip. This driver hasn't compiled for 3 years since the PCI compat shims were removed, and Lan Media appears to have gone out of business. These cards appear to be rare (a recent search of ebay had no hits). Should someone wish to revive this driver, submitting patches to make it compile plus a testing report will bring it back. |
#
45c1c90f |
|
03-Dec-2003 |
John Baldwin <jhb@FreeBSD.org> |
Export a few SMP related symbols in UP kernels as well. This is needed to aid other kernel code, especially code which can be in a module such as the acpi_cpu(4) driver, to work properly with both SMP and UP kernels. The exported symbols include mp_ncpus, all_cpus, mp_maxid, smp_started, and the smp_rendezvous() function. This also means that CPU_ABSENT() is now always implemented the same on all kernels. Approved by: re (scottl) |
#
97d8d152 |
|
20-Nov-2003 |
Andre Oppermann <andre@FreeBSD.org> |
Introduce tcp_hostcache and remove the tcp specific metrics from the routing table. Move all usage and references in the tcp stack from the routing table metrics to the tcp hostcache. It caches measured parameters of past tcp sessions to provide better initial start values for following connections from or to the same source or destination. Depending on the network parameters to/from the remote host this can lead to significant speedups for new tcp connections after the first one because they inherit and shortcut the learning curve. tcp_hostcache is designed for multiple concurrent access in SMP environments with high contention and is hash indexed by remote ip address. It removes significant locking requirements from the tcp stack with regard to the routing table. Reviewed by: sam (mentor), bms Reviewed by: -net, -current, core@kame.net (IPv6 parts) Approved by: re (scottl) |
#
6b74f9b7 |
|
15-Nov-2003 |
Nate Lawson <njl@FreeBSD.org> |
Implement Cx CPU idle states and updated throttling support. * Use the cpu_idle_hook() to do idling for C1-C3. * Use both _CST and the FADT to detect Cx states. * Use both _PTC and P_CNT for controlling throttling. * Add a notify handler to detect changes in _CST and _PSS * Call the _INI function for each processor if present. This will be done by ACPI-CA in the future. * Fix a bug on SMP systems where CPUs will attach multiple times if the bus is rescan. * Document new sysctls for controlling idling. |
#
9188b4a1 |
|
14-Nov-2003 |
Andre Oppermann <andre@FreeBSD.org> |
Introduce ip_fastforward and remove ip_flow. Short description of ip_fastforward: o adds full direct process-to-completion IPv4 forwarding code o handles ip fragmentation incl. hw support (ip_flow did not) o sends icmp needfrag to source if DF is set (ip_flow did not) o supports ipfw and ipfilter (ip_flow did not) o supports divert, ipfw fwd and ipfilter nat (ip_flow did not) o returns anything it can't handle back to normal ip_input Enable with sysctl -w net.inet.ip.fastforwarding=1 Reviewed by: sam (mentor) |
#
1bf87204 |
|
14-Nov-2003 |
Alfred Perlstein <alfred@FreeBSD.org> |
University of Michigan's Citi NFSv4 kernel client code. Submitted by: Jim Rees <rees@umich.edu> |
#
543729cf |
|
11-Nov-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
avoid module name conflict with opencrypto/rijndael.c. Reported by: tinderbox |
#
eca8a663 |
|
11-Nov-2003 |
Robert Watson <rwatson@FreeBSD.org> |
Modify the MAC Framework so that instead of embedding a (struct label) in various kernel objects to represent security data, we embed a (struct label *) pointer, which now references labels allocated using a UMA zone (mac_label.c). This allows the size and shape of struct label to be varied without changing the size and shape of these kernel objects, which become part of the frozen ABI with 5-STABLE. This opens the door for boot-time selection of the number of label slots, and hence changes to the bound on the number of simultaneous labeled policies at boot-time instead of compile-time. This also makes it easier to embed label references in new objects as required for locking/caching with fine-grained network stack locking, such as inpcb structures. This change also moves us further in the direction of hiding the structure of kernel objects from MAC policy modules, not to mention dramatically reducing the number of '&' symbols appearing in both the MAC Framework and MAC policy modules, and improving readability. While this results in minimal performance change with MAC enabled, it will observably shrink the size of a number of critical kernel data structures for the !MAC case, and should have a small (but measurable) performance benefit (i.e., struct vnode, struct socket) do to memory conservation and reduced cost of zeroing memory. NOTE: Users of MAC must recompile their kernel and all MAC modules as a result of this change. Because this is an API change, third party MAC modules will also need to be updated to make less use of the '&' symbol. Suggestions from: bmilekic Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories |
#
961a7b24 |
|
11-Nov-2003 |
John Baldwin <jhb@FreeBSD.org> |
Add an implementation of turnstiles and change the sleep mutex code to use turnstiles to implement blocking isntead of implementing a thread queue directly. These turnstiles are somewhat similar to those used in Solaris 7 as described in Solaris Internals but are also different. Turnstiles do not come out of a fixed-sized pool. Rather, each thread is assigned a turnstile when it is created that it frees when it is destroyed. When a thread blocks on a lock, it donates its turnstile to that lock to serve as queue of blocked threads. The queue associated with a given lock is found by a lookup in a simple hash table. The turnstile itself is protected by a lock associated with its entry in the hash table. This means that sched_lock is no longer needed to contest on a mutex. Instead, sched_lock is only used when manipulating run queues or thread priorities. Turnstiles also implement priority propagation inherently. Currently turnstiles only support mutexes. Eventually, however, turnstiles may grow two queue's to support a non-sleepable reader/writer lock implementation. For more details, see the comments in sys/turnstile.h and kern/subr_turnstile.c. The two primary advantages from the turnstile code include: 1) the size of struct mutex shrinks by four pointers as it no longer stores the thread queue linkages directly, and 2) less contention on sched_lock in SMP systems including the ability for multiple CPUs to contend on different locks simultaneously (not that this last detail is necessarily that much of a big win). Note that 1) means that this commit is a kernel ABI breaker, so don't mix old modules with a new kernel and vice versa. Tested on: i386 SMP, sparc64 SMP, alpha SMP |
#
34d78ec3 |
|
11-Nov-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
cleanup rijndael API. since there are naming conflicts with opencrypto, #define was added to rename functions intend to avoid conflicts. Obtained from: KAME |
#
db540018 |
|
10-Nov-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
enable aes-xcbc-mac and aes-ctr, again. |
#
ed91f9a5 |
|
07-Nov-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Allow the ng_uni node (NgATM signalling layer) to be built into the kernel via options NGATM_UNI. |
#
126f0dfa |
|
04-Nov-2003 |
Scott Long <scottl@FreeBSD.org> |
Hook the udf_iconv module up to the kernel build. Submitted by: imura@ryu16.org |
#
ec7ceac9 |
|
02-Nov-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Put address handling, traffic descriptor handling and message encoding and decoding into the atmbase module when compiled directly into the kernel. |
#
5843f50d |
|
03-Nov-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Change /dev/soekris-errled to be /dev/led/error and make it conditional on CPU_SOEKRIS. Note the subtle change in semantfics for 'f%d' flash instruction and the new morse facility (see details in dev/led/led.c) |
#
027ebd2f |
|
27-Oct-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Allow building the NgATM SAAL layer directly into the kernel. |
#
ffbfc256 |
|
26-Oct-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Revert previous change. We have to put dcons_crom at first after 'optional' and dcons and firewire are necessary and not optional for dcons_crom anyway. Reported by: brooks |
#
b604f6e8 |
|
24-Oct-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
dcons_crom.c needs dcons and firewire. |
#
869093b1 |
|
24-Oct-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Add dumb console driver and related bits. dcons(4): very simple console and gdb port driver dcons_crom(4): FireWire attachment dconschat(8): User interface to dcons Tested with: i386, i386-PAE, and sparc64. |
#
5d79de44 |
|
22-Oct-2003 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up to the build for options MAC: security/mac/mac_net.c security/mac/mac_pipe.c security/mac/mac_process.c security/mac/mac_system.c security/mac/mac_vfs.c Note: Here begins a period of NOTES/LINT build breakage due to duplicate symbols that will shortly be removed from kern_mac.c. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories |
#
9132d507 |
|
19-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- revert to old rijndael code. new rijndael code broke gbde. - since aes-xcbc-mac and aes-ctr require functions in new rijndael code, aes-xcbc-mac and aes-ctr are disabled for now. |
#
e9e688e2 |
|
17-Oct-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Add SBP-II target mode driver. Though this is still incomplete and has some missing features such as exclusive login and event notification, it may be enough for someone who wants to play with it. This driver is supposed to work with firewire(4), targ(4) of CAM(4) and scsi_target(8) which can be found in /usr/share/example/scsi_target. This driver doesn't require sbp(4) which implements initiator mode. Sample configuration: Kernel: (you can use modules as well) device firewire device scbus device targ device sbp_targ After reboot: # mdconfig -a -t malloc -s 10m md0 # scsi_target 0:0:0 /dev/md0 (Assuming sbp_targ0 on scbus0) You should find the 10MB HDD on FreeBSD/MacOS X/WinXP or whatever connected to the target using FireWire. Manpage is not finished yet. |
#
db25ce18 |
|
15-Oct-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make sure to pull in all relevant crypto for GEOM_BDE |
#
66c7fe40 |
|
13-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
use BF_ecb_encrypt(). Obtained from: KAME |
#
b42ac57f |
|
13-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- support AES counter mode for ESP. - use size_t as return type of schedlen(), as there's no error check needed. - clear key schedule buffer before freeing. Obtained from: KAME |
#
c65ee7c7 |
|
12-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- support AES XCBC MAC for AH - correct SADB_X_AALG_RIPEMD160HMAC to 8 Obtained from: KAME |
#
3dbacd26 |
|
12-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
use opencrypto for RMD160. Requested by: sam |
#
492528c0 |
|
12-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- RIPEMD160 support - pass size arg to ah->result (avoid assuming result buffer size) Obtained from: KAME |
#
8373d51d |
|
01-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
randomize IPv6 fragment ID. Obtained from: KAME |
#
b2941431 |
|
26-Sep-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Introduce no_poll() default method for device drivers. Have it do exactly the same as vop_nopoll() for consistency and put a comment in the two pointing at each other. Retire seltrue() in favour of no_poll(). Create private default functions in kern_conf.c instead of public ones. Change default strategy to return the bio with ENODEV instead of doing nothing which would lead the bio stranded. Retire public nullopen() and nullclose() as well as the entire band of public no{read,write,ioctl,mmap,kqfilter,strategy,poll,dump} funtions, they are the default actions now. Move the final two trivial functions from subr_xxx.c to kern_conf.c and retire the now empty subr_xxx.c |
#
c4f02a89 |
|
26-Sep-2003 |
Max Khon <fjoe@FreeBSD.org> |
- Support for multibyte charsets in LIBICONV. - CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options (with corresponding modules). - kiconv(3) for loadable charset conversion tables support. Submitted by: Ryuichiro Imura <imura@ryu16.org> |
#
0d627469 |
|
14-Sep-2003 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add uart pccard attachment decription on conf/files, too. Pointed out by: ru |
#
9bac70b8 |
|
10-Sep-2003 |
Bill Paul <wpaul@FreeBSD.org> |
Add a PHY driver to support the built-in gigE PHY in the 8169S/8110S ethernet chips. This driver is pretty simple, however it contains special DSP initialization code which is needed in order to get the chip to negotiate a gigE link. (This special initialization may not be needed in subsequent chip revs.) Also: - Fix typo in if_rlreg.h (RL_GMEDIASTAT_1000MPS -> RL_GMEDIASTAT_1000MBPS) - Deal with shared interrupts in re_intr(): if interface isn't up, return. - Fix another bug in re_gmii_writereg() (properly apply data field mask) - Allow PHY driver to read the RL_GMEDIASTAT register via the re_gmii_readreg() register (this is register needed to determine real time link/media status). |
#
b9f78d2b |
|
09-Sep-2003 |
Bill Paul <wpaul@FreeBSD.org> |
Add a device driver for the Broadcom BCM4401 ethernet controller, written by Stuart Walsh and Duncan Barclay (with some kibbitzing by me). I'm checking it in on Stuart's behalf. The BCM4401 is built into several x86 laptop and desktop systems. For the moment, I have only enabled it in the x86 kernel config because although it's a PCI device, I haven't heard of any standalone NICs that use it. If somebody knows of one, we can easily add it to the other arches. This driver uses register/structure data gleaned from the Linux driver released by Broadcom, but does not contain any of the code from the Linux driver itself. It uses busdma. |
#
a1810e15 |
|
08-Sep-2003 |
Eric Anholt <anholt@FreeBSD.org> |
Hook the SiS DRM up to the build Sponsored by: LinuxFund |
#
a94100fa |
|
07-Sep-2003 |
Bill Paul <wpaul@FreeBSD.org> |
Take the support for the 8139C+/8169/8169S/8110S chips out of the rl(4) driver and put it in a new re(4) driver. The re(4) driver shares the if_rlreg.h file with rl(4) but is a separate module. (Ultimately I may change this. For now, it's convenient.) rl(4) has been modified so that it will never attach to an 8139C+ chip, leaving it to re(4) instead. Only re(4) has the PCI IDs to match the 8169/8169S/8110S gigE chips. if_re.c contains the same basic code that was originally bolted onto if_rl.c, with the following updates: - Added support for jumbo frames. Currently, there seems to be a limit of approximately 6200 bytes for jumbo frames on transmit. (This was determined via experimentation.) The 8169S/8110S chips apparently are limited to 7.5K frames on transmit. This may require some more work, though the framework to handle jumbo frames on RX is in place: the re_rxeof() routine will gather up frames than span multiple 2K clusters into a single mbuf list. - Fixed bug in re_txeof(): if we reap some of the TX buffers, but there are still some pending, re-arm the timer before exiting re_txeof() so that another timeout interrupt will be generated, just in case re_start() doesn't do it for us. - Handle the 'link state changed' interrupt - Fix a detach bug. If re(4) is loaded as a module, and you do tcpdump -i re0, then you do 'kldunload if_re,' the system will panic after a few seconds. This happens because ether_ifdetach() ends up calling the BPF detach code, which notices the interface is in promiscuous mode and tries to switch promisc mode off while detaching the BPF listner. This ultimately results in a call to re_ioctl() (due to SIOCSIFFLAGS), which in turn calls re_init() to handle the IFF_PROMISC flag change. Unfortunately, calling re_init() here turns the chip back on and restarts the 1-second timeout loop that drives re_tick(). By the time the timeout fires, if_re.ko has been unloaded, which results in a call to invalid code and blows up the system. To fix this, I cleared the IFF_UP flag before calling ether_ifdetach(), which stops the ioctl routine from trying to reset the chip. - Modified comments in re_rxeof() relating to the difference in RX descriptor status bit layout between the 8139C+ and the gigE chips. The layout is different because the frame length field was expanded from 12 bits to 13, and they got rid of one of the status bits to make room. - Add diagnostic code (re_diag()) to test for the case where a user has installed a broken 32-bit 8169 PCI NIC in a 64-bit slot. Some NICs have the REQ64# and ACK64# lines connected even though the board is 32-bit only (in this case, they should be pulled high). This fools the chip into doing 64-bit DMA transfers even though there is no 64-bit data path. To detect this, re_diag() puts the chip into digital loopback mode and sets the receiver to promiscuous mode, then initiates a single 64-byte packet transmission. The frame is echoed back to the host, and if the frame contents are intact, we know DMA is working correctly, otherwise we complain loudly on the console and abort the device attach. (At the moment, I don't know of any way to work around the problem other than physically modifying the board, so until/unless I can think of a software workaround, this will have do to.) - Created re(4) man page - Modified rlphy.c to allow re(4) to attach as well as rl(4). Note that this code works for the sample 8169/Marvell 88E1000 NIC that I have, but probably won't work for the 8169S/8110S chips. RealTek has sent me some sample NICs, but they haven't arrived yet. I will probably need to add an rlgphy driver to handle the on-board PHY in the 8169S/8110S (it needs special DSP initialization). |
#
4d60276b |
|
06-Sep-2003 |
Warner Losh <imp@FreeBSD.org> |
Add proper pc98 MD files. Add a commented out cbus attachment for uart because that depends on the cbus implementation that nyan-san and I came up with after the CBUG meeting and not yet ready for the tree. |
#
2bec1c89 |
|
06-Sep-2003 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Hook-up the uart(4) driver to the build. For a detailed description of what uart(4) is and/or is not see the initial commit log of one of the files in sys/dev/uart (or see share/man/man4/uart.4). Note that currently pc98 shares the MD file with i386. This needs to change when pc98 support is fleshed-out to properly support the various UARTs. A good example is sparc64 in this respect. We build uart(4) as a module on all platforms. This may break the ppc port. That depends on whether they do actually build modules. To use uart(4) on alpha, one must use the NO_SIO option. |
#
dc7d0dea |
|
06-Sep-2003 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Enhance puc(4) to support uart(4). This includes: o Introduce PUC_PORT_TYPE_UART so that we can attach to uart(4), o Introduce port sub-types (eg PUC_PORT_UART_NS8250, PUC_PORT_UART_Z8530) to handle different hardware and determine resource sizes. o Introduce two new IVARs: PUC_IVAR_SUBTYPE and PUC_IVAR_REGSHFT. Both are used by uart(4) to get sufficient information to talk to the HW. o Introduce PUC_FLAGS_ALTRES to tell puc(4) to try memory mapped I/O if I/O port space cannot be allocated, or vice versa. o Have ports of type PUC_PORT_TYPE_COM attach to uart(1) if attaching to sio(4) fails (due to not having the sio driver). o Put struct puc_device_description in struct puc_softc instead of having a pointer to a device description in the softc. This allows us to create device descriptions on the fly without having to use malloc() or otherwise have them staticly defined. o Move puc_find_description() from puc.c to puc_pci.c as it's specific to PCI. o Add EBUS and SBUS frontends for use on sparc64. Note that the P in puc stands for PCI, so we kinda mess things up here. It's too soon to worry about it though. We'll know what to do about it in time. NOTE: This commit changes the behaviour of puc(4) to not quieten the device probe and attach for child devices. The uart(4) driver provides additional device description that is valuable to have. |
#
ad1fdf57 |
|
28-Aug-2003 |
Nate Lawson <njl@FreeBSD.org> |
Use the ACPICA AcpiEnterSleepStateS4bios instead of rolling our own. This change also disables interrupts around non-S4 suspends whereas before we did not do this. Our version of AcpiEnterSleepStateS4bios was almost identical to the ACPICA version. |
#
5fdbb0d2 |
|
24-Aug-2003 |
Søren Schmidt <sos@FreeBSD.org> |
This is a major rework of the ATA driver (ATAng) Restructure the way ATA/ATAPI commands are processed, use a common ata_request structure for both. This centralises the way requests are handled so locking is much easier to handle. The driver is now layered much more cleanly to seperate the lowlevel HW access so it can be tailored to specific controllers without touching the upper layers. This is needed to support some of the newer semi-intelligent ATA controllers showing up. The top level drivers (disk, ATAPI devices) are more or less still the same with just corrections to use the new interface. Pull ATA out from under Gaint now that locking can be done in a sane way. Add support for a the National Geode SC1100. Thanks to Soekris engineering for sponsoring a Soekris 4801 to make this support. Fixed alot of small bugs in the chipset code for various chips now we are around in that corner anyways. |
#
782f7255 |
|
21-Aug-2003 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up mac_stub to the modules Makefile. Hook up mac_stub in files and options. Reference mac_stub in NOTES. |
#
30e27d96 |
|
12-Aug-2003 |
Alexander Langer <alex@FreeBSD.org> |
Add a overhaul of the soundchip initialization for the MSP34xx chipsets found only many tv-cards. We currently use more ore less evil hacks (slow_msp_audio sysctl) to configure the various variants of these chips in order to have stereo autodetection work. Nevertheless, this doesn't always work even though it _should_, according to the specs. This is, for example, the case for some popular Hauppauge models sold sold in Germany. However, the Linux driver always worked for me and others. Looking at the sourcecode you will find that the linux-driver uses a very much enhanced approach to program the various msp34xx chipset variants, which is also found in the specs for these chips. This is a port of the Linux MSP34xx code, written by Gerd Knorr <kraxel@bytesex.org>, who agreed to re-release his code under a BSD license for this port. A new config option "BKTR_NEW_MSP34XX_DRIVER" is added, which is required to enable the new driver. Otherwise the old code is used. The msp34xx.c file is diff-reduced to the linux-driver to make later modifications easier, thus it doesn't follow style(9) in most cases. Approved by: roger (committing this, no time to test/review), keichii (code review) |
#
ee4080d4 |
|
11-Aug-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Add ng_atmpif: a HARP physical interface emulation. This allows one to run the HARP ATM stack without real hardware. Submitted by: Vincent Jardin <vjardin@wanadoo.fr> |
#
327f90d8 |
|
07-Aug-2003 |
Nate Lawson <njl@FreeBSD.org> |
Remove nowerror from some files that no longer generate warnings. |
#
c4aebdb0 |
|
22-Jul-2003 |
Bernd Walter <ticso@FreeBSD.org> |
relocate eisa into MI files. Suggested by: jhb |
#
fc66b6e9 |
|
21-Jul-2003 |
Sam Leffler <sam@FreeBSD.org> |
safenet driver config glue Sponsored by: Global Technology Associates, Inc. |
#
58aa55ef |
|
21-Jul-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
This is a pseudo physical interface for the HARP ATM stack. When loaded it attaches to all existing NATM network interfaces in the system and creates a HARP physical interface for each of them. This allows us to use the same set of ATM drivers for all ATM stuff. It is possible to use the same interface for HARP, NATM and netgraph at the same time. |
#
e9c0cc15 |
|
18-Jul-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Merge swap_pager.c and vm_swap.c into swap_pager.c, the separation is not natural and needlessly exposes a lot of dirty laundry. Move private interfaces between the two from swap_pager.h to swap_pager.c and staticize as much as possible. No functional change. |
#
45dd9375 |
|
15-Jul-2003 |
John-Mark Gurney <jmg@FreeBSD.org> |
make usb bus_dma aware. Reviewed by: joe among others |
#
8dd4275c |
|
15-Jul-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
This is a driver for IDT77252 based ATM interfaces. It has been tested with a ProATM-155 and an IDT evaluation board and should also work with a ProATM-25 (it seems to work at least, I cannot really measure what the card emits). The driver has been tested on i386 and sparc64, but should work an other archs also. It supports UBR, CBR, ABR and VBR; AAL0, AAL5 and AALraw. As an additional feature VCI/VPI 0/0 can be opened for receiving in AALraw mode and receives all cells not claimed by other open VCs (even cells with invalid GFC, VPI and VCI fields and OAM cells). Thanks to Christian Bucari from ProSum for lending two cards and answering my questions. |
#
7e9024cd |
|
15-Jul-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Add a facility for devices, specifically network interfaces, that require large to huge amounts of small or medium sized receive buffers. The problem with these situations is that they eat up the available DMA address space very quickly when using mbufs or even mbuf clusters. Additionally this facility provides a direct mapping between 32-bit integers and these buffers. This is needed for devices originally designed for 32-bit systems. Ususally the virtual address of the buffer is used as a handle to find the buffer as soon as it is returned by the card. This does not work for 64-bit machines and hence this mapping is needed. |
#
1fd53fb9 |
|
14-Jul-2003 |
Nate Lawson <njl@FreeBSD.org> |
Add dmobject.c to sys/conf/files also. While I'm here, remove unnecessary nowerror options for the ACPI_DEBUG build case. |
#
2c8b8ff8 |
|
09-Jul-2003 |
John Baldwin <jhb@FreeBSD.org> |
- Fix the kernel build for configurations that include pci but not isa by having the PCI-ISA bridge driver depend on both pci and isa. - Have the PCI-EISA bridge driver depend on both pci and eisa as well. - Make acpi_isab.c depend on acpi and isa. Submitted by: Marius Strobl <marius@alchemy.franken.de> (1,2) |
#
6c525ee4 |
|
08-Jul-2003 |
John Baldwin <jhb@FreeBSD.org> |
Add an ACPI to ISA psuedo bridge driver. It attaches an isab(4) device to ACPI nodes with the plug and play ID's defined for a "Generic ISA Bus Device" as defined in section 10.7 of the ACPI 2.0 specification. This gives machines like the Libretto that contain a fake ISA bus that is not connected via a PCI-ISA bridge an ISA bus for ISA devices to attach to. Tested by: markm |
#
e889f37e |
|
28-Jun-2003 |
Sam Leffler <sam@FreeBSD.org> |
switch to new 802.11 support |
#
ce17576a |
|
27-Jun-2003 |
Scott Long <scottl@FreeBSD.org> |
Announce umct to kernel build. |
#
167f409f |
|
25-Jun-2003 |
Sam Leffler <sam@FreeBSD.org> |
config+build glue for Atheros support |
#
02152e8f |
|
25-Jun-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Make the netgraph ATM node compilable into the kernel. |
#
fb24f088 |
|
23-Jun-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
This is a driver for Fore PCA200E cards that uses busdma and works on little endian and big endian and with 32 and 64 bit pointers. It already has the hooks to be used for HARP, NATM and ngATM. |
#
4784a469 |
|
21-Jun-2003 |
Ian Dowse <iedowse@FreeBSD.org> |
Replace the code for reading and writing the kernel message buffer with a new implementation that has a mostly reentrant "addchar" routine, supports multiple message buffers in the kernel, and hides the implementation details from callers. The new code uses a kind of sequence number to represend the current read and write positions in the buffer. This approach (suggested mainly by bde) permits the read and write pointers to be maintained separately, which reduces the number of atomic operations that are required. The "mostly reentrant" above refers to the way that while it is now always safe to have any number of concurrent writers, readers could see the message buffer after a writer has advanced the pointers but before it has witten the new character. Discussed on: freebsd-arch |
#
22db1e9f |
|
18-Jun-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add "GEOM_FOX", a class which detects and selects between multiple redundant paths to the same device. This class reacts to a label in the first sector of the device, which is created the following way: # "0123456789abcdef012345..." # "<----magic-----><-id-...> echo "GEOM::FOX someid" | dd of=/dev/da0 conv=sync NB: Since the fact that multiple disk devices are in fact the same device is not known to GEOM, the geom taste/spoil process cannot fully catch all corner cases and this module can therefore be confused if you do the right wrong things. NB: The disk level drivers need to do the right thing for this to be useful, and that is not by definition currently the case. |
#
c594298b |
|
17-Jun-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
This is a driver for Fore/Marconi HE155 and HE622 ATM cards. It is full busdma and has extensively been tested on i386 and sparc64. |
#
57112b8d |
|
16-Jun-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Repo-copy of sys/pci/if_en_pci.c to the rest of the midway driver (sys/dev/en) so that all of the driver sources are in one place. Adjust the configuration files and the module build. |
#
1ba46a03 |
|
12-Jun-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Make the midway driver use the new ATM phy driver. This allows one to toggle several media options (sonet/sdh, for example) with ifconfig and to see the carrier state in ifconfig's output. It gives also read/write access (given the right privilegs) to the S/Uni registers to user space programs. |
#
df622d54 |
|
09-Jun-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
GEOMification of CCD. You need your kernel and ccdconfig(8) to be in sync, particularly if your source tree is on a ccd device. |
#
21157fae |
|
11-May-2003 |
Scott Long <scottl@FreeBSD.org> |
Add files for the 'ips' driver. |
#
11e04b05 |
|
03-May-2003 |
Shunsuke Akiyama <akiyama@FreeBSD.org> |
Add RealTek RTL8150 USB to fast Ethernet controller driver. This driver now supports the Melco LUA-KTX and the GREEN HOUSE GH-USB100B. Reviewed by: imp MFC after: 2 weeks |
#
50cf98ed |
|
01-May-2003 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
- Move decoding pc98_partition function into geom_pc98_enc.c. - Add encoding pc98_partition function. |
#
1ea34919 |
|
29-Apr-2003 |
Nate Lawson <njl@FreeBSD.org> |
Catch up with the new acpi files. |
#
66622397 |
|
21-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Update GEOM::SUN to use the decoding functions in geom_sunlabel_enc.c and #defines from sys/sun_disklabel.h. |
#
87b4a259 |
|
20-Apr-2003 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for the ASIX Electronics AX88172 USB 2.0 ethernet controller. The driver has been tested with the LinkSys USB200M adapter. I know for a fact that there are other devices out there with this chip but don't have all the USB vendor/device IDs. Note: I'm not sure if this will force the driver to end up in the install kernel image or not. Special magic needs to be done to exclude it to keep the boot floppies from bloating again, someone please advise. |
#
daabb372 |
|
17-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Separate the encoding/decoding functions for struct disklabel into a separate source file which can be used from both kernel and userland code. |
#
4ed471c1 |
|
16-Apr-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Add dev/firewire/fwdma.c. |
#
54233755 |
|
14-Apr-2003 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Express bus dependency a little more clearly. |
#
ca3acad1 |
|
14-Apr-2003 |
Bernd Walter <ticso@FreeBSD.org> |
add EHCI (USB 2.0) controller support. Approved by: joe gallatin (mentor) Obtained from: NetBSD |
#
7d0de413 |
|
13-Apr-2003 |
Max Khon <fjoe@FreeBSD.org> |
Driver for Granch SBNI16 SHDSL modem Submitted by: Denis I. Timofeev <timofeev@granch.ru> MFC after: 1 week |
#
6e03422a |
|
12-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the functions for encoding decoding struct dos_partition into a separate .c file so they can be used from userland as well. |
#
efc5f672 |
|
07-Apr-2003 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Add PCI support (Adaptec AHA-2920/A,Future Domain TMC-18XX/3260). - Reduce duplicated code. PR: 50427 Submitted by: Bob Bishop <rb@gid.co.uk> |
#
fb89eb1e |
|
04-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a rudimentary but working driver for the Adlink "NuDaq PCI-9812". This is a 4 channel 20 msps 12 bit ADC card. Anyone wanting to play with GNUradio or similar can start here. |
#
4d3651f4 |
|
03-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove geom_enc.c, a superset of these functions are now available in <sys/endian.h> |
#
404c3ad4 |
|
31-Mar-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add the kern_umtx.c file to the build. |
#
f00fea89 |
|
31-Mar-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add kern_thr.c |
#
50e960d9 |
|
29-Mar-2003 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Move driver to newbus. - Provide identify methods for EtherExpress and 3c507 cards; this means these cards no longer need wired configs. - Provide a detach method. |
#
5bbb8060 |
|
26-Mar-2003 |
Tor Egge <tegge@FreeBSD.org> |
Add support for reading directly from file to userland buffer when the O_DIRECT descriptor status flag is set and both offset and length is a multiple of the physical media sector size. |
#
7e69ddc9 |
|
18-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Missed in last commit: don't compile now non-existent geom_stats.c |
#
ac7e2c05 |
|
11-Mar-2003 |
Sam Leffler <sam@FreeBSD.org> |
FIPS 140-2 rng data tester for h/w crypto devices. This driver periodically monitors the entropy data harvested by crypto drivers to verify it complies with FIPS 140-2. If data fails any test then the driver discards it and commences continuous testing of harvested data until it is deemed ok. Results are collected in a statistics block and, optionally, reported on the console. In normal use the overhead associated with this driver is not noticeable. Note that drivers must (currently) be compiled specially to enable use. Obtained from: original code by Jason L. Wright |
#
32333372 |
|
10-Mar-2003 |
Jake Burkholder <jake@FreeBSD.org> |
"Or" is expressed with 2 separate config lines. Reported by: Stijn Hoop <stijn@win.tue.nl> |
#
43e2d1e3 |
|
08-Mar-2003 |
Eric Anholt <anholt@FreeBSD.org> |
Update the DRM to latest from DRI CVS. This is approximately the version included in XFree86 4.3, but includes some fixes. Notable changes include Radeon 8500-9100 support, PCI Radeon/Rage 128 support, transform & lighting support for Radeons, and vblank syncing support for r128, radeon, and mga. The gamma driver was removed due to lack of any users. |
#
74c69254 |
|
07-Mar-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Remove unimplemented IP-in-IPX encapsulation support (options IPTUNNEL). |
#
3c6b084e |
|
05-Mar-2003 |
Peter Wemm <peter@FreeBSD.org> |
Finish driving a stake through the heart of netns and the associated ifdefs scattered around the place - its dead Jim! The SMB stuff had stolen AF_NS, make it official. |
#
1cafed39 |
|
04-Mar-2003 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Update netisr handling; Each SWI now registers its queue, and all queue drain routines are done by swi_net, which allows for better queue control at some future point. Packets may also be directly dispatched to a netisr instead of queued, this may be of interest at some installations, but currently defaults to off. Reviewed by: hsu, silby, jayanth, sam Sponsored by: DARPA, NAI Labs |
#
03d03162 |
|
02-Mar-2003 |
Robert Watson <rwatson@FreeBSD.org> |
A cute yet small MAC policy that provides a simple ACL mechanism to permit users and groups to bind ports for TCP or UDP, and is intended to be combined with the recently committed support for net.inet.ip.portrange.reservedhigh. The policy is twiddled using sysctl(8). To use this module, you will need to compile in MAC support, and probably set reservedhigh to 0, then twiddle security.mac.portacl.rules to set things as desired. This policy module only restricts ports explicitly bound using bind(), not implicitly bound ports where the port number is selected by the IP stack. It appears to work properly in my local configuration, but needs more broad testing. A sample policy might be: # sysctl security.mac.portacl.rules="uid:425:tcp:80,uid:425:tcp:79" This permits uid 425 to bind TCP sockets to ports 79 and 80. Currently no distinction is made for incoming vs. outgoing ports with TCP, although that would probably be easy to add. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories |
#
907cf80f |
|
24-Feb-2003 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove support for running in SimOS. The support has rotted over time and there's no indication that it will improve anytime soon. By removing support for SimOS it is possible to build LINT on Alpha, which is considered more important at the moment. Not objected to on: alpha@ |
#
b9a49f7e |
|
23-Feb-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
pst(4) should be portable across all our platforms. |
#
96c4266c |
|
23-Feb-2003 |
Robert Watson <rwatson@FreeBSD.org> |
Add an implementation of strdup() to libkern. Allocated memory is of type M_STRING, now defined in malloc.h. Useful when string parsing must occur using the kernel strsep() and we want to avoid toasting the source string. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories |
#
bb5bdd38 |
|
20-Feb-2003 |
Søren Schmidt <sos@FreeBSD.org> |
First round off updates/fixes to the ATA driver. This moves all chipset specific code to a new file 'ata-chipset.c'. Extensive use of tables and pointers to avoid having the same switch on chipset type in several places, and to allow substituting various functions for different HW arch needs. Added PIO mode setup and all DMA modes. Support for all known SiS chipsets. Thanks to Christoph Kukulies for sponsoring a nice ASUS P4S8X SiS648 based board for this work! Tested on: i386, PC98, alpha and sparc64 |
#
eba43df4 |
|
19-Feb-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Munge the zs sbus attachment to work with fhc. This is a bit of a hack, but they would otherwise be almost identical so there's not much point in splitting it up further. |
#
05d1e23a |
|
13-Feb-2003 |
Eric Anholt <anholt@FreeBSD.org> |
Split the arch-specific AGP files into the appropriate files.* and do the same for the agp module, and add agp to the list of modules to compile for alpha. Add an alpha_mb() to agp_flush_cache for alpha -- it's not correct but may improve the situation, and it's what linux and NetBSD do. |
#
4ec35300 |
|
08-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the g_stat struct to its own .h file, we will export it to other code. Insted of embedding a struct g_stat in consumers and providers, merely include a pointer. Remove a couple of <sys/time.h> includes now unneeded. Add a special allocator for struct g_stat. This allocator will allocate entire pages and hand out g_stat functions from there. The "id" field indicates free/used status. Add "/dev/geom.stats" device driver whic exports the pages from the allocator to userland with mmap(2) in read-only mode. This mmap(2) interface should be considered a non-public interface and the functions in libgeom (not yet committed) should be used to access the statistics data. |
#
3febcc57 |
|
07-Feb-2003 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
- Clean up ISA DMA supports. - Rename all sndbuf_isadma* functions to sndbuf_dma* and move them into sys/dev/sound/isa/sndbuf_dma.c. No response from: sound |
#
cd53fddb |
|
03-Feb-2003 |
Gordon Tetlow <gordon@FreeBSD.org> |
Add config glue to add an optional GEOM_VOL to add optional volume support. Reviewed by: jake (mentor) |
#
83dde527 |
|
31-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a rudimentary class for slicing Apple partitioned disks. More work is needed on this, stakeholders please contact me. Not quite asked for by: rwatson |
#
7a66b852 |
|
29-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove files which don't exist. |
#
cb421150 |
|
29-Jan-2003 |
Peter Wemm <peter@FreeBSD.org> |
Move the miidevs.h build stuff to conf/files so that config(8) doesn't clobber it each time. XXX: maybe this should be 'optional miibus' rather than 'standard' |
#
96d11470 |
|
28-Jan-2003 |
Josef Karthauser <joe@FreeBSD.org> |
Migrate the PCI bus logic for ohci and uhci from sys/pci to sys/dev/usb. |
#
c3384118 |
|
25-Jan-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Introduce the SCHED_ULE and SCHED_4BSD options for compile time selection of the scheduler. - Add SCHED_4BSD as the scheduler for all kernel config files in cvs. |
#
f9eb1409 |
|
25-Jan-2003 |
Orion Hodson <orion@FreeBSD.org> |
Add ac97_patch.[ch] that provide space for ac97 codec specific patches. |
#
2a2c7962 |
|
17-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move subr_disklabel.c and subr_diskslice.c from being MI to MD files, so that they can be left out where they are unneeded. |
#
be7b82cd |
|
15-Jan-2003 |
Sam Leffler <sam@FreeBSD.org> |
config glue for new wi driver and wlan module Reviewed by: imp Forgotten by: sam |
#
332a7241 |
|
15-Jan-2003 |
Alfred Perlstein <alfred@FreeBSD.org> |
remove wi_hostap.c from files as it's been removed. |
#
d2128d81 |
|
14-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a very simple but functional GEOM mirror class. This is committed more as an instructive tool than as a production facility, but this will change over time. |
#
5f7d4c49 |
|
08-Jan-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Add sbus specific zs file. |
#
a360a43d |
|
04-Jan-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Improve the way that an elf image activator for an alternate word size is included in the kernel. Include imgact_elf.c in conf/files, instead of both imgact_elf32.c and imgact_elf64.c, which will use the default word size for an architecture as defined in machine/elf.h. Architectures that wish to build an additional image activator for an alternate word size can include either imgact_elf32.c or imgact_elf64.c in files.${ARCH}, which allows it to be dependent on MD options instead of solely on architecture. Glanced at by: peter |
#
75db2b5e |
|
01-Jan-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Add a driver for the Zilog 8530 dual uart found in Ultra 1s and Ultra 2s. With a 1 byte transmit fifo, 3 byte receive fifo, and wierd multiplexed I/O designed for a Z80 cpu, this chip redefines suckage. Based on the openbsd and netbsd drivers. Only really works as a console, modem support is not complete since I can't test it. |
#
b018dcd1 |
|
31-Dec-2002 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
- Implement primal Configuration ROM parser. - Support multiple LUNs for SBP-II. |
#
1f380ae5 |
|
13-Dec-2002 |
Scott Long <scottl@FreeBSD.org> |
Move the amd(4) driver to it's own directory in preparation for it growing an sbus front-end. |
#
8ba4488c |
|
03-Dec-2002 |
Søren Schmidt <sos@FreeBSD.org> |
Add support for the PC98 platform to the ATA driver. This mostly consists of functionality to serialize accesses to the two ATA channels (which can also be used to "fix" certain PCI based controllers). Add support for Acard controllers. Enable the ATA driver in PC98 GENERIC, and add device hints. Update man page with latest support. The PC98 core team has kindly provided me with a PC98 machine that made this all possible, thanks to all that contributed to that effort, without that this would probably newer have been possible.. Approved by: re@ |
#
e8c1847f |
|
27-Nov-2002 |
Noriaki Mitsunaga <non@FreeBSD.org> |
Uncomment out the lines of {ncv,ncr53c500,tmc18c30}_pccard.c . They now support NEWCARD and compiles with GENERIC kernel. Approved by: re |
#
c4725737 |
|
26-Nov-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up kernel options and build information for mac_lomac. Approved by: re Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories |
#
2be05b70 |
|
15-Nov-2002 |
Daniel Eischen <deischen@FreeBSD.org> |
Add getcontext, setcontext, and swapcontext as system calls. Previously these were libc functions but were requested to be made into system calls for atomicity and to coalesce what might be two entrances into the kernel (signal mask setting and floating point trap) into one. A few style nits and comments from bde are also included. Tested on alpha by: gallatin |
#
bbb4330b |
|
15-Nov-2002 |
Luigi Rizzo <luigi@FreeBSD.org> |
Massive cleanup of the ip_mroute code. No functional changes, but: + the mrouting module now should behave the same as the compiled-in version (it did not before, some of the rsvp code was not loaded properly); + netinet/ip_mroute.c is now truly optional; + removed some redundant/unused code; + changed many instances of '0' to NULL and INADDR_ANY as appropriate; + removed several static variables to make the code more SMP-friendly; + fixed some minor bugs in the mrouting code (mostly, incorrect return values from functions). This commit is also a prerequisite to the addition of support for PIM, which i would like to put in before DP2 (it does not change any of the existing APIs, anyways). Note, in the process we found out that some device drivers fail to properly handle changes in IFF_ALLMULTI, leading to interesting behaviour when a multicast router is started. This bug is not corrected by this commit, and will be fixed with a separate commit. Detailed changes: -------------------- netinet/ip_mroute.c all the above. conf/files make ip_mroute.c optional net/route.c fix mrt_ioctl hook netinet/ip_input.c fix ip_mforward hook, move rsvp_input() here together with other rsvp code, and a couple of indentation fixes. netinet/ip_output.c fix ip_mforward and ip_mcast_src hooks netinet/ip_var.h rsvp function hooks netinet/raw_ip.c hooks for mrouting and rsvp functions, plus interface cleanup. netinet/ip_mroute.h remove an unused and optional field from a struct Most of the code is from Pavlin Radoslavov and the XORP project Reviewed by: sam MFC after: 1 week |
#
17821895 |
|
12-Nov-2002 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Split userland services to fwdev.c. |
#
69e58e12 |
|
08-Nov-2002 |
John Baldwin <jhb@FreeBSD.org> |
- Move netsmb entries over to MI files. netsmb appears to be MI code. - Add 'nowerror' to pci/simos.c to help LINT builds. |
#
820a843d |
|
06-Nov-2002 |
John Baldwin <jhb@FreeBSD.org> |
dgb(4) currently is i386-only. |
#
8a651d2c |
|
06-Nov-2002 |
John Baldwin <jhb@FreeBSD.org> |
Make the ar(4) driver i386-only for now. It has lots of sizeof(int) == sizeof(void *) assumptions and doesn't use busdma yet (it uses kvtop() which is not an MI interface). Recommended by: jake, mux |
#
6fe8789d |
|
05-Nov-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Convert to newbus, bus_space etc. - Move to MI space. Tested on: i386 |
#
763bbd2f |
|
26-Oct-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Slightly change the semantics of vnode labels for MAC: rather than "refreshing" the label on the vnode before use, just get the label right from inception. For single-label file systems, set the label in the generic VFS getnewvnode() code; for multi-label file systems, leave the labeling up to the file system. With UFS1/2, this means reading the extended attribute during vfs_vget() as the inode is pulled off disk, rather than hitting the extended attributes frequently during operations later, improving performance. This also corrects sematics for shared vnode locks, which were not previously present in the system. This chances the cache coherrency properties WRT out-of-band access to label data, but in an acceptable form. With UFS1, there is a small race condition during automatic extended attribute start -- this is not present with UFS2, and occurs because EAs aren't available at vnode inception. We'll introduce a work around for this shortly. Approved by: re Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories |
#
d2ec391b |
|
24-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
Rename 'device acpica' to 'device acpi'. Approved by: msmith, iwasaki |
#
eae2f20c |
|
24-Oct-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Provide kernel options for the various MAC policy modules so that they may be statically linked into the kernel. Note that statically linked modules, unlike dynamically linked modules, get INVARIANTS, so if there are INVARIANTS failures, you'll bump into them rather than not. Add the options to NOTES. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories |
#
599c57a9 |
|
23-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
- New-bussify the rc(4) device driver. - Add detach support to the driver so that you can kldunload the module. Note that currently rc_detach() fails to detach a unit if any of its child devices are open, thus a kldunload will fail if any of the tty devices are currently open. - sys/i386/isa/ic/cd180.h was moved to sys/dev/ic/cd180.h as part of this change. Requested by: rwatson Tested by: rwatson |
#
11e1ea96 |
|
20-Oct-2002 |
Brooks Davis <brooks@FreeBSD.org> |
All bpf.h/NBPF consumers are gone so stop generating bpf.h |
#
f9d186ed |
|
20-Oct-2002 |
Scott Long <scottl@FreeBSD.org> |
After much delay and anticipation, welcome RAIDFrame into the FreeBSD world. This should be considered highly experimental. Approved-by: re |
#
19b5c7bc |
|
19-Oct-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add Geom Based Disk Encryption to the tree. This is an encryption module designed for to secure denial of access to the contents of "cold disks" with or without destruction activation. Major features: * Based on AES, MD5 and ARC4 algorithms. * Four cryptographic barriers: 1) Pass-phrase encrypts the master key. 2) Pass-phrase + Lock data locates master key. 3) 128 bit key derived from 2048 bit master key protects sector key. 3) 128 bit random single-use sector keys protect data payload. * Up to four different changeable pass-phrases. * Blackening feature for provable destruction of master key material. * Isotropic disk contents offers no information about sector contents. * Configurable destination sector range allows steganographic deployment. This commit adds the kernel part, separate commits will follow for the userland utility and documentation. This software was developed for the FreeBSD Project by Poul-Henning Kamp and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS research program. Many thanks to Robert Watson, CBOSS Principal Investigator for making this possible. Sponsored by: DARPA & NAI Labs. |
#
1a6b4146 |
|
18-Oct-2002 |
Eric Moore <emoore@FreeBSD.org> |
(1) added LSI Logic copyright, and legal line 3 in license, and string changes for "LSILogic" (2) enabled non-disk support through CAM interface (3) HA_INQ (a) enabled tagged queuing (b) disable reset during driver loading (b) renamed BSDi string to LSI (4) disabled detecting disk devices during SCSI INQUIRY (5) changed dcdb single element sglist to send one entire buffer chunk (6) nsgelem not set in sglist (7) ap_data_transfer_length not set for dcdb (8) changed "struct thread" to "d_thread_t" for compatibliity { xxx_open, xxx_close, xxx_ioctl } (9) miscellaneous compatiblity fixes (10) bug fix for 0x0409/0x1000 card (11) added compiling amr_cam.c in sys/conf/files (12) added compiling amr_cam.c in sys/modules/amr/Makefile Reviewed by:ps MFC after:1 week 1 week |
#
b9234faf |
|
15-Oct-2002 |
Sam Leffler <sam@FreeBSD.org> |
Tie new "Fast IPsec" code into the build. This involves the usual configuration stuff as well as conditional code in the IPv4 and IPv6 areas. Everything is conditional on FAST_IPSEC which is mutually exclusive with IPSEC (KAME IPsec implmentation). As noted previously, don't use FAST_IPSEC with INET6 at the moment. Reviewed by: KAME, rwatson Approved by: silence Supported by: Vernier Networks |
#
bb2ea9c2 |
|
14-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
Allow firewire, sbp (SCSI over firewire), and fwe (non-standard raw ethernet over firewire) to be statically compiled into the kernel as devices. |
#
527a2a79 |
|
13-Oct-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add in the GEOM control module. Sponsored by: DARPA & NAI Labs. |
#
f3d92b26 |
|
13-Oct-2002 |
Olivier Houchard <cognet@FreeBSD.org> |
Connect trm(4) to the build. Reviewed by: mux (mentor) Approved by: mux (mentor) |
#
b43179fb |
|
11-Oct-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
- Create a new scheduler api that is defined in sys/sched.h - Begin moving scheduler specific functionality into sched_4bsd.c - Replace direct manipulation of scheduler data with hooks provided by the new api. - Remove KSE specific state modifications and single runq assumptions from kern_switch.c Reviewed by: -arch |
#
469fda7e |
|
10-Oct-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up strsep(3) to libkern following a repo-copy by Peter. This will allow us to avoid nasty by-hand string parsing stuff in a number of places in the kernel, reducing the risk of unexpected consequences for kernel correctness. |
#
20a6cb8c |
|
07-Oct-2002 |
Dima Dorfman <dd@FreeBSD.org> |
Import the libc fnmatch() into the kernel. This will be used by, among other things, the DEVFS rule subsystem to match nodes against a path pattern supplied by the user. fnmatch.c was repo-copied from src/lib/libc/gen/fnmatch.c, and the only changes to it are those necessary to make it compile in the kernel. The relevant parts of fnmatch.h were imported into libkern.h. Approved by: -arch |
#
7d59efa9 |
|
07-Oct-2002 |
Alexander Kabaev <kan@FreeBSD.org> |
Add device driver for Belkin F5U103 and compatible USB-to-serial adapters. Reviewed by: n_hibma Approved by: obrien |
#
3bd65612 |
|
05-Oct-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NB: This commit does *NOT* make GEOM the default in FreeBSD NB: But it will enable it in all kernels not having options "NO_GEOM" Put the GEOM related options into the intended order. Add "options NO_GEOM" to all kernel configs apart from NOTES. In some order of controlled fashion, the NO_GEOM options will be removed, architecture by architecture in the coming days. There are currently three known issues which may force people to need the NO_GEOM option: boot0cfg/fdisk: Tries to update the MBR while it is being used to control slices. GEOM does not allow this as a direct operation. SCSI floppy drives: Appearantly the scsi-da driver return "EBUSY" if no media is inserted. This is wrong, it should return ENXIO. PC98: It is unclear if GEOM correctly recognizes all variants of PC98 disklabels. (Help Wanted! I have neither docs nor HW) These issues are all being worked. Sponsored by: DARPA & NAI Labs. |
#
ba835e3f |
|
04-Oct-2002 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Add code for ACPI PCI link object manipulation. This allocate the best IRQ to boot-disable devices (have IRQ 0). Allocated IRQ will be used for PCI interrupt routing when ACPI is enabled. Note that verbose messaging enabled for the time being so that people can easily notice the strange behavior if it happened. |
#
8b7ce2ff |
|
04-Oct-2002 |
Sam Leffler <sam@FreeBSD.org> |
hookup new crypto support to the config/build process |
#
3ae5b532 |
|
04-Oct-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
newbus & bus_space the mcd(4) driver. |
#
1d9c5696 |
|
01-Oct-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
Back our kernel support for reliable signal queues. Requested by: rwatson, phk, and many others |
#
1226f694 |
|
30-Sep-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
First half of implementation of ksiginfo, signal queues, and such. This gets signals operating based on a TailQ, and is good enough to run X11, GNOME, and do job control. There are some intricate parts which could be more refined to match the sigset_t versions, but those require further evaluation of directions in which our signal system can expand and contract to fit our needs. After this has been in the tree for a while, I will make in kernel API changes, most notably to trapsignal(9) and sendsig(9), to use ksiginfo more robustly, such that we can actually pass information with our (queued) signals to the userland. That will also result in using a struct ksiginfo pointer, rather than a signal number, in a lot of kern_sig.c, to refer to an individual pending signal queue member, but right now there is no defined behaviour for such. CODAFS is unfinished in this regard because the logic is unclear in some places. Sponsored by: New Gold Technology Reviewed by: bde, tjr, jake [an older version, logic similar] |
#
1da8092e |
|
25-Sep-2002 |
Scott Long <scottl@FreeBSD.org> |
Do away with AAC_COMPAT_LINUX option entirely. The functionality will automatically be enabled if the kernel is compiled with COMPAT_LINUX. Submitted by: jhb MFC after: 3 days |
#
7419815d6 |
|
24-Sep-2002 |
Scott Long <scottl@FreeBSD.org> |
The AAC_COMPAT_LINUX option was really annoying, since it made the aac driver dependent on the linux emulation module. This was especially bad for the release engineers who tried to move the aac driver from the kernel onto the drivers floppy. The linux compat bits for this driver are now in their own driver, aac_linux. It can be loaded as a module or compiled into the kernel. For the latter case, the AAC_COMPAT_LINUX option is needed, along with the COMPAT_LINUX option. I've tested this in every configuration I can think of. This is an MFC candidate for 4.7. Idea from: rwatson MFC after: 3 days |
#
5bf6b653 |
|
22-Sep-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
- Hook ALQ up to the build. |
#
e3b6e33c |
|
21-Sep-2002 |
Jake Burkholder <jake@FreeBSD.org> |
Moved netisr code from kern/kern_intr.c to net/netisr.c as threatened in a comment. |
#
abc370fa |
|
21-Sep-2002 |
Jake Burkholder <jake@FreeBSD.org> |
Moved nfs_diskless setup code from autoconf.c to nfsclient/nfs_diskless.c so that it is MI. Allow nfs_mountroot to return an error if the nfs_diskless struct is not valid, rather than panicing later on. Call nfs_setup_diskless() from nfs_mountroot if NFS_ROOT is defined, like bootpc_init(). Removed legacy root mount support for sparc64, and enabled NFS_ROOT by default. |
#
44e6ce01 |
|
21-Sep-2002 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Cleanup of amdpm(4). Add of NVIDIA nForce (nfpm) smbus support. Obtained from: Thomas D. Dean <tomdean@speakeasy.org> |
#
3ffb9fad |
|
18-Sep-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Regen for added syscalls. |
#
d2230994 |
|
17-Sep-2002 |
Peter Wemm <peter@FreeBSD.org> |
Make netatm/spans compile in the kernel without depending on userland include files to provide functions for kernel source (spans_kxdr.c) |
#
5268fdfb |
|
15-Sep-2002 |
Peter Grehan <grehan@FreeBSD.org> |
geom_aes.c requires rijndael crypto Approved by: phk, benno |
#
8e96e13e |
|
06-Sep-2002 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Add a new gre(4) driver, which could be used to create GRE (RFC1701) and MOBILE (RFC2004) IP tunnels. Obrained from: NetBSD |
#
9c2060cd |
|
02-Sep-2002 |
Brooks Davis <brooks@FreeBSD.org> |
Hook up libkern/strlcpy.c and libkern/strlcat.c after repocopy. Obtained from: OpenBSD Discussed on: -arch |
#
5906e69a |
|
01-Sep-2002 |
Brooks Davis <brooks@FreeBSD.org> |
Continue de-counting i4b. Devices i4bctl, i4bcapi, iavc, i4bq921, i4bq931, i4b, isic, iwic, ifpi, ifpi2, ifpnp, ihfc, and itjc are no longer count devices. Also remove a few other instances of N<DEVICE> being used to control compilation of whole files. Reviewed by: hm |
#
f5177979 |
|
31-Aug-2002 |
Peter Wemm <peter@FreeBSD.org> |
'aicasm optional ahc ahd' means 'build aicasm only if BOTH ahc and ahd are specified'. Ie: it is a logical and, not a logical or. |
#
32f606d1 |
|
31-Aug-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Split the puc driver in pci specific and generic parts. Add a pccard frontend for it as well. The PCcard stuff does not work yet because there is still some PCImagic left in puc.c |
#
4e7bbbf9 |
|
31-Aug-2002 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add support for ahd/ahc register pretty printing in diagnostics. This feature can be disabled via the AHD/AHC_REG_PRETTY_PRINT kernel option. The ahc driver now uses the same debug options mechanism as ahd: AHC_DEBUG - Compile in debugging code AHC_DEBUG_OPTS - String of debug options as listed in aic7xxx.h |
#
e7f52ff8 |
|
26-Aug-2002 |
John Baldwin <jhb@FreeBSD.org> |
Hook up the new ACPI PCI bus and catch up to ACPI PCI bridge driver changes. |
#
901fadf7 |
|
20-Aug-2002 |
Archie Cobbs <archie@FreeBSD.org> |
New L2TP netgraph node type. Obtained from: Packet Design |
#
ae831801 |
|
17-Aug-2002 |
Orion Hodson <orion@FreeBSD.org> |
Support for VIA VT8233 audio controller. |
#
e2a5fdf9 |
|
15-Aug-2002 |
Nate Lawson <njl@FreeBSD.org> |
Remove usage of cam_extend.c, replace with dev->si_drv1 PR: kern/39809 Approved by: gibbs |
#
6319263d |
|
15-Aug-2002 |
Warner Losh <imp@FreeBSD.org> |
pccbb->cbb |
#
9b631363 |
|
11-Aug-2002 |
Matt Jacob <mjacob@FreeBSD.org> |
Add support for the LSI-Logic Fusion/MP architecture. This is an architecture that present a thing message passing interface to the OS. You can query as to how many ports and what kind are attached and enable them and so on. A less grand view is that this is just another way to package SCSI (SPI or FC) and FC-IP into a one-driver interface set. This driver support the following hardware: LSI FC909: Single channel, 1Gbps, Fibre Channel (FC-SCSI only) LSI FC929: Dual Channel, 1-2Gbps, Fibre Channel (FC-SCSI only) LSI 53c1020: Single Channel, Ultra4 (320M) (Untested) LSI 53c1030: Dual Channel, Ultra4 (320M) Currently it's in fair shape, but expect a lot of changes over the next few weeks as it stabilizes. Credits: The driver is mostly from some folks from Jeff Roberson's company- I've been slowly migrating it to broader support that I it came to me as. The hardware used in developing support came from: FC909: LSI-Logic, Advansys (now Connetix) FC929: LSI-Logic 53c1030: Antares Microsystems (they make a very fine board!) MFC after: 3 weeks |
#
31f48889 |
|
11-Aug-2002 |
Josef Karthauser <joe@FreeBSD.org> |
Add the uftdi ucom driver which supports the following adapters: Inland UAS111 QVS USC-1000 HP USB-Serial adapter shipped with some HP laptops Submitted by: takawata MFC After: 7 days |
#
fd4b4ecc |
|
09-Aug-2002 |
Søren Schmidt <sos@FreeBSD.org> |
Add the ability to use ATAPI devices via CAM. The CAM<>ATAPI layer was submitted by "Thomas Quinot <thomas@cuivre.fr.eu.org>" changes form the version on the net by me (formatting, ability to be used alone without the ATAPI native device driver, proper speed reporting...) See /sys/conf/NOTES for usage. Submitted by: Thomas Quinot <thomas@cuivre.fr.eu.org> |
#
05c872ad |
|
09-Aug-2002 |
Brooks Davis <brooks@FreeBSD.org> |
Make ppp(4) devices clonable and unloadable. |
#
ab1cee3d |
|
04-Aug-2002 |
Jake Burkholder <jake@FreeBSD.org> |
se -> sab. |
#
ab9d7ec4 |
|
04-Aug-2002 |
Jake Burkholder <jake@FreeBSD.org> |
Remove this abortive attempt. |
#
1dbad969 |
|
01-Aug-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Demonstrate that MAC modules can also be linked statically as well as loaded as modules by hooking up mac_none if 'options MAC_NONE' is defined. Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs |
#
c1ff2d9b |
|
31-Jul-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce support for Mandatory Access Control and extensible kernel access control. Modify procfs so that (when mounted multilabel) it exports process MAC labels as the vnode labels of procfs vnodes associated with processes. Approved by: des Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs |
#
abf24f80 |
|
30-Jul-2002 |
Warner Losh <imp@FreeBSD.org> |
Fix path to other files.<arch> files. Fix disordering of libkern/crc32.c entry. MFC after: 1 day |
#
b69ed3f4 |
|
30-Jul-2002 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Resolve conflicts arising from the ACPI CA 20020725 import. |
#
ca095220 |
|
30-Jul-2002 |
Josef Karthauser <joe@FreeBSD.org> |
Commit a version of the uvisor driver for connecting Handspring Visors via USB. Submitted by: Chia-liang Kao <clkao@clkao.org> |
#
e35b3494 |
|
29-Jul-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up kern_mac.c to the build. Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs |
#
a2959ac6 |
|
23-Jul-2002 |
John Baldwin <jhb@FreeBSD.org> |
Move sio's ebus attachment to the MI files section so it is compiled in for any machines that use ebus. |
#
ba268f03 |
|
23-Jul-2002 |
John Baldwin <jhb@FreeBSD.org> |
Move sio_isa.c back to MD files files due to PC98 brain damage. |
#
ec789268 |
|
23-Jul-2002 |
Peter Wemm <peter@FreeBSD.org> |
pci is (finally) no longer a 'count' device. ahc/ahd were the last holdouts. |
#
0cd59a38 |
|
21-Jul-2002 |
Peter Wemm <peter@FreeBSD.org> |
Move 'em' from files.i386 to files so that it is within reach of the ia64 (tested) and pc98 (i386 based) platforms. |
#
d76dc9c3 |
|
21-Jul-2002 |
Peter Wemm <peter@FreeBSD.org> |
pci/cy_pci.c is still MD, it needs i386/isa/cy.c for the core. |
#
995e4431 |
|
21-Jul-2002 |
Peter Wemm <peter@FreeBSD.org> |
Change bktr and smbus from 'count' back to 'optional' |
#
d807a231 |
|
21-Jul-2002 |
Nick Sayer <nsayer@FreeBSD.org> |
Add uaudio -- a USB audio device driver. This driver actually works slightly better on -stable than on -current (the system locks on detach on -current), so it should be MFC'd somewhat sooner. This driver currently points out a difficulty in the sound device framework. The PCM unregister routine is allowed to refuse the detach if the device is in use. In the case of a USB device, however, this unregistration is much more mandatory in nature, since the device is *actually* gone when this call is made. The sound subsystem really should not refuse an unregistration and should take its own steps to reject further I/O. As a result, if you detach a USB sound device while it is in use, you can expect a panic shortly thereafter. This device cannot currently record audio. Some routines are unwritten as of yet in uaudio.c to support recording. This device hangs my -current box on detach. I don't know why. This does not happen on my -stable machine. Obtained from: Hiroyuki Aizu MFC after: 2 weeks |
#
3ebc1248 |
|
19-Jul-2002 |
Peter Wemm <peter@FreeBSD.org> |
Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable handler in the kernel at the same time. Also, allow for the exec_new_vmspace() code to build a different sized vmspace depending on the executable environment. This is a big help for execing i386 binaries on ia64. The ELF exec code grows the ability to map partial pages when there is a page size difference, eg: emulating 4K pages on 8K or 16K hardware pages. Flesh out the i386 emulation support for ia64. At this point, the only binary that I know of that fails is cvsup, because the cvsup runtime tries to execute code in pages not marked executable. Obtained from: dfr (mostly, many tweaks from me). |
#
b946901c |
|
16-Jul-2002 |
Warner Losh <imp@FreeBSD.org> |
pccard_common.c is no longer necssary |
#
a1dc2096 |
|
16-Jul-2002 |
Dima Dorfman <dd@FreeBSD.org> |
Introduce the DEVFS "rule" subsystem. DEVFS rules permit the administrator to define certain properties of new devfs nodes before they become visible to the userland. Both static (e.g., /dev/speaker) and dynamic (e.g., /dev/bpf*, some removable devices) nodes are supported. Each DEVFS mount may have a different ruleset assigned to it, permitting different policies to be implemented for things like jails. Approved by: phk |
#
fbfee3f6 |
|
15-Jul-2002 |
John Baldwin <jhb@FreeBSD.org> |
Move SMBFS from i386 and pc98 files and options files to MI files and options files. |
#
bdff575a |
|
15-Jul-2002 |
John Baldwin <jhb@FreeBSD.org> |
Move all the sio(4) attachments (except for pc98's cbus attachment) to the MI files file. We can't move sio.c because pc98 uses a custom version. |
#
47a3594e |
|
15-Jul-2002 |
John Baldwin <jhb@FreeBSD.org> |
The puc(4) driver/bridge is MI, so don't bury it in MD options and files config files. It also depends on PCI. |
#
bbf09ad8 |
|
15-Jul-2002 |
Mark Murray <markm@FreeBSD.org> |
Upgrade the random device to use a "real" hash instead of building one out of a block cipher. This has 2 advantages: 1) The code is _much_ simpler 2) We aren't committing our security to one algorithm (much as we may think we trust AES). While I'm here, make an explicit reseed do a slow reseed instead of a fast; this is in line with what the original paper suggested. |
#
e05ec893 |
|
10-Jul-2002 |
Matt Jacob <mjacob@FreeBSD.org> |
Enable ISP SBus support. |
#
98479b04 |
|
09-Jul-2002 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Resolve conflicts arising from the ACPI CA 20020611 import. |
#
f00abca0 |
|
05-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Add bmtphy.c |
#
2b4edb69 |
|
02-Jul-2002 |
Maxime Henrion <mux@FreeBSD.org> |
Move every code related to mount(2) in a new file, vfs_mount.c. The file vfs_conf.c which was dealing with root mounting has been repo-copied into vfs_mount.c to preserve history. This makes nmount related development easier, and help reducing the size of vfs_syscalls.c, which is still an enormous file. Reviewed by: rwatson Repo-copy by: peter |
#
e602ba25 |
|
29-Jun-2002 |
Julian Elischer <julian@FreeBSD.org> |
Part 1 of KSE-III The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools) Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands) NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals.. |
#
9758b77f |
|
27-Jun-2002 |
Luigi Rizzo <luigi@FreeBSD.org> |
The new ipfw code. This code makes use of variable-size kernel representation of rules (exactly the same concept of BPF instructions, as used in the BSDI's firewall), which makes firewall operation a lot faster, and the code more readable and easier to extend and debug. The interface with the rest of the system is unchanged, as witnessed by this commit. The only extra kernel files that I am touching are if_fw.h and ip_dummynet.c, which is quite tied to ipfw. In userland I only had to touch those programs which manipulate the internal representation of firewall rules). The code is almost entirely new (and I believe I have written the vast majority of those sections which were taken from the former ip_fw.c), so rather than modifying the old ip_fw.c I decided to create a new file, sys/netinet/ip_fw2.c . Same for the user interface, which is in sbin/ipfw/ipfw2.c (it still compiles to /sbin/ipfw). The old files are still there, and will be removed in due time. I have not renamed the header file because it would have required touching a one-line change to a number of kernel files. In terms of user interface, the new "ipfw" is supposed to accepts the old syntax for ipfw rules (and produce the same output with "ipfw show". Only a couple of the old options (out of some 30 of them) has not been implemented, but they will be soon. On the other hand, the new code has some very powerful extensions. First, you can put "or" connectives between match fields (and soon also between options), and write things like ipfw add allow ip from { 1.2.3.4/27 or 5.6.7.8/30 } 10-23,25,1024-3000 to any This should make rulesets slightly more compact (and lines longer!), by condensing 2 or more of the old rules into single ones. Also, as an example of how easy the rules can be extended, I have implemented an 'address set' match pattern, where you can specify an IP address in a format like this: 10.20.30.0/26{18,44,33,22,9} which will match the set of hosts listed in braces belonging to the subnet 10.20.30.0/26 . The match is done using a bitmap, so it is essentially a constant time operation requiring a handful of CPU instructions (and a very small amount of memmory -- for a full /24 subnet, the instruction only consumes 40 bytes). Again, in this commit I have focused on functionality and tried to minimize changes to the other parts of the system. Some performance improvement can be achieved with minor changes to the interface of ip_fw_chk_t. This will be done later when this code is settled. The code is meant to compile unmodified on RELENG_4 (once the PACKET_TAG_* changes have been merged), for this reason you will see #ifdef __FreeBSD_version in a couple of places. This should minimize errors when (hopefully soon) it will be time to do the MFC. |
#
98cb733c |
|
25-Jun-2002 |
Kenneth D. Merry <ken@FreeBSD.org> |
At long last, commit the zero copy sockets code. MAKEDEV: Add MAKEDEV glue for the ti(4) device nodes. ti.4: Update the ti(4) man page to include information on the TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options, and also include information about the new character device interface and the associated ioctls. man9/Makefile: Add jumbo.9 and zero_copy.9 man pages and associated links. jumbo.9: New man page describing the jumbo buffer allocator interface and operation. zero_copy.9: New man page describing the general characteristics of the zero copy send and receive code, and what an application author should do to take advantage of the zero copy functionality. NOTES: Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS, TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT. conf/files: Add uipc_jumbo.c and uipc_cow.c. conf/options: Add the 5 options mentioned above. kern_subr.c: Receive side zero copy implementation. This takes "disposable" pages attached to an mbuf, gives them to a user process, and then recycles the user's page. This is only active when ZERO_COPY_SOCKETS is turned on and the kern.ipc.zero_copy.receive sysctl variable is set to 1. uipc_cow.c: Send side zero copy functions. Takes a page written by the user and maps it copy on write and assigns it kernel virtual address space. Removes copy on write mapping once the buffer has been freed by the network stack. uipc_jumbo.c: Jumbo disposable page allocator code. This allocates (optionally) disposable pages for network drivers that want to give the user the option of doing zero copy receive. uipc_socket.c: Add kern.ipc.zero_copy.{send,receive} sysctls that are enabled if ZERO_COPY_SOCKETS is turned on. Add zero copy send support to sosend() -- pages get mapped into the kernel instead of getting copied if they meet size and alignment restrictions. uipc_syscalls.c:Un-staticize some of the sf* functions so that they can be used elsewhere. (uipc_cow.c) if_media.c: In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid calling malloc() with M_WAITOK. Return an error if the M_NOWAIT malloc fails. The ti(4) driver and the wi(4) driver, at least, call this with a mutex held. This causes witness warnings for 'ifconfig -a' with a wi(4) or ti(4) board in the system. (I've only verified for ti(4)). ip_output.c: Fragment large datagrams so that each segment contains a multiple of PAGE_SIZE amount of data plus headers. This allows the receiver to potentially do page flipping on receives. if_ti.c: Add zero copy receive support to the ti(4) driver. If TI_PRIVATE_JUMBOS is not defined, it now uses the jumbo(9) buffer allocator for jumbo receive buffers. Add a new character device interface for the ti(4) driver for the new debugging interface. This allows (a patched version of) gdb to talk to the Tigon board and debug the firmware. There are also a few additional debugging ioctls available through this interface. Add header splitting support to the ti(4) driver. Tweak some of the default interrupt coalescing parameters to more useful defaults. Add hooks for supporting transmit flow control, but leave it turned off with a comment describing why it is turned off. if_tireg.h: Change the firmware rev to 12.4.11, since we're really at 12.4.11 plus fixes from 12.4.13. Add defines needed for debugging. Remove the ti_stats structure, it is now defined in sys/tiio.h. ti_fw.h: 12.4.11 firmware. ti_fw2.h: 12.4.11 firmware, plus selected fixes from 12.4.13, and my header splitting patches. Revision 12.4.13 doesn't handle 10/100 negotiation properly. (This firmware is the same as what was in the tree previously, with the addition of header splitting support.) sys/jumbo.h: Jumbo buffer allocator interface. sys/mbuf.h: Add a new external mbuf type, EXT_DISPOSABLE, to indicate that the payload buffer can be thrown away / flipped to a userland process. socketvar.h: Add prototype for socow_setup. tiio.h: ioctl interface to the character portion of the ti(4) driver, plus associated structure/type definitions. uio.h: Change prototype for uiomoveco() so that we'll know whether the source page is disposable. ufs_readwrite.c:Update for new prototype of uiomoveco(). vm_fault.c: In vm_fault(), check to see whether we need to do a page based copy on write fault. vm_object.c: Add a new function, vm_object_allocate_wait(). This does the same thing that vm_object allocate does, except that it gives the caller the opportunity to specify whether it should wait on the uma_zalloc() of the object structre. This allows vm objects to be allocated while holding a mutex. (Without generating WITNESS warnings.) vm_object_allocate() is implemented as a call to vm_object_allocate_wait() with the malloc flag set to M_WAITOK. vm_object.h: Add prototype for vm_object_allocate_wait(). vm_page.c: Add page-based copy on write setup, clear and fault routines. vm_page.h: Add page based COW function prototypes and variable in the vm_page structure. Many thanks to Drew Gallatin, who wrote the zero copy send and receive code, and to all the other folks who have tested and reviewed this code over the years. |
#
6b891daa |
|
23-Jun-2002 |
Warner Losh <imp@FreeBSD.org> |
Partially back out the "make all interfaces standard" commit. There's a small chance that it might have broken loading the miibus, so err on the side of caution until I can figure out what is going on. This backs out all but the PCI, PCIB and ISA bus interfaces being "standard," which have been well tested... |
#
8c575e95 |
|
23-Jun-2002 |
Warner Losh <imp@FreeBSD.org> |
plxcard for OLDCARD almost certainly isn't going to happen. |
#
f24cd27f |
|
23-Jun-2002 |
Warner Losh <imp@FreeBSD.org> |
As disclosed to arch@, make more interfaces standard. This allows for easier loading of modules that might refer to these interfaces. None of the code that implements them is standard, just the glue. This bloats the kernel a whopping 8k. Silence on: arch@ |
#
a8353960 |
|
18-Jun-2002 |
Julian Elischer <julian@FreeBSD.org> |
A node that creates a device entry in /dev (yay devfs) so that /dev/mumble can be the entrypoint to some networking graph, e.g. a tunnel or a remote tape drive or whatever... Not fully tested (by me) yet. Submitted by: Mark Santcroos <marks@ripe.net> MFC after: 3 weeks |
#
cd669cef |
|
16-Jun-2002 |
John Hay <jhay@FreeBSD.org> |
sppp needs slcompress.c nowadays. PR: 39369 |
#
a3cce19f |
|
13-Jun-2002 |
Robert Watson <rwatson@FreeBSD.org> |
kern_cap.c no longer needed. |
#
22afbb6b |
|
13-Jun-2002 |
Brooks Davis <brooks@FreeBSD.org> |
Remote pci.h/NPCI usage from i4b code. Approved by: hm |
#
11b2dcdb |
|
10-Jun-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Put geom_gpt.c under the GEOM option instead of having a special GEOM_GPT option for it. |
#
26837af4 |
|
06-Jun-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
'device hea' is no longer broken. Add 'nowerror' to a few 'hea' files to ignore warnings on volatiles. |
#
cdd49e97 |
|
06-Jun-2002 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Hook up the ahd driver. |
#
26c1165d |
|
03-Jun-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Add new 'hea' driver files. |
#
80f10018 |
|
30-May-2002 |
Takanori Watanabe <takawata@FreeBSD.org> |
Make oldcard and newcard kernel module work. |
#
31741f8a |
|
29-May-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
PHK claims there is a crc32.c now. |
#
22f24d72 |
|
29-May-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Back out revision 1.639. PHK filed to commit the libkern file. |
#
f4258597 |
|
29-May-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add one copy of crc32() and crc32_tab[] in libkern, and remove it two other places. Comment out crc32 related definitions in zlib.h, we don't seem to have the corresponding code in our kernel. |
#
bcd46c60 |
|
28-May-2002 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add support to GEOM for GUID Partition Tables (GPTs). The support is currently conditional on both the GEOM and GEOM_GPT options to avoid getting GPT by default and having the MBR and GPT classes clash. The correct behaviour of the MBR class would be to back-off (reject) a MBR if it's a Protective MBR (a MBR with a single partition of type 0xEE that spans the whole disk (as far as the MBR is concerned). The correct behaviour if the GPT class would be to back-off (reject) a GPT if there's a MBR that's not a Protective MBR. At this stage it's inconvenient to destroy a good MBR when working with GPTs that it's more convenient to have the MBR class back-off when it detects the GPT signature on disk and have the GPT class ignore the MBR. In sys/gpt.h UUIDs (GUIDs) for the following FreeBSD partitions have been defined: GPT_ENT_TYPE_FREEBSD FreeBSD slice with disklabel. This is the equivalent of the well-known FreeBSD MBR partition type. GPT_ENT_TYPE_FREEBSD_{SWAP|UFS|UFS2|VINUM} FreeBSD partitions in the context of disklabel. This is speculating on the idea to use the GPT to hold partitions instead if slices and removing the fixed (and low) limits we have on the number of partitions. This commit lacks a GPT image for the regression suite. |
#
52183d01 |
|
28-May-2002 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add uuidgen(2) and uuidgen(1). The uuidgen command, by means of the uuidgen syscall, generates one or more Universally Unique Identifiers compatible with OSF/DCE 1.1 version 1 UUIDs. From the Perforce logs (change 11995): Round of cleanups: o Give uuidgen() the correct prototype in syscalls.master o Define struct uuid according to DCE 1.1 in sys/uuid.h o Use struct uuid instead of uuid_t. The latter is defined in sys/uuid.h but should not be used in kernel land. o Add snprintf_uuid(), printf_uuid() and sbuf_printf_uuid() to kern_uuid.c for use in the kernel (currently geom_gpt.c). o Rename the non-standard struct uuid in kern/kern_uuid.c to struct uuid_private and give it a slightly better definition for better byte-order handling. See below. o In sys/gpt.h, fix the broken uuid definitions to match the now compliant struct uuid definition. See below. o In usr.bin/uuidgen/uuidgen.c catch up with struct uuid change. A note about byte-order: The standard failed to provide a non-conflicting and unambiguous definition for the binary representation. My initial implementation always wrote the timestamp as a 64-bit little-endian (2s-complement) integral. The clock sequence was always written as a 16-bit big-endian (2s-complement) integral. After a good nights sleep and couple of Pan Galactic Gargle Blasters (not necessarily in that order :-) I reread the spec and came to the conclusion that the time fields are always written in the native by order, provided the the low, mid and hi chopping still occurs. The spec mentions that you "might need to swap bytes if you talk to a machine that has a different byte-order". The clock sequence is always written in big-endian order (as is the IEEE 802 address) because its division is resulting in bytes, making the ordering unambiguous. |
#
291daf57 |
|
26-May-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a proof-of-concept encryption class. "The only hard problem in cryptography is key-management." All sectors are encrypted with AES in CBC mode using a constant key, currently compiled in and all zero. To activate this module, write the magic header on the partition: echo "<<FreeBSD-GEOM-AES>>" | dd conv=sync of=/dev/md98 The encrypted device will be one sector shorter and have ".aes" appended to its name. Sponsored by: DARPA & NAI Labs. |
#
2bab796d |
|
18-May-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Remove IFS from 5.0-CURRENT. This facilitates introducing UFS2 as IFS had its fingers deep in the belly of the UFS/FFS split. IFS will be reimplemented by the maintainer at a later date. Requested by: adrian (maintainer) |
#
d394511d |
|
16-May-2002 |
Tom Rhodes <trhodes@FreeBSD.org> |
More s/file system/filesystem/g |
#
2bf6dd18 |
|
16-May-2002 |
Ian Dowse <iedowse@FreeBSD.org> |
The ufs/ffs files are no longer required by ext2fs. |
#
9504abaa |
|
16-May-2002 |
Ian Dowse <iedowse@FreeBSD.org> |
Complete the separation of ext2fs from ufs by copying the remaining shared code and converting all ufs references. Originally it may have made sense to share common features between the two filesystems, but recently it has only caused problems, the UFS2 work being the final straw. All UFS_* indirect calls are now direct calls to ext2_* functions, and ext2fs-specific mount and inode structures have been introduced. |
#
7085e708 |
|
07-May-2002 |
Bruce Evans <bde@FreeBSD.org> |
Reconnect db_elf.c to the build (now under "options DDB_NOKLDSYM"). It doesn't actually build yet. |
#
8efc4eff |
|
30-Apr-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
Add a new UMA debugging facility. This will overwrite freed memory with 0xdeadc0de and then check for it just before memory is handed off as part of a new request. This will catch any post free/pre alloc modification of memory, as well as introduce errors for anything that tries to dereference it as a pointer. This code takes the form of special init, fini, ctor and dtor routines that are specificly used by malloc. It is in a seperate file because additional debugging aids will want to live here as well. |
#
67a2a28f |
|
27-Apr-2002 |
Eric Anholt <anholt@FreeBSD.org> |
Hook the DRM up to the build and add it to NOTES. Approved by: des |
#
fe3cb0e1 |
|
26-Apr-2002 |
Scott Long <scottl@FreeBSD.org> |
Add a CAM interface to the aac driver. This is useful in case you should ever connect a SCSI Cdrom/Tape/Jukebox/Scanner/Printer/kitty-litter-scooper to your high-end RAID controller. The interface to the arrays is still via the block interface; this merely provides a way to circumvent the RAID functionality and access the SCSI buses directly. Note that for somewhat obvious reasons, hard drives are not exposed to the da driver through this interface, though you can still talk to them via the pass driver. Be the first on your block to low-level format unsuspecting drives that are part of an array! To enable this, add the 'aacp' device to your kernel config. MFC after: 3 days |
#
e905720a |
|
24-Apr-2002 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
aic7xxx_freebsd.c -> aic7xxx_osm.c |
#
9cd64fb3 |
|
19-Apr-2002 |
Semen Ustimenko <semenu@FreeBSD.org> |
Move tx(4) driver to sys/dev/tx. BTW split hardware structures and constants into if_txreg.h. MFC after: 1 week |
#
906cf752 |
|
16-Apr-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Convert the 'hfa' ATM interface driver to newbus. - Add stubs for EISA and SBUS cards. (VME, FutureBUS, and TurboChannel stubs not provided.) - Add infrastructure to build driver and bus front-end modules. |
#
440d3f4d |
|
16-Apr-2002 |
Julian Elischer <julian@FreeBSD.org> |
Add entry for the myson ethernet driver Submitted by: Myson , Taiwan |
#
df263cbd |
|
14-Apr-2002 |
Scott Long <scottl@FreeBSD.org> |
Add a filesystem driver for the Universal Disk Format. For more info, see http://people.freebsd.org/~scottl/udf MFC after: when asmodai gets the backport done Prodded by: phk asmodai des |
#
41544fe6 |
|
12-Apr-2002 |
Warner Losh <imp@FreeBSD.org> |
Forgot to commit this when I committed the rest of the hostap stuff. |
#
b1377f89 |
|
08-Apr-2002 |
Jake Burkholder <jake@FreeBSD.org> |
Add the se driver. |
#
635435f4 |
|
04-Apr-2002 |
Thomas Moestl <tmm@FreeBSD.org> |
Add a driver back end for the Mostek MK48T02, MK48T08 and MK48T59 time-of-day clocks, ported from NetBSD. The front-ends are expected to be at least partly machine-dependent; the sparc64 EBus and SBus ones will be commited to MD directories for now (in a subsequent commit). |
#
d7f7792e |
|
04-Apr-2002 |
Thomas Moestl <tmm@FreeBSD.org> |
Add a generic implementation of inittodr() and resettodr(), as well as a set of helper routines to deal with real-time clocks. The generic functions access the clock diver using a kobj interface. This is intended to reduce code reduplication and make it easy to support more than one clock model on a single architecture. This code is currently only used on sparc64, but it is planned to convert the code of the other architectures to it later. |
#
1be58af1 |
|
01-Apr-2002 |
Warner Losh <imp@FreeBSD.org> |
Add if_wi_{pccard,pci}.c for pccard and pci bus front ends |
#
c2329af7 |
|
30-Mar-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Don't nowerror for sys/dev/pdq/pdq.c |
#
d93b7c5d |
|
28-Mar-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add preliminary PC98 class to GEOM. I have not been able to find very much information about the PC98 extended partition layout so this is gleaned from the source in our pc98 architecture. Corrections and patched very welcome. Sponsored by: DARPA and NAI Labs. |
#
3773a65c |
|
24-Mar-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Be more systematic about conversion of on-disk formats in a endian/width agnostic way. Collapse the MBR and MBREXT methods into one file and make them endian/width agnostic. Sponsored by: DARPA & NAI Labs. |
#
c17d4340 |
|
23-Mar-2002 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Major rework of the iicbus/smbus framework: - VIA chipset SMBus controllers added - alpm driver updated - Support for dynamic modules added - bktr FreeBSD smbus updated but not tested - cleanup |
#
8355f576 |
|
19-Mar-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
This is the first part of the new kernel memory allocator. This replaces malloc(9) and vm_zone with a slab like allocator. Reviewed by: arch@ |
#
916e6e02 |
|
18-Mar-2002 |
Josef Karthauser <joe@FreeBSD.org> |
Add a USB comm driver. Ported from NetBSD by: akiyama |
#
132f08d0 |
|
15-Mar-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Teach GEOM about Sun disklabel formats. The detection code in this method is written so that it should work on all architectures which means that you can plug a Sun disk into a i386 now and access the partitions. We still need an endian-agnostic ufs/ffs before this is really interresting, but the main focus was to get sparc64 onto the GEOM trail. |
#
e8645018 |
|
11-Mar-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add GEOM to conf/files. |
#
5d0451a3 |
|
05-Mar-2002 |
Seigo Tanimura <tanimura@FreeBSD.org> |
Add sys/dev/ufm.c. Forgotten by: alfred Spotted by: LINT |
#
b5a8f767 |
|
05-Mar-2002 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- Speedup 3DES by using assembly code for i386. - Sync des/blowfish to more recent openssl. Obtained from: KAME/NetBSD MFC after: 2 weeks |
#
899ccf54 |
|
04-Mar-2002 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Add generalized power profile code. This makes other power-management system (APM for now) to be able to generate power profile change events (ie. AC-line status changes), and other kernel components, not only the ACPI components, can be notified the events. - move subroutines in acpi_powerprofile.c (removed) to kern/subr_power.c - call power_profile_set_state() also from APM driver when AC-line status changes - add call-back function for Crusoe LongRun controlling on power profile changes for a example |
#
654694bf |
|
27-Feb-2002 |
Peter Wemm <peter@FreeBSD.org> |
Tag if_ie.c, isp.c and isp_pci.c as nowerror (qualifier problems, and third party code) |
#
c538dbe0 |
|
27-Feb-2002 |
Peter Wemm <peter@FreeBSD.org> |
Mark a few more broken pci drivers as nowerror. |
#
2081ddd6 |
|
27-Feb-2002 |
Thomas Moestl <tmm@FreeBSD.org> |
Add gem and hme. |
#
46bbc8f2 |
|
25-Feb-2002 |
Peter Wemm <peter@FreeBSD.org> |
Add 'nowerror' to the vendor acpica code that spews out warnings. |
#
c0f91d51 |
|
20-Feb-2002 |
Takeshi Shibagaki <shiba@FreeBSD.org> |
NEWCARD support for xe. Reviewed by: imp |
#
5578933d |
|
17-Feb-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Add a 'strvalid()' call to libkern. Given a character pointer, and buffer length, determine if the pointer is to a valid string. Currently, the only check is whether a '\0' appears in the buffer. This is useful when pulling in a structure from userland that may contain one or more strings, and validity testing must be performed on elements of the structure. When copying normal string arguments, copyinstr() is expected to be used. |
#
0483b1a8 |
|
11-Feb-2002 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Enable polling to be configured into kernels on non i386 platforms. Note that poll_in_trap is only implemented on i386. I've tested this on alpha. Approved by: luigi |
#
75e5462e |
|
28-Jan-2002 |
Warner Losh <imp@FreeBSD.org> |
pccbb needs exca now. |
#
2405c1ce |
|
28-Jan-2002 |
Søren Schmidt <sos@FreeBSD.org> |
Enable pccard support. |
#
a245737c |
|
20-Jan-2002 |
Mike Smith <msmith@FreeBSD.org> |
Add the 'iir' driver, for the Intel Integrated RAID controllers and prior ICP Vortex models. This driver was developed by Achim Leubner of Intel (previously with ICP Vortex) and Boji Kannanthanam of Intel. Submitted by: "Kannanthanam, Boji T" <boji.t.kannanthanam@intel.com> MFC after: 2 weeks |
#
eda6ecb2 |
|
08-Jan-2002 |
Max Khon <fjoe@FreeBSD.org> |
- generic Arcnet framework - device driver for SMC COM90cx6 Arcnet network adapters Obtained from: NetBSD |
#
99523130 |
|
03-Jan-2002 |
Seigo Tanimura <tanimura@FreeBSD.org> |
- Provide toggles to show debug messages. Set new sysctl variables hw.midi.debug and hw.midi.seq.debug to 1 to enable debug log. - Make debug messages human-frendly. - Implement /dev/music. - Add a timer engine required by /dev/music. - Fix nonblocking I/O. - Fix the numbering of midi and synth devices. |
#
26a45993 |
|
02-Jan-2002 |
Gary Jennejohn <gj@FreeBSD.org> |
i4bisppp also needs net/if_spppsubr.c. MFC after: 1 month |
#
734b6a9e |
|
30-Dec-2001 |
Joerg Wunsch <joerg@FreeBSD.org> |
Remove references to i4b/driver/i4b_ispppsubr.c, now that net/if_spppsubr.c has all its features. Hooray, it's gone! MFC after: 1 month |
#
21d56e9c |
|
29-Dec-2001 |
Alfred Perlstein <alfred@FreeBSD.org> |
Make AIO a loadable module. Remove the explicit call to aio_proc_rundown() from exit1(), instead AIO will use at_exit(9). Add functions at_exec(9), rm_at_exec(9) which function nearly the same as at_exec(9) and rm_at_exec(9), these functions are called on behalf of modules at the time of execve(2) after the image activator has run. Use a modified version of tegge's suggestion via at_exec(9) to close an exploitable race in AIO. Fix SYSCALL_MODULE_HELPER such that it's archetecuterally neutral, the problem was that one had to pass it a paramater indicating the number of arguments which were actually the number of "int". Fix it by using an inline version of the AS macro against the syscall arguments. (AS should be available globally but we'll get to that later.) Add a primative system for dynamically adding kqueue ops, it's really not as sophisticated as it should be, but I'll discuss with jlemon when he's around. |
#
bfd29a02 |
|
06-Dec-2001 |
Warner Losh <imp@FreeBSD.org> |
Back out my "joy" change. It was really the for some uncommitted ata code I have. |
#
f65f2ffd |
|
06-Dec-2001 |
Peter Wemm <peter@FreeBSD.org> |
Part 2 of previous commit. Add joy_isa.c and joy_pccard.c. Submitted by: jhb |
#
a116e755 |
|
06-Dec-2001 |
Peter Wemm <peter@FreeBSD.org> |
Somebody moved joy.c from isa/ to dev/joy/ without updating conf/files. Pointy-hat to: imp |
#
4e152a90 |
|
05-Dec-2001 |
Warner Losh <imp@FreeBSD.org> |
The pccard/cardbus power interface should depend on having pccard or cardbus in the kernel, not on all the bridges that implement it. Note: this is NEWCARD only, so we don't want it for the 'card' case, unlike card_if.m, which is both NEWCARD and OLDCARD. |
#
c067c1d1 |
|
05-Dec-2001 |
Warner Losh <imp@FreeBSD.org> |
Move joy from isa to dev/joy. |
#
3a669c52 |
|
03-Dec-2001 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Pseudofsize procfs(5). |
#
3a31b7eb |
|
27-Nov-2001 |
Mike Smith <msmith@FreeBSD.org> |
Add the 'ciss' driver, which supports the Compaq SmartRAID 5* family of RAID controllers (5300, 532, 5i, etc.) Thanks to Compaq and Yahoo! for support during the development of this driver. MFC after: 1 week |
#
be2ac88c |
|
21-Nov-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Introduce a syncache, which enables FreeBSD to withstand a SYN flood DoS in an improved fashion over the existing code. Reviewed by: silby (in a previous iteration) Sponsored by: DARPA, NAI Labs |
#
945668b0 |
|
14-Nov-2001 |
Warner Losh <imp@FreeBSD.org> |
newcard support for an, from pr 24854 |
#
f2860039 |
|
13-Nov-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
Create a mutex pool API for short term leaf mutexes. Replace the manual mutex pool in kern_lock.c (lockmgr locks) with the new API. Replace the mutexes embedded in sxlocks with the new API. |
#
1611ea87 |
|
06-Nov-2001 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Add S4BIOS sleep (BIOS hibernation) and DSDT overriding support. - Add S4BIOS sleep implementation. This will works well if MIB hw.acpi.s4bios is set (and of course BIOS supports it and hibernation is enabled correctly). - Add DSDT overriding support which is submitted by takawata originally. If loader tunable acpi_dsdt_load="YES" and DSDT file is set to acpi_dsdt_name (default DSDT file name is /boot/acpi_dsdt.aml), ACPI CA core loads DSDT from given file rather than BIOS memory block. DSDT file can be generated by iasl in ports/devel/acpicatools/. - Add new files so that we can add our proposed additional code to Intel ACPI CA into these files temporary. They will be removed when similar code is added into ACPI CA officially. |
#
d3c64689 |
|
05-Nov-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
3.5 years ago Wollman wrote: "[...] and removes the hostcache code from standard kernels---the code that depends on it is not going to happen any time soon, I'm afraid." Time to clean up. |
#
f9390180 |
|
01-Nov-2001 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Some fix for the recent apm module changes. - Now that apm loadable module can inform its existence to other kernel components (e.g. i386/isa/clock.c:startrtclock()'s TCS hack). - Exchange priority of SI_SUB_CPU and SI_SUB_KLD for above purpose. - Add simple arbitration mechanism for APM vs. ACPI. This prevents the kernel enables both of them. - Remove obsolete `#ifdef DEV_APM' related code. - Add abstracted interface for Powermanagement operations. Public apm(4) functions, such as apm_suspend(), should be replaced new interfaces. Currently only power_pm_suspend (successor of apm_suspend) is implemented. Reviewed by: peter, arch@ and audit@ |
#
fad334b0 |
|
30-Oct-2001 |
Mike Smith <msmith@FreeBSD.org> |
Update to reflect files added/removed with the 20011018 ACPI CA update. |
#
8c7c272c |
|
20-Oct-2001 |
Matt Jacob <mjacob@FreeBSD.org> |
Remove wx. |
#
e903bd58 |
|
18-Oct-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Add entry for the PRO/1000. |
#
3da32491 |
|
07-Oct-2001 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Dissociate ptrace from procfs. Until now, the ptrace syscall was implemented as a wrapper that called various functions in procfs depending on which ptrace operation was requested. Most of these functions were themselves wrappers around procfs_{read,write}_{,db,fp}regs(), with only some extra error checks, which weren't necessary in the ptrace case anyway. This commit moves procfs_rwmem() from procfs_mem.c into sys_process.c (renaming it to proc_rwmem() in the process), and implements ptrace() directly in terms of procfs_{read,write}_{,db,fp}regs() instead of having it fake up a struct uio and then call procfs_do{,db,fp}regs(). It also moves the prototypes for procfs_{read,write}_{,db,fp}regs() and proc_rwmem() from proc.h to ptrace.h, and marks all procfs files except procfs_machdep.c as "optional procfs" instead of "standard". |
#
276dda21 |
|
04-Oct-2001 |
Mike Smith <msmith@FreeBSD.org> |
Update to reflect one file added, one removed. |
#
95d67482 |
|
27-Sep-2001 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for the Broadcom BCM570x family of gigabit ethernet controllers. This adds support for the 3Com 3c996-T, the SysKonnect SK-9D21 and SK-9D41, and the built-in gigE NICs on Dell PowerEdge 2550 servers. The latter configuration hauls ass: preliminary measurements show TCP speeds of over 900Mbps using only normal size frames. TCP/IP checksum offload, jumbo frames and VLAN tag insertion/stripping are supported, as well as interrupt moderation. Still need to fix autonegotiation support for 1000baseSX NICs, but beyond that, driver is pretty solid. |
#
c2eed105 |
|
27-Sep-2001 |
Brooks Davis <brooks@FreeBSD.org> |
Add ng_ip_input. A new netgraph node for queuing IP packets into the main IP input processing code. |
#
94408d94 |
|
26-Sep-2001 |
Brooks Davis <brooks@FreeBSD.org> |
/home/brooks/ng_gif.message |
#
efacde1b |
|
26-Sep-2001 |
Brooks Davis <brooks@FreeBSD.org> |
The number of ccd(4) devices is no longer set at compile time so stop trying to do it in the examples and config files. |
#
9494d596 |
|
25-Sep-2001 |
Brooks Davis <brooks@FreeBSD.org> |
Make faith loadable, unloadable, and clonable. |
#
eb25edbd |
|
18-Sep-2001 |
Peter Wemm <peter@FreeBSD.org> |
Cleanup and split of nfs client and server code. This builds on the top of several repo-copies. |
#
c896039b |
|
16-Sep-2001 |
Murray Stokely <murray@FreeBSD.org> |
SMBus support for the AMD 756 power management unit. See smbus(4), amdpm(4) and smb(4). This device can be used with userland programs such as sysutils/lmmon to retrieve sensor information from the motherboard. PR: kern/23989 Obtained from: Matthew C. Forman <mcf@dmu.ac.uk> Based on: alpm(4) |
#
0a8c6c7f |
|
06-Sep-2001 |
Mike Smith <msmith@FreeBSD.org> |
Move OsdEnvironment.c into MD code; searching for the ACPI tables is not portable. |
#
0fddbf87 |
|
05-Sep-2001 |
Brooks Davis <brooks@FreeBSD.org> |
vlan.h is obsolete, don't create it anymore. |
#
81597dfc |
|
02-Sep-2001 |
Takeshi Shibagaki <shiba@FreeBSD.org> |
Make the fe driver to compile in default under a NEWCARD kernel. Reviewed by: imp |
#
7c21a367 |
|
30-Aug-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Remove already commented out entry for pci/fxp.c |
#
4804c8ad |
|
30-Aug-2001 |
Mike Smith <msmith@FreeBSD.org> |
ACPI no longer has an ISA attachment. |
#
15d2a7c7 |
|
23-Aug-2001 |
Nick Sayer <nsayer@FreeBSD.org> |
if_wi can be either pci (without pccard) or pccard |
#
2c17cf2d |
|
17-Aug-2001 |
Peter Wemm <peter@FreeBSD.org> |
Only compile the ufs components if FFS || IFS || EXT2FS are present, not unconditionally. |
#
54db32e9 |
|
14-Aug-2001 |
Jason Evans <jasone@FreeBSD.org> |
Implement kernel semaphores. Reviewed by: jhb |
#
20d6258d |
|
08-Aug-2001 |
Peter Wemm <peter@FreeBSD.org> |
repo-copy the source files from modules/syscons to the normal tree and connect them to the normal build infrastructure. |
#
18ec8d76 |
|
26-Jul-2001 |
Peter Wemm <peter@FreeBSD.org> |
param.c no longer gets special treatment. Use the source tree version. |
#
02bd5400 |
|
24-Jul-2001 |
Dima Dorfman <dd@FreeBSD.org> |
sys/kern/tty_snoop.c is now sys/dev/snp/snp.c. Repo-copy by: jdp |
#
4d60fee2 |
|
24-Jul-2001 |
Brooks Davis <brooks@FreeBSD.org> |
Allow ng_split to be compiled in staticly. MFC after: 7 weeks |
#
362c5c1e |
|
23-Jul-2001 |
Bill Paul <wpaul@FreeBSD.org> |
You were knocked senseless by the Boomerang, spun around by the Cyclone, blown over by the Hurricane and had a house dropped on you by the Tornado. Now it's time to have your parade rained on by... the Typhoon! This commit adds driver support for 3Com 3cR990 10/100 ethernet adapters based on the Typhoon I and Typhoon II chipsets. This is actually a port of the OpenBSD driver with many hacks by me. No Virginia, there isn't any support for the hardware crypto yet. However there is support for TCP/IP checksum offload and VLANs. Special thanks go to Jason Wright, Aaron Campbell and Theo de Raadt for squeezing enough info out of 3Com to get this written, and for doing most of the hard work. Manual page is included. Compiled as a module and included in GENERIC. |
#
2fc4762c |
|
14-Jul-2001 |
Peter Wemm <peter@FreeBSD.org> |
Move the hints gunk to a seperate file. It isn't really part of the newbus structure (no more than subr_rman.c is anyway). |
#
822c2e6a |
|
13-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Merge with latest version of the Mylex 6+ driver. - All sources are built in a single object, reducing namespace pollution. - Kill the ready queue, and handle a busy response to mly_start in callers rather than deferring the command. - Improve our interaction with CAM: - Don't advertise physical channels as SCSI busses by default. - use the SIM queue freeze capability rather than queueing CDBs internally. - force bus reprobe at module load time. - Clean up more resources in mly_free. - Tidy up debugging levels. - Tidy up handling of events (mostly just code cleanliness). - Use explanatory macros for operations on bus/target/channel numbers. |
#
9b5ad47f |
|
10-Jul-2001 |
Ian Dowse <iedowse@FreeBSD.org> |
Bring in dirhash, a simple hash-based lookup optimisation for large directories. When enabled via "options UFS_DIRHASH", in-core hash arrays are maintained for large directories. These allow all directory operations to take place quickly instead of requiring long linear searches. For now anyway, dirhash is not enabled by default. The in-core hash arrays have a memory requirement that is approximately half the size of the size of the on-disk directory file. A number of new sysctl variables allow control over which directories get hashed and over the maximum amount of memory that dirhash will use: vfs.ufs.dirhash_minsize The minimum on-disk directory size for which hashing should be used. The default is 2560 (2.5k). vfs.ufs.dirhash_maxmem The system-wide maximum total memory to be used by dirhash data structures. The default is 2097152 (2MB). The current amount of memory being used by dirhash is visible through the read-only sysctl variable vfs.ufs.dirhash_maxmem. Finally, some extra sanity checks that are enabled by default, but which may have an impact on performance, can be disabled by setting vfs.ufs.dirhash_docheck to 0. Discussed on: -fs, -hackers |
#
815e9365 |
|
07-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Nuke the ACPI APIC driver. The ACPI CA infrastructure it depended on is gone, and it's not coming back, and the whole driver needed to be rethrought to deal with a major chicken-and-egg consideration. |
#
fec754d4 |
|
07-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Kill the old processor driver; the ACPI CA functions it depended on are not coming back any time soon. Implement a new 'acpi_cpu' driver with support for CPU throttling and power policies. |
#
b9f0d8be |
|
06-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Add acpi_powerprofile.c |
#
6f69255b |
|
05-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Add a new helper function for finding resources in resource buffers. Move the ACPI generic battery code into a new file. |
#
71975711 |
|
04-Jul-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
Move vm_page_zero_idle() from machine-dependant sections to a machine-independant source file, vm/vm_zeroidle.c. It was exactly the same for all platforms and updating them all was getting annoying. |
#
6d03d577 |
|
04-Jul-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc). Also removed some spl's and added some VM mutexes, but they are not actually used yet, so this commit does not really make any operational changes to the system. vm_page.c relates to vm_page_t manipulation, including high level deactivation, activation, etc... vm_pageq.c relates to finding free pages and aquiring exclusive access to a page queue (exclusivity part not yet implemented). And the world still builds... :-) |
#
f44a4f37 |
|
04-Jul-2001 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
- Don't overwrite inb, inw and outw. - Move the lance_probe function to if_lnc.c. - Support C-NET(98)S again. Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata) and nyan No response from: Paul Richards |
#
53dab5fe |
|
02-Jul-2001 |
Brooks Davis <brooks@FreeBSD.org> |
gif(4) and stf(4) modernization: - Remove gif dependencies from stf. - Make gif and stf into modules - Make gif cloneable. PR: kern/27983 Reviewed by: ru, ume Obtained from: NetBSD MFC after: 1 week |
#
cf8a1123 |
|
01-Jul-2001 |
Warner Losh <imp@FreeBSD.org> |
Move wl driver to dev/wl. Repo copied to dev/wl, the old copies removed and a minimal number of changes to make it compile in the new location. # I have a fully converted on a disk that may be crashed. If it is # crashed, I'll redo the work. |
#
1b6c76a2 |
|
01-Jul-2001 |
Cameron Grant <cg@FreeBSD.org> |
intel ich/ich2 driver - this needs some work but is functional enough for the impatient. Hardware... Provided by: ps Lost by: <censored> Found by: <censored> Not delivered by: Ashley Penney <ashp@unloved.org> Retrieved by: greid, Andrew McKay <andy@openirc.co.uk> Delivered by: Andrew McKay <andy@openirc.co.uk> PR: kern/25507 Submitted by: Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp> |
#
7aa7260e |
|
29-Jun-2001 |
John Baldwin <jhb@FreeBSD.org> |
Move ast() and userret() to sys/kern/subr_trap.c now that they are MI. |
#
2239bbf0 |
|
28-Jun-2001 |
John Baldwin <jhb@FreeBSD.org> |
Add acpi_powerres.c to fix the acpi build. Pointy-hat to: msmith |
#
39425c9a |
|
27-Jun-2001 |
Brian Somers <brian@FreeBSD.org> |
Remove dgm |
#
08442f8a |
|
22-Jun-2001 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Introduce numerous SMP friendly changes to the mbuf allocator. Namely, introduce a modified allocation mechanism for mbufs and mbuf clusters; one which can scale under SMP and which offers the possibility of resource reclamation to be implemented in the future. Notable advantages: o Reduce contention for SMP by offering per-CPU pools and locks. o Better use of data cache due to per-CPU pools. o Much less code cache pollution due to excessively large allocation macros. o Framework for `grouping' objects from same page together so as to be able to possibly free wired-down pages back to the system if they are no longer needed by the network stacks. Additional things changed with this addition: - Moved some mbuf specific declarations and initializations from sys/conf/param.c into mbuf-specific code where they belong. - m_getclr() has been renamed to m_get_clrd() because the old name is really confusing. m_getclr() HAS been preserved though and is defined to the new name. No tree sweep has been done "to change the interface," as the old name will continue to be supported and is not depracated. The change was merely done because m_getclr() sounds too much like "m_get a cluster." - TEMPORARILY disabled mbtypes statistics displaying in netstat(1) and systat(1) (see TODO below). - Fixed systat(1) to display number of "free mbufs" based on new per-CPU stat structures. - Fixed netstat(1) to display new per-CPU stats based on sysctl-exported per-CPU stat structures. All infos are fetched via sysctl. TODO (in order of priority): - Re-enable mbtypes statistics in both netstat(1) and systat(1) after introducing an SMP friendly way to collect the mbtypes stats under the already introduced per-CPU locks (i.e. hopefully don't use atomic() - it seems too costly for a mere stat update, especially when other locks are already present). - Optionally have systat(1) display not only "total free mbufs" but also "total free mbufs per CPU pool." - Fix minor length-fetching issues in netstat(1) related to recently re-enabled option to read mbuf stats from a core file. - Move reference counters at least for mbuf clusters into an unused portion of the cluster itself, to save space and need to allocate a counter. - Look into introducing resource freeing possibly from a kproc. Reviewed by (in parts): jlemon, jake, silby, terry Tested by: jlemon (Intel & Alpha), mjacob (Intel & Alpha) Preliminary performance measurements: jlemon (and me, obviously) URL: http://people.freebsd.org/~bmilekic/mb_alloc/ |
#
33841545 |
|
10-Jun-2001 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
Sync with recent KAME. This work was based on kame-20010528-freebsd43-snap.tgz and some critical problem after the snap was out were fixed. There are many many changes since last KAME merge. TODO: - The definitions of SADB_* in sys/net/pfkeyv2.h are still different from RFC2407/IANA assignment because of binary compatibility issue. It should be fixed under 5-CURRENT. - ip6po_m member of struct ip6_pktopts is no longer used. But, it is still there because of binary compatibility issue. It should be removed under 5-CURRENT. Reviewed by: itojun Obtained from: KAME MFC after: 3 weeks |
#
81cbd9b0 |
|
11-Jun-2001 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add pseudofs and the new linprocfs here. |
#
8ce8f98d |
|
07-Jun-2001 |
Cameron Grant <cg@FreeBSD.org> |
enable vchan compilation |
#
88d74af5 |
|
06-Jun-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Relocate IPFilter from sys/netinet to sys/contrib/ipfilter. |
#
0f174163 |
|
04-Jun-2001 |
Warner Losh <imp@FreeBSD.org> |
Only build i82365_isa attachment when we have isa bus. |
#
3a4f29da |
|
01-Jun-2001 |
Warner Losh <imp@FreeBSD.org> |
The orm device. This device gobbles up the Option ROMs in the ISA memory I/O space. Otherwise, our resource allocation system might mistakenly assign pccard, plug and play devices or other things addresses that conflict with ROMs. I cleaned up his code a little from the submited driver: style(9) issues, commentary on why something that looks incorrect really is correct. Also noted that while a checksum field is defined for the ROMs, enough common hardware neglects it to make it not worthwhile checking. Submitted by: Nikolai Saoukh <nms@otdel-1.org> PR: 22078 |
#
64dddc18 |
|
01-Jun-2001 |
Kris Kennaway <kris@FreeBSD.org> |
Add ``options RANDOM_IP_ID'' which randomizes the ID field of IP packets. This closes a minor information leak which allows a remote observer to determine the rate at which the machine is generating packets, since the default behaviour is to increment a counter for each packet sent. Reviewed by: -net Obtained from: OpenBSD |
#
4363df4c |
|
31-May-2001 |
Warner Losh <imp@FreeBSD.org> |
Change plxic to plxcard, per phk. He thnks plxic is too generic a name. I didn't do repo magic because this is so new. |
#
c678bc4f |
|
31-May-2001 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for the Level 1 LXT1001 NetCellerator gigabit ethernet controller chip. This device is used on some fiber optic gigE cards from SMC, D-Link and Addtron. Jumbograms and TCP/IP checksum offload on receive are supported. Hardware VLAN filtering is not, because it doesn't play well with our existing VLAN code. Also add manual page. There is a 4.x version of this driver available at http://www.freebsd.org/~wpaul/Level1/4.x if anyone feels adventurous and wants to test it. I still need to do performance testing and tuning with this device. (For my next trick, I will make the 3Com 3cR990 sit up and beg.) |
#
beea047a |
|
31-May-2001 |
Warner Losh <imp@FreeBSD.org> |
plxic device |
#
71cb0ea9 |
|
29-May-2001 |
Mike Smith <msmith@FreeBSD.org> |
New files and layout for the ACPI CA 20010518 update. |
#
49b07961 |
|
29-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove MFS from configs idea of the world. |
#
8a8402d3 |
|
26-May-2001 |
Ruslan Ermilov <ru@FreeBSD.org> |
- sys/n[tw]fs moved to sys/fs/n[tw]fs - /usr/include/n[tw]fs moved to /usr/include/fs/n[tw]fs |
#
6b244dc5 |
|
25-May-2001 |
Hellmuth Michaelis <hm@FreeBSD.org> |
Submitted by: Juha-Matti Liukkonen (Cubical Solutions Ltd) (jml@cubical.fi) Add a CAPI (hardware independent) driver i4bcapi(4) and hardware driver iavc (4) to support active CAPI-based BRI and PRI cards (currently AVM B1 and T1 cards) to isdn4bsd. |
#
1166fb51 |
|
25-May-2001 |
Ruslan Ermilov <ru@FreeBSD.org> |
- sys/msdosfs moved to sys/fs/msdosfs - msdos.ko renamed to msdosfs.ko - /usr/include/msdosfs moved to /usr/include/fs/msdosfs |
#
a4b82094 |
|
24-May-2001 |
Peter Wemm <peter@FreeBSD.org> |
Produce a config-time warning about EXT2FS and GPL_MATH_EMULATE |
#
99d300a1 |
|
23-May-2001 |
Ruslan Ermilov <ru@FreeBSD.org> |
- FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file systems were repo-copied from sys/miscfs to sys/fs. - Renamed the following file systems and their modules: fdesc -> fdescfs, portal -> portalfs, union -> unionfs. - Renamed corresponding kernel options: FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS. - Install header files for the above file systems. - Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland Makefiles. |
#
5a695e48 |
|
16-May-2001 |
Warner Losh <imp@FreeBSD.org> |
Separate out isa attachment to its own file. The pci attachment will soon attach directly to pcic rather than the kludge pci-pcic device we have now. In some ways, this is similar to the work PAO3 did to try to support cardbus bridges. In some ways different. This and future commits will be taking from the spirit of many of those changes. pcicvar.h is completely different from the pcicvar.h that appeared in PAO3, but similar in concept. |
#
ab9f3b29 |
|
13-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Convert DEVFS from an "opt-in" to an "opt-out" option. If for some reason DEVFS is undesired, the "NODEVFS" option is needed now. Pending any significant issues, DEVFS will be made mandatory in -current on july 1st so that we can start reaping the full benefits of having it. |
#
e7c00509 |
|
12-May-2001 |
Warner Losh <imp@FreeBSD.org> |
I'll be making some rather substantial changes to the pci attachment of the pcic class of devices. Go ahead and move it to the "usual" place. I say "usual" in quotes since it isn't exactly right (not in dev/blah), but it is closer than before. |
#
ce4946da |
|
11-May-2001 |
Bill Paul <wpaul@FreeBSD.org> |
Add support for gigabit ethernet cards based on the NatSemi DP83820 and DP83821 gigabit ethernet MAC chips and the NatSemi DP83861 10/100/1000 copper PHY. There are a whole bunch of very low cost cards available with this chipset selling for $150USD or less. This includes the SMC9462TX, D-Link DGE-500T, Asante GigaNIX 1000TA and 1000TPC, and a couple cards from Addtron. This chip supports TCP/IP checksum offload, VLAN tagging/insertion. 2048-bit multicast filter, jumbograms and has 8K TX and 32K RX FIFOs. I have not done serious performance testing with this driver. I know it works, and I want it under CVS control so I can keep tabs on it. Note that there's no serious mutex stuff in here yet either: I need to talk more with jhb to figure out the right way to do this. That said, I don't think there will be any problems. This driver should also work on the alpha. It's not turned on in GENERIC. |
#
ba228f6d |
|
10-May-2001 |
John Baldwin <jhb@FreeBSD.org> |
- Split out the support for per-CPU data from the SMP code. UP kernels have per-CPU data and gdb on the i386 at least needs access to it. - Clean up includes in kern_idle.c and subr_smp.c. Reviewed by: jake |
#
ad01e0c8 |
|
01-May-2001 |
Brian Somers <brian@FreeBSD.org> |
Add a ``digi'' driver. This driver supports PCI Xr-based and ISA Xem Digiboard cards. dgm will go away soon if there are no problems reported. For now, configuring dgm into your kernel warns that you should be using digi. This driver is probably close to supporting Xi, Xe and Xeve cards, but I wouldn't expect them to work properly (hardware donations welcome). The digi_* pseudo-drivers are not drivers themselves but contain the BIOS and FEP/OS binaries for various digiboard cards and are auto-loaded and auto-unloaded by the digi driver at initialisation time. They *may* be configured into the kernel, but waste a lot of space if they are. They're intended to be left as modules. The digictl program is (mainly) used to re-initialise cards that have external port modules attached such as the PC/Xem. |
#
6caa8a15 |
|
27-Apr-2001 |
John Baldwin <jhb@FreeBSD.org> |
Overhaul of the SMP code. Several portions of the SMP kernel support have been made machine independent and various other adjustments have been made to support Alpha SMP. - It splits the per-process portions of hardclock() and statclock() off into hardclock_process() and statclock_process() respectively. hardclock() and statclock() call the *_process() functions for the current process so that UP systems will run as before. For SMP systems, it is simply necessary to ensure that all other processors execute the *_process() functions when the main clock functions are triggered on one CPU by an interrupt. For the alpha 4100, clock interrupts are delievered in a staggered broadcast fashion, so we simply call hardclock/statclock on the boot CPU and call the *_process() functions on the secondaries. For x86, we call statclock and hardclock as usual and then call forward_hardclock/statclock in the MD code to send an IPI to cause the AP's to execute forwared_hardclock/statclock which then call the *_process() functions. - forward_signal() and forward_roundrobin() have been reworked to be MI and to involve less hackery. Now the cpu doing the forward sets any flags, etc. and sends a very simple IPI_AST to the other cpu(s). AST IPIs now just basically return so that they can execute ast() and don't bother with setting the astpending or needresched flags themselves. This also removes the loop in forward_signal() as sched_lock closes the race condition that the loop worked around. - need_resched(), resched_wanted() and clear_resched() have been changed to take a process to act on rather than assuming curproc so that they can be used to implement forward_roundrobin() as described above. - Various other SMP variables have been moved to a MI subr_smp.c and a new header sys/smp.h declares MI SMP variables and API's. The IPI API's from machine/ipl.h have moved to machine/smp.h which is included by sys/smp.h. - The globaldata_register() and globaldata_find() functions as well as the SLIST of globaldata structures has become MI and moved into subr_smp.c. Also, the globaldata list is only available if SMP support is compiled in. Reviewed by: jake, peter Looked over by: eivind |
#
8ee8b21b |
|
26-Apr-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
vfs_subr.c is getting rather fat. The underlying repocopy and this commit moves the filesystem export handling code to vfs_export.c |
#
1f2b9fe6 |
|
23-Apr-2001 |
Orion Hodson <orion@FreeBSD.org> |
Initial version of Avance Logic ALS4000 pcm driver. |
#
603c8667 |
|
17-Apr-2001 |
Alfred Perlstein <alfred@FreeBSD.org> |
Implement client side NFS locks. Obtained from: BSD/os Import Ok'd by: mckusick, jkh, motd on builder.freebsd.org |
#
2a4339f7 |
|
09-Apr-2001 |
Matt Jacob <mjacob@FreeBSD.org> |
Add Marvell PHY support for 10/100/1000 LIVENGOOD_CU Intel NIC. Parag Patel did all of the grunt work, so he gets the credit. Register definitions and actions inferred from a Linux driver, so Intel also gets some 'credit'. |
#
3bf53446 |
|
08-Apr-2001 |
Cameron Grant <cg@FreeBSD.org> |
enable the rate conversion feeder. the main benefit this gives for now is that via686 audio devices on motherboards with ac97 codecs that do not support vra will be able to use sample rates other than 48khz. |
#
6f2d8adb |
|
09-Apr-2001 |
Boris Popov <bp@FreeBSD.org> |
Add function prototypes and base module for kernel side iconv library. Add simple "xlat" converter which performs 8to8 table based conversion. Unicode converter will be added in the near future. Reviewed by: silence on arch@ Files placement reviewed by: bde Obtained from: smbfs |
#
19284646 |
|
28-Mar-2001 |
John Baldwin <jhb@FreeBSD.org> |
Rework the witness code to work with sx locks as well as mutexes. - Introduce lock classes and lock objects. Each lock class specifies a name and set of flags (or properties) shared by all locks of a given type. Currently there are three lock classes: spin mutexes, sleep mutexes, and sx locks. A lock object specifies properties of an additional lock along with a lock name and all of the extra stuff needed to make witness work with a given lock. This abstract lock stuff is defined in sys/lock.h. The lockmgr constants, types, and prototypes have been moved to sys/lockmgr.h. For temporary backwards compatability, sys/lock.h includes sys/lockmgr.h. - Replace proc->p_spinlocks with a per-CPU list, PCPU(spinlocks), of spin locks held. By making this per-cpu, we do not have to jump through magic hoops to deal with sched_lock changing ownership during context switches. - Replace proc->p_heldmtx, formerly a list of held sleep mutexes, with proc->p_sleeplocks, which is a list of held sleep locks including sleep mutexes and sx locks. - Add helper macros for logging lock events via the KTR_LOCK KTR logging level so that the log messages are consistent. - Add some new flags that can be passed to mtx_init(): - MTX_NOWITNESS - specifies that this lock should be ignored by witness. This is used for the mutex that blocks a sx lock for example. - MTX_QUIET - this is not new, but you can pass this to mtx_init() now and no events will be logged for this lock, so that one doesn't have to change all the individual mtx_lock/unlock() operations. - All lock objects maintain an initialized flag. Use this flag to export a mtx_initialized() macro that can be safely called from drivers. Also, we on longer walk the all_mtx list if MUTEX_DEBUG is defined as witness performs the corresponding checks using the initialized flag. - The lock order reversal messages have been improved to output slightly more accurate file and line numbers. |
#
3393f8da |
|
26-Mar-2001 |
Kenneth D. Merry <ken@FreeBSD.org> |
Rewrite of the CAM error recovery code. Some of the major changes include: - The SCSI error handling portion of cam_periph_error() has been broken out into a number of subfunctions to better modularize the code that handles the hierarchy of SCSI errors. As a result, the code is now much easier to read. - String handling and error printing has been significantly revamped. We now use sbufs to do string formatting instead of using printfs (for the kernel) and snprintf/strncat (for userland) as before. There is a new catchall error printing routine, cam_error_print() and its string-based counterpart, cam_error_string() that allow the kernel and userland applications to pass in a CCB and have errors printed out properly, whether or not they're SCSI errors. Among other things, this helped eliminate a fair amount of duplicate code in camcontrol. We now print out more information than before, including the CAM status and SCSI status and the error recovery action taken to remedy the problem. - sbufs are now available in userland, via libsbuf. This change was necessary since most of the error printing code is shared between libcam and the kernel. - A new transfer settings interface is included in this checkin. This code is #ifdef'ed out, and is primarily intended to aid discussion with HBA driver authors on the final form the interface should take. There is example code in the ahc(4) driver that implements the HBA driver side of the new interface. The new transfer settings code won't be enabled until we're ready to switch all HBA drivers over to the new interface. src/Makefile.inc1, lib/Makefile: Add libsbuf. It must be built before libcam, since libcam uses sbuf routines. libcam/Makefile: libcam now depends on libsbuf. libsbuf/Makefile: Add a makefile for libsbuf. This pulls in the sbuf sources from sys/kern. bsd.libnames.mk: Add LIBSBUF. camcontrol/Makefile: Add -lsbuf. Since camcontrol is statically linked, we can't depend on the dynamic linker to pull in libsbuf. camcontrol.c: Use cam_error_print() instead of checking for CAM_SCSI_STATUS_ERROR on every failed CCB. sbuf.9: Change the prototypes for sbuf_cat() and sbuf_cpy() so that the source string is now a const char *. This is more in line wth the standard system string functions, and helps eliminate warnings when dealing with a const source buffer. Fix a typo. cam.c: Add description strings for the various CAM error status values, as well as routines to look up those strings. Add new cam_error_string() and cam_error_print() routines for userland and the kernel. cam.h: Add a new CAM flag, CAM_RETRY_SELTO. Add enumerated types for the various options available with cam_error_print() and cam_error_string(). cam_ccb.h: Add new transfer negotiation structures/types. Change inq_len in the ccb_getdev structure to be "reserved". This field has never been filled in, and will be removed when we next bump the CAM version. cam_debug.h: Fix typo. cam_periph.c: Modularize cam_periph_error(). The SCSI error handling part of cam_periph_error() is now in camperiphscsistatuserror() and camperiphscsisenseerror(). In cam_periph_lock(), increase the reference count on the periph while we wait for our lock attempt to succeed so that the periph won't go away while we're sleeping. cam_xpt.c: Add new transfer negotiation code. (ifdefed out) Add a new function, xpt_path_string(). This is a string/sbuf analog to xpt_print_path(). scsi_all.c: Revamp string handing and error printing code. We now use sbufs for much of the string formatting code. More of that code is shared between userland the kernel. scsi_all.h: Get rid of SS_TURSTART, it wasn't terribly useful in the first place. Add a new error action, SS_REQSENSE. (Send a request sense and then retry the command.) This is useful when the controller hasn't performed autosense for some reason. Change the default actions around a bit. scsi_cd.c, scsi_da.c, scsi_pt.c, scsi_ses.c: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Selection timeouts shouldn't be covered by a sense flag. scsi_pass.[ch]: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Get rid of the last vestiges of a read/write interface. libkern/bsearch.c, sys/libkern.h, conf/files: Add bsearch.c, which is needed for some of the new table lookup routines. aic7xxx_freebsd.c: Define AHC_NEW_TRAN_SETTINGS if CAM_NEW_TRAN_CODE is defined. sbuf.h, subr_sbuf.c: Add the appropriate #ifdefs so sbufs can compile and run in userland. Change sbuf_printf() to use vsnprintf() instead of kvprintf(), which is only available in the kernel. Change the source string for sbuf_cpy() and sbuf_cat() to be a const char *. Add __BEGIN_DECLS and __END_DECLS around function prototypes since they're now exported to userland. kdump/mkioctls: Include stdio.h before cam.h since cam.h now includes a function with a FILE * argument. Submitted by: gibbs (mostly) Reviewed by: jdp, marcel (libsbuf makefile changes) Reviewed by: des (sbuf changes) Reviewed by: ken |
#
a70f2747 |
|
26-Mar-2001 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce support for POSIX.1e ACLs on UFS-based file systems. This implementation is still experimental, and while fairly broadly tested, is not yet intended for production use. Support for POSIX.1e ACLs on UFS will not be MFC'd to RELENG_4. This implementation works by providing implementations of VOP_[GS]ETACL() for FFS, as well as modifying the appropriate access control and file creation routines. In this implementation, ACLs are backed into extended attributes; the base ACL (owner, group, other) permissions remain in the inode for performance and compatibility reasons, so only the extended and default ACLs are placed in extended attributes. The logic for ACL evaluation is provided by the fs-independent kern/kern_acl.c. o Introduce UFS_ACL, a compile-time configuration option that enables support for ACLs on FFS (and potentially other UFS-based file systems). o Introduce ufs_getacl(), ufs_setacl(), ufs_aclcheck(), which respectively get, set, and check the ACLs on the passed vnode. o Introduce ufs_sync_acl_from_inode(), ufs_sync_inode_from_acl() to maintain access control information between inode permissions and extended attribute data. o Modify ufs_access() to load a file access ACL and invoke vaccess_acl_posix1e() if ACLs are available on the file system o Modify ufs_mkdir() and ufs_makeinode() to associate ACLs with newly created directories and files, inheriting from the parent directory's default ACL. o Enable these new vnode operations and conditionally compiled code paths if UFS_ACL is defined. A few notes: o This implementation is fairly widely tested, but still should be considered experimental. o Currently, ACLs are not exported via NFS, instead, the summarizing file mode/etc from the inode is. This results in conservative protection behavior, similar to the behavior of ACL-nonaware programs acting locally. o It is possible that underlying binary data formats associated with this implementation may change. Consumers of the implementation should expect to find their local configuration obsoleted in the next few months, resulting in possible loss of ACL data during an upgrade. o The extended attributes interface and implementation is still undergoing modification to address portable interface concerns, as well as performance. o Many applications do not yet correctly handle ACLs. In general, due to the POSIX.1e ACL model, behavior of ACL-unaware applications will be conservative with respects to file protection; some caution is recommended. o Instructions for configuring and maintaining ACLs on UFS will be committed in the near future; in the mean time it is possible to reference the README included in the last UFS ACL distribution placed in the TrustedBSD web site: http://www.TrustedBSD.org/downloads/ Substantial debugging, hardware, travel, or connectivity support for this project was provided by: BSDi, Safeport Network Services, and NAI Labs. Significant coding contributions were made by Chris Faulhaber. Additional support was provided by Brian Feldman, Thomas Moestl, and Ilmar Habibulin. Reviewed by: jedgar, keichii, mckusick, trustedbsd-discuss, freebsd-fs Obtained from: TrustedBSD Project |
#
dfe67249 |
|
18-Mar-2001 |
Orion Hodson <orion@FreeBSD.org> |
pcm driver for S3 Sonicvibes chipset. Reviewed by: Cameron Grant |
#
acf1b64c |
|
16-Mar-2001 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add the AAC_DEBUG option to enable debugging in the aac driver. Reviewed by: msmith |
#
b21d8bda |
|
16-Mar-2001 |
Warner Losh <imp@FreeBSD.org> |
Add cwn driver |
#
fd272d4a |
|
12-Mar-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Make the miibus'ified the new fxp driver for -current. |
#
f3ce5250 |
|
11-Mar-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Add the Intel PHY driver. |
#
add3f7f3 |
|
09-Mar-2001 |
Mark Murray <markm@FreeBSD.org> |
The /dev/random driver used Rijndael, not Blowfish, now. |
#
e10469fe |
|
09-Mar-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make md(4) and mdconfig(8) take over the role of vn(4) and vnconfig(8) entirely as previously advertised. md(4) adopted all assets of vn(4) some time back and has proper devfs support and cloning abilities to boot. |
#
331c488d |
|
06-Mar-2001 |
Søren Schmidt <sos@FreeBSD.org> |
Split out the ata probes in seperate files for each bus type. |
#
13d609b8 |
|
05-Mar-2001 |
Peter Wemm <peter@FreeBSD.org> |
dcphy depends on pci. This repairs the 'ed' driver's ability to be run on isa-only systems without the pci bus code. |
#
6281b30a |
|
05-Mar-2001 |
Jason Evans <jasone@FreeBSD.org> |
Implement shared/exclusive locks. Reviewed by: bmilekic, jake, jhb |
#
73bbbc64 |
|
27-Feb-2001 |
Julian Elischer <julian@FreeBSD.org> |
put the null modem driver (nmdm) in the right place with the right name. |
#
0a91bb5c |
|
27-Feb-2001 |
Julian Elischer <julian@FreeBSD.org> |
Tell the world about the nulmodem device. |
#
bedee181 |
|
26-Feb-2001 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
Added another wd33c93 based SCSI card driver which replaces the bs driver. Now, default is still bs. Submitted by: nyan and non. Obtained from: NetBSD/pc98 |
#
d8589bd5 |
|
24-Feb-2001 |
Boris Popov <bp@FreeBSD.org> |
Introduce API for sequential reads/writes (build/dissect) of mbuf chains. Reviewed by: Ian Dowse <iedowse@maths.tcd.ie>, Bosko Milekic <bmilekic@technokratis.com>, Julian Elischer <julian@elischer.org> and arch@/net@ Obtained from: smbfs |
#
a66bd858 |
|
07-Feb-2001 |
Semen Ustimenko <semenu@FreeBSD.org> |
Add recently added PHY drivers sources. Reminded by: Peter Wemm <peter@netplex.com.au> |
#
17e401f8 |
|
04-Feb-2001 |
Cameron Grant <cg@FreeBSD.org> |
add driver for CS4281 sound chips Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk> |
#
ebbb7177 |
|
04-Feb-2001 |
Cameron Grant <cg@FreeBSD.org> |
add driver for CMedia CMI8338/CMI8738 sound chips Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk> |
#
1bd4d862 |
|
04-Feb-2001 |
Warner Losh <imp@FreeBSD.org> |
Remove NAHA, NAHATOT and aha_softcs and related code. It was unused except for setting it. Also remove count from aha and replace it with optional. Also add commented out pccard lines for all the old card drivers. They have to be commented out until they are converted because it causes problems in NEWCARD. |
#
611977d0 |
|
04-Feb-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Warn if people include vn(4) in their config. |
#
b84bd585 |
|
31-Jan-2001 |
Mike Smith <msmith@FreeBSD.org> |
Remove obsoleted files. Temporarily turn off the processor and apic drivers until we sort out what these are going to do now. |
#
0adb9b96 |
|
30-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Add hpfs and the config glue for it. It was being skipped from test coverage. |
#
083b300f |
|
30-Jan-2001 |
John Hay <jhay@FreeBSD.org> |
Reflect the new location of the ar and sr devices. |
#
5bb5f2c9 |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Supply a stub bpf_validate() (always returning false - the script is not valid) if BPF is missing. The netgraph_bpf node forced bpf to be present, reflect that in the options. Stop doing a 'count bpf' - we provide stubs. Since a handful of drivers still refer to "bpf.h", provide a more accurate indication that the API is present always. (eg: netinet6) |
#
920c1785 |
|
28-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Stop counting sppp interfaces, we were just testing its presence to give a warning if it was missing. |
#
93cd41f7 |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Zap silly #if NPCI > 0 and the hoops that we jump through for the module case. Use an 'and' case in conf/files so that it only gets compiled if pci is present. |
#
30484008 |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Convert 'count en', 'count lnc', 'count fpa', 'count loop' and 'count ar' back to standard 'optional'. |
#
358f1800 |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Convert ata and atapi #if NATA* > 0 to options instead. Stop config trying to count the number of ata* devs since they were not used anyway. |
#
810d0bd1 |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Turn '#if NSNP > 0' into an option. |
#
03927d3c |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Send "#if NISA > 0" to the bit-bucket and replace it with an option. These were compile-time "is the isa code present?" tests and not 'how many isa busses' tests. |
#
96b15e09 |
|
21-Jan-2001 |
Warner Losh <imp@FreeBSD.org> |
wi has been converted to NEWCARD, so included it when pccard is included. Also, I forgot to update this to the new cis[] structure last night, mainly due to the above omission. |
#
11f3349f |
|
20-Jan-2001 |
Warner Losh <imp@FreeBSD.org> |
Break the isa attachment of the Crystal Semiconductor 89x0 into two parts: isa and pccard. The isa one is known to work with an IBM EtherJet ISA card. The pccard one isn't known to work because the EtherJet pccard I purchased recently arrived DOA :-(. I'll commit the pccard.conf entry when the replacement card arrives. I plan on MFC this in a week or two. |
#
238510fc |
|
15-Jan-2001 |
Jason Evans <jasone@FreeBSD.org> |
Implement condition variables. |
#
b82286ac |
|
09-Jan-2001 |
Matt Jacob <mjacob@FreeBSD.org> |
moved isp_pci.c from pci to dev/isp |
#
42383764 |
|
08-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Move if_wl.c from sys/i386/isa to dev/wi - it is not i386 (or even isa) specific. |
#
bf374e5b |
|
07-Jan-2001 |
Sergey Babkin <babkin@FreeBSD.org> |
Completed move of Digiboard drivers to dev/dgb |
#
bdbd54e4 |
|
07-Jan-2001 |
Warner Losh <imp@FreeBSD.org> |
Add aic to the list of drivers that might work with NEWCARD. I've added the same config lines that NetBSD has. This builds with both NEWCARD and GENERIC config files. |
#
568ffd88 |
|
07-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
The ep pccard code had newcard hooks added to it, but it isn't being compiled under newcard yet. ep works just fine under newcard with the missing ID matching code added (not committed yet): ep0: <3Com 3c589 10Mbps Ethernet> at port 0x300-0x30f irq 9 function 0 config 1 on pccard1 ep0: Ethernet address 00:10:4b:df:48:57 |
#
b3fc6157 |
|
05-Jan-2001 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Remove vga_pci generic driver. Approved by: Mike Smith <msmith@freebsd.org> |
#
c89863e8 |
|
03-Jan-2001 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Remove alpm numbering. |
#
dd488b6d |
|
27-Dec-2000 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Retire kernfs (kernel part). |
#
a906b372 |
|
22-Dec-2000 |
Cameron Grant <cg@FreeBSD.org> |
add sys/dev/sound/pcm/buffer.c, lefo out of last commit |
#
d8c616ae |
|
22-Dec-2000 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add ACPI AC adaptor and ACPI Control Method Battery. And install notify handler for thermal zone . |
#
a67036f7 |
|
18-Dec-2000 |
Assar Westerlund <assar@FreeBSD.org> |
revert addition of strlcpy/strlcat |
#
41155d57 |
|
17-Dec-2000 |
Assar Westerlund <assar@FreeBSD.org> |
add strlcpy and strlcat to kernel |
#
0f55ac6c |
|
17-Dec-2000 |
Cameron Grant <cg@FreeBSD.org> |
kobjify. this gives us several benefits, including: * easier extensibility- new optional methods can be added to ac97/mixer/channel classes without having to fixup every driver. * forward compatibility for drivers, provided no new mandatory methods are added. |
#
6aa623bf |
|
15-Dec-2000 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Back out these two changes inadvertantly made with the last commit. |
#
6c8388dd |
|
15-Dec-2000 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
SNAPDATE is an obsolete mechanism which has also been pretty much of a no-op all along anyway. There are other ways to set this for release building, so nuke it. PR: 22979 |
#
137b8d71 |
|
13-Dec-2000 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add subr_sbuf.c. |
#
8983cfbf |
|
12-Dec-2000 |
Mike Smith <msmith@FreeBSD.org> |
Next round of PCI subsystem updates: - Break out the /dev/pci driver into a separate file. - Kill the COMPAT_OLDPCI support. - Make the EISA bridge attach a bit more like the old code; explicitly check for the existence of eisa0/isa0 and only attach if they don't already exist. Only make one bus_generic_attach() pass over the bridge, once both busses are attached. Note that the stupid Intel bridge's class is entirely unpredictable. - Add prototypes and re-layout the core PCI modules in line with current coding standards (not a major whitespace change, just moving the module data to the top of the file). - Remove redundant type-2 bridge support from the core PCI code; the PCI-CardBus code does this itself internally. Remove the now entirely redundant header-class-specific support, as well as the secondary and subordinate bus number fields. These are bridge attributes now. - Add support for PCI Extended Capabilities. - Add support for PCI Power Management. The interface currently allows a driver to query and set the power state of a device. - Add helper functions to allow drivers to enable/disable busmastering and the decoding of I/O and memory ranges. - Use PCI_SLOTMAX and PCI_FUNCMAX rather than magic numbers in some places. - Make the PCI-PCI bridge code a little more paranoid about valid I/O and memory decodes. - Add some more PCI register definitions for the command and status registers. Correct another bogus definition for type-1 bridges. |
#
6bcd295b |
|
12-Dec-2000 |
Mike Smith <msmith@FreeBSD.org> |
Always build the ISA and EISA bridge code. This is slightly unintiuitive, but serves to work around some uncleanliness whereby the ISA bus is not found on Alpha systems with PCI:EISA bridges due to the lack of EISA code for the Alpha. |
#
92cf772d |
|
11-Dec-2000 |
Jake Burkholder <jake@FreeBSD.org> |
- Add code to detect if a system call returns with locks other than Giant held and panic if so (conditional on witness). - Change witness_list to return the number of locks held so this is easier. - Add kern/syscalls.c to the kernel build if witness is defined so that the panic message can contain the name of the offending system call. - Add assertions that Giant and sched_lock are not held when returning from a system call, which were missing for alpha and ia64. |
#
341cbf7f |
|
11-Dec-2000 |
John Hay <jhay@FreeBSD.org> |
Change sppp from optional to count. At least ar(4) and sr(4) needs it in the non-NETGRAPH case. |
#
7e820aaa |
|
08-Dec-2000 |
Mike Smith <msmith@FreeBSD.org> |
Next-phase PCI system update; move PCI core code to sys/dev and update header include path to include sys/dev to avoid massive #include updates. |
#
0ad84a81 |
|
01-Dec-2000 |
Jake Burkholder <jake@FreeBSD.org> |
Forgot this file in previous commit to remove file kern_threads.c |
#
5ce7c8b5 |
|
01-Dec-2000 |
Mike Smith <msmith@FreeBSD.org> |
Add one new file brought in with the ACPI CA 20001115 import. |
#
af82f62d |
|
27-Nov-2000 |
Jonathan Chen <jon@FreeBSD.org> |
A bunch of newcard/cardbus changes that's been sitting in my tree for a while: - Make pccbb/cardbus kld loadable and unloadable. - Make pccbb/cardbus use the power interface from pccard instead of inventing its own. - some other minor fixes |
#
b3d39a56 |
|
24-Nov-2000 |
Peter Wemm <peter@FreeBSD.org> |
Update the ed driver to probe and attach under a NEWCARD kernel (I was using a cardbus based system with pccbb providing the pcic interface). Something isn't quite right.. when the driver allocates and activates its resources, the IO space that was requested reads as all zeros (versus the original 0xff's as it normally is when there is no device responding). Also, deactivate the resources before releasing them. OLDCARD doesn't seem to care but NEWCARD/CARDBUS get rather unhappy if you release a resource that hasn't been deactivated yet. Make pcic_p.c only compile with oldcard kernels. |
#
830fedd2 |
|
19-Nov-2000 |
Alfred Perlstein <alfred@FreeBSD.org> |
Accept filters broke kernels compiled without options INET. Make accept filters conditional on INET support to fix. Pointed out by: bde Tested and assisted by: Stephen J. Kiernan <sab@vegamuse.org> |
#
7d7a5b89 |
|
16-Nov-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Add kernel option NETGRAPH_ONE2MANY. |
#
c9527183 |
|
16-Nov-2000 |
Warner Losh <imp@FreeBSD.org> |
vx is now optional rather than taking a count. Reflect that in the files. Also a minor white space nit. Submitted by: bde |
#
f50b4dbe |
|
12-Nov-2000 |
Warner Losh <imp@FreeBSD.org> |
Add ray driver for card (OLDCARD) and pccard (NEWCARD) entries. Add sn driver for pccard (NEWCARD). |
#
c69ab48d |
|
08-Nov-2000 |
Takanori Watanabe <takawata@FreeBSD.org> |
Farewell our code. We will switch acpica code from Intel. This code has help us comprehence ACPI spec . Contributors of this code is as follows(except for FreeBSD commiter): Yasuo Yokoyama, Munehiro Matsuda, and ALL acpi-jp@jp.freebsd.org people. Thanks. R.I.P. |
#
78531822 |
|
07-Nov-2000 |
Mike Smith <msmith@FreeBSD.org> |
Don't build the ACPI CA debugger unless the ACPI_DEBUG option is present. Only build the IA32 support on i386. Build the IA64 support on IA64. |
#
00910f28 |
|
05-Nov-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
ELF kernels should use an ELF sysvec. This allows us to move a.out specific files to those platforms that acutally support a.out. |
#
6093b91d |
|
31-Oct-2000 |
Cameron Grant <cg@FreeBSD.org> |
switch over to new sb8/sb16 code |
#
eee8b161 |
|
28-Oct-2000 |
Cameron Grant <cg@FreeBSD.org> |
add commented-out entries for the new sb8 and sb16 drivers |
#
a06f3df8 |
|
28-Oct-2000 |
Mike Smith <msmith@FreeBSD.org> |
Connect the new ACPICA code to the 'acpica' device. |
#
2fd84f56 |
|
25-Oct-2000 |
Nick Hibma <n_hibma@FreeBSD.org> |
The USB scanner driver. To be used together with SANE. |
#
e6c12d85 |
|
25-Oct-2000 |
Mike Smith <msmith@FreeBSD.org> |
Major update to the 'twe' driver. - Layout reorganisation to enhance portability. The driver now has a relatively MI 'core' and a FreeBSD-specific layer over the top. Since the NetBSD people have already done their own port, this is largely just to help me with the BSD/OS port. - Request ID allocation changed to improve performance (I'd been considering switching to this approach after having failed to come up with a better way to dynamically allocate request IDs, and seeing Andy Doran use it in the NetBSD port of the driver convinced me that I was wasting my time doing it any other way). Now we just allocate all the requests up front. - Maximum request count bumped back to 255 after characterisation of a firmware issue (off-by-one causing it to crash with 256 outstanding commands). - Control interface implemented. This allows 3ware's '3dm' utility to talk to the controller. 3dm will be available from 3ware shortly. - Controller soft-reset feature added; if the controller signals a firmware or protocol error, the controller will be reset and all outstanding commands will be retried. |
#
821c54a1 |
|
23-Oct-2000 |
Sergey Babkin <babkin@FreeBSD.org> |
Added lines for the wds driver. Approved by: gibbs |
#
ae94720d |
|
22-Oct-2000 |
Noriaki Mitsunaga <non@FreeBSD.org> |
Add PC-Card/ISA SCSI host adpater drivers from NetBSD/pc98 (a NetBSD port for NEC PC-98x1 machines). They are ncv for NCR 53C500, nsp for Workbit Ninja SCSI-3, and stg for TMC 18C30 and 18C50. I thank NetBSD/pc98 and bsd-nomads people. Obtained from: NetBSD/pc98 |
#
feb78939 |
|
19-Oct-2000 |
Jonathan Chen <jon@FreeBSD.org> |
NEWCARD/Cardbus - This commit adds support for Xircom X3201 based cardbus cards. Support for the TDK 78Q2120 MII is also added. IBM Etherjet, Intel and Xircom cards uses these chips. Note that as a result of this commit, some Intel/DEC 21143 based cardbus cards will also attach, but not get link. That is being looked at. |
#
0db7e66c |
|
17-Oct-2000 |
Jonathan Chen <jon@FreeBSD.org> |
Initial commit of NEWCARD cardbus side (that actually compiles and works) Files: dev/cardbus/cardbus.c dev/cardbus/cardbusreg.h dev/cardbus/cardbusvar.h dev/cardbus/cardbus_cis.c dev/cardbus/cardbus_cis.h dev/pccbb/pccbb.c dev/pccbb/pccbbreg.h dev/pccbb/pccbbvar.h dev/pccbb/pccbb_if.m This should support: - cardbus controllers: * TI 113X * TI 12XX * TI 14XX * Ricoh 47X * Ricoh 46X * ToPIC 95 * ToPIC 97 * ToPIC 100 * Cirrus Logic CLPD683x - cardbus cards * 3c575BT * 3c575CT * Xircom X3201 (includes IBM, Xircom and, Intel cards) [ 3com support already in kernel, Xircom will be committed real soon now] This doesn't work with 16bit pccards under NEWCARD. Enable in your config by having "device pccbb" and "device cardbus". (A "device pccard" will attach a pccard bus, but it means you system have a high chance of panicing when a 16bit card is inserted) It should be fairly simple to make a driver attach to cardbus under NEWCARD -- simply add an entry for attaching to cardbus on a new DRIVER_MODULE and add new device IDs as necessary. You should also make sure the card can be detached nicely without the interrupt routine doing something weird, like going into an infinite loop. Usually that should entail adding an additional check when a pci register or the bus space is read to check if it equals 0xffffffff. Any problems, please let me know. Reviewed by: imp |
#
a6278a2a |
|
14-Oct-2000 |
Mark Murray <markm@FreeBSD.org> |
After some complaints about the dir names, the random device is now in dirs called sys/*/random/ instead of sys/*/randomdev/*. Introduce blocking, but only at startup; the random device will block until the first reseed happens to prevent clients from using untrustworthy output. Provide a read_random() call for the rest of the kernel so that the entropy device does not need to be present. This means that things like IPX no longer need to have "device random" hardcoded into thir kernel config. The downside is that read_random() will provide very poor output until the entropy device is loaded and reseeded. It is recommended that developers do NOT use the read_random() call; instead, they should use arc4random() which internally uses read_random(). Clean up the mutex and locking code a bit; this makes it possible to unload the module again. |
#
0b0c10b4 |
|
13-Oct-2000 |
Adrian Chadd <adrian@FreeBSD.org> |
Initial commit of IFS - a inode-namespaced FFS. Here is a short description: How it works: -- Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.) I didn't see the need in duplicating all of sys/ufs/ffs to get this off the ground. File creation is done through a special file - 'newfile' . When newfile is called, the system allocates and returns an inode. Note that newfile is done in a cloning fashion: fd = open("newfile", O_CREAT|O_RDWR, 0644); fstat(fd, &st); printf("new file is %d\n", (int)st.st_ino); Once you have created a file, you can open() and unlink() it by its returned inode number retrieved from the stat call, ie: fd = open("5", O_RDWR); The creation permissions depend entirely if you have write access to the root directory of the filesystem. To get the list of currently allocated inodes, VOP_READDIR has been added which returns a directory listing of those currently allocated. -- What this entails: * patching conf/files and conf/options to include IFS as a new compile option (and since ifs depends upon FFS, include the FFS routines) * An entry in i386/conf/NOTES indicating IFS exists and where to go for an explanation * Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS routines require (ffs_mount() and ffs_reload()) * a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS routines. IFS replaces some of the vfsops, and a handful of vnops - most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR(). Any other directory operation is marked as invalid. What this results in: * an IFS partition's create permissions are controlled by the perm/ownership of the root mount point, just like a normal directory * Each inode has perm and ownership too * IFS does *NOT* mean an FFS partition can be opened per inode. This is a completely seperate filesystem here * Softupdates doesn't work with IFS, and really I don't think it needs it. Besides, fsck's are FAST. (Try it :-) * Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC). Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against this particular inode, and unravelling THAT code isn't trivial. Therefore, useful inodes start at 3. Enjoy, and feedback is definitely appreciated! |
#
d1eefff4 |
|
13-Oct-2000 |
Mike Smith <msmith@FreeBSD.org> |
Whoops, add the 'twe' files. Submitted by: Chris Faulhaber <jedgar@fxp.org> |
#
7c6d7d5f |
|
13-Oct-2000 |
Søren Schmidt <sos@FreeBSD.org> |
Add ata-raid.c to the ata driver |
#
925be47c |
|
09-Oct-2000 |
Hellmuth Michaelis <hm@FreeBSD.org> |
update to i4b version 0.95.04 |
#
3c5656bf |
|
05-Oct-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Driver for the Intel 82801AA (ICH) SMBus controller and compatibles. Obtained from: Whistle source tree |
#
bb9c344f |
|
04-Oct-2000 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Correct the dependency for aicasm. |
#
a6bc3edb |
|
03-Oct-2000 |
Peter Wemm <peter@FreeBSD.org> |
Move the ata/atapi files to the common area. They were the same on all platforms. While here, work around a strange quirk in config(8) that I do not yet understand. Rearrange which atapi* files have 'optional' vs. 'count' so that you can have atapifd without atapicd. The only difference should be that this works instead of having a link error because atapi-all.o got left out of the kernel. |
#
005b841f |
|
02-Oct-2000 |
John Baldwin <jhb@FreeBSD.org> |
Move sys/dev/nulldev to sys/dev/null to be more consistent with naming under sys/dev. |
#
96f52845 |
|
30-Sep-2000 |
Mike Smith <msmith@FreeBSD.org> |
More updates to the ACPI code: - Move all register I/O into acpi_io.c - Move event handling into acpi_event.c - Reorganise headers into acpivar/acpireg/acpiio - Move find-RSDT and find-ACPI-owned-memory into acpi_machdep - Allocate all resources (except those detailed only by AML) as real resources. Add infrastructure that will make adding resource support to AML code easy. - Remove all ACPI #ifdefs in non-ACPI code - Removed unnecessary includes - Minor style and commenting fixes Reviewed by: iwasaki |
#
f59f3733 |
|
30-Sep-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
The `ed' NIC driver has been changed to work on Alpha now. So enable it on all platforms. Submitted by: Alexander Langer <alex@big.endian.de> |
#
0e6d3195 |
|
28-Sep-2000 |
Warner Losh <imp@FreeBSD.org> |
Add support for pccard attachments of the ex driver. It supports the Olicom OC-2220 card, and maybe others. Submitted by: iwasaki Reviewed by: mdodd |
#
29fa94c7 |
|
23-Sep-2000 |
Cameron Grant <cg@FreeBSD.org> |
add feeder_fmt.c |
#
4d7e8d91 |
|
23-Sep-2000 |
John Baldwin <jhb@FreeBSD.org> |
Enable the ESS Maesto driver. Approved by: cg |
#
321ea9d9 |
|
22-Sep-2000 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Use quoted includes instead of full path references inside the aic7xxx sequencer files. Different platforms place the included files in different locations and it is easier to modify the include path passed as arguments to the assembler than adding #ifdef support to the assembler. |
#
73334a43 |
|
20-Sep-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Add a new driver for the AMD PCnet/FAST, FAST+ and Home PCI adapters. Previously, these cards were supported by the lnc driver (and they still are, but the pcn driver will claim them first), which is fine except the lnc driver runs them in 16-bit LANCE compatibility mode. The pcn driver runs these chips in 32-bit mode and uses the RX alignment feature to achieve zero-copy receive. (Which puts it in the same class as the xl, fxp and tl chipsets.) This driver is also MI, so it will work on the x86 and alpha platforms. (The lnc driver is still needed to support non-PCI cards. At some point, I'll need to newbusify it so that it too will me MI.) The Am79c978 HomePNA adapter is also supported. |
#
b54acb74 |
|
20-Sep-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Add a homePNA PHY driver. This is really only a stub: MII-based homePNA PHYs tend to look like 10mbps PHYs with no autonegotiation. This allows us to display the proper media type and link status however. |
#
05620343 |
|
16-Sep-2000 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Update for aic7xxx driver reorganization. |
#
b14d7dac |
|
13-Sep-2000 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
- Newbus'ify and bus_space'ify. - Separate bus dependent part and independent part. - Moved source files to sys/dev/fe (repo copied). - Fixed some comments by chi@bd.mbn.or.jp (Chiharu Shibata) Tested by: bsd-nomads@clave.gr.jp and FreeBSD98-testers@jp.freebsd.org |
#
09344c27 |
|
13-Sep-2000 |
Peter Wemm <peter@FreeBSD.org> |
Activate the rest of the aac driver, otherwise even GENERIC fails to build. Forgotten by: msmith |
#
35863739 |
|
12-Sep-2000 |
Mike Smith <msmith@FreeBSD.org> |
A new driver for PCI:SCSI RAID controllers based on the Adaptec FSA design. This includes integrated Dell RAID controllers, the Dell PERC 2/QC and the HP NetRAID-4M. |
#
ac519db0 |
|
12-Sep-2000 |
Mark Murray <markm@FreeBSD.org> |
Turn the /dev/random device into a (pseudo-)device, not an option. (I didn't realise that it was this easy!) Submitted by: jhb |
#
4d87a031 |
|
10-Sep-2000 |
Mark Murray <markm@FreeBSD.org> |
Large upgrade to the entropy device; mainly inspired by feedback from many folk. o The reseed process is now a kthread. With SMPng, kthreads are pre-emptive, so the annoying jerkiness of the mouse is gone. o The data structures are protected by mutexes now, not splfoo()/splx(). o The cryptographic routines are broken out into their own subroutines. this facilitates review, and possible replacement if that is ever found necessary. Thanks to: kris, green, peter, jasone, grog, jhb Forgotten to thank: You know who you are; no offense intended. |
#
0384fff8 |
|
06-Sep-2000 |
Jason Evans <jasone@FreeBSD.org> |
Major update to the way synchronization is done in the kernel. Highlights include: * Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The alpha port is still in transition and currently uses both.) * Per-CPU idle processes. * Interrupts are run in their own separate kernel threads and can be preempted (i386 only). Partially contributed by: BSDi (BSD/OS) Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh |
#
ef137fd3 |
|
01-Sep-2000 |
Mike Smith <msmith@FreeBSD.org> |
Add the 'asr' driver, supplied by Mark Salyzyn of Adaptec (nee DPT). This provides support for the Adaptec SCSI RAID controller family, as well as the DPT SmartRAID V and VI families. The driver will be maintained by Mark and Adaptec, and any changes should be referred to the MAINTAINER. |
#
ed2dbd31 |
|
31-Aug-2000 |
Archie Cobbs <archie@FreeBSD.org> |
New netgraph node type for Ethernet bridging. No ipfw support yet. |
#
b1f12b61 |
|
31-Aug-2000 |
Takanori Watanabe <takawata@FreeBSD.org> |
Merge rest piece of ACPI driver.To activate acpi driver ,add device acpi line. Merge finished. But still experimental phase.Need more hack! Obtained from:ACPI for FreeBSD project |
#
2fa70abe |
|
29-Aug-2000 |
Cameron Grant <cg@FreeBSD.org> |
activate fm801 |
#
21c3015a |
|
28-Aug-2000 |
Doug Rabson <dfr@FreeBSD.org> |
* Completely rewrite the alpha busspace to hide the implementation from the drivers. * Remove legacy inx/outx support from chipset and replace with macros which call busspace. * Rework pci config accesses to route through the pcib device instead of calling a MD function directly. With these changes it is possible to cleanly support machines which have more than one independantly numbered PCI busses. As a bonus, the new busspace implementation should be measurably faster than the old one. |
#
1684d9d7 |
|
26-Aug-2000 |
Warner Losh <imp@FreeBSD.org> |
Make if_xe eepend on both xe and card. |
#
e07acca5 |
|
22-Aug-2000 |
Mike Smith <msmith@FreeBSD.org> |
This is the initial import of a new driver for the current family of PCI:SCSI RAID controllers from Mylex. |
#
3f54a085 |
|
20-Aug-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c) Remove old DEVFS support fields from dev_t. Make uid, gid & mode members of dev_t and set them in make_dev(). Use correct uid, gid & mode in make_dev in disk minilayer. Add support for registering alias names for a dev_t using the new function make_dev_alias(). These will show up as symlinks in DEVFS. Use makedev() rather than make_dev() for MFSs magic devices to prevent DEVFS from noticing this abuse. Add a field for DEVFS inode number in dev_t. Add new DEVFS in fs/devfs. Add devfs cloning to: disk minilayer (ie: ad(4), sd(4), cd(4) etc etc) md(4), tun(4), bpf(4), fd(4) If DEVFS add -d flag to /sbin/inits args to make it mount devfs. Add commented out DEVFS to GENERIC |
#
7b2182ad |
|
14-Aug-2000 |
Atsushi Onoe <onoe@FreeBSD.org> |
add dev/awi/awi_wicfg.c to support wi(4) compatible configuration interface. add dev/awi/awi_wep.c to support WEP for awi. add dependency for awi to crypto/rc4/rc4.c |
#
ba90ebe7 |
|
08-Aug-2000 |
Cameron Grant <cg@FreeBSD.org> |
activate via82c686 audio driver |
#
0d864285 |
|
02-Aug-2000 |
Peter Wemm <peter@FreeBSD.org> |
Make the pfil.c code conditional on either option PFIL_HOOKS or IPFILTER. The previous line was an AND. This change means you can compile in the pfil_hook stuff and make it available for other users besides ipfilter. |
#
302ec06f |
|
01-Aug-2000 |
Nick Sayer <nsayer@FreeBSD.org> |
Hook up the ESS solo driver in the correct branch this time. |
#
42f66362 |
|
25-Jul-2000 |
Paul Saab <ps@FreeBSD.org> |
kern_accf.c is now uipc_accf.c after repo copy. |
#
a5213f14 |
|
20-Jul-2000 |
Nick Sayer <nsayer@FreeBSD.org> |
Add the tap driver. The tap driver is used to present a virtual Ethernet interface to the system. Packets presented by the network stack to the interface are made available to a character device in /dev. With tap and the bridge code, you can make remote bridge configurations where both sides of the bridge are separated by userland daemons. This driver also has a special naming hack to allow it to serve a similar purpose to the vmware port. Submitted by: myevmenkin@att.com, vsilyaev@mindspring.com |
#
f21dbedd |
|
18-Jul-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Driver for LMC1504 card: four port E1 or fractional E1. T1 support is possible but I have no T1 hardware to test with. The vendor can be found at: www.lanmedia.com |
#
e9fb12d3 |
|
18-Jul-2000 |
Nick Hibma <n_hibma@FreeBSD.org> |
Add the umodem driver. |
#
259665fa |
|
15-Jul-2000 |
Kenneth D. Merry <ken@FreeBSD.org> |
Get rid of non-existent CAM 'scan' device. PR: 19961 Submitted by: Cyrille Lefevre <clefevre@citeweb.net> |
#
e547d6fd |
|
12-Jul-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add support for Intel's i810 chipset with integrated graphics. An associated patch to XFree86 allows the X server to work with this chipset on FreeBSD. Additional work will include porting the Linux 3D driver. Submitted by: Ruslan Ermilov <ru@FreeBSD.org> |
#
f2a2857b |
|
11-Jul-2000 |
Kirk McKusick <mckusick@FreeBSD.org> |
Add snapshots to the fast filesystem. Most of the changes support the gating of system calls that cause modifications to the underlying filesystem. The gating can be enabled by any filesystem that needs to consistently suspend operations by adding the vop_stdgetwritemount to their set of vnops. Once gating is enabled, the function vfs_write_suspend stops all new write operations to a filesystem, allows any filesystem modifying system calls already in progress to complete, then sync's the filesystem to disk and returns. The function vfs_write_resume allows the suspended write operations to begin again. Gating is not added by default for all filesystems as for SMP systems it adds two extra locks to such critical kernel paths as the write system call. Thus, gating should only be added as needed. Details on the use and current status of snapshots in FFS can be found in /sys/ufs/ffs/README.snapshot so for brevity and timelyness is not included here. Unless and until you create a snapshot file, these changes should have no effect on your system (famous last words). |
#
fb0ef528 |
|
11-Jul-2000 |
Seigo Tanimura <tanimura@FreeBSD.org> |
Finally merge newmidi. (I had been busy for my own research activity until the last weekend) Supported devices: SB Midi Port (sbc + midi) SB OPL3 (sbc + midi) 16550 UART (midi, needs a trick in your hint) CS461x Midi Port (csa + midi) OSS-compatible sequencer (seq) Supported playing software: playmidi (We definitely need more) Notes: /dev/midistat now reports installed midi drivers. /dev/sndstat reports only pcm drivers. We need the new name(pcmstat?). EMU8000(SB AWE) does not sound yet but does get probed so that the OPL3 synth on an AWE card works. TODO: MSS/PCI bridge drivers Midi-tty interface to support general serial devices Modules |
#
88bab4e4 |
|
10-Jul-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Finish repo-copy: Move ufs/ufs/ufs_disksubr.c to kern/subr_disklabel.c. These functions are not UFS specific and are in fact used all over the place. |
#
c9ec235c |
|
07-Jul-2000 |
Mark Murray <markm@FreeBSD.org> |
Add entropy gathering code. This will work whether the module is compiled in or loaded. |
#
686cdd19 |
|
04-Jul-2000 |
Jun-ichiro itojun Hagino <itojun@FreeBSD.org> |
sync with kame tree as of july00. tons of bug fixes/improvements. API changes: - additional IPv6 ioctls - IPsec PF_KEY API was changed, it is mandatory to upgrade setkey(8). (also syntax change) |
#
e1e1452d |
|
26-Jun-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Make the ng_ether(4) node type dynamically loadable like the rest. This means 'options NETGRAPH' is no longer necessary in order to get netgraph-enabled Ethernet interfaces. This supports loading/unloading the ng_ether.ko and attaching/detaching the Ethernet interface in any order. Add two new hooks 'upper' and 'lower' to allow access to the protocol demux engine and the raw device, respectively. This enables bridging to be defined as a netgraph node, if so desired. Reviewed by: freebsd-net@freebsd.org |
#
15bbdecf |
|
25-Jun-2000 |
Mark Murray <markm@FreeBSD.org> |
Get the build bits right for the new Architecture Independant null- and entropy drivers. Reviewed by: dfr(mostly) |
#
b2ca251e |
|
21-Jun-2000 |
Coleman Kane <cokane@FreeBSD.org> |
Stick the tdfx entry in here, after some cleaning. |
#
a79b7128 |
|
19-Jun-2000 |
Alfred Perlstein <alfred@FreeBSD.org> |
return of the accept filter part II accept filters are now loadable as well as able to be compiled into the kernel. two accept filters are provided, one that returns sockets when data arrives the other when an http request is completed (doesn't work with 0.9 requests) Reviewed by: jmg |
#
7013252c |
|
17-Jun-2000 |
Matt Jacob <mjacob@FreeBSD.org> |
Add ispfw as an optional 'device' (for static linking) |
#
696a3962 |
|
12-Jun-2000 |
Peter Wemm <peter@FreeBSD.org> |
The buslogic driver doesn't have static unit limits (ie: no bt.h or arbitary NBT limits) |
#
1f82d2d7 |
|
11-Jun-2000 |
Seigo Tanimura <tanimura@FreeBSD.org> |
1. Update Comtrol RocketPort driver(rp) to version 3.02. 2. Newbusify the driver. 3. Build as a module. 4. Use correct minor numbers when creating device files. 5. Correctly lock control characters. 6. Return ENXIO when device not configured. Submitted by: Tor Egge <Tor.Egge@fast.no> 7. Fix the baud_table. Submitted by: Elliot Dierksen <ebd@oau.org> Note: - the old driver still lives in src/sys/i386/isa, so that you can revert to it if something goes wrong. - The module does not detach very well. Attaching works fine. |
#
3f664fc6 |
|
10-Jun-2000 |
Peter Wemm <peter@FreeBSD.org> |
A checkpoint of a part of a work-in-progress. Some more cleanups for config(8). This commit allows control of the creation of the #include "foo.h" files. We now only create them explicitly when needed. BTW; these are mostly bad because they usually imply static limits on numbers of units for devices. eg: struct mysoftc sc[NFOO]; These static limits have Got To Go. |
#
6d08679b |
|
09-Jun-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add files for agp driver. |
#
a996141f |
|
06-Jun-2000 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce additional POSIX.1e-related stubs o options CAPABILITIES o kern/kern_cap.c -- syscall stubs returning ENOSYS syscalls.master changes to follow Obtained from: TrustedBSD Project |
#
24cd998f |
|
06-Jun-2000 |
Cameron Grant <cg@FreeBSD.org> |
enable ds1 driver |
#
bd68ce8b |
|
30-May-2000 |
Cameron Grant <cg@FreeBSD.org> |
yamaha ds1/ds1e pci sound driver - work in progress, mixer and playback only. tested on ymf724f only. conf/files entry is commented out, enable it manually to test this code and let me know results. |
#
30d1c11e |
|
28-May-2000 |
Peter Wemm <peter@FreeBSD.org> |
Encapsulate the old PCI compatability support and APIs completely under "options COMPAT_OLDPCI". This option already existed, but now also tidies up the declarations in #include <pci/pci*.h>. It is amazing how much stuff was using the old pre-FreeBSD 3.x names and going silently undetected. |
#
ca2e0534 |
|
28-May-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add taskqueue system for easy-to-use SWIs among other things. Reviewed by: arch |
#
24964514 |
|
21-May-2000 |
Peter Wemm <peter@FreeBSD.org> |
Checkpoint of a new physical memory backed object type, that does not have pv_entries. This is intended for very special circumstances, eg: a certain database that has a 1GB shm segment mapped into 300 processes. That would consume 2GB of kvm just to hold the pv_entries alone. This would not be used on systems unless the physical ram was available, as it's not pageable. This is a work-in-progress, but is a useful and functional checkpoint. Matt has got some more fixes for it that will be committed soon. Reviewed by: dillon |
#
9b55e84f |
|
15-May-2000 |
Paul Richards <paul@FreeBSD.org> |
Re-organise lnc driver in preparation for newbusifying it. |
#
5baeead2 |
|
14-May-2000 |
Paul Richards <paul@FreeBSD.org> |
Fix location of lnc pci code. |
#
ca9f5045 |
|
14-May-2000 |
Paul Richards <paul@FreeBSD.org> |
Build lnc driver from /sys/dev from now on. |
#
40f251bc |
|
10-May-2000 |
Darren Reed <darrenr@FreeBSD.org> |
bring in net/pfil.c for pfil_hooks or ipfilter |
#
b5ea1f0c |
|
01-May-2000 |
Nick Hibma <n_hibma@FreeBSD.org> |
The USB double bulk pipe driver (Host to host cables). Currently there are two supported chips, the NetChip 1080 (only prototypes available) and the EzLink cable. Any other cable should be supported however as they are all very much alike (there is a difference between them wrt performance). It uses Netgraph. This driver was mostly written by Doug Ambrisko and Julian Elischer and I would like to thank Whistle for yet another contribution. And my aplogies to them for me sitting on the driver for so long (2 months). Also, many thanks to Reid Augustin from NetChip for providing me with a prototype of their 1080 chip. Be aware of the fact that this driver is very immature and has only been tested very lightly. If someone feels like learning about Netgraph however this is an excellent driver to start playing with. |
#
68c68f01 |
|
01-May-2000 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Split out the ISA bus front end code into its own file. PCCARD attachment coming later this week. Mitsuru IWASAKI provided a patch to -mobile which I used to make sure I was doing the right thing but only a small part of the actual patch was used. |
#
599fcb02 |
|
26-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Driver for DEC "Tulip" based WAN cards from LanMedia Corporation. This driver should support both the SSI (V.35 etc) E1/T1 unchannelized, DS3 and HSSI cards. Only tested on the SSI card. More info at: http://www.lanmedia.com Thanks to LanMedia for donating two LMC1000P cards. if_de.c driver modified by: LanMedia NetGraphification by: Stephen Kiernan <sk-ports@vegamuse.org> |
#
0c8aac01 |
|
24-Apr-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
Add linker_if.m to the mix. |
#
b0e56cde |
|
24-Apr-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
* Use sys/sys/random.h rather than a i386 specific one. * There was nothing that should be machine dependant about i386/isa/random_machdep.c, so it is now sys/kern/kern_random.c. |
#
bd80fa2c |
|
21-Apr-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Reoganize/update the SysKonnect driver: - Break out the support for the XMAC II's PHY into an miibus driver. - Reorganize the probe/attach stuff using newbus. Each XMAC is now attached to the parent GEnesis controller using newbus. This is necessary since each XMAC must also have an attached miibus, and the miibus read/write register routines need to be able to get at the softc struct for each XMAC, not the one for the parent controller. This allows me to get rid of the grotty code I added for selecting the unit numbers for the ifnet interfaces: the unit numbers are now derived from the newbus-assigned unit numbers, which should track with the ifnet interface numbers. I think. At the very least, there should never be any collisions. - Add support for the SK-9821 and SK-9822 1000baseTX adapters. Special thanks to SysKonnect for loaning me two adapters for testing. |
#
7eaef3ae |
|
20-Apr-2000 |
Warner Losh <imp@FreeBSD.org> |
card_if.m used by oldcard now too |
#
a6fc5fff |
|
16-Apr-2000 |
Warner Losh <imp@FreeBSD.org> |
Add kern_event.c |
#
346ac330 |
|
16-Apr-2000 |
Warner Losh <imp@FreeBSD.org> |
Forgot to commit this to add card_if.m. Pointed out by: iwasaki-san. |
#
a64ed089 |
|
14-Apr-2000 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce extended attribute support for FFS, allowing arbitrary (name, value) pairs to be associated with inodes. This support is used for ACLs, MAC labels, and Capabilities in the TrustedBSD security extensions, which are currently under development. In this implementation, attributes are backed to data vnodes in the style of the quota support in FFS. Support for FFS extended attributes may be enabled using the FFS_EXTATTR kernel option (disabled by default). Userland utilities and man pages will be committed in the next batch. VFS interfaces and man pages have been in the repo since 4.0-RELEASE and are unchanged. o ufs/ufs/extattr.h: UFS-specific extattr defines o ufs/ufs/ufs_extattr.c: bulk of support routines o ufs/{ufs,ffs,mfs}/*.[ch]: hooks and extattr.h includes o contrib/softupdates/ffs_softdep.c: extattr.h includes o conf/options, conf/files, i386/conf/LINT: added FFS_EXTATTR o coda/coda_vfsops.c: XXX required extattr.h due to ufsmount.h (This should not be the case, and will be fixed in a future commit) Currently attributes are not supported in MFS. This will be fixed. Reviewed by: adrian, bp, freebsd-fs, other unthanked souls Obtained from: TrustedBSD Project |
#
a2b408ad |
|
09-Apr-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Add new options NETGRAPH_MPPC_COMPRESSION and NETGRAPH_MPPC_ENCRYPTION. (Note: NETGRAPH_MPPC_COMPRESSION is disabled until we find a non-proprietary implementation of the MPPC compression algorithm.) |
#
f7b77691 |
|
08-Apr-2000 |
Doug Rabson <dfr@FreeBSD.org> |
* Factor out the object system from new-bus so that it can be used by non-device code. * Re-implement the method dispatch to improve efficiency. The new system takes about 40ns for a method dispatch on a 300Mhz PII which is only 10ns slower than a direct function call on the same hardware. This changes the new-bus ABI slightly so make sure you re-compile any driver modules which you use. |
#
4b008951 |
|
07-Apr-2000 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
Newbusify adv driver. Reviewed by: imp |
#
0d5c223d |
|
05-Apr-2000 |
Warner Losh <imp@FreeBSD.org> |
Awi driver, ported from NetBSD from Atsushi Once-san. From the README: Any IEEE 802.11 cards use AMD Am79C930 and Harris (Intersil) Chipset with PCnetMobile firmware by AMD. BayStack 650 1Mbps Frequency Hopping PCCARD adapter BayStack 660 2Mbps Direct Sequence PCCARD adapter Icom SL-200 2Mbps Direct Sequence PCCARD adapter Melco WLI-PCM 2Mbps Direct Sequence PCCARD adapter NEL SSMagic 2Mbps Direct Sequence PCCARD adapter Netwave AirSurfer Plus 1Mbps Frequency Hopping PCCARD adapter Netwave AirSurfer Pro 2Mbps Direct Sequence PCCARD adapter Known Problems: WEP is not supported. Does not create IBSS itself. Cannot configure the following on FreeBSD: selection of infrastructure/adhoc mode ESSID ... Submitted by: Atsushi Onoe <onoe@sm.sony.co.jp> |
#
d7a599a6 |
|
05-Apr-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Make it possible to include a device interface description by a single line in files or files.${arch} instead of 13 lines of code. This is a small chance that this will break the alpha kernel build - I'll fix it this evening if it does. |
#
fe9aab21 |
|
03-Apr-2000 |
Cameron Grant <cg@FreeBSD.org> |
enable emu10k1 (sblive) driver, though still playback only |
#
5664bf9c |
|
29-Mar-2000 |
Warner Losh <imp@FreeBSD.org> |
NewBus the cs driver. Submitted by: max@rsu.ru |
#
239fe111 |
|
29-Mar-2000 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
- Added PC-98 Cbus frontend. - Move dev/aic/aic_isa.c entry from conf/files to conf/files.MACHINE because PC-98 uses different file. Submitted by: nyan and IMAI Takeshi <take-i@ceres.dti.ne.jp> |
#
57376530 |
|
28-Mar-2000 |
Cameron Grant <cg@FreeBSD.org> |
split up ess and sb code rewrite ess mixer to use native registers rewrite play/rec code to use more accurate timer when available add code to use audio2 for playback, but disable it as no irqs are generated |
#
83f7669e |
|
23-Mar-2000 |
Bruce Evans <bde@FreeBSD.org> |
Fixed most disordering (almost all except for i4b and targets with complicated rules). |
#
91266b96 |
|
20-Mar-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Isolate the Timecounter internals in their own two files. Make the public interface more systematically named. Remove the alternate method, it doesn't do any good, only ruins performance. Add counters to profile the usage of the 8 access functions. Apply the beer-ware to my code. The weird +/- counts are caused by two repocopies behind the scenes: kern/kern_clock.c -> kern/kern_tc.c sys/time.h -> sys/timetc.h (thanks peter!) |
#
e2dbd15f |
|
16-Mar-2000 |
Nick Hibma <n_hibma@FreeBSD.org> |
Please welcome the URio driver. Written by Iwasa Kazmi <kzmi\@ca2.so-net.ne.jp> |
#
a17e9eac |
|
08-Mar-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Changes for IDA driver |
#
978d4f5b |
|
08-Feb-2000 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Complete the repo-copy of ida_pci.c to sys/dev/ida/ Implicit Approval by: jkh |
#
1e8a96dc |
|
01-Feb-2000 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
if_fpa is included when 'device fpa' is present, not 'device fea'. Approved by: jkh |
#
15831666 |
|
29-Jan-2000 |
Yoshinobu Inoue <shin@FreeBSD.org> |
Fix kernel build breakage. ip6_fw.c also needs ipv6firewall options. Sorry for the problem. Submitted by: Jim Bloom <bloom@acm.org> |
#
4486cd79 |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Use config's tools rather than #if's. |
#
afa0d59d |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Still allow sbc/gusc/csa to perform as bridge devices (eg: to newmidi) without pcm being present. |
#
67245194 |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Allow the pnp and pci cards to be attached with just a 'device pcm' in the user's config file. Based on an idea/suggestion from Cameron (cg). Change LINT to build newpcm instead of the old Voxware derived stuff. That's much more useful in the longer term. |
#
5d021a76 |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Move the (duplicated exactly!) portable ISA pcm drivers to files and tighten up the logic a little. |
#
8f24ed40 |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Remove kern/tty_tb.c. |
#
210d0432 |
|
29-Jan-2000 |
Yoshinobu Inoue <shin@FreeBSD.org> |
Add ip6fw. Yes it is almost code freeze, but as the result of many thought, now I think this should be added before 4.0... make world check, kernel build check is done. Reviewed by: green Obtained from: KAME project |
#
0fea3d51 |
|
27-Jan-2000 |
Yoshinobu Inoue <shin@FreeBSD.org> |
IPv6 multicast routing. kernel IPv6 multicast routing support. pim6 dense mode daemon pim6 sparse mode daemon netstat support of IPv6 multicast routing statistics Merging to the current and testing with other existing multicast routers is done by Tatsuya Jinmei <jinmei@kame.net>, who writes and maintainances the base code in KAME distribution. Make world check and kernel build check was also successful. |
#
2f522c90 |
|
27-Jan-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Include ddb/db_sysctl.c when compiling with 'options DDB'. |
#
367d34f8 |
|
24-Jan-2000 |
Brian Somers <brian@FreeBSD.org> |
Move the *intrq variables into net/intrq.c and unconditionally include this in all kernels. Declare some const *intrq_present variables that can be checked by a module prior to using *intrq to queue data. Make the if_tun module capable of processing atm, ip, ip6, ipx, natm and netatalk packets when TUNSIFHEAD is ioctl()d on. Review not required by: freebsd-hackers |
#
623c2467 |
|
24-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Activate the newbusified version of si. |
#
5d94d71c |
|
22-Jan-2000 |
Boris Popov <bp@FreeBSD.org> |
Allow if_ef driver to be compiled into kernel. |
#
3b2d592c |
|
19-Jan-2000 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Import simple driver for a parallel port radio clock which receives the German legal time (commonly available in Europe). Submitted by: Sascha Schumann <sascha@schumann.cx> |
#
e575259c |
|
15-Jan-2000 |
Matt Jacob <mjacob@FreeBSD.org> |
add file collateral for SES/SAF-TE driver |
#
00e888b6 |
|
14-Jan-2000 |
Warner Losh <imp@FreeBSD.org> |
Add pccard aic attachment. |
#
261b9b30 |
|
14-Jan-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Add driver support for the Aironet 4500/4800 series wireless 802.11 NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported, though only the ISA and PCI ones will work on the alpha for now. PCCARD, ISA and PCI attachments are all provided. Also provided an ancontrol(8) utility for configuring the NIC, man pages, and updated pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired mode, although you must configure the kernel explicitly to support the hardwired mode since you have to know the I/O address and port ahead of time. Special thanks to Doug Ambrisko for doing the initial newbus hackery and getting it to work in infrastructure mode. |
#
1ef4c904 |
|
14-Jan-2000 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Oops! We need an entry for if_ie still. Change a few nits while I'm here. |
#
c5191a98 |
|
14-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Pre 4.0 tidy up. Collect together the components of several drivers and export eisa from the i386-only area (It's not, it's on some alphas too). The code hasn't been updated to work on the Alpha yet, but that can come later. Repository copies were done a while ago. Moving these now keeps them in consistant place across the 4.x series as the newbusification progresses. Submitted by: mdodd |
#
01779872 |
|
13-Jan-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for USB ethernet adapters based on the CATC USB-EL1202A chipset. Between this and the other two drivers, we should have support for pretty much every USB ethernet adapter on the market. The only other USB chip that I know of is the SMC USB97C196, and right now I don't know of any adapters that use it (including the ones made by SMC :/ ). Note that the CATC chip supports a nifty feature: read and write combining. This allows multiple ethernet packets to be transfered in a single USB bulk in/out transaction. However I'm again having trouble with large bulk in transfers like I did with the ADMtek chip, which leads me to believe that our USB stack needs some work before we can really make use of this feature. When/if things improve, I intend to revisit the aue and cue drivers. For now, I've lost enough sanity points. |
#
0f210c92 |
|
13-Jan-2000 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Port of ppbus standalone framework to the newbus system. Note1: the correct interrupt level is invoked correctly for each driver. For this purpose, drivers request the bus before being able to call BUS_SETUP_INTR and BUS_TEARDOWN_INTR call is forced by the ppbus core when drivers release it. Thus, when BUS_SETUP_INTR is called at ppbus driver level, ppbus checks that the caller owns the bus and stores the interrupt handler cookie (in order to unregister it later). Printing is impossible while plip link is up is still TRUE. vpo (ZIP driver) and lpt are make in such a way that using the ZIP and printing concurrently is permitted is also TRUE. Note2: specific chipset detection is not done by default. PPC_PROBE_CHIPSET is now needed to force chipset detection. If set, the flags 0x40 still avoid detection at boot. Port of the pcf(4) driver to the newbus system (was previously directly connected to the rootbus and attached by a bogus pcf_isa_probe function). |
#
07997cf9 |
|
11-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Aiee! I committed the wrong conf/files. Replace the changes for newppbus with the intended changes. Drop db_aout.c from files, let db_kld.c do the work. Noticed by: bde |
#
63aad530 |
|
11-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Fix a typo in the db_kld.c file - it's kld support not raw a.out support. Always use db_kld.c for symbol table support as the base kernel maintains this information. |
#
a0067d7b |
|
10-Jan-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Attempt to fix a problem with receiving packets on USB ethernet interfaces. Packets are received inside USB bulk transfer callbacks, which run at splusb() (actually splbio()). The packet input queues are meant to be manipulated at splimp(). However the locking apparently breaks down under certain circumstances and the input queues can get trampled. There's a similar problem with if_ppp, which is driven by hardware/tty interrupts from the serial driver, but which must also manipulate the packet input queues at splimp(). The fix there is to use a netisr, and that's the fix I used here. (I can hear you groaning back there. Hush up.) The usb_ethersubr module maintains a single queue of its own. When a packet is received in the USB callback routine, it's placed on this queue with usb_ether_input(). This routine also schedules a soft net interrupt with schednetisr(). The ISR routine then runs later, at splnet, outside of the USB callback/interrupt context, and passes the packet to ether_input(), hopefully in a safe manner. The reason this is implemented as a separate module is that there are a limited number of NETISRs that we can use, and snarfing one up for each driver that needs it is wasteful (there will be three once I get the CATC driver done). It also reduces code duplication to a certain small extent. Unfortunately, it also needs to be linked in with the usb.ko module in order for the USB ethernet drivers to share it. Also removed some uneeded includes from if_aue.c and if_kue.c Fix suggested by: peter Not rejected as a hairbrained idea by: n_hibma |
#
90bba6bf |
|
10-Jan-2000 |
Warner Losh <imp@FreeBSD.org> |
Move xe driver from dev/pccard to dev/xe. Convert driver to newbus. Driver is not functional yet, but does compile. Tests with xe cards indicates that it doesn't panic the machine when they are present, but fail to probe. Interface help in the pcic/pccard layers are needed to complete this driver. |
#
1440baa7 |
|
09-Jan-2000 |
Cameron Grant <cg@FreeBSD.org> |
enable the neomagic driver |
#
b2290df2 |
|
06-Jan-2000 |
Warner Losh <imp@FreeBSD.org> |
Add power_if.[cho] generation for new pccard system. Also added commented out xe driver pending change. Should be benign. |
#
dfd1e98e |
|
04-Jan-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for USB ethernet adapters based on the Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com 3c19250 and the ADS Technologies USB-10BT. This device is 10mbs half-duplex only, so there's miibus or ifmedia support. This device also requires firmware to be loaded into it, however KLSI allows redistribution of the firmware images (I specifically asked about this; they said it was ok). Special thanks to Annelise Anderson for getting me in touch with KLSI (eventually) and thanks to KLSI for providing the necessary programming info. Highlights: - Add driver files to /sys/dev/usb - update usbdevs and regenerate attendate files - update usb_quirks.c - Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha - Update LINT, GENERIC and others for i386, alpha and pc98 - Add man page - Add module - Update sysinstall and userconfig.c |
#
677202ca |
|
04-Jan-2000 |
Matt Jacob <mjacob@FreeBSD.org> |
add wx (Intel Wiseman Gig Ethernet) driver |
#
80d80cdb |
|
03-Jan-2000 |
Matt Jacob <mjacob@FreeBSD.org> |
Add in isp_target.c to be compiled for isp- it'd be nice if we could do conditional file inclusing based on options. |
#
ed63a7aa |
|
27-Dec-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds device driver support for the ADMtek AN986 Pegasus USB ethernet chip. Adapters that use this chip include the LinkSys USB100TX. There are a few others, but I'm not certain of their availability in the U.S. I used an ADMtek eval board for development. Note that while the ADMtek chip is a 100Mbps device, you can't really get 100Mbps speeds over USB. Regardless, this driver uses miibus to allow speed and duplex mode selection as well as autonegotiation. Building and kldloading the driver as a module is also supported. Note that in order to make this driver work, I had to make what some may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer() function will use tsleep() for synchronous transfers that don't complete right away. This is a problem since there are times when we need to do sync transfers from an interrupt context (i.e. when reading registers from the MAC via the control endpoint), where tsleep() us a no-no. My hack allows the driver to have the code poll for transfer completion subject to the xfer->timeout timeout rather that calling tsleep(). This hack is controlled by a quirk entry and is only enabled for the ADMtek device. Now, I'm sure there are a few of you out there ready to jump on me and suggest some other approach that doesn't involve a busy wait. The only solution that might work is to handle the interrupts in a kernel thread, where you may have something resembling a process context that makes it okay to tsleep(). This is lovely, except we don't have any mechanism like that now, and I'm not about to implement such a thing myself since it's beyond the scope of driver development. (Translation: I'll be damned if I know how to do it.) If FreeBSD ever aquires such a mechanism, I'll be glad to revisit the driver to take advantage of it. In the meantime, I settled for what I perceived to be the solution that involved the least amount of code changes. In general, the hit is pretty light. Also note that my only USB test box has a UHCI controller: I haven't I don't have a machine with an OHCI controller available. Highlights: - Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part. - Updated usbdevs and regenerated generated files - Updated HARDWARE.TXT and RELNOTES.TXT files - Updated sysinstall/device.c and userconfig.c - Updated kernel configs -- device aue0 is commented out by default - Updated /sys/conf/files - Added new kld module directory |
#
a57e826a |
|
27-Dec-1999 |
Yoshinobu Inoue <shin@FreeBSD.org> |
Add ipsec_esp option to files which depend on crypto. Now you can build a kernel which support IPsec message authentication but don't support message encryption, by defining IPSEC in your kernel config file and not defining IPSEC_ESP. |
#
6a800098 |
|
22-Dec-1999 |
Yoshinobu Inoue <shin@FreeBSD.org> |
IPSEC support in the kernel. pr_input() routines prototype is also changed to support IPSEC and IPV6 chained protocol headers. Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project |
#
00a7524f |
|
22-Dec-1999 |
Warner Losh <imp@FreeBSD.org> |
New files in sn driver. |
#
91f37dcb |
|
18-Dec-1999 |
Robert Watson <rwatson@FreeBSD.org> |
Second pass commit to introduce new ACL and Extended Attribute system calls, vnops, vfsops, both in /kern, and to individual file systems that require a vfsop_ array entry. Reviewed by: eivind |
#
22ffd22d |
|
17-Dec-1999 |
Warner Losh <imp@FreeBSD.org> |
Driver for the smc91xx series of ethernet chips. Ported from PAO to 3.3R and then to -current. The pccard support has been left in the driver, but is presently non-functional because we are using the isa_compat layer for the moment. Obtained From: PAO Sponsored by: Timing Solutions |
#
c8162f82 |
|
15-Dec-1999 |
Warner Losh <imp@FreeBSD.org> |
dev/pcic/i82365_isasubr.c was removed from tree when it was merged into i82365_isa.c. Update conf/files to reflect that. |
#
f2cbe161 |
|
09-Dec-1999 |
Archie Cobbs <archie@FreeBSD.org> |
Move source files common to all platforms from <arch>/conf/files.<arch> to conf/files. If/when these files are optimized for each platform, they can be moved back. |
#
9578442e |
|
09-Dec-1999 |
Dan Moschuk <dan@FreeBSD.org> |
Move libkern/arc4random.c into conf/files. I was planning on doing an optimized alpha version, but I'll leave that alone for the time being. |
#
add85a1d |
|
08-Dec-1999 |
Archie Cobbs <archie@FreeBSD.org> |
New netgraph node type 'pptpgre': this performs GRE encapsulation for the PPTP protocol as specified in RFC 2637. |
#
7d596167 |
|
08-Dec-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove BAD144 support, it has already been disabled for some time. |
#
cfa1ca9d |
|
07-Dec-1999 |
Yoshinobu Inoue <shin@FreeBSD.org> |
udp IPv6 support, IPv6/IPv4 tunneling support in kernel, packet divert at kernel for IPv6/IPv4 translater daemon This includes queue related patch submitted by jburkhol@home.com. Submitted by: queue related patch from jburkhol@home.com Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project |
#
16896694 |
|
06-Dec-1999 |
Guido van Rooij <guido@FreeBSD.org> |
Add ifilter klld module to ipfilter based kernels Allow kld based kernel with option IPFILTER_LKM. |
#
9e03cab5 |
|
06-Dec-1999 |
Peter Wemm <peter@FreeBSD.org> |
Fold the pnp code into the base isa system to pave the way for PNPBIOS. Reviewed by: dfr (a few weeks ago) |
#
46db6cf8 |
|
05-Dec-1999 |
Peter Wemm <peter@FreeBSD.org> |
Switch over to using the generic joy driver |
#
544c9788 |
|
04-Dec-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Grrrr. I knew I forgot something. Remove mxphy, add dcphy and pnphy. |
#
96f2e892 |
|
04-Dec-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add the if_dc driver and remove all of the al, ax, dm, pn and mx drivers which it replaces. The new driver supports all of the chips supported by the ones it replaces, as well as many DEC/Intel 21143 10/100 cards. This also completes my quest to convert things to miibus and add Alpha support. |
#
92a3e552 |
|
03-Dec-1999 |
Archie Cobbs <archie@FreeBSD.org> |
New netgraph node type, ng_bpf(8). This node type allows you to apply bpf(4) filters to data travelling through a netgraph network. |
#
f8307e12 |
|
29-Nov-1999 |
Archie Cobbs <archie@FreeBSD.org> |
Add two new generic control messages, NGM_ASCII2BINARY and NGM_BINARY2ASCII, which convert control messages to ASCII and back. This allows control messages to be sent and received in ASCII form using ngctl(8), which makes ngctl a lot more useful. This also allows all the type-specific debugging code in libnetgraph to go away -- instead, we just ask the node itself to do the ASCII translation for us. Currently, all generic control messages are supported, as well as messages associated with the following node types: async, cisco, ksocket, and ppp. See /usr/share/examples/netgraph/ngctl for an example of using this. Also give ngctl(8) the ability to print out incoming data and control messages at any time. Eventually nghook(8) may be subsumed. Several other misc. bug fixes. Reviewed by: julian |
#
658743b5 |
|
27-Nov-1999 |
David E. O'Brien <obrien@FreeBSD.org> |
/sys adjustments to add the `sym' controler driver. This is commented out in GENERIC as you cannot mix `sym' with `ncr' right now. Note that LINT is no more broken by this commit. |
#
9cc86ee9 |
|
23-Nov-1999 |
Guido van Rooij <guido@FreeBSD.org> |
Add kernel parts of revived ipfilter (3.3.3.) |
#
e2dc359f |
|
21-Nov-1999 |
Seigo Tanimura <tanimura@FreeBSD.org> |
- Introduce the bridge drivers for Sound Blaser, GUS and Crystal Semiconductor CS461x/428x. - Add support for GUS and CS461x/428x pcm. - Move newpcm drivers for ISA cards to files.i386. The drivers for PC98 would be something quite different from those for PC/AT. Moving requested by: nyan |
#
82cd038d |
|
21-Nov-1999 |
Yoshinobu Inoue <shin@FreeBSD.org> |
KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP for IPv6 yet) With this patch, you can assigne IPv6 addr automatically, and can reply to IPv6 ping. Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project |
#
2e0caf2b |
|
20-Nov-1999 |
Cameron Grant <cg@FreeBSD.org> |
changes for the new location of pcm |
#
50c15101 |
|
18-Nov-1999 |
Peter Wemm <peter@FreeBSD.org> |
Zap nsio |
#
48e94174 |
|
16-Nov-1999 |
Archie Cobbs <archie@FreeBSD.org> |
Add option NETGRAPH_KSOCKET. |
#
2a478ba2 |
|
13-Nov-1999 |
Doug Rabson <dfr@FreeBSD.org> |
Add the es1888 PnP helper. |
#
1a4e73ba |
|
03-Nov-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move strto{u}[ql]() into their own libkern files. Urged by: bde |
#
6827c8fe |
|
02-Nov-1999 |
Archie Cobbs <archie@FreeBSD.org> |
Add options NETGRAPH_PPP and NETGRAPH_PPPOE. |
#
e118f907 |
|
02-Nov-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
New driver: Nx64kbit/s E1/T1 cards based on Munich32x&Falc54. This is a netgraph driver. |
#
e4b8e5f2 |
|
29-Oct-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add entry for sys/dev/mii/mxphy.c which I somehow managed to forget, and which somehow didn't break anything. |
#
48a1466a |
|
26-Oct-1999 |
Warner Losh <imp@FreeBSD.org> |
Only build old pcic device when building card controller rather than pccard controller. |
#
dc781fe4 |
|
26-Oct-1999 |
Warner Losh <imp@FreeBSD.org> |
Very preliminary pcic device support. Will make depend, but won't (yet) compile and link. Renamed pcic back to pcic from pcicx, but conditionalize its inclusion on pccard being included also. card is the old and pccard is the new, which is a handy way to have both in the tree at the same time. Obtained from: newconfig project More to follow... |
#
bfd825c0 |
|
26-Oct-1999 |
Warner Losh <imp@FreeBSD.org> |
Add device entries for new pccard effort. |
#
4f76d87b |
|
24-Oct-1999 |
Warner Losh <imp@FreeBSD.org> |
Massive rewrite of pccard to convert it to newbus. o Gut the compatibility interface, you now must attach with newbus. o Unit numbers from pccardd are now ignored. This may change the units assigned to a card. It now uses the first available unit. o kill old skeleton code that is now obsolete. o Use newbus attachment code. o cleanup interfile dependencies some. o kill list of devices per slot. we use the device tree for what we need. o Remove now obsolete code. o The ep driver (and maybe ed) may need some config file tweaks to allow it to attach. See config files that were committed for examples on how to do this. Drivers to be commited shortly. This is an interrum fix until the new pccard. ed, ep and sio will be supported by me with this release, although others are welcome to try to support other devices before new pccard is working. I plan on doing minimal further work on this code base. Be careful when upgrading, since this code is known to work on my laptop and those of a couple others as well, but your milage may vary. BUGS TO BE FIXED: o system memory isn't allocated yet, it will be soon. o No devices actually have a pccard newbus attach in the tree. BUGS THAT MIGHT BE FIXED: o card removal, including suspend, usually hangs the system. Many thanks to Peter Wemm and Doug Rabson for helping me to fill in the missing bits of New Bus understanding at FreeBSD Con '99. |
#
b58a8a3b |
|
22-Oct-1999 |
Julian Elischer <julian@FreeBSD.org> |
Now that Netgraph is in the system there are some cleanups we can do. Also save a slightly closer to completion version of the PPPOE code. Submitted by: Archie Cobbs <archie@freebsd.org> |
#
4cf49a43 |
|
21-Oct-1999 |
Julian Elischer <julian@FreeBSD.org> |
Whistle's Netgraph link-layer (sometimes more) networking infrastructure. Been in production for 3 years now. Gives Instant Frame relay to if_sr and if_ar drivers, and PPPOE support soon. See: ftp://ftp.whistle.com/pub/archie/netgraph/index.html for on-line manual pages. Reviewed by: Doug Rabson (dfr@freebsd.org) Obtained from: Whistle CVS tree |
#
67494b1a |
|
21-Oct-1999 |
Luoqi Chen <luoqi@FreeBSD.org> |
Add aic CAM driver support. |
#
9c21293f |
|
17-Oct-1999 |
John Hay <jhay@FreeBSD.org> |
Add support for the PCI version of the Digi SYNC/570i cards. |
#
ed339585 |
|
15-Oct-1999 |
Warner Losh <imp@FreeBSD.org> |
Add new file for pccard compatibilty code. Add it to files so it gets pulled in as well. |
#
029cd3ca |
|
10-Oct-1999 |
Peter Wemm <peter@FreeBSD.org> |
Remove ipfilter files - the hooks remain in ip_input.c and ip_output.c |
#
aa8239cd |
|
09-Oct-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
pnpparse.c is needed for kernel builds. |
#
3c624743 |
|
09-Oct-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Point the right bits at the new location of the bus front ends. The 'bt' SCSI driver now lives in sys/dev/buslogic. - Correct a few comments. |
#
6bab6ffe |
|
08-Oct-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Switch over to the new location in sys/dev/dpt. Fix a forgotten #include |
#
f96c8499 |
|
07-Oct-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Fix amr.c line, a '.' had become a '/'. |
#
6ac4727a |
|
06-Oct-1999 |
Mike Smith <msmith@FreeBSD.org> |
Connect the 'amr' and 'mlx' drivers. They can be built as modules or integrated into a static kernel as the user wishes. |
#
e83e2322 |
|
01-Oct-1999 |
Boris Popov <bp@FreeBSD.org> |
ncplib continued: add appropriate options to LINT. |
#
6a025a98 |
|
30-Sep-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Turn off and remove the 'old' if_ep ISA/EISA/PCCARD driver. Turn on the 'new' if_ep driver which supports: ISA 3c509 MCA 3c529 EISA 3c579 PCCARD 3c589 I think all we're missing is support for the VME bus and S-100 bus Etherlink III cards. The new code has been tested by a number of people and all the important bits work. I've not been able to test the EISA code but will do so once my hardware arrives. Since I've changed nothing in the EISA code I suspect it will perform the same manner as before. Future changes involve whacking the ISA and PCCARD front ends to use newbus and to convert the driver to bus_space and make it use ifmedia. This is the first working network driver that supports MCA bus devices btw. Enjoy. |
#
28877840 |
|
30-Sep-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Add support for the AHA-1640 SCSI adapter. The changes to sys/dev/aha/aha.c that allow these cards to function properly will be here in a day or 2. |
#
c2a5d156 |
|
28-Sep-1999 |
Cameron Grant <cg@FreeBSD.org> |
add the ad1816 driver |
#
d611603d |
|
26-Sep-1999 |
KATO Takenori <kato@FreeBSD.org> |
Move if_ed.c back to files.i386 since pc98 has a special ed driver. Reviewed by: peter |
#
b0d821b8 |
|
26-Sep-1999 |
Warner Losh <imp@FreeBSD.org> |
Revert non-aha changes. They weren't supposed to go in. |
#
a78b40a5 |
|
26-Sep-1999 |
Warner Losh <imp@FreeBSD.org> |
Move aha driver to dev/aha like the other drivers. Code relocation only, no code changes. |
#
75663205 |
|
26-Sep-1999 |
Roger Hardiman <roger@FreeBSD.org> |
Add new Bt848 driver files |
#
71c4e441 |
|
22-Sep-1999 |
Roger Hardiman <roger@FreeBSD.org> |
Bktr Bt848/Bt878 driver is now in /sys/dev/bktr |
#
00a6a3c6 |
|
21-Sep-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add an experimental Memory-Disk driver. This driver will allocate memory with malloc(9) using a few tricks to save space on the way. |
#
76d0dece |
|
21-Sep-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Fix unordering |
#
814e1609 |
|
19-Sep-1999 |
Peter Wemm <peter@FreeBSD.org> |
Make if_ed work again on pci, isa, isapnp. The hack to make it work on PCCARD is pretty revolting but should buy us time while the pccard driver angle is sorted out. A commit for the MCA ed attachment will follow shortly. |
#
971d732a |
|
08-Sep-1999 |
Peter Wemm <peter@FreeBSD.org> |
Add $FreeBSD$ |
#
6dfb2a51 |
|
08-Sep-1999 |
Peter Wemm <peter@FreeBSD.org> |
s/sio/nsio/ |
#
e5174d14 |
|
06-Sep-1999 |
Peter Wemm <peter@FreeBSD.org> |
Repo copy isa/sio* to dev/sio/sio* in preperation for extra bus methods including pci. Also, eliminate NSIOTOT and do it dynamically where it matters. |
#
24b08e1d |
|
06-Sep-1999 |
Peter Wemm <peter@FreeBSD.org> |
add pccard/pccard_nbk.c |
#
e5a9fd54 |
|
06-Sep-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds driver support for PCI fast ethernet NICs based on the Davicom DM9100 and DM9102 chipsets, including the Jaton Corporation XPressNet. Datasheet is available from www.davicom8.com. The DM910x chips are still more tulip clones. The API is reproduced pretty faithfully, unfortunately the performance is pretty bad. The transmitter seems to have a lot of problems DMAing multi-fragment packets. The only way to make it work reliably is to coalesce transmitted packets into a single contiguous buffer. The Linux driver (written by Davicom) actually does something similar to this. I can't recomment this NIC as anything more than a "connectivity solution." This driver uses newbus and miibus and is supported on both i386 and alpha platforms. |
#
bbf7ca22 |
|
05-Sep-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add a driver for the AMD AM79c873 10/100 PHY. By some strange coincidence, this PHY and the Davicom DM9101 have exactly the same register definitions. One of them is probably a clone of the other. I'm not sure which. This is needed for the Davicom DM9102 10/100 PCI ethernet driver which will be committed shortly. |
#
a8bd3cc9 |
|
04-Sep-1999 |
Cameron Grant <cg@FreeBSD.org> |
disable the aureal vortex driver for now |
#
fdfd9f2f |
|
02-Sep-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
This adds support for the Buslogic/Bustek/Storage Dimensions MCA SCSI adapters. bt_mca.c is going to live in sys/dev/buslogic instead of sys/dev/mca as per a conversation with Peter, Doug and Mike. Thanks to Andy Farkas <andyf@speednet.com.au> for being such a good sport and doing all the testing for me (as I don't actually own one of these cards. Yet.) |
#
30ca126c |
|
02-Sep-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
This is the rest of the MCA support; new_bus code to be exact. Should we ever find ourselves on an RS/6000 this code should work with few changes. |
#
4249382d |
|
01-Sep-1999 |
Doug Rabson <dfr@FreeBSD.org> |
This represents essentially a complete rewrite of the ISA PnP code. The new system is integrated with the ISA bus code more cleanly and allows the future addition of more enumerators such as PnPBIOS and ACPI. This commit also enables the new pcm driver since it is somewhat tied to the new PnP code. |
#
a4f02d20 |
|
31-Aug-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add a driver for the internal PHY in the RealTek 8139. |
#
da9e4f55 |
|
29-Aug-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add micro "disk" layer which should enable us to pull all the slice/label stuff out of the device drivers. |
#
d3412372 |
|
27-Aug-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add miibus drivers for the ThunderLAN internal PHY and the Micro Linear ML6692 PHY. The Micro Linear driver is my own; the ThunderLAN driver is a port of the NetBSD driver with various hacks. The ML driver is necessary to support the Olicom OC-2326 ThunderLAN-based NIC. Also regenerated miidevs.h to pick up the proper 'obtained from' revision string. |
#
23e4757c |
|
21-Aug-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds device driver support for the Sundance Technologies ST201 PCI fast ethernet controller. Currently, the only card I know that uses this chip is the D-Link DFE-550TX. (Don't ask me where to buy these: the only cards I have are samples sent to me by D-Link.) This driver is the first to make use of the miibus code once I'm sure it all works together nicely, I'll start converting the other drivers. The Sundance chip is a clone of the 3Com 3c90x Etherlink XL design only with its own register layout. Support is provided for ifmedia, hardware multicast filtering, bridging and promiscuous mode. |
#
d0027533 |
|
21-Aug-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds support for the NetBSD MII abstraction layer and MII-compliant PHY drivers. Many 10/100 ethernet NICs available today either use an MII transceiver or have built-in transceivers that can be programmed using an MII interface. It makes sense then to separate this support out into common code instead of duplicating it in all of the NIC drivers. The mii code also handles all of the media detection, selection and reporting via the ifmedia interface. This is basically the same code from NetBSD's /sys/dev/mii, except it's been adapted to FreeBSD's bus architecture. The advantage to this is that it automatically allows everything to be turned into a loadable module. There are some common functions for use in drivers once an miibus has been attached (mii_mediachg(), mii_pollstat(), mii_tick()) as well as individual PHY drivers. There is also a generic driver for all PHYs that aren't handled by a specific driver. It's possible to do this because all 10/100 PHYs implement the same general register set in addition to their vendor-specific register sets, so for the most part you can use one driver for pretty much any PHY. There are a couple of oddball exceptions though, hence the need to have specific drivers. There are two layers: the generic "miibus" layer and the PHY driver layer. The drivers are child devices of "miibus" and the "miibus" is a child of a given NIC driver. The "miibus" code and the PHY drivers can actually be compiled and kldoaded as completely separate modules or compiled together into one module. For the moment I'm using the latter approach since the code is relatively small. Currently there are only three PHY drivers here: the generic driver, the built-in 3Com XL driver and the NS DP83840 driver. I'll be adding others later as I convert various NIC drivers to use this code. I realize that I'm cvs adding this stuff instead of importing it onto a separate vendor branch, but in my opinion the import approach doesn't really offer any significant advantage: I'm going to be maintaining this stuff and writing my own PHY drivers one way or the other. |
#
fcb893a8 |
|
21-Aug-1999 |
Mike Smith <msmith@FreeBSD.org> |
Implement a new generic mechanism for attaching handler functions to events, in order to pave the way for removing a number of the ad-hoc implementations currently in use. Retire the at_shutdown family of functions and replace them with new event handler lists. Rework kern_shutdown.c to take greater advantage of the use of event handlers. Reviewed by: green |
#
dba6c5a6 |
|
18-Aug-1999 |
Peter Wemm <peter@FreeBSD.org> |
Extract the next runnable process selection out of cpu_switch() into a fairly machine independent C routine. gcc actually does a pretty good job of this. Reviewed by: msmith (in principle) |
#
ce9edcf5 |
|
09-Aug-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Merge the cons.c and cons.h to the best of my ability. alpha may or may not compile, I can't test it. |
#
74f13f19 |
|
08-Aug-1999 |
Greg Lehey <grog@FreeBSD.org> |
Add vinumraid5.c to the files for Vinum. This allows (deprecated) kernel builds with Vinum. Linted-by: phk |
#
691c1528 |
|
24-Jul-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds device driver support for Adaptec Duralink PCI fast ethernet controllers based on the AIC-6915 "Starfire" controller chip. There are single port, dual port and quad port cards, plus one 100baseFX card. All are 64-bit PCI devices, except one single port model. The Starfire would be a very nice chip were it not for the fact that receive buffers have to be longword aligned. This requires buffer copying in order to achieve proper payload alignment on the alpha. Payload alignment is enforced on both the alpha and x86 platforms. The Starfire has several different DMA descriptor formats and transfer mechanisms. This driver uses frame descriptors for transmission which can address up to 14 packet fragments, and a single fragment descriptor for receive. It also uses the producer/consumer model and completion queues for both transmit and receive. The transmit ring has 128 descriptors and the receive ring has 256. This driver supports both FreeBSD/i386 and FreeBSD/alpha, and uses newbus so that it can be compiled as a loadable kernel module. Support for BPF and hardware multicast filtering is included. |
#
3ebb0905 |
|
08-Jul-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds driver support for the SysKonnect SK-984x series gigabit ethernet adapters. This includes two single port cards (single mode and multimode fiber) and two dual port cards (also single mode and multimode fiber). SysKonnect is currently the only vendor with a dual port gigabit ethernet NIC. The ports on dual port adapters are treated as separate network interfaces. Thus, if you have an SK-9844 dual port SX card, you should have both sk0 and sk1 interfaces attached. Dual port cards are implemented using two XMAC II chips connected to a single SysKonnect GEnesis controller. Hence, dual port cards are really one PCI device, as opposed to two separate PCI devices connected through a PCI to PCI bridge. Note that SysKonnect's drivers use the two ports for failover purposes rather that as two separate interfaces, plus they don't support jumbo frames. This applies to their Linux driver too. :) Support is provided for hardware multicast filtering, BPF and jumbo frames. The SysKonnect cards support TCP checksum offload however this feature is not currently enabled (hopefully it will be once we get checksum offload support). There are still a few things that need to be implemeted, like the ability to communicate with the on-board LM80 voltage/temperature monitor, but I wanted to get the driver under CVS control and into -current so people could bang on it. A big thanks for SysKonnect for making all their programming info for these cards (and for their FDDI and token ring cards) available without NDA (see www.syskonnect.com). |
#
ab001a72 |
|
08-Jul-1999 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Implement support for hardware debug registers on the i386. Submitted by: Brian Dean <brdean@unx.sas.com> |
#
6b5ca0d8 |
|
06-Jul-1999 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Rename bpfilter to bpf. |
#
9929d2a0 |
|
03-Jul-1999 |
Peter Wemm <peter@FreeBSD.org> |
Eliminate a bunch of #include "pci.h" and #if NPCI > 0 around entire files. config will leave the whole file out if configured to do so. |
#
6c205e59 |
|
03-Jul-1999 |
Peter Wemm <peter@FreeBSD.org> |
Delete the 'device-driver' suffix. It's been meaningless for a long time. On the VAX, it used to be used for special compilation to avoid the optimizer which would mess with memory mapped devices etc. These days we use 'volatile'. |
#
dae36f14 |
|
03-Jul-1999 |
Peter Wemm <peter@FreeBSD.org> |
Move bt_isa.c to the cpu-independent isa section. |
#
9c8b8baa |
|
01-Jul-1999 |
Peter Wemm <peter@FreeBSD.org> |
Slight reorganization of kernel thread/process creation. Instead of using SYSINIT_KT() etc (which is a static, compile-time procedure), use a NetBSD-style kthread_create() interface. kproc_start is still available as a SYSINIT() hook. This allowed simplification of chunks of the sysinit code in the process. This kthread_create() is our old kproc_start internals, with the SYSINIT_KT fork hooks grafted in and tweaked to work the same as the NetBSD one. One thing I'd like to do shortly is get rid of nfsiod as a user initiated process. It makes sense for the nfs client code to create them on the fly as needed up to a user settable limit. This means that nfsiod doesn't need to be in /sbin and is always "available". This is a fair bit easier to do outside of the SYSINIT_KT() framework. |
#
7ab6ba97 |
|
23-Jun-1999 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Fix more disordering I missed last time. |
#
8c3f8112 |
|
23-Jun-1999 |
Jonathan Lemon <jlemon@FreeBSD.org> |
fix disordering |
#
79eab21d |
|
23-Jun-1999 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Add IDA files |
#
a92ac6bc |
|
01-Jun-1999 |
Doug Rabson <dfr@FreeBSD.org> |
Move fd driver back to files.${arch} since pc98 has a special fd driver. |
#
c77dda34 |
|
31-May-1999 |
Doug Rabson <dfr@FreeBSD.org> |
The fd driver has moved from i386/isa to isa. |
#
fdd1fe20 |
|
22-May-1999 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add the amd driver. |
#
a3be63b3 |
|
22-May-1999 |
Doug Rabson <dfr@FreeBSD.org> |
* Factor out the common code between the isa bus drivers for i386 and alpha. * Re-work the resource allocation code to use helper functions in subr_bus.c. * Add simple isa interface for manipulating the resource ranges which can be allocated and remove the code from isa_write_ivar() which was previously used for this purpose. |
#
ab431312 |
|
20-May-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds driver support for PCI fast ethernet cards based on the ADMtek AL981 "Comet" chipset. The AL981 is yet another DEC tulip clone, except with simpler receive filter options. The AL981 has a built-in transceiver, power management support, wake on LAN and flow control. This chip performs extremely well; it's on par with the ASIX chipset in terms of speed, which is pretty good (it can do 11.5MB/sec with TCP easily). I would have committed this driver sooner, except I ran into one problem with the AL981 that required a workaround. When the chip is transmitting at full speed, it will sometimes wedge if you queue a series of packets that wrap from the end of the transmit descriptor list back to the beginning. I can't explain why this happens, and none of the other tulip clones behave this way. The workaround this is to just watch for the end of the transmit ring and make sure that al_start() breaks out of its packet queuing loop and waiting until the current batch of transmissions completes before wrapping back to the start of the ring. Fortunately, this does not significantly impact transmit performance. This is one of those things that takes weeks of analysis just to come up with two or three lines of code changes. |
#
f26c33d2 |
|
20-May-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
usbdi.h: Implement priorities. GENERIC, LINT, files: Remove remarks about ordering of device names. GENERIC, LINT: Sort the devices alphabetically in LINT and GENERIC. |
#
6c2e3dde |
|
14-May-1999 |
Doug Rabson <dfr@FreeBSD.org> |
* Define a new static method DEVICE_IDENTIFY which is called to add device instances to a parent bus. * Define a new method BUS_ADD_CHILD which can be called from DEVICE_IDENTIFY to add new instances. * Add a generic implementation of DEVICE_PROBE which calls DEVICE_IDENTIFY for each driver attached to the parent's devclass. * Move the hint-based isa probe from the isa driver to a new isahint driver which can be shared between i386 and alpha. |
#
ac48316f |
|
11-May-1999 |
Peter Wemm <peter@FreeBSD.org> |
Send subr_rlist.c off to the big Attic in the sky. It's been #if 0'ed for quite some time now and can be revived in a moment's notice if needed. (It was replaced by subr_blist.c for VM/swap) |
#
d37ed5a0 |
|
30-Apr-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a new "file" to procfs: "rlimit" which shows the resource limits for the process. PR: 11342 Submitted by: Adrian Chadd adrian@freebsd.org Reviewed by: phk |
#
75c13541 |
|
28-Apr-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
This Implements the mumbled about "Jail" feature. This is a seriously beefed up chroot kind of thing. The process is jailed along the same lines as a chroot does it, but with additional tough restrictions imposed on what the superuser can do. For all I know, it is safe to hand over the root bit inside a prison to the customer living in that prison, this is what it was developed for in fact: "real virtual servers". Each prison has an ip number associated with it, which all IP communications will be coerced to use and each prison has its own hostname. Needless to say, you need more RAM this way, but the advantage is that each customer can run their own particular version of apache and not stomp on the toes of their neighbors. It generally does what one would expect, but setting up a jail still takes a little knowledge. A few notes: I have no scripts for setting up a jail, don't ask me for them. The IP number should be an alias on one of the interfaces. mount a /proc in each jail, it will make ps more useable. /proc/<pid>/status tells the hostname of the prison for jailed processes. Quotas are only sensible if you have a mountpoint per prison. There are no privisions for stopping resource-hogging. Some "#ifdef INET" and similar may be missing (send patches!) If somebody wants to take it from here and develop it into more of a "virtual machine" they should be most welcome! Tools, comments, patches & documentation most welcome. Have fun... Sponsored by: http://www.rndassociates.com/ Run for almost a year by: http://www.servetheweb.com/ |
#
f8dc4716 |
|
27-Apr-1999 |
Mike Smith <msmith@FreeBSD.org> |
Allow loadable interface drivers with BPF support to be loaded into a kernel that doesn't have it. This is achieved by having minimal do-nothing stubs enabled when there are no bpfilter devices configured. Driver modules should be built with BPF enabled for maximum convenience (but can be built without it for maximum performance). |
#
d95939af |
|
19-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
Zap LKM option and support. Farewell old friend. |
#
8da287ce |
|
16-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
oops, there was no tek390.c from the last commit, that's something on one of Doug's machines apparently. |
#
6182fdbd |
|
16-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
Bring the 'new-bus' to the i386. This extensively changes the way the i386 platform boots, it is no longer ISA-centric, and is fully dynamic. Most old drivers compile and run without modification via 'compatability shims' to enable a smoother transition. eisa, isapnp and pccard* are not yet using the new resource manager. Once fully converted, all drivers will be loadable, including PCI and ISA. (Some other changes appear to have snuck in, including a port of Soren's ATA driver to the Alpha. Soren, back this out if you need to.) This is a checkpoint of work-in-progress, but is quite functional. The bulk of the work was done over the last few years by Doug Rabson and Garrett Wollman. Approved by: core |
#
ec71ab8e |
|
16-Apr-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
Remove the entries for umodem and ucom. These drivers only probe and attach, nothing else. This is confusing to people. |
#
b9da1144 |
|
13-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
Build the functionality of the wdc_p hack into the ide_pci.c code. All it did was match a specific device ID and turn on a quirk for the wdc driver. Incidently, at line 1462 there is a return that prevents the generic ide_pci code from trying to look at the device. I'd be interested to know if we can take out the return and let the generic code "see" it. I've left the return in because that's the way it worked before. (Be sure to rerun config after cvsup or you'll get undefined files!) |
#
5628cc31 |
|
08-Apr-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
In preparation of the commit of the umass driver and to make life easier for testers. |
#
d02c2331 |
|
06-Apr-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add driver support for gigabit ethernet adapters based on the Alteon Networks Tigon 1 and Tigon 2 chipsets. There are a _lot_ of OEM'ed gigabit ethernet adapters out there which use the Alteon chipset so this driver covers a fair amount of hardware. I know that it works with the Alteon AceNIC, 3Com 3c985 and Netgear GA620, however it should also work with the DEC/Compaq EtherWORKS 1000, Silicon Graphics Gigabit ethernet board, NEC Gigabit Ethernet board and maybe even the IBM and and Sun boards. The Netgear board is the cheapest (~$350US) but still yields fairly good performance. Support is provided for jumbo frames with all adapters (just set the MTU to something larger than 1500 bytes), as well as hardware multicast filtering and vlan tagging (in conjunction with the vlan support in -current, which I should merge into -stable soon). There are some hooks for checksum offload support, but they're turned off for now since FreeBSD doesn't have an officially sanctioned way to support checksum offloading (yet). I have not added the 'device ti0' entry to GENERIC since the driver with all the firmware compiled in is quite large, and it doesn't really fit into the category of generic hardware. |
#
4a64714f |
|
29-Mar-1999 |
Kenneth D. Merry <ken@FreeBSD.org> |
Delete all references to the "aic" driver. It isn't in the tree, and may not show up for a while, and I'm tired of people asking about it. Perhaps this will eliminate some of the confusion. |
#
7e8dac41 |
|
02-Mar-1999 |
Semen Ustimenko <semenu@FreeBSD.org> |
Add new kernel option: options NTFS |
#
1571f899 |
|
21-Feb-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
Rename hid device to uhid (HID: Human Interface Device) |
#
722012cc |
|
20-Feb-1999 |
Julian Elischer <julian@FreeBSD.org> |
World, I'd like you to meet the first FreeBSD token Ring driver. This is for various Olicom cards. An IBM driver is following. This patch also adds support to tcpdump to decode packets on tokenring. Congratulations to the proud father.. (below) Submitted by: Larry Lile <lile@stdio.com> |
#
fe5ba845 |
|
18-Feb-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
Moved [uo]hci_pci.c from /sys/dev/pci to /sys/pci after Soren threatened to send Bruce. These files are no longer shared with NetBSD anyway. Requires a config and make depend. |
#
fdf94d1a |
|
13-Feb-1999 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Rename nlpt to lpt. Remove from ppi.c the old depreciated module stuff. Print info when if_plip can't use interrupts. |
#
24ca0d70 |
|
13-Feb-1999 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Add pci/alpm.c, Aladdin SMBus driver (alpm(4)). |
#
bd56b99a |
|
29-Jan-1999 |
Mark Newton <newton@FreeBSD.org> |
New pseudo-device to provide for a way of obtaining a socket by open()ing something in /dev. Obtained from: Christos Zoulas (NetBSD) |
#
04fb1490 |
|
25-Jan-1999 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Terminate commit for the Intel PIIX4 SMBus support. Already committed files are sys/pci/intpm* Submitted by: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp> |
#
8492b0d1 |
|
22-Jan-1999 |
Peter Wemm <peter@FreeBSD.org> |
Add vinumdaemon.c; sort vinum entries. |
#
066f67b1 |
|
21-Jan-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
Make uhub mandatory in usb config (msmith) |
#
1c7c3c6a |
|
21-Jan-1999 |
Matthew Dillon <dillon@FreeBSD.org> |
This is a rather large commit that encompasses the new swapper, changes to the VM system to support the new swapper, VM bug fixes, several VM optimizations, and some additional revamping of the VM code. The specific bug fixes will be documented with additional forced commits. This commit is somewhat rough in regards to code cleanup issues. Reviewed by: "John S. Dyson" <root@dyson.iquest.net>, "David Greenman" <dg@root.com> |
#
f20a9c5a |
|
17-Jan-1999 |
Peter Wemm <peter@FreeBSD.org> |
LKM kernel support becomes optional on "options LKM". (Bear in mind that the default kernel is now ELF and cannot load these LKM's). |
#
46bfb765 |
|
16-Jan-1999 |
Doug Rabson <dfr@FreeBSD.org> |
Add kern_syscalls.c Submitted by: Assar Westerlund <assar@sics.se> |
#
118537f2 |
|
14-Jan-1999 |
Mike Smith <msmith@FreeBSD.org> |
Add sscanf/vsscanf/strtoq/strtouq to the kernel. Initially these will be used for parsing kernel environment values, although they have utility elsewhere. |
#
d95bc0d6 |
|
13-Jan-1999 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add entry for the target mode black hole driver. |
#
31188d61 |
|
09-Jan-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add driver support (and man page) for PCI fast ethernet cards based on the ASIX AX88140A chip. Update /sys/conf/files, RELNOTES.TXT, /sys/i388/i386/userconfig.c, sysinstall/devices.c, GENERIC and LINT accordingly. For now, the only board that I know of that uses this chip is the Alfa Inc. GFC2204. (Its predecessor, the GFC2202, was a DEC tulip card.) Thanks again to Ulf for obtaining the board for me. If anyone runs across another, please feel free to update the man page and/or the release notes. (The same applies for the other drivers.) FreeBSD should now have support for all of the DEC tulip workalike chipsets currently on the market (Macronix, Lite-On, Winbond, ASIX). And unless I'm mistaken, it should also have support for all PCI fast ethernet chipsets in general (except maybe the SMC FEAST chip, which nobody seems to ever use, including SMC). Now if only we could convince 3Com, Intel or whoever to cough up some documentation for gigabit ethernet hardware. Also updated RELNOTEX.TXT to mention that the SVEC PN102TX is supported by the Macronix driver (assuming you actually have an SVEC PN102TX with a Macronix chip on it; I tried to order a PN102TX once and got a box labeled 'Hawking Technology PN102TX' that had a VIA Rhine board inside it). |
#
a9d45962 |
|
28-Dec-1998 |
Peter Wemm <peter@FreeBSD.org> |
Config glue for 'pseudo-device vinum' |
#
19c74962 |
|
27-Dec-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Initial entry of ISDN4BSD into the FreeBSD tree. ISDN4BSD is the work of our brand-new comitter: Hellmuth Michaelis, who has done a tremendous amount of work to bring us this far. There are still some outstanding issues and files to bring into the tree, and for now it will be needed to pick up all the extra docs from the isdn4bsd release. It is probably also a very good idea to subscribe to the isdn@freebsd.org mailing list before you try this out. These files correspond to release "beta Version 0.70.00 / December 1998" from Hellmuth. |
#
508d0661 |
|
14-Dec-1998 |
Luigi Rizzo <luigi@FreeBSD.org> |
Bring dummynet+bridging in -current. Everything will be ready when LINT is updated. |
#
aee1b5a2 |
|
13-Dec-1998 |
Nick Hibma <n_hibma@FreeBSD.org> |
Added uhid again, sorting seems to work now |
#
eca58e5e |
|
13-Dec-1998 |
Nick Hibma <n_hibma@FreeBSD.org> |
dded the stubs for umodem and ucom (communications class driver). They are nothing other than the ugen driver with different variable names. |
#
7ee72fdb |
|
10-Dec-1998 |
Nick Hibma <n_hibma@FreeBSD.org> |
Reversed the order of the USB devices, makes sure the ugen device is probed last |
#
a48e33e0 |
|
09-Dec-1998 |
Nick Hibma <n_hibma@FreeBSD.org> |
Preliminary support for OHCI motherboards |
#
f7c9e34b |
|
07-Dec-1998 |
Warner Losh <imp@FreeBSD.org> |
If there is no .depends file, use the standard ad-hoc way of ensuring that the generated files are generated before any of the object files. Also minor cleanup of dependencies in conf/files that I bogusly added before. This should fix the requirement that make depend be done starting from a clean config directory. If you don't have a clean directory, make depend is still required if you want the proper .o's to be recompiled. Reviewed by: bde |
#
726ff6a1 |
|
04-Dec-1998 |
Bill Paul <wpaul@FreeBSD.org> |
An early Christmas present: add driver support for a whole bunch of PCI fast ethernet adapters, plus man pages. if_pn.c: Netgear FA310TX model D1, LinkSys LNE100TX, Matrox FastNIC 10/100, various other PNIC devices if_mx.c: NDC Communications SOHOware SFA100 (Macronix 98713A), various other boards based on the Macronix 98713, 98713A, 98715, 98715A and 98725 chips if_vr.c: D-Link DFE530-TX, other boards based on the VIA Rhine and Rhine II chips (note: the D-Link and certain other cards that actually use a Rhine II chip still return the PCI device ID of the Rhine I. I don't know why, and it doesn't really matter since the driver treats both chips the same anyway.) if_wb.c: Trendware TE100-PCIE and various other cards based on the Winbond W89C840F chip (the Trendware card is identical to the sample boards Winbond sent me, so who knows how many clones there are running around) All drivers include support for ifmedia, BPF and hardware multicast filtering. Also updated GENERIC, LINT, RELNOTES.TXT, userconfig and sysinstall device list. I also have a driver for the ASIX AX88140A in the works. |
#
0cec007c |
|
26-Nov-1998 |
Nick Hibma <n_hibma@FreeBSD.org> |
Initial commit of ported NetBSD USB stack |
#
5b6a440b |
|
24-Nov-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Whoops - wrong copy of files, so all wasn't converted. Rest of perl -> perl5 |
#
999c8b94 |
|
24-Nov-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
perl -> perl5, to allow to compile on older boxes with perl5 installed (but without perl5 as the system perl) |
#
128d4f39 |
|
15-Nov-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Build subr_rman.c by default. |
#
abb46fda |
|
11-Nov-1998 |
Mike Smith <msmith@FreeBSD.org> |
Remove the 'amd' driver. |
#
710c119c |
|
08-Nov-1998 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Update configuration files for the perl based makedevops script. Submitted by: Nick Hibma <nick.hibma@jrc.it> Approved by: Doug Rabson <dfr@nlsystems.com> |
#
fb46af4f |
|
03-Nov-1998 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Back out previous commit. The bpfilter -> bpf transition will have to be a flag day unless we can hack config(8) to smooth things over. |
#
10b4ab47 |
|
03-Nov-1998 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Rename the 'bpfilter' pseudo-device to 'bpf'. The old syntax is still legal and will stick around for a while. |
#
206b8575 |
|
31-Oct-1998 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Extensions to iicbus(4) added + brooktree848 driver ported to new I2C framework. |
#
858bb1f5 |
|
25-Oct-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add some missing dependencies. Grumbled about in principle: bde |
#
589e38a6 |
|
18-Oct-1998 |
Bill Paul <wpaul@FreeBSD.org> |
Add driver support for PCI fast ethernet adapters based on the RealTek 8129/8139 chipset like I've been threatening. Update kernel configs, userconfig.c, relnotes and sysinstall. No man page yet; comming soon. I consider this driver stable enough that I want to give it some exposure in -current. |
#
8015a6ef |
|
18-Oct-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Added missing dependency for bus_if.o on bus_if.h |
#
456aa5a8 |
|
14-Oct-1998 |
Peter Wemm <peter@FreeBSD.org> |
Forgot to commit this; the alpha uses the kld symbol interface now. The tables that db_elf.c is expecting are not loaded in that format any more. |
#
1dd643ab |
|
09-Oct-1998 |
Peter Wemm <peter@FreeBSD.org> |
Remove DDB_ELF_SYMBOLS and DDB_KLD_SYMBOLS options. KLD will be the sole interface to symbols in an elf kernel. |
#
8aeb56c2 |
|
08-Oct-1998 |
Mike Smith <msmith@FreeBSD.org> |
New files for kernel environment and module metadata interfaces. |
#
85186e46 |
|
06-Oct-1998 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add support for the ASC3550 AdvanSys SCSI Host Controller (aka 940UW). |
#
641fc5df |
|
20-Sep-1998 |
Bruce Evans <bde@FreeBSD.org> |
Clean aicasm's lex and yacc generated source files. |
#
3a049d03 |
|
20-Sep-1998 |
Bruce Evans <bde@FreeBSD.org> |
Removed entries for dead SLICE files. Removed commented out entries for dead networking files (netccitt etc.). Uncommented entries for zombie networking files (netns). |
#
3f8c4506 |
|
15-Sep-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
(this is an extract from src/share/examples/atm/README) =================================== HARP | Host ATM Research Platform =================================== HARP 3 What is this stuff? ------------------- The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center, Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed the Host ATM Research Platform (HARP) software, which allows IP hosts to communicate over ATM networks using standard protocols. It is intended to be a high-quality platform for IP/ATM research. HARP provides a way for IP hosts to connect to ATM networks. It supports standard methods of communication using IP over ATM. A host's standard IP software sends and receives datagrams via a HARP ATM interface. HARP provides functionality similar to (and typically replaces) vendor-provided ATM device driver software. HARP includes full source code, making it possible for researchers to experiment with different approaches to running IP over ATM. HARP is self-contained; it requires no other licenses or commercial software packages. HARP implements support for the IETF Classical IP model for using IP over ATM networks, including: o IETF ATMARP address resolution client o IETF ATMARP address resolution server o IETF SCSP/ATMARP server o UNI 3.1 and 3.0 signalling protocols o Fore Systems's SPANS signalling protocol What's supported ---------------- The following are supported by HARP 3: o ATM Host Interfaces - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters - FORE Systems, Inc. PCA-200E ATM PCI Adapters - Efficient Networks, Inc. ENI-155p ATM PCI Adapters o ATM Signalling Protocols - The ATM Forum UNI 3.1 signalling protocol - The ATM Forum UNI 3.0 signalling protocol - The ATM Forum ILMI address registration - FORE Systems's proprietary SPANS signalling protocol - Permanent Virtual Channels (PVCs) o IETF "Classical IP and ARP over ATM" model - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - RFC 1577, "Classical IP and ARP over ATM" - RFC 1626, "Default IP MTU for use over ATM AAL5" - RFC 1755, "ATM Signaling Support for IP over ATM" - RFC 2225, "Classical IP and ARP over ATM" - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, "A Distributed ATMARP Service Using SCSP" o ATM Sockets interface - The file atm-sockets.txt contains further information What's not supported -------------------- The following major features of the above list are not currently supported: o UNI point-to-multipoint support o Driver support for Traffic Control/Quality of Service o SPANS multicast and MPP support o SPANS signalling using Efficient adapters This software was developed under the sponsorship of the Defense Advanced Research Projects Agency (DARPA). Reviewed (lightly) by: phk Submitted by: Network Computing Services, Inc. |
#
bf21c633 |
|
15-Sep-1998 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Update for CAM. |
#
22d4b0fb |
|
13-Sep-1998 |
John Polstra <jdp@FreeBSD.org> |
Add provisions for variant core dump file formats, depending on the object format of the executable being dumped. This is the first step toward producing ELF core dumps in the proper format. I will commit the code to generate the ELF core dumps Real Soon Now. In the meantime, ELF executables won't dump core at all. That is probably no less useful than dumping a.out-style core dumps as they have done until now. Submitted by: Alex <garbanzo@hooked.net> (with very minor changes by me) |
#
15cc1109 |
|
13-Sep-1998 |
Nicolas Souchu <nsouch@FreeBSD.org> |
add immio.c for ZIP+ support |
#
d3459488 |
|
13-Sep-1998 |
Robert V. Baron <rvb@FreeBSD.org> |
Finish conversion of cfs -> coda |
#
9afcea2f |
|
11-Sep-1998 |
Robert V. Baron <rvb@FreeBSD.org> |
All the references to cfs, in symbols, structs, and strings have been changed to coda. (Same for CFS.) |
#
e8ddcfd6 |
|
09-Sep-1998 |
Warner Losh <imp@FreeBSD.org> |
Add dependency for subr_bus.c on bus_if.h and device_if.h so that a make depend is not required to just build the kernel. Reviewed by: Doug Rabson |
#
d41c96ee |
|
03-Sep-1998 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Reviewed by: Doug Rabson Submitted by: nsouch I2C and SMB files added + new bus arch. files description |
#
41159be7 |
|
02-Sep-1998 |
Robert V. Baron <rvb@FreeBSD.org> |
Pass2 complete |
#
e30938ce |
|
16-Aug-1998 |
Bill Paul <wpaul@FreeBSD.org> |
Import the (Fast) Etherlink XL driver. I'm reasonally confident in its stability now. ALso modify /sys/conf/files, /sys/i386/conf/GENERIC and /sys/i386/conf/LINT to add entries for the XL driver. Deactivate support for the XL adapters in the vortex driver. LAstly, add a man page. (Also added an MLINKS entry for the ThunderLAN man page which I forgot previously.) |
#
46f3ff79 |
|
03-Aug-1998 |
Mike Smith <msmith@FreeBSD.org> |
Major ppbus updates from the author. - ppbus now supports PLIP via the if_plip driver - ieee1284 infrastructure added, including parallel-port PnP - port microsequencer added, for scripting the sort of port I/O that is common with parallel devices without endless calls up and down through the driver structure. - improved bus ownership behaviour among the ppbus-using drivers. - improved I/O chipset feature detection The vpo driver is now implemented using the microsequencer, leading to some performance improvements as well as providing an extensive example of its use. Reviewed by: msmith Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr> |
#
5c3c780f |
|
28-Jul-1998 |
Brian Somers <brian@FreeBSD.org> |
pseudo-device ssc requires su.c (pseudo-device su) Submitted by: woods@zeus.leitch.com (Greg A. Woods) PR: 7413 |
#
673796a7 |
|
30-Jun-1998 |
Bruce Evans <bde@FreeBSD.org> |
Nuked opt_defunct.h and kern_opt.c. config(8) now generates good enough warnings about all unknown options. |
#
14c35d6c |
|
27-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Add options for selecting ELF or KLD symbols in DDB. |
#
7066d59c |
|
14-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Oops, wrong file again. |
#
99d11cde |
|
14-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Major changes to the generic device framework for FreeBSD/alpha: * Eliminate bus_t and make it possible for all devices to have attached children. * Support dynamically extendable interfaces for drivers to replace both the function pointers in driver_t and bus_ops_t (which has been removed entirely. Two system defined interfaces have been defined, 'device' which is mandatory for all devices and 'bus' which is recommended for all devices which support attached children. * In addition, the alpha port defines two simple interfaces 'clock' for attaching various real time clocks to the system and 'mcclock' for the many different variations of mc146818 clocks which can be attached to different alpha platforms. This eliminates two more function pointer tables in favour of the generic method dispatch system provided by the device framework. Future device interfaces may include: * cdev and bdev interfaces for devfs to use in replacement for specfs and the fixed interfaces bdevsw and cdevsw. * scsi interface to replace struct scsi_adapter (not sure how this works in CAM but I imagine there is something similar there). * various tailored interfaces for different bus types such as pci, isa, pccard etc. |
#
dd08c7e2 |
|
10-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
I accidentally committed the wrong file, sorry. |
#
897cd717 |
|
10-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Add initial support for the FreeBSD/alpha kernel. This is very much a work in progress and has never booted a real machine. Initial development and testing was done using SimOS (see http://simos.stanford.edu for details). On the SimOS simulator, this port successfully reaches single-user mode and has been tested with loads as high as one copy of /bin/ls :-). Obtained from: partly from NetBSD/alpha |
#
5db3b831 |
|
30-May-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add minimum driver for XC6200 based cards. Currently it knows about the HOT1 from www.vcc.com. |
#
49ba456b |
|
23-May-1998 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Remove two CODA entries by request. Submitted by: Robert Baron <rvb@sicily.odyssey.cs.cmu.edu> |
#
c24476e3 |
|
20-May-1998 |
Bill Paul <wpaul@FreeBSD.org> |
Add entry for ThunderLAN driver to files. |
#
1f91d8c5 |
|
19-May-1998 |
David Greenman <dg@FreeBSD.org> |
Added fast IP forwarding code by Matt Thomas <matt@3am-software.com> via NetBSD, ported to FreeBSD by Pierre Beyssac <pb@fasterix.freenix.org> and minorly tweaked by me. This is a standard part of FreeBSD, but must be enabled with: "sysctl -w net.inet.ip.fastforwarding=1" ...and of course forwarding must also be enabled. This should probably be modified to use the zone allocator for speed and space efficiency. The current algorithm also appears to lose if the number of active paths exceeds IPFLOW_MAX (256), in which case it wastes lots of time trying to figure out which cache entry to drop. |
#
65adb54c |
|
22-Apr-1998 |
Matt Jacob <mjacob@FreeBSD.org> |
Add support for the Qlogic ISP SCSI && FC/AL Adapters |
#
3e425b96 |
|
19-Apr-1998 |
Julian Elischer <julian@FreeBSD.org> |
Add changes and code to implement a functional DEVFS. This code will be turned on with the TWO options DEVFS and SLICE. (see LINT) Two labels PRE_DEVFS_SLICE and POST_DEVFS_SLICE will deliniate these changes. /dev will be automatically mounted by init (thanks phk) on bootup. See /sys/dev/slice/slice.4 for more info. All code should act the same without these options enabled. Mike Smith, Poul Henning Kamp, Soeren, and a few dozen others This code does not support the following: bad144 handling. Persistance. (My head is still hurting from the last time we discussed this) ATAPI flopies are not handled by the SLICE code yet. When this code is running, all major numbers are arbitrary and COULD be dynamically assigned. (this is not done, for POLA only) Minor numbers for disk slices ARE arbitray and dynamically assigned. |
#
934f5f33 |
|
29-Mar-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Export MD5Transform in md5.c and remove a private version in random_machdep.c md5 is standard as a consequence of this. |
#
adc5342c |
|
28-Mar-1998 |
Peter Dufault <dufault@FreeBSD.org> |
The system call stubs for the sched_* system calls can't be optional. The kernel will now link but the new system calls can't be LKM'd in without the P1003_1B option - I will remove this option later. |
#
8a6472b7 |
|
28-Mar-1998 |
Peter Dufault <dufault@FreeBSD.org> |
Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and _KPOSIX_PRIORITY_SCHEDULING options to work. Changes: Change all "posix4" to "p1003_1b". Misnamed files are left as "posix4" until I'm told if I can simply delete them and add new ones; Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux; Add man pages for _POSIX_PRIORITY_SCHEDULING system calls; Add options to LINT; Minor fixes to P1003_1B code during testing. |
#
1ee25934 |
|
21-Mar-1998 |
Peter Wemm <peter@FreeBSD.org> |
Make this compile.. There are some unpleasing hacks in here. A major unifdef session is sorely tempting but would destroy any remaining chance of tracking the original sources. |
#
d2ca4e98 |
|
19-Mar-1998 |
Bruce Evans <bde@FreeBSD.org> |
Fixed building of kernels without `options FFS'. ffs_softdep_stub.c is not optional, since several "standard" files in ufs/ufs reference it. |
#
2cc2df49 |
|
17-Mar-1998 |
Garrett Wollman <wollman@FreeBSD.org> |
Add preliminary support for IEEE 802.1Q VLAN tagging. It doesn't actually work reliably yet (I've had panics), but it does seem to occasionally be able to transmit and receive syntactically-correct packets. Also fixes one of if_ethersubr.c's legion style bugs, and removes the hostcache code from standard kernels---the code that depends on it is not going to happen any time soon, I'm afraid. |
#
fdc021ba |
|
10-Mar-1998 |
Julian Elischer <julian@FreeBSD.org> |
Add EISA support for DPT drivers Submitted by: Matthew Dodd Reviewd by: shimon@simon-shapiro.org (DPT author) |
#
b1897c19 |
|
08-Mar-1998 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: dyson@freebsd.org (john Dyson), dg@root.com (david greenman) Submitted by: Kirk McKusick (mcKusick@mckusick.com) Obtained from: WHistle development tree |
#
917e476d |
|
04-Mar-1998 |
Peter Dufault <dufault@FreeBSD.org> |
Reviewed by: msmith, bde long ago POSIX.4 headers and sysctl variables. Nothing should change unless POSIX4 is defined or _POSIX_VERSION is set to 199309. |
#
751bf650 |
|
27-Feb-1998 |
Jun-ichiro itojun Hagino <itojun@FreeBSD.org> |
make sys/netkey/key{,_debug}.c compile. I believe it works but not tested. I'll polish the code later on. |
#
b44fb1c4 |
|
21-Feb-1998 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
MF22: CODA entries. Submitted by: "Robert.V.Baron" <rvb@GLUCK.CODA.CS.CMU.EDU> |
#
507e2e44 |
|
13-Feb-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a skelleton pulse-per-second timing driver. This will become more useful when I get my timecounter changes past the Bruce-filter. |
#
c5b193bf |
|
30-Jan-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Retire LFS. If you want to play with it, you can find the final version of the code in the repository the tag LFS_RETIREMENT. If somebody makes LFS work again, adding it back is certainly desireable, but as it is now nobody seems to care much about it, and it has suffered considerable bitrot since its somewhat haphazard integration. R.I.P |
#
3f89af99 |
|
26-Jan-1998 |
John Dyson <dyson@FreeBSD.org> |
Someone removed vm_zone.c from /sys/conf/files. |
#
3458e54a |
|
26-Jan-1998 |
Julian Elischer <julian@FreeBSD.org> |
Move DPT related options out of i386 specific files so DPT devices can be used on other PCI (alpha?) machines. Suggested by: several people |
#
d8f643d7 |
|
21-Jan-1998 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Add support for tx driver. |
#
a50ec505 |
|
10-Jan-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Effect the divorce of kern_clock.c and kern_timeout.c (which was repository copied from kern_clock.c) |
#
030713d7 |
|
02-Dec-1997 |
Nate Williams <nate@FreeBSD.org> |
- Framework for PCI/CardBus controllers running in PCMCIA emulation mode. Currently, the only supported controller is the Cirrus Logic PD6832, but others can be supported with docs on them. Submitted by: Ted Faber <faber@ISI.EDU> |
#
c669d2df |
|
26-Oct-1997 |
Nate Williams <nate@FreeBSD.org> |
- 'Beep' support now happens in it's own separate file, so you can mess around with different noises for the different events and not have it affect other files. Inspired by: PAO |
#
e7e437db |
|
25-Oct-1997 |
Nate Williams <nate@FreeBSD.org> |
- Do a bunch of gratuitous changes intended to make the code easier to follow. * Rename/reorder all of the pccard structures, change many of the member names to be descriptive, and follow more closely other 'bus' drivers naming schemes. * Rename a bunch of parameter and local variable names to be more consistant in the code. * Renamed the PCCARD 'crd' device to be the 'card' device * KNF and make the code consistant where it was obvious. * ifdef'd out some unused code |
#
cec0f20c |
|
16-Oct-1997 |
Poul-Henning Kamp <phk@FreeBSD.org> |
VFS mega cleanup commit (x/N) 1. Add new file "sys/kern/vfs_default.c" where default actions for VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE, POLL, REVOKE and STRATEGY. Various stuff spread over the entire tree belongs here. 2. Change VOP_BLKATOFF to a normal function in cd9660. 3. Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC. These are private interface functions between UFS and the underlying storage manager layer (FFS/LFS/MFS/EXT2FS). The functions now live in struct ufsmount instead. 4. Remove a kludge of VOP_ functions in all filesystems, that did nothing but obscure the simplicity and break the expandability. If a filesystem doesn't implement VOP_FOO, it shouldn't have an entry for it in its vnops table. The system will try to DTRT if it is not implemented. There are still some cruft left, but the bulk of it is done. 5. Fix another VCALL in vfs_cache.c (thanks Bruce!) |
#
19d4b75d |
|
11-Oct-1997 |
Joerg Wunsch <joerg@FreeBSD.org> |
sppp(4) is now also a consumer of the kernel MD5 code. |
#
f2f9c185 |
|
21-Sep-1997 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Move the rules for aicasm to the MI conf file. Add kern/subr_autoconf.c as a standard file as it contains the bulk of the code for performing interrupt driven configuration. |
#
9a3b3e8b |
|
26-Aug-1997 |
Peter Wemm <peter@FreeBSD.org> |
Clean up the SMP AP bootstrap and eliminate the wretched idle procs. - We now have enough per-cpu idle context, the real idle loop has been revived (cpu's halt now with nothing to do). - Some preliminary support for running some operations outside the global lock (eg: zeroing "free but not yet zeroed pages") is present but appears to cause problems. Off by default. - the smp_active sysctl now behaves differently. It's merely a 'true/false' option. Setting smp_active to zero causes the AP's to halt in the idle loop and stop scheduling processes. - bootstrap is a lot safer. Instead of sharing a statically compiled in stack a number of times (which has caused lots of problems) and then abandoning it, we use the idle context to boot the AP's directly. This should help >2 cpu support since the bootlock stuff was in doubt. - print physical apic id in traps.. helps identify private pages getting out of sync. (You don't want to know how much hair I tore out with this!) More cleanup to follow, this is more of a checkpoint than a 'finished' thing. |
#
13c49711 |
|
19-Aug-1997 |
Peter Wemm <peter@FreeBSD.org> |
Use two NetBSD-style options (PPP_DEFLATE and PPP_BSDCOMP) to control whether or not to compile the two ppp compression methods. |
#
2d4b190b |
|
19-Aug-1997 |
Peter Wemm <peter@FreeBSD.org> |
Update kernel parts of pppd from 2.2.0 to 2.3.0. I've yet to look at the 2.3.0 -> 2.3.1 changes, but I seem to recall that there are certain "issues" with 2.3.1 (I'm not sure if it's just pppd or the whole lot, I am not quite that far). The present pppd seems to work with it just fine for the time being. Among the changes are that zlib (aka LZ77 aka deflate aka gzip) compression is implemented as well as the original compress(1) LZW style. |
#
cee405ba |
|
16-Aug-1997 |
Garrett Wollman <wollman@FreeBSD.org> |
Enable hostcache code. |
#
22531ffc |
|
16-Aug-1997 |
Mike Smith <msmith@FreeBSD.org> |
Add new ppbus files. Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr> |
#
22526298 |
|
15-Aug-1997 |
Mike Smith <msmith@FreeBSD.org> |
Oops, reference the ppi and vpo drivers properly. Obviously nobody's using this stuff yet 8) |
#
1b16a0dd |
|
14-Aug-1997 |
Mike Smith <msmith@FreeBSD.org> |
Add parallel-Port Bus drivers. Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr> |
#
3075778b |
|
04-Aug-1997 |
John Dyson <dyson@FreeBSD.org> |
Get rid of the ad-hoc memory allocator for vm_map_entries, in lieu of a simple, clean zone type allocator. This new allocator will also be used for machine dependent pmap PV entries. |
#
8f65b594 |
|
26-Jun-1997 |
John Hay <jhay@FreeBSD.org> |
Removed the #ifdef IPXERRORMSGS'ed code. Fix a lot of style errors that I introduced with the previous commit. Style fixes Submitted by: Bruce Evans <bde@FreeBSD.ORG> |
#
2c1011f7 |
|
15-Jun-1997 |
John Dyson <dyson@FreeBSD.org> |
Modifications to existing files to support the initial AIO/LIO and kernel based threading support. |
#
5bec6157 |
|
26-May-1997 |
Stefan Eßer <se@FreeBSD.org> |
Completely replace the PCI bus driver code to make it better reflect reality. There will be a new call interface, but for now the file pci_compat.c (which is to be deleted, after all drivers are converted) provides an emulation of the old PCI bus driver functions. The only change that might be visible to drivers is, that the type pcici_t (which had been meant to be just a handle, whose exact definition should not be relied on), has been converted into a pcicfgregs* . The Tekram AMD SCSI driver bogusly relied on the definition of pcici_t and has been converted to just call the PCI drivers functions to access configuration space register, instead of inventing its own ... This code is by no means complete, but assumed to be fully operational, and brings the official code base more in line with my development code. A new generic device descriptor data type has to be agreed on. The PCI code will then use that data type to provide new functionality: 1) userconfig support 2) "wired" PCI devices 3) conflicts checking against ISA/EISA 4) maps will depend on the command register enable bits 5) PCI to Anything bridges can be defined as devices, and are probed like any "standard" PCI device. The following features are currently missing, but will be added back, soon: 1) unknown device probe message 2) suppression of "mirrored" devices caused by ancient, broken chip-sets This code relies on generic shared interrupt support just commited to kern_intr.c (plus the modifications of isa.c and isa_device.h). |
#
a1854c86 |
|
26-May-1997 |
Stefan Eßer <se@FreeBSD.org> |
Add kern/kern_intr.c as a standard kernel component. This file contains the new interrupt registration code, which is meant to be architecture indeppendent. |
#
90538e09 |
|
25-May-1997 |
Darren Reed <darrenr@FreeBSD.org> |
Add lines for new files in ipfilter |
#
432aad0e |
|
11-May-1997 |
Tor Egge <tegge@FreeBSD.org> |
Bring in some kernel bootp support. This removes the need for netboot to fill in the nfs_diskless structure, at the cost of some kernel bloat. The advantage is that this code works on a wider range of network adapters than netboot. Several new kernel options are documented in LINT. Obtained from: parts of the code comes from NetBSD. |
#
68713f97 |
|
08-May-1997 |
Kenjiro Cho <kjc@FreeBSD.org> |
merge ATM driver |
#
cea6c86c |
|
07-May-1997 |
Doug Rabson <dfr@FreeBSD.org> |
This is the kernel linker. To use it, you will first need to apply the patches in freefall:/home/dfr/ld.diffs to your ld sources and set BINFORMAT to aoutkld when linking the kernel. Library changes and userland utilities will appear in a later commit. |
#
1cde3a7e |
|
03-May-1997 |
Peter Wemm <peter@FreeBSD.org> |
add net/if_media.c |
#
477a642c |
|
26-Apr-1997 |
Peter Wemm <peter@FreeBSD.org> |
Man the liferafts! Here comes the long awaited SMP -> -current merge! There are various options documented in i386/conf/LINT, there is more to come over the next few days. The kernel should run pretty much "as before" without the options to activate SMP mode. There are a handful of known "loose ends" that need to be fixed, but have been put off since the SMP kernel is in a moderately good condition at the moment. This commit is the result of the tinkering and testing over the last 14 months by many people. A special thanks to Steve Passe for implementing the APIC code! |
#
5be8af92 |
|
26-Mar-1997 |
Joerg Wunsch <joerg@FreeBSD.org> |
Bring the dev/pdq entries into alphabetical order. Forgotten by: joerg :) |
#
34564ce3 |
|
16-Mar-1997 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Make this whitespace compatible with the change that I correctly committed to the 2.2 branch for the new aic7xxx assembler. |
#
0617e8fd |
|
16-Mar-1997 |
Bruce Evans <bde@FreeBSD.org> |
Fixed missing line-continuation backslash in the previous revision. |
#
2edd1d66 |
|
15-Mar-1997 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add depend rule for the now compile time generated aic7xxx register file. |
#
f5cd278c |
|
12-Mar-1997 |
Stefan Eßer <se@FreeBSD.org> |
Add wdc_p.c for support of the CMD640 PCI EIDE chip. |
#
a30c77e8 |
|
10-Mar-1997 |
Mark Murray <markm@FreeBSD.org> |
Move this files* entry for the Brooktree TV driver toi the right 'files*'. |
#
55452e7f |
|
10-Feb-1997 |
Darren Reed <darrenr@FreeBSD.org> |
Add IP Filter .c files for "config" & "config.new" use. |
#
996c772f |
|
09-Feb-1997 |
John Dyson <dyson@FreeBSD.org> |
This is the kernel Lite/2 commit. There are some requisite userland changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org> |
#
e4107dcf |
|
17-Jan-1997 |
Joerg Wunsch <joerg@FreeBSD.org> |
This mega-merge brings Matt Thomas' 960801 FDDI driver (almost) up to -current. Thanks goes to Ulrike Nitzsche <ulrike@ifw-dresden.de> for giving me a chance to test this. Only the PCI driver is tested though. One final patch will follow in a separate commit. This is so that everything up to here can be dragged into 2.2, if we decide so. Reviewed by: joerg Submitted by: Matt Thomas <matt@3am-software.com> |
#
f7b630a4 |
|
16-Jan-1997 |
Bruce Evans <bde@FreeBSD.org> |
Added file kern_opt.c for putting warnings about defunct options in. Warn about recently removed option EXTRAVNODES and about other rubbish that hasn't been put in opt_defunct.h yet. |
#
fd82b92a |
|
22-Dec-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add kern/md5c.c which came here by repository copy. |
#
e511754a |
|
17-Dec-1996 |
Stefan Eßer <se@FreeBSD.org> |
Add driver for the Tekram DC390 and DC390F, believed to also work with generic AMD 53c974 SCSI controllers, under the name of "amd". |
#
b3ac88f1 |
|
04-Nov-1996 |
Guido van Rooij <guido@FreeBSD.org> |
New vx driver for: 3COM 3C590 Etherlink III PCI, 3COM 3C595 Fast Etherlink PCI, 3COM 3C592 Etherlink III EISA, 3COM 3C590 Fast Etherlink EISA, 3COM 3C900 Etherlink XL PCI and 3COM 3C905 Fast Etherlink XL PCI. This driver is based on OpenBSD's driver. I modified it to run under FreeBSd and made it actually work usefully. Afterwards, nao@tom-yam.or.jp (HAMADA Naoki) added EISA support as well as early support for 3C900 Etherlink XL PCI and 3C905 Fast Etherlink XL PCI. He also split up the driver in a bus independant and bus dependant parts. Especially the 3c59X support should be pretty stable now. Submitted by: partly nao@tom-yam.or.jp (HAMADA Naoki) Obtained from:partly OpenBSD |
#
ebcdcb98 |
|
28-Oct-1996 |
John Hay <jhay@FreeBSD.org> |
Add support for the SDL RISCom N2pci cards. Bring in the enhancements made to the Arnet driver. |
#
494405d8 |
|
20-Oct-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Removing old isdn stuff. |
#
3010cd65 |
|
12-Oct-1996 |
David Greenman <dg@FreeBSD.org> |
Changes to add support for the PCI version of the Cyclades Cyclom-Y serial adapter, and support for multiple Cyclom controllers. |
#
91916800 |
|
07-Sep-1996 |
Søren Schmidt <sos@FreeBSD.org> |
Fixed two small leftovers form PHK's mega devconf removal commit.. |
#
62494ee3 |
|
28-Aug-1996 |
Bruce Evans <bde@FreeBSD.org> |
Sorted and fixed tabs. The only excuse this had for becoming misordered was that some drivers were sorted on the driver name field, but the ffs versus mfs ordering shows that this is not a consistent order. The only case that I know of where simple sorting is wrong is for files that must be compiled without profiling if profiling is configured and normally otherwise. Then the line with `profiling-routine' must appear first to get the file compiled with ${PROFILE_C}. |
#
386308f3 |
|
19-Aug-1996 |
Julian Elischer <julian@FreeBSD.org> |
having checked in the file I probably should check in the entry for kern_shutdown.c if I want anyone to be able to compile a kernel |
#
bbd17bf8 |
|
30-Jul-1996 |
Garrett Wollman <wollman@FreeBSD.org> |
Add better support for retrieving management information from network interfaces. This creates two new tables in the net.link.generic branch of the MIB; one contains (essentially) `ifdata' structures, and the other contains a blob provided by the interface (and presumably used to implement link-layer-specific MIB variables). A number of things have been moved around in the `ifnet' and `ifdata' structures, so NEW VERSIONS OF ifconfig(8) AND routed(8) ARE REQUIRED. (A simple recompile is all that's necessary.) I have a sample program which uses this interface for those interested in making use of it. |
#
c268c94f |
|
18-Jul-1996 |
Stefan Eßer <se@FreeBSD.org> |
FINALLY: PCI support for the Lance Ethernet driver. This code applies to several systems with integrated Ethernet chip, for example from HP or Compaq. It should also support PCI Ethernet cards based on the AMD PCI Lance chip. This code has been reviewed (visually) by Paul Richards and tested (using an ISA Lance board) by Joerg Wunsch. Since the parameters to nearly each and every single function had to be changed (generally from unit number to lnc_soft*), there is some potential for buglets having crept in ... BEWARE: If you had lnc0 configured to have the ISA probe find your PCI Lance, then it should now be found by the PCI probe, and should be automatically configured as pci1 (!!! note the "1"). Reviewed by: paul, joerg |
#
93e0e116 |
|
10-Jul-1996 |
Julian Elischer <julian@FreeBSD.org> |
Adding changes to ipfw and the kernel to support ip packet diversion.. This stuff should not be too destructive if the IPDIVERT is not compiled in.. be aware that this changes the size of the ip_fw struct so ipfw needs to be recompiled to use it.. more changes coming to clean this up. |
#
9961971f |
|
17-Jun-1996 |
John Dyson <dyson@FreeBSD.org> |
Add the file procfs_type.c to procfs. |
#
9353aadd |
|
17-Jun-1996 |
John Dyson <dyson@FreeBSD.org> |
Add a feature to procfs to allow display of the process address map with multiple entries as follows: start address, end address, resident pages in range, private pages in range, RW/RO, COW or not, (vnode/device/swap/default). |
#
bd22f58e |
|
14-Jun-1996 |
Garrett Wollman <wollman@FreeBSD.org> |
This is the `netkey' kernel key-management service (the PF_KEY analogue to PF_ROUTE) from NRL's IPv6 distribution, heavily modified by me for better source layout, formatting, and textual conventions. I am told that this code is no longer under active development, but it's a useful hack for those interested in doing work on network security, key management, etc. This code has only been tested twice, so it should be considered highly experimental. Obtained from: ftp.ripe.net |
#
655929bf |
|
23-May-1996 |
Julian Elischer <julian@FreeBSD.org> |
Obtained from: netatalk distribution netatalk@itd.umich.edu Kernel Appletalk protocol support both CAP and netatalk can make use of this.. still needs some owrk but it seemd the right tiime to commit it so other can experiment. |
#
84084227 |
|
18-May-1996 |
Stefan Eßer <se@FreeBSD.org> |
Add support for NE2000 compatible PCI Ethernet cards. The PCI probe is enabled by having an "device ed0 at isa? [...]" config line. The first PCI card will get a unit number one higher than the highest defined for any ISA card of the ED type, e.g. if ed0 and ed1 are configured, then the PCI cards will be ed2, ed3, ... BEWARE: If you have configured your kernel as ed0 with the port address as assigned by the PCI BIOS, then your card will be found by both the PCI and ISA probes, and bad things may happen. Make sure to restore the original port address form the GENERIC kernel for the ed0 device! Reviewed by: davidg |
#
17def80b |
|
02-May-1996 |
Satoshi Asami <asami@FreeBSD.org> |
Bring in ccd support. ccd is a pseudo device. |
#
45ec3b38 |
|
07-Apr-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the "mib" variables out to their own file. |
#
88d3245e |
|
23-Mar-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove all traces of KADB. add sysctl "debug.debugger_on_panic=1" if DDB or KGDB is in kernel. Requested by: davidg |
#
e1743d02 |
|
10-Mar-1996 |
Søren Schmidt <sos@FreeBSD.org> |
First attempt at FreeBSD & Linux ELF support. Compile and link a new kernel, that will give native ELF support, and provide the hooks for other ELF interpreters as well. To make native ELF binaries use John Polstras elf-kit-1.0.1.. For the time being also use his ld-elf.so.1 and put it in /usr/libexec. The Linux emulator has been enhanced to also run ELF binaries, it is however in its very first incarnation. Just get some Linux ELF libs (Slackware-3.0) and put them in the prober place (/compat/linux/...). I've ben able to run all the Slackware-3.0 binaries I've tried so far. (No it won't run quake yet :) |
#
d66a5066 |
|
02-Mar-1996 |
Peter Wemm <peter@FreeBSD.org> |
Mega-commit for Linux emulator update.. This has been stress tested under netscape-2.0 for Linux running all the Java stuff. The scrollbars are now working, at least on my machine. (whew! :-) I'm uncomfortable with the size of this commit, but it's too inter-dependant to easily seperate out. The main changes: COMPAT_LINUX is *GONE*. Most of the code has been moved out of the i386 machine dependent section into the linux emulator itself. The int 0x80 syscall code was almost identical to the lcall 7,0 code and a minor tweak allows them to both be used with the same C code. All kernels can now just modload the lkm and it'll DTRT without having to rebuild the kernel first. Like IBCS2, you can statically compile it in with "options LINUX". A pile of new syscalls implemented, including getdents(), llseek(), readv(), writev(), msync(), personality(). The Linux-ELF libraries want to use some of these. linux_select() now obeys Linux semantics, ie: returns the time remaining of the timeout value rather than leaving it the original value. Quite a few bugs removed, including incorrect arguments being used in syscalls.. eg: mixups between passing the sigset as an int, vs passing it as a pointer and doing a copyin(), missing return values, unhandled cases, SIOC* ioctls, etc. The build for the code has changed. i386/conf/files now knows how to build linux_genassym and generate linux_assym.h on the fly. Supporting changes elsewhere in the kernel: The user-mode signal trampoline has moved from the U area to immediately below the top of the stack (below PS_STRINGS). This allows the different binary emulations to have their own signal trampoline code (which gets rid of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so that the emulator can provide the exact "struct sigcontext *" argument to the program's signal handlers. The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which have the same values as the re-used SA_DISABLE and SA_ONSTACK which are intended for sigaction only. This enables the support of a SA_RESETHAND flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal semantics where the signal handler is reset when it's triggered. makesyscalls.sh no longer appends the struct sysentvec on the end of the generated init_sysent.c code. It's a lot saner to have it in a seperate file rather than trying to update the structure inside the awk script. :-) At exec time, the dozen bytes or so of signal trampoline code are copied to the top of the user's stack, rather than obtaining the trampoline code the old way by getting a clone of the parent's user area. This allows Linux and native binaries to freely exec each other without getting trampolines mixed up. |
#
e7319bab |
|
23-Feb-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Big sweep over the IPFIREWALL and IPACCT code. Close the ip-fragment hole. Waste less memory. Rewrite to contemporary more readable style. Kill separate IPACCT facility, use "accept" rules in IPFIREWALL. Filter incoming >and< outgoing packets. Replace "policy" by sticky "deny all" rule. Rules have numbers used for ordering and deletion. Remove "rerorder" code entirely. Count packet & bytecount matches for rules. Code in -current & -stable is now the same. |
#
dc915e7c |
|
13-Feb-1996 |
Garrett Wollman <wollman@FreeBSD.org> |
Kill XNS. While we're at it, fix socreate() to take a process argument. (This was supposed to get committed days ago...) |
#
b43e0b68 |
|
07-Feb-1996 |
Garrett Wollman <wollman@FreeBSD.org> |
Comment out netccitt, netimp, and netiso entries, since we no longer ship this code. Submitted by: davidg |
#
89d14404 |
|
28-Jan-1996 |
John Dyson <dyson@FreeBSD.org> |
Added sys_pipe into files. |
#
9ef8f02d |
|
24-Jan-1996 |
Peter Wemm <peter@FreeBSD.org> |
procfs_{mem|regs|fpregs}.c are now completely shared with ptrace(), and are no longer optional. This cuts down some code duplication. |
#
3d72f177 |
|
20-Jan-1996 |
Bruce Evans <bde@FreeBSD.org> |
Removed last vestige of JREMOD. |
#
143f48e1 |
|
07-Jan-1996 |
Peter Wemm <peter@FreeBSD.org> |
sysv_ipc.c now "standard" as it contains #if defined(...) blocks of code that handle the various permutations of SYSV options. sysv_shm.c etc (the implementations) are still optional, this is just a file of stubs and an optional utility function. |
#
eb1a5f23 |
|
12-Dec-1995 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add pci/bt9xx.c - the new PCI probe module of the Buslogic SCSI driver. |
#
87f6c662 |
|
08-Dec-1995 |
Julian Elischer <julian@FreeBSD.org> |
Pass 3 of the great devsw changes most devsw referenced functions are now static, as they are in the same file as their devsw structure. I've also added DEVFS support for nearly every device in the system, however many of the devices have 'incorrect' names under DEVFS because I couldn't quickly work out the correct naming conventions. (but devfs won't be coming on line for a month or so anyhow so that doesn't matter) If you "OWN" a device which would normally have an entry in /dev then search for the devfs_add_devsw() entries and munge to make them right.. check out similar devices to see what I might have done in them in you can't see what's going on.. for a laugh compare conf.c conf.h defore and after... :) I have not doen DEVFS entries for any DISKSLICE devices yet as that will be a much more complicated job.. (pass 5 :) pass 4 will be to make the devsw tables of type (cdevsw * ) rather than (cdevsw) seems to work here.. complaints to the usual places.. :) |
#
a17c678e |
|
28-Nov-1995 |
David Greenman <dg@FreeBSD.org> |
Device driver for Intel Pro/100 PCI Fast Ethernet controller. |
#
bacc8b16 |
|
05-Nov-1995 |
John Dyson <dyson@FreeBSD.org> |
Changes to existing files for ext2fs support. The UFS mods need rework in the future as they are a bit crufty -- but at least the stuff is in the tree now. |
#
099a8761 |
|
31-Oct-1995 |
Peter Wemm <peter@FreeBSD.org> |
Update the file list for the new ppp files.. |
#
f4567b9c |
|
31-Oct-1995 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: not yet Submitted by: fgray@rice.edu this driver hasn't been checked but as a separate module, bringing it in won't break anything else and it't the best way of testing it...... julian |
#
cc6a66f2 |
|
26-Oct-1995 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: julian and jhay@mikom.csir.co.za Submitted by: Mike Mitchell, supervisor@alb.asctmd.com This is a bulk mport of Mike's IPX/SPX protocol stacks and all the related gunf that goes with it.. it is not guaranteed to work 100% correctly at this time but as we had several people trying to work on it I figured it would be better to get it checked in so they could all get teh same thing to work on.. Mikes been using it for a year or so but on 2.0 more changes and stuff will be merged in from other developers now that this is in. Mike Mitchell, Network Engineer AMTECH Systems Corporation, Technology and Manufacturing 8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000 supervisor@alb.asctmd.com |
#
ec477e8b |
|
03-Oct-1995 |
Julian Elischer <julian@FreeBSD.org> |
add the file kern_conf.c so it con be compiled in when needed for testing.. (for cdevsw_add and bdevsw_add) |
#
72129767 |
|
06-Sep-1995 |
Julian Elischer <julian@FreeBSD.org> |
replaced 2 devfs files with one that replaces them |
#
ea76f945 |
|
19-Aug-1995 |
Joerg Wunsch <joerg@FreeBSD.org> |
First part of importing the Japanese `od' driver. Claim the major numbers (before sombedoy else jumps in again and claims the slots for his foocd driver :-), install all the hooks that are required. While i've been at this, i've cleaned up some of the routines at the end of i386/conf.c; all the importers of the latest CDROM drivers forgot to fill in the appropriate information. The `ata' driver (vapourware?) does only occupy a slot in the bdevsw[] array, btw. The actual import of the code does require a minor change in the SCSI subsystem, and i want to have this reviewed by Peter first, so it will be deferred for some days. The driver is already working for me though. Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama) |
#
8f517193 |
|
31-Jul-1995 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Reserve space for Jim Lowe's impending Matrox Meteor card driver. Submitted by: james |
#
8a7580c3 |
|
16-Jul-1995 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Reviewed by: phk Submitted by: Andrew McRae <andrew@mega.com.au> Some initial commits from the pcmcia stuff, to make life easier for the testers. We will use the name "pccard" since that is really the buzzword at present. |
#
24a1cce3 |
|
13-Jul-1995 |
David Greenman <dg@FreeBSD.org> |
NOTE: libkvm, w, ps, 'top', and any other utility which depends on struct proc or any VM system structure will have to be rebuilt!!! Much needed overhaul of the VM system. Included in this first round of changes: 1) Improved pager interfaces: init, alloc, dealloc, getpages, putpages, haspage, and sync operations are supported. The haspage interface now provides information about clusterability. All pager routines now take struct vm_object's instead of "pagers". 2) Improved data structures. In the previous paradigm, there is constant confusion caused by pagers being both a data structure ("allocate a pager") and a collection of routines. The idea of a pager structure has escentially been eliminated. Objects now have types, and this type is used to index the appropriate pager. In most cases, items in the pager structure were duplicated in the object data structure and thus were unnecessary. In the few cases that remained, a un_pager structure union was created in the object to contain these items. 3) Because of the cleanup of #1 & #2, a lot of unnecessary layering can now be removed. For instance, vm_object_enter(), vm_object_lookup(), vm_object_remove(), and the associated object hash list were some of the things that were removed. 4) simple_lock's removed. Discussion with several people reveals that the SMP locking primitives used in the VM system aren't likely the mechanism that we'll be adopting. Even if it were, the locking that was in the code was very inadequate and would have to be mostly re-done anyway. The locking in a uni-processor kernel was a no-op but went a long way toward making the code difficult to read and debug. 5) Places that attempted to kludge-up the fact that we don't have kernel thread support have been fixed to reflect the reality that we are really dealing with processes, not threads. The VM system didn't have complete thread support, so the comments and mis-named routines were just wrong. We now use tsleep and wakeup directly in the lock routines, for instance. 6) Where appropriate, the pagers have been improved, especially in the pager_alloc routines. Most of the pager_allocs have been rewritten and are now faster and easier to maintain. 7) The pagedaemon pageout clustering algorithm has been rewritten and now tries harder to output an even number of pages before and after the requested page. This is sort of the reverse of the ideal pagein algorithm and should provide better overall performance. 8) Unnecessary (incorrect) casts to caddr_t in calls to tsleep & wakeup have been removed. Some other unnecessary casts have also been removed. 9) Some almost useless debugging code removed. 10) Terminology of shadow objects vs. backing objects straightened out. The fact that the vm_object data structure escentially had this backwards really confused things. The use of "shadow" and "backing object" throughout the code is now internally consistent and correct in the Mach terminology. 11) Several minor bug fixes, including one in the vm daemon that caused 0 RSS objects to not get purged as intended. 12) A "default pager" has now been created which cleans up the transition of objects to the "swap" type. The previous checks throughout the code for swp->pg_data != NULL were really ugly. This change also provides the rudiments for future backing of "anonymous" memory by something other than the swap pager (via the vnode pager, for example), and it allows the decision about which of these pagers to use to be made dynamically (although will need some additional decision code to do this, of course). 13) (dyson) MAP_COPY has been deprecated and the corresponding "copy object" code has been removed. MAP_COPY was undocumented and non- standard. It was furthermore broken in several ways which caused its behavior to degrade to MAP_PRIVATE. Binaries that use MAP_COPY will continue to work correctly, but via the slightly different semantics of MAP_PRIVATE. 14) (dyson) Sharing maps have been removed. It's marginal usefulness in a threads design can be worked around in other ways. Both #12 and #13 were done to simplify the code and improve readability and maintain- ability. (As were most all of these changes) TODO: 1) Rewrite most of the vnode pager to use VOP_GETPAGES/PUTPAGES. Doing this will reduce the vnode pager to a mere fraction of its current size. 2) Rewrite vm_fault and the swap/vnode pagers to use the clustering information provided by the new haspage pager interface. This will substantially reduce the overhead by eliminating a large number of VOP_BMAP() calls. The VOP_BMAP() filesystem interface should be improved to provide both a "behind" and "ahead" indication of contiguousness. 3) Implement the extended features of pager_haspage in swap_pager_haspage(). It currently just says 0 pages ahead/behind. 4) Re-implement the swap device (swstrategy) in a more elegant way, perhaps via a much more general mechanism that could also be used for disk striping of regular filesystems. 5) Do something to improve the architecture of vm_object_collapse(). The fact that it makes calls into the swap pager and knows too much about how the swap pager operates really bothers me. It also doesn't allow for collapsing of non-swap pager objects ("unnamed" objects backed by other pagers). |
#
836aa5b7 |
|
19-Apr-1995 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: no-one yet, but non-intrusive Submitted by: julian@tfs.com Obtained from: written from scratch slight changes to make space for devfs.. (also conditional test code in i386/isa/fd.c) why casn't cvs picked up these changes and shown them here? is this going to be a NULL commit? who knows? (it scanned all the dirs) =================================================================== RCS file: /home/ncvs/src/sys/sys/malloc.h,v retrieving revision 1.7 diff -r1.7 malloc.h 113a114,117 > #define M_DEVFSMNT 62 /* DEVFS mount structure */ > #define M_DEVFSBACK 63 /* DEVFS Back node */ > #define M_DEVFSFRONT 64 /* DEVFS Front node */ > #define M_DEVFSNODE 65 /* DEVFS node */ 184c188,192 < NULL, NULL, NULL, NULL, NULL, \ --- > "DEVFS mount", /* 62 M_DEVFSMNT */ \ > "DEVFS back", /* 63 M_DEVFSBACK */ \ > "DEVFS front", /* 64 M_DEVFSFRONT */ \ > "DEVFS node", /* 65 M_DEVFSNODE */ \ > NULL, \ Index: sys/mount.h =================================================================== RCS file: /home/ncvs/src/sys/sys/mount.h,v retrieving revision 1.16 diff -r1.16 mount.h 100c100,101 < #define MOUNT_MAXTYPE 15 --- > #define MOUNT_DEVFS 16 /* existing device Filesystem */ > #define MOUNT_MAXTYPE 16 118a120 > "devfs", /* 15 MOUNT_DEVFS */ \ Index: sys/vnode.h =================================================================== RCS file: /home/ncvs/src/sys/sys/vnode.h,v retrieving revision 1.19 diff -r1.19 vnode.h 61c61 < VT_UNION, VT_MSDOSFS --- > VT_UNION, VT_MSDOSFS, VT_DEVFS |
#
1fff5805 |
|
14-Apr-1995 |
Peter Dufault <dufault@FreeBSD.org> |
Add scsi target |
#
7a162ba1 |
|
15-Mar-1995 |
Peter Dufault <dufault@FreeBSD.org> |
Add scsi/scsi_sense.c |
#
d41f24e7 |
|
14-Mar-1995 |
David Greenman <dg@FreeBSD.org> |
Added support for generic FDDI and the DEC DEFEA and DEFPA FDDI adapters. Submitted by: Matt Thomas |
#
108b30f4 |
|
04-Mar-1995 |
Peter Dufault <dufault@FreeBSD.org> |
Add processor type and worm drivers |
#
6675c2f0 |
|
01-Mar-1995 |
Peter Dufault <dufault@FreeBSD.org> |
1. "uk" driver now optional on scbus 2. Added base scsi driver file scsi_driver.c |
#
226d4c89 |
|
23-Feb-1995 |
Bruce Evans <bde@FreeBSD.org> |
Make diskslice files standard and remove option DISKSLICE. ufs_disksubr.c needed a diskslice function yesterday and all disk drivers will need it. The diskslice initialization routine should be configurable (but isn't). |
#
92a63cbb |
|
20-Feb-1995 |
David Greenman <dg@FreeBSD.org> |
Removed vm_user.c. |
#
d3a1cd61 |
|
19-Feb-1995 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
remove gnu/scsi/nic5000.c - it's deprecated. |
#
730d52ff |
|
14-Feb-1995 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Add the ISDN entries. |
#
819f72f9 |
|
14-Feb-1995 |
Ugen J.S. Antsilevich <ugen@FreeBSD.org> |
kern/tty_snoop.c - optional for snp device added.. |
#
f3f509de |
|
01-Feb-1995 |
Stefan Eßer <se@FreeBSD.org> |
Reviewed by: se Submitted by: wolf (Wolfgang Stanglmeier) Obtained from: Most PCI specific files moved from sys/i386/pci to sys/pci. One PC specific file (pcibus.c) new in sys/i386/isa. |
#
c4f2ae4c |
|
30-Jan-1995 |
Atsushi Murai <amurai@FreeBSD.org> |
Add tunnel device for ppp(iijppp) |
#
bd410229 |
|
12-Jan-1995 |
Ugen J.S. Antsilevich <ugen@FreeBSD.org> |
Firewall files & accounting added here. ip_fwdef.c is support for ipfw lkm module and should be compoiled always with 'options inet'. |
#
f948427e |
|
08-Jan-1995 |
Peter Dufault <dufault@FreeBSD.org> |
Added ssc device |
#
59d8d13f |
|
22-Dec-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Added `ds', a black-hole network interface. |
#
e03e30f8 |
|
11-Dec-1994 |
Bruce Evans <bde@FreeBSD.org> |
Add kern/subr_diskslice.c, kern/subr_dkbad.c. Sort. |
#
1db18e0f |
|
11-Dec-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Advanced route cache management is now an official part of IP support. |
#
afa59fd4 |
|
04-Dec-1994 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Added dev/vn/vn.c optional vn |
#
7f41568c |
|
02-Dec-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Add generic sync PPP file. |
#
5c2dae8e |
|
01-Nov-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Add code to be a bit smarter about IP routes, conditioned on the option IN_RMX. (Eventually this will be standard, but I just wrote the code today and don't want to break anyone.) |
#
3345fd39 |
|
15-Oct-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Added kern_devconf.c as standard. |
#
ee38c198 |
|
07-Oct-1994 |
Geoff Rehmet <csgr@FreeBSD.org> |
First stage of getting imgact_gzip reentrant: 1) cut this up into /sys/sys/inflate.h, sys/kern/inflate.c sys/kern/ingact_gzip.c 2) make a lot more things static 3) make a lot of globals const 4) make some args const 5) first stage of making globals into a struct (not used yet) The vm_allocate() call which was introduced between revisions 1.4 and 1.5 of imagact_gzip.c broke things. I have backed that out for the time being. (Davidg: help please) WARNING: if you have gzip enabled in your kernel, you must now run config again, as another source file has been added. Otherwise your kernel compile will fall over. This is all still WIP. More commits to come. Suggestions from: phk. |
#
e64ac777 |
|
03-Oct-1994 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Changed the imgact_gzip to "optional gzip" per David Greenman's request. |
#
7ba9adc8 |
|
02-Oct-1994 |
Poul-Henning Kamp <phk@FreeBSD.org> |
*** WARNING: THIS MATERIAL MIGHT GO AWAY! This material needs the core-groups approval to stay here for the 2.0 release. If the core-group does not concent to this commit, it will be backed out. *** It is a non-gpl'ed "unzip" which will allow execution of a.out files which have been sent through "gzip -9". The idea being saved disk-space. Just now this code has quality rating: "working prototype". To compress a file to be used with this, do it exactly this way: gzip -9 -v < /bin/FOO > /tmp/FOO remember to chmod /tmp/FOO as needed. DON'T compress all of you binaries right away ! There are several things which you should consider first: 1. Using compressed binaries, you use >MUCH< more VM, and thus swap-space. 2. It is slow. 3. It might crash your machine. Apart from that, I welcome comments... |
#
5ea9b263 |
|
28-Sep-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
LKM support is no longer optional. |
#
c770b47d |
|
25-Sep-1994 |
David Greenman <dg@FreeBSD.org> |
Removed unimplemented subr_rmap.c and unused references to it. |
#
e98e6bee |
|
22-Sep-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Add PPP. NB: this is VERY VERY VERY green code, added to make it easier to test things out. It compiles, but I don't know if it works (yet). |
#
c9b1d604 |
|
22-Sep-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
More loadable VFS changes: - Make a number of filesystems work again when they are statically compiled (blush) - FIFOs are no longer optional; ``options FIFO'' removed from distributed config files. |
#
db3170ab |
|
20-Sep-1994 |
David Greenman <dg@FreeBSD.org> |
Sorted. |
#
27a0bc89 |
|
19-Sep-1994 |
Doug Rabson <dfr@FreeBSD.org> |
Added msdosfs. Obtained from: NetBSD |
#
3f31c649 |
|
18-Sep-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Redo Kernel NTP PLL support, kernel side. This code is mostly taken from the 1.1 port (which was in turn taken from Dave Mills's kern.tar.Z example). A few significant differences: 1) ntp_gettime() is now a MIB variable rather than a system call. A few fiddles are done in libc to make it behave the same. 2) mono_time does not participate in the PLL adjustments. 3) A new interface has been defined (in <machine/clock.h>) for doing possibly machine-dependent things around the time of the clock update. This is used in Pentium kernels to disable interrupts, set `time', and reset the CPU cycle counter as quickly as possible to avoid jitter in microtime(). Measurements show an apparent resolution of a bit more than 8.14usec, which is reasonable given system-call overhead. |
#
3b8a29ae |
|
15-Sep-1994 |
Doug Rabson <dfr@FreeBSD.org> |
Added back the SYSV ipc files which somehow got removed. |
#
610ee2f9 |
|
15-Sep-1994 |
David Greenman <dg@FreeBSD.org> |
Made TCPDEBUG truely optional. Based on changes I made in FreeBSD 1.1.5. Fixed somebody's idea of a joke - about the first half of the lines in in_proto.c were spaced over by one space. |
#
5e9ae478 |
|
13-Sep-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Shuffle some functions and variables around to make it possible for multicast routing to be implemented as an LKM. (There's still a bit of work to do in this area.) |
#
3d903220 |
|
13-Sep-1994 |
Doug Rabson <dfr@FreeBSD.org> |
Added SYSV ipcs. Obtained from: NetBSD and FreeBSD-1.1.5 |
#
8a129cae |
|
27-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
1) Changed ddb into a option rather than a pseudo-device (use options DDB in your kernel config now). 2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its own file. 3) Added \r handing in db_printf. 4) Added missing memory usage stats to statclock(). 5) Added dummy function to pseudo_set so it will be emitted if there are no other pseudo declarations. |
#
3edb235c |
|
19-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Terry Lambert's loadable kernel module support w/improvements from the NetBSD group. |
#
92dc7331 |
|
08-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Made lockf advisory locking code generic (rather than ufs specific), and use it in NFS. This is required both for diskless support and for POSIX compliance. Note: the support in NFS is only for the local node. Submitted by: based on work originally done by Yuval Yurom |
#
26f9a767 |
|
25-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch. Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman |
#
df8bae1d |
|
24-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
BSD 4.4 Lite Kernel Sources |
#
f84e9df6 |
|
27-Feb-2024 |
Mitchell Horne <mhorne@FreeBSD.org> |
conf: deduplicate dwmmc config logic The core of this driver is supported by multiple architectures. Move the config entries to the MI conf/files. This hardware is found on several available/emerging RISC-V SoCs, so we will soon need it on this architecture. Reviewed by: manu MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D44104
|
#
a01dc140 |
|
27-Feb-2024 |
Mitchell Horne <mhorne@FreeBSD.org> |
conf: deduplicate dwc config logic Move the core dwc(4) file entries to the MI conf/files. Platform-specific versions e.g. rk_dwc are retained in their current position. On arm64 this necessitates adding an additional 'device dwc' option. This hardware is found on several available/emerging RISC-V SoCs, so we will soon need it on this architecture. Reviewed by: manu MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D44103
|
#
114ab149 |
|
12-Feb-2024 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: make uart_bus_puc.c not depend on puc If one wants to have puc working as a module we need the bus in the kernel otherwise we won't be able to find any child to attach. Reviewed by: imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43846
|
#
80044c78 |
|
16-Jan-2024 |
Xavier Beaudouin <xavier.beaudouin@klarasystems.com> |
Add UDP encapsulation of ESP in IPv6 This patch provides UDP encapsulation of ESP packets over IPv6. Ports the IPv4 code to IPv6 and adds support for IPv6 in udpencap.c As required by the RFC and unlike in IPv4 encapsulation, UDP checksums are calculated. Co-authored-by: Aurelien Cazuc <aurelien.cazuc.external@stormshield.eu> Sponsored-by: Stormshield Sponsored-by: Wiktel Sponsored-by: Klara, Inc.
|
#
f92d9b1a |
|
28-Nov-2023 |
Kristof Provost <kp@FreeBSD.org> |
pflow: import from OpenBSD pflow is a pseudo device to export flow accounting data over UDP. It's compatible with netflow version 5 and IPFIX (10). The data is extracted from the pf state table. States are exported once they are removed. Reviewed by: melifaro Obtained from: OpenBSD Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D43106
|
#
53df7e58 |
|
14-Jan-2024 |
Marius Strobl <marius@FreeBSD.org> |
geom_redboot(4): Garbage collect disconnected driver The last MIPS user has been removed in c09981f1 2 years ago, the last ARM one in ff945277 even 5.5 years ago.
|
#
03e8d25b |
|
14-Jan-2024 |
Marius Strobl <marius@FreeBSD.org> |
geom_map(4): Garbage collect disconnected driver The last MIPS user has been removed in c09981f1 2 years ago, the last ARM one in 58d5c511 even 5.5 years ago.
|
#
62e8ccc3 |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
syscon: Move syscon code in dev/syscon We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: mhorne Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43196
|
#
950a6087 |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
phy: Move phy code in dev/phy We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: emaste, imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43195
|
#
b2f0caf1 |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
regulator: Move regulator code in dev/regulator We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: emaste, imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43194
|
#
e51b3d8e |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
nvmem: Move nvmem code in dev/nvmem We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: dab, imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43193
|
#
1f469a9f |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
hwreset: Move reset code in dev/hwreset We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43192
|
#
be82b3a0 |
|
26-Dec-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
clk: Move clock code in dev/clk We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: mhorne Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43191
|
#
b1e82d33 |
|
04-Jan-2024 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.27.5.0 Version : 1.27.5.0 Date : 10/10/2023 ===================== Fixes ----- BASE: - Fixed handling the Remote Fault with AN, causing the link failure. ===================== Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications
|
#
a5e65981 |
|
04-Jan-2024 |
Oskar Holmlund <oh@FreeBSD.org> |
sys/conf: Add backlight as a dependency to pwm_backlight.c Approved by: manu Differential revision: https://reviews.freebsd.org/D43312
|
#
ea9a9b12 |
|
01-Dec-2023 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
sys/conf: make xen_acpi_cpu.c depend on acpi Since Xen can function on systems without ACPI, make sure this key dependency is handled. Reviewed by: royger
|
#
80446fc7 |
|
08-Dec-2023 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
linuxkpi: Move `struct kobject` code to `linux_kobject.c` [Why] `linux_compat.c` is already too long. I will need to add `struct kset` in a follow-up commit, so let's move the existing `struct kobject` code to its own file. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D43019
|
#
793e4aca |
|
11-Dec-2023 |
Michael Tuexen <tuexen@FreeBSD.org> |
tcp stacks: in kernel BBR and RACK require in kernel HPTS Compiling the BBR or RACK stack into the kernel requires HPTS to be compiled into the kernel. Reviewed by: glebius, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D42998
|
#
4f9c93f1 |
|
04-Dec-2023 |
Gleb Smirnoff <glebius@FreeBSD.org> |
lro: separate HPTS specific code into tcp_lro_hpts.c Put same copyright header as tcp_hpts.c has, since all this code was developed by Randall Stewart <rrs@FreeBSD.org> as a part of the HPTS work. Also copy Mellanox copyright from tcp_lro.c as Hans Petter Selasky also participated in restructuring the code. Reviewed by: imp, tuexen, rrs Differential Revision: https://reviews.freebsd.org/D42854
|
#
7fa08d41 |
|
21-Nov-2023 |
Olivier Certner <olce.freebsd@certner.fr> |
kern_racct.c: Don't compile if RACCT undefined Just skip compiling this file if RACCT isn't defined. This allows to skip including headers that no code uses at all, and also to remove the whole file's #ifdef/#endif bracketing. Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
|
#
96f193b2 |
|
20-Nov-2023 |
Alex Xu (Hello71) <alex_y_xu@yahoo.ca> |
Compile RACK when options TCP_RACK, not TCP_BBR Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca> Fixes: 3a338c5341 ("Add the BBR and RACK stacks to the LINT kernel.") Pull Request: https://github.com/freebsd/freebsd-src/pull/907
|
#
6eda49b7 |
|
12-Nov-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
mlx5_core: add new files to the static files list Sponsored by: NVidia networking MFC after: 1 week
|
#
dd7d42a1 |
|
23-Oct-2023 |
Rick Macklem <rmacklem@FreeBSD.org> |
nfscl/kgssapi: Fix Kerberized NFS mounts to pNFS servers During recent testing related to the IETF NFSv4 Bakeathon, it was discovered that Kerberized NFSv4.1/4.2 mounts to pNFS servers (sec=krb5[ip],pnfs mount options) was broken. The FreeBSD client was using the "service principal" for the MDS to try and establish a rpcsec_gss credential for a DS, which is incorrect. (A "service principal" looks like "nfs@<fqdn-of-server>" and the <fqdn-of-server> for the DS is not the same as the MDS for most pNFS servers.) To fix this, the rpcsec_gss code needs to be able to do a reverse DNS lookup of the DS's IP address. A new kgssapi upcall to the gssd(8) daemon is added by this patch to do the reverse DNS along with a new rpcsec_gss function to generate the "service principal". A separate patch to the gssd(8) will be committed, so that this patch will fix the problem. Without the gssd(8) patch, the new upcall fails and current/incorrect behaviour remains. This bug only affects the rare case of a Kerberized (sec=krb5[ip],pnfs) mount using pNFS. This patch changes the internal KAPI between the kgssapi and nfscl modules, but since I did a version bump a few days ago, I will not do one this time. MFC after: 1 month
|
#
3a338c53 |
|
18-Oct-2023 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add the BBR and RACK stacks to the LINT kernel. While here, drop the EXTRA_TCP_STACKS option, which serves no purpose and should never have been added. Instead, build bbr and rack as long as either or both of INET and INET6 is enabled. There is no risk to anyone who doesn't load one or both and then twiddle the relevant sysctls. Differential Revision: https://reviews.freebsd.org/D42088
|
#
b6c653c9 |
|
16-Oct-2023 |
Mark Johnston <markj@FreeBSD.org> |
kmsan: Set -fno-sanitize-memory-param-retval for now As of LLVM 16, -fsanitize-memory-param-retval is the default. It yields significantly smaller code, but the KMSAN runtime interceptors need to be updated to stop checking shadow state of parameters. Apply a minimal workaround for now. MFC after: 3 days Sponsored by: Klara, Inc. Sponsored by: Juniper Networks, Inc.
|
#
2cef6288 |
|
14-Sep-2023 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
pf: convert state retrieval to netlink Use netlink to export pf's state table. The primary motivation is to improve how we deal with very large state stables. With the previous implementation we had to build the entire list (both in the kernel and in userspace) before we could start processing. With netlink we start to get data in userspace while the kernel is still generating more. This reduces peak memory consumption (which can get to the GB range once we hit millions of states). Netlink also makes future extension easier, in that we can easily add fields to the state export without breaking userspace. In that regard it's similar to an nvlist-based approach, except that it also deals with transport to userspace and that it performs significantly better than nvlists. Testing has failed to measure a performance difference between the previous struct-copy based ioctl and the netlink approach. Differential Revision: https://reviews.freebsd.org/D38888
|
#
1d6a6a52 |
|
27-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
i2c: Add Microcrystal RV3032 RTC driver This is a simple RTC driver for the rv3032 from Microcrystal. Just the basic functionality is implemented (no timer, alarm etc ..). Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41995
|
#
125f5c5b |
|
18-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move opencores i2c driver into controller subdirectory Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41914
|
#
7c569caa |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move i2c sensors drivers into new sensor subdirectory No reason that they should live directly under iicbus Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41913
|
#
918a10c9 |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: conf: Fix pcf8574 entry It lives in the gpio subdirectory Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41912
|
#
06589d6e |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move ADC drivers into a new adc subfolder No reason that they should live directly under iicbus Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41911
|
#
062944cc |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move Silergy pmic/regulators under pmic/silergy subdirectory Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41909
|
#
2f16049c |
|
19-Sep-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
iicbus: Move remaining rtc driver into rtc subfolder No reason that they should live directly under iicbus Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D41908
|
#
2373e704 |
|
23-Sep-2023 |
Alexander Motin <mav@FreeBSD.org> |
Untie strchrnul() from gdb. MFC after: 10 days
|
#
1554ba03 |
|
24-Aug-2023 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Add mac_grantbylabel This module allows controlled privilege escallation via mac labels securely associated with a process via mac_veriexec. There are over 700 PRIV_* but we can compress many of them into a single GBL_* thus constraining the size of gbl labels. The goal is to allow a daemon to run as an unprivileged process while still being able a set of privileged operations needed. We add APIs to libveriexec so that userland processes can check labels and an exec_script API that allows a suitably labeled process to run something like a python interpreter directly if necessary; overcomming the 'indirect' flag applied to the interpreter. Add -l option to sbin/veriexec to report labels. Reviewed by: stevek Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D41431
|
#
af93fea7 |
|
23-Aug-2023 |
Jake Freeland <jfree@freebsd.org> |
timerfd: Move implementation from linux compat to sys/kern Move the timerfd impelemntation from linux compat code to sys/kern. Use it to implement the new system calls for timerfd. Add a hook to kern_tc to allow timerfd to know when the system time has stepped. Add kqueue support to timerfd. Adjust a few names to be less Linux centric. RelNotes: YES Reviewed by: markj (on irc), imp, kib (with reservations), jhb (slack) Differential Revision: https://reviews.freebsd.org/D38459
|
#
4a69fc16 |
|
07-Oct-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
Add membarrier(2) This is an attempt at clean-room implementation of the Linux' membarrier(2) syscall. For documentation, you would need to read both membarrier(2) Linux man page, the comments in Linux kernel/sched/membarrier.c implementation and possibly look at actual uses. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32360
|
#
2a902189 |
|
18-Aug-2023 |
Dmitry Salychev <dsl@FreeBSD.org> |
sff: Add SFP driver (fdt-based draft) This basic version of the driver obtains properties of the "sff,sfp" compatible devices and implements a simple interface to provide an I2C bus device for the rest of the drivers (e.g. to implement SIOCGI2C). Both of the interface and driver are subjects for a further generalization to be used in case of non-FDT and non-arm64 platforms. Reviewed by: bz, manu Approved by: bz (mentor) MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D41440
|
#
02f27066 |
|
16-Aug-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Add a virtio-gpu 2D driver Add a driver to connect vt to the VirtIO GPU device in 2D mode. This provides a output on the display when a qemu virtio gpu device is added, e.g. with -device virtio-gpu-pci. Tested on qemu using UTM, and a Hetzner arm64 VM instance. Reviewed by: bryanv (earlier version) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D40094
|
#
031beb4e |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line sh pattern Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
#
8a2e880a |
|
16-Aug-2023 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.27.4.0 This is the list of changes since last release, taken from the release notes of Chelsio Unified Wire 3.18.0.1. Version : 1.27.4.0 Date : 07/05/2023 ======================================= Fixes ----- BASE: - Handle 40G to 100G cable change. - Avoid unnecessary i2c read. ======================================= Obtained from: Chelsio Communications Sponsored by: Chelsio Communications MFC after: 1 week
|
#
8f5dbc22 |
|
08-Aug-2023 |
Marius Strobl <marius@FreeBSD.org> |
arswitch(4): Remove support for AR{7240,9340} found in MIPS SoCs only With the general removal of MIPS support there's no longer a need to support these integrated switches. Approved by: adrian Differential Revision: https://reviews.freebsd.org/D41394
|
#
077ef5b4 |
|
07-Aug-2023 |
Marius Strobl <marius@FreeBSD.org> |
ath(4): Remove MIPS SoC build glue and AR9130 from FreeBSD HAL All of these are obsoleted by the general removal of MIPS support. Actually, corresponding to the removed AH_SUPPORT_x, there is more superfluous support sprinkled across the HAL source. However, that code is left in place for now in order to ease a sync to NetBSD. Reviewed by: emaste (w/ man page fix) Approved by: adrian Differential Revision: https://reviews.freebsd.org/D41355
|
#
37c8ee88 |
|
07-Aug-2023 |
Marius Strobl <marius@FreeBSD.org> |
ath(4): Remove MIPS AHB frontend and join PCI one w/ main support again Following the removal of general MIPS support, there's no longer a need to have the AHB bus-frontend in place, which according to Linux sources also isn't used with any non-MIPS SoCs. For simplicity, PCI bus support is only made conditional on the main one again, i. e. device ath_pci is removed, and built into the main module, i. e. if_ath_pci.ko obsoleted, respectively. Effectively, this reverts the following commits and associated changes: dba9c8597747c6c9bf3d2ec68f7eb90552878dc7 e849bb3ecbb1963344a22ae77fc96f89fbebf40c Approved by: adrian Relnotes: yes Differential Revision: https://reviews.freebsd.org/D41354
|
#
fdfd3a90 |
|
06-Dec-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
ofw: Add a ofw_firmware driver Some SoCs have an external firmware doing power management, clock and other stuffs. (Xilinx, ARM Juno etc ...) The way it is represent in the DTB is usually having a 'firmware' node under the root node and have some nodes under it with the correct compatible strings. The firmware node itself doesn't have any compatible strings. This driver is simple subclassed from simplebus and attaches at BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE so early drivers (like clock drivers) can still have a change to attach early. Reviewed by: andrew Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D37612
|
#
7ff9ae90 |
|
03-Aug-2023 |
Marius Strobl <marius@FreeBSD.org> |
iflib(9): Remove support for cloning pseudo interfaces This code was used by the first incarnation of wg(4) and is dead ever since f187d6dfbf633665ba6740fe22742aec60ce02a2 has removed the latter again. Moreover, this code matched iflib(4) like a square peg fits in a round hole, was incomplete and despite some hacks still tailored to VPC and wg(4) but not generic. In effect, this reverts the following: 09f6ff4f1a47c3009dc16fdc609a44f2341bc7ac (w/ its "ancillary changes") 9aeca21324f481f57f2ecb7009f461f4f51b62b3 1f93e931d9f0c688f43f98ef777e04636a325526 0f9544d03e89d180f94a7a84b110ec7d2b6c625a 0dd691b41276ce13d25ffb1443af27f85038aa3f Reviewed by: erj, kbowling Differential Revision: <https://reviews.freebsd.org/D41196>
|
#
7d380b98 |
|
03-Aug-2023 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
spibus(4): Add support for ACPI-based children enumeration When spibus is attached as child of Intel SPI controller it scans all ACPI nodes for "SPI Serial Bus Connection Resource Descriptor" described in section 19.6.126 of ACPI specs. If such a descriptor is found, SPI child is added to spibus, it's SPI chip select, mode, clock, IRQ resource and ACPI handle are added to ivars. Existing ACPI bus-hosted child is deleted afterwards. Apple ACPI SPI extensions are supported. Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D41248
|
#
f561c2ec |
|
31-Jul-2023 |
John Baldwin <jhb@FreeBSD.org> |
memdesc: Add routines for copying data to/from memory descriptors These are modeled on the API used for m_copydata/m_copyback and the crypto buffer APIs. One day it might be nice to reduce the proliferation of these by adding cursors and using memdesc directly for crypto request buffers. Reviewed by: markj Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D40615
|
#
4ef1c6f7 |
|
26-Jul-2023 |
Marius Strobl <marius@FreeBSD.org> |
base: Remove support for the VTOC8 partitioning scheme The removal of the sparc64 support in February 2020 obsoleted the VTOC8 partitioning scheme as no other FreeBSD platform makes use of it. Moreover, the code is bitrotting as nothing defines e. g. LOADER_VTOC8_SUPPORT any more and, thus, should go now, too. With this change, the following commits are reverted as far as VTOC8 is concerned and parts haven't already previously been deleted along with prior sparc64 removals: 094fcb157d4c98211899cf09d06e2cf19149b7e0 a7d366e9589c95feda6f3bc78c59c6355d51f126 ba8d50d08b9df4e8213f9a6997ff6792ecebcd9b The alignment example d9711c28efc4ec89ba5ea11f8fd63e9d0a7fc81b added to the VTOC8 section of gpart.8 is folded into the MBR one. This should finally conclude the deorbit of sparc64-specific bits. We had joy, we had fun we ran Unix on a Sun. But that source and the song of FreeBSD have all gone. Credits to Michael Bueker for the original "Unix on a Sun" and Rod McKuen for the "Seasons in the Sun" lyrics.
|
#
215bab79 |
|
25-Jul-2023 |
Shivank Garg <shivank@freebsd.org> |
mac_ipacl: new MAC policy module to limit jail/vnet IP configuration The mac_ipacl policy module enables fine-grained control over IP address configuration within VNET jails from the base system. It allows the root user to define rules governing IP addresses for jails and their interfaces using the sysctl interface. Requested by: multiple Sponsored by: Google, Inc. (GSoC 2019) MFC after: 2 months Reviewed by: bz, dch (both earlier versions) Differential Revision: https://reviews.freebsd.org/D20967
|
#
058d1722 |
|
23-Jul-2023 |
Michael Tuexen <tuexen@FreeBSD.org> |
sctp: include sctp_module.c in kernel builds Allow kldload to detect that SCTP has been build into the kernel. MFC after: 3 days
|
#
54dfc97b |
|
02-Jun-2023 |
Shailend Chand <shailend@google.com> |
Add gve, the driver for Google Virtual NIC (gVNIC) gVNIC is a virtual network interface designed specifically for Google Compute Engine (GCE). It is required to support per-VM Tier_1 networking performance, and for using certain VM shapes on GCE. The NIC supports TSO, Rx and Tx checksum offloads, and RSS. It does not currently do hardware LRO, and thus the software-LRO in the host is used instead. It also supports jumbo frames. For each queue, the driver negotiates a set of pages with the NIC to serve as a fixed bounce buffer, this precludes the use of iflib. Reviewed-by: markj MFC-after: 2 weeks Differential Revision: https://reviews.freebsd.org/D39873
|
#
062a7b91 |
|
10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
twe: Remove driver Sponsored by: Netflix
|
#
80327535 |
|
26-Apr-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Mark simplefb as depending on fdt This file is for a FDT specific device, mark it as such. Reported by: Zachary Leaf <zachary.leaf@arm.com> Sponsored by: Arm Ltd
|
#
d5035d91 |
|
25-Apr-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Add a simple-framebuffer vt driver This allows us to support this hardware and, in the future, use clocks so they are enabled past the initial kernel boot process. Reviewed by: ray Differential Revision: https://reviews.freebsd.org/D30103
|
#
b344bd3a |
|
23-Apr-2023 |
Val Packett <val@packett.cool> |
ext2fs: extract crc16 into sys/crc16.h deduplicate this as it might be needed for other drivers (e.g. Apple SPI-HID) Sponsored by: https://www.patreon.com/valpackett Reviewed by: chuck, imp MFC after: 1 month Differential revision: https://reviews.freebsd.org/D32879
|
#
06a1103f |
|
18-Apr-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
ath10k: ath11k: add specific LinuxKPI support Add files needed by ath1?k drivers to linuxkpi/linuxkpi_wlan. This contain (skeleton) implementations of what is needed to compile but specifically mhi/qmi/qrtr will need more work for ath11k. MFC after: 2 months
|
#
ca5391bd |
|
20-Apr-2023 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to version 1.27.3.0 These are the changes since the last update (copy-pasted from the release notes for Chelsio Unified Wire v3.18.0.0): ==================== Version : 1.27.3.0 Date : 04/07/2023 Fixes ----- BASE: - Fixed a hang if module eeprom reads gives invalid data. - KR backlplane no-fec link problem fixed. OFLD: - iscsi ddp errors fixed. - iwarp connection abort in rare cases causing NIC traffic hang fixed. ENHANCEMENTS ------------ BASE: - Cisco GLC-TE 1G modules support added. ==================== Version : 1.27.1.0 Date : 12/02/2022 Fixes ----- BASE: - memwrite dsgl cannot be used for T5. OFLD: - Enabled FCoE in SO adapters. - TOE-TLS crash fixed. - iscsi hang fixed. MFC after: 2 weeks Sponsored by: Chelsio Communications
|
#
aa7bbdab |
|
18-Apr-2023 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5: Implement diagostic counters as sysctl(8) nodes. MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
6d765bff |
|
15-Feb-2021 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen: move common variables off of sys/x86/xen/hvm.c The xen_domain_type and HYPERVISOR_shared_info variables are shared by all Xen architectures, so they should be in common rather than reimplemented by each architecture. hvm_start_flags is used by xen_initial_domain() and so needs to be in common. Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D28982
|
#
5e2183da |
|
13-Jan-2014 |
Julien Grall <julien@xen.org> |
xen/intr: move sys/x86/xen/xen_intr.c to sys/dev/xen/bus/ The event channel source code or equivalent is needed on all architectures. Since much of this is viable to share, get this moved out of x86-land. Each interrupt interface then needs a distinct back-end implementation. Reviewed by: royger Submitted by: Elliott Mitchell <ehem+freebsd@m5p.com> Original implementation: Julien Grall <julien@xen.org>, 2014-01-13 17:41:04 Differential Revision: https://reviews.freebsd.org/D30236
|
#
b2c50bb9 |
|
18-Feb-2021 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen/efi: make Xen PV EFI clock optional The present implementation is only for x86. Other architectures need adjustments for querying presence of EFI. Xen's EFI support is also quite troublesome on non-x86. This is being slowly remedied, but until in better shape the EFI clock functionality should be disabled. Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D31065
|
#
19e43c16 |
|
27-Mar-2023 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
netlink: add netlink KPI to the kernel by default This change does the following: Base Netlink KPIs (ability to register the family, parse and/or write a Netlink message) are always present in the kernel. Specifically, * Implementation of genetlink family/group registration/removal, some base accessors (netlink_generic_kpi.c, 260 LoC) are compiled in unconditionally. * Basic TLV parser functions (netlink_message_parser.c, 507 LoC) are compiled in unconditionally. * Glue functions (netlink<>rtsock), malloc/core sysctl definitions (netlink_glue.c, 259 LoC) are compiled in unconditionally. * The rest of the KPI _functions_ are defined in the netlink_glue.c, but their implementation calls a pointer to either the stub function or the actual function, depending on whether the module is loaded or not. This approach allows to have only 1k LoC out of ~3.7k LoC (current sys/netlink implementation) in the kernel, which will not grow further. It also allows for the generic netlink kernel customers to load successfully without requiring Netlink module and operate correctly once Netlink module is loaded. Reviewed by: imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D39269
|
#
105a4f7b |
|
09-Mar-2023 |
Brooks Davis <brooks@FreeBSD.org> |
ng_atmllc: remove This standalone module is the last vestage of ATM support in the tree so send it on its way. Reviewed by: manu, emaste Relnotes: yes Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38880
|
#
af0cc0b2 |
|
09-Mar-2023 |
Brooks Davis <brooks@FreeBSD.org> |
NgATM: Remove netgraph ATM support Most ATM support was removed prior to FreeBSD 12. The netgraph support was kept as it was less intrusive, but it is presumed to be unused. Reviewed by: manu Relnotes: yes Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D38879
|
#
b9f235ba |
|
13-Feb-2023 |
Warner Losh <imp@FreeBSD.org> |
Properly conditionalize clang 15-only flags Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38550
|
#
eca005d8 |
|
12-Feb-2023 |
Mateusz Guzik <mjg@FreeBSD.org> |
zlib: silence K&R warns Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
dcb4b138 |
|
05-Feb-2023 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen/timer: rename "timer.c" to "xen_timer.c" The better to avoid conflicting with other files given how "timer.c" isn't a very unique name. ARM and RISC-V both have timer.c files. Reviewed by: royger, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/609 Differential Revision: https://reviews.freebsd.org/D36258
|
#
69d94f4c |
|
02-Feb-2023 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add tarfs, a filesystem backed by tarballs. Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Reviewed by: pauamma, imp Differential Revision: https://reviews.freebsd.org/D37753
|
#
1bfa548b |
|
13-Jan-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
ifnet/API: Privatize the implementation of the drbr_* APIs When ALTQ is enabled ifnet accessors already need to be called, largely defeating the purpose of the inline. To that extent, make the ALTQ form functions in the netstack proper, and make them always available. Reviewed By: glebius Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38104
|
#
3d100b2a |
|
31-Jan-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Remove dme(4) from files Fixes: 69759b0c695da15a3379ca01335ab314897d8594
|
#
4ffe60e6 |
|
07-Jan-2023 |
Søren Schmidt <sos@FreeBSD.org> |
Add Combo PHY, RK817, Syr827, tcs4525 pmic devices to Rockchip specific config.
|
#
c9313a0b |
|
22-Dec-2022 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
netlink: allow netlink to be build in the kernel Differential Revision: https://reviews.freebsd.org/D37781
|
#
32661319 |
|
21-Dec-2022 |
John Baldwin <jhb@FreeBSD.org> |
Fix spelling of NO_WINFINITE_RECURSION. Reported by: dim Fixes: 2e08e4b75ea1 zfs: Fix build with GCC 12.
|
#
2e08e4b7 |
|
21-Dec-2022 |
John Baldwin <jhb@FreeBSD.org> |
zfs: Fix build with GCC 12. Silence -Winfinite-recursion for ldo.c in lua and -Wstringop-overread for nvpair.c. Reviewed by: mm Differential Revision: https://reviews.freebsd.org/D37631
|
#
e00b6e25 |
|
21-Dec-2022 |
Søren Schmidt <sos@FreeBSD.org> |
Attach Motorcomm YT8511 GbE PHY driver to the build.
|
#
969935b8 |
|
11-Nov-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Add support for an array of hwresets In some drivers we need to assert and deassert a group of hardware resets in any order. To support this add a new hwreset_array that manages all hwresets defined for a device. Reviewed by: bz, manu, mmel Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37357
|
#
eaabc937 |
|
14-Dec-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
tcp: retire TCPDEBUG This subsystem is superseded by modern debugging facilities, e.g. DTrace probes and TCP black box logging. We intentionally leave SO_DEBUG in place, as many utilities may set it on a socket. Also the tcp::debug DTrace probes look at this flag on a socket. Reviewed by: gnn, tuexen Discussed with: rscheff, rrs, jtl Differential revision: https://reviews.freebsd.org/D37694
|
#
eb6f4885 |
|
07-Dec-2022 |
Doug Rabson <dfr@FreeBSD.org> |
Fix a typo in the binmisc option name This should be spelt IMGACT_BINMISC to match the filename. The option name does not appear outside of sys/conf and this module is typically used via the kernel module imgact_binmisc.ko. MFC After: 2 weeks
|
#
813c5b75 |
|
08-Nov-2022 |
Luiz Amaral <email@luiz.eng.br> |
pfsync: prepare code to accommodate AF_INET6 family Work is ongoing to add support for pfsync over IPv6. This required some changes to allow for differentiating between the two families in a more generic way. This patch converts the relevant ioctls to using nvlists, making future extensions (such as supporting IPv6 addresses) easier. Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D36277
|
#
3c0e9169 |
|
07-Nov-2022 |
Mark Johnston <markj@FreeBSD.org> |
ksan: Build sanitizer runtimes without stack-smashing protection On arm64 with per-thread stack canaries enabled (the PERTHREAD_SSP option), the compiler may load curthread->td_md.md_canary in function prologues. This is not safe in data_abort(); see commit 2c10be9e06d4. Thus, sanitizer runtimes must also avoid accessing the current thread's canary. Since SSP has limited utility in sanitizer runtimes, simply disable it unconditionally to avoid unpleasant surprises in the future. MFC after: 2 weeks Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc.
|
#
58d84ef8 |
|
04-Nov-2022 |
Sumit Saxena <sumit.saxena@broadcom.com> |
if_bnxt: Added support for mgmt interface for passthrough hwrms Added support for application management interface. There are two types of commands supported: 1. Firmware IOCTLs: These ioctls are meant for firmware consumption. Driver acts as a transport for these. 2. Driver only IOCTLs: These ioctls are meant for driver consumption. Driver will serve these ioctls without sending them down to firmware. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D36448
|
#
744bfb21 |
|
28-Oct-2022 |
John Baldwin <jhb@FreeBSD.org> |
Import the WireGuard driver from zx2c4.com. This commit brings back the driver from FreeBSD commit f187d6dfbf633665ba6740fe22742aec60ce02a2 plus subsequent fixes from upstream. Relative to upstream this commit includes a few other small fixes such as additional INET and INET6 #ifdef's, #include cleanups, and updates for recent API changes in main. Reviewed by: pauamma, gbe, kevans, emaste Obtained from: git@git.zx2c4.com:wireguard-freebsd @ 3cc22b2 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D36909
|
#
227046a4 |
|
28-Oct-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Enable more extres options when FDT is missing These now build when FDT is not included in the kernel config. Sponsored by: Innovate UK
|
#
19ee8335 |
|
27-Oct-2022 |
Jung-uk Kim <jkim@FreeBSD.org> |
acpica: Merge ACPICA 20221020
|
#
64c3edc2 |
|
27-Oct-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Allow the extres regulator code to build without FDT This allows drivers that use this to build in an ACPI only kernel. Sponsored by: The FreeBSD Foundation
|
#
7b43fba0 |
|
27-Oct-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Mark FDT only drivers as such These drivers have FDT bindings, but not ACPI. Mark them as FDT only to help a no-FDT LINT kernel build. Sponsored by: The FreeBSD Foundation
|
#
a9880bfe |
|
17-Oct-2022 |
Takanori Watanabe <takawata@FreeBSD.org> |
acpi_ged: New driver to ACPI generic event device New driver to ACPI generic event device, defined in ACPI spec. Some ACPI power button may not work without this. In qemu arm64 with "virt" machine, with ACPI firmware, enable devd check devd message by and invoke following command in qemu monitor (qemu) system_powerdown and make sure some power button input event appear. (setting sysctl hw.acpi.power_button_state=S5 is not work, because ACPI tree does not have \_S5 object.) Reviewed by: andrew, hrs Differential Revision: https://reviews.freebsd.org/D37032
|
#
0e1f5ab7 |
|
12-Aug-2022 |
Colin Percival <cperciva@FreeBSD.org> |
virtio_mmio: Support command-line parameters The Virtio MMIO bus driver was added in 2014 with support for devices exposed via FDT; in 2018 support was added to discover Virtio MMIO devices via ACPI tables, as in QEMU. The Firecracker VMM eschews both FDT and ACPI, instead presenting device information via kernel command line arguments of the form virtio_mmio.device=<parameters>. These command line parameters get converted into kernel environment variables; this adds support for parsing those variables and attaching virtio_mmio children to nexus. There is a case to be made that it would be cleaner to have a new "cmdlinebus" attached to nexus and virtio_mmio children attached to that. A future commit might do that. Discussed with: imp, jrtc27 Sponsored by: https://patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D36189
|
#
f697b943 |
|
20-Sep-2022 |
Jake Freeland <jfree@FreeBSD.org> |
linuxkpi: drm-kmod debugfs support This diff extends LinuxKPI to support simple attribute files in debugfs. These simple attributes are an essential component for compiling drm-kmod with CONFIG_DEBUG_FS enabled. This will allow for easier graphics driver debugging using Intel's igt-gpu-tools. Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D35883 Sponsored by: Google, Inc. (GSoC 2022)
|
#
b8a083ea |
|
16-Sep-2022 |
Jakub Kołodziej <jkol@semihalf.com> |
gpio: Merge TCA6416 & TCA6408 drivers into TCA64XX This merges TCA6416, TCA6408 drivers and adds PCA9555 support. They handle 8 pin and 16 pin ICs with basic INPUT/OUTPUT functionality. The register map is fairly similar so there is no point in having two separate drivers. Reviewed by: kd Obtained from: Semihalf Differential Revision: https://reviews.freebsd.org/D36559
|
#
9054e296 |
|
17-Mar-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire ISA sound card DMA support As all ISA sound card drivers have been removed sndbuf_dma no longer serves any purpose. Reviewed by: mav Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34671
|
#
129028c7 |
|
13-Sep-2022 |
Jessica Clarke <jrtc27@FreeBSD.org> |
da9063_rtc: Add new driver for the Dialog Semiconductor DA9063 RTC This is a simple RTC present in the PMIC, supporting 1s precision. This is the PMIC on SiFive's HiFive Unmatched. Reviewed by: mhorne, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36200
|
#
80466455 |
|
13-Sep-2022 |
Jessica Clarke <jrtc27@FreeBSD.org> |
da9063_iic: Add new driver for the Dialog Semiconductor DA9063 PMIC This is an MFD with regulators, an RTC and a watchdog, among other things. This adds the necessary infrastructure for specific children to be added. Note that the PMIC can also be attached via SPI, not just I2C, and so the interface is abstracted. No SPI implementation is added, however. This is the PMIC on SiFive's HiFive Unmatched. Reviewed by: manu, mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36199
|
#
8c6e5d8c |
|
07-Sep-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Import an optimized str{n}cmp on arm64 These are from the Arm Optimized Routines and don't use the VFP so are safe to use in the kernel. Sponsored by: The FreeBSD Foundation
|
#
aa74cc6d |
|
06-Sep-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
divert(4): do not depend on ipfw(4) Although originally socket was intended to use with ipfw(4) only, now it also can be used with pf(4). On a kernel without packet filters, it still can be used to inject traffic.
|
#
e72c5228 |
|
30-Aug-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
divert(4): make it compilable and working without INET Differential revision: https://reviews.freebsd.org/D36383
|
#
2bb28b5f |
|
14-Aug-2022 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.27.0.0. Changes since 1.26.6.0 are listed here. This list comes from the Release Notes for "Chelsio Unified Wire 3.17.0.0 for Linux" dated 2022-07-29. Fixes ----- BASE: - Enabled all MA parity interrupt bits. - Use config file value to override number of rx channel. nrxch=1 was not handled in the firmware. - Replaced read only registers with new registers EDC_H_BIST_USER_WDATA0, EDC_H_BIST_USER_WDATA1 and EDC_H_BIST_CMD_LEN to dump the uP memory parity error status registers. - 10G simplex module support enabled. Obtained from: Chelsio Communications MFC after: 1 month Sponsored by: Chelsio Communications
|
#
f63cb32c |
|
11-Aug-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Retire 4.4BSD raw sockets Until today the remnants of the original code had provided some aid in implementation of routing socket and IPSEC key socket. There were more obfuscation rather than generalisation with this aid. A historical reference on the original idea of the raw sockets can be found in chapter 11 of 4.4BSD System Manager Manual: https://raw.githubusercontent.com/sergev/4.4BSD-Lite2/master/usr/share/doc/smm/18.net.pdf Reviewed by: melifaro Differential revision: https://reviews.freebsd.org/D36124
|
#
102e6817 |
|
09-Aug-2022 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
devd: move all devd notification logic to a separate file. Currently, subr_bus.c shares logic for (a) maintaining all HW devices (e.g. discovery/attach/detach logic) and (b) generic devctl notification layer for devices/PMU/GEOM/interfaces/etc). These two subsystems share really tiny interaction interface, composed of 3 notification functions. With that in mind, move devctl layer to a separate file, establishing a clear notification interface between the sub.c bus layer and the provider (devctl). The primary driver of this change is netlink implementation (D36002). The idea is to propagate device-level events to netlink as well, so all netlink customers can subscribe to these changes. The long-term goal is to deprecate devctl and to use netlink as the kernel<> userland transport provided netlink gets enough traction. Reviewed by: imp, markj Differential Revision: https://reviews.freebsd.org/D36091 MFC after: 1 month
|
#
5c4d2252 |
|
08-Aug-2022 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
routing: move rtentry and subscription code out of route_ctl.c route_ctl.c size has grown considerably since initial introduction. Factor out non-relevant parts: * all rtentry logic, such as creation/destruction and accessors goes to net/route/route_rtentry.c * all rtable subscription logic goes to net/route/route_subscription.c Differential Revision: https://reviews.freebsd.org/D36074 MFC after: 1 month
|
#
2ce55385 |
|
04-Aug-2022 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
routing: add rib_<add|del>_route_px() functions operating with nexthops. This change adds public KPI to work with routes using pre-created nexthops, instead of using data from addrinfo structures. These functions will be later used for adding/deleting kernel-originated routes and upcoming netlink protocol. As a part of providing this KPI, low-level route addition code has been reworked to provide more control over route creation or change. Specifically, a number of operation flags (RTM_F_<CREATE|EXCL|REPLACE|APPEND>) have been added, defining the desired behaviour the the route already exists (or not exists). This change required some changes in the multipath addition code, resulting in moving this code to route_ctl.c, rendering mpath_ctl.c empty. Differential Revision: https://reviews.freebsd.org/D36073 MFC after: 1 month
|
#
adff82ea |
|
29-Jul-2022 |
Luiz Souza <luiz@netgate.com> |
Add the PHY driver for the Marvell 88E1512. This driver supports the auto negotiation mode between the copper and fiber ports. This PHY has two independent PHYs (one for copper and other for fiber) but in this case the functionality is presented as a single PHY for easy management. Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
bbb2f537 |
|
08-Aug-2022 |
John Baldwin <jhb@FreeBSD.org> |
cxgbe: Rename t4_kern_tls.c to t6_kern_tls.c. This implementation of NIC TLS is specific to T6 adapters. Sponsored by: Chelsio Communications
|
#
e726e710 |
|
26-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Suppress unused variable warning for zfs_fm.c With clang 15, the following -Werror warning is produced: sys/contrib/openzfs/module/zfs/zfs_fm.c:256:6: error: variable 'cnt' set but not used [-Werror,-Wunused-but-set-variable] int cnt = 0; ^ The 'cnt' variable does not seem to be used for anything, but since this is contributed code, suppress the warning instead. MFC after: 3 days
|
#
e83ffec3 |
|
26-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Suppress -Wstrict-prototypes for several zlib files Clang 15 is more strict about function definitions not matching declarations, and zlib has a lot of these, but since it is contributed code (and in K&R style to boot), suppress those warnings instead. MFC after: 3 days
|
#
3c9a0112 |
|
20-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Fix unused variable warning in acpica's nsaccess.c With clang 15, the following -Werror warning is produced: sys/contrib/dev/acpica/components/namespace/nsaccess.c:452:29: error: variable 'NumCarats' set but not used [-Werror,-Wunused-but-set-variable] UINT32 NumCarats; ^ Here, 'NumCarats' is a variable that is only used when debugging. Since acpica is contributed code, suppress the warning with a compile flag. MFC after: 3 days
|
#
287d467c |
|
18-Jul-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
mac: add new mac_ddb(4) policy Generally, access to the kernel debugger is considered to be unsafe from a security perspective since it presents an unrestricted interface to inspect or modify the system state, including sensitive data such as signing keys. However, having some access to debugger functionality on production systems may be useful in determining the cause of a panic or hang. Therefore, it is desirable to have an optional policy which allows limited use of ddb(4) while disabling the functionality which could reveal system secrets. This loadable MAC module allows for the use of some ddb(4) commands while preventing the execution of others. The commands have been broadly grouped into three categories: - Those which are 'safe' and will not emit sensitive data (e.g. trace). Generally, these commands are deterministic and don't accept arguments. - Those which are definitively unsafe (e.g. examine <addr>, search <addr> <value>) - Commands which may be safe to execute depending on the arguments provided (e.g. show thread <addr>). Safe commands have been flagged as such with the DB_CMD_MEMSAFE flag. Commands requiring extra validation can provide a function to do so. For example, 'show thread <addr>' can be used as long as addr can be checked against the system's list of process structures. The policy also prevents debugger backends other than ddb(4) from executing, for example gdb(4). Reviewed by: markj, pauamma_gundo.com (manpages) Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D35371
|
#
2449b9e5 |
|
18-Jul-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
mac: kdb/ddb framework hooks Add three simple hooks to the debugger allowing for a loaded MAC policy to intervene if desired: 1. Before invoking the kdb backend 2. Before ddb command registration 3. Before ddb command execution We extend struct db_command with a private pointer and two flag bits reserved for policy use. Reviewed by: markj Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D35370
|
#
1424f65b |
|
16-Jul-2022 |
Mark Johnston <markj@FreeBSD.org> |
vm_pager: Remove the default pager It's unused now. Keep the OBJ_DEFAULT identifier, but make it an alias of OBJT_SWAP for the benefit of out-of-tree code. Reviewed by: alc, imp, kib Tested by: pho Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35790
|
#
97dbd377 |
|
02-Jul-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
pca954x: harmonize pca9547 and pca954x and add pca9540 support The two implementations for the pca9548 switch and the pca9547 mux seemed close enough so we can put them together and with a bit more abstraction add pca9540 support. While here apply a bit of consistency in variable and driver naming and use device_has_property instead of the FDT-only OF_ variant. This disconnects pca9547 from the build but does not yet delete it. MFC after: 2 weeks Reviewed by: mmel (earlier version), avg Differential Revision: https://reviews.freebsd.org/D35701
|
#
038405f3 |
|
29-Jun-2022 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Enable CRC64 checksums in xz. Reviewed by: imp Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D35668
|
#
ab91feab |
|
22-Feb-2022 |
Kristof Provost <kp@FreeBSD.org> |
ovpn: Introduce OpenVPN DCO support OpenVPN Data Channel Offload (DCO) moves OpenVPN data plane processing (i.e. tunneling and cryptography) into the kernel, rather than using tap devices. This avoids significant copying and context switching overhead between kernel and user space and improves OpenVPN throughput. In my test setup throughput improved from around 660Mbit/s to around 2Gbit/s. Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D34340
|
#
d1aefbc0 |
|
23-Jun-2022 |
Martin Matuska <mm@FreeBSD.org> |
zfs: fix static module build broken in 1f1e2261e
|
#
716924cb |
|
21-Jun-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire snd_sbc ISA sound card driver Along with the snd_sb8 and snd_sb16 drivers. They supported ISA Creative Sound Blaster and compatible sound cards. Note that isa/sb.h is not removed, as it is still used by some PCI sound card drivers. ISA sound card drivers are deprecated as discussed on the current[1] and stable[2] mailing lists. Deprecation notices were added in e39ec8933be4 and MFCd to stable branches. Driver removals are being committed individually so that specific drivers can be restored if necessary (either in FreeBSD or by downstream projects). [1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html [2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html Reviewed by: mav Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34671
|
#
5126e5ee |
|
21-Jun-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire snd_mss ISA sound card driver The snd_mss driver supported Microsoft Sound System sound cards. ISA sound card drivers are deprecated as discussed on the current[1] and stable[2] mailing lists. Deprecation notices were added in e39ec8933be4 and MFCd to stable branches. Driver removals are being committed individually so that specific drivers can be restored if necessary (either in FreeBSD or by downstream projects). [1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html [2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html Reviewed by: mav Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: Thttps://reviews.freebsd.org/D34671
|
#
754decef |
|
21-Jun-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire snd_gusc ISA sound card driver snd_gusc supported the Gravis UltraSound MAX and UltraSound PnP sound cards. ISA sound card drivers are deprecated as discussed on the current[1] and stable[2] mailing lists. Deprecation notices were added in e39ec8933be4 and MFCd to stable branches. Driver removals are being committed individually so that specific drivers can be restored if necessary (either in FreeBSD or by downstream projects). [1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html [2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html Reviewed by: mav Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34671
|
#
aa83e9b1 |
|
21-Jun-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire snd_ess ISA sound card driver snd_ess supported sound cards using the ESS 18xx chipset. ISA sound card drivers are deprecated as discussed on the current[1] and stable[2] mailing lists. Deprecation notices were added in e39ec8933be4 and MFCd to stable branches. Driver removals are being committed individually so that specific drivers can be restored if necessary (either in FreeBSD or by downstream projects). [1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html [2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html Reviewed by: mav Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34671
|
#
df51e63e |
|
21-Jun-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire snd_ad1816 ISA sound card driver snd_ad1816 supported ISA sound cards based on the Analog Devices AD1816A "SoundPort® Controller". ISA sound card drivers are deprecated as discussed on the current[1] and stable[2] mailing lists. Deprecation notices were added in e39ec8933be4 and MFCd to stable branches. Driver removals are being committed individually so that specific drivers can be restored if necessary (either in FreeBSD or by downstream projects). [1] https://lists.freebsd.org/archives/freebsd-current/2022-March/001680.html [2] https://lists.freebsd.org/archives/freebsd-stable/2022-March/000585.html Reviewed by: mav Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34671
|
#
acdfbc6c |
|
30-May-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
irdma: fix LINT-NOIP/NOINET/NOINET6 builds This module depends on the presence of both INET and INET6 options in order to compile. Reviewed by: erj Fixes: cdcd52d41e24 ("irdma: Add RDMA driver for Intel(R) Ethernet...") Differential Revision: https://reviews.freebsd.org/D35343
|
#
cdcd52d4 |
|
23-May-2022 |
Bartosz Sobczak <bartosz.sobczak@intel.com> |
irdma: Add RDMA driver for Intel(R) Ethernet Controller E810 This is an initial commit for RDMA FreeBSD driver for Intel(R) Ethernet Controller E810, called irdma. Supporting both RoCEv2 and iWARP protocols in per-PF manner, RoCEv2 being the default. Testing has been done using krping tool, perftest, ucmatose, rping, ud_pingpong, rc_pingpong and others. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: #manpages (pauamma_gundo.com) [documentation] MFC after: 1 week Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D34690
|
#
a95c7001 |
|
13-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
zfs: Disable -Wunused-but-set-variable for dnode.c. dn is only used by DNODE_VERIFY (conditional on ZFS_DEBUG) in dnode_special_open.
|
#
1ae22e62 |
|
12-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
infiniband: Disable -Wunused-but-set-variable for a few more OFED files.
|
#
b93f47ea |
|
17-Mar-2022 |
Roger Pau Monné <royger@FreeBSD.org> |
xen/acpi: upload Cx and Px data to Xen When FreeBSD is running as dom0 (initial domain) on a Xen system it has access to the native ACPI tables and is the OSPM. However the hypervisor is the entity in charge of the CPU idle and frequency states, and in order to perform this duty it requires information found the ACPI dynamic tables that can only be parsed by the OSPM. Introduce a new Xen specific ACPI driver to fetch the Processor related information and upload it to Xen. Note that this driver needs to take precedence over the generic ACPI CPU driver when running as dom0, so downgrade the probe score of the native driver to BUS_PROBE_DEFAULT in order for the Xen specific driver to use BUS_PROBE_SPECIFIC. Tested on an Intel NUC to successfully parse and upload both the Cx and Px states to Xen. Sponsored by: Citrix Systems R&D Reviewed by: jhb kib Differential revision: https://reviews.freebsd.org/D34841
|
#
db3603ff |
|
06-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
ibcore: Disable set but unused warnings.
|
#
2f3b6756 |
|
05-Apr-2022 |
Warner Losh <imp@FreeBSD.org> |
zstd: Supress set but unused warnings for zstd_compress_superblock.c Sponsored by: Netflix
|
#
c9114f9f |
|
23-Mar-2021 |
Mitchell Horne <mhorne@FreeBSD.org> |
Add new vnode dumper to support live minidumps This dumper can instantiate and write the dump's contents to a file-backed vnode. Unlike existing disk or network dumpers, the vnode dumper should not be invoked during a system panic, and therefore is not added to the global dumper_configs list. Instead, the vnode dumper is constructed ad-hoc when a live dump is requested using the new ioctl on /dev/mem. This is similar in spirit to a kgdb session against the live system via /dev/mem. As described briefly in the mem(4) man page, live dumps are not guaranteed to result in a usuable output file, but offer some debugging value where forcefully panicing a system to dump its memory is not desirable/feasible. A future change to savecore(8) will add an option to save a live dump. Reviewed by: markj, Pau Amma <pauamma@gundo.com> (manpages) Discussed with: kib MFC after: 3 weeks Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D33813
|
#
92e6b471 |
|
18-Mar-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire broken snd_ds1 and snd_maestro drivers In 2012 joel@ reported[1] that these were not functional, and they do not appear to have been fixed since. [1] https://lists.freebsd.org/pipermail/freebsd-multimedia/2012-January/012751.html Reported by: joel Relnotes: Yes Sponsored by: The FreeBSD Foundation
|
#
d5add41d |
|
02-Mar-2022 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
ietp(4): Driver for Elantech I2C touchpad MFC after: 2 month Tested by: Matt Daw <matt.daw_AT_gmail_DOT_com>
|
#
5aa839c9 |
|
02-Mar-2022 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
bcm5974: wsp(4) driver version with HID attachment. MFC after: 2 month Tested by: Greg V (Type 4 touchpads)
|
#
1ef67193 |
|
02-Mar-2022 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Add missed dependency on usbdevs.h for static builds MFC after: 2 month
|
#
7dda139e |
|
01-Mar-2022 |
Warner Losh <imp@FreeBSD.org> |
ath: missed a chance to use ${ATH_C} Fixes: 8881d206f4e6 (reviewed by scottl, markj in D34401) Noticed by: markj Sponsored by: Netflix
|
#
8881d206 |
|
28-Feb-2022 |
Warner Losh <imp@FreeBSD.org> |
ath: Suppress set but unused warnings The ath driver has a lot of these warnings. It's an older driver, so just supress these warnings until they can be fixed. They are a mix of simple dead stores, debubgging output and stuff that would require careful study to know if its safe to remove the access or not (there are likely very few of the latter, but if there are any they are latent bugs that compiler could optimize away). Since I have no ath hardware to test on anymore, take the conservative approach. Sponsored by: Netflix
|
#
c7996ddf |
|
28-Feb-2022 |
Kirk McKusick <mckusick@FreeBSD.org> |
Create a new GEOM utility, gunion(8). The gunion(8) utility is used to track changes to a read-only disk on a writable disk. Logically, a writable disk is placed over a read-only disk. Write requests are intercepted and stored on the writable disk. Read requests are first checked to see if they have been written on the top (writable disk) and if found are returned. If they have not been written on the top disk, then they are read from the lower disk. The gunion(8) utility can be especially useful if you have a large disk with a corrupted filesystem that you are unsure of how to repair. You can use gunion(8) to place another disk over the corrupted disk and then attempt to repair the filesystem. If the repair fails, you can revert all the changes in the upper disk and be back to the unchanged state of the lower disk thus allowing you to try another approach to repairing it. If the repair is successful you can commit all the writes recorded on the top disk to the lower disk. Another use of the gunion(8) utility is to try out upgrades to your system. Place the upper disk over the disk holding your filesystem that is to be upgraded and then run the upgrade on it. If it works, commit it; if it fails, revert the upgrade. Further details can be found in the gunion(8) manual page. Reviewed by: Chuck Silvers, kib (earlier version) tested by: Peter Holm Differential Revision: https://reviews.freebsd.org/D32697
|
#
b7bfded1 |
|
23-Feb-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make mmc_fdt_helper and sdhci depends on clk and regulator Those two frameworks are needed.
|
#
adbb32d3 |
|
22-Feb-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make mmc_pwrseq depends on regulator and clk It uses those two frameworks too.
|
#
832adbd4 |
|
22-Feb-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make mmc_helpers depends on regulator and clk It also needs those two framework.
|
#
da5b7e90 |
|
21-Feb-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
boottrace: a simple boot and shutdown-time tracing facility Boottrace is a facility for capturing trace events during boot and shutdown. This includes kernel initialization, as well as rc. It has been used by NetApp internally for several years, for catching and diagnosing slow devices or subsystems. It is driven from userspace by sysctl interface, and the output is a human-readable log of events (kern.boottrace.log). This commit adds the core boottrace functionality implementing these interfaces. Adding the trace annotations themselves to kernel and userland will happen in follow-up commits. A future commit will also add a boottrace(4) man page. For now, boottrace is unconditionally compiled into the kernel but disabled by default. It can be enabled by setting the kern.boottrace.enabled tunable to 1 in loader.conf(5). There is an existing boot-time event tracing facility, which can be compiled into the kernel with 'options TSLOG'. While there is some functional overlap between this and boottrace, they are distinct. TSLOG is suitable for generating detailed timing information and flamegraphs, and has been used to great success by cperciva@ to diagnose and reduce the overall system boot time. Boottrace aims to more quickly provide an overview of timing and resource usage of the boot (and shutdown) process to a sysadmin who requires this knowledge. Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. X-NetApp-PR: #23 Differential Revision: https://reviews.freebsd.org/D30184
|
#
f898e419 |
|
21-Feb-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make mmc_helper depend on gpio mmc_helper have an hard dependency on gpio_if.h gpio(4) isn't in the default x86 kernel and none of the x86 sd/mmc drivers uses mmc_helper so just add a dependency on gpio. Fixes: 85b3794ceef ("files: Make ext_resources non-optional")
|
#
85b3794c |
|
11-Jan-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make ext_resources non-optional EXT_RESOURCES have been introduced in 12-CURRENT and all supported releases have it enabled in their kernel config. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D33834
|
#
1bd3e8ba |
|
20-Feb-2022 |
Michal Meloun <mmel@FreeBSD.org> |
ofw_iicbus: Add method for manual setting of basic OFW parameters. Some IIC multifunction devices may have multiple I2C addresses per chip, but only the primary address is listed in the DT (e.g. MAX776200). In this case, the sub-devices for the secondary addresses must be created manually with fixed OFW parameters (node, name, compatibility string, IIC address). Add a bus method to the ofw_iicbus interface that does this. MFC after: 4 weeks
|
#
5f2aca83 |
|
08-Feb-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Disable clang 14 warning about bitwise operators in zstd Parts of zstd, used in openzfs and other places, trigger a new clang 14 -Werror warning: ``` sys/contrib/zstd/lib/decompress/huf_decompress.c:889:25: error: use of bitwise '&' with boolean operands [-Werror,-Wbitwise-instead-of-logical] (BIT_reloadDStreamFast(&bitD1) == BIT_DStream_unfinished) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` While the warning is benign, it should ideally be fixed upstream and then vendor-imported, but for now silence it selectively. MFC after: 3 days
|
#
f7220c48 |
|
05-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: move ECN handling code to a common file Reduce the burden to maintain correct and extensible ECN related code across multiple stacks and codepaths. Formally no functional change. Incidentially this establishes correct ECN operation in one instance. Reviewed By: rrs, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34162
|
#
7994ef3c |
|
04-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
Revert "tcp: move ECN handling code to a common file" This reverts commit 0c424c90eaa6602e07bca7836b1d178b91f2a88a.
|
#
0c424c90 |
|
04-Feb-2022 |
Richard Scheffenegger <rscheff@FreeBSD.org> |
tcp: move ECN handling code to a common file Reduce the burden to maintain correct and extensible ECN related code across multiple stacks and codepaths. Formally no functional change. Incidentially this establishes correct ECN operation in one instance. Reviewed By: rrs, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34162
|
#
63b7c2df |
|
02-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
Disable -Wunused-function for {ed,x}25519_ref10.c in libsodium.
|
#
84d7b8e7 |
|
01-Feb-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5en: Implement TLS RX support. TLS RX support is modeled after TLS TX support. The basic structures and layouts are almost identical, except that the send tag created filters RX traffic and not TX traffic. The TLS RX tag keeps track of past TLS records up to a certain limit, approximately 1 Gbyte of TCP data. TLS records of same length are joined into a single database record. Regularly the HW is queried for TLS RX progress information. The TCP sequence number gotten from the HW is then matches against the database of TLS TCP sequence number records and lengths. If a match is found a static params WQE is queued on the IQ and the hardware should immediately resume decrypting TLS data until the next non-sequential TCP packet arrives. Offloading TLS RX data is supported for untagged, prio-tagged, and regular VLAN traffic. MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
2c0ade80 |
|
01-Feb-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5: Implement flow steering helper functions for TCP sockets. This change adds convenience functions to setup a flow steering rule based on a TCP socket. The helper function gets all the address information from the socket and returns a steering rule, to be used with HW TLS RX offload. MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
69426357 |
|
01-Feb-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5en: Implement support for internal queues, IQ. Internal send queues are regular sendqueues which are reserved for WQE commands towards the hardware and firmware. These queues typically carry resync information for ongoing TLS RX connections and when changing schedule queues for rate limited connections. The internal queue, IQ, code is more or less a stripped down copy of the existing SQ managing code with exception of: 1) An optional single segment memory buffer which can be read or written as a whole by the hardware, may be provided. 2) An optional completion callback for all transmit operations, may be provided. 3) Does not support mbufs. MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
1961a14a |
|
04-Nov-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
linuxkpi: Add i2c support Add i2c support to linuxkpi. This is needed by drm-kmod. For every i2c_adapter added by i2c_add_adapter we add a child to the device named "lkpi_iic". This child handle the conversion between Linux i2c_msgs to FreeBSD iic_msgs. For every i2c_adapter added by i2c_bit_add_bus we add a child to the device named "lkpi_iicbb". This child handle the conversion between Linux i2c_msgs to FreeBSD iic_msgs. With the help of iic(4), this expose the i2c controller to userspace allowing a user to query DDC information from a monitor. e.g.: i2c -f /dev/iic0 -a 0x28 -c 128 -d r will query the standard EDID from the monitor if plugged. The bitbang part (lkpi_iicbb) isn't tested at all for now as I don't have compatible hardware (all my hardware have native i2c controller). Tested on: Intel (SandyBridge, Skylake, ApolloLake) Tested on: AMD (Picasso, Polaris (amd64 and arm64)) MFC after: 1 month Reviewed by: hselasky Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33053
|
#
16cf646a |
|
24-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
crypto: Remove xform.c and compile xform_*.c standalone. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33995
|
#
1d95c6f9 |
|
24-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
Don't implicitly pull in most of 'device crypto' for 'options IPSEC'. options IPSEC is already documented as requiring 'device crypto' and duplicating the dependencies is harder to read and not always consistent. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33990
|
#
0c6274a8 |
|
24-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
crypto: Add an API supporting curve25519. This adds a wrapper around libsodium's curve25519 support matching Linux's curve25519 API. The intended use case for this is WireGuard. Note that this is not integrated with OCF as it is not related to symmetric operations on data. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33935
|
#
5025e850 |
|
23-Jan-2022 |
Martin Matuska <mm@FreeBSD.org> |
zfs: fix kernel build after e92ffd9b6 if ZFS is compiled in Add missing source file lz4_zfs.c to sys/conf/files
|
#
42876a03 |
|
18-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
crypto: Stop compiling in chacha20poly1305 AEAD ciphers from libsodium. These ciphers are now supported via OCF or 'struct enc_xform'. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33889
|
#
e7168004 |
|
18-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
crypto: Add a simple API for [X]ChaCha20-Poly1035 on flat buffers. This is a synchronous software API which wraps the existing software implementation shared with OCF. Note that this will not currently use optimized backends (such as ossl(4)) but may be appropriate for operations on small buffers. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33524
|
#
3b762424 |
|
03-Jan-2022 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.26.6.0. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CHANGES ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Version : 1.26.6.0 Date : 01/03/2022 ================================================================================ Fixes ----- BASE: - Fixed one module eeprom read failure. - Fixed an issue with speed selection when 40G and 25G are advertised and supported. - Fixed a random traffic hang when T5 receives invalid ets BW in dcbx messages from a switch. - Fixed very long link up time with few switches. ================================================================================ Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications
|
#
6b4cac81 |
|
26-Dec-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: add 802.11 compat code Add 802.11 compat code for mac80211 and to a minimal degree cfg80211. This allows us to compile and use basic functionality of wireless drivers such as iwlwifi. This is a constant work in progress but having it in the tree will allow others to test and more easy to track changes and avoid having snapshots no longer applying to branches. Sponsored by: The FreeBSD Foundation MFC after: 3 days
|
#
d1058958 |
|
26-Dec-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: import beginning of a new version of netdevice.h Import a netdevice update complementing the last remaining bits of the old ifnet derived implementation. Along add a (for now) task based NAPI implementation. This is the minimal set of chnages which are needed for the initial support of wireless drivers. The NAPI implementation has an option to still switch to "direct dispatch" as it had been used by these drivers before not relying on a deferred context along with some printf tracing. This has been helpful in the last weeks for debugging and will be cleaned once we have had broader testing and are sure this is fine as-is. Should we need a more time-sensitive or load-sensitive response in the future we can always switch to something more sophisticated. Sponsored by: The FreeBSD Foundation MFC after: 3 days X-Differential Revision: D33075 (abandoned without feedback a while ago)
|
#
49ed6e97 |
|
26-Dec-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: add a work-in-progress skbuff implementation This is a work-in-progress implementation of sk_buff compat code used for wireless drivers only currently. Bring in this version of the code as it has proven to be good enough to have packets going for a few months. The current implementation has several drawbacks including the need for us to copy data between sk_buffs and mbufs. Do not rely on the internals of this implementation. They are highly likely to change as we will improve the integration to FreeBSD mbufs. Sponsored by: The FreeBSD Foundation MFC after: 3 days
|
#
3b9b51fe |
|
15-Dec-2021 |
Cy Schubert <cy@FreeBSD.org> |
ipfilter: Move kernel bits to netpfil Through fixes and improvements our ipfilter sources have diverged enough to warrant move from contrib into sys/netpil. Now that I'm planning on implementing MSS clamping as in iptables it makes more sense to move ipfilter to netpfil. This is the first of three commits the ipfilter move. Suggested by glebius on two occaions. Suggested by and discussed with: glebius Reviewed by: glebius, kp (for #network) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D33510
|
#
eb2d9adb |
|
16-Dec-2021 |
John Baldwin <jhb@FreeBSD.org> |
Sort libsodium entries by path in sys/conf/files. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33483
|
#
31b35400 |
|
14-Dec-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove more of the PC Card infrastructure Remove more of the pccard infrasturcture. CardBus Yenta driver (cbb) still references the remaining bits. It needs some additiona work to remove 16-bit support still, so it remains. Sponsored by: Netflix
|
#
357ba2cf |
|
09-Dec-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.26.4.0 (Rest is from the README that came with the firmware) Version : 1.26.4.0 Date : 12/02/2021 Fixes ----- BASE: - Fixed error on setting 25G speed on 100G copper with multiple FEC set in firmware commands. - Handle link of unknown optics modules by enabling module tx unconditionally. - Fixed link not coming up for 25G CRS phys. Firmware incorrectly tried to bring up the link in RS-FEC but as per IEEE spec, it must be BASER FEC. - Fixed an issue where firmware doesn't automatically retry next FEC if driver asks to bring up the link using RS-FEC and link doesn't come up. Obtained from: Chelsio Communications MFC after: 1 month Sponsored by: Chelsio Communications
|
#
bf2fa8d9 |
|
04-Dec-2021 |
Florian Walpen <dev@submerge.ch> |
MAC/priority module for realtime privilege group This is a MAC policy module that grants scheduling privileges based on group membership. Users or processes in the group realtime (gid 47) are allowed to run threads and processes with realtime scheduling priority. For timing-sensitive, low-latency software like audio/jack, running with realtime priority helps to avoid stutter and gaps. PR: 239125 MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D33191
|
#
db0ac6de |
|
02-Dec-2021 |
Cy Schubert <cy@FreeBSD.org> |
Revert "wpa: Import wpa_supplicant/hostapd commit 14ab4a816" This reverts commit 266f97b5e9a7958e365e78288616a459b40d924a, reversing changes made to a10253cffea84c0c980a36ba6776b00ed96c3e3b. A mismerge of a merge to catch up to main resulted in files being committed which should not have been.
|
#
93c67567 |
|
02-Dec-2021 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove "options PCBGROUP" With upcoming changes to the inpcb synchronisation it is going to be broken. Even its current status after the move of PCB synchronization to the network epoch is very questionable. This experimental feature was sponsored by Juniper but ended never to be used in Juniper and doesn't exist in their source tree [sjg@, stevek@, jtl@]. In the past (AFAIK, pre-epoch times) it was tried out at Netflix [gallatin@, rrs@] with no positive result and at Yandex [ae@, melifaro@]. I'm up to resurrecting it back if there is any interest from anybody. Reviewed by: rrs Differential revision: https://reviews.freebsd.org/D33020
|
#
8722e05a |
|
25-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
twa: Remove Belatedly remove twa(4). It was supposed to go before 13.0, but was overlooked. Sponsored by: Netflix Relnotes: yes Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33114
|
#
0d5935af |
|
25-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
esp: Remove Belatedly remove esp(4). It was tagged as gone in 13, but was overlooked until now. Sponsored by: Netflix Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33115
|
#
60de2867 |
|
25-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
amr: remove Belatedly remove amr(4). It was slated to depart before 13.0 but was overlooked until now. Sponsored by: Netflix Relnotes: yes Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33113
|
#
399188a2 |
|
25-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
iir: Remove Belatedly remove iir(4). It was slated to go before 13, but was overlooked. Sponsored by: Netflix Relnotes: yes Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33112
|
#
a9620045 |
|
25-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
mly: Remove. We'd said this was going away in 13, but was overlooked. Belatedly remove. Sponsored by: Netflix Relnotes: yes Reviewed by: scottl Differential Revision: https://reviews.freebsd.org/D33111
|
#
ecbbe831 |
|
24-Nov-2021 |
Mark Johnston <markj@FreeBSD.org> |
netinet: Deduplicate most in_cksum() implementations in_cksum() and related routines are implemented separately for each platform, but only i386 and arm have optimized versions. Other platforms' copies of in_cksum.c are identical except for style differences and support for big-endian CPUs. Deduplicate the implementations for the rest of the platforms. This will make it easier to implement in_cksum() for unmapped mbufs. On arm and i386, define HAVE_MD_IN_CKSUM to mean that the MI implementation is not to be compiled. No functional change intended. Reviewed by: kp, glebius MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33095
|
#
26d65475 |
|
08-Oct-2021 |
Hubert Mazur <hum@semihalf.com> |
Pcf85063: Add RTC driver Add driver for pcf85063 real time clock. Register set and get time methods. Parse data obtained from bus according to specification and fill kernel structures. Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32817
|
#
cb35af13 |
|
22-Oct-2021 |
Hubert Mazur <hum@semihalf.com> |
TCA6408: Add driver for tca6408 gpio expander Driver for tca6408 gpio expander over i2c bus. Expose API for manipulating pin's direction, state and polarity inversion. Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32819
|
#
0c9156fa |
|
15-Nov-2021 |
Kornel Duleba <mindal@semihalf.com> |
Introduce DP83822 PHY driver DP83822 is a 10/100 Texas Instruments PHY. Link status change interrupts are supported by the driver, however not all boards have the PHY interrupt wired. Because of that if failure to allocate an IRQ is not treated as an error. Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32815
|
#
e85c94b8 |
|
15-Nov-2021 |
Kornel Duleba <mindal@semihalf.com> |
Introduce DP83867 PHY driver DP83867 is a 10/100/1000 Texas Instruments PHY. Only SGMII mode is supported. Link status changes can be checked through an interrupt generated by the PHY, if available Obtained from: Semihalf Sponsored by: Alstom Group Differential revision: https://reviews.freebsd.org/D32813
|
#
ce40632a |
|
22-Nov-2021 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ifnet: append if_debug.c to if.c With this change if_index can become static. There is nothing that if_debug.c would want to isolate from if.c. Potentially if.c wants to share everything with if_debug.c. Move Bjoern's copyright to if.c. Reviewed by: bz
|
#
e02f64d9 |
|
17-Nov-2021 |
Brooks Davis <brooks@FreeBSD.org> |
freebsd32: add real abort2 Previously, the code would copy twice as many pointers as specified and print pairs of them a single 64-bit pointer. abort2 doesn't return so make the return type void freebsd32_abort2 is in it's own file with a 2-clause BSD license based on a discussion with Wojciech many years ago. Reviewed by: kevans
|
#
09cd6341 |
|
17-Nov-2021 |
Stefan Eßer <se@FreeBSD.org> |
zfs: fix commit dae1713419a6 merge openzfs/zfs@269b5dadc into main Commit dae1713419a6 did not add two required lines for edonr specific functionality to this file, causing kernel build failures if ZFS is compiled in. This commit should be included in an eventual MFC of dae1713419a6.
|
#
c0525ab1 |
|
17-Aug-2020 |
Andriy Gapon <avg@FreeBSD.org> |
pca954x: driver for PCA954x / TCA954x I2C switches At the moment only PCA9548A is supported and has been tested. MFC after: 2 weeks
|
#
b8d60729 |
|
11-Nov-2021 |
Randall Stewart <rrs@FreeBSD.org> |
tcp: Congestion control cleanup. NOTE: HEADS UP read the note below if your kernel config is not including GENERIC!! This patch does a bit of cleanup on TCP congestion control modules. There were some rather interesting surprises that one could get i.e. where you use a socket option to change from one CC (say cc_cubic) to another CC (say cc_vegas) and you could in theory get a memory failure and end up on cc_newreno. This is not what one would expect. The new code fixes this by requiring a cc_data_sz() function so we can malloc with M_WAITOK and pass in to the init function preallocated memory. The CC init is expected in this case *not* to fail but if it does and a module does break the "no fail with memory given" contract we do fall back to the CC that was in place at the time. This also fixes up a set of common newreno utilities that can be shared amongst other CC modules instead of the other CC modules reaching into newreno and executing what they think is a "common and understood" function. Lets put these functions in cc.c and that way we have a common place that is easily findable by future developers or bug fixers. This also allows newreno to evolve and grow support for its features i.e. ABE and HYSTART++ without having to dance through hoops for other CC modules, instead both newreno and the other modules just call into the common functions if they desire that behavior or roll there own if that makes more sense. Note: This commit changes the kernel configuration!! If you are not using GENERIC in some form you must add a CC module option (one of CC_NEWRENO, CC_VEGAS, CC_CUBIC, CC_CDG, CC_CHD, CC_DCTCP, CC_HTCP, CC_HD). You can have more than one defined as well if you desire. Note that if you create a kernel configuration that does not define a congestion control module and includes INET or INET6 the kernel compile will break. Also you need to define a default, generic adds 'options CC_DEFAULT=\"newreno\" but you can specify any string that represents the name of the CC module (same names that show up in the CC module list under net.inet.tcp.cc). If you fail to add the options CC_DEFAULT in your kernel configuration the kernel build will also break. Reviewed by: Michael Tuexen Sponsored by: Netflix Inc. RELNOTES:YES Differential Revision: https://reviews.freebsd.org/D32693
|
#
197ff4c3 |
|
01-Nov-2021 |
Kornel Duleba <mindal@semihalf.com> |
ossl: Add support for AES-CBC cipher AES-CBC OpenSSL assembly is used underneath. The glue layer(ossl_aes.c) is based on CHACHA20 implementation. Contrary to the SHA and CHACHA20, AES OpenSSL assembly logic does not have a fallback implementation in case CPU doesn't support required instructions. Because of that CPU caps are checked during initialization and AES support is advertised only if available. The feature is available on all architectures that ossl supports: i386, amd64, arm64. The biggest advantage of this patch over existing solutions (aesni(4) and armv8crypto(4)) is that it supports SHA, allowing for ETA operations. Sponsored by: Stormshield Obtained from: Semihalf Reviewed by: jhb (previous version) Differential revision: https://reviews.freebsd.org/D32099
|
#
6354154e |
|
30-Sep-2020 |
Andriy Gapon <avg@FreeBSD.org> |
pcf8574: driver for 8-pin quasi-bidirectional GPIO over I2C MFC after: 2 weeks
|
#
ff6fe298 |
|
20-Aug-2020 |
Andriy Gapon <avg@FreeBSD.org> |
driver for MAX44009 I2C illuminance sensor
|
#
a60b3046 |
|
17-Aug-2020 |
Andriy Gapon <avg@FreeBSD.org> |
pcf8591: driver for adc/dac with i2c interface
|
#
200bc589 |
|
06-Nov-2021 |
Wojciech Macek <wma@FreeBSD.org> |
Revert "ossl: Add support for AES-CBC cipher" This reverts commit 849faf4e0ba9a8b8f24ff34da93a0fd46c14eda9.
|
#
849faf4e |
|
01-Nov-2021 |
Kornel Duleba <mindal@semihalf.com> |
ossl: Add support for AES-CBC cipher AES-CBC OpenSSL assembly is used underneath. The glue layer(ossl_aes.c) is based on CHACHA20 implementation. Contrary to the SHA and CHACHA20, AES OpenSSL assembly logic does not have a fallback implementation in case CPU doesn't support required instructions. Because of that CPU caps are checked during initialization and AES support is advertised only if available. The feature is available on all architectures that ossl supports: i386, amd64, arm64. The biggest advantage of this patch over existing solutions (aesni(4) and armv8crypto(4)) is that it supports SHA, allowing for ETA operations. Sponsored by: Stormshield Obtained from: Semihalf Reviewed by: jhb Differential revision: https://reviews.freebsd.org/D32099
|
#
48cb3fee |
|
26-Oct-2021 |
Ed Maste <emaste@FreeBSD.org> |
Retire obsolete iscsi_initiator(4) The new iSCSI initiator iscsi(4) was introduced with FreeBSD 10.0, and the old intiator was marked obsolete shortly thereafter (in commit d32789d95cfbf, MFC'd to stable/10 in ba54910169c4). Remove it now. Reviewed by: jhb, mav Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32673
|
#
6aae3517 |
|
20-Oct-2021 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Retire synchronous PPP kernel driver sppp(4). The last two drivers that required sppp are cp(4) and ce(4). These devices are still produced and can be purchased at Cronyx <http://cronyx.ru/hardware/wan.html>. Since Roman Kurakin <rik@FreeBSD.org> has quit them, they no longer support FreeBSD officially. Later they have dropped support for Linux drivers to. As of mid-2020 they don't even have a developer to maintain their Windows driver. However, their support verbally told me that they could provide aid to a FreeBSD developer with documentaion in case if there appears a new customer for their devices. These drivers have a feature to not use sppp(4) and create an interface, but instead expose the device as netgraph(4) node. Then, you can attach ng_ppp(4) with help of ports/net/mpd5 on top of the node and get your synchronous PPP. Alternatively you can attach ng_frame_relay(4) or ng_cisco(4) for HDLC. Actually, last time I used cp(4) back in 2004, using netgraph(4) instead of sppp(4) was already the right way to do. Thus, remove the sppp(4) related part of the drivers and enable by default the negraph(4) part. Further maintenance of these drivers in the tree shouldn't be a big deal. While doing that, remove some cruft and enable cp(4) compilation on amd64. The ce(4) for some unknown reason marks its internal DDK functions with __attribute__ fastcall, which most likely is safe to remove, but without hardware I'm not going to do that, so ce(4) remains i386-only. Reviewed by: emaste, imp, donner Differential Revision: https://reviews.freebsd.org/D32590 See also: https://reviews.freebsd.org/D23928
|
#
79a100e2 |
|
05-Sep-2021 |
Warner Losh <imp@FreeBSD.org> |
bluetooth: complete removal of ng_h4 The ng_h4 module was disconnected 13 years ago when the tty later was locked by Ed. It completely fails to compile, and has a number of false positives for Giant use. Remove it for lack of interest. Bluetooth has largely (completely?) moved on from bluetooth over UART transport. OK'd by: emax Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D31846
|
#
66ea3906 |
|
29-Sep-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
LinuxKPI: Remove FreeBSD struct resource from all LKPI headers except linux/pci.h to avoid conflicts with Linux version. This allows to #define resource in drm-kmod globally and strip some #ifdef-s Reviewed by: hselasky, manu MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D31673
|
#
45d6fbae |
|
27-Sep-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.26.2.0. The firmwares and the following changelog are from the "Chelsio Unified Wire v3.15.0.0 for Linux." Version : 1.26.2.0 Date : 09/24/2021 ==================== FIXES ----- BASE: - Added support for SFP+ RJ45 (0x1C). - Fixing backward compatibility issue with older drivers when multiple speeds are passed to firmware. OFLD: - Do not touch tp_plen_max if driver is supplying tp_plen_max. This fixes a connection reset issue in iscsi. ENHANCEMENTS ------------ BASE: - Firmware header modified to add firmware binary signature. MFC after: 1 month Sponsored by: Chelsio Communications
|
#
cf0ee873 |
|
12-Sep-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
Drop cloudabi According to https://github.com/NuxiNL/cloudlibc: CloudABI is no longer being maintained. It was an awesome experiment, but it never got enough traction to be sustainable. There is no reason to keep it in FreeBSD. Approved by: ed (private mail) Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D31923
|
#
8a8166e5 |
|
02-Aug-2021 |
Bartlomiej Grzesik <bag@semihalf.com> |
mmc: switch mmc_helper to device_ api Add generic mmc_helper which uses newly introduced device_*_property api. Thanks to this change the sd/mmc drivers will be capable of parsing both DT and ACPI description. Ensure backward compatibility for all mmc_fdt_helper users. Reviewed by: manu, mw Sponsored by: Semihalf Differential revision: https://reviews.freebsd.org/D31598
|
#
6b9d35fa |
|
06-Jul-2020 |
Guinan Sun <guinanx.sun@intel.com> |
e1000: remove duplicated phy codes Add two files base.c and base.h to reduce the redundancy in the silicon family code. Remove the code duplication from e1000_82575 files. Clean family specific functions from base. Fix up a stray and duplicate function declaration. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Sasha Neftin <sasha.neftin@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Reviewed-by: Wei Zhao <wei.zhao1@intel.com> Approved by: imp Obtained from: DPDK (44dddd14059f151f39f7e075b887decfc9a10f11) MFC after: 1 week
|
#
a3f0d182 |
|
16-Sep-2021 |
Artur Rojek <ar@semihalf.com> |
ena: fix building in-kernel driver When building ENA as compiled into the kernel, the driver would fail to build. Resolve the problem by introducing the following changes: 1. Add missing `ena_rss.c` entry in `sys/conf/files`. 2. Prevent SYSCTL_ADD_INT from throwing an assert due to an extra CTLTYPE_INT flag. Fixes: 986e7b92276 ("ena: Move RSS logic into its own source files") Fixes: 6d1ef2abd33 ("ena: Implement full RSS reconfiguration") Obtained from: Semihalf Sponsored by: Amazon, Inc. MFC after: 1 week
|
#
cf4670fe |
|
14-Sep-2021 |
Mark Johnston <markj@FreeBSD.org> |
kcov: Integrate with KMSAN - kern_kcov.c needs to be compiled with -fsanitize=kernel-memory when KMSAN is configured since it calls into various other subsystems. - Disable address and memory sanitizers in kcov(4)'s coverage sanitizer callbacks, as they do not provide useful checking. Moreover, with KMSAN we may otherwise get false positives since the caller (coverage sanitizer runtime) is not instrumented. - Disable KASAN and KMSAN interceptors in subr_coverage.c, as they do not provide any benefit but do introduce overhead when fuzzing. Sponsored by: The FreeBSD Foundation
|
#
a422084a |
|
10-Aug-2021 |
Mark Johnston <markj@FreeBSD.org> |
Add the KMSAN runtime KMSAN enables the use of LLVM's MemorySanitizer in the kernel. This enables precise detection of uses of uninitialized memory. As with KASAN, this feature has substantial runtime overhead and is intended to be used as part of some automated testing regime. The runtime maintains a pair of shadow maps. One is used to track the state of memory in the kernel map at bit-granularity: a bit in the kernel map is initialized when the corresponding shadow bit is clear, and is uninitialized otherwise. The second shadow map stores information about the origin of uninitialized regions of the kernel map, simplifying debugging. KMSAN relies on being able to intercept certain functions which cannot be instrumented by the compiler. KMSAN thus implements interceptors which manually update shadow state and in some cases explicitly check for uninitialized bytes. For instance, all calls to copyout() are subject to such checks. The runtime exports several functions which can be used to verify the shadow map for a given buffer. Helpers provide the same functionality for a few structures commonly used for I/O, such as CAM CCBs, BIOs and mbufs. These are handy when debugging a KMSAN report whose proximate and root causes are far away from each other. Obtained from: NetBSD Sponsored by: The FreeBSD Foundation
|
#
9340ebd4 |
|
02-Aug-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add missing file to sys/conf/files after 469884cf04a9b92677c7c83e229ca6b8814f8b0a . Found by: vishwin@ Differential Revision: https://reviews.freebsd.org/D29921 MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
ae598127 |
|
13-Jan-2014 |
Julien Grall <julien@xen.org> |
xen/timer: make xen timer optional The timer is not used on ARM. Submitted by: Elliott Mitchell <ehem+freebsd@m5p.com> Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D29041
|
#
a48f7ba4 |
|
13-Jan-2014 |
Julien Grall <julien@xen.org> |
xen: move x86/xen/xenpv.c to dev/xen/bus/xenpv.c Minor changes are necessary to make this processor-independent, but moving the file out of x86 and into common is the first step (so others don't add /more/ x86-isms). Submitted by: Elliott Mitchell <ehem+freebsd@m5p.com> Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D29042
|
#
b633e08c |
|
16-Jun-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
ibcore: Kernel space update based on Linux 5.7-rc1. Overview: This is the first stage of a RDMA stack upgrade introducing kernel changes only based on Linux 5.7-rc1. This patch is based on about four main areas of work: - Update of the IB uobjects system: - The memory holding so-called AH, CQ, PD, SRQ and UCONTEXT objects is now managed by ibcore. This also require some changes in the kernel verbs API. The updated verbs changes are typically about initialize and deinitialize objects, and remove allocation and free of memory. - Update of the uverbs IOCTL framework: - The parsing and handling of user-space commands has been completely refactored to integrate with the updated IB uobjects system. - Various changes and updates to the generic uverbs interfaces in device drivers including the new uAPI surface. - The mlx5_ib_devx.c in mlx5ib and related mlx5 core changes. Dependencies: - The mlx4ib driver code has been updated with the minimum changes needed. - The mlx5ib driver code has been updated with the minimum changes needed including DV support. Compatibility: - All user-space facing APIs are backwards compatible after this change. - All kernel-space facing RDMA APIs are backwards compatible after this change, with exception of ib_create_ah() and ib_destroy_ah() which takes a new flag. - The "ib_device_ops" structure exist, but only contains the driver ID and some structure sizes. Differences from Linux: - Infiniband drivers must use the INIT_IB_DEVICE_OPS() macro to set the sizes needed for allocating various IB objects, when adding IB device instances. Security: - PRIV_NET_RAW is needed to use raw ethernet transmit features. - PRIV_DRIVER is needed to use other privileged operations. Based on upstream Linux, Torvalds (5.7-rc1): 8632e9b5645bbc2331d21d892b0d6961c1a08429 MFC after: 1 week Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D31149 Sponsored by: NVIDIA Networking
|
#
b972a7fa |
|
20-Jul-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: fix LINT build We failed to list the new pf_syncookies.c file in sys/conf/files. This worked for the usual configurations, where pf is a module, but not for LINT builds. Reported by: lwhsu MFC after: 1 week Sponsored by: Modirum MDPay
|
#
f39d9c91 |
|
14-Jul-2021 |
Greg V <greg@unrelenting.technology> |
libkern: import strnstr from libc Required for drm-kmod 5.6 (amdgpu). Reviewed by: bz, hselasky, nc Differential Revision: https://reviews.freebsd.org/D31131
|
#
27d997be |
|
13-Jul-2021 |
Warner Losh <imp@FreeBSD.org> |
cardbus: move card_if.m to sys/dev/cardbus Move card_if.m to sys/dev/cardbus since pccard is disappearing. Sponsored by: Netflix
|
#
3c900106 |
|
24-Jun-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.26.0.0. Changes since 1.25.6.0 are listed here. This list comes from the Release Notes for "Chelsio Unified Wire 3.14.0.4 for Linux" dated 2021-07-08. Fixes ----- BASE: - Wait 5ms before and after the i2c command that clears the mod_select. This fixes incorrect port module type read from i2c. Obtained from: Chelsio Communications MFC after: 1 week Sponsored by: Chelsio Communications
|
#
517904de |
|
11-Jul-2021 |
Peter Grehan <grehan@FreeBSD.org> |
igc(4): Introduce new driver for the Intel I225 Ethernet controller. This controller supports 2.5G/1G/100MB/10MB speeds, and allows tx/rx checksum offload, TSO, LRO, and multi-queue operation. The driver was derived from code contributed by Intel, and modified by Netgate to fit into the iflib framework. Thanks to Mike Karels for testing and feedback on the driver. Reviewed by: bcr (manpages), kbowling, scottl, erj MFC after: 1 month Relnotes: yes Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30668
|
#
bf3a3852 |
|
08-Jul-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
fan53555: attach to build and switch from syr827 Rather than extending syr827 for syr828 (as initially done in D31103) switch to the Fairchild Semiconductor Corporation fan53555 implementation which is in-tree but was not attached to the build. The fan53555 implementation also supports syr827/syr8278 already. [1] Update NOTES and the arm64 GENERIC configuration for the switch. syr827 for now stays in the tree but is not used by any kernel configuration. Suggested by: mmel [1] Reviewed by: mmel, manu Differential Revision: https://reviews.freebsd.org/D31112
|
#
d0732fa8 |
|
06-Jul-2021 |
Alexander Motin <mav@FreeBSD.org> |
Add ocs_gendump.c to the build, missed in 29e2dbd42c3e.
|
#
e013e369 |
|
21-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Get rid of Linuxulator kernel build options. Stop confusing people, retire COMPAT_LINUX and COMPAT_LINUX32 kernel build options. Since we have 32 and 64 bit Linux emulators, we can't build both emulators together into the kernel. I don't think it matters, Linux emulation depends on loadable modules (via rc). Cut LINPROCFS and LINSYSFS for consistency. PR: 215061 Reviewed by: bcr (manpages), trasz Differential Revision: https://reviews.freebsd.org/D30751 MFC after: 2 weeks
|
#
663b174b |
|
07-Jun-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
an: Remove driver Last an(4) devices have been End Of Life and End Of Sale in 2007. Time to remove this driver. Differential Revision: https://reviews.freebsd.org/D30679 Reviewed by: imp (earlier version), emaste (earlier version) Sponsored by: Diablotin Systems
|
#
e0fa04e2 |
|
25-May-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.25.6.0. Changes since 1.25.0.0 are listed here. This list comes from the Release Notes for the "Chelsio Unified Wire v3.14.0.3 for Linux" release dated 2021-05-21. Fixes ----- BASE: - Fixed Back to back T6 100G-CR4 link coming up with NO FEC sometimes. - [T5] Try to bring up link in 1G speed if link doesn't come up on 10G. - Fixed a bug to not allow BaseR fec in 100G speed. - Fixed linkup issues on BT adapter in 1G and 100M speed. - Fixed an issue to allow driver to send VI_ENABLE multiple times (once with rx disable and then later rx enable). - Fixed rate limiting not working on class number 16 to 30. - Fixed backward compatibility issue in port type interpretation with vpd version 0x80. ETH: - Fixed a case when firmware failed to deliver NIC WR completion to host. - No rate limit support for WR ETH_TX_PKTS2 due to performance reasons. OFLD - Fixed a connection hang in SO adapters when tp_plen_max (set by driver) is more than the window size. - Added fw_filter_vnic_mode to firmware API file (t4fw_interface.h) - Use correct rx channel in coprocessor crypto completion (CPL_FW6_PLD). This was causing out of order completion to host. FOiSCSI - Fixed a crash due to unaligned access of ipv6 address. - Fixed a crash during lun reset. Enhancements ------------ ETH: - Rate limiting support added for encapsulated (vxlan, nvgre, geneve) NIC TCP packets. OFLD: - More than 128 SGLs supported in FW_RI_FR_NSMR_WR. Now, more than 16GB (upto 64GB) of PBLs can be written with single FW_RI_FR_NSMR_WR. Obtained from: Chelsio Communications MFC after: 1 month Sponsored by: Chelsio Communications
|
#
21e3c1fb |
|
25-May-2021 |
John Baldwin <jhb@FreeBSD.org> |
Assume OCF is the only KTLS software backend. This removes support for loadable software backends. The KTLS OCF support is now always included in kernels with KERN_TLS and the ktls_ocf.ko module has been removed. The software encryption routines now take an mbuf directly and use the TLS mbuf as the crypto buffer when possible. Bump __FreeBSD_version for software backends in ports. Reviewed by: gallatin, markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D30138
|
#
80e645dc |
|
21-May-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
mmc: Only build mmc_fdt_helper and mmc_pwrseq for arch that uses ext_resources This is now a needed requirement and fixes powerpc* build
|
#
5b2a81f5 |
|
16-May-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
mmc: Add mmc-pwrseq driver This driver is used to power up sdio card or eMMC. It handle the reset-gpio, clocks and needed delays for powerup/powerdown. Sponsored by: Diablotin Systems Differential Revision: https://reviews.freebsd.org/D30288
|
#
ac3ede53 |
|
11-May-2021 |
Roger Pau Monné <royger@FreeBSD.org> |
x86/xen: remove PVHv1 code PVHv1 was officially removed from Xen in 4.9, so just axe the related code from FreeBSD. Note FreeBSD supports PVHv2, which is the replacement for PVHv1. Sponsored by: Citrix Systems R&D Reviewed by: kib, Elliott Mitchell Differential Revision: https://reviews.freebsd.org/D30228
|
#
47bde792 |
|
21-Apr-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
mmccam: Add mmc_sim, a generic sim for mmc driver to use This adds a generic sim that abstract a lot of what needs to be implemented in a driver for mmccam support. A new interface with three methods is added : - mmc_sim_get_tran_settings: Use to get what the controller supports in term of capabilities, freq etc ... - mmc_sim_set_tran_settings: Use to change the speed/freq/etc of the sdcard host controller - mmc_sim_cam_request: Used for MMCIO requests Differential Revision: https://reviews.freebsd.org/D27485 Reviewed by: kibab
|
#
38da497a |
|
13-Apr-2021 |
Mark Johnston <markj@FreeBSD.org> |
Add the KASAN runtime KASAN enables the use of LLVM's AddressSanitizer in the kernel. This feature makes use of compiler instrumentation to validate memory accesses in the kernel and detect several types of bugs, including use-after-frees and out-of-bounds accesses. It is particularly effective when combined with test suites or syzkaller. KASAN has high CPU and memory usage overhead and so is not suited for production environments. The runtime and pmap maintain a shadow of the kernel map to store information about the validity of memory mapped at a given kernel address. The runtime implements a number of functions defined by the compiler ABI. These are prefixed by __asan. The compiler emits calls to __asan_load*() and __asan_store*() around memory accesses, and the runtime consults the shadow map to determine whether a given access is valid. kasan_mark() is called by various kernel allocators to update state in the shadow map. Updates to those allocators will come in subsequent commits. The runtime also defines various interceptors. Some low-level routines are implemented in assembly and are thus not amenable to compiler instrumentation. To handle this, the runtime implements these routines on behalf of the rest of the kernel. The sanitizer implementation validates memory accesses manually before handing off to the real implementation. The sanitizer in a KASAN-configured kernel can be disabled by setting the loader tunable debug.kasan.disable=1. Obtained from: NetBSD MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29416
|
#
5c62eded |
|
11-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Introduce nvlist variant of DIOCADDRULE This will make future extensions of the API much easier. The intent is to remove support for DIOCADDRULE in FreeBSD 14. Reviewed by: markj (previous version), glebius (previous version) MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29557
|
#
aa3ea612 |
|
31-Mar-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
x86: remove gcov kernel support Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D29529
|
#
0cff00ae |
|
22-Mar-2021 |
Ed Maste <emaste@FreeBSD.org> |
retire obsolete mn(4) sync serial driver Approved by: phk Relnotes: yes
|
#
ebe5cf35 |
|
04-Mar-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement basic support for allocating memory from a specific numa node in the LinuxKPI. Differential Revision: https://reviews.freebsd.org/D29077 Reviewed by: markj@ and kib@ MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
|
#
92aecd1e |
|
03-Mar-2021 |
John Baldwin <jhb@FreeBSD.org> |
ossl: Add ChaCha20 cipher support. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D28756
|
#
a079e38b |
|
03-Mar-2021 |
John Baldwin <jhb@FreeBSD.org> |
ossl: Add Poly1305 digest support. Reviewed by: cem Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D28754
|
#
d0673fe1 |
|
23-Feb-2021 |
Allan Jude <allanjude@FreeBSD.org> |
smbios: Move smbios driver out from x86 machdep code Add it to the x86 GENERIC and MINIMAL kernels Sponsored by: Ampere Computing LLC Submitted by: Klara Inc. Reviewed by: rpokala Differential Revision: https://reviews.freebsd.org/D28738
|
#
a0ba293c |
|
22-Feb-2021 |
Stefan Eßer <se@FreeBSD.org> |
Add missing entry for zfs_racct.c
|
#
dd2e1352 |
|
18-Feb-2021 |
John Baldwin <jhb@FreeBSD.org> |
Add an implementation of CHACHA20_POLY1305 to cryptosoft. This uses the chacha20 IETF and poly1305 implementations from libsodium. A seperate auth_hash is created for the auth side whose Setkey method derives the poly1305 key from the AEAD key and nonce as described in RFC 8439. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27837
|
#
fc8fc743 |
|
18-Feb-2021 |
John Baldwin <jhb@FreeBSD.org> |
Add an OCF algorithm for ChaCha20-Poly1305 AEAD. Note that this algorithm implements the mode defined in RFC 8439. Reviewed by: cem Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27836
|
#
952667da |
|
12-Feb-2021 |
Roger Pau Monné <royger@FreeBSD.org> |
xen/efi: introduce a PV interface for EFI run time services for dom0 FreeBSD when running as a dom0 under Xen is not supposed to access the run time services directly, and instead should proxy the calls through Xen using an hypercall interface that exposes access to selected run time services. Implement the efirt interface on top of the Xen provided hypercalls. Sponsored by: Citrix Systems R&D Reviewed by: kib Differential revision: https://reviews.freebsd.org/D28621
|
#
66803b34 |
|
14-Feb-2021 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Only require mac_veriexec for verified_exec The veriexec option is redundant, mac_veriexec is sufficient. MFC after: 1 week # # 72 columns --| # # Uncomment and complete these metadata fields, as appropriate: # # PR: <If and which Problem Report is related.> # Reported by: <If someone else reported the issue.> # Reviewed by: <If someone else reviewed your modification.> # Approved by: <If you needed approval for this commit.> # Obtained from: <If the change is from a third party.> # MFC after: <N [day[s]|week[s]|month[s]]. Request a reminder email> # MFH: <Ports tree branch name. Request approval for merge.> # Relnotes: <Set to 'yes' for mention in release notes.> # Security: <Vulnerability reference (one per line) or description.> # Sponsored by: <If the change was sponsored by an organization.> # Pull Request: <https://github.com/freebsd/<repo>/pull/###> # Differential Revision: <https://reviews.freebsd.org/D###> # # "Pull Request" and "Differential Revision" require the *full* GitHub or # Phabricator URL. The commit author should be set appropriately, using # `git commit --author` if someone besides the committer sent in the change. # # Uncomment and complete these metadata fields, as appropriate: # # PR: # Reported by: <If someone else reported the issue.> # Reviewed by: <If someone else reviewed your modification.> # Approved by: <If you needed approval for this commit.> # Obtained from: <If the change is from a third party.> # MFC after: <N [day[s]|week[s]|month[s]]. Request a reminder email> # MFH: <Ports tree branch name. Request approval for merge.> # Relnotes: <Set to 'yes' for mention in release notes.> # Security: <Vulnerability reference (one per line) or description.> # Sponsored by: <If the change was sponsored by an organization.> # Pull Request: <https://github.com/freebsd/<repo>/pull/###> # Differential Revision: <https://reviews.freebsd.org/D###> # # "Pull Request" and "Differential Revision" require the *full* GitHub or # Phabricator URL. The commit author should be set appropriately, using # `git commit --author` if someone besides the committer sent in the change. #
|
#
af366d35 |
|
08-Feb-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: implement strlen in assembly The C variant in libkern performs excessive branching to find the non-zero byte instead of using the bsfq instruction. The same code patched to use it is still slower than the routine implemented here as the compiler keeps neglecting to perform certain optimizations (like using leaq). On top of that the routine can is a starting point for copyinstr which operates on words instead of bytes. Tested with glibc test suite. Sample results (calls/s): Haswell: $(perl -e "print 'A' x 3"): stock: 211198039 patched:338626619 asm: 465609618 $(perl -e "print 'A' x 100"): stock: 83151997 patched: 98285919 asm: 120719888 AMD EPYC 7R32: $(perl -e "print 'A' x 3"): stock: 282523617 asm: 491498172 $(perl -e "print 'A' x 100"): stock: 114857172 asm: 112082057
|
#
fa765ca7 |
|
28-Jan-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: implement devres() framework parts and two examples This code implements a version of the devres framework found working for various iwlwifi use cases and also providing functions for ttm_page_alloc_dma.c from DRM. Part of the framework replicates the consumed KPI, while others are internal helper functions. In addition the simple devm_k*malloc() consumers were implemented and kvasprintf() was enhanced to also work for the devm_kasprintf() case. Addmittingly lkpi_devm_kmalloc_release() could be avoided but for the overall understanding of the code and possible memory tracing it may still be helpful. Further devsres consumer are implemented for iwlwifi but will follow later as the main reason for this change is to sort out overlap with DRM. Sponsored-by: The FreeBSD Foundation Obtained-from: bz_iwlwifi MFC After: 3 days Reviewed-by: hselasky, manu Differential Revision: https://reviews.freebsd.org/D28189
|
#
a6c2507d |
|
28-Jan-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: add firmware loading support Implement linux firmware KPI compat code. This includes: request_firmware() request_firmware_nowait(), request_firmware_direct(), firmware_request_nowarn(), and release_firmware(). Given we will try to map requested names from natively ported or full-linuxkpi-using drivers to a firmware(9) auto-loading name format (.ko file name and image name matching), we quieten firmware(9) and print success or failure (unless the _nowarn() version was called) in the linuxkpi implementation. At the moment we try up-to 4 different naming combinations, with path stripped, original name, and requested name with '/' or '.' replaced. We do not currently defer loading in the "nowait" case. Sponsored-by: The FreeBSD Foundation Sponsored-by: Rubicon Communications, LLC ("Netgate") (firmware(9) nowarn update from D27413) MFC after: 3 days Reviewed by: kib, manu (looked at older versions) Differential Revision: https://reviews.freebsd.org/D27414
|
#
cfd6422a |
|
26-Jan-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
netgraph/ng_vlan_rotate: IEEE 802.1ad VLAN manipulation netgraph type This node is part of an A10-NSP (L2-BSA) development. Carrier networks tend to stack three or more tags for internal purposes and therefore hiding the service tags deep inside of the stack. When decomposing such an access network frame, the processing order is typically reversed: First distinguish by service, than by other means. This new netgragh node allows to bring the relevant VLAN in front (to the out-most position). This way other netgraph nodes (like ng_vlan) can operate on this specific type. Reviewed by: manpages (gbe), brueffer (manpages), kp Approved by: kp (mentor) MFC after: 1 month Relnotes: yes Sponsored by: IKS Service GmbH Differential Revision: https://reviews.freebsd.org/D22076
|
#
5bd56585 |
|
20-Jan-2021 |
John Baldwin <jhb@FreeBSD.org> |
Tidy some crypto-related lines in sys/conf/files. Reviewed by: cem (earlier version) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27835
|
#
2c98edd6 |
|
19-Jan-2021 |
Andriy Gapon <avg@FreeBSD.org> |
htu21: driver for HTU21D I2C temperature and humidity sensor MFC after: 2 weeks Relnotes: perhaps
|
#
9da9560c |
|
18-Jan-2021 |
Bryan Venteicher <bryanv@FreeBSD.org> |
virtio: Add VirtIO PCI modern (V1) support Use the existing legacy PCI driver as the basis for shared code between the legacy and modern PCI drivers. The existing virtio_pci kernel module will contain both the legacy and modern drivers. Changes to the virtqueue and each device driver (network, block, etc) for V1 support come in later commits. Update the MMIO driver to reflect the VirtIO bus method changes, but the modern compliance can be improved on later. Note that the modern PCI driver requires bus_map_resource() to be implemented, which is not the case on all archs. The hw.virtio.pci.transitional tunable default value is zero so transitional devices will continue to be driven via the legacy driver. Reviewed by: grehan (mentor) Differential Revision: https://reviews.freebsd.org/D27856
|
#
94611a83 |
|
14-Jan-2021 |
Andrew Turner <andrew@FreeBSD.org> |
Add missing no-ctfconvert to C generation rules Stop running ctfconvert over generated C files in the kernel by marking them with no-ctfconvert. This fixes warnings from ctfconvert trying to parse C files: ctfconvert: file.c: Couldn't read ehdr: Invalid argument Reviewed by: emaste, mmel Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D28156
|
#
2c95fb75 |
|
22-Dec-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
linuxkpi: Add shrinker support A driver can register a shrinker that will be called when the kernel wants to free some memory. Add support for that in linuxkpi and call the registered shrinkers when the lowmem event is triggered. Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D27728
|
#
a21def4d |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove wi(4) driver Remove wi(4). pccard is going away, and wi only supports PC Card devices, though it has a minor amount of glue to also support PCI cards. However, removing the one without removing the other is hard, so the whole driver is being removed. Relnotes: Yes
|
#
23e124c7 |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove bt3c(4) driver pccard is being removed, so remove bt3c driver since it only has PC Card attachment. Also remove bt3cfw(8) since it's the firmware for this driver. Relnotes: Yes
|
#
0d3a424a |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove cmx(4) driver The only attachment of cmx was pccard, so remove the driver in anticipation of PC Card support removal. Relnotes: Yes
|
#
31cafce9 |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove ata(4) PC Card attachemnt Remove ata PC Card attachment. Relnotes: Yes
|
#
ba29d48c |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove uart(4) PC Card attachment pccard is going away, so remove uart's attachment. Relnotes: Yes
|
#
135021ed |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove puc(4) PC Card attachment Remove PUC's pccard attachment. This removes support for 16-bit PC Cards. Relnotes: Yes
|
#
fbcdcec5 |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Remove an(4) PC Card attachment Remove pccard attachment for an driver since pccard support is being removed. Relnotes: Yes
|
#
b363d3d5 |
|
07-Jan-2021 |
Matt Macy <mmacy@FreeBSD.org> |
OpenZFS: Fix issues caused by reversed commits + rebase
|
#
cabbfa3e |
|
07-Jan-2021 |
Warner Losh <imp@FreeBSD.org> |
pccard: Move power_if.m from pccard to cardbus power_if.m is used by both pccard and cardbus. Move it into cardbus.
|
#
d97d5c0c |
|
14-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import hidmap-based drivers written by Greg V This change includes: hpen - Generic / MS Windows compatible HID pen tablet driver. hgame - Generic game controller and joystick driver. xb360gp - Xbox360-compatible game controller driver. Submitted by: Greg V <greg_unrelenting.technology> Reviewed by: hselasky (as part of D27993)
|
#
afd590d9 |
|
14-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import hidmap and bunch of drivers based on it hidmap is a kernel module that maps HID input usages to evdev events. Following dependent drivers is included in the commit: hms - HID mouse driver. hcons - Consumer page AKA Multimedia keys driver. hsctrl - System Controls page (Power/Sleep keys) driver. ps4dshock - Sony DualShock 4 gamepad driver. Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27993
|
#
94773907 |
|
13-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import hidraw(4) - driver for access to raw HID device data This driver provides raw access to HID devices through uhid(4)-compatible interface and is based on pre-8.x uhid(4) code. Unlike uhid(4) it does not take devices in to monopoly ownership and allows parallel access from other drivers. hidraw supports Linux's hidraw-compatible interface as well. Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27992
|
#
b93f6bfc |
|
12-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Port ukbd to HID and attach to build Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27991
|
#
cb022db8 |
|
10-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Port multitouch hmt(4) driver to hidbus and attach to build Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27990
|
#
10fbbdfb |
|
10-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import hconf(4) - digitizer configuration top-level collection support. Reviewed by: hselasky (as part of D27990)
|
#
01f2e864 |
|
08-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import usbhid - USB transport backend for HID subsystem. This change implements hid_if.m methods for HID-over-USB protocol [1]. Also, this change adds USBHID_ENABLED kernel option which changes device_probe() priority and adds/removes PnP records to prefer usbhid over ums, ukbd, wmt and other USB HID device drivers and vice-versa. The module is based on uhid(4) driver. It is disabled by default for now due to conflicts with existing USB HID drivers. [1] https://www.usb.org/sites/default/files/hid1_11.pdf Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27893
|
#
b1f1b07f |
|
06-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import iichid - I2C transport backend for HID subsystem This implements hid_if.m methods for HID-over-I2C protocol [1]. Following kernel options are added: IICHID_SAMPLING - Enable support for a sampling mode as interrupt resource acquisition is not always possible in a case of GPIO interrupts. IICHID_DEBUG - Enable debug output. The module is based on prior Marc Priggemeyer work (D16698). [1] http://download.microsoft.com/download/7/d/d/7dd44bb7-2a7a-4505-ac1c-7227d3d96d5b/hid-over-i2c-protocol-spec-v1-0.docx Differential revision: https://reviews.freebsd.org/D27892
|
#
e49fa9f6 |
|
05-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import quirk subsystem. hidquirk(4) is derived from usb_quirk(4) and inherits all its HID-related functionality. It does not support ioctl(2) interface yet. Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D27890
|
#
2b4464b0 |
|
08-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import hidbus(4) This driver provides support for multiple HID driver attachments to single HID transport backend. This ability existed in Net/OpenBSD (uhidev and ihidev drivers) but has never been ported to FreeBSD. Unlike Net/OpenBSD we do not use report number alone to distinct report source but we follow MS way and use a top level collection (TLC) usage index that report belongs to as a location key. The driver performs child device autodiscovery based on HID report descriptor data, proxying of HID requests from child devices to parent transport backends and broadcasting of interrupts in backward direction. Differential revision: https://reviews.freebsd.org/D27888
|
#
961a3535 |
|
06-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Import HID transport method definitions and helper functions. Create an abstract HID interface that provides hardware independent access to HID capabilities and functions through the device tree. hid_if.m resembles existing USBHID KPI and consist of next methods: HID method USBHID variant ----------------------------------------------------------------------- hid_intr_setup usbd_transfer_setup (INTERRUPT IN xfer) hid_intr_unsetup usbd_transfer_unsetup (INTERRUPT IN xfer) hid_intr_start usbd_transfer_start (INTERRUPT IN xfer) hid_intr_stop usbd_transfer_drain (INTERRUPT IN xfer) hid_intr_poll usbd_transfer_poll (INTERRUPT IN xfer) hid_get_rdesc usbd_req_get_report_descriptor hid_read No direct analog. Not intended for common use. hid_write uhid(4) write() hid_get_report usbd_req_get_report hid_set_report usbd_req_set_report hid_set_idle usbd_req_set_idle hid_set_protocol usbd_req_set_protocol This change is part of D27888
|
#
67de2db2 |
|
04-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Factor-out hardware-independent part of USB HID support to new module It will be used by the upcoming HID-over-i2C implementation. Should be no-op, except hid.ko module dependency is to be added to affected drivers. Reviewed by: hselasky, manu Differential revision: https://reviews.freebsd.org/D27867
|
#
bc861033 |
|
06-Oct-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
libkern/strcasestr.c: Drop xlocale support and connect to build. Reviewed by: markj, hselasky Differential revision: https://reviews.freebsd.org/D27866
|
#
7a202823 |
|
23-Dec-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Expose eventfd in the native API/ABI using a new __specialfd syscall eventfd is a Linux system call that produces special file descriptors for event notification. When porting Linux software, it is currently usually emulated by epoll-shim on top of kqueues. Unfortunately, kqueues are not passable between processes. And, as noted by the author of epoll-shim, even if they were, the library state would also have to be passed somehow. This came up when debugging strange HW video decode failures in Firefox. A native implementation would avoid these problems and help with porting Linux software. Since we now already have an eventfd implementation in the kernel (for the Linuxulator), it's pretty easy to expose it natively, which is what this patch does. Submitted by: greg@unrelenting.technology Reviewed by: markj (previous version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D26668
|
#
e51ed06a |
|
26-Dec-2020 |
Marius Strobl <marius@FreeBSD.org> |
mlphy(4)/tlphy(4): Remove obsolete drivers These drivers should have been removed along with tl(4) as part of 7c897ca91fe1cdb785531d2f5aa0d441c1d73142 and r347918 respectively as these fromer made sure to only ever attach to the latter, e. g.: <...> static int tlphy_probe(device_t dev) { if (!mii_dev_mac_match(dev, "tl")) return (ENXIO); <...>
|
#
b63eeef4 |
|
26-Dec-2020 |
Marius Strobl <marius@FreeBSD.org> |
scc(4)/uart(4): Remove obsolete support for Siemens SAB 82532 It's no longer used since 58aa35d42975c298ca0adba705c042596303c9f5 and r357455 respectively.
|
#
9cca83b6 |
|
24-Dec-2020 |
Marius Strobl <marius@FreeBSD.org> |
mk48txx(4): remove obsolete driver It's no longer used since 58aa35d42975c298ca0adba705c042596303c9f5 and r357455 respectively.
|
#
d141239c |
|
24-Dec-2020 |
Marius Strobl <marius@FreeBSD.org> |
mc146818(4): remove obsolete driver It's no longer used since 58aa35d42975c298ca0adba705c042596303c9f5 and r357455 respectively.
|
#
f5baf8bb |
|
25-Dec-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add modular fib lookup framework. This change introduces framework that allows to dynamically attach or detach longest prefix match (lpm) lookup algorithms to speed up datapath route tables lookups. Framework takes care of handling initial synchronisation, route subscription, nhop/nhop groups reference and indexing, dataplane attachments and fib instance algorithm setup/teardown. Framework features automatic algorithm selection, allowing for picking the best matching algorithm on-the-fly based on the amount of routes in the routing table. Currently framework code is guarded under FIB_ALGO config option. An idea is to enable it by default in the next couple of weeks. The following algorithms are provided by default: IPv4: * bsearch4 (lockless binary search in a special IP array), tailored for small-fib (<16 routes) * radix4_lockless (lockless immutable radix, re-created on every rtable change), tailored for small-fib (<1000 routes) * radix4 (base system radix backend) * dpdk_lpm4 (DPDK DIR24-8-based lookups), lockless datastrucure, optimized for large-fib (D27412) IPv6: * radix6_lockless (lockless immutable radix, re-created on every rtable change), tailed for small-fib (<1000 routes) * radix6 (base system radix backend) * dpdk_lpm6 (DPDK DIR24-8-based lookups), lockless datastrucure, optimized for large-fib (D27412) Performance changes: Micro benchmarks (I7-7660U, single-core lookups, 2048k dst, code in D27604): IPv4: 8 routes: radix4: ~20mpps radix4_lockless: ~24.8mpps bsearch4: ~69mpps dpdk_lpm4: ~67 mpps 700k routes: radix4_lockless: 3.3mpps dpdk_lpm4: 46mpps IPv6: 8 routes: radix6_lockless: ~20mpps dpdk_lpm6: ~70mpps 100k routes: radix6_lockless: 13.9mpps dpdk_lpm6: 57mpps Forwarding benchmarks: + 10-15% IPv4 forwarding performance (small-fib, bsearch4) + 25% IPv4 forwarding performance (full-view, dpdk_lpm4) + 20% IPv6 forwarding performance (full-view, dpdk_lpm6) Control: Framwork adds the following runtime sysctls: List algos * net.route.algo.inet.algo_list: bsearch4, radix4_lockless, radix4 * net.route.algo.inet6.algo_list: radix6_lockless, radix6, dpdk_lpm6 Debug level (7=LOG_DEBUG, per-route) net.route.algo.debug_level: 5 Algo selection (currently only for fib 0): net.route.algo.inet.algo: bsearch4 net.route.algo.inet6.algo: radix6_lockless Support for manually changing algos in non-default fib will be added soon. Some sysctl names will be changed in the near future. Differential Revision: https://reviews.freebsd.org/D27401
|
#
9ee99cec |
|
11-Dec-2020 |
Brooks Davis <brooks@FreeBSD.org> |
hme(4): Remove as previous announced The hme (Happy Meal Ethernet) driver was the onboard NIC in most supported sparc64 platforms. A few PCI NICs do exist, but we have seen no evidence of use on non-sparc systems. Reviewed by: imp, emaste, bcr Sponsored by: DARPA
|
#
e8db04c3 |
|
08-Dec-2020 |
Nick Hibma <n_hibma@FreeBSD.org> |
New Netgraph module ng_macfilter: Macfilter to route packets through different hooks based on sender MAC address. Based on ng_macfilter written by Pekka Nikander Sponsered by Retina b.v. Reviewed by: afedorov MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D27268
|
#
6844eecf |
|
04-Dec-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Add basic support for Freescale LX2160A SoC. All peripherals but the network processor are supported.
|
#
fd86ae68 |
|
04-Dec-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
ossl: split out x86 bits to x86/ossl_cpuid.c Make room for adding arm64 support to this driver by moving the x86-specific feature parsing to a separate file. Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27388
|
#
a4a10b37 |
|
30-Nov-2020 |
Toomas Soome <tsoome@FreeBSD.org> |
Add VT driver for VBE framebuffer device Implement vt_vbefb to support Vesa Bios Extensions (VBE) framebuffer with VT. vt_vbefb is built based on vt_efifb and is assuming similar data for initialization, use MODINFOMD_VBE_FB to identify the structure vbe_fb in kernel metadata. struct vbe_fb, is populated by boot loader, and is passed to kernel via metadata payload. Differential Revision: https://reviews.freebsd.org/D27373
|
#
926ce35a |
|
24-Nov-2020 |
Jung-uk Kim <jkim@FreeBSD.org> |
Port rtsx(4) driver for Realtek SD card reader from OpenBSD. This driver provides support for Realtek PCI SD card readers. It attaches mmc(4) bus on card insertion and detaches it on card removal. It has been tested with RTS5209, RTS5227, RTS5229, RTS522A, RTS525A and RTL8411B. It should also work with RTS5249, RTL8402 and RTL8411. PR: 204521 Submitted by: Henri Hennebert (hlh at restart dot be) Reviewed by: imp, jkim Differential Revision: https://reviews.freebsd.org/D26435
|
#
2e58ec01 |
|
18-Nov-2020 |
Mark Johnston <markj@FreeBSD.org> |
Move kern_clocksource.c to sys/conf/files Sponsored by: The FreeBSD Foundation
|
#
dab39c11 |
|
09-Nov-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
LinuxKPI: Implement ACPI bits required by drm-kmod in base system It includes: ACPI_HANDLE() implementation. AC and VIDEO ACPI events notification support. Replacement of hand-rolled GPLed _DSM method evaluation helpers with in-base ones. Submitted by: wulf Differential Revision: https://reviews.freebsd.org/D26603
|
#
bad6b236 |
|
08-Nov-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Move all ifaddr route creation business logic to net/route/route_ifaddr.c Differential Revision: https://reviews.freebsd.org/D26318
|
#
890efa1a |
|
06-Nov-2020 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares to 1.25.0.40. This fixes a potential crash in firmware 1.25.0.0 on the passive open side during TOE operation. Obtained from: Chelsio Communications MFC after: 1 week Sponsored by: Chelsio Communications
|
#
072ac1a1 |
|
24-Oct-2020 |
Kyle Evans <kevans@FreeBSD.org> |
backlight(9): compile with COMPAT_LINUXKPI as well This would be more accurately expressed as COMPAT_LINUXKPI implying or requiring backlight, but config(8) doesn't really have a way to express that. This fixes the build with COMPAT_LINUXKPI specified in one's kernel config.
|
#
4c51d296 |
|
22-Oct-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix for monotolithic kernel builds using device lagg(4). Differential Revision: https://reviews.freebsd.org/D26254 Reviewed by: melifaro@ MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
|
#
9d40cf60 |
|
22-Oct-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Factor out generic IP over infiniband, IPoIB, definitions and code into net/if_infiniband.c and net/infiniband.h . No functional change intended. Differential Revision: https://reviews.freebsd.org/D26254 Reviewed by: melifaro@ MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
|
#
0c325f53 |
|
18-Oct-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Implement flowid calculation for outbound connections to balance connections over multiple paths. Multipath routing relies on mbuf flowid data for both transit and outbound traffic. Current code fills mbuf flowid from inp_flowid for connection-oriented sockets. However, inp_flowid is currently not calculated for outbound connections. This change creates simple hashing functions and starts calculating hashes for TCP,UDP/UDP-Lite and raw IP if multipath routes are present in the system. Reviewed by: glebius (previous version),ae Differential Revision: https://reviews.freebsd.org/D26523
|
#
acb4cf9d |
|
15-Oct-2020 |
Ed Maste <emaste@FreeBSD.org> |
move vmware pv drivers to sys/conf/files VMware now has arm64 support; move these to MI files in advance of building them on arm64. PR: 250308 Reported by: Vincent Milum Jr MFC after: 1 week Sponsored by: The FreeBSD Foundation
|
#
a3c41f8b |
|
10-Oct-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Add "Fenestras X" alternative /dev/random implementation Fortuna remains the default; no functional change to GENERIC. Big picture: - Scalable entropy generation with per-CPU, buffered local generators. - "Push" system for reseeding child generators when root PRNG is reseeded. (Design can be extended to arc4random(9) and userspace generators.) - Similar entropy pooling system to Fortuna, but starts with a single pool to quickly bootstrap as much entropy as possible early on. - Reseeding from pooled entropy based on time schedule. The time interval starts small and grows exponentially until reaching a cap. Again, the goal is to have the RNG state depend on as much entropy as possible quickly, but still periodically incorporate new entropy for the same reasons as Fortuna. Notable design choices in this implementation that differ from those specified in the whitepaper: - Blake2B instead of SHA-2 512 for entropy pooling - Chacha20 instead of AES-CTR DRBG - Initial seeding. We support more platforms and not all of them use loader(8). So we have to grab the initial entropy sources in kernel mode instead, as much as possible. Fortuna didn't have any mechanism for this aside from the special case of loader-provided previous-boot entropy, so most of these sources remain TODO after this commit. Reviewed by: markm Approved by: csprng (markm) Differential Revision: https://reviews.freebsd.org/D22837
|
#
0d95c2e2 |
|
03-Oct-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
pwm_backlight: Depend on ext_resources This driver cannot work without it.
|
#
fedeb08b |
|
03-Oct-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Introduce scalable route multipath. This change is based on the nexthop objects landed in D24232. The change introduces the concept of nexthop groups. Each group contains the collection of nexthops with their relative weights and a dataplane-optimized structure to enable efficient nexthop selection. Simular to the nexthops, nexthop groups are immutable. Dataplane part gets compiled during group creation and is basically an array of nexthop pointers, compiled w.r.t their weights. With this change, `rt_nhop` field of `struct rtentry` contains either nexthop or nexthop group. They are distinguished by the presense of NHF_MULTIPATH flag. All dataplane lookup functions returns pointer to the nexthop object, leaving nexhop groups details inside routing subsystem. User-visible changes: The change is intended to be backward-compatible: all non-mpath operations should work as before with ROUTE_MPATH and net.route.multipath=1. All routes now comes with weight, default weight is 1, maximum is 2^24-1. Current maximum multipath group width is statically set to 64. This will become sysctl-tunable in the followup changes. Using functionality: * Recompile kernel with ROUTE_MPATH * set net.route.multipath to 1 route add -6 2001:db8::/32 2001:db8::2 -weight 10 route add -6 2001:db8::/32 2001:db8::3 -weight 20 netstat -6On Nexthop groups data Internet6: GrpIdx NhIdx Weight Slots Gateway Netif Refcnt 1 ------- ------- ------- --------------------------------------- --------- 1 13 10 1 2001:db8::2 vlan2 14 20 2 2001:db8::3 vlan2 Next steps: * Land outbound hashing for locally-originated routes ( D26523 ). * Fix net/bird multipath (net/frr seems to work fine) * Add ROUTE_MPATH to GENERIC * Set net.route.multipath=1 by default Tested by: olivier Reviewed by: glebius Relnotes: yes Differential Revision: https://reviews.freebsd.org/D26449
|
#
a91b408a |
|
02-Oct-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
linuxkpi: Add dmi_* function dmi function are used to get smbios values. The DRM subsystem and drivers use it to enabled (or not) quirks. Reviewed by: hselasky Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26046
|
#
38d94a4b |
|
02-Oct-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Add pwm_backlight Driver for pwm-backlight compatible device. Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26252
|
#
675aae73 |
|
02-Oct-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Add backlight subsystem This is a simple subsystem that allow drivers to register as a backlight. Each backlight creates a device node under /dev/backlight/backlightX and an alias based on the name provided. Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26250
|
#
88c9c3f4 |
|
17-Sep-2020 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4/5/6 firmwares to 1.25.0.0. Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications
|
#
e7b2173d |
|
02-Sep-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix build fallout after r365054 . Make sure that building dev/sdhci/sdhci_fsl_fdt.c has all the right dependencies until a proper fix can be made. Sponsored by: Mellanox Technologies // NVIDIA Networking
|
#
2b33ffde |
|
01-Sep-2020 |
Marcin Wojtas <mw@FreeBSD.org> |
Introduce the SDHCI driver for NXP QorIQ Layerscape SoCs Implement support for an eSDHC controller found in NXP QorIQ Layerscape SoCs. This driver has been tested with NXP LS1046A and LX2160A (Honeycomb board), which is incompatible with the existing sdhci_fsl driver (aiming at older chips from this family). As such, it is not intended as replacement for the old driver, but rather serves as an improved alternative for SoCs that support it. It comes with support for both PIO and Single DMA modes and samples the clock from the extres clk API. Submitted by: Artur Rojek <ar@semihalf.com> Reviewed by: manu, mmel, kibab Obtained from: Semihalf Sponsored by: Alstom Group Differential Revision: https://reviews.freebsd.org/D26153
|
#
d96e5996 |
|
27-Aug-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement extensible arrays API using the existing radix tree implementation in the LinuxKPI. Differential Revision: https://reviews.freebsd.org/D25101 Reviewed by: kib @ MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
9e5787d2 |
|
24-Aug-2020 |
Matt Macy <mmacy@FreeBSD.org> |
Merge OpenZFS support in to HEAD. The primary benefit is maintaining a completely shared code base with the community allowing FreeBSD to receive new features sooner and with less effort. I would advise against doing 'zpool upgrade' or creating indispensable pools using new features until this change has had a month+ to soak. Work on merging FreeBSD support in to what was at the time "ZFS on Linux" began in August 2018. I first publicly proposed transitioning FreeBSD to (new) OpenZFS on December 18th, 2018. FreeBSD support in OpenZFS was finally completed in December 2019. A CFT for downstreaming OpenZFS support in to FreeBSD was first issued on July 8th. All issues that were reported have been addressed or, for a couple of less critical matters there are pull requests in progress with OpenZFS. iXsystems has tested and dogfooded extensively internally. The TrueNAS 12 release is based on OpenZFS with some additional features that have not yet made it upstream. Improvements include: project quotas, encrypted datasets, allocation classes, vectorized raidz, vectorized checksums, various command line improvements, zstd compression. Thanks to those who have helped along the way: Ryan Moeller, Allan Jude, Zack Welch, and many others. Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25872
|
#
ab0c29af |
|
21-Aug-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add TLS support to the kernel RPC. An internet draft titled "Towards Remote Procedure Call Encryption By Default" describes how TLS is to be used for Sun RPC, with NFS as an intended use case. This patch adds client and server support for this to the kernel RPC, using KERN_TLS and upcalls to daemons for the handshake, peer reset and other non-application data record cases. The upcalls to the daemons use three fields to uniquely identify the TCP connection. They are the time.tv_sec, time.tv_usec of the connection establshment, plus a 64bit sequence number. The time fields avoid problems with re-use of the sequence number after a daemon restart. For the server side, once a Null RPC with AUTH_TLS is received, kernel reception on the socket is blocked and an upcall to the rpctlssd(8) daemon is done to perform the TLS handshake. Upon completion, the completion status of the handshake is stored in xp_tls as flag bits and the reply to the Null RPC is sent. For the client, if CLSET_TLS has been set, a new TCP connection will send the Null RPC with AUTH_TLS to initiate the handshake. The client kernel RPC code will then block kernel I/O on the socket and do an upcall to the rpctlscd(8) daemon to perform the handshake. If the upcall is successful, ct_rcvstate will be maintained to indicate if/when an upcall is being done. If non-application data records are received, the code does an upcall to the appropriate daemon, which will do a SSL_read() of 0 length to handle the record(s). When the socket is being shut down, upcalls are done to the daemons, so that they can perform SSL_shutdown() calls to perform the "peer reset". The rpctlssd(8) and rpctlscd(8) daemons require a patched version of the openssl library and, as such, will not be committed to head at this time. Although the changes done by this patch are fairly numerous, there should be no semantics change to the kernel RPC at this time. A future commit to the NFS code will optionally enable use of TLS for NFS.
|
#
f5247a23 |
|
21-Aug-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Make net.fibs growable. Allow to dynamically grow the amount of fibs in each vnet. This change alters current behavior. Currently, if one defines ROUTETABLES > 1 in the kernel config, each vnet will be created with the number of fibs defined in the kernel config. After this commit vnets will be created with fibs=1. Dynamic net.fibs is not compatible with net.add_addr_allfibs. The plan is to deprecate the latter and make net.add_addr_allfibs=0 default behaviour. Reviewed by: glebius Relnotes: yes Differential Revision: https://reviews.freebsd.org/D26062
|
#
209d3fb4 |
|
20-Aug-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove the long obsolete ufm driver. It was a driver for a USB FM tuner that was available in the market in 2002. I wrote the driver in 2003. I've not used it since 2005 or so, so it's time to retire this driver. No userland code ever interfaced to the special device it created. There's no user base: the last bug I received on this driver was in 2004. Relnotes: Yes
|
#
8a0edc91 |
|
13-Aug-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Add prng(9) API Add prng(9) as a replacement for random(9) in the kernel. There are two major differences from random(9) and random(3): - General prng(9) APIs (prng32(9), etc) do not guarantee an implementation or particular sequence; they should not be used for repeatable simulations. - However, specific named API families are also exposed (for now: PCG), and those are expected to be repeatable (when so-guaranteed by the named algorithm). Some minor differences from random(3) and earlier random(9): - PRNG state for the general prng(9) APIs is per-CPU; this eliminates contention on PRNG state in SMP workloads. Each PCPU generator in an SMP system produces a unique sequence. - Better statistical properties than the Park-Miller ("minstd") PRNG (longer period, uniform distribution in all bits, passes BigCrush/PractRand analysis). - Faster than Park-Miller ("minstd") PRNG -- no division is required to step PCG-family PRNGs. For now, random(9) becomes a thin shim around prng32(). Eventually I would like to mechanically switch consumers over to the explicit API. Reviewed by: kib, markj (previous version both) Discussed with: markm Differential Revision: https://reviews.freebsd.org/D25916
|
#
c178a7e7 |
|
06-Aug-2020 |
Andriy Gapon <avg@FreeBSD.org> |
cp2112: driver for the namesake GPIO and I2C master gadget Documentation: - CP2112 Datasheet https://www.silabs.com/documents/public/data-sheets/cp2112-datasheet.pdf - AN495: CP2112 Interface Specification https://www.silabs.com/documents/public/application-notes/an495-cp2112-interface-specification.pdf - CP2112 Errata https://www.silabs.com/documents/public/errata/cp2112-errata.pdf The logic is implemented as three sub-drivers. The parent driver claims the USB device and creates two child devices. One acts as a GPIO controller and the other is an I2C controller. Tested with CP2112 revision F02. Both features seem to work. HTU21 sensor was used as an I2C slave. Reviewed by: adrian, hselasky MFC after: 2 weeks Relnotes: maybe Differential Revision: https://reviews.freebsd.org/D25359
|
#
aa6ea9b6 |
|
29-Jul-2020 |
John-Mark Gurney <jmg@FreeBSD.org> |
remove some long abandonded serial drivers (cy, rc, rp) since 2008 Reviewed by: phk (earlier version) Reviewed by: emaste (earlier version) Reviewed by: bcr (earlier version) Reviewed by: zeising (earlier version) Differential Revision: https://reviews.freebsd.org/D25874
|
#
cd21fc6a |
|
28-Jul-2020 |
Marcin Wojtas <mw@FreeBSD.org> |
Fix ENA build when integrated into kernel Provide missing rules for ena_datapath.c and ena_netmap.c, which prevented the ENA driver from building. This issue was showing up only when building the driver statically into the kernel. PR: 248116 Submitted by: Artur Rojek <ar@semihalf.com> MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D25796 Obtained from: Semihalf Sponsored by: Amazon, Inc.
|
#
22b33ca4 |
|
28-Jul-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Add an ACPI attachment for if_smc This is needed by some of the Arm simulators as they implement a smc based network interface, but use ACPI rather than FDT. Sponsored by: Innovate UK
|
#
855e49f3 |
|
27-Jul-2020 |
Alexander Motin <mav@FreeBSD.org> |
Add initial driver for ACPI Platform Error Interfaces. APEI allows platform to report different kinds of errors to OS in several ways. We've found that Supermicro X10/X11 motherboards report PCIe errors appearing on hot-unplug via this interface using NMI. Without respective driver it ended up in kernel panic without any additional information. This driver introduces support for the APEI Generic Hardware Error Source reporting via NMI, SCI or polling. It decodes the reported errors and either pass them to pci(4) for processing or just logs otherwise. Errors marked as fatal still end up in kernel panic, but some more informative. When somebody get to native PCIe AER support implementation both of the reporting mechanisms should get common error recovery code. Since in our case errors happen when the device is already gone, there is nothing to recover, so the code just clears the error statuses, practically ignoring the otherwise destructive NMIs in nicer way. MFC after: 2 weeks Relnotes: yes Sponsored by: iXsystems, Inc.
|
#
28da7c9e |
|
26-Jul-2020 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Add syscon power and reset control device driver This device driver supports both syscon-power and syscon-reset devices, as specified in [1] and [2]. These provide a very simple interface for power and reset control, and among other things are used by QEMU's virt machine on RISC-V. A separate commit will enable this on RISC-V, as that requires adding a RISC-V-specific riscv_syscon akin to r327936's aw_syscon. [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/power/reset/syscon-poweroff.txt [2] https://www.kernel.org/doc/Documentation/devicetree/bindings/power/reset/syscon-reboot.txt Reviewed by: brooks (mentor), jhb (mentor) Approved by: brooks (mentor), jhb (mentor) Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D25724
|
#
d63a631e |
|
26-Jul-2020 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Add Goldfish RTC device driver for RISC-V This device was originally used as part of the goldfish virtual hardware platform used for emulating Android on QEMU, but is now also used as the RTC for the RISC-V virt machine in QEMU. It provides a simple 64-bit nanosecond timer exposed via a pair of memory-mapped 32-bit registers, although only with 1s granularity. Reviewed by: brooks (mentor), jhb (mentor), kp Approved by: brooks (mentor), jhb (mentor), kp Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D25717
|
#
94bc2117 |
|
30-Jun-2020 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add i.MX 8M Quad support - Add CCM driver and clocks implementations for i.MX 8M - Add GPC driver for iMX8 - Add clock tree for i.MX 8M Quad - Add clocks support and new compat strings (where required) for existing i.MX 6 UART, I2C, and GPIO drivers - Enable aarch64-compatible drivers form i.MX 6 in arm64 GENERIC kernel config - Add dtb/imx8 kernel module with DTBs for Nitrogen8M and iMX8MQ EVK With this patch both Nitrogen8M and iMX8MQ EVK boot with NFS root up to multiuser login prompt Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D25274
|
#
518da7ac |
|
30-Jun-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Add dwc_otg_acpi Create an acpi attachment for the DWC USB OTG device. This is present in the Raspberry Pi 4 in the USB-C port normally used to power the board. Some firmware presents the kernel with ACPI tables rather than FDT so we need an ACPI attachment. Submitted by: Greg V <greg_unrelenting.technology> Approved by: hselasky (removal of All rights reserved) Differential Revision: https://reviews.freebsd.org/D25203
|
#
56e5ad5f |
|
26-Jun-2020 |
Matt Macy <mmacy@FreeBSD.org> |
Rename nvpair.c to bsd_nvpair.c to not conflict with openzfs' version.
|
#
d97d8385 |
|
25-May-2020 |
Marcin Wojtas <mw@FreeBSD.org> |
Introduce support for Epson RX-8803 RTC. This patch introduces support for Epson RX-8803 RTC controller accessible over I2C bus. It has a resolution of 1 sec. Support for interrupt based alarm was not implemented. Submitted by: Kornel Duleba <mindal@semihalf.com> Reviewed by: manu Obtained from: Semihalf Sponsored by: Alstom Group Differential Revision: https://reviews.freebsd.org/D24364
|
#
7187cccc |
|
25-May-2020 |
Marcin Wojtas <mw@FreeBSD.org> |
Add TCA6416 GPIO expander support. Add basic TCA6416 GPIO expander support over I2C bus. The driver handles enabling and disabling pins, setting pin mode to IN and OUT and toggling the pins. External interrupts are not supported. Submitted by: Dawid Gorecki <dgr@semihalf.com> Reviewed by: manu, mmel Obtained from: Semihalf Sponsored by: Alstom Group Differential Revision: https://reviews.freebsd.org/D24363
|
#
353d02e9 |
|
23-May-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
libkern: Add arc4random_uniform This variant get a random number up to the limit passed as the argument. This is simply a copy of the libc version. Sponsored-by: The FreeBSD Foundation Reviewed by: cem, hselasky (previous version) Differential Revision: https://reviews.freebsd.org/D24962
|
#
b0084bf6 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
kgssapi no longer supports RC4, so don't list it as a build dependency. Reviewed by: cem Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24774
|
#
0e00c709 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for DES and Triple DES from OCF. It no longer has any in-kernel consumers via OCF. smbfs still uses single DES directly, so sys/crypto/des remains for that use case. Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24773
|
#
32075647 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for the Blowfish algorithm from OCF. It no longer has any in-kernel consumers. Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24772
|
#
5e46d47f |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for the skipjack encryption algorithm. This was removed from IPsec in r286100 and no longer has any in-tree consumers. Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24769
|
#
7971a6f9 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for the cast128 encryption algorithm. It no longer has any in-tree consumers. Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24768
|
#
97e25132 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove ubsec(4). This driver was previously marked for deprecation in r360710. Approved by: csprng (cem, gordon, delphij) Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24766
|
#
fc88ecd3 |
|
28-Apr-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Move route-specific ddb commands to route/route_ddb.c Currently functionality resides in rtsock.c, which is a controlling interface, partially external to the routing subsystem. Additionally, DDB-supporting functionality is > 100SLOC, which deserves a separate file. Given that, move this functionality to a newly-created net/route/ subdir. Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D24561
|
#
e7d8af4f |
|
28-Apr-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Move route_temporal.c and route_var.h to net/route. Nexthop objects implementation, defined in r359823, introduced sys/net/route directory intended to hold all routing-related code. Move recently-introduced route_temporal.c and private route_var.h header there. Differential Revision: https://reviews.freebsd.org/D24597
|
#
732a02b4 |
|
17-Apr-2020 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Split XDR into separate kernel module. Make krpc depend on xdr. Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D24408
|
#
62dc472b |
|
14-Apr-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Add mmc_fdt_helpers for mmccam enabled config MFC after: 1 month X-MFC-With: r359924
|
#
e63fbd7b |
|
14-Apr-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Those functions are here to help fdt mmc controller drivers to parse the dts to find the supported speeds and the regulators. Not all DTS have every settings properly defined so host controller will still have to add some caps themselves. It also add a mmc_fdt_gpio_setup function which will read the cd-gpios property and register it as the CD pin. If the pin support interrupts one will be registered and the cd_helper function will be called. If the pin doesn't support interrupts the internal taskqueue will poll for change and call the same cd_helper function. mmc_fdt_gpio_setup will also parse the wp-gpio property and MMC drivers can know the write-protect pin value by calling the mmc_fdt_gpio_get_readonly function. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D23267
|
#
9897e357 |
|
13-Apr-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Re-organize the NFS file handle affinity code for the NFS server. The file handle affinity code was configured to be used by both the old and new NFS servers. This no longer makes sense, since there is only one NFS server. This patch copies a majority of the code in sys/nfs/nfs_fha.c and sys/nfs/nfs_fha.h into sys/fs/nfsserver/nfs_fha_new.c and sys/fs/nfsserver/nfs_fha_new.h, so that the files in sys/nfs can be deleted. The code is simplified by deleting the function callback pointers used to call functions in either the old or new NFS server and they were replaced by calls to the functions. As well as a cleanup, this re-organization simplifies the changes required for handling of external page mbufs, which is required for KERN_TLS. This patch should not result in a semantic change to file handle affinity.
|
#
a6663252 |
|
12-Apr-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Introduce nexthop objects and new routing KPI. This is the foundational change for the routing subsytem rearchitecture. More details and goals are available in https://reviews.freebsd.org/D24141 . This patch introduces concept of nexthop objects and new nexthop-based routing KPI. Nexthops are objects, containing all necessary information for performing the packet output decision. Output interface, mtu, flags, gw address goes there. For most of the cases, these objects will serve the same role as the struct rtentry is currently serving. Typically there will be low tens of such objects for the router even with multiple BGP full-views, as these objects will be shared between routing entries. This allows to store more information in the nexthop. New KPI: struct nhop_object *fib4_lookup(uint32_t fibnum, struct in_addr dst, uint32_t scopeid, uint32_t flags, uint32_t flowid); struct nhop_object *fib6_lookup(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid, uint32_t flags, uint32_t flowid); These 2 function are intended to replace all all flavours of <in_|in6_>rtalloc[1]<_ign><_fib>, mpath functions and the previous fib[46]-generation functions. Upon successful lookup, they return nexthop object which is guaranteed to exist within current NET_EPOCH. If longer lifetime is desired, one can specify NHR_REF as a flag and get a referenced version of the nexthop. Reference semantic closely resembles rtentry one, allowing sed-style conversion. Additionally, another 2 functions are introduced to support uRPF functionality inside variety of our firewalls. Their primary goal is to hide the multipath implementation details inside the routing subsystem, greatly simplifying firewalls implementation: int fib4_lookup_urpf(uint32_t fibnum, struct in_addr dst, uint32_t scopeid, uint32_t flags, const struct ifnet *src_if); int fib6_lookup_urpf(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid, uint32_t flags, const struct ifnet *src_if); All functions have a separate scopeid argument, paving way to eliminating IPv6 scope embedding and allowing to support IPv4 link-locals in the future. Structure changes: * rtentry gets new 'rt_nhop' pointer, slightly growing the overall size. * rib_head gets new 'rnh_preadd' callback pointer, slightly growing overall sz. Old KPI: During the transition state old and new KPI will coexists. As there are another 4-5 decent-sized conversion patches, it will probably take a couple of weeks. To support both KPIs, fields not required by the new KPI (most of rtentry) has to be kept, resulting in the temporary size increase. Once conversion is finished, rtentry will notably shrink. More details: * architectural overview: https://reviews.freebsd.org/D24141 * list of the next changes: https://reviews.freebsd.org/D24232 Reviewed by: ae,glebius(initial version) Differential Revision: https://reviews.freebsd.org/D24232
|
#
dee3aa83 |
|
10-Apr-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for Kernel GSS algorithms deprecated in r348875. This removes support for using DES, Triple DES, and RC4. Reviewed by: cem, kp Tested by: kp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24344
|
#
8de97f39 |
|
09-Apr-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Remove the old NFS lock device driver that uses Giant. This NFS lock device driver was replaced by the kernel NLM around FreeBSD7 and has not normally been used since then. To use it, the kernel had to be built without "options NFSLOCKD" and the nfslockd.ko had to be deleted as well. Since it uses Giant and is no longer used, this patch removes it. With this device driver removed, there is now a lot of unused code in the userland rpc.lockd. That will be removed on a future commit. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D22933
|
#
78c1387f |
|
02-Apr-2020 |
Ian Lepore <ian@FreeBSD.org> |
Add the Cadence GEM ethernet driver to NOTES so that it gets built with LINT kernels. Move the config for it from files.<arch> files into the main config (conf/files), because it works on multiple platforms now.
|
#
59838c1a |
|
01-Apr-2020 |
John Baldwin <jhb@FreeBSD.org> |
Retire procfs-based process debugging. Modern debuggers and process tracers use ptrace() rather than procfs for debugging. ptrace() has a supserset of functionality available via procfs and new debugging features are only added to ptrace(). While the two debugging services share some fields in struct proc, they each use dedicated fields and separate code. This results in extra complexity to support a feature that hasn't been enabled in the default install for several years. PR: 244939 (exp-run) Reviewed by: kib, mjg (earlier version) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D23837
|
#
c98cae3b |
|
18-Mar-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Add file for static compilation of mlx5. Sponsored by: Mellanox Technologies MFC after: 2 weeks
|
#
9b7938dc |
|
09-Mar-2020 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
iicbus(4): Add support for ACPI-based children enumeration When iicbus is attached as child of Designware I2C controller it scans all ACPI nodes for "I2C Serial Bus Connection Resource Descriptor" described in section 19.6.57 of ACPI specs. If such a descriptor is found, I2C child is added to iicbus, it's I2C address, IRQ resource and ACPI handle are added to ivars. Existing ACPI bus-hosted child is deleted afterwards. The driver also installs so called "I2C address space handler" which is disabled by default as nontested. Set hw.iicbus.enable_acpi_space_handler loader tunable to 1 to enable it. Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D22901
|
#
f15ccf88 |
|
06-Mar-2020 |
Chuck Silvers <chs@FreeBSD.org> |
Add a new "mntfs" pseudo file system which provides private device vnodes for file systems to safely access their disk devices, and adapt FFS to use it. Also add a new BO_NOBUFS flag to allow enforcing that file systems using mntfs vnodes do not accidentally use the original devfs vnode to create buffers. Reviewed by: kib, mckusick Approved by: imp (mentor) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D23787
|
#
79514055 |
|
01-Mar-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove bktr(4) Remove the brooktree driver as discussed on arch@. Bump FreeBSD version to 1300082, though I doubt anything will care. Relnote: yes
|
#
1179b649 |
|
21-Feb-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
linuxkpi: Move shmem related functions in it's own file For drmkpi (D23085) we don't want the Linux struct file as we don't emulate everything. Also the prototypes should be in shmem_fs.h to have 100% compatibility with Linux. Reviewed by: hselasky MFC after: Maybe Differential Revision: https://reviews.freebsd.org/D23764
|
#
bbb7a2c7 |
|
15-Feb-2020 |
Matt Macy <mmacy@FreeBSD.org> |
Add chacha20poly1305 support to crypto build This is a dependency for in-kernel wireguard. Reviewed by: cem@ MFC after: 1 week Sponsored by: Rubicon Communications, LLC (Netgate) Differential Revision: https://reviews.freebsd.org/D23689
|
#
77ad00bf |
|
11-Feb-2020 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4/5/6 firmwares to 1.24.12.0. Obtained from: Chelsio Communications MFC after: 1 month Sponsored by: Chelsio Communications
|
#
58aa35d4 |
|
03-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove sparc64 kernel support Remove all sparc64 specific files Remove all sparc64 ifdefs Removee indireeect sparc64 ifdefs
|
#
d9e9979c |
|
02-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
On powerpc, we use ofw_syscons for device sc. That references the default fonts. As a workaround, remove the static. vt is default on powerpc, but there's a few old macs that still fail with vt. sc is used as a work arouond for those machines, and the kernel fails to build w/o it.
|
#
bb9c7e26 |
|
02-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Move font.h generation to conf/files from conf/files.* Use ${SRCTOP} instead of /usr/share. Prefer to depend on option sc_dflt_fnt instead of sc. gc the 4 otherwise identical instances in the tree. Platforms that don't need this won't included it.
|
#
e17b7f1a |
|
02-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Fix old-style build Fix the old-style build by using ${SRCTOP} instead of a weird construct that only works for new-style build. Simplify the building of keymap files by using macros Move atkbdmap.h in files.x86 This has been broken since r296899 which removed the implicit dependency on /usr/share.
|
#
51691e26 |
|
01-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove vpo.4 The Parallel Port SCSI adapter was interesting for 100MB ZIP drives, but is no longer used or maintained. Remove it from the tree. The Parallel Port microsequencer (microseq.9) is now mostly unused in the tree, but remains. PPI still refrences it, but doesn't use its full functionality. Relnotes: Yes Reviewed by: rgrimes@, Ihor Antonov Discussed on: arch@ Differential Revision: https://reviews.freebsd.org/D23389
|
#
d4665eaa |
|
30-Jan-2020 |
Jeff Roberson <jeff@FreeBSD.org> |
Implement a safe memory reclamation feature that is tightly coupled with UMA. This is in the same family of algorithms as Epoch/QSBR/RCU/PARSEC but is a unique algorithm. This has 3x the performance of epoch in a write heavy workload with less than half of the read side cost. The memory overhead is significantly lessened by limiting the free-to-use latency. A synthetic test uses 1/20th of the memory vs Epoch. There is significant further discussion in the comments and code review. This code should be considered experimental. I will write a man page after it has settled. After further validation the VM will begin using this feature to permit lockless page lookups. Both markj and cperciva tested on arm64 at large core counts to verify fences on weaker ordering architectures. I will commit a stress testing tool in a follow-up. Reviewed by: mmacy, markj, rlibby, hselasky Discussed with: sbahara Differential Revision: https://reviews.freebsd.org/D22586
|
#
34a5582c |
|
22-Jan-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Bring back redirect route expiration. Redirect (and temporal) route expiration was broken a while ago. This change brings route expiration back, with unified IPv4/IPv6 handling code. It introduces net.inet.icmp.redirtimeout sysctl, allowing to set an expiration time for redirected routes. It defaults to 10 minutes, analogues with net.inet6.icmp6.redirtimeout. Implementation uses separate file, route_temporal.c, as route.c is already bloated with tons of different functions. Internally, expiration is implemented as an per-rnh callout scheduled when route with non-zero rt_expire time is added or rt_expire is changed. It does not add any overhead when no temporal routes are present. Callout traverses entire routing tree under wlock, scheduling expired routes for deletion and calculating the next time it needs to be run. The rationale for such implemention is the following: typically workloads requiring large amount of routes have redirects turned off already, while the systems with small amount of routes will not inhibit large overhead during tree traversal. This changes also fixes netstat -rn display of route expiration time, which has been broken since the conversion from kread() to sysctl. Reviewed by: bz MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D23075
|
#
d0554d26 |
|
02-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
iicoc: limit fdt attachment to EXT_RESOURCES platforms The fdt attachment for this heavily relies on extres for clk work. This unbreaks the build for mips XLPN32/XLP, which have pci/fdt but no need for this fdt attachment.
|
#
422d05da |
|
02-Jan-2020 |
Ian Lepore <ian@FreeBSD.org> |
Add support for i2c bus mux hardware. An i2c bus can be divided into segments which can be selectively connected and disconnected from the main bus. This is usually done to enable using multiple slave devices having the same address, by isolating the devices onto separate bus segments, only one of which is connected to the main bus at once. There are several types of i2c bus muxes, which break down into two general categories... - Muxes which are themselves i2c slaves. These devices respond to i2c commands on their upstream bus, and based on those commands, connect various downstream buses to the upstream. In newbus terms, they are both a child of an iicbus and the parent of one or more iicbus instances. - Muxes which are not i2c devices themselves. Such devices are part of the i2c bus electrically, but in newbus terms their parent is some other bus. The association with the upstream bus must be established by separate metadata (such as FDT data). In both cases, the mux driver has one or more iicbus child instances representing the downstream buses. The mux driver implements the iicbus_if interface, as if it were an iichb host bridge/i2c controller driver. It services the IO requests sent to it by forwarding them to the iicbus instance representing the upstream bus, after electrically connecting the upstream bus to the downstream bus that hosts the i2c slave device which made the IO request. The net effect is automatic mux switching which is transparent to slaves on the downstream buses. They just do i2c IO they way they normally do, and the bus is electrically connected for the duration of the IO and then idled when it is complete. The existing iicbus_if callback() method is enhanced so that the parameter passed to it can be a struct which contains a device_t for the requesting bus and slave devices. This change is done by adding a flag that indicates the extra values are present, and making the flags field the first field of a new args struct. If the flag is set, the iichb or mux driver can recast the pointer-to-flags into a pointer-to-struct and access the extra fields. Thus abi compatibility with older drivers is retained (but a mux cannot exist on the bus with the older iicbus driver in use.) A new set of core support routines exists in iicbus.c. This code will help implement mux drivers for any type of mux hardware by supplying all the boilerplate code that forwards IO requests upstream. It also has code for parsing metadata and instantiating the child iicbus instances based on it. Two new hardware mux drivers are added. The ltc430x driver supports the LTC4305/4306 mux chips which are controlled via i2c commands. The iic_gpiomux driver supports any mux hardware which is controlled by manipulating the state of one or more gpio pins. Test Plan Tested locally using a variety of mux'd bus configurations involving both ltc4305 and a homebrew gpio-controlled mux. Tested configurations included cascaded muxes (unlikely in the real world, but useful to prove that 'it all just works' in terms of the automatic switching and upstream forwarding of IO requests).
|
#
ffac39de |
|
21-Dec-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Add vmgenc(4) driver for ACPI VM generation counter The VM generation counter is a 128-bit value exposed by the BIOS via ACPI. The value changes to another unique identifier whenever a VM is duplicated. Additionally, ACPI provides notification events when such events occur. The driver decodes the pointer to the UUID, exports the value to userspace via OPAQUE sysctl blob, and forwards the ACPI notifications in the form of an EVENTHANDLER invocation as well as userspace devctl events. See design paper: https://go.microsoft.com/fwlink/p/?LinkID=260709
|
#
6386edbb |
|
19-Dec-2019 |
Philip Paeps <philip@FreeBSD.org> |
iicoc: add FDT bus attachment This adds support for OpenCores I2C master controllers on FDT systems. Reviewed by: kp Sponsored by: Axiado
|
#
eb95689a |
|
19-Dec-2019 |
Philip Paeps <philip@FreeBSD.org> |
iicoc: split up common core and PCI bus specifics The OpenCores I2C IP core can be found on any bus. Split out the PCI bus specifics into their own file, only compiled on systems with PCI. Reviewed by: kp Sponsored by: Axiado
|
#
7b9439d0 |
|
16-Dec-2019 |
Warner Losh <imp@FreeBSD.org> |
We'll never have multiple slots a cardbus bridge. So, replace exca array with a singleton. Also, pccbb isa attachment is never going to happen, do disconnect it from the build (will delete this in future commit). It would need to be updated as well, but since this code is effectively dead code, remove it from the build instead.
|
#
6f012c14 |
|
10-Dec-2019 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4/5/6 firmwares to 1.24.11.0. These were obtained from the Chelsio Unified Wire v3.12.0.1 beta release. Note that the firmwares are not uuencoded any more. MFH: 1 month Sponsored by: Chelsio Communications
|
#
fdfcae4a |
|
06-Dec-2019 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add a GPIO based MDIO bit-banging bus driver. Uses two GPIO pins as MDC (clock) and MDIO (bidirectional I/O), relies on mii_bitbang. Tested on SG-3200 where the PHY for one of the ports is wired independently of the SoC MDIO bus. Sponsored by: Rubicon Communications, LLC (Netgate)
|
#
7272f9cd |
|
06-Dec-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement hardware TLS via send tags for mlx5en(4), which is supported by ConnectX-6 DX. Currently TLS v1.2 and v1.3 with AES 128/256 crypto over TCP/IP (v4 and v6) is supported. A per PCI device UMA zone is used to manage the memory of the send tags. To optimize performance some crypto contexts may be cached by the UMA zone, until the UMA zone finishes the memory of the given send tag. An asynchronous task is used manage setup of the send tags towards the firmware. Most importantly setting the AES 128/256 bit pre-shared keys for the crypto context. Updating the state of the AES crypto engine and encrypting data, is all done in the fast path. Each send tag tracks the TCP sequence number in order to detect non-contiguous blocks of data, which may require a dump of prior unencrypted data, to restore the crypto state prior to wire transmission. Statistics counters have been added to count the amount of TLS data transmitted in total, and the amount of TLS data which has been dumped prior to transmission. When non-contiguous TCP sequence numbers are detected, the software needs to dump the beginning of the current TLS record up until the point of retransmission. All TLS counters utilize the counter(9) API. In order to enable hardware TLS offload the following sysctls must be set: kern.ipc.mb_use_ext_pgs=1 kern.ipc.tls.ifnet.permitted=1 kern.ipc.tls.enable=1 Sponsored by: Mellanox Technologies
|
#
04f1690b |
|
05-Dec-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add basic support for TCP/IP based hardware TLS offload to mlx5core. The hardware offload is primarily targeted for TLS v1.2 and v1.3, using AES 128/256 bit pre-shared keys. This patch adds all the needed hardware structures, capabilites and firmware commands. Sponsored by: Mellanox Technologies
|
#
adc56f5a |
|
02-Dec-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Make use of the stats(3) framework in the TCP stack. This makes it possible to retrieve per-connection statistical information such as the receive window size, RTT, or goodput, using a newly added TCP_STATS getsockopt(3) option, and extract them using the stats_voistat_fetch(3) API. See the net/tcprtt port for an example consumer of this API. Compared to the existing TCP_INFO system, the main differences are that this mechanism is easy to extend without breaking ABI, and provides statistical information instead of raw "snapshots" of values at a given point in time. stats(3) is more generic and can be used in both userland and the kernel. Reviewed by: thj Tested by: thj Obtained from: Netflix Relnotes: yes Sponsored by: Klara Inc, Netflix Differential Revision: https://reviews.freebsd.org/D20655
|
#
33ce28d1 |
|
27-Nov-2019 |
Scott Long <scottl@FreeBSD.org> |
Remove the trm(4) driver Differential Revision: https://reviews.freebsd.org/D22575
|
#
bddf7343 |
|
21-Nov-2019 |
John Baldwin <jhb@FreeBSD.org> |
NIC KTLS for Chelsio T6 adapters. This adds support for ifnet (NIC) KTLS using Chelsio T6 adapters. Unlike the TOE-based KTLS in r353328, NIC TLS works with non-TOE connections. NIC KTLS on T6 is not able to use the normal TSO (LSO) path to segment the encrypted TLS frames output by the crypto engine. Instead, the TOE is placed into a special setup to permit "dummy" connections to be associated with regular sockets using KTLS. This permits using the TOE to segment the encrypted TLS records. However, this approach does have some limitations: 1) Regular TOE sockets cannot be used when the TOE is in this special mode. One can use either TOE and TOE-based KTLS or NIC KTLS, but not both at the same time. 2) In NIC KTLS mode, the TOE is only able to accept a per-connection timestamp offset that varies in the upper 4 bits. Put another way, only connections whose timestamp offset has the 28 lower bits cleared can use NIC KTLS and generate correct timestamps. The driver will refuse to enable NIC KTLS on connections with a timestamp offset with any of the lower 28 bits set. To use NIC KTLS, users can either disable TCP timestamps by setting the net.inet.tcp.rfc1323 sysctl to 0, or apply a local patch to the tcp_new_ts_offset() function to clear the lower 28 bits of the generated offset. 3) Because the TCP segmentation relies on fields mirrored in a TCB in the TOE, not all fields in a TCP packet can be sent in the TCP segments generated from a TLS record. Specifically, for packets containing TCP options other than timestamps, the driver will inject an "empty" TCP packet holding the requested options (e.g. a SACK scoreboard) along with the segments from the TLS record. These empty TCP packets are counted by the dev.cc.N.txq.M.kern_tls_options sysctls. Unlike TOE TLS which is able to buffer encrypted TLS records in on-card memory to handle retransmits, NIC KTLS must re-encrypt TLS records for retransmit requests as well as non-retransmit requests that do not include the start of a TLS record but do include the trailer. The T6 NIC KTLS code tries to optimize some of the cases for requests to transmit partial TLS records. In particular it attempts to minimize sending "waste" bytes that have to be given as input to the crypto engine but are not needed on the wire to satisfy mbufs sent from the TCP stack down to the driver. TCP packets for TLS requests are broken down into the following classes (with associated counters): - Mbufs that send an entire TLS record in full do not have any waste bytes (dev.cc.N.txq.M.kern_tls_full). - Mbufs that send a short TLS record that ends before the end of the trailer (dev.cc.N.txq.M.kern_tls_short). For sockets using AES-CBC, the encryption must always start at the beginning, so if the mbuf starts at an offset into the TLS record, the offset bytes will be "waste" bytes. For sockets using AES-GCM, the encryption can start at the 16 byte block before the starting offset capping the waste at 15 bytes. - Mbufs that send a partial TLS record that has a non-zero starting offset but ends at the end of the trailer (dev.cc.N.txq.M.kern_tls_partial). In order to compute the authentication hash stored in the trailer, the entire TLS record must be sent as input to the crypto engine, so the bytes before the offset are always "waste" bytes. In addition, other per-txq sysctls are provided: - dev.cc.N.txq.M.kern_tls_cbc: Count of sockets sent via this txq using AES-CBC. - dev.cc.N.txq.M.kern_tls_gcm: Count of sockets sent via this txq using AES-GCM. - dev.cc.N.txq.M.kern_tls_fin: Count of empty FIN-only packets sent to compensate for the TOE engine not being able to set FIN on the last segment of a TLS record if the TLS record mbuf had FIN set. - dev.cc.N.txq.M.kern_tls_records: Count of TLS records sent via this txq including full, short, and partial records. - dev.cc.N.txq.M.kern_tls_octets: Count of non-waste bytes (TLS header and payload) sent for TLS record requests. - dev.cc.N.txq.M.kern_tls_waste: Count of waste bytes sent for TLS record requests. To enable NIC KTLS with T6, set the following tunables prior to loading the cxgbe(4) driver: hw.cxgbe.config_file=kern_tls hw.cxgbe.kern_tls=1 Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D21962
|
#
849aef49 |
|
21-Nov-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Port the NetBSD KCSAN runtime to FreeBSD. Update the NetBSD Kernel Concurrency Sanitizer (KCSAN) runtime to work in the FreeBSD kernel. It is a useful tool for finding data races between threads executing on different CPUs. This can be enabled by enabling KCSAN in the kernel config, or by using the GENERIC-KCSAN amd64 kernel. It works on amd64 and arm64, however the later needs a compiler change to allow -fsanitize=thread that KCSAN uses. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22315
|
#
d2e69013 |
|
18-Nov-2019 |
Andriy Gapon <avg@FreeBSD.org> |
fix up r354804, add new ZFS file mmp.c to kernel files Reported by: CI LINT build MFC after: 4 weeks X-MFC with: r354804
|
#
4d893465 |
|
13-Nov-2019 |
John Baldwin <jhb@FreeBSD.org> |
Add t4_keyctx.c to sys/conf/files for the non-module build. Missed in r354667. Pointy hat to: jhb MFC after: 1 month Sponsored by: Chelsio Communications
|
#
81ca5d2f |
|
08-Nov-2019 |
Mark Johnston <markj@FreeBSD.org> |
Add new iwm(4) files to sys/conf/files. Submitted by: rea MFC with: r354504
|
#
124a91ac |
|
08-Nov-2019 |
Michal Meloun <mmel@FreeBSD.org> |
Implement support for (soft)linked clocks. This kind of clock nodes represent temporary placeholder for clocks defined later in boot process. Also, these are necessary to break circular dependencies occasionally occurring in complex clock graphs. MFC after: 3 weeks
|
#
2b885467 |
|
02-Nov-2019 |
Toomas Soome <tsoome@FreeBSD.org> |
r354264 did mix up the directory path The correct path is sys/cddl/contrib/opensolaris/common/lz4, not sys/cddl/contrib/opensolaris/lz4 Reported by: Michael Butler
|
#
a524707b |
|
02-Nov-2019 |
Toomas Soome <tsoome@FreeBSD.org> |
r354253 did miss the updates to sys/conf/files and sys/conf/kern.pre.mk Reported by: Brandon Bergren
|
#
0634308d |
|
18-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Fix debugnet(4) link/build fallout on some configurations Introduced in r353685 (sys/conf/files), r353694 (debugnet.c db_printf). Submitted by: kevans Reported by: cy X-MFC-With: r353685, r353694
|
#
dda17b36 |
|
17-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Implement NetGDB(4) NetGDB(4) is a component of a system using a panic-time network stack to remotely debug crashed FreeBSD kernels over the network, instead of traditional serial interfaces. There are three pieces in the complete NetGDB system. First, a dedicated proxy server must be running to accept connections from both NetGDB and gdb(1), and pass bidirectional traffic between the two protocols. Second, the NetGDB client is activated much like ordinary 'gdb' and similarly to 'netdump' in ddb(4) after a panic. Like other debugnet(4) clients (netdump(4)), the network interface on the route to the proxy server must be online and support debugnet(4). Finally, the remote (k)gdb(1) uses 'target remote <proxy>:<port>' (like any other TCP remote) to connect to the proxy server. The NetGDB v1 protocol speaks the literal GDB remote serial protocol, and uses a 1:1 relationship between GDB packets and sequences of debugnet packets (fragmented by MTU). There is no encryption utilized to keep debugging sessions private, so this is only appropriate for local segments or trusted networks. Submitted by: John Reimer <john.reimer AT emc.com> (earlier version) Discussed some with: emaste, markj Relnotes: sure Differential Revision: https://reviews.freebsd.org/D21568
|
#
7790c8c1 |
|
17-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Split out a more generic debugnet(4) from netdump(4) Debugnet is a simplistic and specialized panic- or debug-time reliable datagram transport. It can drive a single connection at a time and is currently unidirectional (debug/panic machine transmit to remote server only). It is mostly a verbatim code lift from netdump(4). Netdump(4) remains the only consumer (until the rest of this patch series lands). The INET-specific logic has been extracted somewhat more thoroughly than previously in netdump(4), into debugnet_inet.c. UDP-layer logic and up, as much as possible as is protocol-independent, remains in debugnet.c. The separation is not perfect and future improvement is welcome. Supporting INET6 is a long-term goal. Much of the diff is "gratuitous" renaming from 'netdump_' or 'nd_' to 'debugnet_' or 'dn_' -- sorry. I thought keeping the netdump name on the generic module would be more confusing than the refactoring. The only functional change here is the mbuf allocation / tracking. Instead of initiating solely on netdump-configured interface(s) at dumpon(8) configuration time, we watch for any debugnet-enabled NIC for link activation and query it for mbuf parameters at that time. If they exceed the existing high-water mark allocation, we re-allocate and track the new high-water mark. Otherwise, we leave the pre-panic mbuf allocation alone. In a future patch in this series, this will allow initiating netdump from panic ddb(4) without pre-panic configuration. No other functional change intended. Reviewed by: markj (earlier version) Some discussion with: emaste, jhb Objection from: marius Differential Revision: https://reviews.freebsd.org/D21421
|
#
671d68fa |
|
13-Oct-2019 |
Mark Johnston <markj@FreeBSD.org> |
Move SCTP DTrace probe definitions into a .c file. Previously they were defined in a header which was included exactly once. Change this to follow the usual practice of putting definitions in C files. No functional change intended. Discussed with: tuexen MFC after: 1 week Sponsored by: The FreeBSD Foundation
|
#
1a13f2e6 |
|
07-Oct-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Introduce stats(3), a flexible statistics gathering API. This provides a framework to define a template describing a set of "variables of interest" and the intended way for the framework to maintain them (for example the maximum, sum, t-digest, or a combination thereof). Afterwards the user code feeds in the raw data, and the framework maintains these variables inside a user-provided, opaque stats blobs. The framework also provides a way to selectively extract the stats from the blobs. The stats(3) framework can be used in both userspace and the kernel. See the stats(3) manual page for details. This will be used by the upcoming TCP statistics gathering code, https://reviews.freebsd.org/D20655. The stats(3) framework is disabled by default for now, except in the NOTES kernel (for QA); it is expected to be enabled in amd64 GENERIC after a cool down period. Reviewed by: sef (earlier version) Obtained from: Netflix Relnotes: yes Sponsored by: Klara Inc, Netflix Differential Revision: https://reviews.freebsd.org/D20477
|
#
c28ef249 |
|
02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Import Linux code to query/set buffer state in mlx5en(4). Submitted by: kib@ MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
4bc8507b |
|
02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Remove no longer needed fwdump register tables from mlx5core. Submitted by: kib@ MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
66b38bfe |
|
02-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for Multi-Physical Function Switch, MPFS, in mlx5en. MPFS is a logical switch in the Mellanox device which forward packets based on a hardware driven L2 address table, to one or more physical- or virtual- functions. The physical- or virtual- function is required to tell the MPFS by using the MPFS firmware commands, which unicast MAC addresses it is requesting from the physical port's traffic. Broadcast and multicast traffic however, is copied to all listening physical- and virtual- functions and does not need a rule in the MPFS switching table. Linux commit: eeb66cdb682678bfd1f02a4547e3649b38ffea7e MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
935dbbeb |
|
01-Oct-2019 |
Ryan Stone <rstone@FreeBSD.org> |
Clean up duplicate entries in sys/conf/files Reviewed by: imp
|
#
ec3ecd04 |
|
24-Sep-2019 |
Jung-uk Kim <jkim@FreeBSD.org> |
Fix white spaces.
|
#
35c7bb34 |
|
24-Sep-2019 |
Randall Stewart <rrs@FreeBSD.org> |
This commit adds BBR (Bottleneck Bandwidth and RTT) congestion control. This is a completely separate TCP stack (tcp_bbr.ko) that will be built only if you add the make options WITH_EXTRA_TCP_STACKS=1 and also include the option TCPHPTS. You can also include the RATELIMIT option if you have a NIC interface that supports hardware pacing, BBR understands how to use such a feature. Note that this commit also adds in a general purpose time-filter which allows you to have a min-filter or max-filter. A filter allows you to have a low (or high) value for some period of time and degrade slowly to another value has time passes. You can find out the details of BBR by looking at the original paper at: https://queue.acm.org/detail.cfm?id=3022184 or consult many other web resources you can find on the web referenced by "BBR congestion control". It should be noted that BBRv1 (which this is) does tend to unfairness in cases of small buffered paths, and it will usually get less bandwidth in the case of large BDP paths(when competing with new-reno or cubic flows). BBR is still an active research area and we do plan on implementing V2 of BBR to see if it is an improvement over V1. Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D21582
|
#
50c365c4 |
|
04-Sep-2019 |
Ruslan Bukin <br@FreeBSD.org> |
Include dwgpio to the build. Sponsored by: DARPA, AFRL
|
#
b2e60773 |
|
26-Aug-2019 |
John Baldwin <jhb@FreeBSD.org> |
Add kernel-side support for in-kernel TLS. KTLS adds support for in-kernel framing and encryption of Transport Layer Security (1.0-1.2) data on TCP sockets. KTLS only supports offload of TLS for transmitted data. Key negotation must still be performed in userland. Once completed, transmit session keys for a connection are provided to the kernel via a new TCP_TXTLS_ENABLE socket option. All subsequent data transmitted on the socket is placed into TLS frames and encrypted using the supplied keys. Any data written to a KTLS-enabled socket via write(2), aio_write(2), or sendfile(2) is assumed to be application data and is encoded in TLS frames with an application data type. Individual records can be sent with a custom type (e.g. handshake messages) via sendmsg(2) with a new control message (TLS_SET_RECORD_TYPE) specifying the record type. At present, rekeying is not supported though the in-kernel framework should support rekeying. KTLS makes use of the recently added unmapped mbufs to store TLS frames in the socket buffer. Each TLS frame is described by a single ext_pgs mbuf. The ext_pgs structure contains the header of the TLS record (and trailer for encrypted records) as well as references to the associated TLS session. KTLS supports two primary methods of encrypting TLS frames: software TLS and ifnet TLS. Software TLS marks mbufs holding socket data as not ready via M_NOTREADY similar to sendfile(2) when TLS framing information is added to an unmapped mbuf in ktls_frame(). ktls_enqueue() is then called to schedule TLS frames for encryption. In the case of sendfile_iodone() calls ktls_enqueue() instead of pru_ready() leaving the mbufs marked M_NOTREADY until encryption is completed. For other writes (vn_sendfile when pages are available, write(2), etc.), the PRUS_NOTREADY is set when invoking pru_send() along with invoking ktls_enqueue(). A pool of worker threads (the "KTLS" kernel process) encrypts TLS frames queued via ktls_enqueue(). Each TLS frame is temporarily mapped using the direct map and passed to a software encryption backend to perform the actual encryption. (Note: The use of PHYS_TO_DMAP could be replaced with sf_bufs if someone wished to make this work on architectures without a direct map.) KTLS supports pluggable software encryption backends. Internally, Netflix uses proprietary pure-software backends. This commit includes a simple backend in a new ktls_ocf.ko module that uses the kernel's OpenCrypto framework to provide AES-GCM encryption of TLS frames. As a result, software TLS is now a bit of a misnomer as it can make use of hardware crypto accelerators. Once software encryption has finished, the TLS frame mbufs are marked ready via pru_ready(). At this point, the encrypted data appears as regular payload to the TCP stack stored in unmapped mbufs. ifnet TLS permits a NIC to offload the TLS encryption and TCP segmentation. In this mode, a new send tag type (IF_SND_TAG_TYPE_TLS) is allocated on the interface a socket is routed over and associated with a TLS session. TLS records for a TLS session using ifnet TLS are not marked M_NOTREADY but are passed down the stack unencrypted. The ip_output_send() and ip6_output_send() helper functions that apply send tags to outbound IP packets verify that the send tag of the TLS record matches the outbound interface. If so, the packet is tagged with the TLS send tag and sent to the interface. The NIC device driver must recognize packets with the TLS send tag and schedule them for TLS encryption and TCP segmentation. If the the outbound interface does not match the interface in the TLS send tag, the packet is dropped. In addition, a task is scheduled to refresh the TLS send tag for the TLS session. If a new TLS send tag cannot be allocated, the connection is dropped. If a new TLS send tag is allocated, however, subsequent packets will be tagged with the correct TLS send tag. (This latter case has been tested by configuring both ports of a Chelsio T6 in a lagg and failing over from one port to another. As the connections migrated to the new port, new TLS send tags were allocated for the new port and connections resumed without being dropped.) ifnet TLS can be enabled and disabled on supported network interfaces via new '[-]txtls[46]' options to ifconfig(8). ifnet TLS is supported across both vlan devices and lagg interfaces using failover, lacp with flowid enabled, or lacp with flowid enabled. Applications may request the current KTLS mode of a connection via a new TCP_TXTLS_MODE socket option. They can also use this socket option to toggle between software and ifnet TLS modes. In addition, a testing tool is available in tools/tools/switch_tls. This is modeled on tcpdrop and uses similar syntax. However, instead of dropping connections, -s is used to force KTLS connections to switch to software TLS and -i is used to switch to ifnet TLS. Various sysctls and counters are available under the kern.ipc.tls sysctl node. The kern.ipc.tls.enable node must be set to true to enable KTLS (it is off by default). The use of unmapped mbufs must also be enabled via kern.ipc.mb_use_ext_pgs to enable KTLS. KTLS is enabled via the KERN_TLS kernel option. This patch is the culmination of years of work by several folks including Scott Long and Randall Stewart for the original design and implementation; Drew Gallatin for several optimizations including the use of ext_pgs mbufs, the M_NOTREADY mechanism for TLS records awaiting software encryption, and pluggable software crypto backends; and John Baldwin for modifications to support hardware TLS offload. Reviewed by: gallatin, hselasky, rrs Obtained from: Netflix Sponsored by: Netflix, Chelsio Communications Differential Revision: https://reviews.freebsd.org/D21277
|
#
df4e516f |
|
25-Aug-2019 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: remove obsolete file The netmap_pt.c module has become obsolete after the refactoring that added netmap_kloop.c. Remove it and unlink it from the build system. MFC after: 1 week
|
#
21aae724 |
|
25-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
Remove zlib 1.0.4 from kernel. PR: 229763 Reviewed by: emaste, Yoshihiro Ota <ota j email ne jp> Differential Revision: https://reviews.freebsd.org/D21375
|
#
93289cfc |
|
21-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
Create a AHCI attachment for nvme. Intel has created RST and many laptops from vendors like Lenovo and Asus. It's a mechanism for creating multiple boot devices under windows. It effectively hides the nvme drive inside of the ahci controller. The details are supposed to be a trade secret. However, there's a reverse engineered Linux driver, and this implements similar operations to allow nvme drives to attach. The ahci driver attaches nvme children that proxy the remapped resources to the child. nvme_ahci is just like nvme_pci, except it doesn't do the PCI specific things. That's moved into ahci where appropriate. When the nvme drive is remapped, MSI-x interrupts aren't forwarded (the linux driver doesn't know how to use this either). INTx interrupts are used instead. This is suboptimal, but usually sufficient for the laptops these parts are in. This is based loosely on https://www.spinics.net/lists/linux-ide/msg53364.html submitted, but not accepted by, Linux. It was written by Dan Williams. These changes were written from scratch by Olivier Houchard. Submitted by: cognet@ (Olivier Houchard)
|
#
f182f928 |
|
21-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
Separate the pci attachment from the rest of nvme Nvme drives can be attached in a number of different ways. Separate out the PCI attachment so that we can have other attachment types, like ahci and various types of NVMeoF. Submitted by: cognet@
|
#
2b0ebb77 |
|
19-Aug-2019 |
Conrad Meyer <cem@FreeBSD.org> |
libkern: Implement strchrnul(3)
|
#
3544d43b |
|
18-Aug-2019 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
ng_ubt(4): do not attach Intel Wireless 8260/8265 in bootloader mode. Add helper function for synchronous execution of HCI commands at probe stage and use this function to check firmware state of Intel Wireless 8260/8265 bluetooth devices found in many post 2016 year laptops. Attempt to initialize FreeBSD bluetooth stack while such a device is in bootloader mode locks the adapter hardly so it requires power on/off cycle to restore. This change blocks ng_ubt attachment unless operational firmware is loaded thus preventing the lock up. PR: 237083 Reviewed by: hps, emax MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D21071
|
#
eefd8f96 |
|
13-Aug-2019 |
Conrad Meyer <cem@FreeBSD.org> |
geom_uzip(4), mkuzip(8): Add Zstd image mode The Zstd format bumps the CLOOP major number to 4 to avoid incompatibility with older systems. Support in geom_uzip(4) is conditional on the ZSTDIO kernel option, which is enabled in amd64 GENERIC, but not all in-tree configurations. mkuzip(8) was modified slightly to always initialize the nblocks + 1'th offset in the CLOOP file format. Previously, it was only initialized in the case where the final compressed block happened to be unaligned w.r.t. DEV_BSIZE. The "Fake" last+1 block change in r298619 means that the final compressed block's 'blen' was never correct unless the compressed uzip image happened to be BSIZE-aligned. This happened in about 1 out of every 512 cases. The zlib and lzma decompressors are probably tolerant of extra trash following the frame they were told to decode, but Zstd complains that the input size is incorrect. Correspondingly, geom_uzip(4) was modified slightly to avoid trashing the nblocks + 1'th offset when it is known to be initialized to a good value. This corrects the calculated final real cluster compressed length to match that printed by mkuzip(8). mkuzip(8) was refactored somewhat to reduce code duplication and increase ease of adding other compression formats. * Input block size validation was pulled out of individual compression init routines into main(). * Init routines now validate a user-provided compression level or select an algorithm-specific default, if none was provided. * A new interface for calculating the maximal compressed size of an incompressible input block was added for each driver. The generic code uses it to validate against MAXPHYS as well as to allocate compression result buffers in the generic code. * Algorithm selection is now driven by a table lookup, to increase ease of adding other formats in the future. mkuzip(8) gained the ability to explicitly specify a compression level with '-C'. The prior defaults -- 9 for zlib and 6 for lzma -- are maintained. The new zstd default is 9, to match zlib. Rather than select lzma or zlib with '-L' or its absense, respectively, a new argument '-A <algorithm>' is provided to select 'zlib', 'lzma', or 'zstd'. '-L' is considered deprecated, but will probably never be removed. All of the new features were documented in mkuzip.8; the page was also cleaned up slightly. Relnotes: yes
|
#
ac8e5d02 |
|
13-Aug-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Remove deprecated GEOM classes Follow-up on r322318 and r322319 and remove the deprecated modules. Shift some now-unused kernel files into userspace utilities that incorporate them. Remove references to removed GEOM classes in userspace utilities. Reviewed by: imp (earlier version) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D21249
|
#
4dec4ffe |
|
13-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
Flowtables were removed in r321618, remove stray reference here.
|
#
b6066d82 |
|
13-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
vx(4) was removed in r347921. Remove stray reference.
|
#
6aae4735 |
|
13-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
nsp(4) was removed in r339571. Remove stray reference.
|
#
09813007 |
|
12-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
ukbdmap.h rule was identical on all platforms, so move them into sys/conf/files. This allows us to remove 'nodevice ukbd' from the arm64 NOTES file.
|
#
63722e52 |
|
07-Aug-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add cdceem(4) driver, for virtual ethernet devices compliant with Communication Device Class Ethernet Emulation Model (CDC EEM). The driver supports both the device, and host side operation; there is a new USB template (#11) for the former. This enables communication with virtual USB NIC provided by iLO 5, as found in new HPE Proliant servers. Reviewed by: hselasky MFC after: 2 weeks Relnotes: yes Sponsored by: Hewlett Packard Enterprise
|
#
a15cb219 |
|
06-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
Expose zlib's utility functions in Z_SOLO library when building kernel. This allows kernel code to reuse zlib's implementation. PR: 229763 Reviewed by: Yoshihiro Ota <ota j email ne jp> Relnotes: yes Differential Revision: https://reviews.freebsd.org/D21156
|
#
5177d294 |
|
05-Aug-2019 |
Ian Lepore <ian@FreeBSD.org> |
Add a driver for Texas Instruments ADS101x/ADS111x i2c ADC chips. Instances of the device can be configured using hints or FDT data. Interfaces to reconfigure the chip and extract voltage measurements from it are available via sysctl(8).
|
#
1dbf944a |
|
02-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
if_mxge: update zlib version 1.0.4 to 1.2.11. PR: 229763 Submitted by: Yoshihiro Ota <ota j email ne jp> Differential Revision: https://reviews.freebsd.org/D20272
|
#
20abea66 |
|
01-Aug-2019 |
Randall Stewart <rrs@FreeBSD.org> |
This adds the third step in getting BBR into the tree. BBR and an updated rack depend on having access to the new ratelimit api in this commit. Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D20953
|
#
0ed1d6fb |
|
01-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
Allow Kernel to link in both legacy libkern/zlib and new sys/contrib/zlib, with an eventual goal to convert all legacl zlib callers to the new zlib version: * Move generic zlib shims that are not specific to zlib 1.0.4 to sys/dev/zlib. * Connect new zlib (1.2.11) to the zlib kernel module, currently built with Z_SOLO. * Prefix the legacy zlib (1.0.4) with 'zlib104_' namespace. * Convert sys/opencrypto/cryptodeflate.c to use new zlib. * Remove bundled zlib 1.2.3 from ZFS and adapt it to new zlib and make it depend on the zlib module. * Fix Z_SOLO build of new zlib. PR: 229763 Submitted by: Yoshihiro Ota <ota j email ne jp> Reviewed by: markm (sys/dev/zlib/zlib_kmod.c) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19706
|
#
d4565741 |
|
29-Jul-2019 |
Xin LI <delphij@FreeBSD.org> |
Remove gzip'ed a.out support. The current implementation of gzipped a.out support was based on a very old version of InfoZIP which ships with an ancient modified version of zlib, and was removed from the GENERIC kernel in 1999 when we moved to an ELF world. PR: 205822 Reviewed by: imp, kib, emaste, Yoshihiro Ota <ota at j.email.ne.jp> Relnotes: yes Differential Revision: https://reviews.freebsd.org/D21099
|
#
951e0584 |
|
22-Jul-2019 |
Ruslan Bukin <br@FreeBSD.org> |
o Add support for BERI IOMMU device o Add an experimental IOMMU support to xDMA framework The BERI IOMMU device is the part of CHERI device-model project [1]. It translates memory addresses for various BERI peripherals modelled in software. It accepts FreeBSD/mips64 page directories format and manages BERI TLB. 1. https://github.com/CTSRD-CHERI/device-model Sponsored by: DARPA, AFRL
|
#
7fe671dc |
|
08-Jul-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Put USB ACPI code into own module, uacpi.ko. The code needs more testing before being enabled by default. Sponsored by: Mellanox Technologies
|
#
494fd9b6 |
|
02-Jul-2019 |
Ganbold Tsagaankhuu <ganbold@FreeBSD.org> |
Fix build error introduced by r349596.
|
#
82334850 |
|
28-Jun-2019 |
John Baldwin <jhb@FreeBSD.org> |
Add an external mbuf buffer type that holds multiple unmapped pages. Unmapped mbufs allow sendfile to carry multiple pages of data in a single mbuf, without mapping those pages. It is a requirement for Netflix's in-kernel TLS, and provides a 5-10% CPU savings on heavy web serving workloads when used by sendfile, due to effectively compressing socket buffers by an order of magnitude, and hence reducing cache misses. For this new external mbuf buffer type (EXT_PGS), the ext_buf pointer now points to a struct mbuf_ext_pgs structure instead of a data buffer. This structure contains an array of physical addresses (this reduces cache misses compared to an earlier version that stored an array of vm_page_t pointers). It also stores additional fields needed for in-kernel TLS such as the TLS header and trailer data that are currently unused. To more easily detect these mbufs, the M_NOMAP flag is set in m_flags in addition to M_EXT. Various functions like m_copydata() have been updated to safely access packet contents (using uiomove_fromphys()), to make things like BPF safe. NIC drivers advertise support for unmapped mbufs on transmit via a new IFCAP_NOMAP capability. This capability can be toggled via the new 'nomap' and '-nomap' ifconfig(8) commands. For NIC drivers that only transmit packet contents via DMA and use bus_dma, adding the capability to if_capabilities and if_capenable should be all that is required. If a NIC does not support unmapped mbufs, they are converted to a chain of mapped mbufs (using sf_bufs to provide the mapping) in ip_output or ip6_output. If an unmapped mbuf requires software checksums, it is also converted to a chain of mapped mbufs before computing the checksum. Submitted by: gallatin (earlier version) Reviewed by: gallatin, hselasky, rrs Discussed with: ae, kp (firewalls) Relnotes: yes Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D20616
|
#
f5a95d9a |
|
24-Jun-2019 |
Warner Losh <imp@FreeBSD.org> |
Remove NAND and NANDFS support NANDFS has been broken for years. Remove it. The NAND drivers that remain are for ancient parts that are no longer relevant. They are polled, have terrible performance and just for ancient arm hardware. NAND parts have evolved significantly from this early work and little to none of it would be relevant should someone need to update to support raw nand. This code has been off by default for years and has violated the vnode protocol leading to panics since it was committed. Numerous posts to arch@ and other locations have found no actual users for this software. Relnotes: Yes No Objection From: arch@ Differential Revision: https://reviews.freebsd.org/D20745
|
#
2973d38a |
|
23-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
The gpiopps(4) driver currently has probe and attach code only for FDT based systems, so conditionalize it accordingly in conf/files.
|
#
9026f4b8 |
|
23-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
The sy8106a and syr827 drviers require FDT and the ext_resources subsystem.
|
#
48fedd09 |
|
23-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
Add the rtc8583 driver to conf/files. Also, move sy8106a from file.allwinner to conf/files... it's not allwinner-specific, some day other platforms could use the same regulator chip.
|
#
c363b16c |
|
20-Jun-2019 |
Conrad Meyer <cem@FreeBSD.org> |
sys: Remove DEV_RANDOM device option Remove 'device random' from kernel configurations that reference it (most). Replace perhaps mistaken 'nodevice random' in two MIPS configs with 'options RANDOM_LOADABLE' instead. Document removal in UPDATING; update NOTES and random.4. Reviewed by: delphij, markm (previous version) Approved by: secteam(delphij) Differential Revision: https://reviews.freebsd.org/D19918
|
#
e68fcc88 |
|
17-Jun-2019 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add ACPI support for USB driver. This adds ACPI device path on devinfo(8) output and show value of _UPC(usb port capabilities), _PLD (physical location of device) when hw.usb.debug >= 1 . Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D20630
|
#
f89d2072 |
|
17-Jun-2019 |
Xin LI <delphij@FreeBSD.org> |
Separate kernel crc32() implementation to its own header (gsb_crc32.h) and rename the source to gsb_crc32.c. This is a prerequisite of unifying kernel zlib instances. PR: 229763 Submitted by: Yoshihiro Ota <ota at j.email.ne.jp> Differential Revision: https://reviews.freebsd.org/D20193
|
#
b43e2c8b |
|
16-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
Add ofw_pwmbus to enumerate pwmbus devices on systems configured with fdt data. Also, add fdt support to pwmc.
|
#
f8f8d87c |
|
15-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
Restructure the pwm device hirearchy and interfaces. The pwm and pwmbus interfaces were nearly identical, this merges them into a single pwmbus interface. The pwmbus driver now implements the pwmbus interface by simply passing all calls through to its parent (the hardware driver). The channel_count method moves from pwm to pwmbus, and the get_bus method is deleted (just no longer needed). The net effect is that the interface for doing pwm stuff is now the same regardless of whether you're a child of pwmbus, or some random driver elsewhere in the hierarchy that is bypassing the pwmbus layer and is talking directly to the hardware driver via cross-hierarchy connections established using fdt data. The pwmc driver is now a child of pwmbus, instead of being its sibling (that's why the get_bus method is no longer needed; pwmc now gets the device_t of the bus using device_get_parent()).
|
#
dd47326c |
|
15-Jun-2019 |
Ian Lepore <ian@FreeBSD.org> |
Allow pwm(9) components to be selected individually, while 'device pwm' still includes it all.
|
#
6e33e7e0 |
|
08-Jun-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Remove extra stray + from a diff from the beginning of the lines after r348805 to fix the build. Please do not ask how 3 more local builds succeeded without barfing. Pointyhat to: bz MFC after: 6 weeks X-MFC with: r348805
|
#
67ca7330 |
|
08-Jun-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Add SDIO support. Add a CAM-Newbus SDIO support module. This works provides a newbus infrastructure for device drivers wanting to use SDIO. On the lower end while it is connected by newbus to SDHCI, it talks CAM using the MMCCAM framework to get to it. This also duplicates the usbdevs framework to equally create sdiodev header files with #defines for "vendors" and "products". Submitted by: kibab (initial work, see https://reviews.freebsd.org/D12467) Reviewed by: kibab, imp (comments on earlier version) MFC after: 6 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19749
|
#
5ca5dfe9 |
|
31-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
random(4): Fix RANDOM_LOADABLE build I introduced an obvious compiler error in r346282, so this change fixes that. Unfortunately, RANDOM_LOADABLE isn't covered by our existing tinderbox, and it seems like there were existing latent linking problems. I believe these were introduced on accident in r338324 during reduction of the boolean expression(s) adjacent to randomdev.c and hash.c. It seems the RANDOM_LOADABLE build breakage has gone unnoticed for nine months. This change correctly annotates randomdev.c and hash.c with !random_loadable to match the pre-r338324 logic; and additionally updates the HWRNG drivers in MD 'files.*', which depend on random_device symbols, with !random_loadable (it is invalid for the kernel to depend on symbols from a module). (The expression for both randomdev.c and hash.c was the same, prior to r338324: "optional random random_yarrow | random !random_yarrow !random_loadable". I.e., "random && (yarrow || !loadable)." When Yarrow was removed ("yarrow := False"), the expression was incorrectly reduced to "optional random" when it should have retained "random && !loadable".) Additionally, I discovered that virtio_random was missing a MODULE_DEPEND on random_device, which breaks kld load/link of the driver on RANDOM_LOADABLE kernels. Address that issue as well. PR: 238223 Reported by: Eir Nym <eirnym AT gmail.com> Reviewed by: delphij, markm Approved by: secteam(delphij) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D20466
|
#
7f166c93 |
|
23-May-2019 |
Colin Percival <cperciva@FreeBSD.org> |
Use ACPI SPCR on x86 This takes the SPCR code currently in uart_cpu_arm64.c, moves it into a new uart_cpu_acpi.c (with some associated refactoring), and uses it from both arm64 and x86. An SPCR serial port address AccessWidth field value of 0 ("reserved") is now treated as 1 ("byte access") in order to work around a buggy SPCR table on Amazon EC2 i3.metal instances. Reviewed by: manu, Greg V MFC after: 3 days Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D20357
|
#
bac5ec96 |
|
19-May-2019 |
Ian Lepore <ian@FreeBSD.org> |
Add common support functions for USB devices configured via FDT data. FDT data is sometimes used to configure usb devices which are hardwired into an embedded system. Because the devices are instantiated by the usb enumeration process rather than by ofwbus iterating through the fdt data, it is somewhat difficult for a usb driver to locate fdt data that belongs to it. In the past, various ad-hoc methods have been used, which can lead to errors such applying configuration that should apply only to a hardwired device onto a similar device attached by the user at runtime. For example, if the user adds an ethernet device that uses the same driver as the builtin ethernet, both devices might end up with the same MAC address. These changes add a new usb_fdt_get_node() helper function that a driver can use to locate FDT data that belongs to a single unique instance of the device. This function locates the proper FDT data using the mechanism detailed in the standard "usb-device.txt" binding document [1]. There is also a new usb_fdt_get_mac_addr() function, used to retrieve the mac address for a given device instance from the fdt data. It uses usb_fdt_get_node() to locate the right node in the FDT data, and attempts to obtain the mac-address or local-mac-address property (in that order, the same as linux does it). The existing if_smsc driver is modified to use the new functions, both as an example and for testing the new functions. Rpi and rpi2 boards use this driver and provide the mac address via the fdt data. [1] https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/usb/usb-device.txt Differential Revision: https://reviews.freebsd.org/D20262
|
#
7a582e53 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove xe(4) Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
02fae06a |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove wb(4) Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
be345ff0 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove txp(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
b1b1c2fe |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove tx(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
7c897ca9 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove tl(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
90089841 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove sn(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
3b70dd81 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove sf(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
607790d1 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove pcn(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
dd262716 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove fe(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
3ee01a13 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove ex(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
e153ee66 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove ep(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
05aa6e58 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove ed(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
08ac01a9 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove de(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
e1edf124 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Remove cs(4). Relnotes: yes FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D20230
|
#
3b2324c3 |
|
08-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Initial version of Mellanox in-kernel firmware upgrade support. Submitted by: slavash@ MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
423530be |
|
08-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for Dynamic Interrupt Moderation, DIM, in mlx5en(4). Add support for DIM based on Linux, with some minor adaptions specific to FreeBSD. Linux commit f97c3dc3c0e8d23a5c4357d182afeef4c67f5c33 MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
251a32b5 |
|
07-May-2019 |
Kyle Evans <kevans@FreeBSD.org> |
tun/tap: merge and rename to `tuntap` tun(4) and tap(4) share the same general management interface and have a lot in common. Bugs exist in tap(4) that have been fixed in tun(4), and vice-versa. Let's reduce the maintenance requirements by merging them together and using flags to differentiate between the three interface types (tun, tap, vmnet). This fixes a couple of tap(4)/vmnet(4) issues right out of the gate: - tap devices may no longer be destroyed while they're open [0] - VIMAGE issues already addressed in tun by kp [0] emaste had removed an easy-panic-button in r240938 due to devdrn blocking. A naive glance over this leads me to believe that this isn't quite complete -- destroy_devl will only block while executing d_* functions, but doesn't block the device from being destroyed while a process has it open. The latter is the intent of the condvar in tun, so this is "fixed" (for certain definitions of the word -- it wasn't really broken in tap, it just wasn't quite ideal). ifconfig(8) also grew the ability to map an interface name to a kld, so that `ifconfig {tun,tap}0` can continue to autoload the correct module, and `ifconfig vmnet0 create` will now autoload the correct module. This is a low overhead addition. (MFC commentary) This may get MFC'd if many bugs in tun(4)/tap(4) are discovered after this, and how critical they are. Changes after this are likely easily MFC'd without taking this merge, but the merge will be easier. I have no plans to do this MFC as of now. Reviewed by: bcr (manpages), tuexen (testing, syzkaller/packetdrill) Input also from: melifaro Relnotes: yes Differential Revision: https://reviews.freebsd.org/D20044
|
#
6b97c2e3 |
|
19-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Revert r346410 and r346411 libkern in .PATH has too many filename conflicts with libc and my -DNO_CLEAN tinderbox didn't catch that ahead of time. Mea culpa.
|
#
7deb4b19 |
|
19-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
libkern: Bring in arc4random_uniform(9) from libc It is a useful arc4random wrapper in the kernel for much the same reasons as in userspace. Move the source to libkern (because kernel build is restricted to sys/, but userspace can include any file it likes) and build kernel and libc versions from the same source file. Copy the documentation from arc4random_uniform(3) to the section 9 page. While here, add missing arc4random_buf(9) symlink. Sponsored by: Dell EMC Isilon
|
#
9a4eed0b |
|
17-Apr-2019 |
Emmanuel Vadot <manu@FreeBSD.org> |
ofw_graph: Add functions for graph bindings Those functions are helpers to work on graph bindings. graphs are mostly use with video related devices. See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/graph.txt?id=4436a3711e3249840e0679e92d3c951bcaf25515 MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D19877
|
#
499d565a |
|
17-Apr-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Compile sha1.c when ether support is included sha1 is used by ether_gen_addr after r346324. Perhaps in an ideal world we could detect that the kernel's been compiled without sha1_* bits included and silently fallback to arc4random instead because these platforms/kernel configs are far and few between. It's fairly lightweight, though, so just include it for now.
|
#
924f8189 |
|
16-Apr-2019 |
Kyle Evans <kevans@FreeBSD.org> |
fdt: further consolidate DTB building and revise manpage FDT_DTS_FILE was built separately with a rule in sys/conf/files and recreated the rules we used in dtb.mk. Now that we have other infrastructure to build a DTB along with the kernel, fold FDT_DTS_FILE into that since it doesn't have any special requirements. fdt(4) never got revised to mention the DTS/DTSO make options, so do that now. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D19736
|
#
b0fefb25 |
|
02-Apr-2019 |
Marcin Wojtas <mw@FreeBSD.org> |
Create kernel module to parse Veriexec manifest based on envs The current approach of injecting manifest into mac_veriexec is to verify the integrity of it in userspace (veriexec (8)) and pass its entries into kernel using a char device (/dev/veriexec). This requires verifying root partition integrity in loader, for example by using memory disk and checking its hash. Otherwise if rootfs is compromised an attacker could inject their own data. This patch introduces an option to parse manifest in kernel based on envs. The loader sets manifest path and digest. EVENTHANDLER is used to launch the module right after the rootfs is mounted. It has to be done this way, since one might want to verify integrity of the init file. This means that manifest is required to be present on the root partition. Note that the envs have to be set right before boot to make sure that no one can spoof them. Submitted by: Kornel Duleba <mindal@semihalf.com> Reviewed by: sjg Obtained from: Semihalf Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D19281
|
#
154c6ffd |
|
02-Apr-2019 |
Alexander Motin <mav@FreeBSD.org> |
Build NVMe CAM transport unrelated to NVMe SIM. Before this I suppose it was impossible load CAM-based NVMe as module. Plus this appeared to be needed to build r345815 without NVMe driver. MFC after: 2 weeks
|
#
91a3f358 |
|
24-Mar-2019 |
Ian Lepore <ian@FreeBSD.org> |
Support device-independent labels for geom_flashmap slices. While geom_flashmap has always supported label names for its slices, it does so by appending "s.labelname" to the provider device name, meaning you still have to know the name and unit of the hardware device to use the labels. These changes add support for device-independent geom_flashmap labels, using the standard geom_label infrastructure. geom_flashmap now creates a softc struct attached to its geom, and as it creates slices it stores the label into an array in the softc. The new geom_label_flashmap uses those labels when tasting a geom_flashmap provider. Differential Revision: https://reviews.freebsd.org/D19535
|
#
123af6ec |
|
20-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
Rename fuse(4) to fusefs(4) This makes it more consistent with other filesystems, which all end in "fs", and more consistent with its mount helper, which is already named "mount_fusefs". Reviewed by: cem, rgrimes MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19649
|
#
d18c1f26 |
|
19-Mar-2019 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Reapply r345274 with build fixes for 32-bit architectures. Update NAT64LSN implementation: o most of data structures and relations were modified to be able support large number of translation states. Now each supported protocol can use full ports range. Ports groups now are belongs to IPv4 alias addresses, not hosts. Each ports group can keep several states chunks. This is controlled with new `states_chunks` config option. States chunks allow to have several translation states for single alias address and port, but for different destination addresses. o by default all hash tables now use jenkins hash. o ConcurrencyKit and epoch(9) is used to make NAT64LSN lockless on fast path. o one NAT64LSN instance now can be used to handle several IPv6 prefixes, special prefix "::" value should be used for this purpose when instance is created. o due to modified internal data structures relations, the socket opcode that does states listing was changed. Obtained from: Yandex LLC MFC after: 1 month Sponsored by: Yandex LLC
|
#
d6369c2d |
|
18-Mar-2019 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Revert r345274. It appears that not all 32-bit architectures have necessary CK primitives.
|
#
d7a1cf06 |
|
17-Mar-2019 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Update NAT64LSN implementation: o most of data structures and relations were modified to be able support large number of translation states. Now each supported protocol can use full ports range. Ports groups now are belongs to IPv4 alias addresses, not hosts. Each ports group can keep several states chunks. This is controlled with new `states_chunks` config option. States chunks allow to have several translation states for single alias address and port, but for different destination addresses. o by default all hash tables now use jenkins hash. o ConcurrencyKit and epoch(9) is used to make NAT64LSN lockless on fast path. o one NAT64LSN instance now can be used to handle several IPv6 prefixes, special prefix "::" value should be used for this purpose when instance is created. o due to modified internal data structures relations, the socket opcode that does states listing was changed. Obtained from: Yandex LLC MFC after: 1 month Sponsored by: Yandex LLC
|
#
5c04f73e |
|
18-Mar-2019 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add NAT64 CLAT implementation as defined in RFC6877. CLAT is customer-side translator that algorithmically translates 1:1 private IPv4 addresses to global IPv6 addresses, and vice versa. It is implemented as part of ipfw_nat64 kernel module. When module is loaded or compiled into the kernel, it registers "nat64clat" external action. External action named instance can be created using `create` command and then used in ipfw rules. The create command accepts two IPv6 prefixes `plat_prefix` and `clat_prefix`. If plat_prefix is ommitted, IPv6 NAT64 Well-Known prefix 64:ff9b::/96 will be used. # ipfw nat64clat CLAT create clat_prefix SRC_PFX plat_prefix DST_PFX # ipfw add nat64clat CLAT ip4 from IPv4_PFX to any out # ipfw add nat64clat CLAT ip6 from DST_PFX to SRC_PFX in Obtained from: Yandex LLC Submitted by: Boris N. Lytochkin MFC after: 1 month Relnotes: yes Sponsored by: Yandex LLC
|
#
4a21f4c6 |
|
13-Mar-2019 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4/5/6 firmwares to 1.23.0.0. Obtained from: Chelsio Communications MFC after: 1 month Sponsored by: Chelsio Communications
|
#
b02af3b2 |
|
06-Mar-2019 |
Matt Macy <mmacy@FreeBSD.org> |
Add build time GPL warning when GCOV is enabled MFC after: 1 week
|
#
8f400ec4 |
|
26-Feb-2019 |
Ian Lepore <ian@FreeBSD.org> |
Compile fdt_slicer and geom_flashmap when the at45d device is included.
|
#
e8643b01 |
|
26-Feb-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Modularize xz. Embedded lzma decompression library becomes a module usable by other consumers, in addition to geom_uzip. Most important code changes are - removal of XZ_DEC_SINGLE define, we need the code to work with XZ_DEC_DYNALLOC; - xz_crc32_init() call is removed from geom_uzip, xz module handles initialization on its own. xz is no longer embedded into geom_uzip, instead the depend line for the module is provided, and corresponding kernel option is added to each MIPS kernel config file using geom_uzip. The commit also carries unrelated cleanup by removing excess "device geom_uzip" in places which were missed in r344479. Reviewed by: cem, hselasky, ray, slavash (previous versions) Sponsored by: Mellanox Technologies Differential revision: https://reviews.freebsd.org/D19266 MFC after: 3 weeks
|
#
5426539c |
|
23-Feb-2019 |
Matt Macy <mmacy@FreeBSD.org> |
gcov support add gcov support and export results as files in debugfs Reviewed by: hps@ MFC after: 1 week Sponsored by: iX Systems Differential Revision: https://reviews.freebsd.org/D19260
|
#
d09131e0 |
|
21-Feb-2019 |
Bruce Evans <bde@FreeBSD.org> |
Connect the restored dumb and sc terminal emulators to the kernel build. Add or fix options to control static and dynamic configuration. Keep the default of scteken, but default to statically configuring all available emulators (now 3 instead of 1). The dumb emulator is almost usable. libedit and libreadline handle dumb terminals perfectly for at least shell history. less(1) works as well as possible except on exit. But curses programs make messes. The dumb emulator has strange color support, with 2 dumb colors for normal output but fancy colorization for the cursor, mouse pointer and (with a non-dumb initial emulator) for low-level console output. Using the sc emulator instead of the default of scteken fixes at least the following bugs: - NUL is a printing character in cons25 but not in teken - teken doesn't support fixed colors for "reverse" video. - The best versions of sc are about 10 times faster than scteken (for printing to the frame buffer). This version is only about 5 times faster. Fix configuration features: - make SC_DFLT_TERM (for setting the initial emulator) a normal option. Add configuration features: - negative options SC_NO_TERM_* for omitting emulators in the static config. Modules for emulators might work, but I don't know of any - vidcontrol -e shows the available emulators - vidcontrol -E <emulator> sets the active emulator.
|
#
61ebc359 |
|
21-Feb-2019 |
Bruce Evans <bde@FreeBSD.org> |
Move scterm_teken.c from 6 MD files lists to the MI files list so that it is easier to configure. It is MI, unlike some of the other syscons files already in the MI list. Move scvtb.c similarly. It is needed whenever sc is configured, and is more MI than most of the files already in the MI list. This only changes the combined list for arm64 and mips. These arches already cannot build sc or even NOTES.
|
#
1809ef78 |
|
20-Feb-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Implement rangesets. The data structure implements non-intersecting intervals over the [0, UINT64_MAX] range, and supports fast insert, predicated clearing of subrange, and lookup of an interval containing the specified address. Internally it is a pctrie over the interval start addresses. Implementation provides additional guarantees over the structure state in case of memory allocation failures. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D18893
|
#
dfd8e45a |
|
19-Feb-2019 |
Warner Losh <imp@FreeBSD.org> |
Remove the i915 and radeon drivers. Per discussions on arch@ and elsewhere, the maintenance of this code has moved to the drm-kmod and drm-legacy-kmod ports. Remove the i915 and radeon drivers from the tree. Approved by: graphics team Reviewed by: manu@, mmel@ Differential Revision: https://reviews.freebsd.org/D19196
|
#
669fd68e |
|
19-Feb-2019 |
Warner Losh <imp@FreeBSD.org> |
Per discussions on arch@ and elsewhere, retire drm module / drives. Retire the drm modules / drivers. These are now handled by the drm-legacy-kmod port and/or the drm-kmod port. All future development and maintanace will be handled there. Approved by: graphics team Reviewed by: manu@, mmel@ Differential Revision: https://reviews.freebsd.org/D19196
|
#
a99bc4c3 |
|
14-Feb-2019 |
Sean Eric Fagan <sef@FreeBSD.org> |
Add CBC-MAC authentication. This adds the CBC-MAC code to the kernel, but does not hook it up to anything (that comes in the next commit). https://tools.ietf.org/html/rfc3610 describes the algorithm. Note that this is a software-only implementation, which means it is fairly slow. Sponsored by: iXsystems Inc Differential Revision: https://reviews.freebsd.org/D18592
|
#
74a083d6 |
|
11-Feb-2019 |
Michael Tuexen <tuexen@FreeBSD.org> |
Fix flags used when compiling kern_kcov.c and subr_coverage.c. Without this fix, the usage of kernel coverage would lockup the system. Thanks to Andrew for suggesting the final form of the fix. PR: 235611 Reviewed by: andrew@, emaste@ Differential Revision: https://reviews.freebsd.org/D19135
|
#
2d01f2de |
|
04-Feb-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Only enable trace-cmp on Clang and modern GCC. It's was only added to GCC 8.1 so don't try to enable it for earlier releases. Reported by: lwhsu Sponsored by: DARPA, AFRL
|
#
c75f49f7 |
|
31-Jan-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Make iflib a loadable module. iflib is already a module, but it is unconditionally compiled into the kernel. There are drivers which do not need iflib(4), and there are situations where somebody might not want iflib in kernel because of using the corresponding driver as module. Reviewed by: marius Discussed with: erj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D19041
|
#
524553f5 |
|
29-Jan-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Extract the coverage sanitizer KPI to a new file. This will allow multiple consumers of the coverage data to be compiled into the kernel together. The only requirement is only one can be registered at a given point in time, however it is expected they will only register when the coverage data is needed. A new kernel conflig option COVERAGE is added. This will allow kcov to become a module that can be loaded as needed, or compiled into the kernel. While here clean up the #include style a little. Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D18955
|
#
b3c0d957 |
|
12-Jan-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Add support for the Clang Coverage Sanitizer in the kernel (KCOV). When building with KCOV enabled the compiler will insert function calls to probes allowing us to trace the execution of the kernel from userspace. These probes are on function entry (trace-pc) and on comparison operations (trace-cmp). Userspace can enable the use of these probes on a single kernel thread with an ioctl interface. It can allocate space for the probe with KIOSETBUFSIZE, then mmap the allocated buffer and enable tracing with KIOENABLE, with the trace mode being passed in as the int argument. When complete KIODISABLE is used to disable tracing. The first item in the buffer is the number of trace event that have happened. Userspace can write 0 to this to reset the tracing, and is expected to do so on first use. The format of the buffer depends on the trace mode. When in PC tracing just the return address of the probe is stored. Under comparison tracing the comparison type, the two arguments, and the return address are traced. The former method uses on entry per trace event, while the later uses 4. As such they are incompatible so only a single mode may be enabled. KCOV is expected to help fuzzing the kernel, and while in development has already found a number of issues. It is required for the syzkaller system call fuzzer [1]. Other kernel fuzzers could also make use of it, either with the current interface, or by extending it with new modes. A man page is currently being worked on and is expected to be committed soon, however having the code in the kernel now is useful for other developers to use. [1] https://github.com/google/syzkaller Submitted by: Mitchell Horne <mhorne063@gmail.com> (Earlier version) Reviewed by: kib Testing by: tuexen Sponsored by: DARPA, AFRL Sponsored by: The FreeBSD Foundation (Mitchell Horne) Differential Revision: https://reviews.freebsd.org/D14599
|
#
1dbb72e9 |
|
02-Jan-2019 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
Refresh sys/conf/files after recent rtwn(4) update. MFC after: 4 days
|
#
0e4a3d93 |
|
18-Dec-2018 |
Mark Johnston <markj@FreeBSD.org> |
Remove a use of a negative array index from fxp(4). This fixes a warning seen when compiling amd64 GENERIC with clang 7. Also remove the workaround added in r337324. clang 7 and gcc 4.2 generate the same code with or without the code change. Reviewed by: imp (previous version) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D18603
|
#
2091650b |
|
12-Dec-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
fdt: Add support for simple-mfd bus Quoting the binding Documentation : "These devices comprise a nexus for heterogeneous hardware blocks containing more than one non-unique yet varying hardware functionality." Reviewed by: loos Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D17751
|
#
9312900f |
|
12-Dec-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
Add a pwm subsystem so we can configure pwm controller from kernel and userland. The pwm subsystem consist of API for PWM controllers, pwmbus to register them and a pwm(8) utility to talk to them from userland. Reviewed by: oshgobo (capsicum), bcr (manpage), 0mp (manpage) Differential Revision: https://reviews.freebsd.org/D17938
|
#
b9e0c8c2 |
|
12-Dec-2018 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Add NETGRAPH_CHECKSUM. MFC after: 1 week
|
#
8a886978 |
|
05-Dec-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix LINT build after r341572. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
b6e66be2 |
|
05-Dec-2018 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: align codebase to the current upstream (760279cfb2730a585) Changelist: - Replace netmap passthrough host support with a more general mechanism to call TXSYNC/RXSYNC from an in-kernel event-loop. No kernel threads are used to use this feature: the application is required to spawn a thread (or a process) and issue a SYNC_KLOOP_START (NIOCCTRL) command in the thread body. The kernel loop is executed by the ioctl implementation, which returns to userspace only when a different thread calls SYNC_KLOOP_STOP or the netmap file descriptor is closed. - Update the if_ptnet driver to cope with the new data structures, and prune all the obsolete ptnetmap code. - Add support for "null" netmap ports, useful to allocate netmap_if, netmap_ring and netmap buffers to be used by specialized applications (e.g. hypervisors). TXSYNC/RXSYNC on these ports have no effect. - Various fixes and code refactoring. Sponsored by: Sunny Valley Networks Differential Revision: https://reviews.freebsd.org/D18015
|
#
9dae3b52 |
|
04-Dec-2018 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
altq: manual cleanup after r341507 Remove a file that became practically empty. Fix indentation. Like r341507, I do not plan to MFC, but anyone else can.
|
#
04f9b8a1 |
|
01-Dec-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
Add Silergy SYR827 PMIC driver SYR827 is a PMIC that can output a voltage from 0.7125V to 1.5V in 12.5mV steps It's controlled via I2C. MFC after: 1 month
|
#
78afed13 |
|
28-Nov-2018 |
John Baldwin <jhb@FreeBSD.org> |
Move CLIP table handling out of TOM and into the base driver. - Store the clip table in 'struct adapter' instead of in the TOM softc. - Init the clip table during attach and teardown during detach. - While here, add a dev.<nexus>.<unit>.misc.clip sysctl to dump the CLIP table. This does mean that we update the clip table even if TOE is not enabled, but non-TOE things need the CLIP table anyway. Reviewed by: np, Krishnamraju Eraparaju @ Chelsio Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D18010
|
#
70bfe7f7 |
|
26-Nov-2018 |
Mark Murray <markm@FreeBSD.org> |
Add dependency to allow if_muge device to be only ethernet device in stripped-down RPI3 kernel.
|
#
f9f020a4 |
|
23-Nov-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
Derive PHY class to new one specialized for USB PHY functions. Submitted by: mmel
|
#
c7a20141 |
|
19-Nov-2018 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4/5/6 firmwares to 1.22.0.3. Obtained from: Chelsio Communications MFC after: 2 months Sponsored by: Chelsio Communications
|
#
4ea56599 |
|
06-Nov-2018 |
Andrew Turner <andrew@FreeBSD.org> |
Port the NetBSD ubsan runtime to the FreeBSD kernel. This allows us to build the ubsan code added in r340189 into the kernel with the KUBSAN option. This will report when undefined behaviour is detected in the currently running kernel. As it can be large, the kernel is 65MB on arm64, loader may not be able to load the kernel on all architectures so is disabled by default for now. Sponsored by: DARPA, AFRL
|
#
24b6d871 |
|
26-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Redo r339563: Remove joy(4) driver. This driver was marked as gone in 12. We're at 13 now. Remove it. Data from nycbug's dmesg cache shows only one potential user, suggesting it never was used much. However, even though this device has been obsolete for 15 years at least, sys/joystick.h is included in a number of graphics packages still, so that remains. A full exprun is needed before that can be removed. RelNotes: yes Differential Revision: https://reviews.freebsd.org/D17629
|
#
7c320a22 |
|
25-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Revert r339563. I held the mistaken belief this was completely unused. While the driver is unused and likely not relevant for a long time, sys/joystick.h lives on in maybe half a dozen ports, even though hardware to use it hasn't been widely used in maybe 15 years.
|
#
2a7db7a6 |
|
23-Oct-2018 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: align codebase to the current upstream (sha 8374e1a7e6941) Changelist: - Move large parts of VALE code to a new file and header netmap_bdg.[ch]. This is useful to reuse the code within upcoming projects. - Improvements and bug fixes to pipes and monitors. - Introduce nm_os_onattach(), nm_os_onenter() and nm_os_onexit() to handle differences between FreeBSD and Linux. - Introduce some new helper functions to handle more host rings and fake rings (netmap_all_rings(), netmap_real_rings(), ...) - Added new sysctl to enable/disable hw checksum in emulated netmap mode. - nm_inject: add support for NS_MOREFRAG Approved by: gnn (mentor) Differential Revision: https://reviews.freebsd.org/D17364
|
#
0f743729 |
|
22-Oct-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Update to Zstandard 1.3.7 Relnotes: yes Sponsored by: Dell EMC Isilon
|
#
6a186782 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove the ncr(4) drive. This driver has been obsolete since the FreeBSD 4.x. It should have been removed then since the sym(4) driver had subsumed it. The driver was commented out of GENERIC in 2000. RelNotes: Yes
|
#
49a93324 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove stg(4) driver stg(4) is marked as gone in 12. Remove it. There are no sightings of it in the nycbug dmesg database. It was for an obscure SCSI card that sold mostly in Japan, and was especially popilar among pc98 hackers in the 4.x time frame. It was also only enabled on i386. Relnote: Yes
|
#
08204c2c |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove nsp(4) driver nsp(4) is marked as gone in 12. Remove it. There are no sightings of it in the nycbug dmesg database. It was for an obscure SCSI card that sold mostly in Japan, and was especially popilar among pc98 hackers in the 4.x time frame. It was also only enabled on i386. Relnote: Yes
|
#
2dfd3588 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove ncv(4) driver ncv(4) is marked as gone in 12. Remove it. There are no sightings of it in the nycbug dmesg database. It was for an obscure SCSI card that sold mostly in Japan, and was especially popilar among pc98 hackers in the 4.x time frame.. Relnote: Yes
|
#
e9b5375b |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Retire dpt(4) Marked as gone in 12 and not relevant since the early 90s. No sightings in nycbug's dmesg database. Relnotes: yes
|
#
a1db7455 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove bt(4) driver The buslogic scsi driver has been tagged as gone in 12 for some time now. Remove it. The nycbug dmesg database shows only one sighting in 6 for this driver. It was very popular in the early days of the project, but that popularity seems to have died by 2004 when the nycbug database started up. Relnotes: yes
|
#
43b16da8 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove adv(4) and adw(4) Remove the advanssy drivers (both adv and adw). They were tagged as gone in 12 a while qgo. The nycbug dmesg database shows this was last seen in 6 and there were only a few adv sightings then (none for adw). Relnotes: yes
|
#
c24bd33d |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove aic(4) driver aic was marked to be gone in 12 a while ago. Go ahead and remove it. nycbug's dmesg database shows this was last seen in 6 and one more time in 4.x. It never was popular, and what popularity it had was over before the nycbug databse got going in 2004. Relnotes: yes
|
#
39c362e0 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove aha(4) from the tree. We tagged aha as gone in 12 a while ago. Proceed with its removal. Data from nycbug's database shows the last sighting of this driver in 6, with the prior one in 4.x show its popularity had died prior to 4.x. Relnotes: yes
|
#
33a54d77 |
|
21-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove joy(4) driver. This driver was marked as gone in 12. We're at 13 now. Remove it. Data from nycbug's dmesg cache shows only one potential user, suggesting it never was used much. RelNotes: yes Differential Revision: https://reviews.freebsd.org/D17629
|
#
a3609b82 |
|
21-Oct-2018 |
Andrew Turner <andrew@FreeBSD.org> |
Split out the virtio mmio FDT attachment and add an ACPI attachment. This allows the memory mapped I/O virtio driver to attach when we boot with ACPI tables, for example in some cases with QEMU emulating arm64. MFC after: 1 month
|
#
3f102f58 |
|
11-Oct-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
Provide string functions for use before ifuncs get resolved. The change is a no-op for architectures which don't ifunc memset, memcpy nor memmove. Convert places which need them. Xen bits by royger. Reviewed by: kib Approved by: re (gjb) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17487
|
#
a8e3f99e |
|
27-Sep-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: implement memcmp in assembly Both the in-kernel C variant and libc asm variant have very poor performance. The former compiles to a single byte comparison loop, which breaks down even for small sizes. The latter uses rep cmpsq/b which turn out to have very poor throughput and are slower than a hand-coded 32-byte comparison loop. Depending on size this is about 3-4 times faster than the current routines. Reviewed by: kib Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D17328
|
#
19fa89e9 |
|
25-Aug-2018 |
Mark Murray <markm@FreeBSD.org> |
Remove the Yarrow PRNG algorithm option in accordance with due notice given in random(4). This includes updating of the relevant man pages, and no-longer-used harvesting parameters. Ensure that the pseudo-unit-test still does something useful, now also with the "other" algorithm instead of Yarrow. PR: 230870 Reviewed by: cem Approved by: so(delphij,gtetlow) Approved by: re(marius) Differential Revision: https://reviews.freebsd.org/D16898
|
#
592ffb21 |
|
23-Aug-2018 |
Warner Losh <imp@FreeBSD.org> |
Revert drm2 removal. Revert r338177, r338176, r338175, r338174, r338172 After long consultations with re@, core members and mmacy, revert these changes. Followup changes will be made to mark them as deprecated and prent a message about where to find the up-to-date driver. Followup commits will be made to make this clear in the installer. Followup commits to reduce POLA in ways we're still exploring. It's anticipated that after the freeze, this will be removed in 13-current (with the residual of the drm2 code copied to sys/arm/dev/drm2 for the TEGRA port's use w/o the intel or radeon drivers). Due to the impending freeze, there was no formal core vote for this. I've been talking to different core members all day, as well as Matt Macey and Glen Barber. Nobody is completely happy, all are grudgingly going along with this. Work is in progress to mitigate the negative effects as much as possible. Requested by: re@ (gjb, rgrimes)
|
#
92c15132 |
|
21-Aug-2018 |
Matt Macy <mmacy@FreeBSD.org> |
r338172 follow - remove firmwares
|
#
b14b0078 |
|
21-Aug-2018 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add muge(4) to the arm64 GENERIC kernel muge(4) is the USB ethernet adapter that is used in RPi 3B+. Shipping it in GENERIC kernel allows using NFS root out of the box instead of either building custom kernel or modifying loader.conf for early loading of if_muge.ko No objections: emaste
|
#
01d5de8f |
|
16-Aug-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Add xform-conforming auth_hash wrapper for Poly-1305 The wrapper is a thin shim around libsodium's Poly-1305 implementation. For now, we just use the C algorithm and do not attempt to build the SSE-optimized variant for x86 processors. The algorithm support has not yet been plumbed through cryptodev, or added to cryptosoft.
|
#
20a3cbe1 |
|
12-Aug-2018 |
Matt Macy <mmacy@FreeBSD.org> |
fix static ZFS linking Static linking of ZFS is a newish option and LINT doesn't include it
|
#
fc63c661 |
|
04-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Put in a temporary workaround for strange array access in if_fxp.c.
|
#
b5988450 |
|
01-Aug-2018 |
Ravi Pokala <rpokala@FreeBSD.org> |
Remove jedec_ts(4) The jedec_ts(4) driver has been marked as deprecated in stable/11, and is now being removed from -HEAD. Add a notice in UPDATING, and update the few remaining references (regarding jedec_dimm(4)'s compatibility and history) to reflect the fact that jedec_ts(4) is now deleted. Reviewed by: avg Relnotes: yes Differential Revision: https://reviews.freebsd.org/D16537
|
#
cfe196fb |
|
31-Jul-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
nvmem: Add nvmem interface and helpers The nvmem interface helps provider of nvmem data to expose themselves to consumer. NVMEM is generally present on some embedded board in a form of eeprom or fuses. The nvmem api are helpers for consumer to read/write the cell data from a provider. Differential Revision: https://reviews.freebsd.org/D16419
|
#
58d5c511 |
|
27-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove Atmel AT91RM9200 and AT91SAM9 support. The last known robust version of this code base was FreeBSD 8.2. There are no users of this on current, and all users of it have abandoned this platform or are in legacy mode with a prior version of FreeBSD. All known users on arm@ approved this removal, and there were no objections. Differential Revision: https://reviews.freebsd.org/D16312
|
#
3496c981 |
|
19-Jul-2018 |
Ian Lepore <ian@FreeBSD.org> |
Make it possible to run ntpd as a non-root user, add ntpd uid and gid. Code analysis and runtime analysis using truss(8) indicate that the only privileged operations performed by ntpd are adjusting system time, and (re-)binding to privileged UDP port 123. These changes add a new mac(4) policy module, mac_ntpd(4), which grants just those privileges to any process running with uid 123. This also adds a new user and group, ntpd:ntpd, (uid:gid 123:123), and makes them the owner of the /var/db/ntp directory, so that it can be used as a location where the non-privileged daemon can write files such as the driftfile, and any optional logfile or stats files. Because there are so many ways to configure ntpd, the question of how to configure it to run without root privs can be a bit complex, so that will be addressed in a separate commit. These changes are just what's required to grant the limited subset of privs to ntpd, and the small change to ntpd to prevent it from exiting with an error if running as non-root. Differential Revision: https://reviews.freebsd.org/D16281
|
#
b575d8c8 |
|
17-Jul-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Refactor access to CR-space into using VSC APIs in mlx5core. Remove no longer used files and APIs. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
25bc561e |
|
13-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
There's two files in the sys tree named inflate.c, in addition to it being a common name elsewhere. Rename the old kzip one to subr_inflate.c. This actually fixes the build issues on sparc64 that my inclusion of .PATH ${SYSDIR}/kern created in r336244, so also revert the broken workaround I committed in r336249. This slipped passed me because apparently, I never did a clean build.
|
#
52379d36 |
|
13-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Create helper functions for parsing boot args. boot_parse_arg to parse a single arg boot_parse_cmdline to parse a command line string boot_parse_args to parse all the args in a vector boot_howto_to_env Convert howto bits to env vars boot_env_to_howto Return howto mask mased on what's set in the environment. All these routines return an int that's the bitmask of the args translated to RB_* flags. As a special case, the 'S' flag sets the comconsole_speed env var. Any arg that looks like a=b will set the env key 'a' to value 'b'. If =b is omitted, 'a' is set to '1'. This should help us reduce the number of redundant copies of these routines in the tree. It should also give a more uniform experience between platforms. Also, invent a new flag RB_PROBE that's set when 'P' is parsed. On x86 + BIOS, this means 'probe for the keyboard, and if it's not there set both RB_MULTIPLE and RB_SERIAL (which means show the output on both video and serial consoles, but make serial primary). Others it may be some similar concept of probing, but it's loader dependent what, exactly, it means. These routines are suitable for /boot/loader and/or the kernel, though they may not be suitable for the tightly hand-rolled-for-space environments like boot2. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D16205
|
#
2d7e9271 |
|
11-Jul-2018 |
Ian Lepore <ian@FreeBSD.org> |
Add various spi devices to NOTES. Add some required options for building the cqspi and n25q drivers.
|
#
96744f02 |
|
05-Jul-2018 |
Sean Bruno <sbruno@FreeBSD.org> |
Make ZSTD a real option via ZSTDIO. It looks like the intent was to allow ZSTD support to be compiled into the kernel with options ZSTDIO. But it doesn't look like that was ever implemented or I'm missing how to do it. I did a cursory audit of kernel config files and made a decision to enable ZSTDIO in riscv GENERIC and mips MALTA configurations. All other kernel configurations already had this option in their kernel configs but they didn't do anything useful as the feature was declared as "standard" prior to this. Reviewed by: cem allanjude Differential Revision: https://reviews.freebsd.org/D16007
|
#
fb47a376 |
|
19-Jun-2018 |
Stephen J. Kiernan <stevek@FreeBSD.org> |
MAC/veriexec implements a verified execution environment using the MAC framework. The code is organized into a few distinct pieces: * The meta-data store (in veriexec_metadata.c) which maps a file system identifier, file identifier, and generation key tuple to veriexec meta-data record. * Fingerprint management (in veriexec_fingerprint.c) which deals with calculating the cryptographic hash for a file and verifying it. It also manages the loadable fingerprint modules. * MAC policy implementation (in mac_veriexec.c) which implements the following MAC methods: mpo_init Initializes the veriexec state, meta-data store, fingerprint modules, and registers mount and unmount EVENTHANDLERs mpo_syscall Implements the following per-policy system calls: MAC_VERIEXEC_CHECK_FD_SYSCALL Check a file descriptor to see if the referenced file has a valid fingerprint. MAC_VERIEXEC_CHECK_PATH_SYSCALL Check a path to see if the referenced file has a valid fingerprint. mpo_kld_check_load Check if loading a kld is allowed. This checks if the referenced vnode has a valid fingerprint. mpo_mount_destroy_label Clears the veriexec slot data in a mount point label. mpo_mount_init_label Initializes the veriexec slot data in a mount point label. The file system identifier is saved in the veriexec slot data. mpo_priv_check Check if a process is allowed to write to /dev/kmem and /dev/mem devices. If a process is flagged as trusted, it is allowed to write. mpo_proc_check_debug Check if a process is allowed to be debugged. If a process is not flagged with VERIEXEC_NOTRACE, then debugging is allowed. mpo_vnode_check_exec Check is an exectuable is allowed to run. If veriexec is not enforcing or the executable has a valid fingerprint, then it is allowed to run. NOTE: veriexec will complain about mismatched fingerprints if it is active, regardless of the state of the enforcement. mpo_vnode_check_open Check is a file is allowed to be opened. If verification was not requested, veriexec is not enforcing, or the file has a valid fingerprint, then veriexec will allow the file to be opened. mpo_vnode_copy_label Copies the veriexec slot data from one label to another. mpo_vnode_destroy_label Clears the veriexec slot data in a vnode label. mpo_vnode_init_label Initializes the veriexec slot data in a vnode label. The fingerprint status for the file is stored in the veriexec slot data. * Some sysctls, under security.mac.veriexec, for setting debug level, fetching the current state in a human-readable form, and dumping the fingerprint database are implemented. * The MAC policy implementation source file also contains some utility functions. * A set of fingerprint modules for the following cryptographic hash algorithms: RIPEMD-160, SHA1, SHA2-256, SHA2-384, SHA2-512 * Loadable module builds for MAC/veriexec and fingerprint modules. WARNING: Using veriexec with NFS (or other network-based) file systems is not recommended as one cannot guarantee the integrity of the files served, nor the uniqueness of file system identifiers which are used as key in the meta-data store. Reviewed by: ian, jtl Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D8554
|
#
2dae2a74 |
|
31-May-2018 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Add code to deal with the chip's source MAC table (aka SMT). Submitted by: Krishnamraju Eraparaju @ Chelsio Sponsored by: Chelsio Communications
|
#
38535d6c |
|
29-May-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for hardware rate limiting to mlx5en(4). The hardware rate limiting feature is enabled by the RATELIMIT kernel option. Please refer to ifconfig(8) and the txrtlmt option and the SO_MAX_PACING_RATE set socket option for more information. This feature is compatible with hardware transmit send offload, TSO. A set of sysctl(8) knobs under dev.mce.<N>.rate_limit are provided to setup the ratelimit table and also to fine tune various rate limit related parameters. Sponsored by: Mellanox Technologies
|
#
cccc969b |
|
18-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Silence non-actionable warnings in vendor code We can't modify vendor code so there's no signal in warnings from it. Similarly -Waddress-of-packed-member is not useful on networking code as access to packed structures is fundamental to its operation.
|
#
3dc87e52 |
|
17-May-2018 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add a "multifunction" device side USB template, which provides mass storage, CDC ACM (serial), and CDC ECM (ethernet) at the same time. It's quite similar in function to Linux' "g_multi" gadget. Reviewed by: hselasky@ MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation
|
#
6f78fad3 |
|
17-May-2018 |
Sean Bruno <sbruno@FreeBSD.org> |
Retire vxge(4). This driver was merged to HEAD one week prior to Exar publicly announcing they had left the Ethernet market. It is not known to be used and has various code quality issues spotted by Brooks and Hiren. Retire it in preparation for FreeBSD 12.0. Submitted by: kbowling Reviewed by: brooks imp Relnotes: yes Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D15442
|
#
e757cb8e |
|
15-May-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add new USB HID driver for Super Nintendo gamepads. Differential Revision: https://reviews.freebsd.org/D15385 Submitted by: johalun@gmail.com (Johannes Lundberg) Sponsored by: Mellanox Technologies
|
#
09f6ff4f |
|
11-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
iflib(9): Add support for cloning pseudo interfaces Part 3 of many ... The VPC framework relies heavily on cloning pseudo interfaces (vmnics, vpc switch, vcpswitch port, hostif, vxlan if, etc). This pulls in that piece. Some ancillary changes get pulled in as a side effect. Reviewed by: shurd@ Approved by: sbruno@ Sponsored by: Joyent, Inc. Differential Revision: https://reviews.freebsd.org/D15347
|
#
06bf2a6a |
|
10-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Add simple preempt safe epoch API Read locking is over used in the kernel to guarantee liveness. This API makes it easy to provide livenes guarantees without atomics. Includes epoch_test kernel module to stress test the API. Documentation will follow initial use case. Test case and improvements to preemption handling in response to discussion with mjg@ Reviewed by: imp@, shurd@ Approved by: sbruno@
|
#
57b49365 |
|
08-May-2018 |
Sean Bruno <sbruno@FreeBSD.org> |
nxge(4): Remove nxge(4) and associated man page and tools in FreeBSD 12.0. Submitted by: kbowling Reviewed by: brooks Relnotes: yes Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D1529
|
#
e5054602 |
|
05-May-2018 |
Mark Johnston <markj@FreeBSD.org> |
Import the netdump client code. This is a component of a system which lets the kernel dump core to a remote host after a panic, rather than to a local storage device. The server component is available in the ports tree. netdump is particularly useful on diskless systems. The netdump(4) man page contains some details describing the protocol. Support for configuring netdump will be added to dumpon(8) in a future commit. To use netdump, the kernel must have been compiled with the NETDUMP option. The initial revision of netdump was written by Darrell Anderson and was integrated into Sandvine's OS, from which this version was derived. Reviewed by: bdrewery, cem (earlier versions), julian, sbruno MFC after: 1 month X-MFC note: use a spare field in struct ifnet Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D15253
|
#
b6f2c452 |
|
05-May-2018 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update all firmwares to 1.19.1.0. These firmwares and the following list of changes are from the public ChelsioUwire-3.7.1.0 release. T6 Firmware ================================================================================ Version : 1.19.1.0 Date : 04/23/2018 ================================================================================ Fixes ----- BASE: - Fixed traffic stall when rate-limit is modified while running traffic. - Fixes a firmware crash in FW_ETH_TX_EO_WR handling. - Fixes host DCB support when FW_PORT_CMD is used. ETH: - Exit Auto-Negotiation if we don't receive base page from peer within 10s. This fixes some cases where in we keep on restarting auto negotiation without ever exiting, resulting in link failure. - Fixes an issue where VF packets counter were not increasing if VF packets coalesced WR is used by driver. OFLD: - Kernel and user mode NVMEoF performance enhancements. FOiSCSI: - Fixes fw crash when trying to connect to non-existence IPv6 iSNS target. ================================================================================ Version : 1.18.9.0 Date : 03/27/2018 ================================================================================ Fixes ----- BASE: - For Ethernet frames less than 64B, pad them with zero bytes as per IEEE spec (RFC 894). - Added a new parameter iqtype to FW_IQ_CMD to identify the ingress NIC or offload queues. This fixes an issue where driver was receiving interrupt with no new messages in queue. - FW_PARAMS_CMD processes all the valaid paramaters and returns value 0UL for any unknown parameter. OFLD: - Fixes connection failure during SRQ reuse. - Fixes incorrect cqe in case of WRITE with immediate operation. FOiSCSI: - Fixes a fw crash when wrong node-id is passed to FW_FOISCSI_CTRL_WR. FOFCoE: - Fixes a fw hang while creating NPIV. Enhancements ------------ ETH: - A new WR FW_ETH_TX_PKTS_VM_WR added to support VM packet coalescing. ================================================================================ Version : 1.18.4.0 Date : 02/28/2018 ================================================================================ Fixes ----- BASE: - Fixed Rate limiting not working for 101Mbps<=rate limit<=163Mbps range. - Fixed starting more than 32 VMs on PF4 causing firmware hang. ETH: - Fixed link failure due to FEC mismatch with optics. - Fixed link failure with link toggle stress tests. - Only BaseR FEC is supported for 50G. - Fixed a bug in next page handling which sometimes causes link down. - Fixed port down due to failre to read eeprom contents of some modules. - Fixed a bug causing adapter to fail with spider configuration. FOiSCSI: - Fixed a bug causing login failure when connecting to multiple targets. Enhancements ------------ BASE: - Added a new firmware API to retrieve the maximum temperaturethreshold for the chip (FW_PARAM_DEV_DIAG_MAXTMPTHRESH). ETH: - Added support for user to contol pause negotiation during auto negotiation. FOiSCSI: - Added a new facility to redirect few fw events to offload rx queue (based on driver's configration) - Driver can ignore providing ipv6 prefix len during ipv6 address configuration. ================================================================================ Version : 1.17.14.0 Date : 12/27/2017 ================================================================================ FIXES ----- BASE: - Fixed an FLR failure during simulteneous power up of VM. - Fixed an issue in vlan acl which was limiting vlan range to 1024. ETH: - Enabled RS-FEC for 25G active copper cable and 25GBASE-SR. - When auto negotiation is enabled, final pause settings are resolved based on local and peer pause settings. - Handle NACK for an I2C access. OFLD - Fixed rdma connection cleanup in SO adpater. - Fixed rdma connections during read invalidate. - Fixed the crash when invalid BW rate is passed to fw. - Fixed the traffic hang when BW allocation is changed from switch during traffic. FOFCoE: - Fixed an issue where initiator remains logged-in even after LLDP is disabled on switch. ENHANCEMENTS ------------ BASE: - Added support for 248 VFs. - Added fw driver periodic calibration for MC. ETH: - Added XLAUI port type support. - Added raw mac entry deletion support (FW_VI_MAC_ID_BASED_FREE). OFLD: - Inline IPSec support added (flag F_FW_ULPTX_WR_DATA indicates the inline IPSec WR). - New work request FW_RI_RDMA_WRITE_CMPL_WR (write with completion) added to T5 Firmware ================================================================================ Version : 1.19.1.0 Date : 04/23/2018 ================================================================================ Fixes ----- BASE: - Fixes a firmware crash in FW_ETH_TX_EO_WR handling. - Fixes host DCB support when FW_PORT_CMD is used. ETH: - Fixes an issue where VF packets counter were not increasing if VF packets coalesced WR is used by driver. OFLD: - Fixes an issue where fw hangs if max traffic rate passed is 0. FOiSCSI: - Fixes fw crash when trying to connect to non-existence IPv6 iSNS target. ================================================================================ Version : 1.18.9.0 Date : 03/27/2018 ================================================================================ Fixes ----- BASE: - For Ethernet frames less than 64B, pad them with zero bytes as per IEEE spec (RFC 894). - Added a new parameter iqtype to FW_IQ_CMD to identify the ingress NIC or offload queues. This fixes an issue where driver was receiving interrupt with no new messages in queue. ETH: - Pad the Ethernet packets of size less than 64B with zeros. This fixes the incorrect checksum generation of packets less then 64B. FOiSCSI: - Fixes a fw crash when wrong node-id is passed to FW_FOISCSI_CTRL_WR. FOFCoE: - Fixes a fw hang while creating NPIV. Enhancements ------------ ETH: - A new WR FW_ETH_TX_PKTS_VM_WR added to support VM packet coalescing. ================================================================================ Version : 1.18.4.0 Date : 02/28/2018 ================================================================================ Fixes ----- BASE: - Fixed starting more than 32 VMs on PF4 causing firmware hang. FOiSCSI: - Fixed a bug causing login failure when connecting to multiple targets. Enhancements ------------ BASE: - Added a new firmware API to retrieve the maximum temperaturethreshold for the chip (FW_PARAM_DEV_DIAG_MAXTMPTHRESH). ETH: - Added support for user to contol pause negotiation during auto negotiation. FOiSCSI: - Added a new facility to redirect few fw events to offload rx queue (based on driver's configration) - Driver can ignore providing ipv6 prefix len during ipv6 address configuration. ================================================================================ Version : 1.17.14.0 Date : 12/27/2017 ================================================================================ FIXES ----- BASE: - Fixed an issue in vlan acl which was limiting vlan range to 1024. ETH: - Corrected lane inversion logic. - Fixed improper LED behavior in T580 cards. - When auto negotiation is enabled, final pause settings are resolved based on local and peer pause settings. - Handle NACK for an I2C access. OFLD - Fixed rdma connections during read invalidate. FOiSCSI: - Fixed a connections hang when link is toggled frequently. FOFCoE: - Fixed an issue where initiator remains logged-in even after LLDP is disabled on switch. ENHANCEMENTS ------------ BASE: - Added support for 124 VFs. ETH: - Added XLAUI port type support. - Added raw mac entry deletion support (FW_VI_MAC_ID_BASED_FREE). OFLD: - New work request FW_RI_RDMA_WRITE_CMPL_WR (write with completion) added to optimize NVMEoF write. T4 Firmware ================================================================================ Version : 1.19.1.0 Date : 04/23/2018 ================================================================================ Fixes ----- BASE: - Fixes a firmware crash in FW_ETH_TX_EO_WR handling. - Fixes host DCB support when FW_PORT_CMD is used. FOiSCSI: - Fixes fw crash when trying to connect to non-existence IPv6 iSNS target. ================================================================================ Version : 1.18.9.0 Date : 03/27/2018 ================================================================================ Fixes ----- BASE: - Added a new paramter iqtype to FW_IQ_CMD to identify the ingress NIC or offload queues. This fixes an issue where driver was receiving interrupt with no new messages in queue. FOFCoE: - Fixes a fw hang while creating NPIV. Enhancements ------------ ETH: - A new WR FW_ETH_TX_PKTS_VM_WR added to support VM packet coalescing. ================================================================================ Version : 1.18.4.0 Date : 02/28/2018 ================================================================================ Enhancements ------------ BASE: - Added a new firmware API to retrieve the maximum temperaturethreshold for the chip (FW_PARAM_DEV_DIAG_MAXTMPTHRESH). ================================================================================ Version : 1.17.14.0 Date : 12/27/2017 ================================================================================ FIXES ----- BASE: - Fixed an issue in vlan acl which was limiting vlan range to 1024. MFC after: 3 days Sponsored by: Chelsio Communications
|
#
2695c9c1 |
|
02-May-2018 |
Sean Bruno <sbruno@FreeBSD.org> |
Retire ixgb(4) This driver was for an early and uncommon legacy PCI 10GbE for a single ASIC, Intel 82597EX. Intel quickly shifted to the long lived ixgbe family. Submitted by: kbowling Reviewed by: brooks imp jeffrey.e.pieper@intel.com Relnotes: yes Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D15234
|
#
e1320420 |
|
01-May-2018 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Move all TCAM filter code into a separate file. Sponsored by: Chelsio Communications
|
#
e6a376d1 |
|
01-May-2018 |
Ed Maste <emaste@FreeBSD.org> |
Retire lmc(4) This driver supports legacy, 32-bit PCI devices, and had an ambiguous license. Supported devices were already reported to be rare in 2003 (when an earlier version of the driver was removed in r123201). Reviewed by: rgrimes Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D15245
|
#
eb69ed7f |
|
23-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for Cadence Quad SPI Flash Controller found on Intel® Arria® 10 SoC. Cadence Quad SPI Flash is not generic SPI controller, but SPI flash controller, so don't use spibus here, instead provide quad spi flash interface. Since it is not on spibus, then mx25l flash device driver is not usable here, so provide new n25q flash device driver with quad spi flash interface. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10245
|
#
3b8d52d3 |
|
20-Apr-2018 |
Conrad Meyer <cem@FreeBSD.org> |
blake2: Disable warnings (not just error) for code we will not modify Leave libb2 pristine and silence the warnings for mjg.
|
#
3ee9c3c4 |
|
19-Apr-2018 |
Randall Stewart <rrs@FreeBSD.org> |
This commit brings in the TCP high precision timer system (tcp_hpts). It is the forerunner/foundational work of bringing in both Rack and BBR which use hpts for pacing out packets. The feature is optional and requires the TCPHPTS option to be enabled before the feature will be active. TCP modules that use it must assure that the base component is compile in the kernel in which they are loaded. MFC after: Never Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D15020
|
#
a397def9 |
|
17-Apr-2018 |
Warner Losh <imp@FreeBSD.org> |
Add PNP info to the PCI attahement of the puc driver. Adjust sys/conf/files and sys/modules/puc/Makefile to omit pucdata.c now tht it's included by puc_pci.c. Submitted by: Lakhan Shiva Kamireddy (with build fixes by me) Pull Request: https://github.com/freebsd/freebsd/pull/136
|
#
3a4fc8a8 |
|
13-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Remove support for the Arcnet protocol. While Arcnet has some continued deployment in industrial controls, the lack of drivers for any of the PCI, USB, or PCIe NICs on the market suggests such users aren't running FreeBSD. Evidence in the PR database suggests that the cm(4) driver (our sole Arcnet NIC) was broken in 5.0 and has not worked since. PR: 182297 Reviewed by: jhibbits, vangyzen Relnotes: yes Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15057
|
#
8f89e7db |
|
13-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for Altera SoftDMA® device. SoftDMA is a software implementation of DMA engine built using Altera FIFO component. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9620
|
#
4be5a951 |
|
13-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for Altera modular Scatter-Gather DMA engine (mSGDMA). Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9619
|
#
c42f10a2 |
|
12-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for ARM PrimeCell PL330 DMA engine. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10201
|
#
3d5b3b0a |
|
12-Apr-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Tune xDMA interface slightly: o Move descriptors allocation to DMA engine driver o Add generic xdma_request() routine o Add less-generic scatter-gather application based on xdma interface Typical operation flow in peripheral device driver is: 1. Get xDMA controller sc->xdma_tx = xdma_ofw_get(sc->dev, "tx"); 2. Allocate virtual channel sc->xchan_tx = xdma_channel_alloc(sc->xdma_tx, caps); 3. Setup transfer status callback xdma_setup_intr(sc->xchan_tx, my_tx_intr, sc, &sc->ih_tx); 4. Request a transfer(s) ret = xdma_request(sc->xchan_tx, &req); 5. Free the channel xdma_channel_free(sc->xdma_tx); 6. Free the controller xdma_put(sc->xdma_tx); Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14971
|
#
2ff91c17 |
|
12-Apr-2018 |
Vincenzo Maffione <vmaffione@FreeBSD.org> |
netmap: align codebase to the current upstream (commit id 3fb001303718146) Changelist: - Turn tx_rings and rx_rings arrays into arrays of pointers to kring structs. This patch includes fixes for ixv, ixl, ix, re, cxgbe, iflib, vtnet and ptnet drivers to cope with the change. - Generalize the nm_config() callback to accept a struct containing many parameters. - Introduce NKR_FAKERING to support buffers sharing (used for netmap pipes) - Improved API for external VALE modules. - Various bug fixes and improvements to the netmap memory allocator, including support for externally (userspace) allocated memory. - Refactoring of netmap pipes: now linked rings share the same netmap buffers, with a separate set of kring pointers (rhead, rcur, rtail). Buffer swapping does not need to happen anymore. - Large refactoring of the control API towards an extensible solution; the goal is to allow the addition of more commands and extension of existing ones (with new options) without the need of hacks or the risk of running out of configuration space. A new NIOCCTRL ioctl has been added to handle all the requests of the new control API, which cover all the functionalities so far supported. The netmap API bumps from 11 to 12 with this patch. Full backward compatibility is provided for the old control command (NIOCREGIF), by means of a new netmap_legacy module. Many parts of the old netmap.h header has now been moved to netmap_legacy.h (included by netmap.h). Approved by: hrs (mentor)
|
#
0437c8e3 |
|
11-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Remove support for FDDI networks. Defines in net/if_media.h remain in case code copied from ifconfig is in use elsewere (supporting non-existant media type is harmless). Reviewed by: kib, jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15017
|
#
2967ace8 |
|
09-Apr-2018 |
Kyle Evans <kevans@FreeBSD.org> |
Retire the geom_aes class It's had a good life, but it's not really configurable and not really used. Obtained from: opBSD (with some changes) Differential Revision: https://reviews.freebsd.org/D14991
|
#
ef270ab1 |
|
30-Mar-2018 |
Kenneth D. Merry <ken@FreeBSD.org> |
Bring in the Broadcom/Emulex Fibre Channel driver, ocs_fc(4). The ocs_fc(4) driver supports the following hardware: Emulex 16/8G FC GEN 5 HBAS LPe15004 FC Host Bus Adapters LPe160XX FC Host Bus Adapters Emulex 32/16G FC GEN 6 HBAS LPe3100X FC Host Bus Adapters LPe3200X FC Host Bus Adapters The driver supports target and initiator mode, and also supports FC-Tape. Note that the driver only currently works on little endian platforms. It is only included in the module build for amd64 and i386, and in GENERIC on amd64 only. Submitted by: Ram Kishore Vegesna <ram.vegesna@broadcom.com> Reviewed by: mav MFC after: 5 days Relnotes: yes Sponsored by: Broadcom Differential Revision: https://reviews.freebsd.org/D11423
|
#
61590291 |
|
28-Mar-2018 |
Conrad Meyer <cem@FreeBSD.org> |
opencrypto: Integrate Chacha20 algorithm into OCF Mostly this is a thin shim around existing code to integrate with enc_xform and cryptosoft (+ cryptodev). Expand the cryptodev buffer used to match that of Chacha20's native block size as a performance enhancement for chacha20_xform_crypt_multi.
|
#
69f0fecb |
|
28-Mar-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Remove infrastructure for token-ring networks. Reviewed by: cem, imp, jhb, jmallett Relnotes: yes Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14875
|
#
6472fa9a |
|
28-Mar-2018 |
Eitan Adler <eadler@FreeBSD.org> |
[iwm] Add support for iwm 3168 cards ``` iwm0@pci0:5:0:0: class=0x028000 card=0x21108086 chip=0x24fb8086 rev=0x10 hdr=0x00 vendor = 'Intel Corporation' device = 'Dual Band Wireless-AC 3168NGW [Stone Peak]' class = network [94829] iwm0: <Intel(R) Dual Band Wireless AC 3168> mem 0xef700000-0xef701fff at device 0.0 on pci5 [94829] iwm0: hw rev 0x220, fw ver 22.361476.0, address 28:c6:3f:15:43:c5 ``` MFC After: 2 weeks Reviewed by: ivadasz (over IRC) PR: 224886 Differential Revision: https://reviews.freebsd.org/D14865
|
#
e24e5683 |
|
23-Mar-2018 |
Jonathan T. Looney <jtl@FreeBSD.org> |
Make the TCP blackbox code committed in r331347 be an optional feature controlled by the TCP_BLACKBOX option. Enable this as part of amd64 GENERIC. For now, leave it disabled on other platforms. Sponsored by: Netflix, Inc.
|
#
f20b553d |
|
23-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add mutual exclusion mechanism for software reset of firmware in mlx5core. Since the FW can be shared between PCI functions it is common that more than one health poll will detected a failure, this can lead to multiple resets. The solution is to use a FW locking mechanism using semaphore space to provide a way to synchronize between functions. The FW semaphore is acquired via config cycle access. First the VSEC gateway must be acquired, then the semaphore can be locked by writing a value to it and confirmed it's locked by reading the same value back. The process in the same to free the semaphore, except the value written should be zero. Submitted by: slavash@ MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
2529f56e |
|
22-Mar-2018 |
Jonathan T. Looney <jtl@FreeBSD.org> |
Add the "TCP Blackbox Recorder" which we discussed at the developer summits at BSDCan and BSDCam in 2017. The TCP Blackbox Recorder allows you to capture events on a TCP connection in a ring buffer. It stores metadata with the event. It optionally stores the TCP header associated with an event (if the event is associated with a packet) and also optionally stores information on the sockets. It supports setting a log ID on a TCP connection and using this to correlate multiple connections that share a common log ID. You can log connections in different modes. If you are doing a coordinated test with a particular connection, you may tell the system to put it in mode 4 (continuous dump). Or, if you just want to monitor for errors, you can put it in mode 1 (ring buffer) and dump all the ring buffers associated with the connection ID when we receive an error signal for that connection ID. You can set a default mode that will be applied to a particular ratio of incoming connections. You can also manually set a mode using a socket option. This commit includes only basic probes. rrs@ has added quite an abundance of probes in his TCP development work. He plans to commit those soon. There are user-space programs which we plan to commit as ports. These read the data from the log device and output pcapng files, and then let you analyze the data (and metadata) in the pcapng files. Reviewed by: gnn (previous version) Obtained from: Netflix, Inc. Relnotes: yes Differential Revision: https://reviews.freebsd.org/D11085
|
#
0e33efe4 |
|
21-Mar-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Import Blake2 algorithms (blake2b, blake2s) from libb2 The upstream repository is on github BLAKE2/libb2. Files landed in sys/contrib/libb2 are the unmodified upstream files, except for one difference: secure_zero_memory's contents have been replaced with explicit_bzero() only because the previous implementation broke powerpc link. Preferential use of explicit_bzero() is in progress upstream, so it is anticipated we will be able to drop this diff in the future. sys/crypto/blake2 contains the source files needed to port libb2 to our build system, a wrapped (limited) variant of the algorithm to match the API of our auth_transform softcrypto abstraction, incorporation into the Open Crypto Framework (OCF) cryptosoft(4) driver, as well as an x86 SSE/AVX accelerated OCF driver, blake2(4). Optimized variants of blake2 are compiled for a number of x86 machines (anything from SSE2 to AVX + XOP). On those machines, FPU context will need to be explicitly saved before using blake2(4)-provided algorithms directly. Use via cryptodev / OCF saves FPU state automatically, and use via the auth_transform softcrypto abstraction does not use FPU. The intent of the OCF driver is mostly to enable testing in userspace via /dev/crypto. ATF tests are added with published KAT test vectors to validate correctness. Reviewed by: jhb, markj Obtained from: github BLAKE2/libb2 Differential Revision: https://reviews.freebsd.org/D14662
|
#
e9ac2743 |
|
20-Mar-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Implement getrandom(2) and getentropy(3) The general idea here is to provide userspace programs with well-defined sources of entropy, in a fashion that doesn't require opening a new file descriptor (ulimits) or accessing paths (/dev/urandom may be restricted by chroot or capsicum). getrandom(2) is the more general API, and comes from the Linux world. Since our urandom and random devices are identical, the GRND_RANDOM flag is ignored. getentropy(3) is added as a compatibility shim for the OpenBSD API. truss(1) support is included. Tests for both system calls are provided. Coverage is believed to be at least as comprehensive as LTP getrandom(2) test coverage. Additionally, instructions for running the LTP tests directly against FreeBSD are provided in the "Test Plan" section of the Differential revision linked below. (They pass, of course.) PR: 194204 Reported by: David CARLIER <david.carlier AT hardenedbsd.org> Discussed with: cperciva, delphij, jhb, markj Relnotes: maybe Differential Revision: https://reviews.freebsd.org/D14500
|
#
27cb8d84 |
|
16-Mar-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Garbage collect unused chacha20 code Two copies of chacha20 were imported into the tree on Apr 15 2017 (r316982) and Apr 16 2017 (r317015). Only the latter is actually used by anything, so just go ahead and garbage collect the unused version while it's still only in CURRENT. I'm not making any judgement on which implementation is better. If I pulled the wrong one, feel free to swap the existing implementation out and replace it with the other code (conforming to the API that actually gets used in randomdev, of course). We only need one generic implementation. Sponsored by: Dell EMC Isilon
|
#
e808190a |
|
08-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add kernel and userspace code to dump the firmware state of supported ConnectX-4/5 devices in mlx5core. The dump is obtained by reading a predefined register map from the non-destructive crspace, accessible by the vendor-specific PCIe capability (VSC). The dump is stored in preallocated kernel memory and managed by the mlx5tool(8), which communicates with the driver using a character device node. The utility allows to store the dump in format <address> <value> into a file, to reset the dump content, and to manually initiate the dump. A call to mlx5_fwdump() should be added at the places where a dump must be fetched automatically. The most likely place is right before a firmware reset request. Submitted by: kib@ MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
4b95c665 |
|
08-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add vendor specific capability interface support in mlx5core. Add the ability to access the vendor specific space gateway in order to support reading and writing data into the different configuration domains. Submitted by: Matthew Finlay <matt@mellanox.com> MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
118063fb |
|
08-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for explicit congestion notification, ECN, to mlx5ib(4). ECN configuration and statistics is available through a set of sysctl(8) nodes under sys.class.infiniband.mlx5_X.cong . The ECN configuration nodes can also be used as loader tunables. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
5f8cd1c0 |
|
23-Feb-2018 |
Jeff Roberson <jeff@FreeBSD.org> |
Add a generic Proportional Integral Derivative (PID) controller algorithm and use it to regulate page daemon output. This provides much smoother and more responsive page daemon output, anticipating demand and avoiding pageout stalls by increasing the number of pages to match the workload. This is a reimplementation of work done by myself and mlaier at Isilon. Reviewed by: bsdimp Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon Differential Revision: https://reviews.freebsd.org/D14402
|
#
dcd935df |
|
22-Feb-2018 |
Ravi Pokala <rpokala@FreeBSD.org> |
jedec_dimm(4): report asset info and temperatures for DDR3 and DDR4 DIMMs A super-set of the functionality of jedec_ts(4). jedec_dimm(4) reports asset information (Part Number, Serial Number) encoded in the "Serial Presence Detect" (SPD) data on JEDEC DDR3 and DDR4 DIMMs. It also calculates and reports the memory capacity of the DIMM, in megabytes. If the DIMM includes a "Thermal Sensor On DIMM" (TSOD), the temperature is also reported. Reviewed by: cem MFC after: 1 week Relnotes: yes Sponsored by: Panasas Differential Revision: https://reviews.freebsd.org/D14392 Discussed with: avg, cem Tested by: avg, cem (previous version, no semantic changes)
|
#
0d787e9b |
|
22-Feb-2018 |
Wojciech Macek <wma@FreeBSD.org> |
NVMe: Add big-endian support Remove bitfields from defined structures as they are not portable. Instead use shift and mask macros in the driver and nvmecontrol application. NVMe is now working on powerpc64 host. Submitted by: Michal Stanek <mst@semihalf.com> Obtained from: Semihalf Reviewed by: imp, wma Sponsored by: IBM, QCM Technologies Differential revision: https://reviews.freebsd.org/D13916
|
#
6026dcd7 |
|
13-Feb-2018 |
Mark Johnston <markj@FreeBSD.org> |
Add support for zstd-compressed user and kernel core dumps. This works similarly to the existing gzip compression support, but zstd is typically faster and gives better compression ratios. Support for this functionality must be configured by adding ZSTDIO to one's kernel configuration file. dumpon(8)'s new -Z option is used to configure zstd compression for kernel dumps. savecore(8) now recognizes and saves zstd-compressed kernel dumps with a .zst extension. Submitted by: cem (original version) Relnotes: yes Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D13101, https://reviews.freebsd.org/D13633
|
#
33ec1ccb |
|
13-Feb-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Import the mthca kernel side infiniband driver from Linux 4.9 and fix compilation under FreeBSD. The mthca driver was temporarily removed as part of the Linux 4.9 RoCE/infinband upgrade. Top commit in Linux source tree: 69973b830859bc6529a7a0468ba0d80ee5117826 Sponsored by: Mellanox Technologies
|
#
e8a81142 |
|
12-Feb-2018 |
Landon J. Fuller <landonf@FreeBSD.org> |
bwn(4): Fix outstanding bug in PHY-G tssi2dbm table generation caught by -Wconstant-conversion, and remove now unnecessary warning suppression flags.
|
#
b99a6823 |
|
07-Feb-2018 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Rework ipfw dynamic states implementation to be lockless on fast path. o added struct ipfw_dyn_info that keeps all needed for ipfw_chk and for dynamic states implementation information; o added DYN_LOOKUP_NEEDED() macro that can be used to determine the need of new lookup of dynamic states; o ipfw_dyn_rule now becomes obsolete. Currently it used to pass information from kernel to userland only. o IPv4 and IPv6 states now described by different structures dyn_ipv4_state and dyn_ipv6_state; o IPv6 scope zones support is added; o ipfw(4) now depends from Concurrency Kit; o states are linked with "entry" field using CK_SLIST. This allows lockless lookup and protected by mutex modifications. o the "expired" SLIST field is used for states expiring. o struct dyn_data is used to keep generic information for both IPv4 and IPv6; o struct dyn_parent is used to keep O_LIMIT_PARENT information; o IPv4 and IPv6 states are stored in different hash tables; o O_LIMIT_PARENT states now are kept separately from O_LIMIT and O_KEEP_STATE states; o per-cpu dyn_hp pointers are used to implement hazard pointers and they prevent freeing states that are locklessly used by lookup threads; o mutexes to protect modification of lists in hash tables now kept in separate arrays. 65535 limit to maximum number of hash buckets now removed. o Separate lookup and install functions added for IPv4 and IPv6 states and for parent states. o By default now is used Jenkinks hash function. Obtained from: Yandex LLC MFC after: 42 days Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D12685
|
#
d177c199 |
|
05-Feb-2018 |
Landon J. Fuller <landonf@FreeBSD.org> |
bwn(4): migrate bwn(4) to the native bhnd(9) interface, and drop siba_bwn. - Remove the shim interface that allowed bwn(4) to use either siba_bwn or bhnd(4), replacing all siba_bwn calls with their bhnd(4) bus equivalents. - Drop the legay, now-unused siba_bwn bus driver. - Clean up bhnd(4) board flag defines referenced by bwn(4). Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D13518
|
#
90a48fba |
|
03-Feb-2018 |
Xin LI <delphij@FreeBSD.org> |
After r328426, g_label depends on UFS (option FFS) code to read UFS superblock, and the kernel will fail to link when UFS is not built in. This commit makes it depend on a small portion of FFS bits and thereby fixes build for this situation. This is intended as an interim bandaid, and the actual superblock reading code should probably be made independent of UFS, so we do not need to depend on it (see kib@'s comment in the review for details), and we will revisit this once the superblock check hashes are all in place. Differential Revision: https://reviews.freebsd.org/D14092
|
#
68f18f30 |
|
29-Jan-2018 |
Benno Rice <benno@FreeBSD.org> |
Remove some duplicated sys/conf/files* entries. net80211/ieee80211_ageq.c was present twice in sys/conf/files so leave the correctly sorted one. dev/wpi/if_wpi.c was present in sys/conf/files as well as sys/conf/files.amd64 and sys/conf/files.i386 so prefer the sys/conf/files entry. Reviewed by: allanjude, rstone
|
#
5823f6fb |
|
25-Jan-2018 |
Ruslan Bukin <br@FreeBSD.org> |
o Move sdhci_fdt to the generic files list. o Include Qualcomm EHCI and UART drivers to the build. Sponsored by: DARPA, AFRL
|
#
f8759fac |
|
20-Jan-2018 |
Michal Meloun <mmel@FreeBSD.org> |
Convert extres/phy to kobj model. Similarly as other extres pseudo-drivers, implement phy by using kobj model. This detaches it from provider device, so single device driver can export multiple different phys. Additionally, this allows phy to be subclassed to more specialized drivers, like is USB OTG phy, or PCIe phy with hot-plug capability. Tested by: manu (previous version, on Allwinner board) MFC after: 1 month
|
#
3f289c3f |
|
12-Jan-2018 |
Jeff Roberson <jeff@FreeBSD.org> |
Implement 'domainset', a cpuset based NUMA policy mechanism. This allows userspace to control NUMA policy administratively and programmatically. Implement domainset based iterators in the page layer. Remove the now legacy numa_* syscalls. Cleanup some header polution created by having seq.h in proc.h. Reviewed by: markj, kib Discussed with: alc Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon Differential Revision: https://reviews.freebsd.org/D13403
|
#
78f57a9c |
|
08-Jan-2018 |
Mark Johnston <markj@FreeBSD.org> |
Generalize the gzio API. We currently use a set of subroutines in kern_gzio.c to perform compression of user and kernel core dumps. In the interest of adding support for other compression algorithms (zstd) in this role without complicating the API consumers, add a simple compressor API which can be used to select an algorithm. Also change the (non-default) GZIO kernel option to not enable compressed user cores by default. It's not clear that such a default would be desirable with support for multiple algorithms implemented, and it's inconsistent in that it isn't applied to kernel dumps. Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D13632
|
#
d3692a4d |
|
08-Jan-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Integrate zstd into the kernel Mock userspace headers and include mocked headers first in compilation command to inject kernel headers and override e.g., malloc(3) with malloc(9). Submitted by: allanjude Reviewed by: imp (earlier version), bapt (earlier version) Differential Revision: https://reviews.freebsd.org/D10407
|
#
ae3d6bfa |
|
31-Dec-2017 |
Colin Percival <cperciva@FreeBSD.org> |
Connect kern_tslog.c to the build and add TSLOG / TSLOGSIZE kernel options. These are intended for debugging purposes and should not be added to "generic" kernel configurations since they result in a nontrivial amount of memory being set aside for this purpose, can break if kernel modules are unloaded, and can potentially leak a dangerous amount of information about timestamps used as a source of kernel entropy.
|
#
cd901504 |
|
25-Dec-2017 |
Michael Tuexen <tuexen@FreeBSD.org> |
When adding support for sending SCTP packets containing an ABORT chunk to ipfw in https://svnweb.freebsd.org/changeset/base/326233, a dependency on the SCTP stack was added to ipfw by accident. This was noted by Kevel Bowling in https://reviews.freebsd.org/D13594 where also a solution was suggested. This patch is based on Kevin's suggestion, but implements the required SCTP checksum computation without any dependency on other SCTP sources. While there, do some cleanups and improve comments. Thanks to Kevin Kevin Browling for reporting the issue and suggesting a fix.
|
#
cd04523f |
|
23-Dec-2017 |
Kyle Evans <kevans@FreeBSD.org> |
Move syscon into extres framework This should help reduce confusion between syscon/syscons a little bit. syscon is a resource generally modeled by FDT platforms, and not to be confused with syscons.
|
#
4d68f3da |
|
23-Dec-2017 |
Kyle Evans <kevans@FreeBSD.org> |
syscon: Introduce kobj and split out fdt bits Allow more flexibility by kobj'ifying syscon and splitting out fdt specific bits in preparation of a move to the extres framework. The generic fdt driver has been moved to syscon_generic.c and the fdt requirement has been removed from the syscon interface, as is common to the extres framework. Reviewed by: strejda Differential Revision: https://reviews.freebsd.org/D13521
|
#
c19c7afe |
|
20-Dec-2017 |
Eric Joyner <erj@FreeBSD.org> |
ixgbe(4): Convert driver to use iflib Initial update to the ixgbe PF and VF drivers to support the iflib interface. The PF driver version is bumped to 4.0.0, and the VF driver version is bumped to 2.0.0. Special thanks to sbruno@ for the support in helping make this conversion happen. Submitted by: Jeb Cramer <cramerj@intel.com>, Krzysztof Galazka (Chris) <krzysztof.galazka@intel.com>, Piotr Pietruszewski <piotr.pietruszewski@intel.com> Reviewed by: sbruno@, shurd@, #IntelNetworking Tested by: Jeffrey Pieper <jeffrey.e.pieper@intel.com>, Sergey Kozlov <kozlov.sergey.404@gmail.com> Sponsored by: Limelight Networks, Intel Corporation Differential Revision: https://reviews.freebsd.org/D11727
|
#
b9f5a3d3 |
|
11-Dec-2017 |
Kyle Evans <kevans@FreeBSD.org> |
Add generic 'syscon' driver Upstream dts for allwinner will require a syscon driver, since the emac node coming in 4.15 will be using xref to /soc/syscon for configuring the emac clock. Add a generic syscon driver to attach to /soc/syscon for use by if_awg, providing basic read/write functionality to consumers. syscon driver will also be used by arm64 at least for A64+H5 emac/if_awg. Written by: mmel Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D13295
|
#
8d14ca9c |
|
01-Dec-2017 |
Landon J. Fuller <landonf@FreeBSD.org> |
Introduce bwn(4) support for the bhnd(4) bus. Currently, bwn(4) relies on the siba_bwn(4) bus driver to provide support for the on-chip SSB interconnect found in Broadcom's older PCI(e) Wi-Fi adapters. Non-PCI Wi-Fi adapters, as well as the newer BCMA interconnect found in post-2009 Broadcom Wi-Fi hardware, are not supported by siba_bwn(4). The bhnd(4) bus driver (also used by the FreeBSD/MIPS Broadcom port) provides a unified kernel interface to a superset of the hardware supported by siba_bwn; by attaching bwn(4) via bhnd(4), we can support both modern PCI(e) Wi-Fi devices based on the BCMA backplane interconnect, as well as Broadcom MIPS WiSoCs that include a D11 MAC core directly attached to their SSB or BCMA backplane. This diff introduces opt-in bwn(4) support for bhnd(4) by providing: - A small bwn(4) driver subclass, if_bwn_bhnd, that attaches via bhnd(4) instead of siba_bwn(4). - A bhndb(4)-based PCI host bridge driver, if_bwn_pci, that optionally probes at a higher priority than the siba_bwn(4) PCI driver. - A set of compatibility shims that perform translation of bwn(4)'s siba_bwn function calls into their bhnd(9) API equivalents when bwn(4) is attached via a bhnd(4) bus parent. When bwn(4) is attached via siba_bwn(4), all siba_bwn function calls are simply passed through to their original implementations. To test bwn(4) with bhnd(4), place the following lines in loader.conf(5): hw.bwn_pci.preferred="1" if_bwn_pci_load="YES bwn_v4_ucode_load="YES" bwn_v4_lp_ucode_load="YES" To verify that bwn(4) is using bhnd(4), you can check dmesg: bwn0: <Broadcom 802.11 MAC/PHY/Radio, rev 15> ... on bhnd0 ... or devinfo(8): pcib2 pci2 bwn_pci0 bhndb0 bhnd0 bwn0 ... bwn(4)/bhnd(4) has been tested for regressions with most chipsets currently supported by bwn(4), including: - BCM4312 - BCM4318 - BCM4321 With minimal changes to the DMA code (not included in this commit), I was also able to test support for newer BCMA devices by bringing up basic working Wi-Fi on two previously unsupported, BCMA-based N-PHY chipsets: - BCM43224 - BCM43225 Approved by: adrian (mentor, implicit) Sponsored by: The FreeBSD Foundation & Plausible Labs Differential Revision: https://reviews.freebsd.org/D13041
|
#
2f909a9f |
|
22-Nov-2017 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): Add a basic ChipCommon GPIO driver sufficient to support bwn(4) The driver is functional on both BHND Wi-Fi adapters and MIPS SoCs, but does not currently include support for features not required by bwn(4), including GPIO interrupt handling. Approved by: adrian (mentor, implicit) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D12708
|
#
4e96bf3a |
|
22-Nov-2017 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): extend the PMU APIs to support bwn(4) The bwn(4) driver requires a number of extensions to the bhnd(4) PMU interface to support external configuration of PLLs, LDOs, and other parameters that require chipset or PHY-specific workarounds. These changes add support for: - Writing raw voltage register values to PHY-specific LDO regulator registers (required by LP-PHY). - Enabling/disabling PHY-specific LDOs (required by LP-PHY) - Writing to arbitrary PMU chipctrl registers (required for common PHY PLL reset support). - Requesting chipset/PLL-specific spurious signal avoidance modes. - Querying clock frequency and latency. Additionally, rather than updating legacy PWRCTL support to conform to the new PMU interface: - PWRCTL API is now provided by a bhnd_pwrctl_if.m interface. - Since PWRCTL is only found in older SSB-based chipsets, translation from bhnd(4) bus APIs to corresponding PWRCTL operations is now handled entirely within the siba(4) driver. - The PWRCTL-specific host bridge clock gating APIs in bhnd_bus_if.m have been lifted out into a standalone bhnd_pwrctl_hostb_if.m interface. Approved by: adrian (mentor, implicit) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D12664
|
#
a3dff126 |
|
21-Nov-2017 |
Andrew Turner <andrew@FreeBSD.org> |
Add a driver for the EFI RTC. This uses the EFI Runtime Services to query the system time. As we seem to only read this time on boot, and this is the only source of time on many arm64 machines we need to enable this by default there. As this is not always the case with U-Boot firmware, or when we have been booted from a non-UEFI environment we only enable the device driver when the Runtime Services are present and reading the time doesn't result in an error. PR: 212185 Reviewed by: imp, kib Tested by: emaste Relnotes: yes Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12650
|
#
c3191c2e |
|
15-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update the mlx4 core and mlx4en(4) modules towards Linux v4.9. Background: The coming ibcore update forces an update of mlx4ib(4) which in turn requires an updated mlx4 core module. This also affects the mlx4en(4) module because commonly used APIs are updated. This commit is a middle step updating the mlx4 modules towards the new ibcore. This change contains no major new features. Changes in mlx4: a) Improved error handling when mlx4 PCI devices are detached inside VMs. b) Major update of codebase towards Linux 4.9. Changes in mlx4ib(4): a) Minimal changes needed in order to compile using the updated mlx4 core APIs. Changes in mlx4en(4): a) Update flow steering code in mlx4en to use new APIs for registering MAC addresses and IP addresses. b) Update all statistics counters to be 64-bit. c) Minimal changes needed in order to compile using the updated mlx4 core APIs. Sponsored by: Mellanox Technologies MFC after: 1 week
|
#
8dee9a7a |
|
13-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Remove no longer supported mthca driver. Sponsored by: Mellanox Technologies
|
#
8cc48704 |
|
13-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update mlx4ib(4) to Linux 4.9. Sponsored by: Mellanox Technologies
|
#
8e6e287f |
|
10-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update mlx5ib(4) to match Linux 4.9 and the new ibcore APIs. Sponsored by: Mellanox Technologies
|
#
5a93b4cd |
|
10-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Refactor the flowsteering APIs used by mlx5en(4). This change is needed by the coming ibcore and mlx5ib updates in order to support traffic redirection to so-called raw ethernet QPs. Remove unused E-switch related routines and files while at it. Sponsored by: Mellanox Technologies MFC after: 1 week
|
#
be04c94e |
|
30-Oct-2017 |
Michael Zhilin <mizhka@FreeBSD.org> |
[i2c/clock] add support for EPSON RTC-8583 RTC-8583 is time-of-day clock used in some SOHO routers. This clock has only 2 bits for year values, but thanks to user SRAM it's possible to save year value and keep it up to date via driver code. Tested on Planex_MZK-W300NAG (SoC is RT2880) Submitted by: Hiroki Mori <yamori83@yahoo.co.jp> Differential Revision: https://reviews.freebsd.org/D12833
|
#
67696522 |
|
30-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Remove unnecessary C in .fwo file I accidentally made consistent MFC after: 1 month MFC with: r325122, r325124
|
#
986ab26f |
|
30-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Fix a bad copy-paste (8000C -> 8265) done in r325122 This fixes the clean rule for "device iwm8265fw". MFC after: 1 month MFC with: r325122
|
#
4c7aa20f |
|
30-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Fill in the blanks for iwm8265fw(4) rules, missed in r324434 Now using "device iwmfw" or "device iwm8265fw" in one's kernel configuration will potentially result in a working IWM8265 series wireless SoC. This is an alternative to the fix that was made in r324470 for `sys/modules/iwmfw`. MFC after: 1 month
|
#
ac04195b |
|
20-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Move swapout code into vm/vm_swapout.c. There is no NO_SWAPPING #ifdef left in the code. Requested by: alc Reviewed by: alc, markj Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D12663
|
#
39ed7f25 |
|
17-Oct-2017 |
Brooks Davis <brooks@FreeBSD.org> |
Remove mbpool(9) now that it has no consumers. mbpool existed to support NICs with memory interfaces and all remaining comsumers were removed earlier this year with NATM. Reviewed by: jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10513
|
#
714d3ee0 |
|
07-Oct-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T6, T5, and T4 firmwares to 1.16.63.0. Changes since 1.16.26.0 for all three firmwares are listed below. This list was obtained from the Release Notes of the Chelsio Unified Wire v3.5.05 release for Linux. T6 Firmware ++++++++++++ ================================================================================ Version : 1.16.63.0 Date : 09/29/2017 ================================================================================ Fixes ----- BASE: - Fixed a fw crash when configured traffic rate limit is less than 10kbps. - Fixed traffic rate limiting for smaller traffic rate value. ETH: - Fixed 40G link failure when interface is toggled. - Fixed adapter crash when interface is toggled during traffic. - Fixed 25G link failure when PEER only supports consortium mode autoneg for 25G. - Fixed 100G optics link failure when cable is plugged in after bringing up the interface. - Enable RS FEC as default if speed is 100G. - Fixed DCBX configuration refresh failure. OFLD - Fixed 0B iWARP ingress read failure. - Fixed iWARP SRQ reuse failure. FOiSCSI: - Fixed vlan interface ping failure. - Fixed target discovery failures. - Fixed mutual chap login failure. ================================================================================ Version : 1.16.59.0 Date : 09/05/2017 ================================================================================ FIXES ----- BASE: - Fixed fw crash caused by MC parity error in SO adapters. - Generate Timer0Int interrupt if fw crashes due to unaligned access error. Host driver must look into PCIE_FW register to see if any fw fatal error has encountered. If PCIE_FW doesn't indicate any error then driver must ignore this interrupt. - Fixed receive buffer threshold settings which was resulting in error frames on receive side. ETH: - Fixed an issue in connection traffic shaping when FLOWC_WR->FW_FLOWC_MNEM_SCHEDCLASS is not received in first WR on the connection. - Fixed link failure when speed is changed from 10G-1G-10G due to incorrect flag check. - Fixed improper LED behaviour for blink test and when traffic is running. - Removed storage of previous fec settings from fw. Driver needs to pass the user settings whenever a new module is plugged in as fw resets these when a module is unplugged. OFLD - OVS offload: TP cache is flushed periodically to get the accuate filters stats (hit count). ENHANCEMENTS ------------ BASE: - Ring backbone feature added. New FW_PARAMS_PARAM_DEV_RING_BACKBONE param type added to query and enable ring backbone support. - VNI support added for filtering. New entry_type FW_VI_MAC_TYPE_EXACTMAC_VNI added to FW_VI_MAC_CMD. - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. - FW_PARAMS_PARAM_DEV_TPCHMAP API added to read the port to channel mapping. - HMA (Host memory access) support added. New FW_HMA_CMD and FW_PARAMS_PARAM_DEV_HMA_SIZE added to query and configure the HMA. It enables the memfree support (256 connections) for iwarp. - PTP support enabled. ETH: - Added consortium mode 50G support. - Added the ability to allow only selected speeds to be advertised during auto negotiation. - Increased port capability from 16 to 32 bits to support more speeds. FW_PARAMS_PARAM_PFVF_PORT_CAPS32 added to query whether fw supports 16 or 32 bit port capability. OFLD: - RDMA Write with immediate support added (iwarp 2.0 feature) - FW_TLS_KEYCTX_TX_WR removed and security key management moved to driver. - 256 offloaded connections support for iwarp on SO adapters. iSCSI: - New param FW_PARAMS_PARAM_DEV_PPOD_EDRAM added for iscsi ppod configuration in EDRAM (performance improvement). FOiSCSI: - iSCSI Command offload target support added. FOFCoE: - FCoE support enabled. ================================================================================ Version : 1.16.43.0 Date : 05/05/2017 ================================================================================ FIXES ----- BASE: - Fixed default DCB mode to AUTO. - Fixed DCBX bugs when AUTO mode is configured in config file. - Fixed an issue where even after removing PFC from switch, PFC wasn't getting reset. - Fixed DDR3/DDR4 ECC errors. - Fixed an FLR issue where FLR completion was going to host before FLR processing is finished in fw. ETH: - Fixed bug in writing multi-bytes using i2c interface. - Fixed the link failure when optical cable is inserted into the QSA module after loading the driver. - Fixed false link up when peer interface was brought down. - Enabling RS FEC by default for 100Gbase-SR4 according to 802.3BJ standard. - Fixed bugs related to negotiated fec based local/peer fec ability and request. - Fixed auto-neg failure with few switches. - T6 Performance improvement fixes. OFLD - Fixed an extra credit issue if FW_RI_TYPE_FINI is delayed in fw due to backpressure. - Added a new queue type FW_IQ_TYPE_VF_CQ to handle the FW_PARAMS_PARAM_DMAQ* commands. queue type will be part of the FW_PARAMS_PARAM_DMAQ_IQ_INTIDX value. Used in guest RDMA (RDMA from VM/VF) usecase. - T6 Crypto Coprocessor mode bug fixes. - T6 Crypto TLS-inline mode bug fixes. ENHANCEMENTS ------------ BASE: - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. ETH: - Added broadcom consortium next page support for 25G CR. This can be enabled using flags=an_brcm option in the t6-config.txt file. - Added spider mode support. - Added support for 10G-BaseT converter sfp+ module. - Added support for additional 25G/100G cables. - Added support to enable/disable auto-neg using ethtool. ================================================================================ Version : 1.16.33.0 Date : 02/24/2017 ================================================================================ Fixes ----- BASE: - Fixed DDR4 uncorrectable errors. ETH: - Enabled link auto negotiation (AN) by default in config file. - Added AN and FEC control api. Host driver and application can enable/disable AN and FEC. ENHANCEMENTS ------------ BASE: - Enabled High priorty filter. - Added T6425 adapter support. ETH: - Added new workrequest ETH_TX_PKTS2_WR (see fw api document for more details). ================================================================================ Version : 1.16.29.0 Date : 01/27/2017 ================================================================================ FIXES ----- BASE: - Set multiple fec values only if AN is enabled in config file and when module is connected. - Fixed intermittent DDR3/4 ECC errors. - max number of ethctrl queue in VF set to 2 (reverted the last change because it causes problem in VF drivers). ETH: - Made devlog more verbose by printing cable information in redable form. - Updated AN settings to work with more 25G/100G switches. - Added support for more SFP28/QSFP28 cables. - Fixed an issue of link going down after few hours of idle time. OFLD: - Fixed an issue in TLS which was causing fw crash on running TLS traffic. FOiSCSI: - Fixed the failure of PXE boot OS install on an iscsi lun. ENHANCEMENTS ------------ OFLD: - Added filtering support for NAT. New WR FW_FILTER2_WR and FW_PARAMS_PARAM_DEV_FILTER2_WR added for the same. - Added RDMA guest mode (mode 3 or RDMA from VF) support. ================================================================================ T5 Firmware ++++++++++++ ================================================================================ Version : 1.16.63.0 Date : 09/29/2017 ================================================================================ Fixes ----- BASE: - Fixed offload memory overcommit in case of SO adapter. ETH: - Fixed DCBX configuration refresh failure. OFLD - Fixed 0B iWARP ingress read failure. FOiSCSI: - Fixed vlan interface ping failure. ================================================================================ Version : 1.16.59.0 Date : 09/05/2017 ================================================================================ FIXES ----- BASE: - Fixed an FLR issue which was causing error when VF attached VM was powered on. ETH: - Fixed an issue in connection traffic shaping when FLOWC_WR->FW_FLOWC_MNEM_SCHEDCLASS is not received in first WR on the connection. - Fixed link failure when speed is changed from 10G-1G-10G due to incorrect flag check. - Fixed T580 link failure with few switches which take more time for establishing link. ENHANCEMENTS ------------ BASE: - Ring backbone feature added. New FW_PARAMS_PARAM_DEV_RING_BACKBONE param type added to query and enable ring backbone support. - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. - FW_PARAMS_PARAM_DEV_TPCHMAP API added to read the port to channel mapping. FOiSCSI: - iSCSI Command offload target support added. ================================================================================ Version : 1.16.43.0 Date : 05/05/2017 ================================================================================ FIXES ----- BASE: - Fixed default DCB mode to AUTO. - Fixed DCBX bugs when AUTO mode is configured in config file. - Fixed an issue where even after removing PFC from switch, PFC wasn't getting reset. ETH: - Fixed bug in writing multi-bytes using i2c interface. - Fixed the link failure when optical cable is inserted into the QSA module after loading the driver. OFLD - Fixed an extra credit issue if FW_RI_TYPE_FINI is delayed in fw due to backpressure. - Added a new queue type FW_IQ_TYPE_VF_CQ to handle the FW_PARAMS_PARAM_DMAQ* commands. queue type will be part of the FW_PARAMS_PARAM_DMAQ_IQ_INTIDX value. Used in guest RDMA (RDMA from VM/VF) usecase. ENHANCEMENTS ------------ BASE: - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. ================================================================================ Version : 1.16.33.0 Date : 02/24/2017 ================================================================================ ENHANCEMENTS ------------ ETH: - Added new workrequest ETH_TX_PKTS2_WR (see fw api document for more details). ================================================================================ Version : 1.16.29.0 Date : 01/27/2017 ================================================================================ FIXES ----- BASE: - max number of ethctrl queue in VF set to 2 (reverted the last change because it causes problem in VF drivers). FOiSCSI: - Fixed the failure of PXE boot OS install on an iscsi lun. ENHANCEMENTS ------------ OFLD: - Added filtering support for NAT. New WR FW_FILTER2_WR and FW_PARAMS_PARAM_DEV_FILTER2_WR added for the same. - Added RDMA guest mode (mode 3 or RDMA from VF) support. ================================================================================ T4 Firmware +++++++++++ ================================================================================ Version : 1.16.63.0 Date : 09/29/2017 ================================================================================ Fixes ----- ETH: - Fixed DCBX configuration refresh failure. FOiSCSI: - Fixed vlan interface ping failure. ================================================================================ Version : 1.16.59.0 Date : 09/05/2017 ================================================================================ FIXES ----- ETH: - Fixed an issue in connection traffic shaping when FLOWC_WR->FW_FLOWC_MNEM_SCHEDCLASS is not received in first WR on the connection. ENHANCEMENTS ------------ BASE: - FW_PARAMS_PARAM_DEV_TPCHMAP API added to read the port to channel mapping. ================================================================================ Version : 1.16.43.0 Date : 05/05/2017 ================================================================================ FIXES ----- BASE: - Fixed default DCB mode to AUTO. - Fixed DCBX bugs when AUTO mode is configured in config file. - Fixed an issue where even after removing PFC from switch, PFC wasn't getting reset. ETH: - Fixed bug in writing multi-bytes using i2c interface. OFLD - Fixed an extra credit issue if FW_RI_TYPE_FINI is delayed in fw due to backpressure. - Added a new queue type FW_IQ_TYPE_VF_CQ to handle the FW_PARAMS_PARAM_DMAQ* commands. queue type will be part of the FW_PARAMS_PARAM_DMAQ_IQ_INTIDX value. Used in guest RDMA (RDMA from VM/VF) usecase. ENHANCEMENTS ------------ BASE: - Added new API FW_PARAM_PARAM_DEV_MPSBGMAP to read the priority to buffer group mapping for the ports. Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications
|
#
0e73a619 |
|
01-Oct-2017 |
Andrew Turner <andrew@FreeBSD.org> |
To prepare for adding EFI runtime services support on arm64 move the machine independent parts of the existing code to a new file that can be shared between amd64 and arm64. Reviewed by: kib (previous version), imp Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12434
|
#
437e74ba |
|
01-Oct-2017 |
Andriy Gapon <avg@FreeBSD.org> |
fix up r324163, MFV of r323530,r323533,r323534, 7431 ZFS Channel Programs Add several new files to the files enabled by ZFS kernel option. MFC after: 5 weeks X-MFC with: r324163
|
#
17f313e5 |
|
16-Sep-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix in-kernel build of ibcore module. Requested by: Sobczak, Bartosz <bartosz.sobczak@intel.com> Sponsored by: Mellanox Technologies
|
#
02c474b4 |
|
15-Sep-2017 |
Ilya Bakulin <kibab@FreeBSD.org> |
Miscellaneous fixes and improvements to MMCCAM stack * Demote the level of several debug messages to CAM_DEBUG_TRACE * Add detection for SDHC cards that can do 1.8V. No voltage switch sequence is issued yet; * Don't create a separate LUN for each SDIO function. We need just one to make pass(4) attach; * Remove obsolete mmc_sdio* files. SDIO functionality will be moved into the separate device that will manage a new sdio(4) bus; * Terminate probing if got no reply to CMD0; * Make bcm2835 SDHCI host controller driver compile with 'option MMCCAM'. Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D12109
|
#
be173360 |
|
12-Sep-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Leave the Cavium Liquid IO driver exist in files, not files.amd64 Submitted by: imp
|
#
e460f3ad |
|
12-Sep-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Do not try to build the Cavium Liquidio driver on all architechtures. For now, limit to amd64 only.
|
#
f173c2b7 |
|
12-Sep-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
The diff is the initial submission of Cavium Liquidio 2350/2360 10/25G Intelligent NIC driver. The submission conconsists of firmware binary file and driver sources. Submitted by: pkanneganti@cavium.com (Prasad V Kanneganti) Relnotes: Yes Sponsored by: Cavium Networks Differential Revision: https://reviews.freebsd.org/D11927
|
#
d87eabee |
|
09-Sep-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
revert r323371 in prepartion for a proper fix Submitted by: imp
|
#
141bf584 |
|
09-Sep-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
r323359 instroduced an ARMv8 only uart(4) device to the tree but placed the driver in a place where it will be built for all targets. x86 doesn't have all the required build bits for this device. Move the uart(4) device mvebu to arm64 only.
|
#
ac0770dd |
|
09-Sep-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Introduce UART driver module for Armada 3700 This patch adds support for UART in Armada 3700 family. It exposes both low-level UART interface, as well as standard driver methods. Submitted by: Patryk Duda <pdk@semihalf.com> Obtained from: Semihalf Sponsored by: Semihalf Differential Revision: https://reviews.freebsd.org/D12250
|
#
fc740a16 |
|
29-Aug-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T6/T5/T4 firmwares to 1.16.59.0. These firmwares come from a pre-release snapshot. The final firmwares in this Chelsio release cycle will likely be .61.0 or later and those will be the next "long lived" firmwares in FreeBSD head and stable branches. .59 is being provided in head (only) for wider test exposure. Obtained from: Chelsio Communications Sponsored by: Chelsio Communications
|
#
12515907 |
|
22-Aug-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add new mlx5ib(4) driver to the kernel source tree which supports Remote DMA over Converged Ethernet, RoCE, for the ConnectX-4 series of PCI express network cards. There is currently no user-space support and this driver only supports kernel side non-routable RoCE V1. The krping kernel module can be used to test this driver. Full user-space support including RoCE V2 will be added as part of the ongoing upgrade to ibcore from Linux 4.9. Otherwise this driver is feature equivalent to mlx4ib(4). The mlx5ib(4) kernel module will only be built when WITH_OFED=YES is specified. MFC after: 2 weeks Sponsored by: Mellanox Technologies
|
#
76136d20 |
|
19-Aug-2017 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Add support for generic MS Windows 7/8/10-compatible USB HID touchscreens found in many laptops. Reviewed by: hps, gonzo, bcr (manpages) Approved by: gonzo (mentor) Differential Revision: https://reviews.freebsd.org/D12017
|
#
03f55691 |
|
18-Aug-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Fix cut and paste typo that prevented T5 firmware to be compiled in. Reviewed by: np
|
#
90cff13c |
|
13-Aug-2017 |
Ian Lepore <ian@FreeBSD.org> |
Remove the old ds1374 driver and use the ds13rtc driver instead. Adjust several mips config files accordingly.
|
#
bb2e8108 |
|
13-Aug-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add a new driver, ds13rtc, that handles all DS13xx series i2c RTC chips. This driver supports only basic timekeeping functionality. It completely replaces the ds133x driver. It can also replace the ds1374 driver, but that will take a few other changes in MIPS code and config, and will be committed separately. It does NOT replace the existing ds1307 driver, which provides access to some of the extended features on the 1307 chip, such as controlling the square wave output signal. If both ds1307 and ds13rtc drivers are present, the ds1307 driver will outbid and win control of the device. This driver can be configured with FDT data, or by using hints on non-FDT systems. In addition to the standard hints for i2c devices, it requires a "chiptype" string of the form "dallas,ds13xx" where 'xx' is the chip id (i.e., the same format as FDT compat strings).
|
#
b96793ae |
|
07-Aug-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Add the T6 and T5 Unified Wire configuration files to the kernel, just like for T4, when the driver is compiled into the kernel. Reported by: mav@ MFC after: 3 days Sponsored by: Chelsio Communications
|
#
8a5d94f9 |
|
03-Aug-2017 |
Warner Losh <imp@FreeBSD.org> |
Make nvd vs nda choice boot-time rather than build-time Introduce hw.nvme.use_nvd tunable. This tunable allows both nvd and nda to be installed in the kernel, while allowing only one of them to create devices. This is an all-or-nothing setting, and you can't change it after boot-time. However, it will allow easier A/B testing. Differential Revision: https://reviews.freebsd.org/D11825
|
#
f856f099 |
|
03-Aug-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Initial import of the "collect" component of Chelsio unified debug (cudbg) code, hooked up to the main driver via an ioctl. The ioctl can be used to collect the chip's internal state in a compressed dump file. These dumps can be decoded with the "view" component of cudbg. Obtained from: Chelsio Communications MFC after: 2 months Sponsored by: Chelsio Communications
|
#
94759a24 |
|
31-Jul-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add a driver for the Intersil ISL12xx family of i2c RTC chips. Supports ISL1209, ISL1218, ISL1219, ISL1220, ISL1221 (just basic RTC functionality, not all the other fancy stuff the chips can do).
|
#
207fe81e |
|
29-Jul-2017 |
Ian Lepore <ian@FreeBSD.org> |
Replace the pcf8563 i2c RTC driver with a new nxprtc driver which handles all the chips in the NXP PCA212x and PCA/PCF85xx series. In addition to supporting more chips, this driver uses the countdown timer on the chips as a fractional seconds counter, giving it a resolution of about 15 milliseconds.
|
#
a94a63f0 |
|
09-Jul-2017 |
Warner Losh <imp@FreeBSD.org> |
An MMC/SD/SDIO stack using CAM Implement the MMC/SD/SDIO protocol within a CAM framework. CAM's flexible queueing will make it easier to write non-storage drivers than the legacy stack. SDIO drivers from both the kernel and as userland daemons are possible, though much of that functionality will come later. Some of the CAM integration isn't complete (there are sleeps in the device probe state machine, for example), but those minor issues can be improved in-tree more easily than out of tree and shouldn't gate progress on other fronts. Appologies to reviews if specific items have been overlooked. Submitted by: Ilya Bakulin Reviewed by: emaste, imp, mav, adrian, ian Differential Review: https://reviews.freebsd.org/D4761 merge with first commit, various compile hacks.
|
#
8eb6488e |
|
05-Jul-2017 |
Eric Joyner <erj@FreeBSD.org> |
ixgbe(4): Update HEAD (p3) to 3.2.12-k Includes: - Support for X550EM devices. - Support for Bypass adapters. - Flow Director code moved to separate files - SR-IOV code moved to separate files - Netmap code moved to separate files Differential Revision: https://reviews.freebsd.org/D11232 Submitted by: Jeb Cramer <cramerj@intel.com> Reviewed by: erj@ Tested by: Jeff Pieper <jeffrey.e.pieper@intel.com> Sponsored by: Intel Corporation
|
#
75ac55b8 |
|
28-Jun-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add iic_recover_bus.c. Should have been part of r320461.
|
#
9ea3e141 |
|
26-Jun-2017 |
Mark Johnston <markj@FreeBSD.org> |
Implement parts of the hrtimer API in the LinuxKPI. Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11359
|
#
d23db91e |
|
20-Jun-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: Add uninit_bg feature support. From the linux tune2fs(8) manpage: "Allow the kernel to initialize bitmaps and inode tables and keep a high watermark for the unused inodes in a filesystem, to reduce e2fsck(8) time. This first e2fsck run after enabling this feature will take the full time, but subsequent e2fsck runs will take only a fraction of the original time, depending on how full the file system is." Submitted by: Fedor Uporov Differential Revision: https://reviews.freebsd.org/D11211
|
#
b6803171 |
|
10-Jun-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add a driver for the Vitesse/Microsemi VSC8501 PHY.
|
#
7f153db8 |
|
10-Jun-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add some utility functions to help a PHY driver on an FDT-configured system retrieve its config data from the fdt data. The properties that are common to all phys are decoded and returned in a structure. The fdt node handles for the mac and phy devices are also returned in the config data struct, so a driver can easily obtain additional hardware-specific config values from the fdt data.
|
#
46565964 |
|
09-Jun-2017 |
Mark Johnston <markj@FreeBSD.org> |
Augment wait queue support in the LinuxKPI. In particular: - Don't evaluate event conditions with a sleepqueue lock held, since such code may attempt to acquire arbitrary locks. - Fix the return value for wait_event_interruptible() in the case that the wait is interrupted by a signal. - Implement wait_on_bit_timeout() and wait_on_atomic_t(). - Implement some functions used to test for pending signals. - Implement a number of wait_event_*() variants and unify the existing implementations. - Unify the mechanism used by wait_event_*() and schedule() to put the calling thread to sleep. This is required to support updated DRM drivers. Thanks to hselasky for finding and fixing a number of bugs in the original revision. Reviewed by: hselasky MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D10986
|
#
40373cf5 |
|
08-Jun-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove msdosfs -o large support. Its purpose was to translate the values for msdosfs inode numbers, which is calculated from the msdosfs structures describing the file, into the range representable by 32bit ino_t. The translation acted for filesystems larger than 128Gb, it reserved the range 0xf0000000 (FILENO_FIRST_DYN) to UINT32_MAX and remembered some arbitrary translation of ino >= FILENO_FIRST_DYN into this range. It consumed memory that could be only freed by unmount, and the translation was not stable across remounts. With ino_t type extended to 64 bit, there is no such issue and values can be returned without compaction to 32bit. That is, for the native environments, the translation layer is not necessary and adds significant undeserved code complexity. For compat ABIs which use 32bit ino_t, the vfs.ino64_trunc_error sysctl provides some measures to soften the failure mode when inode numbers truncation is not safe. Discussed with: bde Sponsored by: The FreeBSD Foundation
|
#
cd684dec |
|
04-Jun-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] Move Smart Fifo handling into if_iwm_sf.c, sync with Linux iwlwifi. * This change also fixes a possible issue in the existing smart-fifo code, which set the IWM_SF_CFG_DUMMY_NOTIF_OFF bit on AC8260 chipsets, although that's only used in iwlwifi for Family 8000 chipsets connected via SDIO interface. Obtained from: Dragonflybsd.git cb650b01526b0aeef3c4307d926e7f1428997d50
|
#
39999a69 |
|
28-May-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Support for linux ext2fs posix-draft ACLs. This is closely tied to the Extended Attribute implementation. Submitted by: Fedor Uporov Reviewed by: kevlo, pfg Differential Revision: https://reviews.freebsd.org/D10807
|
#
7c0cad38 |
|
23-May-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update the T4, T5, and T6 firmwares to 1.16.45.0. The latest firmware has a number of link related fixes, support for a new custom card, and the fix for a bug that affected rate limiting on FreeBSD. Obtained from: Chelsio Communications MFC after: 1 week Sponsored by: Chelsio Communications
|
#
9b8d05b8 |
|
22-May-2017 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Add support for Amazon Elastic Network Adapter (ENA) NIC ENA is a networking interface designed to make good use of modern CPU features and system architectures. The ENA device exposes a lightweight management interface with a minimal set of memory mapped registers and extendable command set through an Admin Queue. The driver supports a range of ENA devices, is link-speed independent (i.e., the same driver is used for 10GbE, 25GbE, 40GbE, etc.), and has a negotiated and extendable feature set. Some ENA devices support SR-IOV. This driver is used for both the SR-IOV Physical Function (PF) and Virtual Function (VF) devices. ENA devices enable high speed and low overhead network traffic processing by providing multiple Tx/Rx queue pairs (the maximum number is advertised by the device via the Admin Queue), a dedicated MSI-X interrupt vector per Tx/Rx queue pair, and CPU cacheline optimized data placement. The ENA driver supports industry standard TCP/IP offload features such as checksum offload and TCP transmit segmentation offload (TSO). Receive-side scaling (RSS) is supported for multi-core scaling. The ENA driver and its corresponding devices implement health monitoring mechanisms such as watchdog, enabling the device and driver to recover in a manner transparent to the application, as well as debug logs. Some of the ENA devices support a working mode called Low-latency Queue (LLQ), which saves several more microseconds. This feature will be implemented for driver in future releases. Submitted by: Michal Krawczyk <mk@semihalf.com> Jakub Palider <jpa@semihalf.com> Jan Medala <jan@semihalf.com> Obtained from: Semihalf Sponsored by: Amazon.com Inc. Differential revision: https://reviews.freebsd.org/D10427
|
#
5033c43b |
|
17-May-2017 |
John Baldwin <jhb@FreeBSD.org> |
Add a driver for the Chelsio T6 crypto accelerator engine. The ccr(4) driver supports use of the crypto accelerator engine on Chelsio T6 NICs in "lookaside" mode via the opencrypto framework. Currently, the driver supports AES-CBC, AES-CTR, AES-GCM, and AES-XTS cipher algorithms as well as the SHA1-HMAC, SHA2-256-HMAC, SHA2-384-HMAC, and SHA2-512-HMAC authentication algorithms. The driver also supports chaining one of AES-CBC, AES-CTR, or AES-XTS with an authentication algorithm for encrypt-then-authenticate operations. Note that this driver is still under active development and testing and may not yet be ready for production use. It does pass the tests in tests/sys/opencrypto with the exception that the AES-GCM implementation in the driver does not yet support requests with a zero byte payload. To use this driver currently, the "uwire" configuration must be used along with explicitly enabling support for lookaside crypto capabilities in the cxgbe(4) driver. These can be done by setting the following tunables before loading the cxgbe(4) driver: hw.cxgbe.config_file=uwire hw.cxgbe.cryptocaps_allowed=-1 MFC after: 1 month Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D10763
|
#
f48f6960 |
|
12-May-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] Factor out firmware station handling into if_iwm_sta.c. * This adds iwm_mvm_rm_sta(), which will be used to tear down firmware state for better/cleaner iwm_newstate() handling. * Makes iwm_enable_txq() and iwm_mvm_flush_tx_path() non-static, add the declarations to if_iwm_util.h for now. Obtained from: dragonflybsd.git 85d1c6190c4c3564b1a347f253e823aa95c202b2
|
#
554e6778 |
|
09-May-2017 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
hyperv/vmbus: Reorganize vmbus device tree For GEN1 Hyper-V, vmbus is attached to pcib0, which contains the resources for PCI passthrough and SR-IOV. There is no acpi_syscontainer0 on GEN1 Hyper-V. For GEN2 Hyper-V, vmbus is attached to acpi_syscontainer0, which contains the resources for PCI passthrough and SR-IOV. There is no pcib0 on GEN2 Hyper-V. The ACPI VMBUS device now only holds its _CRS, which is empty as of this commit; its existence is mainly for upward compatibility. Device tree structure is suggested by jhb@. Tested-by: dexuan@ Collabrated-wth: dexuan@ MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D10565
|
#
2204b427 |
|
02-May-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Support routines for Tx traffic scheduling. - Create a new file, t4_sched.c, and move all of the code related to traffic management from t4_main.c and t4_sge.c to this file. - Track both Channel Rate Limiter (ch_rl) and Class Rate Limiter (cl_rl) parameters in the PF driver. - Initialize all the cl_rl limiters with somewhat arbitrary default rates and provide routines to update them on the fly. - Provide routines to reserve and release traffic classes. MFC after: 1 month Sponsored by: Chelsio Communications
|
#
32455e89 |
|
27-Apr-2017 |
John Baldwin <jhb@FreeBSD.org> |
Revert r317446 and bring back cy(4). Requested by: bde
|
#
a63222db |
|
26-Apr-2017 |
John Baldwin <jhb@FreeBSD.org> |
Remove the cy(4) driver for Cyclades serial adapters. This driver has been disconnected from the build since the new tty layer was introduced in 8.0 and was never updated for new tty.
|
#
a7dc3128 |
|
24-Apr-2017 |
Brooks Davis <brooks@FreeBSD.org> |
Remove the NATM framework including the en(4), fatm(4), hatm(4), and patm(4) devices. Maintaining an address family and framework has real costs when we make infrastructure improvements. In the case of NATM we support no devices manufactured in the last 20 years and some will not even work in modern motherboards (some newer devices that patm(4) could be updated to support apparently exist, but we do not currently have support). With this change, support remains for some netgraph modules that don't require NATM support code. It is unclear if all these should remain, though ng_atmllc certainly stands alone. Note well: FreeBSD 11 supports NATM and will continue to do so until at least September 30, 2021. Improvements to the code in FreeBSD 11 are certainly welcome. Reviewed by: philip Approved by: harti
|
#
150890b0 |
|
16-Apr-2017 |
Mark Murray <markm@FreeBSD.org> |
Replace the RC4 algorithm for generating in-kernel secure random numbers with Chacha20. Keep the API, though, as that is what the other *BSD's have done. Use the boot-time entropy stash (if present) to bootstrap the in-kernel entropy source. Reviewed by: delphij,rwatson Approved by: so(delphij) MFC after: 2 months Relnotes: yes Differential Revision: https://reviews.freebsd.org/D10048
|
#
d196586a |
|
15-Apr-2017 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
3BSD-licensed implementation of the chacha20 stream cipher, intended for use by the upcoming arc4random replacement.
|
#
709557d9 |
|
03-Apr-2017 |
Robert Watson <rwatson@FreeBSD.org> |
Break audit_bsm_klib.c into two files: one (audit_bsm_klib.c) retaining various utility functions used during BSM generation, and a second (audit_bsm_db.c) that contains the various in-kernel databases supporting various audit activities (the class and event-name tables). (No functional change is intended.) Obtained from: TrustedBSD Project MFC after: 3 weeks Sponsored by: DARPA, AFRL
|
#
aac74aea |
|
02-Apr-2017 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add ipfw_pmod kernel module. The module is designed for modification of a packets of any protocols. For now it implements only TCP MSS modification. It adds the external action handler for "tcp-setmss" action. A rule with tcp-setmss action does additional check for protocol and TCP flags. If SYN flag is present, it parses TCP options and modifies MSS option if its value is greater than configured value in the rule. Then it adjustes TCP checksum if needed. After handling the search continues with the next rule. Obtained from: Yandex LLC MFC after: 2 weeks Relnotes: yes Sponsored by: Yandex LLC No objection from: #network Differential Revision: https://reviews.freebsd.org/D10150
|
#
ac506a8f |
|
31-Mar-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: Initial support for Extended Attributes. Currently read-only. Submitted by: Fedor Uporov MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D10151
|
#
653e7d63 |
|
29-Mar-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Split iscsi(4) ctl frontend off of ctl(4) as cfiscsi(4) The goal of this work is to remove the explicit dependency for ctl(4) on iscsi(4), so end-users without iscsi(4) support in the kernel can use ctl(4) for its other functions. This allows those without iscsi(4) support built into the kernel to use ctl(4) as a test mechanism. As a sidenote, this was possible around the 10.0-RELEASE period, but made impossible for end-users without iscsi(4) between 10.0-RELEASE and 11.0-RELEASE. Automatically load cfiscsi(4) from ctladm(8) and ctld(8) for backwards compatibility with previously releases. The automatic loading feature is compiled into the beforementioned tools if MK_ISCSI == yes when building world. Add a manpage for cfiscsi(4) and refer to it in ctl(4). Differential Revision: D10099 MFC after: 2 months Relnotes: yes Reviewed by: mav, trasz Sponsored by: Dell EMC Isilon
|
#
1811d6bf |
|
29-Mar-2017 |
Robert Watson <rwatson@FreeBSD.org> |
Add an experimental DTrace audit provider, which allows users of DTrace to instrument security event auditing rather than relying on conventional BSM trail files or audit pipes: - Add a set of per-event 'commit' probes, which provide access to particular auditable events at the time of commit in system-call return. These probes gain access to audit data via the in-kernel audit_record data structure, providing convenient access to system-call arguments and return values in a single probe. - Add a set of per-event 'bsm' probes, which provide access to particular auditable events at the time of BSM record generation in the audit worker thread. These probes have access to the in-kernel audit_record data structure and BSM representation as would be written to a trail file or audit pipe -- i.e., asynchronously in the audit worker thread. DTrace probe arguments consist of the name of the audit event (to support future mechanisms of instrumenting multiple events via a single probe -- e.g., using classes), a pointer to the in-kernel audit record, and an optional pointer to the BSM data and its length. For human convenience, upper-case audit event names (AUE_...) are converted to lower case in DTrace. DTrace scripts can now cause additional audit-based data to be collected on system calls, and inspect internal and BSM representations of the data. They do not affect data captured in the audit trail or audit pipes configured in the system. auditd(8) must be configured and running in order to provide a database of event information, as well as other audit configuration parameters (e.g., to capture command-line arguments or environmental variables) for the provider to operate. Reviewed by: gnn, jonathan, markj Sponsored by: DARPA, AFRL MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D10149
|
#
cb99e844 |
|
27-Mar-2017 |
Michael Zhilin <mizhka@FreeBSD.org> |
[etherswitch] simplify kernconf for recently added etherswitch drivers This simple patch adds e6060sw, adm6996fc and ksz8995ma into conf/files. Submitted by: Hiroki Mori <yamori813@yahoo.co.jp> Reviewed by: adrian, mizhka MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D9255
|
#
72dec079 |
|
16-Mar-2017 |
Marius Strobl <marius@FreeBSD.org> |
- Add support for eMMC "partitions". Besides the user data area, i. e. the default partition, eMMC v4.41 and later devices can additionally provide up to: 1 enhanced user data area partition 2 boot partitions 1 RPMB (Replay Protected Memory Block) partition 4 general purpose partitions (optionally with a enhanced or extended attribute) Of these "partitions", only the enhanced user data area one actually slices the user data area partition and, thus, gets handled with the help of geom_flashmap(4). The other types of partitions have address space independent from the default partition and need to be switched to via CMD6 (SWITCH), i. e. constitute a set of additional "disks". The second kind of these "partitions" doesn't fit that well into the design of mmc(4) and mmcsd(4). I've decided to let mmcsd(4) hook all of these "partitions" up as disk(9)'s (except for the RPMB partition as it didn't seem to make much sense to be able to put a file-system there and may require authentication; therefore, RPMB partitions are solely accessible via the newly added IOCTL interface currently; see also below). This approach for one resulted in cleaner code. Second, it retains the notion of mmcsd(4) children corresponding to a single physical device each. With the addition of some layering violations, it also would have been possible for mmc(4) to add separate mmcsd(4) instances with one disk each for all of these "partitions", however. Still, both mmc(4) and mmcsd(4) share some common code now e. g. for issuing CMD6, which has been factored out into mmc_subr.c. Besides simply subdividing eMMC devices, some Intel NUCs having UEFI code in the boot partitions etc., another use case for the partition support is the activation of pseudo-SLC mode, which manufacturers of eMMC chips typically associate with the enhanced user data area and/ or the enhanced attribute of general purpose partitions. CAVEAT EMPTOR: Partitioning eMMC devices is a one-time operation. - Now that properly issuing CMD6 is crucial (so data isn't written to the wrong partition for example), make a step into the direction of correctly handling the timeout for these commands in the MMC layer. Also, do a SEND_STATUS when CMD6 is invoked with an R1B response as recommended by relevant specifications. However, quite some work is left to be done in this regard; all other R1B-type commands done by the MMC layer also should be followed by a SEND_STATUS (CMD13), the erase timeout calculations/handling as documented in specifications are entirely ignored so far, the MMC layer doesn't provide timeouts applicable up to the bridge drivers and at least sdhci(4) currently is hardcoding 1 s as timeout for all command types unconditionally. Let alone already available return codes often not being checked in the MMC layer ... - Add an IOCTL interface to mmcsd(4); this is sufficiently compatible with Linux so that the GNU mmc-utils can be ported to and used with FreeBSD (note that due to the remaining deficiencies outlined above SANITIZE operations issued by/with `mmc` currently most likely will fail). These latter will be added to ports as sysutils/mmc-utils in a bit. Among others, the `mmc` tool of the GNU mmc-utils allows for partitioning eMMC devices (tested working). - For devices following the eMMC specification v4.41 or later, year 0 is 2013 rather than 1997; so correct this for assembling the device ID string properly. - Let mmcsd.ko depend on mmc.ko. Additionally, bump MMC_VERSION as at least for some of the above a matching pair is required. - In the ACPI front-end of sdhci(4) describe the Intel eMMC and SDXC controllers as such in order to match the PCI one. Additionally, in the entry for the 80860F14 SDXC controller remove the eMMC-only SDHCI_QUIRK_INTEL_POWER_UP_RESET. OKed by: imp Submitted by: ian (mmc_switch_status() implementation)
|
#
aa6b3456 |
|
11-Mar-2017 |
Emmanuel Vadot <manu@FreeBSD.org> |
Remove i915drm and radeondrm from NOTES and conf. This unbreak LINT kernel. Reported by: lwhsu
|
#
9760ac0a |
|
09-Mar-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement support for mutexes with deadlock avoidance in the LinuxKPI. When locking a mutex and deadlock is detected the first mutex lock call that sees the deadlock will return -EDEADLK . MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
14c5024d |
|
08-Mar-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Cleanup the LinuxKPI slab implementation. Put large functions into linux_slab.c instead of declaring them static inline. Add support for more memory allocation wrappers like kmalloc_array() and __vmalloc(). Make sure either the M_WAITOK or the M_NOWAIT flag is set and mask away unused memory allocation flags before calling FreeBSD's malloc() routine. Move kmalloc_node() definition to slab.h where it belongs. Implement support for the SLAB_DESTROY_BY_RCU feature when creating a kmem_cache which basically means kmem_cache memory is freed using call_rcu(). MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
ca2ad6bd |
|
06-Mar-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
LinuxKPI workqueue cleanup. This change makes the workqueue implementation behave more like in Linux, both functionality wise and structure wise. All workqueue code has been moved to linux_work.c Add an atomic based statemachine to the work_struct to ensure proper operation. Prior to this change struct_work was directly mapped to a FreeBSD task. When a taskqueue has multiple threads the same task may end up being executed on more than one worker thread simultaneously. This might cause problems with code coming from Linux, which expects serial behaviour, similar to Linux tasklets. Move all global workqueue function names into the linux_xxx domain to avoid symbol name clashes in the future. Implement a few more workqueue related functions and macros. Create two multithreaded taskqueues for the LinuxKPI during module load, one for time-consuming callbacks and one for non-time consuming callbacks. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
99b14d9f |
|
04-Mar-2017 |
Eric Badger <badger@FreeBSD.org> |
remove procfs ctl interface This interface has no in-tree consumers and has been more or less non-functional for several releases. Remove manpage note that the procfs special file 'mem' is grouped to kmem. This hasn't been true since r81107. Remove procfs' README file. It is an out of date duplication of the manpage (quoth the README: "since the bsd kernel is single-processor..."). Reviewed by: vangyzen, bcr (manpage) Approved by: des (procfs maintainer), vangyzen (mentor) Differential Revision: https://reviews.freebsd.org/D9802
|
#
efe3b0de |
|
27-Feb-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove SVR4 (System V Release 4) binary compatibility support. UNIX System V Release 4 is operating system released in 1988. It ceased to exist in early 2000-s.
|
#
7fa27112 |
|
24-Feb-2017 |
Andriy Gapon <avg@FreeBSD.org> |
zfs: clean up unused files and definitions MFC after: 1 month X-MFC after: r314048
|
#
ad35d471 |
|
24-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] Add support for Firmware paging, needed for newer 8000C firmware. * Uses the IWM_FW_PAGING_BLOCK_CMD firmware command to tell the firmware what memory ranges to use for paging. Obtained from: dragonflybsd.git 8a5b199964f8e7bdb00039f0b48817a01b402f18
|
#
1cdefd08 |
|
22-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Optimise unmapped LinuxKPI page allocations. When allocating unmapped pages, take advantage of the direct map on AMD64 to get the virtual address corresponding to a page. Else all pages allocated must be mapped because sometimes the virtual address of a page is requested. Move all page allocation and deallocation code into an own C-file. Add support for GFP_DMA32, GFP_KERNEL, GFP_ATOMIC and __GFP_ZERO allocation flags. Make a clear separation between mapped and unmapped allocations. Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
d4dd31fd |
|
21-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
add 7265D firmware.
|
#
6c2c3bd8 |
|
21-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] Move struct iwm_cfg chipset configs to if_iwm_7000.c and _8000.c * This is more similar to how code/definitions are distributed in Linux's iwlwifi. * This should make recognizing new chipset variants, and adding additional flags from the Linux iwlwifi code easier, without blowing up if_iwm.c Obtained from: dragonflybsd.git 27d11320e707d2c41424efc1983762f6799941d6
|
#
1a01b4e5 |
|
21-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Replace dummy implementation of RCU in the LinuxKPI with one based on the in-kernel concurrency kit's ck_epoch API. Factor RCU hlist_xxx() functions into own rculist.h header file. Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
ef23481a |
|
21-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for LinuxKPI tasklets. Tasklets are implemented using a taskqueue and a small statemachine on top. The additional statemachine is required to ensure all LinuxKPI tasklets get serialized. FreeBSD taskqueues do not guarantee serialisation of its tasks, except when there is only one worker thread configured. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
1e3db1de |
|
20-Feb-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Make the LinuxKPI task struct persistent accross system calls. A set of helper functions have been added to manage the life of the LinuxKPI task struct. When an external system call or task is invoked, a check is made to create the task struct by demand. A thread destructor callback is registered to free the task struct when a thread exits to avoid memory leaks. This change lays the ground for emulating the Linux kernel more closely which is a dependency by the code using the LinuxKPI APIs. Add new dedicated td_lkpi_task field has been added to struct thread instead of abusing td_retval[1]. Fix some header file inclusions to make LINT kernel build properly after this change. Bump the __FreeBSD_version to force a rebuild of all kernel modules. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
cc5bbcb2 |
|
19-Feb-2017 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add USB Mass Storage CTL frontend. This makes it possible for USB OTG-capable hardware to implement device side of USB Mass Storage, ie pretend it's a flash drive. It's configured in the same way as other CTL frontends, using ctladm(8) or ctld(8). Differently from usfs(4), all the configuration can be done without rebuilding the kernel. Testing and review is welcome. Right now I'm still moving, and I don't have access to my test environment, so I'm somewhat reluctant to making larger changes to this code; on the other hand I don't want to let it sit on Phab until my testing setup is back, because I want to get it into 11.1-RELEASE. Reviewed by: emaste (cursory), wblock (man page) MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8787
|
#
86d99b68 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA bus support for add-in cards. Remove related kernel and compile options. Remove doxygen pointers to now deleted files. Remove EISA and VME as examples in bus_space.9. Retained EISA mode code for IO PIC and MPTABLES because that's not EISA bus, per se, and some people have abused EISA to mean "EISA-like behavior as opposed to ISA" rather than using it for EISA add-in cards. Relnotes: yes
|
#
7a3a7496 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove PCI/EISA bridge support. But keep knowing that a chip is this kind of bridge since we know for other types of unsupported bridges as well.
|
#
792c0097 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA support from Buslogic (bt) cards. Remove known models form man page. Tweak comments to not refer to EISA scenarios now that it is no longer supported. Remove unused enum.
|
#
a4e4cebf |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA support from ahc driver. The AIC-7770 chip can be on ISA, VesaLocalBus or EISA. Internally, EISA and ISA are handled the same, with VL being handled slightly differently. To avoid too much code churn, retain the EISA name, despite it being used only for ISA bus. When it is on the ISA bus, weird gymnastics are required with EISA-space address accesses as well. Remove known models from the ahc man page. Remove ahc_eisa module.
|
#
bcb3c3b5 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA support from dpt. Remove known EISA models from dpt.4. Remove EISA-only bits from dpt_scsi.c.
|
#
f08a6f59 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA attachment (fea) from pdq driver. Remove vestiges of TurboChannel and Q-Bus support while I'm here. Remove obsolete diagnostics from man page.
|
#
3fb3ab7f |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA support from adv driver. Remove references to it from man page. Remove comment about EISA dual channel card. Remove trivial references in advlib to avoid false positives with grep. Remove stray MCA reference not worth a seperate commit.
|
#
68872de6 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove support for EISA in the ida driver. Remove references to EISA-only registers. Remove known EISA cards from man page.
|
#
f2e8ba3f |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove EISA support for ep driver. Left in place EISA strings that are still relevant (ISA cards can still be in EISA mode, and we're still ignoring those in the identify routine). Notes about cards in EISA mode have been left in the manual since they aren't relevant to EISA support, but instruct how to properly configure an ISA card in a mode when it is in a ISA bus slot.
|
#
222dc691 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove references to EISA support from the vx driver, along with EISA support. Fix a comment block that's shared with both vx and ep. Remove obsolete refernce to statically compiling a kernel with a fixed number of vx devices. Have not removed EISA from the title of the document the register definitions were originally derived from (though no doubt more recent docments were also consulted).
|
#
d4bfe939 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove the ahb driver for the EISA Adaptec 174x.
|
#
5625fe92 |
|
15-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Remove Micro Channel Architecture support. Of the commonly available machines, only a few 486 machines that used it, and those haven't had enough memory to run FreeBSD for quite some time (often limited to 16MB). Not to be confused with the Machine Check Architecture, which is still very much alive and used (and untouched by this commit). No Objection From: arch@
|
#
8f3bba2d |
|
13-Feb-2017 |
Landon J. Fuller <landonf@FreeBSD.org> |
[mips/broadcom] Move MIPS-specific bhnd(4) nexus drivers to sys/mips/broadcom, and add MIPS/BCM4706-specific workaround to bhnd_nexus_is_hw_disabled() -- the BCM4706 low-cost package leaves secondary GMAC cores floating. Reviewed by: mizhka Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D9499
|
#
76d26032 |
|
10-Feb-2017 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Allow Dtrace to be compiled into the kernel again after r313177. MFC after: 1 week
|
#
ab6c171a |
|
08-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] back this out to version 16 for now. Since I'm manually playing the dragonflybsd iwm/iwmfw commits forward, I'm .. well, this. This right here.
|
#
36b9ae3a |
|
08-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] add version 17 firmware.
|
#
33e3a188 |
|
06-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] fix path.
|
#
db6a9c12 |
|
06-Feb-2017 |
Andrew Turner <andrew@FreeBSD.org> |
Only build the ACPI PCI drivers on x86, they are unlikely to be used on arm64 without dignificant changes. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
|
#
fcf59617 |
|
06-Feb-2017 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Merge projects/ipsec into head/. Small summary ------------- o Almost all IPsec releated code was moved into sys/netipsec. o New kernel modules added: ipsec.ko and tcpmd5.ko. New kernel option IPSEC_SUPPORT added. It enables support for loading and unloading of ipsec.ko and tcpmd5.ko kernel modules. o IPSEC_NAT_T option was removed. Now NAT-T support is enabled by default. The UDP_ENCAP_ESPINUDP_NON_IKE encapsulation type support was removed. Added TCP/UDP checksum handling for inbound packets that were decapsulated by transport mode SAs. setkey(8) modified to show run-time NAT-T configuration of SA. o New network pseudo interface if_ipsec(4) added. For now it is build as part of ipsec.ko module (or with IPSEC kernel). It implements IPsec virtual tunnels to create route-based VPNs. o The network stack now invokes IPsec functions using special methods. The only one header file <netipsec/ipsec_support.h> should be included to declare all the needed things to work with IPsec. o All IPsec protocols handlers (ESP/AH/IPCOMP protosw) were removed. Now these protocols are handled directly via IPsec methods. o TCP_SIGNATURE support was reworked to be more close to RFC. o PF_KEY SADB was reworked: - now all security associations stored in the single SPI namespace, and all SAs MUST have unique SPI. - several hash tables added to speed up lookups in SADB. - SADB now uses rmlock to protect access, and concurrent threads can do SA lookups in the same time. - many PF_KEY message handlers were reworked to reflect changes in SADB. - SADB_UPDATE message was extended to support new PF_KEY headers: SADB_X_EXT_NEW_ADDRESS_SRC and SADB_X_EXT_NEW_ADDRESS_DST. They can be used by IKE daemon to change SA addresses. o ipsecrequest and secpolicy structures were cardinally changed to avoid locking protection for ipsecrequest. Now we support only limited number (4) of bundled SAs, but they are supported for both INET and INET6. o INPCB security policy cache was introduced. Each PCB now caches used security policies to avoid SP lookup for each packet. o For inbound security policies added the mode, when the kernel does check for full history of applied IPsec transforms. o References counting rules for security policies and security associations were changed. The proper SA locking added into xform code. o xform code was also changed. Now it is possible to unregister xforms. tdb_xxx structures were changed and renamed to reflect changes in SADB/SPDB, and changed rules for locking and refcounting. Reviewed by: gnn, wblock Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D9352
|
#
6e39c650 |
|
05-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] Add implementation of the notification wait api from iwlwifi. Obtained from: Linux iwlwifi Obtained from: DragonflyBSD commit 94dc1dadceb57b688036211262d678bc6bbdde37
|
#
5832bcdc |
|
28-Jan-2017 |
Enji Cooper <ngie@FreeBSD.org> |
Remove non-existent ct(4) dependency for scsi_low.c ct(4) was removed with pc98 in r312910
|
#
2b375b4e |
|
27-Jan-2017 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
Remove pc98 support completely. I thank all developers and contributors for pc98. Relnotes: yes
|
#
66d53750 |
|
27-Jan-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for reading advanced diagnostic counters. By default reading the diagnostic counters is disabled. The firmware decides which counters are supported and only those supported show up in the dev.mce.X.diagnostics sysctl tree. To enable reading of diagnostic counters set one or more of the following sysctls to one: dev.mce.X.conf.diag_general_enable=1 dev.mce.X.conf.diag_pci_enable=1 MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
60b9567d |
|
23-Jan-2017 |
Kevin Lo <kevlo@FreeBSD.org> |
Add support for the Realtek RTL8192EU chipset. Committed over the D-Link DWA-131 rev E1 on amd64 with WPA. Reviewed by: avos
|
#
5a88d9fd |
|
16-Jan-2017 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
Add sys/dev/rtwn/rtl8821a/usb/r21au_dfs.c into sys/conf/files Reported by: adrian
|
#
662e30fc |
|
16-Jan-2017 |
Michael Zhilin <mizhka@FreeBSD.org> |
[gpioths] new driver for temperature/humidity sensor DHT11 This patch adds driver for temperature/humidity sensor connected via GPIO. To compile it into kernel add "device gpioths". To activate driver, use hints (.at and .pins) for gpiobus. As result it will provide temperature & humidity values via sysctl. DHT11 is cheap & popular temperature/humidity sensor used via GPIO on ARM or MIPS devices like Raspberry Pi or Onion Omega. Reviewed by: adrian Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D9185
|
#
245c5ebb |
|
12-Jan-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Purge surprise change to sys/conf/files for ixgbe(4). Reported by: imp
|
#
062a4b8c |
|
12-Jan-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Deprecate kernel configuration option EM_MULTIQUEUE now that the em(4) driver conforms to iflib.
|
#
e5d519fd |
|
10-Jan-2017 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
[sdhci] Add ACPI platform support for SDHCI driver - Create ACPI version of SDHCI attach/detach/accessors logic. Some platforms (e.g. BayTrail-based Minnowboard) expose SDHCI devices via ACPI, not PCI - Add sdchi_acpi kernel module Reviewed by: ian, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D9112
|
#
f2d6ace4 |
|
09-Jan-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Migrate e1000 to the IFLIB framework: - em(4) igb(4) and lem(4) - deprecate the igb device from kernel configurations - create a symbolic link in /boot/kernel from if_em.ko to if_igb.ko Devices tested: - 82574L - I218-LM - 82546GB - 82579LM - I350 - I217 Please report problems to freebsd-net@freebsd.org Partial review from jhb and suggestions on how to *not* brick folks who originally would have lost their igbX device. Submitted by: mmacy@nextbsd.org MFC after: 2 weeks Relnotes: yes Sponsored by: Limelight Networks and Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D8299
|
#
46aa7533 |
|
09-Jan-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
White space cleanup from an cut-n-paste. Submitted by: mmacy@nextbsd.org
|
#
78906a72 |
|
08-Jan-2017 |
Ian Lepore <ian@FreeBSD.org> |
Add new helper routines for sdhci bridge drivers that use gpio pins for card presence and write protect switch detection. A bridge driver just needs to call the setup routine in its attach(), the teardown in its detach(), and write a couple tiny glue functions to connect the sdhci interface functions to the new helper functions. This is not extensively documented, but multiple examples will exist real soon.
|
#
b092fd69 |
|
07-Jan-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[net80211] include the prototype VHT code into the build. Note: it isn't called anywhere yet!
|
#
b3d8a775 |
|
05-Jan-2017 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Include e6000sw driver in ARMADA38X configuration e6000sw Marvell switch driver was added to files and Armada38x kernel configuration file. Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D8178
|
#
c88fa719 |
|
03-Jan-2017 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4, T5 and T6 firmwares to 1.16.26.0. Changelog for all public firmwares for all chips since the last release (1.15.37.0) follows (it's a straight copy-paste from the Release Notes for the 12/30/2016 Unified Wire release on Chelsio's website). T6 Firmware ++++++++++++ Version : 1.16.26.0 Date : 12/28/2016 Fixes ----- BASE: - Max number of egress and control queues adjusted to accomodate co-processor mode queues. - Fixed intermittent DDR3/4 ECC errors. - Fixed a traffic stall when ETS BW is configured as 0%. - Max number of ethctrl queue in VF set to 1. ETH: - Added a new config file option 'speed' under port section to set the port speed. Use only when auto negotiation is off. - FEC option removed from firmware config file. cxgbtool can be used to change the fec setting. - CPL_TX_TNL_LSO cpl handling added in ETH_TX_PKT_VM handler. This fixes large tunnel tcp packet support for VxLAN. Version : 1.16.22.0 Date : 12/05/2016 Fixes ----- BASE: - fw_port_type updated in fw API to match kernel.org definitions. - Saved power by disaling unused MAC lanes. - Configures correct power bin. - Enhanced DDR4 performance. - Enabled interrupts. - Fixed an issue where filter rule for 'unicast hash' is not working. ETH: - Disabled auto negotiation by default because most of 100G switches do not support AN as of today. - Fixed flow control not getting disabled problem. - Fixed an issue where port0 doesn't come up sometimes. - Fixed 10G link not coming up issue. - Fixed an issue with promiscuous mode when dcbx disabled. OFLD: - Fixed a connection stuck issue when abort is received during out of tx pages backpressure. ENHANCEMENTS ------------ BASE: - Added inline TLS mode support. Version : 1.16.12.0 Date : 11/11/2016 ENHANCEMENTS ------------ BASE: - Added T6 support. - Added T6 1G/10G/25G/40G/100G link speeds. - Added T6 co-processor mode crypto support. - Added facility to increase link AN+AEC timeout. OFLD: - Added support for all T5 offload protocols except FCoE. iSCSI: - iscsi completion moderation enabled. ======================================================================= T5 Firmware ++++++++++++ Version : 1.16.26.0 Date : 12/28/2016 FIXES ----- BASE: - Max number of ethctrl queue in VF set to 1. Version : 1.16.22.0 Date : 12/05/2016 FIXES ----- BASE: - Fixed an issue where filter rule for 'unicast hash' is not working. ETH: - Fixed an issue with promiscuous mode when dcbx disabled. ENHANCEMENTS ------------ ETH: - Added 40G-KR support. Version : 1.16.12.0 Date : 11/11/2016 FIXES ----- BASE: - Fixed multiple issues related with VFs FLR processing. - Fixed channel assignment based on number of ports in adapter. - Fixed a crash when VM having PF assigned as passthrough mode is rebooted. - Handled 2nd HELLO command from the same PF without seeing BYE from the same PF and if that is the only PF. - A warning is printed in firmware log if PCI-E cookie generation is enabled in serial initialization file. - Fixed multiple issues related with Filtering. - Enabled DSGL memory write for iscsi and rdma. - Added new FW_PARAMS_CMD[DEV] options to retrieve Serial Configuration and VPD version numbers. - Fixed an issue where LVDS output was not getting enabled using vpd. DCBX: - Fixed DCBX CEE Incorrect class to pririty mapping. - Fixed incorrect interpretation of DCBX IEEE PFC. ETH: - Adjusted the link related delay timings according to the QSFP spec. - Improved 40G link bringup time with few switches. OFLD: - Do not reserve qp/cq if rdma capability is not enabled. - Fixed an issue where approx 1600+ TOE connections were causing a firmware fatal error. FOiSCSI: - Fixed an issue where unloading foiscsi driver causes mailbox timeout. ENHANCEMENTS ------------ BASE: - Added 10G KR/KX support. - Added T540-BT adapter support. - Added 4 new rss key modes for PFs and VFs. OFLD: - Added new WR FW_RI_FR_NSMR_TPTE_WR to improve fast MR write performance in RDMA. Version : 1.16.5.0 Date : 10/26/2016 FIXES ----- BASE: - Fixed multiple issues where FLR from multiple VFs can cause firmware crash. - Fixed channel assignment based on number of ports in adapter. - Fixed the HELLO command master force api to handle the 2nd HELLO correctly without getting BYE from the PF driver. - Added facility to retrieve Serial configuration and VPD version. Two new FW_PARAMS_CMD[DEV] options added to retrieve these values. - Fixed multiple issues where FLR from multiple VFs are not completing. - Added new RSS hash secret key modes. - Fixed an issue where LVDS output was not getting enabled using vpd. DCBX: - Fixed an issue where iscsi tlv is sent incorrectly to host (DCBX CEE). - Fixed an issue where app priority values are not handled correctly in fw (DCBX IEEE). ETH: - Adjusts the link related delay timings according to the QSFP spec. - Changed 2.5G mac speed bit to 25G mac speed bit in fw API. - Improvement in 40G link bringup time with few switches. OFLD: - Do not reserve qp/cq if rdma capability is not enabled. - Fixed an issue where approx 1600+ TOE connections were causing a firmware fatal error. - Fixed DSGL memory write in T5. Now iwarp and iscsi can use DSGL to do memory write. - Fixed multiple issues in hash filter mode where incorrect protocol mask was getting used and affecting hash filter functionality. - New fastpath WR FW_RI_FR_NSMR_TPTE_WR (with fully populated TPTE) is added for small REG_MR operations. FOiSCSI: - Fixed an issue in foiscsi recovery path. - Fixed an issue where foiscsi (in VM in PCIE passthrough mode) didn't come up after VM FLR. ENHANCEMENTS ------------ ETH: - Implemented 1G/10G KR/KX ability. - Implemented T540-BT adapter support. ======================================================================= T4 Firmware +++++++++++ Version : 1.16.12.0 Date : 11/11/2016 FIXES ----- BASE: - Fixed an issue where reading temperature sesors using ldst command causes mailbox timeout. - Added new FW_PARAMS_CMD[DEV] options to retrieve Serial Configuration and VPD version numbers. ETH: - Fixed DCBX CEE Incorrect class to pririty mapping. FOiSCSI: - Fixed an issue where unloading foiscsi driver causes mailbox timeout. MFC after: 3 days Sponsored by: Chelsio Communications
|
#
5c5bcb1d |
|
26-Dec-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
[ig4] Add ACPI platform support for ig4 driver Add ACPI part for ig4 driver to make it work on Intel BayTrail SoC where ig4 device is available only through ACPI Reviewed by: avg MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D8742
|
#
02fe53a4 |
|
26-Dec-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Import drm_patform.c, an implementation of non-PCI based attachment for graphics drivers. It will be used in upcoming driver for Nvidia Tegra boards. MFC after: 1 month
|
#
85debf7f |
|
20-Dec-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Add xDMA -- the DMA abstraction layer, initial verison. xDMA is a DMA framework designed to abstract the interaction between device drivers and DMA engines. Project wiki: https://wiki.freebsd.org/xdma Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D8807
|
#
c283839d |
|
19-Dec-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): NVRAM serialization support. This adds support for: - Serializing an bhnd_nvram_plist (as exported from bhnd_nvram_store, etc) to an arbitrary NVRAM data format. - Generating a serialized representation of the current NVRAM store's state suitable for writing back to flash, or re-encoding for upload to a FullMAC device. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8762
|
#
19be09f3 |
|
19-Dec-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): NVRAM device path support. Implements bhnd_nvram_store support for parsing and operating over NVRAM device paths, and device path aliases, as well as tracking per-path NVRAM variable writes. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8760
|
#
f76db8de |
|
19-Dec-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): add support for wrapping arbitrary pointers in an NVRAM I/O context. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8759
|
#
9be0790d |
|
19-Dec-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): support direct conversion of bhnd_nvram_val This adds support for bhnd_nvram_val_convert_init() and bhnd_nvram_val_convert_new(), which may be used to perform value format-aware encoding of an NVRAM value to a new target format/type. This will be used to simplify converting to/from serialized format-specific NVRAM value representations to common external representations. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8757
|
#
eb686149 |
|
19-Dec-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): Implement a new bhnd_nvram_plist and bhnd_nvram_prop API for representing arbitrary Broadcom NVRAM key/value pairs. This will be used to track pending changes in bhnd_nvram_store, and provide support for exporting all or a device subpath for NVRAM (as required by some fullmac wifi chipsets). Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8756
|
#
5a1842a2 |
|
12-Dec-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add ip6_tryforward() - a run to completion forwarding implementation for IPv6. It gets performance benefits from reduced number of checks. It doesn't copy mbuf to be able send ICMPv6 error message, because it keeps mbuf unchanged until the moment, when the route decision has been made. It doesn't do IPsec checks, and when some IPsec security policies present, ip6_input() uses normal slow path. Reviewed by: bz, gnn Obtained from: Yandex LLC MFC after: 1 month Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D8527
|
#
480f31c2 |
|
10-Dec-2016 |
Konrad Witaszczyk <def@FreeBSD.org> |
Add support for encrypted kernel crash dumps. Changes include modifications in kernel crash dump routines, dumpon(8) and savecore(8). A new tool called decryptcore(8) was added. A new DIOCSKERNELDUMP I/O control was added to send a kernel crash dump configuration in the diocskerneldump_arg structure to the kernel. The old DIOCSKERNELDUMP I/O control was renamed to DIOCSKERNELDUMP_FREEBSD11 for backward ABI compatibility. dumpon(8) generates an one-time random symmetric key and encrypts it using an RSA public key in capability mode. Currently only AES-256-CBC is supported but EKCD was designed to implement support for other algorithms in the future. The public key is chosen using the -k flag. The dumpon rc(8) script can do this automatically during startup using the dumppubkey rc.conf(5) variable. Once the keys are calculated dumpon sends them to the kernel via DIOCSKERNELDUMP I/O control. When the kernel receives the DIOCSKERNELDUMP I/O control it generates a random IV and sets up the key schedule for the specified algorithm. Each time the kernel tries to write a crash dump to the dump device, the IV is replaced by a SHA-256 hash of the previous value. This is intended to make a possible differential cryptanalysis harder since it is possible to write multiple crash dumps without reboot by repeating the following commands: # sysctl debug.kdb.enter=1 db> call doadump(0) db> continue # savecore A kernel dump key consists of an algorithm identifier, an IV and an encrypted symmetric key. The kernel dump key size is included in a kernel dump header. The size is an unsigned 32-bit integer and it is aligned to a block size. The header structure has 512 bytes to match the block size so it was required to make a panic string 4 bytes shorter to add a new field to the header structure. If the kernel dump key size in the header is nonzero it is assumed that the kernel dump key is placed after the first header on the dump device and the core dump is encrypted. Separate functions were implemented to write the kernel dump header and the kernel dump key as they need to be unencrypted. The dump_write function encrypts data if the kernel was compiled with the EKCD option. Encrypted kernel textdumps are not supported due to the way they are constructed which makes it impossible to use the CBC mode for encryption. It should be also noted that textdumps don't contain sensitive data by design as a user decides what information should be dumped. savecore(8) writes the kernel dump key to a key.# file if its size in the header is nonzero. # is the number of the current core dump. decryptcore(8) decrypts the core dump using a private RSA key and the kernel dump key. This is performed by a child process in capability mode. If the decryption was not successful the parent process removes a partially decrypted core dump. Description on how to encrypt crash dumps was added to the decryptcore(8), dumpon(8), rc.conf(5) and savecore(8) manual pages. EKCD was tested on amd64 using bhyve and i386, mipsel and sparc64 using QEMU. The feature still has to be tested on arm and arm64 as it wasn't possible to run FreeBSD due to the problems with QEMU emulation and lack of hardware. Designed by: def, pjd Reviewed by: cem, oshogbo, pjd Partial review: delphij, emaste, jhb, kib Approved by: pjd (mentor) Differential Revision: https://reviews.freebsd.org/D4712
|
#
3cbaf64f |
|
05-Dec-2016 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmwares from version 1.16.12.0 to 1.16.22.0. Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications
|
#
2daeee1a |
|
30-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Mark the Alpine ethernet driver as FDT only. It calls alpine_serdes_resource_get which is defined in an FDT only file. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
|
#
a10443e8 |
|
29-Nov-2016 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Include firmware for T6 cards in the driver. Update all firmwares to 1.16.12.0. Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications
|
#
bba481d7 |
|
28-Nov-2016 |
Olivier Houchard <cognet@FreeBSD.org> |
Hook CK to the kernel build.
|
#
77cb4d3e |
|
26-Nov-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding. - Defined an abstract NVRAM I/O API (bhnd_nvram_io), decoupling NVRAM/SPROM parsing from the actual underlying NVRAM data provider (e.g. CFE firmware devices). - Defined an abstract NVRAM data API (bhnd_nvram_data), decoupling higher-level NVRAM operations (indexed lookup, data conversion, etc) from the underlying NVRAM file format parsing/serialization. - Implemented a new high-level bhnd_nvram_store API, providing indexed variable lookup, pending write tracking, etc on top of an arbitrary bhnd_nvram_data instance. - Migrated all bhnd(4) NVRAM device drivers to the common bhnd_nvram_store API. - Implemented a common bhnd_nvram_val API for parsing/encoding NVRAM variable values, including applying format-specific behavior when converting to/from the NVRAM string representations. - Dropped the now unnecessary bhnd_nvram driver, and moved the broadcom/mips-specific CFE NVRAM driver out into sys/mips/broadcom. - Implemented a new nvram_map file format: - Variable definitions are now defined separately from the SPROM layout. This will also allow us to define CIS tuple NVRAM mappings referencing the common NVRAM variable definitions. - Variables can now be defined within arbitrary named groups. - Textual descriptions and help information can be defined inline for both variables and variable groups. - Implemented a new, compact encoding of SPROM image layout offsets. - Source-level (but not build system) support for building the NVRAM file format APIs (bhnd_nvram_io, bhnd_nvram_data, bhnd_nvram_store) as a userspace library. The new compact SPROM image layout encoding is loosely modeled on Apple dyld compressed LINKEDIT symbol binding opcodes; it provides a compact state-machine encoding of the mapping between NVRAM variables and the SPROM image offset, mask, and shift instructions necessary to decode or encode the SPROM variable data. The compact encoding reduces the size of the generated SPROM layout data from roughly 60KB to 3KB. The sequential nature SPROM layout opcode tables also simplify iteration of the SPROM variables, as it's no longer neccessary to iterate the full NVRAM variable definition table, but instead simply scan the SPROM revision's layout opcode table. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D8645
|
#
f63f5057 |
|
22-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Only build acpi_timer.c on x86, it fails on arm64 as it attempts to access an invalid address. It is also unneeded on arm64 as we use the ARM Generic Timer driver. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
|
#
e45c936f |
|
21-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Mark virtio_mmio as FDT only, it lacks an ACPI attachment. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
|
#
da8695d4 |
|
21-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Mark uart_dev_snps.c as FDT only, it doesn't have and ACPI bindings. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
|
#
824f05d6 |
|
21-Nov-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Mark extres as FDT only. Much of this assumes FDT and fails to build without it. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
|
#
f3b37a1f |
|
17-Nov-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for DM9000 Ethernet MAC Controller. This device found in the Ingenic jz4780 SoC. Submitted by: kan Sponsored by: DARPA, AFRL
|
#
099a0e1b |
|
15-Nov-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add a GPIO poweroff and reset driver. Summary: This implements part of the gpio-poweroff and gpio-restart device tree bindings. Optional properties are not handled currently. It also currently only supports level-triggered reset. Reviewed By: gonzo Differential Revision: https://reviews.freebsd.org/D8521
|
#
d933e97f |
|
15-Nov-2016 |
Stephen Hurd <shurd@FreeBSD.org> |
New driver for Broadcom NetXtreme-C and NetXtreme-E devices. This driver uses the iflib framework supporting Broadcom 25/50Gbps devices. Reviewed by: gallatin, wblock Approved by: davidch MFC after: 2 weeks Relnotes: yes Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D7551
|
#
468faf99 |
|
13-Nov-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Allow embeding DRM2 code into kernel. It's usefull for development (for netboot) and it also helps to boot FreeBSD on some embeded platforms (where we must boot kernel directly, without standard boot loader). MFC after: 3 weeks
|
#
aabc5ce0 |
|
07-Nov-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Refactor FDT part of gpioled driver - Split driver in two parts: FDT and non-FDT - Instead of reattach gpioled nodes to GPIO bus use gpio_pin_get_by_ofw_idx and add ofwbus and simplebus as parrent buses Reviewed by: loos Differential Revision: https://reviews.freebsd.org/D8233
|
#
78eb3293 |
|
31-Oct-2016 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: add a grant-table user-space device A grant-table user-space device will allow user-space applications to map and share grants (Xen way to share memory) among Xen domains. This grant table user-space device has been tested with the QEMU Qdisk Xen backed. Submitted by: jaggi Reviewed by: royger Differential review: https://reviews.freebsd.org/D7293
|
#
448897d3 |
|
29-Oct-2016 |
Andriy Gapon <avg@FreeBSD.org> |
add iic interface to ig4 driver, move isl and cyapa to iicbus Summary: The hardware does not expose a classic SMBus interface. Instead it has a lower level interface that can express a far richer I2C protocol than what smbus offers. However, the interface does not provide a way to explicitly generate the I2C stop and start conditions. It's only possible to request that the stop condition is generated after transferring the next byte in either direction. So, at least one data byte must always be transferred. Thus, some I2C sequences are impossible to generate, e.g., an equivalent of smbus quick command (<start>-<slave addr>-<r/w bit>-<stop>). At the same time isl(4) and cyapa(4) are moved to iicbus and now they use iicbus_transfer for communication. Previously they used smbus_trans() interface that is not defined by the SMBus protocol and was implemented only by ig4(4). In fact, that interface was impossible to implement for the typical SMBus controllers like intpm(4) or ichsmb(4) where a type of the SMBus command must be programmed. The plan is to remove smbus_trans() and all its uses. As an aside, the smbus_trans() method deviates from the standard, but perhaps backwards, FreeBSD convention of using 8-bit slave addresses (shifted by 1 bit to the left). The method expects 7-bit addresses. There is a user facing consequence of this change. A user must now provide device hints for isl and cyapa that specify an iicbus to use and a slave address on it. On Chromebook hardware where isl and cyapa devices are commonly found it is also possible to use a new chromebook_platform(4) driver that automatically configures isl and cyapa devices. There is no need to provide the device hints in that case, Right now smbus(4) driver tries to discover all slaves on the bus. That is very dangerous. Fortunately, the probing code uses smbus_trans() to do its job, so it is really enabled for ig4 only. The plan is to remove that auto-probing code and smbus_trans(). Tested by: grembo, Matthias Apitz <guru@unixarea.de> (w/o chromebook_platform) Discussed with: grembo, imp Reviewed by: wblock (docs) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D8172
|
#
4afdfe97 |
|
22-Oct-2016 |
Andriy Gapon <avg@FreeBSD.org> |
jedec_ts: a driver for thermal sensors on memory modules The driver currently supports chips that are fully compliant with the JEDEC SPD / EEPROM / TS standard (JEDEC Standard 21-C, TSE2002 Specification, frequenlty referred to as JEDEC JC 42.4). Additionally some chips from STMicroelectronics are supported as well. They are compliant except for their Device ID pattern. Given the continued lack of any common sensor infrastructure, the driver uses an ad-hoc sysctl to report the temperature. Reviewed by: wblock (documentation) MFC after: 2 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D8174
|
#
485fb025 |
|
21-Oct-2016 |
Ed Maste <emaste@FreeBSD.org> |
netmap: if_ptnet depends on inet
|
#
7902c8dc |
|
20-Oct-2016 |
Wojciech Macek <wma@FreeBSD.org> |
Driver for PCI Ethernet NIC on Alpine V1 and V2. Obtained from: Semihalf Submitted by: Michal Stanek <mst@semihalf.com> Sponsored by: Annapurna Labs Reviewed by: wma Differential Revision: https://reviews.freebsd.org/D7814
|
#
7453645f |
|
17-Oct-2016 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
rtwn(4), urtwn(4): merge common code, add support for 11ac devices. All devices: - add support for rate adaptation via ieee80211_amrr(9); - use short preamble for transmitted frames when needed; - multi-bss support: * for RTL8821AU: 2 VAPs at the same time; * other: 1 any VAP + 1 sta VAP. RTL8188CE: - fix IQ calibration bug (reason of significant speed degradation); - add h/w crypto acceleration support. USB: - A-MPDU Tx support; - short GI support; Other: - add support for RTL8812AU / RTL8821AU chipsets (a/b/g/n only; no ac yet); - split merged code into subparts: * bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*) * common (if_rtwn*) * chip-specific (rtl*/*) - various other bugfixes. Due to code reorganization, module names / requirements were changed too: urtwn urtwnfw -> rtwn rtwn_usb rtwnfw rtwn rtwnfw -> rtwn rtwn_pci rtwnfw Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU. Tested by: kevlo, garga, Peter Garshtja <peter.garshtja@ambient-md.com>, Kevin McAleavey <kevin.mcaleavey@knosproject.com>, Ilias-Dimitrios Vrachnis <id@vrachnis.com>, <otacilio.neto@bsd.com.br> Relnotes: yes
|
#
37e3a6d3 |
|
16-Oct-2016 |
Luigi Rizzo <luigi@FreeBSD.org> |
Import the current version of netmap, aligned with the one on github. This commit, long overdue, contains contributions in the last 2 years from Stefano Garzarella, Giuseppe Lettieri, Vincenzo Maffione, including: + fixes on monitor ports + the 'ptnet' virtual device driver, and ptnetmap backend, for high speed virtual passthrough on VMs (bhyve fixes in an upcoming commit) + improved emulated netmap mode + more robust error handling + removal of stale code + various fixes to code and documentation (some mixup between RX and TX parameters, and private and public variables) We also include an additional tool, nmreplay, which is functionally equivalent to tcpreplay but operating on netmap ports.
|
#
72f1cf04 |
|
15-Oct-2016 |
Jared McNeill <jmcneill@FreeBSD.org> |
Add driver for GPIO controlled regulator. Reviewed by: gonzo, manu, mmel Differential Revision: https://reviews.freebsd.org/D8257
|
#
f79d484d |
|
11-Oct-2016 |
Warner Losh <imp@FreeBSD.org> |
Create /dev/efidev to provide an ioctl interface to userland. It supports userland interfaces to UEFI Runtime Services. This is indended to the the MI portion of EFI RuntimeServices support. Differential Revision: https://reviews.freebsd.org/D8128 Reviewed by: kib@, wblock@, Ganael Laplanche
|
#
97549c34 |
|
30-Sep-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Move the ConnectX-3 and ConnectX-2 driver from sys/ofed into sys/dev/mlx4 like other PCI network drivers. The sys/ofed directory is now mainly reserved for generic infiniband code, with exception of the mthca driver. - Add new manual page, mlx4en(4), describing how to configure and load mlx4en. - All relevant driver C-files are now prefixed mlx4, mlx4_en and mlx4_ib respectivly to avoid object filename collisions when compiling the kernel. This also fixes an issue with proper dependency file generation for the C-files in question. - Device mlxen is now device mlx4en and depends on device mlx4, see mlx4en(4). Only the network device name remains unchanged. - The mlx4 and mlx4en modules are now built by default on i386 and amd64 targets. Only building the mlx4ib module depends on WITH_OFED=YES . Sponsored by: Mellanox Technologies
|
#
9e579a58 |
|
24-Sep-2016 |
Mark Johnston <markj@FreeBSD.org> |
Move implementations of uread() and uwrite() to the illumos compat layer. MFC after: 1 week
|
#
14e1a2cd |
|
20-Sep-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Move ofw_cpu file to the main files conf file. There is nothing CPU specific here, and it's usable by both fdt and Open Firmware based systems. Rather than keeping the same file in every one, just add it to the ofw/fdt block in the main file.
|
#
2b3f6d66 |
|
11-Sep-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add evdev protocol implementation evdev is a generic input event interface compatible with Linux evdev API at ioctl level. It allows using unmodified (apart from header name) input evdev drivers in Xorg, Wayland, Qt. This commit has only generic kernel API. evdev support for individual hardware drivers like ukbd, ums, atkbd, etc. will be committed later. Project was started by Jakub Klama as part of GSoC 2014. Jakub's evdev implementation was later used as a base, updated and finished by Vladimir Kondratiev. Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru> Reviewed by: adrian, hans Differential Revision: https://reviews.freebsd.org/D6998
|
#
6af45170 |
|
07-Sep-2016 |
John Baldwin <jhb@FreeBSD.org> |
Chelsio T4/T5 VF driver. The cxgbev/cxlv driver supports Virtual Function devices for Chelsio T4 and T4 adapters. The VF devices share most of their code with the existing PF4 driver (cxgbe/cxl) and as such the VF device driver currently depends on the PF4 driver. Similar to the cxgbe/cxl drivers, the VF driver includes a t4vf/t5vf PCI device driver that attaches to the VF device. It then creates child cxgbev/cxlv devices representing ports assigned to the VF. By default, the PF driver assigns a single port to each VF. t4vf_hw.c contains VF-specific routines from the shared code used to fetch VF-specific parameters from the firmware. t4_vf.c contains the VF-specific PCI device driver and includes its own attach routine. VF devices are required to use a different firmware request when transmitting packets (which in turn requires a different CPL message to encapsulate messages). This alternate firmware request does not permit chaining multiple packets in a single message, so each packet results in a firmware request. In addition, the different CPL message requires more detailed information when enabling hardware checksums, so parse_pkt() on VF devices must examine L2 and L3 headers for all packets (not just TSO packets) for VF devices. Finally, L2 checksums on non-UDP/non-TCP packets do not work reliably (the firmware trashes the IPv4 fragment field), so IPv4 checksums for such packets are calculated in software. Most of the other changes in the non-VF-specific code are to expose various variables and functions private to the PF driver so that they can be used by the VF driver. Note that a limited subset of cxgbetool functions are supported on VF devices including register dumps, scheduler classes, and clearing of statistics. In addition, TOE is not supported on VF devices, only for the PF interfaces. Reviewed by: np MFC after: 2 months Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D7599
|
#
b90d9a37 |
|
06-Sep-2016 |
Jared McNeill <jmcneill@FreeBSD.org> |
Add "pci" as a dependency to ichss. Reviewed by: jhibbits
|
#
4e8a91fb |
|
04-Sep-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Make some additional -Wconstant-conversion warnings from clang 3.9.0 in bwn(4) non-fatal for now.
|
#
664a7497 |
|
03-Sep-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
Implement a generic bhnd(4) device enumeration table API. This defines a new bhnd_erom_if API, providing a common interface to device enumeration on siba(4) and bcma(4) devices, for use both in the bhndb bridge and SoC early boot contexts, and migrates mips/broadcom over to the new API. This also replaces the previous adhoc device enumeration support implemented for mips/broadcom. Migration of bhndb to the new API will be implemented in a follow-up commit. - Defined new bhnd_erom_if interface for bhnd(4) device enumeration, along with bcma(4) and siba(4)-specific implementations. - Fixed a minor bug in bhndb that logged an error when we attempted to map the full siba(4) bus space (18000000-17FFFFFF) in the siba EROM parser. - Reverted use of the resource's start address as the ChipCommon enum_addr in bhnd_read_chipid(). When called from bhndb, this address is found within the host address space, resulting in an invalid bridged enum_addr. - Added support for falling back on standard bus_activate_resource() in bhnd_bus_generic_activate_resource(), enabling allocation of the bhnd_erom's bhnd_resource directly from a nexus-attached bhnd(4) device. - Removed BHND_BUS_GET_CORE_TABLE(); it has been replaced by the erom API. - Added support for statically initializing bhnd_erom instances, for use prior to malloc availability. The statically allocated buffer size is verified both at runtime, and via a compile-time assertion (see BHND_EROM_STATIC_BYTES). - bhnd_erom classes are registered within a module via a linker set, allowing mips/broadcom to probe available EROM parser instances without creating a strong reference to bcma/siba-specific symbols. - Migrated mips/broadcom to bhnd_erom_if, replacing the previous MIPS-specific device enumeration implementation. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D7748
|
#
dbbaf04f |
|
03-Sep-2016 |
Mark Johnston <markj@FreeBSD.org> |
Remove support for idle page zeroing. Idle page zeroing has been disabled by default on all architectures since r170816 and has some bugs that make it seemingly unusable. Specifically, the idle-priority pagezero thread exacerbates contention for the free page lock, and yields the CPU without releasing it in non-preemptive kernels. The pagezero thread also does not behave correctly when superpage reservations are enabled: its target is a function of v_free_count, which includes reserved-but-free pages, but it is only able to zero pages belonging to the physical memory allocator. Reviewed by: alc, imp, kib Differential Revision: https://reviews.freebsd.org/D7714
|
#
2d77e0ca |
|
01-Sep-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the digi(4) drivers. These drivers were never updated for the new TTY changes and have been disconnected from the build since 8.0. Ok'd by: imp, peterj
|
#
5ef231f6 |
|
27-Aug-2016 |
Mariusz Zaborski <oshogbo@FreeBSD.org> |
Add cnv API. cnv API is a set of functions for managing name/value pairs by cookie. The cookie can be obtained by nvlist_next(), nvlist_get_parent() or nvlist_get_pararr() function. This patch also includes unit tests. Submitted by: Adam Starak <starak.adam@gmail.com>
|
#
f90f4b65 |
|
26-Aug-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): Initial PMU/PWRCTL power and clock management support. - Added bhnd_pmu driver implementations for PMU and PWRCTL chipsets, derived from Broadcom's ISC-licensed HND code. - Added bhnd bus-level support for routing per-core clock and resource power requests to the PMU device. - Lift ChipCommon support out into the bhnd module, dropping bhnd_chipc. Reviewed by: mizhka Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D7492
|
#
240f8c2d |
|
21-Aug-2016 |
Ed Schouten <ed@FreeBSD.org> |
Add CPU independent code for running 32-bits CloudABI executables. Essentially, this is a literal copy of the code in sys/compat/cloudabi64, except that it now makes use of 32-bits datatypes and limits. In sys/conf/files, we now need to take care to build the code in sys/compat/cloudabi if either COMPAT_CLOUDABI32 or COMPAT_CLOUDABI64 is turned on. This change does not yet include any of the CPU dependent bits. Right now I have implementations for running i386 binaries both on i386 and x86-64, which I will send out for review separately.
|
#
21768fa9 |
|
19-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the ie(4) driver for Intel 82586 ISA Ethernet adapters. This driver only supports 10Mb Ethernet using PIO (the hardware supports DMA, but the driver only does PIO). There are not any PCCard adapters supported by this driver, only ISA cards. In addition, it does not use bus_space but instead uses bcopy with volatile pointers triggering a host of warnings. (if_ie.c is one of 3 files always built with -Wno-error) Relnotes: yes
|
#
09b9789b |
|
19-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the wl(4) driver and wlconfig(8) utility. The wl(4) driver supports pre-802.11 PCCard wireless adapters that are slower than 802.11b. They do not work with any of the 802.11 framework and the driver hasn't been reported to actually work in a long time. Relnotes: yes
|
#
64450fdf |
|
19-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the wds(4) driver for the WD700 ISA SCSI HBA. While this driver does do DMA, it bounce buffers all transactions through a single 64k buffer. It also does not have a manpage. Relnotes: yes
|
#
c1c97642 |
|
19-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the si(4) driver and sicontrol(8) for Specialix serial cards. The si(4) driver supported multiport serial adapters for ISA, EISA, and PCI buses. This driver does not use bus_space, instead it depends on direct use of the pointer returned by rman_get_virtual(). It is also still locked by Giant and calls for patch testing to convert it to use bus_space were unanswered. Relnotes: yes
|
#
88912400 |
|
19-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the scd(4) driver for Sony CDU31/33 CD-ROM drives. This is a driver for a pre-ATAPI ISA CD-ROM adapter. The driver only uses PIO.
|
#
1728aef2 |
|
16-Aug-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
bhnd(4): Implement NVRAM support required for PMU bring-up. - Added a generic bhnd_nvram_parser API, with support for the TLV format used on WGT634U devices, the standard BCM NVRAM format used on most modern devices, and the "board text file" format used on some hardware to supply external NVRAM data at runtime (e.g. via an EFI variable). - Extended the bhnd_bus_if and bhnd_nvram_if interfaces to support both string-based and primitive data type variable access, required for common behavior across both SPROM and NVRAM data sources. - Extended the existing SPROM implementation to support the new string-based NVRAM APIs. - Added an abstract bhnd_nvram driver, implementing the bhnd_nvram_if atop the bhnd_nvram_parser API. - Added a CFE-based bhnd_nvram driver to provide read-only access to NVRAM data on MIPS SoCs, pending implementation of a flash-aware bhnd_nvram driver. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D7489
|
#
061ae3c5 |
|
15-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Remove the mcd(4) driver for Mitsumi CD-ROM players. This is a driver for a pre-ATAPI ISA CD-ROM adapter. As noted in the manpage, this driver is only useful as a backend to cdcontrol to play audio CDs since it doesn't use DMA, so its data performance is "abysmal" (and that was true in the mid 90's).
|
#
d8caf56e |
|
13-Aug-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add ipfw_nat64 module that implements stateless and stateful NAT64. The module works together with ipfw(4) and implemented as its external action module. Stateless NAT64 registers external action with name nat64stl. This keyword should be used to create NAT64 instance and to address this instance in rules. Stateless NAT64 uses two lookup tables with mapped IPv4->IPv6 and IPv6->IPv4 addresses to perform translation. A configuration of instance should looks like this: 1. Create lookup tables: # ipfw table T46 create type addr valtype ipv6 # ipfw table T64 create type addr valtype ipv4 2. Fill T46 and T64 tables. 3. Add rule to allow neighbor solicitation and advertisement: # ipfw add allow icmp6 from any to any icmp6types 135,136 4. Create NAT64 instance: # ipfw nat64stl NAT create table4 T46 table6 T64 5. Add rules that matches the traffic: # ipfw add nat64stl NAT ip from any to table(T46) # ipfw add nat64stl NAT ip from table(T64) to 64:ff9b::/96 6. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96 via NAT64 host. Stateful NAT64 registers external action with name nat64lsn. The only one option required to create nat64lsn instance - prefix4. It defines the pool of IPv4 addresses used for translation. A configuration of instance should looks like this: 1. Add rule to allow neighbor solicitation and advertisement: # ipfw add allow icmp6 from any to any icmp6types 135,136 2. Create NAT64 instance: # ipfw nat64lsn NAT create prefix4 A.B.C.D/28 3. Add rules that matches the traffic: # ipfw add nat64lsn NAT ip from any to A.B.C.D/28 # ipfw add nat64lsn NAT ip6 from any to 64:ff9b::/96 4. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96 via NAT64 host. Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D6434
|
#
56132dcc |
|
13-Aug-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Move logging via BPF support into separate file. * make interface cloner VNET-aware; * simplify cloner code and use if_clone_simple(); * migrate LOGIF_LOCK() to rmlock; * add ipfw_bpf_mtap2() function to pass mbuf to BPF; * introduce new additional ipfwlog0 pseudo interface. It differs from ipfw0 by DLT type used in bpfattach. This interface is intended to used by ipfw modules to dump packets with additional info attached. Currently pflog format is used. ipfw_bpf_mtap2() function uses second argument to determine which interface use for dumping. If dlen is equal to ETHER_HDR_LEN it uses old ipfw0 interface, if dlen is equal to PFLOG_HDRLEN - ipfwlog0 will be used. Obtained from: Yandex LLC Sponsored by: Yandex LLC
|
#
23ac9029 |
|
12-Aug-2016 |
Stephen Hurd <shurd@FreeBSD.org> |
Update iflib to support more NIC designs - Move group task queue into kern/subr_gtaskqueue.c - Change intr_enable to return an int so it can be detected if it's not implemented - Allow different TX/RX queues per set to be different sizes - Don't split up TX mbufs before transmit - Allow a completion queue for TX as well as RX - Pass the RX budget to isc_rxd_available() to allow an earlier return and avoid multiple calls Submitted by: shurd Reviewed by: gallatin Approved by: scottl Differential Revision: https://reviews.freebsd.org/D7393
|
#
13b4b4df |
|
10-Aug-2016 |
Ed Schouten <ed@FreeBSD.org> |
Provide the CloudABI vDSO to its executables. CloudABI executables already provide support for passing in vDSOs. This functionality is used by the emulator for OS X to inject system call handlers. On FreeBSD, we could use it to optimize calls to gettimeofday(), etc. Though I don't have any plans to optimize any system calls right now, let's go ahead and already pass in a vDSO. This will allow us to simplify the executables, as the traditional "syscall" shims can be removed entirely. It also means that we gain more flexibility with regards to adding and removing system calls. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D7438
|
#
0ce1624d |
|
08-Aug-2016 |
Stephen J. Kiernan <stevek@FreeBSD.org> |
Move IPv4-specific jail functions to new file netinet/in_jail.c _prison_check_ip4 renamed to prison_check_ip4_locked Move IPv6-specific jail functions to new file netinet6/in6_jail.c _prison_check_ip6 renamed to prison_check_ip6_locked Add appropriate prototypes to sys/sys/jail.h Adjust kern_jail.c to call prison_check_ip4_locked and prison_check_ip6_locked accordingly. Add netinet/in_jail.c and netinet6/in6_jail.c to the list of files that need to be built when INET and INET6, respectively, are configured in the kernel configuration file. Reviewed by: jtl Approved by: sjg (mentor) Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D6799
|
#
6c995137 |
|
29-Jul-2016 |
Warner Losh <imp@FreeBSD.org> |
Fix typo.
|
#
08f13879 |
|
28-Jul-2016 |
Warner Losh <imp@FreeBSD.org> |
Move protocol specific stuff into a linker set object that's per-protocol. This reduces the number scsi symbols references by cam_xpt significantly, and eliminates all ata / nvme symbols. There's still some NVME / ATA specific code for dealing with XPT_NVME_IO and XPT_ATA_IO respectively, and a bunch of scsi-specific code, but this is progress. Differential Revision: https://reviews.freebsd.org/D7289
|
#
92ee0c01 |
|
27-Jul-2016 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Enable the build of micphy as part of generic miibus build, but only for FDT enabled systems. Sponsored by: Rubicon Communications (Netgate)
|
#
4ac21b4f |
|
27-Jul-2016 |
Stephen J. Kiernan <stevek@FreeBSD.org> |
Prepare for network stack as a module - Move cr_canseeinpcb to sys/netinet/in_prot.c in order to separate the INET and INET6-specific code from the rest of the prot code (It is only used by the network stack, so it makes sense for it to live with the other network stack code.) - Move cr_canseeinpcb prototype from sys/systm.h to netinet/in_systm.h - Rename cr_seeotheruids to cr_canseeotheruids and cr_seeothergids to cr_canseeothergids, make them non-static, and add prototypes (so they can be seen/called by in_prot.c functions.) - Remove sw_csum variable from ip6_forward in ip6_forward.c, as it is an unused variable. Reviewed by: gnn, jtl Approved by: sjg (mentor) Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D2901
|
#
e4ff4297 |
|
25-Jul-2016 |
Sean Bruno <sbruno@FreeBSD.org> |
Update iwmfw(4) to include support for 8260 series units and update f/w for the other devices supported by this driver. Patch linked in https://reviews.freebsd.org/D6967 but not actually a part of the review. Obtained from DragonflyBSD. Submitted by: Kevin Bowling <kev009@kev009.com> MFC after: 2 weeks Relnotes: yes
|
#
3e560c53 |
|
23-Jul-2016 |
Navdeep Parhar <np@FreeBSD.org> |
Fix kernel builds with "device cxgbe".
|
#
f91fca5b |
|
22-Jul-2016 |
John Baldwin <jhb@FreeBSD.org> |
Add a driver to create VF devices on Chelsio T4/T5 NICs. Chelsio NICs are a bit unique compared to some other NICs in that they expose different functionality on different physical functions. In particular, PF4 is used to manage the NIC interfaces ('t4nex' and 't5nex'). However, PF4 is not able to create VF devices. Instead, VFs are only supported by physical functions 0 through 3. This commit adds 't4iov' and 't5iov' drivers that attach to PF0-3. One extra wrinkle is that the iov devices cannot enable SR-IOV until the firwmare has been initialized by the main PF4 driver. To handle this case, a new t4_if kobj interface has been added to permit cross-calls between the PF drivers. The PF4 driver notifies sibling drivers when it is fully attached. It also requests sibling drivers to detach before it detaches. Sibling drivers query the PF4 driver during their attach routine to see if it is attached. If not, the sibling drivers defer their attach actions until the PF4 driver informs them it is attached. VF devices are associated with a single port on the NIC. VF devices created from PF0 are associated with the first port on the NIC, VFs from PF1 are associated with the second port, etc. VF devices can only be created from a PF device that has an associated port. Thus, on a 2-port card, VFs are only supported on PF0 and PF1. Reviewed by: np (earlier versions) MFC after: 1 month Sponsored by: Chelsio Communications
|
#
d12543e0 |
|
21-Jul-2016 |
Warner Losh <imp@FreeBSD.org> |
Fix cam builds w/o nvme. This is a stop-gap fix until the real fix of dynamically loading XPTs is done and tested. MFC After: 1 week
|
#
b867e84e |
|
18-Jul-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add ipfw_nptv6 module that implements Network Prefix Translation for IPv6 as defined in RFC 6296. The module works together with ipfw(4) and implemented as its external action module. When it is loaded, it registers as eaction and can be used in rules. The usage pattern is similar to ipfw_nat(4). All matched by rule traffic goes to the NPT module. Reviewed by: hrs Obtained from: Yandex LLC MFC after: 1 month Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D6420
|
#
f24c011b |
|
10-Jun-2016 |
Warner Losh <imp@FreeBSD.org> |
Commit the bits of nda that were missed. This should fix the build. Approved by: re@
|
#
baabaca3 |
|
09-Jun-2016 |
Warner Losh <imp@FreeBSD.org> |
New NVMe front end (nda).
|
#
7ba7852f |
|
04-Jun-2016 |
Landon J. Fuller <landonf@FreeBSD.org> |
Switch mips/sentry5 to bhnd(4), and unify with mips/broadcom Now that bhnd(4) provides feature parity with the previous siba/mips implementation, we can switch sentry5 over and begin lifting common support code out for use across bhnd(4) embedded targets. Changes: - Fixed enumeration of siba(4) per-core address maps, required for discovery of memory mapped chipc flash region on siba(4) devices. - Simplified bhnd kernel configuration (dropped 'bhndbus' option). - Replaced files.broadcom's direct file references with their corresponding standard kernel options. - Lifted out common bcma/siba nexus support, inheriting from the new generic bhnd_nexus driver. - Dropped now-unused sentry5 siba code. - Re-integrated BCM into the universe build now that it actually compiles. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D6712
|
#
00d6aaed |
|
01-Jun-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[iwm] add if_iwm_led.c into the build.
|
#
bcf5fc49 |
|
01-Jun-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[ath] commit initial bluetooth coexistence support for the MCI NICs. This is the initial framework to call into the MCI HAL routines and drive the basic state engine. The MCI bluetooth coex model uses a command channel between wlan and bluetooth, rather than a 2-wire or 3-wire signaling protocol to control things. This means the wlan and bluetooth chip exchange a lot more information and signaling, even at the per-packet level. The NICs in question can share the input LNA and output PA on the die, so they absolutely can't stomp on each other in a silly fashion. It also allows for the bluetooth side to signal when profiles come and go, so the driver can take appropriate control. There's also the possibility of dynamic bluetooth/wlan duty cycle control which I haven't yet really played with. It configures things up with a static "wlan wins everything" coexistence, configures up the available 2GHz channel map for bluetooth, sets a static duty cycle for bluetooth/wifi traffic priority and drives the basics needed to keep the MCI HAL code happy. It doesn't do any actual coexistence except to default to "wlan wins everything", which at least demonstrates that things do indeed work. Bluetooth inquiry frames still trump wifi (including beacons), so that demonstrates things really do indeed seem to work. Tested: * AR9462 (WB222), STA mode + bt * QCA9565 (WB335), STA mode + bt TODO: * .. the rest of coexistence. yes, bluetooth, not people. That stuff's hard. * It doesn't do the initial BT side calibration, which requires a WLAN chip reset. I'll fix up the reset path a bit more first before I enable that. * The 1-ant and 2-ant configuration bits aren't being set correctly in if_ath_btcoex.c - I'll dig into that and fix it in a subsequent commit. * It's not enabled by default for WB222/WB225 even though I believe it now can be - I'll chase that up in a subsequent commit. Obtained from: Qualcomm Atheros, Linux ath9k
|
#
0144ad3e |
|
30-May-2016 |
Allan Jude <allanjude@FreeBSD.org> |
Connect the SHA-512t256 and Skein hashing algorithms to ZFS Support for the new hashing algorithms in ZFS was introduced in r289422 However it was disconnected because FreeBSD lacked implementations of SHA-512 (truncated to 256 bits), and Skein. These implementations were introduced in r300921 and r300966 respectively This commit connects them to ZFS and enabled these new checksum algorithms This new algorithms are not supported by the boot blocks, so do not use them on your root dataset if you boot from ZFS. Relnotes: yes Sponsored by: ScaleEngine Inc.
|
#
9a812993 |
|
29-May-2016 |
Don Lewis <truckman@FreeBSD.org> |
Now that PIE is free of runtime floating point, revert r300853 to reconnect PIE to the build.
|
#
9d2cb821 |
|
27-May-2016 |
Don Lewis <truckman@FreeBSD.org> |
Disconnect PIE from the build until it is free of floating point math. Reported by: lidl, adrian
|
#
b38b13d8 |
|
26-May-2016 |
Kevin Lo <kevlo@FreeBSD.org> |
Add rtwn(4) and rtwnfw(4).
|
#
128e3872 |
|
26-May-2016 |
Ian Lepore <ian@FreeBSD.org> |
Add a PPS driver that takes the timing pulse from a gpio pin. Currently supports only ofw/fdt systems. Some day, hinted attachment for non-fdt systems should be possible too.
|
#
ef94ebfc |
|
26-May-2016 |
Don Lewis <truckman@FreeBSD.org> |
Include the new AQM files when compiling a kernel with options DUMMYNET. Reported by: Nikolay Denev <nike_d AT cytexbg DOT com> MFC after: 2 weeks (with r300779)
|
#
6c6f602b |
|
26-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[gpiospi] add initial gpio SPI bit bang driver. Submitted by: ray Obtained from: zrouter
|
#
d67fe28b |
|
26-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[spigen] add initial spigen driver from green@ This is a simple ioctl and mmap API to issue SPI transactions from userland. It's useful for simple devices (eg spi temperature sensors, etc) for experimentation. TODO: * Write some documentation! Submitted by: green
|
#
8ba8cb91 |
|
23-May-2016 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Move the OFW iicbus code to dev/iicbus to stop polluting dev/ofw with unrelated code. Discussed with: nwhitehorn (a long time ago)
|
#
f4a3eb02 |
|
23-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bhnd] Implement pass-through resource management for ChipCommon. This patchset adds support to bhnd_chipc for sharing SYS_RES_MEMORY resources with its children, allowing us to hang devices off of bhnd_chipc that rely on access to a subset of the device register space that bhnd_chipc itself must also allocate. We could avoid most of this heavy lifting if RF_SHAREABLE+SYS_RES_MEMORY wasn't limited to use with allocations at the same size/offset. As a work-around, I implemented something similar to vga_pci.c, which implements similar reference counting of of PCI BAR resources for its children. With these changes, chipc will use reference counting of SYS_RES_MEMORY allocation/activation requests, to decide when to allocate/activate/ deactivate/release resources from the parent bhnd(4) bus. The requesting child device is allocated a new resource from chipc's rman, pointing to (possibly a subregion of) the refcounted bhnd resources allocated by chipc. Other resource types are just passed directly to the parent bhnd bus; RF_SHAREABLE works just fine with IRQs. I also lifted the SPROM device code out into a common driver, since this now allows me to hang simple subclasses off of a common driver off of both bhndb_pci and bhnd_chipc. Tested: * (landonf) Tested against BCM4331 and BCM4312, confirmed that SPROM still attaches and can be queried. Submitted by: Landon Fuller <landonf@landonf.org> Reviewed by: mizkha@gmail.com Differential Revision: https://reviews.freebsd.org/D6471
|
#
9d292ea1 |
|
22-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bhnd] Add support for querying the attachment type of the bhnd bus. This adds a BHND_BUS_GET_ATTACH_TYPE(); the primary use-case is to let chipc make a coarse-grained determination as to whether UART, SPI, etc drivers ought to be attached, and on fullmac devices, whether a real CPU driver ought to be skipped for the ARM core, etc. Tested: * BCM4331 (BHND) * BCM4312 (SIBA) Submitted by: Landon Fuller <landonf@landonf.org> Differential Revision: https://reviews.freebsd.org/D6492
|
#
4c7070db |
|
17-May-2016 |
Scott Long <scottl@FreeBSD.org> |
Import the 'iflib' API library for network drivers. From the author: "iflib is a library to eliminate the need for frequently duplicated device independent logic propagated (poorly) across many network drivers." Participation is purely optional. The IFLIB kernel config option is provided for drivers that want to transition between legacy and iflib modes of operation. ixl and ixgbe driver conversions will be committed shortly. We hope to see participation from the Broadcom and maybe Chelsio drivers in the near future. Submitted by: mmacy@nextbsd.org Reviewed by: gallatin Differential Revision: D5211
|
#
706923d7 |
|
17-May-2016 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Finish cleaning up after killing ReiserFS. Remove LINT/NOTES option and file linkages.
|
#
257cbe34 |
|
17-May-2016 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Rename icl_proxy.c to icl_soft_proxy.c, to make it clear it's a part of software ICL backend. MFC after: 1 month Sponsored by: The FreeBSD Foundation
|
#
52562029 |
|
17-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bwn] add in bwn n-phy linking. * The default kernel and options won't build the GPL PHY bits; * bwn(4) defaults to building as a module anyway!; * If BWN_GPL_PHY is specified in the config file, and you uncomment the GPL PHY bits in the module Makefile, you'll get a working N-PHY. This is specifically designed to be obtuse for now, as I don't want to flip it on by default. It's easy enough for people to flip on and build, and it's a module so the default GENERIC kernel won't be GPL tainted. I'll have to add an actual HAL layer that allows the GPL PHY to be loaded before if_bwn so it can be "magic", but that'll come later. Tested: * BCM4321 11abg NIC, STA mode
|
#
8ef24a0d |
|
17-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bhnd] Finish bhnd(4) PCI/PCIe-G1 hostb support. Now that we've got access to SPROM and can access board identification, this implements all known remaining hardware work-arounds for the bhnd(4) PCI and PCIe-G1 cores operating endpoint mode. Additionally, this adds an initial set of skeleton PCIe-G2 hostb and pcib drivers, required by fullmac and newer softmac devices. Submitted by: Landon Fuller <landonf@landonf.org> Differential Revision: https://reviews.freebsd.org/D6377
|
#
c41639c2 |
|
14-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bwn] add in the new phy common and utils files. They're not yet used by included code; that'll come next.
|
#
89f0b8c6 |
|
13-May-2016 |
Ed Maste <emaste@FreeBSD.org> |
Remove sh accidentally added to dependency lines in r299684 Submitted by: Landon Fuller <landonf@landonf.org>
|
#
96807c23 |
|
13-May-2016 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T5 and T4 firmwares to 1.15.37.0. These firmwares were obtained from the "Chelsio T5/T4 Unified Wire v2.12.0.3 for Linux" release. Changes since 1.14.4.0 (which is the firmware in -STABLE branches) are in the "Release Notes" accompanying the Unified Wire release and are copy-pasted here as well. 22.1. T5 Firmware +++++++++++++++++++++++++++++++++ Version : 1.15.37.0 Date : 04/27/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where the default ingress queue was ignored. - Fixed an issue where adapter failed to load fw by adjusting DRAM frequency. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Fixed 40G link failures with some switches when auto-negotiation enabled. - Fixed to improve on link bring-up time. - Per port buffer groups size doubled to improve performance. - Fixed an issue where bogus d3hot bits were set causing traffic stall. - Fixed an issue where sometimes adapter was not seen after reboot. - Fixed an issue where iWARP was crashing in conjunction with traffic management. - Fixed an issue where link failed to come up after removing twinax cable and inserting optical module. ETH - Fixed a link flap issue on T580-CR. OFLD - Fixed a potential iSCSI data corruption issue by disabling RxFragEn flag. FOiSCSI - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP was not been provisioned yet and driver tried to use given inerface. - Fixed an issue where fw was sending ENETUNREACH event for normal tcp disconnection. DCBX - Fixed an issue where iscsi tlv is sent incorrectly to host. (DCBX CEE) - Fixed an issue where apply bit set for APP id was affecting the ETS and PFC settings.(DCBX IEEE) - Fixed an issue where app priority values are not handled correctly in fw. (DCBX IEEE) - Fixed an issue where enable/disable dcbx can cause crash. (DCBX CEE,DCBX IEEE) FOFCoE - Removed BB6 support. ENHANCEMENTS ------------ BASE: - Added new interface to program DCA settings in SGE contexts; allow 32-byte IQE size - Added PTP interface fw_ptp_ts to support PTP Frequeny and Offset adjustment. - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. OFLD: - WR opcode is returned to host in cqe error response. 22.2. T4 Firmware +++++++++++++++++ Version : 1.15.37.0 Date : 04/27/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where default ingress queue was ignored. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Per port buffer groups size doubled to improve performance. - Fixed an issue where iWARP was crashing in conjunction with traffic management. FOiSCSI: - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP had not been provisioned yet and driver tried to use given inerface. DCBX - Fixed an issue where iscsi tlv is sent incorrectly to host.(DCBX CEE) - Fixed an issue where enable/disable dcbx can cause crash in firmware.(DCBX CEE) FOiSCSI - Fixes an issue where fw was sending ENETUNREACH event for normal tcp disconnection. FOFCoE - Removed BB6 support. ENHANCEMENTS ------------ BASE: - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. ================================================================================ Obtained from: Chelsio Communications MFC after: 6 weeks Relnotes: yes Sponsored by: Chelsio Communications
|
#
16fba18f |
|
13-May-2016 |
Dimitry Andric <dim@FreeBSD.org> |
After r299241, which added bhnd(4), use sh to run the shell scripts for generating nvram maps, to allow a noexec-mounted source directory. Reported by: Johan Hendriks <joh.hendriks@gmail.com> PR: 209435
|
#
5a333f6f |
|
11-May-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add gpiokeys driver gpiokey driver implements functional subset of gpiokeys device-tree bindings: https://www.kernel.org/doc/Documentation/devicetree/bindings/input/gpio-keys.txt It acts as a virtual keyboard, so keys are visible through kbdmux(4) Driver maps linux scancodes for most common keys to FreeBSD scancodes and also extends spec by introducing freebsd,code property to specify FreeBSD-native scancodes. Reviewed by: mmel, jmcneill Differential Revision: https://reviews.freebsd.org/D6279
|
#
0c3833fb |
|
10-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
Rename siba -> siba_s5, to specifically reference that it's for the legacy siba sentry5 cpu glue. The siba_cc code is the hard-coded chipcommon bits for the sentry s5, which will eventually be replaced with the more flexible bhnd sipa/cc code. bwn, etc uses siba_bwn, which doesn't use siba or siba_cc to do anything.
|
#
45d8d791 |
|
09-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[siba] migrate siba.c to siba_mips.c Turns out that ye olde siba.c is /just/ the siba mips code (used by the initial SENTRY5 port. However, I don't think it was ever finished enough to be useful, and I do have this nagging feeling that we'll eventually replace it with the bhnd code. But, since bhnd(4) introduced siba.c too, we ended up with a source file name clash, and that broke the SENTRY5 build. It /looks/ like this is the only place siba.c / device siba is used.
|
#
e83ce340 |
|
08-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bhnd] Initial bhnd(4) SPROM/NVRAM support. This adds support for the NVRAM handling and the basic SPROM hardware used on siba(4) and bcma(4) devices, including: * SPROM directly attached to the PCI core, accessible via PCI configuration space. * SPROM attached to later ChipCommon cores. * SPROM variables vended from the parent SoC bus (e.g. via a directly-attached flash device). Additional improvements to the NVRAM/SPROM interface will be required, but this changeset stands alone as working checkpoint. Submitted by: Landon Fuller <landonf@landonf.org> Reviewed by: Michael Zhilin <mizkha@gmail.com> (Broadcom MIPS support) Differential Revision: https://reviews.freebsd.org/D6196
|
#
148ed571 |
|
04-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bwn] [bhnd] initial support for using bhnd for if_bwn devices. This is an initial work in progress to use the replacement bhnd bus code for devices which support it. * Add manpage updates for bhnd, bhndb, siba * Add kernel options for bhnd, bhndbus, etc * Add initial support in if_bwn_pci / if_bwn_mac for using bhnd as the bus transport for suppoted NICs * if_bwn_pci will eventually be the PCI bus glue to interface to bwn, which will use the right backend bus to attach to, versus direct nexus/bhnd attachments (as found in embedded broadcom devices.) The PCI glue defaults to probing at a lower level than the bwn glue, so bwn should still attach as per normal without a boot time tunable set. It's also not fully fleshed out - the bwn probe/attach code needs to be broken out into platform and bus specific things (just like ath, ath_pci, ath_ahb) before we can shift the driver over to using this. Tested: * BCM4311, STA mode * BCM4312, STA mode Submitted by: Landon Fuller <landonf@landonf.org> Differential Revision: https://reviews.freebsd.org/D6191
|
#
d546e47a |
|
02-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bwn] break out the 'g' phy code into a separate source file. * Break out the 'g' phy code; * Break out the debugging bits into a separate source file, since some debugging prints are done in the phy code; * Make some more chip methods in if_bwn.c public. This brings the size of if_bwn.c down to 6,805 lines which is now approaching managable.
|
#
b9768303 |
|
02-May-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[bwn] break out the LP PHY code into a separate file. This (and eventually migrating the other PHY code out) is in preparation for adding the 11n PHY. No, the 11ac PHY (for the BCM4260 softmac part) isn't yet open source, so we can't grow that. Yet. This trims ~3,700 lines of code from if_bwn.c, bringing it down to a slightly less crazy sounding 10,446 lines of code.
|
#
fd868a25 |
|
15-Apr-2016 |
Stanislav Galabov <sgalabov@FreeBSD.org> |
Change the fdt_static_dtb.S dependency fdt_static_dtb.S dependency in sys/conf/files is currently set as: $S/boot/fdt/dts/${MACHINE}/${FDT_DTS_FILE} This is wrong, as what fdt_static_dtb.S actually uses is the DTB file produced from the FDT_DTS_FILE. In addition it also makes using DTS files stored in $S/gnu/dts/${MACHINE}/ impossible. So, change the dependency to "fdt_dtb_file", which seems to be the right option here anyway. Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D5963
|
#
2acdf79f |
|
14-Apr-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add External Actions KPI to ipfw(9). It allows implementing loadable kernel modules with new actions and without needing to modify kernel headers and ipfw(8). The module registers its action handler and keyword string, that will be used as action name. Using generic syntax user can add rules with this action. Also ipfw(8) can be easily modified to extend basic syntax for external actions, that become a part base system. Sample modules will coming soon. Obtained from: Yandex LLC Sponsored by: Yandex LLC
|
#
a6e0c5da |
|
14-Apr-2016 |
Warner Losh <imp@FreeBSD.org> |
New CAM I/O scheduler for FreeBSD. The default I/O scheduler is the same as before. The common scheduling bits have moved from inline code in each of the CAM periph drivers into a library that implements the default scheduling. In addition, a number of rate-limiting and I/O preference options can be enabled by adding CAM_IOSCHED_NETFLIX to your config file. A number of extra stats are also maintained. CAM_IOSCHED_NETFLIX isn't on by default because it uses a separate BIO_READ and BIO_WRITE queue, so doesn't honor BIO_ORDERED between these two types of operations. We already didn't honor it for BIO_DELETE, and we don't depend on BIO_ORDERED between reads and writes anywhere in the system (it is currently used with BIO_FLUSH in ZFS to make sure some writes are complete before others start and as a poor-man's soft dependency in one place in UFS where we won't be issuing READs until after the operation completes). However, out of an abundance of caution, it isn't enabled by default. Plus, this also brings in NCQ TRIM support for those SSDs that support it. A black list is also provided for known rogues that use NCQ trim as an excuse to corrupt the drive. It was difficult to separate out into a separate commit. This code has run in production at Netflix for over a year now. Sponsored by: Netflix, Inc Differential Revision: https://reviews.freebsd.org/D4609
|
#
46360281 |
|
07-Apr-2016 |
Ed Maste <emaste@FreeBSD.org> |
Add option to specify built-in keymap for kbdmux PR: 153459 Submitted by: swell.k@gmail.com
|
#
b738dafd |
|
01-Apr-2016 |
Jared McNeill <jmcneill@FreeBSD.org> |
Move support for Synopsys Designware APB UART out of ns8250 and into a separate driver. Add support for activating clock and hwreset resources for these devices when the EXT_RESOURCES option is present. Reviewed by: andrew, mmel, Emmanuel Vadot <manu@bidouilliste.com> Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D5749
|
#
f6b5fa42 |
|
20-Mar-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
Now that urtwn is its own device, and it'll get hotplug loaded by devd/ifconfig/etc, don't build it in the kernel. This should fix the build as well! Notice by: dchagin
|
#
4e3d35d7 |
|
15-Mar-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Add phy framework, a next part of new 'extended resources' family of support frameworks (i.e. clk/regulators/tsensors/fuses...). It provides simple unified consumers interface for manipulations with phy (USB/SATA/PCIe) resources.
|
#
878ca242 |
|
15-Mar-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Add regulator framework, a next part of new 'extended resources' family of support frameworks(i.e. clk/reset/phy/tsensors/fuses...). The framework is still far from perfect and probably doesn't have stable interface yet, but we want to start testing it on more real boards and different architectures.
|
#
58de8459 |
|
15-Mar-2016 |
Michal Meloun <mmel@FreeBSD.org> |
CLK: Add enumerator for 'clocks' OFW node. Add bus device bindings for clk_fixed class.
|
#
f3215338 |
|
01-Mar-2016 |
John Baldwin <jhb@FreeBSD.org> |
Refactor the AIO subsystem to permit file-type-specific handling and improve cancellation robustness. Introduce a new file operation, fo_aio_queue, which is responsible for queueing and completing an asynchronous I/O request for a given file. The AIO subystem now exports library of routines to manipulate AIO requests as well as the ability to run a handler function in the "default" pool of AIO daemons to service a request. A default implementation for file types which do not include an fo_aio_queue method queues requests to the "default" pool invoking the fo_read or fo_write methods as before. The AIO subsystem permits file types to install a private "cancel" routine when a request is queued to permit safe dequeueing and cleanup of cancelled requests. Sockets now use their own pool of AIO daemons and service per-socket requests in FIFO order. Socket requests will not block indefinitely permitting timely cancellation of all requests. Due to the now-tight coupling of the AIO subsystem with file types, the AIO subsystem is now a standard part of all kernels. The VFS_AIO kernel option and aio.ko module are gone. Many file types may block indefinitely in their fo_read or fo_write callbacks resulting in a hung AIO daemon. This can result in hung user processes (when processes attempt to cancel all outstanding requests during exit) or a hung system. To protect against this, AIO requests are only permitted for known "safe" files by default. AIO requests for all file types can be enabled by setting the new vfs.aio.enable_usafe sysctl to a non-zero value. The AIO tests have been updated to skip operations on unsafe file types if the sysctl is zero. Currently, AIO requests on sockets and raw disks are considered safe and are enabled by default. aio_mlock() is also enabled by default. Reviewed by: cem, jilles Discussed with: kib (earlier version) Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D5289
|
#
dd991bd5 |
|
29-Feb-2016 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T5 and T4 firmwares to 1.15.28.0. These firmwares were obtained from the beta "Chelsio T5/T4 Unified Wire v2.12.0.2 for Linux" release. Changes since last release are listed in the "Release Notes" accompanying the beta release and are copy-pasted here as well. The plan is to have only GA'd firmwares in any -STABLE FreeBSD branch so I'll MFC this (after 2 months) only if it ends up in a GA release. ================================================================================ ================================================================================ 22.1. T5 Firmware +++++++++++++++++++++++++++++++++ Version : 1.15.28.0 Date : 02/29/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where the default ingress queue was ignored. - Fixed an issue where adapter failed to load fw by adjusting DRAM frequency. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Fixed 40G link failures with some switches when auto-negotiation enabled. - Fixed to improve on link bring-up time. - Per port buffer groups size doubled to improve performance. - Fixed an issue where bogus d3hot bits were set causing traffic stall. - Fixed an issue where sometimes adapter was not seen after reboot. - Fixed an issue where iWARP was crashing in conjunction with traffic management. - Fixed an issue where link failed to come up after removing twinax cable and inserting optical module. OFLD - Fixed a potential iSCSI data corruption issue by disabling RxFragEn flag. FOiSCSI - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP was not been provisioned yet and driver tried to use given inerface. ENHANCEMENTS ------------ BASE: - Added new interface to program DCA settings in SGE contexts; allow 32-byte IQE size - Added PTP interface fw_ptp_ts to support PTP Frequeny and Offset adjustment. - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. OFLD: - WR opcode is returned to host in cqe error response. ================================================================================ ================================================================================ 22.2. T4 Firmware +++++++++++++++++ Version : 1.15.28.0 Date : 02/29/2016 ================================================================================ FIXES ----- BASE: - Fixed an issue in FW_RSS_VI_CONFIG_CMD handling where default ingress queue was ignored. - Fixed an issue in watchdog which was causing VM bring-up failure after reboot. - Per port buffer groups size doubled to improve performance. - Fixed an issue where iWARP was crashing in conjunction with traffic management. FOiSCSI: - Fixed an issue in recovery path where connection was getting closed before recovery processing was done. - Fixed an issue in TCP port reuse. - Fixed an issue in recovery path when large number (>64) of iSCSI connections were in use. - Returned ENETUNREACH if IP had not been provisioned yet and driver tried to use given inerface. ENHANCEMENTS ------------ BASE: - Added MPS raw interface. ETH: - New mailbox command FW_DCB_IEEE_CMD api added for IEEE dcbx. ================================================================================ Obtained from: Chelsio Communications MFC after: 2 months Sponsored by: Chelsio Communications
|
#
5497acc5 |
|
23-Feb-2016 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Obsolete mkulzma(8) and geom_uncompress(4), their functionality is now provided by mkuzip(8) and geom_uzip(4) respectively. MFC after: 1 month
|
#
8f8cb840 |
|
23-Feb-2016 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Improve mkuzip(8) and geom_uzip(4), merge in LZMA support from mkulzma(8) and geom_uncompress(4): 1. mkuzip(8): - Proper support for eliminating all-zero blocks when compressing an image. This feature is already supported by the geom_uzip(4) module and CLOOP format in general, so it's just a matter of making mkuzip(8) match. It should be noted, however that this feature while it sounds great, results in very slight improvement in the overall compression ratio, since compressing default 16k all-zero block produces only 39 bytes compressed output block, which is 99.8% compression ratio. With typical average compression ratio of amd64 binaries and data being around 60-70% the difference between 99.8% and 100.0% is not that great further diluted by the ratio of number of zero blocks in the uncompressed image to the overall number of blocks being less than 0.5 (typically). However, this may be important from performance standpoint, so that kernel are not spinning its wheels decompressing those empty blocks every time this zero region is read. It could also be important when you create huge image mostly filled with zero blocks for testing purposes. - New feature allowing to de-duplicate output image. It turns out that if you twist CLOOP format a bit you can do that as well. And unlike zero-blocks elimination, this gives a noticeable improvement in the overall compression ratio, reducing output image by something like 3-4% on my test UFS2 3GB image consisting of full FreeBSD base system plus some of the packages (openjdk, apache etc), about 2.3GB worth of file data (800+MB compressed). The only caveat is that images created with this feature "on" would not work on older versions of FeeBSDxi kernel, hence it's turned off by default. - provide options to control both features and document them in manual page. - merge in all relevant LZMA compression support from the mkulzma(8), add new option to select between both. - switch license from ad-hoc beerware into standard 2-clause BSD. 2. geom_uzip(4): - implement support for de-duplicated images; - optimize some code paths to handle "all-zero" blocks without reading any compressed data; - beef up manual page to explain that geom_uzip(4) is not limited only to md(4) images. The compressed data can be written to the block device and accessed directly via magic of GEOM(4) and devfs(4), including to mount root fs from a compressed drive. - convert debug log code from being compiled in conditionally into being present all the time and provide two sysctls to turn it on or off. Due to intended use of the module, it can be used in environments where there may not be a luxury to put new kernel with debug code enabled. Having those options handy allows debug issues without as much problem by just having access to serial console or network shell access to a box/appliance. The resulting additional CPU cycles are just few int comparisons and branches, and those are minuscule when compared to data decompression which is the main feature of the module. - hopefully improve robustness and resiliency of the geom_uzip(4) by performing some of the data validation / range checking on the TOC entries and rejecting to attach to an image if those checks fail. - merge in all relevant LZMA decompression support from the geom_uncompress(4), enable automatically when appropriate format is indicated in the header. - move compilation work into its own worker thread so that it does not clog g_up. This allows multiple instances work in parallel utilizing smp cores. - document new knobs in the manual page. Reviewed by: adrian MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D5333
|
#
36e9c2ce |
|
19-Feb-2016 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Revert r295756: Extract common code from PowerPC's ofw_pci Import portions of the PowerPC OF PCI implementation into new file "ofw_pci.c", common for other platforms. The files ofw_pci.c and ofw_pci.h from sys/powerpc/ofw no longer exist. All required declarations are moved to sys/dev/ofw/ofw_pci.h. This creates a new ofw_pci_write_ivar() function and modifies ofw_pci_nranges(), ofw_pci_read_ivar(), ofw_pci_route_interrupt() methods. Most functions contain existing ppc implementations in the majority unchanged. Now there is no need to have multiple identical copies of methods for various architectures. Submitted by: Marcin Mazurek <mma@semihalf.com> Obtained from: Semihalf Sponsored by: Annapurna Labs Reviewed by: jhibbits, mmel Differential Revision: https://reviews.freebsd.org/D4879 This needs to return to the drawing board as it breaks both PowerPC and Sparc64 build. Pointed out by: jhibbits
|
#
a259e55b |
|
18-Feb-2016 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Extract common code from PowerPC's ofw_pci Import portions of the PowerPC OF PCI implementation into new file "ofw_pci.c", common for other platforms. The files ofw_pci.c and ofw_pci.h from sys/powerpc/ofw no longer exist. All required declarations are moved to sys/dev/ofw/ofw_pci.h. This creates a new ofw_pci_write_ivar() function and modifies ofw_pci_nranges(), ofw_pci_read_ivar(), ofw_pci_route_interrupt() methods. Most functions contain existing ppc implementations in the majority unchanged. Now there is no need to have multiple identical copies of methods for various architectures. Submitted by: Marcin Mazurek <mma@semihalf.com> Obtained from: Semihalf Sponsored by: Annapurna Labs Reviewed by: jhibbits, mmel Differential Revision: https://reviews.freebsd.org/D4879
|
#
a5694b65 |
|
27-Jan-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix generation of dependency rules for the LinuxKPI, the MLX5 driver and all of OFED except MLX4[EN/IB]. Sponsored by: Mellanox Technologies MFC after: 1 week
|
#
0a17d8c2 |
|
24-Jan-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Add reset framework, a second part of new 'extended resources' family of support frameworks (i.e. regulators/phy/tsensors/fuses...). It provides simple unified consumers interface for manipulations with on-chip resets. Reviewed by: ian, imp (paritaly)
|
#
12a05f9a |
|
24-Jan-2016 |
Michal Meloun <mmel@FreeBSD.org> |
Add clock framework, a first part of new 'extended resources' family of support frameworks(i.e. reset/regulators/phy/tsensors/fuses...). The clock framework significantly simplifies handling of complex clock structures found in modern SoCs. It provides the unified consumers interface, holds and manages actual clock topology, frequency and gating. It's tested on three different ARM boards (Nvidia Tegra TK1, Inforce 6410 and Odroid XU2) and on one MIPS board (Creator Ci20) by kan@. The framework is still far from perfect and probably doesn't have stable interface yet, but we want to start testing it on more real boards and different architectures. Reviewed by: ian, kan (earlier version)
|
#
937c6a18 |
|
22-Jan-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
Now that the flashmap code knows about SPI flash, add it in builds. PR: kern/206227 Submitted by: Stanislav Galabov <sgalabov@gmail.com>
|
#
33a2a37b |
|
21-Jan-2016 |
Gleb Smirnoff <glebius@FreeBSD.org> |
- Separate sendfile(2) implementation from uipc_syscalls.c into separate file. Claim my copyright. - Provide more comments, better function and structure names. - Sort out unneeded includes from resulting two files. No functional changes.
|
#
9824e4ad |
|
21-Jan-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
ext2fs: Bring back the htree dir_index implementation. The htree dir_index is perhaps one of the most characteristic features of the linux ext3 implementation. It was removed in r281670, due to repeated bug reports. Damjan Jovanic detected and fixed three bugs and did some stress testing by building Apache OpenOffice on top of it so it is now in good shape to bring back. Differential Revision: https://reviews.freebsd.org/D5007 Submitted by: Damjan Jovanovic Reviewed by: pfg Tested by: pho Relnotes: Yes MFC after: 2 months (only 10.x)
|
#
64535e84 |
|
15-Jan-2016 |
Warner Losh <imp@FreeBSD.org> |
Move ohci files to their proper place in the tree for atmel. Fix when it is included (we don't have a at91rm9200 device). From a similar patch in the PR, with tweaked names. PR: 206229
|
#
4332feca |
|
06-Jan-2016 |
Allan Jude <allanjude@FreeBSD.org> |
Make additional parts of sys/geom/eli more usable in userspace The upcoming GELI support in the loader reuses parts of this code Some ifdefs are added, and some code is moved outside of existing ifdefs The HMAC parts of GELI are broken out into their own file, to separate them from the kernel crypto/openssl dependant parts that are replaced in the boot code. Passed the GELI regression suite (tools/regression/geom/eli) Files=20 Tests=14996 Result: PASS Reviewed by: pjd, delphij MFC after: 1 week Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D4699
|
#
7a3f5d11 |
|
27-Dec-2015 |
Allan Jude <allanjude@FreeBSD.org> |
Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.c cperciva's libmd implementation is 5-30% faster The same was done for SHA256 previously in r263218 cperciva's implementation was lacking SHA-384 which I implemented, validated against OpenSSL and the NIST documentation Extend sbin/md5 to create sha384(1) Chase dependancies on sys/crypto/sha2/sha2.{c,h} and replace them with sha512{c.c,.h} Reviewed by: cperciva, des, delphij Approved by: secteam, bapt (mentor) MFC after: 2 weeks Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D3929
|
#
71e8eac4 |
|
25-Dec-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
[mdio] migrate mdiobus out of etherswitch and into a top-level device of its own. The mdio driver interface is generally useful for devices that require MDIO without the full MII bus interface. This lifts the driver/interface out of etherswitch(4), and adds a mdio(4) man page. Submitted by: Landon Fuller <landon@landonf.org> Differential Revision: https://reviews.freebsd.org/D4606
|
#
281a0fd4 |
|
24-Dec-2015 |
Patrick Kelsey <pkelsey@FreeBSD.org> |
Implementation of server-side TCP Fast Open (TFO) [RFC7413]. TFO is disabled by default in the kernel build. See the top comment in sys/netinet/tcp_fastopen.c for implementation particulars. Reviewed by: gnn, jch, stas MFC after: 3 days Sponsored by: Verisign, Inc. Differential Revision: https://reviews.freebsd.org/D4350
|
#
a9ca1c79 |
|
23-Dec-2015 |
Sean Bruno <sbruno@FreeBSD.org> |
ixgbe(4): Update to version 3.1.13-k Add support for two new devices: X552 SFP+ 10 GbE, and the single port version of X550T. Submitted by: erj Reviewed by: gnn Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D4186
|
#
bc7b9300 |
|
21-Dec-2015 |
Ian Lepore <ian@FreeBSD.org> |
Implement OF_decode_addr() for arm. Move most of powerpc's implementation into a new function that other platforms can share. This creates a new ofw_reg_to_paddr() function (in a new ofw_subr.c file) that contains most of the existing ppc implementation, mostly unchanged. The ppc code now calls the new MI code from the MD code, then creates a ppc-specific bus_space mapping from the results. The new arm implementation does the same in an arm-specific way. This also moves the declaration of OF_decode_addr() from ofw_machdep.h to openfirm.h, except on sparc64 which uses a different function signature. This will help all FDT platforms to set up early console access using OF_decode_addr().
|
#
65ff3638 |
|
08-Dec-2015 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Merge helper fib* functions used for basic lookups. Vast majority of rtalloc(9) users require only basic info from route table (e.g. "does the rtentry interface match with the interface I have?". "what is the MTU?", "Give me the IPv4 source address to use", etc..). Instead of hand-rolling lookups, checking if rtentry is up, valid, dealing with IPv6 mtu, finding "address" ifp (almost never done right), provide easy-to-use API hiding all the complexity and returning the needed info into small on-stack structure. This change also helps hiding route subsystem internals (locking, direct rtentry accesses). Additionaly, using this API improves lookup performance since rtentry is not locked. (This is safe, since all the rtentry changes happens under both radix WLOCK and rtentry WLOCK). Sponsored by: Yandex LLC
|
#
204c8e00 |
|
01-Dec-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
Add initial ar9300 HAL support for the spectral scan mode.
|
#
e1b74f21 |
|
30-Nov-2015 |
Kevin Lo <kevlo@FreeBSD.org> |
Add initial support for RTL8152 USB Fast Ethernet. RTL8152 supports IPv4/IPv6 checksum offloading and VLAN tag insertion/stripping. Since uether doesn't provide a way to announce driver specific offload capabilities to upper stack, checksum offloading support needs more work and will be done in the future. Special thanks to Hayes Wang from RealTek who gave input.
|
#
ef91a976 |
|
25-Nov-2015 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Overhaul if_enc(4) and make it loadable in run-time. Use hhook(9) framework to achieve ability of loading and unloading if_enc(4) kernel module. INET and INET6 code on initialization registers two helper hooks points in the kernel. if_enc(4) module uses these helper hook points and registers its hooks. IPSEC code uses these hhook points to call helper hooks implemented in if_enc(4).
|
#
ff6b30b9 |
|
24-Nov-2015 |
Kevin Lo <kevlo@FreeBSD.org> |
Add dependency to uether. Reviewed by: hselasky
|
#
b45de1eb |
|
23-Nov-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
[ath] migrate ioctl and busdma memory operations out into separate source files. This should be a big no-op pass; and reduces the size of if_ath.c. I'm hopefully soon going to take a whack at the USB support for ath(4) and this'll require some reuse of the busdma memory code.
|
#
22f2c49ab1 |
|
18-Nov-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add the mlx5 and mlx5en modules to the i386 and amd64 kernel builds by default and add a manual page for mlx5en. The mlx5 module contains shared code for both infiniband and ethernet. The mlx5en module contains specific code for ethernet functionality only. A mlx5ib module is in the works for infiniband support. Supported hardware: - ConnectX-4: 10/20/25/40/50/56/100Gb/s speeds. - ConnectX-4 LX: 10/25/40/50Gb/s speeds (low power consumption) Refer to the mlx5en(4) manual page for a comprehensive list. The team porting the mlx5 driver(s) to FreeBSD: - Hans Petter Selasky <hselasky@freebsd.org> - Oded Shanoon <odeds@mellanox.com> - Meny Yossefi <menyy@mellanox.com> - Shany Michaely <shanim@mellanox.com> - Shahar Klein <shahark@mellanox.com> - Daria Genzel <dariaz@mellanox.com> - Mark Bloch <markb@mellanox.com> Differential Revision: https://reviews.freebsd.org/D4163 Submitted by: Mark Block <markb@mellanox.com> Sponsored by: Mellanox Technologies Reviewed by: gnn @ MFC after: 3 days
|
#
8d59ecb2 |
|
29-Oct-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Finish process of moving the LinuxKPI module into the default kernel build. - Move all files related to the LinuxKPI into sys/compat/linuxkpi and its subfolders. - Update sys/conf/files and some Makefiles to use new file locations. - Added description of COMPAT_LINUXKPI to sys/conf/NOTES which in turn adds the LinuxKPI to all LINT builds. - The LinuxKPI can be added to the kernel by setting the COMPAT_LINUXKPI option. The OFED kernel option no longer builds the LinuxKPI into the kernel. This was done to keep the build rules for the LinuxKPI in sys/conf/files simple. - Extend the LinuxKPI module to include support for USB by moving the Linux USB compat from usb.ko to linuxkpi.ko. - Bump the FreeBSD_version. - A universe kernel build has been done. Reviewed by: np @ (cxgb and cxgbe related changes only) Sponsored by: Mellanox Technologies
|
#
3c71b84f |
|
25-Oct-2015 |
Zbigniew Bodek <zbb@FreeBSD.org> |
Add etherswitch support to mge This commit introduces support for etherswitch devices that utilize SMI as a way of accessing its registers. SMI register is located in address space of mge -- access to it was exported through MDIO interface. Attachment functions were enhanced so as to ensure proper initialisation in both cases: 1) PHYs attached directly to mge, 2) PHYs attached to switch device and switch attached to mge. Attachment of etherswitch device depends on dts entry with compatible="mrvl,sw" property. If none is found, typical PHY attachment procedure follows. In case of switch attached, PHYs' status and configuration is accessible via etherswitchcfg, and ifconfig shows always-up, non-configurable mge interfaces. Due to the fact that there may be simultaneous accessess to SMI registers (e.g. from PHY attached to one of mge instances and switch to the other), SMI access interlock was added. It is SX lock, because sleep ability is necessary -- busy-waiting would result in poor performance due to long delays required by hardware. Underlying switch driver is obliged to use sleepable locks as well. Reviewed by: adrian Obtained from: Semihalf Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D3900
|
#
2da3897d |
|
22-Oct-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Rename linuxapi[.ko] into linuxkpi[.ko], to reflect that it is a kernel programming interface module, KPI, to avoid confusion with the existing Linux userspace binary compatibility shims. Bump the FreeBSD_version number. Reviewed by: np @ Suggested by: dumbbell @ Sponsored by: Mellanox Technologies
|
#
b78ef4bd |
|
22-Oct-2015 |
Ed Schouten <ed@FreeBSD.org> |
Refactoring: move out generic bits from cloudabi64_sysvec.c. In order to make it easier to support CloudABI on ARM64, move out all of the bits from the AMD64 cloudabi_sysvec.c into a new file cloudabi_module.c that would otherwise remain identical. This reduces the AMD64 specific code to just ~160 lines. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D3974
|
#
ff72f87b |
|
14-Oct-2015 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Fix the dependencies to be similar to TCP as without TCP, e.g., NOIP kernels this will otherwise fail.
|
#
86a996e6 |
|
13-Oct-2015 |
Hiren Panchasara <hiren@FreeBSD.org> |
There are times when it would be really nice to have a record of the last few packets and/or state transitions from each TCP socket. That would help with narrowing down certain problems we see in the field that are hard to reproduce without understanding the history of how we got into a certain state. This change provides just that. It saves copies of the last N packets in a list in the tcpcb. When the tcpcb is destroyed, the list is freed. I thought this was likely to be more performance-friendly than saving copies of the tcpcb. Plus, with the packets, you should be able to reverse-engineer what happened to the tcpcb. To enable the feature, you will need to compile a kernel with the TCPPCAP option. Even then, the feature defaults to being deactivated. You can activate it by setting a positive value for the number of captured packets. You can do that on either a global basis or on a per-socket basis (via a setsockopt call). There is no way to get the packets out of the kernel other than using kmem or getting a coredump. I thought that would help some of the legal/privacy concerns regarding such a feature. However, it should be possible to add a future effort to export them in PCAP format. I tested this at low scale, and found that there were no mbuf leaks and the peak mbuf usage appeared to be unchanged with and without the feature. The main performance concern I can envision is the number of mbufs that would be used on systems with a large number of sockets. If you save five packets per direction per socket and have 3,000 sockets, that will consume at least 30,000 mbufs just to keep these packets. I tried to reduce the concerns associated with this by limiting the number of clusters (not mbufs) that could be used for this feature. Again, in my testing, that appears to work correctly. Differential Revision: D3100 Submitted by: Jonathan Looney <jlooney at juniper dot net> Reviewed by: gnn, hiren
|
#
a231723c |
|
08-Oct-2015 |
Roger Pau Monné <royger@FreeBSD.org> |
xen/console: Introduce a new console driver for Xen guest The current Xen console driver is crashing very quickly when using it on an ARM guest. This is because the console lock is recursive and it may lead to recursion on the tty lock and/or corrupt the ring pointer. Furthermore, the console lock is not always taken where it should be and has to be released too early because of the way the console has been designed. Over the years, code has been modified to support various new features but the driver has not been reworked. This new driver has been rewritten with the idea of only having a small set of specific function to write either via the shared ring or the hypercall interface. Note that HVM support has been left aside for now because it requires additional features which are not yet supported. A follow-up patch will be sent with HVM guest support. List of items that may be good to have but not mandatory: - Avoid to flush for each character written when using the tty - Support multiple consoles Submitted by: Julien Grall <julien.grall@citrix.com> Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D3698 Sponsored by: Citrix Systems R&D
|
#
67da38c5 |
|
21-Sep-2015 |
Ed Maste <emaste@FreeBSD.org> |
Move kbd.c to main sys/conf/files list It is (optionally) used on all architectures. Sponsored by: The FreeBSD Foundation
|
#
7ac58230 |
|
09-Sep-2015 |
Alexander Motin <mav@FreeBSD.org> |
Reimplement CTL High Availability. CTL HA functionality was originally implemented by Copan many years ago, but large part of the sources was never published. This change includes clean room implementation of the missing code and fixes for many bugs. This code supports dual-node HA with ALUA in four modes: - Active/Unavailable without interlink between nodes; - Active/Standby with second node handling only basic LUN discovery and reservation, synchronizing with the first node through the interlink; - Active/Active with both nodes processing commands and accessing the backing storage, synchronizing with the first node through the interlink; - Active/Active with second node working as proxy, transfering all commands to the first node for execution through the interlink. Unlike original Copan's implementation, depending on specific hardware, this code uses simple custom TCP-based protocol for interlink. It has no authentication, so it should never be enabled on public interfaces. The code may still need some polishing, but generally it is functional. Relnotes: yes Sponsored by: iXsystems, Inc.
|
#
ae1f3df4 |
|
27-Aug-2015 |
Warner Losh <imp@FreeBSD.org> |
New 1-Wire bus implementation. 1-Wire controller is abstracted, though only gpiobus configured via FDT is supported. Bus enumeration is supported. Devices are created for each device found. 1-Wire temperature controllers are supported, but other drivers could be written. Temperatures are polled and reported via a sysctl. Errors are reported via sysctl counters. Mis-wired bus detection is included for more trouble shooting. See ow(4), owc(4) and ow_temp(4) for details of what's supported and known issues. This has been tested on Raspberry Pi-B, Pi2 and Beagle Bone Black with up to 7 devices. Differential Revision: https://reviews.freebsd.org/D2956 Relnotes: yes MFC after: 2 weeks Reviewed by: loos@ (with many insightful comments)
|
#
0a70aaf8 |
|
21-Aug-2015 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add ALTQ(9) support for the CoDel algorithm. CoDel is a parameterless queue discipline that handles variable bandwidth and RTT. It can be used as the single queue discipline on an interface or as a sub discipline of existing queue disciplines such as PRIQ, CBQ, HFSC, FAIRQ. Differential Revision: https://reviews.freebsd.org/D3272 Reviewd by: rpaulo, gnn (previous version) Obtained from: pfSense Sponsored by: Rubicon Communications (Netgate)
|
#
12e413be |
|
19-Aug-2015 |
Michael Gmelin <grembo@FreeBSD.org> |
Allow building a kernel with baked in ig4, isl and cyapa drivers. Also addresses jhb's remarks on D2811 and D3068. PR: 202059 Differential Revision: https://reviews.freebsd.org/D3351 Reviewed by: jhb Approved by: jhb
|
#
3df058ff |
|
18-Aug-2015 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add the GPIO driver for the ADI Engineering RCC-VE and RCC-DFF/DFFv2. This driver allows read the software reset switch state and control the status LEDs. The GPIO pins have their direction (input/output) locked down to prevent possible short circuits. Note that most people get a reset button that is a hardware reset. The software reset button is available on boards from Netgate. Sponsored by: Rubicon Communications (Netgate)
|
#
646041a8 |
|
17-Aug-2015 |
Mark Murray <markm@FreeBSD.org> |
Add DEV_RANDOM pseudo-option and use it to "include out" random(4) if desired. Retire randomdev_none.c and introduce random_infra.c for resident infrastructure. Completely stub out random(4) calls in the "without DEV_RANDOM" case. Add RANDOM_LOADABLE option to allow loadable Yarrow/Fortuna/LocallyWritten algorithm. Add a skeleton "other" algorithm framework for folks to add their own processing code. NIST, anyone? Retire the RANDOM_DUMMY option. Build modules for Yarrow, Fortuna and "other". Use atomics for the live entropy rate-tracking. Convert ints to bools for the 'seeded' logic. Move _write() function from the algorithm-specific areas to randomdev.c Get rid of reseed() function - it is unused. Tidy up the opt_*.h includes. Update documentation for random(4) modules. Fix test program (reviewers, please leave this). Differential Revision: https://reviews.freebsd.org/D3354 Reviewed by: wblock,delphij,jmg,bjk Approved by: so (/dev/random blanket)
|
#
67ceb24b |
|
15-Aug-2015 |
Alexander Motin <mav@FreeBSD.org> |
Move "ioctl" CAM frontend into separate file. It has nothing to share with too huge ctl.c other then device descriptor, but even that may be counted as design error that may be fixed later. At some point we may even want to have several ioctl ports.
|
#
2f444d15 |
|
15-Aug-2015 |
Alexander Motin <mav@FreeBSD.org> |
Drop "internal" CTL frontend. Its idea was to be a simple initiator and execute several commands from kernel level, but FreeBSD never had consumer for that functionality, while its implementation polluted many unrelated places..
|
#
6d57346a |
|
12-Aug-2015 |
Peter Wemm <peter@FreeBSD.org> |
Add missing cddl/contrib/opensolaris/uts/common/fs/zfs/bqueue.c that was left out of r286705. Forgotten by: mav
|
#
963b53ea |
|
08-Aug-2015 |
Rui Paulo <rpaulo@FreeBSD.org> |
sys/conf/files: add iwm and iwmfw.
|
#
d94b89b9 |
|
05-Aug-2015 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T5 and T4 firmwares bundled with the driver to 1.14.4.0. The changes in the firmwares since 1.11.27.0 are listed here (straight copy-paste from the "Release Notes.txt" accompanying the Chelsio Unified Wire 2.11.1.0 release on the website). 22.1. T5 Firmware +++++++++++++++++++++++++++++++++ Version : 1.14.4.0 Date : 08/05/2015 ================================================================================ FIXES ----- BASE: - Fixes a potential data path hang by properly programming PMTX congestion threshold settings. - Fixes a potential initialization error when accessing a configuration file stored on the flash. - Fixes a regression where SGE resources can be miss-sized if iWARP is disabled. ETH: - Fixes a timing issue that would prevent CR4 links from coming up with some switches. FOFCoE: - Defers fcoe linkdown mailbox command handling till LOGO is sent. - Updates vlan prio for all outstanding IOs during dcbx update. ENHANCEMENTS ------------ BASE: - Adds support for PAUSE OFF watchdog. - Reports devlog access information in PCIE_FW_PF register 7. ETH: - Enhances segmentation offload to include VxLAN and Geneve. - Adds PTP support. - Adds new interface to allow the driver to query the VI rss table base addresses. - Allows the driver to program the SGE ingrext contxt CongDrop field. OFLD: - Adds new interface for the driver to specify offloaded connections TCP snd and rcv scale factors. iSCSI: - Adds support for iscsi segmentatation offload (ISO). - Adds support for iscsi t10-dif offload. FOiSCSI: - Sets FORCE_BIT for cut through processing for FOiSCSI. FOFCoE: - Adds support for FCoE BB6. - Improves WRITE performance. ================================================================================ ================================================================================ Version : 1.13.32.0 Date : 03/25/2015 ================================================================================ FIXES ----- BASE: - Fixes FW_CAPS_CONFIG_CMD return value on error (was positive instead of negative) - Fixes FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ indication (was wrong on certain adapter configurations) - Fixes config file based PL_TIMEOUT register programming ETH: - Fixes a potential EO UDP SEG header corruption - Fixes an issue where 1000Base-X was not enabled correctly when using QSA modules OFLD: - Fixes timeout issue with half-open connections - Fixes FW_FLOWC_WR processing when state is set to finwait1 FOFCoE: - Fixes fcoe xchg leaks in linkdown/peer down path - Fixes cleanup in FCoE linkdown and fixed buf timer flowid abuse - Fixes fw crash by clearing fcf flowc during bye FOiSCSI: - Don't create a new tcp socket if ERL0 attempt has timed out. ENHANCEMENTS ------------ BASE: - Adds support for VFs on PFs 4 to 7 - Adds support for QPs/CQs on any physical and virtual function ETH: - Stops sending LACP frames on loopback interface - Adds an AUTOEQU indication to CPL_SGE_EGR_UPDATE - Adds support for CR4 links (BEAN/AEC on 40G TwinAx cables) OFLD: - Improves default settings of LAN and CLUSTER TCP timer settings - Sends Negative Advice CPLs to software FOISCSI: - Adds IPv6 support for foiscsi. Keeps backward compatibility with old foiscsi drivers which doesn't support ipv6. FOFCoE: - Added fcoe debug support in flowc dump ================================================================================ ================================================================================ Version : 1.12.25.0 Date : 10/22/2014 ================================================================================ FIXES ----- BASE: - Improves precision of the Weight Round Robing Traffic Management Algorithm - Fixes an issue where the link would intermittently fail to come up - Fixes an issue where adapters with an external PHY couldn't run at 100Mbps - Fixes an issue where active optical cables were not recognized - Fixes link advertising issues on T520-BT (speed and pause frames) that would cause the link to negotiate unexpected settings - Forces link restart when auto-negotiation is disabled - Fix an issue where pause frames wouldn't be fully disabled even if requested ETH: - Fixes NVGRE Segmentation Offload network header generation. DCBX: - Fixes an issue where some settings were not being sent to the switch correctly - Fixes an issue where back-to-back DCBX port updates could get overwritten by FW - Fixes a firmware crash on DCBX APP information request before link up FOiSCSI: - Fixes abort task leak in tmf response handling - Fixes TCP RST handling while in iSCSI ERL0 - Fixes a firmware crash on BYE without INIT ENHANCEMENTS ------------- BASE: - Adds link partner settings reporting when available - Adds QSA support (in conjunction with QSA VPD) - Adds T520-BT LED support - Reports NOTSUPPORTED for modules with an unhandled identifier DCBX: - Adds version reporting (indicating which version FW is trying to negotiate) - Adds IEEE support - Reports LLDP time outs FOiSCSI: - Add support for multiple iSCSI DDP client - Sends DHCP renew request when lease expires ================================================================================ 22.2. T4 Firmware +++++++++++++++++ Version : 1.14.4.0 Date : 08/05/2015 ================================================================================ FIXES ----- BASE: - Fixes a potential initialization error when accessing a configuration file stored on the flash. - Initialize PCIE_DBG_INDIR_REQ.Enable to 0, as hardware failed to do so and register dumps could result in errors. ETH: - Fixes an issue that sometimes prevented the link from coming up in CR adapters. ENHANCEMENTS ------------ BASE: - Adds support for PAUSE OFF watchdog. - Reports devlog access information in PCIE_FW_PF register 7. ETH: - Adds new interface to allow the driver to query the VI rss table base addresses. OFLD: - Adds new interface for the driver to specify offloaded connections TCP snd and rcv scale factors. ================================================================================ ================================================================================ Version : 1.13.32.0 Date : 03/25/2015 ================================================================================ FIXES ----- BASE: - Fixes FW_CAPS_CONFIG_CMD return value on error (was positive instead of negative) - Fixes FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ indication (was wrong on certain adapter configurations) - Fixes config file based PL_TIMEOUT register programming ETH: - Fixes a potential EO UDP SEG header corruption OFLD: - Fixes timeout issue with half-open connections - Fixes FW_FLOWC_WR processing when state is set to finwait1 FOiSCSI: - Don't create a new tcp socket if ERL0 attempt has timed out. ENHANCEMENTS ------------ ETH: - Stops sending LACP frames on loopback interface - Adds an AUTOEQU indication to CPL_SGE_EGR_UPDATE OFLD: - Improves default settings of LAN and CLUSTER TCP timer settings - Sends Negative Advice CPLs to software ================================================================================ ================================================================================ Version : 1.12.25.0 Date : 10/22/2014 ================================================================================ FIXES ----- BASE: - Improves precision of the Weight Round Robing Traffic Management Algorithm - Forces link restart when auto-negotiation is disabled - Fix an issue where pause frames wouldn't be fully disabled even if requested DCBX: - Fixes an issue where some settings were not being sent to the switch correctly - Fixes an issue where back-to-back DCBX port updates could get overwritten by FW - Fixes a firmware crash on DCBX APP information request before link up FOiSCSI: - Fixes abort task leak in tmf response handling - Fixes TCP RST handling while in iSCSI ERL0 - Fixes a firmware crash on BYE without INIT ENHANCEMENTS ------------ BASE: - Adds link partner settings reporting when available - Firmware now reports NOTSUPPORTED for modules with an unhandled identifier DCBX: - Adds version reporting (indicating which version FW is trying to negotiate) - Adds IEEE support - Reports LLDP time outs FOiSCSI: - Adds support for multiple iSCSI DDP clients - Sends DHCP renew request when lease expires ================================================================================ Obtained from: Chelsio Communications MFC after: 2 weeks Sponsored by: Chelsio Communications
|
#
40ebf162 |
|
30-Jul-2015 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add GPIO backlight driver compatible with Linux FDT bindings. Brightness is controlled through sysctl dev.gpiobacklight.X.brightness: - any value greater than 0: backlight is on - any value less than or equal to 0: backlight is off FDT bindings docs in Linux tree: Documentation/devicetree/bindings/video/backlight/gpio-backlight.txt
|
#
75ac3a73 |
|
21-Jul-2015 |
Conrad Meyer <cem@FreeBSD.org> |
vt: Draw logos per CPU core This feature is inspired by another Unix-alike OS commonly found on airplane headrests. A number of beasties[0] are drawn at top of framebuffer during boot, based on the number of active SMP CPUs[1]. Console buffer output continues to scroll in the screen area below beastie(s)[2]. After some time[3] has passed, the beasties are erased leaving the entire terminal for use. Includes two 80x80 vga16 beastie graphics and an 80x80 vga16 orb graphic. (The graphics are RLE compressed to save some space -- 3x 3200 bytes uncompressed, or 4208 compressed.) [0]: The user may select the style of beastie with kern.vt.splash_cpu_style=(0|1|2) [1]: Or the number may be overridden with tunable kern.vt.splash_ncpu. [2]: https://www.youtube.com/watch?v=UP2jizfr3_o [3]: Configurable with kern.vt.splash_cpu_duration (seconds, def. 10). Differential Revision: https://reviews.freebsd.org/D2181 Reviewed by: dumbbell, emaste Approved by: markj (mentor) MFC after: 2 weeks
|
#
32cd0147 |
|
19-Jul-2015 |
Mark Johnston <markj@FreeBSD.org> |
Implement the lockstat provider using SDT(9) instead of the custom provider in lockstat.ko. This means that lockstat probes now have typed arguments and will utilize SDT probe hot-patching support when it arrives. Reviewed by: gnn Differential Revision: https://reviews.freebsd.org/D2993
|
#
6e5fcd99 |
|
16-Jul-2015 |
Ed Schouten <ed@FreeBSD.org> |
Add a sysentvec for CloudABI on x86-64. Summary: For CloudABI we need to put two things on the stack of new processes: the argument data (a binary blob; not strings) and a startup data structure. The startup data structure contains interesting things such as a pointer to the ELF program header, the thread ID of the initial thread, a stack smashing protection canary, and a pointer to the argument data. Fetching system call arguments and setting the return value is similar to FreeBSD. The only differences are that system call 0 does not exist and that we call into cloudabi_convert_errno() to convert the error code. We also need this function in a couple of other places, so we'd better reuse it here. Reviewers: dchagin, kib Reviewed By: kib Subscribers: imp Differential Revision: https://reviews.freebsd.org/D3098
|
#
c7dbd802 |
|
14-Jul-2015 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4 and T5 firmwares to 1.14.2.0. Obtained from: Chelsio Communications MFC after: 3 days
|
#
6520495a |
|
11-Jul-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
Add an initial NUMA affinity/policy configuration for threads and processes. This is based on work done by jeff@ and jhb@, as well as the numa.diff patch that has been circulating when someone asks for first-touch NUMA on -10 or -11. * Introduce a simple set of VM policy and iterator types. * tie the policy types into the vm_phys path for now, mirroring how the initial first-touch allocation work was enabled. * add syscalls to control changing thread and process defaults. * add a global NUMA VM domain policy. * implement a simple cascade policy order - if a thread policy exists, use it; if a process policy exists, use it; use the default policy. * processes inherit policies from their parent processes, threads inherit policies from their parent threads. * add a simple tool (numactl) to query and modify default thread/process policities. * add documentation for the new syscalls, for numa and for numactl. * re-enable first touch NUMA again by default, as now policies can be set in a variety of methods. This is only relevant for very specific workloads. This doesn't pretend to be a final NUMA solution. The previous defaults in -HEAD (with MAXMEMDOM set) can be achieved by 'sysctl vm.default_policy=rr'. This is only relevant if MAXMEMDOM is set to something other than 1. Ie, if you're using GENERIC or a modified kernel with non-NUMA, then this is a glorified no-op for you. Thank you to Norse Corp for giving me access to rather large (for FreeBSD!) NUMA machines in order to develop and verify this. Thank you to Dell for providing me with dual socket sandybridge and westmere v3 hardware to do NUMA development with. Thank you to Scott Long at Netflix for providing me with access to the two-socket, four-domain haswell v3 hardware. Thank you to Peter Holm for running the stress testing suite against the NUMA branch during various stages of development! Tested: * MIPS (regression testing; non-NUMA) * i386 (regression testing; non-NUMA GENERIC) * amd64 (regression testing; non-NUMA GENERIC) * westmere, 2 socket (thankyou norse!) * sandy bridge, 2 socket (thankyou dell!) * ivy bridge, 2 socket (thankyou norse!) * westmere-EX, 4 socket / 1TB RAM (thankyou norse!) * haswell, 2 socket (thankyou norse!) * haswell v3, 2 socket (thankyou dell) * haswell v3, 2x18 core (thankyou scott long / netflix!) * Peter Holm ran a stress test suite on this work and found one issue, but has not been able to verify it (it doesn't look NUMA related, and he only saw it once over many testing runs.) * I've tested bhyve instances running in fixed NUMA domains and cpusets; all seems to work correctly. Verified: * intel-pcm - pcm-numa.x and pcm-memory.x, whilst selecting different NUMA policies for processes under test. Review: This was reviewed through phabricator (https://reviews.freebsd.org/D2559) as well as privately and via emails to freebsd-arch@. The git history with specific attributes is available at https://github.com/erikarn/freebsd/ in the NUMA branch (https://github.com/erikarn/freebsd/compare/local/adrian_numa_policy). This has been reviewed by a number of people (stas, rpaulo, kib, ngie, wblock) but not achieved a clear consensus. My hope is that with further exposure and testing more functionality can be implemented and evaluated. Notes: * The VM doesn't handle unbalanced domains very well, and if you have an overly unbalanced memory setup whilst under high memory pressure, VM page allocation may fail leading to a kernel panic. This was a problem in the past, but it's much more easily triggered now with these tools. * This work only controls the path through vm_phys; it doesn't yet strongly/predictably affect contigmalloc, KVA placement, UMA, etc. So, driver placement of memory isn't really guaranteed in any way. That's next on my plate. Sponsored by: Norse Corp, Inc.; Dell
|
#
306a82f8 |
|
09-Jul-2015 |
Mariusz Zaborski <oshogbo@FreeBSD.org> |
Rename zfs nvpair files to not colidate with our nvlist. PR: 201356 Approved by: pjd (mentor)
|
#
6d338f9a |
|
09-Jul-2015 |
Ed Schouten <ed@FreeBSD.org> |
Import the CloudABI datatypes and create a system call table. CloudABI is a pure capability-based runtime environment for UNIX. It works similar to Capsicum, except that processes already run in capabilities mode on startup. All functionality that conflicts with this model has been omitted, making it a compact binary interface that can be supported by other operating systems without too much effort. CloudABI is 'secure by default'; the idea is that it should be safe to run arbitrary third-party binaries without requiring any explicit hardware virtualization (Bhyve) or namespace virtualization (Jails). The rights of an application are purely determined by the set of file descriptors that you grant it on startup. The datatypes and constants used by CloudABI's C library (cloudlibc) are defined in separate files called syscalldefs_mi.h (pointer size independent) and syscalldefs_md.h (pointer size dependent). We import these files in sys/contrib/cloudabi and wrap around them in cloudabi*_syscalldefs.h. We then add stubs for all of the system calls in sys/compat/cloudabi or sys/compat/cloudabi64, depending on whether the system call depends on the pointer size. We only have nine system calls that depend on the pointer size. If we ever want to support 32-bit binaries, we can simply add sys/compat/cloudabi32 and implement these nine system calls again. The next step is to send in code reviews for the individual system call implementations, but also add a sysentvec, to allow CloudABI executabled to be started through execve(). More information about CloudABI: - GitHub: https://github.com/NuxiNL/cloudlibc - Talk at BSDCan: https://www.youtube.com/watch?v=SVdF84x1EdA Differential Revision: https://reviews.freebsd.org/D2848 Reviewed by: emaste, brooks Obtained from: https://github.com/NuxiNL/freebsd
|
#
4e1bc9a0 |
|
07-Jul-2015 |
Achim Leubner <achim@FreeBSD.org> |
Driver 'pmspcv' added. Supports PMC-Sierra PM8001/8081/8088/8089/8074/8076/8077 SAS/SATA HBA Controllers.
|
#
b1089024 |
|
05-Jul-2015 |
Ian Lepore <ian@FreeBSD.org> |
Ensure all the required files get built when you include the IPSEC option.
|
#
54f98da9 |
|
04-Jul-2015 |
Mariusz Zaborski <oshogbo@FreeBSD.org> |
Move the nvlist source and private includes from sys/kern to seperate directory sys/contrib/libnv. The goal of this operation is to NOT install header files which shouldn't be used outside the nvlist library. Approved by: pjd (mentor)
|
#
194709a5 |
|
03-Jul-2015 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove commented-out and non-existent cbus(4) attachment for uart(4).
|
#
472aa699 |
|
03-Jul-2015 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Allow proto(4) to be compiled into the kernel.
|
#
d1b06863 |
|
30-Jun-2015 |
Mark Murray <markm@FreeBSD.org> |
Huge cleanup of random(4) code. * GENERAL - Update copyright. - Make kernel options for RANDOM_YARROW and RANDOM_DUMMY. Set neither to ON, which means we want Fortuna - If there is no 'device random' in the kernel, there will be NO random(4) device in the kernel, and the KERN_ARND sysctl will return nothing. With RANDOM_DUMMY there will be a random(4) that always blocks. - Repair kern.arandom (KERN_ARND sysctl). The old version went through arc4random(9) and was a bit weird. - Adjust arc4random stirring a bit - the existing code looks a little suspect. - Fix the nasty pre- and post-read overloading by providing explictit functions to do these tasks. - Redo read_random(9) so as to duplicate random(4)'s read internals. This makes it a first-class citizen rather than a hack. - Move stuff out of locked regions when it does not need to be there. - Trim RANDOM_DEBUG printfs. Some are excess to requirement, some behind boot verbose. - Use SYSINIT to sequence the startup. - Fix init/deinit sysctl stuff. - Make relevant sysctls also tunables. - Add different harvesting "styles" to allow for different requirements (direct, queue, fast). - Add harvesting of FFS atime events. This needs to be checked for weighing down the FS code. - Add harvesting of slab allocator events. This needs to be checked for weighing down the allocator code. - Fix the random(9) manpage. - Loadable modules are not present for now. These will be re-engineered when the dust settles. - Use macros for locks. - Fix comments. * src/share/man/... - Update the man pages. * src/etc/... - The startup/shutdown work is done in D2924. * src/UPDATING - Add UPDATING announcement. * src/sys/dev/random/build.sh - Add copyright. - Add libz for unit tests. * src/sys/dev/random/dummy.c - Remove; no longer needed. Functionality incorporated into randomdev.*. * live_entropy_sources.c live_entropy_sources.h - Remove; content moved. - move content to randomdev.[ch] and optimise. * src/sys/dev/random/random_adaptors.c src/sys/dev/random/random_adaptors.h - Remove; plugability is no longer used. Compile-time algorithm selection is the way to go. * src/sys/dev/random/random_harvestq.c src/sys/dev/random/random_harvestq.h - Add early (re)boot-time randomness caching. * src/sys/dev/random/randomdev_soft.c src/sys/dev/random/randomdev_soft.h - Remove; no longer needed. * src/sys/dev/random/uint128.h - Provide a fake uint128_t; if a real one ever arrived, we can use that instead. All that is needed here is N=0, N++, N==0, and some localised trickery is used to manufacture a 128-bit 0ULLL. * src/sys/dev/random/unit_test.c src/sys/dev/random/unit_test.h - Improve unit tests; previously the testing human needed clairvoyance; now the test will do a basic check of compressibility. Clairvoyant talent is still a good idea. - This is still a long way off a proper unit test. * src/sys/dev/random/fortuna.c src/sys/dev/random/fortuna.h - Improve messy union to just uint128_t. - Remove unneeded 'static struct fortuna_start_cache'. - Tighten up up arithmetic. - Provide a method to allow eternal junk to be introduced; harden it against blatant by compress/hashing. - Assert that locks are held correctly. - Fix the nasty pre- and post-read overloading by providing explictit functions to do these tasks. - Turn into self-sufficient module (no longer requires randomdev_soft.[ch]) * src/sys/dev/random/yarrow.c src/sys/dev/random/yarrow.h - Improve messy union to just uint128_t. - Remove unneeded 'staic struct start_cache'. - Tighten up up arithmetic. - Provide a method to allow eternal junk to be introduced; harden it against blatant by compress/hashing. - Assert that locks are held correctly. - Fix the nasty pre- and post-read overloading by providing explictit functions to do these tasks. - Turn into self-sufficient module (no longer requires randomdev_soft.[ch]) - Fix some magic numbers elsewhere used as FAST and SLOW. Differential Revision: https://reviews.freebsd.org/D2025 Reviewed by: vsevolod,delphij,rwatson,trasz,jmg Approved by: so (delphij)
|
#
a5b789f6 |
|
24-Jun-2015 |
Ermal Luçi <eri@FreeBSD.org> |
ALTQ FAIRQ discipline import from DragonFLY Differential Revision: https://reviews.freebsd.org/D2847 Reviewed by: glebius, wblock(manpage) Approved by: gnn(mentor) Obtained from: pfSense Sponsored by: Netgate
|
#
1f6c33ac |
|
24-Jun-2015 |
Eric Joyner <erj@FreeBSD.org> |
Several build changes for ix and ixv: - Allow ix and ixv to be built seperately. - Re-enable building ix for i386 and amd64 archs - Fix ixv Makefile. Approved by: jfv (mentor)
|
#
2d45d793 |
|
19-Jun-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add USB gold driver to default kernel build.
|
#
4f4d15f0 |
|
10-Jun-2015 |
Ruslan Bukin <br@FreeBSD.org> |
Allow DTrace to be compiled-in to the kernel. This will require for AArch64 as we dont have modules yet. Sponsored by: HEIF5 Sponsored by: ARM Ltd. Differential Revision: https://reviews.freebsd.org/D1997
|
#
0a76fe7c |
|
01-Jun-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add USB MIDI template for USB device side mode.
|
#
71d51719 |
|
29-May-2015 |
Michael Gmelin <grembo@FreeBSD.org> |
ig4 - Intel fourth gen integrated I2C SMBus driver. Differential Revision: https://reviews.freebsd.org/D2372 Reviewed by: jhb, wblock, adrian Approved by: jhb, wblock Relnotes: yes
|
#
f3bb9251 |
|
28-May-2015 |
John Baldwin <jhb@FreeBSD.org> |
Create a separate kobj interface for leaf-driver PCI IOV methods. Leaf drivers should not import the PCI bus interface to add IOV handling. Instead, move the IOV client methods to a separate kobj interface. Differential Revision: https://reviews.freebsd.org/D2584 Reviewed by: rstone
|
#
3c838a9f |
|
25-May-2015 |
Andrew Rybchenko <arybchik@FreeBSD.org> |
sfxge: add 7xxx NICs family support Support 7xxx adapters including firmware-assisted TSO and VLAN tagging: - Solarflare Flareon Ultra 7000 series 10/40G adapters: - Solarflare SFN7042Q QSFP+ Server Adapter - Solarflare SFN7142Q QSFP+ Server Adapter - Solarflare Flareon Ultra 7000 series 10G adapters: - Solarflare SFN7022F SFP+ Server Adapter - Solarflare SFN7122F SFP+ Server Adapter - Solarflare SFN7322F Precision Time Synchronization Server Adapter - Solarflare Flareon 7000 series 10G adapters: - Solarflare SFN7002F SFP+ Server Adapter Support utilities to configure adapters and update firmware. The work is done by Solarflare developers (Andy Moreton, Andrew Lee and many others), Artem V. Andreev <Artem.Andreev at oktetlabs.ru> and me. Sponsored by: Solarflare Communications, Inc. MFC after: 2 weeks Causually read by: gnn Differential Revision: https://reviews.freebsd.org/D2618
|
#
0df8b29d |
|
08-May-2015 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: introduce a newbus function to allocate unused memory In order to map memory from other domains when running on Xen FreeBSD uses unused physical memory regions. Until now this memory has been allocated using bus_alloc_resource, but this is not completely safe as we can end up using unreclaimed MMIO or ACPI regions. Fix this by introducing a new newbus method that can be used by Xen drivers to request for unused memory regions. On amd64 we make sure this memory comes from regions above 4GB in order to prevent clashes with MMIO/ACPI regions. On i386 there's nothing we can do, so just fall back to the previous mechanism. Sponsored by: Citrix Systems R&D Tested by: Gustau Pérez <gperez@entel.upc.edu>
|
#
3b5d5c3f |
|
30-Apr-2015 |
Eric Joyner <erj@FreeBSD.org> |
Fix build by adding ixgbe_x550.c to sys/conf/files for ixgbe. Submitted by: neel Approved by: jfv (mentor)
|
#
ed95805e |
|
30-Apr-2015 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for Xen PV domU kernels. Support for HVM domU kernels remains. Xen is planning to phase out support for PV upstream since it is harder to maintain and has more overhead. Modern x86 CPUs include virtualization extensions that support HVM guests instead of PV guests. In addition, the PV code was i386 only and not as well maintained recently as the HVM code. - Remove the i386-only NATIVE option that was used to disable certain components for PV kernels. These components are now standard as they are on amd64. - Remove !XENHVM bits from PV drivers. - Remove various shims required for XEN (e.g. PT_UPDATES_FLUSH, LOAD_CR3, etc.) - Remove duplicate copy of <xen/features.h>. - Remove unused, i386-only xenstored.h. Differential Revision: https://reviews.freebsd.org/D2362 Reviewed by: royger Tested by: royger (i386/amd64 HVM domU and amd64 PVH dom0) Relnotes: yes
|
#
3e126de6 |
|
28-Apr-2015 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Make it possible to statically link SIFTR into the kernel as a new option. Reviewed by: bz Discussed with: lstewart MFC after: 2 weeks
|
#
d588c3d6 |
|
28-Apr-2015 |
Andrew Turner <andrew@FreeBSD.org> |
Only enable the hpet driver on x86 hardware, it doesn't exist on arm64. Sponsored by: The FreeBSD Foundation
|
#
d9db5225 |
|
22-Apr-2015 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Move zlib.c from net to libkern. It is not network-specific code and would be better as part of libkern instead. Move zlib.h and zutil.h from net/ to sys/ Update includes to use sys/zlib.h and sys/zutil.h instead of net/ Submitted by: Steve Kiernan stevek@juniper.net Obtained from: Juniper Networks, Inc. GitHub Pull Request: https://github.com/freebsd/freebsd/pull/28 Relnotes: yes
|
#
9963b450 |
|
18-Apr-2015 |
Konstantin Belousov <kib@FreeBSD.org> |
Complete r281670, unlist removed files. Sponsored by: The FreeBSD Foundation
|
#
61f37615 |
|
18-Apr-2015 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Remove xform_ipip.c and code related to XF_IP4. The only thing is used from this code is ipip_output() function, that does IPIP encapsulation. Other parts of XF_IP4 code were removed in r275133. Also it isn't possible to configure the use of XF_IP4, nor from userland via setkey(8), nor from the kernel. Simplify the ipip_output() function and rename it to ipsec_encap(). * move IP_DF handling from ipsec4_process_packet() into ipsec_encap(); * since ipsec_encap() called from ipsec[64]_process_packet(), it is safe to assume that mbuf is contiguous at least to IP header for used IP version. Remove all unneeded m_pullup(), m_copydata and related checks. * use V_ip_defttl and V_ip6_defhlim for outer headers; * use V_ip4_ipsec_ecn and V_ip6_ipsec_ecn for outer headers; * move all diagnostic messages to the ipsec_encap() callers; * simplify handling of ipsec_encap() results: if it returns non zero value, print diagnostic message and free mbuf. * some style(9) fixes. Differential Revision: https://reviews.freebsd.org/D2303 Reviewed by: glebius Sponsored by: Yandex LLC
|
#
772e66a6 |
|
16-Apr-2015 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Move ALTQ from contrib to net/altq. The ALTQ code is for many years discontinued by its initial authors. In FreeBSD the code was already slightly edited during the pf(4) SMP project. It is about to be edited more in the projects/ifnet. Moving out of contrib also allows to remove several hacks to the make glue. Reviewed by: net@
|
#
1dbefcc0 |
|
10-Apr-2015 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Move all code related to IP fragment reassembly to ip_reass.c. Some function names have changed and comments are reformatted or added, but there is no functional change. Claim copyright for me and Adrian. Sponsored by: Nginx, Inc.
|
#
df62b8a2 |
|
30-Mar-2015 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: add a handler for the debug interrupt Handle the VIRQ_DEBUG signal and print a stack trace of each vCPU on the Xen console. This is only used for debug purposes and is triggered by the administrator of the Xen host. Sponsored by: Citrix Systems R&D MFC after: 1 week
|
#
cdc58367 |
|
24-Mar-2015 |
Alexander Motin <mav@FreeBSD.org> |
Remove from legacy ata(4) driver support for hardware, supported by newer and more functional drivers ahci(4), siis(4) and mvs(4). This removes about 3400 lines of code, unused since FreeBSD 9.0 release.
|
#
d7eb38c0 |
|
20-Mar-2015 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add a driver for the Dallas/Maxim DS1307, another common i2c RTC. Many thanks to ian who gently provided me the DS1307 breakout board. Tested on: Raspberry pi Differential Revision: https://reviews.freebsd.org/D2022 Reviewed by: rpaulo
|
#
606618ac |
|
17-Mar-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
Fix ixgbe(4) - add ix_txrx to compile in the kernel. Sponsored by: Norse Corp, Inc.
|
#
758cc3dc |
|
17-Mar-2015 |
Jack F Vogel <jfv@FreeBSD.org> |
Update to the Intel ixgbe driver: - Split the driver into independent pf and vf loadables. This is in preparation for SRIOV support which will be following shortly. This also allows us to keep a seperate revision control over the two parts, making for easier sustaining. - Make the TX/RX code a shared/seperated file, in the old code base the ixv code would miss fixes that went into ixgbe, this model will eliminate that problem. - The driver loadables will now match the device names, something that has been requested for some time. - Rather than a modules/ixgbe there is now modules/ix and modules/ixv - It will also be possible to make your static kernel with only one or the other for streamlined installs, or both. Enjoy! Submitted by: jfv and erj
|
#
b7ba031f |
|
11-Mar-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Factor out mbuf hashing code from LAGG driver so that other network drivers can use it. This avoids some code duplication. Add missing default case to all switch statements while at it. Also move the hashing of the IPv6 flow field to layer 4 because the IPv6 flow field is constant on a per L4 connection basis and not on a per L3 network. Differential Revision: https://reviews.freebsd.org/D1987 Sponsored by: Mellanox Technologies MFC after: 1 month
|
#
1191f715 |
|
28-Feb-2015 |
Ryan Stone <rstone@FreeBSD.org> |
Add infrastructure for exporting config schema from PF drivers Differential Revision: https://reviews.freebsd.org/D80 MFC after: 1 month Sponsored by: Sandvine Inc.
|
#
9bfb1e36 |
|
28-Feb-2015 |
Ryan Stone <rstone@FreeBSD.org> |
Implement interface to create SR-IOV Virtual Functions Implement the interace to create SR-IOV Virtual Functions (VFs). When a driver registers that they support SR-IOV by calling pci_setup_iov(), the SR-IOV code creates a new node in /dev/iov for that device. An ioctl can be invoked on that device to create VFs and have the driver initialize them. At this point, allocating memory I/O windows (BARs) is not supported. Differential Revision: https://reviews.freebsd.org/D76 Reviewed by: jhb MFC after: 1 month Sponsored by: Sandvine Inc.
|
#
4d6a976e |
|
28-Feb-2015 |
Ryan Stone <rstone@FreeBSD.org> |
Move libnv into the kernel and hook it into the kernel build Differential Revision: https://reviews.freebsd.org/D1883 Reviewed by: jfv MFC after: 1 month Sponsored by: Sandvine Inc.
|
#
3cd45331 |
|
28-Feb-2015 |
Ryan Stone <rstone@FreeBSD.org> |
Implement asprintf in libkern Differential Revision: https://reviews.freebsd.org/D1877 Reviewed by: pjd, jfv MFC After: 1 month Sponsored by: Sandvine Inc.
|
#
befcc3e2 |
|
28-Feb-2015 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add a driver for the Maxim DS3231 a low-cost, extremely accurate (+-2PPM) I2C real-time clock (RTC). The DS3231 has an integrated temperature-compensated crystal oscillator (TXCO) and crystal. DS3231 has a temperature sensor, an independent 32kHz output (which can be turned on and off by the driver) and another output that can be used as interrupt for alarms or as a second square-wave output, which frequency and operation mode can be set by driver sysctl(8) knobs. Differential Revision: https://reviews.freebsd.org/D1016 Reviewed by: ian, rpaulo Tested on: Raspberry pi model B
|
#
e02196c5 |
|
24-Feb-2015 |
Andrew Rybchenko <arybchik@FreeBSD.org> |
sfxge: add to config files Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
|
#
cc4a90c4 |
|
17-Feb-2015 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Globally enable -fms-extensions when building kernel with gcc, and remove this option from all modules that enable it theirselves. In C mode -fms-extensions option enables anonymous structs and unions, allowing us to use this C11 feature in kernel. Of course, clang supports it without any extra options. Reviewed by: dim
|
#
8a8f7d5b |
|
17-Feb-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix compilation of the SDP driver and a compile warning after r278886. Also fix the kernel build rule for mlx4_exp.c. This fixes the LINT kernel target for amd64. Sponsored by: Mellanox Technologies MFC after: 1 month
|
#
b5c1e0cb |
|
17-Feb-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update the infiniband stack to Mellanox's OFED version 2.1. Highlights: - Multiple verbs API updates - Support for RoCE, RDMA over ethernet All hardware drivers depending on the common infiniband stack has been updated aswell. Discussed with: np @ Sponsored by: Mellanox Technologies MFC after: 1 month
|
#
0867995c |
|
14-Feb-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Import USB display link driver from OpenBSD. Support for compression has been removed and the driver has been greatly simplified and optimised for FreeBSD. The driver is currently not built by default. Requested by: Bruce Simpson <bms@fastmail.net>
|
#
07615495 |
|
15-Feb-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Import videomode code from NetBSD which is needed by USB display link drivers.
|
#
f1c3d09a |
|
06-Feb-2015 |
Enji Cooper <ngie@FreeBSD.org> |
Unbreak the build (memchr is explicitly required by devctl(9) after r278320) Submitted by: Michael Butler <imb@protected-networks.net> Reported by: O. Hartmann <ohartman@zedat.fu-berlin.de>
|
#
e73ebd68 |
|
31-Jan-2015 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Fix build with "device iscsi" in kernel config. Sponsored by: The FreeBSD Foundation
|
#
321b17ec |
|
31-Jan-2015 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add kobj interface between ICL and the rest of the iSCSI stack. Review note - icl.c was moved to icl_soft.c. MFC after: 1 month Sponsored by: The FreeBSD Foundation
|
#
7cf3e8e4 |
|
23-Jan-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Make sure the compiler flag to get cxgbe(4) to compile with gcc is used only when gcc is being used. This is what r277225 should have been. Suggested by: dim@
|
#
b2bdc62a |
|
18-Jan-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
Refactor / restructure the RSS code into generic, IPv4 and IPv6 specific bits. The motivation here is to eventually teach netisr and potentially other networking subsystems a bit more about how RSS work queues / buckets are configured so things have a hope of auto-configuring in the future. * net/rss_config.[ch] takes care of the generic bits for doing configuration, hash function selection, etc; * topelitz.[ch] is now in net/ rather than netinet/; * (and would be in libkern if it didn't directly include RSS_KEYSIZE; that's a later thing to fix up.) * netinet/in_rss.[ch] now just contains the IPv4 specific methods; * and netinet/in6_rss.[ch] now just contains the IPv6 specific methods. This should have no functional impact on anyone currently using the RSS support. Differential Revision: D1383 Reviewed by: gnn, jfv (intel driver bits)
|
#
bd47e77e |
|
18-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Extend fixes made in r277308 to fix build of LINT kernels for i386 and amd64. Until further we need some custom C-flags when building the Linux compat API. MFC after: 1 month Sponsored by: Mellanox Technologies Reported by: bz@
|
#
e982e5c5 |
|
17-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Start importing the basic OFED linux compatibility layer changes made by dumbbell@ to be able to compile this layer as a dependency module. Clean up some Makefiles and remove the no longer used OFED define. Currently only i386 and amd64 targets are supported. MFC after: 1 month Sponsored by: Mellanox Technologies
|
#
cddd227c |
|
15-Jan-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Make cxgbe(4) buildable with the gcc in base.
|
#
3e420a3e |
|
13-Jan-2015 |
Ruslan Bukin <br@FreeBSD.org> |
Add usb template SERIALNET allowing us to have both USB CDC Ethernet and USB CDC Modem same time by single cable. Reviewed by: hselasky@
|
#
bdb9ab0d |
|
06-Jan-2015 |
Mark Johnston <markj@FreeBSD.org> |
Factor out duplicated code from dumpsys() on each architecture into generic code in sys/kern/kern_dump.c. Most dumpsys() implementations are nearly identical and simply redefine a number of constants and helper subroutines; a generic implementation will make it easier to implement features around kernel core dumps. This change does not alter any minidump code and should have no functional impact. PR: 193873 Differential Revision: https://reviews.freebsd.org/D904 Submitted by: Conrad Meyer <conrad.meyer@isilon.com> Reviewed by: jhibbits (earlier version) Sponsored by: EMC / Isilon Storage Division
|
#
b2d77b2e |
|
06-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix kernel build after r276730.
|
#
cc6dd788 |
|
05-Jan-2015 |
Adrian Chadd <adrian@FreeBSD.org> |
Refactor and split out the net80211 software scan engine from the rest of the scan API. The eventual aim is to have 'ieee80211_scan.c' have the net80211 and driver facing scan API to start, finish and continue doing scanning while 'ieee80211_swscan.c' implements the software scanner that runs the scan task, handles probe request/reply bits, configures the VAP off-channel, changes channel and does the scanning bits. For NICs that do no scanning at all, the existing code is needed. ath(4) and most of the other NICs (dumb USB ones in particular) do little to no scan offload - it's all done in software. Some NICs may do single channel at a time scanning; I haven't really checked them out in detail. iwn(4), the upcoming 7260 driver stuff, the new Qualcomm Atheros 11ac chipsets and the Atheros mobile/USB full-offload chips all have complete scan engines in firmware. We don't have to drive any of it at all - the firmware just needs to be told what to scan, when to scan, how long to scan. It'll take care of going off channel, pausing TX/RX appropriately, sending sleep notification to the AP, sending probe requests and handling probe responses. It'll do passive/active scan itself. It's almost completely transparent to the network stack - all we see are scan notifications when it finishes scanning each channel and beacons/probe responses when it does its thing. Once it's done we get a final notification that the scan is complete, with some scan results in the message. The iwn(4) NICs handle doing active scanning too as an option and will handle waiting appropriately on 5GHz passive channels before active scanning. There's some more refactoring, tidying up and lock assertions to sprinkle around to tidy this whole thing up before I turn swscan.c into another set of ic methods to override by the driver or alternate scan module. So in theory this is all one big no-op commit. In theory. Tested: * iwn(4) 5200, STA mode * ath(4) 6205, STA mode * ath(4) - various NICs, AP mode
|
#
4906cdc8 |
|
02-Jan-2015 |
Warner Losh <imp@FreeBSD.org> |
Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, support CWARNFALGS.$file centrally so we don't have to have it in all the places. Remove a few warning flags that are no longer needed. Also, always use -Wno-unknown-pragma to (hopefully temporarily) work around #pragma ident in debug.h in the opensolaris code. Remove some stale warning suppression that's no longer necessary.
|
#
2089f538 |
|
01-Jan-2015 |
Scott Long <scottl@FreeBSD.org> |
Garbage collect the asr driver. Hardware for it has not been produced in roughly 10 years, and the driver has not enjoyed any significant maintenance since long before that. Despite well-meaning efforts from a number of people, myself included, it never made the jump to 64-bit and was relegated to the back-corners of i386. Now its frailty is hampering forward progress with Clang. Any renewed engineering efforts are of course welcome and can happen outside of the tree. No MFC of this is planned.
|
#
7951040f |
|
31-Dec-2014 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): major tx rework. a) Front load as much work as possible in if_transmit, before any driver lock or software queue has to get involved. b) Replace buf_ring with a brand new mp_ring (multiproducer ring). This is specifically for the tx multiqueue model where one of the if_transmit producer threads becomes the consumer and other producers carry on as usual. mp_ring is implemented as standalone code and it should be possible to use it in any driver with tx multiqueue. It also has: - the ability to enqueue/dequeue multiple items. This might become significant if packet batching is ever implemented. - an abdication mechanism to allow a thread to give up writing tx descriptors and have another if_transmit thread take over. A thread that's writing tx descriptors can end up doing so for an unbounded time period if a) there are other if_transmit threads continuously feeding the sofware queue, and b) the chip keeps up with whatever the thread is throwing at it. - accurate statistics about interesting events even when the stats come at the expense of additional branches/conditional code. The NIC txq lock is uncontested on the fast path at this point. I've left it there for synchronization with the control events (interface up/down, modload/unload). c) Add support for "type 1" coalescing work request in the normal NIC tx path. This work request is optimized for frames with a single item in the DMA gather list. These are very common when forwarding packets. Note that netmap tx in cxgbe already uses these "type 1" work requests. d) Do not request automatic cidx updates every 32 descriptors. Instead, request updates via bits in individual work requests (still every 32 descriptors approximately). Also, request an automatic final update when the queue idles after activity. This means NIC tx reclaim is still performed lazily but it will catch up quickly as soon as the queue idles. This seems to be the best middle ground and I'll probably do something similar for netmap tx as well. e) Implement a faster tx path for WRQs (used by TOE tx and control queues, _not_ by the normal NIC tx). Allow work requests to be written directly to the hardware descriptor ring if room is available. I will convert t4_tom and iw_cxgbe modules to this faster style gradually. MFC after: 2 months
|
#
182600f1 |
|
27-Dec-2014 |
Marius Strobl <marius@FreeBSD.org> |
Use the same 6000 series g2{a,b} firmware versions when embedding these images into the kernel as currently included into iwn6000g2{a,b}fw.ko and delete the old files, missed in r254199 and r259135 respectively. MFC after: 3 days
|
#
c05bafc5 |
|
25-Dec-2014 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Deorbit the IEEE-488/GPIB support.
|
#
c15882f0 |
|
22-Dec-2014 |
Rick Macklem <rmacklem@FreeBSD.org> |
Remove the old NFS client and server from head, which means that the NFSCLIENT and NFSSERVER kernel options will no longer work. This commit only removes the kernel components. Removal of unused code in the user utilities will be done later. This commit does not include an addition to UPDATING, but that will be committed in a few minutes. Discussed on: freebsd-fs
|
#
237623b0 |
|
14-Dec-2014 |
Konstantin Belousov <kib@FreeBSD.org> |
Add a facility for non-init process to declare itself the reaper of the orphaned descendants. Base of the API is modelled after the same feature from the DragonFlyBSD. Requested by: bapt Reviewed by: jilles (previous version) Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 3 weeks
|
#
08fca7a5 |
|
12-Dec-2014 |
John-Mark Gurney <jmg@FreeBSD.org> |
Add some new modes to OpenCrypto. These modes are AES-ICM (can be used for counter mode), and AES-GCM. Both of these modes have been added to the aesni module. Included is a set of tests to validate that the software and aesni module calculate the correct values. These use the NIST KAT test vectors. To run the test, you will need to install a soon to be committed port, nist-kat that will install the vectors. Using a port is necessary as the test vectors are around 25MB. All the man pages were updated. I have added a new man page, crypto.7, which includes a description of how to use each mode. All the new modes and some other AES modes are present. It would be good for someone else to go through and document the other modes. A new ioctl was added to support AEAD modes which AES-GCM is one of them. Without this ioctl, it is not possible to test AEAD modes from userland. Add a timing safe bcmp for use to compare MACs. Previously we were using bcmp which could leak timing info and result in the ability to forge messages. Add a minor optimization to the aesni module so that single segment mbufs don't get copied and instead are updated in place. The aesni module needs to be updated to support blocked IO so segmented mbufs don't have to be copied. We require that the IV be specified for all calls for both GCM and ICM. This is to ensure proper use of these functions. Obtained from: p4: //depot/projects/opencrypto Relnotes: yes Sponsored by: FreeBSD Foundation Sponsored by: NetGate
|
#
0767e98a |
|
10-Dec-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: move grant table code Mave the grant table code into the dev/xen folder in preparation for turning it into a device using the newbus interface. This is just code motion, no functional changes. Sponsored by: Citrix Systems R&D
|
#
c97038fa |
|
25-Nov-2014 |
Ruslan Bukin <br@FreeBSD.org> |
o Add Virtio MMIO bus driver to config o Move Virtio-related to common config file
|
#
b4db959a |
|
25-Nov-2014 |
Ruslan Bukin <br@FreeBSD.org> |
Add new devices to the config.
|
#
4c52dc45 |
|
22-Nov-2014 |
Warner Losh <imp@FreeBSD.org> |
There never was a PC Card joystick attachment that worked. Kill the current stub one until such time as one shows up.
|
#
73f49e9e |
|
18-Nov-2014 |
Warner Losh <imp@FreeBSD.org> |
Implement the historic DIOCGDINFO ioctl for gpart on BSD partitions. Several utilities still use this interface and require additional information since gpart was activated than before. This allows fsck of a UFS partition without having to specify it is UFS, per historic behavior.
|
#
8a38d62c |
|
13-Nov-2014 |
John Baldwin <jhb@FreeBSD.org> |
Remove reference to sys/dev/dpt/dpt_control.c. It was removed back in 2001 after having never been updated for CAM changes in 1998.
|
#
603eaf79 |
|
09-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Renove faith(4) and faithd(8) from base. It looks like industry have chosen different (and more traditional) stateless/statuful NAT64 as translation mechanism. Last non-trivial commits to both faith(4) and faithd(8) happened more than 12 years ago, so I assume it is time to drop RFC3142 in FreeBSD. No objections from: net@
|
#
f325335c |
|
07-Nov-2014 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Overhaul if_gre(4). Split it into two modules: if_gre(4) for GRE encapsulation and if_me(4) for minimal encapsulation within IP. gre(4) changes: * convert to if_transmit; * rework locking: protect access to softc with rmlock, protect from concurrent ioctls with sx lock; * correct interface accounting for outgoing datagramms (count only payload size); * implement generic support for using IPv6 as delivery header; * make implementation conform to the RFC 2784 and partially to RFC 2890; * add support for GRE checksums - calculate for outgoing datagramms and check for inconming datagramms; * add support for sending sequence number in GRE header; * remove support of cached routes. This fixes problem, when gre(4) doesn't work at system startup. But this also removes support for having tunnels with the same addresses for inner and outer header. * deprecate support for various GREXXX ioctls, that doesn't used in FreeBSD. Use our standard ioctls for tunnels. me(4): * implementation conform to RFC 2004; * use if_transmit; * use the same locking model as gre(4); PR: 164475 Differential Revision: D1023 No objections from: net@ Relnotes: yes Sponsored by: Yandex LLC
|
#
10cb2424 |
|
30-Oct-2014 |
Mark Murray <markm@FreeBSD.org> |
This is the much-discussed major upgrade to the random(4) device, known to you all as /dev/random. This code has had an extensive rewrite and a good series of reviews, both by the author and other parties. This means a lot of code has been simplified. Pluggable structures for high-rate entropy generators are available, and it is most definitely not the case that /dev/random can be driven by only a hardware souce any more. This has been designed out of the device. Hardware sources are stirred into the CSPRNG (Yarrow, Fortuna) like any other entropy source. Pluggable modules may be written by third parties for additional sources. The harvesting structures and consequently the locking have been simplified. Entropy harvesting is done in a more general way (the documentation for this will follow). There is some GREAT entropy to be had in the UMA allocator, but it is disabled for now as messing with that is likely to annoy many people. The venerable (but effective) Yarrow algorithm, which is no longer supported by its authors now has an alternative, Fortuna. For now, Yarrow is retained as the default algorithm, but this may be changed using a kernel option. It is intended to make Fortuna the default algorithm for 11.0. Interested parties are encouraged to read ISBN 978-0-470-47424-2 "Cryptography Engineering" By Ferguson, Schneier and Kohno for Fortuna's gory details. Heck, read it anyway. Many thanks to Arthur Mesh who did early grunt work, and who got caught in the crossfire rather more than he deserved to. My thanks also to folks who helped me thresh this out on whiteboards and in the odd "Hallway track", or otherwise. My Nomex pants are on. Let the feedback commence! Reviewed by: trasz,des(partial),imp(partial?),rwatson(partial?) Approved by: so(des)
|
#
bf7313e3 |
|
22-Oct-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: implement the privcmd user-space device This device is only attached to priviledged domains, and allows the toolstack to interact with Xen. The two functions of the privcmd interface is to allow the execution of hypercalls from user-space, and the mapping of foreign domain memory. Sponsored by: Citrix Systems R&D i386/include/xen/hypercall.h: amd64/include/xen/hypercall.h: - Introduce a function to make generic hypercalls into Xen. xen/interface/xen.h: xen/interface/memory.h: - Import the new hypercall XENMEM_add_to_physmap_range used by auto-translated guests to map memory from foreign domains. dev/xen/privcmd/privcmd.c: - This device has the following functions: - Allow user-space applications to make hypercalls into Xen. - Allow user-space applications to map memory from foreign domains, this is accomplished using the newly introduced hypercall (XENMEM_add_to_physmap_range). xen/privcmd.h: - Public ioctl interface for the privcmd device. x86/xen/hvm.c: - Remove declaration of hypercall_page, now it's declared in hypercall.h. conf/files: - Add the privcmd device to the build process.
|
#
5779d8ad |
|
22-Oct-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: import a proper event channel user-space device The user-space event channel device is used by applications to receive and send event channel interrupts. This device is based on the Linux evtchn device. Sponsored by: Citrix Systems R&D xen/evtchn/evtchn_dev.c: - Remove the old event channel device, which was already disabled in the build system. dev/xen/evtchn/evtchn_dev.c: - Import a new event channel device based on the one present in Linux. - This device allows the following operations: - Bind VIRQ event channels (ioctl). - Bind regular event channels (ioctl). - Create and bind new event channels (ioctl). - Unbind event channels (ioctl). - Send notifications to event channels (ioctl). - Reset the device shared memory ring (ioctl). - Unmask event channels (write). - Receive event channel upcalls (read). - The new code is MP safe, and can be used concurrently. conf/files: - Add the new device to the build system.
|
#
007054f0 |
|
20-Oct-2014 |
Bryan Venteicher <bryanv@FreeBSD.org> |
Add vxlan interface vxlan creates a virtual LAN by encapsulating the inner Ethernet frame in a UDP packet. This implementation is based on RFC7348. Currently, the IPv6 support is not fully compliant with the specification: we should be able to receive UPDv6 packets with a zero checksum, but we need to support RFC6935 first. Patches for this should come soon. Encapsulation protocols such as vxlan emphasize the need for the FreeBSD network stack to support batching, GRO, and GSO. Each frame has to make two trips through the network stack, and each frame will be at most MTU sized. Performance suffers accordingly. Some latest generation NICs have begun to support vxlan HW offloads that we should also take advantage of. VIMAGE support should also be added soon. Differential Revision: https://reviews.freebsd.org/D384 Reviewed by: gnn Relnotes: yes
|
#
93d500a5 |
|
17-Oct-2014 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
After r273087,r273090,r273091,r273121 changes to gif(4) try to fix NOIP builds for real. MFC after: 27 days
|
#
ae3fa78b |
|
15-Oct-2014 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add inet/inet6 to the dependency list. Without them if_gif is useless. MFC after: 1 month
|
#
9ae91cc4 |
|
12-Oct-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Implement fib*_lookup_nh_basic to provide fast non-refcounted way to determine egress ifp / mtu.
|
#
1d2baefc |
|
10-Oct-2014 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Change the PF hash from Jenkins to Murmur3. In forwarding tests this showed a conservative 3% incrase in PPS. Differential Revision: https://reviews.freebsd.org/D461 Submitted by: des Reviewed by: emaste MFC after: 1 month
|
#
80b47aef |
|
09-Oct-2014 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Move the SCTP syscalls to netinet with the rest of the SCTP code. The syscalls themselves are tightly coupled with the network stack and therefore should not be in the generic socket code. The following four syscalls have been marked as NOSTD so they can be dynamically registered in sctp_syscalls_init() function: sys_sctp_peeloff sys_sctp_generic_sendmsg sys_sctp_generic_sendmsg_iov sys_sctp_generic_recvmsg The syscalls are also set up to be dynamically registered when COMPAT32 option is configured. As a side effect of moving the SCTP syscalls, getsock_cap needs to be made available outside of the uipc_syscalls.c source file. A proper prototype has been added to the sys/socketvar.h header file. API tests from the SCTP reference implementation have been run to ensure compatibility. (http://code.google.com/p/sctp-refimpl/source/checkout) Submitted by: Steve Kiernan <stevek@juniper.net> Reviewed by: tuexen, rrs Obtained from: Juniper Networks, Inc.
|
#
78b59024 |
|
06-Oct-2014 |
Xin LI <delphij@FreeBSD.org> |
Add explicit_bzero(3) and its kernel counterpart. Obtained from: OpenBSD MFC after: 2 weeks
|
#
557077b5 |
|
30-Sep-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: add xenstored user-space device This device is used by the user-space daemon that runs xenstore (xenstored). It allows xenstored to map the xenstore memory page, and reports the event channel xenstore is using. Sponsored by: Citrix Systems R&D dev/xen/xenstore/xenstored_dev.c: - Add the xenstored character device that's used to map the xenstore memory into user-space, and to report the event channel used by xenstore. conf/files: - Add the device to the build process.
|
#
a6aedc5d |
|
30-Sep-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: move xenstore devices Move xenstore related devices (xenstore.c and xenstore_dev.c) from xen/xenstore to dev/xen/xenstore. This is just code motion, no functional changes. Sponsored by: Citrix Systems R&D
|
#
9de2fdaf |
|
25-Sep-2014 |
John Baldwin <jhb@FreeBSD.org> |
Lock ncr(4) and mark it MPSAFE along with various other fixes: - Use bus_*() instead of bus_space_*(). - Use device_printf(). - Remove unused global variables and the extra warning suppression they required. - Use callout() instead of timeout(). Reviewed by: se
|
#
f02f7422 |
|
22-Sep-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Hardware driver update from Mellanox Technologies, including: - improved performance - better stability - new features - bugfixes Supported HCAs: - ConnectX-2 - ConnectX-3 - ConnectX-3 Pro Sponsored by: Mellanox Technologies MFC after: 1 week
|
#
14f2533c |
|
23-Sep-2014 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
As per [1] Intel only supports this driver on 64bit platforms. For now restrict it to amd64. Other architectures might be re-added later once tested. Remove the drivers from the global NOTES and files files and move them to the amd64 specifics. Remove the drivers from the i386 modules build and only leave the amd64 version. Rather than depending on "inet" depend on "pci" and make sure that ixl(4) and ixlv(4) can be compiled independently [2]. This also allows the drivers to build properly on IPv4-only or IPv6-only kernels. PR: 193824 [2] Reviewed by: eric.joyner intel.com MFC after: 3 days References: [1] http://lists.freebsd.org/pipermail/svn-src-all/2014-August/090470.html
|
#
f495ec29 |
|
23-Sep-2014 |
Rui Paulo <rpaulo@FreeBSD.org> |
Move all the power management (SMBus) drivers to their own directory, away from sys/pci.
|
#
271b33a6 |
|
22-Sep-2014 |
Rui Paulo <rpaulo@FreeBSD.org> |
Move amdsmb and nfsmb from dev/pci to their own device directory.
|
#
3355bd61 |
|
22-Sep-2014 |
Rui Paulo <rpaulo@FreeBSD.org> |
Move pci/ncr to dev/ncr.
|
#
59ef6b46 |
|
19-Sep-2014 |
Steven Hartland <smh@FreeBSD.org> |
Fix static kernel build with options ZFS This was broken by r271802. MFC after: 1 week X-MFC-With: r271802 Sponsored by: Multiplay
|
#
b2d3d26f |
|
19-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Move rl(4) to dev/rl.
|
#
9e2eaa64 |
|
15-Sep-2014 |
Adrian Chadd <adrian@FreeBSD.org> |
Disable flow-director support until it's been debugged and verified. The flowdirector feature shares on-chip memory with other things such as the RX buffers. In theory it should be configured in a way that doesn't interfere with the rest of operation. In practice, the RX buffer calculation didn't take the flow-director allocation into account and there'd be overlap. This lead to various garbage frames being received containing what looks like internal NIC state. What _I_ saw was traffic ending up in the wrong RX queues. If I was doing a UDP traffic test with only one NIC ring receiving traffic, everything is fine. If I fired up a second UDP stream which came in on another ring, there'd be a few percent of traffic from both rings ending up in the wrong ring. Ie, the RSS hash would indicate it was supposed to come in ring X, but it'd come in ring Y. However, when the allocation was fixed up, the developers at Verisign still saw traffic stalls. The flowdirector feature ends up fiddling with the NIC to do various attempts at load balancing connections by populating flow table rules based on sampled traffic. It's likely that all of that has to be carefully reviewed and made less "magic". So for now the flow director feature is disabled (which fixes both what I was seeing and what they were seeing) until it's all much more debugged and verified. Tested: * (me) 82599EB 2x10G NIC, RSS UDP testing. * (verisign) not sure on the NIC (but likely 82599), 100k-200k/sec TCP transaction tests. Submitted by: Marc De La Gueronniere <mdelagueronniere@verisign.com> MFC after: 1 week Sponsored by: Verisign, Inc.
|
#
b8ed20db |
|
13-Sep-2014 |
Ian Lepore <ian@FreeBSD.org> |
Create an interface and support routines for drivers that handle IO pin multiplexing and configuration based on FDT data. Reviewed by: imp
|
#
3a8b5804 |
|
13-Sep-2014 |
Ian Lepore <ian@FreeBSD.org> |
Make inclusion of fdt clock support conditional on fdt_clock, not just fdt. There are plenty of platforms that use fdt without needing the overhead of the new clock support routines.
|
#
9ff96c23 |
|
10-Sep-2014 |
Andrew Turner <andrew@FreeBSD.org> |
Move if_smc_fdt.c to live in sys/dev/smc. It's not specific to the ARM Versatile hardware.
|
#
27ecc2ad |
|
05-Sep-2014 |
Benno Rice <benno@FreeBSD.org> |
Add support for gdb's memory searching capabilities to our in-kernel gdb server. Submitted by: Daniel O'Connor <daniel.oconnor@isilon.com> Reviewed by: jhb Sponsored by: EMC Isilon Storage Division
|
#
6bd03b20 |
|
05-Sep-2014 |
Kevin Lo <kevlo@FreeBSD.org> |
The USB LED driver for the Dream Cheeky WebMail Notifier. Reviewed by: hselasky
|
#
802df3ac |
|
04-Sep-2014 |
Warner Losh <imp@FreeBSD.org> |
Separate out PCI attachment from the main AHCI driver. Move checks of PCI IDs into quirks, which mostly fit (though you'd get no argument from me that AHCI_Q_SATA1_UNIT0 is oddly specific). Set these quirks in the PCI attachment. Make some shared functions public so that PCI and possibly other bus attachments can use them. The split isn't perfect yet, but it is functional. The split will be perfected as other bus attachments for AHCI are written. Sponsored by: Netflix Reviewed by: kan, mav Differential Revision: https://reviews.freebsd.org/D699
|
#
73d49053 |
|
03-Sep-2014 |
Ian Lepore <ian@FreeBSD.org> |
Use sh -c '...' to launch the dtb build scripts with env stuff prepended, otherwise it tries to treat the env var stuff as a script file name.
|
#
90940e28 |
|
02-Sep-2014 |
Warner Losh <imp@FreeBSD.org> |
Invoke make_dtb with MACHINE defined for enhanced cross building friendliness. This should restore old-fashioned kernel building in a cross environment, though this has only had limited testing. Sponsored by: Netflix
|
#
6b6d6c44 |
|
01-Sep-2014 |
Ian Lepore <ian@FreeBSD.org> |
Create an interface for drivers to enable or disable their clocks as listed in the clocks=<...> properties of their FDT data. The clock properties consist of 2-cell tuples, each containing a clock device node reference and a clock number. A clock device driver can register itself as providing this interface, then other drivers can turn the FDT clock node reference into the corresponding device_t so that they can use the interface to query and manipulate their clocks. This provides convenience functions to enable or disable all the clocks listed in the properties for a device, so most drivers will be able to manage their clocks with a single call to fdt_clock_enable_all(dev).
|
#
0cba2b28 |
|
31-Aug-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add support for multi-field values inside ipfw tables. This is the last major change in given branch. Kernel changes: * Use 64-bytes structures to hold multi-value variables. * Use shared array to hold values from all tables (assume each table algo is capable of holding 32-byte variables). * Add some placeholders to support per-table value arrays in future. * Use simple eventhandler-style API to ease the process of adding new table items. Currently table addition may required multiple UH drops/ acquires which is quite tricky due to atomic table modificatio/swap support, shared array resize, etc. Deal with it by calling special notifier capable of rolling back state before actually performing swap/resize operations. Original operation then restarts itself after acquiring UH lock. * Bump all objhash users default values to at least 64 * Fix custom hashing inside objhash. Userland changes: * Add support for dumping shared value array via "vlist" internal cmd. * Some small print/fill_flags dixes to support u32 values. * valtype is now bitmask of <skipto|pipe|fib|nat|dscp|tag|divert|netgraph|limit|ipv4|ipv6>. New values can hold distinct values for each of this types. * Provide special "legacy" type which assumes all values are the same. * More helpers/docs following.. Some examples: 3:41 [1] zfscurr0# ipfw table mimimi create valtype skipto,limit,ipv4,ipv6 3:41 [1] zfscurr0# ipfw table mimimi info +++ table(mimimi), set(0) +++ kindex: 2, type: addr references: 0, valtype: skipto,limit,ipv4,ipv6 algorithm: addr:radix items: 0, size: 296 3:42 [1] zfscurr0# ipfw table mimimi add 10.0.0.5 3000,10,10.0.0.1,2a02:978:2::1 added: 10.0.0.5/32 3000,10,10.0.0.1,2a02:978:2::1 3:42 [1] zfscurr0# ipfw table mimimi list +++ table(mimimi), set(0) +++ 10.0.0.5/32 3000,0,10.0.0.1,2a02:978:2::1
|
#
fc1dccd5 |
|
30-Aug-2014 |
Christian Brueffer <brueffer@FreeBSD.org> |
Allow the iwn(4) fw 100 to be compiled into the kernel and update the relevant manpages.
|
#
61ae650d |
|
22-Aug-2014 |
Jack F Vogel <jfv@FreeBSD.org> |
Update to the Intel Base driver for the Intel XL710 Ethernet Controller Family - It was decided to change the driver name to if_ixl for FreeBSD - This release adds the VF Driver to the tree, it can be built into the kernel or as the if_ixlv module - The VF driver is independent for the first time, this will be desireable when full SRIOV capability is added to the OS. - Thanks to my new coworker Eric Joyner for his superb work in both the core and vf driver code. Enjoy everyone! Submitted by: jack.vogel@intel.com and eric.joyner@intel.com MFC after: 3 days (hoping to make 10.1)
|
#
3914ddf8 |
|
17-Aug-2014 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bring in the new automounter, similar to what's provided in most other UNIX systems, eg. MacOS X and Solaris. It uses Sun-compatible map format, has proper kernel support, and LDAP integration. There are still a few outstanding problems; they will be fixed shortly. Reviewed by: allanjude@, emaste@, kib@, wblock@ (earlier versions) Phabric: D523 MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation
|
#
4bf50f18 |
|
16-Aug-2014 |
Luigi Rizzo <luigi@FreeBSD.org> |
Update to the current version of netmap. Mostly bugfixes or features developed in the past 6 months, so this is a 10.1 candidate. Basically no user API changes (some bugfixes in sys/net/netmap_user.h). In detail: 1. netmap support for virtio-net, including in netmap mode. Under bhyve and with a netmap backend [2] we reach over 1Mpps with standard APIs (e.g. libpcap), and 5-8 Mpps in netmap mode. 2. (kernel) add support for multiple memory allocators, so we can better partition physical and virtual interfaces giving access to separate users. The most visible effect is one additional argument to the various kernel functions to compute buffer addresses. All netmap-supported drivers are affected, but changes are mechanical and trivial 3. (kernel) simplify the prototype for *txsync() and *rxsync() driver methods. All netmap drivers affected, changes mostly mechanical. 4. add support for netmap-monitor ports. Think of it as a mirroring port on a physical switch: a netmap monitor port replicates traffic present on the main port. Restrictions apply. Drive carefully. 5. if_lem.c: support for various paravirtualization features, experimental and disabled by default. Most of these are described in our ANCS'13 paper [1]. Paravirtualized support in netmap mode is new, and beats the numbers in the paper by a large factor (under qemu-kvm, we measured gues-host throughput up to 10-12 Mpps). A lot of refactoring and additional documentation in the files in sys/dev/netmap, but apart from #2 and #3 above, almost nothing of this stuff is visible to other kernel parts. Example programs in tools/tools/netmap have been updated with bugfixes and to support more of the existing features. This is meant to go into 10.1 so we plan an MFC before the Aug.22 deadline. A lot of this code has been contributed by my colleagues at UNIPI, including Giuseppe Lettieri, Vincenzo Maffione, Stefano Garzarella. MFC after: 3 days.
|
#
a5d6708e |
|
15-Aug-2014 |
Adrian Chadd <adrian@FreeBSD.org> |
Add if_ath_alq code into the non-module build.
|
#
c4df003e |
|
14-Aug-2014 |
Gavin Atkinson <gavin@FreeBSD.org> |
Allow iwn105fw and iwn135 firmwares to be compiled into the kernel. MFC after: 1 week
|
#
f9478f91 |
|
05-Aug-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add new USB phone descriptor template for USB device side mode. MFC after: 3 days
|
#
68394ec8 |
|
28-Jul-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
* Add generic ipfw interface tracking API * Rewrite interface tables to use interface indexes Kernel changes: * Add generic interface tracking API: - ipfw_iface_ref (must call unlocked, performs lazy init if needed, allocates state & bumps ref) - ipfw_iface_add_ntfy(UH_WLOCK+WLOCK, links comsumer & runs its callback to update ifindex) - ipfw_iface_del_ntfy(UH_WLOCK+WLOCK, unlinks consumer) - ipfw_iface_unref(unlocked, drops reference) Additionally, consumer callbacks are called in interface withdrawal/departure. * Rewrite interface tables to use iface tracking API. Currently tables are implemented the following way: runtime data is stored as sorted array of {ifidx, val} for existing interfaces full data is stored inside namedobj instance (chained hashed table). * Add IP_FW_XIFLIST opcode to dump status of tracked interfaces * Pass @chain ptr to most non-locked algorithm callbacks: (prepare_add, prepare_del, flush_entry ..). This may be needed for better interaction of given algorithm an other ipfw subsystems * Add optional "change_ti" algorithm handler to permit updating of cached table_info pointer (happens in case of table_max resize) * Fix small bug in ipfw_list_tables() * Add badd (insert into sorted array) and bdel (remove from sorted array) funcs Userland changes: * Add "iflist" cmd to print status of currently tracked interface * Add stringnum_cmp for better interface/table names sorting
|
#
1e0a021e |
|
26-Jul-2014 |
Marcel Moolenaar <marcel@FreeBSD.org> |
The accept filter code is not specific to the FreeBSD IPv4 network stack, so it really should not be under "optional inet". The fact that uipc_accf.c lives under kern/ lends some weight to making it a "standard" file. Moving kern/uipc_accf.c from "optional inet" to "standard" eliminates the need for #ifdef INET in kern/uipc_socket.c. Also, this meant the net.inet.accf.unloadable sysctl needed to move, as net.inet does not exist without networking compiled in (as it lives in netinet/in_proto.c.) The new sysctl has been named net.accf.unloadable. In order to support existing accept filter sysctls, the net.inet.accf node has been added netinet/in_proto.c. Submitted by: Steve Kiernan <stevek@juniper.net> Obtained from: Juniper Networks, Inc.
|
#
984a2ea9 |
|
16-Jul-2014 |
Alexander Motin <mav@FreeBSD.org> |
Add support for VMWare dialect of EXTENDED COPY command, aka VAAI Clone. This allows to clone VMs and move them between LUNs inside one storage host without generating extra network traffic to the initiator and back, and without being limited by network bandwidth. LUNs participating in copy operation should have UNIQUE NAA or EUI IDs set. For LUNs without these IDs VMWare will use traditional copy operations. Beware: the above LUN IDs explicitly set to values non-unique from the VM cluster point of view may cause data corruption if wrong LUN is addressed! MFC after: 2 weeks Sponsored by: iXsystems, Inc.
|
#
c59e4cc3 |
|
01-Jul-2014 |
Rick Macklem <rmacklem@FreeBSD.org> |
Merge the NFSv4.1 server code in projects/nfsv4.1-server over into head. The code is not believed to have any effect on the semantics of non-NFSv4.1 server behaviour. It is a rather large merge, but I am hoping that there will not be any regressions for the NFS server. MFC after: 1 month
|
#
327235b3 |
|
22-Jun-2014 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update the bundled T4 and T5 firmwares to versions 1.11.27.0. Obtained from: Chelsio MFC after: 3 days
|
#
a401c53a |
|
18-Jun-2014 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Rename vt(4) vga module to dismiss interference with syscons(4) vga module. MFC after: 1 week Sponsored by: The FreeBSD Foundation
|
#
34ec15da |
|
16-Jun-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: create a PV CPU device for PVH guests Since there's no ACPI on PVH guests, we need to create a dummy CPU device in order to fill the pcpu->pc_device field. Sponsored by: Citrix Systems R&D Approved by: gibbs dev/xen/pvcpu/pvcpu.c: - Create a dummy CPU device for PVH guests in order to fill the per-cpu pc_device field. conf/files: - Add the pvcpu device to kernels using XEN or XENHVM options.
|
#
9f7d47b0 |
|
14-Jun-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add API to ease adding new algorithms/new tabletypes to ipfw. Kernel-side changelog: * Split general tables code and algorithm-specific table data. Current algorithms (IPv4/IPv6 radix and interface tables radix) moved to new ip_fw_table_algo.c file. Tables code now supports any algorithm implementing the following callbacks: +struct table_algo { + char name[64]; + int idx; + ta_init *init; + ta_destroy *destroy; + table_lookup_t *lookup; + ta_prepare_add *prepare_add; + ta_prepare_del *prepare_del; + ta_add *add; + ta_del *del; + ta_flush_entry *flush_entry; + ta_foreach *foreach; + ta_dump_entry *dump_entry; + ta_dump_xentry *dump_xentry; +}; * Change ->state, ->xstate, ->tabletype fields of ip_fw_chain to ->tablestate pointer (array of 32 bytes structures necessary for runtime lookups (can be probably shrinked to 16 bytes later): +struct table_info { + table_lookup_t *lookup; /* Lookup function */ + void *state; /* Lookup radix/other structure */ + void *xstate; /* eXtended state */ + u_long data; /* Hints for given func */ +}; * Add count method for namedobj instance to ease size calculations * Bump ip_fw3 buffer in ipfw_clt 128->256 bytes. * Improve bitmask resizing on tables_max change. * Remove table numbers checking from most places. * Fix wrong nesting in ipfw_rewrite_table_uidx(). * Add IP_FW_OBJ_LIST opcode (list all objects of given type, currently implemented for IPFW_OBJTYPE_TABLE). * Add IP_FW_OBJ_LISTSIZE (get buffer size to hold IP_FW_OBJ_LIST data, currenly implemented for IPFW_OBJTYPE_TABLE). * Add IP_FW_OBJ_INFO (requests info for one object of given type). Some name changes: s/ipfw_xtable_tlv/ipfw_obj_tlv/ (no table specifics) s/ipfw_xtable_ntlv/ipfw_obj_ntlv/ (no table specifics) Userland changes: * Add do_set3() cmd to ipfw2 to ease dealing with op3-embeded opcodes. * Add/improve support for destroy/info cmds.
|
#
d68d0cf5 |
|
11-Jun-2014 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Add disklabel64 support MFC after: 2 weeks
|
#
23f6698f |
|
08-Jun-2014 |
Konstantin Belousov <kib@FreeBSD.org> |
Initialize the pbuf counter for directio using SYSINIT, instead of using a direct hook called from kern_vfs_bio_buffer_alloc(). Mark ffs_rawread.c as requiring both ffs and directio options to be compiled into the kernel. Add ffs_rawread.c to the list of ufs.ko module' sources. In addition to stopping breaking the layering violation, it also allows to link kernel when FFS is configured as module and DIRECTIO is enabled. One consequence of the change is that ffs_rawread.o is always linked into the module regardless of the DIRECTIO option. This is similar to the option QUOTA and ufs_quota.c. Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
ad76ab42 |
|
29-May-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Factor out kernel configuration for DWC OTG FDT attach code.
|
#
0b4dc07d |
|
29-May-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Hook the ISP/SAF1761 driver into MIPS kernel builds. - Update FDT file for BERI DE4 boards. - Add needed kernel configuration keywords. - Rename module to saf1761otg so that the device unit number does not interfere with the hardware ID in dmesg. Sponsored by: DARPA, AFRL
|
#
298d969c |
|
27-May-2014 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): netmap support for Terminator 5 (T5) based 10G/40G cards. Netmap gets its own hardware-assisted virtual interface and won't take over or disrupt the "normal" interface in any way. You can use both simultaneously. For kernels with DEV_NETMAP, cxgbe(4) carves out an ncxl<N> interface (note the 'n' prefix) in the hardware to accompany each cxl<N> interface. These two ifnet's per port share the same wire but really are separate interfaces in the hardware and software. Each gets its own L2 MAC addresses (unicast and multicast), MTU, checksum caps, etc. You should run netmap on the 'n' interfaces only, that's what they are for. With this, pkt-gen is able to transmit > 45Mpps out of a single 40G port of a T580 card. 2 port tx is at ~56Mpps total (28M + 28M) as of now. Single port receive is at 33Mpps but this is very much a work in progress. I expect it to be closer to 40Mpps once done. In any case the current effort can already saturate multiple 10G ports of a T5 card at the smallest legal packet size. T4 gear is totally untested. trantor:~# ./pkt-gen -i ncxl0 -f tx -D 00:07:43:ab:cd:ef 881.952141 main [1621] interface is ncxl0 881.952250 extract_ip_range [275] range is 10.0.0.1:0 to 10.0.0.1:0 881.952253 extract_ip_range [275] range is 10.1.0.1:0 to 10.1.0.1:0 881.962540 main [1804] mapped 334980KB at 0x801dff000 Sending on netmap:ncxl0: 4 queues, 1 threads and 1 cpus. 10.0.0.1 -> 10.1.0.1 (00:00:00:00:00:00 -> 00:07:43:ab:cd:ef) 881.962562 main [1882] Sending 512 packets every 0.000000000 s 881.962563 main [1884] Wait 2 secs for phy reset 884.088516 main [1886] Ready... 884.088535 nm_open [457] overriding ifname ncxl0 ringid 0x0 flags 0x1 884.088607 sender_body [996] start 884.093246 sender_body [1064] drop copy 885.090435 main_thread [1418] 45206353 pps (45289533 pkts in 1001840 usec) 886.091600 main_thread [1418] 45322792 pps (45375593 pkts in 1001165 usec) 887.092435 main_thread [1418] 45313992 pps (45351784 pkts in 1000834 usec) 888.094434 main_thread [1418] 45315765 pps (45406397 pkts in 1002000 usec) 889.095434 main_thread [1418] 45333218 pps (45378551 pkts in 1001000 usec) 890.097434 main_thread [1418] 45315247 pps (45405877 pkts in 1002000 usec) 891.099434 main_thread [1418] 45326515 pps (45417168 pkts in 1002000 usec) 892.101434 main_thread [1418] 45333039 pps (45423705 pkts in 1002000 usec) 893.103434 main_thread [1418] 45324105 pps (45414708 pkts in 1001999 usec) 894.105434 main_thread [1418] 45318042 pps (45408723 pkts in 1002001 usec) 895.106434 main_thread [1418] 45332430 pps (45377762 pkts in 1001000 usec) 896.107434 main_thread [1418] 45338072 pps (45383410 pkts in 1001000 usec) ... Relnotes: Yes Sponsored by: Chelsio Communications.
|
#
fa0f6e62 |
|
23-May-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Initial import of character device in userspace support for FreeBSD. The CUSE library is a wrapper for the devfs kernel functionality which is exposed through /dev/cuse . In order to function the CUSE kernel code must either be enabled in the kernel configuration file or loaded separately as a module. Currently none of the committed items are connected to the default builds, except for installing the needed header files. The CUSE code will be connected to the default world and kernel builds in a follow-up commit. The CUSE module was written by Hans Petter Selasky, somewhat inspired by similar functionality found in FUSE. The CUSE library can be used for many purposes. Currently CUSE is used when running Linux kernel drivers in user-space, which need to create a character device node to communicate with its applications. CUSE has full support for almost all devfs functionality found in the kernel: - kevents - read - write - ioctl - poll - open - close - mmap - private per file handle data Requested by several people. Also see "multimedia/cuse4bsd-kmod" in ports.
|
#
81e3caaf |
|
21-May-2014 |
Justin Hibbits <jhibbits@FreeBSD.org> |
imagact_binmisc builds for all supported architectures, so enable it for all. Any bugs in execution will be dealt with as they crop up. MFC after: 3 weeks Relnotes: Yes
|
#
0572ccaa |
|
20-May-2014 |
Jim Harris <jimharris@FreeBSD.org> |
Add ismt(4) driver. ismt(4) supports the SMBus Message Transport controller found on Intel C2000 series (Avoton) and S1200 series (Briarwood) Atom SoCs. Sponsored by: Intel
|
#
a7353153 |
|
18-May-2014 |
Jack F Vogel <jfv@FreeBSD.org> |
This is the beta release of the driver for the new Intel 40G Ethernet Controller XL710 Family. This is the core driver, a VF driver called i40evf, will be following soon. Questions or comments to myself or my co-developer Eric Joyner. Cheers!
|
#
dd75f2c5 |
|
09-May-2014 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add the lm75 i2c digital temperature sensor driver. This driver supports the low and high precision models (9 and 11 bits) and it will auto-detect the both variants. The driver expose the temperature registers (actual temperature, shutdown and hysteresys temperature) and also the configuration register. It was tested on FDT systems: RPi, BBB and on non-FDT systems: AR71xx, with both, hardware i2c controllers (when available) and gpioiic(4). This provides a simple and cheap way for verifying the i2c bus on embedded systems.
|
#
665484d8 |
|
07-May-2014 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
Add mrsas(4) driver from LSI official support of newer MegaRAID SAS cards. LSI has been maintaining this driver outside of the FreeBSD tree. It overlaps support of ThunderBolt and Invader cards that mfi(4) supports. By default mfi(4) will attach to cards. If the tunable: hw.mfi.mrsas_enable=1 is set then mfi(4) will not probe and attach to these newer cards and allow mrsas(4) to attach. So by default this driver will not effect a FreeBSD system unless mfi(4) is removed from the kernel or the tunable is enabled. mrsas(4) attaches disks to the CAM layer so it depends on CAM and devices show up as /dev/daX. mfiutil(8) does not work with mrsas. The FreeBSD version of MegaCli and StorCli from LSI do work with mrsas. It appears that StorCli only works with mrsas. MegaCli appears to work with mfi(4) and mrsas(4). It would be good to add mfiutil(4) support to mrsas, emulations modes, kernel logging, device aliases to ease the transition between mfi(4) and mrsas(4). Style issues should be resolved by LSI when they get committers approved. The plan is get this driver in FreeBSD 9.3 to improve HW support. Thanks to LSI for developing, testing and working with FreeBSD to make this driver co-exist in FreeBSD. This improves the overall support of MegaRAID SAS. Submitted by: Kashyap Desai <Kashyap.Desai@lsi.com> Reviewed by: scottl MFC after: 3 days Sponsored by: LSI
|
#
02e17f0b |
|
02-May-2014 |
Marius Strobl <marius@FreeBSD.org> |
Allow GEOM_VINUM to be statically compiled into the kernel. Submitted by: gleb MFC after: 3 days
|
#
991554f2 |
|
02-May-2014 |
Kenneth D. Merry <ken@FreeBSD.org> |
Bring in the mpr(4) driver for LSI's MPT3 12Gb SAS controllers. This is derived from the mps(4) driver, but it supports only the 12Gb IT and IR hardware including the SAS 3004, SAS 3008 and SAS 3108. Some notes about this driver: o The 12Gb hardware can do "FastPath" I/O, and that capability is included in this driver. o WarpDrive functionality has been removed, since it isn't supported in the 12Gb driver interface. o The Scatter/Gather list handling code is significantly different between the 6Gb and 12Gb hardware. The 12Gb boards support IEEE Scatter/Gather lists. Thanks to LSI for developing and testing this driver for FreeBSD. share/man/man4/mpr.4: mpr(4) man page. sys/dev/mpr/*: mpr(4) driver files. sys/modules/Makefile, sys/modules/mpr/Makefile: Add a module Makefile for the mpr(4) driver. sys/conf/files: Add the mpr(4) driver. sys/amd64/conf/GENERIC, sys/i386/conf/GENERIC, sys/mips/conf/OCTEON1, sys/sparc64/conf/GENERIC: Add the mpr(4) driver to all config files that currently have the mps(4) driver. sys/ia64/conf/GENERIC: Add the mps(4) and mpr(4) drivers to the ia64 GENERIC config file. sys/i386/conf/XEN: Exclude the mpr module from building here. Submitted by: Steve McConnell <Stephen.McConnell@lsi.com> MFC after: 3 days Tested by: Chris Reeves <chrisr@spectralogic.com> Sponsored by: LSI, Spectra Logic Relnotes: LSI 12Gb SAS driver mpr(4) added
|
#
0edb7351 |
|
30-Apr-2014 |
Warner Losh <imp@FreeBSD.org> |
Allow FDT_DTS_FILE to be a list, either in the makedtb target, or in a kernel config file. If you also want to have a static DTB compiled into your kernel, however, it cannot be a list. We have no mechanism in the kernel for picking one, so that doesn't make sense and will result in a compile-time error.
|
#
28bc7834 |
|
25-Apr-2014 |
Kevin Lo <kevlo@FreeBSD.org> |
Add preliminary support for the Realtek RTL8188EUS and RTL8188ETV chipsets. Committed over the TP-LINK TL-WN725N v2 (RTL8188EUS) on amd64 with WPA.
|
#
e8c166e8 |
|
05-Apr-2014 |
Marcel Moolenaar <marcel@FreeBSD.org> |
An all-or-nothing approach to labels isn't flexible enough. Embedded systems need fine-grained control over what's in and what's out. That's ideal. For now, separate GPT labels from the rest and allow g_label to be built with just GPT labels. Obtained from: Juniper Networks, Inc.
|
#
5605a99e |
|
01-Apr-2014 |
Ryan Stone <rstone@FreeBSD.org> |
Add a method to get the PCI RID for a device. Reviewed by: kib MFC after: 2 months Sponsored by: Sandvine Inc.
|
#
7036ae46 |
|
01-Apr-2014 |
Ryan Stone <rstone@FreeBSD.org> |
Revert PCI RID changes. My PCI RID changes somehow got intermixed with my PCI ARI patch when I committed it. I may have accidentally applied a patch to a non-clean working tree. Revert everything while I figure out what went wrong. Pointy hat to: rstone
|
#
d773f48b |
|
01-Apr-2014 |
Ryan Stone <rstone@FreeBSD.org> |
Add a method to get the PCI Routing ID for a device Reviewed by: kib Sponsored by: Sandvine, Inc
|
#
d27ad6d0 |
|
27-Mar-2014 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Enable to build UEFI framebuffer driver for vt(4). It can be enabled by "device vt_efifb" in kernel config. Requested by: emaste Sponsored by: The FreeBSD Foundation
|
#
0f26fd2c |
|
27-Mar-2014 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Remove ctl_mem_pool.{c,h}. Sponsored by: The FreeBSD Foundation
|
#
8083f14f |
|
15-Mar-2014 |
John-Mark Gurney <jmg@FreeBSD.org> |
replace the kernel's version w/ cperciva's implementation... In all my tests, it is faster ~20%, even on an old IXP425 533MHz it is ~45% faster... This is partly due to loop unrolling, so the code size does significantly increase... I do plan on committing a version that rolls up the loops again for smaller code size for embedded systems where size is more important than absolute performance (it'll save ~6k code)... The kernel implementation is now shared w/ userland's libcrypt and libmd... We drop support for sha256 from sha2.c, so now sha2.c only contains sha384 and sha512... Reviewed by: secteam@
|
#
7527624e |
|
14-Mar-2014 |
Robert Watson <rwatson@FreeBSD.org> |
Several years after initial development, merge prototype support for linking NIC Receive Side Scaling (RSS) to the network stack's connection-group implementation. This prototype (and derived patches) are in use at Juniper and several other FreeBSD-using companies, so despite some reservations about its maturity, merge the patch to the base tree so that it can be iteratively refined in collaboration rather than maintained as a set of gradually diverging patch sets. (1) Merge a software implementation of the Toeplitz hash specified in RSS implemented by David Malone. This is used to allow suitable pcbgroup placement of connections before the first packet is received from the NIC. Software hashing is generally avoided, however, due to high cost of the hash on general-purpose CPUs. (2) In in_rss.c, maintain authoritative versions of RSS state intended to be pushed to each NIC, including keying material, hash algorithm/ configuration, and buckets. Provide software-facing interfaces to hash 2- and 4-tuples for IPv4 and IPv6 using both the RSS standardised Toeplitz and a 'naive' variation with a hash efficient in software but with poor distribution properties. Implement rss_m2cpuid()to be used by netisr and other load balancing code to look up the CPU on which an mbuf should be processed. (3) In the Ethernet link layer, allow netisr distribution using RSS as a source of policy as an alternative to source ordering; continue to default to direct dispatch (i.e., don't try and requeue packets for processing on the 'right' CPU if they arrive in a directly dispatchable context). (4) Allow RSS to control tuning of connection groups in order to align groups with RSS buckets. If a packet arrives on a protocol using connection groups, and contains a suitable hardware-generated hash, use that hash value to select the connection group for pcb lookup for both IPv4 and IPv6. If no hardware-generated Toeplitz hash is available, we fall back on regular PCB lookup risking contention rather than pay the cost of Toeplitz in software -- this is a less scalable but, at my last measurement, faster approach. As core counts go up, we may want to revise this strategy despite CPU overhead. Where device drivers suitably configure NICs, and connection groups / RSS are enabled, this should avoid both lock and line contention during connection lookup for TCP. This commit does not modify any device drivers to tune device RSS configuration to the global RSS configuration; patches are in circulation to do this for at least Chelsio T3 and Intel 1G/10G drivers. Currently, the KPI for device drivers is not particularly robust, nor aware of more advanced features such as runtime reconfiguration/rebalancing. This will hopefully prove a useful starting point for refinement. No MFC is scheduled as we will first want to nail down a more mature and maintainable KPI/KBI for device drivers. Sponsored by: Juniper Networks (original work) Sponsored by: EMC/Isilon (patch update and merge)
|
#
45c203fc |
|
14-Mar-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove AppleTalk support. AppleTalk was a network transport protocol for Apple Macintosh devices in 80s and then 90s. Starting with Mac OS X in 2000 the AppleTalk was a legacy protocol and primary networking protocol is TCP/IP. The last Mac OS X release to support AppleTalk happened in 2009. The same year routing equipment vendors (namely Cisco) end their support. Thus, AppleTalk won't be supported in FreeBSD 11.0-RELEASE.
|
#
2c284d93 |
|
13-Mar-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove IPX support. IPX was a network transport protocol in Novell's NetWare network operating system from late 80s and then 90s. The NetWare itself switched to TCP/IP as default transport in 1998. Later, in this century the Novell Open Enterprise Server became successor of Novell NetWare. The last release that claimed to still support IPX was OES 2 in 2007. Routing equipment vendors (e.g. Cisco) discontinued support for IPX in 2011. Thus, IPX won't be supported in FreeBSD 11.0-RELEASE.
|
#
c203fa69 |
|
11-Mar-2014 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: add and enable Xen console for PVH guests This adds and enables the PV console used on XEN kernels to GENERIC/XENHVM kernels in order for it to be used on PVH. Approved by: gibbs Sponsored by: Citrix Systems R&D dev/xen/console/console.c: - Define console_page. - Move xc_printf debug function from i386 XEN code to generic console code. - Rework xc_printf. - Use xen_initial_domain instead of open-coded checks for Dom0. - Gate the attach of the PV console to PV(H) guests. dev/xen/console/xencons_ring.c: - Allow the PV Xen console to output earlier by directly signaling the event channel in start_info if the event channel is not yet initialized. - Use HYPERVISOR_start_info instead of xen_start_info. i386/include/xen/xen-os.h: - Remove prototype for xc_printf since it's now declared in global xen-os.h i386/xen/xen_machdep.c: - Remove previous version of xc_printf. - Remove definition of console_page (now it's defined in the console itself). - Fix some printf formatting errors. x86/xen/pv.c: - Add some early boot debug messages using xc_printf. - Set console_page based on the value passed in start_info. xen/xen-os.h: - Declare console_page and add prototype for xc_printf.
|
#
3bd5959e |
|
28-Feb-2014 |
Warner Losh <imp@FreeBSD.org> |
Only try to build the static dtb when we're building a static dtb...
|
#
eeb913c9 |
|
28-Feb-2014 |
Warner Losh <imp@FreeBSD.org> |
Integrate device-tree upstream files into the build process: (1) Invoke cpp to bring in files via #include (although the old /include/ stuff is supported still). (2) bring in files from either vendor tree or freebsd-custom files when building. (3) move all dts* files from sys/boot/fdt/dts to sys/boot/fdt/dts/${MACHINE} as appropriate. (4) encode all the magic to do the build in sys/tools/fdt/make_dtb.sh so that the different places in the tree use the exact same logic. (5) switch back to gpl dtc by default. the bsdl one in the tree has significant issues not easily addressed by those unfamiliar with the code.
|
#
7330dd0b |
|
23-Feb-2014 |
Adrian Chadd <adrian@FreeBSD.org> |
Add initial AR8327 support. This is (almost!) enough to actually probe, attach, configure a default port group and do some basic work. It's also totally hard-coded for the Qualcomm Atheros DB120 board - it doesn't yet have any of the code from OpenWRT which parses extra configuration data to know how to program the switch. The LED stuff is also missing. But, it's enough to facilitate board, PHY, switch and VLAN bringup, so I am committing it now. Tested: * Qualcomm Atheros DB120 Obtained from: OpenWRT
|
#
f0ea3689 |
|
14-Feb-2014 |
Luigi Rizzo <luigi@FreeBSD.org> |
This new version of netmap brings you the following: - netmap pipes, providing bidirectional blocking I/O while moving 100+ Mpps between processes using shared memory channels (no mistake: over one hundred million. But mind you, i said *moving* not *processing*); - kqueue support (BHyVe needs it); - improved user library. Just the interface name lets you select a NIC, host port, VALE switch port, netmap pipe, and individual queues. The upcoming netmap-enabled libpcap will use this feature. - optional extra buffers associated to netmap ports, for applications that need to buffer data yet don't want to make copies. - segmentation offloading for the VALE switch, useful between VMs. and a number of bug fixes and performance improvements. My colleagues Giuseppe Lettieri and Vincenzo Maffione did a substantial amount of work on these features so we owe them a big thanks. There are some external repositories that can be of interest: https://code.google.com/p/netmap our public repository for netmap/VALE code, including linux versions and other stuff that does not belong here, such as python bindings. https://code.google.com/p/netmap-libpcap a clone of the libpcap repository with netmap support. With this any libpcap client has access to most netmap feature with no recompilation. E.g. tcpdump can filter packets at 10-15 Mpps. https://code.google.com/p/netmap-ipfw a userspace version of ipfw+dummynet which uses netmap to send/receive packets. Speed is up in the 7-10 Mpps range per core for simple rulesets. Both netmap-libpcap and netmap-ipfw will be merged upstream at some point, but while this happens it is useful to have access to them. And yes, this code will be merged soon. It is infinitely better than the version currently in 10 and 9. MFC after: 3 days
|
#
177ccd3c |
|
14-Feb-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Disable warning about unused static const variables for sys/pci/ncr.c. MFC after: 3 days
|
#
2a987425 |
|
14-Feb-2014 |
Dimitry Andric <dim@FreeBSD.org> |
In r260111, in sys/conf/files, I disabled warning about unused functions for the wrong mcg.c, the one in ofed/drivers/infiniband/hw/mlx4. Disable the warning for ofed/drivers/net/mlx4/mcg.c instead. MFC after: 3 days
|
#
b3448df4 |
|
14-Feb-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Similar to r260026, disable warning about unused functions for ieee80211_adhoc.c, ieee80211_hostap.c and ieee80211_sta.c. MFC after: 3 days
|
#
f25e50cf |
|
14-Feb-2014 |
Andriy Gapon <avg@FreeBSD.org> |
provide fast versions of ffsl and flsl for i386; ffsll and flsll for amd64 Reviewed by: jhb MFC after: 10 days X-MFC note: consider thirdparty modules depending on these symbols Sponsored by: HybridCluster
|
#
6d866ed3 |
|
13-Feb-2014 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add an OFW GPIO compatible bus. This allows the use of the DTS files to describe GPIO bindings in the system. Move the GPIOBUS lock macros to gpiobusvar.h as they are now shared between the OFW and the non OFW versions of GPIO bus. Export gpiobus_print_pins() so it can also be used on the OFW GPIO bus. Approved by: adrian (mentor, implicit)
|
#
cf042e43 |
|
09-Feb-2014 |
Christian Brueffer <brueffer@FreeBSD.org> |
Allow iwn2000 and iwn2030 firmware to be linked into the kernel. PR: 184631 Submitted by: Oliver Pinter MFC after: 1 week
|
#
29311227 |
|
06-Feb-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Import USB RNDIS driver to FreeBSD from OpenBSD. Useful for so-called USB tethering. - Imported code from OpenBSD - Adapted code to FreeBSD - Removed some unused functions - Fixed some buffer encoding and decoding issues - Optimised data transport path a bit, by sending multiple packets at a time - Increased receive buffer to 16K Obtained from: OpenBSD Requested by: eadler @ MFC after: 2 weeks
|
#
65d08437 |
|
05-Feb-2014 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Move Open Firmware device root on PowerPC, ARM, and MIPS systems to a sub-node of nexus (ofwbus) rather than direct attach under nexus. This fixes FDT on x86 and will make coexistence with ACPI on ARM systems easier. SPARC is unchanged. Reviewed by: imp, ian
|
#
06763f5e |
|
01-Feb-2014 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Provide a simpler and more standards-compliant simplebus implementation to get the Routerboard 800 up and running with the vendor device tree. This does not implement some BERI-specific features (which hopefully won't be necessary soon), so move the old code to mips/beri, with a higher attach priority when built, until MIPS interrupt domain support is rearranged.
|
#
eed447b5 |
|
29-Jan-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for trackpads found in Apple MacBook products. While at it add some missing devd entries. Submitted by: Huang Wen Hui <huanghwh@gmail.com> MFC after: 1 week
|
#
50b464aa |
|
07-Jan-2014 |
Scott Long <scottl@FreeBSD.org> |
Remove aicasm as a build dependency. It made sense when the ahc and ahd drivers and their firmware were under active development, but those days have passed. The firmware now exists in pre-compiled form, no longer dependent on it's sources or on aicasm. If you wish to rebuild the firmware from source, the glue still exists under the 'make firmware' target in sys/modules/aic7xxx. This also fixes the problem introduced with r257777 et al with building kernels the old fashioned way in sys/$arch/compile/$CONFIG when the ahc/ahd drivers were included.
|
#
02c7dba9 |
|
05-Jan-2014 |
Ian Lepore <ian@FreeBSD.org> |
Remove dev/fdt/fdt_pci.c, which was code specific to Marvell ARM SoCs, related to setting up static device mappings. Since it was only used by arm/mv/mv_pci.c, it's now just static functions within that file, plus one public function that gets called only from arm/mv/mv_machdep.c.
|
#
ff962389 |
|
30-Dec-2013 |
Dimitry Andric <dim@FreeBSD.org> |
For sys/ofed/drivers/infiniband/hw/mlx4/mcg.c, disable warning about unused variables for now. MFC after: 3 days
|
#
d33c2508 |
|
30-Dec-2013 |
Dimitry Andric <dim@FreeBSD.org> |
For sys/ofed/drivers/infiniband/core/cm.c, disable warning about unused functions for now. MFC after: 3 days
|
#
3d3e01a2 |
|
29-Dec-2013 |
Dimitry Andric <dim@FreeBSD.org> |
Turn off warnings about unused variables for a bunch of files under contrib/ipfilter. MFC after: 3 days
|
#
29c425ac |
|
28-Dec-2013 |
Dimitry Andric <dim@FreeBSD.org> |
Disable warning about unused functions for ieee80211_crypto.c and ieee80211_mesh.c for now. MFC after: 3 days
|
#
fabb883e |
|
28-Dec-2013 |
Dimitry Andric <dim@FreeBSD.org> |
Disable warning about unused functions for ar9300_reset.c for now. MFC after: 3 days
|
#
f9790aeb |
|
15-Dec-2013 |
Luigi Rizzo <luigi@FreeBSD.org> |
split netmap code according to functions: - netmap.c base code - netmap_freebsd.c FreeBSD-specific code - netmap_generic.c emulate netmap over standard drivers - netmap_mbq.c simple mbuf tailq - netmap_mem2.c memory management - netmap_vale.c VALE switch simplify devce-specific code
|
#
37fd54ff |
|
08-Dec-2013 |
Aleksandr Rybalko <ray@FreeBSD.org> |
o Build syscons(9)'s splash support if both sc and splash are enabled. o Include opt_splash.h for vt(9) to know when splash device is enabled. o Build logo_freebsd.c only if splash and vt are enabled. o Include opt_compat.h to know when we have to respect compatibility. Sponsored by: The FreeBSD Foundation
|
#
f5fdfd5d |
|
08-Dec-2013 |
Peter Wemm <peter@FreeBSD.org> |
Fix build with 'crypto' and 'zfs' in the same kernel. This was the path of least pain I could find.
|
#
24447bc5 |
|
07-Dec-2013 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Include dev/fb/fb_if.m in build always, without it kms modules complain about lack of fb_getinfo_desc symbol. Submitted by: dumbbell Sponsored by: The FreeBSD Foundation
|
#
27cf7d04 |
|
05-Dec-2013 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Merge VT(9) project (a.k.a. newcons). Reviewed by: nwhitehorn MFC_to_10_after: re approval Sponsored by: The FreeBSD Foundation
|
#
da089c14 |
|
18-Nov-2013 |
Mark Johnston <markj@FreeBSD.org> |
Import the axge(4) driver for the ASIX AX88178A and AX88179 USB Ethernet adapters. Both devices support Gigabit Ethernet and USB 2.0, and the AX88179 supports USB 3.0. The driver was written by kevlo@ and lwhsu@, with a few bug fixes from me. MFC after: 2 months
|
#
5cd2b97c |
|
05-Nov-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Teach nexus(4) about Open Firmware (e.g. FDT) on ARM and MIPS, retiring fdtbus in most cases. This brings ARM and MIPS more in line with existing Open Firmware platforms like sparc64 and powerpc, as well as preventing double-enumeration of the OF tree on embedded PowerPC (first through nexus, then through fdtbus). This change is also designed to simplify resource management on FDT platforms by letting there exist a platform-defined root bus resource_activate() call instead of replying on fdtbus to do the right thing through fdt_bs_tag. The OFW_BUS_MAP_INTR() and OFW_BUS_CONFIG_INTR() kobj methods are also available to implement for similar purposes. Discussed on: -arm, -mips Tested by: zbb, brooks, imp, and others MFC after: 6 weeks
|
#
f827d58e |
|
04-Nov-2013 |
Ian Lepore <ian@FreeBSD.org> |
Rework the aicasm build machinery so that it gets built along with toolchain components instead of with the kernel and/or modules. This ensures that it gets built with the host compiler, not the compiler in obj/... used to build the target components (which may be a cross-compiler outputting code for a different architecture and using header files with types and options set up for the wrong architecture). Reviewed by: imp
|
#
ce3ee1e7 |
|
01-Nov-2013 |
Luigi Rizzo <luigi@FreeBSD.org> |
update to the latest netmap snapshot. This includes the following: - use separate memory regions for VALE ports - locking fixes - some simplifications in the NIC-specific routines - performance improvements for the VALE switch - some new features in the pkt-gen test program - documentation updates There are small API changes that require programs to be recompiled (NETMAP_API has been bumped so you will detect old binaries at runtime). In particular: - struct netmap_slot now is 16 bytes to support an extra pointer, which may save one data copy when using VALE ports or VMs; - the struct netmap_if has two extra fields; MFC after: 3 days
|
#
e9c347cd |
|
28-Oct-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove ng_fec(4).
|
#
67514745 |
|
25-Oct-2013 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Use common OFW root code to set up fdtbus. This is an almost purely negative diff that should improve reliability somewhat. There should be no differences in behavior -- please report any that crop up. This has been tested on ARM and PPC systems. Tested by: ray
|
#
585300e9 |
|
24-Oct-2013 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add an OFW SPI compatible bus. Fix the spibus probe to return BUS_PROBE_GENERIC and not BUS_PROBE_SPECIFIC (0) so the OFW SPI bus can attach when enabled. Export the spibus devclass_t and driver_t declarations. Submitted by: ray Approved by: adrian (mentor)
|
#
f02d731f |
|
23-Oct-2013 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Enable the build of OFW I2C bus for FDT systems. Approved by: adrian (mentor)
|
#
a33ce322 |
|
21-Oct-2013 |
Brooks Davis <brooks@FreeBSD.org> |
Remove the isf(4) driver. It was created by accident and is subset of the cfi(4) driver. It remained in the tree longer than would be ideal due to the time required to bring cfi(4) to feature parity. Sponsored by: DARPA/AFRL MFC after: 3 days
|
#
1f40dbc8 |
|
21-Oct-2013 |
Brooks Davis <brooks@FreeBSD.org> |
MFP4: 223121 (FDT infrastructure portion) Implement support for interrupt-parent nodes in simplebus. The current implementation requires that device declarations have an interrupt-parent node and that it point to a device that has registered itself as a interrupt controller in fdt_ic_list_head and implements the fdt_ic interface. Sponsored by: DARPA/AFRL
|
#
bef54b1b |
|
20-Oct-2013 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
The Xen userland event channel driver isn't complete. Disabled it from the kernel build until it is ready. sys/conf/files: Remove the entry for xen/evtchn/evtchn_dev.c so it is not included in any kernel builds. Noticed by: smh
|
#
b45ca25f |
|
15-Oct-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Add AR9340 switch support to the build.
|
#
48d05478 |
|
14-Oct-2013 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update T4 and T5 firmwares to 1.9.12.0
|
#
1a3c1f06 |
|
06-Oct-2013 |
Mark Murray <markm@FreeBSD.org> |
Snapshot. Looking pretty good; this mostly works now. New code includes: * Read cached entropy at startup, both from files and from loader(8) preloaded entropy. Failures are soft, but announced. Untested. * Use EVENTHANDLER to do above just before we go multiuser. Untested.
|
#
505cdd82 |
|
06-Oct-2013 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove the uipc_cow.c file, which is not used since the zero copy sockets removal. Noted by: alc Sponsored by: The FreeBSD Foundation Approved by: re (delphij)
|
#
f02e47dc |
|
04-Oct-2013 |
Mark Murray <markm@FreeBSD.org> |
Snapshot. This passes the build test, but has not yet been finished or debugged. Contains: * Refactor the hardware RNG CPU instruction sources to feed into the software mixer. This is unfinished. The actual harvesting needs to be sorted out. Modified by me (see below). * Remove 'frac' parameter from random_harvest(). This was never used and adds extra code for no good reason. * Remove device write entropy harvesting. This provided a weak attack vector, was not very good at bootstrapping the device. To follow will be a replacement explicit reseed knob. * Separate out all the RANDOM_PURE sources into separate harvest entities. This adds some secuity in the case where more than one is present. * Review all the code and fix anything obviously messy or inconsistent. Address som review concerns while I'm here, like rename the pseudo-rng to 'dummy'. Submitted by: Arthur Mesh <arthurmesh@gmail.com> (the first item)
|
#
c9f432b7 |
|
28-Sep-2013 |
Alfred Perlstein <alfred@FreeBSD.org> |
Update OFED to Linux 3.7 and update Mellanox drivers. Update the OFED Infiniband core to the version supplied in Linux version 3.7. The update to OFED is nearly all additional defines and functions with the exception of the addition of additional parameters to ib_register_device() and the reg_user_mr callback. In addition the ibcore (Infiniband core) and ipoib (IP over Infiniband) have both been made into completely loadable modules to facilitate testing of the OFED stack in FreeBSD. Finally the Mellanox Infiniband drivers are now updated to the latest version shipping with Linux 3.7. Submitted by: Mellanox FreeBSD driver team: Oded Shanoon (odeds mellanox.com), Meny Yossefi (menyy mellanox.com), Orit Moskovich (oritm mellanox.com) Approved by: re
|
#
4e400768 |
|
20-Sep-2013 |
David Christensen <davidch@FreeBSD.org> |
Substantial rewrite of bxe(4) to add support for the BCM57712 and BCM578XX controllers. Approved by: re MFC after: 4 weeks
|
#
009ea47e |
|
14-Sep-2013 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bring in the new iSCSI target and initiator. Reviewed by: ken (parts) Approved by: re (delphij) Sponsored by: FreeBSD Foundation
|
#
7008be5b |
|
04-Sep-2013 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Change the cap_rights_t type from uint64_t to a structure that we can extend in the future in a backward compatible (API and ABI) way. The cap_rights_t represents capability rights. We used to use one bit to represent one right, but we are running out of spare bits. Currently the new structure provides place for 114 rights (so 50 more than the previous cap_rights_t), but it is possible to grow the structure to hold at least 285 rights, although we can make it even larger if 285 rights won't be enough. The structure definition looks like this: struct cap_rights { uint64_t cr_rights[CAP_RIGHTS_VERSION + 2]; }; The initial CAP_RIGHTS_VERSION is 0. The top two bits in the first element of the cr_rights[] array contain total number of elements in the array - 2. This means if those two bits are equal to 0, we have 2 array elements. The top two bits in all remaining array elements should be 0. The next five bits in all array elements contain array index. Only one bit is used and bit position in this five-bits range defines array index. This means there can be at most five array elements in the future. To define new right the CAPRIGHT() macro must be used. The macro takes two arguments - an array index and a bit to set, eg. #define CAP_PDKILL CAPRIGHT(1, 0x0000000000000800ULL) We still support aliases that combine few rights, but the rights have to belong to the same array element, eg: #define CAP_LOOKUP CAPRIGHT(0, 0x0000000000000400ULL) #define CAP_FCHMOD CAPRIGHT(0, 0x0000000000002000ULL) #define CAP_FCHMODAT (CAP_FCHMOD | CAP_LOOKUP) There is new API to manage the new cap_rights_t structure: cap_rights_t *cap_rights_init(cap_rights_t *rights, ...); void cap_rights_set(cap_rights_t *rights, ...); void cap_rights_clear(cap_rights_t *rights, ...); bool cap_rights_is_set(const cap_rights_t *rights, ...); bool cap_rights_is_valid(const cap_rights_t *rights); void cap_rights_merge(cap_rights_t *dst, const cap_rights_t *src); void cap_rights_remove(cap_rights_t *dst, const cap_rights_t *src); bool cap_rights_contains(const cap_rights_t *big, const cap_rights_t *little); Capability rights to the cap_rights_init(), cap_rights_set(), cap_rights_clear() and cap_rights_is_set() functions are provided by separating them with commas, eg: cap_rights_t rights; cap_rights_init(&rights, CAP_READ, CAP_WRITE, CAP_FSTAT); There is no need to terminate the list of rights, as those functions are actually macros that take care of the termination, eg: #define cap_rights_set(rights, ...) \ __cap_rights_set((rights), __VA_ARGS__, 0ULL) void __cap_rights_set(cap_rights_t *rights, ...); Thanks to using one bit as an array index we can assert in those functions that there are no two rights belonging to different array elements provided together. For example this is illegal and will be detected, because CAP_LOOKUP belongs to element 0 and CAP_PDKILL to element 1: cap_rights_init(&rights, CAP_LOOKUP | CAP_PDKILL); Providing several rights that belongs to the same array's element this way is correct, but is not advised. It should only be used for aliases definition. This commit also breaks compatibility with some existing Capsicum system calls, but I see no other way to do that. This should be fine as Capsicum is still experimental and this change is not going to 9.x. Sponsored by: The FreeBSD Foundation
|
#
77de2c3f |
|
30-Aug-2013 |
Mark Murray <markm@FreeBSD.org> |
Separate out the Software RNG entropy harvesting queue and thread into its own files. Submitted by: Arthur Mesh <arthurmesh@gmail.com>
|
#
9f40021f |
|
29-Aug-2013 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Introduce a new, HVM compatible, paravirtualized timer driver for Xen. Use this new driver for both PV and HVM instances. This driver requires a Xen hypervisor that supports vector callbacks, VCPUOP hypercalls, and reports that it has a "safe PV clock". New timer driver: Submitted by: will Sponsored by: Spectra Logic Corporation PV port to new driver, and bug fixes: Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D sys/dev/xen/timer/timer.c: - Register a PV timer device driver which (currently) implements device_{identify,probe,attach} and stubs device_detach. The detach routine requires functionality not provided by timecounters(4). The suspend and resume routines need additional work (due to Xen requiring that the hypercalls be executed on the target VCPU), and aren't needed for our purposes. - Make sure there can only be one device instance of this driver, and that it only registers one eventtimers(4) and one timecounters(4) device interface. Make both interfaces use PCPU data as needed. - Match, with a few style cleanups & API differences, the Xen versions of the "fetch time" functions. - Document the magic scale_delta() better for the i386 version. - When registering the event timer, bind a separate event channel for the timer VIRQ to the device's event timer interrupt handler for each active VCPU. Describe each interrupt as "xen_et:c%d", so they can be identified per CPU in "vmstat -i" or "show intrcnt" in KDB. - When scheduling a timer into the hypervisor, try up to 60 times if the hypervisor rejects the time as being in the past. In the common case, this retry shouldn't happen, and if it does, it should only happen once. This is because the event timer advertises a minimum period of 100usec, which is only less than the usual hypercall round trip time about 1 out of every 100 tries. (Unlike other similar drivers, this one actually checks whether the hypervisor accepted the singleshot timer set hypercall.) - Implement a RTC PV clock based on the hypervisor wallclock. sys/conf/files: - Add dev/xen/timer/timer.c if the kernel configuration includes either the XEN or XENHVM options. sys/conf/files.i386: sys/i386/include/xen/xen_clock_util.h: sys/i386/xen/clock.c: sys/i386/xen/xen_clock_util.c: sys/i386/xen/mp_machdep.c: sys/i386/xen/xen_rtc.c: - Remove previous PV timer used in i386 XEN PV kernels, the new timer introduced in this change is used instead (so we share the same code between PVHVM and PV). MFC after: 2 weeks
|
#
76acc41f |
|
29-Aug-2013 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Implement vector callback for PVHVM and unify event channel implementations Re-structure Xen HVM support so that: - Xen is detected and hypercalls can be performed very early in system startup. - Xen interrupt services are implemented using FreeBSD's native interrupt delivery infrastructure. - the Xen interrupt service implementation is shared between PV and HVM guests. - Xen interrupt handlers can optionally use a filter handler in order to avoid the overhead of dispatch to an interrupt thread. - interrupt load can be distributed among all available CPUs. - the overhead of accessing the emulated local and I/O apics on HVM is removed for event channel port events. - a similar optimization can eventually, and fairly easily, be used to optimize MSI. Early Xen detection, HVM refactoring, PVHVM interrupt infrastructure, and misc Xen cleanups: Sponsored by: Spectra Logic Corporation Unification of PV & HVM interrupt infrastructure, bug fixes, and misc Xen cleanups: Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D sys/x86/x86/local_apic.c: sys/amd64/include/apicvar.h: sys/i386/include/apicvar.h: sys/amd64/amd64/apic_vector.S: sys/i386/i386/apic_vector.s: sys/amd64/amd64/machdep.c: sys/i386/i386/machdep.c: sys/i386/xen/exception.s: sys/x86/include/segments.h: Reserve IDT vector 0x93 for the Xen event channel upcall interrupt handler. On Hypervisors that support the direct vector callback feature, we can request that this vector be called directly by an injected HVM interrupt event, instead of a simulated PCI interrupt on the Xen platform PCI device. This avoids all of the overhead of dealing with the emulated I/O APIC and local APIC. It also means that the Hypervisor can inject these events on any CPU, allowing upcalls for different ports to be handled in parallel. sys/amd64/amd64/mp_machdep.c: sys/i386/i386/mp_machdep.c: Map Xen per-vcpu area during AP startup. sys/amd64/include/intr_machdep.h: sys/i386/include/intr_machdep.h: Increase the FreeBSD IRQ vector table to include space for event channel interrupt sources. sys/amd64/include/pcpu.h: sys/i386/include/pcpu.h: Remove Xen HVM per-cpu variable data. These fields are now allocated via the dynamic per-cpu scheme. See xen_intr.c for details. sys/amd64/include/xen/hypercall.h: sys/dev/xen/blkback/blkback.c: sys/i386/include/xen/xenvar.h: sys/i386/xen/clock.c: sys/i386/xen/xen_machdep.c: sys/xen/gnttab.c: Prefer FreeBSD primatives to Linux ones in Xen support code. sys/amd64/include/xen/xen-os.h: sys/i386/include/xen/xen-os.h: sys/xen/xen-os.h: sys/dev/xen/balloon/balloon.c: sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/console/xencons_ring.c: sys/dev/xen/control/control.c: sys/dev/xen/netback/netback.c: sys/dev/xen/netfront/netfront.c: sys/dev/xen/xenpci/xenpci.c: sys/i386/i386/machdep.c: sys/i386/include/pmap.h: sys/i386/include/xen/xenfunc.h: sys/i386/isa/npx.c: sys/i386/xen/clock.c: sys/i386/xen/mp_machdep.c: sys/i386/xen/mptable.c: sys/i386/xen/xen_clock_util.c: sys/i386/xen/xen_machdep.c: sys/i386/xen/xen_rtc.c: sys/xen/evtchn/evtchn_dev.c: sys/xen/features.c: sys/xen/gnttab.c: sys/xen/gnttab.h: sys/xen/hvm.h: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbus_if.m: sys/xen/xenbus/xenbusb_front.c: sys/xen/xenbus/xenbusvar.h: sys/xen/xenstore/xenstore.c: sys/xen/xenstore/xenstore_dev.c: sys/xen/xenstore/xenstorevar.h: Pull common Xen OS support functions/settings into xen/xen-os.h. sys/amd64/include/xen/xen-os.h: sys/i386/include/xen/xen-os.h: sys/xen/xen-os.h: Remove constants, macros, and functions unused in FreeBSD's Xen support. sys/xen/xen-os.h: sys/i386/xen/xen_machdep.c: sys/x86/xen/hvm.c: Introduce new functions xen_domain(), xen_pv_domain(), and xen_hvm_domain(). These are used in favor of #ifdefs so that FreeBSD can dynamically detect and adapt to the presence of a hypervisor. The goal is to have an HVM optimized GENERIC, but more is necessary before this is possible. sys/amd64/amd64/machdep.c: sys/dev/xen/xenpci/xenpcivar.h: sys/dev/xen/xenpci/xenpci.c: sys/x86/xen/hvm.c: sys/sys/kernel.h: Refactor magic ioport, Hypercall table and Hypervisor shared information page setup, and move it to a dedicated HVM support module. HVM mode initialization is now triggered during the SI_SUB_HYPERVISOR phase of system startup. This currently occurs just after the kernel VM is fully setup which is just enough infrastructure to allow the hypercall table and shared info page to be properly mapped. sys/xen/hvm.h: sys/x86/xen/hvm.c: Add definitions and a method for configuring Hypervisor event delievery via a direct vector callback. sys/amd64/include/xen/xen-os.h: sys/x86/xen/hvm.c: sys/conf/files: sys/conf/files.amd64: sys/conf/files.i386: Adjust kernel build to reflect the refactoring of early Xen startup code and Xen interrupt services. sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: sys/dev/xen/control/control.c: sys/dev/xen/evtchn/evtchn_dev.c: sys/dev/xen/netback/netback.c: sys/dev/xen/netfront/netfront.c: sys/xen/xenstore/xenstore.c: sys/xen/evtchn/evtchn_dev.c: sys/dev/xen/console/console.c: sys/dev/xen/console/xencons_ring.c Adjust drivers to use new xen_intr_*() API. sys/dev/xen/blkback/blkback.c: Since blkback defers all event handling to a taskqueue, convert this task queue to a "fast" taskqueue, and schedule it via an interrupt filter. This avoids an unnecessary ithread context switch. sys/xen/xenstore/xenstore.c: The xenstore driver is MPSAFE. Indicate as much when registering its interrupt handler. sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbusvar.h: Remove unused event channel APIs. sys/xen/evtchn.h: Remove all kernel Xen interrupt service API definitions from this file. It is now only used for structure and ioctl definitions related to the event channel userland device driver. Update the definitions in this file to match those from NetBSD. Implementing this interface will be necessary for Dom0 support. sys/xen/evtchn/evtchnvar.h: Add a header file for implemenation internal APIs related to managing event channels event delivery. This is used to allow, for example, the event channel userland device driver to access low-level routines that typical kernel consumers of event channel services should never access. sys/xen/interface/event_channel.h: sys/xen/xen_intr.h: Standardize on the evtchn_port_t type for referring to an event channel port id. In order to prevent low-level event channel APIs from leaking to kernel consumers who should not have access to this data, the type is defined twice: Once in the Xen provided event_channel.h, and again in xen/xen_intr.h. The double declaration is protected by __XEN_EVTCHN_PORT_DEFINED__ to ensure it is never declared twice within a given compilation unit. sys/xen/xen_intr.h: sys/xen/evtchn/evtchn.c: sys/x86/xen/xen_intr.c: sys/dev/xen/xenpci/evtchn.c: sys/dev/xen/xenpci/xenpcivar.h: New implementation of Xen interrupt services. This is similar in many respects to the i386 PV implementation with the exception that events for bound to event channel ports (i.e. not IPI, virtual IRQ, or physical IRQ) are further optimized to avoid mask/unmask operations that aren't necessary for these edge triggered events. Stubs exist for supporting physical IRQ binding, but will need additional work before this implementation can be fully shared between PV and HVM. sys/amd64/amd64/mp_machdep.c: sys/i386/i386/mp_machdep.c: sys/i386/xen/mp_machdep.c sys/x86/xen/hvm.c: Add support for placing vcpu_info into an arbritary memory page instead of using HYPERVISOR_shared_info->vcpu_info. This allows the creation of domains with more than 32 vcpus. sys/i386/i386/machdep.c: sys/i386/xen/clock.c: sys/i386/xen/xen_machdep.c: sys/i386/xen/exception.s: Add support for new event channle implementation.
|
#
57f60867 |
|
25-Aug-2013 |
Mark Johnston <markj@FreeBSD.org> |
Implement the ip, tcp, and udp DTrace providers. The probe definitions use dynamic translation so that their arguments match the definitions for these providers in Solaris and illumos. Thus, existing scripts for these providers should work unmodified on FreeBSD. Tested by: gnn, hiren MFC after: 1 month
|
#
ddbfa6b1 |
|
24-Aug-2013 |
Mark Murray <markm@FreeBSD.org> |
1) example (partially humorous random_adaptor, that I call "EXAMPLE") * It's not meant to be used in a real system, it's there to show how the basics of how to create interfaces for random_adaptors. Perhaps it should belong in a manual page 2) Move probe.c's functionality in to random_adaptors.c * rename random_ident_hardware() to random_adaptor_choose() 3) Introduce a new way to choose (or select) random_adaptors via tunable "rngs_want" It's a list of comma separated names of adaptors, ordered by preferences. I.e.: rngs_want="yarrow,rdrand" Such setting would cause yarrow to be preferred to rdrand. If neither of them are available (or registered), then system will default to something reasonable (currently yarrow). If yarrow is not present, then we fall back to the adaptor that's first on the list of registered adaptors. 4) Introduce a way where RNGs can play a role of entropy source. This is mostly useful for HW rngs. The way I envision this is that every HW RNG will use this functionality by default. Functionality to disable this is also present. I have an example of how to use this in random_adaptor_example.c (see modload event, and init function) 5) fix kern.random.adaptors from kern.random.adaptors: yarrowpanicblock to kern.random.adaptors: yarrow,panic,block 6) add kern.random.active_adaptor to indicate currently selected adaptor: root@freebsd04:~ # sysctl kern.random.active_adaptor kern.random.active_adaptor: yarrow Submitted by: Arthur Mesh <arthurmesh@gmail.com>
|
#
9732e4fd |
|
22-Aug-2013 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Move the old iSCSI initiator source to a more appropriate place (sys/dev/iscsi_initiator/ instead of sys/dev/iscsi/initiator/), to make room for the new one. This is also more logical location (kernel module being named iscsi_initiator.ko, for example). There is no ongoing work on this I know of, so it shouldn't make life harder for anyone. There are no functional changes, apart from "svn mv" and adjusting paths.
|
#
0dac22d8 |
|
18-Aug-2013 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Implement 32bit versions of the cap_ioctls_limit(2) and cap_ioctls_get(2) system calls as unsigned longs have different size on i386 and amd64. Reported by: jilles Sponsored by: The FreeBSD Foundation
|
#
d7511a40 |
|
12-Aug-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Add read-only support for extents in ext2fs. Basic support for extents was implemented by Zheng Liu as part of his Google Summer of Code in 2010. This support is read-only at this time. In addition to extents we also support the huge_file extension for read-only purposes. This works nicely with the additional support for birthtime/nanosec timestamps and dir_index that have been added lately. The implementation may not work for all ext4 filesystems as it doesn't support some features that are being enabled by default on recent linux like flex_bg. Nevertheless, the feature should be very useful for migration or simple access in filesystems that have been converted from ext2/3 or don't use incompatible features. Special thanks to Zheng Liu for his dedication and continued work to support ext2 in FreeBSD. Submitted by: Zheng Liu (lz@) Reviewed by: Mike Ma, Christoph Mallon (previous version) Sponsored by: Google Inc. MFC after: 3 weeks
|
#
5711939b |
|
09-Aug-2013 |
David E. O'Brien <obrien@FreeBSD.org> |
* Add random_adaptors.[ch] which is basically a store of random_adaptor's. random_adaptor is basically an adapter that plugs in to random(4). random_adaptor can only be plugged in to random(4) very early in bootup. Unplugging random_adaptor from random(4) is not supported, and is probably a bad idea anyway, due to potential loss of entropy pools. We currently have 3 random_adaptors: + yarrow + rdrand (ivy.c) + nehemeiah * Remove platform dependent logic from probe.c, and move it into corresponding registration routines of each random_adaptor provider. probe.c doesn't do anything other than picking a specific random_adaptor from a list of registered ones. * If the kernel doesn't have any random_adaptor adapters present then the creation of /dev/random is postponed until next random_adaptor is kldload'ed. * Fix randomdev_soft.c to refer to its own random_adaptor, instead of a system wide one. Submitted by: arthurmesh@gmail.com, obrien Obtained from: Juniper Networks Reviewed by: so (des)
|
#
0e6a0799 |
|
31-Jul-2013 |
David E. O'Brien <obrien@FreeBSD.org> |
Back out r253779 & r253786.
|
#
31d98677 |
|
29-Jul-2013 |
Rui Paulo <rpaulo@FreeBSD.org> |
Import OpenBSD's rsu(4) WLAN driver. Support chipsets are the Realtek RTL8188SU, RTL8191SU, and RTL8192SU. Many thanks to Idwer Vollering for porting/writing the man page and for testing. Reviewed by: adrian, hselasky Obtained from: OpenBSD Tested by: kevlo, Idwer Vollering <vidwer at gmail.com>
|
#
99ff83da |
|
29-Jul-2013 |
David E. O'Brien <obrien@FreeBSD.org> |
Decouple yarrow from random(4) device. * Make Yarrow an optional kernel component -- enabled by "YARROW_RNG" option. The files sha2.c, hash.c, randomdev_soft.c and yarrow.c comprise yarrow. * random(4) device doesn't really depend on rijndael-*. Yarrow, however, does. * Add random_adaptors.[ch] which is basically a store of random_adaptor's. random_adaptor is basically an adapter that plugs in to random(4). random_adaptor can only be plugged in to random(4) very early in bootup. Unplugging random_adaptor from random(4) is not supported, and is probably a bad idea anyway, due to potential loss of entropy pools. We currently have 3 random_adaptors: + yarrow + rdrand (ivy.c) + nehemeiah * Remove platform dependent logic from probe.c, and move it into corresponding registration routines of each random_adaptor provider. probe.c doesn't do anything other than picking a specific random_adaptor from a list of registered ones. * If the kernel doesn't have any random_adaptor adapters present then the creation of /dev/random is postponed until next random_adaptor is kldload'ed. * Fix randomdev_soft.c to refer to its own random_adaptor, instead of a system wide one. Submitted by: arthurmesh@gmail.com, obrien Obtained from: Juniper Networks Reviewed by: obrien
|
#
3d30404f |
|
27-Jul-2013 |
Alfred Perlstein <alfred@FreeBSD.org> |
Fix watchdog pretimeout. The original API calls for pow2ns, however the new APIs from Linux call for seconds. We need to be able to convert to/from 2^Nns to seconds in both userland and kernel to fix this and properly compare units.
|
#
caf20efc |
|
26-Jul-2013 |
Navdeep Parhar <np@FreeBSD.org> |
Add support for packet-sniffing tracers to cxgbe(4). This works with all T4 and T5 based cards and is useful for analyzing TSO, LRO, TOE, and for general purpose monitoring without tapping any cxgbe or cxl ifnet directly. Tracers on the T4/T5 chips provide access to Ethernet frames exactly as they were received from or transmitted on the wire. On transmit, a tracer will capture a frame after TSO segmentation, hw VLAN tag insertion, hw L3 & L4 checksum insertion, etc. It will also capture frames generated by the TCP offload engine (TOE traffic is normally invisible to the kernel). On receive, a tracer will capture a frame before hw VLAN extraction, runt filtering, other badness filtering, before the steering/drop/L2-rewrite filters or the TOE have had a go at it, and of course before sw LRO in the driver. There are 4 tracers on a chip. A tracer can trace only in one direction (tx or rx). For now cxgbetool will set up tracers to capture the first 128B of every transmitted or received frame on a given port. This is a small subset of what the hardware can do. A pseudo ifnet with the same name as the nexus driver (t4nex0 or t5nex0) will be created for tracing. The data delivered to this ifnet is an additional copy made inside the chip. Normal delivery to cxgbe<n> or cxl<n> will be made as usual. /* watch cxl0, which is the first port hanging off t5nex0. */ # cxgbetool t5nex0 tracer 0 tx0 (watch what cxl0 is transmitting) # cxgbetool t5nex0 tracer 1 rx0 (watch what cxl0 is receiving) # cxgbetool t5nex0 tracer list # tcpdump -i t5nex0 <== all that cxl0 sees and puts on the wire If you were doing TSO, a tcpdump on cxl0 may have shown you ~64K "frames" with no L3/L4 checksum but this will show you the frames that were actually transmitted. /* all done */ # cxgbetool t5nex0 tracer 0 disable # cxgbetool t5nex0 tracer 1 disable # cxgbetool t5nex0 tracer list # ifconfig t5nex0 destroy
|
#
b9f07b86 |
|
23-Jul-2013 |
Luiz Otavio O Souza <loos@FreeBSD.org> |
Add the support for 802.1q and port based vlans for arswitch. Tested on: RB450G (standalone ar8316), RSPRO (standalone ar8316) and TPLink MR-3220 (ar724x integrated switch). Approved by: adrian (mentor) Obtained from: zrouter
|
#
ae230e21 |
|
13-Jul-2013 |
Rui Paulo <rpaulo@FreeBSD.org> |
Fix the urtwnfw definitions. We can now use urtwnfw in kernel config files.
|
#
81d392a0 |
|
11-Jul-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Improve SYN cookies by encoding the MSS, WSCALE (window scaling) and SACK information into the ISN (initial sequence number) without the additional use of timestamp bits and switching to the very fast and cryptographically strong SipHash-2-4 MAC hash algorithm to protect the SYN cookie against forgeries. The purpose of SYN cookies is to encode all necessary session state in the 32 bits of our initial sequence number to avoid storing any information locally in memory. This is especially important when under heavy spoofed SYN attacks where we would either run out of memory or the syncache would fill with bogus connection attempts swamping out legitimate connections. The original SYN cookies method only stored an indexed MSS values in the cookie. This isn't sufficient anymore and breaks down in the presence of WSCALE information which is only exchanged during SYN and SYN-ACK. If we can't keep track of it then we may severely underestimate the available send or receive window. This is compounded with large windows whose size information on the TCP segment header is even lower numerically. A number of years back SYN cookies were extended to store the additional state in the TCP timestamp fields, if available on a connection. While timestamps are common among the BSD, Linux and other *nix systems Windows never enabled them by default and thus are not present for the vast majority of clients seen on the Internet. The common parameters used on TCP sessions have changed quite a bit since SYN cookies very invented some 17 years ago. Today we have a lot more bandwidth available making the use window scaling almost mandatory. Also SACK has become standard making recovering from packet loss much more efficient. This change moves all necessary information into the ISS removing the need for timestamps. Both the MSS (16 bits) and send WSCALE (4 bits) are stored in 3 bit indexed form together with a single bit for SACK. While this is significantly less than the original range, it is sufficient to encode all common values with minimal rounding. The MSS depends on the MTU of the path and with the dominance of ethernet the main value seen is around 1460 bytes. Encapsulations for DSL lines and some other overheads reduce it by a few more bytes for many connections seen. Rounding down to the next lower value in some cases isn't a problem as we send only slightly more packets for the same amount of data. The send WSCALE index is bit more tricky as rounding down under-estimates the available send space available towards the remote host, however a small number values dominate and are carefully selected again. The receive WSCALE isn't encoded at all but recalculated based on the local receive socket buffer size when a valid SYN cookie returns. A listen socket buffer size is unlikely to change while active. The index values for MSS and WSCALE are selected for minimal rounding errors based on large traffic surveys. These values have to be periodically validated against newer traffic surveys adjusting the arrays tcp_sc_msstab[] and tcp_sc_wstab[] if necessary. In addition the hash MAC to protect the SYN cookies is changed from MD5 to SipHash-2-4, a much faster and cryptographically secure algorithm. Reviewed by: dwmalone Tested by: Fabian Keil <fk@fabiankeil.de>
|
#
3c9d5a03 |
|
10-Jul-2013 |
Hiren Panchasara <hiren@FreeBSD.org> |
Adding urtwn(4) firmware and related changes. Reviewed by: rpaulo Approved by: sbruno (mentor)
|
#
5f545832 |
|
06-Jul-2013 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Add files related to ext2 HTree implementation These should've been added along with r252890 Reported by: gonzo PointyHat: pfg MFC after: 1 week
|
#
f72b68a1 |
|
03-Jul-2013 |
Navdeep Parhar <np@FreeBSD.org> |
- Include the T5 firmware with the driver. - Update the T4 firmware to the latest. - Minor reorganization and updates to the version macros, etc. Obtained from: Chelsio MFC after: 1 day
|
#
6c6f1f01 |
|
03-Jul-2013 |
Peter Wemm <peter@FreeBSD.org> |
Add an entry for filemon.
|
#
237abf0c |
|
28-Jun-2013 |
Davide Italiano <davide@FreeBSD.org> |
- Trim an unused and bogus Makefile for mount_smbfs. - Reconnect with some minor modifications, in particular now selsocket() internals are adapted to use sbintime units after recent'ish calloutng switch.
|
#
5f518366 |
|
27-Jun-2013 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add a general purpose resource allocator, vmem, from NetBSD. It was originally inspired by the Solaris vmem detailed in the proceedings of usenix 2001. The NetBSD version was heavily refactored for bugs and simplicity. - Use this resource allocator to allocate the buffer and transient maps. Buffer cache defrags are reduced by 25% when used by filesystems with mixed block sizes. Ultimately this may permit dynamic buffer cache sizing on low KVA machines. Discussed with: alc, kib, attilio Tested by: pho Sponsored by: EMC / Isilon Storage Division
|
#
db581564 |
|
21-Jun-2013 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Rename run(4) firmware file from runfw to run.fw. Previous name was the same as top-level target name for "device runfw" kernel option and caused cyclic dependancy that lead to kernel build breakage Module change is not strictly required and done for name unification sake PR: conf/175751 Submitted by: Issei <i10a at herbmint.jp>
|
#
fd75b91d |
|
18-Jun-2013 |
Jack F Vogel <jfv@FreeBSD.org> |
Add quad port probe support, this gives the admin proper information about the slot (which should be a PCIE Gen 3 slot for this adapter) by looking back thru the PCI parent devices to the slot device. The fix above also corrects the bandwidth display to GT/s rather than the incorrect Gb/s Next, allow the use of ALTQ if you select the compile option IXGBE_LEGACY_TX. Allow the use of 'unsupported' optic modules by a compile option as well. Add a phy reset capability into the stop code, this is so a static configured driver will still behave properly when taken down (not being able to unload it). This revision synchronizes the shared code with Intel internal current code, and note that it now includes DCB supporting code, this was necessitated by some internal changes with the code, but it also will provide the opportunity to develop this feature in the core driver down the road. I have edited the README to get rid of some of the worse anachronisms in it as well, its by no means as robust as I might wish at this point however. Oh, I also have included some conditional stuff in the code so it will be compatible in both the 9.X and 10 environments. Performance has been a focus in recent changes and I believe this revision driver will perform very well in most workloads. MFC after: 2 weeks
|
#
c8789c34 |
|
17-Jun-2013 |
Scott Long <scottl@FreeBSD.org> |
This is an addendum to r251837. Missed adding the new references to cam_compat.c to the various makefiles. Obtained from: Netflix
|
#
216ca234 |
|
12-Jun-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate the LNA mixing diversity machinery from the AR9285 HAL to the driver. The AR9485 chip and AR933x SoC both implement LNA diversity. There are a few extra things that need to happen before this can be flipped on for those chips (mostly to do with setting up the different bias values and LNA1/LNA2 RSSI differences) but the first stage is putting this code into the driver layer so it can be reused. This has the added benefit of making it easier to expose configuration options and diagnostic information via the ioctl API. That's not yet being done but it sure would be nice to do so. Tested: * AR9285, with LNA diversity enabled * AR9285, with LNA diversity disabled in EEPROM
|
#
c2c2fc4d |
|
08-Jun-2013 |
Rui Paulo <rpaulo@FreeBSD.org> |
Import Kevin Lo's port of urtwn(4) from OpenBSD. urtwn(4) is a driver for the Realtek RTL8188CU/RTL8192CU USB IEEE 802.11b/g/n wireless cards. This driver requires microcode which is available in FreeBSD ports: net/urtwn-firmware-kmod. Hiren ported the urtwn(4) man page from OpenBSD and Glen just commited a port for the firmware. TODO: - 802.11n support - Stability fixes - the driver can sustain lots of traffic but has trouble coping with simultaneous iperf sessions. - fix debugging MFC after: 2 months Tested by: kevlo, hiren, gjb
|
#
b70f530b |
|
07-Jun-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Bring over the initial static bluetooth coexistence configuration for the WB195 combo NIC - an AR9285 w/ an AR3011 USB bluetooth NIC. The AR3011 is wired up using a 3-wire coexistence scheme to the AR9285. The code in if_ath_btcoex.c sets up the initial hardware mapping and coexistence configuration. There's nothing special about it - it's static; it doesn't try to configure bluetooth / MAC traffic priorities or try to figure out what's actually going on. It's enough to stop basic bluetooth traffic from causing traffic stalls and diassociation from the wireless network. To use this code, you must have the above NIC. No, it won't work for the AR9287+AR3012, nor the AR9485, AR9462 or AR955x combo cards. Then you set a kernel hint before boot or before kldload, where 'X' is the unit number of your AR9285 NIC: # kenv hint.ath.X.btcoex_profile=wb195 This will then appear in your boot messages: [100482] athX: Enabling WB195 BTCOEX This code is going to evolve pretty quickly (well, depending upon my spare time) so don't assume the btcoex API is going to stay stable. In order to use the bluetooth side, you must also load in firmware using ath3kfw and the binary firmware file (ath3k-1.fw in my case.) Tested: * AR9280, no interference * WB195 - AR9285 + AR3011 combo; STA mode; basic bluetooth inquiries were enough to cause traffic stalls and disassociations. This has stopped with the btcoex profile code. TODO: * Importantly - the AR9285 needs ASPM disabled if bluetooth coexistence is enabled. No, I don't know why. It's likely some kind of bug to do with the AR3011 sending bluetooth coexistence signals whilst the device is asleep. Since we don't actually sleep the MAC just yet, it shouldn't be a problem. That said, to be totally correct: + ASPM should be disabled - upon attach and wakeup + The PCIe powersave HAL code should never be called Look at what the ath9k driver does for inspiration. * Add WB197 (AR9287+AR3012) support * Add support for the AR9485, which is another combo like the AR9285 * The later NICs have a different signaling mechanism between the MAC and the bluetooth device; I haven't even begun to experiment with making that HAL code work. But it should be a lot more automatic. * The hardware can do much more interesting traffic weighting with bluetooth and wifi traffic. None of this is currently used. Ideally someone would code up something to watch the bluetooth traffic GPIO (via an interrupt) and then watch it go high/low; then figure out what the bluetooth traffic is and adjust things appropriately. * If I get the time I may add in some code to at least track this stuff and expose statistics. But it's up to someone else to experiment with the bluetooth coexistence support and add the interesting stuff (like "real" detection of bulk, audio, etc bluetooth traffic patterns and change wifi parameters appropriately - eg, maximum aggregate length, transmit power, using quiet time to control TX duty cycle, etc.)
|
#
dce93cd0 |
|
24-May-2013 |
Achim Leubner <achim@FreeBSD.org> |
Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver. Approved by: scottl (mentor)
|
#
cb34ed44 |
|
20-May-2013 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add basic support for FDT to i386 & amd64. This change includes: 1. Common headers for fdt.h and ofw_machdep.h under x86/include with indirections under i386/include and amd64/include. 2. New modinfo for loader provided FDT blob. 3. Common x86_init_fdt() called from hammer_time() on amd64 and init386() on i386. 4. Split-off FDT specific low-level console functions from FDT bus methods for the uart(4) driver. The low-level console logic has been moved to uart_cpu_fdt.c and is used for arm, mips & powerpc only. The FDT bus methods are shared across all architectures. 5. Add dev/fdt/fdt_x86.c to hold the fdt_fixup_table[] and the fdt_pic_table[] arrays. Both are empty right now. FDT addresses are I/O ports on x86. Since the core FDT code does not handle different address spaces, adding support for both I/O ports and memory addresses requires some thought and discussion. It may be better to use a compile-time option that controls this. Obtained from: Juniper Networks, Inc.
|
#
f2cc1285 |
|
11-May-2013 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add a new general purpose path-compressed radix trie which can be used with any structure containing a uint64_t index. The tree code auto-generates type safe wrappers. - Eliminate the buf splay and replace it with pctrie. This is not only significantly faster with large files but also allows for the possibility of shared locking. Reviewed by: alc, attilio Sponsored by: EMC / Isilon Storage Division
|
#
248dd603 |
|
08-May-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Bring in a basic ethernet switch driver for the IP17x series of switches. These are notably found on some AR71xx based Mikrotik boards. Submitted by: Luiz Otavio O Souza <loos.br@gmail.com> Reviewed by: ray
|
#
0e468be1 |
|
02-May-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Add the AR9300 HAL into the kernel and module builds. Tested: * make universe (honest!)
|
#
b3caab66 |
|
30-Apr-2013 |
Brooks Davis <brooks@FreeBSD.org> |
MFP4 changes 222065 and 222068: Add a simplebus attachment for cfi(4)'s FDT support and move cfi_bus_fdt.c to sys/conf/files so non-ppc architectures are supported. Sponsored by: DARPA, AFRL
|
#
7b796c40 |
|
19-Apr-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Implement a very basic multi-PHY aware switch device. This is intended to be used as a stop-gap for switch devices which expose multiple ethernet PHYs but we don't have a driver for - here, etherswitchcfg and the general switch configuration API can be used to interface to said PHYs. Submitted by: Luiz Otavio O Souza <loos.br@gmail.com>
|
#
adb97406 |
|
17-Apr-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Move the NFS FHA (File Handle Affinity) code from sys/nfsserver to sys/nfs, since it is now shared by the two NFS servers. Suggested by: rmacklem Sponsored by: Spectra Logic MFC after: 2 weeks
|
#
d96b98a3 |
|
17-Apr-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Revamp the old NFS server's File Handle Affinity (FHA) code so that it will work with either the old or new server. The FHA code keeps a cache of currently active file handles for NFSv2 and v3 requests, so that read and write requests for the same file are directed to the same group of threads (reads) or thread (writes). It does not currently work for NFSv4 requests. They are more complex, and will take more work to support. This improves read-ahead performance, especially with ZFS, if the FHA tuning parameters are configured appropriately. Without the FHA code, concurrent reads that are part of a sequential read from a file will be directed to separate NFS threads. This has the effect of confusing the ZFS zfetch (prefetch) code and makes sequential reads significantly slower with clients like Linux that do a lot of prefetching. The FHA code has also been updated to direct write requests to nearby file offsets to the same thread in the same way it batches reads, and the FHA code will now also send writes to multiple threads when needed. This improves sequential write performance in ZFS, because writes to a file are now more ordered. Since NFS writes (generally less than 64K) are smaller than the typical ZFS record size (usually 128K), out of order NFS writes to the same block can trigger a read in ZFS. Sending them down the same thread increases the odds of their being in order. In order for multiple write threads per file in the FHA code to be useful, writes in the NFS server have been changed to use a LK_SHARED vnode lock, and upgrade that to LK_EXCLUSIVE if the filesystem doesn't allow multiple writers to a file at once. ZFS is currently the only filesystem that allows multiple writers to a file, because it has internal file range locking. This change does not affect the NFSv4 code. This improves random write performance to a single file in ZFS, since we can now have multiple writers inside ZFS at one time. I have changed the default tuning parameters to a 22 bit (4MB) window size (from 256K) and unlimited commands per thread as a result of my benchmarking with ZFS. The FHA code has been updated to allow configuring the tuning parameters from loader tunable variables in addition to sysctl variables. The read offset window calculation has been slightly modified as well. Instead of having separate bins, each file handle has a rolling window of bin_shift size. This minimizes glitches in throughput when shifting from one bin to another. sys/conf/files: Add nfs_fha_new.c and nfs_fha_old.c. Compile nfs_fha.c when either the old or the new NFS server is built. sys/fs/nfs/nfsport.h, sys/fs/nfs/nfs_commonport.c: Bring in changes from Rick Macklem to newnfs_realign that allow it to operate in blocking (M_WAITOK) or non-blocking (M_NOWAIT) mode. sys/fs/nfs/nfs_commonsubs.c, sys/fs/nfs/nfs_var.h: Bring in a change from Rick Macklem to allow telling nfsm_dissect() whether or not to wait for mallocs. sys/fs/nfs/nfsm_subs.h: Bring in changes from Rick Macklem to create a new nfsm_dissect_nonblock() inline function and NFSM_DISSECT_NONBLOCK() macro. sys/fs/nfs/nfs_commonkrpc.c, sys/fs/nfsclient/nfs_clkrpc.c: Add the malloc wait flag to a newnfs_realign() call. sys/fs/nfsserver/nfs_nfsdkrpc.c: Setup the new NFS server's RPC thread pool so that it will call the FHA code. Add the malloc flag argument to newnfs_realign(). Unstaticize newnfs_nfsv3_procid[] so that we can use it in the FHA code. sys/fs/nfsserver/nfs_nfsdsocket.c: In nfsrvd_dorpc(), add NFSPROC_WRITE to the list of RPC types that use the LK_SHARED lock type. sys/fs/nfsserver/nfs_nfsdport.c: In nfsd_fhtovp(), if we're starting a write, check to see whether the underlying filesystem supports shared writes. If not, upgrade the lock type from LK_SHARED to LK_EXCLUSIVE. sys/nfsserver/nfs_fha.c: Remove all code that is specific to the NFS server implementation. Anything that is server-specific is now accessed through a callback supplied by that server's FHA shim in the new softc. There are now separate sysctls and tunables for the FHA implementations for the old and new NFS servers. The new NFS server has its tunables under vfs.nfsd.fha, the old NFS server's tunables are under vfs.nfsrv.fha as before. In fha_extract_info(), use callouts for all server-specific code. Getting file handles and offsets is now done in the individual server's shim module. In fha_hash_entry_choose_thread(), change the way we decide whether two reads are in proximity to each other. Previously, the calculation was a simple shift operation to see whether the offsets were in the same power of 2 bucket. The issue was that there would be a bucket (and therefore thread) transition, even if the reads were in close proximity. When there is a thread transition, reads wind up going somewhat out of order, and ZFS gets confused. The new calculation simply tries to see whether the offsets are within 1 << bin_shift of each other. If they are, the reads will be sent to the same thread. The effect of this change is that for sequential reads, if the client doesn't exceed the max_reqs_per_nfsd parameter and the bin_shift is set to a reasonable value (22, or 4MB works well in my tests), the reads in any sequential stream will largely be confined to a single thread. Change fha_assign() so that it takes a softc argument. It is now called from the individual server's shim code, which will pass in the softc. Change fhe_stats_sysctl() so that it takes a softc parameter. It is now called from the individual server's shim code. Add the current offset to the list of things printed out about each active thread. Change the num_reads and num_writes counters in the fha_hash_entry structure to 32-bit values, and rename them num_rw and num_exclusive, respectively, to reflect their changed usage. Add an enable sysctl and tunable that allows the user to disable the FHA code (when vfs.XXX.fha.enable = 0). This is useful for before/after performance comparisons. nfs_fha.h: Move most structure definitions out of nfs_fha.c and into the header file, so that the individual server shims can see them. Change the default bin_shift to 22 (4MB) instead of 18 (256K). Allow unlimited commands per thread. sys/nfsserver/nfs_fha_old.c, sys/nfsserver/nfs_fha_old.h, sys/fs/nfsserver/nfs_fha_new.c, sys/fs/nfsserver/nfs_fha_new.h: Add shims for the old and new NFS servers to interface with the FHA code, and callbacks for the The shims contain all of the code and definitions that are specific to the NFS servers. They setup the server-specific callbacks and set the server name for the sysctl and loader tunable variables. sys/nfsserver/nfs_srvkrpc.c: Configure the RPC code to call fhaold_assign() instead of fha_assign(). sys/modules/nfsd/Makefile: Add nfs_fha.c and nfs_fha_new.c. sys/modules/nfsserver/Makefile: Add nfs_fha_old.c. Reviewed by: rmacklem Sponsored by: Spectra Logic MFC after: 2 weeks
|
#
c0720112 |
|
15-Apr-2013 |
Ivan Voras <ivoras@FreeBSD.org> |
Introduce glabel labels based on GEOM ident attributes. In this initial implementation, error on the side of conservatism and only create labels for GEOMs of classes DISK and MULTIPATH. Discussed with: trasz Approved by: silence from freebsd-geom@
|
#
4e76af6a |
|
08-Apr-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge from projects/counters: counter(9). Introduce counter(9) API, that implements fast and raceless counters, provided (but not limited to) for gathering of statistical data. See http://lists.freebsd.org/pipermail/freebsd-arch/2013-April/014204.html for more details. In collaboration with: kib Reviewed by: luigi Tested by: ae, ray Sponsored by: Nginx, Inc.
|
#
f924768c |
|
06-Apr-2013 |
Marius Strobl <marius@FreeBSD.org> |
- Make ata_str2mode() static, it's not used outside of ata-all.c. - Move ata_timeout() to ata-all.c so we don't need to expose both this function and ata_cam_end_transaction() but only the former. - Move ata_cmd2str() from ata-queue.c to ata-all.c so we can get rid of the former. - Add some missing prototypes. MFC after: 3 days
|
#
45f6d665 |
|
04-Apr-2013 |
Alexander Motin <mav@FreeBSD.org> |
Remove all legacy ATA code parts, not used since options ATA_CAM enabled in most kernels before FreeBSD 9.0. Remove such modules and respective kernel options: atadisk, ataraid, atapicd, atapifd, atapist, atapicam. Remove the atacontrol utility and some man pages. Remove useless now options ATA_CAM. No objections: current@, stable@ MFC after: never
|
#
3b6e39d4 |
|
03-Apr-2013 |
Brooks Davis <brooks@FreeBSD.org> |
MFP4 change 217313 and part of 222068: Add a simple nexus attachment for cfi(4).
|
#
7608b757 |
|
23-Mar-2013 |
Martin Matuska <mm@FreeBSD.org> |
Fix kernel build with options ZFS after r24571 (libzfs_core). Submitted by: Bjoern A. Zeeb <bz@FreeBSD.org>
|
#
774d251d |
|
17-Mar-2013 |
Attilio Rao <attilio@FreeBSD.org> |
Sync back vmcontention branch into HEAD: Replace the per-object resident and cached pages splay tree with a path-compressed multi-digit radix trie. Along with this, switch also the x86-specific handling of idle page tables to using the radix trie. This change is supposed to do the following: - Allowing the acquisition of read locking for lookup operations of the resident/cached pages collections as the per-vm_page_t splay iterators are now removed. - Increase the scalability of the operations on the page collections. The radix trie does rely on the consumers locking to ensure atomicity of its operations. In order to avoid deadlocks the bisection nodes are pre-allocated in the UMA zone. This can be done safely because the algorithm needs at maximum one new node per insert which means the maximum number of the desired nodes is the number of available physical frames themselves. However, not all the times a new bisection node is really needed. The radix trie implements path-compression because UFS indirect blocks can lead to several objects with a very sparse trie, increasing the number of levels to usually scan. It also helps in the nodes pre-fetching by introducing the single node per-insert property. This code is not generalized (yet) because of the possible loss of performance by having much of the sizes in play configurable. However, efforts to make this code more general and then reusable in further different consumers might be really done. The only KPI change is the removal of the function vm_page_splay() which is now reaped. The only KBI change, instead, is the removal of the left/right iterators from struct vm_page, which are now reaped. Further technical notes broken into mealpieces can be retrieved from the svn branch: http://svn.freebsd.org/base/user/attilio/vmcontention/ Sponsored by: EMC / Isilon storage division In collaboration with: alc, jeff Tested by: flo, pho, jhb, davide Tested by: ian (arm) Tested by: andreast (powerpc)
|
#
0ba771b5 |
|
14-Mar-2013 |
Brooks Davis <brooks@FreeBSD.org> |
FDT_DTS_FILE is expanded in a Makefile so use :R to remove the suffix rather than using echo|cut to remove everything after the first '.'.
|
#
89f6b863 |
|
08-Mar-2013 |
Attilio Rao <attilio@FreeBSD.org> |
Switch the vm_object mutex to be a rwlock. This will enable in the future further optimizations where the vm_object lock will be held in read mode most of the time the page cache resident pool of pages are accessed for reading purposes. The change is mostly mechanical but few notes are reported: * The KPI changes as follow: - VM_OBJECT_LOCK() -> VM_OBJECT_WLOCK() - VM_OBJECT_TRYLOCK() -> VM_OBJECT_TRYWLOCK() - VM_OBJECT_UNLOCK() -> VM_OBJECT_WUNLOCK() - VM_OBJECT_LOCK_ASSERT(MA_OWNED) -> VM_OBJECT_ASSERT_WLOCKED() (in order to avoid visibility of implementation details) - The read-mode operations are added: VM_OBJECT_RLOCK(), VM_OBJECT_TRYRLOCK(), VM_OBJECT_RUNLOCK(), VM_OBJECT_ASSERT_RLOCKED(), VM_OBJECT_ASSERT_LOCKED() * The vm/vm_pager.h namespace pollution avoidance (forcing requiring sys/mutex.h in consumers directly to cater its inlining functions using VM_OBJECT_LOCK()) imposes that all the vm/vm_pager.h consumers now must include also sys/rwlock.h. * zfs requires a quite convoluted fix to include FreeBSD rwlocks into the compat layer because the name clash between FreeBSD and solaris versions must be avoided. At this purpose zfs redefines the vm_object locking functions directly, isolating the FreeBSD components in specific compat stubs. The KPI results heavilly broken by this commit. Thirdy part ports must be updated accordingly (I can think off-hand of VirtualBox, for example). Sponsored by: EMC / Isilon storage division Reviewed by: jeff Reviewed by: pjd (ZFS specific review) Discussed with: alc Tested by: pho
|
#
d938ff1d |
|
25-Feb-2013 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Update firmware to 1.8.4.0. MFC after: 5 days
|
#
26dd49c6 |
|
21-Feb-2013 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Improve mxge's receive performance for IPv6: - Add support for IPv6 rx csum offload - Finally switch mxge from using its own driver lro, to using tcp_lro MFC after: 7 days Sponsored by: Myricom Inc.
|
#
f72761c6 |
|
13-Feb-2013 |
Ian Lepore <ian@FreeBSD.org> |
Add a dependency so that when compiling in a static dtb, the kernel gets re-linked after changing the .dts source. Reviewed by: cognet, arm@
|
#
dd0b4fb6 |
|
12-Feb-2013 |
Konstantin Belousov <kib@FreeBSD.org> |
Reform the busdma API so that new types may be added without modifying every architecture's busdma_machdep.c. It is done by unifying the bus_dmamap_load_buffer() routines so that they may be called from MI code. The MD busdma is then given a chance to do any final processing in the complete() callback. The cam changes unify the bus_dmamap_load* handling in cam drivers. The arm and mips implementations are updated to track virtual addresses for sync(). Previously this was done in a type specific way. Now it is done in a generic way by recording the list of virtuals in the map. Submitted by: jeff (sponsored by EMC/Isilon) Reviewed by: kan (previous version), scottl, mjacob (isp(4), no objections for target mode changes) Discussed with: ian (arm changes) Tested by: marius (sparc64), mips (jmallet), isci(4) on x86 (jharris), amd64 (Fabian Keil <freebsd-listen@fabiankeil.de>)
|
#
0a349699 |
|
13-Jan-2013 |
Robert Watson <rwatson@FreeBSD.org> |
Partially merge Perforce changeset 219942 to head: Implement an FDT attachment for altera_avgen(4). Portions of the changeset updating DTS and device.hints will be merged separately. Sponsored by: DARPA, AFRL
|
#
b364a525 |
|
13-Jan-2013 |
Robert Watson <rwatson@FreeBSD.org> |
Merge Perforce changeset 219940 to head: Rework altera_avgen(4) to cleanly(ish) separate nexus bus attachment from the driver itself. This should allow us to plug in an fdt attachment more easily. Sponsored by: DARPA, AFRL
|
#
dc43fd86 |
|
13-Jan-2013 |
Robert Watson <rwatson@FreeBSD.org> |
Partially merge Perforce changeset 219930 to head: Add an Intel StrataFlash (isf) driver FDT attachment. Portions of the original changeset hooking up FDT use for BERI will be merged separately. Sponsored by: DARPA, AFRL
|
#
180ee20c |
|
13-Jan-2013 |
Robert Watson <rwatson@FreeBSD.org> |
Merge Perforce changeset 219927 to head: Implement an FDT attachment for the Altera SD Card driver Sponsored by: DARPA, AFRL
|
#
ae366ffc |
|
13-Jan-2013 |
Bryan Venteicher <bryanv@FreeBSD.org> |
Add VirtIO to the i386 and amd64 GENERIC kernels This also removes the kludge from r239009 that covered only the network driver. Reviewed by: grehan Approved by: grehan (mentor) MFC after: 1 week
|
#
558e8c98 |
|
02-Jan-2013 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add missing dependancy. Submitted by: Michael Butler MFC after: 1 week
|
#
aaa45683 |
|
01-Jan-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Link if_ath_spectral.c into the build.
|
#
e9d8a3ab |
|
01-Jan-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Add missing update to link ar5416_spectral.c into the build.
|
#
3254bef2 |
|
19-Dec-2012 |
Olivier Houchard <cognet@FreeBSD.org> |
Get the old NFSCLIENT to compile by adding now needed files.
|
#
6f1cbda7 |
|
15-Dec-2012 |
Robert Watson <rwatson@FreeBSD.org> |
Four .c files from OpenBSM are used, in modified form, by the kernel to implement the BSM audit trail format. Rename the kernel versions of the files to match the userspace filenames so that it's easier to work out what they correspond to, and therefore ensure they are kept in-sync. Obtained from: TrustedBSD Project
|
#
4516888b |
|
03-Dec-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Add the AR5416/AR9285 bluetooth coexistence code into the main kernel build.
|
#
1848286a |
|
18-Nov-2012 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add UFS writesuspension mechanism, designed to allow userland processes to modify on-disk metadata for filesystems mounted for write. Reviewed by: kib, mckusick Sponsored by: FreeBSD Foundation
|
#
5b1723eb |
|
14-Nov-2012 |
Rui Paulo <rpaulo@FreeBSD.org> |
Enable back the clang warning in if_ath.c.
|
#
611dd4b0 |
|
12-Nov-2012 |
David E. O'Brien <obrien@FreeBSD.org> |
Be more consistent.
|
#
0e26b6eb |
|
12-Nov-2012 |
David E. O'Brien <obrien@FreeBSD.org> |
Garbage collect the explicit "compile-with", they are no longer needed.
|
#
372c8c7e |
|
09-Nov-2012 |
Roman Divacky <rdivacky@FreeBSD.org> |
Dont compile some files in drm with -finline-limit=1350. GCC 4.2.1 doesnt need that and clang does not support that. This effectively reverts r126542.
|
#
5c0adc7d |
|
26-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Siba, in theory, is a architecturally neutral bus, so place it in files. It used to be in files.mips before the clean-room rewrite and really doesn't belong there. If we need to grow arch specific code, we can move it into $ARCH/$ACH/siba_machdep.c.
|
#
e3cdd5e1 |
|
24-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Hoist the MI compat_freebsd32 files up into files from files.*.
|
#
5d26cae7 |
|
24-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Move common fdt into files. Duplicate in files.powerpc the files shared with aim. Config is smart enough to cope with multiple lines of the same path with different options. This reduces the needless duplication.
|
#
a3028286 |
|
24-Oct-2012 |
Warner Losh <imp@FreeBSD.org> |
Sort a few mis-sorted items.
|
#
2d4a31aa |
|
23-Oct-2012 |
Andre Oppermann <andre@FreeBSD.org> |
Change the dependency of kern/uipc_cow.c from zero_copy_sockets to socket_send_cow. Missed in r241931. Submitted by: pluknet
|
#
4f35c3ef |
|
19-Oct-2012 |
Marius Strobl <marius@FreeBSD.org> |
Fix kernel build with options ZFS after r240868.
|
#
682ee99e |
|
18-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
It seems that it is preferable to keep support for glabel also for filesystems that we don't support natively. Revert part of r241636 to do so. This patch is not targeted for MFC. Requested by: gleb, jhb
|
#
2e564269 |
|
17-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE SMBFS from the build in preparation for dropping GIANT from VFS. In addition, disconnect also netsmb, which is a base requirement for SMBFS. In the while SMBFS regular users can use FUSE interface and smbnetfs port to work with their SMBFS partitions. Also, there are ongoing efforts by vendor to support in-kernel smbfs, so there are good chances that it will get relinked once properly locked. This is not targeted for MFC.
|
#
a42ac676 |
|
17-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE NTFS from the build in preparation for dropping GIANT from VFS. This code is particulary broken and fragile and other in-kernel implementations around, found in other operating systems, don't really seem clean and solid enough to be imported at all. If someone wants to reconsider in-kernel NTFS implementation for inclusion again, a fair effort for completely fixing and cleaning it up is expected. In the while NTFS regular users can use FUSE interface and ntfs-3g port to work with their NTFS partitions. This is not targeted for MFC.
|
#
e6116d5b |
|
17-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE NWFS from the build in preparation for dropping GIANT from VFS. In addition, disconnect also netncp, which is a base requirement for NWFS. In the possibility of a future maintenance of the code and later readd to the FreeBSD base, maybe we should think about a better location for netncp. I'm not entirely sure the / top location is actually right, however I will let network people to comment on that more specifically. This is not targeted for MFC.
|
#
26c3f6d7 |
|
16-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE CODAFS from the build in preparation for dropping GIANT from VFS. This is not targeted for MFC.
|
#
4b0bdbfd |
|
16-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE XFS from the build in preparation for dropping GIANT from VFS. This is not targeted for MFC.
|
#
55793cdc |
|
16-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE PORTALFS from the build in preparation for dropping GIANT from VFS. This is not targeted for MFC.
|
#
05e009c4 |
|
16-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Disconnect non-MPSAFE HPFS from the build in preparation for dropping GIANT from VFS. This is not targeted for MFC.
|
#
d6b3aaf8 |
|
15-Oct-2012 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Split sdhci driver in two parts: sdhci and sdhci_pci. sdchi encapsulates a generic SD Host Controller logic that relies on actual hardware driver for register access. sdhci_pci implements driver for PCI SDHC controllers using new SDHCI interface No kernel config modifications are required, but if you load sdhc as a module you must switch to sdhci_pci instead.
|
#
5fe58019 |
|
13-Oct-2012 |
Attilio Rao <attilio@FreeBSD.org> |
Import a FreeBSD port of the FUSE Linux module. This has been developed during 2 summer of code mandates and being revived by gnn recently. The functionality in this commit mirrors entirely content of fusefs-kmod port, which doesn't need to be installed anymore for -CURRENT setups. In order to get some sparse technical notes, please refer to: http://lists.freebsd.org/pipermail/freebsd-fs/2012-March/013876.html or to the project branch: svn://svn.freebsd.org/base/projects/fuse/ which also contains granular history of changes happened during port refinements. This commit does not came from the branch reintegration itself because it seems svn is not behaving properly for this functionaly at the moment. Partly Sponsored by: Google, Summer of Code program 2005, 2011 Originally submitted by: ilya, Csaba Henk <csaba-ml AT creo DOT hu > In collabouration with: pho Tested by: flo, gnn, Gustau Perez, Kevin Oberman <rkoberman AT gmail DOT com> MFC after: 2 months
|
#
3b3a8eb9 |
|
14-Sep-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
o Create directory sys/netpfil, where all packet filters should reside, and move there ipfw(4) and pf(4). o Move most modified parts of pf out of contrib. Actual movements: sys/contrib/pf/net/*.c -> sys/netpfil/pf/ sys/contrib/pf/net/*.h -> sys/net/ contrib/pf/pfctl/*.c -> sbin/pfctl contrib/pf/pfctl/*.h -> sbin/pfctl contrib/pf/pfctl/pfctl.8 -> sbin/pfctl contrib/pf/pfctl/*.4 -> share/man/man4 contrib/pf/pfctl/*.5 -> share/man/man5 sys/netinet/ipfw -> sys/netpfil/ipfw The arguable movement is pf/net/*.h -> sys/net. There are future plans to refactor pf includes, so I decided not to break things twice. Not modified bits of pf left in contrib: authpf, ftp-proxy, tftp-proxy, pflogd. The ipfw(4) movement is planned to be merged to stable/9, to make head and stable match. Discussed with: bz, luigi
|
#
7851c3ee |
|
13-Sep-2012 |
Navdeep Parhar <np@FreeBSD.org> |
Allow cxgbe to be built into a kernel with "device cxgbe." MFC after: 1 week
|
#
654bedb8 |
|
11-Sep-2012 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add device entry for DWC OTG.
|
#
a89828a2 |
|
10-Sep-2012 |
John Baldwin <jhb@FreeBSD.org> |
Remove some more NetBSD compat shims and other unused bits from these drivers: - Remove scsi_low_pisa.*, they were unused. - Remove <compat/netbsd/physio_proc.h> and calls to the stubs in that header. They were empty nops. - Retire sl_xname and use device_get_nameunit() and device_printf() with the underlying device_t instead. - Remove unused {ct,ncv,nsp,stg}print() functions. - Remove empty SOFT_INTR_REQUIRED() macro and the unused sl_irq member.
|
#
62208ca5 |
|
03-Sep-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
- Move jenkins.h to jenkins_hash.c - Provide missing function that can do hashing of arbitrary sized buffer. - Refetch lookup3.c and do only minimal edits to it, so that diff between our jenkins_hash.c and lookup3.c is minimal. - Add declarations for jenkins_hash(), jenkins_hash32() to sys/hash.h. - Document these functions in hash(9) Obtained from: http://burtleburtle.net/bob/c/lookup3.c
|
#
917a07e1 |
|
02-Sep-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Partially revert r239959, after actually fixing most of the clang warnings in sys/gnu/fs/xfs. The only warnings that still need to be suppressed are those about array bound overruns of flexible array members in xfs_dir2_{block,sf}.c, which are too expensive (in terms of cascading code changes) to fix. MFC after: 1 week X-MFC-With: r239959
|
#
04b648fe |
|
31-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Work around several warnings from clang in the xfs filesystem, when linking it statically into the kernel. With our gcc in base there are no warnings, so also remove the WERROR= from the module makefile. Noted by: Eir Nym <eirnym@gmail.com> MFC after: 1 week
|
#
3a45ae3c |
|
31-Aug-2012 |
John Baldwin <jhb@FreeBSD.org> |
Add common rules for building firmware object files (NORMAL_FW to run uudecode, and NORMAL_FWO to use ld to build the .fwo file) and use those instead of explicit ld/uudecode invocations in sys/conf/files. Apart from increasing readability, this makes it possible to adjust the flags used for firmware objects in one place. MFC after: 2 weeks
|
#
f70f23cc |
|
30-Aug-2012 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Add PrimeCell UART (PL011) driver Obtained from: Semihalf
|
#
9a6a13d6 |
|
29-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
After r239868, also remove the comment about the workaround for ah_eeprom_9287.c.
|
#
5e34d6ba |
|
29-Aug-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Remove workaround for the clang 3.2 warning in ah_eeprom_9287.c, since the fix has been applied now.
|
#
087d3173 |
|
25-Aug-2012 |
Brooks Davis <brooks@FreeBSD.org> |
Add isf(4), a driver for the Intel StrataFlash family of NOR flash parts. The driver attempts to support all documented parts, but has only been tested with the 512Mbit part on the Terasic DE4 FPGA board. It should be trivial to adapt the driver's attach routine to other embedded boards using with any parts in the family. Also import isfctl(8) which can be used to erase sections of the flash. Sponsored by: DARPA, AFRL
|
#
d432e92a |
|
25-Aug-2012 |
Robert Watson <rwatson@FreeBSD.org> |
Add a device driver for the Altera University Program SD Card IP Core, which can be synthesised in Altera FPGAs. An altera_sdcardc device probes during the boot, and /dev/altera_sdcard devices come and go as inserted and removed. The device driver attaches directly to the Nexus, as is common for system-on-chip device drivers. This IP core suffers a number of significant limitations, including a lack of interrupt-driven I/O -- we must implement timer-driven polling, only CSD 0 cards (up to 2G) are supported, there are serious memory access issues that require the driver to verify writes to memory-mapped buffers, undocumented alignment requirements, and erroneous error returns. The driver must therefore work quite hard, despite a fairly simple hardware-software interface. The IP core also supports at most one outstanding I/O at a time, so is not a speed demon. However, with the above workarounds, and subject to performance problems, it works quite reliably in practice, and we can use it for read-write mounts of root file systems, etc. Sponsored by: DARPA, AFRL
|
#
cf824886 |
|
25-Aug-2012 |
Robert Watson <rwatson@FreeBSD.org> |
Add altera_avgen(4), a generic device driver to be used by hard and soft CPU cores on Altera FPGAs. The device driver allows memory-mapped devices on Altera's Avalon SoC bus to be exported to userspace via device nodes. device.hints directories dictate device name, permissible access methods, physical address and length, and I/O alignment. Devices can be accessed using read(2)/write(2), but also memory mapped in userspace using mmap(2). Devices attach directly to the Nexus, as is common for embedded device drivers; in the future something more mature might be desirable. There is currently no facility to support directing device-originated interrupts to userspace. In the future, this device driver may be renamed to socgen(4), as it can in principle also be used with other system-on-chip (SoC) busses, such as Axi on ASICs and FPGAs. However, we have only tested it on Avalon busses with memory-mapped ROMs, frame buffers, etc. Sponsored by: DARPA, AFRL
|
#
f8e8af9c |
|
21-Aug-2012 |
Hiroki Sato <hrs@FreeBSD.org> |
Add s35390a_rtc(4) driver for Seiko Instruments S-35390A RTC. Submitted by: Yusuke Tanaka
|
#
b011f8c4 |
|
14-Aug-2012 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Merging of projects/armv6, part 5 - Driver for SMSC LAN95XX and LAN8710A ethernet controllers - Driver for LAN8710A PHY Submitted by: Ben Gray, Damjan Marion, Tim Kientzle
|
#
1463ca4a |
|
03-Aug-2012 |
Luigi Rizzo <luigi@FreeBSD.org> |
support building vtnet as an embedded driver
|
#
d19f06b3 |
|
26-Jul-2012 |
Alexander Motin <mav@FreeBSD.org> |
Refactor enclosure manegement support in ahci(4). Move it out into separate subdevice ahciem. Emulate SEMB SES device from AHCI LED interface to expose it to users in form of ses(4) CAM device. If we ever see AHCI controllers supporting SES of SAF-TE over I2C as described by specification, they should fit well into this new picture. Sponsored by: iXsystems, Inc.
|
#
3fdfc330 |
|
22-Jul-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Begin separating out the TX DMA setup in preparation for TX EDMA support. * Introduce TX DMA setup/teardown methods, mirroring what's done in the RX path. Although the TX DMA descriptor is setup via ath_desc_alloc() / ath_desc_free(), there TX status descriptor ring will be allocated in this path. * Remove some of the TX EDMA capability probing from the RX path and push it into the new TX EDMA path.
|
#
85eeca35 |
|
17-Jul-2012 |
Alan Cox <alc@FreeBSD.org> |
Move what remains of vm/vm_contig.c into vm/vm_pageout.c, where similar code resides. Rename vm_contig_grow_cache() to vm_pageout_grow_cache(). Reviewed by: kib
|
#
ab5d0362 |
|
05-Jul-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Sync with Intel internal source: shared code update and small changes in core required Add support for new i210/i211 devices Improve queue calculation based on mac type MFC after:5 days
|
#
b9ea0cee |
|
03-Jul-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Link in the new RX EDMA routines.
|
#
461a98a2 |
|
02-Jul-2012 |
Alexander Motin <mav@FreeBSD.org> |
Add acpi_asus_wmi(4) -- driver for random extras found on WMI-compatible Asus laptops. It is alike to acpi_asus(4), but uses WMI interface instead of separate ACPI device. On Asus EeePC T101MT netbook it allows to handle hotkeys and on/off WLAN, Bluetooth, LCD backlight, camera, cardreader and touchpad. On Asus UX31A ultrabook it allows to handle hotkeys, on/off WLAN, Bluetooth, Wireless LED, control keyboard backlight brightness, monitor temperature and fan speed. LCD brightness control doesn't work now for unknown reason, possibly requiring some video card initialization. Sponsored by: iXsystems, Inc.
|
#
79e62fee |
|
23-Jun-2012 |
Marius Strobl <marius@FreeBSD.org> |
Unbreak options ZFS after r236884.
|
#
a665ed98 |
|
23-Jun-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Move the code dealing with shared page into a dedicated kern_sharedpage.c source file from kern_exec.c. MFC after: 29 days
|
#
09fe6320 |
|
19-Jun-2012 |
Navdeep Parhar <np@FreeBSD.org> |
- Updated TOE support in the kernel. - Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs. These are available as t3_tom and t4_tom modules that augment cxgb(4) and cxgbe(4) respectively. The cxgb/cxgbe drivers continue to work as usual with or without these extra features. - iWARP driver for Terminator 3 ASIC (kernel verbs). T4 iWARP in the works and will follow soon. Build-tested with make universe. 30s overview ============ What interfaces support TCP offload? Look for TOE4 and/or TOE6 in the capabilities of an interface: # ifconfig -m | grep TOE Enable/disable TCP offload on an interface (just like any other ifnet capability): # ifconfig cxgbe0 toe # ifconfig cxgbe0 -toe Which connections are offloaded? Look for toe4 and/or toe6 in the output of netstat and sockstat: # netstat -np tcp | grep toe # sockstat -46c | grep toe Reviewed by: bz, gnn Sponsored by: Chelsio communications. MFC after: ~3 months (after 9.1, and after ensuring MFC is feasible)
|
#
8f0e9130 |
|
30-May-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Add a rangelock implementation, intended to be used to range-locking the i/o regions of the vnode data space. The implementation is quite simple-minded, it uses the list of the lock requests, ordered by arrival time. Each request may be for read or for write. The implementation is fair FIFO. MFC after: 2 month
|
#
e9651b76 |
|
24-May-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
Fix to kern/168294 - add flow director support into the static kernel build of ixgbe. Thanks Sergey for pointing this out.
|
#
f6ad3f23 |
|
24-May-2012 |
Alexander Motin <mav@FreeBSD.org> |
MFprojects/zfsd: Revamp the CAM enclosure services driver. This updated driver uses an in-kernel daemon to track state changes and publishes physical path location information\for disk elements into the CAM device database. Sponsored by: Spectra Logic Corporation Sponsored by: iXsystems, Inc. Submitted by: gibbs, will, mav
|
#
4ffd4dfe |
|
22-May-2012 |
Grzegorz Bernacki <gber@FreeBSD.org> |
Add a new geom class which allows to divide NAND Flash chip into partitions. Partitions are created based on data in dts file which are extracted and interpreted by slicer. Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
|
#
ba5c15d9 |
|
19-May-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate most of the beacon handling functions out to if_ath_beacon.c. This is also in preparation for supporting AR9300 and later NICs.
|
#
a35dae8d |
|
19-May-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate the TDMA management functions out of if_ath.c into if_ath_tdma.c. There's some TX path TDMA code in if_ath_tx.c which should be migrated out, but first I should likely try and verify/fix/repair the TDMA support in 9.x and -HEAD.
|
#
e60c4fc2 |
|
19-May-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate the bulk of the RX routines out from if_ath.c to if_ath_rx.[ch]. * migrate the rx processing out into if_ath_rx.c * migrate the TSF functions into if_ath_tsf.h, as inlines This is in prepration for supporting the EDMA RX routines, required to support the AR93xx series NICs. TODO: * ath_start() shouldn't be private, but it's called as part of the RX path. I should likely migrate ath_rx_tasklet() back into if_ath.c and then return this to be 'static'. The RX code really shouldn't need to see TX routines (and vice versa.) * ath_beacon_* should be in if_ath_beacon.[ch]. * ath_tdma_* should be in if_ath_tdma.[ch] ...
|
#
7f725bcd |
|
17-May-2012 |
Grzegorz Bernacki <gber@FreeBSD.org> |
Import work done under project/nand (@235533) into head. The NAND Flash environment consists of several distinct components: - NAND framework (drivers harness for NAND controllers and NAND chips) - NAND simulator (NANDsim) - NAND file system (NAND FS) - Companion tools and utilities - Documentation (manual pages) This work is still experimental. Please use with caution. Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
|
#
81a5c20a |
|
15-May-2012 |
Alexander Motin <mav@FreeBSD.org> |
Rename enclosure management driver from "enc" back to "ses". "enc" name is already occupied by the enc(4) -- Encapsulating Interface.
|
#
27a2ecaa |
|
11-May-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Further arswitch work: * Add in the AR724x support. It probes the same as an AR8216/AR8316, so just add in a hint to force the probe success rather than auto-detecting it. * Add in the missing entries from conf/files, lacking in the previous commit. The register values and CPU port / mirror port initialisation value was obtained from Linux OpenWRT ag71xx_ar7240.c. The DELAY(1000) to let things settle is my local workaround. For some reason, PHY4 doesn't seem to probe very reliably without it. It's quite possible that we're missing some MDIO bus initialisation code in if_arge for the AR724x case. As I dislike DELAY() workarounds in general, it's definitely worth trying to figure out why this is the case. Tested on: AP93 (AR7240) reference design Obtained from: Linux OpenWRT
|
#
4310d6de |
|
10-May-2012 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Add support for Ralink RT2800/RT3000 chipsets. Thanks to ray@, Sevan and Sergey Dyatko for feedback and testing! Obtained from: OpenBSD MFC after: 3 weeks
|
#
4574da7f |
|
01-May-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Bring over the first part of the etherswitch framework - an MDIO bus and MDIO/MII rendezvous proxy. * Add an 'mdio' bus, which is the "IO" side of an MII bus (but by design can be anything which implements the underlying register access API.) * Add 'miiproxy' and 'mdioproxy', which provides a rendezvous mechanism for MII busses to appear hanging off arbitrary busses (ie, that aren't necessarily a traditional looking MII bus.) MII busses can now hang off anything that implements an mdiobus. For the AR71xx SoC, there's one MDIO bus but two MII busses. So to properly support two or more real PHYs, this can be done: # arge0 MDIO bus - there's no arge1 MDIO bus for AR71xx hint.argemdio.0.at="nexus0" hint.argemdio.0.maddr=0x19000000 hint.argemdio.0.msize=0x1000 hint.argemdio.0.order=0 # Create two mdioproxy instances hint.mdioproxy.0.at="mdio0" hint.mdioproxy.1.at="mdio0" # .. and with a follow-up patch hint.arge.0.mdio=mdioproxy0 hint.arge.1.mdio=mdioproxy0 TODO: * Do a sweep or two and add appropriate locking in mdio/mdioproxy/miiproxy. Submitted by: Stefan Bethke <stb@lassitu.de> Reviewed by: ray
|
#
00f32ecb |
|
30-Apr-2012 |
Alexander Motin <mav@FreeBSD.org> |
Add to GEOM RAID class module, supporting the DDF metadata format, as defined by the SNIA Common RAID Disk Data Format Specification v2.0. Supports multiple volumes per array and multiple partitions per disk. Supports standard big-endian and Adaptec's little-endian byte ordering. Supports all single-layer RAID levels. Dual-layer RAID levels except RAID10 are not supported now because of GEOM RAID design limitations. Some work is still to be done, but the present code already manages basic interoperation with RAID BIOS of the Adaptec 1430SA SATA RAID controller. MFC after: 1 month Sponsored by: iXsystems, Inc.
|
#
c9716b34 |
|
29-Apr-2012 |
Marius Strobl <marius@FreeBSD.org> |
Drag in subr_acl_nfs4.c for ZFS automatically, otherwise it's unintuitive that "options zfs" requires "options ufs_acl".
|
#
fc1de960 |
|
18-Apr-2012 |
Alexander Motin <mav@FreeBSD.org> |
Add to GEOM RAID class module for reading non-degraded RAID5 volumes and some environment to differentiate 4 possible RAID5 on-disk layouts. Tested with Intel and AMD RAID BIOSes. MFC after: 2 weeks
|
#
34f4e555 |
|
13-Apr-2012 |
Marius Strobl <marius@FreeBSD.org> |
Add a driver for the NXP (Philips) PCF8563 RTC. Obtained from: NetBSD (pcf8563reg.h)
|
#
ed5a2b61 |
|
12-Apr-2012 |
John Baldwin <jhb@FreeBSD.org> |
Add OFED and the associated options and drivers to x86 LINT builds: - Mark 'sdp' as requiring 'inet'. - Always include "opt_inet.h" and "opt_inet6.h" and modify the IB driver Makefiles to honor WITH/WITHOUT_INET/INET6/_SUPPORT options to determine what should be enabled during a module build. - Fix the mlxen(4) driver and the core IB code to compile without if INET is disabled (including when both INET and INET6 are disabled). Reviewed by: bz MFC after: 2 weeks
|
#
f5f9340b |
|
28-Mar-2012 |
Fabien Thomas <fabient@FreeBSD.org> |
Add software PMC support. New kernel events can be added at various location for sampling or counting. This will for example allow easy system profiling whatever the processor is with known tools like pmcstat(8). Simultaneous usage of software PMC and hardware PMC is possible, for example looking at the lock acquire failure, page fault while sampling on instructions. Sponsored by: NETASQ MFC after: 1 month
|
#
88c7c434 |
|
27-Mar-2012 |
Peter Wemm <peter@FreeBSD.org> |
Allow (with a license warning) "options ZFS" to work in static kernels. The 'make depend' rules have to use custom -I paths for the special compat includes for the opensolaris/zfs headers. This option will pull in the couple of files that are shared with dtrace, but they appear to correctly use the MODULE_VERSION/MODULE_DEPEND rules so loader should do the right thing, as should kldload. Reviewed by: pjd (glanced at)
|
#
1ab68cbb |
|
27-Mar-2012 |
Jayachandran C. <jchandra@FreeBSD.org> |
Driver for OpenCores I2C controller. Add a Simple polled driver iicoc for the OpenCores I2C controller. This is used in Netlogic XLP processors. Submitted by: Sreekanth M. S. (kanthms at netlogicmicro com)
|
#
1513a6ff |
|
27-Mar-2012 |
Jayachandran C. <jchandra@FreeBSD.org> |
Move driver for DS1374 RTC to sys/dev/iicbus The earlier version of the driver is sys/mips/rmi/dev/iic/ds1374u.c Convert all references to ds1374u to ds1374, and use DEVMETHOD_END. Also update the license header as Netlogic is now Broadcom.
|
#
3b5683fc |
|
23-Mar-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Work around the following clang warning in mps(4): sys/dev/mps/mps_sas.c:861:1: error: function 'mpssas_discovery_timeout' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] mpssas_discovery_timeout(void *data) ^ Because the driver is obtained from upstream, we don't want to modify it; just silence the warning instead, it is harmless. MFC after: 3 days
|
#
e800e2e1 |
|
19-Mar-2012 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Connect geom_part_ldm to the kernel build. MFC after: 1 month
|
#
3468c30c |
|
13-Mar-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
(Re)-make these ACL routines optional. They're only currently used by ZFS and UFS_ACL. They're just wasting space on embedded platforms with neither enabled.
|
#
e4afd792 |
|
01-Mar-2012 |
Alexander Motin <mav@FreeBSD.org> |
Add driver for the RME HDSPe AIO/RayDAT sound cards -- snd_hdspe(4). Cards are expensive and so rare, so leave the driver as module. Submitted by: Ruslan Bukin <br@bsdpad.com> MFC after: 2 weeks
|
#
102a3198 |
|
23-Feb-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Revert r231978, so I can apply a more proper fix to silence unneeded internal declaration warnings in several sys/cam/ctl files. MFC after: 1 week
|
#
8508b798 |
|
21-Feb-2012 |
Dimitry Andric <dim@FreeBSD.org> |
When building with clang, disable -Wunneeded-internal-declaration for several sys/cam/ctl files, since these get the following warnings: In file included from sys/cam/ctl/ctl_backend.c:60: sys/cam/ctl/ctl_private.h:300:30: error: variable 'page_index_template' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] static struct ctl_page_index page_index_template[] = { ^ These warnings are tricky to fix without a lot of overhaul, and they are harmless, so disable them for now. MFC after: 1 week
|
#
7b1144d2 |
|
19-Feb-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Break out the radar code into a separate source file. This mirrors the internal HAL organisation and reduces the differences between the HAL codebases slightly. Obtained from: Atheros
|
#
93f90263 |
|
14-Feb-2012 |
Luigi Rizzo <luigi@FreeBSD.org> |
properly sort dev/oce entries
|
#
2f345d8e |
|
10-Feb-2012 |
Luigi Rizzo <luigi@FreeBSD.org> |
Add a driver for Emulex OneConnect ethernet cards (10 Gbit PCIe) A manpage will come in a future commit. Submitted by: Naresh Raju Gottumukkala (emulex)
|
#
5e0a19bd |
|
07-Feb-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Consistently set RPCGEN_CPP when running rpcgen, so the C preprocessor set via ${CPP} is used, instead of always using hardcoded /usr/bin/cpp. MFC after: 1 week
|
#
c6708f73 |
|
04-Feb-2012 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
After multiple requests for back out, after multiple promisses from adrian@ to fix it (without fixing it), after making one of my servers unbootable, after now making also my laptop unbootable and after running out of patiance back out r229800 until better solution is found.
|
#
048a50f3 |
|
02-Feb-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Fix the netback driver build for i386. netback.c: Add missing VM includes. xen/xenvar.h, xen/xenpmap.h: Move some XENHVM macros from <machine/xen/xenpmap.h> to <machine/xen/xenvar.h> on i386 to match the amd64 headers. conf/files: Add netback to the build. Submitted by: jhb MFC after: 3 days
|
#
fc2e7eec |
|
02-Feb-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Unbreak the i386 full PV (XEN kernel) build by reverting rev 230878 and taking the netback driver out of the build temporarily.
|
#
7106ed25 |
|
01-Feb-2012 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Use new OSS-based BSD-licensed header for cs sound driver. The cs driver requires a table with firmware values. An alternative firmware is available in a similar Open Sound System driver. This is actually a partial revert of Revision 77504. Special thanks to joel@ for patiently testing several replacement attempts. The csa driver and the complete sound system are now free of the GPL. Tested by: joel Approved by: jhb (mentor) MFC after: 3 weeks
|
#
22ea1313 |
|
01-Feb-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add the netback driver to the build. MFC after: 3 days
|
#
85d0a26e |
|
30-Jan-2012 |
Jack F Vogel <jfv@FreeBSD.org> |
New hardware support: Intel X540 adapter support added. Some shared code reorganization along with the new adapter. Sync changes to OACTIVE in igb into this driver. Misc small fixes.
|
#
d043c564 |
|
26-Jan-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Bring in the LSI-supported version of the mps(4) driver. This involves significant changes to the mps(4) driver, but is not a complete rewrite. Some of the changes in this version of the driver: - Integrated RAID (IR) support. - Support for WarpDrive controllers. - Support for SCSI protection information (EEDP). - Support for TLR (Transport Level Retries), needed for tape drives. - Improved error recovery code. - ioctl interface compatible with LSI utilities. mps.4: Update the mps(4) driver man page somewhat for the driver changes. The list of supported hardware still needs to be updated to reflect the full list of supported cards. conf/files: Add the new driver files. mps/mpi/*: Updated version of the MPI header files, with a BSD style copyright. mps/*: See above for a description of the new driver features. modules/mps/Makefile: Add the new mps(4) driver files. Submitted by: Kashyap Desai <Kashyap.Desai@lsi.com> Reviewed by: ken MFC after: 1 week
|
#
5dcd37b1 |
|
20-Jan-2012 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Replace GPLd headers from the Maestro3 driver with BSD licensed versions derived from /usr/ports/audio/oss. The particular headers used were taken from the attic/drv/oss_allegro directory and are mostly identical to the previous files. The Maestro3 driver is now free from the GPL. NOTE: due to lack of testers this driver is being considered for deprecation and removal. PR: kern/153920 Approved by: jhb (mentor) MFC after: 2 weeks
|
#
7c6b05d2 |
|
15-Jan-2012 |
Alexander Motin <mav@FreeBSD.org> |
Major snd_hda driver rewrite: - Huge old hdac driver was split into three independent pieces: HDA controller driver (hdac), HDA CODEC driver (hdacc) and HDA sudio function driver (hdaa). - Support for multichannel recording was added. Now, as specification defines, driver checks input associations for pins with sequence numbers 14 and 15, and if found (usually) -- works as before, mixing signals together. If it doesn't, it configures input association as multichannel. - Signal tracer was improved to look for cases where several DACs/ADCs in CODEC can work with the same audio signal. If such case found, driver registers additional playback/record stream (channel) for the pcm device. - New controller streams reservation mechanism was implemented. That allows to have more pcm devices then streams supported by the controller (usually 4 in each direction). Now it limits only number of simultaneously transferred audio streams, that is rarely reachable and properly reported if happens. - Codec pins and GPIO signals configuration was exported via set of writable sysctls. Another sysctl dev.hdaa.X.reconfig allows to trigger driver reconfiguration in run-time. - Driver now decodes pins location and connector type names. In some cases it allows to hint user where on the system case connectors, related to the pcm device, are located. Number of channels supported by pcm device, reported now (if it is not 2), should also make search easier. - Added workaround for digital mic on some Asus laptops/netbooks. MFC after: 2 months Sponsored by: iXsystems, Inc.
|
#
130f4520 |
|
11-Jan-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add the CAM Target Layer (CTL). CTL is a disk and processor device emulation subsystem originally written for Copan Systems under Linux starting in 2003. It has been shipping in Copan (now SGI) products since 2005. It was ported to FreeBSD in 2008, and thanks to an agreement between SGI (who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is available under a BSD-style license. The intent behind the agreement was that Spectra would work to get CTL into the FreeBSD tree. Some CTL features: - Disk and processor device emulation. - Tagged queueing - SCSI task attribute support (ordered, head of queue, simple tags) - SCSI implicit command ordering support. (e.g. if a read follows a mode select, the read will be blocked until the mode select completes.) - Full task management support (abort, LUN reset, target reset, etc.) - Support for multiple ports - Support for multiple simultaneous initiators - Support for multiple simultaneous backing stores - Persistent reservation support - Mode sense/select support - Error injection support - High Availability support (1) - All I/O handled in-kernel, no userland context switch overhead. (1) HA Support is just an API stub, and needs much more to be fully functional. ctl.c: The core of CTL. Command handlers and processing, character driver, and HA support are here. ctl.h: Basic function declarations and data structures. ctl_backend.c, ctl_backend.h: The basic CTL backend API. ctl_backend_block.c, ctl_backend_block.h: The block and file backend. This allows for using a disk or a file as the backing store for a LUN. Multiple threads are started to do I/O to the backing device, primarily because the VFS API requires that to get any concurrency. ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a small amount of memory to act as a source and sink for reads and writes from an initiator. Therefore it cannot be used for any real data, but it can be used to test for throughput. It can also be used to test initiators' support for extremely large LUNs. ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes, and command handler functions defined for supported opcodes. ctl_debug.h: Debugging support. ctl_error.c, ctl_error.h: CTL-specific wrappers around the CAM sense building functions. ctl_frontend.c, ctl_frontend.h: These files define the basic CTL frontend port API. ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM. This frontend allows for using CTL without any target-capable hardware. So any LUNs you create in CTL are visible in CAM via this port. ctl_frontend_internal.c, ctl_frontend_internal.h: This is a frontend port written for Copan to do some system-specific tasks that required sending commands into CTL from inside the kernel. This isn't entirely relevant to FreeBSD in general, but can perhaps be repurposed. ctl_ha.h: This is a stubbed-out High Availability API. Much more is needed for full HA support. See the comments in the header and the description of what is needed in the README.ctl.txt file for more details. ctl_io.h: This defines most of the core CTL I/O structures. union ctl_io is conceptually very similar to CAM's union ccb. ctl_ioctl.h: This defines all ioctls available through the CTL character device, and the data structures needed for those ioctls. ctl_mem_pool.c, ctl_mem_pool.h: Generic memory pool implementation used by the internal frontend. ctl_private.h: Private data structres (e.g. CTL softc) and function prototypes. This also includes the SCSI vendor and product names used by CTL. ctl_scsi_all.c, ctl_scsi_all.h: CTL wrappers around CAM sense printing functions. ctl_ser_table.c: Command serialization table. This defines what happens when one type of command is followed by another type of command. ctl_util.c, ctl_util.h: CTL utility functions, primarily designed to be used from userland. See ctladm for the primary consumer of these functions. These include CDB building functions. scsi_ctl.c: CAM target peripheral driver and CTL frontend port. This is the path into CTL for commands from target-capable hardware/SIMs. README.ctl.txt: CTL code features, roadmap, to-do list. usr.sbin/Makefile: Add ctladm. ctladm/Makefile, ctladm/ctladm.8, ctladm/ctladm.c, ctladm/ctladm.h, ctladm/util.c: ctladm(8) is the CTL management utility. It fills a role similar to camcontrol(8). It allow configuring LUNs, issuing commands, injecting errors and various other control functions. usr.bin/Makefile: Add ctlstat. ctlstat/Makefile ctlstat/ctlstat.8, ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8). It reports I/O statistics for CTL. sys/conf/files: Add CTL files. sys/conf/NOTES: Add device ctl. sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB length field is now 2 bytes long. Add several mode page definitions for CTL. sys/cam/scsi_all.c: Handle the new 2 byte inquiry length. sys/dev/ciss/ciss.c, sys/dev/ata/atapi-cam.c, sys/cam/scsi/scsi_targ_bh.c, scsi_target/scsi_cmds.c, mlxcontrol/interface.c: Update for 2 byte inquiry length field. scsi_da.h: Add versions of the format and rigid disk pages that are in a more reasonable format for CTL. amd64/conf/GENERIC, i386/conf/GENERIC, ia64/conf/GENERIC, sparc64/conf/GENERIC: Add device ctl. i386/conf/PAE: The CTL frontend SIM at least does not compile cleanly on PAE. Sponsored by: Copan Systems, SGI and Spectra Logic MFC after: 1 month
|
#
70e0bbed |
|
11-Jan-2012 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Replace GPL'd headers in the emu10kx snd driver code. This uses the emuxkireg.h already used in the emu10k1 snd driver. Special thanks go to Alexander Motin as he was able to find some errors and reverse engineer some wrong values in the emuxkireg header. The emu10kx driver is now free from the GPL. PR: 153901 Tested by: mav, joel Approved by: jhb (mentor) MFC after: 2 weeks
|
#
3da972f7 |
|
07-Jan-2012 |
Adrian Chadd <adrian@FreeBSD.org> |
Make these two files conditionally build on UFS_ACL, as it doesn't seem to be used elsewhere. Since UFS_ACL is enabled by default for GENERIC kernels, this shouldn't break anything - but please beat me to fix things if it does. This reduces the footprint of the kernel on small embedded systems (think <1MB flash for the compressed kernel image) just enough to actually fit.
|
#
ce96bb79 |
|
04-Jan-2012 |
Aleksandr Rybalko <ray@FreeBSD.org> |
GEOM_UNCOMPRESS module, can be used with uzip images and with new ulzma images. Approved by: adrian (mentor)
|
#
e11f2b82 |
|
04-Jan-2012 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Update contrib/xz-embedded to build with new GEOM_UNCOMPRESS module. Approved by: adrian (mentor)
|
#
c7e0c9db |
|
03-Jan-2012 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Replace a GPL'd header in the emu10k1 snd driver code. This brings in the emuxkireg.h from NetBSD (dev/pci) which is used for the same purpose but is smaller. The emu10k1 is now free from the GPL. PR: 153901 Obtained from: NetBSD Approved by: core (mentor implicit) MFC after: 2 weeks
|
#
22fec34a |
|
03-Jan-2012 |
Ed Schouten <ed@FreeBSD.org> |
Implement extensions on top of standards instead of the other way around. Now that index() and rindex() have become unused, simply turn them into wrappers around strchr() and strrchr(), respectively.
|
#
41adcfa1 |
|
01-Jan-2012 |
Ed Schouten <ed@FreeBSD.org> |
Remove the now unused skpc() function. It was only used by ufs and ext2 and I have really strong doubts that there are other pieces of code that also use this function. If it turns out that external drivers use this code as well, I'd be happy to migrate or revert. Bump __FreeBSD_version while there.
|
#
de85bfc5 |
|
01-Jan-2012 |
Ed Schouten <ed@FreeBSD.org> |
Introducing memcchr(3). It seems two of the file system drivers we have in the tree, namely ufs and ext3, use a function called `skpc()'. The meaning of this function does not seem to be documented in FreeBSD, but it turns out one needs to be a VAX programmer to understand what it does. SPKC is an instruction on the VAX that does the opposite of memchr(). It searches for the non-equal character. Add a new function called memcchr() to the tree that has the following advantages over skpc(): - It has a name that makes more sense than skpc(). Just like strcspn() matches the complement of strspn(), memcchr() is the complement of memchr(). - It is faster than skpc(). Similar to our strlen() in libc, it compares entire words, instead of single bytes. It seems that for this routine this yields a sixfold performance increase on amd64. - It has a man page.
|
#
97a15669 |
|
30-Dec-2011 |
Dimitry Andric <dim@FreeBSD.org> |
Disable several instances instances of clang's -Wself-assign warning. All of these are harmless, and are in fact used to shut up warnings from lint. While here, remove -Wno-missing-prototypes from the xfs module Makefile, as I could not reproduce those warnings either with gcc or clang. MFC after: 1 week
|
#
874fb554 |
|
29-Dec-2011 |
Dimitry Andric <dim@FreeBSD.org> |
For several files in sys/dev/drm, disable -Wunused-value when building with clang. There are several macros in these files that return values, and in some cases nothing is done with them, but it is completely harmless. For some other files, also disable -Wconstant-conversion, since that triggers a false positive with the DMA_BIT_MASK() macro. MFC after: 1 week
|
#
c65ee21d |
|
25-Dec-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
First pass of LED related code changes. Migrate the LED code out of if_ath.c and into if_ath_led.c. These routines are _all_ software based LED blinking.
|
#
6f7651b9 |
|
21-Dec-2011 |
Dimitry Andric <dim@FreeBSD.org> |
When building with clang, disable -Wshift-count-negative and -Wshift-count-overflow for sys/dev/ath/ath_hal/ah_regdomain.c, as it gets multiple instances of the following warnings: In file included from sys/dev/ath/ath_hal/ah_regdomain.c:99: sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:69:15: warning: shift count is negative [-Wshift-count-negative] .chan11a = BM4(F1_4950_4980, ^~~~~~~~~~~~~~~~~ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:41:4: note: expanded from: W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) } ^ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:34:45: note: expanded from: (((_a) > 63 && (_a) < 128 ? (((uint64_t) 1)<<((_a)-64)) : (uint64_t) 0)) ^ ~~~~~~~~~ and: In file included from sys/dev/ath/ath_hal/ah_regdomain.c:99: sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:629:15: error: shift count >= width of type [-Werror,-Wshift-count-overflow] .chan11a = BM4(W2_5260_5320, ^~~~~~~~~~~~~~~~~ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:40:34: note: expanded from: { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd), \ ^ sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h:32:44: note: expanded from: (((_a) >= 0 && (_a) < 64 ? (((uint64_t) 1)<<(_a)) : (uint64_t) 0)) ^ ~~~~ Both warnings are false positives, caused by LLVM PR 10030. For global initializations, clang fails to detect that the branch of the ternary operator causing the warning is dead. MFC after: 1 week
|
#
fea85869 |
|
21-Dec-2011 |
Dimitry Andric <dim@FreeBSD.org> |
When building with clang, disable -Warray-bounds for sys/dev/asr/asr.c, as it gets the following warning: sys/dev/asr/asr.c:1836:29: warning: array index of '58' indexes past the end of an array (that contains 1 element) [-Warray-bounds] while ((len > 0) && (sg < &((PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE) ^ sys/dev/asr/i2omsg.h:934:8: note: array 'Simple' declared here I2O_SGE_SIMPLE_ELEMENT Simple[1]; ^ This is a false positive, since I2O_SG_ELEMENT::Simple is not declared as a C99 flexible array member, but in the old (but more portable) way. At run-time, the proper number of array elements will hopefully have been allocated. MFC after: 1 week
|
#
a380d07b |
|
21-Dec-2011 |
Dimitry Andric <dim@FreeBSD.org> |
Start selectively disabling a few kernel build warnings for clang, since there are some places in the kernel where fixing them is too disruptive, or where there is a false positive. In this case, disable -Wconstant-conversion for two aic7xxx-related files, as they get the following warning on i386 (and possibly on other 32-bit arches): sys/dev/aic7xxx/ahc_pci.c:112:10: warning: implicit conversion from 'long long' to 'bus_addr_t' (aka 'unsigned int') changes value from 549755813887 to 4294967295 [-Wconstant-conversion] ? 0x7FFFFFFFFFLL ~~^~~~~~~~~~~~~~ This is a false positive, since the code only passes the 0x7FFFFFFFFFLL argument, if sizeof(bus_addr_t) is larger than 4 (e.g. on 64 bit arches, or when PAE is enabled on i386). The code could be refactored to do compile-time checks, but that is more disruptive. MFC after: 1 week
|
#
6aa40c01 |
|
17-Dec-2011 |
Andriy Gapon <avg@FreeBSD.org> |
retire libkern gets Inspired by: bde MFC after: 2 months X-MFC-Note: if deemed a part of KPI, just call cngets internally
|
#
7ac6374d |
|
28-Nov-2011 |
Philip Paeps <philip@FreeBSD.org> |
Limit building sfxge(4) in-kernel to amd64 for the time being. We can put it back after I fix the breakages on some of our more exotic platforms. While here, add the driver to the amd64 NOTES, so it can be picked up in LINT builds.
|
#
3af069c5 |
|
25-Nov-2011 |
Marius Strobl <marius@FreeBSD.org> |
Deorbit the broken amd(4) (see PR 124667), which was superseded by esp(4) as of r227006.
|
#
fee9ff32 |
|
23-Nov-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Don't compile in the AR9130 embedded WMAC code into the HAL by default. This won't work unless AH_SUPPORT_AR9130 which can't be enabled - it breaks the other 11n chipsets for now. Sponsored by: Hobnob, Inc.
|
#
e4b68814 |
|
22-Nov-2011 |
Luigi Rizzo <luigi@FreeBSD.org> |
forgot to merge NETMAP entries in sys/conf !
|
#
cf13a585 |
|
20-Nov-2011 |
Lawrence Stewart <lstewart@FreeBSD.org> |
- Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate() system calls to provide feed-forward clock management capabilities to userspace processes. ffclock_getcounter() returns the current value of the kernel's feed-forward clock counter. ffclock_getestimate() returns the current feed-forward clock parameter estimates and ffclock_setestimate() updates the feed-forward clock parameter estimates. - Document the syscalls in the ffclock.2 man page. - Regenerate the script-derived syscall related files. Committed on behalf of Julien Ridoux and Darryl Veitch from the University of Melbourne, Australia, as part of the FreeBSD Foundation funded "Feed-Forward Clock Synchronization Algorithms" project. For more information, see http://www.synclab.org/radclock/ Submitted by: Julien Ridoux (jridoux at unimelb edu au)
|
#
f464c5cc |
|
19-Nov-2011 |
Lawrence Stewart <lstewart@FreeBSD.org> |
Provide high-level functions to access the feed-forward absolute and difference clocks. Each routine can output an upper bound on the absolute time or time interval requested. Different flavours of absolute time can be requested, for example with or without leap seconds, monotonic or not, etc. Committed on behalf of Julien Ridoux and Darryl Veitch from the University of Melbourne, Australia, as part of the FreeBSD Foundation funded "Feed-Forward Clock Synchronization Algorithms" project. For more information, see http://www.synclab.org/radclock/ Submitted by: Julien Ridoux (jridoux at unimelb edu au)
|
#
41f1dccc |
|
17-Nov-2011 |
Kevin Lo <kevlo@FreeBSD.org> |
Add unicode support to msdosfs and smbfs; original pathes from imura, bug fixes by Kuan-Chung Chiu <buganini at gmail dot com>. Tested by me in production for several days at work.
|
#
e948693e |
|
16-Nov-2011 |
Philip Paeps <philip@FreeBSD.org> |
Add the sfxge(4) device driver, providing support for 10Gb Ethernet adapters based on Solarflare SFC9000 family controllers. The driver supports jumbo frames, transmit/receive checksum offload, TCP Segmentation Offload (TSO), Large Receive Offload (LRO), VLAN checksum offload, VLAN TSO, and Receive Side Scaling (RSS) using MSI-X interrupts. This work was sponsored by Solarflare Communications, Inc. My sincere thanks to Ben Hutchings for doing a lot of the hard work! Sponsored by: Solarflare Communications, Inc. MFC after: 3 weeks
|
#
0d9a4ef3 |
|
03-Nov-2011 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
First cut at updating mfi(4) to support newer LSI MegaRAID SAS cards. Specifically, add support for "Drake Skinny" and "ThunderBolt" LSI cards. Initial code was supplied by LSI under BSD license. Several improvements were done by myself. Such things like making it work in a static kernel, be able to boot of the RAID, performance improvements. I removed some fairly complicated code that seemed to directly access the disks under the firmware. It doesn't seem to be needed and significantly slowed down the performance of the driver and caused tons of sense errors to be reported. This code is being checked in this area so others can help me get it into shape to commit into the FreeBSD tree. Assistance has been volunteered by iXsystems. We might want to re-work the JBOD attachment that creates /dev/mfisyspd? node for each disk. Performance is faster then prior cards. It works okay with WITNESS and INVARIANTS on amd64 and i386. I recall seeing a use after free time bug with FreeBSD 8 and a Drake Skinny card with WITNESS and INVARIANTS on. First task is get all of the new structures to be named in FreeBSD style format. Next is probably to deal with the 64bit addressing changes that are mostly around the #ifdef __amd64__ checks. Thanks to LSI for providing the initial code. Obtained from: LSI
|
#
a9ab459b |
|
01-Nov-2011 |
Marius Strobl <marius@FreeBSD.org> |
Add a PCI front-end to esp(4) allowing it to support AMD Am53C974 and replace amd(4) with the former in the amd64, i386 and pc98 GENERIC kernel configuration files. Besides duplicating functionality, amd(4), which previously also supported the AMD Am53C974, unlike esp(4) is no longer maintained and has accumulated enough bit rot over time to always cause a panic during boot as long as at least one target is attached to it (see PR 124667). PR: 124667 Obtained from: NetBSD (based on) MFC after: 3 days
|
#
8c1093fc |
|
01-Nov-2011 |
Marius Strobl <marius@FreeBSD.org> |
- Import the common MII bitbang'ing code from NetBSD and convert drivers to take advantage of it instead of duplicating it. This reduces the size of the i386 GENERIC kernel by about 4k. The only potential in-tree user left unconverted is xe(4), which generally should be changed to use miibus(4) instead of implementing PHY handling on its own, as otherwise it makes not much sense to add a dependency on miibus(4)/mii_bitbang(4) to xe(4) just for the MII bitbang'ing code. The common MII bitbang'ing code also is useful in the embedded space for using GPIO pins to implement MII access. - Based on lessons learnt with dc(4) (see r185750), add bus barriers to the MII bitbang read and write functions of the other drivers converted in order to ensure the intended ordering. Given that register access via an index register as well as register bank/window switching is subject to the same problem, also add bus barriers to the respective functions of smc(4), tl(4) and xl(4). - Sprinkle some const. Thanks to the following testers: Andrew Bliznak (nge(4)), nwhitehorn@ (bm(4)), yongari@ (sis(4) and ste(4)) Thanks to Hans-Joerg Sirtl for supplying hardware to test stge(4). Reviewed by: yongari (subset of drivers) Obtained from: NetBSD (partially)
|
#
112a855d |
|
07-Oct-2011 |
Marius Strobl <marius@FreeBSD.org> |
- Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY drivers that only ever attach to a particular MAC driver, i.e. inphy(4), ruephy(4) and xlphy(4), to the directory where the respective MAC driver lives and only compile it into the kernel when the latter is also there, also removing it from miibus.ko and moving it into the module of the respective MAC driver. - While at it, rename exphy.c, which comes from NetBSD where the MAC driver it corresponds to also is named ex(4) instead of xl(4) but that in FreeBSD actually identifies itself as xlphy(4), and its function names accordingly for consistency. - Additionally while at it, fix some minor style issues like whitespace in the register headers and add multi-inclusion protection to inphyreg.h.
|
#
f359758c |
|
04-Oct-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add strnlen() to libkern.
|
#
db1fda10 |
|
04-Oct-2011 |
Xin LI <delphij@FreeBSD.org> |
Add the 9750 SATA+SAS 6Gb/s RAID controller card driver, tws(4). Many thanks for their contiued support to FreeBSD. This is version 10.80.00.003 from codeset 10.2.1 [1] Obtained from: LSI http://kb.lsi.com/Download16574.aspx [1]
|
#
cfb5f768 |
|
18-Aug-2011 |
Jonathan Anderson <jonathan@FreeBSD.org> |
Add experimental support for process descriptors A "process descriptor" file descriptor is used to manage processes without using the PID namespace. This is required for Capsicum's Capability Mode, where the PID namespace is unavailable. New system calls pdfork(2) and pdkill(2) offer the functional equivalents of fork(2) and kill(2). pdgetpid(2) allows querying the PID of the remote process for debugging purposes. The currently-unimplemented pdwait(2) will, in the future, allow querying rusage/exit status. In the interim, poll(2) may be used to check (and wait for) process termination. When a process is referenced by a process descriptor, it does not issue SIGCHLD to the parent, making it suitable for use in libraries---a common scenario when using library compartmentalisation from within large applications (such as web browsers). Some observers may note a similarity to Mach task ports; process descriptors provide a subset of this behaviour, but in a UNIX style. This feature is enabled by "options PROCDESC", but as with several other Capsicum kernel features, is not enabled by default in GENERIC 9.0. Reviewed by: jhb, kib Approved by: re (kib), mentor (rwatson) Sponsored by: Google Inc
|
#
01acaa30 |
|
18-Jul-2011 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Revamp the CAM enclosure services driver, renaming it to "enc" from "ses" in the process. This updated driver uses an in-kernel daemon to track state changes and publishes physical path location information for disk elements into the CAM device database. share/examples/ses/Makefile.inc: share/examples/ses/srcs/eltsub.c: share/examples/ses/srcs/sesd.c: share/examples/ses/srcs/getencstat.c: share/examples/ses/srcs/setobjstat.c: share/examples/ses/srcs/inienc.c: share/examples/ses/srcs/getobjstat.c: share/examples/ses/srcs/getnobj.c: share/examples/ses/srcs/getobjmap.c: share/examples/ses/srcs/setencstat.c: Update for changes in driver name and API. The ioctl interface is largely unchanged and could use additional refinement. It would be nice to be able to fetch the status of all elements in a single ioctl call and to have the ioctls that return variable length data allow you to query the necessary allocation size by passing in a zero length buffer. sys/sparc64/conf/GENERIC: sys/ia64/conf/GENERIC: sys/mips/conf/OCTEON1: sys/pc98/conf/GENERIC: sys/i386/conf/GENERIC: sys/amd64/conf/GENERIC: ses -> enc sys/conf/files: sys/modules/cam/Makefile: sys/cam/scsi/scsi_enc_internal.h sys/cam/scsi/scsi_enc_ses.c sys/cam/scsi/scsi_enc_safte.c sys/cam/scsi/scsi_ses.c sys/cam/scsi/scsi_enc.c Split the enc driver into a generic driver file and one file each for the SES and SAF-TE personalities. sys/cam/scsi/scsi_ses.h: o Retain this header, but use it to only hold structures derived from the T10 SES spec. The driver interface can be found in scsi_enc.h. o Add definitions for most SES pages. sys/cam/scsi/scsi_enc.c sys/cam/scsi/scsi_enc.h o Use a function vector table to allow interaction between the generic and protocol specific portions of this driver. o Provide a generic mechanism allowing personalities to define a finite state machine that is executed from a daemon thread context. o Track CAM device arrival events and pass these on to personalities that have registered an interest in them. These notifications are used to trigger physical path updates in the CAM EDT. sys/cam/scsi/scsi_enc_safte.c: The SAF-TE personality. This module is largely untouched by this update. To achieve the same level of support as we have for SES, it will need to define an FSM and code to determine the physical paths of elements within the enclosure. sys/cam/scsi/scsi_enc_ses.c: o Implement a state machine to fetch configuration, status, element descriptors, and additional element status. o Build a "element map" that indexes into the config and status data retrieved from a SES device. Use this to simplify our responses to ioctls. o Add support for using SAS domain/phy WWN data to determine the physical path (ence@<enc WWN>/type@<elm type>/slot@<slot #>) of an element. Stubs are in place for FC, but both FC and SPI will need additional work in order to be supported. Sponsored by: Spectra Logic Corporation Submitted by: gibbs, will
|
#
49901133 |
|
08-Jul-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add new USB 3G driver. Submitted by: PseudoCylon <moonlightakkiy@yahoo.ca> MFC after: 14 days
|
#
0dbe859d |
|
24-Jun-2011 |
John Baldwin <jhb@FreeBSD.org> |
Split out host_pcib_get_busno() from the generic PCI-PCI bridge driver to start a new file that will hold utility APIs used by various Host-PCI bridge drivers and drivers that provide PCI domains.
|
#
399e6543 |
|
23-Jun-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
- Add more USB templates for various USB device classes - Add basic template support for USB 3.0 - Export definition of template sysctl numbers through usb_ioctl.h MFC after: 7 days
|
#
e4a06afe |
|
10-Jun-2011 |
Jeff Roberson <jeff@FreeBSD.org> |
- Eliminate an incorrect include path from the mthca build.
|
#
52cd27cb |
|
05-Jun-2011 |
Robert Watson <rwatson@FreeBSD.org> |
Implement a CPU-affine TCP and UDP connection lookup data structure, struct inpcbgroup. pcbgroups, or "connection groups", supplement the existing inpcbinfo connection hash table, which when pcbgroups are enabled, might now be thought of more usefully as a per-protocol 4-tuple reservation table. Connections are assigned to connection groups base on a hash of their 4-tuple; wildcard sockets require special handling, and are members of all connection groups. During a connection lookup, a per-connection group lock is employed rather than the global pcbinfo lock. By aligning connection groups with input path processing, connection groups take on an effective CPU affinity, especially when aligned with RSS work placement (see a forthcoming commit for details). This eliminates cache line migration associated with global, protocol-layer data structures in steady state TCP and UDP processing (with the exception of protocol-layer statistics; further commit to follow). Elements of this approach were inspired by Willman, Rixner, and Cox's 2006 USENIX paper, "An Evaluation of Network Stack Parallelization Strategies in Modern Operating Systems". However, there are also significant differences: we maintain the inpcb lock, rather than using the connection group lock for per-connection state. Likewise, the focus of this implementation is alignment with NIC packet distribution strategies such as RSS, rather than pure software strategies. Despite that focus, software distribution is supported through the parallel netisr implementation, and works well in configurations where the number of hardware threads is greater than the number of NIC input queues, such as in the RMI XLR threaded MIPS architecture. Another important difference is the continued maintenance of existing hash tables as "reservation tables" -- these are useful both to distinguish the resource allocation aspect of protocol name management and the more common-case lookup aspect. In configurations where connection tables are aligned with hardware hashes, it is desirable to use the traditional lookup tables for loopback or encapsulated traffic rather than take the expense of hardware hashes that are hard to implement efficiently in software (such as RSS Toeplitz). Connection group support is enabled by compiling "options PCBGROUP" into your kernel configuration; for the time being, this is an experimental feature, and hence is not enabled by default. Subject to the limited MFCability of change dependencies in inpcb, and its change to the inpcbinfo init function signature, this change in principle could be merged to FreeBSD 8.x. Reviewed by: bz Sponsored by: Juniper Networks, Inc.
|
#
884a2a69 |
|
04-Jun-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Rename recently added USB serial driver. Suggested by: YongHyeon PYUN MFC after: 7 days
|
#
48237774 |
|
01-Jun-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Flesh out the radar detection related operations for the ath driver. This is in no way a complete DFS/radar detection implementation! It merely creates an abstracted interface which allows for future development of the DFS radar detection code. Note: Net80211 already handles the bulk of the DFS machinery, all we need to do here is figure out that a radar event has occured and inform it as such. It then drives the DFS state engine for us. The "null" DFS radar detection module is included by default; it doesn't require a device line. This commit: * Adds a simple abstracted layer for radar detection state - sys/dev/ath/ath_dfs/; * Implements a null DFS module which doesn't do anything; (ie, implements the exact behaviour at the moment); * Adds hooks to the ath driver to process received radar events and gives the DFS module a chance to determine whether a radar has been detected. Obtained from: Atheros
|
#
0c38ca8c |
|
01-Jun-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for new USB serial driver. Submitted by: Lev Serebryakov, lev @ MFC after: 14 days
|
#
4dba21f1 |
|
30-May-2011 |
Navdeep Parhar <np@FreeBSD.org> |
L2 table code. This is enough to get the T4's switch + L2 rewrite filters working. (All other filters - switch without L2 info rewrite, steer, and drop - were already fully-functional). Some contrived examples of "switch" filters with L2 rewriting: # cxgbetool t4nex0 iport 0 dport 80 action switch vlan +9 eport 3 Intercept all packets received on physical port 0 with TCP port 80 as destination, insert a vlan tag with VID 9, and send them out of port 3. # cxgbetool t4nex0 sip 192.168.1.1/32 ivlan 5 action switch \ vlan =9 smac aa:bb:cc:dd:ee:ff eport 0 Intercept all packets (received on any port) with source IP address 192.168.1.1 and VLAN id 5, rewrite the VLAN id to 9, rewrite source mac to aa:bb:cc:dd:ee:ff, and send it out of port 0. MFC after: 1 week
|
#
94c389c6 |
|
26-May-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Introduce AR9287 support to the FreeBSD HAL.
|
#
226e6f9b |
|
01-May-2011 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Add files for wpi(4)
|
#
c3371854 |
|
30-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Fis a problem with r221258 that mac is still needed in case for ient6 only for mac_inet.c. Reported by: Luiz Otavio O Souza (lists.br gmail.com) MFC after: 4 days
|
#
2daeab43 |
|
29-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
After r221249 allow SCTP to be compiled in an IPv6 only environment as well. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 10 days
|
#
bb73f68c |
|
29-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Add some more missing optional dependencies on inet6, not only inet, to get the files for an IPv6 only kernel as well, remove extra inet6 option where not needed. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days
|
#
b287c6c7 |
|
30-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Make the TCP code compile without INET. Sort #includes and add #ifdef INETs. Add some comments at #endifs given more nestedness. To make the compiler happy, some default initializations were added in accordance with the style on the files. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days
|
#
79288c11 |
|
30-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Make the UDP code compile without INET. Expose udp_usrreq.c to IPv6 only as well compiling out most functions adding or extending #ifdef INET coverage. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days
|
#
548d35fd |
|
28-Apr-2011 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Exar driver for X3100 10GbE Server/Storage adapters Features: Jumbo frames (up to 9600), LRO (Large Receive Offload), TSO (TCP segmentation offload), RTH (Receive Traffic Hash). Submitted by: Sriram Rapuru at Exar MFC after: 2 weeks
|
#
9f25ad52 |
|
27-Apr-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. The AR9130 is an AR9160/AR5416 family WMAC which is glued directly to the AR913x SoC peripheral bus (APB) rather than via a PCI/PCIe bridge. The specifics: * A new build option is required to use the AR9130 - AH_SUPPORT_AR9130. This is needed due to the different location the RTC registers live with this chip; hopefully this will be undone in the future. This does currently mean that enabling this option will break non-AR9130 builds, so don't enable it unless you're specifically building an image for the AR913x SoC. * Add the new probe, attach, EEPROM and PLL methods specific to Howl. * Add a work-around to ah_eeprom_v14.c which disables some of the checks for endian-ness and magic in the EEPROM image if an eepromdata block is provided. This'll be fixed at a later stage by porting the ath9k probe code and making sure it doesn't break in other setups (which my previous attempt at this did.) * Sprinkle Howl modifications throughput the interrupt path - it doesn't implement the SYNC interrupt registers, so ignore those. * Sprinkle Howl chip powerup/down throughout the reset path; the RTC methods were * Sprinkle some other Howl workarounds in the reset path. * Hard-code an alternative setup for the AR_CFG register for Howl, that sets up things suitable for Big-Endian MIPS (which is the only platform this chip is glued to.) This has been tested on the AR913x based TP-Link WR-1043nd mode, in legacy, HT/20 and HT/40 modes. Caveats: * 2ghz has only been tested. I've not seen any 5ghz radios glued to this chipset so I can't test it. * AR5416_INTERRUPT_MITIGATION is not supported on the AR9130. At least, it isn't implemented in ath9k. Please don't enable this. * This hasn't been tested in MBSS mode or in RX/TX block-aggregation mode.
|
#
b8e463e6 |
|
27-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
MfP4 CH=192029: Expose ip_icmp.c to INET6 as well and only export badport_bandlim() along with the two sysctls in the non-INET case. The bandlim types work for all cases I reviewed in IPv6 as well and the sysctls are available as we export net.inet.* from in_proto.c. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 4 days
|
#
7c208ed6 |
|
25-Apr-2011 |
Rick Macklem <rmacklem@FreeBSD.org> |
Fix the experimental NFS client so that it does not bogusly set the f_flags field of "struct statfs". This had the interesting effect of making the NFSv4 mounts "disappear" after r221014, since NFSMNT_NFSV4 and MNT_IGNORE became the same bit. Move the files used for a diskless NFS root from sys/nfsclient to sys/nfs in preparation for them to be used by both NFS clients. Also, move the declaration of the three global data structures from sys/nfsclient/nfs_vfsops.c to sys/nfs/nfs_diskless.c so that they are defined when either client uses them. Reviewed by: jhb MFC after: 2 weeks
|
#
c6d2fa7e |
|
25-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
After r220885 compile the various NIC drivers depending on INET unconditionally backing out r193997, so that they are available for IPv6-only setups as well. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC after: 5 days
|
#
6d8ea1e7 |
|
21-Apr-2011 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add g_eli_key_cache.c to GELI. MFC after: 2 weeks
|
#
f4e2f6c9 |
|
20-Apr-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Implement very basic ALQ logging for net80211. This is destined to be a lightweight and optional set of ALQ probes for debugging events which are just impossible to debug with printf/log (eg packet TX/RX handling; AMPDU handling.) The probes and operations themselves will appear in subsequent commits.
|
#
d51f8d20 |
|
20-Apr-2011 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Add firmware images for the 6000 series g2a and g2b adapters.
|
#
c2bce4a2 |
|
20-Apr-2011 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Update iwn(4) firmware blobs: - bump iwn1000fw to 39.31.5.1 - bump iwn5000fw to 8.83.5.1 - bump iwn6050fw to 41.28.5.1
|
#
336d023b |
|
17-Apr-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Make in_proto.c dependent on either inet or inet6. While it does not provide any functionality for IPv6, it provides the sysctl nodes for net.inet.* that a lot of functionality shared between IPv4 and IPv6 depends on. We cannot change these anymore without breaking a lot of management and tuning. In case of IPv6 only, we compile out everything but the sysctl node declarations. Reviewed by: gnn Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems MFC After: 5 days
|
#
77823fbc |
|
13-Apr-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Bring over the antenna diversity logic support for Kite. Again, this is just the code ported from ath9k and included in the build, it isn't yet enabled.
|
#
1c554472 |
|
12-Apr-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Add the initial AR9285 PHY glue for supporting antenna diversity. This code isn't currently used anywhere; it's just linked into the build.
|
#
27afdbaa |
|
12-Apr-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Introduce geom_map, a GEOM provider designed for use by embedded flash stores. Some devices - notably those with uboot - don't have an explicit partition table (eg like Redboot's FIS.) geom_map thus provides an easy way to export the hard-coded flash layout as geom providers for use by filesystems and other tools. It also includes a "search" function which allows for dynamic creation of partition layouts where the device only has a single hard-coded partition. For example, if there is a "kernel+rootfs" partition, a single image can be created which appends the rootfs after the kernel with an appropriate search string. geom_map can be told to search for said search string and create a partition beginning after it. Submitted by: Aleksandr Rybalko <ray@dlink.ua>
|
#
dba9c859 |
|
31-Mar-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Break out the ath PCI logic into a separate device/module. Introduce the AHB glue for Atheros embedded systems. Right now it's hard-coded for the AR9130 chip whose support isn't yet in this HAL; it'll be added in a subsequent commit. Kernel configuration files now need both 'ath' and 'ath_pci' devices; both modules need to be loaded for the ath device to work.
|
#
ec125fbb |
|
30-Mar-2011 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add rctl. It's used by racct to take user-configurable actions based on the set of rules it maintains and the current resource usage. It also privides userland API to manage that ruleset. Sponsored by: The FreeBSD Foundation Reviewed by: kib (earlier version)
|
#
097055e2 |
|
29-Mar-2011 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add racct. It's an API to keep per-process, per-jail, per-loginclass and per-loginclass resource accounting information, to be used by the new resource limits code. It's connected to the build, but the code that actually calls the new functions will come later. Sponsored by: The FreeBSD Foundation Reviewed by: kib (earlier version)
|
#
89b17223 |
|
24-Mar-2011 |
Alexander Motin <mav@FreeBSD.org> |
MFgraid/head: Add new RAID GEOM class, that is going to replace ataraid(4) in supporting various BIOS-based software RAIDs. Unlike ataraid(4) this implementation does not depend on legacy ata(4) subsystem and can be used with any disk drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4) with `options ATA_CAM`). To make code more readable and extensible, this implementation follows modular design, including core part and two sets of modules, implementing support for different metadata formats and RAID levels. Support for such popular metadata formats is now implemented: Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage. Such RAID levels are now supported: RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT. For any all of these RAID levels and metadata formats this class supports full cycle of volume operations: reading, writing, creation, deletion, disk removal and insertion, rebuilding, dirty shutdown detection and resynchronization, bad sector recovery, faulty disks tracking, hot-spare disks. For Intel and Promise formats there is support multiple volumes per disk set. Look graid(8) manual page for additional details. Co-authored by: imp Sponsored by: Cisco Systems, Inc. and iXsystems, Inc.
|
#
e4cd31dd |
|
21-Mar-2011 |
Jeff Roberson <jeff@FreeBSD.org> |
- Merge changes to the base system to support OFED. These include a wider arg2 for sysctl, updates to vlan code, IFT_INFINIBAND, and other miscellaneous small features.
|
#
dd46ab31 |
|
14-Mar-2011 |
David Christensen <davidch@FreeBSD.org> |
- Initial release of bxe(4) to support Broadcom NetXtreme II 10GbE. (BCM57710, BCM57711, BCM57711E) MFC after: One month
|
#
ad946a9c |
|
12-Mar-2011 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
INET6 for some time needed in_pcb.c so make sure we compile it in case of no inet. MFC after: 2 weeks
|
#
586b0ae5 |
|
11-Mar-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Port over the AR9285 PA calibration and initial calibration code from Linux ath9k. The ath9k ar9002_hw_init_cal() isn't entirely clear about what is supposed to be called for what chipsets, so I'm ignoring the rest of it and just porting the AR9285 init cal path as-is and leaving the rest alone. Subsequent commits may also tidy up the Merlin (AR9285) and other chipset support. Obtained from: Linux ath9k
|
#
48c1d364 |
|
07-Mar-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Implement open-loop TX power control (OLC) for Merlin (AR9280) and generally tidy up the TX power programming code. Enforce that the TX power offset for Merlin is -5 dBm, rather than any other value programmable in the EEPROM. This requires some further code to be ported over from ath9k, so until that is done and tested, fail to attach NICs whose TX power offset isn't -5 dBm. This improves both legacy and HT transmission on my merlin board. It allows for stable MCS TX up to MCS15. Specifics: * Refactor out a bunch of the TX power calibration code - setting/obtaining the power detector / gain boundaries, programming the PDADC * Take the -5 dBm TX power offset into account on Merlin - "0" in the per-rate TX power register means -5 dBm, not 0 dBm * When doing OLC * Enforce min (0) and max (AR5416_MAX_RATE_POWER) when fiddling with the TX power, to avoid the TX power values from wrapping when low. * Implement the 1 dBm cck power offset when doing OLC * Implement temperature compensation for 2.4ghz mode when doing OLC * Implement an AR9280 specific TX power calibration routine which includes the OLC twiddles, leaving the earlier chipset path (AR5416, AR9160) alone Whilst here, use these refactored routines for the AR9285 TX power calibration/programming code and enforce correct overflow/underflow handling when fiddling with TX power values. Obtained from: linux ath9k
|
#
2bfc50bc |
|
04-Mar-2011 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add two new system calls, setloginclass(2) and getloginclass(2). This makes it possible for the kernel to track login class the process is assigned to, which is required for RCTL. This change also make setusercontext(3) call setloginclass(2) and makes it possible to retrieve current login class using id(1). Reviewed by: kib (as part of a larger patch)
|
#
5b8c2f81 |
|
03-Mar-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
- Remove dependency to ucom from ulpt. MFC after: 14 days Approved by: thompsa (mentor)
|
#
d2d7a00a |
|
02-Mar-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Break the keycache management functions out into if_ath_keycache.c .
|
#
5dcd9c10 |
|
02-Mar-2011 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add support for NetFlow version 9 into ng_netflow(4) node. Submitted by: Alexander V. Chernikov <melifaro ipfw.ru>
|
#
6079fdbe |
|
02-Mar-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate the sysctl related routines (statistics, debugging, etc) out of if_ath.c and into if_ath_sysctl.c .
|
#
3ddc3c85 |
|
01-Mar-2011 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up sys_capability.c to the build. Sponsored by: Google, Inc. Reviewed by: anderson Discussed with: benl, kris, pjd Obtained from: Capsicum Project MFC after: 3 months
|
#
54e4ee71 |
|
18-Feb-2011 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4) - NIC driver for Chelsio T4 (Terminator 4) based 10Gb/1Gb adapters. MFC after: 3 weeks
|
#
26fdf1e8 |
|
17-Feb-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
- Fix build of manual page and inclusion of mos driver into kernel config file. - Fix style compliancy by wrapping some long lines in if_mos.c Approved by: thompsa (mentor)
|
#
a53ad9d6 |
|
06-Feb-2011 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Fix cut&paste mistake. MFC after: 1 week
|
#
c497ab81 |
|
04-Feb-2011 |
John Baldwin <jhb@FreeBSD.org> |
Correct include path. Submitted by: arundel MFC after: 1 week
|
#
4b44f6f2 |
|
01-Feb-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Include some preliminary TX HT rate scenario setup code. The AR5416 and later TX descriptors have new fields for supporting 11n bits (eg 20/40mhz mode, short/long GI) and enabling/disabling RTS/CTS protection per rate. These functions will be responsible for initialising the TX descriptors for the AR5416 and later chips for both HT and legacy frames. Beacon frames will remain using the non-11n TX descriptor setup for now; Linux ath9k does much the same. Note that these functions aren't yet used anywhere; a few more framework changes are needed before all of the right rate information is available for TX.
|
#
b8e788a5 |
|
29-Jan-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Migrate the TX path code out of if_ath and into a separate source file. There's two reasons for this: * the raw and non-raw TX path shares a lot of duplicate code which should be refactored; * the 11n-ready chip TX path needs a little reworking.
|
#
5bc8125a |
|
28-Jan-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Break out the debug macros from if_ath.c into if_ath_debug.[ch] . This is prep work for breaking out the TX path into a separate set of source files.
|
#
f7a77f6f |
|
23-Jan-2011 |
Michael Tuexen <tuexen@FreeBSD.org> |
Add stream scheduling support. This work is based on a patch received from Robin Seggelmann. MFC after: 3 months.
|
#
204582f2 |
|
20-Jan-2011 |
Adrian Chadd <adrian@FreeBSD.org> |
Push the non-AR5416 related stuff into chipset specific directories. sys/dev/ath/ath_hal/ar5416/ is getting very crowded and further commits will make it even more crowded. Now is a good time to shuffle these files out before any more extensive work is done on them. Create an ar9003 directory whilst I'm here; ar9003 specific chipset code will eventually live there.
|
#
2fea6431 |
|
17-Jan-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). Compile sys/dev/mem/memutil.c for all supported platforms and remove now unnecessary dev_mem_md_init(). Consistently define mem_range_softc from mem.c for all platforms. Add missing #include guards for machine/memdev.h and sys/memrange.h. Clean up some nearby style(9) nits. MFC after: 1 month
|
#
639016b8 |
|
11-Jan-2011 |
Andrew Thompson <thompsa@FreeBSD.org> |
Allow runfw(4) to be compiled in to the kernel. Submitted by: Akinori Furukoshi
|
#
90305aa3 |
|
03-Jan-2011 |
Rick Macklem <rmacklem@FreeBSD.org> |
Fix the nlm so that it no longer depends on the regular nfs client and, as such, can be loaded for the experimental nfs client without the regular client. Reviewed by: jhb MFC after: 2 weeks
|
#
2608aefc |
|
30-Dec-2010 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add driver for DM&P Vortex86 RDC R6040 Fast Ethernet. The controller is commonly found on DM&P Vortex86 x86 SoC. The driver supports all hardware features except flow control. The flow control was intentionally disabled due to silicon bug. DM&P Electronics, Inc. provided all necessary information including sample board to write driver and answered many questions I had. Many thanks for their support of FreeBSD. H/W donated by: DM&P Electronics, Inc.
|
#
e6713fe5 |
|
30-Dec-2010 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add RDC Semiconductor R6040 10/100 PHY driver.
|
#
a8d61afd |
|
21-Dec-2010 |
Lawrence Stewart <lstewart@FreeBSD.org> |
- Introduce the Hhook (Helper Hook) KPI. The KPI is closely modelled on pfil(9), and in many respects can be thought of as a more generic superset of pfil. Hhook provides a way for kernel subsystems to export hook points that Khelp modules can hook to provide enhanced or new functionality to the kernel. The KPI has been designed to ensure hook points pose no noticeable overhead when no hook functions are registered. - Introduce the Khelp (Kernel Helpers) KPI. Khelp provides a framework for managing Khelp modules, which indirectly use the Hhook KPI to register their hook functions with hook points of interest within the kernel. Khelp modules aim to provide a structured way to dynamically extend the kernel at runtime in an ABI preserving manner. Depending on the subsystem providing hook points, a Khelp module may be able to associate per-object data for maintaining relevant state between hook calls. - pjd's Object Specific Data (OSD) KPI is used to manage the per-object data allocated to Khelp modules. Create a new "OSD_KHELP" OSD type for use by the Khelp framework. - Bump __FreeBSD_version to 900028 to mark the introduction of the new KPIs. In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: FreeBSD Foundation Reviewed by: bz, others along the way MFC after: 3 months
|
#
0e1497ae |
|
19-Dec-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Update firmware for wpi(4) from version 2.14.4 to 15.32.2.9. PR: kern/142907 Submitted by: Craig Butler <craig001 at lerwick.hopto.org> MFC after: 2 weeks
|
#
06e79492 |
|
30-Nov-2010 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add Serial Management Protocol (SMP) passthrough support to CAM. This includes support in the kernel, camcontrol(8), libcam and the mps(4) driver for SMP passthrough. The CAM SCSI probe code has been modified to fetch Inquiry VPD page 0x00 to determine supported pages, and will now fetch page 0x83 in addition to page 0x80 if supported. Add two new CAM CCBs, XPT_SMP_IO, and XPT_GDEV_ADVINFO. The SMP CCB is intended for SMP requests and responses. The ADVINFO is currently used to fetch cached VPD page 0x83 data from the transport layer, but is intended to be extensible to fetch other types of device-specific data. SMP-only devices are not currently represented in the CAM topology, and so the current semantics are that the SIM will route SMP CCBs to either the addressed device, if it contains an SMP target, or its parent, if it contains an SMP target. (This is noted in cam_ccb.h, since it will change later once we have the ability to have SMP-only devices in CAM's topology.) smp_all.c, smp_all.h: New helper routines for SMP. This includes SMP request building routines, response parsing routines, error decoding routines, and structure definitions for a number of SMP commands. libcam/Makefile: Add smp_all.c to libcam, so that SMP functionality is available to userland applications. camcontrol.8, camcontrol.c: Add smp passthrough support to camcontrol. Several new subcommands are now available: 'smpcmd' functions much like 'cmd', except that it allows the user to send generic SMP commands. 'smprg' sends the SMP report general command, and displays the decoded output. It will automatically fetch extended output if it is available. 'smppc' sends the SMP phy control command, with any number of potential options. Among other things, this allows the user to reset a phy on a SAS expander, or disable a phy on an expander. 'smpmaninfo' sends the SMP report manufacturer information and displays the decoded output. 'smpphylist' displays a list of phys on an expander, and the CAM devices attached to those phys, if any. cam.h, cam.c: Add a status value for SMP errors (CAM_SMP_STATUS_ERROR). Add a missing description for CAM_SCSI_IT_NEXUS_LOST. Add support for SMP commands to cam_error_string(). cam_ccb.h: Rename the CAM_DIR_RESV flag to CAM_DIR_BOTH. SMP commands are by nature bi-directional, and we may need to support bi-directional SCSI commands later. Add the XPT_SMP_IO CCB. Since SMP commands are bi-directional, there are pointers for both the request and response. Add a fill routine for SMP CCBs. Add the XPT_GDEV_ADVINFO CCB. This is currently used to fetch cached page 0x83 data from the transport later, but is extensible to fetch many other types of data. cam_periph.c: Add support in cam_periph_mapmem() for XPT_SMP_IO and XPT_GDEV_ADVINFO CCBs. cam_xpt.c: Add support for executing XPT_SMP_IO CCBs. cam_xpt_internal.h: Add fields for VPD pages 0x00 and 0x83 in struct cam_ed. scsi_all.c: Add scsi_get_sas_addr(), a function that parses VPD page 0x83 data and pulls out a SAS address. scsi_all.h: Add VPD page 0x00 and 0x83 structures, and a prototype for scsi_get_sas_addr(). scsi_pass.c: Add support for mapping buffers in XPT_SMP_IO and XPT_GDEV_ADVINFO CCBs. scsi_xpt.c: In the SCSI probe code, first ask the device for VPD page 0x00. If any VPD pages are supported, that page is required to be implemented. Based on the response, we may probe for the serial number (page 0x80) or device id (page 0x83). Add support for the XPT_GDEV_ADVINFO CCB. sys/conf/files: Add smp_all.c. mps.c: Add support for passing in a uio in mps_map_command(), so we can map a S/G list at once. Add support for SMP passthrough commands in mps_data_cb(). SMP is a special case, because the first buffer in the S/G list is outbound and the second buffer is inbound. Add support for warning the user if the busdma code comes back with more buffers than will work for the command. This will, for example, help the user determine why an SMP command failed if busdma comes back with three buffers. mps_pci.c: Add sys/uio.h. mps_sas.c: Add the SAS address and the parent handle to the list of fields we pull from device page 0 and cache in struct mpssas_target. These are needed for SMP passthrough. Add support for the XPT_SMP_IO CCB. For now, this CCB is routed to the addressed device if it supports SMP, or to its parent if it does not and the parent does. This is necessary because CAM does not currently support SMP-only nodes in the topology. Make SMP passthrough support conditional on __FreeBSD_version >= 900026. This will make it easier to MFC this change to the driver without MFCing the CAM changes as well. mps_user.c: Un-staticize mpi_init_sge() so we can use it for the SMP passthrough code. mpsvar.h: Add a uio and iovecs into struct mps_command for SMP passthrough commands. Add a cm_max_segs field to struct mps_command so that we can warn the user if busdma comes back with too many segments. Clear the cm_reply when a command gets freed. If it is not cleared, reply frames will eventually get freed into the pool multiple times and corrupt the pool. (This fix is from scottl.) Add a prototype for mpi_init_sge(). sys/param.h: Bump __FreeBSD_version to 900026 for the for the inclusion of the XPT_GDEV_ADVINFO and XPT_SMP_IO CAM CCBs.
|
#
1a4e3449 |
|
26-Nov-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
Update ixgbe driver to verion 2.3.6 - This adds a VM SRIOV interface, ixv, it is however transparent to the user, it links with the ixgbe.ko, but when ixgbe is loaded in a virtualized guest with SRIOV configured this will be detected. - Sync shared code to latest - Many bug fixes and improvements, thanks to everyone who has been using the driver and reporting issues.
|
#
18ec6525 |
|
21-Nov-2010 |
Weongyo Jeong <weongyo@FreeBSD.org> |
Adds a USB packet filter feature to the stack that it could capture packets which go through each USB host controllers. Its implementations are almost based on BPF code and very similar with it except it's little bit customized for USB packet only. The userland program usbdump(8) would be committed soon. Discussed with: hps, thompsa, yongari
|
#
dbc42409 |
|
11-Nov-2010 |
Lawrence Stewart <lstewart@FreeBSD.org> |
This commit marks the first formal contribution of the "Five New TCP Congestion Control Algorithms for FreeBSD" FreeBSD Foundation funded project. More details about the project are available at: http://caia.swin.edu.au/freebsd/5cc/ - Add a KPI and supporting infrastructure to allow modular congestion control algorithms to be used in the net stack. Algorithms can maintain per-connection state if required, and connections maintain their own algorithm pointer, which allows different connections to concurrently use different algorithms. The TCP_CONGESTION socket option can be used with getsockopt()/setsockopt() to programmatically query or change the congestion control algorithm respectively from within an application at runtime. - Integrate the framework with the TCP stack in as least intrusive a manner as possible. Care was also taken to develop the framework in a way that should allow integration with other congestion aware transport protocols (e.g. SCTP) in the future. The hope is that we will one day be able to share a single set of congestion control algorithm modules between all congestion aware transport protocols. - Introduce a new congestion recovery (TF_CONGRECOVERY) state into the TCP stack and use it to decouple the meaning of recovery from a congestion event and recovery from packet loss (TF_FASTRECOVERY) a la RFC2581. ECN and delay based congestion control protocols don't generally need to recover from packet loss and need a different way to note a congestion recovery episode within the stack. - Remove the net.inet.tcp.newreno sysctl, which simplifies some portions of code and ensures the stack always uses the appropriate mechanisms for recovering from packet loss during a congestion recovery episode. - Extract the NewReno congestion control algorithm from the TCP stack and massage it into module form. NewReno is always built into the kernel and will remain the default algorithm for the forseeable future. Implementations of additional different algorithms will become available in the near future. - Bump __FreeBSD_version to 900025 and note in UPDATING that rebuilding code that relies on the size of "struct tcpcb" is required. Many thanks go to the Cisco University Research Program Fund at Community Foundation Silicon Valley and the FreeBSD Foundation. Their support of our work at the Centre for Advanced Internet Architectures, Swinburne University of Technology is greatly appreciated. In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: Cisco URP, FreeBSD Foundation Reviewed by: rpaulo Tested by: David Hayes (and many others over the years) MFC after: 3 months
|
#
6dfeb66e |
|
01-Nov-2010 |
David E. O'Brien <obrien@FreeBSD.org> |
Shorten long lines.
|
#
a38de013 |
|
25-Oct-2010 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Factor out DDB commands from r204145, r204279 into if_debug.c for further enhancements (1). Switch to a standard 2-clause BSD license for this (2). Unfortunately we have to un-static the ifindex_table for this but do not publicly export it. Suggested by: rwatson (1) a while back. Approved by: thompsa (2) for the change from r204279. MFC after: 6 days
|
#
0ef7c8a2 |
|
24-Oct-2010 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Add initial inet DDB support for show in_ifaddr and show sin commands which proved to be useful while debugging address list problems. MFC after: 6 days
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
ff662b5c |
|
19-Oct-2010 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Improve the Xen para-virtualized device infrastructure of FreeBSD: o Add support for backend devices (e.g. blkback) o Implement extensions to the Xen para-virtualized block API to allow for larger and more outstanding I/Os. o Import a completely rewritten block back driver with support for fronting I/O to both raw devices and files. o General cleanup and documentation of the XenBus and XenStore support code. o Robustness and performance updates for the block front driver. o Fixes to the netfront driver. Sponsored by: Spectra Logic Corporation sys/xen/xenbus/init.txt: Deleted: This file explains the Linux method for XenBus device enumeration and thus does not apply to FreeBSD's NewBus approach. sys/xen/xenbus/xenbus_probe_backend.c: Deleted: Linux version of backend XenBus service routines. It was never ported to FreeBSD. See xenbusb.c, xenbusb_if.m, xenbusb_front.c xenbusb_back.c for details of FreeBSD's XenBus support. sys/xen/xenbus/xenbusvar.h: sys/xen/xenbus/xenbus_xs.c: sys/xen/xenbus/xenbus_comms.c: sys/xen/xenbus/xenbus_comms.h: sys/xen/xenstore/xenstorevar.h: sys/xen/xenstore/xenstore.c: Split XenStore into its own tree. XenBus is a software layer built on top of XenStore. The old arrangement and the naming of some structures and functions blurred these lines making it difficult to discern what services are provided by which layer and at what times these services are available (e.g. during system startup and shutdown). sys/xen/xenbus/xenbus_client.c: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbus_probe.c: sys/xen/xenbus/xenbusb.c: sys/xen/xenbus/xenbusb.h: Split up XenBus code into methods available for use by client drivers (xenbus.c) and code used by the XenBus "bus code" to enumerate, attach, detach, and service bus drivers. sys/xen/reboot.c: sys/dev/xen/control/control.c: Add a XenBus front driver for handling shutdown, reboot, suspend, and resume events published in the XenStore. Move all PV suspend/reboot support from reboot.c into this driver. sys/xen/blkif.h: New file from Xen vendor with macros and structures used by a block back driver to service requests from a VM running a different ABI (e.g. amd64 back with i386 front). sys/conf/files: Adjust kernel build spec for new XenBus/XenStore layout and added Xen functionality. sys/dev/xen/balloon/balloon.c: sys/dev/xen/netfront/netfront.c: sys/dev/xen/blkfront/blkfront.c: sys/xen/xenbus/... sys/xen/xenstore/... o Rename XenStore APIs and structures from xenbus_* to xs_*. o Adjust to use of M_XENBUS and M_XENSTORE malloc types for allocation of objects returned by these APIs. o Adjust for changes in the bus interface for Xen drivers. sys/xen/xenbus/... sys/xen/xenstore/... Add Doxygen comments for these interfaces and the code that implements them. sys/dev/xen/blkback/blkback.c: o Rewrite the Block Back driver to attach properly via newbus, operate correctly in both PV and HVM mode regardless of domain (e.g. can be in a DOM other than 0), and to deal with the latest metadata available in XenStore for block devices. o Allow users to specify a file as a backend to blkback, in addition to character devices. Use the namei lookup of the backend path to automatically configure, based on file type, the appropriate backend method. The current implementation is limited to a single outstanding I/O at a time to file backed storage. sys/dev/xen/blkback/blkback.c: sys/xen/interface/io/blkif.h: sys/xen/blkif.h: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: Extend the Xen blkif API: Negotiable request size and number of requests. This change extends the information recorded in the XenStore allowing block front/back devices to negotiate for optimal I/O parameters. This has been achieved without sacrificing backward compatibility with drivers that are unaware of these protocol enhancements. The extensions center around the connection protocol which now includes these additions: o The back-end device publishes its maximum supported values for, request I/O size, the number of page segments that can be associated with a request, the maximum number of requests that can be concurrently active, and the maximum number of pages that can be in the shared request ring. These values are published before the back-end enters the XenbusStateInitWait state. o The front-end waits for the back-end to enter either the InitWait or Initialize state. At this point, the front end limits it's own capabilities to the lesser of the values it finds published by the backend, it's own maximums, or, should any back-end data be missing in the store, the values supported by the original protocol. It then initializes it's internal data structures including allocation of the shared ring, publishes its maximum capabilities to the XenStore and transitions to the Initialized state. o The back-end waits for the front-end to enter the Initalized state. At this point, the back end limits it's own capabilities to the lesser of the values it finds published by the frontend, it's own maximums, or, should any front-end data be missing in the store, the values supported by the original protocol. It then initializes it's internal data structures, attaches to the shared ring and transitions to the Connected state. o The front-end waits for the back-end to enter the Connnected state, transitions itself to the connected state, and can commence I/O. Although an updated front-end driver must be aware of the back-end's InitWait state, the back-end has been coded such that it can tolerate a front-end that skips this step and transitions directly to the Initialized state without waiting for the back-end. sys/xen/interface/io/blkif.h: o Increase BLKIF_MAX_SEGMENTS_PER_REQUEST to 255. This is the maximum number possible without changing the blkif request header structure (nr_segs is a uint8_t). o Add two new constants: BLKIF_MAX_SEGMENTS_PER_HEADER_BLOCK, and BLKIF_MAX_SEGMENTS_PER_SEGMENT_BLOCK. These respectively indicate the number of segments that can fit in the first ring-buffer entry of a request, and for each subsequent (sg element only) ring-buffer entry associated with the "header" ring-buffer entry of the request. o Add the blkif_request_segment_t typedef for segment elements. o Add the BLKRING_GET_SG_REQUEST() macro which wraps the RING_GET_REQUEST() macro and returns a properly cast pointer to an array of blkif_request_segment_ts. o Add the BLKIF_SEGS_TO_BLOCKS() macro which calculates the number of ring entries that will be consumed by a blkif request with the given number of segments. sys/xen/blkif.h: o Update for changes in interface/io/blkif.h macros. o Update the BLKIF_MAX_RING_REQUESTS() macro to take the ring size as an argument to allow this calculation on multi-page rings. o Add a companion macro to BLKIF_MAX_RING_REQUESTS(), BLKIF_RING_PAGES(). This macro determines the number of ring pages required in order to support a ring with the supplied number of request blocks. sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: o Negotiate with the other-end with the following limits: Reqeust Size: MAXPHYS Max Segments: (MAXPHYS/PAGE_SIZE) + 1 Max Requests: 256 Max Ring Pages: Sufficient to support Max Requests with Max Segments. o Dynamically allocate request pools and segemnts-per-request. o Update ring allocation/attachment code to support a multi-page shared ring. o Update routines that access the shared ring to handle multi-block requests. sys/dev/xen/blkfront/blkfront.c: o Track blkfront allocations in a blkfront driver specific malloc pool. o Strip out XenStore transaction retry logic in the connection code. Transactions only need to be used when the update to multiple XenStore nodes must be atomic. That is not the case here. o Fully disable blkif_resume() until it can be fixed properly (it didn't work before this change). o Destroy bus-dma objects during device instance tear-down. o Properly handle backend devices with powef-of-2 sector sizes larger than 512b. sys/dev/xen/blkback/blkback.c: Advertise support for and implement the BLKIF_OP_WRITE_BARRIER and BLKIF_OP_FLUSH_DISKCACHE blkif opcodes using BIO_FLUSH and the BIO_ORDERED attribute of bios. sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: Fix various bugs in blkfront. o gnttab_alloc_grant_references() returns 0 for success and non-zero for failure. The check for < 0 is a leftover Linuxism. o When we negotiate with blkback and have to reduce some of our capabilities, print out the original and reduced capability before changing the local capability. So the user now gets the correct information. o Fix blkif_restart_queue_callback() formatting. Make sure we hold the mutex in that function before calling xb_startio(). o Fix a couple of KASSERT()s. o Fix a check in the xb_remove_* macro to be a little more specific. sys/xen/gnttab.h: sys/xen/gnttab.c: Define GNTTAB_LIST_END publicly as GRANT_REF_INVALID. sys/dev/xen/netfront/netfront.c: Use GRANT_REF_INVALID instead of driver private definitions of the same constant. sys/xen/gnttab.h: sys/xen/gnttab.c: Add the gnttab_end_foreign_access_references() API. This API allows a client to batch the release of an array of grant references, instead of coding a private for loop. The implementation takes advantage of this batching to reduce lock overhead to one acquisition and release per-batch instead of per-freed grant reference. While here, reduce the duration the gnttab_list_lock is held during gnttab_free_grant_references() operations. The search to find the tail of the incoming free list does not rely on global state and so can be performed without holding the lock. sys/dev/xen/xenpci/evtchn.c: sys/dev/xen/evtchn/evtchn.c: sys/xen/xen_intr.h: o Implement the bind_interdomain_evtchn_to_irqhandler API for HVM mode. This allows an HVM domain to serve back end devices to other domains. This API is already implemented for PV mode. o Synchronize the API between HVM and PV. sys/dev/xen/xenpci/xenpci.c: o Scan the full region of CPUID space in which the Xen VMM interface may be implemented. On systems using SuSE as a Dom0 where the Viridian API is also exported, the VMM interface is above the region we used to search. o Pass through bus_alloc_resource() calls so that XenBus drivers attaching on an HVM system can allocate unused physical address space from the nexus. The block back driver makes use of this facility. sys/i386/xen/xen_machdep.c: Use the correct type for accessing the statically mapped xenstore metadata. sys/xen/interface/hvm/params.h: sys/xen/xenstore/xenstore.c: Move hvm_get_parameter() to the correct global header file instead of as a private method to the XenStore. sys/xen/interface/io/protocols.h: Sync with vendor. sys/xeninterface/io/ring.h: Add macro for calculating the number of ring pages needed for an N deep ring. To avoid duplication within the macros, create and use the new __RING_HEADER_SIZE() macro. This macro calculates the size of the ring book keeping struct (producer/consumer indexes, etc.) that resides at the head of the ring. Add the __RING_PAGES() macro which calculates the number of shared ring pages required to support a ring with the given number of requests. These APIs are used to support the multi-page ring version of the Xen block API. sys/xeninterface/io/xenbus.h: Add Comments. sys/xen/xenbus/... o Refactor the FreeBSD XenBus support code to allow for both front and backend device attachments. o Make use of new config_intr_hook capabilities to allow front and back devices to be probed/attached in parallel. o Fix bugs in probe/attach state machine that could cause the system to hang when confronted with a failure either in the local domain or in a remote domain to which one of our driver instances is attaching. o Publish all required state to the XenStore on device detach and failure. The majority of the missing functionality was for serving as a back end since the typical "hot-plug" scripts in Dom0 don't handle the case of cleaning up for a "service domain" that is not itself. o Add dynamic sysctl nodes exposing the generic ivars of XenBus devices. o Add doxygen style comments to the majority of the code. o Cleanup types, formatting, etc. sys/xen/xenbus/xenbusb.c: Common code used by both front and back XenBus busses. sys/xen/xenbus/xenbusb_if.m: Method definitions for a XenBus bus. sys/xen/xenbus/xenbusb_front.c: sys/xen/xenbus/xenbusb_back.c: XenBus bus specialization for front and back devices. MFC after: 1 month
|
#
9a9a302f |
|
19-Oct-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Fix an undefined behaviour if the desired ratectl algo is not available. This can happen if the algos are built as modules but are not loaded. If the selected ratectl algo is not available, try to load it (The load module functions does nothing currently). Add a dummy ratectl algo which always selects the first available rate. Use that one if the desired algo is not available. MFC after: 1 week
|
#
d751769d |
|
13-Oct-2010 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
USB Network: - Add new driver for iPhone tethering - Supports the iPhone 3G/3GS/4G ethernet protocol Approved by: thompsa (mentor)
|
#
0acf6a64 |
|
04-Oct-2010 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Link the XHCI (USB 3.0 hardware driver) into the default kernel build. Approved by: thompsa (mentor)
|
#
24e01f59 |
|
02-Oct-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Split the root mount logic from the (generic) mount code and move it (the root mount code) into a new file called vfs_mountroot.c The split is almost trivial, as the code is almost perfectly non-intertwined. The only adjustment needed was to move the UMA zone allocation out of vfs_mountroot() [in vfs_mountroot.c] and into vfs_mount.c, where it had to be done as a SYSINIT [see vfs_mount_init()]. There are no functional changes with this commit.
|
#
6b34b16e |
|
27-Sep-2010 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Initial GPIO bus support. Includes: - GPIO bus controller interface - GPIO bus interface - Implementation of GPIO led(4) compatible device - Implementation of iic(4) bus over GPIO (author: Luiz Otavio O Souza) Tested by: Luiz Otavio O Souza, Alexandr Rybalko
|
#
d318c565 |
|
27-Sep-2010 |
Jaakko Heinonen <jh@FreeBSD.org> |
Add reference counting for devfs paths containing user created symbolic links. The reference counting is needed to be able to determine if a specific devfs path exists. For true device file paths we can traverse the cdevp_list but a separate directory list is needed for user created symbolic links. Add a new directory entry flag DE_USER to mark entries which should unreference their parent directory on deletion. A new function to traverse cdevp_list and the directory list will be introduced in a separate commit. Idea from: kib Reviewed by: kib
|
#
109c1de8 |
|
24-Sep-2010 |
Attilio Rao <attilio@FreeBSD.org> |
Make the RPC specific __rpc_inet_ntop() and __rpc_inet_pton() general in the kernel (just as inet_ntoa() and inet_aton()) are and sync their prototype accordingly with already mentioned functions. Sponsored by: Sandvine Incorporated Reviewed by: emaste, rstone Approved by: dfr MFC after: 2 weeks
|
#
0b57f2cd |
|
10-Sep-2010 |
David E. O'Brien <obrien@FreeBSD.org> |
Add real dependancies on the uuencoded firmwares. Now when one does 'make kernel ; make kernel' the second invocation only does: `kernel.ko' is up to date. rather than reproduce all the .fw files and relink the kernel.
|
#
d3c7b9a0 |
|
10-Sep-2010 |
Kenneth D. Merry <ken@FreeBSD.org> |
MFp4 (//depot/projects/mps/...) Bring in a driver for the LSI Logic MPT2 6Gb SAS controllers. This driver supports basic I/O, and works with SAS and SATA drives and expanders. Basic error recovery works (i.e. timeouts and aborts) as well. Integrated RAID isn't supported yet, and there are some known bugs. So this isn't ready for production use, but is certainly ready for testing and additional development. For the moment, new commits to this driver should go into the FreeBSD Perforce repository first (//depot/projects/mps/...) and then get merged into -current once they've been vetted. This has only been added to the amd64 GENERIC, since that is the only architecture I have tested this driver with. Submitted by: scottl Discussed with: imp, gibbs, will Sponsored by: Yahoo, Spectra Logic Corporation
|
#
0343c899 |
|
08-Aug-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
License ACK is not required for the wpifw module nor when building it into the kernel. PR: conf/148758 Submitted by: Joe Talbott <josepht at dragonflybsd.org> MFC after: 3 days
|
#
daef39e7 |
|
25-Jul-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Remove the acpi_aiboost driver. It has been replaced by aibs(4).
|
#
f92bbff2 |
|
24-Jul-2010 |
Rick Macklem <rmacklem@FreeBSD.org> |
Move sys/nfsclient/nfs_lock.c into sys/nfs and build it as a separate module that can be used by both the regular and experimental nfs clients. This fixes the problem reported by jh@ where /dev/nfslock would be registered twice when both nfs clients were used. I also defined the size of the lm_fh field to be the correct value, as it should be the maximum size of an NFSv3 file handle. Reviewed by: jh MFC after: 2 weeks
|
#
774f94f1 |
|
15-Jul-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
- Update 6000 firmware to 9.221.4.1 - Add 6050 firmware MFC after: 2 weeks
|
#
b8270585 |
|
30-Jun-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
OK, I was a bit sleep this morning and checked in the core changes but left out the shared code, lol. Well, and a couple fixes to the core... hopefully this will all be complete now. Happy happy joy joy :)
|
#
bbe4a97d |
|
25-Jun-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Import the acpi_aibs(4) driver written by Constantine A. Murenin. It has more features than acpi_aiboost(4) and it will eventually replace acpi_aiboost(4). Submitted by: Constantine A. Murenin <cnst at FreeBSD.org> Reviewed by: freebsd-acpi, imp MFC after: 1 month
|
#
875b8844 |
|
20-Jun-2010 |
Alexander Motin <mav@FreeBSD.org> |
Implement new event timers infrastructure. It provides unified APIs for writing event timer drivers, for choosing best possible drivers by machine independent code and for operating them to supply kernel with hardclock(), statclock() and profclock() events in unified fashion on various hardware. Infrastructure provides support for both per-CPU (independent for every CPU core) and global timers in periodic and one-shot modes. MI management code at this moment uses only periodic mode, but one-shot mode use planned for later, as part of tickless kernel project. For this moment infrastructure used on i386 and amd64 architectures. Other archs are welcome to follow, while their current operation should not be affected. This patch updates existing drivers (i8254, RTC and LAPIC) for the new order, and adds event timers support into the HPET driver. These drivers have different capabilities: LAPIC - per-CPU timer, supports periodic and one-shot operation, may freeze in C3 state, calibrated on first use, so may be not exactly precise. HPET - depending on hardware can work as per-CPU or global, supports periodic and one-shot operation, usually provides several event timers. i8254 - global, limited to periodic mode, because same hardware used also as time counter. RTC - global, supports only periodic mode, set of frequencies in Hz limited by powers of 2. Depending on hardware capabilities, drivers preferred in following orders, either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC. User may explicitly specify wanted timers via loader tunables or sysctls: kern.eventtimer.timer1 and kern.eventtimer.timer2. If requested driver is unavailable or unoperational, system will try to replace it. If no more timers available or "NONE" specified for second, system will operate using only one timer, multiplying it's frequency by few times and uing respective dividers to honor hz, stathz and profhz values, set during initial setup.
|
#
3c5326bf |
|
13-Jun-2010 |
Rafal Jaworowski <raj@FreeBSD.org> |
Connect FDT infrastructure to the build system. Reviewed by: imp Sponsored by: The FreeBSD Foundation
|
#
d359a62d |
|
08-Jun-2010 |
Andrey V. Elsukov <ae@FreeBSD.org> |
New netgraph node ng_patch(4). It performs data modification of packets passing through. Modifications are restricted to a subset of C language operations on unsigned integers of 8, 16, 32 or 64 bit size. These are: set to new value (=), addition (+=), subtraction (-=), multiplication (*=), division (/=), negation (= -), bitwise AND (&=), bitwise OR (|=), bitwise eXclusive OR (^=), shift left (<<=), shift right (>>=). Several operations are all applied to a packet sequentially in order they were specified by user. Submitted by: Maxim Ignatenko <gelraen.ua at gmail.com> Vadim Goncharov <vadimnuclight at tpu.ru> Discussed with: net@ Approved by: mav (mentor) MFC after: 1 month
|
#
295c646b |
|
02-Jun-2010 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge 208554 from head: Add uep(4), driver for USB onscreen touch panel from eGalax. The driver is stub. It just creates device entry and feeds reassembled packets from hardware into it. If in future we would port wsmouse(4) from NetBSD, or make sysmouse(4) to support absolute motion events, then the driver can be extended to act as system mouse. Meanwhile, it just presents a /dev/uep0, that can be utilized by X driver, that I am going to commit to ports tree soon. The name for the driver is chosen to be the same as in NetBSD, however, due to different USB stacks this driver isn't a port. The driver is supported by ports/x11-drivers/xf86-input-egalax. Approved by: re (kib)
|
#
f25a8a01 |
|
25-May-2010 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add uep(4), driver for USB onscreen touch panel from eGalax. The driver is stub. It just creates device entry and feeds reassembled packets from hardware into it. If in future we would port wsmouse(4) from NetBSD, or make sysmouse(4) to support absolute motion events, then the driver can be extended to act as system mouse. Meanwhile, it just presents a /dev/uep0, that can be utilized by X driver, that I am going to commit to ports tree soon. The name for the driver is chosen to be the same as in NetBSD, however, due to different USB stacks this driver isn't a port.
|
#
afe1a688 |
|
23-May-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Reorganize syscall entry and leave handling. Extend struct sysvec with three new elements: sv_fetch_syscall_args - the method to fetch syscall arguments from usermode into struct syscall_args. The structure is machine-depended (this might be reconsidered after all architectures are converted). sv_set_syscall_retval - the method to set a return value for usermode from the syscall. It is a generalization of cpu_set_syscall_retval(9) to allow ABIs to override the way to set a return value. sv_syscallnames - the table of syscall names. Use sv_set_syscall_retval in kern_sigsuspend() instead of hardcoding the call to cpu_set_syscall_retval(). The new functions syscallenter(9) and syscallret(9) are provided that use sv_*syscall* pointers and contain the common repeated code from the syscall() implementations for the architecture-specific syscall trap handlers. Syscallenter() fetches arguments, calls syscall implementation from ABI sysent table, and set up return frame. The end of syscall bookkeeping is done by syscallret(). Take advantage of single place for MI syscall handling code and implement ptrace_lwpinfo pl_flags PL_FLAG_SCE, PL_FLAG_SCX and PL_FLAG_EXEC. The SCE and SCX flags notify the debugger that the thread is stopped at syscall entry or return point respectively. The EXEC flag augments SCX and notifies debugger that the process address space was changed by one of exec(2)-family syscalls. The i386, amd64, sparc64, sun4v, powerpc and ia64 syscall()s are changed to use syscallenter()/syscallret(). MIPS and arm are not converted and use the mostly unchanged syscall() implementation. Reviewed by: jhb, marcel, marius, nwhitehorn, stas Tested by: marcel (ia64), marius (sparc64), nwhitehorn (powerpc), stas (mips) MFC after: 1 month
|
#
3f22bbe1 |
|
22-May-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Trivially switch amd64 to the common busdma implementation. Eliminate ARM specific kluges in the API definitions and remove #ifndef __sparc64__ surrounding the prototypes.
|
#
4567e833 |
|
19-May-2010 |
Alexander Motin <mav@FreeBSD.org> |
MFC r207536, r207696, r208183: Import mvs(4) - Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA controllers driver for CAM ATA subsystem. This driver supports same hardware as atamarvell, ataadaptec and atamvsata drivers from ata(4), but provides many additional features, such as NCQ, PMP, etc.
|
#
c4eb8f47 |
|
16-May-2010 |
Alexander Motin <mav@FreeBSD.org> |
Make mvs_if.c to not be always linked statically into the kernel. Link it same way as mvs.c.
|
#
82878b11 |
|
11-May-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
MFC r206367, r206358, r206370, r206371, r206372, r206398, r206415, r206416, r206417, r206418, r206418: net80211 ratectl framework.
|
#
dd48af36 |
|
02-May-2010 |
Alexander Motin <mav@FreeBSD.org> |
Import mvs(4) - Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA controllers driver for CAM ATA subsystem. This driver supports same hardware as atamarvell, ataadaptec and atamvsata drivers from ata(4), but provides many additional features, such as NCQ, PMP, etc.
|
#
41d65f69 |
|
30-Apr-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
MFC r206443-206446, 206474-206477, 207001 r206443: Small whitespace cleanup. r206444 [1]: - Rename bluetooth coexistence flags, no binary change. - Enable DC calibration and crystal calibration on Centrino Advanced-N 6250 parts. - Workaround for a HW bug (does not affect 4965AGN) that may sporadically affect latency under some rare circumstances. From a similar commit to iwlwifi. - Update sensitivity settings for 5000 series to workaround a performance bug in the DSP (1000 is not affected so we keep the old values for 5000). - Update sensitivity settings for 6000 series. - Set differential gains on 6250 too (but use a 1.0 factor, not 1.5). - Init OFDM sensitivity with min value (which depends on the chip) instead of hardcoding it to 90. - Read calibration version from ROM and set IWN_GP_DRIVER_CALIB_VER6 bit on 6x50 if version >= 6. r206445 [2]: iwn4965_set_txpower() uses maxpwr from EEPROM to calculate the power to set, it make sense to actually initialize that array. This fixes some issues with 4965 adapters where the TX power is crucial. This got lost somewhere while merging with the OpenBSD code. r206446: Update firmware for the 6000 series Intel cards to version 9.193.4.1. r206474: Add some missing protoypes. r206475: iwn5000_reset_sched() is not used; #ifdef it. r206476: Hook ieee80211_media_change() to ieee80211_vap_attach(). r206477: Declare all functions as static. r207001 [3]: Use correct bus_dma_tag_t for TX frames. Approved by: rpaulo (mentor) Obtained from: Openbsd [1], [2] Reported by: Andreas Nilsson <andrnils at gmail.com> [3]
|
#
44dd6ac2 |
|
26-Apr-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
MFC: r204773 Merge ACPICA 20100304. MFC: r204874 Update module Makefile for ACPICA 20100304. MFC: r204877 Allow ACPI module build on amd64. Although we strongly recommend building it into kernel, there is no need to prevent it from building at all. MFC: r204916 - Allow users to enable dumping Debug objects without ACPI debugger. Setting the new sysctl MIB "debug.acpi.enable_debug_objects" to a non-zero value enables us to print Debug object when something is written to it. - Allow users to disable interpreter slack mode. Setting the new tunable "debug.acpi.interpreter_slack" to zero disables some workarounds for common BIOS mistakes and enables strict ACPI implementations by the specification. MFC: r204920 Since the interpreter slack mode is a tunable now, enable a local hack only when it is set. Note the default behaviour does not change by this change. MFC: r204965 Fix white spaces. MFC: r206117 Merge ACPICA 20100331 (and four additional upstream patches).
|
#
ffb1296f |
|
26-Apr-2010 |
Pyun YongHyeon <yongari@FreeBSD.org> |
MFC r206625: Add driver for Silicon Integrated Systems SiS190/191 Fast/Gigabit Ethernet. This driver was written by Alexander Pohoyda and greatly enhanced by Nikolay Denev. I don't have these hardwares but this driver was tested by Nikolay Denev and xclin. Because SiS didn't release data sheet for this controller, programming information came from Linux driver and OpenSolaris. Unlike other open source driver for SiS190/191, sge(4) takes full advantage of TX/RX checksum offloading and does not require additional copy operation in RX handler. The controller seems to have advanced offloading features like VLAN hardware tag insertion/stripping, TCP segmentation offload(TSO) as well as jumbo frame support but these features are not available yet. Special thanks to xclin <xclin<> cs dot nctu dot edu dot tw> who sent fix for receiving VLAN oversized frames.
|
#
947d8d87 |
|
20-Apr-2010 |
Weongyo Jeong <weongyo@FreeBSD.org> |
MFC r204662: Hook up the bwn driver. Pointed by: nwhitehorn
|
#
d193ed0b |
|
14-Apr-2010 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add driver for Silicon Integrated Systems SiS190/191 Fast/Gigabit Ethernet. This driver was written by Alexander Pohoyda and greatly enhanced by Nikolay Denev. I don't have these hardwares but this driver was tested by Nikolay Denev and xclin. Because SiS didn't release data sheet for this controller, programming information came from Linux driver and OpenSolaris. Unlike other open source driver for SiS190/191, sge(4) takes full advantage of TX/RX checksum offloading and does not require additional copy operation in RX handler. The controller seems to have advanced offloading features like VLAN hardware tag insertion/stripping, TCP segmentation offload(TSO) as well as jumbo frame support but these features are not available yet. Special thanks to xclin <xclin<> cs dot nctu dot edu dot tw> who sent fix for receiving VLAN oversized frames.
|
#
70ed590b |
|
10-Apr-2010 |
Bernhard Schmidt <bschmidt@FreeBSD.org> |
Update firmware for the 6000 series Intel cards to version 9.193.4.1. Approved by: rpaulo (mentor) MFC after: 2 weeks
|
#
c4597afc |
|
09-Apr-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Building wlan_amrr is now mandatory. This is an interim fix.
|
#
b6108616 |
|
07-Apr-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
net80211 rate control framework (net80211 ratectl). This framework allows drivers to abstract the rate control algorithm and just feed the framework with the usable parameters. The rate control framework will now deal with passing the parameters to the selected algorithm. Right now we have AMRR (the default) and RSSADAPT but there's no way to select one with ifconfig, yet. The objective is to have more rate control algorithms in the net80211 stack so all drivers[0] can use it. Ideally, we'll have the well-known sample rate control algorithm in the net80211 at some point so all drivers can use it (not just ath). [0] all drivers that do rate control in software, that is. Reviewed by: bschmidt, thompsa, weyongo MFC after: 1 months
|
#
54d63d7b |
|
07-Apr-2010 |
Luigi Rizzo <luigi@FreeBSD.org> |
add priority scheduler.
|
#
0b2d5c29 |
|
06-Apr-2010 |
Andrew Thompson <thompsa@FreeBSD.org> |
MFC r203134 Add run(4), a driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices. This driver was written for OpenBSD by Damien Bergamini and ported over by Akinori Furukoshi.
|
#
d05b20c6 |
|
05-Apr-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
MFC of the em/igb drivers
|
#
883e8983 |
|
31-Mar-2010 |
Alexander Motin <mav@FreeBSD.org> |
ng_gif depends on gif.
|
#
8ec87fc5 |
|
29-Mar-2010 |
Jack F Vogel <jfv@FreeBSD.org> |
Update to igb and em: em revision 7.0.0: - Using driver devclass, seperate legacy (pre-pcie) code into a seperate source file. This will at least help protect against regression issues. It compiles along with em, and is transparent to end use, devices in each appear to be 'emX'. When using em in a modular form this also allows the legacy stuff to be defined out. - Add tx and rx rings as in igb, in the 82574 this becomes actual multiqueue for the first time (2 queues) while in other PCIE adapters its just make code cleaner. - Add RX mbuf handling logic that matches igb, this will eliminate packet drops due to temporary mbuf shortage. igb revision 1.9.3: - Following the ixgbe code, use a new approach in what was called 'get_buf', the routine now has been made independent of rxeof, it now does the update to the engine TDT register, this design allows temporary mbuf resources to become non-critical, not requiring a packet to be discarded, instead it just returns and does not increment the tail pointer. - With the above change it was also unnecessary to keep 'spare' maps around, since we do not have the discard issue. - Performance tweaks and improvements to the code also. MFC in a week
|
#
78e32164 |
|
27-Mar-2010 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
MFC r197405: Add pieces of infrastructure required for NFSv4 ACL support in UFS. Reviewed by: rwatson
|
#
8018e843 |
|
23-Mar-2010 |
Luigi Rizzo <luigi@FreeBSD.org> |
MFC of a large number of ipfw and dummynet fixes and enhancements done in CURRENT over the last 4 months. HEAD and RELENG_8 are almost in sync now for ipfw, dummynet the pfil hooks and related components. Among the most noticeable changes: - r200855 more efficient lookup of skipto rules, and remove O(N) blocks from critical sections in the kernel; - r204591 large restructuring of the dummynet module, with support for multiple scheduling algorithms (4 available so far) See the original commit logs for details. Changes in the kernel/userland ABI should be harmless because the kernel is able to understand previous requests from RELENG_8 and RELENG_7. For this reason, this changeset would be applicable to RELENG_7 as well, but i am not sure if it is worthwhile.
|
#
3b4d8b3f |
|
21-Mar-2010 |
Luigi Rizzo <luigi@FreeBSD.org> |
Add a priority-based packet scheduler. Sponsored by: The ONELAB2 Project Submitted by: Riccardo Panicucci
|
#
527e4e95 |
|
03-Mar-2010 |
Weongyo Jeong <weongyo@FreeBSD.org> |
Hook up the bwn driver. Pointed by: nwhitehorn
|
#
04b0a86f |
|
02-Mar-2010 |
Alfred Perlstein <alfred@FreeBSD.org> |
put inclusion of net/zlib.c under "device gzio" instead of "zlib" since right now there is no reason to only include "zlib". Requested by: jhb
|
#
cc4d3c30 |
|
02-Mar-2010 |
Luigi Rizzo <luigi@FreeBSD.org> |
Bring in the most recent version of ipfw and dummynet, developed and tested over the past two months in the ipfw3-head branch. This also happens to be the same code available in the Linux and Windows ports of ipfw and dummynet. The major enhancement is a completely restructured version of dummynet, with support for different packet scheduling algorithms (loadable at runtime), faster queue/pipe lookup, and a much cleaner internal architecture and kernel/userland ABI which simplifies future extensions. In addition to the existing schedulers (FIFO and WF2Q+), we include a Deficit Round Robin (DRR or RR for brevity) scheduler, and a new, very fast version of WF2Q+ called QFQ. Some test code is also present (in sys/netinet/ipfw/test) that lets you build and test schedulers in userland. Also, we have added a compatibility layer that understands requests from the RELENG_7 and RELENG_8 versions of the /sbin/ipfw binaries, and replies correctly (at least, it does its best; sometimes you just cannot tell who sent the request and how to answer). The compatibility layer should make it possible to MFC this code in a relatively short time. Some minor glitches (e.g. handling of ipfw set enable/disable, and a workaround for a bug in RELENG_7's /sbin/ipfw) will be fixed with separate commits. CREDITS: This work has been partly supported by the ONELAB2 project, and mostly developed by Riccardo Panicucci and myself. The code for the qfq scheduler is mostly from Fabio Checconi, and Marta Carbone and Francesco Magno have helped with testing, debugging and some bug fixes.
|
#
2d057e0f |
|
02-Mar-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
MFC r197948 r203156 r203158 r203159 r203680 r203682 r203750 r203882 r203930 r203933 r203959 r204521 r204578: Atheros AR9285 support.
|
#
e7228204 |
|
01-Mar-2010 |
Alfred Perlstein <alfred@FreeBSD.org> |
Merge projects/enhanced_coredumps (r204346) into HEAD: Enhanced process coredump routines. This brings in the following features: 1) Limit number of cores per process via the %I coredump formatter. Example: if corefilename is set to %N.%I.core AND num_cores = 3, then if a process "rpd" cores, then the corefile will be named "rpd.0.core", however if it cores again, then the kernel will generate "rpd.1.core" until we hit the limit of "num_cores". this is useful to get several corefiles, but also prevent filling the machine with corefiles. 2) Encode machine hostname in core dump name via %H. 3) Compress coredumps, useful for embedded platforms with limited space. A sysctl kern.compress_user_cores is made available if turned on. To enable compressed coredumps, the following config options need to be set: options COMPRESS_USER_CORES device zlib # brings in the zlib requirements. device gzio # brings in the kernel vnode gzip output module. 4) Eventhandlers are fired to indicate coredumps in progress. 5) The imgact sv_coredump routine has grown a flag to pass in more state, currently this is used only for passing a flag down to compress the coredump or not. Note that the gzio facility can be used for generic output of gzip'd streams via vnodes. Obtained from: Juniper Networks Reviewed by: kan
|
#
aa3d547d |
|
01-Mar-2010 |
Xin LI <delphij@FreeBSD.org> |
MFC x86emu/x86bios emulator and make previously i386 only dpms and vesa framebuffer driver, etc. work on FreeBSD/amd64. A significant amount of improvements were done by jkim@ during the recent months to make vesa(4) work better, over the initial code import. This work is based on OpenBSD's x86emu implementation and contributed by paradox <ddkprog yahoo com> and swell.k at gmail com. Hopefully I have stolen all their work to 8-STABLE :) All bugs in this commit are mine, as usual.
|
#
28993443 |
|
21-Feb-2010 |
Ed Schouten <ed@FreeBSD.org> |
Decompose the most lousy named file in sys/kern; kern_subr.c. Although this file has historically been used as a dumping ground for random functions, nowadays it only contains functions related to copying bits {from,to} userspace and hash table utility functions. Behold, subr_uio.c and subr_hash.c.
|
#
7d4f72b3 |
|
15-Feb-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Bring back AR9285 support. This fixes most of the issues and should be pretty usable. MFC after: 1 month
|
#
3834e46b |
|
14-Feb-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Also build ah_eeprom_v4k.c when ar9280 is selected.
|
#
e21bbd17 |
|
05-Feb-2010 |
Andriy Gapon <avg@FreeBSD.org> |
MFC r197104,197105,197106,197107,197688,198237,199337,199338,200553,200554, 202771,202773: bring acpica version to 20100121 MFC details: r197104 | jkim | 2009-09-12 01:48:53 +0300 (Sat, 12 Sep 2009) | 4 lines MFV: r196804 Import ACPICA 20090903 r197105 | jkim | 2009-09-12 01:49:34 +0300 (Sat, 12 Sep 2009) | 2 lines Catch up with ACPICA 20090903. r197106 | jkim | 2009-09-12 01:50:15 +0300 (Sat, 12 Sep 2009) | 2 lines Catch up with ACPICA 20090903. r197107 | jkim | 2009-09-12 01:56:08 +0300 (Sat, 12 Sep 2009) | 2 lines Canonify include paths for newly added files. r197688 | jkim | 2009-10-01 23:56:15 +0300 (Thu, 01 Oct 2009) | 4 lines Compile ACPI debugger and disassembler for kernel modules unconditionally. These files will generate almost empty object files without ACPI_DEBUG/DDB options. As a result, size of acpi.ko will increase slightly. r198237 | jkim | 2009-10-19 19:12:58 +0300 (Mon, 19 Oct 2009) | 2 lines Merge ACPICA 20091013. r199337 | jkim | 2009-11-16 23:47:12 +0200 (Mon, 16 Nov 2009) | 2 lines Merge ACPICA 20091112. r199338 | jkim | 2009-11-16 23:53:56 +0200 (Mon, 16 Nov 2009) | 2 lines Add a forgotten module Makefile change from the previous commit. r200553 | jkim | 2009-12-15 00:24:04 +0200 (Tue, 15 Dec 2009) | 2 lines Merge ACPICA 20091214. r200554 | jkim | 2009-12-15 00:28:32 +0200 (Tue, 15 Dec 2009) | 3 lines Remove _FDE quirk handling as these quirks are automatically repaired by ACPICA layer since ACPICA 20091214. r202771 | jkim | 2010-01-21 23:14:28 +0200 (Thu, 21 Jan 2010) | 2 lines Merge ACPICA 20100121. r202773 | jkim | 2010-01-21 23:31:39 +0200 (Thu, 21 Jan 2010) | 2 lines Fix a new header inclusion. Discussed with: jkim, jhb No objections from: acpi@
|
#
b1ba33ff |
|
31-Jan-2010 |
Robert Noland <rnoland@FreeBSD.org> |
Welcome drm support for VIA unichrome chips. MFC after: 2 weeks
|
#
139890fd |
|
31-Jan-2010 |
Robert Noland <rnoland@FreeBSD.org> |
Import simple drm memory manager. This is required for the VIA driver and at least some parts are needed for GEM. MFC after: 2 weeks
|
#
f3d3bf87 |
|
29-Jan-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Add support for the AR9285 chipset, which is found on many netbooks available today. This card is a low power 802.11bgn that only does 11n rates up to MCS 7 (that's 65 Mbps in 20Mhz mode and 135 in 40Mhz mode). 802.11n is not yet supported, but will be in the future. The driver still has a problem regarding to the setting of txpower on the card, so don't expect good performance yet. After fixing this problem, an MFC is possible. Special thanks to iXsystems and S Smirnov <tonve at yandex.ru> for help with the purchase of a netbook with this card. Sponsored by: iXsystems, Inc.
|
#
069f1a80 |
|
28-Jan-2010 |
Andrew Thompson <thompsa@FreeBSD.org> |
Add run(4), a driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices. This driver was written for OpenBSD by Damien Bergamini and ported over by Akinori Furukoshi.
|
#
dc657f61 |
|
20-Jan-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
MFC r198429, r198439, r198468, r201209, r201822, r201882: Syncronize iwn(4) driver in stable/8 with HEAD. Approved by: rpaulo
|
#
bc4acc70 |
|
17-Jan-2010 |
Andrew Thompson <thompsa@FreeBSD.org> |
MFC r202181,202243,202270 Add a driver by Fredrik Lindberg for Option HSDPA USB devices. These differ from standard 3G wireless units by supplying a raw IP/IPv6 endpoint rather than using PPP over serial. uhsoctl(1) is used to initiate and close the WAN connection. Obtained from: Fredrik Lindberg <fli@shapeshifter.se>
|
#
b3f9d8c8 |
|
16-Jan-2010 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add gmountver, disk mount verification GEOM class. Note that due to e.g. write throttling ('wdrain'), it can stall all the disk I/O instead of just the device it's configured for. Using it for removable media is therefore not a good idea. Reviewed by: pjd (earlier version)
|
#
e09c00ca |
|
14-Jan-2010 |
Ulf Lilleengen <lulf@FreeBSD.org> |
Bring in the ext2fs work done by Aditya Sarawgi during and after Google Summer of Code 2009: - BSDL block and inode allocation policies for ext2fs. This involves the use FFS1 style block and inode allocation for ext2fs. Preallocation was removed since it was GPL'd. - Make ext2fs MPSAFE by introducing locks to per-mount datastructures. - Fixes for kern/122047 PR. - Various small bugfixes. - Move out of gnu/ directory. Sponsored by: Google Inc. Submitted by: Aditya Sarawgi <sarawgi.aditya AT SPAMFREE gmail DOT com>
|
#
941e2863 |
|
12-Jan-2010 |
Andrew Thompson <thompsa@FreeBSD.org> |
Add a driver by Fredrik Lindberg for Option HSDPA USB devices. These differ from standard 3G wireless units by supplying a raw IP/IPv6 endpoint rather than using PPP over serial. uhsoctl(1) is used to initiate and close the WAN connection. Obtained from: Fredrik Lindberg <fli@shapeshifter.se>
|
#
604a99e9 |
|
09-Jan-2010 |
Warner Losh <imp@FreeBSD.org> |
Merge r192355 from projects/mips to head by hand: r192355 | gonzo | 2009-05-18 17:20:56 -0600 (Mon, 18 May 2009) | 2 lines - Add support for MX25Lxxx SPI flash (readonly atm)
|
#
0f454b93 |
|
29-Dec-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
iwn(4) update. Notable changes: * new firmware * untested support for 1000 and 6000 series * bgscan support * remove unnecessary RXON changes * allow setting of country/regdomain by enforcing channel flags read from the EEPROM * suspend/resume fixes * RF kill switch fixes * LED adjustments * several bus_dma*() related fixes * addressed some LORs * many other bug fixes Submitted by: Bernhard Schmidt <bschmidt at techwires.net> Obtained from: Brandon Gooch <jamesbrandongooch at gmail dot com> (LED related changes), Benjamin Kaduk <kaduk at mit dot edu> (LOR fixes), OpenBSD
|
#
22f123af |
|
15-Dec-2009 |
Luigi Rizzo <luigi@FreeBSD.org> |
more splitting of ip_fw2.c, now extract the 'table' routines and the sockopt routines (the upper half of the kernel). Whoever is the author of the 'table' code (Ruslan/glebius/oleg ?) please change the attribution in ip_fw_table.c. I have copied the copyright line from ip_fw2.c but it carries my name and I have neither written nor designed the feature so I don't deserve the credit. MFC after: 1 month
|
#
70228fb3 |
|
15-Dec-2009 |
Luigi Rizzo <luigi@FreeBSD.org> |
Start splitting ip_fw2.c and ip_fw.h into smaller components. At this time we pull out from ip_fw2.c the logging functions, and support for dynamic rules, and move kernel-only stuff into netinet/ipfw/ip_fw_private.h No ABI change involved in this commit, unless I made some mistake. ip_fw.h has changed, though not in the userland-visible part. Files touched by this commit: conf/files now references the two new source files netinet/ip_fw.h remove kernel-only definitions gone into netinet/ipfw/ip_fw_private.h. netinet/ipfw/ip_fw_private.h new file with kernel-specific ipfw definitions netinet/ipfw/ip_fw_log.c ipfw_log and related functions netinet/ipfw/ip_fw_dynamic.c code related to dynamic rules netinet/ipfw/ip_fw2.c removed the pieces that goes in the new files netinet/ipfw/ip_fw_nat.c minor rearrangement to remove LOOKUP_NAT from the main headers. This require a new function pointer. A bunch of other kernel files that included netinet/ip_fw.h now require netinet/ipfw/ip_fw_private.h as well. Not 100% sure i caught all of them. MFC after: 1 month
|
#
310ce38f |
|
09-Dec-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
MFC r199086,199151,199680,199948,200241 Driver for the Apple Touchpad present on MacBook (non-Pro & Pro). Submitted by: Rohit Grover <rgrover1 at gmail.com>
|
#
42e9dd5c |
|
07-Dec-2009 |
John Baldwin <jhb@FreeBSD.org> |
MFC 199974: Remove extra parantheses from usb_ethernet.c and usb_serial.c lines. config(8) doesn't parse parantheses and instead treated them as being part of the device driver name (e.g. '(u3g' vs 'u3g'). While here, fix the style of these long lines to match the wrapping used for other long lines in this file.
|
#
06a7b83b |
|
02-Dec-2009 |
Alexander Motin <mav@FreeBSD.org> |
MFC r199822: Drop USB mass storage devices support from ata(4). It is out of the build as long as I remember, and completely superseded by better maintained umass(4). It's main idea was to optionally avoid CAM dependency for such devices, but with move ATA to CAM, it is not actual any more. No objections: hselasky@, thompsa@, arch@
|
#
508cdc24 |
|
30-Nov-2009 |
John Baldwin <jhb@FreeBSD.org> |
Remove extra parantheses from usb_ethernet.c and usb_serial.c lines. config(8) doesn't parse parantheses and instead treated them as being part of the device driver name (e.g. '(u3g' vs 'u3g'). While here, fix the style of these long lines to match the wrapping used for other long lines in this file. Submitted by: Brett Glass MFC after: 1 week
|
#
bcbe578a |
|
25-Nov-2009 |
Alexander Motin <mav@FreeBSD.org> |
Drop USB mass storage devices support from ata(4). It is out of the build as long as I remember, and completely superseded by better maintained umass(4). It's main idea was to optionally avoid CAM dependency for such devices, but with move ATA to CAM, it is not actual any more. No objections: hselasky@, thompsa@, arch@
|
#
5f0993cb |
|
24-Nov-2009 |
Alexander Motin <mav@FreeBSD.org> |
MFC r199535: Tune CAM ATA kernel options a bit. Move PMP support from da to scbus and add ada device option, according to man page.
|
#
a5e831de |
|
22-Nov-2009 |
Attilio Rao <attilio@FreeBSD.org> |
MFC r199208, r199223: Move inet_aton() (specular to inet_ntoa(), already present in libkern) into libkern in order to made it usable by other modules than alias_proxy. Sponsored by: Sandvine Incorporated
|
#
9e30fbf6 |
|
19-Nov-2009 |
Alexander Motin <mav@FreeBSD.org> |
Tune CAM ATA kernel options a bit. Move PMP support from da to scbus and add ada device option, according to man page.
|
#
262d1203 |
|
17-Nov-2009 |
Alexander Motin <mav@FreeBSD.org> |
MFC r198389: Move Port Multiplier support code out of ATA XPT into pmp periph driver. This is convinient, as PMP itself is a bus target and has own state.
|
#
75880123 |
|
11-Nov-2009 |
Attilio Rao <attilio@FreeBSD.org> |
Move inet_aton() (specular to inet_ntoa(), already present in libkern) into libkern in order to made it usable by other modules than alias_proxy. Obtained from: Sandvine Incorporated Sponsored by: Sandvine Incorporated MFC: 1 week
|
#
bbec3bb5 |
|
11-Nov-2009 |
Navdeep Parhar <np@FreeBSD.org> |
MFC r197791 cxgb(4) updates, including: - support for the new Gen-2, BT, and LP-CR cards. - T3 firmware 7.7.0 - shared "common code" updates.
|
#
b4263060 |
|
11-Nov-2009 |
Ruslan Ermilov <ru@FreeBSD.org> |
Added option NETGRAPH_VLAN. Submitted by: pluknet
|
#
4d16b4ec |
|
09-Nov-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
Driver for the Apple Touchpad present on MacBook (non-Pro & Pro). Submitted by: Rohit Grover <rgrover1 at gmail.com> MFC after: 2 months
|
#
5d933cfd |
|
01-Nov-2009 |
Alexander Motin <mav@FreeBSD.org> |
MFC rev. 198623: Add missing ATA kernel options dependencies.
|
#
357a8e80 |
|
30-Oct-2009 |
Robert Noland <rnoland@FreeBSD.org> |
MFC r196470-196471,197154-197155,197603-197606 Sync radeon drm support This adds kernel support for r6/7xx 3D.
|
#
6bd41d5b |
|
29-Oct-2009 |
Alexander Motin <mav@FreeBSD.org> |
Add missing ATA kernel options dependencies. MFC after: 3 days
|
#
ce8e32de |
|
29-Oct-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
MFC r197428: Add per-process osrel node to the procfs, to allow read and set p_osrel value for the process.
|
#
78e360f8 |
|
25-Oct-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
Update firmware images according to the latest iwn updated. "device iwnfw" includes all firmware images, but you can pick just one by using the model number, e.g.: "device iwn4965fw".
|
#
65d0fb03 |
|
22-Oct-2009 |
Alexander Motin <mav@FreeBSD.org> |
MFp4: Move Port Multiplier support code out of ATA XPT into pmp periph driver. This is convinient, as PMP itself is a bus target and has own state.
|
#
b20adc2b |
|
19-Oct-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Remove the newly added uch341 driver, it will be merged into uchcom instead. Suggested by: takawata Submitted by: HPS
|
#
bbaa712c |
|
11-Oct-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Scan for option ROMs on i386 and amd64 only.
|
#
c01f2b83 |
|
05-Oct-2009 |
Navdeep Parhar <np@FreeBSD.org> |
cxgb(4) updates, including: - support for the new Gen-2, BT, and LP-CR cards. - T3 firmware 7.7.0 - shared "common code" updates. Approved by: gnn (mentor) Obtained from: Chelsio MFC after: 1 month
|
#
ec89a806 |
|
05-Oct-2009 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
MFC: revision 197709 Fix build nfscl and/or nfsd. Approved by: re (kib)
|
#
a38f6f86 |
|
01-Oct-2009 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
Fix build nfscl and/or nfsd. MFC after: 3 days
|
#
3bfbd845 |
|
28-Sep-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Add support for ChipHead 341 serial port adapter. Submitted by: Hans Petter Selasky
|
#
17dfbc1c |
|
22-Sep-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Add per-process osrel node to the procfs, to allow read and set p_osrel value for the process. Approved by: des (procfs maintainer) MFC after: 3 weeks
|
#
e0a770a0 |
|
22-Sep-2009 |
Roman Divacky <rdivacky@FreeBSD.org> |
Don't build ufs_gjournal.c at all if UFS_GJOURNAL option is not given instead of building an almost empty C file. Approved by: pjd Approved by: ed (mentor, implicit)
|
#
a9315dde |
|
22-Sep-2009 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add pieces of infrastructure required for NFSv4 ACL support in UFS. Reviewed by: rwatson
|
#
2f66eb1e |
|
22-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Hide x86bios stuff in i386/amd64 specific files as atkbdc would get these stuff into build.
|
#
8b1620e0 |
|
21-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Allow atkbd to obtain keyboard repeat rate from BIOS on amd64. Submitted by: swell.k at gmail.com
|
#
205d67b0 |
|
21-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Collapase interrupt supporting functions to a new module, and switch from x86emu to this new module. This changeset also brings a fix for bugs introduced with the initial x86emu commit, which prevents the user from using some display mode or cause instant reboots during mode switch. Submitted by: paradox <ddkprog yahoo com>
|
#
91d34542 |
|
21-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Revert part that should not be in my previous commit. Pointy hat to: delphij
|
#
6abad12d |
|
21-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Automatically depend on x86emu when vesa or dpms is being built into kernel. With this change the user no longer need to remember building this option. Submitted by: swell.k at gmail.com
|
#
92488a57 |
|
11-Sep-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Catch up with ACPICA 20090903.
|
#
efba048e |
|
08-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
- Port x86emu to FreeBSD. - Connect x86emu to build. Tested with: make universe Submitted by: swell.k at gmail com
|
#
9b934d09 |
|
03-Sep-2009 |
Ed Schouten <ed@FreeBSD.org> |
Move libteken out of the syscons directory. I initially committed libteken to sys/dev/syscons/teken, but now that I'm working on a console driver myself, I noticed this was not a good decision. Move it to sys/teken to make it easier for other drivers to use a terminal emulator. Also list teken.c in sys/conf/files, instead of listing it in all the files.arch files separately.
|
#
bfdaa523 |
|
23-Aug-2009 |
Ed Schouten <ed@FreeBSD.org> |
Allow pty(4) to be loaded as a kld. Unfortunately, the wrappers that are present in pts(4) don't have the mechanics to allow pty(4) to be unloaded safely, so I'm forcing this kld to return EBUSY. This also means we have to enable some extra code in pts(4) unconditionally. Proposed by: rwatson
|
#
f588a0bd |
|
23-Aug-2009 |
Robert Noland <rnoland@FreeBSD.org> |
Add kernel support for Radeon R6/7xx 3D. You will still need Mesa from git and possibly an updated DDX driver, but this is working fairly well now. MFC after: 2 weeks
|
#
530c0060 |
|
01-Aug-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Merge the remainder of kern_vimage.c and vimage.h into vnet.c and vnet.h, we now use jails (rather than vimages) as the abstraction for virtualization management, and what remained was specific to virtual network stacks. Minor cleanups are done in the process, and comments updated to reflect these changes. Reviewed by: bz Approved by: re (vimage blanket)
|
#
6418e06a |
|
31-Jul-2009 |
Weongyo Jeong <weongyo@FreeBSD.org> |
add upgt Approved by: re (kib)
|
#
d0ea4743 |
|
25-Jul-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Update epair(4) to the new netisr implementation and polish things a bit: - use dpcpu data to track the ifps with packets queued up, - per-cpu locking and driver flags - along with .nh_drainedcpu and NETISR_POLICY_CPU. - Put the mbufs in flight reference count, preventing interfaces from going away, under INVARIANTS as this is a general problem of the stack and should be solved in if.c/netisr but still good to verify the internal queuing logic. - Permit changing the MTU to virtually everythinkg like we do for loopback. Hook epair(4) up to the build. Approved by: re (kib)
|
#
01381811 |
|
24-Jul-2009 |
John Baldwin <jhb@FreeBSD.org> |
Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to a device pager (OBJT_DEVICE) object in that it uses fictitious pages to provide aliases to other memory addresses. The primary difference is that it uses an sglist(9) to determine the physical addresses for a given offset into the object instead of invoking the d_mmap() method in a device driver. Reviewed by: alc Approved by: re (kensmith) MFC after: 2 weeks
|
#
67b87e44 |
|
20-Jul-2009 |
Alexander Motin <mav@FreeBSD.org> |
Add `siis` CAM driver for SiliconImage SiI3124/3132/3531 SATA2 controllers. Driver supports Serial ATA and ATAPI devices, Port Multipliers (including FIS-based switching), hardware command queues (31 command per port) and Native Command Queuing. This is probably the second on popularity, after AHCI, type of SATA2 controllers, that benefits from using CAM, because of hardware command queuing support. Approved by: re (kib)
|
#
030d10ee |
|
19-Jul-2009 |
Sam Leffler <sam@FreeBSD.org> |
add urtw Approved by: re (kib)
|
#
eddfbb76 |
|
14-Jul-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Build on Jeff Roberson's linker-set based dynamic per-CPU allocator (DPCPU), as suggested by Peter Wemm, and implement a new per-virtual network stack memory allocator. Modify vnet to use the allocator instead of monolithic global container structures (vinet, ...). This change solves many binary compatibility problems associated with VIMAGE, and restores ELF symbols for virtualized global variables. Each virtualized global variable exists as a "reference copy", and also once per virtual network stack. Virtualized global variables are tagged at compile-time, placing the in a special linker set, which is loaded into a contiguous region of kernel memory. Virtualized global variables in the base kernel are linked as normal, but those in modules are copied and relocated to a reserved portion of the kernel's vnet region with the help of a the kernel linker. Virtualized global variables exist in per-vnet memory set up when the network stack instance is created, and are initialized statically from the reference copy. Run-time access occurs via an accessor macro, which converts from the current vnet and requested symbol to a per-vnet address. When "options VIMAGE" is not compiled into the kernel, normal global ELF symbols will be used instead and indirection is avoided. This change restores static initialization for network stack global variables, restores support for non-global symbols and types, eliminates the need for many subsystem constructors, eliminates large per-subsystem structures that caused many binary compatibility issues both for monitoring applications (netstat) and kernel modules, removes the per-function INIT_VNET_*() macros throughout the stack, eliminates the need for vnet_symmap ksym(2) munging, and eliminates duplicate definitions of virtualized globals under VIMAGE_GLOBALS. Bump __FreeBSD_version and update UPDATING. Portions submitted by: bz Reviewed by: bz, zec Discussed with: gnn, jamie, jeff, jhb, julian, sam Suggested by: peter Approved by: re (kensmith)
|
#
59aa14a9 |
|
11-Jul-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
Implementation of the upcoming Wireless Mesh standard, 802.11s, on the net80211 wireless stack. This work is based on the March 2009 D3.0 draft standard. This standard is expected to become final next year. This includes two main net80211 modules, ieee80211_mesh.c which deals with peer link management, link metric calculation, routing table control and mesh configuration and ieee80211_hwmp.c which deals with the actually routing process on the mesh network. HWMP is the mandatory routing protocol on by the mesh standard, but others, such as RA-OLSR, can be implemented. Authentication and encryption are not implemented. There are several scripts under tools/tools/net80211/scripts that can be used to test different mesh network topologies and they also teach you how to setup a mesh vap (for the impatient: ifconfig wlan0 create wlandev ... wlanmode mesh). A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled by default on GENERIC kernels for i386, amd64, sparc64 and pc98. Drivers that support mesh networks right now are: ath, ral and mwl. More information at: http://wiki.freebsd.org/WifiMesh Please note that this work is experimental. Also, please note that bridging a mesh vap with another network interface is not yet supported. Many thanks to the FreeBSD Foundation for sponsoring this project and to Sam Leffler for his support. Also, I would like to thank Gateworks Corporation for sending me a Cambria board which was used during the development of this project. Reviewed by: sam Approved by: re (kensmith) Obtained from: projects/mesh11s
|
#
52c9ce25 |
|
10-Jul-2009 |
Scott Long <scottl@FreeBSD.org> |
Separate the parallel scsi knowledge out of the core of the XPT, and modularize it so that new transports can be created. Add a transport for SATA Add a periph+protocol layer for ATA Add a driver for AHCI-compliant hardware. Add a maxio field to CAM so that drivers can advertise their max I/O capability. Modify various drivers so that they are insulated from the value of MAXPHYS. The new ATA/SATA code supports AHCI-compliant hardware, and will override the classic ATA driver if it is loaded as a module at boot time or compiled into the kernel. The stack now support NCQ (tagged queueing) for increased performance on modern SATA drives. It also supports port multipliers. ATA drives are accessed via 'ada' device nodes. ATAPI drives are accessed via 'cd' device nodes. They can all be enumerated and manipulated via camcontrol, just like SCSI drives. SCSI commands are not translated to their ATA equivalents; ATA native commands are used throughout the entire stack, including camcontrol. See the camcontrol manpage for further details. Testing this code may require that you update your fstab, and possibly modify your BIOS to enable AHCI functionality, if available. This code is very experimental at the moment. The userland ABI/API has changed, so applications will need to be recompiled. It may change further in the near future. The 'ada' device name may also change as more infrastructure is completed in this project. The goal is to eventually put all CAM busses and devices until newbus, allowing for interesting topology and management options. Few functional changes will be seen with existing SCSI/SAS/FC drivers, though the userland ABI has still changed. In the future, transports specific modules for SAS and FC may appear in order to better support the topologies and capabilities of these technologies. The modularization of CAM and the addition of the ATA/SATA modules is meant to break CAM out of the mold of being specific to SCSI, letting it grow to be a framework for arbitrary transports and protocols. It also allows drivers to be written to support discrete hardware without jeopardizing the stability of non-related hardware. While only an AHCI driver is provided now, a Silicon Image driver is also in the works. Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware is possible and encouraged. Help with new transports is also encouraged. Submitted by: scottl, mav Approved by: re
|
#
2affcf8d |
|
05-Jul-2009 |
Sam Leffler <sam@FreeBSD.org> |
add missing bit of r195379 Approved by: re (kensmith)
|
#
76340123 |
|
05-Jul-2009 |
Sam Leffler <sam@FreeBSD.org> |
Revamp 802.11 action frame handling: o add a new facility for components to register send+recv handlers o ieee80211_send_action and ieee80211_recv_action now use the registered handlers to dispatch operations o rev ieee80211_send_action api to enable passing arbitrary data o rev ieee80211_recv_action api to pass the 802.11 frame header as it may be difficult to locate o update existing IEEE80211_ACTION_CAT_BA and IEEE80211_ACTION_CAT_HT handling o update mwl for api rev Reviewed by: rpaulo Approved by: re (kensmith)
|
#
6ae52187 |
|
05-Jul-2009 |
Alexander Motin <mav@FreeBSD.org> |
Mark atanvidia depending on ataahci since rev.188846. Approved by: re (kib)
|
#
b49a2b39 |
|
30-Jun-2009 |
Doug Rabson <dfr@FreeBSD.org> |
Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. Approved by: re
|
#
18bef456 |
|
25-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Make ata-{dma,sata}.c dependent on atacore build option. Discussed with: mav
|
#
93588d5c |
|
24-Jun-2009 |
Rafal Jaworowski <raj@FreeBSD.org> |
Move non-PCI prototypes from ata-pci.h -> ata-all.h. This removes unnecessary PCI #includes dependency for systems with ATA controllers living at non-PCI buses. Submitted by: Piotr Ziecik Obtained from: Semihalf
|
#
9ba2b298 |
|
23-Jun-2009 |
Marius Strobl <marius@FreeBSD.org> |
- Initialize the ifnet structure, especially if_dname, before probing the PHYs as some PHY drivers use it (but probably shouldn't). How gem(4) has worked with brgphy(4) on powerpc without this so far is unclear to me. - Introduce a dying flag which is set during detach and checked in gem_ioctl() in order to prevent active BPF listeners to clear promiscuous mode which may lead to the tick callout being restarted which will trigger a panic once it's actually gone. - In gem_stop() reset rather than just disable the transmitter and receiver in order to ensure we're not unloading DMA maps still in use by the hardware. [1] - The blanking time is specified in PCI clocks so we should use twice the value when operating at 66MHz. - Spell some 2 as ETHER_ALIGN and a 19 as GEM_STATUS_TX_COMPLETION_SHFT to make the actual intentions clear. - As we don't unload the peak attempts counter ignore its overflow interrupts. - Remove a stale setting of a variable to GEM_TD_INTERRUPT_ME which isn't used afterwards. - For optimum performance increment the TX kick register in multiples of 4 if possible as suggested by the documentation. - Partially revert r164931; drivers should only clear the watchdog timer if all outstanding TX descriptors are done. - Fix some debugging strings. - Add a missing BUS_DMASYNC_POSTWRITE in gem_rint(). - As the error paths in the interrupt handler are generally unlikely predict them as false. - Add support for the SBus version of the GEM controller. [2] - Add some lock assertions. - Improve some comments. - Fix some more or less cosmetic issues in the code of the PCI front-end. - Change some softc members to be unsigned where more appropriate and remove unused ones. Approved by: re (kib) Obtained from: NetBSD (partially) [2], OpenBSD [1] MFC after: 2 weeks
|
#
eb6219e3 |
|
23-Jun-2009 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Implement minimal set of changes suggested by bz to make mxge no longer depend on INET.
|
#
df849145 |
|
23-Jun-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
* Driver for ACPI WMI (Windows Management Instrumentation) * Driver for ACPI HP extra functionations, which required ACPI WMI driver. Submitted by: Michael <freebsdusb at bindone.de> Approved by: re MFC after: 2 weeks
|
#
991633af |
|
23-Jun-2009 |
Marko Zec <zec@FreeBSD.org> |
Connect ng_pipe to the default build. Approved by: julian (mentor)
|
#
3f345a5d |
|
19-Jun-2009 |
Kip Macy <kmacy@FreeBSD.org> |
Greatly simplify cxgb by removing almost all of the custom mbuf management logic - remove mbuf iovec - useful, but adds too much complexity when isolated to the driver - remove driver private caching - insufficient benefit over UMA to justify the added complexity and maintenance overhead - remove separate logic for managing multiple transmit queues, with the new drbr routines the control flow can be made to much more closely resemble legacy drivers - remove dedicated service threads, with per-cpu callouts one can get the same benefit much more simply by registering a callout 1 tick in the future if there are still buffered packets - remove embedded mbuf usage - Jeffr's changes will (I hope) soon be integrated greatly reducing the overhead of using kernel APIs for reference counting clusters - add hysteresis to descriptor coalescing logic - add coalesce threshold sysctls to allow users to decide at run-time between optimizing for forwarding / UDP or optimizing for TCP - add once per second watchdog to effectively close the very rare races occurring from coalescing - incorporate Navdeep's changes to the initialization path required to convert port and adapter locks back to ordinary mutexes (silencing BPF LOR complaints) - enable prefetches in get_packet and tx cleaning Reviewed by: navdeep@ MFC after: 2 weeks
|
#
119051cb |
|
15-Jun-2009 |
Marius Strobl <marius@FreeBSD.org> |
Add cas(4), a driver for Sun Cassini/Cassini+ and National Semiconductor DP83065 Saturn Gigabit Ethernet controllers. These are the successors of the Sun GEM controllers and still have a similar but extended transmit logic. As such this driver is based on gem(4). Thanks to marcel@ for providing a Sun Quad GigaSwift Ethernet UTP (QGE) card which was vital for getting this driver to work on architectures not using Open Firmware. Approved by: re (kib) MFC after: 2 weeks
|
#
452f657c |
|
12-Jun-2009 |
Ivan Voras <ivoras@FreeBSD.org> |
Add support for labels derived from GPT metadata. Approved by: gnn (mentor) Reviewed by: pjd PR: 128398 Submitted by: Marius Nuennerich < marius at nuenneri.ch >
|
#
be7def1f |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
All these Ethernet NICs depend on INET, mostly for unconditional cksum related function calls, sometimes related to offload features from what I could see.xi It would be good if the offload functionality would be properly #ifdefed but the other calls to cksum related functions are a more general problem also elswhere in the network stack.
|
#
47f01ed8 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
if_igb.c as well as ixgbe.c uncondtionally depend on INET specific functions, especially but not solely tcp_lro_*.
|
#
ad44ffaa |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
As sys/kern/uipc_accf.c depends on inet, all three accf_* implementations do as well for accept_filt_generic_mod_event(). In addition accf_http also needs inet for the sysctl mib path.
|
#
3cba5bde |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
ng_ipfw depends on inet and ipfirewall as well. ng_nat depends on inet and libalias and most of libalias depends on inet. Update dependencies to porperly reflect this.
|
#
e2ad9ba2 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
ip_dummynet.c depends on INET. Note: this may be more because of improper #ifdefs these days.
|
#
db4fe37e |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
netinet/if_ether.c (doing ARP) depends on INET as well.
|
#
313e8db5 |
|
11-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
if_enc(4) is only useful with ipsec and either inet or inet6.
|
#
00e1d682 |
|
11-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
stf(4) supports `6to4' IPv6 in IPv4 encapsulation accroding to RFC3056. It thus needs both INET and INET6 to do its duty.
|
#
044348b7 |
|
11-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
if_bridge(4) unfortunately is missing a lot of #ifdef INETs and thus INET is a mandatory dependency at the moment.
|
#
259d2d54 |
|
11-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
carp(4) allows people to share a set of IP addresses and can only use IPv4/v6 for inter-node communication (according to my reading). Properly wrap the carp callouts in INET || INET6 and refelect this in sys/conf/files as well. While in theory this should be ok, it might be a bit optimistic to think that carp could build with inet6 only[1]. Discussed with: mlaier [1]
|
#
b40b9cf1 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
pflog, pfsync depend on pf and pf depends on inet. Actually it could/should be inet|inet6 but the code is not there and as long as our inet6 depends on inet this is fine.
|
#
d6970896 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Unfortunately fs/nfsserver depends on INET at the moment. It seems to be nfs_nfsdport.c and nfs_nfsdcache.c are the problem only but we need to mark all or we will run into problems at link time. One is because of calling an INET specific function, the other is because of VIMAGE putting all tcp* into struct vnet_inet. Both are general problems throughout the entire stack and not a fault of the NFS implementation and will need to be addressed in the future.
|
#
1aeaec56 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
if_gre.c insists on INET: #error "Huh? if_gre without inet?" According to my reading we still only support encapsulating datagrams into IPv4 and not IPv6 so there is no optional | gre inet6 yet.
|
#
a6c4d998 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
ipfirewall insists on INET: #error IPFIREWALL requires INET. Track it here to not build ipfirewall with no INET in the kernel.
|
#
55913642 |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
ip_divert.c requires both INET and IPFIREWALL to be present: #error "IPDIVERT requires INET." #error "IPDIVERT requires IPFIREWALL" so properly track those depencies here.
|
#
ba58b7af |
|
10-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
IPsec depends on either IPv4 (inet) or IPv6 (inet6) so properly track dependencies and automatically disable building ipsec if neither of the two is in the kernel config.
|
#
0f40c3f1 |
|
10-Jun-2009 |
Ariff Abdullah <ariff@FreeBSD.org> |
Move all sound related scripts to its own 'sound' subdir. Suggested by: jmallett
|
#
7444fe98 |
|
09-Jun-2009 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Oops, fix directory name.
|
#
d68875eb |
|
09-Jun-2009 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add alc(4), a driver for Atheros AR8131/AR8132 PCIe ethernet controller. These controllers are also known as L1C(AR8131) and L2C(AR8132) respectively. These controllers resembles the first generation controller L1 but usage of different descriptor format and new register mappings over L1 register space requires a new driver. There are a couple of registers I still don't understand but the driver seems to have no critical issues for performance and stability. Currently alc(4) supports the following hardware features. o MSI o TCP Segmentation offload o Hardware VLAN tag insertion/stripping o Tx/Rx interrupt moderation o Hardware statistics counters(dev.alc.%d.stats) o Jumbo frame o WOL AR8131/AR8132 also supports Tx checksum offloading but I disabled it due to stability issues. I'm not sure this comes from broken sample boards or hardware bugs. If you know your controller works without problems you can still enable it. The controller has a silicon bug for Rx checksum offloading, so the feature was not implemented. I'd like to say big thanks to Atheros. Atheros kindly sent sample boards to me and answered several questions I had. HW donated by: Atheros Communications, Inc.
|
#
3576e2f4 |
|
09-Jun-2009 |
Kip Macy <kmacy@FreeBSD.org> |
revert to opt-in flowtable
|
#
15d13a59 |
|
09-Jun-2009 |
Kip Macy <kmacy@FreeBSD.org> |
make flowtable opt-out
|
#
f7bde4e8 |
|
09-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
For now only compile flowtable.c if both options FLOWTABLE and INET are given. This will also work when we add IPv6 support as for now INET6 depends on INET.
|
#
90da2b28 |
|
07-Jun-2009 |
Ariff Abdullah <ariff@FreeBSD.org> |
Sound Mega-commit. Expect further cleanup until code freeze. For a slightly thorough explaination, please refer to [1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html . Summary of changes includes: 1 Volume Per-Channel (vpc). Provides private / standalone volume control unique per-stream pcm channel without touching master volume / pcm. Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for backwards compatibility, SOUND_MIXER_PCM through the opened dsp device instead of /dev/mixer. Special "bypass" mode is enabled through /dev/mixer which will automatically detect if the adjustment is made through /dev/mixer and forward its request to this private volume controller. Changes to this volume object will not interfere with other channels. Requirements: - SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which require specific application modifications (preferred). - No modifications required for using bypass mode, so applications like mplayer or xmms should work out of the box. Kernel hints: - hint.pcm.%d.vpc (0 = disable vpc). Kernel sysctls: - hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer bypass mode. - hw.snd.vpc_autoreset (default: 1). By default, closing/opening /dev/dsp will reset the volume back to 0 db gain/attenuation. Setting this to 0 will preserve its settings across device closing/opening. - hw.snd.vpc_reset (default: 0). Panic/reset button to reset all volume settings back to 0 db. - hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value. 2 High quality fixed-point Bandlimited SINC sampling rate converter, based on Julius O'Smith's Digital Audio Resampling - http://ccrma.stanford.edu/~jos/resample/. It includes a filter design script written in awk (the clumsiest joke I've ever written) - 100% 32bit fixed-point, 64bit accumulator. - Possibly among the fastest (if not fastest) of its kind. - Resampling quality is tunable, either runtime or during kernel compilation (FEEDER_RATE_PRESETS). - Quality can be further customized during kernel compilation by defining FEEDER_RATE_PRESETS in /etc/make.conf. Kernel sysctls: - hw.snd.feeder_rate_quality. 0 - Zero-order Hold (ZOH). Fastest, bad quality. 1 - Linear Interpolation (LINEAR). Slightly slower than ZOH, better quality but still does not eliminate aliasing. 2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC quality always start from 2 and above. Rough quality comparisons: - http://people.freebsd.org/~ariff/z_comparison/ 3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be directly fed into the hardware. 4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf. 5 Transparent/Adaptive Virtual Channel. Now you don't have to disable vchans in order to make digital format pass through. It also makes vchans more dynamic by choosing a better format/rate among all the concurrent streams, which means that dev.pcm.X.play.vchanformat/rate becomes sort of optional. 6 Exclusive Stream, with special open() mode O_EXCL. This will "mute" other concurrent vchan streams and only allow a single channel with O_EXCL set to keep producing sound. Other Changes: * most feeder_* stuffs are compilable in userland. Let's not speculate whether we should go all out for it (save that for FreeBSD 16.0-RELEASE). * kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org> * pull out channel mixing logic out of vchan.c and create its own feeder_mixer for world justice. * various refactoring here and there, for good or bad. * activation of few more OSSv4 ioctls() (see [1] above). * opt_snd.h for possible compile time configuration: (mostly for debugging purposes, don't try these at home) SND_DEBUG SND_DIAGNOSTIC SND_FEEDER_MULTIFORMAT SND_FEEDER_FULL_MULTIFORMAT SND_FEEDER_RATE_HP SND_PCM_64 SND_OLDSTEREO Manual page updates are on the way. Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many unsung / unnamed heroes.
|
#
908e960e |
|
05-Jun-2009 |
Luigi Rizzo <luigi@FreeBSD.org> |
move kernel ipfw-related sources to a separate directory, adjust conf/files and modules' Makefiles accordingly. No code or ABI changes so this and most of previous related changes can be easily MFC'ed MFC after: 5 days
|
#
129d3046 |
|
05-Jun-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Import ACPICA 20090521.
|
#
8888f696 |
|
05-Jun-2009 |
Ed Schouten <ed@FreeBSD.org> |
Remove clists from the kernel. Clists were originally used by the TTY layer as a text buffer interface. The advantage of clists were that it would allocate a small set of additional buffers that could be shared between TTYs when needed. In the modern days we can just allocate some more KBs of memory to keep the TTYs satisfied. The global cfreelist also requires synchronisation, which may not be useful when trying to improve scalability. The MPSAFE TTY layer uses its own text buffers (ttyinq and ttyoutq). We had a small amount of drivers in the tree that still uses clists, like the old USB stack and some keyboard drivers. With the old USB stack gone and the keyboard drivers changed to use a circular buffer, we can safely remove clists from the kernel.
|
#
aaac7452 |
|
02-Jun-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Chase ACPICA API changes (for kernel and boot loader).
|
#
b36cfff7 |
|
01-Jun-2009 |
John Baldwin <jhb@FreeBSD.org> |
Add a simple API to manage scatter/gather lists of phyiscal addresses. Each list describes a logical memory object that is backed by one or more physical address ranges. To minimize locking, the sglist objects themselves are immutable once they are shared. These objects may be used in the future to facilitate I/O requests using physically-addressed buffers. For the immediate future I plan to use them to implement a new type of VM object and pager. Reviewed by: jeff, scottl MFC after: 1 month
|
#
cf4c5a53 |
|
01-Jun-2009 |
Sam Leffler <sam@FreeBSD.org> |
driver for Marvell 88W8363 Wireless LAN controller
|
#
bcbdacdd |
|
28-May-2009 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add the kernel build glue for the experimental NFS subsystem that includes support for NFSv4. The subsystem can optionally be linked into the kernel using the two options: NFSCL - the client NFSD - the server It is also built as three modules: nfscl - the client nfsd - the server nfscommon - functions shared by the client and server Approved by: kib (mentor)
|
#
06079f14 |
|
27-May-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Hook ubt and ubtbcmfw back up to the build.
|
#
cfeb7489 |
|
27-May-2009 |
Zachary Loafman <zml@FreeBSD.org> |
fail(9) support: Add support for kernel fault injection using KFAIL_POINT_* macros and fail_point_* infrastructure. Add example fail point in vfs_bio.c to simulate VM buf pressure. Approved by: dfr (mentor)
|
#
11c63ede |
|
27-May-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Delete the old USB stack. The new stack has settled in and has all the drivers/functionality and then some.
|
#
00a5db46 |
|
26-May-2009 |
Stacey Son <sson@FreeBSD.org> |
Add the ksyms(4) pseudo driver. The ksyms driver allows a process to get a quick snapshot of the kernel's symbol table including the symbols from any loaded modules (the symbols are all merged into one symbol table). Unlike like other implementations, this ksyms driver maps memory in the process memory space to store the snapshot at the time /dev/ksyms is opened. It also checks to see if the process has already a snapshot open and won't allow it to open /dev/ksyms it again until it closes first. This prevents kernel and process memory from being exhausted. Note that /dev/ksyms is used by the lockstat(1) command. Reviewed by: gallatin kib (freebsd-arch) Approved by: gnn (mentor)
|
#
a5aedd68 |
|
26-May-2009 |
Stacey Son <sson@FreeBSD.org> |
Add the OpenSolaris dtrace lockstat provider. The lockstat provider adds probes for mutexes, reader/writer and shared/exclusive locks to gather contention statistics and other locking information for dtrace scripts, the lockstat(1M) command and other potential consumers. Reviewed by: attilio jhb jb Approved by: gnn (mentor)
|
#
cf5320bd |
|
25-May-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Complete move of SPX reassembly from spx_usrreq.c to spx_reass.c. MFC after: 1 month
|
#
86ce6a83 |
|
21-May-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Remove the unmaintained University of Michigan NFSv4 client from 8.x prior to 8.0-RELEASE. Rick Macklem's new and more feature-rich NFSv234 client and server are replacing it. Discussed with: rmacklem
|
#
5463c4a4 |
|
20-May-2009 |
Sam Leffler <sam@FreeBSD.org> |
Overhaul monitor mode handling: o replace DLT_IEEE802_11 support in net80211 with DLT_IEEE802_11_RADIO and remove explicit bpf support from wireless drivers; drivers now use ieee80211_radiotap_attach to setup shared data structures that hold the radiotap header for each packet tx/rx o remove rx timestamp from the rx path; it was used only by the tdma support for debugging and was mostly useless due to it being 32-bits and mostly unavailable o track DLT_IEEE80211_RADIO bpf attachments and maintain per-vap and per-com state when there are active taps o track the number of monitor mode vaps o use bpf tap and monitor mode vap state to decide when to collect radiotap state and dispatch frames; drivers no longer explicitly directly check bpf state or use bpf calls to tap frames o handle radiotap state updates on channel change in net80211; drivers should not do this (unless they bypass net80211 which is almost always a mistake) o update various drivers to be more consistent/correct in handling radiotap o update ral to include TSF in radiotap'd frames o add promisc mode callback to wi Reviewed by: cbzimmer, rpaulo, thompsa
|
#
cd5bdf03 |
|
18-May-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- Add support for MX25Lxxx SPI flash (readonly atm)
|
#
54d83191 |
|
13-May-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Remove usb_ethersubr.c missed reference -- we don't build ousb with LINT, so the tinderbox didn't pick this up.
|
#
c8fb8515 |
|
10-May-2009 |
Warner Losh <imp@FreeBSD.org> |
Fix typo in bwi driver.
|
#
21ca7b57 |
|
05-May-2009 |
Marko Zec <zec@FreeBSD.org> |
Change the curvnet variable from a global const struct vnet *, previously always pointing to the default vnet context, to a dynamically changing thread-local one. The currvnet context should be set on entry to networking code via CURVNET_SET() macros, and reverted to previous state via CURVNET_RESTORE(). Recursions on curvnet are permitted, though strongly discuouraged. This change should have no functional impact on nooptions VIMAGE kernel builds, where CURVNET_* macros expand to whitespace. The curthread->td_vnet (aka curvnet) variable's purpose is to be an indicator of the vnet context in which the current network-related operation takes place, in case we cannot deduce the current vnet context from any other source, such as by looking at mbuf's m->m_pkthdr.rcvif->if_vnet, sockets's so->so_vnet etc. Moreover, so far curvnet has turned out to be an invaluable consistency checking aid: it helps to catch cases when sockets, ifnets or any other vnet-aware structures may have leaked from one vnet to another. The exact placement of the CURVNET_SET() / CURVNET_RESTORE() macros was a result of an empirical iterative process, whith an aim to reduce recursions on CURVNET_SET() to a minimum, while still reducing the scope of CURVNET_SET() to networking only operations - the alternative would be calling CURVNET_SET() on each system call entry. In general, curvnet has to be set in three typicall cases: when processing socket-related requests from userspace or from within the kernel; when processing inbound traffic flowing from device drivers to upper layers of the networking stack, and when executing timer-driven networking functions. This change also introduces a DDB subcommand to show the list of all vnet instances. Approved by: julian (mentor)
|
#
12e36acb |
|
02-May-2009 |
Warner Losh <imp@FreeBSD.org> |
Bring in Andrew Thompson's port of Sepherosa Ziehau's bwi driver for Broadcom BCM43xx chipsets. This driver uses the v3 firmware that needs to be fetched separately. A port will be committed to create the bwi firmware module. The driver matches the following chips: Broadcom BCM4301, BCM4307, BCM4306, BCM4309, BCM4311, BCM4312, BCM4318, BCM4319 The driver works for 802.11b and 802.11g. Limitations: This doesn't support the 802.11a or 802.11n portion of radios. Some BCM4306 and BCM4309 cards don't work with Channel 1, 2 or 3. Documenation for this firmware is reverse engineered from http://bcm.sipsolutions.net/ V4 of the firmware is needed for 11a or 11n support http://bcm-v4.sipsolutions.net/ Firmware needs to be fetched from a third party, port to be committed # I've tested this with a BCM4319 mini-pci and a BCM4318 CardBus card, and # not connected it to the build until the firmware port is committed. Obtained from: DragonFlyBSD, //depot/projects/vap Reviewed by: sam@, thompsa@
|
#
cebc5254 |
|
01-May-2009 |
Sam Leffler <sam@FreeBSD.org> |
add uath
|
#
33cde130 |
|
29-Apr-2009 |
Bruce M Simpson <bms@FreeBSD.org> |
Bite the bullet, and make the IPv6 SSM and MLDv2 mega-commit: import from p4 bms_netdev. Summary of changes: * Connect netinet6/in6_mcast.c to build. The legacy KAME KPIs are mostly preserved. * Eliminate now dead code from ip6_output.c. Don't do mbuf bingo, we are not going to do RFC 2292 style CMSG tricks for multicast options as they are not required by any current IPv6 normative reference. * Refactor transports (UDP, raw_ip6) to do own mcast filtering. SCTP, TCP unaffected by this change. * Add ip6_msource, in6_msource structs to in6_var.h. * Hookup mld_ifinfo state to in6_ifextra, allocate from domifattach path. * Eliminate IN6_LOOKUP_MULTI(), it is no longer referenced. Kernel consumers which need this should use in6m_lookup(). * Refactor IPv6 socket group memberships to use a vector (like IPv4). * Update ifmcstat(8) for IPv6 SSM. * Add witness lock order for IN6_MULTI_LOCK. * Move IN6_MULTI_LOCK out of lower ip6_output()/ip6_input() paths. * Introduce IP6STAT_ADD/SUB/INC/DEC as per rwatson's IPv4 cleanup. * Update carp(4) for new IPv6 SSM KPIs. * Virtualize ip6_mrouter socket. Changes mostly localized to IPv6 MROUTING. * Don't do a local group lookup in MROUTING. * Kill unused KAME prototypes in6_purgemkludge(), in6_restoremkludge(). * Preserve KAME DAD timer jitter behaviour in MLDv1 compatibility mode. * Bump __FreeBSD_version to 800084. * Update UPDATING. NOTE WELL: * This code hasn't been tested against real MLDv2 queriers (yet), although the on-wire protocol has been verified in Wireshark. * There are a few unresolved issues in the socket layer APIs to do with scope ID propagation. * There is a LOR present in ip6_output()'s use of in6_setscope() which needs to be resolved. See comments in mld6.c. This is believed to be benign and can't be avoided for the moment without re-introducing an indirect netisr. This work was mostly derived from the IGMPv3 implementation, and has been sponsored by a third party.
|
#
111c6b61 |
|
23-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
During if_detach(), invoke if_dead() to set the ifnet's function pointers to "dead" implementations that no-op rather than invoking the device driver. This would generally be unexpected and possibly quite badly handled by most device drivers after if_detach() has completed. Reviewed by: bms MFC after: 3 weeks
|
#
4df4e335 |
|
19-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Merge OpenBSM 1.1 changes to the FreeBSD 8.x kernel: - Add and use mapping of fcntl(2) commands to new BSM constant space. - Adopt (int) rather than (long) arguments to a number of auditon(2) commands, as has happened in Solaris, and add compatibility code to handle the old comments. Note that BSM_PF_IEEE80211 is partially but not fully removed, as the userspace OpenBSM 1.1alpha5 code still depends on it. Once userspace is updated, I'll GCC the kernel constant. MFC after: 2 weeks Sponsored by: Apple, Inc. Obtained from: TrustedBSD Project Portions submitted by: sson
|
#
34b07340 |
|
18-Apr-2009 |
Kip Macy <kmacy@FreeBSD.org> |
- Import infrastructure for caching flows as a means of accelerating L3 and L2 lookups as well as providing stateful load balancing when used with RADIX_MPATH. - Currently compiled in to i386 and amd64 but disabled by default, it can be enabled at runtime with 'sysctl net.inet.flowtable.enable=1'. - Embedded users can remove it entirely from the kernel by adding 'nooption FLOWTABLE' to their kernel config files. - A minimal hookup will be added to ip_output in a subsequent commit. I would like to see more review before bringing in changes that require more churn. Supported by: Bitgravity Inc.
|
#
855628ab |
|
17-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Remove legacy versions of USB network interface drivers relying on IFF_NEEDSGIANT, as that is no longer supported.
|
#
45452edc |
|
12-Apr-2009 |
Rick Macklem <rmacklem@FreeBSD.org> |
Change nfsserver so that it uses the nfssvc() system call provided in sys/nfs/nfs_nfssvc.c by registering with it using the nfsd_call_nfsserver function pointer. Also, add the build glue for nfs_nfssvc.c optionally based on "nfsserver" and also as a loadable module. Submitted by: rmacklem Reviewed by: kib Approved by: kib (mentor)
|
#
800422dc |
|
09-Apr-2009 |
Jack F Vogel <jfv@FreeBSD.org> |
Add additional file to ixgbe files list, and uncomment NOTES entry MFC after: 2 weeks
|
#
6830af1a |
|
05-Apr-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Remove usb_sw_transfer.[ch] which are now empty after r190735.
|
#
5fb1afd7 |
|
30-Mar-2009 |
Warner Losh <imp@FreeBSD.org> |
New PHY driver for the internal PHY found in the AX88790. There's a number of quirks for this device, and this implements just the basics. The 2.5s powerdown recommended in the datasheet will be next...
|
#
616190d0 |
|
24-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
split Atheros SuperG support out into it's own file that's included only with a new IEEE80211_SUPPORT_SUPERG option
|
#
fffcc698 |
|
24-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
use IEEE80211_SUPPORT_TDMA option to control whether code is configured; this allows us to remove an #ifdef
|
#
a390848f |
|
24-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
require wlan for ancillary modules; they are required to link
|
#
2b78d306 |
|
19-Mar-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Remove the uscanner(4) driver, this follows the removal of the kernel scanner driver in Linux 2.6. uscanner was just a simple wrapper around a fifo and contained no logic, the default interface is now libusb (supported by sane). Reviewed by: HPS
|
#
e5adda3d |
|
15-Mar-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Remove IFF_NEEDSGIANT, a compatibility infrastructure introduced in FreeBSD 5.x to allow network device drivers to run with Giant despite the network stack being Giant-free. This significantly simplifies calls into ioctl() on network interfaces, especially in the multicast code, as well as eliminates deferred invocation of interface if_start routines. Disable the build on device drivers still depending on IFF_NEEDSGIANT as they no longer compile. They will be removed in a few weeks if they haven't been made MPSAFE in that time. Disabled drivers: if_ar if_axe if_aue if_cdce if_cue if_kue if_ray if_rue if_rum if_sr if_udav if_ural if_zyd Drivers that were already disabled because of tty changes: if_ppp if_sl Discussed on: arch@
|
#
4a948799 |
|
12-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
preliminary ar9280 support: o add 9280 attach that sets up ini, cal, etc. o new rf backend for 9280 and later parts o split ini setup and spur mitigation support out to methods and provide 9280-specific support o minor fixups to shared code to handle 9280-specific work Obtained from: Atheros (ini values and some code)
|
#
12678024 |
|
11-Mar-2009 |
Doug Rabson <dfr@FreeBSD.org> |
Merge in support for Xen HVM on amd64 architecture.
|
#
443f1e79 |
|
09-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
add geom_redboot, a geom module that exports RedBoot FIS partitions as named slices in dev/redboot/*
|
#
f2c6781b |
|
09-Mar-2009 |
Sam Leffler <sam@FreeBSD.org> |
Add cfid, a disk interface to CFI flash devices; this enables construction of flash-based filesystems. Note this is not interlocked against the raw CFI device.
|
#
4fcda893 |
|
07-Mar-2009 |
Robert Noland <rnoland@FreeBSD.org> |
Import support for ATI Radeon R600 and R700 series chips. Tested on an HD3850 (RV670) on loan from Warren Block. Currently, you need one of the following for this to be useful: x11-drivers/xf86-video-radeonhd-devel (not tested) xf86-video-ati from git (EXA works, xv is too fast) xf86-video-radeonhd from git (EXA works, xv works) There is no 3d support available from dri just yet. MFC after: 2 weeks
|
#
2619bc56 |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Use the correct config names for the netgraph bluetooth modules.
|
#
b92755d1 |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
- comment out slhci in NOTES for the moment - rearrange the ucom entry so its recognised by config(8)
|
#
3a3f90c6 |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Move the uaudio and ata-usb drivers into their correct locations.
|
#
e0291722 |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Move two missed usb drivers out to the graveyard location under sys/legacy/dev.
|
#
c89d41e5 |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Change over the usb kernel options to the new stack (retaining existing naming). The old usb stack can be compiled in my prefixing the name with 'o'.
|
#
474bb3ce |
|
17-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Switch over to usbdevs.h generated at compile time.
|
#
7310ee19 |
|
14-Feb-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Actually include geom_part_ebr.c when options GEOM_PART_EBR is present. Pointy hat: marcel
|
#
2a1eb33a |
|
09-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Hook uslcom2 up to the build.
|
#
78ba7361 |
|
09-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Remove usb2_config_td.[ch], they are no longer used.
|
#
2656fef9 |
|
08-Feb-2009 |
Wojciech A. Koszek <wkoszek@FreeBSD.org> |
Fix several filenames for "make clean" target.
|
#
603cb5d5 |
|
07-Feb-2009 |
Paolo Pisati <piso@FreeBSD.org> |
Fix LIBALIAS option for a static kernel.
|
#
19d4850e |
|
13-Jan-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Hook up the u3g2 driver. Submitted by: Hans Petter Selasky
|
#
10ad9a77 |
|
08-Jan-2009 |
Sam Leffler <sam@FreeBSD.org> |
TDMA support for long distance point-to-point links using ath devices: o add net80211 support for a tdma vap that is built on top of the existing adhoc-demo support o add tdma scheduling of frame transmission to the ath driver; it's conceivable other devices might be capable of this too in which case they can make use of the 802.11 protocol additions etc. o add minor bits to user tools that need to know: ifconfig to setup and configure, new statistics in athstats, and new debug mask bits While the architecture can support >2 slots in a TDMA BSS the current design is intended (and tested) for only 2 slots. Sponsored by: Intel
|
#
fb898a2c |
|
06-Jan-2009 |
Rong-En Fan <rafan@FreeBSD.org> |
- Remove snd_au88x0 which seems never got compiled into kernel nor as a kernel module. These files cause manual interaction when building ports/audio/aureal-kmod which provides a usable i386-only driver (it requires linking against some linux object files distributed by vendor which bankrupted back in 2000). MFC after: 1 week
|
#
b4b1c516 |
|
01-Jan-2009 |
Ed Schouten <ed@FreeBSD.org> |
Replace syscons terminal renderer by a new renderer that uses libteken. Some time ago I started working on a library called libteken, which is terminal emulator. It does not buffer any screen contents, but only keeps terminal state, such as cursor position, attributes, etc. It should implement all escape sequences that are implemented by the cons25 terminal emulator, but also a fair amount of sequences that are present in VT100 and xterm. A lot of random notes, which could be of interest to users/developers: - Even though I'm leaving the terminal type set to `cons25', users can do experiments with placing `xterm-color' in /etc/ttys. Because we only implement a subset of features of xterm, this may cause artifacts. We should consider extending libteken, because in my opinion xterm is the way to go. Some missing features: - Keypad application mode (DECKPAM) - Character sets (SCS) - libteken is filled with a fair amount of assertions, but unfortunately we cannot go into the debugger anymore if we fail them. I've done development of this library almost entirely in userspace. In sys/dev/syscons/teken there are two applications that can be helpful when debugging the code: - teken_demo: a terminal emulator that can be started from a regular xterm that emulates a terminal using libteken. This application can be very useful to debug any rendering issues. - teken_stress: a stress testing application that emulates random terminal output. libteken has literally survived multiple terabytes of random input. - libteken also includes support for UTF-8, but unfortunately our input layer and font renderer don't support this. If users want to experiment with UTF-8 support, they can enable `TEKEN_UTF8' in teken.h. If you recompile your kernel or the teken_demo application, you can hold some nice experiments. - I've left PC98 the way it is right now. The PC98 platform has a custom syscons renderer, which supports some form of localised input. Maybe we should port PC98 to libteken by the time syscons supports UTF-8? - I've removed the `dumb' terminal emulator. It has been broken for years. It hasn't survived the `struct proc' -> `struct thread' conversion. - To prevent confusion among people that want to hack on libteken: unlike syscons, the state machines that parse the escape sequences are machine generated. This means that if you want to add new escape sequences, you have to add an entry to the `sequences' file. This will cause new entries to be added to `teken_state.h'. - Any rendering artifacts that didn't occur prior to this commit are by accident. They should be reported to me, so I can fix them. Discussed on: current@, hackers@ Discussed with: philip (at 25C3)
|
#
3c36dc81 |
|
31-Dec-2008 |
Robert Watson <rwatson@FreeBSD.org> |
Commit two files missed in previous commit: hook up audit_bsm_errno.c and adapt for kernel build environment. Obtained from: TrustedBSD Project Sponsored by: Apple, Inc.
|
#
1018c6cb |
|
25-Dec-2008 |
Julian Elischer <julian@FreeBSD.org> |
Hook up the ether_echo node and fix the man page
|
#
a4b31351 |
|
22-Dec-2008 |
Alfred Perlstein <alfred@FreeBSD.org> |
Fix typo for udav include. Add link to the u3g2 driver.
|
#
6e6b3f7c |
|
14-Dec-2008 |
Qing Li <qingli@FreeBSD.org> |
This main goals of this project are: 1. separating L2 tables (ARP, NDP) from the L3 routing tables 2. removing as much locking dependencies among these layers as possible to allow for some parallelism in the search operations 3. simplify the logic in the routing code, The most notable end result is the obsolescent of the route cloning (RTF_CLONING) concept, which translated into code reduction in both IPv4 ARP and IPv6 NDP related modules, and size reduction in struct rtentry{}. The change in design obsoletes the semantics of RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland applications such as "arp" and "ndp" have been modified to reflect those changes. The output from "netstat -r" shows only the routing entries. Quite a few developers have contributed to this project in the past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and Andre Oppermann. And most recently: - Kip Macy revised the locking code completely, thus completing the last piece of the puzzle, Kip has also been conducting active functional testing - Sam Leffler has helped me improving/refactoring the code, and provided valuable reviews - Julian Elischer setup the perforce tree for me and has helped me maintaining that branch before the svn conversion
|
#
d2120224 |
|
12-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
Merge WIP from p4: o recognize ixp435 cpu o change memory layout for for ixp4xx to not assume memory is aliases to 0x10000000 (Cambria/ixp435 memory starts at zero) o handle 64 irqs for ixp435 o dual EHCI USB 2.0 controller integral to ixp435 o overhaul NPE code for ixp435 and better MAC+MII naming o updated NPE firmware (including NPE-A image for ixp435/ixp465) o Gateworks Cambria board support: - IDE compact flash - MCU - front panel LED on i2c bus - Octal LED latch Sanity-tested with NFS-root on Avila and Cambria boards. Requires pending boot2 mods for CF-boot on Cambria.
|
#
385195c0 |
|
10-Dec-2008 |
Marko Zec <zec@FreeBSD.org> |
Conditionally compile out V_ globals while instantiating the appropriate container structures, depending on VIMAGE_GLOBALS compile time option. Make VIMAGE_GLOBALS a new compile-time option, which by default will not be defined, resulting in instatiations of global variables selected for V_irtualization (enclosed in #ifdef VIMAGE_GLOBALS blocks) to be effectively compiled out. Instantiate new global container structures to hold V_irtualized variables: vnet_net_0, vnet_inet_0, vnet_inet6_0, vnet_ipsec_0, vnet_netgraph_0, and vnet_gif_0. Update the VSYM() macro so that depending on VIMAGE_GLOBALS the V_ macros resolve either to the original globals, or to fields inside container structures, i.e. effectively #ifdef VIMAGE_GLOBALS #define V_rt_tables rt_tables #else #define V_rt_tables vnet_net_0._rt_tables #endif Update SYSCTL_V_*() macros to operate either on globals or on fields inside container structs. Extend the internal kldsym() lookups with the ability to resolve selected fields inside the virtualization container structs. This applies only to the fields which are explicitly registered for kldsym() visibility via VNET_MOD_DECLARE() and vnet_mod_register(), currently this is done only in sys/net/if.c. Fix a few broken instances of MODULE_GLOBAL() macro use in SCTP code, and modify the MODULE_GLOBAL() macro to resolve to V_ macros, which in turn result in proper code being generated depending on VIMAGE_GLOBALS. De-virtualize local static variables in sys/contrib/pf/net/pf_subr.c which were prematurely V_irtualized by automated V_ prepending scripts during earlier merging steps. PF virtualization will be done separately, most probably after next PF import. Convert a few variable initializations at instantiation to initialization in init functions, most notably in ipfw. Also convert TUNABLE_INT() initializers for V_ variables to TUNABLE_FETCH_INT() in initializer functions. Discussed at: devsummit Strassburg Reviewed by: bz, julian Approved by: julian (mentor) Obtained from: //depot/projects/vimage-commit2/... X-MFC after: never Sponsored by: NLnet Foundation, The FreeBSD Foundation
|
#
23dc5621 |
|
04-Dec-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Integrate 185578 from dfr Use newbus to managed devices
|
#
33644623 |
|
01-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
Switch to ath hal source code. Note this removes the ath_hal module; the ath module now brings in the hal support. Kernel config files are almost backwards compatible; supplying device ath_hal gives you the same chip support that the binary hal did but you must also include options AH_SUPPORT_AR5416 to enable the extended format descriptors used by 11n parts. It is now possible to control the chip support included in a build by specifying exactly which chips are to be supported in the config file; consult ath_hal(4) for information.
|
#
db7f0b97 |
|
21-Nov-2008 |
Kip Macy <kmacy@FreeBSD.org> |
- bump __FreeBSD version to reflect added buf_ring, memory barriers, and ifnet functions - add memory barriers to <machine/atomic.h> - update drivers to only conditionally define their own - add lockless producer / consumer ring buffer - remove ring buffer implementation from cxgb and update its callers - add if_transmit(struct ifnet *ifp, struct mbuf *m) to ifnet to allow drivers to efficiently manage multiple hardware queues (i.e. not serialize all packets through one ifq) - expose if_qflush to allow drivers to flush any driver managed queues This work was supported by Bitgravity Inc. and Chelsio Inc.
|
#
1ba4a712 |
|
17-Nov-2008 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes. This bring huge amount of changes, I'll enumerate only user-visible changes: - Delegated Administration Allows regular users to perform ZFS operations, like file system creation, snapshot creation, etc. - L2ARC Level 2 cache for ZFS - allows to use additional disks for cache. Huge performance improvements mostly for random read of mostly static content. - slog Allow to use additional disks for ZFS Intent Log to speed up operations like fsync(2). - vfs.zfs.super_owner Allows regular users to perform privileged operations on files stored on ZFS file systems owned by him. Very careful with this one. - chflags(2) Not all the flags are supported. This still needs work. - ZFSBoot Support to boot off of ZFS pool. Not finished, AFAIK. Submitted by: dfr - Snapshot properties - New failure modes Before if write requested failed, system paniced. Now one can select from one of three failure modes: - panic - panic on write error - wait - wait for disk to reappear - continue - serve read requests if possible, block write requests - Refquota, refreservation properties Just quota and reservation properties, but don't count space consumed by children file systems, clones and snapshots. - Sparse volumes ZVOLs that don't reserve space in the pool. - External attributes Compatible with extattr(2). - NFSv4-ACLs Not sure about the status, might not be complete yet. Submitted by: trasz - Creation-time properties - Regression tests for zpool(8) command. Obtained from: OpenSolaris
|
#
0eec5c87 |
|
13-Nov-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Temporarily switch NFS back to the old RPC code while I try to diagnose and fix the problems a few people have noticed with the new code. People who want to continue testing the new code or who need RPCSEC_GSS support should use the new option NFS_NEWRPC to select it.
|
#
3c6e15bc |
|
12-Nov-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Add ale(4), a driver for Atheros AR8121/AR8113/AR8114 PCIe ethernet controller. The controller is also known as L1E(AR8121) and L2E(AR8113/AR8114). Unlike its predecessor Attansic L1, AR8121/AR8113/AR8114 uses completely different Rx logic such that it requires separate driver. Datasheet for AR81xx is not available to open source driver writers but it shares large part of Tx and PHY logic of L1. I still don't understand some part of register meaning and some MAC statistics counters but the driver seems to have no critical issues for performance and stability. The AR81xx requires copy operation to pass received frames to upper stack such that ale(4) consumes a lot of CPU cycles than that of other controller. A couple of silicon bugs also adds more CPU cycles to address the known hardware bug. However, if you have fast CPU you can still saturate the link. Currently ale(4) supports the following hardware features. - MSI. - TCP Segmentation offload. - Hardware VLAN tag insertion/stripping with checksum offload. - Tx TCP/UDP checksum offload and Rx IP/TCP/UDP checksum offload. - Tx/Rx interrupt moderation. - Hardware statistics counters. - Jumbo frame. - WOL. AR81xx PCIe ethernet controllers are mainly found on ASUS EeePC or P5Q series of ASUS motherboards. Special thanks to Jeremy Chadwick who sent the hardware to me. Without his donation writing a driver for AR81xx would never have been possible. Big thanks to all people who reported feedback or tested patches. HW donated by: koitsu Tested by: bsam, Joao Barros <joao.barros <> gmail DOT com > Jan Henrik Sylvester <me <> janh DOT de > Ivan Brawley < ivan <> brawley DOT id DOT au >, CURRENT ML
|
#
eabe30fc |
|
03-Nov-2008 |
Alfred Perlstein <alfred@FreeBSD.org> |
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack that includes significant features and SMP safety. This commit includes a more or less complete rewrite of the *BSD USB stack, including Host Controller and Device Controller drivers and updating all existing USB drivers to use the new USB API: 1) A brief feature list: - A new and mutex enabled USB API. - Many USB drivers are now running Giant free. - Linux USB kernel compatibility layer. - New UGEN backend and libusb library, finally solves the "driver unloading" problem. The new BSD licensed libusb20 library is fully compatible with libusb-0.1.12 from sourceforge. - New "usbconfig" utility, for easy configuration of USB. - Full support for Split transactions, which means you can use your full speed USB audio device on a high speed USB HUB. - Full support for HS ISOC transactions, which makes writing drivers for various HS webcams possible, for example. - Full support for USB on embedded platforms, mostly cache flushing and buffer invalidating stuff. - Safer parsing of USB descriptors. - Autodetect of annoying USB install disks. - Support for USB device side mode, also called USB gadget mode, using the same API like the USB host side. In other words the new USB stack is symmetric with regard to host and device side. - Support for USB transfers like I/O vectors, means more throughput and less interrupts. - ... see the FreeBSD quarterly status reports under "USB project" 2) To enable the driver in the default kernel build: 2.a) Remove all existing USB device options from your kernel config file. 2.b) Add the following USB device options to your kernel configuration file: # USB core support device usb2_core # USB controller support device usb2_controller device usb2_controller_ehci device usb2_controller_ohci device usb2_controller_uhci # USB mass storage support device usb2_storage device usb2_storage_mass # USB ethernet support, requires miibus device usb2_ethernet device usb2_ethernet_aue device usb2_ethernet_axe device usb2_ethernet_cdce device usb2_ethernet_cue device usb2_ethernet_kue device usb2_ethernet_rue device usb2_ethernet_dav # USB wireless LAN support device usb2_wlan device usb2_wlan_rum device usb2_wlan_ral device usb2_wlan_zyd # USB serial device support device usb2_serial device usb2_serial_ark device usb2_serial_bsa device usb2_serial_bser device usb2_serial_chcom device usb2_serial_cycom device usb2_serial_foma device usb2_serial_ftdi device usb2_serial_gensa device usb2_serial_ipaq device usb2_serial_lpt device usb2_serial_mct device usb2_serial_modem device usb2_serial_moscom device usb2_serial_plcom device usb2_serial_visor device usb2_serial_vscom # USB bluetooth support device usb2_bluetooth device usb2_bluetooth_ng # USB input device support device usb2_input device usb2_input_hid device usb2_input_kbd device usb2_input_ms # USB sound and MIDI device support device usb2_sound 2) To enable the driver at runtime: 2.a) Unload all existing USB modules. If USB is compiled into the kernel then you might have to build a new kernel. 2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same base name like the kernel device option. Submitted by: Hans Petter Selasky hselasky at c2i dot net Reviewed by: imp, alfred
|
#
a9148abd |
|
03-Nov-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Implement support for RPCSEC_GSS authentication to both the NFS client and server. This replaces the RPC implementation of the NFS client and server with the newer RPC implementation originally developed (actually ported from the userland sunrpc code) to support the NFS Lock Manager. I have tested this code extensively and I believe it is stable and that performance is at least equal to the legacy RPC implementation. The NFS code currently contains support for both the new RPC implementation and the older legacy implementation inherited from the original NFS codebase. The default is to use the new implementation - add the NFS_LEGACYRPC option to fall back to the old code. When I merge this support back to RELENG_7, I will probably change this so that users have to 'opt in' to get the new code. To use RPCSEC_GSS on either client or server, you must build a kernel which includes the KGSSAPI option and the crypto device. On the userland side, you must build at least a new libc, mountd, mount_nfs and gssd. You must install new versions of /etc/rc.d/gssd and /etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf. As long as gssd is running, you should be able to mount an NFS filesystem from a server that requires RPCSEC_GSS authentication. The mount itself can happen without any kerberos credentials but all access to the filesystem will be denied unless the accessing user has a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There is currently no support for situations where the ticket file is in a different place, such as when the user logged in via SSH and has delegated credentials from that login. This restriction is also present in Solaris and Linux. In theory, we could improve this in future, possibly using Brooks Davis' implementation of variant symlinks. Supporting RPCSEC_GSS on a server is nearly as simple. You must create service creds for the server in the form 'nfs/<fqdn>@<REALM>' and install them in /etc/krb5.keytab. The standard heimdal utility ktutil makes this fairly easy. After the service creds have been created, you can add a '-sec=krb5' option to /etc/exports and restart both mountd and nfsd. The only other difference an administrator should notice is that nfsd doesn't fork to create service threads any more. In normal operation, there will be two nfsd processes, one in userland waiting for TCP connections and one in the kernel handling requests. The latter process will create as many kthreads as required - these should be visible via 'top -H'. The code has some support for varying the number of service threads according to load but initially at least, nfsd uses a fixed number of threads according to the value supplied to its '-n' option. Sponsored by: Isilon Systems MFC after: 1 month
|
#
64c71632 |
|
02-Nov-2008 |
Scott Long <scottl@FreeBSD.org> |
Move the CAM passthrough code into a true module so that it doesn't have to be compiled into the main AMR driver. It's code that is nice to have but not required for normal operation, and it is reported to cause problems for some people.
|
#
972f68ae |
|
02-Nov-2008 |
Warner Losh <imp@FreeBSD.org> |
Move mn over. One of the last stragglers in sys/pci. There's no module built for this hardware, so no changes needed.
|
#
c9dba40c |
|
01-Nov-2008 |
Ed Schouten <ed@FreeBSD.org> |
Reimplement the /dev/console device node. One of the pieces of code that I had left alone during the development of the MPSAFE TTY layer, was tty_cons.c. This file actually has two different functions: - It contains low-level console input/output routines (cnputc(), etc). - It creates /dev/console and wraps all its cdevsw calls to the appropriate TTY. This commit reimplements the second set of functions by moving it directly into the TTY layer. /dev/console is now a character device node that's basically a regular TTY, but does a lookup of `si_drv1' each time you open it. d_write has also been changed to call log_console(). d_close() is not present, because we must make sure we don't revoke the TTY after writing a log message to it. Even though I'm not convinced this is in line with the future directions of our console code, it is a good move for now. It removes recursive locking from the top half of the TTY layer. The previous implementation called into the TTY layer with Giant held. I'm renaming tty_cons.c to kern_cons.c now. The code hardly contains any TTY related bits, so we'd better give it a less misleading name. Tested by: Andrzej Tobola <ato iem pw edu pl>, Carlos A.M. dos Santos <unixmania gmail com>, Eygene Ryabinkin <rea-fbsd codelabs ru>
|
#
b0606bd1 |
|
30-Oct-2008 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Make it possible to compile kernel with KTR but without DDB.
|
#
564f8f0f |
|
28-Oct-2008 |
Robert Watson <rwatson@FreeBSD.org> |
Break out strictly credential-related portions of mac_process.c into a new file, mac_cred.c. Obtained from: TrustedBSD Project
|
#
d90e0bbe |
|
27-Oct-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Add the files missed with r184331 to make mac_bsdextended compile again.
|
#
e00251b7 |
|
25-Oct-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a driver for flash memory that implements to the Common Flash Memory Interface (CFI). The flash memory can be read and written to through /dev/cfi# and an ioctl() exists so processes can read the query information. The driver supports the AMD and Intel command set, though only the AMD command has been tested. Obtained from: Juniper Networks, Inc.
|
#
831f5dcf |
|
21-Oct-2008 |
Alexander Motin <mav@FreeBSD.org> |
Import sdhci (PCI SD Host Controller) driver. Driver supports PCI devices with class 8 and subclass 5 according to SD Host Controller Specification. Update NOTES, enable module and static build. Enable related mmc and mmcsd modules build. Discussed on: mobile@, current@
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
483b9e47 |
|
09-Oct-2008 |
Nick Hibma <n_hibma@FreeBSD.org> |
Say hello to the u3g driver, implementing support for 3G modems. This was located in the ubsa driver, but should be moved into a separate driver: - 3G modems provide multiple serial ports to allow AT commands while the PPP connection is up. - 3G modems do not provide baud rate or other serial port settings. - Huawei cards need specific initialisation. - ubsa is for Belkin adapters, an Linuxy choice for another device like 3G. Speeds achieved here with a weak signal at best is ~40kb/s (UMTS). No spooky STALLED messages as well. Next: Move over all entries for Sierra and Novatel cards once I have found testers, and implemented serial port enumeration for Sierra (or rather have Andrea Guzzo do it). They list all endpoints in 1 iface instead of 4 ifaces. Submitted by: aguzzo@anywi.com MFC after: 3 weeks
|
#
13014ca0 |
|
08-Oct-2008 |
Søren Schmidt <sos@FreeBSD.org> |
This is the roumored ATA modulerisation works, and it needs a little explanation. If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in. However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries: atacore: ATA core functionality, always needed for any ATA setup atacard: CARDBUS support atacbus: PC98 cbus support ataisa: ISA bus support atapci: PCI bus support only generic chipset support. ataahci: AHCI support, also pulled in by some vendor modules. ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets atadisk: ATA disk driver ataraid: ATA softraid driver atapicd: ATAPI cd/dvd driver atapifd: ATAPI floppy/flashdisk driver atapist: ATAPI tape driver atausb: ATA<>USB bridge atapicam: ATA<>CAM bridge This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file: device atacore device atapci device atavia And then you need the atadisk, atapicd etc lines in there just as usual. If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual. However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
|
#
61d9c8fa |
|
04-Oct-2008 |
Antoine Brodin <antoine@FreeBSD.org> |
- Spell cam correctly (scbus), this makes it possible to compile hptiop in GENERIC and LINT. [1] - Rename hpt_dbg_level to hpt_iop_dbg_level to avoid multiple definition of hpt_dbg_level (hptmv also has hpt_dbg_level). PR: 127551 [1] Reviewed by: scottl@ MFC after: 1 month
|
#
ba26d470 |
|
03-Oct-2008 |
Stanislav Sedov <stas@FreeBSD.org> |
- Add driver for Attansic L2 FastEthernet controller found on Asus EeePC and some Asus mainboards. Reviewed by: yongari, rpaulo, jhb Tested by: many Approved by: kib (mentor) MFC after: 1 week
|
#
ae72afe0 |
|
23-Sep-2008 |
David E. O'Brien <obrien@FreeBSD.org> |
The kernel implemented 'memcmp' is an alias for 'bcmp'. However, memcmp and bcmp are not the same thing. 'man bcmp' states that the return is "non-zero" if the two byte strings are not identical. Where as, 'man memcmp' states that the return is the "difference between the first two differing bytes (treated as unsigned char values" if the two byte strings are not identical. So provide a proper memcmp(9), but it is a C implementation not a tuned assembly implementation. Therefore bcmp(9) should be preferred over memcmp(9).
|
#
79775f8f |
|
22-Sep-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Update cxgb include paths to not require prefixing with dev/cxgb Submitted by: Chelsio Inc.
|
#
a2a2d954 |
|
23-Aug-2008 |
Robert Noland <rnoland@FreeBSD.org> |
Update drm kernel drivers. This is a sync to mesa/drm pre-gem, with a few fixes on top of that. It also contains one local patch supplied by kib@ that I can't apply to git.master shared code. Approved by: flz Obtained from: mesa/drm git.master MFC after: 2 weeks
|
#
bc093719 |
|
20-Aug-2008 |
Ed Schouten <ed@FreeBSD.org> |
Integrate the new MPSAFE TTY layer to the FreeBSD operating system. The last half year I've been working on a replacement TTY layer for the FreeBSD kernel. The new TTY layer was designed to improve the following: - Improved driver model: The old TTY layer has a driver model that is not abstract enough to make it friendly to use. A good example is the output path, where the device drivers directly access the output buffers. This means that an in-kernel PPP implementation must always convert network buffers into TTY buffers. If a PPP implementation would be built on top of the new TTY layer (still needs a hooks layer, though), it would allow the PPP implementation to directly hand the data to the TTY driver. - Improved hotplugging: With the old TTY layer, it isn't entirely safe to destroy TTY's from the system. This implementation has a two-step destructing design, where the driver first abandons the TTY. After all threads have left the TTY, the TTY layer calls a routine in the driver, which can be used to free resources (unit numbers, etc). The pts(4) driver also implements this feature, which means posix_openpt() will now return PTY's that are created on the fly. - Improved performance: One of the major improvements is the per-TTY mutex, which is expected to improve scalability when compared to the old Giant locking. Another change is the unbuffered copying to userspace, which is both used on TTY device nodes and PTY masters. Upgrading should be quite straightforward. Unlike previous versions, existing kernel configuration files do not need to be changed, except when they reference device drivers that are listed in UPDATING. Obtained from: //depot/projects/mpsafetty/... Approved by: philip (ex-mentor) Discussed: on the lists, at BSDCan, at the DevSummit Sponsored by: Snow B.V., the Netherlands dcons(4) fixed by: kan
|
#
10dc76a3 |
|
15-Aug-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Integrate configuration bits for compling xen. MFC after: 1 month
|
#
7e5dc2f8 |
|
14-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move wb driver from sys/pci to sys/dev/wb.
|
#
5d5325f8 |
|
14-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move pcn driver from sys/pci to sys/dev/pcn.
|
#
c8befdd5 |
|
14-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move the ste driver from sys/pci to sys/dev/ste.
|
#
2bd7d759 |
|
14-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move the tl driver form sys/pci to sys/dev/tl.
|
#
25292deb |
|
11-Aug-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Remove cxgb private lro implementation and switch to using system implementation. Obtained from: Chelsio Inc. MFC after: 1 week
|
#
9884d99e |
|
11-Aug-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
Rename ds1339 -> ds133x to better fit the upcoming driver extensions.
|
#
d2155f2f |
|
10-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move sis to sys/dev/sis for consistency.
|
#
83825b71 |
|
10-Aug-2008 |
Warner Losh <imp@FreeBSD.org> |
Move the xl driver form sys/pci to sys/dev/xl for consistency.
|
#
a0bac9cc |
|
30-Jul-2008 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Fix LINT MFC after: 3 months
|
#
06248ffc |
|
30-Jul-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
Alter kernel build to work with new dev/e1000 structure. This makes both em and igb, or either alone build and work in the static kernel. MFC after:ASAP
|
#
12d3da87 |
|
28-Jul-2008 |
John Baldwin <jhb@FreeBSD.org> |
Remove a stale reference to sys/dev/ixgbe/tcp_lro.c.
|
#
32c5ce37 |
|
25-Jul-2008 |
Stanislav Sedov <stas@FreeBSD.org> |
- Connect ds1339 to the build infrastructure. Reviewed by: raj Approved by: imp
|
#
bea45cdd |
|
25-Jul-2008 |
Ed Schouten <ed@FreeBSD.org> |
Move ttyinfo() into its own C file. The ttyinfo() routine generates the fancy output when pressing ^T. Right now it is stored in tty.c. In the MPSAFE TTY code it is already stored in tty_info.c. To make integration of the MPSAFE TTY code a little easier, take the same approach. This makes the TTY code a little bit more readable, because having the proc_*/thread_* routines in tty.c is very distractful. Approved by: philip (mentor)
|
#
744eaff7 |
|
18-Jul-2008 |
David Malone <dwmalone@FreeBSD.org> |
Add an accept filter for TCP based DNS requests. It waits until the whole first request is present before returning from accept.
|
#
4af83c8c |
|
18-Jul-2008 |
Kip Macy <kmacy@FreeBSD.org> |
import vendor fixes to cxgb
|
#
a78c3ed8 |
|
04-Jul-2008 |
John Baldwin <jhb@FreeBSD.org> |
Remove the sbsh(4) driver. No one responded to requests for testing the MPSAFE patches on current@ and stable@. This driver also has a fundamental issue in that it sleeps when sending commands to the card including in the if_init/if_start routines (which can be called from interrupt context). As such, the driver shouldn't be working reliably even on 4.x.
|
#
67c58e8a |
|
04-Jul-2008 |
John Baldwin <jhb@FreeBSD.org> |
Remove the cnw(4) driver. No one responded to calls to test it on current@ and stable@. It also is a driver for an older non-802.11 wireless PC card that is quite slow in comparison to say, wi(4). I know Warner wants this driver axed as well.
|
#
c675522f |
|
26-Jun-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Re-implement the client side of rpc.lockd in the kernel. This implementation provides the correct semantics for flock(2) style locks which are used by the lockf(1) command line tool and the pidfile(3) library. It also implements recovery from server restarts and ensures that dirty cache blocks are written to the server before obtaining locks (allowing multiple clients to use file locking to safely share data). Sponsored by: Isilon Systems PR: 94256 MFC after: 2 weeks
|
#
042df2e2 |
|
25-Jun-2008 |
Ruslan Ermilov <ru@FreeBSD.org> |
Enable GCC stack protection (aka Propolice) for userland: - It is opt-out for now so as to give it maximum testing, but it may be turned opt-in for stable branches depending on the consensus. You can turn it off with WITHOUT_SSP. - WITHOUT_SSP was previously used to disable the build of GNU libssp. It is harmless to steal the knob as SSP symbols have been provided by libc for a long time, GNU libssp should not have been much used. - SSP is disabled in a few corners such as system bootstrap programs (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves. - It should be safe to use -fstack-protector-all to build world, however libc will be automatically downgraded to -fstack-protector because it breaks rtld otherwise. - This option is unavailable on ia64. Enable GCC stack protection (aka Propolice) for kernel: - It is opt-out for now so as to give it maximum testing. - Do not compile your kernel with -fstack-protector-all, it won't work. Submitted by: Jeremie Le Hen <jeremie@le-hen.org>
|
#
4d52a575 |
|
20-Jun-2008 |
Xin LI <delphij@FreeBSD.org> |
Add et(4), a port of DragonFly's Agere ET1310 10/100/Gigabit Ethernet device driver, written by sephe@ Obtained from: DragonFly Sponsored by: iXsystems MFC after: 2 weeks
|
#
a0faacaa |
|
14-Jun-2008 |
Robert Watson <rwatson@FreeBSD.org> |
When NETATALK is compiled into the kernel, at_rmx.c is required regardless of whether NETATALKDEBUG is enabled, so make building it conditional on NETATALK instead. This problem appears to have been present from the time that the netatalk implementation was imported. PR: 124456 Submitted by: Nathan Whitehorn <whitehorn at wisc dot edu> MFC after: 3 days
|
#
66764126 |
|
11-Jun-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
Add LRO into kernel build
|
#
694c6518 |
|
05-Jun-2008 |
Benno Rice <benno@FreeBSD.org> |
This is a rewritten driver for the SMSC LAN91C111. It's based in part on the sn(4) driver and also looking at newer drivers. The reason for the rewrite is to support MII and to try and resolve some performance issues found when trying to use the sn(4) driver on the Gumstix network boards. For reference, the SMSC LAN91C111 is a non-PCI ethernet part whose lineage dates back to Ye Olde Days of ISA. It seems to get some use in the embedded space these days on parts lacking on-board MACs or on-board PCI controllers, such as the XScale PXA line of ARM CPUs. This also includes a driver for the SMSC LAN83C183 10/100 PHY. Man page to follow.
|
#
09a80aba |
|
27-May-2008 |
Ed Schouten <ed@FreeBSD.org> |
Rename `tty_subr.c' to `subr_clist.c'. Because clists are also used outside the TTY layer, rename the file containing the clist routines to something more accurate. The mpsafetty TTY layer doesn't use clists. It uses its own buffers, which also implement the unbuffered copying to userspace. We cannot simply remove the clist routines then, because this would break various drivers that are present within the kernel. Approved by: philip (mentor)
|
#
75a1bf5f |
|
26-May-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Hook up jme(4) to the build.
|
#
5defec9f |
|
26-May-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Connect jmphy(4) to the build.
|
#
2e598474 |
|
26-May-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and parts relied on the now removed NET_NEEDS_GIANT. Most of I4B has been disconnected from the build since July 2007 in HEAD/RELENG_7. This is what was removed: - configuration in /etc/isdn - examples - man pages - kernel configuration - sys/i4b (drivers, layers, include files) - user space tools - i4b support from ppp - further documentation Discussed with: rwatson, re
|
#
e4372ceb |
|
25-May-2008 |
Robert Watson <rwatson@FreeBSD.org> |
Remove netatm from HEAD as it is not MPSAFE and relies on the now removed NET_NEEDS_GIANT. netatm has been disconnected from the build for ten months in HEAD/RELENG_7. Specifics: - netatm include files - netatm command line management tools - libatm - ATM parts in rescue and sysinstall - sample configuration files and documents - kernel support as a module or in NOTES - netgraph wrapper nodes for netatm - ctags data for netatm. - netatm-specific device drivers. MFC after: 3 weeks Reviewed by: bz Discussed with: bms, bz, harti
|
#
cfef026a |
|
18-May-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Hook up age(4) to the build.
|
#
5618f1be |
|
18-May-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Connect atphy(4) to the build.
|
#
5ed1b46b |
|
18-May-2008 |
John Birrell <jb@FreeBSD.org> |
Add a couple of files which depend of the KDTRACE_HOOKS option. The syscall names are required by KDTRACE_HOOKS too. And the unzip
|
#
9ca4041b |
|
16-May-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
This is driver version 1.4.4 of the Intel ixgbe driver. -It has new hardware support -It uses a new method of TX cleanup called Head Write Back -It includes the provisional generic TCP LRO feature contributed by Myricom and made general purpose by me. This should move into the stack upon approval but for this driver drop its in here. -Also bug fixes and etc... MFC in a week if no serious issues arise.
|
#
ee98c4a5 |
|
06-May-2008 |
John Baldwin <jhb@FreeBSD.org> |
Add a new personality to mpt(4) devices to allow userland applications to perform various operations on a controller. Specifically, for each mpt(4) device, create a character device in devfs which accepts ioctl requests for reading and writing configuration pages and performing RAID actions. MFC after: 1 week Reviewed by: scottl
|
#
3971d07b |
|
29-Apr-2008 |
Sam Leffler <sam@FreeBSD.org> |
Intel 4965 wireless driver (derived from openbsd driver of the same name)
|
#
d74e3f17 |
|
25-Apr-2008 |
Sam Leffler <sam@FreeBSD.org> |
add rules for statically embedding ipw, iwi, ral, and wpi firmware modules
|
#
0051271e |
|
21-Apr-2008 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make genclock standard on all platforms. Thanks to: grehan & marcel for platform support on ia64 and ppc.
|
#
b032f27c |
|
20-Apr-2008 |
Sam Leffler <sam@FreeBSD.org> |
Multi-bss (aka vap) support for 802.11 devices. Note this includes changes to all drivers and moves some device firmware loading to use firmware(9) and a separate module (e.g. ral). Also there no longer are separate wlan_scan* modules; this functionality is now bundled into the wlan module. Supported by: Hobnob and Marvell Reviewed by: many Obtained from: Atheros (some bits)
|
#
f4463607 |
|
20-Apr-2008 |
Sam Leffler <sam@FreeBSD.org> |
move awi to the Attic; it will not make the jump to the new world order Reviewed by: imp
|
#
46b0a854 |
|
18-Apr-2008 |
Kip Macy <kmacy@FreeBSD.org> |
move cxgb_lt2.[ch] from NIC to TOE move most offload functionality from NIC to TOE factor out all socket and inpcb direct access factor out access to locking in incpb, pcbinfo, and sockbuf
|
#
5e2c2d87 |
|
16-Apr-2008 |
Randall Stewart <rrs@FreeBSD.org> |
Allow SCTP to compile without INET6. PR: 116816 Obtained from tuexen@fh-muenster.de: MFC after: 2 weeks
|
#
e440aed9 |
|
12-Apr-2008 |
Qing Li <qingli@FreeBSD.org> |
This patch provides the back end support for equal-cost multi-path (ECMP) for both IPv4 and IPv6. Previously, multipath route insertion is disallowed. For example, route add -net 192.103.54.0/24 10.9.44.1 route add -net 192.103.54.0/24 10.9.44.2 The second route insertion will trigger an error message of "add net 192.103.54.0/24: gateway 10.2.5.2: route already in table" Multiple default routes can also be inserted. Here is the netstat output: default 10.2.5.1 UGS 0 3074 bge0 => default 10.2.5.2 UGS 0 0 bge0 When multipath routes exist, the "route delete" command requires a specific gateway to be specified or else an error message would be displayed. For example, route delete default would fail and trigger the following error message: "route: writing to routing socket: No such process" "delete net default: not in table" On the other hand, route delete default 10.2.5.2 would be successful: "delete net default: gateway 10.2.5.2" One does not have to specify a gateway if there is only a single route for a particular destination. I need to perform more testings on address aliases and multiple interfaces that have the same IP prefixes. This patch as it stands today is not yet ready for prime time. Therefore, the ECMP code fragments are fully guarded by the RADIX_MPATH macro. Include the "options RADIX_MPATH" in the kernel configuration to enable this feature. Reviewed by: robert, sam, gnn, julian, kmacy
|
#
8cecae25 |
|
03-Apr-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
Fix the build breakage, need the | between dependencies, I didn't realize that :(
|
#
e9d8b9c3 |
|
02-Apr-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
This update primarily addresses the ability to have both the em and the igb driver static in the kernel. But it also reflects some other bug fixes in my development stream at Intel. PR 122373 is also fixed in this code.
|
#
ffbb71c6 |
|
31-Mar-2008 |
Sam Leffler <sam@FreeBSD.org> |
add include path required to find ah_osdep.h PR: kern/122145 MFC after: 3 days
|
#
b03fab12 |
|
28-Mar-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add support for PC-9800 partition tables.
|
#
dfdcada3 |
|
26-Mar-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Add the new kernel-mode NFS Lock Manager. To use it instead of the user-mode lock manager, build a kernel with the NFSLOCKD option and add '-k' to 'rpc_lockd_flags' in rc.conf. Highlights include: * Thread-safe kernel RPC client - many threads can use the same RPC client handle safely with replies being de-multiplexed at the socket upcall (typically driven directly by the NIC interrupt) and handed off to whichever thread matches the reply. For UDP sockets, many RPC clients can share the same socket. This allows the use of a single privileged UDP port number to talk to an arbitrary number of remote hosts. * Single-threaded kernel RPC server. Adding support for multi-threaded server would be relatively straightforward and would follow approximately the Solaris KPI. A single thread should be sufficient for the NLM since it should rarely block in normal operation. * Kernel mode NLM server supporting cancel requests and granted callbacks. I've tested the NLM server reasonably extensively - it passes both my own tests and the NFS Connectathon locking tests running on Solaris, Mac OS X and Ubuntu Linux. * Userland NLM client supported. While the NLM server doesn't have support for the local NFS client's locking needs, it does have to field async replies and granted callbacks from remote NLMs that the local client has contacted. We relay these replies to the userland rpc.lockd over a local domain RPC socket. * Robust deadlock detection for the local lock manager. In particular it will detect deadlocks caused by a lock request that covers more than one blocking request. As required by the NLM protocol, all deadlock detection happens synchronously - a user is guaranteed that if a lock request isn't rejected immediately, the lock will eventually be granted. The old system allowed for a 'deferred deadlock' condition where a blocked lock request could wake up and find that some other deadlock-causing lock owner had beaten them to the lock. * Since both local and remote locks are managed by the same kernel locking code, local and remote processes can safely use file locks for mutual exclusion. Local processes have no fairness advantage compared to remote processes when contending to lock a region that has just been unlocked - the local lock manager enforces a strict first-come first-served model for both local and remote lockers. Sponsored by: Isilon Systems PR: 95247 107555 115524 116679 MFC after: 2 weeks
|
#
4d621040 |
|
24-Mar-2008 |
Christian S.J. Peron <csjp@FreeBSD.org> |
Introduce support for zero-copy BPF buffering, which reduces the overhead of packet capture by allowing a user process to directly "loan" buffer memory to the kernel rather than using read(2) to explicitly copy data from kernel address space. The user process will issue new BPF ioctls to set the shared memory buffer mode and provide pointers to buffers and their size. The kernel then wires and maps the pages into kernel address space using sf_buf(9), which on supporting architectures will use the direct map region. The current "buffered" access mode remains the default, and support for zero-copy buffers must, for the time being, be explicitly enabled using a sysctl for the kernel to accept requests to use it. The kernel and user process synchronize use of the buffers with atomic operations, avoiding the need for system calls under load; the user process may use select()/poll()/kqueue() to manage blocking while waiting for network data if the user process is able to consume data faster than the kernel generates it. Patchs to libpcap are available to allow libpcap applications to transparently take advantage of this support. Detailed information on the new API may be found in bpf(4), including specific atomic operations and memory barriers required to synchronize buffer use safely. These changes modify the base BPF implementation to (roughly) abstrac the current buffer model, allowing the new shared memory model to be added, and add new monitoring statistics for netstat to print. The implementation, with the exception of some monitoring hanges that break the netstat monitoring ABI for BPF, will be MFC'd. Zerocopy bpf buffers are still considered experimental are disabled by default. To experiment with this new facility, adjust the net.bpf.zerocopy_enable sysctl variable to 1. Changes to libpcap will be made available as a patch for the time being, and further refinements to the implementation are expected. Sponsored by: Seccuris Inc. In collaboration with: rwatson Tested by: pwood, gallatin MFC after: 4 months [1] [1] Certain portions will probably not be MFCed, specifically things that can break the monitoring ABI.
|
#
9727e637 |
|
19-Mar-2008 |
Jeff Roberson <jeff@FreeBSD.org> |
- Restore runq to manipulating threads directly by putting runq links and rqindex back in struct thread. - Compile kern_switch.c independently again and stop #include'ing it from schedulers. - Remove the ts_thread backpointers and convert most code to go from struct thread to struct td_sched. - Cleanup the ts_flags #define garbage that was causing us to sometimes do things that expanded to td->td_sched->ts_thread->td_flags in 4BSD. - Export the kern.sched sysctl node in sysctl.h
|
#
1fa94a36 |
|
18-Mar-2008 |
Alan Cox <alc@FreeBSD.org> |
Almost seven years ago, vm/vm_page.c was split into three parts: vm/vm_contig.c, vm/vm_page.c, and vm/vm_pageq.c. Today, vm/vm_pageq.c has withered to the point that it contains only four short functions, two of which are only used by vm/vm_page.c. Since I can't foresee any reason for vm/vm_pageq.c to grow, it is time to fold the remaining contents of vm/vm_pageq.c back into vm/vm_page.c. Add some comments. Rename one of the functions, vm_pageq_enqueue(), that is now static within vm/vm_page.c to vm_page_enqueue(). Eliminate PQ_MAXCOUNT as it no longer serves any purpose.
|
#
6617724c |
|
12-Mar-2008 |
Jeff Roberson <jeff@FreeBSD.org> |
Remove kernel support for M:N threading. While the KSE project was quite successful in bringing threading to FreeBSD, the M:N approach taken by the kse library was never developed to its full potential. Backwards compatibility will be provided via libmap.conf for dynamically linked binaries and static binaries will be broken.
|
#
daeba9bd |
|
10-Mar-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Update file list and Makefile after repocopying vr(4) from src/sys/pci to src/sys/dev.
|
#
603d67ae |
|
06-Mar-2008 |
Rink Springer <rink@FreeBSD.org> |
Commit cmx(4), a driver for Omnikey CardMan 4040 PCMCIA smartcard readers. PR: kern/114582 Submitted by: Daniel Roethlisberger <daniel@roe.ch> Reviewed by: imp, myself Tested by: johans, myself MFC after: 2 weeks
|
#
2e7328e7 |
|
05-Mar-2008 |
Rink Springer <rink@FreeBSD.org> |
Import uslcom(4) from OpenBSD - this is a driver for Silicon Laboratories CP2101/CP2102 based USB serial adapters. Reviewed by: imp, emaste Obtained from: OpenBSD MFC after: 2 weeks
|
#
321578e3 |
|
03-Mar-2008 |
Rafal Jaworowski <raj@FreeBSD.org> |
Connect MPC85XX to the PowerPC build. The kernel config file is KERNCONF=MPC85XX, so the usual procedure applies: 1. make buildworld TARGET_ARCH=powerpc 2. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX This default config uses kernel-level FPU emulation. For the soft-float world approach: 1. make buildworld TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 2. disable FPU_EMU option in sys/powerpc/conf/MPC85XX 3. make buildkernel TARGET_ARCH=powerpc TARGET_CPUTYPE=e500 KERNCONF=MPC85XX Approved by: cognet (mentor) MFp4: e500
|
#
d7f687fc |
|
02-Mar-2008 |
Jeff Roberson <jeff@FreeBSD.org> |
Add cpuset, an api for thread to cpu binding and cpu resource grouping and assignment. - Add a reference to a struct cpuset in each thread that is inherited from the thread that created it. - Release the reference when the thread is destroyed. - Add prototypes for syscalls and macros for manipulating cpusets in sys/cpuset.h - Add syscalls to create, get, and set new numbered cpusets: cpuset(), cpuset_{get,set}id() - Add syscalls for getting and setting affinity masks for cpusets or individual threads: cpuid_{get,set}affinity() - Add types for the 'level' and 'which' parameters for the cpuset. This will permit expansion of the api to cover cpu masks for other objects identifiable with an id_t integer. For example, IRQs and Jails may be coming soon. - The root set 0 contains all valid cpus. All thread initially belong to cpuset 1. This permits migrating all threads off of certain cpus to reserve them for special applications. Sponsored by: Nokia Discussed with: arch, rwatson, brooks, davidxu, deischen Reviewed by: antoine
|
#
909f20c8 |
|
01-Mar-2008 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add support for VTOC8 labels (aka sun disk labels). When a label does not have VTOC information about the partitions, it will be created. This is because the VTOC information is used for the partition type and FreeBSD's sunlabel(8) does not create nor use VTOC information. For this purpose, new tags have been added to support FreeBSD's partition types.
|
#
cee379a8 |
|
29-Feb-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
Somehow missed the stanza for 575 in the em driver
|
#
531c890b |
|
29-Feb-2008 |
Paolo Pisati <piso@FreeBSD.org> |
Move ipfw's nat code into its own kld: ipfw_nat.
|
#
f75ef9e4 |
|
29-Feb-2008 |
Jack F Vogel <jfv@FreeBSD.org> |
This change introduces a split to the Intel E1000 driver, now rather than just em, there is an igb driver (this follows behavior with our Linux drivers). All adapters up to the 82575 are supported in em, and new client/desktop support will continue to be in that adapter. The igb driver is for new server NICs like the 82575 and its followons. Advanced features for virtualization and performance will be in this driver. Also, both drivers now have shared code that is up to the latest we have released. Some stylistic changes as well. Enjoy :)
|
#
404825a7 |
|
25-Feb-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Move firmware in to separate module that can be compiled statically in to the kernel Add utility for converting future firmware revs to a C header file
|
#
1669d8af |
|
20-Feb-2008 |
Andrew Thompson <thompsa@FreeBSD.org> |
Rename geom_lvm(4) to geom_linux_lvm(4). Requested by: des, phk
|
#
ff44888c |
|
13-Feb-2008 |
Robert Watson <rwatson@FreeBSD.org> |
Remove coda_namecache from "options vcoda", it is no longer required. MFC after: 1 month Spotted by: Tinderbox
|
#
2b8d4f5b |
|
10-Feb-2008 |
Andrew Thompson <thompsa@FreeBSD.org> |
Hook geom_lvm(4) up to the build.
|
#
d47d37af |
|
26-Jan-2008 |
Marius Strobl <marius@FreeBSD.org> |
Add a driver for the National Semiconductor DP83815, DP83843 and DP83847 PHYs. The main reason for using a specific driver for these PHYs are reset quirks similar to the nsphy(4) driven DP83840A. PR: 112654 Obtained from: NetBSD MFC after: 2 weeks Thanks to: mlaier for testing w/ DP83815
|
#
6bf42daa |
|
20-Jan-2008 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Update file list and Makefile after repocopying sf(4) from src/sys/pci to src/sys/dev.
|
#
1e413cf9 |
|
15-Jan-2008 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Add optional support to mxge for MSI-X interrupts and multiple receive queues (which we call slices). The NIC will steer traffic into up to hw.mxge.max_slices different receive rings based on a configurable hash type (hw.mxge.rss_hash_type). Currently the driver defaults to using a single slice, so the default behavior is unchanged. Also, transmit from non-zero slices is disabled currently.
|
#
20532d11 |
|
13-Jan-2008 |
Kip Macy <kmacy@FreeBSD.org> |
Add cxgb_multiq.c to the cxgb build for static linking
|
#
8e38aeff |
|
08-Jan-2008 |
John Baldwin <jhb@FreeBSD.org> |
Add a new file descriptor type for IPC shared memory objects and use it to implement shm_open(2) and shm_unlink(2) in the kernel: - Each shared memory file descriptor is associated with a swap-backed vm object which provides the backing store. Each descriptor starts off with a size of zero, but the size can be altered via ftruncate(2). The shared memory file descriptors also support fstat(2). read(2), write(2), ioctl(2), select(2), poll(2), and kevent(2) are not supported on shared memory file descriptors. - shm_open(2) and shm_unlink(2) are now implemented as system calls that manage shared memory file descriptors. The virtual namespace that maps pathnames to shared memory file descriptors is implemented as a hash table where the hash key is generated via the 32-bit Fowler/Noll/Vo hash of the pathname. - As an extension, the constant 'SHM_ANON' may be specified in place of the path argument to shm_open(2). In this case, an unnamed shared memory file descriptor will be created similar to the IPC_PRIVATE key for shmget(2). Note that the shared memory object can still be shared among processes by sharing the file descriptor via fork(2) or sendmsg(2), but it is unnamed. This effectively serves to implement the getmemfd() idea bandied about the lists several times over the years. - The backing store for shared memory file descriptors are garbage collected when they are not referenced by any open file descriptors or the shm_open(2) virtual namespace. Submitted by: dillon, peter (previous versions) Submitted by: rwatson (I based this on his version) Reviewed by: alc (suggested converting getmemfd() to shm_open())
|
#
f8a47341 |
|
29-Dec-2007 |
Alan Cox <alc@FreeBSD.org> |
Add the superpage reservation system. This is "part 2 of 2" of the machine-independent support for superpages. (The earlier part was the rewrite of the physical memory allocator.) The remainder of the code required for superpages support is machine-dependent and will be added to the various pmap implementations at a later date. Initially, I am only supporting one large page size per architecture. Moreover, I am only enabling the reservation system on amd64. (In an emergency, it can be disabled by setting VM_NRESERVLEVELS to 0 in amd64/include/vmparam.h or your kernel configuration file.)
|
#
618c7db3 |
|
26-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add textdump(4) facility, which provides an alternative form of kernel dump using mechanically generated/extracted debugging output rather than a simple memory dump. Current sources of debugging output are: - DDB output capture buffer, if there is captured output to save - Kernel message buffer - Kernel configuration, if included in kernel - Kernel version string - Panic message Textdumps are stored in swap/dump partitions as with regular dumps, but are laid out as ustar files in order to allow multiple parts to be stored as a stream of sequentially written blocks. Blocks are written out in reverse order, as the size of a textdump isn't known a priori. As with regular dumps, they will be extracted using savecore(8). One new DDB(4) command is added, "textdump", which accepts "set", "unset", and "status" arguments. By default, normal kernel dumps are generated unless "textdump set" is run in order to schedule a textdump. It can be canceled using "textdump unset" to restore generation of a normal kernel dump. Several sysctls exist to configure aspects of textdumps; debug.ddb.textdump.pending can be set to check whether a textdump is pending, or set/unset in order to control whether the next kernel dump will be a textdump from userspace. While textdumps don't have to be generated as a result of a DDB script run automatically as part of a kernel panic, this is a particular useful way to use them, as instead of generating a complete memory dump, a simple transcript of an automated DDB session can be captured using the DDB output capture and textdump facilities. This can be used to generate quite brief kernel bug reports rich in debugging information but not dependent on kernel symbol tables or precisely synchronized source code. Most textdumps I generate are less than 100k including the full message buffer. Using textdumps with an interactive debugging session is also useful, with capture being enabled/disabled in order to record some but not all of the DDB session. MFC after: 3 months
|
#
c9b0cc3b |
|
26-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add a simple scripting facility to DDB(4), allowing the user to define a set of named scripts. Each script consists of a list of DDB commands separated by ";"s that will be executed verbatim. No higher level language constructs, such as branching, are provided for: scripts are executed by sequentially injecting commands into the DDB input buffer. Four new commands are present in DDB: "run" to run a specific script, "script" to define or print a script, "scripts" to list currently defined scripts, and "unscript" to delete a script, modeled on shell alias commands. Scripts may also be manipulated using sysctls in the debug.ddb.scripting MIB space, although users will prefer to use the soon-to-be-added ddb(8) tool for usability reasons. Scripts with certain names are automatically executed on various DDB events, such as entering the debugger via a panic, a witness error, watchdog, breakpoint, sysctl, serial break, etc, allowing customized handling. MFC after: 3 months
|
#
086fec57 |
|
25-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add a new DDB(4) facility, output capture. Input and output from DDB may be captured to a memory buffer for later inspection using sysctl(8), or in the future, to a textdump. A new DDB command, "capture", is added, which accepts arguments "on", "off", "reset", and "status". A new DDB sysctl tree, debug.ddb.capture, is added, which can be used to resize the capture buffer and extract buffer contents. MFC after: 3 months
|
#
228d1e26 |
|
17-Dec-2007 |
Kip Macy <kmacy@FreeBSD.org> |
build tcp_offload.c instead of tcp_ofld.c
|
#
620721db |
|
12-Dec-2007 |
Kip Macy <kmacy@FreeBSD.org> |
Add driver independent interface to offload active established TCP connections Reviewed by: silby
|
#
5aaa8fef |
|
05-Dec-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add a BSD disklabel backend to g_part: o Disklabels can have between 8 and 20 partitions (inclusive). o No device special file is created for the raw partition. o Switch ia64 to use this backend. o No support for boot code yet.
|
#
3c90d1ea |
|
02-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson)
|
#
d31fc8ce |
|
01-Dec-2007 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove XRPU driver, after asking all the users.
|
#
c6fa9175 |
|
21-Nov-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Alphabetize pts before pty. MFC after: 3 days
|
#
dbac8ff4 |
|
12-Nov-2007 |
John Baldwin <jhb@FreeBSD.org> |
Move the agp(4) driver from sys/pci to sys/dev/agp. __FreeBSD_version was bumped to 800004 to note the change though userland apps should not be affected since they use <sys/agpio.h> rather than the headers in sys/dev/agp. Discussed with: anholt Repocopy by: simon
|
#
f53d15fe |
|
08-Nov-2007 |
Stephan Uphoff <ups@FreeBSD.org> |
Initial checkin for rmlock (read mostly lock) a multi reader single writer lock optimized for almost exclusive reader access. (see also rmlock.9) TODO: Convert to per cpu variables linkerset as soon as it is available. Optimize UP (single processor) case.
|
#
b9b0dac3 |
|
28-Oct-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Move towards more explicit support for various network protocol stacks in the TrustedBSD MAC Framework: - Add mac_atalk.c and add explicit entry point mac_netatalk_aarp_send() for AARP packet labeling, rather than using a generic link layer entry point. - Add mac_inet6.c and add explicit entry point mac_netinet6_nd6_send() for ND6 packet labeling, rather than using a generic link layer entry point. - Add expliict entry point mac_netinet_arp_send() for ARP packet labeling, and mac_netinet_igmp_send() for IGMP packet labeling, rather than using a generic link layer entry point. - Remove previous genering link layer entry point, mac_mbuf_create_linklayer() as it is no longer used. - Add implementations of new entry points to various policies, largely by replicating the existing link layer entry point for them; remove old link layer entry point implementation. - Make MAC_IFNET_LOCK(), MAC_IFNET_UNLOCK(), and mac_ifnet_mtx global to the MAC Framework rather than static to mac_net.c as it is now needed outside of mac_net.c. Obtained from: TrustedBSD Project
|
#
8bb84cef |
|
27-Oct-2007 |
Sam Leffler <sam@FreeBSD.org> |
fix build
|
#
a9d185b2 |
|
25-Oct-2007 |
David E. O'Brien <obrien@FreeBSD.org> |
Align.
|
#
9f05d312 |
|
15-Oct-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
Backout sensors framework. Requested by: phk Discussed on: cvs-all
|
#
989500bf |
|
14-Oct-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
Import it(4) and lm(4), supporting most popular Super I/O Hardware Monitors. Submitted by: Constantine A. Murenin <cnst@FreeBSD.org> Sponsored by: Google Summer of Code 2007 (GSoC2007/cnst-sensors) Mentored by: syrinx Tested by: many OKed by: kensmith Obtained from: OpenBSD (parts)
|
#
99f6b270 |
|
14-Oct-2007 |
Alexander Leidinger <netchild@FreeBSD.org> |
Import OpenBSD's sysctl hardware sensors framework. This commit includes the following core components: * sample configuration file for sensorsd * rc(8) script and glue code for sensorsd(8) * sysctl(3) doc fixes for CTL_HW tree * sysctl(3) documentation for hardware sensors * sysctl(8) documentation for hardware sensors * support for the sensor structure for sysctl(8) * rc.conf(5) documentation for starting sensorsd(8) * sensor_attach(9) et al documentation * /sys/kern/kern_sensors.c o sensor_attach(9) API for drivers to register ksensors o sensor_task_register(9) API for the update task o sysctl(3) glue code o hw.sensors shadow tree for sysctl(8) internal magic * <sys/sensors.h> * HW_SENSORS definition for <sys/sysctl.h> * sensors display for systat(1), including documentation * sensorsd(8) and all applicable documentation The userland part of the framework is entirely source-code compatible with OpenBSD 4.1, 4.2 and -current as of today. All sensor readings can be viewed with `sysctl hw.sensors`, monitored in semi-realtime with `systat -sensors` and also logged with `sensorsd`. Submitted by: Constantine A. Murenin <cnst@FreeBSD.org> Sponsored by: Google Summer of Code 2007 (GSoC2007/cnst-sensors) Mentored by: syrinx Tested by: many OKed by: kensmith Obtained from: OpenBSD (parts)
|
#
f854db0b |
|
23-Sep-2007 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Bring in the GEOM Virtualisation class, which allows to create huge GEOM providers with limited physical storage and add physical storage as needed. Submitted by: Ivan Voras Sponsored by: Google Summer of Code 2006 Approved by: re (kensmith)
|
#
69fc43c0 |
|
08-Aug-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Compile ipfilter:ip_lookup.c without -Werror. The file contains a test that assumes that char is signed by default and causes a warning with GCC 4.2 on PowerPC. A patch has been sent to the maintainer that addresses this. Approved by: re (blanket)
|
#
c5933b20 |
|
24-Jul-2007 |
Scott Long <scottl@FreeBSD.org> |
Introduce Danny Braniss' iSCSI initiator, version 2.0.99. Please read the included man pages on how to use it. This code is still somewhat experimental but has been successfully tested on a number of targets. Many thanks to Danny for contributing this. Approved by: re
|
#
8136d21e |
|
23-Jul-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Continue effort to align UDPv4 and UDPv6 implementations by merging udp6_output() from udp6_output.c to udp6_usrreq.c, matching the UDPv4 structure, and allowing us to remove udp6_output.c. Reviewed by: bz, gnn Approved by: re (bmah)
|
#
f9ae0280 |
|
19-Jul-2007 |
Andrew Gallatin <gallatin@FreeBSD.org> |
- Enable static building of mxge(4) and its firmware. - Add custom .c wrappers for the firmware, rather than the standard firmware(9) generated firmware objects to work around toolchain problems on ia64 involving linking objects produced by ld -b -binary into the kernel. - Move from using Myricom's ".dat" firmware blobs to using Myricom's zlib compressed ".h" firmware header files. This is done to facilitate the custom wrappers, and saves a fair amount of wired memory in the case where the firmware is built in, or preloaded. - Fix two compile issues in mxge which only appear on non-i386/amd64. Reviewed by: mlaier, mav (earlier version with just zlib support) Glanced at by: sam Approved by: re (kensmith)
|
#
2b851aeb |
|
14-Jul-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Disconnect netatm from the build as it is not MPSAFE and relies on NET_NEEDS_GIANT, which will shortly be removed. This is done in a away that it may be easily reattached to the build before 7.1 if appropriate locking is added. Specifics: - Don't install netatm include files - Disconnect netatm command line management tools - Don't build libatm - Don't include ATM parts in rescue or sysinstall - Don't install sample configuration files and documents - Don't build kernel support as a module or in NOTES - Don't build netgraph wrapper nodes for netatm This removes the last remaining consumer of NET_NEEDS_GIANT. Reviewed by: harti Discussed with: bz, bms Approved by: re (kensmith)
|
#
b54d3a6c |
|
14-Jul-2007 |
Randall Stewart <rrs@FreeBSD.org> |
- Modular congestion control, with RFC2581 being the default. - CMT_PF states added (w/sysctl to turn the PF version on) - sctp_input.c had a missing incr of cookie case when the auth was bad. This meant a free was called without an increment to refcnt, added increment like rest of code. - There was a case, unlikely, when the scope of the destination changed (this is a TSNH case). In that case, it would not free the alloc'ed asoc (in sctp_input.c). - When listed addresses found a colliding cookie/Init, then the collided upon tcb was not unlocked in sctp_pcb.c - Add error checking on arguments of sctp_sendx(3) to prevent it from referencing a NULL pointer. - Fix an error return of sctp_sendx(3), it was returing ENOMEM not -1. - Get assoc id was changed to use the sanctified socket api method for getting a assoc id (PEER_ADDR_INFO instead of PEER_ADDR_PARAMS). - Fix it so a peeled off socket will get a proper error return if it trys to send to a different address then it is connected to. - Fix so that select_a_stream can avoid an endless loop that could hang a caller. - time_entered (state set time) was not being set in all cases to the time we went established. Approved by: re(ken smith)
|
#
00f05dc8 |
|
12-Jul-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Complete repo-copy and move of Coda from src/sys/coda to src/sys/fs/coda by removing files from src/sys/coda, and updating include paths in the new location, kernel configuration, and Makefiles. In one case add $FreeBSD$. Discussed with: anderson, Jan Harkes <jaharkes@cs.cmu.edu> Approved by: re (kensmith) Repo-copy madness: simon
|
#
c27bff78 |
|
11-Jul-2007 |
Jack F Vogel <jfv@FreeBSD.org> |
New driver for Intel 10G PCI-Express adapter (82598), driver is still in Beta, but we want early users to have access to it in 7.0, Feedback welcome. Enjoy. -Jack Approved by: re
|
#
e22a271e |
|
05-Jul-2007 |
Max Laier <mlaier@FreeBSD.org> |
Remove unused variable from pf_subr.c to make it -Werror buildable. Approved by: re (kensmith)
|
#
40854247 |
|
05-Jul-2007 |
Peter Wemm <peter@FreeBSD.org> |
Compile pf/pf_subr.c and netnatm/cc_conn.c without -Werror for the time being. Approved by: re (rwatson)
|
#
5e49926a |
|
03-Jul-2007 |
Tai-hwa Liang <avatar@FreeBSD.org> |
Reintroducing !INET6 + IPSEC building fix which was accidentally reverted in rev. 1.1229. Approved by: re (kensmith)
|
#
118043c6 |
|
03-Jul-2007 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Temporary disconnect i4bing, i4bisppp and i4bipr from the build for the 7.0 timeframe. This is needed because I4B is not locked and NET_NEEDS_GIANT goes away. The plan is to lock I4B and bring everything back for 7.1. Approved by: re (kensmith)
|
#
60ee3847 |
|
02-Jul-2007 |
Max Laier <mlaier@FreeBSD.org> |
Link pf 4.1 to the build: - move ftp-proxy from libexec to usr.sbin - add tftp-proxy - new altq mtag link Approved by: re (kensmith)
|
#
b2630c29 |
|
02-Jul-2007 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC option is now deprecated, as well as the KAME IPsec code. What was FAST_IPSEC is now IPSEC. Approved by: re Sponsored by: Secure Computing
|
#
1a1f3aa1 |
|
03-Jul-2007 |
Tai-hwa Liang <avatar@FreeBSD.org> |
Fixing !INET6 + FAST_IPSEC builds. Reviewed by: gnn Approved by: re (kensmith)
|
#
0a458381 |
|
30-Jun-2007 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Remove a dangling file reference that is no longer needed with the removal of KAME IPsec Reviewed by: bz Approved by: re Supported by: Secure Computing
|
#
2cb64cb2 |
|
01-Jul-2007 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Commit IPv6 support for FAST_IPSEC to the tree. This commit includes only the kernel files, the rest of the files will follow in a second commit. Reviewed by: bz Approved by: re Supported by: Secure Computing
|
#
fd3ddbd0 |
|
29-Jun-2007 |
Sam Leffler <sam@FreeBSD.org> |
Neterion Xframe 10GbE Server/Storage adapter driver. The nxge driver provides support for Neterion Xframe-I and Xframe-II adapters. The driver supports TCP Segmentation Offload (TSO/LSO), Jumbo frames (5 buffer mode), Header separation (2 and 3 Receive buffer modes), VLAN, and Promiscuous mode. Submitted by: Neterion Reviewed by: rwatson Approved by: re (kensmith)
|
#
9b258fca |
|
28-Jun-2007 |
Xin LI <delphij@FreeBSD.org> |
MFp4: - Remove unnecessary NULL checks after M_WAITOK allocations. - Use VOP_ACCESS instead of hand-rolled suser_cred() calls. [1] - Use malloc(9) KPI to allocate memory for string. The optimization taken from NetBSD is not valid for FreeBSD because our malloc(9) already act that way. [2] Requested by: rwatson [1] Submitted by: Howard Su [2] Approved by: re (tmpfs blanket)
|
#
534046e3 |
|
24-Jun-2007 |
Rong-En Fan <rafan@FreeBSD.org> |
- Remove UMAP filesystem. It was disconnected from build three years ago, and it is seriously broken. Discussed on: freebsd-arch@ Approved by: re (mux)
|
#
2446e4f0 |
|
15-Jun-2007 |
Alan Cox <alc@FreeBSD.org> |
Enable the new physical memory allocator. This allocator uses a binary buddy system with a twist. First and foremost, this allocator is required to support the implementation of superpages. As a side effect, it enables a more robust implementation of contigmalloc(9). Moreover, this reimplementation of contigmalloc(9) eliminates the acquisition of Giant by contigmalloc(..., M_NOWAIT, ...). The twist is that this allocator tries to reduce the number of TLB misses incurred by accesses through a direct map to small, UMA-managed objects and page table pages. Roughly speaking, the physical pages that are allocated for such purposes are clustered together in the physical address space. The performance benefits vary. In the most extreme case, a uniprocessor kernel running on an Opteron, I measured an 18% reduction in system time during a buildworld. This allocator does not implement page coloring. The reason is that superpages have much the same effect. The contiguous physical memory allocation necessary for a superpage is inherently colored. Finally, the one caveat is that this allocator does not effectively support prezeroed pages. I hope this is temporary. On i386, this is a slight pessimization. However, on amd64, the beneficial effects of the direct-map optimization outweigh the ill effects. I speculate that this is true in general of machines with a direct map. Approved by: re
|
#
d1fa59e9 |
|
15-Jun-2007 |
Xin LI <delphij@FreeBSD.org> |
MFp4: Add tmpfs, an efficient memory file system. Please note that, this is currently considered as an experimental feature so there could be some rough edges. Consult http://wiki.freebsd.org/TMPFS for more information. For now, connect tmpfs to build on i386 and amd64 architectures only. Please let us know if you have success with other platforms. This work was developed by Julio M. Merino Vidal for NetBSD as a SoC project; Rohit Jalan ported it from NetBSD to FreeBSD. Howard Su and Glen Leeder are worked on it to continue this effort. Obtained from: NetBSD via p4 Submitted by: Howard Su (with some minor changes) Approved by: re (kensmith)
|
#
2281b8f0 |
|
13-Jun-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Remove IPX over IP tunneling support, which allows IPX routing over IP tunnels, and was not MPSAFE. The code can be easily restored in the event that someone with an IPX over IP tunnel configuration can work with me to test patches. This removes one of five remaining consumers of NET_NEEDS_GIANT. Approved by: re (kensmith)
|
#
ef72318f |
|
12-Jun-2007 |
Kip Macy <kmacy@FreeBSD.org> |
- import new common code for the T304 - update to firmware version 4.1.0 - switch over to standard method for initializing cdevs (contributed by scottl@) - break out timer_reclaim_task to be per-port - move msix teardown into separate function - fix bus_setup_intr for msi-x for the multi-port case so that msi-x resources are not corrupted on unload - handle 10/100/1000 base-T media and auto negotiation - bind qset to cpu even for singleq case - white space cleanups - remove recursive PORT_LOCK - move mtu setting to separate function - stop and re-init port when changing mtu - replace all direct references to m_data with calls to mtod - handle attach failure better by not trying to de-initialize taskqueues when they have not been allocated - no longer default to jumbo frames Sponsored by: Chelsio MFC after: 3 days
|
#
6bc50445 |
|
12-Jun-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add the MBR partitioning scheme to g_part. This does not yet support the ability to install boot code.
|
#
71498f30 |
|
12-Jun-2007 |
Bruce M Simpson <bms@FreeBSD.org> |
Import rewrite of IPv4 socket multicast layer to support source-specific and protocol-independent host mode multicast. The code is written to accomodate IPv6, IGMPv3 and MLDv2 with only a little additional work. This change only pertains to FreeBSD's use as a multicast end-station and does not concern multicast routing; for an IGMPv3/MLDv2 router implementation, consider the XORP project. The work is based on Wilbert de Graaf's IGMPv3 code drop for FreeBSD 4.6, which is available at: http://www.kloosterhof.com/wilbert/igmpv3.html Summary * IPv4 multicast socket processing is now moved out of ip_output.c into a new module, in_mcast.c. * The in_mcast.c module implements the IPv4 legacy any-source API in terms of the protocol-independent source-specific API. * Source filters are lazy allocated as the common case does not use them. They are part of per inpcb state and are covered by the inpcb lock. * struct ip_mreqn is now supported to allow applications to specify multicast joins by interface index in the legacy IPv4 any-source API. * In UDP, an incoming multicast datagram only requires that the source port matches the 4-tuple if the socket was already bound by source port. An unbound socket SHOULD be able to receive multicasts sent from an ephemeral source port. * The UDP socket multicast filter mode defaults to exclusive, that is, sources present in the per-socket list will be blocked from delivery. * The RFC 3678 userland functions have been added to libc: setsourcefilter, getsourcefilter, setipv4sourcefilter, getipv4sourcefilter. * Definitions for IGMPv3 are merged but not yet used. * struct sockaddr_storage is now referenced from <netinet/in.h>. It is therefore defined there if not already declared in the same way as for the C99 types. * The RFC 1724 hack (specify 0.0.0.0/8 addresses to IP_MULTICAST_IF which are then interpreted as interface indexes) is now deprecated. * A patch for the Rhyolite.com routed in the FreeBSD base system is available in the -net archives. This only affects individuals running RIPv1 or RIPv2 via point-to-point and/or unnumbered interfaces. * Make IPv6 detach path similar to IPv4's in code flow; functionally same. * Bump __FreeBSD_version to 700048; see UPDATING. This work was financially supported by another FreeBSD committer. Obtained from: p4://bms_netdev Submitted by: Wilbert de Graaf (original work) Reviewed by: rwatson (locking), silence from fenner, net@ (but with encouragement)
|
#
68e8e04e |
|
10-Jun-2007 |
Sam Leffler <sam@FreeBSD.org> |
Update 802.11 wireless support: o major overhaul of the way channels are handled: channels are now fully enumerated and uniquely identify the operating characteristics; these changes are visible to user applications which require changes o make scanning support independent of the state machine to enable background scanning and roaming o move scanning support into loadable modules based on the operating mode to enable different policies and reduce the memory footprint on systems w/ constrained resources o add background scanning in station mode (no support for adhoc/ibss mode yet) o significantly speedup sta mode scanning with a variety of techniques o add roaming support when background scanning is supported; for now we use a simple algorithm to trigger a roam: we threshold the rssi and tx rate, if either drops too low we try to roam to a new ap o add tx fragmentation support o add first cut at 802.11n support: this code works with forthcoming drivers but is incomplete; it's included now to establish a baseline for other drivers to be developed and for user applications o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates prepending mbufs for traffic generated locally o add support for Atheros protocol extensions; mainly the fast frames encapsulation (note this can be used with any card that can tx+rx large frames correctly) o add sta support for ap's that beacon both WPA1+2 support o change all data types from bsd-style to posix-style o propagate noise floor data from drivers to net80211 and on to user apps o correct various issues in the sta mode state machine related to handling authentication and association failures o enable the addition of sta mode power save support for drivers that need net80211 support (not in this commit) o remove old WI compatibility ioctls (wicontrol is officially dead) o change the data structures returned for get sta info and get scan results so future additions will not break user apps o fixed tx rate is now maintained internally as an ieee rate and not an index into the rate set; this needs to be extended to deal with multi-mode operation o add extended channel specifications to radiotap to enable 11n sniffing Drivers: o ath: add support for bg scanning, tx fragmentation, fast frames, dynamic turbo (lightly tested), 11n (sniffing only and needs new hal) o awi: compile tested only o ndis: lightly tested o ipw: lightly tested o iwi: add support for bg scanning (well tested but may have some rough edges) o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data o wi: lightly tested This work is based on contributions by Atheros, kmacy, sephe, thompsa, mlaier, kevlo, and others. Much of the scanning work was supported by Atheros. The 11n work was supported by Marvell.
|
#
a88b5e21 |
|
10-Jun-2007 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Connect icsphy(4) to the build.
|
#
8e0185f6 |
|
04-Jun-2007 |
Jeff Roberson <jeff@FreeBSD.org> |
- Remove sched_core.c. The maintainer has lost interest in pursuing this and it has been neglected in the recent ksegrp removal as well as the thread_lock() changes. Discussed with: davidxu
|
#
4b3ba478 |
|
31-May-2007 |
Andrew Thompson <thompsa@FreeBSD.org> |
Take back the name 'bridge' now that we are the one and only. This can be phased back in over the next few major releases. if_bridge is still the documented device name so nothing has changed yet.
|
#
bba4862c |
|
31-May-2007 |
Ariff Abdullah <ariff@FreeBSD.org> |
Last major commit and updates for RELENG_7: - Rework the entire pcm_channel structure: * Remove rarely used link placeholder, instead, make each pcm_channel as head/link of each own/each other. Unlock - Lock sequence due to sleep malloc has been reduced. * Implement "busy" queue which will contain list of busy/active channels. This greatly reduce locking contention for example while servicing interrupt for hardware with many channels or when virtual channels reach its 256 peak channels. - So I heard you like v chan ... O RLY? Welcome to Virtual **Record** Channels (vrec, rec vchans, vchans for recording, Rec-Chan, you decide), the ultimate solutions for your nagging O_RDWR full-duplex wannabe (note: flash plugins) monopolizing single record channel causing EBUSY. Vrec works exactly like Vchans (or, should I rename it to "Vplay" :) , except that it operates on the opposite direction (recording). Up to 256 vrecs (like vchans) are possible. Notes: * Relocate dev.pcm.%d.{vchans,vchanformat,vchanrate} to each of its respective node/direction: dev.pcm.%d.play.* for "play" (cdev = dsp%d.vp%d) dev.pcm.%d.rec.* for "record" (cdev = dsp%d.vr%d) * Don't expect that it will magically give you ability to split "recording source" (eg: 1 channel for cdrom, 1 channel for mic, etc). Just admit that you only have a *single* recording source / channel. Please bug your hardware vendor instead :) - Bump maxautovchans from 4 to 16. For a full-fledged multimedia desktop/workstation with too many soundservers installed (esound, artsd, jackd, pulse/polypaudio, ding-dong pling plong mudkip fuh fuh, etc), 4 seems inadequate. There will be no memory penalty here, since virtual channels are allocate only by demand. - Nuke/Rework the entire statically created cdev entries. Everything is clonable through snd own clone manager which designed to withstand many kind of abusive devfs droids such as: * while : ; do /bin/test -e /dev/dsp ; done * jot 16777216 0 | while read x ; do ls /dev/dsp0.$x ; done * hundreds (could be thousands) concurrent threads/process opening "/dev/dsp" (previously, this might result EBUSY even with just 3 contesting threads/procs). o Reusable clone objects (instead of creating new one like there's no tomorrow) after certain expiration deadline. The clone allocator will decide whether to reuse, share, or creating new clone. o Automatic garbage collector. - Dynamic unit magic allocator. Maximum attached soundcards can be tuned using tunable "hw.snd.maxunit" (Default to 512). Minimum is 16, and maximum is 2048. - ..other fixes, mostly related to concurrency issues. joel@ will do the manpage updates on sound(4). Have fun.
|
#
d722cab4 |
|
25-May-2007 |
Kip Macy <kmacy@FreeBSD.org> |
(MFp4) - upgrade to reflect state of 1.0.0.86 - move from firmware rev 3.2 to 4.0.0 - import driver bits for offload functionality - remove binary distribution clause from top level files as it runs counter to the intent of purely supporting the hardware MFC after: 3 days
|
#
408e1674 |
|
21-May-2007 |
Alexander Motin <mav@FreeBSD.org> |
Return back NETGRAPH_MPPC_COMPRESSION depends. Reviewed by: ru, julian Approved by: glebius (mentor)
|
#
91ac7888 |
|
16-May-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Make the serdev I/F non-optional. At least 3 drivers depend on it and they can be loaded as a module. PR: kern/112706
|
#
f366931c |
|
16-May-2007 |
Scott Long <scottl@FreeBSD.org> |
Add the 'mfip' sub-driver for gaining SCSI-passthrough access to devices on an MFI controller.
|
#
7d3b4a08 |
|
15-May-2007 |
Alexander Motin <mav@FreeBSD.org> |
A node that implements various traffic shaping and rate limiting algorithms (ng_car). Approved by: glebius (mentor)
|
#
ec9c7553 |
|
13-May-2007 |
Andre Oppermann <andre@FreeBSD.org> |
Complete the (mechanical) move of the TCP reassembly and timewait functions from their origininal place to their own files. TCP Reassembly from tcp_input.c -> tcp_reass.c TCP Timewait from tcp_subr.c -> tcp_timewait.c
|
#
559d3390 |
|
09-May-2007 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Integrate the Camellia Block Cipher. For more information see RFC 4132 and its bibliography. Submitted by: Tomoyuki Okazaki <okazaki at kick dot gr dot jp> MFC after: 1 month
|
#
4439f8b4 |
|
09-May-2007 |
Scott Long <scottl@FreeBSD.org> |
Introduce a driver for the Highpoint RocketRAID 3xxx series of controllers. The driver relies on CAM. Many thanks to Highpoint for providing this driver.
|
#
4511a5c8 |
|
08-May-2007 |
Scott Long <scottl@FreeBSD.org> |
Import version 3.60.03.006 of the TWA driver: This patch does the following: - Remove un-necessary code that is not even compiling into the driver under TW_OSL_NON_DMA_MEM_ALLOC_PER_REQUEST defines. - Remove bundled firmware image and associated "files" entry for tw_cl_fwimg.c - Remove bundled firmware flashing routines. We now have tw_update userspace FreeBSD controller flash utility. - Fix driver crash on load due to shared interrupt. - Fix 2 lock leaks for Giant lock. - Fix CCB leak. - Add support for 9650SE controllers. Many thanks to 3Ware/AMCC for continuing to support FreeBSD.
|
#
0738dfc3 |
|
06-May-2007 |
Kevin Lo <kevlo@FreeBSD.org> |
Add support for Ralink Technology RT2501USB/RT2601USB devices. Reviewed by: sam, sephe Obtained from: OpenBSD
|
#
11631e9f |
|
04-May-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add missing e1000_82575.c entry to build in order to improve chances of kernel compilation due to missing symbols in em driver.
|
#
d3b79b16 |
|
03-May-2007 |
Jack F Vogel <jfv@FreeBSD.org> |
Last minute mistake crept in, old file name. Approved by:pdeuskar
|
#
89290aa3 |
|
03-May-2007 |
Jack F Vogel <jfv@FreeBSD.org> |
Merge in the new driver (6.5.0) of Intel. This has a new shared code infrastructure that is family specific and modular. There is also support for our latest gigabit nic, the 82575 that is MSI/X and multiqueue capable. The new shared code changes some interfaces to the core code but testing at Intel has been going on for months, it is fairly stable. I have attempted to be careful in retaining any fixes that CURRENT had and we did not, I apologize in advance if any thing gets clobbered, I'm sure I'll hear about it :) Approved by pdeuskar
|
#
5e323541 |
|
25-Apr-2007 |
Alexander Motin <mav@FreeBSD.org> |
Add static build depends for ng_deflate, ng_nat and ng_sppp. Approved by: glebius (mentor)
|
#
18717f69 |
|
21-Apr-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Allow MAC policy modules to control access to audit configuration system calls. Add MAC Framework entry points and MAC policy entry points for audit(), auditctl(), auditon(), setaudit(), aud setauid(). MAC Framework entry points are only added for audit system calls where additional argument context may be useful for policy decision-making; other audit system calls without arguments may be controlled via the priv(9) entry points. Update various policy modules to implement audit-related checks, and in some cases, other missing system-related checks. Obtained from: TrustedBSD Project Sponsored by: SPARTA, Inc.
|
#
18242d3b |
|
16-Apr-2007 |
Andrew Thompson <thompsa@FreeBSD.org> |
Rename the trunk(4) driver to lagg(4) as it is too similar to vlan trunking. The name trunk is misused as the networking term trunk means carrying multiple VLANs over a single connection. The IEEE standard for link aggregation (802.3 section 3) does not talk about 'trunk' at all while it is used throughout IEEE 802.1Q in describing vlans. The lagg(4) driver provides link aggregation, failover and fault tolerance. Discussed on: current@
|
#
7b62d98b |
|
09-Apr-2007 |
Andrew Thompson <thompsa@FreeBSD.org> |
Hook trunk(4) up to the build.
|
#
d640d2e2 |
|
09-Apr-2007 |
Paolo Pisati <piso@FreeBSD.org> |
The old PacketAlias* API is not exported when libalias run in kernel land.
|
#
cc9164e2 |
|
08-Apr-2007 |
Andre Oppermann <andre@FreeBSD.org> |
Sort sctp_*.c files.
|
#
27f0ce0f |
|
08-Apr-2007 |
Kip Macy <kmacy@FreeBSD.org> |
hook uipc_mvec.c into build
|
#
1eba4c79 |
|
07-Apr-2007 |
Scott Long <scottl@FreeBSD.org> |
Add the CAM 'SG' peripheral device. This device implements a subset of the Linux SCSI SG passthrough device API. The intention is to allow for both running of Linux apps that want to talk to /dev/sg* nodes, and to facilitate porting of apps from Linux to FreeBSD. As such, both native and linuxolator entry points and definitions are provided. Caveats: - This does not support the procfs and sysfs nodes that the Linux SG driver provides. Some Linux apps may rely on these for operation, others may only use them for informational purposes. - More ioctls need to be implemented. - Linux uses a naming scheme of "sg[a-z]" for devices, while FreeBSD uses a scheme of "sg[0-9]". Devfs aliasis (symlinks) are automatically created to link the two together. However, tools like camcontrol only see the native names. - Some operations were originally designed to return byte counts or other data directly as the syscall return value. The linuxolator doesn't appear to support this well, so this driver just punts for these cases. Now that the driver is in place, others are welcome to add missing functionality. Thanks to Roman Divacky for pushing this work along.
|
#
89c40e5f |
|
05-Apr-2007 |
Alexander Kabaev <kan@FreeBSD.org> |
Be more conservative and compile libkern/memset.c only on architectures than need it. These are i386, amd64 and powerpc so far.
|
#
616db5f0 |
|
05-Apr-2007 |
Alexander Kabaev <kan@FreeBSD.org> |
Add trivial MI memset function implementation. GCC mandates the existence of this function as a linkable symbol in standalone configurations and existing inline memcpy from libkern.h fails this requirement.
|
#
20d9e5e8 |
|
26-Mar-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Complete removal of uipc_socket2.c by moving the last few functions to other C files: - Move sbcreatecontrol() and sbtoxsockbuf() to uipc_sockbuf.c. While sbcreatecontrol() is really an mbuf allocation routine, it does its work with awareness of the layout of socket buffer memory. - Move pru_*() protocol switch stubs to uipc_socket.c where the non-stub versions of several of these functions live. Likewise, move socket state transition calls (soisconnecting(), etc) to uipc_socket.c. Moveo sodupsockaddr() and sotoxsocket().
|
#
63518ecc |
|
25-Mar-2007 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Introduce a new toy interface, edsc(4). It's a discard interface imitating an Ethernet device, so vlan(4) and if_bridge(4) can be attached to it for testing and benchmarking purposes. Its source can be an introduction to the anatomy of a network interface driver due to its simplicity as well as to a bunch of comments in it.
|
#
66c7612a |
|
23-Mar-2007 |
Warner Losh <imp@FreeBSD.org> |
New device: icee. Generic i2c eeprom driver.
|
#
2be4e471 |
|
22-Mar-2007 |
Jung-uk Kim <jkim@FreeBSD.org> |
Catch up with ACPI-CA 20070320 import.
|
#
6810ad6f |
|
20-Mar-2007 |
Sam Leffler <sam@FreeBSD.org> |
Overhaul driver/subsystem api's: o make all crypto drivers have a device_t; pseudo drivers like the s/w crypto driver synthesize one o change the api between the crypto subsystem and drivers to use kobj; cryptodev_if.m defines this api o use the fact that all crypto drivers now have a device_t to add support for specifying which of several potential devices to use when doing crypto operations o add new ioctls that allow user apps to select a specific crypto device to use (previous ioctls maintained for compatibility) o overhaul crypto subsystem code to eliminate lots of cruft and hide implementation details from drivers o bring in numerous fixes from Michale Richardson/hifn; mostly for 795x parts o add an optional mechanism for mmap'ing the hifn 795x public key h/w to user space for use by openssl (not enabled by default) o update crypto test tools to use new ioctl's and add cmd line options to specify a device to use for tests These changes will also enable much future work on improving the core crypto subsystem; including proper load balancing and interposing code between the core and drivers to dispatch small operations to the s/w driver as appropriate. These changes were instigated by the work of Michael Richardson. Reviewed by: pjd Approved by: re
|
#
42551e99 |
|
15-Mar-2007 |
Randall Stewart <rrs@FreeBSD.org> |
- Sysctl's move to seperate file - moved away from ifn/ifa access to sctp_ifa/sctp_ifn built and managed by the add-ip code. - cleaned up add-ip code to use the iterator - made iterator be a thread, which enables auto-asconf now. - rewrote and cleaned up source address selection (also made it use new structures). - Fixed a couple of memory leaks. - DACK now settable as to how many packets to delay as well as time. - connectx() to latest socket API, new associd arg. - Fixed issue with revoking and loosing potential to send when we inflate the flight size. We now inflate the cwnd too and deflate it later when the revoked chunk is sent or acked. - Got rid of some temp debug code - src addr selection moved to a common file (sctp_output.c) - Support for simple VRF's (we have support for multi-vfr via compile switch that is scrubbed from BSD but we won't need multi-vrf until we first get VRF :-D) - Rest of mib work for address information now done - Limit number of addresses in INIT/INIT-ACK to a #def (30). Reviewed by: gnn
|
#
6654fb12 |
|
14-Mar-2007 |
Kip Macy <kmacy@FreeBSD.org> |
Add support for statically compiling cxgb into the kernel
|
#
e6f54704 |
|
05-Mar-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Recognize repo-copy of kern_acl.c to vfs_acl.c, remove kern_acl.c, remove kern_acl.c from the build, connect vfs_acl.c to the build. Thanks to: joe
|
#
e770bc6b |
|
26-Feb-2007 |
Matt Jacob <mjacob@FreeBSD.org> |
First cut at GEOM based multipath. This is an active/passive{/passive...} arrangement that has no intrinsic internal knowledge of whether devices it is given are truly multipath devices. As such, this is a simplistic approach, but still a useful one. The basic approach is to (at present- this will change soon) use camcontrol to find likely identical devices and and label the trailing sector of the first one. This label contains both a full UUID and a name. The name is what is presented in /dev/multipath, but the UUID is used as a true distinguishor at g_taste time, thus making sure we don't have chaos on a shared SAN where everyone names their data multipath as "Fred". The first of N identical devices (and N *may* be 1!) becomes the active path until a BIO request is failed with EIO or ENXIO. When this occurs, the active disk is ripped away and the next in a list is picked to (retry and) continue with. During g_taste events new disks that meet the match criteria for existing multipath geoms get added to the tail end of the list. Thus, this active/passive setup actually does work for devices which go away and come back, as do (now) mpt(4) and isp(4) SAN based disks. There is still a lot to do to improve this- like about 5 of the 12 recommendations I've received about it, but it's been functional enough for a while that it deserves a broader test base. Reviewed by: pjd Sponsored by: IronPort Systems MFC: 2 months
|
#
c724ad66 |
|
26-Feb-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Build ipx_ip.c only if options IPXIP is defined. No functional change.
|
#
6be2e366 |
|
24-Feb-2007 |
Bruce M Simpson <bms@FreeBSD.org> |
Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel. It is built in the same module as IPv4 multicast forwarding, i.e. ip_mroute.ko, if and only if IPv6 support is enabled for loadable modules. Export IPv6 forwarding structs to userland netstat(1) via sysctl(9).
|
#
c3b162d5 |
|
14-Feb-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Teach DDB how to print sockets, socket buffers, protosw's, and domain structures given pointers to them.
|
#
d139ce67 |
|
11-Feb-2007 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Makefile changes to reflect moving sys/isofs/cd9660 to sys/fs/cd9660. Continue to install userland include files in /usr/include/isofs/cd9660 so as not to break userland applications such as libstand.
|
#
1d3aed33 |
|
07-Feb-2007 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Evolve the ctlreq interface added to geom_gpt into a generic partitioning class that supports multiple schemes. Current schemes supported are APM (Apple Partition Map) and GPT. Change all GEOM_APPLE anf GEOM_GPT options into GEOM_PART_APM and GEOM_PART_GPT (resp). The ctlreq interface supports verbs to create and destroy partitioning schemes on a disk; to add, delete and modify partitions; and to commit or undo changes made.
|
#
9d5ef073 |
|
02-Feb-2007 |
Warner Losh <imp@FreeBSD.org> |
Mark mmc *_if.m files as standard to allow for mmc/sd being compiled as a module. Submitted by: Andrea Bittau
|
#
f458f2a5 |
|
29-Jan-2007 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Add a "-o large" mount option for msdosfs. Convert compile-time checks for #ifdef MSDOSFS_LARGE to run-time checks to see if "-o large" was specified. Test case provided by Oliver Fromme: truncate -s 200G test.img mdconfig -a -t vnode -f test.img -u 9 newfs_msdos -s 419430400 -n 1 /dev/md9 zip250 mount -t msdosfs /dev/md9 /mnt # should fail mount -t msdosfs -o large /dev/md9 /mnt # should succeed PR: 105964 Requested by: Oliver Fromme <olli lurza secnetix de> Tested by: trhodes MFC after: 2 weeks
|
#
c5286e11 |
|
28-Jan-2007 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add support for serial communication with Windows CE based Handheld Computer. Obtained from: NetBSD
|
#
5991458e |
|
04-Jan-2007 |
Bernd Walter <ticso@FreeBSD.org> |
MFp4: add basic driver for RTL8305SC switch in PHY emulation
|
#
9e6f1d3b |
|
29-Dec-2006 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Build bits for ng_deflate(4) and ng_pred1(4).
|
#
224a974b |
|
28-Dec-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Break contents of kern_mac.c out into two files following a repo-copy: mac_framework.c Contains basic MAC Framework functions, policy registration, sysinits, etc. mac_syscalls.c Contains implementations of various MAC system calls, including ENOSYS stubs when compiling without options MAC. Obtained from: TrustedBSD Project
|
#
6c5b1675 |
|
22-Dec-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Connect vfs_extattr.c to build by default.
|
#
c9d21ce9 |
|
12-Dec-2006 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Hook up msk(4) to the build.
|
#
600313b1 |
|
09-Dec-2006 |
Warner Losh <imp@FreeBSD.org> |
As Bernd Walter points out, the rlphy is used for more things than just the intenral phy on parts supported by the rl and re drivers, the RTL8201BL for example. He also sent me a nice picture of hundreds of these chips in a tray to boulder his claim. :-) Therefore remove a comment that suggested that they were...
|
#
fcf50d48 |
|
29-Nov-2006 |
Warner Losh <imp@FreeBSD.org> |
Build glue for at45d flash support.
|
#
74828f25 |
|
26-Nov-2006 |
Sam Leffler <sam@FreeBSD.org> |
device-independent implementation of AMRR tx rate control algorithm Obtained from: openbsd (w/ mods) MFC after: 1 month
|
#
9dbf796c |
|
19-Nov-2006 |
Sam Leffler <sam@FreeBSD.org> |
hookup ad7418 and ds1672 drivers MFC after: 1 month
|
#
9aab0d96 |
|
15-Nov-2006 |
Maxim Konovalov <maxim@FreeBSD.org> |
o Add uark(4), a driver for Arkmicro Technologies ARK3116 based serial adapters. Submitted by: Alex Rodin Obtained from: OpenBSD Reviewed by: -usb MFC after: 6 weeks
|
#
6aeb05d7 |
|
11-Nov-2006 |
Tom Rhodes <trhodes@FreeBSD.org> |
Merge posix4/* into normal kernel hierarchy. Reviewed by: glanced at by jhb Approved by: silence on -arch@ and -standards@
|
#
800c9408 |
|
06-Nov-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Add a new priv(9) kernel interface for checking the availability of privilege for threads and credentials. Unlike the existing suser(9) interface, priv(9) exposes a named privilege identifier to the privilege checking code, allowing more complex policies regarding the granting of privilege to be expressed. Two interfaces are provided, replacing the existing suser(9) interface: suser(td) -> priv_check(td, priv) suser_cred(cred, flags) -> priv_check_cred(cred, priv, flags) A comprehensive list of currently available kernel privileges may be found in priv.h. New privileges are easily added as required, but the comments on adding privileges found in priv.h and priv(9) should be read before doing so. The new privilege interface exposed sufficient information to the privilege checking routine that it will now be possible for jail to determine whether a particular privilege is granted in the check routine, rather than relying on hints from the calling context via the SUSER_ALLOWJAIL flag. For now, the flag is maintained, but a new jail check function, prison_priv_check(), is exposed from kern_jail.c and used by the privilege check routine to determine if the privilege is permitted in jail. As a result, a centralized list of privileges permitted in jail is now present in kern_jail.c. The MAC Framework is now also able to instrument privilege checks, both to deny privileges otherwise granted (mac_priv_check()), and to grant privileges otherwise denied (mac_priv_grant()), permitting MAC Policy modules to implement privilege models, as well as control a much broader range of system behavior in order to constrain processes running with root privilege. The suser() and suser_cred() functions remain implemented, now in terms of priv_check() and the PRIV_ROOT privilege, for use during the transition and possibly continuing use by third party kernel modules that have not been updated. The PRIV_DRIVER privilege exists to allow device drivers to check privilege without adopting a more specific privilege identifier. This change does not modify the actual security policy, rather, it modifies the interface for privilege checks so changes to the security policy become more feasible. Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net>
|
#
9d1a95cd |
|
03-Nov-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Nitpicking.
|
#
f8829a4a |
|
03-Nov-2006 |
Randall Stewart <rrs@FreeBSD.org> |
Ok, here it is, we finally add SCTP to current. Note that this work is not just mine, but it is also the works of Peter Lei and Michael Tuexen. They both are my two key other developers working on the project.. and they need ata-boy's too: **** peterlei@cisco.com tuexen@fh-muenster.de **** I did do a make sysent which updated the syscall's and sysproto.. I hope that is correct... without it you don't build since we have new syscalls for SCTP :-0 So go out and look at the NOTES, add option SCTP (make sure inet and inet6 are present too) and play with SCTP. I will see about comitting some test tools I have after I figure out where I should place them. I also have a lib (libsctp.a) that adds some of the missing socketapi functions that I need to put into lib's.. I will talk to George about this :-) There may still be some 64 bit issues in here, none of us have a 64 bit processor to test with yet.. Michael may have a MAC but thats another beast too.. If you have a mac and want to use SCTP contact Michael he maintains a web site with a loadable module with this code :-) Reviewed by: gnn Approved by: gnn
|
#
f348204c |
|
31-Oct-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Hook up gjournal bits to the build. Sponsored by: home.pl
|
#
1cc56059 |
|
29-Oct-2006 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add conf file entries for acpi_aiboost drivers.
|
#
837f167e |
|
23-Oct-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Move "device splash" back to MI NOTES and "files", it's MI.
|
#
663cf7fe |
|
23-Oct-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Move MI parts of syscons into MI "files".
|
#
b39be1b3 |
|
22-Oct-2006 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add two new functions to convert FAT filesystem format timestamps to and from struct timespec, to replace the crummy conversion function which have been copy&pasted into three different filesystems already. Apart from general crummyness as indicated by code like: for (year = 1970;; year++) { inc = year & 0x03 ? 365 : 366; if (days < inc) break; days -= inc; } They also contain specialized crummyness which tries to compensate for the general crummyness by caching recent conversion results, with no regard for locking or consistency. These replacement functions are smaller, O(1) and handle the Y2.1K leap-year correctly. Ideally, these functions should live in a module of their own, which the three offending filesystems would depend on, but the size is 877 bytes of code (on i386), so that would be false economy.
|
#
114b4164 |
|
20-Oct-2006 |
Warner Losh <imp@FreeBSD.org> |
Preliminary MMC stack. This stack supports SD 1.0 cards only, but should be easily adapted to SD 2.0 (aka SDHC), SDIO, MMC and MMCplus cards. At the present time, there's only one bridge driver for the ARM9 based Atmel AT91RM9200.
|
#
bb914a52 |
|
17-Oct-2006 |
Warner Losh <imp@FreeBSD.org> |
Collapse the two identical emu10k1-alsa%diked.h creation rules for snd_emu10k1 and snd_emu10kx into one line. The 'pci' dependency here adds no value, so I eliminted it (we don't have a snd.all file that might make it mildly useful, and even then it wouldn't be that useful). With the pci optional component eliminated, I could use the '|' operator. I could have also include pci on both sides of the | operator, but since it isn't a value add at all, it was better to eliminate it.
|
#
706a2374 |
|
08-Oct-2006 |
Paolo Pisati <piso@FreeBSD.org> |
Sort libalias files. Approved by: glebius Reviewed by: glebius, ru
|
#
5d9f25dc |
|
06-Oct-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Added the GEOM_CACHE option. Reminded by: pjd
|
#
b69f71eb |
|
02-Oct-2006 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Second part of a little cleanup in the calendar/timezone/RTC handling. Split subr_clock.c in two parts (by repo-copy): subr_clock.c contains generic RTC and calendaric stuff. etc. subr_rtc.c contains the newbus'ified RTC interface. Centralize the machdep.{adjkerntz,disable_rtc_set,wall_cmos_clock} sysctls and associated variables into subr_clock.c. They are not machine dependent and we have generic code that relies on being present so they are not even optional.
|
#
62c07028 |
|
01-Oct-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Unbreak build caused by recent envy24/spicds commit.
|
#
2c72e284 |
|
01-Oct-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Connect snd_hda(4) to build process... Add support for Intel High Definition Audio Controller. This driver make a special guarantee that "playback" works on majority hardwares with minimal or without specific vendor quirk. This driver is a product of collaborative effort made by: Stephane E. Potvin <sepotvin@videotron.ca> Andrea Bittau <a.bittau@cs.ucl.ac.uk> Wesley Morgan <morganw@chemikals.org> Daniel Eischen <deischen@FreeBSD.org> Maxime Guillaud <bsd-ports@mguillaud.net> Ariff Abdullah <ariff@FreeBSD.org> ....and various people from freebsd-multimedia@FreeBSD.org Refer to snd_hda(4) for features and issues. Welcome To HDA. Sponsored by: Defenxis Sdn. Bhd.
|
#
9f548240 |
|
30-Sep-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Add spicds, envy24ht and remove ak4*.
|
#
be4f3cd0 |
|
26-Sep-2006 |
Paolo Pisati <piso@FreeBSD.org> |
Summer of Code 2005: improve libalias - part 1 of 2 With the first part of my previous Summer of Code work, we get: -made libalias modular: -support for 'particular' protocols (like ftp/irc/etcetc) is no more hardcoded inside libalias, but it's available through external modules loadable at runtime -modules are available both in kernel (/boot/kernel/alias_*.ko) and user land (/lib/libalias_*) -protocols/applications modularized are: cuseeme, ftp, irc, nbt, pptp, skinny and smedia -added logging support for kernel side -cleanup After a buildworld, do a 'mergemaster -i' to install the file libalias.conf in /etc or manually copy it. During startup (and after every HUP signal) user land applications running the new libalias will try to read a file in /etc called libalias.conf: that file contains the list of modules to load. User land applications affected by this commit are ppp and natd: if libalias.conf is present in /etc you won't notice any difference. The only kernel land bit affected by this commit is ng_nat: if you are using ng_nat, and it doesn't correctly handle ftp/irc/etcetc sessions anymore, remember to kldload the correspondent module (i.e. kldload alias_ftp). General information and details about the inner working are available in the libalias man page under the section 'MODULAR ARCHITECTURE (AND ipfw(4) SUPPORT)'. NOTA BENE: this commit affects _ONLY_ libalias, ipfw in-kernel nat support will be part of the next libalias-related commit. Approved by: glebius Reviewed by: glebius, ru
|
#
6b31d3f7 |
|
25-Sep-2006 |
Scott Long <scottl@FreeBSD.org> |
Add the mfi_debug.c file and MFI_DEBUG option.
|
#
72845968 |
|
18-Sep-2006 |
Sam Leffler <sam@FreeBSD.org> |
remove local change Spotted by: Gavin Atkinson
|
#
3da8df60 |
|
18-Sep-2006 |
Sam Leffler <sam@FreeBSD.org> |
nuke unused support for building ath hal from src code MFC after: 1 week
|
#
a003a6cb |
|
14-Aug-2006 |
Warner Losh <imp@FreeBSD.org> |
Do not include ucom as a dependency line to enable inclusion of the serial line usb drivers that depend on it. Instead, let the compile fail rather than silently not including the driver. This is more in line with how we handle things like mii. # I'll note: a better system for coping with missing depends is needed, # but this dependency is clearly backwards given our current flawed # depend system.
|
#
07ff6a18 |
|
12-Aug-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Oops. Remove accidentally committed change. Noticed by: marck
|
#
73c0c411 |
|
12-Aug-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add strstr() function to the libkern.
|
#
e4445a03 |
|
06-Aug-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Move definition of UNIX domain socket protosw and domain entries from uipc_proto.c to uipc_usrreq.c, making localdomain static. Remove uipc_proto.c as it's no longer used. With this change, UNIX domain sockets are entirely encapsulated in uipc_usrreq.c.
|
#
302981e7 |
|
29-Jul-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove sio(4) and related options from MI files to amd64, i386 and pc98 MD files. Remove nodevice and nooption lines specific to sio(4) from ia64, powerpc and sparc64 NOTES. There were no such lines for arm yet. sio(4) is usable on less than half the platforms, not counting a future mips platform. Its presence in MI files is therefore increasingly becoming a burden.
|
#
b1ff0220 |
|
28-Jul-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Allow to configure a kernel with envy24 support as documented in the manual page...
|
#
22ea1bc5 |
|
27-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
Unify the checking for lock misbehavior in the various syscall() implementations and adjust some of the checks while I'm here: - Add a new check to make sure we don't return from a syscall in a critical section. - Add a new explicit check before userret() to make sure we don't return with any locks held. The advantage here is that we can include the syscall number and name in syscall() whereas that info is not available in userret(). - Drop the mtx_assert()'s of sched_lock and Giant. They are replaced by the more general checks just added. MFC after: 2 weeks
|
#
5c985a0a |
|
24-Jul-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Add uipc_sockbuf.c to standard files list; accidentally missed in earlier commit. Spotted by: tinderbox
|
#
d497bdf1 |
|
24-Jul-2006 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Hook up stge(4) to the build.
|
#
3fa3f9a7 |
|
24-Jul-2006 |
Pyun YongHyeon <yongari@FreeBSD.org> |
Connect gentbi, ip1000phy to the build.
|
#
0fa7ab6a |
|
15-Jul-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
- Connect the snd_emu10kx driver to the build. [1] - Bump __FreeBSD_version, no need to build the port now. Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru> [1]
|
#
a9a5ae2d |
|
14-Jul-2006 |
Warner Losh <imp@FreeBSD.org> |
MFp4: spibus glue
|
#
e4256d1e |
|
06-Jul-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Move POSIX.1e-specific utility routines from kern_acl.c to subr_acl_posix1e.c, leaving kern_acl.c containing only ACL system calls and utility routines common across ACL types. Add subr_acl_posix1e.c to the build. Obtained from: TrustedBSD Project
|
#
d473c9d5 |
|
26-Jun-2006 |
Gleb Smirnoff <glebius@FreeBSD.org> |
A netgraph node that can do different manipulations with mbuf_tags(9) on packets. Submitted by: Vadim Goncharov <vadimnuclight tpu.ru> mdoc(7) reviewed by: ru
|
#
bdea400f |
|
26-Jun-2006 |
Andrew Thompson <thompsa@FreeBSD.org> |
Add a pseudo interface for packet filtering IPSec connections before or after encryption. There are two functions, a bpf tap which has a basic header with the SPI number which our current tcpdump knows how to display, and handoff to pfil(9) for packet filtering. Obtained from: OpenBSD Based on: kern/94829 No objections: arch, net MFC after: 1 month
|
#
a04f78ea |
|
13-Jun-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Unbreak build on platforms that don't have uart_sab82532 and uart_z8530 for uart(4) by default, but have scc(4).
|
#
b41f1452 |
|
13-Jun-2006 |
David Xu <davidxu@FreeBSD.org> |
Add scheduler CORE, the work I have done half a year ago, recent, I picked it up again. The scheduler is forked from ULE, but the algorithm to detect an interactive process is almost completely different with ULE, it comes from Linux paper "Understanding the Linux 2.6.8.1 CPU Scheduler", although I still use same word "score" as a priority boost in ULE scheduler. Briefly, the scheduler has following characteristic: 1. Timesharing process's nice value is seriously respected, timeslice and interaction detecting algorithm are based on nice value. 2. per-cpu scheduling queue and load balancing. 3. O(1) scheduling. 4. Some cpu affinity code in wakeup path. 5. Support POSIX SCHED_FIFO and SCHED_RR. Unlike scheduler 4BSD and ULE which using fuzzy RQ_PPQ, the scheduler uses 256 priority queues. Unlike ULE which using pull and push, the scheduelr uses pull method, the main reason is to let relative idle cpu do the work, but current the whole scheduler is protected by the big sched_lock, so the benefit is not visible, it really can be worse than nothing because all other cpu are locked out when we are doing balancing work, which the 4BSD scheduelr does not have this problem. The scheduler does not support hyperthreading very well, in fact, the scheduler does not make the difference between physical CPU and logical CPU, this should be improved in feature. The scheduler has priority inversion problem on MP machine, it is not good for realtime scheduling, it can cause realtime process starving. As a result, it seems the MySQL super-smack runs better on my Pentium-D machine when using libthr, despite on UP or SMP kernel.
|
#
acb8c149 |
|
12-Jun-2006 |
Marius Strobl <marius@FreeBSD.org> |
Make the ISAPNP code optional and only enable it on i386 and pc98 (used for CBUS-PNP cards there) by default, as there are no amd64 and sparc64 machines with ISA slots and which therefore could make use of this code known to exist. For sparc64 this additionally allows to get rid of the compat shims for in{b,w,l}()/out{b,w,l}() etc and the associated hacks. OK'ed by: imp, peter
|
#
78878cef |
|
11-Jun-2006 |
Warner Losh <imp@FreeBSD.org> |
Add the ability to subset the devices that UART pulls in. This allows the arm to compile without all the extras that don't appear, at least not in the flavors of ARM I deal with. This helps us save about 100k. If I've botched the available devices on a platform, please let me know and I'll correct ASAP.
|
#
f60f5239 |
|
09-Jun-2006 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Accomodate new files due to latest XFS import.
|
#
4e98d979 |
|
05-Jun-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect new GELI files to the build. Supported by: Wheel Sp. z o.o. (http://www.wheel.pl)
|
#
206b17d7 |
|
27-May-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Commit the new (old) midi framework. It's based in parts on the NetBSD code, but large parts are rewritten by matk and tanimura. This is old code, it's not maintained since 2003. We also don't have a maintainer for this! Yuriy Tsibizov took it and uses it in his emu10kx driver. Since the emu10kx driver will enter the tree "soon" (some bugs have to be fixed after Yuriy return from his holidays), I add it here already. This also contains some changes to emu10k1 and cmi, so if you're lucky, you can now make some kind of use of midi with those soundcards. To all those poor souls which don't have such a card: feel free to send patches, we don't have a maintainer for this. To those which miss a specific feature in the midi code: feel free to submit patches, we don't have a maintainer for this. Oh, did I already told that it would be nice if someone would take care of it? Maintainer with midi equipment wanted! :-) If you get LOR's, submit a PR and notify multimedia@ please. If you get panics, submit a PR with a backtrace (compile the sound system into your kernel instead of using modules in this case) and notify multimedia@ please. Written by: matk, tanimura Submitted by: "Yuriy Tsibizov" <Yuriy.Tsibizov@gfk.ru> Based upon: code from NetBSD
|
#
741367d5 |
|
18-May-2006 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
Add in a bunch of things to the mfi driver: - Linux ioctl support, with the other Linux changes MegaCli will run if you mount linprocfs & linsysfs then set sysctl compat.linux.osrelease=2.6.12 or similar. This works on i386. It should work on amd64 but not well tested yet. StoreLib may or may not work. Remember to kldload mfi_linux. - Add in AEN (Async Event Notification) support so we can get messages from the firmware when something happens. Not all messages are in defined in event detail. Use event_log to try to figure out what happened. - Try to implement something like SIGIO for StoreLib. Since mrmonitor doesn't work right I can't fully test it. StoreLib works best with the rh9 base. In theory mrmonitor isn't needed due to native driver support of AEN :-) Now we can configure and monitor the RAID better. Submitted by: IronPort Systems.
|
#
990e7e2b |
|
13-May-2006 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Removed the deprecated lance driver, lnc, from files.
|
#
656faadc |
|
12-May-2006 |
Max Laier <mlaier@FreeBSD.org> |
Remove ip6fw. Since ipfw has full functional IPv6 support now and - in contrast to ip6fw - is properly lockes, it is time to retire ip6fw.
|
#
3e20eaf5 |
|
11-May-2006 |
John Baldwin <jhb@FreeBSD.org> |
Remove the snd_ess identify routine for the sound device in Alpha PWS machines.
|
#
f4eb4717 |
|
07-May-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
- change the example of compiling only specific modules to not contain the linux module, since it is not cross-platform - move linprocfs from "files" and "options" to architecture specific files, since it only makes sense to build this for those architectures, where we also have a linuxolator - disable the build of the linuxolator on our tier-2 architecture "Alpha": * we don't have a linux_base port which supports Alpha and at the same time is not outdated/obsoleted upstream/in a good condition/ currently working * the upcomming new default linux base port is based upon Fedora Core 3 (security support via http://www.fedoralegacy.org), which isn't available for Alpha (like the current default linux base port which is based upon Red Hat 8) * nobody answered my request for testing it ~1 month ago on current@ and alpha@ (it doesn't surprises me, see above) * a SoC student wouldn't have to waste time on something which nobody is willing to test This does not remove the alpha specific MD files of the linuxolator yet. Discussed on: arch (mostly silence) Spiritual support by: scottl
|
#
64220a7e |
|
28-Apr-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Rewrite of puc(4). Significant changes are: o Properly use rman(9) to manage resources. This eliminates the need to puc-specific hacks to rman. It also allows devinfo(8) to be used to find out the specific assignment of resources to serial/parallel ports. o Compress the PCI device "database" by optimizing for the common case and to use a procedural interface to handle the exceptions. The procedural interface also generalizes the need to setup the hardware (program chipsets, program clock frequencies). o Eliminate the need for PUC_FASTINTR. Serdev devices are fast by default and non-serdev devices are handled by the bus. o Use the serdev I/F to collect interrupt status and to handle interrupts across ports in priority order. o Sync the PCI device configuration to include devices found in NetBSD and not yet merged to FreeBSD. o Add support for Quatech 2, 4 and 8 port UARTs. o Add support for a couple dozen Timedia serial cards as found in Linux.
|
#
28829246 |
|
26-Apr-2006 |
Pyun YongHyeon <yongari@FreeBSD.org> |
The sk(4) driver has moved to /sys/dev/sk
|
#
cea4d875 |
|
24-Apr-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
o Move ISA specific code from ppc.c to ppc_isa.c -- a bus front- end for isa(4). o Add a seperate bus frontend for acpi(4) and allow ISA DMA for it when ISA is configured in the kernel. This allows acpi(4) attachments in non-ISA configurations, as is possible for ia64. o Add a seperate bus frontend for pci(4) and detect known single port parallel cards. o Merge PC98 specific changes under pc98/cbus into the MI driver. The changes are minor enough for conditional compilation and in this form invites better abstraction. o Have ppc(4) usabled on all platforms, now that ISA specifics are untangled enough.
|
#
634da1d0 |
|
19-Apr-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove sab(4).
|
#
858a52f4 |
|
14-Apr-2006 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Import ACPI Dock Station support. Note that this is still very young. Additional detach implementaions (or maybe improvement) for other deivce drivers is required. Reviewed by: njl, imp MFC after: 1 week
|
#
d8636a9a |
|
10-Apr-2006 |
Paul Saab <ps@FreeBSD.org> |
Hook bce up to the build
|
#
1411591a |
|
30-Mar-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Include the sbus attachment of scc(1) when either fhc(4) or sbus(4) is configured.
|
#
af2e25a6 |
|
30-Mar-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
o Add scc(4) to the build. o Add the scc(4) manpage to the build. o Update the uart(4) manpage to account for scc(4). o Update the uart(4) module build to include support for scc(4).
|
#
7f631a41 |
|
29-Mar-2006 |
Scott Long <scottl@FreeBSD.org> |
Hook the MFI driver up to the build.
|
#
7d0c6c9f |
|
23-Mar-2006 |
Sam Leffler <sam@FreeBSD.org> |
add support for copying console messages to a remote gdb Reviewed by: kan
|
#
08e57af4 |
|
19-Mar-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Merge Perforce changes 93512, 93514, 93515 from TrustedBSD audit3 branch: Integrate audit.c to audit_worker.c, so as to migrate the worker thread implementation to its own .c file. Populate audit_worker.c using parts now removed from audit.c: - Move audit rotation global variables. - Move audit_record_write(), audit_worker_rotate(), audit_worker_drain(), audit_worker(), audit_rotate_vnode(). - Create audit_worker_init() from relevant parts of audit_init(), which now calls this routine. - Recreate audit_free(), which wraps uma_zfree() so that audit_record_zone can be static to audit.c. - Unstaticize various types and variables relating to the audit record queue so that audit_worker can get to them. We may want to wrap these in accessor methods at some point. - Move AUDIT_PRINTF() to audit_private.h. Addition of audit_worker.c to kernel configuration, missed in earlier submit. Obtained from: TrustedBSD Project
|
#
7e18aa79 |
|
12-Mar-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Quote ${CC} when passing it in environment. Submitted by: bde
|
#
05b593b7 |
|
10-Mar-2006 |
Søren Schmidt <sos@FreeBSD.org> |
Add "device atausb"
|
#
8d96e455 |
|
05-Mar-2006 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Retire NETSMBCRYPTO as a kernel option and make its functionality enabled by default in NETSMB and smbfs.ko. With the most of modern SMB providers requiring encryption by default, there is little sense left in keeping the crypto part of NETSMB optional at the build time. This will also return smbfs.ko to its former properties users are rather accustomed to. Discussed with: freebsd-stable, re (scottl) Not objected by: bp, tjr (silence) MFC after: 5 days
|
#
9c6307b1 |
|
05-Mar-2006 |
Damien Bergamini <damien@FreeBSD.org> |
Add support for the second (RT2561/RT2561S) and third (RT2661 MIMO XR) generations of 802.11abg chipsets from Ralink Technology. Get rid of the pccard front-end while I'm here since all adapters are cardbus ones. Obtained from: OpenBSD
|
#
375ce679 |
|
03-Mar-2006 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Take the functionality contained in the former "options TDFX_LINUX" into a separate module. Accordingly, convert the option into a device named similarly. Note for MFC: Perhaps the option should stay in RELENG_6 for POLA reasons. Suggested by: scottl Reviewed by: cokane MFC after: 5 days
|
#
eef5d4a3 |
|
26-Feb-2006 |
Warner Losh <imp@FreeBSD.org> |
Move de driver to dev/de
|
#
ca6831c7 |
|
07-Feb-2006 |
Warner Losh <imp@FreeBSD.org> |
Allow one to subset phy. If you want the kitchen sink, use device miibus (like today). If you want a subset, choose device mii and zero or more phy to include. We always include unkphy. We make use of the | functionality that ruslan recently added to config. This allowed me to trim 57k from my KB9202 kernel.
|
#
09daf1c8 |
|
06-Feb-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Add support for audit pipe special devices, which allow user space applications to insert a "tee" in the live audit event stream. Records are inserted into a per-clone queue so that user processes can pull discreet records out of the queue. Unlike delivery to disk, audit pipes are "lossy", dropping records in low memory conditions or when the process falls behind real-time events. This mechanism is appropriate for use by live monitoring systems, host-based intrusion detection, etc, and avoids applications having to dig through active on-disk trails that are owned by the audit daemon. Obtained from: TrustedBSD Project
|
#
c9d97251 |
|
06-Feb-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Alphabetize.
|
#
df7418f3 |
|
02-Feb-2006 |
Matt Jacob <mjacob@FreeBSD.org> |
!$(*&!($!&$(!&$&(!$(&!&($!($ Forget to commit this.
|
#
07881ef9 |
|
01-Feb-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Add 'options AUDIT' and associate various .c files with the AUDIT option. We always build audit_syscalls.c so that the system call stubs can return ENOSYS rather than the system call code generating SIGSYS for the system calls. We are not yet ready to add AUDIT to LINT, as the prototypes for system call arguments won't be there until after the system calls for audit are added. Much work from: wsalamon Obtained from: TrustedBSD Project
|
#
1dfcf0d2 |
|
01-Feb-2006 |
Andre Oppermann <andre@FreeBSD.org> |
Move the IPSEC related code blocks to their own file to unclutter and signifincantly improve the readability of ip_input() and ip_output() again. The resulting IPSEC hooks in ip_input() and ip_output() may be used later on for making IPSEC loadable. This move is mostly mechanical and should preserve current IPSEC behaviour as-is. Nothing shall prevent improvements in the way IPSEC interacts with the IPv4 stack. Discussed with: bz, gnn, rwatson; (earlier version)
|
#
44ac0964 |
|
31-Jan-2006 |
Marius Strobl <marius@FreeBSD.org> |
Hook up le(4) to the build. For now it's only added to the sparc64 GENERIC in order to support the on-board LANCE in Ultra 1 and to the MI NOTES as it should work just fine with the AMD PCnet family of chips on all archs but is not yet meant to replace lnc(4). If a kernel includes all of le(4), lnc(4) and pcn(4) precedence is given to lnc(4)/pcn(4) for now.
|
#
847a2a17 |
|
31-Jan-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add buffer corruption protection (RedZone) for kernel's malloc(9). It detects both: buffer underflows and buffer overflows bugs at runtime (on free(9) and realloc(9)) and prints backtraces from where memory was allocated and from where it was freed. Tested by: kris
|
#
6aec1278 |
|
28-Jan-2006 |
Max Laier <mlaier@FreeBSD.org> |
firmware(9) is a subsystem to load binary data into the kernel via a specially crafted module. There are several handrolled sollutions to this problem in the tree already which will be replaced with this. They include iwi(4), ipw(4), ispfw(4) and digi(4). No objection from: arch MFC after: 2 weeks X-MFC after: some drivers have been converted
|
#
3f08bd8b |
|
27-Jan-2006 |
John Baldwin <jhb@FreeBSD.org> |
Add a basic reader/writer lock implementation to the kernel. This implementation is by no means perfect as far as some of the algorithms that it uses and the fact that it is missing some functionality (try locks and upgrades/downgrades are not there yet), however it does seem to work in my local testing. There is more detail in the comments in the code, but the short version follows. A reader/writer lock is very much like a regular mutex: it cannot be held across a voluntary sleep; it can be acquired in an interrupt thread; if the lock is held by a writer then the priority of any threads that block on the lock will be lent to the owner; the simple case lock operations all are done in a single atomic op. It also shares some similiarities with sx locks: it supports reader/writer semantics (multiple readers, but single writers); readers are allowed to recurse, but writers are not. We can extend this implementation further by either improving algorithms or adding new functionality, but this should at least give us a base to work with now. Reviewed by: arch (in theory) Tested on: i386 (4 cpu box with a kernel module that used 4 threads that randomly chose between read locks and write locks that ran w/o panicing for over a day solid. It usually panic'd within a few seconds when there were bugs during testing. :) The kernel module source is available on request.)
|
#
12af2a0f |
|
25-Jan-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
Bring in a sysv-style pts implementation, as found in the rwatson_pts perforce branch. It works the same as its SysV/linux counterpart : You obtain a fd to the master pseudo terminal by opening /dev/ptmx, which craetes a node for the master as /dev/pty[num] and a node for the slave as /dev/pts/[num]. It should play nicely with the existing BSD ptys. By default, the system will use the BSD ptys, one can set the sysctl kern.pts.enable to 1 to make it use the new pts system. The max number of pty that can be allocated on a system can be changed with the sysctl kern.pts.max. It defaults to 1000, and can be increased, but it is not recommanded, as any pty with a number > 999 won't be handled by whatever uses utmp(5).
|
#
084500bc |
|
24-Jan-2006 |
Doug Ambrisko <ambrisko@FreeBSD.org> |
Add in the Linux IOCTL shim and create the megadev0 device so Linux LSI MegaRaid tools can run on FreeBSD until Linux emulation. Add in the Linux IOCTL shim and create the megadev0 device so Linux LSI MegaRaid tools can run on FreeBSD until Linux emulation. Add glue to build the modules but don't tie it into the build yet until I test it from the CVS repo. via the mirror on an amd64 machine. Tie this into the Linux32 emulation on amd64 so the tools can run on amd64 kernel. Cleaned up by: ps (amr_linux.c)
|
#
83a81bcb |
|
17-Jan-2006 |
John Baldwin <jhb@FreeBSD.org> |
Add a new file (kern/subr_lock.c) for holding code related to struct lock_obj objects: - Add new lock_init() and lock_destroy() functions to setup and teardown lock_object objects including KTR logging and registering with WITNESS. - Move all the handling of LO_INITIALIZED out of witness and the various lock init functions into lock_init() and lock_destroy(). - Remove the constants for static indices into the lock_classes[] array and change the code outside of subr_lock.c to use LOCK_CLASS to compare against a known lock class. - Move the 'show lock' ddb function and lock_classes[] array out of kern_mutex.c over to subr_lock.c.
|
#
d3e64681 |
|
10-Jan-2006 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the old BSD4.3 tty compatibility from (!BURN_BRIDGES && COMPAT_43) to COMPAT_43TTY. Add COMPAT_43TTY to NOTES and */conf/GENERIC Compile tty_compat.c only under the new option. Spit out #warning "Old BSD tty API used, please upgrade." if ioctl_compat.h gets #included from userland.
|
#
3db831b3 |
|
09-Jan-2006 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add ufoma drivers in 'files', too.
|
#
83803624 |
|
04-Jan-2006 |
Joel Dahl <joel@FreeBSD.org> |
Remove references to snd_vortex1(4). Approved by: tanimura, ariff
|
#
47147ce7 |
|
28-Dec-2005 |
Warner Losh <imp@FreeBSD.org> |
Implement /dev/cardbus%d.cis, same thing as /dev/pccard%d.cis. There are some rough edges with this still, but it seems to work well enough to commit.
|
#
4d5f30e0 |
|
21-Dec-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Drivers for AMD-8111 and NVIDIA nForce2/3/4 SMBus 2.0 controllers.
|
#
2aacedb2 |
|
20-Dec-2005 |
John Baldwin <jhb@FreeBSD.org> |
Add a vgapci(4) stub device driver for VGA PCI devices. This device serves as a bus so that other drivers such as drm(4), acpi_video(4), and agp(4) can attach to it thus allowing multiple drivers for the same device. It also removes the need for the drmsub hack for the i8[13]0/i915 drm and agp drivers.
|
#
5b211922 |
|
20-Dec-2005 |
John Baldwin <jhb@FreeBSD.org> |
Move the hostb driver out of the i386 and amd64 PCI code (where it was duplicated anyways) and into a single MI driver. Extend the driver a bit to implement the bus and PCI kobj interfaces such that other drivers can attach to it and transparently act as if their parent device is the PCI bus (for the most part).
|
#
e1fd210e |
|
11-Dec-2005 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Hook XFS into kernel build.
|
#
73c84207 |
|
09-Dec-2005 |
Scott Long <scottl@FreeBSD.org> |
The if_ti Tigon I/II driver has moved to /sys/dev/ti
|
#
848c454c |
|
07-Dec-2005 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add BPF Just-In-Time compiler support for ng_bpf(4). The sysctl is changed from net.bpf.jitter.enable to net.bpf_jitter.enable and this controls both bpf(4) and ng_bpf(4) now.
|
#
ae275efc |
|
05-Dec-2005 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add experimental BPF Just-In-Time compiler for amd64 and i386. Use the following kernel configuration option to enable: options BPF_JITTER If you want to use bpf_filter() instead (e. g., debugging), do: sysctl net.bpf.jitter.enable=0 to turn it off. Currently BIOCSETWF and bpf_mtap2() are unsupported, and bpf_mtap() is partially supported because 1) no need, 2) avoid expensive m_copydata(9). Obtained from: WinPcap 3.1 (for i386)
|
#
69b9fffc |
|
02-Dec-2005 |
Eric Anholt <anholt@FreeBSD.org> |
Merge DRM CVS as of 2005-12-02, adding i915 DRM support thanks to Alexey Popov, and a new r300 PCI ID.
|
#
9fb07673 |
|
28-Nov-2005 |
Eric Anholt <anholt@FreeBSD.org> |
Update DRM to CVS snapshot as of 2005-11-28. Notable changes: - S3 Savage driver ported. - Added support for ATI_fragment_shader registers for r200. - Improved r300 support, needed for latest r300 DRI driver. - (possibly) r300 PCIE support, needs X.Org server from CVS. - Added support for PCI Matrox cards. - Software fallbacks fixed for Rage 128, which used to render badly or hang. - Some issues reported by WITNESS are fixed. - i915 module Makefile added, as the driver may now be working, but is untested. - Added scripts for copying and preprocessing DRM CVS for inclusion in the kernel. Thanks to Daniel Stone for getting me started on that.
|
#
a8e06f2a |
|
27-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make config(8) understand ORed dependecies in "files*" and improve tracking of known devices. Bump config(8) version.
|
#
d5688b6a |
|
26-Nov-2005 |
Ariff Abdullah <ariff@FreeBSD.org> |
Support for ATI IXP 200 / 300 / 400 series audio controllers.
|
#
655291f2 |
|
25-Nov-2005 |
David Xu <davidxu@FreeBSD.org> |
Bring in experimental kernel support for POSIX message queue.
|
#
20209868 |
|
25-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Whitespace.
|
#
d03dab65 |
|
22-Nov-2005 |
Marius Strobl <marius@FreeBSD.org> |
Move zs.c from files to files.powerpc as zs(4) by now is only supported on powerpc (more or less...). That way people updating from FreeBSD 5 to FreeBSD 6 and beyond on sparc64 will get an error from config(8) rather than a mysterious compile error when they have a stale 'device zs' in their kernel config file. MFC after: 2 weeks
|
#
ef39adf0 |
|
18-Nov-2005 |
Andre Oppermann <andre@FreeBSD.org> |
Consolidate all IP Options handling functions into ip_options.[ch] and include ip_options.h into all files making use of IP Options functions. From ip_input.c rev 1.306: ip_dooptions(struct mbuf *m, int pass) save_rte(m, option, dst) ip_srcroute(m0) ip_stripoptions(m, mopt) From ip_output.c rev 1.249: ip_insertoptions(m, opt, phlen) ip_optcopy(ip, jp) ip_pcbopts(struct inpcb *inp, int optname, struct mbuf *m) No functional changes in this commit. Discussed with: rwatson Sponsored by: TCP/IP Optimization Fundraise 2005
|
#
ff1625c6 |
|
08-Nov-2005 |
Vinod Kashyap <vkashyap@FreeBSD.org> |
twa corresponding to the 9.3.0.1 release on the 3ware website. This driver has support for the 9xxxSX controllers, along with the earlier 9xxxS series controllers.
|
#
e8d472a7 |
|
01-Nov-2005 |
Jung-uk Kim <jkim@FreeBSD.org> |
Catch up with ACPI-CA 20051021 import
|
#
f6868f84 |
|
31-Oct-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Tie acpi_hpet.c into the module and kernel.
|
#
9b229abc |
|
28-Oct-2005 |
Joerg Wunsch <joerg@FreeBSD.org> |
Finally complete some work on generalizing the PCF8584-based I2C drivers I started quite some time before. Retire the old i386-only pcf driver, and activate the new general driver that has been sitting in the tree already for quite some time. Build the i2c modules for sparc64 architectures as well (where I've been developing all this on).
|
#
71a5cd7f |
|
22-Oct-2005 |
Nate Lawson <njl@FreeBSD.org> |
Hook acpi_smbat up to the build.
|
#
f3f9e7ae |
|
20-Oct-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Remove duplicate entry.
|
#
d0f68000 |
|
18-Oct-2005 |
Warner Losh <imp@FreeBSD.org> |
Move dc sources from pci and dev/mii into dev/dc.
|
#
021eda1d |
|
14-Oct-2005 |
John Baldwin <jhb@FreeBSD.org> |
Remove the sx(4) driver at the request of the author. The author originally wrote it for 4.x and hasn't really had the time to fully update it to 5.x and later. Also, the author doesn't use the hardware anymore as well. If someone does need this driver they can always resurrect it from the Attic. Requested by: Frank Mayhar frank at exit dot com
|
#
24f8c87b |
|
06-Oct-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Backout strtok() addition to libkern, strsep() is enough and strtok() is not safe. Discussed with: stefanf, njl
|
#
5e66cbae |
|
06-Oct-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add strtok() and strtok_r() function to libkern. MFC after: 2 weeks
|
#
48ce9021 |
|
05-Oct-2005 |
Warner Losh <imp@FreeBSD.org> |
Include forgotten rtl80x9 file for ed.
|
#
2bc6081c |
|
03-Oct-2005 |
Scott Long <scottl@FreeBSD.org> |
Reintroduce the lmc T1/E1/T3 WAN driver. This version is locked, supports interface polling, compiles on 64-bit platforms, and compiles on NetBSD, OpenBSD, BSD/OS, and Linux. Woo! Thanks to David Boggs for providing this driver. Altq, sppp, netgraph, and bpf are required for this driver to operate. Userland tools and man pages will be committed next. Submitted by: David Boggs
|
#
4406886f |
|
02-Oct-2005 |
Alexander Leidinger <netchild@FreeBSD.org> |
Soft volume implementation for audio devices without pcm mixer controller. Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Tested by: multimedia@
|
#
b6de9e91 |
|
27-Sep-2005 |
Max Laier <mlaier@FreeBSD.org> |
Remove bridge(4) from the tree. if_bridge(4) is a full functional replacement and has additional features which make it superior. Discussed on: -arch Reviewed by: thompsa X-MFC-after: never (RELENG_6 as transition period)
|
#
852999de |
|
20-Sep-2005 |
Warner Losh <imp@FreeBSD.org> |
Add pccard_device.c
|
#
71803995 |
|
18-Sep-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
sample.c needs ath magic include path
|
#
346fa631 |
|
15-Sep-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add tnt4882 driver to the build
|
#
d85986ec |
|
10-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Don't pollute the entire kernel build with -I$S/contrib/dev/ath and -I$S/contrib/dev/ath/freebsd. "ATH_BUILDING_FROM_SOURCE" can be defined to globally get back -I$S/contrib/dev/ath.
|
#
7014a508 |
|
10-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Don't pollute the entire kernel build with -I$S/contrib/ipfilter.
|
#
b186613e |
|
10-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Don't pollute the entire kernel build with -I$S/contrib/pf.
|
#
94caedfb |
|
10-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Don't pollute the entire kernel build with -I$S/contrib/ngatm.
|
#
ede2033b |
|
10-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Don't pollute the entire kernel build with -I$S/dev/twa.
|
#
68a94b0d |
|
25-Aug-2005 |
Takanori Watanabe <takawata@FreeBSD.org> |
Oops, I forget to add item in files . Pointed out by: pjd
|
#
9417a618 |
|
11-Aug-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add code for Ext2FS and ReiserFS labels recognition. Submitted by: Stanislav Sedov <stas@310.ru> PR: kern/84638 MFC after: 1 week
|
#
c812ca43 |
|
08-Aug-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add strcasecmp() and strncasecmp() to libkern and connect to the build.
|
#
8d511e2a |
|
02-Aug-2005 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add support for saving stack traces and displaying them via printf(9) and KTR. Contributed by: Antoine Brodin <antoine.brodin@laposte.net> Concept code from: Neal Fachan <neal@isilon.com>
|
#
5ca1fcfe |
|
27-Jul-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect GEOM_ELI class to the build. MFC after: 1 week
|
#
869de957 |
|
25-Jul-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect GZERO to the build. MFC after: 3 days
|
#
af088425 |
|
20-Jul-2005 |
Eric Anholt <anholt@FreeBSD.org> |
Add the latest r300 code from r300.sf.net. This is based on the patch supplied by Vladimir Dergachev for inclusion in DRM CVS, with minor modifications for FreeBSD CVS and the appropriate license from Nicolai Haehnle on r300_reg.h. Fixes hangs when using r300.sf.net userland, tested on a Radeon 9600 on amd64.
|
#
f509c650 |
|
18-Jul-2005 |
Warner Losh <imp@FreeBSD.org> |
This has worked for a while now. ex pccard attachment
|
#
f93657d9 |
|
16-Jul-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Add additional sub-systems to the warning users get when they build a kernel that has become GPL infected.
|
#
f9e56677 |
|
14-Jul-2005 |
Maksim Yevmenkin <emax@FreeBSD.org> |
kbdmux(4) keyboard multiplexer integration o Add minimal kbdmux(4) man page to the source tree (more details to follow); o Hook up kbdmux(4) to the build. This concludes the first part of the kbdmux(4) keyboard multiplexer integration. It now should be possible to use kbdmux(4), however one must configure kbdmux(4) by hand (i.e. load kbdmux(4) module and use kbdcontrol(1) to add/remove slave keyboards to/from kbdmux(4)). MFC after: 1 week
|
#
39e5901e |
|
14-Jul-2005 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add SL811 based host controller driver for CF usb host controller. This is based on NetBSD slhci(4) driver for X68k amateur hardware. For now, it will not work properly, but it can detect usb device insertion.
|
#
16324fb1 |
|
10-Jul-2005 |
Scott Long <scottl@FreeBSD.org> |
Update for the new and removed MPT driver files. Submitted by: gibbs Approved by: re
|
#
fe98fb32 |
|
21-Jun-2005 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
Connect reiserfs build to every platforms, not only i386 and pc98. Reviewed by: mux (mentor) Approved by: re (dougb)
|
#
c2165a93 |
|
20-Jun-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Don't compile legacy libalias support into kernel. Approved by: re (dwhite)
|
#
151a9296 |
|
16-Jun-2005 |
Joseph Koshy <jkoshy@FreeBSD.org> |
Preserve sorting order. Submitted by: obrien Approved by: re
|
#
b61403ff |
|
14-Jun-2005 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Move ext2fs from src/gnu to src/gnu/fs. Discussed on arch@. Reviewed by: kan Approved by: re (blanket), kan
|
#
b16d349f |
|
11-Jun-2005 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Refactor the NETSMBCRYPTO option so that it does the same on all platforms. ARM is excluded as it doesn't yet have any crypto sources. Approved by: re (dwhite) MFC after: 1 day
|
#
e9110049 |
|
10-Jun-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Attach ng_tcpmss to the build.
|
#
f263522a |
|
09-Jun-2005 |
Joseph Koshy <jkoshy@FreeBSD.org> |
MFP4: - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation.
|
#
7afc53b8 |
|
04-Jun-2005 |
Andrew Thompson <thompsa@FreeBSD.org> |
Connect if_bridge to the build. Approved by: mlaier (mentor)
|
#
c4c9b52b |
|
05-May-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ng_nat - a netgraph(4) node, which does NAT
|
#
376ea972 |
|
05-May-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
libalias is now buildable as kernel module
|
#
52648411 |
|
04-May-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce MAC Framework and MAC Policy entry points to label and control access to POSIX Semaphores: mac_init_posix_sem() Initialize label for POSIX semaphore mac_create_posix_sem() Create POSIX semaphore mac_destroy_posix_sem() Destroy POSIX semaphore mac_check_posix_sem_destroy() Check whether semaphore may be destroyed mac_check_posix_sem_getvalue() Check whether semaphore may be queried mac_check_possix_sem_open() Check whether semaphore may be opened mac_check_posix_sem_post() Check whether semaphore may be posted to mac_check_posix_sem_unlink() Check whether semaphore may be unlinked mac_check_posix_sem_wait() Check whether may wait on semaphore Update Biba, MLS, Stub, and Test policies to implement these entry points. For information flow policies, most semaphore operations are effectively read/write. Submitted by: Dandekar Hrishikesh <rishi_dandekar at sbcglobal dot net> Sponsored by: DARPA, McAfee, SPARTA Obtained from: TrustedBSD Project
|
#
9fa98e70 |
|
28-Apr-2005 |
Scott Long <scottl@FreeBSD.org> |
Update the file.* entries for the new home of hwpmc
|
#
0c3757df |
|
28-Apr-2005 |
Darren Reed <darrenr@FreeBSD.org> |
Patches from Ruslan Ermilov to address problems compiling LINT
|
#
c146a157 |
|
25-Apr-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
retire the musycc E1/T1 driver.
|
#
484060eb |
|
22-Apr-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make aic*_reg_print.o appear in the .depend file, fixing the "make" failure after "make depend; make clean". Prodded by: bde
|
#
ebccf1e3 |
|
18-Apr-2005 |
Joseph Koshy <jkoshy@FreeBSD.org> |
Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities and documentation into -CURRENT. Bump FreeBSD_version. Reviewed by: alc, jhb (kernel changes)
|
#
ceaec73d |
|
18-Apr-2005 |
Damien Bergamini <damien@FreeBSD.org> |
Initial import of ipw, iwi, ral and ural drivers: ipw - Intel PRO/Wireless 2100 iwi - Intel PRO/Wireless 2200BG/2225BG/2915ABG ral - Ralink Technology RT2500 ural - Ralink Technology RT2500USB Approved by: silby (mentor)
|
#
b8aa843c |
|
15-Apr-2005 |
Eric Anholt <anholt@FreeBSD.org> |
Update to DRM CVS as of 2005-04-12, bringing many changes: - Split core DRM routines back into their own module, rather than using the nasty templated system like before. - Development-class R300 support in radeon driver (requires userland pieces, of course). - Mach64 driver (haven't tested in a while -- my mach64s no longer fit in the testbox). Covers Rage Pros, Rage Mobility P/M, Rage XL, and some others. - i915 driver files, which just need to get drm_drv.c fixed to allow attachment to the drmsub device. Covers i830 through i915 integrated graphics. - savage driver files, which should require minimal changes to work. Covers the Savage3D, Savage IX/MX, Savage 4, ProSavage. - Support for color and texture tiling and HyperZ features of Radeon. Thanks to: scottl (much p4 handholding) Jung-uk Kim (helpful prodding) PR: [1] kern/76879, [2] kern/72548 Submitted by: [1] Alex, lesha at intercaf dot ru [2] Shaun Jurrens, shaun at shamz dot net
|
#
f0c1dee2 |
|
12-Apr-2005 |
Vinod Kashyap <vkashyap@FreeBSD.org> |
The latest release of the FreeBSD driver (twa) for 3ware's 9xxx series controllers. This corresponds to the 9.2 release (for FreeBSD 5.2.1) on the 3ware website. Highlights of this release are: 1. The driver has been re-architected to use a "Common Layer" (all tw_cl* files), which is a consolidation of all OS-independent parts of the driver. The FreeBSD OS specific portions of the driver go into an "OS Layer" (all tw_osl* files). This re-architecture is to achieve better maintainability, consistency of behavior across OS's, and better portability to new OS's (drivers for new OS's can be written by just adding an OS Layer that's specific to the OS, by complying to a "Common Layer Programming Interface" API. 2. The driver takes advantage of multiple processors. 3. The driver has a new firmware image bundled, the new features of which include Online Capacity Expansion and multi-lun support, among others. More details about 3ware's 9.2 release can be found here: http://www.3ware.com/download/Escalade9000Series/9.2/9.2_Release_Notes_Web.pdf Since the Common Layer is used across OS's, the FreeBSD specific include path for header files (/sys/dev/twa) is not part of the #include pre-processor directive in any of the source files. For being able to integrate twa into the kernel despite this, Makefile.<arch> has been changed to add the include path to CFLAGS. Reviewed by: scottl
|
#
8ca4df32 |
|
29-Mar-2005 |
Søren Schmidt <sos@FreeBSD.org> |
This is the much rumoured ATA mkIII update that I've been working on. o ATA is now fully newbus'd and split into modules. This means that on a modern system you just load "atapci and ata" to get the base support, and then one or more of the device subdrivers "atadisk atapicd atapifd atapist ataraid". All can be loaded/unloaded anytime, but for obvious reasons you dont want to unload atadisk when you have mounted filesystems. o The device identify part of the probe has been rewritten to fix the problems with odd devices the old had, and to try to remove so of the long delays some HW could provoke. Also probing is done without the need for interrupts, making earlier probing possible. o SATA devices can be hot inserted/removed and devices will be created/ removed in /dev accordingly. NOTE: only supported on controllers that has this feature: Promise and Silicon Image for now. On other controllers the usual atacontrol detach/attach dance is still needed. o Support for "atomic" composite ATA requests used for RAID. o ATA RAID support has been rewritten and and now supports these metadata formats: "Adaptec HostRAID" "Highpoint V2 RocketRAID" "Highpoint V3 RocketRAID" "Intel MatrixRAID" "Integrated Technology Express" "LSILogic V2 MegaRAID" "LSILogic V3 MegaRAID" "Promise FastTrak" "Silicon Image Medley" "FreeBSD PseudoRAID" o Update the ioctl API to match new RAID levels etc. o Update atacontrol to know about the new RAID levels etc NOTE: you need to recompile atacontrol with the new sys/ata.h, make world will take care of that. NOTE2: that rebuild is done differently from the old system as the rebuild is now done piggybacked on read requests to the array, so atacontrol simply starts a background "dd" to rebuild the array. o The reinit code has been worked over to be much more robust. o The timeout code has been overhauled for races. o Support of new chipsets. o Lots of fixes for bugs found while doing the modulerization and reviewing the old code. Missing or changed features from current ATA: o atapi-cd no longer has support for ATAPI changers. Todays its much cheaper and alot faster to copy those CD images to disk and serve them from there. Besides they dont seem to be made anymore, maybe for that exact reason. o ATA RAID can only read metadata from all the above metadata formats, not write all of them (Promise and Highpoint V2 so far). This means that arrays can be picked up from the BIOS, but they cannot be created from FreeBSD. There is more to it than just the missing write metadata support, those formats are not unique to a given controller like Promise and Highpoint formats, instead they exist for several types, and even worse, some controllers can have different formats and its impossible to tell which one. The outcome is that we cannot reliably create the metadata of those formats and be sure the controller BIOS will understand it. However write support is needed to update/fail/rebuild the arrays properly so it sits fairly high on the TODO list. o So far atapicam is not supported with these changes. When/if this will change is up to the maintainer of atapi-cam so go there for questions. HW donated by: Webveveriet AS HW donated by: Frode Nordahl HW donated by: Yahoo! HW donated by: Sentex Patience by: Vife and my boys (and even the cats)
|
#
6bcf0032 |
|
22-Mar-2005 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Add USB Communication Device Class Ethernet driver. Originally written for FreeBSD based on aue(4) it was picked by OpenBSD, then from OpenBSD ported to NetBSD and finally NetBSD version merged with original one goes into FreeBSD. Obtained from: http://www.gank.org/freebsd/cdce/ NetBSD OpenBSD
|
#
a7b1b2b6 |
|
18-Mar-2005 |
Philip Paeps <philip@FreeBSD.org> |
Hook acpi_fujitsu up to the build. Forgotten by: philip
|
#
2f005935 |
|
14-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use vfs_hash instead of home-rolled.
|
#
9236b51d |
|
14-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use vfs_hash() instead of home-rolled
|
#
14bc0685 |
|
14-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use vfs_hash instead of home-rolled.
|
#
6c325a2a |
|
14-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Currently (almost) all filesystems maintain a local inode hash table to get from (mount + inode) to vnode. These tables are mostly copy&pasted from UFS, sized based on desiredvnodes and therefore quite large (128K-512K). Several filesystems are buggy enough that they allocate the hash table even before they know if they will ever be used or not. Add "vfs_hash", a system wide hash table, which will replace all the per-filesystem hash-tables. The fields we add to struct vnode will more or less be saved in the respective filesystems inodes. Having one central implementation will save code and will allow us to justify the complexity of code to dynamically (re)size the hash at a later point.
|
#
ae794b41 |
|
11-Mar-2005 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
just use crypto/rijndael (I forgot to commit this in my previous commit)
|
#
fa20c234 |
|
10-Mar-2005 |
Sam Leffler <sam@FreeBSD.org> |
SampleRate rate control algorithm for the ath driver Submitted by: John Bicket
|
#
858ff96a |
|
10-Mar-2005 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
use cast128 in opencrypto to nuke duplicate code.
|
#
d74b3061 |
|
27-Feb-2005 |
Marius Strobl <marius@FreeBSD.org> |
The zs(4) driver is superseded by uart(4) and broken in -CURRENT. Remove it from the sparc64 kernel config files and delete its fhc(4) and sbus(4) front-end. Agreed with: marcel
|
#
099894cc |
|
25-Feb-2005 |
Marius Strobl <marius@FreeBSD.org> |
Declare the sbus(4) front-end of puc(4) also for fhc(4), allowing uart(4) to support the Zilog 8530 SCCs which hang off of a FireHose bus on Sun E4000/E5000 class machines. Beside the fact that a puc_fhc.c would just be a copy of puc_sbus.c with s,sbus,fhc,g the reason why the declaration for fhc(4) was sticked into puc_sbus.c is that both of these front-ends for puc(4) will go away once there is a scc(4). Discussed with: marcel Tested by: hrs, kris MFC after: 3 days
|
#
c6250ecf |
|
24-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Move acpi_perf and acpi_throttle into acpi.ko. Remove the acpi_perf build structure.
|
#
99f0c332 |
|
24-Feb-2005 |
Hartmut Brandt <harti@FreeBSD.org> |
Split the chip-specific code from the generic Utopia code. This simplifies adding of new physical chips. Now one just needs to add a .h and a .c file for the new chip and add one line to utopia.c for that chip.
|
#
a9771948 |
|
22-Feb-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add CARP (Common Address Redundancy Protocol), which allows multiple hosts to share an IP address, providing high availability and load balancing. Original work on CARP done by Michael Shalayeff, with many additions by Marco Pfatschbacher and Ryan McBride. FreeBSD port done solely by Max Laier. Patch by: mlaier Obtained from: OpenBSD (mickey, mcbride)
|
#
febf4577 |
|
13-Feb-2005 |
Scott Long <scottl@FreeBSD.org> |
Add sys/dev/ieee488/ibfoo.c for hte pcii driver. Fixes the broken tinderbox for the last few days.
|
#
1121c394 |
|
11-Feb-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make non-SOFTUPDATES kernels compile again. Integrate the stubfile into the main file now that license issues have been long resolved.
|
#
75737f34 |
|
10-Feb-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add strspn() to libkern. Ok'ed by: rwatson
|
#
969eaf21 |
|
09-Feb-2005 |
Warner Losh <imp@FreeBSD.org> |
Break out obscure ISA cards into their own files, as well as ne2000 and wd80x3 support. Make the obscure ISA cards optional, and add those options to NOTES on i386 (note: the ifdef around the whole code is for module building). Tweak pc98 ed support to include wd80x3 too. Add goo for alpha too. The affected cards are the 3Com 3C503, HP LAN+ and SIC (whatever that is). I couldn't find any of these for sale on ebay, so they are untested. If you have one of these cards, and send it to me, I'll ensure that you have no future problems with it... Minor cleanups as well by using functions rather than cut and paste code for some probing operations (where the function call overhead is lost in the noise). Remove use of kvtop, since they aren't required anymore. This driver needs to get its memory mapped act together, however, and use bus space. It doesn't right now. This reduces the size of if_ed.ko from about 51k to 33k on my laptop.
|
#
aca86659 |
|
06-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Hook acpi_throttle(4) up to the build. It's currently part of acpi_perf.ko although this may change.
|
#
df05d0fb |
|
06-Feb-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Further elaborate the GPIB driver. We now support a minimal subset of the ibfoo() API.
|
#
69bc96f2 |
|
05-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Build cpufreq and acpi_perf on platforms that are likely to be able to use them.
|
#
f2a7ef4e |
|
04-Feb-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Hook up ng_ipfw to kernel build.
|
#
335e4ff3 |
|
03-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Hook up the cpufreq framework, acpi_perf(4), and cpufreq(4) drivers.
|
#
f627315f |
|
03-Feb-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
- Move gets() function to libkern (I want to use it outside vfs_mount.c). - Add buffer size limitations (overflow will not be possible anymore). - Add 'visible' option, which will allow for passphrase reading in the future. - Remove special treatment of '@' and '#', those two are only confusing. Discussed with: rwatson MFC after: 2 weeks
|
#
83820457 |
|
01-Feb-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a IEEE488 driver for PCIIA compatible cards. This driver implements "unaddressed listen only mode", which is what printers and plotters commonly do on GP-IB busses. This means that you can capture print/plot like output from your instruments by configuring them as necessary (good luck!) and cat -u /dev/gpib0l > /tmp/somefile Since there is no way to know when no more output is comming you will have to ctrl-C the cat process when it is done (that is why the -u is important).
|
#
e4eb384b |
|
21-Jan-2005 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Bring in MemGuard, a very simple and small replacement allocator designed to help detect tamper-after-free scenarios, a problem more and more common and likely with multithreaded kernels where race conditions are more prevalent. Currently MemGuard can only take over malloc()/realloc()/free() for particular (a) malloc type(s) and the code brought in with this change manually instruments it to take over M_SUBPROC allocations as an example. If you are planning to use it, for now you must: 1) Put "options DEBUG_MEMGUARD" in your kernel config. 2) Edit src/sys/kern/kern_malloc.c manually, look for "XXX CHANGEME" and replace the M_SUBPROC comparison with the appropriate malloc type (this might require additional but small/simple code modification if, say, the malloc type is declared out of scope). 3) Build and install your kernel. Tune vm.memguard_divisor boot-time tunable which is used to scale how much of kmem_map you want to allott for MemGuard's use. The default is 10, so kmem_size/10. ToDo: 1) Bring in a memguard(9) man page. 2) Better instrumentation (e.g., boot-time) of MemGuard taking over malloc types. 3) Teach UMA about MemGuard to allow MemGuard to override zone allocations too. 4) Improve MemGuard if necessary. This work is partly based on some old patches from Ian Dowse.
|
#
27dc7a92 |
|
13-Jan-2005 |
John Baldwin <jhb@FreeBSD.org> |
Allow the dragon and snake screen savers to be statically compiled into a kernel and add them to NOTES. MFC after: 2 weeks
|
#
560cb857 |
|
11-Jan-2005 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect SHSEC GEOM class to the build.
|
#
2948a1cb |
|
09-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
sort more things alphabetically
|
#
2c4b2249 |
|
04-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
Minor nits in formatting continued lines
|
#
65881957 |
|
04-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
cnw as a pccard device was commented out, so uncomment it so LINT will build.
|
#
944d0f0f |
|
03-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
move all the card entries to files.pc98 style change: regularize tabbing
|
#
3ec0cd6e |
|
03-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
First step in removing OLDCARD from FreeBSD 6.0: o Move card from all architectures to just pc98. It is only needed there, although real issues remain with NEWCARD's support of ISA devices.
|
#
2c3bc7b9 |
|
30-Dec-2004 |
Warner Losh <imp@FreeBSD.org> |
Call usbdevs2h with -h for .h file Explicitly generate usbdevs_data.h for usb kernels with new -d switch
|
#
d676cb6f |
|
27-Dec-2004 |
Roman Kurakin <rik@FreeBSD.org> |
Add FR support to sppp (MFCronyx). Silence on: net@, current@, hackers@. No objections: joerg Requested by: by many (mostly Cronyx) users for a long long time. MFC after: 10 days PR: kern/21771, kern/66348
|
#
06064893 |
|
09-Dec-2004 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add IBM Laptop extra device driver. This depends on ACPI and RTC registers. Reviewed by: njl
|
#
1e806e82 |
|
08-Dec-2004 |
Sam Leffler <sam@FreeBSD.org> |
Update for ath and net80211 changes.
|
#
370abcb3 |
|
05-Dec-2004 |
Alan Cox <alc@FreeBSD.org> |
Update the Tigon 1 and 2 driver to use the sf_buf API for implementing zero-copy receive of jumbo frames. This eliminates the need for the jumbo frame allocator implemented in kern/uipc_jumbo.c and sys/jumbo.h. Remove it. Note: Zero-copy receive of jumbo frames did not work without these changes; I believe there was insufficient locking on the jumbo vm object. Tested by: ken@ Discussed with: gallatin@
|
#
694f13aa |
|
20-Nov-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Stop building uart_dev_i8251.c. It was copied from uart_dev_ns8250.c without ever being changed to actually work with an i8251. Nobody is working on this either at the moment, so it's not about to change soon. When the code necessary to support the i8251 is committed, this can be reverted again.
|
#
1fbf6dc5 |
|
17-Nov-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up mac_sysv_{msg,sem,shm}.c to the build when compiling with MAC support.
|
#
f46d4a67 |
|
17-Nov-2004 |
Marius Strobl <marius@FreeBSD.org> |
Add a driver back end for MC146818 and compatible clocks based on the respective NetBSD driver for use with the genclock interface. It's first use will be on sparc64 but it was also tested on alpha with a preliminary patch to switch alpha to use the genclock code together with this driver instead of the respective code in alpha/alpha/clock.c and the rather MD mcclock(4). Using it on i386 and amd64 won't be that hard but some changes/extensions to improve the genclock code in general should be done first, e.g. add locking and make it easier to access the NVRAM usually coupled with RTCs.
|
#
6e81ac21 |
|
16-Nov-2004 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Add vkdb(4) man page and connect vkbd(4) to the build.
|
#
492871f5 |
|
15-Nov-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Order of arguments after "optional" is not without significance: the first field must be the name of the enabling device/option, otherwise config doesn't know there is an option/device of that name.
|
#
c2aed512 |
|
14-Nov-2004 |
Warner Losh <imp@FreeBSD.org> |
After discussions with Nate, repo copy the acpi assist drivers from i386 to dev/acpi_support. In theory, these devices could be found other than in i386 machines only as amd64 becomes more popular. These drivers don't appear to do anything i386 specific, so move them to dev/acpi_support. Move config lines to files so that those architectures that don't support kernel modules can build them into the kernel. At the same time, rename acpi_snc to acpi_sony to follow the lead of all the other specialty devices.
|
#
8280421a |
|
11-Nov-2004 |
Warner Losh <imp@FreeBSD.org> |
Doh! This one crept in two commits ago and didn't get weeded out on the last commit. Sorry gang. Conical Hat: imp
|
#
53f8cdd8 |
|
11-Nov-2004 |
Warner Losh <imp@FreeBSD.org> |
Kill the 802.11 crypo changes that shouldn't have been committed. Noticed by: phillip@
|
#
dbacb6c4 |
|
11-Nov-2004 |
Warner Losh <imp@FreeBSD.org> |
Commit takawata-san's Sony Notebook Controller driver, integrated into the tree. Small tweaks were made by myself to eliminate unnecessary includes and some other minor issues. Last time I asked takawata-san about this driver, he suggested I commit it. Submitted by: takawata
|
#
c8c8f27a |
|
10-Nov-2004 |
Warner Losh <imp@FreeBSD.org> |
pbio has moved to dev/pbio Prodded by: peter
|
#
c9472fb2 |
|
10-Nov-2004 |
Mark Murray <markm@FreeBSD.org> |
Remove at request of author, perhaps to be re-added later.
|
#
f12ea43d |
|
08-Nov-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove the obsolete gx driver. All the hardware is supported by the better maintained if_em driver. Absentmindedly nodded vertical by: people on #that_channel
|
#
4d13ab3d |
|
29-Oct-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add GEOM class "VFS" for filesystems and other buffer cache users of GEOM devices. There is nothing magic about this, it just gives a bufobj interface to GEOM.
|
#
743d0f66 |
|
24-Oct-2004 |
Ruslan Ermilov <ru@FreeBSD.org> |
Hack around a problem with sys/tools/usbdevs2h.awk that generates both usbdevs.h and usbdevs_data.h. (The latter was not cleaned.)
|
#
ff7c5a48 |
|
22-Oct-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Alas, poor SPECFS! -- I knew him, Horatio; A filesystem of infinite jest, of most excellent fancy: he hath taught me lessons a thousand times; and now, how abhorred in my imagination it is! my gorge rises at it. Here were those hacks that I have curs'd I know not how oft. Where be your kludges now? your workarounds? your layering violations, that were wont to set the table on a roar? Move the skeleton of specfs into devfs where it now belongs and bury the rest.
|
#
fdebdf10 |
|
12-Oct-2004 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Add dcons_os.{c,h}.
|
#
ab67442f |
|
07-Oct-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Since net/net_osdep.c contained only one function that could be trivially implemented as a macro, do that and remove it. NetBSD did this quite a while ago.
|
#
f6bde1fd |
|
30-Sep-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a new API for allocating unit number (-like) resources. Allocation is always lowest free unit number. A mixed range/bitmap strategy for maximum memory efficiency. In the typical case where no unit numbers are freed total memory usage is 56 bytes on i386. malloc is called M_WAITOK but no locking is provided (yet). A bit of experience will be necessary to determine the best strategy. Hopefully a "caller provides locking" strategy can be maintained, but that may require use of M_NOWAIT allocation and failure handling. A userland test driver is included.
|
#
08d0c00b |
|
23-Sep-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Per recent HEADSUP: Disconnect (old)vinum from the kernel build. Users should move to the new geom_vinum implementation instead. The refcount logic which is being added to devices to enable safe module unloading and the buf/vm work also in progress would require a major rework of the (old)-vinum code to comply with the new semantics. The actual source files will not be removed until I have coordinated with the geomvinum people if they need any bits repo-copied etc.
|
#
cec50dea |
|
16-Sep-2004 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Attach ng_netflow to kernel build. Approved by: julian (mentor)
|
#
a07bd003 |
|
10-Sep-2004 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for the VIA Networking Technologies VT6122 gigabit ethernet chip and integrated 10/100/1000 copper PHY. The vge driver has been added to GENERIC for i386, pc98 and amd64, but not to sparc or ia64 since I don't have the ability to test it there. The vge(4) driver supports VLANs, checksum offload and jumbo frames. Also added the lge(4) and nge(4) drivers to GENERIC for i386 and pc98 since I was in the neighborhood. There's no reason to leave them out anymore.
|
#
8985c52b |
|
05-Sep-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Device driver for the Cypress CY7C637xx and CY7C640/1xx families of USB to RS232 bridges, such as the one found in the DeLorme Earthmate USB GPS receiver (which is the only device currently supported by this driver). While other USB to serial drivers in the tree rely heavily on ucom, this one is self-contained. The reason for that is that ucom assumes that the bridge uses bulk pipes for I/O, while the Cypress parts actually register as human interface devices and use HID reports for configuration and I/O. The driver is not entirely complete: there is no support yet for flow control, and output doesn't seem to work, though I don't know if that is because of a bug in the code, or simply because the Earthmate is a read- only device.
|
#
ed062c8d |
|
04-Sep-2004 |
Julian Elischer <julian@FreeBSD.org> |
Refactor a bunch of scheduler code to give basically the same behaviour but with slightly cleaned up interfaces. The KSE structure has become the same as the "per thread scheduler private data" structure. In order to not make the diffs too great one is #defined as the other at this time. The KSE (or td_sched) structure is now allocated per thread and has no allocation code of its own. Concurrency for a KSEGRP is now kept track of via a simple pair of counters rather than using KSE structures as tokens. Since the KSE structure is different in each scheduler, kern_switch.c is now included at the end of each scheduler. Nothing outside the scheduler knows the contents of the KSE (aka td_sched) structure. The fields in the ksegrp structure that are to do with the scheduler's queueing mechanisms are now moved to the kg_sched structure. (per ksegrp scheduler private data structure). In other words how the scheduler queues and keeps track of threads is no-one's business except the scheduler's. This should allow people to write experimental schedulers with completely different internal structuring. A scheduler call sched_set_concurrency(kg, N) has been added that notifies teh scheduler that no more than N threads from that ksegrp should be allowed to be on concurrently scheduled. This is also used to enforce 'fainess' at this time so that a ksegrp with 10000 threads can not swamp a the run queue and force out a process with 1 thread, since the current code will not set the concurrency above NCPU, and both schedulers will not allow more than that many onto the system run queue at a time. Each scheduler should eventualy develop their own methods to do this now that they are effectively separated. Rejig libthr's kernel interface to follow the same code paths as linkse for scope system threads. This has slightly hurt libthr's performance but I will work to recover as much of it as I can. Thread exit code has been cleaned up greatly. exit and exec code now transitions a process back to 'standard non-threaded mode' before taking the next step. Reviewed by: scottl, peter MFC after: 1 week
|
#
0793d4d1 |
|
02-Sep-2004 |
Alfred Perlstein <alfred@FreeBSD.org> |
Hook autofs to the build.
|
#
f37a929c |
|
30-Aug-2004 |
Peter Wemm <peter@FreeBSD.org> |
Kill count device support from config. I've changed the last few remaining consumers to have the count passed as an option. This is i4b, pc98/wdc, and coda. Bump configvers.h from 500013 to 600000. Remove heuristics that tried to parse "device ed5" as 5 units of the ed device. This broke things like the snd_emu10k1 device, which required quotes to make it parse right. The no-longer-needed quotes have been removed from NOTES, GENERIC etc. eg, I've removed the quotes from: device snd_maestro device "snd_maestro3" device snd_mss I believe everything will still compile and work after this.
|
#
b8e543f9 |
|
29-Aug-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Back out previous commit, ichwd is i386-only.
|
#
776981d5 |
|
28-Aug-2004 |
Ian Dowse <iedowse@FreeBSD.org> |
Add an entry for ichwd to hopefully unbreak the LINT build.
|
#
c21fd232 |
|
27-Aug-2004 |
Andre Oppermann <andre@FreeBSD.org> |
Always compile PFIL_HOOKS into the kernel and remove the associated kernel compile option. All FreeBSD packet filters now use the PFIL_HOOKS API and thus it becomes a standard part of the network stack. If no hooks are connected the entire packet filter hooks section and related activities are jumped over. This removes any performance impact if no hooks are active. Both OpenBSD and DragonFlyBSD have integrated PFIL_HOOKS permanently as well.
|
#
c415679d |
|
22-Aug-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Remove in6_prefix.[ch] and the contained router renumbering capability. The prefix management code currently resides in nd6, leaving only the unused router renumbering capability in the in6_prefix files. Removing it will make it easier for us to provide locking for the remainder of IPv6 by reducing the number of objects requiring synchronized access. This functionality has also been removed from NetBSD and OpenBSD. Submitted by: George Neville-Neil <gnn at neville-neil.com> Discussed with/approved by: suz, keiichi at kame.net, core at kame.net
|
#
9b932e9e |
|
17-Aug-2004 |
Andre Oppermann <andre@FreeBSD.org> |
Convert ipfw to use PFIL_HOOKS. This is change is transparent to userland and preserves the ipfw ABI. The ipfw core packet inspection and filtering functions have not been changed, only how ipfw is invoked is different. However there are many changes how ipfw is and its add-on's are handled: In general ipfw is now called through the PFIL_HOOKS and most associated magic, that was in ip_input() or ip_output() previously, is now done in ipfw_check_[in|out]() in the ipfw PFIL handler. IPDIVERT is entirely handled within the ipfw PFIL handlers. A packet to be diverted is checked if it is fragmented, if yes, ip_reass() gets in for reassembly. If not, or all fragments arrived and the packet is complete, divert_packet is called directly. For 'tee' no reassembly attempt is made and a copy of the packet is sent to the divert socket unmodified. The original packet continues its way through ip_input/output(). ipfw 'forward' is done via m_tag's. The ipfw PFIL handlers tag the packet with the new destination sockaddr_in. A check if the new destination is a local IP address is made and the m_flags are set appropriately. ip_input() and ip_output() have some more work to do here. For ip_input() the m_flags are checked and a packet for us is directly sent to the 'ours' section for further processing. Destination changes on the input path are only tagged and the 'srcrt' flag to ip_forward() is set to disable destination checks and ICMP replies at this stage. The tag is going to be handled on output. ip_output() again checks for m_flags and the 'ours' tag. If found, the packet will be dropped back to the IP netisr where it is going to be picked up by ip_input() again and the directly sent to the 'ours' section. When only the destination changes, the route's 'dst' is overwritten with the new destination from the forward m_tag. Then it jumps back at the route lookup again and skips the firewall check because it has been marked with M_SKIP_FIREWALL. ipfw 'forward' has to be compiled into the kernel with 'option IPFIREWALL_FORWARD' to enable it. DUMMYNET is entirely handled within the ipfw PFIL handlers. A packet for a dummynet pipe or queue is directly sent to dummynet_io(). Dummynet will then inject it back into ip_input/ip_output() after it has served its time. Dummynet packets are tagged and will continue from the next rule when they hit the ipfw PFIL handlers again after re-injection. BRIDGING and IPFW_ETHER are not changed yet and use ipfw_chk() directly as they did before. Later this will be changed to dedicated ETHER PFIL_HOOKS. More detailed changes to the code: conf/files Add netinet/ip_fw_pfil.c. conf/options Add IPFIREWALL_FORWARD option. modules/ipfw/Makefile Add ip_fw_pfil.c. net/bridge.c Disable PFIL_HOOKS if ipfw for bridging is active. Bridging ipfw is still directly invoked to handle layer2 headers and packets would get a double ipfw when run through PFIL_HOOKS as well. netinet/ip_divert.c Removed divert_clone() function. It is no longer used. netinet/ip_dummynet.[ch] Neither the route 'ro' nor the destination 'dst' need to be stored while in dummynet transit. Structure members and associated macros are removed. netinet/ip_fastfwd.c Removed all direct ipfw handling code and replace it with the new 'ipfw forward' handling code. netinet/ip_fw.h Removed 'ro' and 'dst' from struct ip_fw_args. netinet/ip_fw2.c (Re)moved some global variables and the module handling. netinet/ip_fw_pfil.c New file containing the ipfw PFIL handlers and module initialization. netinet/ip_input.c Removed all direct ipfw handling code and replace it with the new 'ipfw forward' handling code. ip_forward() does not longer require the 'next_hop' struct sockaddr_in argument. Disable early checks if 'srcrt' is set. netinet/ip_output.c Removed all direct ipfw handling code and replace it with the new 'ipfw forward' handling code. netinet/ip_var.h Add ip_reass() as general function. (Used from ipfw PFIL handlers for IPDIVERT.) netinet/raw_ip.c Directly check if ipfw and dummynet control pointers are active. netinet/tcp_input.c Rework the 'ipfw forward' to local code to work with the new way of forward tags. netinet/tcp_sack.c Remove include 'opt_ipfw.h' which is not needed here. sys/mbuf.h Remove m_claim_next() macro which was exclusively for ipfw 'forward' and is no longer needed. Approved by: re (scottl)
|
#
7afc0218 |
|
16-Aug-2004 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add an ISA attachement to the aic7xxx driver to handle 284X controllers. The ISA probe uses an identify routine to probe all slot locations from 1 to 14 that do not conflict with other allocated resources. This required making aic7770.c part of the driver core when compiled as a module. aic7xxx.c: aic79xx.c: aic_osm_lib.c: Use aic_scb_timer_start() consistently to start the watchdog timer. This removes a few places that verbatum copied the code in aic_scb_timer_start(). During recovery processing, allow commands to still be queued to the controller. The only requirement we have is that our recovery command be queued first - something the code already guaranteed. The only other change required to make this work is to prevent timers from being started for these newly queued commands. Approved by: re
|
#
e81856c3 |
|
16-Aug-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect RAID3 GEOM class to the build.
|
#
75261008 |
|
13-Aug-2004 |
Max Khon <fjoe@FreeBSD.org> |
Add geom_uzip -- geom class that implements read-only compressed disks. Currently supports cloop V2.0 disk compression format. May support more formats in future.
|
#
a7e22394 |
|
12-Aug-2004 |
Hartmut Brandt <harti@FreeBSD.org> |
Allow the ATM call control module to be built into the kernel.
|
#
93185c74 |
|
12-Aug-2004 |
Warner Losh <imp@FreeBSD.org> |
Move towards isa attachment for pccbb. This is a work in progress, but works well with the pci attachment.
|
#
1b868fa9 |
|
11-Aug-2004 |
Warner Losh <imp@FreeBSD.org> |
Remove pcic for NEWCARD
|
#
d23a262f |
|
03-Aug-2004 |
Mark Murray <markm@FreeBSD.org> |
Making a loadable null.ko for /dev/(null|zero) proved rather unpopular, so remove this (mis)feature. Encouragement provided by: jhb (and others)
|
#
8ab2f5ec |
|
01-Aug-2004 |
Mark Murray <markm@FreeBSD.org> |
Break out the MI part of the /dev/[k]mem and /dev/io drivers into their own directory and module, leaving the MD parts in the MD area (the MD parts _are_ part of the modules). /dev/mem and /dev/io are now loadable modules, thus taking us one step further towards a kernel created entirely out of modules. Of course, there is nothing preventing the kernel from having these statically compiled.
|
#
8a8fbaca |
|
30-Jul-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Connect GEOM_MIRROR class to the build.
|
#
63ead4f2 |
|
30-Jul-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Nuke geom_mirror class. New geom_mirror class is in the way. Approved by: phk
|
#
0739ea1d |
|
15-Jul-2004 |
Seigo Tanimura <tanimura@FreeBSD.org> |
Rename the sound device drivers: - `sound' The generic sound driver, always required. - `snd_*' Device-dependent drivers, named after the sound module names. Configure accordingly to your hardware. In addition, rename the `snd_pcm' module to `sound' in order to sync with the driver names. Suggested by: cg
|
#
b1e34c44 |
|
15-Jul-2004 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Copy qsort_r(3) from libc to libkern. Reviewed by: phk Approved by: julian (mentor)
|
#
e79a88db |
|
12-Jul-2004 |
Warner Losh <imp@FreeBSD.org> |
pccard no longer requires a count because the floppy driver that nominally had a non-working reference to card.h has been removed.
|
#
d07c9778 |
|
12-Jul-2004 |
Doug Rabson <dfr@FreeBSD.org> |
Make if_fwsubr.c dependant on fwip instead of firewire - there is not much point including it if you aren't using IP over firewire.
|
#
37224cd3 |
|
10-Jul-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Mega update for the KDB framework: turn DDB into a KDB backend. Most of the changes are a direct result of adding thread awareness. Typically, DDB_REGS is gone. All registers are taken from the trapframe and backtraces use the PCB based contexts. DDB_REGS was defined to be a trapframe on all platforms anyway. Thread awareness introduces the following new commands: thread X switch to thread X (where X is the TID), show threads list all threads. The backtrace code has been made more flexible so that one can create backtraces for any thread by giving the thread ID as an argument to trace. With this change, ia64 has support for breakpoints.
|
#
5971a234 |
|
10-Jul-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Hook the GDB backend into the build.
|
#
f7797100 |
|
10-Jul-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Hook the KDB frontend into the build.
|
#
0ac40133 |
|
08-Jul-2004 |
Brian Somers <brian@FreeBSD.org> |
Change the following environment variables to kernel options: bootp -> BOOTP bootp.nfsroot -> BOOTP_NFSROOT bootp.nfsv3 -> BOOTP_NFSV3 bootp.compat -> BOOTP_COMPAT bootp.wired_to -> BOOTP_WIRED_TO - i.e. back out the previous commit. It's already possible to pxeboot(8) with a GENERIC kernel. Pointed out by: dwmalone
|
#
59e1ebc9 |
|
08-Jul-2004 |
Brian Somers <brian@FreeBSD.org> |
Change the following kernel options to environment variables: BOOTP -> bootp BOOTP_NFSROOT -> bootp.nfsroot BOOTP_NFSV3 -> bootp.nfsv3 BOOTP_COMPAT -> bootp.compat BOOTP_WIRED_TO -> bootp.wired_to This lets you PXE boot with a GENERIC kernel by putting this sort of thing in loader.conf: bootp="YES" bootp.nfsroot="YES" bootp.nfsv3="YES" bootp.wired_to="bge1" or even setting the variables manually from the OK prompt.
|
#
3bc482ec |
|
03-Jul-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
By popular request, add a workaround that allows large (>128GB or so) FAT32 filesystems to be mounted, subject to some fairly serious limitations. This works by extending the internal pseudo-inode-numbers generated from the file's starting cluster number to 64-bits, then creating a table mapping these into arbitrary 32-bit inode numbers, which can fit in struct dirent's d_fileno and struct vattr's va_fileid fields. The mappings do not persist across unmounts or reboots, so it's not possible to export these filesystems through NFS. The mapping table may grow to be rather large, and may grow large enough to exhaust kernel memory on filesystems with millions of files. Don't enable this option unless you understand the consequences.
|
#
e1237b28 |
|
02-Jul-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Introduce GEOM_LABEL class. This class is used for detecting volume labels on file systems: UFS, MSDOSFS (FAT12, FAT16, FAT32) and ISO9660. It also provide native labelization (there is no need for file system). g_label_ufs.c is based on geom_vol_ffs from Gordon Tetlow. g_label_msdos.c and g_label_iso9660.c are probably hacks, I just found where volume labels are stored and I use those offsets here, but with this class it should be easy to do it as it should be done by someone who know how. Implementing volume labels detection for other file systems also should be trivial. New providers are created in those directories: /dev/ufs/ (UFS1, UFS2) /dev/msdosfs/ (FAT12, FAT16, FAT32) /dev/iso9660/ (ISO9660) /dev/label/ (native labels, configured with glabel(8)) Manual page cleanups and some comments inside were submitted by Simon L. Nielsen, who was, as always, very helpful. Thanks!
|
#
743e8e75 |
|
30-Jun-2004 |
Warner Losh <imp@FreeBSD.org> |
My last commit broke oldcard. Rather than duplicate the lines for pccarddevs.h, just make it standard for now. Once oldcard is gone, we'll revisit.
|
#
f1ca765c |
|
30-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Move acpi_if.m to files.{amd64,i386,ia64}. This should fix the alpha build. Pointed out by: gallatin
|
#
6840424e |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Like usbdevs, use before-depend to ensure ordering. Glass plaque award: obrien
|
#
f207ef23 |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Restore the terminating backslash lost by a typo.
|
#
0f18ebd2 |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Make acpi_quirks.h conditional on device acpi.
|
#
4209cd53 |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add glue for building acpi_quirk.c
|
#
d13e5a40 |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add acpi methods for HID/CID probing, evaluating objects, and walking the namespace. This is to allow decoupling of attachments from ACPI where they need some functionality when ACPI is present but do not want to require ACPI to always be loaded.
|
#
b5ba0c50 |
|
28-Jun-2004 |
Warner Losh <imp@FreeBSD.org> |
We need to build miidevs.h when we have miibus, not mii.
|
#
e9f58c27 |
|
27-Jun-2004 |
Warner Losh <imp@FreeBSD.org> |
Only build miidevs.h when we have mii in the kernel Only build pccarddevs.h when we have pccard in the kernel Only build usbdevs.h when we have usb in the kernel Suggested by: bde
|
#
d07af9d9 |
|
26-Jun-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Add options NETGRAPH_FEC to hook up ng_fec.c to the LINT build.
|
#
9d564133 |
|
26-Jun-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Add options NETGRAPH_EIFACE, which causes ng_eiface.c to be built into the kernel, similar to NETGRAPH_IFACE for ng_iface.c. It appears to have been omitted when added to the kernel.
|
#
09c399ec |
|
25-Jun-2004 |
Warner Losh <imp@FreeBSD.org> |
MFp4: Reduce the need for hard coded *devs in various makefiles by declaring them before-depend. Other bugs in the handling of *devs remain, but this is the start of the cleanup. These will be address in future commits. Cleanup Motivator: bde
|
#
684c1c1d |
|
24-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Hook acpi_quirks up to the build for kernel and modules.
|
#
6d90faf3 |
|
23-Jun-2004 |
Paul Saab <ps@FreeBSD.org> |
Add support for TCP Selective Acknowledgements. The work for this originated on RELENG_4 and was ported to -CURRENT. The scoreboarding code was obtained from OpenBSD, and many of the remaining changes were inspired by OpenBSD, but not taken directly from there. You can enable/disable sack using net.inet.tcp.do_sack. You can also limit the number of sack holes that all senders can have in the scoreboard with net.inet.tcp.sackhole_limit. Reviewed by: gnn Obtained from: Yahoo! (Mohan Srinivasan, Jayanth Vijayaraghavan)
|
#
f889d2ef |
|
22-Jun-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Major overhaul of pseudo-interface cloning. Highlights include: - Split the code out into if_clone.[ch]. - Locked struct if_clone. [1] - Add a per-cloner match function rather then simply matching names of the form <name><unit> and <name>. - Use the match function to allow creation of <interface>.<tag> vlan interfaces. The old way is preserved unchanged! - Also the match function to allow creation of stf(4) interfaces named stf0, stf, or 6to4. This is the only major user visible change in that "ifconfig stf" creates the interface stf rather then stf0 and does not print "stf0" to stdout. - Allow destroy functions to fail so they can refuse to delete interfaces. Currently, we forbid the deletion of interfaces which were created in the init function, particularly lo0, pflog0, and pfsync0. In the case of lo0 this was a panic implementation so it does not count as a user visiable change. :-) - Since most interfaces do not need the new functionality, an family of wrapper functions, ifc_simple_*(), were created to wrap old style cloner functions. - The IF_CLONE_INITIALIZER macro is replaced with a new incompatible IFC_CLONE_INITIALIZER and ifc_simple consumers use IFC_SIMPLE_DECLARE instead. Submitted by: Maurycy Pawlowski-Wieronski <maurycy at fouk.org> [1] Reviewed by: andre, mlaier Discussed on: net
|
#
7c1fe953 |
|
16-Jun-2004 |
Max Laier <mlaier@FreeBSD.org> |
Commit pf version 3.5 and link additional files to the kernel build. Version 3.5 brings: - Atomic commits of ruleset changes (reduce the chance of ending up in an inconsistent state). - A 30% reduction in the size of state table entries. - Source-tracking (limit number of clients and states per client). - Sticky-address (the flexibility of round-robin with the benefits of source-hash). - Significant improvements to interface handling. - and many more ...
|
#
02b199f1 |
|
13-Jun-2004 |
Max Laier <mlaier@FreeBSD.org> |
Link ALTQ to the build and break with ABI for struct ifnet. Please recompile your (network) modules as well as any userland that might make sense of sizeof(struct ifnet). This does not change the queueing yet. These changes will follow in a seperate commit. Same with the driver changes, which need case by case evaluation. __FreeBSD_version bump will follow. Tested-by: (i386)LINT
|
#
b8b33234 |
|
13-Jun-2004 |
Doug Rabson <dfr@FreeBSD.org> |
Add a new driver to support IP over firewire. This driver is intended to conform to the rfc2734 and rfc3146 standard for IP over firewire and should eventually supercede the fwe driver. Right now the broadcast channel number is hardwired and we don't support MCAP for multicast channel allocation - more infrastructure is required in the firewire code itself to fix these problems.
|
#
12c6be05 |
|
09-Jun-2004 |
Scott Long <scottl@FreeBSD.org> |
Add the esp(4) files. Two of them are sbus-specific and therefore only apply to sparc64.
|
#
6732641e |
|
09-Jun-2004 |
Warner Losh <imp@FreeBSD.org> |
Step 1 in moving EISA devices to kobj/newbus. Use kobj methods for all of the interface between the driver and the bus. This will enable us to stop special casing eisa bus attachments in modules and treat them like we treat all other busses. In the longer run, we need to eliminate much (all?) of these interfaces and switch to using the standard bus_alloc_resource(), but that's not done right now. # I've not updated the modules to include eisa, etc, just yet Tested on: Compaq Proliant 3000/333 purchased for eisa work
|
#
345ad866 |
|
07-Jun-2004 |
Julian Elischer <julian@FreeBSD.org> |
Split kern_thread.c into 2 parts. kern_kse.c and kern_thread.c Kern_kse has already been committed. This separates out the KSE threading ABI from generic thread support.
|
#
a5dc42de |
|
01-Jun-2004 |
Seigo Tanimura <tanimura@FreeBSD.org> |
Axe the old midi drivers and framework. matk has developed a new module-friendly midi subsystem to be merged soon.
|
#
099a0e58 |
|
31-May-2004 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Bring in mbuma to replace mballoc. mbuma is an Mbuf & Cluster allocator built on top of a number of extensions to the UMA framework, all included herein. Extensions to UMA worth noting: - Better layering between slab <-> zone caches; introduce Keg structure which splits off slab cache away from the zone structure and allows multiple zones to be stacked on top of a single Keg (single type of slab cache); perhaps we should look into defining a subset API on top of the Keg for special use by malloc(9), for example. - UMA_ZONE_REFCNT zones can now be added, and reference counters automagically allocated for them within the end of the associated slab structures. uma_find_refcnt() does a kextract to fetch the slab struct reference from the underlying page, and lookup the corresponding refcnt. mbuma things worth noting: - integrates mbuf & cluster allocations with extended UMA and provides caches for commonly-allocated items; defines several zones (two primary, one secondary) and two kegs. - change up certain code paths that always used to do: m_get() + m_clget() to instead just use m_getcl() and try to take advantage of the newly defined secondary Packet zone. - netstat(1) and systat(1) quickly hacked up to do basic stat reporting but additional stats work needs to be done once some other details within UMA have been taken care of and it becomes clearer to how stats will work within the modified framework. From the user perspective, one implication is that the NMBCLUSTERS compile-time option is no longer used. The maximum number of clusters is still capped off according to maxusers, but it can be made unlimited by setting the kern.ipc.nmbclusters boot-time tunable to zero. Work should be done to write an appropriate sysctl handler allowing dynamic tuning of kern.ipc.nmbclusters at runtime. Additional things worth noting/known issues (READ): - One report of 'ips' (ServeRAID) driver acting really slow in conjunction with mbuma. Need more data. Latest report is that ips is equally sucking with and without mbuma. - Giant leak in NFS code sometimes occurs, can't reproduce but currently analyzing; brueffer is able to reproduce but THIS IS NOT an mbuma-specific problem and currently occurs even WITHOUT mbuma. - Issues in network locking: there is at least one code path in the rip code where one or more locks are acquired and we end up in m_prepend() with M_WAITOK, which causes WITNESS to whine from within UMA. Current temporary solution: force all UMA allocations to be M_NOWAIT from within UMA for now to avoid deadlocks unless WITNESS is defined and we can determine with certainty that we're not holding any locks when we're M_WAITOK. - I've seen at least one weird socketbuffer empty-but- mbuf-still-attached panic. I don't believe this to be related to mbuma but please keep your eyes open, turn on debugging, and capture crash dumps. This change removes more code than it adds. A paper is available detailing the change and considering various performance issues, it was presented at BSDCan2004: http://www.unixdaemons.com/~bmilekic/netbuf_bmilekic.pdf Please read the paper for Future Work and implementation details, as well as credits. Testing and Debugging: rwatson, brueffer, Ketrien I. Saihr-Kesenchedra, ... Reviewed by: Lots of people (for different parts)
|
#
e03f8cdc |
|
27-May-2004 |
Tony Ackerman <tackerman@FreeBSD.org> |
First release of ixgb driver for the Intel(R) PRO/10GbE Family of Adapters. This driver has been developed for use with FreeBSD, version 4.8 and later. Submitted by: Hema Joyce Reviewed by: Prafulla Deuskar Approved by: Prafulla Deuskar MFC after: 1 week
|
#
dba6dd17 |
|
25-May-2004 |
Warner Losh <imp@FreeBSD.org> |
Move to generating pccarddevs.h on the fly, both for the kernel and the modules. Also generate usbdevs.h automatically now, but a non-kernel file is stopping that at the moment.
|
#
79af3d91 |
|
25-May-2004 |
Warner Losh <imp@FreeBSD.org> |
Fix disorder introduce in 1.862 by sorting emu10k before miidevs.h, rather than after. bde inspired words: disorder
|
#
c4e54758 |
|
25-May-2004 |
Warner Losh <imp@FreeBSD.org> |
devlist2h.awk is too generic a name for what it does. It really converts miidevs to a .h file, so rename to reflect that. The usb and pccard versions have also been renamed and will be hooked into the build system shortly (I've made the conversion in my p4 tree).
|
#
7dc92b13 |
|
20-May-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
- Connect geom(8) and its libraries to the build. - Connect geom_stripe and geom_nop modules to the build. - Connect STRIPE and NOP classes to the LINT build. - Disconnect gconcat(8) from the build. Supported by: Wheel - Open Technologies - http://www.wheel.pl
|
#
7226443d |
|
03-May-2004 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Allow geom_concat and geom_gate to be compiled in kernel.
|
#
e0871faf |
|
01-May-2004 |
Bruce Evans <bde@FreeBSD.org> |
Switch to using the moved cy driver (adjust pathnames and remove "count" parameter). Keep using it only in the i386 NOTES for now. It is fairly MI, but it doesn't use bus-space and has a couple of i386 i/o instructions in pci intitialization.
|
#
e501d969 |
|
30-Apr-2004 |
Thomas Moestl <tmm@FreeBSD.org> |
Remove the sio EBus attachment, which never worked with an unpatched driver because sio(4) uses ISA-specific functions. uart(4) has full support for the respective hardware and should be used instead.
|
#
0a6818e2 |
|
24-Apr-2004 |
Roman Kurakin <rik@FreeBSD.org> |
Connect ng_sppp to the build process.
|
#
666ea1b6 |
|
23-Apr-2004 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Make sure Bluetooth stuff can be statically compiled into kernel Submitted by: ps Reviewed by: imp (mentor), ru
|
#
bcc0344c |
|
20-Apr-2004 |
Nate Lawson <njl@FreeBSD.org> |
Remove an extra line that crept in.
|
#
6e3b5e7e |
|
20-Apr-2004 |
Nate Lawson <njl@FreeBSD.org> |
Remove the commented out line for fore_load.c now that it's been removed.
|
#
5e679b57 |
|
14-Apr-2004 |
Nate Lawson <njl@FreeBSD.org> |
Remove nowerror lines now that acpica is warns clean.
|
#
9dc313a3 |
|
11-Apr-2004 |
Warner Losh <imp@FreeBSD.org> |
Add glue for new sx driver.
|
#
6292a186 |
|
10-Apr-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Unbreak alpha kernel build and unbreak any non-i386 runtime brokenness. The VIA Nehemias is so obviously specific to i386 that it should not be compiled on non-i386 platforms. The obviousness is in the fact that all functions in nehemias.c are purely i386 inline assembly, guarded by #ifdef __i386__
|
#
e7806b4c |
|
09-Apr-2004 |
Mark Murray <markm@FreeBSD.org> |
Reorganise the entropy device so that high-yield entropy sources can more easily be used INSTEAD OF the hard-working Yarrow. The only hardware source used at this point is the one inside the VIA C3 Nehemiah (Stepping 3 and above) CPU. More sources will be added in due course. Contributions welcome!
|
#
10d1d31e |
|
08-Apr-2004 |
Max Laier <mlaier@FreeBSD.org> |
Readd -Werror flag to compilation pf.c after the compiler warnings have been shut up. Tested by: LINT(i386) Approved by: bms(mentor)
|
#
18a810fa |
|
03-Apr-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make led.c/led(4) standard so acpi_asus can use it too.
|
#
9a02a2f5 |
|
01-Apr-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Fix style issues in twa lines added in rev 1.878.
|
#
7cfcb873 |
|
01-Apr-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Comment out the au88x0 line which was inadvertantly included in the previous commit.
|
#
7eb17244 |
|
01-Apr-2004 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Move twa from files.i386 to files. This unbreaks LINT on !i386. Pointy hat to: vkashyap, ps
|
#
2ae4f1fd |
|
19-Mar-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Introduce the hw.uart.console and hw.uart.dbgport environment variables to select a serial console and debug port (resp). On ia64 these replace the use of hints completely and take precedence over hints on alpha, amd64 and i386. On sparc64 these variables are not yet recognised. The reasons for introducing these variables are: 1. Hints have side-effects. They reserve the unit number for use by isa or acpi devices and therefore cannot be used to select a pci device. Also, the use of a unit number to select a device prior to bus enumeration is nonsense. The new variables have no side- effects and are not based on unit numbers. 2. Hints don't have the expression power to allow the sysadmin to select UARTs that are not legacy PC devices and need the support of compile-time constants to give the sysadmin some level of flexibility. The hw.uart.console and hw.uart.dbgport variables specify a list of attributes. An attribute is a tag-value pair, seperated by a colon. Attributes are seperated by a comma. Where possible, tags are the same as those in /etc/remote (only br and pa in practice). Details can be found in the manpage (not part of this commit). Not tested on: amd64, pc98
|
#
909d5c63 |
|
19-Mar-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Isolate PCB-specific ethertalk DDP functions in ddp_pcb.c, removing them from ddp_usrreq.c. Functions moved are: at_pcballoc() at_pcbconnect() at_pcbdetach() at_pcbdisconnect() at_pcbsetaddr() at_sockaddr() Also moved are ddp_ports and ddpcb, global variables associated with DDP pcbs. This makes PCB implementation more parallel to inet, inet6, and ipx.
|
#
846ca5d0 |
|
15-Mar-2004 |
Scott Long <scottl@FreeBSD.org> |
Remove RAIDFrame. It hasn't worked since GEOM replaced the old disk mini-layer. I don't have time to bing it forward into the GEOM world, and no one else has stepped forward to claim it. It'll be in the Attic for safe keeping for now.
|
#
06d6e4fc |
|
12-Mar-2004 |
Tom Rhodes <trhodes@FreeBSD.org> |
This are the build infrastructure changes to allow to use the Intel C/C++ compiler (lang/icc) to build the kernel. The icc CPUTYPE CFLAGS use icc v7 syntax, icc v8 moans about them, but doesn't abort. They also produce CPU specific code (new instructions of the CPU, not only CPU specific scheduling), so if you get coredumps with signal 4 (SIGILL, illegal instruction) you've used the wrong CPUTYPE. Incarnations of this patch survive gcc compiles and my make universe. I use it on my desktop. To use it update share/mk, add /usr/local/intel/compiler70/ia32/bin (icc v7, works) or /usr/local/intel_cc_80/bin (icc v8, doesn't work) to your PATH, make sure you have a new kernel compile directory (e.g. MYKERNEL_icc) and run CFLAGS="-O2 -ip" CC=icc make depend CFLAGS="-O2 -ip" CC=icc make in it. Don't compile with -ipo, the build infrastructure uses ld directly to link the kernel and the modules, but -ipo needs the link step to be performed with Intel's linker. Problems with icc v8: - panic: npx0 cannot be emulated on an SMP system - UP: first start of /bin/sh results in a FP exception Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>. Reviewed by: silence on -arch Submitted by: netchild
|
#
bde778e9 |
|
08-Mar-2004 |
Benno Rice <benno@FreeBSD.org> |
Add a netgraph node to handle ATM LLC encapsulation. This currently handles ethernet (tested) and FDDI (not tested). The main use for this is on ADSL (or other ATM) connections where bridged ethernet is used, PPPoE being a prime example. There is no manual page as yet, I will write one shortly. Reviewed by: harti
|
#
5af0827e |
|
03-Mar-2004 |
David E. O'Brien <obrien@FreeBSD.org> |
mga_state & r128_state need an inline-limit larger than amd64's default in order to compile. AMD64's default could be reduced below 8k, if dev/aic7xxx/aic79xx.c got this same treatment.
|
#
7592c288 |
|
01-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add the ACPI standard video extensions driver. I've done some style cleanup but a bit more reamins to be done. For now, it is usable. PR: Submitted by: Taku YAMAMOTO <taku@cent.saitama-u.ac.jp> Reviewed by: Approved by: Obtained from: MFC after:
|
#
7de87783 |
|
29-Feb-2004 |
Bernd Walter <ticso@FreeBSD.org> |
add driver for BWCT console management serials
|
#
b55a9294 |
|
28-Feb-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
uteval.c gained a warning (cast discards qualifiers from pointer target type) after vendor import of ACPICA 20040220. Add nowerror.
|
#
3e2c9711 |
|
28-Feb-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a generic watchdog facility which through a single device entry in /dev controls all available watchdog implementations.
|
#
cdd40f3b |
|
27-Feb-2004 |
MIHIRA Sanpei Yoshiro <sanpei@FreeBSD.org> |
add support DM9601(DAVICOM USB to Ethernet MAC Controller with Integrated 10/100 PHY) - Corega FEther USB-TXC PR: kern/62932 Submitted by: HASHI Hiroaki <hashiz@tomba.cskk-sv.co.jp> Obtained from: NetBSD
|
#
44f3b092 |
|
27-Feb-2004 |
John Baldwin <jhb@FreeBSD.org> |
Switch the sleep/wakeup and condition variable implementations to use the sleep queue interface: - Sleep queues attempt to merge some of the benefits of both sleep queues and condition variables. Having sleep qeueus in a hash table avoids having to allocate a queue head for each wait channel. Thus, struct cv has shrunk down to just a single char * pointer now. However, the hash table does not hold threads directly, but queue heads. This means that once you have located a queue in the hash bucket, you no longer have to walk the rest of the hash chain looking for threads. Instead, you have a list of all the threads sleeping on that wait channel. - Outside of the sleepq code and the sleep/cv code the kernel no longer differentiates between cv's and sleep/wakeup. For example, calls to abortsleep() and cv_abort() are replaced with a call to sleepq_abort(). Thus, the TDF_CVWAITQ flag is removed. Also, calls to unsleep() and cv_waitq_remove() have been replaced with calls to sleepq_remove(). - The sched_sleep() function no longer accepts a priority argument as sleep's no longer inherently bump the priority. Instead, this is soley a propery of msleep() which explicitly calls sched_prio() before blocking. - The TDF_ONSLEEPQ flag has been dropped as it was never used. The associated TDF_SET_ONSLEEPQ and TDF_CLR_ON_SLEEPQ macros have also been dropped and replaced with a single explicit clearing of td_wchan. TD_SET_ONSLEEPQ() would really have only made sense if it had taken the wait channel and message as arguments anyway. Now that that only happens in one place, a macro would be overkill.
|
#
cc5934f5 |
|
25-Feb-2004 |
Max Laier <mlaier@FreeBSD.org> |
Tweak existing header and other build infrastructure to be able to build pf/pflog/pfsync as modules. Do not list them in NOTES or modules/Makefile (i.e. do not connect it to any (automatic) builds - yet). Approved by: bms(mentor)
|
#
c66b4d8d |
|
25-Feb-2004 |
Robert Watson <rwatson@FreeBSD.org> |
Move inet and inet6 related MAC Framework entry points from mac_net.c to a new mac_inet.c. This code is now conditionally compiled based on inet support being compiled into the kernel. Move socket related MAC Framework entry points from mac_net.c to a new mac_socket.c. To do this, some additional _enforce MIB variables are now non-static. In addition, mbuf_to_label() is now mac_mbuf_to_label() and non-static. Obtained from: TrustedBSD Project Sponsored by: DARPA, McAfee Research
|
#
1cfd4b53 |
|
10-Feb-2004 |
Bruce M Simpson <bms@FreeBSD.org> |
Initial import of RFC 2385 (TCP-MD5) digest support. This is the first of two commits; bringing in the kernel support first. This can be enabled by compiling a kernel with options TCP_SIGNATURE and FAST_IPSEC. For the uninitiated, this is a TCP option which provides for a means of authenticating TCP sessions which came into being before IPSEC. It is still relevant today, however, as it is used by many commercial router vendors, particularly with BGP, and as such has become a requirement for interconnect at many major Internet points of presence. Several parts of the TCP and IP headers, including the segment payload, are digested with MD5, including a shared secret. The PF_KEY interface is used to manage the secrets using security associations in the SADB. There is a limitation here in that as there is no way to map a TCP flow per-port back to an SPI without polluting tcpcb or using the SPD; the code to do the latter is unstable at this time. Therefore this code only supports per-host keying granularity. Whilst FAST_IPSEC is mutually exclusive with KAME IPSEC (and thus IPv6), TCP_SIGNATURE applies only to IPv4. For the vast majority of prospective users of this feature, this will not pose any problem. This implementation is output-only; that is, the option is honoured when responding to a host initiating a TCP session, but no effort is made [yet] to authenticate inbound traffic. This is, however, sufficient to interwork with Cisco equipment. Tested with a Cisco 2501 running IOS 12.0(27), and Quagga 0.96.4 with local patches. Patches for tcpdump to validate TCP-MD5 sessions are also available from me upon request. Sponsored by: sentex.net
|
#
0ec876a2 |
|
05-Feb-2004 |
Peter Wemm <peter@FreeBSD.org> |
Attempt to clean up the emu10k1-alsa.h stuff so that config doesn't delete it each time its run and have it regenerated each time by make. I used a quick hackish script rather than putting it in the files file and used the before-depend rule to avoid the depend/no-depend hacks.
|
#
d148e81e |
|
15-Jan-2004 |
Atsushi Onoe <onoe@FreeBSD.org> |
Use generic net80211 framework for awi driver. Restore awi to be workable again; it was broken.. XXX: The initialization is still unreliable yet, it sometimes fails on some card.
|
#
42397935 |
|
12-Jan-2004 |
David E. O'Brien <obrien@FreeBSD.org> |
Add emu10k1-alsa%diked.h dependancies.
|
#
37621fd5 |
|
15-Dec-2003 |
Bruce M Simpson <bms@FreeBSD.org> |
Push m_apply() and m_getptr() up into the colleciton of standard mbuf routines, and purge them from opencrypto. Reviewed by: sam Obtained from: NetBSD Sponsored by: spc.org
|
#
65b4a1b9 |
|
06-Dec-2003 |
Warner Losh <imp@FreeBSD.org> |
Remote meteor driver. It hasn't compiled in over 3 years. If someone makes it compile again, and can test it, we can restore the driver to the tree.
|
#
1da8b3b9 |
|
06-Dec-2003 |
Warner Losh <imp@FreeBSD.org> |
Now that we have the en(4) driver, we no longer need the hea driver. Approved by: harti@
|
#
29b41845 |
|
06-Dec-2003 |
Warner Losh <imp@FreeBSD.org> |
Continue to remove drivers that don't compile and haven't compiled in a long time: lmc The LAN Media Corp PCI WAN driver based on tulip. This driver hasn't compiled for 3 years since the PCI compat shims were removed, and Lan Media appears to have gone out of business. These cards appear to be rare (a recent search of ebay had no hits). Should someone wish to revive this driver, submitting patches to make it compile plus a testing report will bring it back.
|
#
45c1c90f |
|
03-Dec-2003 |
John Baldwin <jhb@FreeBSD.org> |
Export a few SMP related symbols in UP kernels as well. This is needed to aid other kernel code, especially code which can be in a module such as the acpi_cpu(4) driver, to work properly with both SMP and UP kernels. The exported symbols include mp_ncpus, all_cpus, mp_maxid, smp_started, and the smp_rendezvous() function. This also means that CPU_ABSENT() is now always implemented the same on all kernels. Approved by: re (scottl)
|
#
97d8d152 |
|
20-Nov-2003 |
Andre Oppermann <andre@FreeBSD.org> |
Introduce tcp_hostcache and remove the tcp specific metrics from the routing table. Move all usage and references in the tcp stack from the routing table metrics to the tcp hostcache. It caches measured parameters of past tcp sessions to provide better initial start values for following connections from or to the same source or destination. Depending on the network parameters to/from the remote host this can lead to significant speedups for new tcp connections after the first one because they inherit and shortcut the learning curve. tcp_hostcache is designed for multiple concurrent access in SMP environments with high contention and is hash indexed by remote ip address. It removes significant locking requirements from the tcp stack with regard to the routing table. Reviewed by: sam (mentor), bms Reviewed by: -net, -current, core@kame.net (IPv6 parts) Approved by: re (scottl)
|
#
6b74f9b7 |
|
15-Nov-2003 |
Nate Lawson <njl@FreeBSD.org> |
Implement Cx CPU idle states and updated throttling support. * Use the cpu_idle_hook() to do idling for C1-C3. * Use both _CST and the FADT to detect Cx states. * Use both _PTC and P_CNT for controlling throttling. * Add a notify handler to detect changes in _CST and _PSS * Call the _INI function for each processor if present. This will be done by ACPI-CA in the future. * Fix a bug on SMP systems where CPUs will attach multiple times if the bus is rescan. * Document new sysctls for controlling idling.
|
#
9188b4a1 |
|
14-Nov-2003 |
Andre Oppermann <andre@FreeBSD.org> |
Introduce ip_fastforward and remove ip_flow. Short description of ip_fastforward: o adds full direct process-to-completion IPv4 forwarding code o handles ip fragmentation incl. hw support (ip_flow did not) o sends icmp needfrag to source if DF is set (ip_flow did not) o supports ipfw and ipfilter (ip_flow did not) o supports divert, ipfw fwd and ipfilter nat (ip_flow did not) o returns anything it can't handle back to normal ip_input Enable with sysctl -w net.inet.ip.fastforwarding=1 Reviewed by: sam (mentor)
|
#
1bf87204 |
|
14-Nov-2003 |
Alfred Perlstein <alfred@FreeBSD.org> |
University of Michigan's Citi NFSv4 kernel client code. Submitted by: Jim Rees <rees@umich.edu>
|
#
543729cf |
|
11-Nov-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
avoid module name conflict with opencrypto/rijndael.c. Reported by: tinderbox
|
#
eca8a663 |
|
11-Nov-2003 |
Robert Watson <rwatson@FreeBSD.org> |
Modify the MAC Framework so that instead of embedding a (struct label) in various kernel objects to represent security data, we embed a (struct label *) pointer, which now references labels allocated using a UMA zone (mac_label.c). This allows the size and shape of struct label to be varied without changing the size and shape of these kernel objects, which become part of the frozen ABI with 5-STABLE. This opens the door for boot-time selection of the number of label slots, and hence changes to the bound on the number of simultaneous labeled policies at boot-time instead of compile-time. This also makes it easier to embed label references in new objects as required for locking/caching with fine-grained network stack locking, such as inpcb structures. This change also moves us further in the direction of hiding the structure of kernel objects from MAC policy modules, not to mention dramatically reducing the number of '&' symbols appearing in both the MAC Framework and MAC policy modules, and improving readability. While this results in minimal performance change with MAC enabled, it will observably shrink the size of a number of critical kernel data structures for the !MAC case, and should have a small (but measurable) performance benefit (i.e., struct vnode, struct socket) do to memory conservation and reduced cost of zeroing memory. NOTE: Users of MAC must recompile their kernel and all MAC modules as a result of this change. Because this is an API change, third party MAC modules will also need to be updated to make less use of the '&' symbol. Suggestions from: bmilekic Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
961a7b24 |
|
11-Nov-2003 |
John Baldwin <jhb@FreeBSD.org> |
Add an implementation of turnstiles and change the sleep mutex code to use turnstiles to implement blocking isntead of implementing a thread queue directly. These turnstiles are somewhat similar to those used in Solaris 7 as described in Solaris Internals but are also different. Turnstiles do not come out of a fixed-sized pool. Rather, each thread is assigned a turnstile when it is created that it frees when it is destroyed. When a thread blocks on a lock, it donates its turnstile to that lock to serve as queue of blocked threads. The queue associated with a given lock is found by a lookup in a simple hash table. The turnstile itself is protected by a lock associated with its entry in the hash table. This means that sched_lock is no longer needed to contest on a mutex. Instead, sched_lock is only used when manipulating run queues or thread priorities. Turnstiles also implement priority propagation inherently. Currently turnstiles only support mutexes. Eventually, however, turnstiles may grow two queue's to support a non-sleepable reader/writer lock implementation. For more details, see the comments in sys/turnstile.h and kern/subr_turnstile.c. The two primary advantages from the turnstile code include: 1) the size of struct mutex shrinks by four pointers as it no longer stores the thread queue linkages directly, and 2) less contention on sched_lock in SMP systems including the ability for multiple CPUs to contend on different locks simultaneously (not that this last detail is necessarily that much of a big win). Note that 1) means that this commit is a kernel ABI breaker, so don't mix old modules with a new kernel and vice versa. Tested on: i386 SMP, sparc64 SMP, alpha SMP
|
#
34d78ec3 |
|
11-Nov-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
cleanup rijndael API. since there are naming conflicts with opencrypto, #define was added to rename functions intend to avoid conflicts. Obtained from: KAME
|
#
db540018 |
|
10-Nov-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
enable aes-xcbc-mac and aes-ctr, again.
|
#
ed91f9a5 |
|
07-Nov-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Allow the ng_uni node (NgATM signalling layer) to be built into the kernel via options NGATM_UNI.
|
#
126f0dfa |
|
04-Nov-2003 |
Scott Long <scottl@FreeBSD.org> |
Hook the udf_iconv module up to the kernel build. Submitted by: imura@ryu16.org
|
#
ec7ceac9 |
|
02-Nov-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Put address handling, traffic descriptor handling and message encoding and decoding into the atmbase module when compiled directly into the kernel.
|
#
5843f50d |
|
03-Nov-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Change /dev/soekris-errled to be /dev/led/error and make it conditional on CPU_SOEKRIS. Note the subtle change in semantfics for 'f%d' flash instruction and the new morse facility (see details in dev/led/led.c)
|
#
027ebd2f |
|
27-Oct-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Allow building the NgATM SAAL layer directly into the kernel.
|
#
ffbfc256 |
|
26-Oct-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Revert previous change. We have to put dcons_crom at first after 'optional' and dcons and firewire are necessary and not optional for dcons_crom anyway. Reported by: brooks
|
#
b604f6e8 |
|
24-Oct-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
dcons_crom.c needs dcons and firewire.
|
#
869093b1 |
|
24-Oct-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Add dumb console driver and related bits. dcons(4): very simple console and gdb port driver dcons_crom(4): FireWire attachment dconschat(8): User interface to dcons Tested with: i386, i386-PAE, and sparc64.
|
#
5d79de44 |
|
22-Oct-2003 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up to the build for options MAC: security/mac/mac_net.c security/mac/mac_pipe.c security/mac/mac_process.c security/mac/mac_system.c security/mac/mac_vfs.c Note: Here begins a period of NOTES/LINT build breakage due to duplicate symbols that will shortly be removed from kern_mac.c. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
9132d507 |
|
19-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- revert to old rijndael code. new rijndael code broke gbde. - since aes-xcbc-mac and aes-ctr require functions in new rijndael code, aes-xcbc-mac and aes-ctr are disabled for now.
|
#
e9e688e2 |
|
17-Oct-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Add SBP-II target mode driver. Though this is still incomplete and has some missing features such as exclusive login and event notification, it may be enough for someone who wants to play with it. This driver is supposed to work with firewire(4), targ(4) of CAM(4) and scsi_target(8) which can be found in /usr/share/example/scsi_target. This driver doesn't require sbp(4) which implements initiator mode. Sample configuration: Kernel: (you can use modules as well) device firewire device scbus device targ device sbp_targ After reboot: # mdconfig -a -t malloc -s 10m md0 # scsi_target 0:0:0 /dev/md0 (Assuming sbp_targ0 on scbus0) You should find the 10MB HDD on FreeBSD/MacOS X/WinXP or whatever connected to the target using FireWire. Manpage is not finished yet.
|
#
db25ce18 |
|
15-Oct-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make sure to pull in all relevant crypto for GEOM_BDE
|
#
66c7fe40 |
|
13-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
use BF_ecb_encrypt(). Obtained from: KAME
|
#
b42ac57f |
|
13-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- support AES counter mode for ESP. - use size_t as return type of schedlen(), as there's no error check needed. - clear key schedule buffer before freeing. Obtained from: KAME
|
#
c65ee7c7 |
|
12-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- support AES XCBC MAC for AH - correct SADB_X_AALG_RIPEMD160HMAC to 8 Obtained from: KAME
|
#
3dbacd26 |
|
12-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
use opencrypto for RMD160. Requested by: sam
|
#
492528c0 |
|
12-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- RIPEMD160 support - pass size arg to ah->result (avoid assuming result buffer size) Obtained from: KAME
|
#
8373d51d |
|
01-Oct-2003 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
randomize IPv6 fragment ID. Obtained from: KAME
|
#
b2941431 |
|
26-Sep-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Introduce no_poll() default method for device drivers. Have it do exactly the same as vop_nopoll() for consistency and put a comment in the two pointing at each other. Retire seltrue() in favour of no_poll(). Create private default functions in kern_conf.c instead of public ones. Change default strategy to return the bio with ENODEV instead of doing nothing which would lead the bio stranded. Retire public nullopen() and nullclose() as well as the entire band of public no{read,write,ioctl,mmap,kqfilter,strategy,poll,dump} funtions, they are the default actions now. Move the final two trivial functions from subr_xxx.c to kern_conf.c and retire the now empty subr_xxx.c
|
#
c4f02a89 |
|
26-Sep-2003 |
Max Khon <fjoe@FreeBSD.org> |
- Support for multibyte charsets in LIBICONV. - CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options (with corresponding modules). - kiconv(3) for loadable charset conversion tables support. Submitted by: Ryuichiro Imura <imura@ryu16.org>
|
#
0d627469 |
|
14-Sep-2003 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add uart pccard attachment decription on conf/files, too. Pointed out by: ru
|
#
9bac70b8 |
|
10-Sep-2003 |
Bill Paul <wpaul@FreeBSD.org> |
Add a PHY driver to support the built-in gigE PHY in the 8169S/8110S ethernet chips. This driver is pretty simple, however it contains special DSP initialization code which is needed in order to get the chip to negotiate a gigE link. (This special initialization may not be needed in subsequent chip revs.) Also: - Fix typo in if_rlreg.h (RL_GMEDIASTAT_1000MPS -> RL_GMEDIASTAT_1000MBPS) - Deal with shared interrupts in re_intr(): if interface isn't up, return. - Fix another bug in re_gmii_writereg() (properly apply data field mask) - Allow PHY driver to read the RL_GMEDIASTAT register via the re_gmii_readreg() register (this is register needed to determine real time link/media status).
|
#
b9f78d2b |
|
09-Sep-2003 |
Bill Paul <wpaul@FreeBSD.org> |
Add a device driver for the Broadcom BCM4401 ethernet controller, written by Stuart Walsh and Duncan Barclay (with some kibbitzing by me). I'm checking it in on Stuart's behalf. The BCM4401 is built into several x86 laptop and desktop systems. For the moment, I have only enabled it in the x86 kernel config because although it's a PCI device, I haven't heard of any standalone NICs that use it. If somebody knows of one, we can easily add it to the other arches. This driver uses register/structure data gleaned from the Linux driver released by Broadcom, but does not contain any of the code from the Linux driver itself. It uses busdma.
|
#
a1810e15 |
|
08-Sep-2003 |
Eric Anholt <anholt@FreeBSD.org> |
Hook the SiS DRM up to the build Sponsored by: LinuxFund
|
#
a94100fa |
|
07-Sep-2003 |
Bill Paul <wpaul@FreeBSD.org> |
Take the support for the 8139C+/8169/8169S/8110S chips out of the rl(4) driver and put it in a new re(4) driver. The re(4) driver shares the if_rlreg.h file with rl(4) but is a separate module. (Ultimately I may change this. For now, it's convenient.) rl(4) has been modified so that it will never attach to an 8139C+ chip, leaving it to re(4) instead. Only re(4) has the PCI IDs to match the 8169/8169S/8110S gigE chips. if_re.c contains the same basic code that was originally bolted onto if_rl.c, with the following updates: - Added support for jumbo frames. Currently, there seems to be a limit of approximately 6200 bytes for jumbo frames on transmit. (This was determined via experimentation.) The 8169S/8110S chips apparently are limited to 7.5K frames on transmit. This may require some more work, though the framework to handle jumbo frames on RX is in place: the re_rxeof() routine will gather up frames than span multiple 2K clusters into a single mbuf list. - Fixed bug in re_txeof(): if we reap some of the TX buffers, but there are still some pending, re-arm the timer before exiting re_txeof() so that another timeout interrupt will be generated, just in case re_start() doesn't do it for us. - Handle the 'link state changed' interrupt - Fix a detach bug. If re(4) is loaded as a module, and you do tcpdump -i re0, then you do 'kldunload if_re,' the system will panic after a few seconds. This happens because ether_ifdetach() ends up calling the BPF detach code, which notices the interface is in promiscuous mode and tries to switch promisc mode off while detaching the BPF listner. This ultimately results in a call to re_ioctl() (due to SIOCSIFFLAGS), which in turn calls re_init() to handle the IFF_PROMISC flag change. Unfortunately, calling re_init() here turns the chip back on and restarts the 1-second timeout loop that drives re_tick(). By the time the timeout fires, if_re.ko has been unloaded, which results in a call to invalid code and blows up the system. To fix this, I cleared the IFF_UP flag before calling ether_ifdetach(), which stops the ioctl routine from trying to reset the chip. - Modified comments in re_rxeof() relating to the difference in RX descriptor status bit layout between the 8139C+ and the gigE chips. The layout is different because the frame length field was expanded from 12 bits to 13, and they got rid of one of the status bits to make room. - Add diagnostic code (re_diag()) to test for the case where a user has installed a broken 32-bit 8169 PCI NIC in a 64-bit slot. Some NICs have the REQ64# and ACK64# lines connected even though the board is 32-bit only (in this case, they should be pulled high). This fools the chip into doing 64-bit DMA transfers even though there is no 64-bit data path. To detect this, re_diag() puts the chip into digital loopback mode and sets the receiver to promiscuous mode, then initiates a single 64-byte packet transmission. The frame is echoed back to the host, and if the frame contents are intact, we know DMA is working correctly, otherwise we complain loudly on the console and abort the device attach. (At the moment, I don't know of any way to work around the problem other than physically modifying the board, so until/unless I can think of a software workaround, this will have do to.) - Created re(4) man page - Modified rlphy.c to allow re(4) to attach as well as rl(4). Note that this code works for the sample 8169/Marvell 88E1000 NIC that I have, but probably won't work for the 8169S/8110S chips. RealTek has sent me some sample NICs, but they haven't arrived yet. I will probably need to add an rlgphy driver to handle the on-board PHY in the 8169S/8110S (it needs special DSP initialization).
|
#
4d60276b |
|
06-Sep-2003 |
Warner Losh <imp@FreeBSD.org> |
Add proper pc98 MD files. Add a commented out cbus attachment for uart because that depends on the cbus implementation that nyan-san and I came up with after the CBUG meeting and not yet ready for the tree.
|
#
2bec1c89 |
|
06-Sep-2003 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Hook-up the uart(4) driver to the build. For a detailed description of what uart(4) is and/or is not see the initial commit log of one of the files in sys/dev/uart (or see share/man/man4/uart.4). Note that currently pc98 shares the MD file with i386. This needs to change when pc98 support is fleshed-out to properly support the various UARTs. A good example is sparc64 in this respect. We build uart(4) as a module on all platforms. This may break the ppc port. That depends on whether they do actually build modules. To use uart(4) on alpha, one must use the NO_SIO option.
|
#
dc7d0dea |
|
06-Sep-2003 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Enhance puc(4) to support uart(4). This includes: o Introduce PUC_PORT_TYPE_UART so that we can attach to uart(4), o Introduce port sub-types (eg PUC_PORT_UART_NS8250, PUC_PORT_UART_Z8530) to handle different hardware and determine resource sizes. o Introduce two new IVARs: PUC_IVAR_SUBTYPE and PUC_IVAR_REGSHFT. Both are used by uart(4) to get sufficient information to talk to the HW. o Introduce PUC_FLAGS_ALTRES to tell puc(4) to try memory mapped I/O if I/O port space cannot be allocated, or vice versa. o Have ports of type PUC_PORT_TYPE_COM attach to uart(1) if attaching to sio(4) fails (due to not having the sio driver). o Put struct puc_device_description in struct puc_softc instead of having a pointer to a device description in the softc. This allows us to create device descriptions on the fly without having to use malloc() or otherwise have them staticly defined. o Move puc_find_description() from puc.c to puc_pci.c as it's specific to PCI. o Add EBUS and SBUS frontends for use on sparc64. Note that the P in puc stands for PCI, so we kinda mess things up here. It's too soon to worry about it though. We'll know what to do about it in time. NOTE: This commit changes the behaviour of puc(4) to not quieten the device probe and attach for child devices. The uart(4) driver provides additional device description that is valuable to have.
|
#
ad1fdf57 |
|
28-Aug-2003 |
Nate Lawson <njl@FreeBSD.org> |
Use the ACPICA AcpiEnterSleepStateS4bios instead of rolling our own. This change also disables interrupts around non-S4 suspends whereas before we did not do this. Our version of AcpiEnterSleepStateS4bios was almost identical to the ACPICA version.
|
#
5fdbb0d2 |
|
24-Aug-2003 |
Søren Schmidt <sos@FreeBSD.org> |
This is a major rework of the ATA driver (ATAng) Restructure the way ATA/ATAPI commands are processed, use a common ata_request structure for both. This centralises the way requests are handled so locking is much easier to handle. The driver is now layered much more cleanly to seperate the lowlevel HW access so it can be tailored to specific controllers without touching the upper layers. This is needed to support some of the newer semi-intelligent ATA controllers showing up. The top level drivers (disk, ATAPI devices) are more or less still the same with just corrections to use the new interface. Pull ATA out from under Gaint now that locking can be done in a sane way. Add support for a the National Geode SC1100. Thanks to Soekris engineering for sponsoring a Soekris 4801 to make this support. Fixed alot of small bugs in the chipset code for various chips now we are around in that corner anyways.
|
#
782f7255 |
|
21-Aug-2003 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up mac_stub to the modules Makefile. Hook up mac_stub in files and options. Reference mac_stub in NOTES.
|
#
30e27d96 |
|
12-Aug-2003 |
Alexander Langer <alex@FreeBSD.org> |
Add a overhaul of the soundchip initialization for the MSP34xx chipsets found only many tv-cards. We currently use more ore less evil hacks (slow_msp_audio sysctl) to configure the various variants of these chips in order to have stereo autodetection work. Nevertheless, this doesn't always work even though it _should_, according to the specs. This is, for example, the case for some popular Hauppauge models sold sold in Germany. However, the Linux driver always worked for me and others. Looking at the sourcecode you will find that the linux-driver uses a very much enhanced approach to program the various msp34xx chipset variants, which is also found in the specs for these chips. This is a port of the Linux MSP34xx code, written by Gerd Knorr <kraxel@bytesex.org>, who agreed to re-release his code under a BSD license for this port. A new config option "BKTR_NEW_MSP34XX_DRIVER" is added, which is required to enable the new driver. Otherwise the old code is used. The msp34xx.c file is diff-reduced to the linux-driver to make later modifications easier, thus it doesn't follow style(9) in most cases. Approved by: roger (committing this, no time to test/review), keichii (code review)
|
#
ee4080d4 |
|
11-Aug-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Add ng_atmpif: a HARP physical interface emulation. This allows one to run the HARP ATM stack without real hardware. Submitted by: Vincent Jardin <vjardin@wanadoo.fr>
|
#
327f90d8 |
|
07-Aug-2003 |
Nate Lawson <njl@FreeBSD.org> |
Remove nowerror from some files that no longer generate warnings.
|
#
c4aebdb0 |
|
22-Jul-2003 |
Bernd Walter <ticso@FreeBSD.org> |
relocate eisa into MI files. Suggested by: jhb
|
#
fc66b6e9 |
|
21-Jul-2003 |
Sam Leffler <sam@FreeBSD.org> |
safenet driver config glue Sponsored by: Global Technology Associates, Inc.
|
#
58aa55ef |
|
21-Jul-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
This is a pseudo physical interface for the HARP ATM stack. When loaded it attaches to all existing NATM network interfaces in the system and creates a HARP physical interface for each of them. This allows us to use the same set of ATM drivers for all ATM stuff. It is possible to use the same interface for HARP, NATM and netgraph at the same time.
|
#
e9c0cc15 |
|
18-Jul-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Merge swap_pager.c and vm_swap.c into swap_pager.c, the separation is not natural and needlessly exposes a lot of dirty laundry. Move private interfaces between the two from swap_pager.h to swap_pager.c and staticize as much as possible. No functional change.
|
#
45dd9375 |
|
15-Jul-2003 |
John-Mark Gurney <jmg@FreeBSD.org> |
make usb bus_dma aware. Reviewed by: joe among others
|
#
8dd4275c |
|
15-Jul-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
This is a driver for IDT77252 based ATM interfaces. It has been tested with a ProATM-155 and an IDT evaluation board and should also work with a ProATM-25 (it seems to work at least, I cannot really measure what the card emits). The driver has been tested on i386 and sparc64, but should work an other archs also. It supports UBR, CBR, ABR and VBR; AAL0, AAL5 and AALraw. As an additional feature VCI/VPI 0/0 can be opened for receiving in AALraw mode and receives all cells not claimed by other open VCs (even cells with invalid GFC, VPI and VCI fields and OAM cells). Thanks to Christian Bucari from ProSum for lending two cards and answering my questions.
|
#
7e9024cd |
|
15-Jul-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Add a facility for devices, specifically network interfaces, that require large to huge amounts of small or medium sized receive buffers. The problem with these situations is that they eat up the available DMA address space very quickly when using mbufs or even mbuf clusters. Additionally this facility provides a direct mapping between 32-bit integers and these buffers. This is needed for devices originally designed for 32-bit systems. Ususally the virtual address of the buffer is used as a handle to find the buffer as soon as it is returned by the card. This does not work for 64-bit machines and hence this mapping is needed.
|
#
1fd53fb9 |
|
14-Jul-2003 |
Nate Lawson <njl@FreeBSD.org> |
Add dmobject.c to sys/conf/files also. While I'm here, remove unnecessary nowerror options for the ACPI_DEBUG build case.
|
#
2c8b8ff8 |
|
09-Jul-2003 |
John Baldwin <jhb@FreeBSD.org> |
- Fix the kernel build for configurations that include pci but not isa by having the PCI-ISA bridge driver depend on both pci and isa. - Have the PCI-EISA bridge driver depend on both pci and eisa as well. - Make acpi_isab.c depend on acpi and isa. Submitted by: Marius Strobl <marius@alchemy.franken.de> (1,2)
|
#
6c525ee4 |
|
08-Jul-2003 |
John Baldwin <jhb@FreeBSD.org> |
Add an ACPI to ISA psuedo bridge driver. It attaches an isab(4) device to ACPI nodes with the plug and play ID's defined for a "Generic ISA Bus Device" as defined in section 10.7 of the ACPI 2.0 specification. This gives machines like the Libretto that contain a fake ISA bus that is not connected via a PCI-ISA bridge an ISA bus for ISA devices to attach to. Tested by: markm
|
#
e889f37e |
|
28-Jun-2003 |
Sam Leffler <sam@FreeBSD.org> |
switch to new 802.11 support
|
#
ce17576a |
|
27-Jun-2003 |
Scott Long <scottl@FreeBSD.org> |
Announce umct to kernel build.
|
#
167f409f |
|
25-Jun-2003 |
Sam Leffler <sam@FreeBSD.org> |
config+build glue for Atheros support
|
#
02152e8f |
|
25-Jun-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Make the netgraph ATM node compilable into the kernel.
|
#
fb24f088 |
|
23-Jun-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
This is a driver for Fore PCA200E cards that uses busdma and works on little endian and big endian and with 32 and 64 bit pointers. It already has the hooks to be used for HARP, NATM and ngATM.
|
#
4784a469 |
|
21-Jun-2003 |
Ian Dowse <iedowse@FreeBSD.org> |
Replace the code for reading and writing the kernel message buffer with a new implementation that has a mostly reentrant "addchar" routine, supports multiple message buffers in the kernel, and hides the implementation details from callers. The new code uses a kind of sequence number to represend the current read and write positions in the buffer. This approach (suggested mainly by bde) permits the read and write pointers to be maintained separately, which reduces the number of atomic operations that are required. The "mostly reentrant" above refers to the way that while it is now always safe to have any number of concurrent writers, readers could see the message buffer after a writer has advanced the pointers but before it has witten the new character. Discussed on: freebsd-arch
|
#
22db1e9f |
|
18-Jun-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add "GEOM_FOX", a class which detects and selects between multiple redundant paths to the same device. This class reacts to a label in the first sector of the device, which is created the following way: # "0123456789abcdef012345..." # "<----magic-----><-id-...> echo "GEOM::FOX someid" | dd of=/dev/da0 conv=sync NB: Since the fact that multiple disk devices are in fact the same device is not known to GEOM, the geom taste/spoil process cannot fully catch all corner cases and this module can therefore be confused if you do the right wrong things. NB: The disk level drivers need to do the right thing for this to be useful, and that is not by definition currently the case.
|
#
c594298b |
|
17-Jun-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
This is a driver for Fore/Marconi HE155 and HE622 ATM cards. It is full busdma and has extensively been tested on i386 and sparc64.
|
#
57112b8d |
|
16-Jun-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Repo-copy of sys/pci/if_en_pci.c to the rest of the midway driver (sys/dev/en) so that all of the driver sources are in one place. Adjust the configuration files and the module build.
|
#
1ba46a03 |
|
12-Jun-2003 |
Hartmut Brandt <harti@FreeBSD.org> |
Make the midway driver use the new ATM phy driver. This allows one to toggle several media options (sonet/sdh, for example) with ifconfig and to see the carrier state in ifconfig's output. It gives also read/write access (given the right privilegs) to the S/Uni registers to user space programs.
|
#
df622d54 |
|
09-Jun-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
GEOMification of CCD. You need your kernel and ccdconfig(8) to be in sync, particularly if your source tree is on a ccd device.
|
#
21157fae |
|
11-May-2003 |
Scott Long <scottl@FreeBSD.org> |
Add files for the 'ips' driver.
|
#
11e04b05 |
|
03-May-2003 |
Shunsuke Akiyama <akiyama@FreeBSD.org> |
Add RealTek RTL8150 USB to fast Ethernet controller driver. This driver now supports the Melco LUA-KTX and the GREEN HOUSE GH-USB100B. Reviewed by: imp MFC after: 2 weeks
|
#
50cf98ed |
|
01-May-2003 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
- Move decoding pc98_partition function into geom_pc98_enc.c. - Add encoding pc98_partition function.
|
#
1ea34919 |
|
29-Apr-2003 |
Nate Lawson <njl@FreeBSD.org> |
Catch up with the new acpi files.
|
#
66622397 |
|
21-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Update GEOM::SUN to use the decoding functions in geom_sunlabel_enc.c and #defines from sys/sun_disklabel.h.
|
#
87b4a259 |
|
20-Apr-2003 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for the ASIX Electronics AX88172 USB 2.0 ethernet controller. The driver has been tested with the LinkSys USB200M adapter. I know for a fact that there are other devices out there with this chip but don't have all the USB vendor/device IDs. Note: I'm not sure if this will force the driver to end up in the install kernel image or not. Special magic needs to be done to exclude it to keep the boot floppies from bloating again, someone please advise.
|
#
daabb372 |
|
17-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Separate the encoding/decoding functions for struct disklabel into a separate source file which can be used from both kernel and userland code.
|
#
4ed471c1 |
|
16-Apr-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Add dev/firewire/fwdma.c.
|
#
54233755 |
|
14-Apr-2003 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Express bus dependency a little more clearly.
|
#
ca3acad1 |
|
14-Apr-2003 |
Bernd Walter <ticso@FreeBSD.org> |
add EHCI (USB 2.0) controller support. Approved by: joe gallatin (mentor) Obtained from: NetBSD
|
#
7d0de413 |
|
13-Apr-2003 |
Max Khon <fjoe@FreeBSD.org> |
Driver for Granch SBNI16 SHDSL modem Submitted by: Denis I. Timofeev <timofeev@granch.ru> MFC after: 1 week
|
#
6e03422a |
|
12-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the functions for encoding decoding struct dos_partition into a separate .c file so they can be used from userland as well.
|
#
efc5f672 |
|
07-Apr-2003 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Add PCI support (Adaptec AHA-2920/A,Future Domain TMC-18XX/3260). - Reduce duplicated code. PR: 50427 Submitted by: Bob Bishop <rb@gid.co.uk>
|
#
fb89eb1e |
|
04-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a rudimentary but working driver for the Adlink "NuDaq PCI-9812". This is a 4 channel 20 msps 12 bit ADC card. Anyone wanting to play with GNUradio or similar can start here.
|
#
4d3651f4 |
|
03-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove geom_enc.c, a superset of these functions are now available in <sys/endian.h>
|
#
404c3ad4 |
|
31-Mar-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add the kern_umtx.c file to the build.
|
#
f00fea89 |
|
31-Mar-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add kern_thr.c
|
#
50e960d9 |
|
29-Mar-2003 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Move driver to newbus. - Provide identify methods for EtherExpress and 3c507 cards; this means these cards no longer need wired configs. - Provide a detach method.
|
#
5bbb8060 |
|
26-Mar-2003 |
Tor Egge <tegge@FreeBSD.org> |
Add support for reading directly from file to userland buffer when the O_DIRECT descriptor status flag is set and both offset and length is a multiple of the physical media sector size.
|
#
7e69ddc9 |
|
18-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Missed in last commit: don't compile now non-existent geom_stats.c
|
#
ac7e2c05 |
|
11-Mar-2003 |
Sam Leffler <sam@FreeBSD.org> |
FIPS 140-2 rng data tester for h/w crypto devices. This driver periodically monitors the entropy data harvested by crypto drivers to verify it complies with FIPS 140-2. If data fails any test then the driver discards it and commences continuous testing of harvested data until it is deemed ok. Results are collected in a statistics block and, optionally, reported on the console. In normal use the overhead associated with this driver is not noticeable. Note that drivers must (currently) be compiled specially to enable use. Obtained from: original code by Jason L. Wright
|
#
32333372 |
|
10-Mar-2003 |
Jake Burkholder <jake@FreeBSD.org> |
"Or" is expressed with 2 separate config lines. Reported by: Stijn Hoop <stijn@win.tue.nl>
|
#
43e2d1e3 |
|
08-Mar-2003 |
Eric Anholt <anholt@FreeBSD.org> |
Update the DRM to latest from DRI CVS. This is approximately the version included in XFree86 4.3, but includes some fixes. Notable changes include Radeon 8500-9100 support, PCI Radeon/Rage 128 support, transform & lighting support for Radeons, and vblank syncing support for r128, radeon, and mga. The gamma driver was removed due to lack of any users.
|
#
74c69254 |
|
07-Mar-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Remove unimplemented IP-in-IPX encapsulation support (options IPTUNNEL).
|
#
3c6b084e |
|
05-Mar-2003 |
Peter Wemm <peter@FreeBSD.org> |
Finish driving a stake through the heart of netns and the associated ifdefs scattered around the place - its dead Jim! The SMB stuff had stolen AF_NS, make it official.
|
#
1cafed39 |
|
04-Mar-2003 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Update netisr handling; Each SWI now registers its queue, and all queue drain routines are done by swi_net, which allows for better queue control at some future point. Packets may also be directly dispatched to a netisr instead of queued, this may be of interest at some installations, but currently defaults to off. Reviewed by: hsu, silby, jayanth, sam Sponsored by: DARPA, NAI Labs
|
#
03d03162 |
|
02-Mar-2003 |
Robert Watson <rwatson@FreeBSD.org> |
A cute yet small MAC policy that provides a simple ACL mechanism to permit users and groups to bind ports for TCP or UDP, and is intended to be combined with the recently committed support for net.inet.ip.portrange.reservedhigh. The policy is twiddled using sysctl(8). To use this module, you will need to compile in MAC support, and probably set reservedhigh to 0, then twiddle security.mac.portacl.rules to set things as desired. This policy module only restricts ports explicitly bound using bind(), not implicitly bound ports where the port number is selected by the IP stack. It appears to work properly in my local configuration, but needs more broad testing. A sample policy might be: # sysctl security.mac.portacl.rules="uid:425:tcp:80,uid:425:tcp:79" This permits uid 425 to bind TCP sockets to ports 79 and 80. Currently no distinction is made for incoming vs. outgoing ports with TCP, although that would probably be easy to add. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
907cf80f |
|
24-Feb-2003 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Remove support for running in SimOS. The support has rotted over time and there's no indication that it will improve anytime soon. By removing support for SimOS it is possible to build LINT on Alpha, which is considered more important at the moment. Not objected to on: alpha@
|
#
b9a49f7e |
|
23-Feb-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
pst(4) should be portable across all our platforms.
|
#
96c4266c |
|
23-Feb-2003 |
Robert Watson <rwatson@FreeBSD.org> |
Add an implementation of strdup() to libkern. Allocated memory is of type M_STRING, now defined in malloc.h. Useful when string parsing must occur using the kernel strsep() and we want to avoid toasting the source string. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
bb5bdd38 |
|
20-Feb-2003 |
Søren Schmidt <sos@FreeBSD.org> |
First round off updates/fixes to the ATA driver. This moves all chipset specific code to a new file 'ata-chipset.c'. Extensive use of tables and pointers to avoid having the same switch on chipset type in several places, and to allow substituting various functions for different HW arch needs. Added PIO mode setup and all DMA modes. Support for all known SiS chipsets. Thanks to Christoph Kukulies for sponsoring a nice ASUS P4S8X SiS648 based board for this work! Tested on: i386, PC98, alpha and sparc64
|
#
eba43df4 |
|
19-Feb-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Munge the zs sbus attachment to work with fhc. This is a bit of a hack, but they would otherwise be almost identical so there's not much point in splitting it up further.
|
#
05d1e23a |
|
13-Feb-2003 |
Eric Anholt <anholt@FreeBSD.org> |
Split the arch-specific AGP files into the appropriate files.* and do the same for the agp module, and add agp to the list of modules to compile for alpha. Add an alpha_mb() to agp_flush_cache for alpha -- it's not correct but may improve the situation, and it's what linux and NetBSD do.
|
#
4ec35300 |
|
08-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the g_stat struct to its own .h file, we will export it to other code. Insted of embedding a struct g_stat in consumers and providers, merely include a pointer. Remove a couple of <sys/time.h> includes now unneeded. Add a special allocator for struct g_stat. This allocator will allocate entire pages and hand out g_stat functions from there. The "id" field indicates free/used status. Add "/dev/geom.stats" device driver whic exports the pages from the allocator to userland with mmap(2) in read-only mode. This mmap(2) interface should be considered a non-public interface and the functions in libgeom (not yet committed) should be used to access the statistics data.
|
#
3febcc57 |
|
07-Feb-2003 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
- Clean up ISA DMA supports. - Rename all sndbuf_isadma* functions to sndbuf_dma* and move them into sys/dev/sound/isa/sndbuf_dma.c. No response from: sound
|
#
cd53fddb |
|
03-Feb-2003 |
Gordon Tetlow <gordon@FreeBSD.org> |
Add config glue to add an optional GEOM_VOL to add optional volume support. Reviewed by: jake (mentor)
|
#
83dde527 |
|
31-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a rudimentary class for slicing Apple partitioned disks. More work is needed on this, stakeholders please contact me. Not quite asked for by: rwatson
|
#
7a66b852 |
|
29-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove files which don't exist.
|
#
cb421150 |
|
29-Jan-2003 |
Peter Wemm <peter@FreeBSD.org> |
Move the miidevs.h build stuff to conf/files so that config(8) doesn't clobber it each time. XXX: maybe this should be 'optional miibus' rather than 'standard'
|
#
96d11470 |
|
28-Jan-2003 |
Josef Karthauser <joe@FreeBSD.org> |
Migrate the PCI bus logic for ohci and uhci from sys/pci to sys/dev/usb.
|
#
c3384118 |
|
25-Jan-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Introduce the SCHED_ULE and SCHED_4BSD options for compile time selection of the scheduler. - Add SCHED_4BSD as the scheduler for all kernel config files in cvs.
|
#
f9eb1409 |
|
25-Jan-2003 |
Orion Hodson <orion@FreeBSD.org> |
Add ac97_patch.[ch] that provide space for ac97 codec specific patches.
|
#
2a2c7962 |
|
17-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move subr_disklabel.c and subr_diskslice.c from being MI to MD files, so that they can be left out where they are unneeded.
|
#
be7b82cd |
|
15-Jan-2003 |
Sam Leffler <sam@FreeBSD.org> |
config glue for new wi driver and wlan module Reviewed by: imp Forgotten by: sam
|
#
332a7241 |
|
15-Jan-2003 |
Alfred Perlstein <alfred@FreeBSD.org> |
remove wi_hostap.c from files as it's been removed.
|
#
d2128d81 |
|
14-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a very simple but functional GEOM mirror class. This is committed more as an instructive tool than as a production facility, but this will change over time.
|
#
5f7d4c49 |
|
08-Jan-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Add sbus specific zs file.
|
#
a360a43d |
|
04-Jan-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Improve the way that an elf image activator for an alternate word size is included in the kernel. Include imgact_elf.c in conf/files, instead of both imgact_elf32.c and imgact_elf64.c, which will use the default word size for an architecture as defined in machine/elf.h. Architectures that wish to build an additional image activator for an alternate word size can include either imgact_elf32.c or imgact_elf64.c in files.${ARCH}, which allows it to be dependent on MD options instead of solely on architecture. Glanced at by: peter
|
#
75db2b5e |
|
01-Jan-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Add a driver for the Zilog 8530 dual uart found in Ultra 1s and Ultra 2s. With a 1 byte transmit fifo, 3 byte receive fifo, and wierd multiplexed I/O designed for a Z80 cpu, this chip redefines suckage. Based on the openbsd and netbsd drivers. Only really works as a console, modem support is not complete since I can't test it.
|
#
b018dcd1 |
|
31-Dec-2002 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
- Implement primal Configuration ROM parser. - Support multiple LUNs for SBP-II.
|
#
1f380ae5 |
|
13-Dec-2002 |
Scott Long <scottl@FreeBSD.org> |
Move the amd(4) driver to it's own directory in preparation for it growing an sbus front-end.
|
#
8ba4488c |
|
03-Dec-2002 |
Søren Schmidt <sos@FreeBSD.org> |
Add support for the PC98 platform to the ATA driver. This mostly consists of functionality to serialize accesses to the two ATA channels (which can also be used to "fix" certain PCI based controllers). Add support for Acard controllers. Enable the ATA driver in PC98 GENERIC, and add device hints. Update man page with latest support. The PC98 core team has kindly provided me with a PC98 machine that made this all possible, thanks to all that contributed to that effort, without that this would probably newer have been possible.. Approved by: re@
|
#
e8c1847f |
|
27-Nov-2002 |
Noriaki Mitsunaga <non@FreeBSD.org> |
Uncomment out the lines of {ncv,ncr53c500,tmc18c30}_pccard.c . They now support NEWCARD and compiles with GENERIC kernel. Approved by: re
|
#
c4725737 |
|
26-Nov-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up kernel options and build information for mac_lomac. Approved by: re Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
2be05b70 |
|
15-Nov-2002 |
Daniel Eischen <deischen@FreeBSD.org> |
Add getcontext, setcontext, and swapcontext as system calls. Previously these were libc functions but were requested to be made into system calls for atomicity and to coalesce what might be two entrances into the kernel (signal mask setting and floating point trap) into one. A few style nits and comments from bde are also included. Tested on alpha by: gallatin
|
#
bbb4330b |
|
15-Nov-2002 |
Luigi Rizzo <luigi@FreeBSD.org> |
Massive cleanup of the ip_mroute code. No functional changes, but: + the mrouting module now should behave the same as the compiled-in version (it did not before, some of the rsvp code was not loaded properly); + netinet/ip_mroute.c is now truly optional; + removed some redundant/unused code; + changed many instances of '0' to NULL and INADDR_ANY as appropriate; + removed several static variables to make the code more SMP-friendly; + fixed some minor bugs in the mrouting code (mostly, incorrect return values from functions). This commit is also a prerequisite to the addition of support for PIM, which i would like to put in before DP2 (it does not change any of the existing APIs, anyways). Note, in the process we found out that some device drivers fail to properly handle changes in IFF_ALLMULTI, leading to interesting behaviour when a multicast router is started. This bug is not corrected by this commit, and will be fixed with a separate commit. Detailed changes: -------------------- netinet/ip_mroute.c all the above. conf/files make ip_mroute.c optional net/route.c fix mrt_ioctl hook netinet/ip_input.c fix ip_mforward hook, move rsvp_input() here together with other rsvp code, and a couple of indentation fixes. netinet/ip_output.c fix ip_mforward and ip_mcast_src hooks netinet/ip_var.h rsvp function hooks netinet/raw_ip.c hooks for mrouting and rsvp functions, plus interface cleanup. netinet/ip_mroute.h remove an unused and optional field from a struct Most of the code is from Pavlin Radoslavov and the XORP project Reviewed by: sam MFC after: 1 week
|
#
17821895 |
|
12-Nov-2002 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Split userland services to fwdev.c.
|
#
69e58e12 |
|
08-Nov-2002 |
John Baldwin <jhb@FreeBSD.org> |
- Move netsmb entries over to MI files. netsmb appears to be MI code. - Add 'nowerror' to pci/simos.c to help LINT builds.
|
#
820a843d |
|
06-Nov-2002 |
John Baldwin <jhb@FreeBSD.org> |
dgb(4) currently is i386-only.
|
#
8a651d2c |
|
06-Nov-2002 |
John Baldwin <jhb@FreeBSD.org> |
Make the ar(4) driver i386-only for now. It has lots of sizeof(int) == sizeof(void *) assumptions and doesn't use busdma yet (it uses kvtop() which is not an MI interface). Recommended by: jake, mux
|
#
6fe8789d |
|
05-Nov-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Convert to newbus, bus_space etc. - Move to MI space. Tested on: i386
|
#
763bbd2f |
|
26-Oct-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Slightly change the semantics of vnode labels for MAC: rather than "refreshing" the label on the vnode before use, just get the label right from inception. For single-label file systems, set the label in the generic VFS getnewvnode() code; for multi-label file systems, leave the labeling up to the file system. With UFS1/2, this means reading the extended attribute during vfs_vget() as the inode is pulled off disk, rather than hitting the extended attributes frequently during operations later, improving performance. This also corrects sematics for shared vnode locks, which were not previously present in the system. This chances the cache coherrency properties WRT out-of-band access to label data, but in an acceptable form. With UFS1, there is a small race condition during automatic extended attribute start -- this is not present with UFS2, and occurs because EAs aren't available at vnode inception. We'll introduce a work around for this shortly. Approved by: re Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
d2ec391b |
|
24-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
Rename 'device acpica' to 'device acpi'. Approved by: msmith, iwasaki
|
#
eae2f20c |
|
24-Oct-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Provide kernel options for the various MAC policy modules so that they may be statically linked into the kernel. Note that statically linked modules, unlike dynamically linked modules, get INVARIANTS, so if there are INVARIANTS failures, you'll bump into them rather than not. Add the options to NOTES. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
|
#
599c57a9 |
|
23-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
- New-bussify the rc(4) device driver. - Add detach support to the driver so that you can kldunload the module. Note that currently rc_detach() fails to detach a unit if any of its child devices are open, thus a kldunload will fail if any of the tty devices are currently open. - sys/i386/isa/ic/cd180.h was moved to sys/dev/ic/cd180.h as part of this change. Requested by: rwatson Tested by: rwatson
|
#
11e1ea96 |
|
20-Oct-2002 |
Brooks Davis <brooks@FreeBSD.org> |
All bpf.h/NBPF consumers are gone so stop generating bpf.h
|
#
f9d186ed |
|
20-Oct-2002 |
Scott Long <scottl@FreeBSD.org> |
After much delay and anticipation, welcome RAIDFrame into the FreeBSD world. This should be considered highly experimental. Approved-by: re
|
#
19b5c7bc |
|
19-Oct-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add Geom Based Disk Encryption to the tree. This is an encryption module designed for to secure denial of access to the contents of "cold disks" with or without destruction activation. Major features: * Based on AES, MD5 and ARC4 algorithms. * Four cryptographic barriers: 1) Pass-phrase encrypts the master key. 2) Pass-phrase + Lock data locates master key. 3) 128 bit key derived from 2048 bit master key protects sector key. 3) 128 bit random single-use sector keys protect data payload. * Up to four different changeable pass-phrases. * Blackening feature for provable destruction of master key material. * Isotropic disk contents offers no information about sector contents. * Configurable destination sector range allows steganographic deployment. This commit adds the kernel part, separate commits will follow for the userland utility and documentation. This software was developed for the FreeBSD Project by Poul-Henning Kamp and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS research program. Many thanks to Robert Watson, CBOSS Principal Investigator for making this possible. Sponsored by: DARPA & NAI Labs.
|
#
1a6b4146 |
|
18-Oct-2002 |
Eric Moore <emoore@FreeBSD.org> |
(1) added LSI Logic copyright, and legal line 3 in license, and string changes for "LSILogic" (2) enabled non-disk support through CAM interface (3) HA_INQ (a) enabled tagged queuing (b) disable reset during driver loading (b) renamed BSDi string to LSI (4) disabled detecting disk devices during SCSI INQUIRY (5) changed dcdb single element sglist to send one entire buffer chunk (6) nsgelem not set in sglist (7) ap_data_transfer_length not set for dcdb (8) changed "struct thread" to "d_thread_t" for compatibliity { xxx_open, xxx_close, xxx_ioctl } (9) miscellaneous compatiblity fixes (10) bug fix for 0x0409/0x1000 card (11) added compiling amr_cam.c in sys/conf/files (12) added compiling amr_cam.c in sys/modules/amr/Makefile Reviewed by:ps MFC after:1 week 1 week
|
#
b9234faf |
|
15-Oct-2002 |
Sam Leffler <sam@FreeBSD.org> |
Tie new "Fast IPsec" code into the build. This involves the usual configuration stuff as well as conditional code in the IPv4 and IPv6 areas. Everything is conditional on FAST_IPSEC which is mutually exclusive with IPSEC (KAME IPsec implmentation). As noted previously, don't use FAST_IPSEC with INET6 at the moment. Reviewed by: KAME, rwatson Approved by: silence Supported by: Vernier Networks
|
#
bb2ea9c2 |
|
14-Oct-2002 |
John Baldwin <jhb@FreeBSD.org> |
Allow firewire, sbp (SCSI over firewire), and fwe (non-standard raw ethernet over firewire) to be statically compiled into the kernel as devices.
|
#
527a2a79 |
|
13-Oct-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add in the GEOM control module. Sponsored by: DARPA & NAI Labs.
|
#
f3d92b26 |
|
13-Oct-2002 |
Olivier Houchard <cognet@FreeBSD.org> |
Connect trm(4) to the build. Reviewed by: mux (mentor) Approved by: mux (mentor)
|
#
b43179fb |
|
11-Oct-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
- Create a new scheduler api that is defined in sys/sched.h - Begin moving scheduler specific functionality into sched_4bsd.c - Replace direct manipulation of scheduler data with hooks provided by the new api. - Remove KSE specific state modifications and single runq assumptions from kern_switch.c Reviewed by: -arch
|
#
469fda7e |
|
10-Oct-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up strsep(3) to libkern following a repo-copy by Peter. This will allow us to avoid nasty by-hand string parsing stuff in a number of places in the kernel, reducing the risk of unexpected consequences for kernel correctness.
|
#
20a6cb8c |
|
07-Oct-2002 |
Dima Dorfman <dd@FreeBSD.org> |
Import the libc fnmatch() into the kernel. This will be used by, among other things, the DEVFS rule subsystem to match nodes against a path pattern supplied by the user. fnmatch.c was repo-copied from src/lib/libc/gen/fnmatch.c, and the only changes to it are those necessary to make it compile in the kernel. The relevant parts of fnmatch.h were imported into libkern.h. Approved by: -arch
|
#
7d59efa9 |
|
07-Oct-2002 |
Alexander Kabaev <kan@FreeBSD.org> |
Add device driver for Belkin F5U103 and compatible USB-to-serial adapters. Reviewed by: n_hibma Approved by: obrien
|
#
3bd65612 |
|
05-Oct-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NB: This commit does *NOT* make GEOM the default in FreeBSD NB: But it will enable it in all kernels not having options "NO_GEOM" Put the GEOM related options into the intended order. Add "options NO_GEOM" to all kernel configs apart from NOTES. In some order of controlled fashion, the NO_GEOM options will be removed, architecture by architecture in the coming days. There are currently three known issues which may force people to need the NO_GEOM option: boot0cfg/fdisk: Tries to update the MBR while it is being used to control slices. GEOM does not allow this as a direct operation. SCSI floppy drives: Appearantly the scsi-da driver return "EBUSY" if no media is inserted. This is wrong, it should return ENXIO. PC98: It is unclear if GEOM correctly recognizes all variants of PC98 disklabels. (Help Wanted! I have neither docs nor HW) These issues are all being worked. Sponsored by: DARPA & NAI Labs.
|
#
ba835e3f |
|
04-Oct-2002 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Add code for ACPI PCI link object manipulation. This allocate the best IRQ to boot-disable devices (have IRQ 0). Allocated IRQ will be used for PCI interrupt routing when ACPI is enabled. Note that verbose messaging enabled for the time being so that people can easily notice the strange behavior if it happened.
|
#
8b7ce2ff |
|
04-Oct-2002 |
Sam Leffler <sam@FreeBSD.org> |
hookup new crypto support to the config/build process
|
#
3ae5b532 |
|
04-Oct-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
newbus & bus_space the mcd(4) driver.
|
#
1d9c5696 |
|
01-Oct-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
Back our kernel support for reliable signal queues. Requested by: rwatson, phk, and many others
|
#
1226f694 |
|
30-Sep-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
First half of implementation of ksiginfo, signal queues, and such. This gets signals operating based on a TailQ, and is good enough to run X11, GNOME, and do job control. There are some intricate parts which could be more refined to match the sigset_t versions, but those require further evaluation of directions in which our signal system can expand and contract to fit our needs. After this has been in the tree for a while, I will make in kernel API changes, most notably to trapsignal(9) and sendsig(9), to use ksiginfo more robustly, such that we can actually pass information with our (queued) signals to the userland. That will also result in using a struct ksiginfo pointer, rather than a signal number, in a lot of kern_sig.c, to refer to an individual pending signal queue member, but right now there is no defined behaviour for such. CODAFS is unfinished in this regard because the logic is unclear in some places. Sponsored by: New Gold Technology Reviewed by: bde, tjr, jake [an older version, logic similar]
|
#
1da8092e |
|
25-Sep-2002 |
Scott Long <scottl@FreeBSD.org> |
Do away with AAC_COMPAT_LINUX option entirely. The functionality will automatically be enabled if the kernel is compiled with COMPAT_LINUX. Submitted by: jhb MFC after: 3 days
|
#
7419815d6 |
|
24-Sep-2002 |
Scott Long <scottl@FreeBSD.org> |
The AAC_COMPAT_LINUX option was really annoying, since it made the aac driver dependent on the linux emulation module. This was especially bad for the release engineers who tried to move the aac driver from the kernel onto the drivers floppy. The linux compat bits for this driver are now in their own driver, aac_linux. It can be loaded as a module or compiled into the kernel. For the latter case, the AAC_COMPAT_LINUX option is needed, along with the COMPAT_LINUX option. I've tested this in every configuration I can think of. This is an MFC candidate for 4.7. Idea from: rwatson MFC after: 3 days
|
#
5bf6b653 |
|
22-Sep-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
- Hook ALQ up to the build.
|
#
e3b6e33c |
|
21-Sep-2002 |
Jake Burkholder <jake@FreeBSD.org> |
Moved netisr code from kern/kern_intr.c to net/netisr.c as threatened in a comment.
|
#
abc370fa |
|
21-Sep-2002 |
Jake Burkholder <jake@FreeBSD.org> |
Moved nfs_diskless setup code from autoconf.c to nfsclient/nfs_diskless.c so that it is MI. Allow nfs_mountroot to return an error if the nfs_diskless struct is not valid, rather than panicing later on. Call nfs_setup_diskless() from nfs_mountroot if NFS_ROOT is defined, like bootpc_init(). Removed legacy root mount support for sparc64, and enabled NFS_ROOT by default.
|
#
44e6ce01 |
|
21-Sep-2002 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Cleanup of amdpm(4). Add of NVIDIA nForce (nfpm) smbus support. Obtained from: Thomas D. Dean <tomdean@speakeasy.org>
|
#
3ffb9fad |
|
18-Sep-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Regen for added syscalls.
|
#
d2230994 |
|
17-Sep-2002 |
Peter Wemm <peter@FreeBSD.org> |
Make netatm/spans compile in the kernel without depending on userland include files to provide functions for kernel source (spans_kxdr.c)
|
#
5268fdfb |
|
15-Sep-2002 |
Peter Grehan <grehan@FreeBSD.org> |
geom_aes.c requires rijndael crypto Approved by: phk, benno
|
#
8e96e13e |
|
06-Sep-2002 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Add a new gre(4) driver, which could be used to create GRE (RFC1701) and MOBILE (RFC2004) IP tunnels. Obrained from: NetBSD
|
#
9c2060cd |
|
02-Sep-2002 |
Brooks Davis <brooks@FreeBSD.org> |
Hook up libkern/strlcpy.c and libkern/strlcat.c after repocopy. Obtained from: OpenBSD Discussed on: -arch
|
#
5906e69a |
|
01-Sep-2002 |
Brooks Davis <brooks@FreeBSD.org> |
Continue de-counting i4b. Devices i4bctl, i4bcapi, iavc, i4bq921, i4bq931, i4b, isic, iwic, ifpi, ifpi2, ifpnp, ihfc, and itjc are no longer count devices. Also remove a few other instances of N<DEVICE> being used to control compilation of whole files. Reviewed by: hm
|
#
f5177979 |
|
31-Aug-2002 |
Peter Wemm <peter@FreeBSD.org> |
'aicasm optional ahc ahd' means 'build aicasm only if BOTH ahc and ahd are specified'. Ie: it is a logical and, not a logical or.
|
#
32f606d1 |
|
31-Aug-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Split the puc driver in pci specific and generic parts. Add a pccard frontend for it as well. The PCcard stuff does not work yet because there is still some PCImagic left in puc.c
|
#
4e7bbbf9 |
|
31-Aug-2002 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add support for ahd/ahc register pretty printing in diagnostics. This feature can be disabled via the AHD/AHC_REG_PRETTY_PRINT kernel option. The ahc driver now uses the same debug options mechanism as ahd: AHC_DEBUG - Compile in debugging code AHC_DEBUG_OPTS - String of debug options as listed in aic7xxx.h
|
#
e7f52ff8 |
|
26-Aug-2002 |
John Baldwin <jhb@FreeBSD.org> |
Hook up the new ACPI PCI bus and catch up to ACPI PCI bridge driver changes.
|
#
901fadf7 |
|
20-Aug-2002 |
Archie Cobbs <archie@FreeBSD.org> |
New L2TP netgraph node type. Obtained from: Packet Design
|
#
ae831801 |
|
17-Aug-2002 |
Orion Hodson <orion@FreeBSD.org> |
Support for VIA VT8233 audio controller.
|
#
e2a5fdf9 |
|
15-Aug-2002 |
Nate Lawson <njl@FreeBSD.org> |
Remove usage of cam_extend.c, replace with dev->si_drv1 PR: kern/39809 Approved by: gibbs
|
#
6319263d |
|
15-Aug-2002 |
Warner Losh <imp@FreeBSD.org> |
pccbb->cbb
|
#
9b631363 |
|
11-Aug-2002 |
Matt Jacob <mjacob@FreeBSD.org> |
Add support for the LSI-Logic Fusion/MP architecture. This is an architecture that present a thing message passing interface to the OS. You can query as to how many ports and what kind are attached and enable them and so on. A less grand view is that this is just another way to package SCSI (SPI or FC) and FC-IP into a one-driver interface set. This driver support the following hardware: LSI FC909: Single channel, 1Gbps, Fibre Channel (FC-SCSI only) LSI FC929: Dual Channel, 1-2Gbps, Fibre Channel (FC-SCSI only) LSI 53c1020: Single Channel, Ultra4 (320M) (Untested) LSI 53c1030: Dual Channel, Ultra4 (320M) Currently it's in fair shape, but expect a lot of changes over the next few weeks as it stabilizes. Credits: The driver is mostly from some folks from Jeff Roberson's company- I've been slowly migrating it to broader support that I it came to me as. The hardware used in developing support came from: FC909: LSI-Logic, Advansys (now Connetix) FC929: LSI-Logic 53c1030: Antares Microsystems (they make a very fine board!) MFC after: 3 weeks
|
#
31f48889 |
|
11-Aug-2002 |
Josef Karthauser <joe@FreeBSD.org> |
Add the uftdi ucom driver which supports the following adapters: Inland UAS111 QVS USC-1000 HP USB-Serial adapter shipped with some HP laptops Submitted by: takawata MFC After: 7 days
|
#
fd4b4ecc |
|
09-Aug-2002 |
Søren Schmidt <sos@FreeBSD.org> |
Add the ability to use ATAPI devices via CAM. The CAM<>ATAPI layer was submitted by "Thomas Quinot <thomas@cuivre.fr.eu.org>" changes form the version on the net by me (formatting, ability to be used alone without the ATAPI native device driver, proper speed reporting...) See /sys/conf/NOTES for usage. Submitted by: Thomas Quinot <thomas@cuivre.fr.eu.org>
|
#
05c872ad |
|
09-Aug-2002 |
Brooks Davis <brooks@FreeBSD.org> |
Make ppp(4) devices clonable and unloadable.
|
#
ab1cee3d |
|
04-Aug-2002 |
Jake Burkholder <jake@FreeBSD.org> |
se -> sab.
|
#
ab9d7ec4 |
|
04-Aug-2002 |
Jake Burkholder <jake@FreeBSD.org> |
Remove this abortive attempt.
|
#
1dbad969 |
|
01-Aug-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Demonstrate that MAC modules can also be linked statically as well as loaded as modules by hooking up mac_none if 'options MAC_NONE' is defined. Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
|
#
c1ff2d9b |
|
31-Jul-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce support for Mandatory Access Control and extensible kernel access control. Modify procfs so that (when mounted multilabel) it exports process MAC labels as the vnode labels of procfs vnodes associated with processes. Approved by: des Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
|
#
abf24f80 |
|
30-Jul-2002 |
Warner Losh <imp@FreeBSD.org> |
Fix path to other files.<arch> files. Fix disordering of libkern/crc32.c entry. MFC after: 1 day
|
#
b69ed3f4 |
|
30-Jul-2002 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Resolve conflicts arising from the ACPI CA 20020725 import.
|
#
ca095220 |
|
30-Jul-2002 |
Josef Karthauser <joe@FreeBSD.org> |
Commit a version of the uvisor driver for connecting Handspring Visors via USB. Submitted by: Chia-liang Kao <clkao@clkao.org>
|
#
e35b3494 |
|
29-Jul-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Hook up kern_mac.c to the build. Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs
|
#
a2959ac6 |
|
23-Jul-2002 |
John Baldwin <jhb@FreeBSD.org> |
Move sio's ebus attachment to the MI files section so it is compiled in for any machines that use ebus.
|
#
ba268f03 |
|
23-Jul-2002 |
John Baldwin <jhb@FreeBSD.org> |
Move sio_isa.c back to MD files files due to PC98 brain damage.
|
#
ec789268 |
|
23-Jul-2002 |
Peter Wemm <peter@FreeBSD.org> |
pci is (finally) no longer a 'count' device. ahc/ahd were the last holdouts.
|
#
0cd59a38 |
|
21-Jul-2002 |
Peter Wemm <peter@FreeBSD.org> |
Move 'em' from files.i386 to files so that it is within reach of the ia64 (tested) and pc98 (i386 based) platforms.
|
#
d76dc9c3 |
|
21-Jul-2002 |
Peter Wemm <peter@FreeBSD.org> |
pci/cy_pci.c is still MD, it needs i386/isa/cy.c for the core.
|
#
995e4431 |
|
21-Jul-2002 |
Peter Wemm <peter@FreeBSD.org> |
Change bktr and smbus from 'count' back to 'optional'
|
#
d807a231 |
|
21-Jul-2002 |
Nick Sayer <nsayer@FreeBSD.org> |
Add uaudio -- a USB audio device driver. This driver actually works slightly better on -stable than on -current (the system locks on detach on -current), so it should be MFC'd somewhat sooner. This driver currently points out a difficulty in the sound device framework. The PCM unregister routine is allowed to refuse the detach if the device is in use. In the case of a USB device, however, this unregistration is much more mandatory in nature, since the device is *actually* gone when this call is made. The sound subsystem really should not refuse an unregistration and should take its own steps to reject further I/O. As a result, if you detach a USB sound device while it is in use, you can expect a panic shortly thereafter. This device cannot currently record audio. Some routines are unwritten as of yet in uaudio.c to support recording. This device hangs my -current box on detach. I don't know why. This does not happen on my -stable machine. Obtained from: Hiroyuki Aizu MFC after: 2 weeks
|
#
3ebc1248 |
|
19-Jul-2002 |
Peter Wemm <peter@FreeBSD.org> |
Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable handler in the kernel at the same time. Also, allow for the exec_new_vmspace() code to build a different sized vmspace depending on the executable environment. This is a big help for execing i386 binaries on ia64. The ELF exec code grows the ability to map partial pages when there is a page size difference, eg: emulating 4K pages on 8K or 16K hardware pages. Flesh out the i386 emulation support for ia64. At this point, the only binary that I know of that fails is cvsup, because the cvsup runtime tries to execute code in pages not marked executable. Obtained from: dfr (mostly, many tweaks from me).
|
#
b946901c |
|
16-Jul-2002 |
Warner Losh <imp@FreeBSD.org> |
pccard_common.c is no longer necssary
|
#
a1dc2096 |
|
16-Jul-2002 |
Dima Dorfman <dd@FreeBSD.org> |
Introduce the DEVFS "rule" subsystem. DEVFS rules permit the administrator to define certain properties of new devfs nodes before they become visible to the userland. Both static (e.g., /dev/speaker) and dynamic (e.g., /dev/bpf*, some removable devices) nodes are supported. Each DEVFS mount may have a different ruleset assigned to it, permitting different policies to be implemented for things like jails. Approved by: phk
|
#
fbfee3f6 |
|
15-Jul-2002 |
John Baldwin <jhb@FreeBSD.org> |
Move SMBFS from i386 and pc98 files and options files to MI files and options files.
|
#
bdff575a |
|
15-Jul-2002 |
John Baldwin <jhb@FreeBSD.org> |
Move all the sio(4) attachments (except for pc98's cbus attachment) to the MI files file. We can't move sio.c because pc98 uses a custom version.
|
#
47a3594e |
|
15-Jul-2002 |
John Baldwin <jhb@FreeBSD.org> |
The puc(4) driver/bridge is MI, so don't bury it in MD options and files config files. It also depends on PCI.
|
#
bbf09ad8 |
|
15-Jul-2002 |
Mark Murray <markm@FreeBSD.org> |
Upgrade the random device to use a "real" hash instead of building one out of a block cipher. This has 2 advantages: 1) The code is _much_ simpler 2) We aren't committing our security to one algorithm (much as we may think we trust AES). While I'm here, make an explicit reseed do a slow reseed instead of a fast; this is in line with what the original paper suggested.
|
#
e05ec893 |
|
10-Jul-2002 |
Matt Jacob <mjacob@FreeBSD.org> |
Enable ISP SBus support.
|
#
98479b04 |
|
09-Jul-2002 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Resolve conflicts arising from the ACPI CA 20020611 import.
|
#
f00abca0 |
|
05-Jul-2002 |
Benno Rice <benno@FreeBSD.org> |
Add bmtphy.c
|
#
2b4edb69 |
|
02-Jul-2002 |
Maxime Henrion <mux@FreeBSD.org> |
Move every code related to mount(2) in a new file, vfs_mount.c. The file vfs_conf.c which was dealing with root mounting has been repo-copied into vfs_mount.c to preserve history. This makes nmount related development easier, and help reducing the size of vfs_syscalls.c, which is still an enormous file. Reviewed by: rwatson Repo-copy by: peter
|
#
e602ba25 |
|
29-Jun-2002 |
Julian Elischer <julian@FreeBSD.org> |
Part 1 of KSE-III The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools) Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands) NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals..
|
#
9758b77f |
|
27-Jun-2002 |
Luigi Rizzo <luigi@FreeBSD.org> |
The new ipfw code. This code makes use of variable-size kernel representation of rules (exactly the same concept of BPF instructions, as used in the BSDI's firewall), which makes firewall operation a lot faster, and the code more readable and easier to extend and debug. The interface with the rest of the system is unchanged, as witnessed by this commit. The only extra kernel files that I am touching are if_fw.h and ip_dummynet.c, which is quite tied to ipfw. In userland I only had to touch those programs which manipulate the internal representation of firewall rules). The code is almost entirely new (and I believe I have written the vast majority of those sections which were taken from the former ip_fw.c), so rather than modifying the old ip_fw.c I decided to create a new file, sys/netinet/ip_fw2.c . Same for the user interface, which is in sbin/ipfw/ipfw2.c (it still compiles to /sbin/ipfw). The old files are still there, and will be removed in due time. I have not renamed the header file because it would have required touching a one-line change to a number of kernel files. In terms of user interface, the new "ipfw" is supposed to accepts the old syntax for ipfw rules (and produce the same output with "ipfw show". Only a couple of the old options (out of some 30 of them) has not been implemented, but they will be soon. On the other hand, the new code has some very powerful extensions. First, you can put "or" connectives between match fields (and soon also between options), and write things like ipfw add allow ip from { 1.2.3.4/27 or 5.6.7.8/30 } 10-23,25,1024-3000 to any This should make rulesets slightly more compact (and lines longer!), by condensing 2 or more of the old rules into single ones. Also, as an example of how easy the rules can be extended, I have implemented an 'address set' match pattern, where you can specify an IP address in a format like this: 10.20.30.0/26{18,44,33,22,9} which will match the set of hosts listed in braces belonging to the subnet 10.20.30.0/26 . The match is done using a bitmap, so it is essentially a constant time operation requiring a handful of CPU instructions (and a very small amount of memmory -- for a full /24 subnet, the instruction only consumes 40 bytes). Again, in this commit I have focused on functionality and tried to minimize changes to the other parts of the system. Some performance improvement can be achieved with minor changes to the interface of ip_fw_chk_t. This will be done later when this code is settled. The code is meant to compile unmodified on RELENG_4 (once the PACKET_TAG_* changes have been merged), for this reason you will see #ifdef __FreeBSD_version in a couple of places. This should minimize errors when (hopefully soon) it will be time to do the MFC.
|
#
98cb733c |
|
25-Jun-2002 |
Kenneth D. Merry <ken@FreeBSD.org> |
At long last, commit the zero copy sockets code. MAKEDEV: Add MAKEDEV glue for the ti(4) device nodes. ti.4: Update the ti(4) man page to include information on the TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options, and also include information about the new character device interface and the associated ioctls. man9/Makefile: Add jumbo.9 and zero_copy.9 man pages and associated links. jumbo.9: New man page describing the jumbo buffer allocator interface and operation. zero_copy.9: New man page describing the general characteristics of the zero copy send and receive code, and what an application author should do to take advantage of the zero copy functionality. NOTES: Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS, TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT. conf/files: Add uipc_jumbo.c and uipc_cow.c. conf/options: Add the 5 options mentioned above. kern_subr.c: Receive side zero copy implementation. This takes "disposable" pages attached to an mbuf, gives them to a user process, and then recycles the user's page. This is only active when ZERO_COPY_SOCKETS is turned on and the kern.ipc.zero_copy.receive sysctl variable is set to 1. uipc_cow.c: Send side zero copy functions. Takes a page written by the user and maps it copy on write and assigns it kernel virtual address space. Removes copy on write mapping once the buffer has been freed by the network stack. uipc_jumbo.c: Jumbo disposable page allocator code. This allocates (optionally) disposable pages for network drivers that want to give the user the option of doing zero copy receive. uipc_socket.c: Add kern.ipc.zero_copy.{send,receive} sysctls that are enabled if ZERO_COPY_SOCKETS is turned on. Add zero copy send support to sosend() -- pages get mapped into the kernel instead of getting copied if they meet size and alignment restrictions. uipc_syscalls.c:Un-staticize some of the sf* functions so that they can be used elsewhere. (uipc_cow.c) if_media.c: In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid calling malloc() with M_WAITOK. Return an error if the M_NOWAIT malloc fails. The ti(4) driver and the wi(4) driver, at least, call this with a mutex held. This causes witness warnings for 'ifconfig -a' with a wi(4) or ti(4) board in the system. (I've only verified for ti(4)). ip_output.c: Fragment large datagrams so that each segment contains a multiple of PAGE_SIZE amount of data plus headers. This allows the receiver to potentially do page flipping on receives. if_ti.c: Add zero copy receive support to the ti(4) driver. If TI_PRIVATE_JUMBOS is not defined, it now uses the jumbo(9) buffer allocator for jumbo receive buffers. Add a new character device interface for the ti(4) driver for the new debugging interface. This allows (a patched version of) gdb to talk to the Tigon board and debug the firmware. There are also a few additional debugging ioctls available through this interface. Add header splitting support to the ti(4) driver. Tweak some of the default interrupt coalescing parameters to more useful defaults. Add hooks for supporting transmit flow control, but leave it turned off with a comment describing why it is turned off. if_tireg.h: Change the firmware rev to 12.4.11, since we're really at 12.4.11 plus fixes from 12.4.13. Add defines needed for debugging. Remove the ti_stats structure, it is now defined in sys/tiio.h. ti_fw.h: 12.4.11 firmware. ti_fw2.h: 12.4.11 firmware, plus selected fixes from 12.4.13, and my header splitting patches. Revision 12.4.13 doesn't handle 10/100 negotiation properly. (This firmware is the same as what was in the tree previously, with the addition of header splitting support.) sys/jumbo.h: Jumbo buffer allocator interface. sys/mbuf.h: Add a new external mbuf type, EXT_DISPOSABLE, to indicate that the payload buffer can be thrown away / flipped to a userland process. socketvar.h: Add prototype for socow_setup. tiio.h: ioctl interface to the character portion of the ti(4) driver, plus associated structure/type definitions. uio.h: Change prototype for uiomoveco() so that we'll know whether the source page is disposable. ufs_readwrite.c:Update for new prototype of uiomoveco(). vm_fault.c: In vm_fault(), check to see whether we need to do a page based copy on write fault. vm_object.c: Add a new function, vm_object_allocate_wait(). This does the same thing that vm_object allocate does, except that it gives the caller the opportunity to specify whether it should wait on the uma_zalloc() of the object structre. This allows vm objects to be allocated while holding a mutex. (Without generating WITNESS warnings.) vm_object_allocate() is implemented as a call to vm_object_allocate_wait() with the malloc flag set to M_WAITOK. vm_object.h: Add prototype for vm_object_allocate_wait(). vm_page.c: Add page-based copy on write setup, clear and fault routines. vm_page.h: Add page based COW function prototypes and variable in the vm_page structure. Many thanks to Drew Gallatin, who wrote the zero copy send and receive code, and to all the other folks who have tested and reviewed this code over the years.
|
#
6b891daa |
|
23-Jun-2002 |
Warner Losh <imp@FreeBSD.org> |
Partially back out the "make all interfaces standard" commit. There's a small chance that it might have broken loading the miibus, so err on the side of caution until I can figure out what is going on. This backs out all but the PCI, PCIB and ISA bus interfaces being "standard," which have been well tested...
|
#
8c575e95 |
|
23-Jun-2002 |
Warner Losh <imp@FreeBSD.org> |
plxcard for OLDCARD almost certainly isn't going to happen.
|
#
f24cd27f |
|
23-Jun-2002 |
Warner Losh <imp@FreeBSD.org> |
As disclosed to arch@, make more interfaces standard. This allows for easier loading of modules that might refer to these interfaces. None of the code that implements them is standard, just the glue. This bloats the kernel a whopping 8k. Silence on: arch@
|
#
a8353960 |
|
18-Jun-2002 |
Julian Elischer <julian@FreeBSD.org> |
A node that creates a device entry in /dev (yay devfs) so that /dev/mumble can be the entrypoint to some networking graph, e.g. a tunnel or a remote tape drive or whatever... Not fully tested (by me) yet. Submitted by: Mark Santcroos <marks@ripe.net> MFC after: 3 weeks
|
#
cd669cef |
|
16-Jun-2002 |
John Hay <jhay@FreeBSD.org> |
sppp needs slcompress.c nowadays. PR: 39369
|
#
a3cce19f |
|
13-Jun-2002 |
Robert Watson <rwatson@FreeBSD.org> |
kern_cap.c no longer needed.
|
#
22afbb6b |
|
13-Jun-2002 |
Brooks Davis <brooks@FreeBSD.org> |
Remote pci.h/NPCI usage from i4b code. Approved by: hm
|
#
11b2dcdb |
|
10-Jun-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Put geom_gpt.c under the GEOM option instead of having a special GEOM_GPT option for it.
|
#
26837af4 |
|
06-Jun-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
'device hea' is no longer broken. Add 'nowerror' to a few 'hea' files to ignore warnings on volatiles.
|
#
cdd49e97 |
|
06-Jun-2002 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Hook up the ahd driver.
|
#
26c1165d |
|
03-Jun-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Add new 'hea' driver files.
|
#
80f10018 |
|
30-May-2002 |
Takanori Watanabe <takawata@FreeBSD.org> |
Make oldcard and newcard kernel module work.
|
#
31741f8a |
|
29-May-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
PHK claims there is a crc32.c now.
|
#
22f24d72 |
|
29-May-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Back out revision 1.639. PHK filed to commit the libkern file.
|
#
f4258597 |
|
29-May-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add one copy of crc32() and crc32_tab[] in libkern, and remove it two other places. Comment out crc32 related definitions in zlib.h, we don't seem to have the corresponding code in our kernel.
|
#
bcd46c60 |
|
28-May-2002 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add support to GEOM for GUID Partition Tables (GPTs). The support is currently conditional on both the GEOM and GEOM_GPT options to avoid getting GPT by default and having the MBR and GPT classes clash. The correct behaviour of the MBR class would be to back-off (reject) a MBR if it's a Protective MBR (a MBR with a single partition of type 0xEE that spans the whole disk (as far as the MBR is concerned). The correct behaviour if the GPT class would be to back-off (reject) a GPT if there's a MBR that's not a Protective MBR. At this stage it's inconvenient to destroy a good MBR when working with GPTs that it's more convenient to have the MBR class back-off when it detects the GPT signature on disk and have the GPT class ignore the MBR. In sys/gpt.h UUIDs (GUIDs) for the following FreeBSD partitions have been defined: GPT_ENT_TYPE_FREEBSD FreeBSD slice with disklabel. This is the equivalent of the well-known FreeBSD MBR partition type. GPT_ENT_TYPE_FREEBSD_{SWAP|UFS|UFS2|VINUM} FreeBSD partitions in the context of disklabel. This is speculating on the idea to use the GPT to hold partitions instead if slices and removing the fixed (and low) limits we have on the number of partitions. This commit lacks a GPT image for the regression suite.
|
#
52183d01 |
|
28-May-2002 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Add uuidgen(2) and uuidgen(1). The uuidgen command, by means of the uuidgen syscall, generates one or more Universally Unique Identifiers compatible with OSF/DCE 1.1 version 1 UUIDs. From the Perforce logs (change 11995): Round of cleanups: o Give uuidgen() the correct prototype in syscalls.master o Define struct uuid according to DCE 1.1 in sys/uuid.h o Use struct uuid instead of uuid_t. The latter is defined in sys/uuid.h but should not be used in kernel land. o Add snprintf_uuid(), printf_uuid() and sbuf_printf_uuid() to kern_uuid.c for use in the kernel (currently geom_gpt.c). o Rename the non-standard struct uuid in kern/kern_uuid.c to struct uuid_private and give it a slightly better definition for better byte-order handling. See below. o In sys/gpt.h, fix the broken uuid definitions to match the now compliant struct uuid definition. See below. o In usr.bin/uuidgen/uuidgen.c catch up with struct uuid change. A note about byte-order: The standard failed to provide a non-conflicting and unambiguous definition for the binary representation. My initial implementation always wrote the timestamp as a 64-bit little-endian (2s-complement) integral. The clock sequence was always written as a 16-bit big-endian (2s-complement) integral. After a good nights sleep and couple of Pan Galactic Gargle Blasters (not necessarily in that order :-) I reread the spec and came to the conclusion that the time fields are always written in the native by order, provided the the low, mid and hi chopping still occurs. The spec mentions that you "might need to swap bytes if you talk to a machine that has a different byte-order". The clock sequence is always written in big-endian order (as is the IEEE 802 address) because its division is resulting in bytes, making the ordering unambiguous.
|
#
291daf57 |
|
26-May-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a proof-of-concept encryption class. "The only hard problem in cryptography is key-management." All sectors are encrypted with AES in CBC mode using a constant key, currently compiled in and all zero. To activate this module, write the magic header on the partition: echo "<<FreeBSD-GEOM-AES>>" | dd conv=sync of=/dev/md98 The encrypted device will be one sector shorter and have ".aes" appended to its name. Sponsored by: DARPA & NAI Labs.
|
#
2bab796d |
|
18-May-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Remove IFS from 5.0-CURRENT. This facilitates introducing UFS2 as IFS had its fingers deep in the belly of the UFS/FFS split. IFS will be reimplemented by the maintainer at a later date. Requested by: adrian (maintainer)
|
#
d394511d |
|
16-May-2002 |
Tom Rhodes <trhodes@FreeBSD.org> |
More s/file system/filesystem/g
|
#
2bf6dd18 |
|
16-May-2002 |
Ian Dowse <iedowse@FreeBSD.org> |
The ufs/ffs files are no longer required by ext2fs.
|
#
9504abaa |
|
16-May-2002 |
Ian Dowse <iedowse@FreeBSD.org> |
Complete the separation of ext2fs from ufs by copying the remaining shared code and converting all ufs references. Originally it may have made sense to share common features between the two filesystems, but recently it has only caused problems, the UFS2 work being the final straw. All UFS_* indirect calls are now direct calls to ext2_* functions, and ext2fs-specific mount and inode structures have been introduced.
|
#
7085e708 |
|
07-May-2002 |
Bruce Evans <bde@FreeBSD.org> |
Reconnect db_elf.c to the build (now under "options DDB_NOKLDSYM"). It doesn't actually build yet.
|
#
8efc4eff |
|
30-Apr-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
Add a new UMA debugging facility. This will overwrite freed memory with 0xdeadc0de and then check for it just before memory is handed off as part of a new request. This will catch any post free/pre alloc modification of memory, as well as introduce errors for anything that tries to dereference it as a pointer. This code takes the form of special init, fini, ctor and dtor routines that are specificly used by malloc. It is in a seperate file because additional debugging aids will want to live here as well.
|
#
67a2a28f |
|
27-Apr-2002 |
Eric Anholt <anholt@FreeBSD.org> |
Hook the DRM up to the build and add it to NOTES. Approved by: des
|
#
fe3cb0e1 |
|
26-Apr-2002 |
Scott Long <scottl@FreeBSD.org> |
Add a CAM interface to the aac driver. This is useful in case you should ever connect a SCSI Cdrom/Tape/Jukebox/Scanner/Printer/kitty-litter-scooper to your high-end RAID controller. The interface to the arrays is still via the block interface; this merely provides a way to circumvent the RAID functionality and access the SCSI buses directly. Note that for somewhat obvious reasons, hard drives are not exposed to the da driver through this interface, though you can still talk to them via the pass driver. Be the first on your block to low-level format unsuspecting drives that are part of an array! To enable this, add the 'aacp' device to your kernel config. MFC after: 3 days
|
#
e905720a |
|
24-Apr-2002 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
aic7xxx_freebsd.c -> aic7xxx_osm.c
|
#
9cd64fb3 |
|
19-Apr-2002 |
Semen Ustimenko <semenu@FreeBSD.org> |
Move tx(4) driver to sys/dev/tx. BTW split hardware structures and constants into if_txreg.h. MFC after: 1 week
|
#
906cf752 |
|
16-Apr-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Convert the 'hfa' ATM interface driver to newbus. - Add stubs for EISA and SBUS cards. (VME, FutureBUS, and TurboChannel stubs not provided.) - Add infrastructure to build driver and bus front-end modules.
|
#
440d3f4d |
|
16-Apr-2002 |
Julian Elischer <julian@FreeBSD.org> |
Add entry for the myson ethernet driver Submitted by: Myson , Taiwan
|
#
df263cbd |
|
14-Apr-2002 |
Scott Long <scottl@FreeBSD.org> |
Add a filesystem driver for the Universal Disk Format. For more info, see http://people.freebsd.org/~scottl/udf MFC after: when asmodai gets the backport done Prodded by: phk asmodai des
|
#
41544fe6 |
|
12-Apr-2002 |
Warner Losh <imp@FreeBSD.org> |
Forgot to commit this when I committed the rest of the hostap stuff.
|
#
b1377f89 |
|
08-Apr-2002 |
Jake Burkholder <jake@FreeBSD.org> |
Add the se driver.
|
#
635435f4 |
|
04-Apr-2002 |
Thomas Moestl <tmm@FreeBSD.org> |
Add a driver back end for the Mostek MK48T02, MK48T08 and MK48T59 time-of-day clocks, ported from NetBSD. The front-ends are expected to be at least partly machine-dependent; the sparc64 EBus and SBus ones will be commited to MD directories for now (in a subsequent commit).
|
#
d7f7792e |
|
04-Apr-2002 |
Thomas Moestl <tmm@FreeBSD.org> |
Add a generic implementation of inittodr() and resettodr(), as well as a set of helper routines to deal with real-time clocks. The generic functions access the clock diver using a kobj interface. This is intended to reduce code reduplication and make it easy to support more than one clock model on a single architecture. This code is currently only used on sparc64, but it is planned to convert the code of the other architectures to it later.
|
#
1be58af1 |
|
01-Apr-2002 |
Warner Losh <imp@FreeBSD.org> |
Add if_wi_{pccard,pci}.c for pccard and pci bus front ends
|
#
c2329af7 |
|
30-Mar-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Don't nowerror for sys/dev/pdq/pdq.c
|
#
d93b7c5d |
|
28-Mar-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add preliminary PC98 class to GEOM. I have not been able to find very much information about the PC98 extended partition layout so this is gleaned from the source in our pc98 architecture. Corrections and patched very welcome. Sponsored by: DARPA and NAI Labs.
|
#
3773a65c |
|
24-Mar-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Be more systematic about conversion of on-disk formats in a endian/width agnostic way. Collapse the MBR and MBREXT methods into one file and make them endian/width agnostic. Sponsored by: DARPA & NAI Labs.
|
#
c17d4340 |
|
23-Mar-2002 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Major rework of the iicbus/smbus framework: - VIA chipset SMBus controllers added - alpm driver updated - Support for dynamic modules added - bktr FreeBSD smbus updated but not tested - cleanup
|
#
8355f576 |
|
19-Mar-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
This is the first part of the new kernel memory allocator. This replaces malloc(9) and vm_zone with a slab like allocator. Reviewed by: arch@
|
#
916e6e02 |
|
18-Mar-2002 |
Josef Karthauser <joe@FreeBSD.org> |
Add a USB comm driver. Ported from NetBSD by: akiyama
|
#
132f08d0 |
|
15-Mar-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Teach GEOM about Sun disklabel formats. The detection code in this method is written so that it should work on all architectures which means that you can plug a Sun disk into a i386 now and access the partitions. We still need an endian-agnostic ufs/ffs before this is really interresting, but the main focus was to get sparc64 onto the GEOM trail.
|
#
e8645018 |
|
11-Mar-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add GEOM to conf/files.
|
#
5d0451a3 |
|
05-Mar-2002 |
Seigo Tanimura <tanimura@FreeBSD.org> |
Add sys/dev/ufm.c. Forgotten by: alfred Spotted by: LINT
|
#
b5a8f767 |
|
05-Mar-2002 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
- Speedup 3DES by using assembly code for i386. - Sync des/blowfish to more recent openssl. Obtained from: KAME/NetBSD MFC after: 2 weeks
|
#
899ccf54 |
|
04-Mar-2002 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Add generalized power profile code. This makes other power-management system (APM for now) to be able to generate power profile change events (ie. AC-line status changes), and other kernel components, not only the ACPI components, can be notified the events. - move subroutines in acpi_powerprofile.c (removed) to kern/subr_power.c - call power_profile_set_state() also from APM driver when AC-line status changes - add call-back function for Crusoe LongRun controlling on power profile changes for a example
|
#
654694bf |
|
27-Feb-2002 |
Peter Wemm <peter@FreeBSD.org> |
Tag if_ie.c, isp.c and isp_pci.c as nowerror (qualifier problems, and third party code)
|
#
c538dbe0 |
|
27-Feb-2002 |
Peter Wemm <peter@FreeBSD.org> |
Mark a few more broken pci drivers as nowerror.
|
#
2081ddd6 |
|
27-Feb-2002 |
Thomas Moestl <tmm@FreeBSD.org> |
Add gem and hme.
|
#
46bbc8f2 |
|
25-Feb-2002 |
Peter Wemm <peter@FreeBSD.org> |
Add 'nowerror' to the vendor acpica code that spews out warnings.
|
#
c0f91d51 |
|
20-Feb-2002 |
Takeshi Shibagaki <shiba@FreeBSD.org> |
NEWCARD support for xe. Reviewed by: imp
|
#
5578933d |
|
17-Feb-2002 |
Robert Watson <rwatson@FreeBSD.org> |
Add a 'strvalid()' call to libkern. Given a character pointer, and buffer length, determine if the pointer is to a valid string. Currently, the only check is whether a '\0' appears in the buffer. This is useful when pulling in a structure from userland that may contain one or more strings, and validity testing must be performed on elements of the structure. When copying normal string arguments, copyinstr() is expected to be used.
|
#
0483b1a8 |
|
11-Feb-2002 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Enable polling to be configured into kernels on non i386 platforms. Note that poll_in_trap is only implemented on i386. I've tested this on alpha. Approved by: luigi
|
#
75e5462e |
|
28-Jan-2002 |
Warner Losh <imp@FreeBSD.org> |
pccbb needs exca now.
|
#
2405c1ce |
|
28-Jan-2002 |
Søren Schmidt <sos@FreeBSD.org> |
Enable pccard support.
|
#
a245737c |
|
20-Jan-2002 |
Mike Smith <msmith@FreeBSD.org> |
Add the 'iir' driver, for the Intel Integrated RAID controllers and prior ICP Vortex models. This driver was developed by Achim Leubner of Intel (previously with ICP Vortex) and Boji Kannanthanam of Intel. Submitted by: "Kannanthanam, Boji T" <boji.t.kannanthanam@intel.com> MFC after: 2 weeks
|
#
eda6ecb2 |
|
08-Jan-2002 |
Max Khon <fjoe@FreeBSD.org> |
- generic Arcnet framework - device driver for SMC COM90cx6 Arcnet network adapters Obtained from: NetBSD
|
#
99523130 |
|
03-Jan-2002 |
Seigo Tanimura <tanimura@FreeBSD.org> |
- Provide toggles to show debug messages. Set new sysctl variables hw.midi.debug and hw.midi.seq.debug to 1 to enable debug log. - Make debug messages human-frendly. - Implement /dev/music. - Add a timer engine required by /dev/music. - Fix nonblocking I/O. - Fix the numbering of midi and synth devices.
|
#
26a45993 |
|
02-Jan-2002 |
Gary Jennejohn <gj@FreeBSD.org> |
i4bisppp also needs net/if_spppsubr.c. MFC after: 1 month
|
#
734b6a9e |
|
30-Dec-2001 |
Joerg Wunsch <joerg@FreeBSD.org> |
Remove references to i4b/driver/i4b_ispppsubr.c, now that net/if_spppsubr.c has all its features. Hooray, it's gone! MFC after: 1 month
|
#
21d56e9c |
|
29-Dec-2001 |
Alfred Perlstein <alfred@FreeBSD.org> |
Make AIO a loadable module. Remove the explicit call to aio_proc_rundown() from exit1(), instead AIO will use at_exit(9). Add functions at_exec(9), rm_at_exec(9) which function nearly the same as at_exec(9) and rm_at_exec(9), these functions are called on behalf of modules at the time of execve(2) after the image activator has run. Use a modified version of tegge's suggestion via at_exec(9) to close an exploitable race in AIO. Fix SYSCALL_MODULE_HELPER such that it's archetecuterally neutral, the problem was that one had to pass it a paramater indicating the number of arguments which were actually the number of "int". Fix it by using an inline version of the AS macro against the syscall arguments. (AS should be available globally but we'll get to that later.) Add a primative system for dynamically adding kqueue ops, it's really not as sophisticated as it should be, but I'll discuss with jlemon when he's around.
|
#
bfd29a02 |
|
06-Dec-2001 |
Warner Losh <imp@FreeBSD.org> |
Back out my "joy" change. It was really the for some uncommitted ata code I have.
|
#
f65f2ffd |
|
06-Dec-2001 |
Peter Wemm <peter@FreeBSD.org> |
Part 2 of previous commit. Add joy_isa.c and joy_pccard.c. Submitted by: jhb
|
#
a116e755 |
|
06-Dec-2001 |
Peter Wemm <peter@FreeBSD.org> |
Somebody moved joy.c from isa/ to dev/joy/ without updating conf/files. Pointy-hat to: imp
|
#
4e152a90 |
|
05-Dec-2001 |
Warner Losh <imp@FreeBSD.org> |
The pccard/cardbus power interface should depend on having pccard or cardbus in the kernel, not on all the bridges that implement it. Note: this is NEWCARD only, so we don't want it for the 'card' case, unlike card_if.m, which is both NEWCARD and OLDCARD.
|
#
c067c1d1 |
|
05-Dec-2001 |
Warner Losh <imp@FreeBSD.org> |
Move joy from isa to dev/joy.
|
#
3a669c52 |
|
03-Dec-2001 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Pseudofsize procfs(5).
|
#
3a31b7eb |
|
27-Nov-2001 |
Mike Smith <msmith@FreeBSD.org> |
Add the 'ciss' driver, which supports the Compaq SmartRAID 5* family of RAID controllers (5300, 532, 5i, etc.) Thanks to Compaq and Yahoo! for support during the development of this driver. MFC after: 1 week
|
#
be2ac88c |
|
21-Nov-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Introduce a syncache, which enables FreeBSD to withstand a SYN flood DoS in an improved fashion over the existing code. Reviewed by: silby (in a previous iteration) Sponsored by: DARPA, NAI Labs
|
#
945668b0 |
|
14-Nov-2001 |
Warner Losh <imp@FreeBSD.org> |
newcard support for an, from pr 24854
|
#
f2860039 |
|
13-Nov-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
Create a mutex pool API for short term leaf mutexes. Replace the manual mutex pool in kern_lock.c (lockmgr locks) with the new API. Replace the mutexes embedded in sxlocks with the new API.
|
#
1611ea87 |
|
06-Nov-2001 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Add S4BIOS sleep (BIOS hibernation) and DSDT overriding support. - Add S4BIOS sleep implementation. This will works well if MIB hw.acpi.s4bios is set (and of course BIOS supports it and hibernation is enabled correctly). - Add DSDT overriding support which is submitted by takawata originally. If loader tunable acpi_dsdt_load="YES" and DSDT file is set to acpi_dsdt_name (default DSDT file name is /boot/acpi_dsdt.aml), ACPI CA core loads DSDT from given file rather than BIOS memory block. DSDT file can be generated by iasl in ports/devel/acpicatools/. - Add new files so that we can add our proposed additional code to Intel ACPI CA into these files temporary. They will be removed when similar code is added into ACPI CA officially.
|
#
d3c64689 |
|
05-Nov-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
3.5 years ago Wollman wrote: "[...] and removes the hostcache code from standard kernels---the code that depends on it is not going to happen any time soon, I'm afraid." Time to clean up.
|
#
f9390180 |
|
01-Nov-2001 |
Mitsuru IWASAKI <iwasaki@FreeBSD.org> |
Some fix for the recent apm module changes. - Now that apm loadable module can inform its existence to other kernel components (e.g. i386/isa/clock.c:startrtclock()'s TCS hack). - Exchange priority of SI_SUB_CPU and SI_SUB_KLD for above purpose. - Add simple arbitration mechanism for APM vs. ACPI. This prevents the kernel enables both of them. - Remove obsolete `#ifdef DEV_APM' related code. - Add abstracted interface for Powermanagement operations. Public apm(4) functions, such as apm_suspend(), should be replaced new interfaces. Currently only power_pm_suspend (successor of apm_suspend) is implemented. Reviewed by: peter, arch@ and audit@
|
#
fad334b0 |
|
30-Oct-2001 |
Mike Smith <msmith@FreeBSD.org> |
Update to reflect files added/removed with the 20011018 ACPI CA update.
|
#
8c7c272c |
|
20-Oct-2001 |
Matt Jacob <mjacob@FreeBSD.org> |
Remove wx.
|
#
e903bd58 |
|
18-Oct-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Add entry for the PRO/1000.
|
#
3da32491 |
|
07-Oct-2001 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Dissociate ptrace from procfs. Until now, the ptrace syscall was implemented as a wrapper that called various functions in procfs depending on which ptrace operation was requested. Most of these functions were themselves wrappers around procfs_{read,write}_{,db,fp}regs(), with only some extra error checks, which weren't necessary in the ptrace case anyway. This commit moves procfs_rwmem() from procfs_mem.c into sys_process.c (renaming it to proc_rwmem() in the process), and implements ptrace() directly in terms of procfs_{read,write}_{,db,fp}regs() instead of having it fake up a struct uio and then call procfs_do{,db,fp}regs(). It also moves the prototypes for procfs_{read,write}_{,db,fp}regs() and proc_rwmem() from proc.h to ptrace.h, and marks all procfs files except procfs_machdep.c as "optional procfs" instead of "standard".
|
#
276dda21 |
|
04-Oct-2001 |
Mike Smith <msmith@FreeBSD.org> |
Update to reflect one file added, one removed.
|
#
95d67482 |
|
27-Sep-2001 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for the Broadcom BCM570x family of gigabit ethernet controllers. This adds support for the 3Com 3c996-T, the SysKonnect SK-9D21 and SK-9D41, and the built-in gigE NICs on Dell PowerEdge 2550 servers. The latter configuration hauls ass: preliminary measurements show TCP speeds of over 900Mbps using only normal size frames. TCP/IP checksum offload, jumbo frames and VLAN tag insertion/stripping are supported, as well as interrupt moderation. Still need to fix autonegotiation support for 1000baseSX NICs, but beyond that, driver is pretty solid.
|
#
c2eed105 |
|
27-Sep-2001 |
Brooks Davis <brooks@FreeBSD.org> |
Add ng_ip_input. A new netgraph node for queuing IP packets into the main IP input processing code.
|
#
94408d94 |
|
26-Sep-2001 |
Brooks Davis <brooks@FreeBSD.org> |
/home/brooks/ng_gif.message
|
#
efacde1b |
|
26-Sep-2001 |
Brooks Davis <brooks@FreeBSD.org> |
The number of ccd(4) devices is no longer set at compile time so stop trying to do it in the examples and config files.
|
#
9494d596 |
|
25-Sep-2001 |
Brooks Davis <brooks@FreeBSD.org> |
Make faith loadable, unloadable, and clonable.
|
#
eb25edbd |
|
18-Sep-2001 |
Peter Wemm <peter@FreeBSD.org> |
Cleanup and split of nfs client and server code. This builds on the top of several repo-copies.
|
#
c896039b |
|
16-Sep-2001 |
Murray Stokely <murray@FreeBSD.org> |
SMBus support for the AMD 756 power management unit. See smbus(4), amdpm(4) and smb(4). This device can be used with userland programs such as sysutils/lmmon to retrieve sensor information from the motherboard. PR: kern/23989 Obtained from: Matthew C. Forman <mcf@dmu.ac.uk> Based on: alpm(4)
|
#
0a8c6c7f |
|
06-Sep-2001 |
Mike Smith <msmith@FreeBSD.org> |
Move OsdEnvironment.c into MD code; searching for the ACPI tables is not portable.
|
#
0fddbf87 |
|
05-Sep-2001 |
Brooks Davis <brooks@FreeBSD.org> |
vlan.h is obsolete, don't create it anymore.
|
#
81597dfc |
|
02-Sep-2001 |
Takeshi Shibagaki <shiba@FreeBSD.org> |
Make the fe driver to compile in default under a NEWCARD kernel. Reviewed by: imp
|
#
7c21a367 |
|
30-Aug-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Remove already commented out entry for pci/fxp.c
|
#
4804c8ad |
|
30-Aug-2001 |
Mike Smith <msmith@FreeBSD.org> |
ACPI no longer has an ISA attachment.
|
#
15d2a7c7 |
|
23-Aug-2001 |
Nick Sayer <nsayer@FreeBSD.org> |
if_wi can be either pci (without pccard) or pccard
|
#
2c17cf2d |
|
17-Aug-2001 |
Peter Wemm <peter@FreeBSD.org> |
Only compile the ufs components if FFS || IFS || EXT2FS are present, not unconditionally.
|
#
54db32e9 |
|
14-Aug-2001 |
Jason Evans <jasone@FreeBSD.org> |
Implement kernel semaphores. Reviewed by: jhb
|
#
20d6258d |
|
08-Aug-2001 |
Peter Wemm <peter@FreeBSD.org> |
repo-copy the source files from modules/syscons to the normal tree and connect them to the normal build infrastructure.
|
#
18ec8d76 |
|
26-Jul-2001 |
Peter Wemm <peter@FreeBSD.org> |
param.c no longer gets special treatment. Use the source tree version.
|
#
02bd5400 |
|
24-Jul-2001 |
Dima Dorfman <dd@FreeBSD.org> |
sys/kern/tty_snoop.c is now sys/dev/snp/snp.c. Repo-copy by: jdp
|
#
4d60fee2 |
|
24-Jul-2001 |
Brooks Davis <brooks@FreeBSD.org> |
Allow ng_split to be compiled in staticly. MFC after: 7 weeks
|
#
362c5c1e |
|
23-Jul-2001 |
Bill Paul <wpaul@FreeBSD.org> |
You were knocked senseless by the Boomerang, spun around by the Cyclone, blown over by the Hurricane and had a house dropped on you by the Tornado. Now it's time to have your parade rained on by... the Typhoon! This commit adds driver support for 3Com 3cR990 10/100 ethernet adapters based on the Typhoon I and Typhoon II chipsets. This is actually a port of the OpenBSD driver with many hacks by me. No Virginia, there isn't any support for the hardware crypto yet. However there is support for TCP/IP checksum offload and VLANs. Special thanks go to Jason Wright, Aaron Campbell and Theo de Raadt for squeezing enough info out of 3Com to get this written, and for doing most of the hard work. Manual page is included. Compiled as a module and included in GENERIC.
|
#
2fc4762c |
|
14-Jul-2001 |
Peter Wemm <peter@FreeBSD.org> |
Move the hints gunk to a seperate file. It isn't really part of the newbus structure (no more than subr_rman.c is anyway).
|
#
822c2e6a |
|
13-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Merge with latest version of the Mylex 6+ driver. - All sources are built in a single object, reducing namespace pollution. - Kill the ready queue, and handle a busy response to mly_start in callers rather than deferring the command. - Improve our interaction with CAM: - Don't advertise physical channels as SCSI busses by default. - use the SIM queue freeze capability rather than queueing CDBs internally. - force bus reprobe at module load time. - Clean up more resources in mly_free. - Tidy up debugging levels. - Tidy up handling of events (mostly just code cleanliness). - Use explanatory macros for operations on bus/target/channel numbers.
|
#
9b5ad47f |
|
10-Jul-2001 |
Ian Dowse <iedowse@FreeBSD.org> |
Bring in dirhash, a simple hash-based lookup optimisation for large directories. When enabled via "options UFS_DIRHASH", in-core hash arrays are maintained for large directories. These allow all directory operations to take place quickly instead of requiring long linear searches. For now anyway, dirhash is not enabled by default. The in-core hash arrays have a memory requirement that is approximately half the size of the size of the on-disk directory file. A number of new sysctl variables allow control over which directories get hashed and over the maximum amount of memory that dirhash will use: vfs.ufs.dirhash_minsize The minimum on-disk directory size for which hashing should be used. The default is 2560 (2.5k). vfs.ufs.dirhash_maxmem The system-wide maximum total memory to be used by dirhash data structures. The default is 2097152 (2MB). The current amount of memory being used by dirhash is visible through the read-only sysctl variable vfs.ufs.dirhash_maxmem. Finally, some extra sanity checks that are enabled by default, but which may have an impact on performance, can be disabled by setting vfs.ufs.dirhash_docheck to 0. Discussed on: -fs, -hackers
|
#
815e9365 |
|
07-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Nuke the ACPI APIC driver. The ACPI CA infrastructure it depended on is gone, and it's not coming back, and the whole driver needed to be rethrought to deal with a major chicken-and-egg consideration.
|
#
fec754d4 |
|
07-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Kill the old processor driver; the ACPI CA functions it depended on are not coming back any time soon. Implement a new 'acpi_cpu' driver with support for CPU throttling and power policies.
|
#
b9f0d8be |
|
06-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Add acpi_powerprofile.c
|
#
6f69255b |
|
05-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Add a new helper function for finding resources in resource buffers. Move the ACPI generic battery code into a new file.
|
#
71975711 |
|
04-Jul-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
Move vm_page_zero_idle() from machine-dependant sections to a machine-independant source file, vm/vm_zeroidle.c. It was exactly the same for all platforms and updating them all was getting annoying.
|
#
6d03d577 |
|
04-Jul-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc). Also removed some spl's and added some VM mutexes, but they are not actually used yet, so this commit does not really make any operational changes to the system. vm_page.c relates to vm_page_t manipulation, including high level deactivation, activation, etc... vm_pageq.c relates to finding free pages and aquiring exclusive access to a page queue (exclusivity part not yet implemented). And the world still builds... :-)
|
#
f44a4f37 |
|
04-Jul-2001 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
- Don't overwrite inb, inw and outw. - Move the lance_probe function to if_lnc.c. - Support C-NET(98)S again. Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata) and nyan No response from: Paul Richards
|
#
53dab5fe |
|
02-Jul-2001 |
Brooks Davis <brooks@FreeBSD.org> |
gif(4) and stf(4) modernization: - Remove gif dependencies from stf. - Make gif and stf into modules - Make gif cloneable. PR: kern/27983 Reviewed by: ru, ume Obtained from: NetBSD MFC after: 1 week
|
#
cf8a1123 |
|
01-Jul-2001 |
Warner Losh <imp@FreeBSD.org> |
Move wl driver to dev/wl. Repo copied to dev/wl, the old copies removed and a minimal number of changes to make it compile in the new location. # I have a fully converted on a disk that may be crashed. If it is # crashed, I'll redo the work.
|
#
1b6c76a2 |
|
01-Jul-2001 |
Cameron Grant <cg@FreeBSD.org> |
intel ich/ich2 driver - this needs some work but is functional enough for the impatient. Hardware... Provided by: ps Lost by: <censored> Found by: <censored> Not delivered by: Ashley Penney <ashp@unloved.org> Retrieved by: greid, Andrew McKay <andy@openirc.co.uk> Delivered by: Andrew McKay <andy@openirc.co.uk> PR: kern/25507 Submitted by: Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp>
|
#
7aa7260e |
|
29-Jun-2001 |
John Baldwin <jhb@FreeBSD.org> |
Move ast() and userret() to sys/kern/subr_trap.c now that they are MI.
|
#
2239bbf0 |
|
28-Jun-2001 |
John Baldwin <jhb@FreeBSD.org> |
Add acpi_powerres.c to fix the acpi build. Pointy-hat to: msmith
|
#
39425c9a |
|
27-Jun-2001 |
Brian Somers <brian@FreeBSD.org> |
Remove dgm
|
#
08442f8a |
|
22-Jun-2001 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Introduce numerous SMP friendly changes to the mbuf allocator. Namely, introduce a modified allocation mechanism for mbufs and mbuf clusters; one which can scale under SMP and which offers the possibility of resource reclamation to be implemented in the future. Notable advantages: o Reduce contention for SMP by offering per-CPU pools and locks. o Better use of data cache due to per-CPU pools. o Much less code cache pollution due to excessively large allocation macros. o Framework for `grouping' objects from same page together so as to be able to possibly free wired-down pages back to the system if they are no longer needed by the network stacks. Additional things changed with this addition: - Moved some mbuf specific declarations and initializations from sys/conf/param.c into mbuf-specific code where they belong. - m_getclr() has been renamed to m_get_clrd() because the old name is really confusing. m_getclr() HAS been preserved though and is defined to the new name. No tree sweep has been done "to change the interface," as the old name will continue to be supported and is not depracated. The change was merely done because m_getclr() sounds too much like "m_get a cluster." - TEMPORARILY disabled mbtypes statistics displaying in netstat(1) and systat(1) (see TODO below). - Fixed systat(1) to display number of "free mbufs" based on new per-CPU stat structures. - Fixed netstat(1) to display new per-CPU stats based on sysctl-exported per-CPU stat structures. All infos are fetched via sysctl. TODO (in order of priority): - Re-enable mbtypes statistics in both netstat(1) and systat(1) after introducing an SMP friendly way to collect the mbtypes stats under the already introduced per-CPU locks (i.e. hopefully don't use atomic() - it seems too costly for a mere stat update, especially when other locks are already present). - Optionally have systat(1) display not only "total free mbufs" but also "total free mbufs per CPU pool." - Fix minor length-fetching issues in netstat(1) related to recently re-enabled option to read mbuf stats from a core file. - Move reference counters at least for mbuf clusters into an unused portion of the cluster itself, to save space and need to allocate a counter. - Look into introducing resource freeing possibly from a kproc. Reviewed by (in parts): jlemon, jake, silby, terry Tested by: jlemon (Intel & Alpha), mjacob (Intel & Alpha) Preliminary performance measurements: jlemon (and me, obviously) URL: http://people.freebsd.org/~bmilekic/mb_alloc/
|
#
33841545 |
|
10-Jun-2001 |
Hajimu UMEMOTO <ume@FreeBSD.org> |
Sync with recent KAME. This work was based on kame-20010528-freebsd43-snap.tgz and some critical problem after the snap was out were fixed. There are many many changes since last KAME merge. TODO: - The definitions of SADB_* in sys/net/pfkeyv2.h are still different from RFC2407/IANA assignment because of binary compatibility issue. It should be fixed under 5-CURRENT. - ip6po_m member of struct ip6_pktopts is no longer used. But, it is still there because of binary compatibility issue. It should be removed under 5-CURRENT. Reviewed by: itojun Obtained from: KAME MFC after: 3 weeks
|
#
81cbd9b0 |
|
11-Jun-2001 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add pseudofs and the new linprocfs here.
|
#
8ce8f98d |
|
07-Jun-2001 |
Cameron Grant <cg@FreeBSD.org> |
enable vchan compilation
|
#
88d74af5 |
|
06-Jun-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Relocate IPFilter from sys/netinet to sys/contrib/ipfilter.
|
#
0f174163 |
|
04-Jun-2001 |
Warner Losh <imp@FreeBSD.org> |
Only build i82365_isa attachment when we have isa bus.
|
#
3a4f29da |
|
01-Jun-2001 |
Warner Losh <imp@FreeBSD.org> |
The orm device. This device gobbles up the Option ROMs in the ISA memory I/O space. Otherwise, our resource allocation system might mistakenly assign pccard, plug and play devices or other things addresses that conflict with ROMs. I cleaned up his code a little from the submited driver: style(9) issues, commentary on why something that looks incorrect really is correct. Also noted that while a checksum field is defined for the ROMs, enough common hardware neglects it to make it not worthwhile checking. Submitted by: Nikolai Saoukh <nms@otdel-1.org> PR: 22078
|
#
64dddc18 |
|
01-Jun-2001 |
Kris Kennaway <kris@FreeBSD.org> |
Add ``options RANDOM_IP_ID'' which randomizes the ID field of IP packets. This closes a minor information leak which allows a remote observer to determine the rate at which the machine is generating packets, since the default behaviour is to increment a counter for each packet sent. Reviewed by: -net Obtained from: OpenBSD
|
#
4363df4c |
|
31-May-2001 |
Warner Losh <imp@FreeBSD.org> |
Change plxic to plxcard, per phk. He thnks plxic is too generic a name. I didn't do repo magic because this is so new.
|
#
c678bc4f |
|
31-May-2001 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for the Level 1 LXT1001 NetCellerator gigabit ethernet controller chip. This device is used on some fiber optic gigE cards from SMC, D-Link and Addtron. Jumbograms and TCP/IP checksum offload on receive are supported. Hardware VLAN filtering is not, because it doesn't play well with our existing VLAN code. Also add manual page. There is a 4.x version of this driver available at http://www.freebsd.org/~wpaul/Level1/4.x if anyone feels adventurous and wants to test it. I still need to do performance testing and tuning with this device. (For my next trick, I will make the 3Com 3cR990 sit up and beg.)
|
#
beea047a |
|
31-May-2001 |
Warner Losh <imp@FreeBSD.org> |
plxic device
|
#
71cb0ea9 |
|
29-May-2001 |
Mike Smith <msmith@FreeBSD.org> |
New files and layout for the ACPI CA 20010518 update.
|
#
49b07961 |
|
29-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove MFS from configs idea of the world.
|
#
8a8402d3 |
|
26-May-2001 |
Ruslan Ermilov <ru@FreeBSD.org> |
- sys/n[tw]fs moved to sys/fs/n[tw]fs - /usr/include/n[tw]fs moved to /usr/include/fs/n[tw]fs
|
#
6b244dc5 |
|
25-May-2001 |
Hellmuth Michaelis <hm@FreeBSD.org> |
Submitted by: Juha-Matti Liukkonen (Cubical Solutions Ltd) (jml@cubical.fi) Add a CAPI (hardware independent) driver i4bcapi(4) and hardware driver iavc (4) to support active CAPI-based BRI and PRI cards (currently AVM B1 and T1 cards) to isdn4bsd.
|
#
1166fb51 |
|
25-May-2001 |
Ruslan Ermilov <ru@FreeBSD.org> |
- sys/msdosfs moved to sys/fs/msdosfs - msdos.ko renamed to msdosfs.ko - /usr/include/msdosfs moved to /usr/include/fs/msdosfs
|
#
a4b82094 |
|
24-May-2001 |
Peter Wemm <peter@FreeBSD.org> |
Produce a config-time warning about EXT2FS and GPL_MATH_EMULATE
|
#
99d300a1 |
|
23-May-2001 |
Ruslan Ermilov <ru@FreeBSD.org> |
- FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file systems were repo-copied from sys/miscfs to sys/fs. - Renamed the following file systems and their modules: fdesc -> fdescfs, portal -> portalfs, union -> unionfs. - Renamed corresponding kernel options: FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS. - Install header files for the above file systems. - Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland Makefiles.
|
#
5a695e48 |
|
16-May-2001 |
Warner Losh <imp@FreeBSD.org> |
Separate out isa attachment to its own file. The pci attachment will soon attach directly to pcic rather than the kludge pci-pcic device we have now. In some ways, this is similar to the work PAO3 did to try to support cardbus bridges. In some ways different. This and future commits will be taking from the spirit of many of those changes. pcicvar.h is completely different from the pcicvar.h that appeared in PAO3, but similar in concept.
|
#
ab9f3b29 |
|
13-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Convert DEVFS from an "opt-in" to an "opt-out" option. If for some reason DEVFS is undesired, the "NODEVFS" option is needed now. Pending any significant issues, DEVFS will be made mandatory in -current on july 1st so that we can start reaping the full benefits of having it.
|
#
e7c00509 |
|
12-May-2001 |
Warner Losh <imp@FreeBSD.org> |
I'll be making some rather substantial changes to the pci attachment of the pcic class of devices. Go ahead and move it to the "usual" place. I say "usual" in quotes since it isn't exactly right (not in dev/blah), but it is closer than before.
|
#
ce4946da |
|
11-May-2001 |
Bill Paul <wpaul@FreeBSD.org> |
Add support for gigabit ethernet cards based on the NatSemi DP83820 and DP83821 gigabit ethernet MAC chips and the NatSemi DP83861 10/100/1000 copper PHY. There are a whole bunch of very low cost cards available with this chipset selling for $150USD or less. This includes the SMC9462TX, D-Link DGE-500T, Asante GigaNIX 1000TA and 1000TPC, and a couple cards from Addtron. This chip supports TCP/IP checksum offload, VLAN tagging/insertion. 2048-bit multicast filter, jumbograms and has 8K TX and 32K RX FIFOs. I have not done serious performance testing with this driver. I know it works, and I want it under CVS control so I can keep tabs on it. Note that there's no serious mutex stuff in here yet either: I need to talk more with jhb to figure out the right way to do this. That said, I don't think there will be any problems. This driver should also work on the alpha. It's not turned on in GENERIC.
|
#
ba228f6d |
|
10-May-2001 |
John Baldwin <jhb@FreeBSD.org> |
- Split out the support for per-CPU data from the SMP code. UP kernels have per-CPU data and gdb on the i386 at least needs access to it. - Clean up includes in kern_idle.c and subr_smp.c. Reviewed by: jake
|
#
ad01e0c8 |
|
01-May-2001 |
Brian Somers <brian@FreeBSD.org> |
Add a ``digi'' driver. This driver supports PCI Xr-based and ISA Xem Digiboard cards. dgm will go away soon if there are no problems reported. For now, configuring dgm into your kernel warns that you should be using digi. This driver is probably close to supporting Xi, Xe and Xeve cards, but I wouldn't expect them to work properly (hardware donations welcome). The digi_* pseudo-drivers are not drivers themselves but contain the BIOS and FEP/OS binaries for various digiboard cards and are auto-loaded and auto-unloaded by the digi driver at initialisation time. They *may* be configured into the kernel, but waste a lot of space if they are. They're intended to be left as modules. The digictl program is (mainly) used to re-initialise cards that have external port modules attached such as the PC/Xem.
|
#
6caa8a15 |
|
27-Apr-2001 |
John Baldwin <jhb@FreeBSD.org> |
Overhaul of the SMP code. Several portions of the SMP kernel support have been made machine independent and various other adjustments have been made to support Alpha SMP. - It splits the per-process portions of hardclock() and statclock() off into hardclock_process() and statclock_process() respectively. hardclock() and statclock() call the *_process() functions for the current process so that UP systems will run as before. For SMP systems, it is simply necessary to ensure that all other processors execute the *_process() functions when the main clock functions are triggered on one CPU by an interrupt. For the alpha 4100, clock interrupts are delievered in a staggered broadcast fashion, so we simply call hardclock/statclock on the boot CPU and call the *_process() functions on the secondaries. For x86, we call statclock and hardclock as usual and then call forward_hardclock/statclock in the MD code to send an IPI to cause the AP's to execute forwared_hardclock/statclock which then call the *_process() functions. - forward_signal() and forward_roundrobin() have been reworked to be MI and to involve less hackery. Now the cpu doing the forward sets any flags, etc. and sends a very simple IPI_AST to the other cpu(s). AST IPIs now just basically return so that they can execute ast() and don't bother with setting the astpending or needresched flags themselves. This also removes the loop in forward_signal() as sched_lock closes the race condition that the loop worked around. - need_resched(), resched_wanted() and clear_resched() have been changed to take a process to act on rather than assuming curproc so that they can be used to implement forward_roundrobin() as described above. - Various other SMP variables have been moved to a MI subr_smp.c and a new header sys/smp.h declares MI SMP variables and API's. The IPI API's from machine/ipl.h have moved to machine/smp.h which is included by sys/smp.h. - The globaldata_register() and globaldata_find() functions as well as the SLIST of globaldata structures has become MI and moved into subr_smp.c. Also, the globaldata list is only available if SMP support is compiled in. Reviewed by: jake, peter Looked over by: eivind
|
#
8ee8b21b |
|
26-Apr-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
vfs_subr.c is getting rather fat. The underlying repocopy and this commit moves the filesystem export handling code to vfs_export.c
|
#
1f2b9fe6 |
|
23-Apr-2001 |
Orion Hodson <orion@FreeBSD.org> |
Initial version of Avance Logic ALS4000 pcm driver.
|
#
603c8667 |
|
17-Apr-2001 |
Alfred Perlstein <alfred@FreeBSD.org> |
Implement client side NFS locks. Obtained from: BSD/os Import Ok'd by: mckusick, jkh, motd on builder.freebsd.org
|
#
2a4339f7 |
|
09-Apr-2001 |
Matt Jacob <mjacob@FreeBSD.org> |
Add Marvell PHY support for 10/100/1000 LIVENGOOD_CU Intel NIC. Parag Patel did all of the grunt work, so he gets the credit. Register definitions and actions inferred from a Linux driver, so Intel also gets some 'credit'.
|
#
3bf53446 |
|
08-Apr-2001 |
Cameron Grant <cg@FreeBSD.org> |
enable the rate conversion feeder. the main benefit this gives for now is that via686 audio devices on motherboards with ac97 codecs that do not support vra will be able to use sample rates other than 48khz.
|
#
6f2d8adb |
|
09-Apr-2001 |
Boris Popov <bp@FreeBSD.org> |
Add function prototypes and base module for kernel side iconv library. Add simple "xlat" converter which performs 8to8 table based conversion. Unicode converter will be added in the near future. Reviewed by: silence on arch@ Files placement reviewed by: bde Obtained from: smbfs
|
#
19284646 |
|
28-Mar-2001 |
John Baldwin <jhb@FreeBSD.org> |
Rework the witness code to work with sx locks as well as mutexes. - Introduce lock classes and lock objects. Each lock class specifies a name and set of flags (or properties) shared by all locks of a given type. Currently there are three lock classes: spin mutexes, sleep mutexes, and sx locks. A lock object specifies properties of an additional lock along with a lock name and all of the extra stuff needed to make witness work with a given lock. This abstract lock stuff is defined in sys/lock.h. The lockmgr constants, types, and prototypes have been moved to sys/lockmgr.h. For temporary backwards compatability, sys/lock.h includes sys/lockmgr.h. - Replace proc->p_spinlocks with a per-CPU list, PCPU(spinlocks), of spin locks held. By making this per-cpu, we do not have to jump through magic hoops to deal with sched_lock changing ownership during context switches. - Replace proc->p_heldmtx, formerly a list of held sleep mutexes, with proc->p_sleeplocks, which is a list of held sleep locks including sleep mutexes and sx locks. - Add helper macros for logging lock events via the KTR_LOCK KTR logging level so that the log messages are consistent. - Add some new flags that can be passed to mtx_init(): - MTX_NOWITNESS - specifies that this lock should be ignored by witness. This is used for the mutex that blocks a sx lock for example. - MTX_QUIET - this is not new, but you can pass this to mtx_init() now and no events will be logged for this lock, so that one doesn't have to change all the individual mtx_lock/unlock() operations. - All lock objects maintain an initialized flag. Use this flag to export a mtx_initialized() macro that can be safely called from drivers. Also, we on longer walk the all_mtx list if MUTEX_DEBUG is defined as witness performs the corresponding checks using the initialized flag. - The lock order reversal messages have been improved to output slightly more accurate file and line numbers.
|
#
3393f8da |
|
26-Mar-2001 |
Kenneth D. Merry <ken@FreeBSD.org> |
Rewrite of the CAM error recovery code. Some of the major changes include: - The SCSI error handling portion of cam_periph_error() has been broken out into a number of subfunctions to better modularize the code that handles the hierarchy of SCSI errors. As a result, the code is now much easier to read. - String handling and error printing has been significantly revamped. We now use sbufs to do string formatting instead of using printfs (for the kernel) and snprintf/strncat (for userland) as before. There is a new catchall error printing routine, cam_error_print() and its string-based counterpart, cam_error_string() that allow the kernel and userland applications to pass in a CCB and have errors printed out properly, whether or not they're SCSI errors. Among other things, this helped eliminate a fair amount of duplicate code in camcontrol. We now print out more information than before, including the CAM status and SCSI status and the error recovery action taken to remedy the problem. - sbufs are now available in userland, via libsbuf. This change was necessary since most of the error printing code is shared between libcam and the kernel. - A new transfer settings interface is included in this checkin. This code is #ifdef'ed out, and is primarily intended to aid discussion with HBA driver authors on the final form the interface should take. There is example code in the ahc(4) driver that implements the HBA driver side of the new interface. The new transfer settings code won't be enabled until we're ready to switch all HBA drivers over to the new interface. src/Makefile.inc1, lib/Makefile: Add libsbuf. It must be built before libcam, since libcam uses sbuf routines. libcam/Makefile: libcam now depends on libsbuf. libsbuf/Makefile: Add a makefile for libsbuf. This pulls in the sbuf sources from sys/kern. bsd.libnames.mk: Add LIBSBUF. camcontrol/Makefile: Add -lsbuf. Since camcontrol is statically linked, we can't depend on the dynamic linker to pull in libsbuf. camcontrol.c: Use cam_error_print() instead of checking for CAM_SCSI_STATUS_ERROR on every failed CCB. sbuf.9: Change the prototypes for sbuf_cat() and sbuf_cpy() so that the source string is now a const char *. This is more in line wth the standard system string functions, and helps eliminate warnings when dealing with a const source buffer. Fix a typo. cam.c: Add description strings for the various CAM error status values, as well as routines to look up those strings. Add new cam_error_string() and cam_error_print() routines for userland and the kernel. cam.h: Add a new CAM flag, CAM_RETRY_SELTO. Add enumerated types for the various options available with cam_error_print() and cam_error_string(). cam_ccb.h: Add new transfer negotiation structures/types. Change inq_len in the ccb_getdev structure to be "reserved". This field has never been filled in, and will be removed when we next bump the CAM version. cam_debug.h: Fix typo. cam_periph.c: Modularize cam_periph_error(). The SCSI error handling part of cam_periph_error() is now in camperiphscsistatuserror() and camperiphscsisenseerror(). In cam_periph_lock(), increase the reference count on the periph while we wait for our lock attempt to succeed so that the periph won't go away while we're sleeping. cam_xpt.c: Add new transfer negotiation code. (ifdefed out) Add a new function, xpt_path_string(). This is a string/sbuf analog to xpt_print_path(). scsi_all.c: Revamp string handing and error printing code. We now use sbufs for much of the string formatting code. More of that code is shared between userland the kernel. scsi_all.h: Get rid of SS_TURSTART, it wasn't terribly useful in the first place. Add a new error action, SS_REQSENSE. (Send a request sense and then retry the command.) This is useful when the controller hasn't performed autosense for some reason. Change the default actions around a bit. scsi_cd.c, scsi_da.c, scsi_pt.c, scsi_ses.c: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Selection timeouts shouldn't be covered by a sense flag. scsi_pass.[ch]: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Get rid of the last vestiges of a read/write interface. libkern/bsearch.c, sys/libkern.h, conf/files: Add bsearch.c, which is needed for some of the new table lookup routines. aic7xxx_freebsd.c: Define AHC_NEW_TRAN_SETTINGS if CAM_NEW_TRAN_CODE is defined. sbuf.h, subr_sbuf.c: Add the appropriate #ifdefs so sbufs can compile and run in userland. Change sbuf_printf() to use vsnprintf() instead of kvprintf(), which is only available in the kernel. Change the source string for sbuf_cpy() and sbuf_cat() to be a const char *. Add __BEGIN_DECLS and __END_DECLS around function prototypes since they're now exported to userland. kdump/mkioctls: Include stdio.h before cam.h since cam.h now includes a function with a FILE * argument. Submitted by: gibbs (mostly) Reviewed by: jdp, marcel (libsbuf makefile changes) Reviewed by: des (sbuf changes) Reviewed by: ken
|
#
a70f2747 |
|
26-Mar-2001 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce support for POSIX.1e ACLs on UFS-based file systems. This implementation is still experimental, and while fairly broadly tested, is not yet intended for production use. Support for POSIX.1e ACLs on UFS will not be MFC'd to RELENG_4. This implementation works by providing implementations of VOP_[GS]ETACL() for FFS, as well as modifying the appropriate access control and file creation routines. In this implementation, ACLs are backed into extended attributes; the base ACL (owner, group, other) permissions remain in the inode for performance and compatibility reasons, so only the extended and default ACLs are placed in extended attributes. The logic for ACL evaluation is provided by the fs-independent kern/kern_acl.c. o Introduce UFS_ACL, a compile-time configuration option that enables support for ACLs on FFS (and potentially other UFS-based file systems). o Introduce ufs_getacl(), ufs_setacl(), ufs_aclcheck(), which respectively get, set, and check the ACLs on the passed vnode. o Introduce ufs_sync_acl_from_inode(), ufs_sync_inode_from_acl() to maintain access control information between inode permissions and extended attribute data. o Modify ufs_access() to load a file access ACL and invoke vaccess_acl_posix1e() if ACLs are available on the file system o Modify ufs_mkdir() and ufs_makeinode() to associate ACLs with newly created directories and files, inheriting from the parent directory's default ACL. o Enable these new vnode operations and conditionally compiled code paths if UFS_ACL is defined. A few notes: o This implementation is fairly widely tested, but still should be considered experimental. o Currently, ACLs are not exported via NFS, instead, the summarizing file mode/etc from the inode is. This results in conservative protection behavior, similar to the behavior of ACL-nonaware programs acting locally. o It is possible that underlying binary data formats associated with this implementation may change. Consumers of the implementation should expect to find their local configuration obsoleted in the next few months, resulting in possible loss of ACL data during an upgrade. o The extended attributes interface and implementation is still undergoing modification to address portable interface concerns, as well as performance. o Many applications do not yet correctly handle ACLs. In general, due to the POSIX.1e ACL model, behavior of ACL-unaware applications will be conservative with respects to file protection; some caution is recommended. o Instructions for configuring and maintaining ACLs on UFS will be committed in the near future; in the mean time it is possible to reference the README included in the last UFS ACL distribution placed in the TrustedBSD web site: http://www.TrustedBSD.org/downloads/ Substantial debugging, hardware, travel, or connectivity support for this project was provided by: BSDi, Safeport Network Services, and NAI Labs. Significant coding contributions were made by Chris Faulhaber. Additional support was provided by Brian Feldman, Thomas Moestl, and Ilmar Habibulin. Reviewed by: jedgar, keichii, mckusick, trustedbsd-discuss, freebsd-fs Obtained from: TrustedBSD Project
|
#
dfe67249 |
|
18-Mar-2001 |
Orion Hodson <orion@FreeBSD.org> |
pcm driver for S3 Sonicvibes chipset. Reviewed by: Cameron Grant
|
#
acf1b64c |
|
16-Mar-2001 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add the AAC_DEBUG option to enable debugging in the aac driver. Reviewed by: msmith
|
#
b21d8bda |
|
16-Mar-2001 |
Warner Losh <imp@FreeBSD.org> |
Add cwn driver
|
#
fd272d4a |
|
12-Mar-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Make the miibus'ified the new fxp driver for -current.
|
#
f3ce5250 |
|
11-Mar-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Add the Intel PHY driver.
|
#
add3f7f3 |
|
09-Mar-2001 |
Mark Murray <markm@FreeBSD.org> |
The /dev/random driver used Rijndael, not Blowfish, now.
|
#
e10469fe |
|
09-Mar-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make md(4) and mdconfig(8) take over the role of vn(4) and vnconfig(8) entirely as previously advertised. md(4) adopted all assets of vn(4) some time back and has proper devfs support and cloning abilities to boot.
|
#
331c488d |
|
06-Mar-2001 |
Søren Schmidt <sos@FreeBSD.org> |
Split out the ata probes in seperate files for each bus type.
|
#
13d609b8 |
|
05-Mar-2001 |
Peter Wemm <peter@FreeBSD.org> |
dcphy depends on pci. This repairs the 'ed' driver's ability to be run on isa-only systems without the pci bus code.
|
#
6281b30a |
|
05-Mar-2001 |
Jason Evans <jasone@FreeBSD.org> |
Implement shared/exclusive locks. Reviewed by: bmilekic, jake, jhb
|
#
73bbbc64 |
|
27-Feb-2001 |
Julian Elischer <julian@FreeBSD.org> |
put the null modem driver (nmdm) in the right place with the right name.
|
#
0a91bb5c |
|
27-Feb-2001 |
Julian Elischer <julian@FreeBSD.org> |
Tell the world about the nulmodem device.
|
#
bedee181 |
|
26-Feb-2001 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
Added another wd33c93 based SCSI card driver which replaces the bs driver. Now, default is still bs. Submitted by: nyan and non. Obtained from: NetBSD/pc98
|
#
d8589bd5 |
|
24-Feb-2001 |
Boris Popov <bp@FreeBSD.org> |
Introduce API for sequential reads/writes (build/dissect) of mbuf chains. Reviewed by: Ian Dowse <iedowse@maths.tcd.ie>, Bosko Milekic <bmilekic@technokratis.com>, Julian Elischer <julian@elischer.org> and arch@/net@ Obtained from: smbfs
|
#
a66bd858 |
|
07-Feb-2001 |
Semen Ustimenko <semenu@FreeBSD.org> |
Add recently added PHY drivers sources. Reminded by: Peter Wemm <peter@netplex.com.au>
|
#
17e401f8 |
|
04-Feb-2001 |
Cameron Grant <cg@FreeBSD.org> |
add driver for CS4281 sound chips Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk>
|
#
ebbb7177 |
|
04-Feb-2001 |
Cameron Grant <cg@FreeBSD.org> |
add driver for CMedia CMI8338/CMI8738 sound chips Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk>
|
#
1bd4d862 |
|
04-Feb-2001 |
Warner Losh <imp@FreeBSD.org> |
Remove NAHA, NAHATOT and aha_softcs and related code. It was unused except for setting it. Also remove count from aha and replace it with optional. Also add commented out pccard lines for all the old card drivers. They have to be commented out until they are converted because it causes problems in NEWCARD.
|
#
611977d0 |
|
04-Feb-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Warn if people include vn(4) in their config.
|
#
b84bd585 |
|
31-Jan-2001 |
Mike Smith <msmith@FreeBSD.org> |
Remove obsoleted files. Temporarily turn off the processor and apic drivers until we sort out what these are going to do now.
|
#
0adb9b96 |
|
30-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Add hpfs and the config glue for it. It was being skipped from test coverage.
|
#
083b300f |
|
30-Jan-2001 |
John Hay <jhay@FreeBSD.org> |
Reflect the new location of the ar and sr devices.
|
#
5bb5f2c9 |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Supply a stub bpf_validate() (always returning false - the script is not valid) if BPF is missing. The netgraph_bpf node forced bpf to be present, reflect that in the options. Stop doing a 'count bpf' - we provide stubs. Since a handful of drivers still refer to "bpf.h", provide a more accurate indication that the API is present always. (eg: netinet6)
|
#
920c1785 |
|
28-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Stop counting sppp interfaces, we were just testing its presence to give a warning if it was missing.
|
#
93cd41f7 |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Zap silly #if NPCI > 0 and the hoops that we jump through for the module case. Use an 'and' case in conf/files so that it only gets compiled if pci is present.
|
#
30484008 |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Convert 'count en', 'count lnc', 'count fpa', 'count loop' and 'count ar' back to standard 'optional'.
|
#
358f1800 |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Convert ata and atapi #if NATA* > 0 to options instead. Stop config trying to count the number of ata* devs since they were not used anyway.
|
#
810d0bd1 |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Turn '#if NSNP > 0' into an option.
|
#
03927d3c |
|
29-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Send "#if NISA > 0" to the bit-bucket and replace it with an option. These were compile-time "is the isa code present?" tests and not 'how many isa busses' tests.
|
#
96b15e09 |
|
21-Jan-2001 |
Warner Losh <imp@FreeBSD.org> |
wi has been converted to NEWCARD, so included it when pccard is included. Also, I forgot to update this to the new cis[] structure last night, mainly due to the above omission.
|
#
11f3349f |
|
20-Jan-2001 |
Warner Losh <imp@FreeBSD.org> |
Break the isa attachment of the Crystal Semiconductor 89x0 into two parts: isa and pccard. The isa one is known to work with an IBM EtherJet ISA card. The pccard one isn't known to work because the EtherJet pccard I purchased recently arrived DOA :-(. I'll commit the pccard.conf entry when the replacement card arrives. I plan on MFC this in a week or two.
|
#
238510fc |
|
15-Jan-2001 |
Jason Evans <jasone@FreeBSD.org> |
Implement condition variables.
|
#
b82286ac |
|
09-Jan-2001 |
Matt Jacob <mjacob@FreeBSD.org> |
moved isp_pci.c from pci to dev/isp
|
#
42383764 |
|
08-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Move if_wl.c from sys/i386/isa to dev/wi - it is not i386 (or even isa) specific.
|
#
bf374e5b |
|
07-Jan-2001 |
Sergey Babkin <babkin@FreeBSD.org> |
Completed move of Digiboard drivers to dev/dgb
|
#
bdbd54e4 |
|
07-Jan-2001 |
Warner Losh <imp@FreeBSD.org> |
Add aic to the list of drivers that might work with NEWCARD. I've added the same config lines that NetBSD has. This builds with both NEWCARD and GENERIC config files.
|
#
568ffd88 |
|
07-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
The ep pccard code had newcard hooks added to it, but it isn't being compiled under newcard yet. ep works just fine under newcard with the missing ID matching code added (not committed yet): ep0: <3Com 3c589 10Mbps Ethernet> at port 0x300-0x30f irq 9 function 0 config 1 on pccard1 ep0: Ethernet address 00:10:4b:df:48:57
|
#
b3fc6157 |
|
05-Jan-2001 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Remove vga_pci generic driver. Approved by: Mike Smith <msmith@freebsd.org>
|
#
c89863e8 |
|
03-Jan-2001 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Remove alpm numbering.
|
#
dd488b6d |
|
27-Dec-2000 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Retire kernfs (kernel part).
|
#
a906b372 |
|
22-Dec-2000 |
Cameron Grant <cg@FreeBSD.org> |
add sys/dev/sound/pcm/buffer.c, lefo out of last commit
|
#
d8c616ae |
|
22-Dec-2000 |
Takanori Watanabe <takawata@FreeBSD.org> |
Add ACPI AC adaptor and ACPI Control Method Battery. And install notify handler for thermal zone .
|
#
a67036f7 |
|
18-Dec-2000 |
Assar Westerlund <assar@FreeBSD.org> |
revert addition of strlcpy/strlcat
|
#
41155d57 |
|
17-Dec-2000 |
Assar Westerlund <assar@FreeBSD.org> |
add strlcpy and strlcat to kernel
|
#
0f55ac6c |
|
17-Dec-2000 |
Cameron Grant <cg@FreeBSD.org> |
kobjify. this gives us several benefits, including: * easier extensibility- new optional methods can be added to ac97/mixer/channel classes without having to fixup every driver. * forward compatibility for drivers, provided no new mandatory methods are added.
|
#
6aa623bf |
|
15-Dec-2000 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Back out these two changes inadvertantly made with the last commit.
|
#
6c8388dd |
|
15-Dec-2000 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
SNAPDATE is an obsolete mechanism which has also been pretty much of a no-op all along anyway. There are other ways to set this for release building, so nuke it. PR: 22979
|
#
137b8d71 |
|
13-Dec-2000 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Add subr_sbuf.c.
|
#
8983cfbf |
|
12-Dec-2000 |
Mike Smith <msmith@FreeBSD.org> |
Next round of PCI subsystem updates: - Break out the /dev/pci driver into a separate file. - Kill the COMPAT_OLDPCI support. - Make the EISA bridge attach a bit more like the old code; explicitly check for the existence of eisa0/isa0 and only attach if they don't already exist. Only make one bus_generic_attach() pass over the bridge, once both busses are attached. Note that the stupid Intel bridge's class is entirely unpredictable. - Add prototypes and re-layout the core PCI modules in line with current coding standards (not a major whitespace change, just moving the module data to the top of the file). - Remove redundant type-2 bridge support from the core PCI code; the PCI-CardBus code does this itself internally. Remove the now entirely redundant header-class-specific support, as well as the secondary and subordinate bus number fields. These are bridge attributes now. - Add support for PCI Extended Capabilities. - Add support for PCI Power Management. The interface currently allows a driver to query and set the power state of a device. - Add helper functions to allow drivers to enable/disable busmastering and the decoding of I/O and memory ranges. - Use PCI_SLOTMAX and PCI_FUNCMAX rather than magic numbers in some places. - Make the PCI-PCI bridge code a little more paranoid about valid I/O and memory decodes. - Add some more PCI register definitions for the command and status registers. Correct another bogus definition for type-1 bridges.
|
#
6bcd295b |
|
12-Dec-2000 |
Mike Smith <msmith@FreeBSD.org> |
Always build the ISA and EISA bridge code. This is slightly unintiuitive, but serves to work around some uncleanliness whereby the ISA bus is not found on Alpha systems with PCI:EISA bridges due to the lack of EISA code for the Alpha.
|
#
92cf772d |
|
11-Dec-2000 |
Jake Burkholder <jake@FreeBSD.org> |
- Add code to detect if a system call returns with locks other than Giant held and panic if so (conditional on witness). - Change witness_list to return the number of locks held so this is easier. - Add kern/syscalls.c to the kernel build if witness is defined so that the panic message can contain the name of the offending system call. - Add assertions that Giant and sched_lock are not held when returning from a system call, which were missing for alpha and ia64.
|
#
341cbf7f |
|
11-Dec-2000 |
John Hay <jhay@FreeBSD.org> |
Change sppp from optional to count. At least ar(4) and sr(4) needs it in the non-NETGRAPH case.
|
#
7e820aaa |
|
08-Dec-2000 |
Mike Smith <msmith@FreeBSD.org> |
Next-phase PCI system update; move PCI core code to sys/dev and update header include path to include sys/dev to avoid massive #include updates.
|
#
0ad84a81 |
|
01-Dec-2000 |
Jake Burkholder <jake@FreeBSD.org> |
Forgot this file in previous commit to remove file kern_threads.c
|
#
5ce7c8b5 |
|
01-Dec-2000 |
Mike Smith <msmith@FreeBSD.org> |
Add one new file brought in with the ACPI CA 20001115 import.
|
#
af82f62d |
|
27-Nov-2000 |
Jonathan Chen <jon@FreeBSD.org> |
A bunch of newcard/cardbus changes that's been sitting in my tree for a while: - Make pccbb/cardbus kld loadable and unloadable. - Make pccbb/cardbus use the power interface from pccard instead of inventing its own. - some other minor fixes
|
#
b3d39a56 |
|
24-Nov-2000 |
Peter Wemm <peter@FreeBSD.org> |
Update the ed driver to probe and attach under a NEWCARD kernel (I was using a cardbus based system with pccbb providing the pcic interface). Something isn't quite right.. when the driver allocates and activates its resources, the IO space that was requested reads as all zeros (versus the original 0xff's as it normally is when there is no device responding). Also, deactivate the resources before releasing them. OLDCARD doesn't seem to care but NEWCARD/CARDBUS get rather unhappy if you release a resource that hasn't been deactivated yet. Make pcic_p.c only compile with oldcard kernels.
|
#
830fedd2 |
|
19-Nov-2000 |
Alfred Perlstein <alfred@FreeBSD.org> |
Accept filters broke kernels compiled without options INET. Make accept filters conditional on INET support to fix. Pointed out by: bde Tested and assisted by: Stephen J. Kiernan <sab@vegamuse.org>
|
#
7d7a5b89 |
|
16-Nov-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Add kernel option NETGRAPH_ONE2MANY.
|
#
c9527183 |
|
16-Nov-2000 |
Warner Losh <imp@FreeBSD.org> |
vx is now optional rather than taking a count. Reflect that in the files. Also a minor white space nit. Submitted by: bde
|
#
f50b4dbe |
|
12-Nov-2000 |
Warner Losh <imp@FreeBSD.org> |
Add ray driver for card (OLDCARD) and pccard (NEWCARD) entries. Add sn driver for pccard (NEWCARD).
|
#
c69ab48d |
|
08-Nov-2000 |
Takanori Watanabe <takawata@FreeBSD.org> |
Farewell our code. We will switch acpica code from Intel. This code has help us comprehence ACPI spec . Contributors of this code is as follows(except for FreeBSD commiter): Yasuo Yokoyama, Munehiro Matsuda, and ALL acpi-jp@jp.freebsd.org people. Thanks. R.I.P.
|
#
78531822 |
|
07-Nov-2000 |
Mike Smith <msmith@FreeBSD.org> |
Don't build the ACPI CA debugger unless the ACPI_DEBUG option is present. Only build the IA32 support on i386. Build the IA64 support on IA64.
|
#
00910f28 |
|
05-Nov-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
ELF kernels should use an ELF sysvec. This allows us to move a.out specific files to those platforms that acutally support a.out.
|
#
6093b91d |
|
31-Oct-2000 |
Cameron Grant <cg@FreeBSD.org> |
switch over to new sb8/sb16 code
|
#
eee8b161 |
|
28-Oct-2000 |
Cameron Grant <cg@FreeBSD.org> |
add commented-out entries for the new sb8 and sb16 drivers
|
#
a06f3df8 |
|
28-Oct-2000 |
Mike Smith <msmith@FreeBSD.org> |
Connect the new ACPICA code to the 'acpica' device.
|
#
2fd84f56 |
|
25-Oct-2000 |
Nick Hibma <n_hibma@FreeBSD.org> |
The USB scanner driver. To be used together with SANE.
|
#
e6c12d85 |
|
25-Oct-2000 |
Mike Smith <msmith@FreeBSD.org> |
Major update to the 'twe' driver. - Layout reorganisation to enhance portability. The driver now has a relatively MI 'core' and a FreeBSD-specific layer over the top. Since the NetBSD people have already done their own port, this is largely just to help me with the BSD/OS port. - Request ID allocation changed to improve performance (I'd been considering switching to this approach after having failed to come up with a better way to dynamically allocate request IDs, and seeing Andy Doran use it in the NetBSD port of the driver convinced me that I was wasting my time doing it any other way). Now we just allocate all the requests up front. - Maximum request count bumped back to 255 after characterisation of a firmware issue (off-by-one causing it to crash with 256 outstanding commands). - Control interface implemented. This allows 3ware's '3dm' utility to talk to the controller. 3dm will be available from 3ware shortly. - Controller soft-reset feature added; if the controller signals a firmware or protocol error, the controller will be reset and all outstanding commands will be retried.
|
#
821c54a1 |
|
23-Oct-2000 |
Sergey Babkin <babkin@FreeBSD.org> |
Added lines for the wds driver. Approved by: gibbs
|
#
ae94720d |
|
22-Oct-2000 |
Noriaki Mitsunaga <non@FreeBSD.org> |
Add PC-Card/ISA SCSI host adpater drivers from NetBSD/pc98 (a NetBSD port for NEC PC-98x1 machines). They are ncv for NCR 53C500, nsp for Workbit Ninja SCSI-3, and stg for TMC 18C30 and 18C50. I thank NetBSD/pc98 and bsd-nomads people. Obtained from: NetBSD/pc98
|
#
feb78939 |
|
19-Oct-2000 |
Jonathan Chen <jon@FreeBSD.org> |
NEWCARD/Cardbus - This commit adds support for Xircom X3201 based cardbus cards. Support for the TDK 78Q2120 MII is also added. IBM Etherjet, Intel and Xircom cards uses these chips. Note that as a result of this commit, some Intel/DEC 21143 based cardbus cards will also attach, but not get link. That is being looked at.
|
#
0db7e66c |
|
17-Oct-2000 |
Jonathan Chen <jon@FreeBSD.org> |
Initial commit of NEWCARD cardbus side (that actually compiles and works) Files: dev/cardbus/cardbus.c dev/cardbus/cardbusreg.h dev/cardbus/cardbusvar.h dev/cardbus/cardbus_cis.c dev/cardbus/cardbus_cis.h dev/pccbb/pccbb.c dev/pccbb/pccbbreg.h dev/pccbb/pccbbvar.h dev/pccbb/pccbb_if.m This should support: - cardbus controllers: * TI 113X * TI 12XX * TI 14XX * Ricoh 47X * Ricoh 46X * ToPIC 95 * ToPIC 97 * ToPIC 100 * Cirrus Logic CLPD683x - cardbus cards * 3c575BT * 3c575CT * Xircom X3201 (includes IBM, Xircom and, Intel cards) [ 3com support already in kernel, Xircom will be committed real soon now] This doesn't work with 16bit pccards under NEWCARD. Enable in your config by having "device pccbb" and "device cardbus". (A "device pccard" will attach a pccard bus, but it means you system have a high chance of panicing when a 16bit card is inserted) It should be fairly simple to make a driver attach to cardbus under NEWCARD -- simply add an entry for attaching to cardbus on a new DRIVER_MODULE and add new device IDs as necessary. You should also make sure the card can be detached nicely without the interrupt routine doing something weird, like going into an infinite loop. Usually that should entail adding an additional check when a pci register or the bus space is read to check if it equals 0xffffffff. Any problems, please let me know. Reviewed by: imp
|
#
a6278a2a |
|
14-Oct-2000 |
Mark Murray <markm@FreeBSD.org> |
After some complaints about the dir names, the random device is now in dirs called sys/*/random/ instead of sys/*/randomdev/*. Introduce blocking, but only at startup; the random device will block until the first reseed happens to prevent clients from using untrustworthy output. Provide a read_random() call for the rest of the kernel so that the entropy device does not need to be present. This means that things like IPX no longer need to have "device random" hardcoded into thir kernel config. The downside is that read_random() will provide very poor output until the entropy device is loaded and reseeded. It is recommended that developers do NOT use the read_random() call; instead, they should use arc4random() which internally uses read_random(). Clean up the mutex and locking code a bit; this makes it possible to unload the module again.
|
#
0b0c10b4 |
|
13-Oct-2000 |
Adrian Chadd <adrian@FreeBSD.org> |
Initial commit of IFS - a inode-namespaced FFS. Here is a short description: How it works: -- Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.) I didn't see the need in duplicating all of sys/ufs/ffs to get this off the ground. File creation is done through a special file - 'newfile' . When newfile is called, the system allocates and returns an inode. Note that newfile is done in a cloning fashion: fd = open("newfile", O_CREAT|O_RDWR, 0644); fstat(fd, &st); printf("new file is %d\n", (int)st.st_ino); Once you have created a file, you can open() and unlink() it by its returned inode number retrieved from the stat call, ie: fd = open("5", O_RDWR); The creation permissions depend entirely if you have write access to the root directory of the filesystem. To get the list of currently allocated inodes, VOP_READDIR has been added which returns a directory listing of those currently allocated. -- What this entails: * patching conf/files and conf/options to include IFS as a new compile option (and since ifs depends upon FFS, include the FFS routines) * An entry in i386/conf/NOTES indicating IFS exists and where to go for an explanation * Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS routines require (ffs_mount() and ffs_reload()) * a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS routines. IFS replaces some of the vfsops, and a handful of vnops - most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR(). Any other directory operation is marked as invalid. What this results in: * an IFS partition's create permissions are controlled by the perm/ownership of the root mount point, just like a normal directory * Each inode has perm and ownership too * IFS does *NOT* mean an FFS partition can be opened per inode. This is a completely seperate filesystem here * Softupdates doesn't work with IFS, and really I don't think it needs it. Besides, fsck's are FAST. (Try it :-) * Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC). Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against this particular inode, and unravelling THAT code isn't trivial. Therefore, useful inodes start at 3. Enjoy, and feedback is definitely appreciated!
|
#
d1eefff4 |
|
13-Oct-2000 |
Mike Smith <msmith@FreeBSD.org> |
Whoops, add the 'twe' files. Submitted by: Chris Faulhaber <jedgar@fxp.org>
|
#
7c6d7d5f |
|
13-Oct-2000 |
Søren Schmidt <sos@FreeBSD.org> |
Add ata-raid.c to the ata driver
|
#
925be47c |
|
09-Oct-2000 |
Hellmuth Michaelis <hm@FreeBSD.org> |
update to i4b version 0.95.04
|
#
3c5656bf |
|
05-Oct-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Driver for the Intel 82801AA (ICH) SMBus controller and compatibles. Obtained from: Whistle source tree
|
#
bb9c344f |
|
04-Oct-2000 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Correct the dependency for aicasm.
|
#
a6bc3edb |
|
03-Oct-2000 |
Peter Wemm <peter@FreeBSD.org> |
Move the ata/atapi files to the common area. They were the same on all platforms. While here, work around a strange quirk in config(8) that I do not yet understand. Rearrange which atapi* files have 'optional' vs. 'count' so that you can have atapifd without atapicd. The only difference should be that this works instead of having a link error because atapi-all.o got left out of the kernel.
|
#
005b841f |
|
02-Oct-2000 |
John Baldwin <jhb@FreeBSD.org> |
Move sys/dev/nulldev to sys/dev/null to be more consistent with naming under sys/dev.
|
#
96f52845 |
|
30-Sep-2000 |
Mike Smith <msmith@FreeBSD.org> |
More updates to the ACPI code: - Move all register I/O into acpi_io.c - Move event handling into acpi_event.c - Reorganise headers into acpivar/acpireg/acpiio - Move find-RSDT and find-ACPI-owned-memory into acpi_machdep - Allocate all resources (except those detailed only by AML) as real resources. Add infrastructure that will make adding resource support to AML code easy. - Remove all ACPI #ifdefs in non-ACPI code - Removed unnecessary includes - Minor style and commenting fixes Reviewed by: iwasaki
|
#
f59f3733 |
|
30-Sep-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
The `ed' NIC driver has been changed to work on Alpha now. So enable it on all platforms. Submitted by: Alexander Langer <alex@big.endian.de>
|
#
0e6d3195 |
|
28-Sep-2000 |
Warner Losh <imp@FreeBSD.org> |
Add support for pccard attachments of the ex driver. It supports the Olicom OC-2220 card, and maybe others. Submitted by: iwasaki Reviewed by: mdodd
|
#
29fa94c7 |
|
23-Sep-2000 |
Cameron Grant <cg@FreeBSD.org> |
add feeder_fmt.c
|
#
4d7e8d91 |
|
23-Sep-2000 |
John Baldwin <jhb@FreeBSD.org> |
Enable the ESS Maesto driver. Approved by: cg
|
#
321ea9d9 |
|
22-Sep-2000 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Use quoted includes instead of full path references inside the aic7xxx sequencer files. Different platforms place the included files in different locations and it is easier to modify the include path passed as arguments to the assembler than adding #ifdef support to the assembler.
|
#
73334a43 |
|
20-Sep-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Add a new driver for the AMD PCnet/FAST, FAST+ and Home PCI adapters. Previously, these cards were supported by the lnc driver (and they still are, but the pcn driver will claim them first), which is fine except the lnc driver runs them in 16-bit LANCE compatibility mode. The pcn driver runs these chips in 32-bit mode and uses the RX alignment feature to achieve zero-copy receive. (Which puts it in the same class as the xl, fxp and tl chipsets.) This driver is also MI, so it will work on the x86 and alpha platforms. (The lnc driver is still needed to support non-PCI cards. At some point, I'll need to newbusify it so that it too will me MI.) The Am79c978 HomePNA adapter is also supported.
|
#
b54acb74 |
|
20-Sep-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Add a homePNA PHY driver. This is really only a stub: MII-based homePNA PHYs tend to look like 10mbps PHYs with no autonegotiation. This allows us to display the proper media type and link status however.
|
#
05620343 |
|
16-Sep-2000 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Update for aic7xxx driver reorganization.
|
#
b14d7dac |
|
13-Sep-2000 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
- Newbus'ify and bus_space'ify. - Separate bus dependent part and independent part. - Moved source files to sys/dev/fe (repo copied). - Fixed some comments by chi@bd.mbn.or.jp (Chiharu Shibata) Tested by: bsd-nomads@clave.gr.jp and FreeBSD98-testers@jp.freebsd.org
|
#
09344c27 |
|
13-Sep-2000 |
Peter Wemm <peter@FreeBSD.org> |
Activate the rest of the aac driver, otherwise even GENERIC fails to build. Forgotten by: msmith
|
#
35863739 |
|
12-Sep-2000 |
Mike Smith <msmith@FreeBSD.org> |
A new driver for PCI:SCSI RAID controllers based on the Adaptec FSA design. This includes integrated Dell RAID controllers, the Dell PERC 2/QC and the HP NetRAID-4M.
|
#
ac519db0 |
|
12-Sep-2000 |
Mark Murray <markm@FreeBSD.org> |
Turn the /dev/random device into a (pseudo-)device, not an option. (I didn't realise that it was this easy!) Submitted by: jhb
|
#
4d87a031 |
|
10-Sep-2000 |
Mark Murray <markm@FreeBSD.org> |
Large upgrade to the entropy device; mainly inspired by feedback from many folk. o The reseed process is now a kthread. With SMPng, kthreads are pre-emptive, so the annoying jerkiness of the mouse is gone. o The data structures are protected by mutexes now, not splfoo()/splx(). o The cryptographic routines are broken out into their own subroutines. this facilitates review, and possible replacement if that is ever found necessary. Thanks to: kris, green, peter, jasone, grog, jhb Forgotten to thank: You know who you are; no offense intended.
|
#
0384fff8 |
|
06-Sep-2000 |
Jason Evans <jasone@FreeBSD.org> |
Major update to the way synchronization is done in the kernel. Highlights include: * Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The alpha port is still in transition and currently uses both.) * Per-CPU idle processes. * Interrupts are run in their own separate kernel threads and can be preempted (i386 only). Partially contributed by: BSDi (BSD/OS) Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh
|
#
ef137fd3 |
|
01-Sep-2000 |
Mike Smith <msmith@FreeBSD.org> |
Add the 'asr' driver, supplied by Mark Salyzyn of Adaptec (nee DPT). This provides support for the Adaptec SCSI RAID controller family, as well as the DPT SmartRAID V and VI families. The driver will be maintained by Mark and Adaptec, and any changes should be referred to the MAINTAINER.
|
#
ed2dbd31 |
|
31-Aug-2000 |
Archie Cobbs <archie@FreeBSD.org> |
New netgraph node type for Ethernet bridging. No ipfw support yet.
|
#
b1f12b61 |
|
31-Aug-2000 |
Takanori Watanabe <takawata@FreeBSD.org> |
Merge rest piece of ACPI driver.To activate acpi driver ,add device acpi line. Merge finished. But still experimental phase.Need more hack! Obtained from:ACPI for FreeBSD project
|
#
2fa70abe |
|
29-Aug-2000 |
Cameron Grant <cg@FreeBSD.org> |
activate fm801
|
#
21c3015a |
|
28-Aug-2000 |
Doug Rabson <dfr@FreeBSD.org> |
* Completely rewrite the alpha busspace to hide the implementation from the drivers. * Remove legacy inx/outx support from chipset and replace with macros which call busspace. * Rework pci config accesses to route through the pcib device instead of calling a MD function directly. With these changes it is possible to cleanly support machines which have more than one independantly numbered PCI busses. As a bonus, the new busspace implementation should be measurably faster than the old one.
|
#
1684d9d7 |
|
26-Aug-2000 |
Warner Losh <imp@FreeBSD.org> |
Make if_xe eepend on both xe and card.
|
#
e07acca5 |
|
22-Aug-2000 |
Mike Smith <msmith@FreeBSD.org> |
This is the initial import of a new driver for the current family of PCI:SCSI RAID controllers from Mylex.
|
#
3f54a085 |
|
20-Aug-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c) Remove old DEVFS support fields from dev_t. Make uid, gid & mode members of dev_t and set them in make_dev(). Use correct uid, gid & mode in make_dev in disk minilayer. Add support for registering alias names for a dev_t using the new function make_dev_alias(). These will show up as symlinks in DEVFS. Use makedev() rather than make_dev() for MFSs magic devices to prevent DEVFS from noticing this abuse. Add a field for DEVFS inode number in dev_t. Add new DEVFS in fs/devfs. Add devfs cloning to: disk minilayer (ie: ad(4), sd(4), cd(4) etc etc) md(4), tun(4), bpf(4), fd(4) If DEVFS add -d flag to /sbin/inits args to make it mount devfs. Add commented out DEVFS to GENERIC
|
#
7b2182ad |
|
14-Aug-2000 |
Atsushi Onoe <onoe@FreeBSD.org> |
add dev/awi/awi_wicfg.c to support wi(4) compatible configuration interface. add dev/awi/awi_wep.c to support WEP for awi. add dependency for awi to crypto/rc4/rc4.c
|
#
ba90ebe7 |
|
08-Aug-2000 |
Cameron Grant <cg@FreeBSD.org> |
activate via82c686 audio driver
|
#
0d864285 |
|
02-Aug-2000 |
Peter Wemm <peter@FreeBSD.org> |
Make the pfil.c code conditional on either option PFIL_HOOKS or IPFILTER. The previous line was an AND. This change means you can compile in the pfil_hook stuff and make it available for other users besides ipfilter.
|
#
302ec06f |
|
01-Aug-2000 |
Nick Sayer <nsayer@FreeBSD.org> |
Hook up the ESS solo driver in the correct branch this time.
|
#
42f66362 |
|
25-Jul-2000 |
Paul Saab <ps@FreeBSD.org> |
kern_accf.c is now uipc_accf.c after repo copy.
|
#
a5213f14 |
|
20-Jul-2000 |
Nick Sayer <nsayer@FreeBSD.org> |
Add the tap driver. The tap driver is used to present a virtual Ethernet interface to the system. Packets presented by the network stack to the interface are made available to a character device in /dev. With tap and the bridge code, you can make remote bridge configurations where both sides of the bridge are separated by userland daemons. This driver also has a special naming hack to allow it to serve a similar purpose to the vmware port. Submitted by: myevmenkin@att.com, vsilyaev@mindspring.com
|
#
f21dbedd |
|
18-Jul-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Driver for LMC1504 card: four port E1 or fractional E1. T1 support is possible but I have no T1 hardware to test with. The vendor can be found at: www.lanmedia.com
|
#
e9fb12d3 |
|
18-Jul-2000 |
Nick Hibma <n_hibma@FreeBSD.org> |
Add the umodem driver.
|
#
259665fa |
|
15-Jul-2000 |
Kenneth D. Merry <ken@FreeBSD.org> |
Get rid of non-existent CAM 'scan' device. PR: 19961 Submitted by: Cyrille Lefevre <clefevre@citeweb.net>
|
#
e547d6fd |
|
12-Jul-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add support for Intel's i810 chipset with integrated graphics. An associated patch to XFree86 allows the X server to work with this chipset on FreeBSD. Additional work will include porting the Linux 3D driver. Submitted by: Ruslan Ermilov <ru@FreeBSD.org>
|
#
f2a2857b |
|
11-Jul-2000 |
Kirk McKusick <mckusick@FreeBSD.org> |
Add snapshots to the fast filesystem. Most of the changes support the gating of system calls that cause modifications to the underlying filesystem. The gating can be enabled by any filesystem that needs to consistently suspend operations by adding the vop_stdgetwritemount to their set of vnops. Once gating is enabled, the function vfs_write_suspend stops all new write operations to a filesystem, allows any filesystem modifying system calls already in progress to complete, then sync's the filesystem to disk and returns. The function vfs_write_resume allows the suspended write operations to begin again. Gating is not added by default for all filesystems as for SMP systems it adds two extra locks to such critical kernel paths as the write system call. Thus, gating should only be added as needed. Details on the use and current status of snapshots in FFS can be found in /sys/ufs/ffs/README.snapshot so for brevity and timelyness is not included here. Unless and until you create a snapshot file, these changes should have no effect on your system (famous last words).
|
#
fb0ef528 |
|
11-Jul-2000 |
Seigo Tanimura <tanimura@FreeBSD.org> |
Finally merge newmidi. (I had been busy for my own research activity until the last weekend) Supported devices: SB Midi Port (sbc + midi) SB OPL3 (sbc + midi) 16550 UART (midi, needs a trick in your hint) CS461x Midi Port (csa + midi) OSS-compatible sequencer (seq) Supported playing software: playmidi (We definitely need more) Notes: /dev/midistat now reports installed midi drivers. /dev/sndstat reports only pcm drivers. We need the new name(pcmstat?). EMU8000(SB AWE) does not sound yet but does get probed so that the OPL3 synth on an AWE card works. TODO: MSS/PCI bridge drivers Midi-tty interface to support general serial devices Modules
|
#
88bab4e4 |
|
10-Jul-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Finish repo-copy: Move ufs/ufs/ufs_disksubr.c to kern/subr_disklabel.c. These functions are not UFS specific and are in fact used all over the place.
|
#
c9ec235c |
|
07-Jul-2000 |
Mark Murray <markm@FreeBSD.org> |
Add entropy gathering code. This will work whether the module is compiled in or loaded.
|
#
686cdd19 |
|
04-Jul-2000 |
Jun-ichiro itojun Hagino <itojun@FreeBSD.org> |
sync with kame tree as of july00. tons of bug fixes/improvements. API changes: - additional IPv6 ioctls - IPsec PF_KEY API was changed, it is mandatory to upgrade setkey(8). (also syntax change)
|
#
e1e1452d |
|
26-Jun-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Make the ng_ether(4) node type dynamically loadable like the rest. This means 'options NETGRAPH' is no longer necessary in order to get netgraph-enabled Ethernet interfaces. This supports loading/unloading the ng_ether.ko and attaching/detaching the Ethernet interface in any order. Add two new hooks 'upper' and 'lower' to allow access to the protocol demux engine and the raw device, respectively. This enables bridging to be defined as a netgraph node, if so desired. Reviewed by: freebsd-net@freebsd.org
|
#
15bbdecf |
|
25-Jun-2000 |
Mark Murray <markm@FreeBSD.org> |
Get the build bits right for the new Architecture Independant null- and entropy drivers. Reviewed by: dfr(mostly)
|
#
b2ca251e |
|
21-Jun-2000 |
Coleman Kane <cokane@FreeBSD.org> |
Stick the tdfx entry in here, after some cleaning.
|
#
a79b7128 |
|
19-Jun-2000 |
Alfred Perlstein <alfred@FreeBSD.org> |
return of the accept filter part II accept filters are now loadable as well as able to be compiled into the kernel. two accept filters are provided, one that returns sockets when data arrives the other when an http request is completed (doesn't work with 0.9 requests) Reviewed by: jmg
|
#
7013252c |
|
17-Jun-2000 |
Matt Jacob <mjacob@FreeBSD.org> |
Add ispfw as an optional 'device' (for static linking)
|
#
696a3962 |
|
12-Jun-2000 |
Peter Wemm <peter@FreeBSD.org> |
The buslogic driver doesn't have static unit limits (ie: no bt.h or arbitary NBT limits)
|
#
1f82d2d7 |
|
11-Jun-2000 |
Seigo Tanimura <tanimura@FreeBSD.org> |
1. Update Comtrol RocketPort driver(rp) to version 3.02. 2. Newbusify the driver. 3. Build as a module. 4. Use correct minor numbers when creating device files. 5. Correctly lock control characters. 6. Return ENXIO when device not configured. Submitted by: Tor Egge <Tor.Egge@fast.no> 7. Fix the baud_table. Submitted by: Elliot Dierksen <ebd@oau.org> Note: - the old driver still lives in src/sys/i386/isa, so that you can revert to it if something goes wrong. - The module does not detach very well. Attaching works fine.
|
#
3f664fc6 |
|
10-Jun-2000 |
Peter Wemm <peter@FreeBSD.org> |
A checkpoint of a part of a work-in-progress. Some more cleanups for config(8). This commit allows control of the creation of the #include "foo.h" files. We now only create them explicitly when needed. BTW; these are mostly bad because they usually imply static limits on numbers of units for devices. eg: struct mysoftc sc[NFOO]; These static limits have Got To Go.
|
#
6d08679b |
|
09-Jun-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add files for agp driver.
|
#
a996141f |
|
06-Jun-2000 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce additional POSIX.1e-related stubs o options CAPABILITIES o kern/kern_cap.c -- syscall stubs returning ENOSYS syscalls.master changes to follow Obtained from: TrustedBSD Project
|
#
24cd998f |
|
06-Jun-2000 |
Cameron Grant <cg@FreeBSD.org> |
enable ds1 driver
|
#
bd68ce8b |
|
30-May-2000 |
Cameron Grant <cg@FreeBSD.org> |
yamaha ds1/ds1e pci sound driver - work in progress, mixer and playback only. tested on ymf724f only. conf/files entry is commented out, enable it manually to test this code and let me know results.
|
#
30d1c11e |
|
28-May-2000 |
Peter Wemm <peter@FreeBSD.org> |
Encapsulate the old PCI compatability support and APIs completely under "options COMPAT_OLDPCI". This option already existed, but now also tidies up the declarations in #include <pci/pci*.h>. It is amazing how much stuff was using the old pre-FreeBSD 3.x names and going silently undetected.
|
#
ca2e0534 |
|
28-May-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add taskqueue system for easy-to-use SWIs among other things. Reviewed by: arch
|
#
24964514 |
|
21-May-2000 |
Peter Wemm <peter@FreeBSD.org> |
Checkpoint of a new physical memory backed object type, that does not have pv_entries. This is intended for very special circumstances, eg: a certain database that has a 1GB shm segment mapped into 300 processes. That would consume 2GB of kvm just to hold the pv_entries alone. This would not be used on systems unless the physical ram was available, as it's not pageable. This is a work-in-progress, but is a useful and functional checkpoint. Matt has got some more fixes for it that will be committed soon. Reviewed by: dillon
|
#
9b55e84f |
|
15-May-2000 |
Paul Richards <paul@FreeBSD.org> |
Re-organise lnc driver in preparation for newbusifying it.
|
#
5baeead2 |
|
14-May-2000 |
Paul Richards <paul@FreeBSD.org> |
Fix location of lnc pci code.
|
#
ca9f5045 |
|
14-May-2000 |
Paul Richards <paul@FreeBSD.org> |
Build lnc driver from /sys/dev from now on.
|
#
40f251bc |
|
10-May-2000 |
Darren Reed <darrenr@FreeBSD.org> |
bring in net/pfil.c for pfil_hooks or ipfilter
|
#
b5ea1f0c |
|
01-May-2000 |
Nick Hibma <n_hibma@FreeBSD.org> |
The USB double bulk pipe driver (Host to host cables). Currently there are two supported chips, the NetChip 1080 (only prototypes available) and the EzLink cable. Any other cable should be supported however as they are all very much alike (there is a difference between them wrt performance). It uses Netgraph. This driver was mostly written by Doug Ambrisko and Julian Elischer and I would like to thank Whistle for yet another contribution. And my aplogies to them for me sitting on the driver for so long (2 months). Also, many thanks to Reid Augustin from NetChip for providing me with a prototype of their 1080 chip. Be aware of the fact that this driver is very immature and has only been tested very lightly. If someone feels like learning about Netgraph however this is an excellent driver to start playing with.
|
#
68c68f01 |
|
01-May-2000 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Split out the ISA bus front end code into its own file. PCCARD attachment coming later this week. Mitsuru IWASAKI provided a patch to -mobile which I used to make sure I was doing the right thing but only a small part of the actual patch was used.
|
#
599fcb02 |
|
26-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Driver for DEC "Tulip" based WAN cards from LanMedia Corporation. This driver should support both the SSI (V.35 etc) E1/T1 unchannelized, DS3 and HSSI cards. Only tested on the SSI card. More info at: http://www.lanmedia.com Thanks to LanMedia for donating two LMC1000P cards. if_de.c driver modified by: LanMedia NetGraphification by: Stephen Kiernan <sk-ports@vegamuse.org>
|
#
0c8aac01 |
|
24-Apr-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
Add linker_if.m to the mix.
|
#
b0e56cde |
|
24-Apr-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
* Use sys/sys/random.h rather than a i386 specific one. * There was nothing that should be machine dependant about i386/isa/random_machdep.c, so it is now sys/kern/kern_random.c.
|
#
bd80fa2c |
|
21-Apr-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Reoganize/update the SysKonnect driver: - Break out the support for the XMAC II's PHY into an miibus driver. - Reorganize the probe/attach stuff using newbus. Each XMAC is now attached to the parent GEnesis controller using newbus. This is necessary since each XMAC must also have an attached miibus, and the miibus read/write register routines need to be able to get at the softc struct for each XMAC, not the one for the parent controller. This allows me to get rid of the grotty code I added for selecting the unit numbers for the ifnet interfaces: the unit numbers are now derived from the newbus-assigned unit numbers, which should track with the ifnet interface numbers. I think. At the very least, there should never be any collisions. - Add support for the SK-9821 and SK-9822 1000baseTX adapters. Special thanks to SysKonnect for loaning me two adapters for testing.
|
#
7eaef3ae |
|
20-Apr-2000 |
Warner Losh <imp@FreeBSD.org> |
card_if.m used by oldcard now too
|
#
a6fc5fff |
|
16-Apr-2000 |
Warner Losh <imp@FreeBSD.org> |
Add kern_event.c
|
#
346ac330 |
|
16-Apr-2000 |
Warner Losh <imp@FreeBSD.org> |
Forgot to commit this to add card_if.m. Pointed out by: iwasaki-san.
|
#
a64ed089 |
|
14-Apr-2000 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce extended attribute support for FFS, allowing arbitrary (name, value) pairs to be associated with inodes. This support is used for ACLs, MAC labels, and Capabilities in the TrustedBSD security extensions, which are currently under development. In this implementation, attributes are backed to data vnodes in the style of the quota support in FFS. Support for FFS extended attributes may be enabled using the FFS_EXTATTR kernel option (disabled by default). Userland utilities and man pages will be committed in the next batch. VFS interfaces and man pages have been in the repo since 4.0-RELEASE and are unchanged. o ufs/ufs/extattr.h: UFS-specific extattr defines o ufs/ufs/ufs_extattr.c: bulk of support routines o ufs/{ufs,ffs,mfs}/*.[ch]: hooks and extattr.h includes o contrib/softupdates/ffs_softdep.c: extattr.h includes o conf/options, conf/files, i386/conf/LINT: added FFS_EXTATTR o coda/coda_vfsops.c: XXX required extattr.h due to ufsmount.h (This should not be the case, and will be fixed in a future commit) Currently attributes are not supported in MFS. This will be fixed. Reviewed by: adrian, bp, freebsd-fs, other unthanked souls Obtained from: TrustedBSD Project
|
#
a2b408ad |
|
09-Apr-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Add new options NETGRAPH_MPPC_COMPRESSION and NETGRAPH_MPPC_ENCRYPTION. (Note: NETGRAPH_MPPC_COMPRESSION is disabled until we find a non-proprietary implementation of the MPPC compression algorithm.)
|
#
f7b77691 |
|
08-Apr-2000 |
Doug Rabson <dfr@FreeBSD.org> |
* Factor out the object system from new-bus so that it can be used by non-device code. * Re-implement the method dispatch to improve efficiency. The new system takes about 40ns for a method dispatch on a 300Mhz PII which is only 10ns slower than a direct function call on the same hardware. This changes the new-bus ABI slightly so make sure you re-compile any driver modules which you use.
|
#
4b008951 |
|
07-Apr-2000 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
Newbusify adv driver. Reviewed by: imp
|
#
0d5c223d |
|
05-Apr-2000 |
Warner Losh <imp@FreeBSD.org> |
Awi driver, ported from NetBSD from Atsushi Once-san. From the README: Any IEEE 802.11 cards use AMD Am79C930 and Harris (Intersil) Chipset with PCnetMobile firmware by AMD. BayStack 650 1Mbps Frequency Hopping PCCARD adapter BayStack 660 2Mbps Direct Sequence PCCARD adapter Icom SL-200 2Mbps Direct Sequence PCCARD adapter Melco WLI-PCM 2Mbps Direct Sequence PCCARD adapter NEL SSMagic 2Mbps Direct Sequence PCCARD adapter Netwave AirSurfer Plus 1Mbps Frequency Hopping PCCARD adapter Netwave AirSurfer Pro 2Mbps Direct Sequence PCCARD adapter Known Problems: WEP is not supported. Does not create IBSS itself. Cannot configure the following on FreeBSD: selection of infrastructure/adhoc mode ESSID ... Submitted by: Atsushi Onoe <onoe@sm.sony.co.jp>
|
#
d7a599a6 |
|
05-Apr-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Make it possible to include a device interface description by a single line in files or files.${arch} instead of 13 lines of code. This is a small chance that this will break the alpha kernel build - I'll fix it this evening if it does.
|
#
fe9aab21 |
|
03-Apr-2000 |
Cameron Grant <cg@FreeBSD.org> |
enable emu10k1 (sblive) driver, though still playback only
|
#
5664bf9c |
|
29-Mar-2000 |
Warner Losh <imp@FreeBSD.org> |
NewBus the cs driver. Submitted by: max@rsu.ru
|
#
239fe111 |
|
29-Mar-2000 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
- Added PC-98 Cbus frontend. - Move dev/aic/aic_isa.c entry from conf/files to conf/files.MACHINE because PC-98 uses different file. Submitted by: nyan and IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
#
57376530 |
|
28-Mar-2000 |
Cameron Grant <cg@FreeBSD.org> |
split up ess and sb code rewrite ess mixer to use native registers rewrite play/rec code to use more accurate timer when available add code to use audio2 for playback, but disable it as no irqs are generated
|
#
83f7669e |
|
23-Mar-2000 |
Bruce Evans <bde@FreeBSD.org> |
Fixed most disordering (almost all except for i4b and targets with complicated rules).
|
#
91266b96 |
|
20-Mar-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Isolate the Timecounter internals in their own two files. Make the public interface more systematically named. Remove the alternate method, it doesn't do any good, only ruins performance. Add counters to profile the usage of the 8 access functions. Apply the beer-ware to my code. The weird +/- counts are caused by two repocopies behind the scenes: kern/kern_clock.c -> kern/kern_tc.c sys/time.h -> sys/timetc.h (thanks peter!)
|
#
e2dbd15f |
|
16-Mar-2000 |
Nick Hibma <n_hibma@FreeBSD.org> |
Please welcome the URio driver. Written by Iwasa Kazmi <kzmi\@ca2.so-net.ne.jp>
|
#
a17e9eac |
|
08-Mar-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Changes for IDA driver
|
#
978d4f5b |
|
08-Feb-2000 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Complete the repo-copy of ida_pci.c to sys/dev/ida/ Implicit Approval by: jkh
|
#
1e8a96dc |
|
01-Feb-2000 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
if_fpa is included when 'device fpa' is present, not 'device fea'. Approved by: jkh
|
#
15831666 |
|
29-Jan-2000 |
Yoshinobu Inoue <shin@FreeBSD.org> |
Fix kernel build breakage. ip6_fw.c also needs ipv6firewall options. Sorry for the problem. Submitted by: Jim Bloom <bloom@acm.org>
|
#
4486cd79 |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Use config's tools rather than #if's.
|
#
afa0d59d |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Still allow sbc/gusc/csa to perform as bridge devices (eg: to newmidi) without pcm being present.
|
#
67245194 |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Allow the pnp and pci cards to be attached with just a 'device pcm' in the user's config file. Based on an idea/suggestion from Cameron (cg). Change LINT to build newpcm instead of the old Voxware derived stuff. That's much more useful in the longer term.
|
#
5d021a76 |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Move the (duplicated exactly!) portable ISA pcm drivers to files and tighten up the logic a little.
|
#
8f24ed40 |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Remove kern/tty_tb.c.
|
#
210d0432 |
|
29-Jan-2000 |
Yoshinobu Inoue <shin@FreeBSD.org> |
Add ip6fw. Yes it is almost code freeze, but as the result of many thought, now I think this should be added before 4.0... make world check, kernel build check is done. Reviewed by: green Obtained from: KAME project
|
#
0fea3d51 |
|
27-Jan-2000 |
Yoshinobu Inoue <shin@FreeBSD.org> |
IPv6 multicast routing. kernel IPv6 multicast routing support. pim6 dense mode daemon pim6 sparse mode daemon netstat support of IPv6 multicast routing statistics Merging to the current and testing with other existing multicast routers is done by Tatsuya Jinmei <jinmei@kame.net>, who writes and maintainances the base code in KAME distribution. Make world check and kernel build check was also successful.
|
#
2f522c90 |
|
27-Jan-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Include ddb/db_sysctl.c when compiling with 'options DDB'.
|
#
367d34f8 |
|
24-Jan-2000 |
Brian Somers <brian@FreeBSD.org> |
Move the *intrq variables into net/intrq.c and unconditionally include this in all kernels. Declare some const *intrq_present variables that can be checked by a module prior to using *intrq to queue data. Make the if_tun module capable of processing atm, ip, ip6, ipx, natm and netatalk packets when TUNSIFHEAD is ioctl()d on. Review not required by: freebsd-hackers
|
#
623c2467 |
|
24-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Activate the newbusified version of si.
|
#
5d94d71c |
|
22-Jan-2000 |
Boris Popov <bp@FreeBSD.org> |
Allow if_ef driver to be compiled into kernel.
|
#
3b2d592c |
|
19-Jan-2000 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Import simple driver for a parallel port radio clock which receives the German legal time (commonly available in Europe). Submitted by: Sascha Schumann <sascha@schumann.cx>
|
#
e575259c |
|
15-Jan-2000 |
Matt Jacob <mjacob@FreeBSD.org> |
add file collateral for SES/SAF-TE driver
|
#
00e888b6 |
|
14-Jan-2000 |
Warner Losh <imp@FreeBSD.org> |
Add pccard aic attachment.
|
#
261b9b30 |
|
14-Jan-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Add driver support for the Aironet 4500/4800 series wireless 802.11 NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported, though only the ISA and PCI ones will work on the alpha for now. PCCARD, ISA and PCI attachments are all provided. Also provided an ancontrol(8) utility for configuring the NIC, man pages, and updated pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired mode, although you must configure the kernel explicitly to support the hardwired mode since you have to know the I/O address and port ahead of time. Special thanks to Doug Ambrisko for doing the initial newbus hackery and getting it to work in infrastructure mode.
|
#
1ef4c904 |
|
14-Jan-2000 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Oops! We need an entry for if_ie still. Change a few nits while I'm here.
|
#
c5191a98 |
|
14-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Pre 4.0 tidy up. Collect together the components of several drivers and export eisa from the i386-only area (It's not, it's on some alphas too). The code hasn't been updated to work on the Alpha yet, but that can come later. Repository copies were done a while ago. Moving these now keeps them in consistant place across the 4.x series as the newbusification progresses. Submitted by: mdodd
|
#
01779872 |
|
13-Jan-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for USB ethernet adapters based on the CATC USB-EL1202A chipset. Between this and the other two drivers, we should have support for pretty much every USB ethernet adapter on the market. The only other USB chip that I know of is the SMC USB97C196, and right now I don't know of any adapters that use it (including the ones made by SMC :/ ). Note that the CATC chip supports a nifty feature: read and write combining. This allows multiple ethernet packets to be transfered in a single USB bulk in/out transaction. However I'm again having trouble with large bulk in transfers like I did with the ADMtek chip, which leads me to believe that our USB stack needs some work before we can really make use of this feature. When/if things improve, I intend to revisit the aue and cue drivers. For now, I've lost enough sanity points.
|
#
0f210c92 |
|
13-Jan-2000 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Port of ppbus standalone framework to the newbus system. Note1: the correct interrupt level is invoked correctly for each driver. For this purpose, drivers request the bus before being able to call BUS_SETUP_INTR and BUS_TEARDOWN_INTR call is forced by the ppbus core when drivers release it. Thus, when BUS_SETUP_INTR is called at ppbus driver level, ppbus checks that the caller owns the bus and stores the interrupt handler cookie (in order to unregister it later). Printing is impossible while plip link is up is still TRUE. vpo (ZIP driver) and lpt are make in such a way that using the ZIP and printing concurrently is permitted is also TRUE. Note2: specific chipset detection is not done by default. PPC_PROBE_CHIPSET is now needed to force chipset detection. If set, the flags 0x40 still avoid detection at boot. Port of the pcf(4) driver to the newbus system (was previously directly connected to the rootbus and attached by a bogus pcf_isa_probe function).
|
#
07997cf9 |
|
11-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Aiee! I committed the wrong conf/files. Replace the changes for newppbus with the intended changes. Drop db_aout.c from files, let db_kld.c do the work. Noticed by: bde
|
#
63aad530 |
|
11-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Fix a typo in the db_kld.c file - it's kld support not raw a.out support. Always use db_kld.c for symbol table support as the base kernel maintains this information.
|
#
a0067d7b |
|
10-Jan-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Attempt to fix a problem with receiving packets on USB ethernet interfaces. Packets are received inside USB bulk transfer callbacks, which run at splusb() (actually splbio()). The packet input queues are meant to be manipulated at splimp(). However the locking apparently breaks down under certain circumstances and the input queues can get trampled. There's a similar problem with if_ppp, which is driven by hardware/tty interrupts from the serial driver, but which must also manipulate the packet input queues at splimp(). The fix there is to use a netisr, and that's the fix I used here. (I can hear you groaning back there. Hush up.) The usb_ethersubr module maintains a single queue of its own. When a packet is received in the USB callback routine, it's placed on this queue with usb_ether_input(). This routine also schedules a soft net interrupt with schednetisr(). The ISR routine then runs later, at splnet, outside of the USB callback/interrupt context, and passes the packet to ether_input(), hopefully in a safe manner. The reason this is implemented as a separate module is that there are a limited number of NETISRs that we can use, and snarfing one up for each driver that needs it is wasteful (there will be three once I get the CATC driver done). It also reduces code duplication to a certain small extent. Unfortunately, it also needs to be linked in with the usb.ko module in order for the USB ethernet drivers to share it. Also removed some uneeded includes from if_aue.c and if_kue.c Fix suggested by: peter Not rejected as a hairbrained idea by: n_hibma
|
#
90bba6bf |
|
10-Jan-2000 |
Warner Losh <imp@FreeBSD.org> |
Move xe driver from dev/pccard to dev/xe. Convert driver to newbus. Driver is not functional yet, but does compile. Tests with xe cards indicates that it doesn't panic the machine when they are present, but fail to probe. Interface help in the pcic/pccard layers are needed to complete this driver.
|
#
1440baa7 |
|
09-Jan-2000 |
Cameron Grant <cg@FreeBSD.org> |
enable the neomagic driver
|
#
b2290df2 |
|
06-Jan-2000 |
Warner Losh <imp@FreeBSD.org> |
Add power_if.[cho] generation for new pccard system. Also added commented out xe driver pending change. Should be benign.
|
#
dfd1e98e |
|
04-Jan-2000 |
Bill Paul <wpaul@FreeBSD.org> |
Add device driver support for USB ethernet adapters based on the Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com 3c19250 and the ADS Technologies USB-10BT. This device is 10mbs half-duplex only, so there's miibus or ifmedia support. This device also requires firmware to be loaded into it, however KLSI allows redistribution of the firmware images (I specifically asked about this; they said it was ok). Special thanks to Annelise Anderson for getting me in touch with KLSI (eventually) and thanks to KLSI for providing the necessary programming info. Highlights: - Add driver files to /sys/dev/usb - update usbdevs and regenerate attendate files - update usb_quirks.c - Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha - Update LINT, GENERIC and others for i386, alpha and pc98 - Add man page - Add module - Update sysinstall and userconfig.c
|
#
677202ca |
|
04-Jan-2000 |
Matt Jacob <mjacob@FreeBSD.org> |
add wx (Intel Wiseman Gig Ethernet) driver
|
#
80d80cdb |
|
03-Jan-2000 |
Matt Jacob <mjacob@FreeBSD.org> |
Add in isp_target.c to be compiled for isp- it'd be nice if we could do conditional file inclusing based on options.
|
#
ed63a7aa |
|
27-Dec-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds device driver support for the ADMtek AN986 Pegasus USB ethernet chip. Adapters that use this chip include the LinkSys USB100TX. There are a few others, but I'm not certain of their availability in the U.S. I used an ADMtek eval board for development. Note that while the ADMtek chip is a 100Mbps device, you can't really get 100Mbps speeds over USB. Regardless, this driver uses miibus to allow speed and duplex mode selection as well as autonegotiation. Building and kldloading the driver as a module is also supported. Note that in order to make this driver work, I had to make what some may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer() function will use tsleep() for synchronous transfers that don't complete right away. This is a problem since there are times when we need to do sync transfers from an interrupt context (i.e. when reading registers from the MAC via the control endpoint), where tsleep() us a no-no. My hack allows the driver to have the code poll for transfer completion subject to the xfer->timeout timeout rather that calling tsleep(). This hack is controlled by a quirk entry and is only enabled for the ADMtek device. Now, I'm sure there are a few of you out there ready to jump on me and suggest some other approach that doesn't involve a busy wait. The only solution that might work is to handle the interrupts in a kernel thread, where you may have something resembling a process context that makes it okay to tsleep(). This is lovely, except we don't have any mechanism like that now, and I'm not about to implement such a thing myself since it's beyond the scope of driver development. (Translation: I'll be damned if I know how to do it.) If FreeBSD ever aquires such a mechanism, I'll be glad to revisit the driver to take advantage of it. In the meantime, I settled for what I perceived to be the solution that involved the least amount of code changes. In general, the hit is pretty light. Also note that my only USB test box has a UHCI controller: I haven't I don't have a machine with an OHCI controller available. Highlights: - Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part. - Updated usbdevs and regenerated generated files - Updated HARDWARE.TXT and RELNOTES.TXT files - Updated sysinstall/device.c and userconfig.c - Updated kernel configs -- device aue0 is commented out by default - Updated /sys/conf/files - Added new kld module directory
|
#
a57e826a |
|
27-Dec-1999 |
Yoshinobu Inoue <shin@FreeBSD.org> |
Add ipsec_esp option to files which depend on crypto. Now you can build a kernel which support IPsec message authentication but don't support message encryption, by defining IPSEC in your kernel config file and not defining IPSEC_ESP.
|
#
6a800098 |
|
22-Dec-1999 |
Yoshinobu Inoue <shin@FreeBSD.org> |
IPSEC support in the kernel. pr_input() routines prototype is also changed to support IPSEC and IPV6 chained protocol headers. Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
|
#
00a7524f |
|
22-Dec-1999 |
Warner Losh <imp@FreeBSD.org> |
New files in sn driver.
|
#
91f37dcb |
|
18-Dec-1999 |
Robert Watson <rwatson@FreeBSD.org> |
Second pass commit to introduce new ACL and Extended Attribute system calls, vnops, vfsops, both in /kern, and to individual file systems that require a vfsop_ array entry. Reviewed by: eivind
|
#
22ffd22d |
|
17-Dec-1999 |
Warner Losh <imp@FreeBSD.org> |
Driver for the smc91xx series of ethernet chips. Ported from PAO to 3.3R and then to -current. The pccard support has been left in the driver, but is presently non-functional because we are using the isa_compat layer for the moment. Obtained From: PAO Sponsored by: Timing Solutions
|
#
c8162f82 |
|
15-Dec-1999 |
Warner Losh <imp@FreeBSD.org> |
dev/pcic/i82365_isasubr.c was removed from tree when it was merged into i82365_isa.c. Update conf/files to reflect that.
|
#
f2cbe161 |
|
09-Dec-1999 |
Archie Cobbs <archie@FreeBSD.org> |
Move source files common to all platforms from <arch>/conf/files.<arch> to conf/files. If/when these files are optimized for each platform, they can be moved back.
|
#
9578442e |
|
09-Dec-1999 |
Dan Moschuk <dan@FreeBSD.org> |
Move libkern/arc4random.c into conf/files. I was planning on doing an optimized alpha version, but I'll leave that alone for the time being.
|
#
add85a1d |
|
08-Dec-1999 |
Archie Cobbs <archie@FreeBSD.org> |
New netgraph node type 'pptpgre': this performs GRE encapsulation for the PPTP protocol as specified in RFC 2637.
|
#
7d596167 |
|
08-Dec-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove BAD144 support, it has already been disabled for some time.
|
#
cfa1ca9d |
|
07-Dec-1999 |
Yoshinobu Inoue <shin@FreeBSD.org> |
udp IPv6 support, IPv6/IPv4 tunneling support in kernel, packet divert at kernel for IPv6/IPv4 translater daemon This includes queue related patch submitted by jburkhol@home.com. Submitted by: queue related patch from jburkhol@home.com Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
|
#
16896694 |
|
06-Dec-1999 |
Guido van Rooij <guido@FreeBSD.org> |
Add ifilter klld module to ipfilter based kernels Allow kld based kernel with option IPFILTER_LKM.
|
#
9e03cab5 |
|
06-Dec-1999 |
Peter Wemm <peter@FreeBSD.org> |
Fold the pnp code into the base isa system to pave the way for PNPBIOS. Reviewed by: dfr (a few weeks ago)
|
#
46db6cf8 |
|
05-Dec-1999 |
Peter Wemm <peter@FreeBSD.org> |
Switch over to using the generic joy driver
|
#
544c9788 |
|
04-Dec-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Grrrr. I knew I forgot something. Remove mxphy, add dcphy and pnphy.
|
#
96f2e892 |
|
04-Dec-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add the if_dc driver and remove all of the al, ax, dm, pn and mx drivers which it replaces. The new driver supports all of the chips supported by the ones it replaces, as well as many DEC/Intel 21143 10/100 cards. This also completes my quest to convert things to miibus and add Alpha support.
|
#
92a3e552 |
|
03-Dec-1999 |
Archie Cobbs <archie@FreeBSD.org> |
New netgraph node type, ng_bpf(8). This node type allows you to apply bpf(4) filters to data travelling through a netgraph network.
|
#
f8307e12 |
|
29-Nov-1999 |
Archie Cobbs <archie@FreeBSD.org> |
Add two new generic control messages, NGM_ASCII2BINARY and NGM_BINARY2ASCII, which convert control messages to ASCII and back. This allows control messages to be sent and received in ASCII form using ngctl(8), which makes ngctl a lot more useful. This also allows all the type-specific debugging code in libnetgraph to go away -- instead, we just ask the node itself to do the ASCII translation for us. Currently, all generic control messages are supported, as well as messages associated with the following node types: async, cisco, ksocket, and ppp. See /usr/share/examples/netgraph/ngctl for an example of using this. Also give ngctl(8) the ability to print out incoming data and control messages at any time. Eventually nghook(8) may be subsumed. Several other misc. bug fixes. Reviewed by: julian
|
#
658743b5 |
|
27-Nov-1999 |
David E. O'Brien <obrien@FreeBSD.org> |
/sys adjustments to add the `sym' controler driver. This is commented out in GENERIC as you cannot mix `sym' with `ncr' right now. Note that LINT is no more broken by this commit.
|
#
9cc86ee9 |
|
23-Nov-1999 |
Guido van Rooij <guido@FreeBSD.org> |
Add kernel parts of revived ipfilter (3.3.3.)
|
#
e2dc359f |
|
21-Nov-1999 |
Seigo Tanimura <tanimura@FreeBSD.org> |
- Introduce the bridge drivers for Sound Blaser, GUS and Crystal Semiconductor CS461x/428x. - Add support for GUS and CS461x/428x pcm. - Move newpcm drivers for ISA cards to files.i386. The drivers for PC98 would be something quite different from those for PC/AT. Moving requested by: nyan
|
#
82cd038d |
|
21-Nov-1999 |
Yoshinobu Inoue <shin@FreeBSD.org> |
KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP for IPv6 yet) With this patch, you can assigne IPv6 addr automatically, and can reply to IPv6 ping. Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
|
#
2e0caf2b |
|
20-Nov-1999 |
Cameron Grant <cg@FreeBSD.org> |
changes for the new location of pcm
|
#
50c15101 |
|
18-Nov-1999 |
Peter Wemm <peter@FreeBSD.org> |
Zap nsio
|
#
48e94174 |
|
16-Nov-1999 |
Archie Cobbs <archie@FreeBSD.org> |
Add option NETGRAPH_KSOCKET.
|
#
2a478ba2 |
|
13-Nov-1999 |
Doug Rabson <dfr@FreeBSD.org> |
Add the es1888 PnP helper.
|
#
1a4e73ba |
|
03-Nov-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move strto{u}[ql]() into their own libkern files. Urged by: bde
|
#
6827c8fe |
|
02-Nov-1999 |
Archie Cobbs <archie@FreeBSD.org> |
Add options NETGRAPH_PPP and NETGRAPH_PPPOE.
|
#
e118f907 |
|
02-Nov-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
New driver: Nx64kbit/s E1/T1 cards based on Munich32x&Falc54. This is a netgraph driver.
|
#
e4b8e5f2 |
|
29-Oct-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add entry for sys/dev/mii/mxphy.c which I somehow managed to forget, and which somehow didn't break anything.
|
#
48a1466a |
|
26-Oct-1999 |
Warner Losh <imp@FreeBSD.org> |
Only build old pcic device when building card controller rather than pccard controller.
|
#
dc781fe4 |
|
26-Oct-1999 |
Warner Losh <imp@FreeBSD.org> |
Very preliminary pcic device support. Will make depend, but won't (yet) compile and link. Renamed pcic back to pcic from pcicx, but conditionalize its inclusion on pccard being included also. card is the old and pccard is the new, which is a handy way to have both in the tree at the same time. Obtained from: newconfig project More to follow...
|
#
bfd825c0 |
|
26-Oct-1999 |
Warner Losh <imp@FreeBSD.org> |
Add device entries for new pccard effort.
|
#
4f76d87b |
|
24-Oct-1999 |
Warner Losh <imp@FreeBSD.org> |
Massive rewrite of pccard to convert it to newbus. o Gut the compatibility interface, you now must attach with newbus. o Unit numbers from pccardd are now ignored. This may change the units assigned to a card. It now uses the first available unit. o kill old skeleton code that is now obsolete. o Use newbus attachment code. o cleanup interfile dependencies some. o kill list of devices per slot. we use the device tree for what we need. o Remove now obsolete code. o The ep driver (and maybe ed) may need some config file tweaks to allow it to attach. See config files that were committed for examples on how to do this. Drivers to be commited shortly. This is an interrum fix until the new pccard. ed, ep and sio will be supported by me with this release, although others are welcome to try to support other devices before new pccard is working. I plan on doing minimal further work on this code base. Be careful when upgrading, since this code is known to work on my laptop and those of a couple others as well, but your milage may vary. BUGS TO BE FIXED: o system memory isn't allocated yet, it will be soon. o No devices actually have a pccard newbus attach in the tree. BUGS THAT MIGHT BE FIXED: o card removal, including suspend, usually hangs the system. Many thanks to Peter Wemm and Doug Rabson for helping me to fill in the missing bits of New Bus understanding at FreeBSD Con '99.
|
#
b58a8a3b |
|
22-Oct-1999 |
Julian Elischer <julian@FreeBSD.org> |
Now that Netgraph is in the system there are some cleanups we can do. Also save a slightly closer to completion version of the PPPOE code. Submitted by: Archie Cobbs <archie@freebsd.org>
|
#
4cf49a43 |
|
21-Oct-1999 |
Julian Elischer <julian@FreeBSD.org> |
Whistle's Netgraph link-layer (sometimes more) networking infrastructure. Been in production for 3 years now. Gives Instant Frame relay to if_sr and if_ar drivers, and PPPOE support soon. See: ftp://ftp.whistle.com/pub/archie/netgraph/index.html for on-line manual pages. Reviewed by: Doug Rabson (dfr@freebsd.org) Obtained from: Whistle CVS tree
|
#
67494b1a |
|
21-Oct-1999 |
Luoqi Chen <luoqi@FreeBSD.org> |
Add aic CAM driver support.
|
#
9c21293f |
|
17-Oct-1999 |
John Hay <jhay@FreeBSD.org> |
Add support for the PCI version of the Digi SYNC/570i cards.
|
#
ed339585 |
|
15-Oct-1999 |
Warner Losh <imp@FreeBSD.org> |
Add new file for pccard compatibilty code. Add it to files so it gets pulled in as well.
|
#
029cd3ca |
|
10-Oct-1999 |
Peter Wemm <peter@FreeBSD.org> |
Remove ipfilter files - the hooks remain in ip_input.c and ip_output.c
|
#
aa8239cd |
|
09-Oct-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
pnpparse.c is needed for kernel builds.
|
#
3c624743 |
|
09-Oct-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
- Point the right bits at the new location of the bus front ends. The 'bt' SCSI driver now lives in sys/dev/buslogic. - Correct a few comments.
|
#
6bab6ffe |
|
08-Oct-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Switch over to the new location in sys/dev/dpt. Fix a forgotten #include
|
#
f96c8499 |
|
07-Oct-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Fix amr.c line, a '.' had become a '/'.
|
#
6ac4727a |
|
06-Oct-1999 |
Mike Smith <msmith@FreeBSD.org> |
Connect the 'amr' and 'mlx' drivers. They can be built as modules or integrated into a static kernel as the user wishes.
|
#
e83e2322 |
|
01-Oct-1999 |
Boris Popov <bp@FreeBSD.org> |
ncplib continued: add appropriate options to LINT.
|
#
6a025a98 |
|
30-Sep-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Turn off and remove the 'old' if_ep ISA/EISA/PCCARD driver. Turn on the 'new' if_ep driver which supports: ISA 3c509 MCA 3c529 EISA 3c579 PCCARD 3c589 I think all we're missing is support for the VME bus and S-100 bus Etherlink III cards. The new code has been tested by a number of people and all the important bits work. I've not been able to test the EISA code but will do so once my hardware arrives. Since I've changed nothing in the EISA code I suspect it will perform the same manner as before. Future changes involve whacking the ISA and PCCARD front ends to use newbus and to convert the driver to bus_space and make it use ifmedia. This is the first working network driver that supports MCA bus devices btw. Enjoy.
|
#
28877840 |
|
30-Sep-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Add support for the AHA-1640 SCSI adapter. The changes to sys/dev/aha/aha.c that allow these cards to function properly will be here in a day or 2.
|
#
c2a5d156 |
|
28-Sep-1999 |
Cameron Grant <cg@FreeBSD.org> |
add the ad1816 driver
|
#
d611603d |
|
26-Sep-1999 |
KATO Takenori <kato@FreeBSD.org> |
Move if_ed.c back to files.i386 since pc98 has a special ed driver. Reviewed by: peter
|
#
b0d821b8 |
|
26-Sep-1999 |
Warner Losh <imp@FreeBSD.org> |
Revert non-aha changes. They weren't supposed to go in.
|
#
a78b40a5 |
|
26-Sep-1999 |
Warner Losh <imp@FreeBSD.org> |
Move aha driver to dev/aha like the other drivers. Code relocation only, no code changes.
|
#
75663205 |
|
26-Sep-1999 |
Roger Hardiman <roger@FreeBSD.org> |
Add new Bt848 driver files
|
#
71c4e441 |
|
22-Sep-1999 |
Roger Hardiman <roger@FreeBSD.org> |
Bktr Bt848/Bt878 driver is now in /sys/dev/bktr
|
#
00a6a3c6 |
|
21-Sep-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add an experimental Memory-Disk driver. This driver will allocate memory with malloc(9) using a few tricks to save space on the way.
|
#
76d0dece |
|
21-Sep-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Fix unordering
|
#
814e1609 |
|
19-Sep-1999 |
Peter Wemm <peter@FreeBSD.org> |
Make if_ed work again on pci, isa, isapnp. The hack to make it work on PCCARD is pretty revolting but should buy us time while the pccard driver angle is sorted out. A commit for the MCA ed attachment will follow shortly.
|
#
971d732a |
|
08-Sep-1999 |
Peter Wemm <peter@FreeBSD.org> |
Add $FreeBSD$
|
#
6dfb2a51 |
|
08-Sep-1999 |
Peter Wemm <peter@FreeBSD.org> |
s/sio/nsio/
|
#
e5174d14 |
|
06-Sep-1999 |
Peter Wemm <peter@FreeBSD.org> |
Repo copy isa/sio* to dev/sio/sio* in preperation for extra bus methods including pci. Also, eliminate NSIOTOT and do it dynamically where it matters.
|
#
24b08e1d |
|
06-Sep-1999 |
Peter Wemm <peter@FreeBSD.org> |
add pccard/pccard_nbk.c
|
#
e5a9fd54 |
|
06-Sep-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds driver support for PCI fast ethernet NICs based on the Davicom DM9100 and DM9102 chipsets, including the Jaton Corporation XPressNet. Datasheet is available from www.davicom8.com. The DM910x chips are still more tulip clones. The API is reproduced pretty faithfully, unfortunately the performance is pretty bad. The transmitter seems to have a lot of problems DMAing multi-fragment packets. The only way to make it work reliably is to coalesce transmitted packets into a single contiguous buffer. The Linux driver (written by Davicom) actually does something similar to this. I can't recomment this NIC as anything more than a "connectivity solution." This driver uses newbus and miibus and is supported on both i386 and alpha platforms.
|
#
bbf7ca22 |
|
05-Sep-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add a driver for the AMD AM79c873 10/100 PHY. By some strange coincidence, this PHY and the Davicom DM9101 have exactly the same register definitions. One of them is probably a clone of the other. I'm not sure which. This is needed for the Davicom DM9102 10/100 PCI ethernet driver which will be committed shortly.
|
#
a8bd3cc9 |
|
04-Sep-1999 |
Cameron Grant <cg@FreeBSD.org> |
disable the aureal vortex driver for now
|
#
fdfd9f2f |
|
02-Sep-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
This adds support for the Buslogic/Bustek/Storage Dimensions MCA SCSI adapters. bt_mca.c is going to live in sys/dev/buslogic instead of sys/dev/mca as per a conversation with Peter, Doug and Mike. Thanks to Andy Farkas <andyf@speednet.com.au> for being such a good sport and doing all the testing for me (as I don't actually own one of these cards. Yet.)
|
#
30ca126c |
|
02-Sep-1999 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
This is the rest of the MCA support; new_bus code to be exact. Should we ever find ourselves on an RS/6000 this code should work with few changes.
|
#
4249382d |
|
01-Sep-1999 |
Doug Rabson <dfr@FreeBSD.org> |
This represents essentially a complete rewrite of the ISA PnP code. The new system is integrated with the ISA bus code more cleanly and allows the future addition of more enumerators such as PnPBIOS and ACPI. This commit also enables the new pcm driver since it is somewhat tied to the new PnP code.
|
#
a4f02d20 |
|
31-Aug-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add a driver for the internal PHY in the RealTek 8139.
|
#
da9e4f55 |
|
29-Aug-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add micro "disk" layer which should enable us to pull all the slice/label stuff out of the device drivers.
|
#
d3412372 |
|
27-Aug-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add miibus drivers for the ThunderLAN internal PHY and the Micro Linear ML6692 PHY. The Micro Linear driver is my own; the ThunderLAN driver is a port of the NetBSD driver with various hacks. The ML driver is necessary to support the Olicom OC-2326 ThunderLAN-based NIC. Also regenerated miidevs.h to pick up the proper 'obtained from' revision string.
|
#
23e4757c |
|
21-Aug-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds device driver support for the Sundance Technologies ST201 PCI fast ethernet controller. Currently, the only card I know that uses this chip is the D-Link DFE-550TX. (Don't ask me where to buy these: the only cards I have are samples sent to me by D-Link.) This driver is the first to make use of the miibus code once I'm sure it all works together nicely, I'll start converting the other drivers. The Sundance chip is a clone of the 3Com 3c90x Etherlink XL design only with its own register layout. Support is provided for ifmedia, hardware multicast filtering, bridging and promiscuous mode.
|
#
d0027533 |
|
21-Aug-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds support for the NetBSD MII abstraction layer and MII-compliant PHY drivers. Many 10/100 ethernet NICs available today either use an MII transceiver or have built-in transceivers that can be programmed using an MII interface. It makes sense then to separate this support out into common code instead of duplicating it in all of the NIC drivers. The mii code also handles all of the media detection, selection and reporting via the ifmedia interface. This is basically the same code from NetBSD's /sys/dev/mii, except it's been adapted to FreeBSD's bus architecture. The advantage to this is that it automatically allows everything to be turned into a loadable module. There are some common functions for use in drivers once an miibus has been attached (mii_mediachg(), mii_pollstat(), mii_tick()) as well as individual PHY drivers. There is also a generic driver for all PHYs that aren't handled by a specific driver. It's possible to do this because all 10/100 PHYs implement the same general register set in addition to their vendor-specific register sets, so for the most part you can use one driver for pretty much any PHY. There are a couple of oddball exceptions though, hence the need to have specific drivers. There are two layers: the generic "miibus" layer and the PHY driver layer. The drivers are child devices of "miibus" and the "miibus" is a child of a given NIC driver. The "miibus" code and the PHY drivers can actually be compiled and kldoaded as completely separate modules or compiled together into one module. For the moment I'm using the latter approach since the code is relatively small. Currently there are only three PHY drivers here: the generic driver, the built-in 3Com XL driver and the NS DP83840 driver. I'll be adding others later as I convert various NIC drivers to use this code. I realize that I'm cvs adding this stuff instead of importing it onto a separate vendor branch, but in my opinion the import approach doesn't really offer any significant advantage: I'm going to be maintaining this stuff and writing my own PHY drivers one way or the other.
|
#
fcb893a8 |
|
21-Aug-1999 |
Mike Smith <msmith@FreeBSD.org> |
Implement a new generic mechanism for attaching handler functions to events, in order to pave the way for removing a number of the ad-hoc implementations currently in use. Retire the at_shutdown family of functions and replace them with new event handler lists. Rework kern_shutdown.c to take greater advantage of the use of event handlers. Reviewed by: green
|
#
dba6c5a6 |
|
18-Aug-1999 |
Peter Wemm <peter@FreeBSD.org> |
Extract the next runnable process selection out of cpu_switch() into a fairly machine independent C routine. gcc actually does a pretty good job of this. Reviewed by: msmith (in principle)
|
#
ce9edcf5 |
|
09-Aug-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Merge the cons.c and cons.h to the best of my ability. alpha may or may not compile, I can't test it.
|
#
74f13f19 |
|
08-Aug-1999 |
Greg Lehey <grog@FreeBSD.org> |
Add vinumraid5.c to the files for Vinum. This allows (deprecated) kernel builds with Vinum. Linted-by: phk
|
#
691c1528 |
|
24-Jul-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds device driver support for Adaptec Duralink PCI fast ethernet controllers based on the AIC-6915 "Starfire" controller chip. There are single port, dual port and quad port cards, plus one 100baseFX card. All are 64-bit PCI devices, except one single port model. The Starfire would be a very nice chip were it not for the fact that receive buffers have to be longword aligned. This requires buffer copying in order to achieve proper payload alignment on the alpha. Payload alignment is enforced on both the alpha and x86 platforms. The Starfire has several different DMA descriptor formats and transfer mechanisms. This driver uses frame descriptors for transmission which can address up to 14 packet fragments, and a single fragment descriptor for receive. It also uses the producer/consumer model and completion queues for both transmit and receive. The transmit ring has 128 descriptors and the receive ring has 256. This driver supports both FreeBSD/i386 and FreeBSD/alpha, and uses newbus so that it can be compiled as a loadable kernel module. Support for BPF and hardware multicast filtering is included.
|
#
3ebb0905 |
|
08-Jul-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds driver support for the SysKonnect SK-984x series gigabit ethernet adapters. This includes two single port cards (single mode and multimode fiber) and two dual port cards (also single mode and multimode fiber). SysKonnect is currently the only vendor with a dual port gigabit ethernet NIC. The ports on dual port adapters are treated as separate network interfaces. Thus, if you have an SK-9844 dual port SX card, you should have both sk0 and sk1 interfaces attached. Dual port cards are implemented using two XMAC II chips connected to a single SysKonnect GEnesis controller. Hence, dual port cards are really one PCI device, as opposed to two separate PCI devices connected through a PCI to PCI bridge. Note that SysKonnect's drivers use the two ports for failover purposes rather that as two separate interfaces, plus they don't support jumbo frames. This applies to their Linux driver too. :) Support is provided for hardware multicast filtering, BPF and jumbo frames. The SysKonnect cards support TCP checksum offload however this feature is not currently enabled (hopefully it will be once we get checksum offload support). There are still a few things that need to be implemeted, like the ability to communicate with the on-board LM80 voltage/temperature monitor, but I wanted to get the driver under CVS control and into -current so people could bang on it. A big thanks for SysKonnect for making all their programming info for these cards (and for their FDDI and token ring cards) available without NDA (see www.syskonnect.com).
|
#
ab001a72 |
|
08-Jul-1999 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Implement support for hardware debug registers on the i386. Submitted by: Brian Dean <brdean@unx.sas.com>
|
#
6b5ca0d8 |
|
06-Jul-1999 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Rename bpfilter to bpf.
|
#
9929d2a0 |
|
03-Jul-1999 |
Peter Wemm <peter@FreeBSD.org> |
Eliminate a bunch of #include "pci.h" and #if NPCI > 0 around entire files. config will leave the whole file out if configured to do so.
|
#
6c205e59 |
|
03-Jul-1999 |
Peter Wemm <peter@FreeBSD.org> |
Delete the 'device-driver' suffix. It's been meaningless for a long time. On the VAX, it used to be used for special compilation to avoid the optimizer which would mess with memory mapped devices etc. These days we use 'volatile'.
|
#
dae36f14 |
|
03-Jul-1999 |
Peter Wemm <peter@FreeBSD.org> |
Move bt_isa.c to the cpu-independent isa section.
|
#
9c8b8baa |
|
01-Jul-1999 |
Peter Wemm <peter@FreeBSD.org> |
Slight reorganization of kernel thread/process creation. Instead of using SYSINIT_KT() etc (which is a static, compile-time procedure), use a NetBSD-style kthread_create() interface. kproc_start is still available as a SYSINIT() hook. This allowed simplification of chunks of the sysinit code in the process. This kthread_create() is our old kproc_start internals, with the SYSINIT_KT fork hooks grafted in and tweaked to work the same as the NetBSD one. One thing I'd like to do shortly is get rid of nfsiod as a user initiated process. It makes sense for the nfs client code to create them on the fly as needed up to a user settable limit. This means that nfsiod doesn't need to be in /sbin and is always "available". This is a fair bit easier to do outside of the SYSINIT_KT() framework.
|
#
7ab6ba97 |
|
23-Jun-1999 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Fix more disordering I missed last time.
|
#
8c3f8112 |
|
23-Jun-1999 |
Jonathan Lemon <jlemon@FreeBSD.org> |
fix disordering
|
#
79eab21d |
|
23-Jun-1999 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Add IDA files
|
#
a92ac6bc |
|
01-Jun-1999 |
Doug Rabson <dfr@FreeBSD.org> |
Move fd driver back to files.${arch} since pc98 has a special fd driver.
|
#
c77dda34 |
|
31-May-1999 |
Doug Rabson <dfr@FreeBSD.org> |
The fd driver has moved from i386/isa to isa.
|
#
fdd1fe20 |
|
22-May-1999 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add the amd driver.
|
#
a3be63b3 |
|
22-May-1999 |
Doug Rabson <dfr@FreeBSD.org> |
* Factor out the common code between the isa bus drivers for i386 and alpha. * Re-work the resource allocation code to use helper functions in subr_bus.c. * Add simple isa interface for manipulating the resource ranges which can be allocated and remove the code from isa_write_ivar() which was previously used for this purpose.
|
#
ab431312 |
|
20-May-1999 |
Bill Paul <wpaul@FreeBSD.org> |
This commit adds driver support for PCI fast ethernet cards based on the ADMtek AL981 "Comet" chipset. The AL981 is yet another DEC tulip clone, except with simpler receive filter options. The AL981 has a built-in transceiver, power management support, wake on LAN and flow control. This chip performs extremely well; it's on par with the ASIX chipset in terms of speed, which is pretty good (it can do 11.5MB/sec with TCP easily). I would have committed this driver sooner, except I ran into one problem with the AL981 that required a workaround. When the chip is transmitting at full speed, it will sometimes wedge if you queue a series of packets that wrap from the end of the transmit descriptor list back to the beginning. I can't explain why this happens, and none of the other tulip clones behave this way. The workaround this is to just watch for the end of the transmit ring and make sure that al_start() breaks out of its packet queuing loop and waiting until the current batch of transmissions completes before wrapping back to the start of the ring. Fortunately, this does not significantly impact transmit performance. This is one of those things that takes weeks of analysis just to come up with two or three lines of code changes.
|
#
f26c33d2 |
|
20-May-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
usbdi.h: Implement priorities. GENERIC, LINT, files: Remove remarks about ordering of device names. GENERIC, LINT: Sort the devices alphabetically in LINT and GENERIC.
|
#
6c2e3dde |
|
14-May-1999 |
Doug Rabson <dfr@FreeBSD.org> |
* Define a new static method DEVICE_IDENTIFY which is called to add device instances to a parent bus. * Define a new method BUS_ADD_CHILD which can be called from DEVICE_IDENTIFY to add new instances. * Add a generic implementation of DEVICE_PROBE which calls DEVICE_IDENTIFY for each driver attached to the parent's devclass. * Move the hint-based isa probe from the isa driver to a new isahint driver which can be shared between i386 and alpha.
|
#
ac48316f |
|
11-May-1999 |
Peter Wemm <peter@FreeBSD.org> |
Send subr_rlist.c off to the big Attic in the sky. It's been #if 0'ed for quite some time now and can be revived in a moment's notice if needed. (It was replaced by subr_blist.c for VM/swap)
|
#
d37ed5a0 |
|
30-Apr-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a new "file" to procfs: "rlimit" which shows the resource limits for the process. PR: 11342 Submitted by: Adrian Chadd adrian@freebsd.org Reviewed by: phk
|
#
75c13541 |
|
28-Apr-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
This Implements the mumbled about "Jail" feature. This is a seriously beefed up chroot kind of thing. The process is jailed along the same lines as a chroot does it, but with additional tough restrictions imposed on what the superuser can do. For all I know, it is safe to hand over the root bit inside a prison to the customer living in that prison, this is what it was developed for in fact: "real virtual servers". Each prison has an ip number associated with it, which all IP communications will be coerced to use and each prison has its own hostname. Needless to say, you need more RAM this way, but the advantage is that each customer can run their own particular version of apache and not stomp on the toes of their neighbors. It generally does what one would expect, but setting up a jail still takes a little knowledge. A few notes: I have no scripts for setting up a jail, don't ask me for them. The IP number should be an alias on one of the interfaces. mount a /proc in each jail, it will make ps more useable. /proc/<pid>/status tells the hostname of the prison for jailed processes. Quotas are only sensible if you have a mountpoint per prison. There are no privisions for stopping resource-hogging. Some "#ifdef INET" and similar may be missing (send patches!) If somebody wants to take it from here and develop it into more of a "virtual machine" they should be most welcome! Tools, comments, patches & documentation most welcome. Have fun... Sponsored by: http://www.rndassociates.com/ Run for almost a year by: http://www.servetheweb.com/
|
#
f8dc4716 |
|
27-Apr-1999 |
Mike Smith <msmith@FreeBSD.org> |
Allow loadable interface drivers with BPF support to be loaded into a kernel that doesn't have it. This is achieved by having minimal do-nothing stubs enabled when there are no bpfilter devices configured. Driver modules should be built with BPF enabled for maximum convenience (but can be built without it for maximum performance).
|
#
d95939af |
|
19-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
Zap LKM option and support. Farewell old friend.
|
#
8da287ce |
|
16-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
oops, there was no tek390.c from the last commit, that's something on one of Doug's machines apparently.
|
#
6182fdbd |
|
16-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
Bring the 'new-bus' to the i386. This extensively changes the way the i386 platform boots, it is no longer ISA-centric, and is fully dynamic. Most old drivers compile and run without modification via 'compatability shims' to enable a smoother transition. eisa, isapnp and pccard* are not yet using the new resource manager. Once fully converted, all drivers will be loadable, including PCI and ISA. (Some other changes appear to have snuck in, including a port of Soren's ATA driver to the Alpha. Soren, back this out if you need to.) This is a checkpoint of work-in-progress, but is quite functional. The bulk of the work was done over the last few years by Doug Rabson and Garrett Wollman. Approved by: core
|
#
ec71ab8e |
|
16-Apr-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
Remove the entries for umodem and ucom. These drivers only probe and attach, nothing else. This is confusing to people.
|
#
b9da1144 |
|
13-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
Build the functionality of the wdc_p hack into the ide_pci.c code. All it did was match a specific device ID and turn on a quirk for the wdc driver. Incidently, at line 1462 there is a return that prevents the generic ide_pci code from trying to look at the device. I'd be interested to know if we can take out the return and let the generic code "see" it. I've left the return in because that's the way it worked before. (Be sure to rerun config after cvsup or you'll get undefined files!)
|
#
5628cc31 |
|
08-Apr-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
In preparation of the commit of the umass driver and to make life easier for testers.
|
#
d02c2331 |
|
06-Apr-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add driver support for gigabit ethernet adapters based on the Alteon Networks Tigon 1 and Tigon 2 chipsets. There are a _lot_ of OEM'ed gigabit ethernet adapters out there which use the Alteon chipset so this driver covers a fair amount of hardware. I know that it works with the Alteon AceNIC, 3Com 3c985 and Netgear GA620, however it should also work with the DEC/Compaq EtherWORKS 1000, Silicon Graphics Gigabit ethernet board, NEC Gigabit Ethernet board and maybe even the IBM and and Sun boards. The Netgear board is the cheapest (~$350US) but still yields fairly good performance. Support is provided for jumbo frames with all adapters (just set the MTU to something larger than 1500 bytes), as well as hardware multicast filtering and vlan tagging (in conjunction with the vlan support in -current, which I should merge into -stable soon). There are some hooks for checksum offload support, but they're turned off for now since FreeBSD doesn't have an officially sanctioned way to support checksum offloading (yet). I have not added the 'device ti0' entry to GENERIC since the driver with all the firmware compiled in is quite large, and it doesn't really fit into the category of generic hardware.
|
#
4a64714f |
|
29-Mar-1999 |
Kenneth D. Merry <ken@FreeBSD.org> |
Delete all references to the "aic" driver. It isn't in the tree, and may not show up for a while, and I'm tired of people asking about it. Perhaps this will eliminate some of the confusion.
|
#
7e8dac41 |
|
02-Mar-1999 |
Semen Ustimenko <semenu@FreeBSD.org> |
Add new kernel option: options NTFS
|
#
1571f899 |
|
21-Feb-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
Rename hid device to uhid (HID: Human Interface Device)
|
#
722012cc |
|
20-Feb-1999 |
Julian Elischer <julian@FreeBSD.org> |
World, I'd like you to meet the first FreeBSD token Ring driver. This is for various Olicom cards. An IBM driver is following. This patch also adds support to tcpdump to decode packets on tokenring. Congratulations to the proud father.. (below) Submitted by: Larry Lile <lile@stdio.com>
|
#
fe5ba845 |
|
18-Feb-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
Moved [uo]hci_pci.c from /sys/dev/pci to /sys/pci after Soren threatened to send Bruce. These files are no longer shared with NetBSD anyway. Requires a config and make depend.
|
#
fdf94d1a |
|
13-Feb-1999 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Rename nlpt to lpt. Remove from ppi.c the old depreciated module stuff. Print info when if_plip can't use interrupts.
|
#
24ca0d70 |
|
13-Feb-1999 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Add pci/alpm.c, Aladdin SMBus driver (alpm(4)).
|
#
bd56b99a |
|
29-Jan-1999 |
Mark Newton <newton@FreeBSD.org> |
New pseudo-device to provide for a way of obtaining a socket by open()ing something in /dev. Obtained from: Christos Zoulas (NetBSD)
|
#
04fb1490 |
|
25-Jan-1999 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Terminate commit for the Intel PIIX4 SMBus support. Already committed files are sys/pci/intpm* Submitted by: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
|
#
8492b0d1 |
|
22-Jan-1999 |
Peter Wemm <peter@FreeBSD.org> |
Add vinumdaemon.c; sort vinum entries.
|
#
066f67b1 |
|
21-Jan-1999 |
Nick Hibma <n_hibma@FreeBSD.org> |
Make uhub mandatory in usb config (msmith)
|
#
1c7c3c6a |
|
21-Jan-1999 |
Matthew Dillon <dillon@FreeBSD.org> |
This is a rather large commit that encompasses the new swapper, changes to the VM system to support the new swapper, VM bug fixes, several VM optimizations, and some additional revamping of the VM code. The specific bug fixes will be documented with additional forced commits. This commit is somewhat rough in regards to code cleanup issues. Reviewed by: "John S. Dyson" <root@dyson.iquest.net>, "David Greenman" <dg@root.com>
|
#
f20a9c5a |
|
17-Jan-1999 |
Peter Wemm <peter@FreeBSD.org> |
LKM kernel support becomes optional on "options LKM". (Bear in mind that the default kernel is now ELF and cannot load these LKM's).
|
#
46bfb765 |
|
16-Jan-1999 |
Doug Rabson <dfr@FreeBSD.org> |
Add kern_syscalls.c Submitted by: Assar Westerlund <assar@sics.se>
|
#
118537f2 |
|
14-Jan-1999 |
Mike Smith <msmith@FreeBSD.org> |
Add sscanf/vsscanf/strtoq/strtouq to the kernel. Initially these will be used for parsing kernel environment values, although they have utility elsewhere.
|
#
d95bc0d6 |
|
13-Jan-1999 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add entry for the target mode black hole driver.
|
#
31188d61 |
|
09-Jan-1999 |
Bill Paul <wpaul@FreeBSD.org> |
Add driver support (and man page) for PCI fast ethernet cards based on the ASIX AX88140A chip. Update /sys/conf/files, RELNOTES.TXT, /sys/i388/i386/userconfig.c, sysinstall/devices.c, GENERIC and LINT accordingly. For now, the only board that I know of that uses this chip is the Alfa Inc. GFC2204. (Its predecessor, the GFC2202, was a DEC tulip card.) Thanks again to Ulf for obtaining the board for me. If anyone runs across another, please feel free to update the man page and/or the release notes. (The same applies for the other drivers.) FreeBSD should now have support for all of the DEC tulip workalike chipsets currently on the market (Macronix, Lite-On, Winbond, ASIX). And unless I'm mistaken, it should also have support for all PCI fast ethernet chipsets in general (except maybe the SMC FEAST chip, which nobody seems to ever use, including SMC). Now if only we could convince 3Com, Intel or whoever to cough up some documentation for gigabit ethernet hardware. Also updated RELNOTEX.TXT to mention that the SVEC PN102TX is supported by the Macronix driver (assuming you actually have an SVEC PN102TX with a Macronix chip on it; I tried to order a PN102TX once and got a box labeled 'Hawking Technology PN102TX' that had a VIA Rhine board inside it).
|
#
a9d45962 |
|
28-Dec-1998 |
Peter Wemm <peter@FreeBSD.org> |
Config glue for 'pseudo-device vinum'
|
#
19c74962 |
|
27-Dec-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Initial entry of ISDN4BSD into the FreeBSD tree. ISDN4BSD is the work of our brand-new comitter: Hellmuth Michaelis, who has done a tremendous amount of work to bring us this far. There are still some outstanding issues and files to bring into the tree, and for now it will be needed to pick up all the extra docs from the isdn4bsd release. It is probably also a very good idea to subscribe to the isdn@freebsd.org mailing list before you try this out. These files correspond to release "beta Version 0.70.00 / December 1998" from Hellmuth.
|
#
508d0661 |
|
14-Dec-1998 |
Luigi Rizzo <luigi@FreeBSD.org> |
Bring dummynet+bridging in -current. Everything will be ready when LINT is updated.
|
#
aee1b5a2 |
|
13-Dec-1998 |
Nick Hibma <n_hibma@FreeBSD.org> |
Added uhid again, sorting seems to work now
|
#
eca58e5e |
|
13-Dec-1998 |
Nick Hibma <n_hibma@FreeBSD.org> |
dded the stubs for umodem and ucom (communications class driver). They are nothing other than the ugen driver with different variable names.
|
#
7ee72fdb |
|
10-Dec-1998 |
Nick Hibma <n_hibma@FreeBSD.org> |
Reversed the order of the USB devices, makes sure the ugen device is probed last
|
#
a48e33e0 |
|
09-Dec-1998 |
Nick Hibma <n_hibma@FreeBSD.org> |
Preliminary support for OHCI motherboards
|
#
f7c9e34b |
|
07-Dec-1998 |
Warner Losh <imp@FreeBSD.org> |
If there is no .depends file, use the standard ad-hoc way of ensuring that the generated files are generated before any of the object files. Also minor cleanup of dependencies in conf/files that I bogusly added before. This should fix the requirement that make depend be done starting from a clean config directory. If you don't have a clean directory, make depend is still required if you want the proper .o's to be recompiled. Reviewed by: bde
|
#
726ff6a1 |
|
04-Dec-1998 |
Bill Paul <wpaul@FreeBSD.org> |
An early Christmas present: add driver support for a whole bunch of PCI fast ethernet adapters, plus man pages. if_pn.c: Netgear FA310TX model D1, LinkSys LNE100TX, Matrox FastNIC 10/100, various other PNIC devices if_mx.c: NDC Communications SOHOware SFA100 (Macronix 98713A), various other boards based on the Macronix 98713, 98713A, 98715, 98715A and 98725 chips if_vr.c: D-Link DFE530-TX, other boards based on the VIA Rhine and Rhine II chips (note: the D-Link and certain other cards that actually use a Rhine II chip still return the PCI device ID of the Rhine I. I don't know why, and it doesn't really matter since the driver treats both chips the same anyway.) if_wb.c: Trendware TE100-PCIE and various other cards based on the Winbond W89C840F chip (the Trendware card is identical to the sample boards Winbond sent me, so who knows how many clones there are running around) All drivers include support for ifmedia, BPF and hardware multicast filtering. Also updated GENERIC, LINT, RELNOTES.TXT, userconfig and sysinstall device list. I also have a driver for the ASIX AX88140A in the works.
|
#
0cec007c |
|
26-Nov-1998 |
Nick Hibma <n_hibma@FreeBSD.org> |
Initial commit of ported NetBSD USB stack
|
#
5b6a440b |
|
24-Nov-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Whoops - wrong copy of files, so all wasn't converted. Rest of perl -> perl5
|
#
999c8b94 |
|
24-Nov-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
perl -> perl5, to allow to compile on older boxes with perl5 installed (but without perl5 as the system perl)
|
#
128d4f39 |
|
15-Nov-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Build subr_rman.c by default.
|
#
abb46fda |
|
11-Nov-1998 |
Mike Smith <msmith@FreeBSD.org> |
Remove the 'amd' driver.
|
#
710c119c |
|
08-Nov-1998 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Update configuration files for the perl based makedevops script. Submitted by: Nick Hibma <nick.hibma@jrc.it> Approved by: Doug Rabson <dfr@nlsystems.com>
|
#
fb46af4f |
|
03-Nov-1998 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Back out previous commit. The bpfilter -> bpf transition will have to be a flag day unless we can hack config(8) to smooth things over.
|
#
10b4ab47 |
|
03-Nov-1998 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Rename the 'bpfilter' pseudo-device to 'bpf'. The old syntax is still legal and will stick around for a while.
|
#
206b8575 |
|
31-Oct-1998 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Extensions to iicbus(4) added + brooktree848 driver ported to new I2C framework.
|
#
858bb1f5 |
|
25-Oct-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add some missing dependencies. Grumbled about in principle: bde
|
#
589e38a6 |
|
18-Oct-1998 |
Bill Paul <wpaul@FreeBSD.org> |
Add driver support for PCI fast ethernet adapters based on the RealTek 8129/8139 chipset like I've been threatening. Update kernel configs, userconfig.c, relnotes and sysinstall. No man page yet; comming soon. I consider this driver stable enough that I want to give it some exposure in -current.
|
#
8015a6ef |
|
18-Oct-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Added missing dependency for bus_if.o on bus_if.h
|
#
456aa5a8 |
|
14-Oct-1998 |
Peter Wemm <peter@FreeBSD.org> |
Forgot to commit this; the alpha uses the kld symbol interface now. The tables that db_elf.c is expecting are not loaded in that format any more.
|
#
1dd643ab |
|
09-Oct-1998 |
Peter Wemm <peter@FreeBSD.org> |
Remove DDB_ELF_SYMBOLS and DDB_KLD_SYMBOLS options. KLD will be the sole interface to symbols in an elf kernel.
|
#
8aeb56c2 |
|
08-Oct-1998 |
Mike Smith <msmith@FreeBSD.org> |
New files for kernel environment and module metadata interfaces.
|
#
85186e46 |
|
06-Oct-1998 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add support for the ASC3550 AdvanSys SCSI Host Controller (aka 940UW).
|
#
641fc5df |
|
20-Sep-1998 |
Bruce Evans <bde@FreeBSD.org> |
Clean aicasm's lex and yacc generated source files.
|
#
3a049d03 |
|
20-Sep-1998 |
Bruce Evans <bde@FreeBSD.org> |
Removed entries for dead SLICE files. Removed commented out entries for dead networking files (netccitt etc.). Uncommented entries for zombie networking files (netns).
|
#
3f8c4506 |
|
15-Sep-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
(this is an extract from src/share/examples/atm/README) =================================== HARP | Host ATM Research Platform =================================== HARP 3 What is this stuff? ------------------- The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center, Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed the Host ATM Research Platform (HARP) software, which allows IP hosts to communicate over ATM networks using standard protocols. It is intended to be a high-quality platform for IP/ATM research. HARP provides a way for IP hosts to connect to ATM networks. It supports standard methods of communication using IP over ATM. A host's standard IP software sends and receives datagrams via a HARP ATM interface. HARP provides functionality similar to (and typically replaces) vendor-provided ATM device driver software. HARP includes full source code, making it possible for researchers to experiment with different approaches to running IP over ATM. HARP is self-contained; it requires no other licenses or commercial software packages. HARP implements support for the IETF Classical IP model for using IP over ATM networks, including: o IETF ATMARP address resolution client o IETF ATMARP address resolution server o IETF SCSP/ATMARP server o UNI 3.1 and 3.0 signalling protocols o Fore Systems's SPANS signalling protocol What's supported ---------------- The following are supported by HARP 3: o ATM Host Interfaces - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters - FORE Systems, Inc. PCA-200E ATM PCI Adapters - Efficient Networks, Inc. ENI-155p ATM PCI Adapters o ATM Signalling Protocols - The ATM Forum UNI 3.1 signalling protocol - The ATM Forum UNI 3.0 signalling protocol - The ATM Forum ILMI address registration - FORE Systems's proprietary SPANS signalling protocol - Permanent Virtual Channels (PVCs) o IETF "Classical IP and ARP over ATM" model - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - RFC 1577, "Classical IP and ARP over ATM" - RFC 1626, "Default IP MTU for use over ATM AAL5" - RFC 1755, "ATM Signaling Support for IP over ATM" - RFC 2225, "Classical IP and ARP over ATM" - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, "A Distributed ATMARP Service Using SCSP" o ATM Sockets interface - The file atm-sockets.txt contains further information What's not supported -------------------- The following major features of the above list are not currently supported: o UNI point-to-multipoint support o Driver support for Traffic Control/Quality of Service o SPANS multicast and MPP support o SPANS signalling using Efficient adapters This software was developed under the sponsorship of the Defense Advanced Research Projects Agency (DARPA). Reviewed (lightly) by: phk Submitted by: Network Computing Services, Inc.
|
#
bf21c633 |
|
15-Sep-1998 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Update for CAM.
|
#
22d4b0fb |
|
13-Sep-1998 |
John Polstra <jdp@FreeBSD.org> |
Add provisions for variant core dump file formats, depending on the object format of the executable being dumped. This is the first step toward producing ELF core dumps in the proper format. I will commit the code to generate the ELF core dumps Real Soon Now. In the meantime, ELF executables won't dump core at all. That is probably no less useful than dumping a.out-style core dumps as they have done until now. Submitted by: Alex <garbanzo@hooked.net> (with very minor changes by me)
|
#
15cc1109 |
|
13-Sep-1998 |
Nicolas Souchu <nsouch@FreeBSD.org> |
add immio.c for ZIP+ support
|
#
d3459488 |
|
13-Sep-1998 |
Robert V. Baron <rvb@FreeBSD.org> |
Finish conversion of cfs -> coda
|
#
9afcea2f |
|
11-Sep-1998 |
Robert V. Baron <rvb@FreeBSD.org> |
All the references to cfs, in symbols, structs, and strings have been changed to coda. (Same for CFS.)
|
#
e8ddcfd6 |
|
09-Sep-1998 |
Warner Losh <imp@FreeBSD.org> |
Add dependency for subr_bus.c on bus_if.h and device_if.h so that a make depend is not required to just build the kernel. Reviewed by: Doug Rabson
|
#
d41c96ee |
|
03-Sep-1998 |
Nicolas Souchu <nsouch@FreeBSD.org> |
Reviewed by: Doug Rabson Submitted by: nsouch I2C and SMB files added + new bus arch. files description
|
#
41159be7 |
|
02-Sep-1998 |
Robert V. Baron <rvb@FreeBSD.org> |
Pass2 complete
|
#
e30938ce |
|
16-Aug-1998 |
Bill Paul <wpaul@FreeBSD.org> |
Import the (Fast) Etherlink XL driver. I'm reasonally confident in its stability now. ALso modify /sys/conf/files, /sys/i386/conf/GENERIC and /sys/i386/conf/LINT to add entries for the XL driver. Deactivate support for the XL adapters in the vortex driver. LAstly, add a man page. (Also added an MLINKS entry for the ThunderLAN man page which I forgot previously.)
|
#
46f3ff79 |
|
03-Aug-1998 |
Mike Smith <msmith@FreeBSD.org> |
Major ppbus updates from the author. - ppbus now supports PLIP via the if_plip driver - ieee1284 infrastructure added, including parallel-port PnP - port microsequencer added, for scripting the sort of port I/O that is common with parallel devices without endless calls up and down through the driver structure. - improved bus ownership behaviour among the ppbus-using drivers. - improved I/O chipset feature detection The vpo driver is now implemented using the microsequencer, leading to some performance improvements as well as providing an extensive example of its use. Reviewed by: msmith Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
|
#
5c3c780f |
|
28-Jul-1998 |
Brian Somers <brian@FreeBSD.org> |
pseudo-device ssc requires su.c (pseudo-device su) Submitted by: woods@zeus.leitch.com (Greg A. Woods) PR: 7413
|
#
673796a7 |
|
30-Jun-1998 |
Bruce Evans <bde@FreeBSD.org> |
Nuked opt_defunct.h and kern_opt.c. config(8) now generates good enough warnings about all unknown options.
|
#
14c35d6c |
|
27-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Add options for selecting ELF or KLD symbols in DDB.
|
#
7066d59c |
|
14-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Oops, wrong file again.
|
#
99d11cde |
|
14-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Major changes to the generic device framework for FreeBSD/alpha: * Eliminate bus_t and make it possible for all devices to have attached children. * Support dynamically extendable interfaces for drivers to replace both the function pointers in driver_t and bus_ops_t (which has been removed entirely. Two system defined interfaces have been defined, 'device' which is mandatory for all devices and 'bus' which is recommended for all devices which support attached children. * In addition, the alpha port defines two simple interfaces 'clock' for attaching various real time clocks to the system and 'mcclock' for the many different variations of mc146818 clocks which can be attached to different alpha platforms. This eliminates two more function pointer tables in favour of the generic method dispatch system provided by the device framework. Future device interfaces may include: * cdev and bdev interfaces for devfs to use in replacement for specfs and the fixed interfaces bdevsw and cdevsw. * scsi interface to replace struct scsi_adapter (not sure how this works in CAM but I imagine there is something similar there). * various tailored interfaces for different bus types such as pci, isa, pccard etc.
|
#
dd08c7e2 |
|
10-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
I accidentally committed the wrong file, sorry.
|
#
897cd717 |
|
10-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Add initial support for the FreeBSD/alpha kernel. This is very much a work in progress and has never booted a real machine. Initial development and testing was done using SimOS (see http://simos.stanford.edu for details). On the SimOS simulator, this port successfully reaches single-user mode and has been tested with loads as high as one copy of /bin/ls :-). Obtained from: partly from NetBSD/alpha
|
#
5db3b831 |
|
30-May-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add minimum driver for XC6200 based cards. Currently it knows about the HOT1 from www.vcc.com.
|
#
49ba456b |
|
23-May-1998 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Remove two CODA entries by request. Submitted by: Robert Baron <rvb@sicily.odyssey.cs.cmu.edu>
|
#
c24476e3 |
|
20-May-1998 |
Bill Paul <wpaul@FreeBSD.org> |
Add entry for ThunderLAN driver to files.
|
#
1f91d8c5 |
|
19-May-1998 |
David Greenman <dg@FreeBSD.org> |
Added fast IP forwarding code by Matt Thomas <matt@3am-software.com> via NetBSD, ported to FreeBSD by Pierre Beyssac <pb@fasterix.freenix.org> and minorly tweaked by me. This is a standard part of FreeBSD, but must be enabled with: "sysctl -w net.inet.ip.fastforwarding=1" ...and of course forwarding must also be enabled. This should probably be modified to use the zone allocator for speed and space efficiency. The current algorithm also appears to lose if the number of active paths exceeds IPFLOW_MAX (256), in which case it wastes lots of time trying to figure out which cache entry to drop.
|
#
65adb54c |
|
22-Apr-1998 |
Matt Jacob <mjacob@FreeBSD.org> |
Add support for the Qlogic ISP SCSI && FC/AL Adapters
|
#
3e425b96 |
|
19-Apr-1998 |
Julian Elischer <julian@FreeBSD.org> |
Add changes and code to implement a functional DEVFS. This code will be turned on with the TWO options DEVFS and SLICE. (see LINT) Two labels PRE_DEVFS_SLICE and POST_DEVFS_SLICE will deliniate these changes. /dev will be automatically mounted by init (thanks phk) on bootup. See /sys/dev/slice/slice.4 for more info. All code should act the same without these options enabled. Mike Smith, Poul Henning Kamp, Soeren, and a few dozen others This code does not support the following: bad144 handling. Persistance. (My head is still hurting from the last time we discussed this) ATAPI flopies are not handled by the SLICE code yet. When this code is running, all major numbers are arbitrary and COULD be dynamically assigned. (this is not done, for POLA only) Minor numbers for disk slices ARE arbitray and dynamically assigned.
|
#
934f5f33 |
|
29-Mar-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Export MD5Transform in md5.c and remove a private version in random_machdep.c md5 is standard as a consequence of this.
|
#
adc5342c |
|
28-Mar-1998 |
Peter Dufault <dufault@FreeBSD.org> |
The system call stubs for the sched_* system calls can't be optional. The kernel will now link but the new system calls can't be LKM'd in without the P1003_1B option - I will remove this option later.
|
#
8a6472b7 |
|
28-Mar-1998 |
Peter Dufault <dufault@FreeBSD.org> |
Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and _KPOSIX_PRIORITY_SCHEDULING options to work. Changes: Change all "posix4" to "p1003_1b". Misnamed files are left as "posix4" until I'm told if I can simply delete them and add new ones; Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux; Add man pages for _POSIX_PRIORITY_SCHEDULING system calls; Add options to LINT; Minor fixes to P1003_1B code during testing.
|
#
1ee25934 |
|
21-Mar-1998 |
Peter Wemm <peter@FreeBSD.org> |
Make this compile.. There are some unpleasing hacks in here. A major unifdef session is sorely tempting but would destroy any remaining chance of tracking the original sources.
|
#
d2ca4e98 |
|
19-Mar-1998 |
Bruce Evans <bde@FreeBSD.org> |
Fixed building of kernels without `options FFS'. ffs_softdep_stub.c is not optional, since several "standard" files in ufs/ufs reference it.
|
#
2cc2df49 |
|
17-Mar-1998 |
Garrett Wollman <wollman@FreeBSD.org> |
Add preliminary support for IEEE 802.1Q VLAN tagging. It doesn't actually work reliably yet (I've had panics), but it does seem to occasionally be able to transmit and receive syntactically-correct packets. Also fixes one of if_ethersubr.c's legion style bugs, and removes the hostcache code from standard kernels---the code that depends on it is not going to happen any time soon, I'm afraid.
|
#
fdc021ba |
|
10-Mar-1998 |
Julian Elischer <julian@FreeBSD.org> |
Add EISA support for DPT drivers Submitted by: Matthew Dodd Reviewd by: shimon@simon-shapiro.org (DPT author)
|
#
b1897c19 |
|
08-Mar-1998 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: dyson@freebsd.org (john Dyson), dg@root.com (david greenman) Submitted by: Kirk McKusick (mcKusick@mckusick.com) Obtained from: WHistle development tree
|
#
917e476d |
|
04-Mar-1998 |
Peter Dufault <dufault@FreeBSD.org> |
Reviewed by: msmith, bde long ago POSIX.4 headers and sysctl variables. Nothing should change unless POSIX4 is defined or _POSIX_VERSION is set to 199309.
|
#
751bf650 |
|
27-Feb-1998 |
Jun-ichiro itojun Hagino <itojun@FreeBSD.org> |
make sys/netkey/key{,_debug}.c compile. I believe it works but not tested. I'll polish the code later on.
|
#
b44fb1c4 |
|
21-Feb-1998 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
MF22: CODA entries. Submitted by: "Robert.V.Baron" <rvb@GLUCK.CODA.CS.CMU.EDU>
|
#
507e2e44 |
|
13-Feb-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a skelleton pulse-per-second timing driver. This will become more useful when I get my timecounter changes past the Bruce-filter.
|
#
c5b193bf |
|
30-Jan-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Retire LFS. If you want to play with it, you can find the final version of the code in the repository the tag LFS_RETIREMENT. If somebody makes LFS work again, adding it back is certainly desireable, but as it is now nobody seems to care much about it, and it has suffered considerable bitrot since its somewhat haphazard integration. R.I.P
|
#
3f89af99 |
|
26-Jan-1998 |
John Dyson <dyson@FreeBSD.org> |
Someone removed vm_zone.c from /sys/conf/files.
|
#
3458e54a |
|
26-Jan-1998 |
Julian Elischer <julian@FreeBSD.org> |
Move DPT related options out of i386 specific files so DPT devices can be used on other PCI (alpha?) machines. Suggested by: several people
|
#
d8f643d7 |
|
21-Jan-1998 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Add support for tx driver.
|
#
a50ec505 |
|
10-Jan-1998 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Effect the divorce of kern_clock.c and kern_timeout.c (which was repository copied from kern_clock.c)
|
#
030713d7 |
|
02-Dec-1997 |
Nate Williams <nate@FreeBSD.org> |
- Framework for PCI/CardBus controllers running in PCMCIA emulation mode. Currently, the only supported controller is the Cirrus Logic PD6832, but others can be supported with docs on them. Submitted by: Ted Faber <faber@ISI.EDU>
|
#
c669d2df |
|
26-Oct-1997 |
Nate Williams <nate@FreeBSD.org> |
- 'Beep' support now happens in it's own separate file, so you can mess around with different noises for the different events and not have it affect other files. Inspired by: PAO
|
#
e7e437db |
|
25-Oct-1997 |
Nate Williams <nate@FreeBSD.org> |
- Do a bunch of gratuitous changes intended to make the code easier to follow. * Rename/reorder all of the pccard structures, change many of the member names to be descriptive, and follow more closely other 'bus' drivers naming schemes. * Rename a bunch of parameter and local variable names to be more consistant in the code. * Renamed the PCCARD 'crd' device to be the 'card' device * KNF and make the code consistant where it was obvious. * ifdef'd out some unused code
|
#
cec0f20c |
|
16-Oct-1997 |
Poul-Henning Kamp <phk@FreeBSD.org> |
VFS mega cleanup commit (x/N) 1. Add new file "sys/kern/vfs_default.c" where default actions for VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE, POLL, REVOKE and STRATEGY. Various stuff spread over the entire tree belongs here. 2. Change VOP_BLKATOFF to a normal function in cd9660. 3. Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC. These are private interface functions between UFS and the underlying storage manager layer (FFS/LFS/MFS/EXT2FS). The functions now live in struct ufsmount instead. 4. Remove a kludge of VOP_ functions in all filesystems, that did nothing but obscure the simplicity and break the expandability. If a filesystem doesn't implement VOP_FOO, it shouldn't have an entry for it in its vnops table. The system will try to DTRT if it is not implemented. There are still some cruft left, but the bulk of it is done. 5. Fix another VCALL in vfs_cache.c (thanks Bruce!)
|
#
19d4b75d |
|
11-Oct-1997 |
Joerg Wunsch <joerg@FreeBSD.org> |
sppp(4) is now also a consumer of the kernel MD5 code.
|
#
f2f9c185 |
|
21-Sep-1997 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Move the rules for aicasm to the MI conf file. Add kern/subr_autoconf.c as a standard file as it contains the bulk of the code for performing interrupt driven configuration.
|
#
9a3b3e8b |
|
26-Aug-1997 |
Peter Wemm <peter@FreeBSD.org> |
Clean up the SMP AP bootstrap and eliminate the wretched idle procs. - We now have enough per-cpu idle context, the real idle loop has been revived (cpu's halt now with nothing to do). - Some preliminary support for running some operations outside the global lock (eg: zeroing "free but not yet zeroed pages") is present but appears to cause problems. Off by default. - the smp_active sysctl now behaves differently. It's merely a 'true/false' option. Setting smp_active to zero causes the AP's to halt in the idle loop and stop scheduling processes. - bootstrap is a lot safer. Instead of sharing a statically compiled in stack a number of times (which has caused lots of problems) and then abandoning it, we use the idle context to boot the AP's directly. This should help >2 cpu support since the bootlock stuff was in doubt. - print physical apic id in traps.. helps identify private pages getting out of sync. (You don't want to know how much hair I tore out with this!) More cleanup to follow, this is more of a checkpoint than a 'finished' thing.
|
#
13c49711 |
|
19-Aug-1997 |
Peter Wemm <peter@FreeBSD.org> |
Use two NetBSD-style options (PPP_DEFLATE and PPP_BSDCOMP) to control whether or not to compile the two ppp compression methods.
|
#
2d4b190b |
|
19-Aug-1997 |
Peter Wemm <peter@FreeBSD.org> |
Update kernel parts of pppd from 2.2.0 to 2.3.0. I've yet to look at the 2.3.0 -> 2.3.1 changes, but I seem to recall that there are certain "issues" with 2.3.1 (I'm not sure if it's just pppd or the whole lot, I am not quite that far). The present pppd seems to work with it just fine for the time being. Among the changes are that zlib (aka LZ77 aka deflate aka gzip) compression is implemented as well as the original compress(1) LZW style.
|
#
cee405ba |
|
16-Aug-1997 |
Garrett Wollman <wollman@FreeBSD.org> |
Enable hostcache code.
|
#
22531ffc |
|
16-Aug-1997 |
Mike Smith <msmith@FreeBSD.org> |
Add new ppbus files. Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
|
#
22526298 |
|
15-Aug-1997 |
Mike Smith <msmith@FreeBSD.org> |
Oops, reference the ppi and vpo drivers properly. Obviously nobody's using this stuff yet 8)
|
#
1b16a0dd |
|
14-Aug-1997 |
Mike Smith <msmith@FreeBSD.org> |
Add parallel-Port Bus drivers. Submitted by: Nicolas Souchu <Nicolas.Souchu@prism.uvsq.fr>
|
#
3075778b |
|
04-Aug-1997 |
John Dyson <dyson@FreeBSD.org> |
Get rid of the ad-hoc memory allocator for vm_map_entries, in lieu of a simple, clean zone type allocator. This new allocator will also be used for machine dependent pmap PV entries.
|
#
8f65b594 |
|
26-Jun-1997 |
John Hay <jhay@FreeBSD.org> |
Removed the #ifdef IPXERRORMSGS'ed code. Fix a lot of style errors that I introduced with the previous commit. Style fixes Submitted by: Bruce Evans <bde@FreeBSD.ORG>
|
#
2c1011f7 |
|
15-Jun-1997 |
John Dyson <dyson@FreeBSD.org> |
Modifications to existing files to support the initial AIO/LIO and kernel based threading support.
|
#
5bec6157 |
|
26-May-1997 |
Stefan Eßer <se@FreeBSD.org> |
Completely replace the PCI bus driver code to make it better reflect reality. There will be a new call interface, but for now the file pci_compat.c (which is to be deleted, after all drivers are converted) provides an emulation of the old PCI bus driver functions. The only change that might be visible to drivers is, that the type pcici_t (which had been meant to be just a handle, whose exact definition should not be relied on), has been converted into a pcicfgregs* . The Tekram AMD SCSI driver bogusly relied on the definition of pcici_t and has been converted to just call the PCI drivers functions to access configuration space register, instead of inventing its own ... This code is by no means complete, but assumed to be fully operational, and brings the official code base more in line with my development code. A new generic device descriptor data type has to be agreed on. The PCI code will then use that data type to provide new functionality: 1) userconfig support 2) "wired" PCI devices 3) conflicts checking against ISA/EISA 4) maps will depend on the command register enable bits 5) PCI to Anything bridges can be defined as devices, and are probed like any "standard" PCI device. The following features are currently missing, but will be added back, soon: 1) unknown device probe message 2) suppression of "mirrored" devices caused by ancient, broken chip-sets This code relies on generic shared interrupt support just commited to kern_intr.c (plus the modifications of isa.c and isa_device.h).
|
#
a1854c86 |
|
26-May-1997 |
Stefan Eßer <se@FreeBSD.org> |
Add kern/kern_intr.c as a standard kernel component. This file contains the new interrupt registration code, which is meant to be architecture indeppendent.
|
#
90538e09 |
|
25-May-1997 |
Darren Reed <darrenr@FreeBSD.org> |
Add lines for new files in ipfilter
|
#
432aad0e |
|
11-May-1997 |
Tor Egge <tegge@FreeBSD.org> |
Bring in some kernel bootp support. This removes the need for netboot to fill in the nfs_diskless structure, at the cost of some kernel bloat. The advantage is that this code works on a wider range of network adapters than netboot. Several new kernel options are documented in LINT. Obtained from: parts of the code comes from NetBSD.
|
#
68713f97 |
|
08-May-1997 |
Kenjiro Cho <kjc@FreeBSD.org> |
merge ATM driver
|
#
cea6c86c |
|
07-May-1997 |
Doug Rabson <dfr@FreeBSD.org> |
This is the kernel linker. To use it, you will first need to apply the patches in freefall:/home/dfr/ld.diffs to your ld sources and set BINFORMAT to aoutkld when linking the kernel. Library changes and userland utilities will appear in a later commit.
|
#
1cde3a7e |
|
03-May-1997 |
Peter Wemm <peter@FreeBSD.org> |
add net/if_media.c
|
#
477a642c |
|
26-Apr-1997 |
Peter Wemm <peter@FreeBSD.org> |
Man the liferafts! Here comes the long awaited SMP -> -current merge! There are various options documented in i386/conf/LINT, there is more to come over the next few days. The kernel should run pretty much "as before" without the options to activate SMP mode. There are a handful of known "loose ends" that need to be fixed, but have been put off since the SMP kernel is in a moderately good condition at the moment. This commit is the result of the tinkering and testing over the last 14 months by many people. A special thanks to Steve Passe for implementing the APIC code!
|
#
5be8af92 |
|
26-Mar-1997 |
Joerg Wunsch <joerg@FreeBSD.org> |
Bring the dev/pdq entries into alphabetical order. Forgotten by: joerg :)
|
#
34564ce3 |
|
16-Mar-1997 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Make this whitespace compatible with the change that I correctly committed to the 2.2 branch for the new aic7xxx assembler.
|
#
0617e8fd |
|
16-Mar-1997 |
Bruce Evans <bde@FreeBSD.org> |
Fixed missing line-continuation backslash in the previous revision.
|
#
2edd1d66 |
|
15-Mar-1997 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add depend rule for the now compile time generated aic7xxx register file.
|
#
f5cd278c |
|
12-Mar-1997 |
Stefan Eßer <se@FreeBSD.org> |
Add wdc_p.c for support of the CMD640 PCI EIDE chip.
|
#
a30c77e8 |
|
10-Mar-1997 |
Mark Murray <markm@FreeBSD.org> |
Move this files* entry for the Brooktree TV driver toi the right 'files*'.
|
#
55452e7f |
|
10-Feb-1997 |
Darren Reed <darrenr@FreeBSD.org> |
Add IP Filter .c files for "config" & "config.new" use.
|
#
996c772f |
|
09-Feb-1997 |
John Dyson <dyson@FreeBSD.org> |
This is the kernel Lite/2 commit. There are some requisite userland changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org>
|
#
e4107dcf |
|
17-Jan-1997 |
Joerg Wunsch <joerg@FreeBSD.org> |
This mega-merge brings Matt Thomas' 960801 FDDI driver (almost) up to -current. Thanks goes to Ulrike Nitzsche <ulrike@ifw-dresden.de> for giving me a chance to test this. Only the PCI driver is tested though. One final patch will follow in a separate commit. This is so that everything up to here can be dragged into 2.2, if we decide so. Reviewed by: joerg Submitted by: Matt Thomas <matt@3am-software.com>
|
#
f7b630a4 |
|
16-Jan-1997 |
Bruce Evans <bde@FreeBSD.org> |
Added file kern_opt.c for putting warnings about defunct options in. Warn about recently removed option EXTRAVNODES and about other rubbish that hasn't been put in opt_defunct.h yet.
|
#
fd82b92a |
|
22-Dec-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add kern/md5c.c which came here by repository copy.
|
#
e511754a |
|
17-Dec-1996 |
Stefan Eßer <se@FreeBSD.org> |
Add driver for the Tekram DC390 and DC390F, believed to also work with generic AMD 53c974 SCSI controllers, under the name of "amd".
|
#
b3ac88f1 |
|
04-Nov-1996 |
Guido van Rooij <guido@FreeBSD.org> |
New vx driver for: 3COM 3C590 Etherlink III PCI, 3COM 3C595 Fast Etherlink PCI, 3COM 3C592 Etherlink III EISA, 3COM 3C590 Fast Etherlink EISA, 3COM 3C900 Etherlink XL PCI and 3COM 3C905 Fast Etherlink XL PCI. This driver is based on OpenBSD's driver. I modified it to run under FreeBSd and made it actually work usefully. Afterwards, nao@tom-yam.or.jp (HAMADA Naoki) added EISA support as well as early support for 3C900 Etherlink XL PCI and 3C905 Fast Etherlink XL PCI. He also split up the driver in a bus independant and bus dependant parts. Especially the 3c59X support should be pretty stable now. Submitted by: partly nao@tom-yam.or.jp (HAMADA Naoki) Obtained from:partly OpenBSD
|
#
ebcdcb98 |
|
28-Oct-1996 |
John Hay <jhay@FreeBSD.org> |
Add support for the SDL RISCom N2pci cards. Bring in the enhancements made to the Arnet driver.
|
#
494405d8 |
|
20-Oct-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Removing old isdn stuff.
|
#
3010cd65 |
|
12-Oct-1996 |
David Greenman <dg@FreeBSD.org> |
Changes to add support for the PCI version of the Cyclades Cyclom-Y serial adapter, and support for multiple Cyclom controllers.
|
#
91916800 |
|
07-Sep-1996 |
Søren Schmidt <sos@FreeBSD.org> |
Fixed two small leftovers form PHK's mega devconf removal commit..
|
#
62494ee3 |
|
28-Aug-1996 |
Bruce Evans <bde@FreeBSD.org> |
Sorted and fixed tabs. The only excuse this had for becoming misordered was that some drivers were sorted on the driver name field, but the ffs versus mfs ordering shows that this is not a consistent order. The only case that I know of where simple sorting is wrong is for files that must be compiled without profiling if profiling is configured and normally otherwise. Then the line with `profiling-routine' must appear first to get the file compiled with ${PROFILE_C}.
|
#
386308f3 |
|
19-Aug-1996 |
Julian Elischer <julian@FreeBSD.org> |
having checked in the file I probably should check in the entry for kern_shutdown.c if I want anyone to be able to compile a kernel
|
#
bbd17bf8 |
|
30-Jul-1996 |
Garrett Wollman <wollman@FreeBSD.org> |
Add better support for retrieving management information from network interfaces. This creates two new tables in the net.link.generic branch of the MIB; one contains (essentially) `ifdata' structures, and the other contains a blob provided by the interface (and presumably used to implement link-layer-specific MIB variables). A number of things have been moved around in the `ifnet' and `ifdata' structures, so NEW VERSIONS OF ifconfig(8) AND routed(8) ARE REQUIRED. (A simple recompile is all that's necessary.) I have a sample program which uses this interface for those interested in making use of it.
|
#
c268c94f |
|
18-Jul-1996 |
Stefan Eßer <se@FreeBSD.org> |
FINALLY: PCI support for the Lance Ethernet driver. This code applies to several systems with integrated Ethernet chip, for example from HP or Compaq. It should also support PCI Ethernet cards based on the AMD PCI Lance chip. This code has been reviewed (visually) by Paul Richards and tested (using an ISA Lance board) by Joerg Wunsch. Since the parameters to nearly each and every single function had to be changed (generally from unit number to lnc_soft*), there is some potential for buglets having crept in ... BEWARE: If you had lnc0 configured to have the ISA probe find your PCI Lance, then it should now be found by the PCI probe, and should be automatically configured as pci1 (!!! note the "1"). Reviewed by: paul, joerg
|
#
93e0e116 |
|
10-Jul-1996 |
Julian Elischer <julian@FreeBSD.org> |
Adding changes to ipfw and the kernel to support ip packet diversion.. This stuff should not be too destructive if the IPDIVERT is not compiled in.. be aware that this changes the size of the ip_fw struct so ipfw needs to be recompiled to use it.. more changes coming to clean this up.
|
#
9961971f |
|
17-Jun-1996 |
John Dyson <dyson@FreeBSD.org> |
Add the file procfs_type.c to procfs.
|
#
9353aadd |
|
17-Jun-1996 |
John Dyson <dyson@FreeBSD.org> |
Add a feature to procfs to allow display of the process address map with multiple entries as follows: start address, end address, resident pages in range, private pages in range, RW/RO, COW or not, (vnode/device/swap/default).
|
#
bd22f58e |
|
14-Jun-1996 |
Garrett Wollman <wollman@FreeBSD.org> |
This is the `netkey' kernel key-management service (the PF_KEY analogue to PF_ROUTE) from NRL's IPv6 distribution, heavily modified by me for better source layout, formatting, and textual conventions. I am told that this code is no longer under active development, but it's a useful hack for those interested in doing work on network security, key management, etc. This code has only been tested twice, so it should be considered highly experimental. Obtained from: ftp.ripe.net
|
#
655929bf |
|
23-May-1996 |
Julian Elischer <julian@FreeBSD.org> |
Obtained from: netatalk distribution netatalk@itd.umich.edu Kernel Appletalk protocol support both CAP and netatalk can make use of this.. still needs some owrk but it seemd the right tiime to commit it so other can experiment.
|
#
84084227 |
|
18-May-1996 |
Stefan Eßer <se@FreeBSD.org> |
Add support for NE2000 compatible PCI Ethernet cards. The PCI probe is enabled by having an "device ed0 at isa? [...]" config line. The first PCI card will get a unit number one higher than the highest defined for any ISA card of the ED type, e.g. if ed0 and ed1 are configured, then the PCI cards will be ed2, ed3, ... BEWARE: If you have configured your kernel as ed0 with the port address as assigned by the PCI BIOS, then your card will be found by both the PCI and ISA probes, and bad things may happen. Make sure to restore the original port address form the GENERIC kernel for the ed0 device! Reviewed by: davidg
|
#
17def80b |
|
02-May-1996 |
Satoshi Asami <asami@FreeBSD.org> |
Bring in ccd support. ccd is a pseudo device.
|
#
45ec3b38 |
|
07-Apr-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the "mib" variables out to their own file.
|
#
88d3245e |
|
23-Mar-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove all traces of KADB. add sysctl "debug.debugger_on_panic=1" if DDB or KGDB is in kernel. Requested by: davidg
|
#
c2f46557 |
|
11-Mar-1996 |
Peter Wemm <peter@FreeBSD.org> |
Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all files are off the vendor branch, so this should not change anything. A "U" marker generally means that the file was not changed in between the 4.4Lite and Lite-2 releases, and does not need a merge. "C" generally means that there was a change.
|
#
e1743d02 |
|
10-Mar-1996 |
Søren Schmidt <sos@FreeBSD.org> |
First attempt at FreeBSD & Linux ELF support. Compile and link a new kernel, that will give native ELF support, and provide the hooks for other ELF interpreters as well. To make native ELF binaries use John Polstras elf-kit-1.0.1.. For the time being also use his ld-elf.so.1 and put it in /usr/libexec. The Linux emulator has been enhanced to also run ELF binaries, it is however in its very first incarnation. Just get some Linux ELF libs (Slackware-3.0) and put them in the prober place (/compat/linux/...). I've ben able to run all the Slackware-3.0 binaries I've tried so far. (No it won't run quake yet :)
|
#
d66a5066 |
|
02-Mar-1996 |
Peter Wemm <peter@FreeBSD.org> |
Mega-commit for Linux emulator update.. This has been stress tested under netscape-2.0 for Linux running all the Java stuff. The scrollbars are now working, at least on my machine. (whew! :-) I'm uncomfortable with the size of this commit, but it's too inter-dependant to easily seperate out. The main changes: COMPAT_LINUX is *GONE*. Most of the code has been moved out of the i386 machine dependent section into the linux emulator itself. The int 0x80 syscall code was almost identical to the lcall 7,0 code and a minor tweak allows them to both be used with the same C code. All kernels can now just modload the lkm and it'll DTRT without having to rebuild the kernel first. Like IBCS2, you can statically compile it in with "options LINUX". A pile of new syscalls implemented, including getdents(), llseek(), readv(), writev(), msync(), personality(). The Linux-ELF libraries want to use some of these. linux_select() now obeys Linux semantics, ie: returns the time remaining of the timeout value rather than leaving it the original value. Quite a few bugs removed, including incorrect arguments being used in syscalls.. eg: mixups between passing the sigset as an int, vs passing it as a pointer and doing a copyin(), missing return values, unhandled cases, SIOC* ioctls, etc. The build for the code has changed. i386/conf/files now knows how to build linux_genassym and generate linux_assym.h on the fly. Supporting changes elsewhere in the kernel: The user-mode signal trampoline has moved from the U area to immediately below the top of the stack (below PS_STRINGS). This allows the different binary emulations to have their own signal trampoline code (which gets rid of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so that the emulator can provide the exact "struct sigcontext *" argument to the program's signal handlers. The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which have the same values as the re-used SA_DISABLE and SA_ONSTACK which are intended for sigaction only. This enables the support of a SA_RESETHAND flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal semantics where the signal handler is reset when it's triggered. makesyscalls.sh no longer appends the struct sysentvec on the end of the generated init_sysent.c code. It's a lot saner to have it in a seperate file rather than trying to update the structure inside the awk script. :-) At exec time, the dozen bytes or so of signal trampoline code are copied to the top of the user's stack, rather than obtaining the trampoline code the old way by getting a clone of the parent's user area. This allows Linux and native binaries to freely exec each other without getting trampolines mixed up.
|
#
e7319bab |
|
23-Feb-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Big sweep over the IPFIREWALL and IPACCT code. Close the ip-fragment hole. Waste less memory. Rewrite to contemporary more readable style. Kill separate IPACCT facility, use "accept" rules in IPFIREWALL. Filter incoming >and< outgoing packets. Replace "policy" by sticky "deny all" rule. Rules have numbers used for ordering and deletion. Remove "rerorder" code entirely. Count packet & bytecount matches for rules. Code in -current & -stable is now the same.
|
#
dc915e7c |
|
13-Feb-1996 |
Garrett Wollman <wollman@FreeBSD.org> |
Kill XNS. While we're at it, fix socreate() to take a process argument. (This was supposed to get committed days ago...)
|
#
b43e0b68 |
|
07-Feb-1996 |
Garrett Wollman <wollman@FreeBSD.org> |
Comment out netccitt, netimp, and netiso entries, since we no longer ship this code. Submitted by: davidg
|
#
89d14404 |
|
28-Jan-1996 |
John Dyson <dyson@FreeBSD.org> |
Added sys_pipe into files.
|
#
9ef8f02d |
|
24-Jan-1996 |
Peter Wemm <peter@FreeBSD.org> |
procfs_{mem|regs|fpregs}.c are now completely shared with ptrace(), and are no longer optional. This cuts down some code duplication.
|
#
3d72f177 |
|
20-Jan-1996 |
Bruce Evans <bde@FreeBSD.org> |
Removed last vestige of JREMOD.
|
#
143f48e1 |
|
07-Jan-1996 |
Peter Wemm <peter@FreeBSD.org> |
sysv_ipc.c now "standard" as it contains #if defined(...) blocks of code that handle the various permutations of SYSV options. sysv_shm.c etc (the implementations) are still optional, this is just a file of stubs and an optional utility function.
|
#
eb1a5f23 |
|
12-Dec-1995 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Add pci/bt9xx.c - the new PCI probe module of the Buslogic SCSI driver.
|
#
87f6c662 |
|
08-Dec-1995 |
Julian Elischer <julian@FreeBSD.org> |
Pass 3 of the great devsw changes most devsw referenced functions are now static, as they are in the same file as their devsw structure. I've also added DEVFS support for nearly every device in the system, however many of the devices have 'incorrect' names under DEVFS because I couldn't quickly work out the correct naming conventions. (but devfs won't be coming on line for a month or so anyhow so that doesn't matter) If you "OWN" a device which would normally have an entry in /dev then search for the devfs_add_devsw() entries and munge to make them right.. check out similar devices to see what I might have done in them in you can't see what's going on.. for a laugh compare conf.c conf.h defore and after... :) I have not doen DEVFS entries for any DISKSLICE devices yet as that will be a much more complicated job.. (pass 5 :) pass 4 will be to make the devsw tables of type (cdevsw * ) rather than (cdevsw) seems to work here.. complaints to the usual places.. :)
|
#
a17c678e |
|
28-Nov-1995 |
David Greenman <dg@FreeBSD.org> |
Device driver for Intel Pro/100 PCI Fast Ethernet controller.
|
#
bacc8b16 |
|
05-Nov-1995 |
John Dyson <dyson@FreeBSD.org> |
Changes to existing files for ext2fs support. The UFS mods need rework in the future as they are a bit crufty -- but at least the stuff is in the tree now.
|
#
099a8761 |
|
31-Oct-1995 |
Peter Wemm <peter@FreeBSD.org> |
Update the file list for the new ppp files..
|
#
f4567b9c |
|
31-Oct-1995 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: not yet Submitted by: fgray@rice.edu this driver hasn't been checked but as a separate module, bringing it in won't break anything else and it't the best way of testing it...... julian
|
#
cc6a66f2 |
|
26-Oct-1995 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: julian and jhay@mikom.csir.co.za Submitted by: Mike Mitchell, supervisor@alb.asctmd.com This is a bulk mport of Mike's IPX/SPX protocol stacks and all the related gunf that goes with it.. it is not guaranteed to work 100% correctly at this time but as we had several people trying to work on it I figured it would be better to get it checked in so they could all get teh same thing to work on.. Mikes been using it for a year or so but on 2.0 more changes and stuff will be merged in from other developers now that this is in. Mike Mitchell, Network Engineer AMTECH Systems Corporation, Technology and Manufacturing 8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000 supervisor@alb.asctmd.com
|
#
ec477e8b |
|
03-Oct-1995 |
Julian Elischer <julian@FreeBSD.org> |
add the file kern_conf.c so it con be compiled in when needed for testing.. (for cdevsw_add and bdevsw_add)
|
#
72129767 |
|
06-Sep-1995 |
Julian Elischer <julian@FreeBSD.org> |
replaced 2 devfs files with one that replaces them
|
#
ea76f945 |
|
19-Aug-1995 |
Joerg Wunsch <joerg@FreeBSD.org> |
First part of importing the Japanese `od' driver. Claim the major numbers (before sombedoy else jumps in again and claims the slots for his foocd driver :-), install all the hooks that are required. While i've been at this, i've cleaned up some of the routines at the end of i386/conf.c; all the importers of the latest CDROM drivers forgot to fill in the appropriate information. The `ata' driver (vapourware?) does only occupy a slot in the bdevsw[] array, btw. The actual import of the code does require a minor change in the SCSI subsystem, and i want to have this reviewed by Peter first, so it will be deferred for some days. The driver is already working for me though. Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama)
|
#
8f517193 |
|
31-Jul-1995 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Reserve space for Jim Lowe's impending Matrox Meteor card driver. Submitted by: james
|
#
8a7580c3 |
|
16-Jul-1995 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Reviewed by: phk Submitted by: Andrew McRae <andrew@mega.com.au> Some initial commits from the pcmcia stuff, to make life easier for the testers. We will use the name "pccard" since that is really the buzzword at present.
|
#
24a1cce3 |
|
13-Jul-1995 |
David Greenman <dg@FreeBSD.org> |
NOTE: libkvm, w, ps, 'top', and any other utility which depends on struct proc or any VM system structure will have to be rebuilt!!! Much needed overhaul of the VM system. Included in this first round of changes: 1) Improved pager interfaces: init, alloc, dealloc, getpages, putpages, haspage, and sync operations are supported. The haspage interface now provides information about clusterability. All pager routines now take struct vm_object's instead of "pagers". 2) Improved data structures. In the previous paradigm, there is constant confusion caused by pagers being both a data structure ("allocate a pager") and a collection of routines. The idea of a pager structure has escentially been eliminated. Objects now have types, and this type is used to index the appropriate pager. In most cases, items in the pager structure were duplicated in the object data structure and thus were unnecessary. In the few cases that remained, a un_pager structure union was created in the object to contain these items. 3) Because of the cleanup of #1 & #2, a lot of unnecessary layering can now be removed. For instance, vm_object_enter(), vm_object_lookup(), vm_object_remove(), and the associated object hash list were some of the things that were removed. 4) simple_lock's removed. Discussion with several people reveals that the SMP locking primitives used in the VM system aren't likely the mechanism that we'll be adopting. Even if it were, the locking that was in the code was very inadequate and would have to be mostly re-done anyway. The locking in a uni-processor kernel was a no-op but went a long way toward making the code difficult to read and debug. 5) Places that attempted to kludge-up the fact that we don't have kernel thread support have been fixed to reflect the reality that we are really dealing with processes, not threads. The VM system didn't have complete thread support, so the comments and mis-named routines were just wrong. We now use tsleep and wakeup directly in the lock routines, for instance. 6) Where appropriate, the pagers have been improved, especially in the pager_alloc routines. Most of the pager_allocs have been rewritten and are now faster and easier to maintain. 7) The pagedaemon pageout clustering algorithm has been rewritten and now tries harder to output an even number of pages before and after the requested page. This is sort of the reverse of the ideal pagein algorithm and should provide better overall performance. 8) Unnecessary (incorrect) casts to caddr_t in calls to tsleep & wakeup have been removed. Some other unnecessary casts have also been removed. 9) Some almost useless debugging code removed. 10) Terminology of shadow objects vs. backing objects straightened out. The fact that the vm_object data structure escentially had this backwards really confused things. The use of "shadow" and "backing object" throughout the code is now internally consistent and correct in the Mach terminology. 11) Several minor bug fixes, including one in the vm daemon that caused 0 RSS objects to not get purged as intended. 12) A "default pager" has now been created which cleans up the transition of objects to the "swap" type. The previous checks throughout the code for swp->pg_data != NULL were really ugly. This change also provides the rudiments for future backing of "anonymous" memory by something other than the swap pager (via the vnode pager, for example), and it allows the decision about which of these pagers to use to be made dynamically (although will need some additional decision code to do this, of course). 13) (dyson) MAP_COPY has been deprecated and the corresponding "copy object" code has been removed. MAP_COPY was undocumented and non- standard. It was furthermore broken in several ways which caused its behavior to degrade to MAP_PRIVATE. Binaries that use MAP_COPY will continue to work correctly, but via the slightly different semantics of MAP_PRIVATE. 14) (dyson) Sharing maps have been removed. It's marginal usefulness in a threads design can be worked around in other ways. Both #12 and #13 were done to simplify the code and improve readability and maintain- ability. (As were most all of these changes) TODO: 1) Rewrite most of the vnode pager to use VOP_GETPAGES/PUTPAGES. Doing this will reduce the vnode pager to a mere fraction of its current size. 2) Rewrite vm_fault and the swap/vnode pagers to use the clustering information provided by the new haspage pager interface. This will substantially reduce the overhead by eliminating a large number of VOP_BMAP() calls. The VOP_BMAP() filesystem interface should be improved to provide both a "behind" and "ahead" indication of contiguousness. 3) Implement the extended features of pager_haspage in swap_pager_haspage(). It currently just says 0 pages ahead/behind. 4) Re-implement the swap device (swstrategy) in a more elegant way, perhaps via a much more general mechanism that could also be used for disk striping of regular filesystems. 5) Do something to improve the architecture of vm_object_collapse(). The fact that it makes calls into the swap pager and knows too much about how the swap pager operates really bothers me. It also doesn't allow for collapsing of non-swap pager objects ("unnamed" objects backed by other pagers).
|
#
836aa5b7 |
|
19-Apr-1995 |
Julian Elischer <julian@FreeBSD.org> |
Reviewed by: no-one yet, but non-intrusive Submitted by: julian@tfs.com Obtained from: written from scratch slight changes to make space for devfs.. (also conditional test code in i386/isa/fd.c) why casn't cvs picked up these changes and shown them here? is this going to be a NULL commit? who knows? (it scanned all the dirs) =================================================================== RCS file: /home/ncvs/src/sys/sys/malloc.h,v retrieving revision 1.7 diff -r1.7 malloc.h 113a114,117 > #define M_DEVFSMNT 62 /* DEVFS mount structure */ > #define M_DEVFSBACK 63 /* DEVFS Back node */ > #define M_DEVFSFRONT 64 /* DEVFS Front node */ > #define M_DEVFSNODE 65 /* DEVFS node */ 184c188,192 < NULL, NULL, NULL, NULL, NULL, \ --- > "DEVFS mount", /* 62 M_DEVFSMNT */ \ > "DEVFS back", /* 63 M_DEVFSBACK */ \ > "DEVFS front", /* 64 M_DEVFSFRONT */ \ > "DEVFS node", /* 65 M_DEVFSNODE */ \ > NULL, \ Index: sys/mount.h =================================================================== RCS file: /home/ncvs/src/sys/sys/mount.h,v retrieving revision 1.16 diff -r1.16 mount.h 100c100,101 < #define MOUNT_MAXTYPE 15 --- > #define MOUNT_DEVFS 16 /* existing device Filesystem */ > #define MOUNT_MAXTYPE 16 118a120 > "devfs", /* 15 MOUNT_DEVFS */ \ Index: sys/vnode.h =================================================================== RCS file: /home/ncvs/src/sys/sys/vnode.h,v retrieving revision 1.19 diff -r1.19 vnode.h 61c61 < VT_UNION, VT_MSDOSFS --- > VT_UNION, VT_MSDOSFS, VT_DEVFS
|
#
1fff5805 |
|
14-Apr-1995 |
Peter Dufault <dufault@FreeBSD.org> |
Add scsi target
|
#
7a162ba1 |
|
15-Mar-1995 |
Peter Dufault <dufault@FreeBSD.org> |
Add scsi/scsi_sense.c
|
#
d41f24e7 |
|
14-Mar-1995 |
David Greenman <dg@FreeBSD.org> |
Added support for generic FDDI and the DEC DEFEA and DEFPA FDDI adapters. Submitted by: Matt Thomas
|
#
108b30f4 |
|
04-Mar-1995 |
Peter Dufault <dufault@FreeBSD.org> |
Add processor type and worm drivers
|
#
6675c2f0 |
|
01-Mar-1995 |
Peter Dufault <dufault@FreeBSD.org> |
1. "uk" driver now optional on scbus 2. Added base scsi driver file scsi_driver.c
|
#
226d4c89 |
|
23-Feb-1995 |
Bruce Evans <bde@FreeBSD.org> |
Make diskslice files standard and remove option DISKSLICE. ufs_disksubr.c needed a diskslice function yesterday and all disk drivers will need it. The diskslice initialization routine should be configurable (but isn't).
|
#
92a63cbb |
|
20-Feb-1995 |
David Greenman <dg@FreeBSD.org> |
Removed vm_user.c.
|
#
d3a1cd61 |
|
19-Feb-1995 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
remove gnu/scsi/nic5000.c - it's deprecated.
|
#
730d52ff |
|
14-Feb-1995 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Add the ISDN entries.
|
#
819f72f9 |
|
14-Feb-1995 |
Ugen J.S. Antsilevich <ugen@FreeBSD.org> |
kern/tty_snoop.c - optional for snp device added..
|
#
f3f509de |
|
01-Feb-1995 |
Stefan Eßer <se@FreeBSD.org> |
Reviewed by: se Submitted by: wolf (Wolfgang Stanglmeier) Obtained from: Most PCI specific files moved from sys/i386/pci to sys/pci. One PC specific file (pcibus.c) new in sys/i386/isa.
|
#
c4f2ae4c |
|
30-Jan-1995 |
Atsushi Murai <amurai@FreeBSD.org> |
Add tunnel device for ppp(iijppp)
|
#
bd410229 |
|
12-Jan-1995 |
Ugen J.S. Antsilevich <ugen@FreeBSD.org> |
Firewall files & accounting added here. ip_fwdef.c is support for ipfw lkm module and should be compoiled always with 'options inet'.
|
#
f948427e |
|
08-Jan-1995 |
Peter Dufault <dufault@FreeBSD.org> |
Added ssc device
|
#
59d8d13f |
|
22-Dec-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Added `ds', a black-hole network interface.
|
#
e03e30f8 |
|
11-Dec-1994 |
Bruce Evans <bde@FreeBSD.org> |
Add kern/subr_diskslice.c, kern/subr_dkbad.c. Sort.
|
#
1db18e0f |
|
11-Dec-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Advanced route cache management is now an official part of IP support.
|
#
afa59fd4 |
|
04-Dec-1994 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Added dev/vn/vn.c optional vn
|
#
7f41568c |
|
02-Dec-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Add generic sync PPP file.
|
#
5c2dae8e |
|
01-Nov-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Add code to be a bit smarter about IP routes, conditioned on the option IN_RMX. (Eventually this will be standard, but I just wrote the code today and don't want to break anyone.)
|
#
3345fd39 |
|
15-Oct-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Added kern_devconf.c as standard.
|
#
ee38c198 |
|
07-Oct-1994 |
Geoff Rehmet <csgr@FreeBSD.org> |
First stage of getting imgact_gzip reentrant: 1) cut this up into /sys/sys/inflate.h, sys/kern/inflate.c sys/kern/ingact_gzip.c 2) make a lot more things static 3) make a lot of globals const 4) make some args const 5) first stage of making globals into a struct (not used yet) The vm_allocate() call which was introduced between revisions 1.4 and 1.5 of imagact_gzip.c broke things. I have backed that out for the time being. (Davidg: help please) WARNING: if you have gzip enabled in your kernel, you must now run config again, as another source file has been added. Otherwise your kernel compile will fall over. This is all still WIP. More commits to come. Suggestions from: phk.
|
#
e64ac777 |
|
03-Oct-1994 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Changed the imgact_gzip to "optional gzip" per David Greenman's request.
|
#
7ba9adc8 |
|
02-Oct-1994 |
Poul-Henning Kamp <phk@FreeBSD.org> |
*** WARNING: THIS MATERIAL MIGHT GO AWAY! This material needs the core-groups approval to stay here for the 2.0 release. If the core-group does not concent to this commit, it will be backed out. *** It is a non-gpl'ed "unzip" which will allow execution of a.out files which have been sent through "gzip -9". The idea being saved disk-space. Just now this code has quality rating: "working prototype". To compress a file to be used with this, do it exactly this way: gzip -9 -v < /bin/FOO > /tmp/FOO remember to chmod /tmp/FOO as needed. DON'T compress all of you binaries right away ! There are several things which you should consider first: 1. Using compressed binaries, you use >MUCH< more VM, and thus swap-space. 2. It is slow. 3. It might crash your machine. Apart from that, I welcome comments...
|
#
5ea9b263 |
|
28-Sep-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
LKM support is no longer optional.
|
#
c770b47d |
|
25-Sep-1994 |
David Greenman <dg@FreeBSD.org> |
Removed unimplemented subr_rmap.c and unused references to it.
|
#
e98e6bee |
|
22-Sep-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Add PPP. NB: this is VERY VERY VERY green code, added to make it easier to test things out. It compiles, but I don't know if it works (yet).
|
#
c9b1d604 |
|
22-Sep-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
More loadable VFS changes: - Make a number of filesystems work again when they are statically compiled (blush) - FIFOs are no longer optional; ``options FIFO'' removed from distributed config files.
|
#
db3170ab |
|
20-Sep-1994 |
David Greenman <dg@FreeBSD.org> |
Sorted.
|
#
27a0bc89 |
|
19-Sep-1994 |
Doug Rabson <dfr@FreeBSD.org> |
Added msdosfs. Obtained from: NetBSD
|
#
3f31c649 |
|
18-Sep-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Redo Kernel NTP PLL support, kernel side. This code is mostly taken from the 1.1 port (which was in turn taken from Dave Mills's kern.tar.Z example). A few significant differences: 1) ntp_gettime() is now a MIB variable rather than a system call. A few fiddles are done in libc to make it behave the same. 2) mono_time does not participate in the PLL adjustments. 3) A new interface has been defined (in <machine/clock.h>) for doing possibly machine-dependent things around the time of the clock update. This is used in Pentium kernels to disable interrupts, set `time', and reset the CPU cycle counter as quickly as possible to avoid jitter in microtime(). Measurements show an apparent resolution of a bit more than 8.14usec, which is reasonable given system-call overhead.
|
#
3b8a29ae |
|
15-Sep-1994 |
Doug Rabson <dfr@FreeBSD.org> |
Added back the SYSV ipc files which somehow got removed.
|
#
610ee2f9 |
|
15-Sep-1994 |
David Greenman <dg@FreeBSD.org> |
Made TCPDEBUG truely optional. Based on changes I made in FreeBSD 1.1.5. Fixed somebody's idea of a joke - about the first half of the lines in in_proto.c were spaced over by one space.
|
#
5e9ae478 |
|
13-Sep-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Shuffle some functions and variables around to make it possible for multicast routing to be implemented as an LKM. (There's still a bit of work to do in this area.)
|
#
3d903220 |
|
13-Sep-1994 |
Doug Rabson <dfr@FreeBSD.org> |
Added SYSV ipcs. Obtained from: NetBSD and FreeBSD-1.1.5
|
#
8a129cae |
|
27-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
1) Changed ddb into a option rather than a pseudo-device (use options DDB in your kernel config now). 2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its own file. 3) Added \r handing in db_printf. 4) Added missing memory usage stats to statclock(). 5) Added dummy function to pseudo_set so it will be emitted if there are no other pseudo declarations.
|
#
3edb235c |
|
19-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Terry Lambert's loadable kernel module support w/improvements from the NetBSD group.
|
#
92dc7331 |
|
08-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Made lockf advisory locking code generic (rather than ufs specific), and use it in NFS. This is required both for diskless support and for POSIX compliance. Note: the support in NFS is only for the local node. Submitted by: based on work originally done by Yuval Yurom
|
#
26f9a767 |
|
25-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch. Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
|
#
df8bae1d |
|
24-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
BSD 4.4 Lite Kernel Sources
|