#
13a5a46c |
|
29-Apr-2024 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Fix new users of MAXPHYS and hide it from the kernel namespace In cd8537910406, kib made maxphys a load-time tunable. This made the #define MAXPHYS in sys/param.h almost entirely obsolete, as it could now be overridden by kern.maxphys at boot time, or by opt_maxphys.h. However, decades of tradition have led to several new, incorrect, uses of MAXPHYS in other parts of the kernel, mostly by seasoned developers. I've corrected those uses here in a mechanical fashion, and verified that it fixes a bug in the md driver that I was experiencing. Since using MAXPHYS is such an easy mistake to make, it is best to hide it from the kernel namespace. So I've moved its definition to _maxphys.h, which is now included in param.h only for userspace. That brings up the fact that lots of userspace programs use MAXPHYS for different reasons, most of them probably wrong. Userspace consumers that really need to know the value of maxphys should probably be changed to use the kern.maxphys sysctl. But that's outside the scope of this change. Reviewed by: imp, jkim, kib, markj Fixes: 30038a8b4efc ("md: Get rid of the pbuf zone") Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44986
|
#
0192eda1 |
|
06-Apr-2024 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version for llvm 18.1.3 merge PR: 276104 MFC after: 1 month
|
#
bcd401b5 |
|
20-Mar-2024 |
Dimitry Andric <dim@FreeBSD.org> |
Merge commit bbb8a0df7367 from llvm-project (by Shafik Yaghmour): [Clang] Fix ResolveConstructorOverload to not select a conversion function if we are going use copy elision ResolveConstructorOverload needs to check properly if we are going to use copy elision we can't use a conversion function. This fixes: https://github.com/llvm/llvm-project/issues/39319 https://github.com/llvm/llvm-project/issues/60182 https://github.com/llvm/llvm-project/issues/62157 https://github.com/llvm/llvm-project/issues/64885 https://github.com/llvm/llvm-project/issues/65568 Differential Revision: https://reviews.llvm.org/D148474 This should fix 'Assertion failed: (isa<To>(Val) && "cast<Ty>() argument of incompatible type!")' errors when building devel/boost-libs, specifically libs/url/src/segments_view.cpp. Bump __FreeBSD_version so this fix can easily be detected from devel/boost-all/compiled.mk. PR: 273335
|
#
60bc9617 |
|
18-Mar-2024 |
Vijeyalakshumi Koteeswaran <kvinupriya@gmail.com> |
kerneldump: add livedump_start_vnode(9) livedump_start_vnode(9) is introduced such that the live minidump on the system could take a vnode. This interface could be used to extend support for the existing framework in downstream. Bump __FreeBSD_version for introducing livedump_start_vnode(9). Sponsored by: Juniper Networks, Inc. Reviewed by: khng Differential Revision: https://reviews.freebsd.org/D43471
|
#
a7b9f4d9 |
|
13-Mar-2024 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for bus resource API change Specifically, the change to remove redundant rid and type arguments from bus_* when passing an allocated struct resource.
|
#
ed27ae8d |
|
11-Feb-2024 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version after clang/llvm PIE change Otherwise, incremental builds might fail with various interesting errors. This is a bit of a big hammer, but I don't know of any other way to force rebuilds of all these libraries. Reported by: bapt Fixes: 470f9f13de10 MFC after: 1 week
|
#
d04abb05 |
|
07-Feb-2024 |
Brooks Davis <brooks@FreeBSD.org> |
Belatedly bump __FreeBSD_version for libsys
|
#
120ceeba |
|
23-Jan-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for kern_openatfp(9) and kcmp(2)
|
#
e0dfe185 |
|
17-Jan-2024 |
Alexander Leidinger <netchild@FreeBSD.org> |
jail(8): add support for ZFS datasets Add zfs.dataset to jail(8) to add a list of ZFS datasets. Bump FreeBSD version for jail managers to switch to native dataset support. Datasets are attached to the jail after the jail creation and before the execution of any start command. Unlike current implementations in jail managers which attach datasets after the start command, this allows the zfs rc.d script to mount the datasets on start. Discussed with: jamie
|
#
a2da1bdb |
|
11-Jan-2024 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: Bump __FreeBSD_version to 1500010 Commit cc760de2183f changed the internal interface between the nfscommon and nfscl modules. As such, both need to be rebuilt from sources. Therefore, bump __FreeBSD_version.
|
#
b068bb09 |
|
07-Jan-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
Add vnode_pager_clean_{a,}sync(9) Bump __FreeBSD_version for ZFS use. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D43356
|
#
9bf957fc |
|
24-Dec-2023 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Bump __FreeBSD_version after LinuxKPI changes. Sponsored by: Serenity Cyber Security, LLC
|
#
8ccd0b87 |
|
11-Dec-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: expose execvpe for Linux compat We already implemented execvpe internally with an _ prefix in libc so go ahead and expose it for compatibility with Linux. This reverts c605eea952146348e5e1ad5cab6c127d7a1bd164. Bump __FreeBSD_version for the addition and add definitions to supress compat shims in libzfs (zfs changes were merged from upstream). PR: 275370 (request and exp-run (thanks antoine!)) Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D42846
|
#
c711af77 |
|
08-Dec-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version for llvm 17.0.6 merge PR: 273753 MFC after: 1 month
|
#
21fce617 |
|
26-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
param.h: Bump FreeBSD_version to 1500005 String of mechancial changes to the tree: sccs id removed, if 0'd copyright strings removed, mechanical style fix after htis churn and some macros removes from sys/cdefs.h. None of these should need a bump, but bump anyway out of an abundance of caution (and everything is going to rebuild anyway). Sponsored by: Netflix
|
#
29363fb4 |
|
23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove ancient SCCS tags. Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script. Sponsored by: Netflix
|
#
7fabea32 |
|
23-Nov-2023 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: Bump __FreeBSD_version to 1500004 for commit f5f277728ade Commit f5f277728ade added a new VFS function called vfs_exjail_clone(), which will be used by the ZFS module. Bump the version for this change.
|
#
ef85fd50 |
|
31-Oct-2023 |
Warner Losh <imp@FreeBSD.org> |
param.h: FreeBSD_version 1500003: ino64 forward compat removal Bump FreeBSD_version to 1500003 to mark the removal of the forward compat code for the inode64 conversion. This removal should be a nop. Sponsored by: Netflix
|
#
17f5e2b9 |
|
18-Oct-2023 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: Bump __FreeBSD_version for commit 57ce37f9dcd0 Commit 57ce37f9dcc0 changed the internal KAPI between the nfscommon and nfscl modules. Both must be rebuilt from sources.
|
#
a6662c37 |
|
17-Sep-2023 |
Shawn Anastasio <sanastasio@raptorengineering.com> |
powerpc: Implement fpu_kern_enter/fpu_kern_leave Summary: Provide an implementation of fpu_kern_enter/fpu_kern_leave for PPC to enable FPU, VSX, and Altivec usage in-kernel. The functions currently only support FPU_KERN_NOCTX, but this is sufficient for ossl(1) and many other users of the API. This patchset has been tested on powerpc64le using a modified version of the in-tree tools/tools/crypto/cryptocheck.c tool to check for FPU/Vec register clobbering along with a follow-up patch to enable ossl(4) on powerpc64*. Reviewed by: jhibbits MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D41540
|
#
67a27733 |
|
17-Sep-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Revert "powerpc: Implement fpu_kern_enter/fpu_kern_leave" This reverts commit 6a47fa697ace42851b44498a53446b29b2593316. Need to correct authorship.
|
#
6a47fa69 |
|
17-Sep-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
powerpc: Implement fpu_kern_enter/fpu_kern_leave Summary: Provide an implementation of fpu_kern_enter/fpu_kern_leave for PPC to enable FPU, VSX, and Altivec usage in-kernel. The functions currently only support FPU_KERN_NOCTX, but this is sufficient for ossl(1) and many other users of the API. This patchset has been tested on powerpc64le using a modified version of the in-tree tools/tools/crypto/cryptocheck.c tool to check for FPU/Vec register clobbering along with a follow-up patch to enable ossl(4) on powerpc64*. Reviewed by: jhibbits MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D41540
|
#
aee253d8 |
|
24-Aug-2023 |
Glen Barber <gjb@FreeBSD.org> |
update main to 15 Approved by: re (implicit) Sponsored by: GoFundMe https://www.gofundme.com/f/gjbbsd Sponsored by: PayPal https://paypal.me/gjbbsd
|
#
83d941e0 |
|
20-Aug-2023 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version for zlib 1.3.
|
#
6feeb67b |
|
20-Aug-2023 |
Colin Percival <cperciva@FreeBSD.org> |
Bump __FreeBSD_version for struct sysinit change The layout of struct sysinit changed in cedc82c0466a to add a "SLIST_ENTRY(sysinit) next" field so that sysinits can be placed into a linked list. Reported by: jrtc27
|
#
2ff63af9 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .h pattern Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
#
ed77b896 |
|
03-Aug-2023 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Bump __FreeBSD_version to 1400094 for HID KPI changes
|
#
ba8cc6d7 |
|
12-Mar-2023 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: use __enum_uint8 for vtype and vstate This whacks hackery around only reading v_type once. Bump __FreeBSD_version to 1400093
|
#
9ead001d |
|
23-Jun-2023 |
Ed Maste <emaste@FreeBSD.org> |
Bump __FreeBSD_version for OpenSSL 3.0 update Reported by: bofh Sponsored by: The FreeBSD Foundation
|
#
a681cba1 |
|
22-Jun-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version for llvm 16.0.6 merge PR: 271047 MFC after: 1 month
|
#
653738e8 |
|
07-Jun-2023 |
John Baldwin <jhb@FreeBSD.org> |
ptrace: Clear TDB_BORN during PT_DETACH. If a debugger detaches from a process that has a new thread that has not yet executed, the new thread will raise a SIGTRAP signal to report it's thread birth event even after the detach. With the debugger detached, this results in a SIGTRAP sent to the process and typically a core dump. Fix this by clearing TDB_BORN from any new threads during detach. Bump __FreeBSD_version for debuggers to notice when the fix is present. Reported by: GDB's testsuite Reviewed by: kib, markj (previous version) Differential Revision: https://reviews.freebsd.org/D39856
|
#
9fb6718d |
|
24-Apr-2023 |
Mark Johnston <markj@FreeBSD.org> |
smp: Dynamically allocate the stoppcbs array This avoids bloating the kernel image when MAXCPU is large. A follow-up patch for kgdb and other kernel debuggers is needed since the stoppcbs symbol is now a pointer. Bump __FreeBSD_version so that debuggers can use osreldate to figure out how to handle stoppcbs. PR: 269572 MFC after: never Reviewed by: mjg, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39806
|
#
97583aa2 |
|
03-Apr-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
linuxkpi: Migrate to IfAPI Summary: Trivial changes for LinuxKPI to use IfAPI. The 'bsdifp' looks unused, so removed it instead of converting it to a pointer. Bump __FreeBSD_version for change to struct net_device. Reviewed by: bz, hselasky Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D39491
|
#
af22da75 |
|
22-Apr-2023 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Bump __FreeBSD_version after LinuxKPI updates
|
#
c17eb99a |
|
08-Apr-2023 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version to 1400086 for vn_lock_pair arg change Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
1cebc929 |
|
28-Mar-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi updates. Sponsored by: Beckhoff Automation GmbH & Co. KG
|
#
ea306152 |
|
22-Mar-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Bump __FreeBSD_version for changing spsr on arm64 This changed a few structures, bump __FreeBSD_version for kgdb and userspace consumers. Sponsored by: Arm Ltd
|
#
4a06b28a |
|
20-Mar-2023 |
Andrew Turner <andrew@FreeBSD.org> |
Add compat support for struct reg on arm64 The size of the spsr field in struct reg has changed. Mask the bits that userspace doesn't know about out as they may be invalid. While here add a comment why we don't need compat support in set_regs. Sponsored by: Arm Ltd
|
#
ab3ff87a |
|
18-Mar-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
Belately bump __FreeBSD_version for introduction of __libc_start1() and move of most of the initialization code from csu to libc. Requested by: jrtc27 Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
|
#
ecad3f5c |
|
15-Feb-2023 |
Tijl Coosemans <tijl@FreeBSD.org> |
rc.d: Generate machine-id from hostid_save rc.d/hostid_save saves a UUID generated by rc.d/hostid in /etc/hostid. Store the same UUID, without hyphens, in /etc/machine-id. The hypĥens are removed with a shell function because hostid_save runs before file systems are mounted so other tools may not be available yet. This eliminates some duplication between hostid and machine-id and for virtual machines machine-id now contains the UUID configured in the hypervisor like it does on Linux. Reviewed by: delphij Discussed with: bapt MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D38811
|
#
545c5c40 |
|
17-Feb-2023 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes Needed to add a graphics/drm-515-kmod port. Sponsored by: Beckhoff Automation GmbH & Co. KG
|
#
cbc32e4c |
|
14-Feb-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
cpuset: Add compat shim to the sched_affinity functions To allow to run a newer world on a pre-1400079 kernel a compat shims to the sched_affinity functions has beed added. Reported by: antoine Tested by: antoine Reviewed by: kib Differential revision: https://reviews.freebsd.org/D38555 MFC after: 3 days
|
#
5942b4b6 |
|
14-Feb-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
sys/param.h: Add _WANT_P_OSREL Use it instead of defining IN_RTLD by base sources that want P_OSREL_ defines in userspace, but are not rtld. This allows to remove abuse of IN_RTLD from userspace. Reviewed by: dchagin, markj, imp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38585
|
#
53da54b9 |
|
08-Feb-2023 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
linuxkpi: Define `totalram_pages()` It returns `physmem`. `__FreeBSD_version` is bumped to 1400080. We need that to remove a copy of this function in the i915 DRM driver, maintained outside of base. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D38531
|
#
3264f6b8 |
|
08-Feb-2023 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version for llvm 15.0.7 merge PR: 265425 MFC after: 2 weeks
|
#
4b56afaf |
|
28-Nov-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: implement irq_get_msi_desc() Add irq_get_msi_desc() as a wrapper around a PCI function which will allocate a single cached value (see comment on struct) for the msi_desc requested if it doesn't exist yet and handle freeing it when the PCI device goes away. We take the values from the ivars of the native (FreeBSD) device. While changing struct pci_dev also add the msi_cap field requested by a wireless driver. Bump __FreeBSD_version so these changes can be detected. MFC after: 3 days X-MFC: move fields to end of struct (alloc happens in linux_pci.c) Reviewed by: hselasky (earlier version) Differential Revision: https://reviews.freebsd.org/D37523
|
#
829f0bcb |
|
19-Dec-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add the concept of vnode state transitions To quote from a comment above vput_final: <quote> * XXX Some filesystems pass in an exclusively locked vnode and strongly depend * on the lock being held all the way until VOP_INACTIVE. This in particular * happens with UFS which adds half-constructed vnodes to the hash, where they * can be found by other code. </quote> As is there is no mechanism which allows filesystems to denote that a vnode is fully initialized, consequently problems like the above are only found the hard way(tm). Add rudimentary support for state transitions, which in particular allow to assert the vnode is not legally unlocked until its fate is decided (either construction finishes or vgone is called to abort it). The new field lands in a 1-byte hole, thus it does not grow the struct. Bump __FreeBSD_version to 1400077 Reviewed by: kib (previous version) Tested by: pho Differential Revision: https://reviews.freebsd.org/D37759
|
#
62a149bf |
|
17-Dec-2022 |
Tobias C. Berner <tcberner@FreeBSD.org> |
Add new rc: machine_id to generate /etc/machine-id This new default-enabled rc will generate a /etc/machine-id file if it does not exist, and pre-fill it with a newly generated UUID of version 4 [2]. The file is generated in /var/db/machine-id and symlinked to /etc/machine-id to allow for read-only root partitions. This file is amongst other things used by libraries like GLib. Bump FreeBSD version 1400076 to be able to easily add support for older version of FreeBSD via a package. [1] Linux machine-id(5): https://www.man7.org/linux/man-pages/man5/machine-id.5.html [2] f176fe8e7f638e585afcd2f4dd52a522c4648f63 Approved by: bapt MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D37722
|
#
8f7859e8 |
|
14-Dec-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: retire the now unused SAVESTART flag Bump __FreeBSD_version to 1400075 Tested by: pho
|
#
e28932c6 |
|
08-Dec-2022 |
Ka Ho Ng <khng@FreeBSD.org> |
vfs: Add spare fileops function pointer slots This allows backporting of new fileops function pointers while preserving KBI. Bump __FreeBSD_version. Sponsored by: Juniper Networks, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D37636
|
#
9c950139 |
|
17-Oct-2022 |
Eric Joyner <erj@FreeBSD.org> |
iflib: Introduce v2 of TX Queue Select Functionality For v2, iflib will parse packet headers before queueing a packet. This commit also adds a new field in the structure that holds parsed header information from packets; it stores the IP ToS/traffic class field found in the IPv4/IPv6 header. To help, it will only partially parse header packets before queueing them by using a new header parsing function that does less than the current parsing header function; for our purposes we only need up to the minimal IP header in order to get the IP ToS infromation and don't need to pull up more data. For now, v1 and v2 co-exist in this patch; v1 still offers a less-invasive method where none of the packet is parsed in iflib before queueing. This also bumps the sys/param.h version. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Tested by: IntelNetworking MFC after: 3 days Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D34742
|
#
8a96874e |
|
30-Sep-2022 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version for qsort_r prototype change.
|
#
d3f96f66 |
|
07-Sep-2022 |
Alan Somers <asomers@FreeBSD.org> |
Fix O(n^2) behavior in sysctl Sysctl OIDs were internally stored in linked lists, triggering O(n^2) behavior when userland iterates over many of them. The slowdown is noticeable for MIBs that have > 100 children (for example, vm.uma). But it's unignorable for kstat.zfs when a pool has > 1000 datasets. Convert the linked lists into RB trees. This produces a ~25x speedup for listing kstat.zfs with 4100 datasets, and no measurable penalty for small dataset counts. Bump __FreeBSD_version for the KPI change. Sponsored by: Axcient Reviewed by: mjg Differential Revision: https://reviews.freebsd.org/D36500
|
#
6bddde30 |
|
22-Sep-2022 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for pmap_unmap*() and kmem_*() API changes. Sponsored by: DARPA
|
#
f95c0bc8 |
|
22-Sep-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version after LinuxKPI changes.
|
#
5b5b7e2c |
|
17-Sep-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: always retain path buffer after lookup This removes some of the complexity needed to maintain HASBUF and allows for removing injecting SAVENAME by filesystems. Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D36542
|
#
78c30a6a |
|
09-Sep-2022 |
Felix Palmen <zirias@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes. Approved by: tcberner (mentor)
|
#
840327e5 |
|
24-Aug-2022 |
Brooks Davis <brooks@FreeBSD.org> |
mbuf: Don't support PAGE_SIZE < 4K The Vax supported such things, but FreeBSD does not. This further implies that MJUMPAGESIZE > MCLBYTES so assert this and remove code handling them being equal. Reviewed by: kp, imp, jhb Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D36320
|
#
ff7812ee |
|
18-Aug-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes.
|
#
b273f936 |
|
08-Aug-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes.
|
#
ddd9004e |
|
18-Jul-2022 |
Mark Johnston <markj@FreeBSD.org> |
Bump __FreeBSD_version after the removal of OBJT_DEFAULT Out-of-tree modules which allocate an object of type OBJT_DEFAULT need to be recompiled. No other changes are required, however.
|
#
8cff8e6e |
|
29-Jun-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes.
|
#
8c309d48 |
|
17-Jun-2022 |
Damjan Jovanovic <damjan.jov@gmail.com> |
struct kinfo_file changes needed for lsof to work using only usermode APIs` Add kf_pipe_buffer_[in/out/size] fields to kf_pipe, and populate them. Add a kf_kqueue struct to the kf_un union, to allow querying kqueue state, and populate it. Populate the kf_sock_rcv_sb_state and kf_sock_snd_sb_state fields in kf_sock for INET/INET6 sockets, and populate all other fields for all transport layer protocols, not just TCP. Bump __FreeBSD_version. Differential revision: https://reviews.freebsd.org/D34184 Reviewed by: jhb, kib, se MFC after: 1 week
|
#
c4c5981c |
|
08-Jun-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump the FreeBSD version after recent mbuf(9) structure changes. Differential revision: https://reviews.freebsd.org/D35339 Sponsored by: NVIDIA Networking
|
#
85d7875d |
|
06-Jun-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
LinuxKPI: Fix dmi_matches() function Make sure to check for NULL pointers and also check all search criterias, not only the first one! Bump the FreeBSD version. Reviewed by: manu@ Differential Revision: https://reviews.freebsd.org/D35403 MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
3a9a9c0c |
|
28-Apr-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project release/14.x llvmorg-14.0.3-0-g1f9140064dfb This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14.0.3-0-g1f9140064dfb. PR: 261742 MFC after: 2 weeks
|
#
2e32d4e4 |
|
07-May-2022 |
Warner Losh <imp@FreeBSD.org> |
param.h: Bump FreeBSD_Version to 1400058 for devclass newbus changes jhb changed the newbus ABI and it's affecting some ports. Bump the version to give them something to key off of for the removal of the devclass arg from some macros. In theory the change should have been ABI neutral, but there some build breakage with drm-kmod so better to bump than not. Sponsored by: Netflix |
#
1d2421ad |
|
05-May-2022 |
Alan Somers <asomers@FreeBSD.org> |
Correctly measure system load averages > 1024 The old fixed-point arithmetic used for calculating load averages had an overflow at 1024. So on systems with extremely high load, the observed load average would actually fall back to 0 and shoot up again, creating a kind of sawtooth graph. Fix this by using 64-bit math internally, while still reporting the load average to userspace as a 32-bit number. Sponsored by: Axcient Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D35134 |
#
e68b35e4 |
|
22-Apr-2022 |
Kristof Provost <kp@FreeBSD.org> |
Bump __FreeBSD_version for udp_tun_func_t() prototype change 742e7210d0 changed the prototype of udp_tun_func_t(). Bump __FreeBSD_version so that external modules can #ifdef for it as required. PR: 263297 Sponsored by: Rubicon Communications, LLC ("Netgate") |
#
ab8ac4c2 |
|
31-Mar-2022 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version for zlib upgrade. |
#
d69af475 |
|
29-Mar-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi updates |
#
50bb3a33 |
|
28-Mar-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi updates |
#
ba87e9bf |
|
17-Feb-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump FreeBSD_version after linuxkpi update. Sponsored by: Beckhoff Automation GmbH & Co. KG |
#
05f0b24b |
|
14-Feb-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version to 1400052 for LinuxKPI changes. Add a marker after GUID_INIT() and linux/pm_qos.h were added, so that future version of drm-kmod can selectively remove these bits. The latest port version does not require user updates for this so no UPDATING entry. |
#
2a7e4cf8 |
|
27-Jan-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
Revert b58ca5df0bb7 ("vfs: remove the now unused insmntque1") I was somehow convinced that insmntque calls insmntque1 with a NULL destructor. Unfortunately this worked well enough to not immediately blow up in simple testing. Keep not using the destructor in previously patched filesystems though as it avoids unnecessary casts. Noted by: kib Reported by: pho |
#
b58ca5df |
|
26-Jan-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove the now unused insmntque1 Bump __FreeBSD_version to 1400052. |
#
59d465e2 |
|
25-Jan-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version for LinuxKPI changes Sponsored by: Beckhoff Automation GmbH & Co. KG |
#
213e9139 |
|
29-Jul-2021 |
Eric Joyner <erj@FreeBSD.org> |
iflib: Allow drivers to determine which queue to TX on Adds a new function pointer to struct if_txrx in order to allow drivers to set their own function that will determine which queue a packet should be sent on. Since this includes a kernel ABI change, bump the __FreeBSD_version as well. (This motivation behind this is to allow the driver to examine the UP in the VLAN tag and determine which queue to TX on based on that, in support of HW TX traffic shaping.) Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: kbowling@, stallamr@netapp.com Tested by: jeffrey.e.pieper@intel.com Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D31485 |
#
2c4b65cc |
|
24-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for the addition of <crypto/curve25519.h>. Sponsored by: The FreeBSD Foundation |
#
dd2f7a4b |
|
18-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for the addition of <crypto/chacha20_poly1305.h>. Sponsored by: The FreeBSD Foundation |
#
ed6417cd |
|
11-Jan-2022 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Bump __FreeBSD_version for LinuxKPI changes |
#
e2650af1 |
|
29-Dec-2021 |
Stefan Eßer <se@FreeBSD.org> |
Make CPU_SET macros compliant with other implementations The introduction of <sched.h> improved compatibility with some 3rd party software, but caused the configure scripts of some ports to assume that they were run in a GLIBC compatible environment. Parts of sched.h were made conditional on -D_WITH_CPU_SET_T being added to ports, but there still were compatibility issues due to invalid assumptions made in autoconfigure scripts. The differences between the FreeBSD version of macros like CPU_AND, CPU_OR, etc. and the GLIBC versions was in the number of arguments: FreeBSD used a 2-address scheme (one source argument is also used as the destination of the operation), while GLIBC uses a 3-adderess scheme (2 source operands and a separately passed destination). The GLIBC scheme provides a super-set of the functionality of the FreeBSD macros, since it does not prevent passing the same variable as source and destination arguments. In code that wanted to preserve both source arguments, the FreeBSD macros required a temporary copy of one of the source arguments. This patch set allows to unconditionally provide functions and macros expected by 3rd party software written for GLIBC based systems, but breaks builds of externally maintained sources that use any of the following macros: CPU_AND, CPU_ANDNOT, CPU_OR, CPU_XOR. One contributed driver (contrib/ofed/libmlx5) has been patched to support both the old and the new CPU_OR signatures. If this commit is merged to -STABLE, the version test will have to be extended to cover more ranges. Ports that have added -D_WITH_CPU_SET_T to build on -CURRENT do no longer require that option. The FreeBSD version has been bumped to 1400046 to reflect this incompatible change. Reviewed by: kib MFC after: 2 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D33451 |
#
b214fcce |
|
13-Dec-2021 |
Alan Somers <asomers@FreeBSD.org> |
Change VOP_READDIR's cookies argument to a **uint64_t The cookies argument is only used by the NFS server. NFSv2 defines the cookie as 32 bits on the wire, but NFSv3 increased it to 64 bits. Our VOP_READDIR, however, has always defined it as u_long, which is 32 bits on some architectures. Change it to 64 bits on all architectures. This doesn't matter for any in-tree file systems, but it matters for some FUSE file systems that use 64-bit directory cookies. PR: 260375 Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D33404 |
#
ec434c85 |
|
09-Dec-2021 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for software crypto changes. - enc_xform now supports AEAD ciphers. - The Blake-2S/B auth transforms now support Init before Setkey like other auth transforms. |
#
7e1d3eef |
|
25-Nov-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove the unused thread argument from NDINIT* See b4a58fbf640409a1 ("vfs: remove cn_thread") Bump __FreeBSD_version to 1400043. |
#
20aa3597 |
|
13-Nov-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version for llvm-project 13.0.0 merge PR: 258209 MFC after: 2 weeks |
#
0c276dee |
|
06-Nov-2021 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: Bump __FreeBSD_version for commit f0c9847a6c47 Commit f0c9847a6c47 changed the arguments for VOP_ALLOCATE. Bump __FreeBSD_version to 1400041. |
#
f38bef2c |
|
31-Oct-2021 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version following the libdialog shared library version number bump. |
#
bd49c454 |
|
19-Oct-2021 |
Mark Johnston <markj@FreeBSD.org> |
Bump __FreeBSD_version for the preceding page allocator changes None of the usual suspects (e.g., drm-kmod, virtualbox-ose-kmod, nvidia-driver) seem to be affected by the changes, but it is likely that something else is affected. Sponsored by: The FreeBSD Foundation |
#
0d6516b4 |
|
17-Oct-2021 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Bump __FreeBSD_version for LinuxKPI changes |
#
2b68eb8e |
|
01-Oct-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove thread argument from VOP_STAT and fo_stat. |
#
ac847dbf |
|
06-Oct-2021 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for OCF changes to support variable nonce lengths. Sponsored by: The FreeBSD Foundation |
#
16f1ee11 |
|
04-Oct-2021 |
Baptiste Daroussin <bapt@FreeBSD.org> |
ncurses: document in UPDATING and bump _FreeBSD_version |
#
30acf99a |
|
29-Sep-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Bump __FreeBSD_version to 1400034 for LinuxKPI changes |
#
c751d067 |
|
07-Sep-2021 |
Mark Johnston <markj@FreeBSD.org> |
Bump __FreeBSD_version for the recent socket KPI changes Sponsored by: The FreeBSD Foundation |
#
76321d2d |
|
25-Aug-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
param: Bump __FreeBSD_version to 1400032 Commit 9e202d036dd6 introduces incompatible changes to fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9)'s rmsr.r_offset/*offset return value. Sponsored by: The FreeBSD Foundation |
#
1a4c5061 |
|
24-Aug-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
param: Bump __FreeBSD_version to 1400031 Commit 1eaa36523cb9 introduces backward compatible changes to fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). rmsr.r_offset and *offset is updated to contain meaningful value upon returning from the call. Sponsored by: The FreeBSD Foundation |
#
95941b96 |
|
12-Aug-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
param.h: Bump __FreeBSD_version to 1400030 Commit a638dc4ebc8e expands VOP_DEALLOCATE(9)'s parameters list. File system modules and modules calling VOP_DEALLOCATE(9) need to be rebuilt. Commit 454bc887f250 introduces fspacectl(2) SPACECTL_DEALLOC support for POSIX shared memory. Sponsored by: The FreeBSD Foundation |
#
1b97a054 |
|
05-Aug-2021 |
Andrew Gallatin <gallatin@FreeBSD.org> |
tsleep: Add a PNOLOCK flag Add a PNOLOCK flag so that, in the race circumstance where wakeup races are externally mitigated, tsleep() can be called with a sleep time of 0 without triggering an an assertion. Reviewed by: jhb Sponsored by: Netflix |
#
245ec765 |
|
04-Aug-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
param.h: Bump __FreeBSD_version to 1400029 for commit 0dc332bff200 Commit 0dc332bff200 changes fileops layout and adds VOP_DEALLOCATE VOP call. LinuxKPI kmods and file system modules need to be rebuilt at least. Sponsored by: The FreeBSD Foundation |
#
792b602a |
|
31-Jul-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump the FreeBSD version after making FPU sections thread-safe in the LinuxKPI. Differential Revision: https://reviews.freebsd.org/D29921 MFC after: 1 week Sponsored by: NVIDIA Networking |
#
cc55ee80 |
|
28-Jul-2021 |
Dimitry Andric <dim@FreeBSD.org> |
compilert-rt: build out-of-line LSE atomics helpers for aarch64 Both clang >= 12 and gcc >= 10.1 now default to -moutline-atomics for aarch64. This requires a bunch of helper functions in libcompiler_rt.a, to avoid link errors like "undefined symbol: __aarch64_ldadd8_acq_rel". (Note: of course you can use -mno-outline-atomics as a workaround too, but this would negate the potential performance benefit of the faster LSE instructions.) Bump __FreeBSD_version so ports maintainers can easily detect this. PR: 257392 MFC after: 2 weeks |
#
fad3f322 |
|
16-Jul-2021 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: Bump __FreeBSD_version to 1400026 for commit ee29e6f31111 Commit ee29e6f31111 changed the internal KAPI between the nfscommon and nfsd modules. Bump __FreeBSD_version to 1400026 since both modules will need to be rebuilt from sources. |
#
5fa1eb1c |
|
04-Jul-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Bump __FreeBSD_version to 1400025 for LinuxKPI change. |
#
41dfd8bd |
|
18-Jun-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version to 1400024 for LinuxKPI change. |
#
d409305f |
|
26-Apr-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm-project 12.0.0 release This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release. PR: 255570 MFC after: 6 weeks
|
#
40cc9a3a |
|
11-Jun-2021 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: Bump __FreeBSD_version to 1400022 Commit e1a907a25cfa changed the internal KAPI between the krpc and nfsserver. As such, both modules must be rebuilt from sources. Bump __FreeBSD_version to 1400022. |
#
b47f461c |
|
10-Jun-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Add list_for_each_entry_lockless() macro This is needed by the drm-kmod 5.7 update. Approved by: hselasky (src) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D30708 |
#
8a1a42b2 |
|
09-Jun-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Add macros for might_lock_nested() and lockdep_(re/un/)pin_lock() In Linux, these are macros to locks in the kernel for scheduling purposes. But as with other macros in this header, we aren't doing anything with them so we are doing `do {} while (0)` for now. This is needed by the drm-kmod 5.7 update. Approved by: hselasky (src) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D30710 |
#
37d64dcd |
|
07-Jun-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Include pr_err_once() in printk.h Approved by: bz (src), hselasky (src) Differential Reivison: https://reviews.freebsd.org/D30687 |
#
a4b07a27 |
|
11-May-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
VFS_QUOTACTL(9): allow implementation to indicate busy state changes Instead of requiring all implementations of vfs_quotactl to unbusy the mount for Q_QUOTAON and Q_QUOTAOFF, add an "mp_busy" in/out param to VFS_QUOTACTL(9). The implementation may then indicate to the caller whether it needed to unbusy the mount. Also, add stbool.h to libprocstat modules which #define _KERNEL before including sys/mount.h. Otherwise they'll pull in sys/types.h before defining _KERNEL and therefore won't have the bool definition they need for mp_busy. Reviewed By: kib, markj Differential Revision: https://reviews.freebsd.org/D30556 |
#
271fcf1c |
|
29-May-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
Revert commits 6d3e78ad6c11 and 54256e7954d7 Parts of libprocstat like to pretend they're kernel components for the sake of including mount.h, and including sys/types.h in the _KERNEL case doesn't fix the build for some reason. Revert both the VFS_QUOTACTL() change and the follow-up "fix" for now. |
#
6d3e78ad |
|
11-May-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
VFS_QUOTACTL(9): allow implementation to indicate busy state changes Instead of requiring all implementations of vfs_quotactl to unbusy the mount for Q_QUOTAON and Q_QUOTAOFF, add an "mp_busy" in/out param to VFS_QUOTACTL(9). The implementation may then indicate to the caller whether it needed to unbusy the mount. Reviewed By: kib, markj Differential Revision: https://reviews.freebsd.org/D30218 |
#
beb817ed |
|
25-May-2021 |
John Baldwin <jhb@FreeBSD.org> |
crypto: Add crypto_cursor_segment() to fetch both base and length. This function combines crypto_cursor_segbase() and crypto_cursor_seglen() into a single function. This is mostly beneficial in the unmapped mbuf case where back to back calls of these two functions have to iterate over the sub-components of unmapped mbufs twice. Bump __FreeBSD_version for crypto drivers in ports. Suggested by: markj Reviewed by: markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D30445 |
#
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 |
#
d72cd275 |
|
25-May-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version to 1400015 for LinuxKPI changes. Commits 17accc08ae15 and de102f870501 add new files to LinuxKPI which break drm-kmod. In addition various other additions where comitted. Bump __FreeBSD_version to 1400015 to be able to detect this. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks |
#
ef0f7ae9 |
|
21-May-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
The old thread priority must be stored as part of the EPOCH(9) tracker. Else recursive use of EPOCH(9) may cause the wrong priority to be restored. Bump the __FreeBSD_version due to changing the thread and epoch tracker structure. Differential Revision: https://reviews.freebsd.org/D30375 Reviewed by: markj@ MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking |
#
122a8c7e |
|
05-May-2021 |
Warner Losh <imp@FreeBSD.org> |
param.h: Fix typos Submitted by: rpokala@ Sponsored by: Netflix |
#
9e0ba953 |
|
22-Apr-2021 |
Warner Losh <imp@FreeBSD.org> |
param.h: Document __FreeBSD_version better Document what __FreeBSD_version means a bit better by documenting the sorts of events it should be bumped for. Also include a handy shorthand for what it means. Add a some advice for how frequently to change this as well. Added a note about the approved way to parse this from the param.h file, though that was not in the review. All in-tree users have been updated to this method prior to this commit. Move and reword the comment that was on the same line. Suggestions by: greg@unrelenting, arch@ Reviewed by: rgrimes@ (earlier version). Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D29850 |
#
341da007 |
|
28-Apr-2021 |
Neel Chauhan <nc@FreeBSD.org> |
Bump __FreeBSD_version for commits efe7f12 and 9781105 These commits have added new APIs to linuxkpi. |
#
61aea7fa |
|
26-Apr-2021 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: bump __FreeBSD_version for commit 875977314881 Commit 875977314881 changed the internal KPI between the nfsd and nfscommon modules, so both need to be rebuilt from sources. |
#
ce65353a |
|
26-Apr-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Implement atomic_dec_and_lock_irqsave() This is needed by the drm-kmod 5.5 update. Reviewed by: hselasky, manu MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D29988 |
#
7c707c7c |
|
22-Apr-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
__FreeBSD_version: update the references to the doc tree Update the reference of which file to update in the doc tree when bumping __FreeBSD_version. This change is to catch up with commit f8fed61b80 in the doc repository. MFC after: 3 days Approved by: lwhsu (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29920 |
#
a3a02acd |
|
15-Apr-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
param.h: bump __FreeBSD_version for commit 4ce1ba652383 Commit 4ce1ba652383 changed the sndstat(4) ioctls nvlist schema and definitions. Approved by: philip (mentor) |
#
9ca874cf |
|
30-Mar-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add TCP LRO support for VLAN and VxLAN. This change makes the TCP LRO code more generic and flexible with regards to supporting multiple different TCP encapsulation protocols and in general lays the ground for broader TCP LRO support. The main job of the TCP LRO code is to merge TCP packets for the same flow, to reduce the number of calls to upper layers. This reduces CPU and increases performance, due to being able to send larger TSO offloaded data chunks at a time. Basically the TCP LRO makes it possible to avoid per-packet interaction by the host CPU. Because the current TCP LRO code was tightly bound and optimized for TCP/IP over ethernet only, several larger changes were needed. Also a minor bug was fixed in the flushing mechanism for inactive entries, where the expire time, "le->mtime" was not always properly set. To avoid having to re-run time consuming regression tests for every change, it was chosen to squash the following list of changes into a single commit: - Refactor parsing of all address information into the "lro_parser" structure. This easily allows to reuse parsing code for inner headers. - Speedup header data comparison. Don't compare field by field, but instead use an unsigned long array, where the fields get packed. - Refactor the IPv4/TCP/UDP checksum computations, so that they may be computed recursivly, only applying deltas as the result of updating payload data. - Make smaller inline functions doing one operation at a time instead of big functions having repeated code. - Refactor the TCP ACK compression code to only execute once per TCP LRO flush. This gives a minor performance improvement and keeps the code simple. - Use sbintime() for all time-keeping. This change also fixes flushing of inactive entries. - Try to shrink the size of the LRO entry, because it is frequently zeroed. - Removed unused TCP LRO macros. - Cleanup unused TCP LRO statistics counters while at it. - Try to use __predict_true() and predict_false() to optimise CPU branch predictions. Bump the __FreeBSD_version due to changing the "lro_ctrl" structure. Tested by: Netflix Reviewed by: rrs (transport) Differential Revision: https://reviews.freebsd.org/D29564 MFC after: 2 week Sponsored by: Mellanox Technologies // NVIDIA Networking |
#
e152bbec |
|
11-Apr-2021 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: bump __FreeBSD_version for commit 7763814fc9c2 Commit 7763814fc9c2 changed the internal KAPI between the krpc and NFS. As such, the krpc, nfscommon and nfscl modules must all be rebuilt from sources. |
#
d36d6816 |
|
04-Apr-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
rtld dl_iterate_phdr(): dlpi_tls_data is wrong dl_iterate_phdr() dlpi_tls_data should provide the TLS module segment address, and not the TLS init segment address as it does now. Reported by: emacsray@gmail.com PR: 254774 Sponsored by: The FreeBSD Foundation MFC after: 1 week |
#
c96151d3 |
|
17-Mar-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
Implement sndstat nvlist-based enumeration ioctls. These ioctl commands aim to provide easier ways for user space applications to enumerate existing audio devices and the node they can potentially use. The exchange of device lists between user space and kernel is done on nv(9). Some ioctl commands are added to /dev/sndstat node: - SNDSTAT_REFRESH_DEVS - SNDSTAT_GET_DEVS - SNDSTAT_ADD_USER_DEVS - SNDSTAT_FLUSH_USER_DEVS Bump __FreeBSD_version to reflect the addition of the ioctls. Sponsored by: The FreeBSD Foundation Reviewed by: hselasky Approved by: philip (mentor) Differential Revision: https://reviews.freebsd.org/D26884 |
#
45eabf57 |
|
17-Feb-2021 |
Mitchell Horne <mhorne@FreeBSD.org> |
Bump __FreeBSD_version after f2583be110ca Provide a compatibility point around the ABI-breaking change. Sponsored by: The FreeBSD Foundation |
#
eac22dd4 |
|
14-Feb-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
lockmgr: shrink struct lock by 8 bytes on LP64 Currently the struct has a 4 byte padding stemming from 3 ints. 1. prio comfortably fits in short, unfortunately there is no dedicated type for it and plumbing it throughout the codebase is not worth it right now, instead an assert is added which covers also flags for safety 2. lk_exslpfail can in principle exceed u_short, but the count is already not considered reliable and it only ever gets modified straight to 0. In other words it can be incrementing with an upper bound of USHRT_MAX With these in place struct lock shrinks from 48 to 40 bytes. Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D28680 |
#
68f6800c |
|
08-Feb-2021 |
Mark Johnston <markj@FreeBSD.org> |
opencrypto: Introduce crypto_dispatch_async() Currently, OpenCrypto consumers can request asynchronous dispatch by setting a flag in the cryptop. (Currently only IPSec may do this.) I think this is a bit confusing: we (conditionally) set cryptop flags to request async dispatch, and then crypto_dispatch() immediately examines those flags to see if the consumer wants async dispatch. The flag names are also confusing since they don't specify what "async" applies to: dispatch or completion. Add a new KPI, crypto_dispatch_async(), rather than encoding the requested dispatch type in each cryptop. crypto_dispatch_async() falls back to crypto_dispatch() if the session's driver provides asynchronous dispatch. Get rid of CRYPTOP_ASYNC() and CRYPTOP_ASYNC_KEEPORDER(). Similarly, add crypto_dispatch_batch() to request processing of a tailq of cryptops, rather than encoding the scheduling policy using cryptop flags. Convert GELI, the only user of this interface (disabled by default) to use the new interface. Add CRYPTO_SESS_SYNC(), which can be used by consumers to determine whether crypto requests will be dispatched synchronously. This is just a helper macro. Use it instead of looking at cap flags directly. Fix style in crypto_done(). Also get rid of CRYPTO_RETW_EMPTY() and just check the relevant queues directly. This could result in some unnecessary wakeups but I think it's very uncommon to be using more than one queue per worker in a given workload, so checking all three queues is a waste of cycles. Reviewed by: jhb Sponsored by: Ampere Computing Submitted by: Klara, Inc. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D28194 |
#
8fa6abb6 |
|
03-Feb-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
Expose clang's alignment builtins and use them for roundup2/rounddown2 This makes roundup2/rounddown2 type- and const-preserving and allows using it on pointer types without casting to uintptr_t first. Not performing pointer-to-integer conversions also helps the compiler's optimization passes and can therefore result in better code generation. When using it with integer values there should be no change other than the compiler checking that the alignment value is a valid power-of-two. I originally implemented these builtins for CHERI a few years ago and they have been very useful for CheriBSD. However, they are also useful for non-CHERI code so I was able to upstream them for Clang 10.0. Rationale from the clang documentation: Clang provides builtins to support checking and adjusting alignment of pointers and integers. These builtins can be used to avoid relying on implementation-defined behavior of arithmetic on integers derived from pointers. Additionally, these builtins retain type information and, unlike bitwise arithmetic, they can perform semantic checking on the alignment value. There is also a feature request for GCC, so GCC may also support it in the future: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98641 Reviewed By: brooks, jhb, imp Differential Revision: https://reviews.freebsd.org/D28332 |
#
abd61904 |
|
29-Jan-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
__FreeBSD_version: update the references to the doc tree Update the reference of which file to update in the doc tree when bumping __FreeBSD_version. |
#
d386f3a3 |
|
28-Jan-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version for multiple LinuxKPI updates conflicting with DRM. Be sure to update your drm-kmod port to after the update. |
#
2cf84258 |
|
26-Jan-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version after e63539f3059728ff58328ac0ecb2a7bf4e2f08e8 This is to allow ports to detect the clang fix applied in the above commit. PR: 252892 MFC after: 3 days |
#
739ecbcf |
|
23-Jan-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
cache: add symlink support to lockless lookup Reviewed by: kib (previous version) Tested by: pho (previous version) Differential Revision: https://reviews.freebsd.org/D27488 |
#
a53ce3fc |
|
21-Jan-2021 |
Glen Barber <gjb@FreeBSD.org> |
Bump CURRENT to 14.0 This one goes to 14. Approved by: re (implicit) Sponsored by: Rubicon Communications, LLC ("Netgate") |
#
72c55193 |
|
16-Jan-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes |
#
35a39dc5 |
|
11-Jan-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes |
#
a84b0e94 |
|
06-Jan-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Add UPDATING entry and bump __FreeBSD_version Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D28019 |
#
2ed0c8d8 |
|
23-Dec-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
version bump for commit 665b1365fe8e24d618d63b0d57b0b4ad39e97824 The commit changed the internal API between the NFS and kernel RPC modules. Bump the version so that all modules get rebuilt from sources. |
#
b8b3f4fd |
|
14-Dec-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Improve handling of alternate settings in the USB stack. Allow setting the alternate interface number to fail when there is only one alternate setting present, to comply with the USB specification. Refactor how iface->num_altsetting is computed. Bump the __FreeBSD_version due to change of core USB structure. PR: 251856 MFC after: 1 week Submitted by: Ma, Horse <Shichun.Ma@dell.com> Sponsored by: Mellanox Technologies // NVIDIA Networking |
#
a56ac758 |
|
07-Dec-2020 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for removal of crypto fd's in r368005. Requested by: swills Sponsored by: Chelsio Communications |
#
baa2cd58 |
|
29-Nov-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Reduce MAXPHYS back to 128KB on 32bit architectures. Some of them have limited KVA, like arm, which prevents startup from allocating needed number of large pbufs. Other, for instance i386, are dis-balanced enough after 4/4 that blind bump is probably harmful because it allows for much more in-flight io than other tunables are ready for. Requested by: mmel Reviewed by: emaste, mmel Sponsored by: The FreeBSD Foundation |
#
cd853791 |
|
27-Nov-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Make MAXPHYS tunable. Bump MAXPHYS to 1M. Replace MAXPHYS by runtime variable maxphys. It is initialized from MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys. Make b_pages[] array in struct buf flexible. Size b_pages[] for buffer cache buffers exactly to atop(maxbcachebuf) (currently it is sized to atop(MAXPHYS)), and b_pages[] for pbufs is sized to atop(maxphys) + 1. The +1 for pbufs allow several pbuf consumers, among them vmapbuf(), to use unaligned buffers still sized to maxphys, esp. when such buffers come from userspace (*). Overall, we save significant amount of otherwise wasted memory in b_pages[] for buffer cache buffers, while bumping MAXPHYS to desired high value. Eliminate all direct uses of the MAXPHYS constant in kernel and driver sources, except a place which initialize maxphys. Some random (and arguably weird) uses of MAXPHYS, e.g. in linuxolator, are converted straight. Some drivers, which use MAXPHYS to size embeded structures, get private MAXPHYS-like constant; their convertion is out of scope for this work. Changes to cam/, dev/ahci, dev/ata, dev/mpr, dev/mpt, dev/mvs, dev/siis, where either submitted by, or based on changes by mav. Suggested by: mav (*) Reviewed by: imp, mav, imp, mckusick, scottl (intermediate versions) Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D27225 |
#
85078b85 |
|
17-Nov-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Split out cwd/root/jail, cmask state from filedesc table No functional change intended. Tracking these structures separately for each proc enables future work to correctly emulate clone(2) in linux(4). __FreeBSD_version is bumped (to 1300130) for consumption by, e.g., lsof. Reviewed by: kib Discussed with: markj, mjg Differential Revision: https://reviews.freebsd.org/D27037 |
#
9aa6d792 |
|
12-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
malloc: retire malloc_last_fail The routine does not serve any practical purpose. Memory can be allocated in many other ways and most consumers pass the M_WAITOK flag, making malloc not fail in the first place. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D27143 |
#
db6a0c8f |
|
09-Nov-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes |
#
bdcc2226 |
|
06-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
malloc: move malloc_type_internal into malloc_type According to code comments the original motivation was to allow for malloc_type_internal changes without ABI breakage. This can be trivially accomplished by providing spare fields and versioning the struct, as implemented in the patch below. The upshots are one less memory indirection on each alloc and disappearance of mt_zone. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D27104 |
#
2dee296a |
|
05-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Rationalize per-cpu zones. The 2 provided zones had inconsistent naming between each other ("int" and "64") and other allocator zones (which use bytes). Follow malloc by naming them "pcpu-" + size in bytes. This is a step towards replacing ad-hoc per-cpu zones with general slabs. |
#
9a97c950 |
|
04-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after rms changes |
#
4bfebc8d |
|
30-Oct-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
cache: add cache_vop_mkdir and rename cache_rename to cache_vop_rename |
#
3fc7822d |
|
20-Oct-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after VOP VPTOCNP and INACTIVE changes |
#
5853735d |
|
16-Oct-2020 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after ptsname_r addition. |
#
ad429c47 |
|
14-Oct-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after addition of VOP_EAGAIN |
#
ed50d408 |
|
13-Oct-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Bump __FreeBSD_version for the fix to arm64 write-only mappings Sponsored by: Innovate UK |
#
4c2dddd8 |
|
04-Oct-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Populate the acquire context field of a ww_mutex in the LinuxKPI. Bump the FreeBSD version to force recompilation of external kernel modules. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D26657 Submitted by: greg_unrelenting.technology (Greg V) Sponsored by: Mellanox Technologies // NVIDIA Networking |
#
1e145e73 |
|
02-Oct-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after latest linuxkpi changes |
#
254c54c6 |
|
23-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after cache_purgevfs change |
#
af22c7e4 |
|
22-Sep-2020 |
Brandon Bergren <bdragon@FreeBSD.org> |
__FreeBSD_version bump for introduction of the powerpc64le arch. Although this is technically not a breaking change, I believe it is best to have a fresh version to use to define where the starting point was here. |
#
7c9b0046 |
|
13-Sep-2020 |
Kyle Evans <kevans@FreeBSD.org> |
__FreeBSD_version bump for r365605 (crunchgen producing WARNS-clean) The change in D26397 will need a __FreeBSD_version to base off of for bootstrapping crunchgen, to avoid avoidable build failures just because the host has an outdated crunchgen. |
#
d81d009c |
|
08-Sep-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
arm64: fix incorrect HWCAP definitions FreeBSD exports CPU features as bits in the AT_HWCAP and AT_HWCAP2 vectors via elf_aux_info(3). This interface is similar to getauxval(3) on Linux, and for simplicity to consumers we try to maintain an identical set of feature flags on arm64. The first batch of AT_HWCAP flags were added in r350166, corresponding to definitions that already existed in Linux. Unfortunately, one flag was missed, and a portion of the values are shifted one bit to the right as a result. Add the missing definition for HWCAP_ASIMDHP, and adjust the affected values to match their Linux counterparts. Although this is an ABI-breaking change, there is no plan to provide compat code for old binaries. An audit of our ports tree and other software via Debian code search indicates that there are not yet any consumers of this interface for FreeBSD/arm64. Bump __FreeBSD_version to be on the safe side, in case compat code needs to be added in the future. Reviewed by: emaste, manu MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26329 |
#
46c8c554 |
|
25-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Add atomic and bswap functions to libcompiler_rt There have been several mentions on our mailing lists about missing atomic functions in our system libraries (e.g. __atomic_load_8 and friends), and recently I saw __bswapdi2 and __bswapsi2 mentioned too. To address this, add implementations for the functions from compiler-rt to the system compiler support libraries, e.g. libcompiler_rt.a and and libgcc_s.so. This also needs a small fixup in compiler-rt's atomic.c, to ensure that 32-bit mips can build correctly. Bump __FreeBSD_version to make it easier for port maintainers to detect when these functions were added. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D26159 |
#
251779a0 |
|
24-Aug-2020 |
Matt Macy <mmacy@FreeBSD.org> |
Bump __FreeBSD_version for OpenZFS switchover |
#
acca9518 |
|
21-Aug-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
r364475 changed the internal API between the kernel RPC and NFS, so bump version. |
#
7cae9782 |
|
17-Aug-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump __FreeBSD_version for r364330, since it changed the internal API between the NFS modules such that they all need to be re-compiled from sources. |
#
f1780be9 |
|
16-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after vget() and HASBUF change |
#
9b921001 |
|
14-Aug-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after r364232 We now have everything needed for DRM from Linux v5.4, let the ports tree know that. |
#
6ae24079 |
|
10-Aug-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Need to clone the task struct fields related to RCU aswell in the LinuxKPI after r359727. This fixes a minor regression issue. Else the priority tracking won't work properly when both sleepable and non-sleepable RCU is in use on the same thread. Bump the __FreeBSD_version to force recompilation of external kernel modules. PR: 242272 MFC after: 1 week Sponsored by: Mellanox Technologies |
#
02511d21 |
|
10-Aug-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add an argument to newnfs_connect() that indicates use TLS for the connection. For NFSv4.0, the server creates a server->client TCP connection for callbacks. If the client mount on the server is using TLS, enable TLS for this callback TCP connection. TLS connections from clients will not be supported until the kernel RPC changes are committed. Since this changes the internal ABI between the NFS kernel modules that will require a version bump, delete newnfs_trimtrailing(), which is no longer used. Since LCL_TLSCB is not yet set, these changes should not have any semantic affect at this time. |
#
c36edafb |
|
05-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after vaccess() change |
#
9fce5c4b |
|
02-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after vnode layout changes |
#
d53c8627 |
|
01-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after making rights mandatory for NDINIT_ALL |
#
29f25856 |
|
26-Jul-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after introduction of lockless lookup to the VFS layer |
#
d2890eee |
|
10-Jul-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement the array_size() function in the LinuxKPI. This function basically multiplies its two arguments and returns SIZE_MAX if the result overflows the size_t type. Else the product of the two arguments is returned. Bump the FreeBSD_version to mitigate issues with existing implementation of array_size() in drm-devel-kmod. Discussed with: manu@ MFC after: 1 week Sponsored by: Mellanox Technologies |
#
db4b8d7e |
|
25-Jun-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump the version since r362639 changed the internal API between the NFS kernel modules so they must all be rebuilt. |
#
00e8fb80 |
|
20-Jun-2020 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after making liblzma to use libmd implementation of SHA256. PR: 200142 |
#
3fa08158 |
|
13-Jun-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Version bump for r362158, since the arguments for vfs_checkexp() changed. |
#
4f3c25bc |
|
12-Jun-2020 |
John Baldwin <jhb@FreeBSD.org> |
Allow <sys/param.h> to be included from userland assembly files. This will be used by future changes to define ELF notes in assembly. Reviewed by: kib Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25211 |
#
d053391c |
|
01-Jun-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement __is_constexpr() function macro in the LinuxKPI. Bump the FreeBSD version. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
d65cd7a5 |
|
23-May-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1). MFC after: 3 weeks
|
#
524bf3a9 |
|
22-May-2020 |
Wei Hu <whu@FreeBSD.org> |
Bump __FreeBSD_version after r361275, HyperV socket support Sponsored by: Microsoft |
#
e6f612dc |
|
07-May-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes Requested by: zeising |
#
b8040914 |
|
27-Apr-2020 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for KTLS RX support. |
#
4d77243c |
|
14-Apr-2020 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Bump FreeBSD version after r359919 (KTLS / unmapped mbuf changes) The above changes mbufs, and any module using unmapped mbufs would need to be re-compiled. Sponsored by: Netflix |
#
9f2dc607 |
|
12-Apr-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Bump __FreeBSD_version after r359836, close_range(2) Reported by: cy |
#
5494efa0 |
|
09-Apr-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump version for r359745, since it removed a field from "struct proc" and that changed the offsets of fields within it. |
#
eae5868c |
|
08-Apr-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Clone the RCU interface into a sleepable and a non-sleepable part in the LinuxKPI. This allows synchronize RCU to be used inside a SRCU read section. No functional change intended. Bump the __FreeBSD_version to force recompilation of external kernel modules. PR: 242272 MFC after: 1 week Sponsored by: Mellanox Technologies |
#
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 |
#
c0341432 |
|
27-Mar-2020 |
John Baldwin <jhb@FreeBSD.org> |
Refactor driver and consumer interfaces for OCF (in-kernel crypto). - The linked list of cryptoini structures used in session initialization is replaced with a new flat structure: struct crypto_session_params. This session includes a new mode to define how the other fields should be interpreted. Available modes include: - COMPRESS (for compression/decompression) - CIPHER (for simply encryption/decryption) - DIGEST (computing and verifying digests) - AEAD (combined auth and encryption such as AES-GCM and AES-CCM) - ETA (combined auth and encryption using encrypt-then-authenticate) Additional modes could be added in the future (e.g. if we wanted to support TLS MtE for AES-CBC in the kernel we could add a new mode for that. TLS modes might also affect how AAD is interpreted, etc.) The flat structure also includes the key lengths and algorithms as before. However, code doesn't have to walk the linked list and switch on the algorithm to determine which key is the auth key vs encryption key. The 'csp_auth_*' fields are always used for auth keys and settings and 'csp_cipher_*' for cipher. (Compression algorithms are stored in csp_cipher_alg.) - Drivers no longer register a list of supported algorithms. This doesn't quite work when you factor in modes (e.g. a driver might support both AES-CBC and SHA2-256-HMAC separately but not combined for ETA). Instead, a new 'crypto_probesession' method has been added to the kobj interface for symmteric crypto drivers. This method returns a negative value on success (similar to how device_probe works) and the crypto framework uses this value to pick the "best" driver. There are three constants for hardware (e.g. ccr), accelerated software (e.g. aesni), and plain software (cryptosoft) that give preference in that order. One effect of this is that if you request only hardware when creating a new session, you will no longer get a session using accelerated software. Another effect is that the default setting to disallow software crypto via /dev/crypto now disables accelerated software. Once a driver is chosen, 'crypto_newsession' is invoked as before. - Crypto operations are now solely described by the flat 'cryptop' structure. The linked list of descriptors has been removed. A separate enum has been added to describe the type of data buffer in use instead of using CRYPTO_F_* flags to make it easier to add more types in the future if needed (e.g. wired userspace buffers for zero-copy). It will also make it easier to re-introduce separate input and output buffers (in-kernel TLS would benefit from this). Try to make the flags related to IV handling less insane: - CRYPTO_F_IV_SEPARATE means that the IV is stored in the 'crp_iv' member of the operation structure. If this flag is not set, the IV is stored in the data buffer at the 'crp_iv_start' offset. - CRYPTO_F_IV_GENERATE means that a random IV should be generated and stored into the data buffer. This cannot be used with CRYPTO_F_IV_SEPARATE. If a consumer wants to deal with explicit vs implicit IVs, etc. it can always generate the IV however it needs and store partial IVs in the buffer and the full IV/nonce in crp_iv and set CRYPTO_F_IV_SEPARATE. The layout of the buffer is now described via fields in cryptop. crp_aad_start and crp_aad_length define the boundaries of any AAD. Previously with GCM and CCM you defined an auth crd with this range, but for ETA your auth crd had to span both the AAD and plaintext (and they had to be adjacent). crp_payload_start and crp_payload_length define the boundaries of the plaintext/ciphertext. Modes that only do a single operation (COMPRESS, CIPHER, DIGEST) should only use this region and leave the AAD region empty. If a digest is present (or should be generated), it's starting location is marked by crp_digest_start. Instead of using the CRD_F_ENCRYPT flag to determine the direction of the operation, cryptop now includes an 'op' field defining the operation to perform. For digests I've added a new VERIFY digest mode which assumes a digest is present in the input and fails the request with EBADMSG if it doesn't match the internally-computed digest. GCM and CCM already assumed this, and the new AEAD mode requires this for decryption. The new ETA mode now also requires this for decryption, so IPsec and GELI no longer do their own authentication verification. Simple DIGEST operations can also do this, though there are no in-tree consumers. To eventually support some refcounting to close races, the session cookie is now passed to crypto_getop() and clients should no longer set crp_sesssion directly. - Assymteric crypto operation structures should be allocated via crypto_getkreq() and freed via crypto_freekreq(). This permits the crypto layer to track open asym requests and close races with a driver trying to unregister while asym requests are in flight. - crypto_copyback, crypto_copydata, crypto_apply, and crypto_contiguous_subsegment now accept the 'crp' object as the first parameter instead of individual members. This makes it easier to deal with different buffer types in the future as well as separate input and output buffers. It's also simpler for driver writers to use. - bus_dmamap_load_crp() loads a DMA mapping for a crypto buffer. This understands the various types of buffers so that drivers that use DMA do not have to be aware of different buffer types. - Helper routines now exist to build an auth context for HMAC IPAD and OPAD. This reduces some duplicated work among drivers. - Key buffers are now treated as const throughout the framework and in device drivers. However, session key buffers provided when a session is created are expected to remain alive for the duration of the session. - GCM and CCM sessions now only specify a cipher algorithm and a cipher key. The redundant auth information is not needed or used. - For cryptosoft, split up the code a bit such that the 'process' callback now invokes a function pointer in the session. This function pointer is set based on the mode (in effect) though it simplifies a few edge cases that would otherwise be in the switch in 'process'. It does split up GCM vs CCM which I think is more readable even if there is some duplication. - I changed /dev/crypto to support GMAC requests using CRYPTO_AES_NIST_GMAC as an auth algorithm and updated cryptocheck to work with it. - Combined cipher and auth sessions via /dev/crypto now always use ETA mode. The COP_F_CIPHER_FIRST flag is now a no-op that is ignored. This was actually documented as being true in crypto(4) before, but the code had not implemented this before I added the CIPHER_FIRST flag. - I have not yet updated /dev/crypto to be aware of explicit modes for sessions. I will probably do that at some point in the future as well as teach it about IV/nonce and tag lengths for AEAD so we can support all of the NIST KAT tests for GCM and CCM. - I've split up the exising crypto.9 manpage into several pages of which many are written from scratch. - I have converted all drivers and consumers in the tree and verified that they compile, but I have not tested all of them. I have tested the following drivers: - cryptosoft - aesni (AES only) - blake2 - ccr and the following consumers: - cryptodev - IPsec - ktls_ocf - GELI (lightly) I have not tested the following: - ccp - aesni with sha - hifn - kgssapi_krb5 - ubsec - padlock - safe - armv8_crypto (aarch64) - glxsb (i386) - sec (ppc) - cesa (armv7) - cryptocteon (mips64) - nlmsec (mips64) Discussed with: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D23677 |
#
12d3a326 |
|
26-Mar-2020 |
Brandon Bergren <bdragon@FreeBSD.org> |
Bump for powerpc/powerpcspe switch to lld. |
#
e0fcf263 |
|
23-Mar-2020 |
Brooks Davis <brooks@FreeBSD.org> |
Bump for kyua import. Reported by: cy Sponsored by: DARPA |
#
5b279284 |
|
10-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 10.0.0-rc3 c290cb61fdc. Release notes for llvm, clang, lld and libc++ 10.0.0 will become available here: https://releases.llvm.org/10.0.0/docs/ReleaseNotes.html https://releases.llvm.org/10.0.0/tools/clang/docs/ReleaseNotes.html https://releases.llvm.org/10.0.0/tools/lld/docs/ReleaseNotes.html https://releases.llvm.org/10.0.0/projects/libcxx/docs/ReleaseNotes.html PR: 244251 MFC after: 6 weeks
|
#
f76e7d40 |
|
10-Mar-2020 |
Ed Maste <emaste@FreeBSD.org> |
Bump __FreeBSD_version after amd(8) removal, r358821 Reported by: cy |
#
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 |
#
fdff5b12 |
|
21-Feb-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump _FreeBSD_version after the recent linuxkpi changes |
#
0573d0a9 |
|
20-Feb-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add realpathat syscall realpath(3) is used a lot e.g., by clang and is a major source of getcwd and fstatat calls. This can be done more efficiently in the kernel. This works by performing a regular lookup while saving the name and found parent directory. If the terminal vnode is a directory we can resolve it using usual means. Otherwise we can use the name saved by lookup and resolve the parent. See the review for sample syscall counts. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D23574 |
#
4b60673b |
|
20-Feb-2020 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Bump __FreeBSD_version after bumping ncurses shlib |
#
10108cb6 |
|
17-Feb-2020 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Partially revert VNET change and expand VNET structure. Revert parts of r353274 replacing vnet_state with a shutdown flag. Not having the state flag for the current SI_SUB_* makes it harder to debug kernel or module panics related to VNET bringup or teardown. Not having the state also does not allow us to check for other dependency levels between components, e.g. for moving interfaces. Expand the VNET structure with the new boolean flag indicating that we are doing a shutdown of a given vnet and update the vnet magic cookie for the change. Update libkvm to compile with a bool in the kernel struct. Bump __FreeBSD_version for (external) module builds to more easily detect the change. Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23097 |
#
5482a678 |
|
04-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Bump __FreeBSD_version to 1300077 for r357455 sparc64 was removed, bump to reflect that. Pointy-hat-to: imp Noticed by: linimon@ |
#
7ce40722 |
|
08-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Bump __FreeBSD_version after r356510 linuxkpi kmod would need to rebuilt at a minimum; fileops layout has changed. |
#
6c110e86 |
|
06-Jan-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add own counter for cancelled USB transfers. Do not count these as errors. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
b249ce48 |
|
03-Jan-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: drop the mostly unused flags argument from VOP_UNLOCK Filesystems which want to use it in limited capacity can employ the VOP_UNLOCK_FLAGS macro. Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D21427 |
#
eb4977bd |
|
01-Jan-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove arm/arm as a valid target. TARGET=arm now defaults to TARGET_ARCH=armv7 TARGET_ARCH=arm is no longer valid. Bump __FreeBSD_version to 1300073 Tested with make universe. Any stale LINT-V5 config files remaining in the tree will fail the universe build. However, LINT-V5 was removed in r355119. This retirement has been planned since last summer. The armv5 port is fragile: it works OK for some peeople, and fails badly for others. There's a number of subtle bugs in busdma, pmap and other MD parts of thee system that present themselves under load or in unusual circumstances (like fsck after a crash). stable/8, branched 10 years ago, was the last reliable release. Since the support burden is larger then the benefit, the consensus view is armv5 should be removed from the tree. Discussed with: arm@ mailing list and arm developer community. |
#
86c06ff8 |
|
29-Dec-2019 |
Alexander Motin <mav@FreeBSD.org> |
Remove GEOM_SCHED class and gsched tool. This code was not actively maintained since it was introduced 10 years ago. It lacks support for many later GEOM features, such as direct dispatch, unmapped I/O, stripesize/stripeoffset, resize, etc. Plus it is the only remaining use of GEOM nstart/nend request counters, used there to implement live insertion/removal, questionable by itself. Plus, as number of people commented, GEOM is not the best place for I/O scheduler, since it has limited information about layers both above and below it, required for efficient scheduling. Plus with the modern shift to SSDs there is just no more significant need for this kind of scheduling. Approved by: imp, phk, luigi Relnotes: yes |
#
7082625d |
|
27-Dec-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Make USB statistics per device instead of per bus. Bump the FreeBSD version due to structure change to force recompilation of external USB modules. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
adea0d63 |
|
26-Dec-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Eliminate the last MI difference in AT_* definitions (for powerpc). Summary: As a transition aide, implement an alternative elfN_freebsd_fixup which is called for old powerpc binaries. Similarly, add a translation to rtld to convert old values to new ones (as expected by a new rtld). Translation of old<->new values is incomplete, but sufficient to allow an installworld of a new userspace from an old one when a new kernel is running. Test Plan: Someone needs to see how a new kernel/rtld/libc works with an old binary. If if works we can probalby ship this. If not we probalby need some more compat bits. Submitted by: brooks Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D20799 |
#
dfec0fb5 |
|
24-Dec-2019 |
Scott Long <scottl@FreeBSD.org> |
Bump __FreeBSD_version for the addition of busdma templates. |
#
21d16631 |
|
15-Dec-2019 |
Kyle Evans <kevans@FreeBSD.org> |
kbd: remove kbdsw, store pointer to driver in each keyboard_t The previous implementation relied on a kbdsw array that mirrored the global keyboards array. This is fine, but also requires extra locking consideration when accessing to ensure that it's not being resized as new keyboards are added. The extra pointer costs little in a struct that there are relatively few of on any given system, and simplifies locking requirements ever-so-slightly as we only need to consider the locking requirements of whichever method is being invoked. __FreeBSD_version is bumped as any kbd modules will need rebuilt following this change. |
#
4b28d96e |
|
13-Dec-2019 |
John Baldwin <jhb@FreeBSD.org> |
Remove the deprecated timeout(9) interface. All in-tree consumers have been converted to callout(9). Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D22602 |
#
59f1142c |
|
12-Dec-2019 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump __FreeBSD_version since r355677 changes the internal interface between the NFS modules such that they all need to be upgraded to post r355677 simultaneously. |
#
c2600304 |
|
11-Dec-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Bump __FreeBSD_version for r355641, new sig set ops This will be needed to unbreak qemu-user-static. |
#
bc053caf |
|
09-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Correctly check for C++17 and higher when declaring timespec_get() Summary: In rS338751, the check to declare `timespec_get()` for C++17 and higher was incorrectly done against a `cplusplus` define, while it should have been `__cplusplus`. Fix this by using `__cplusplus`, and also bump `__FreeBSD_version` so it becomes possible to correctly check for `timespec_get()` in upstream libc++ headers. Reviewed by: brooks, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D22735 |
#
abd80ddb |
|
08-Dec-2019 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: introduce v_irflag and make v_type smaller The current vnode layout is not smp-friendly by having frequently read data avoidably sharing cachelines with very frequently modified fields. In particular v_iflag inspected for VI_DOOMED can be found in the same line with v_usecount. Instead make it available in the same cacheline as the v_op, v_data and v_type which all get read all the time. v_type is avoidably 4 bytes while the necessary data will easily fit in 1. Shrinking it frees up 3 bytes, 2 of which get used here to introduce a new flag field with a new value: VIRF_DOOMED. Reviewed by: kib, jeff Differential Revision: https://reviews.freebsd.org/D22715 |
#
eaad2b87 |
|
02-Dec-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bump __FreeBSD_version after r355304. The net/tcprtt port depends on this. Sponsored by: Klara, Inc, Netflix |
#
52e8f6a3 |
|
21-Nov-2019 |
Eric Joyner <erj@FreeBSD.org> |
bitstring: add functions to find contiguous set/unset bit sequences Add bit_ffs_area_at and bit_ffc_area_at functions for searching a bit string for a sequence of contiguous set or unset bits of at least the specified size. The bit_ffc_area function will be used by the Intel ice driver for implementing resource assignment logic using a bitstring to represent whether or not a given index has been assigned or is currently free. The bit_ffs_area, bit_ffc_area_at and bit_ffs_area_at functions are implemented for completeness. I'd like to add further test cases for the new functions, but I'm not really sure how to add them easily. The new functions depend on specific sequences of bits being set, while the bitstring tests appear to run for varying bit sizes. Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Submitted by: Jacob Keller <jacob.e.keller@intel.com> Reviewed by: asomers@, erj@ MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D22400 |
#
6467506b |
|
20-Nov-2019 |
Warner Losh <imp@FreeBSD.org> |
Create /etc/os-release file. Each boot, regenerate /var/run/os-release based on the currently running system. Create a /etc/os-release symlink pointing to this file (so that this doesn't create a new reason /etc can not be mounted read-only). This is compatible with what other systems do and is what the sysutil/os-release port attempted to do, but in an incomplete way. Linux, Solaris and DragonFly all implement this natively as well. The complete standard can be found at https://www.freedesktop.org/software/systemd/man/os-release.html Moving this to the base solves both the non-standard location problem with the port, as well as the lack of update of this file on system update. Bump __FreeBSD_version to 1300060 PR: 238953 Differential Revision: https://reviews.freebsd.org/D22271 |
#
f22a5921 |
|
18-Nov-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Convert in-tree sysent targets to use new makesyscalls.lua flua is bootstrapped as part of the build for those on older versions/revisions that don't yet have flua installed. Once upgraded past r354833, "make sysent" will again naturally work as expected. Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D21894 |
#
3a2ba997 |
|
18-Nov-2019 |
Mark Johnston <markj@FreeBSD.org> |
Widen the vm_page aflags field to 16 bits. We are now out of aflags bits, whereas the "flags" field only makes use of five of its sixteen bits, so narrow "flags" to eight bits. I have no intention of adding a new aflag in the near future, but would like to combine the aflags, queue and act_count fields into a single atomically updated word. This will allow vm_page_pqstate_cmpset() to become much simpler and is a step towards eliminating the use of the page lock array in updating per-page queue state. The change modifies the layout of struct vm_page, so bump __FreeBSD_version. Reviewed by: alc, dougm, jeff, kib Sponsored by: Netflix, Intel Differential Revision: https://reviews.freebsd.org/D22397 |
#
eee39f5e |
|
13-Nov-2019 |
Brooks Davis <brooks@FreeBSD.org> |
elf_aux_info: Add support for AT_EXECPATH. Reviewed by: emaste, sef MFC after: 3 days Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22353 |
#
04677a42 |
|
07-Nov-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge commit e8316372b from llvm git (by Louis Dionne): [libc++] Add `__truncating_cast` for safely casting float types to integers This is needed anytime we need to clamp an arbitrary floating point value to an integer type. Thanks to Eric Fiselier for the patch. Differential Revision: https://reviews.llvm.org/D66836 llvm-svn: 370891 Merge commit b92deded8 from llvm git (by Louis Dionne): [libc++] Move __clamp_to_integral to <cmath>, and harden against min()/max() macros llvm-svn: 370900 Merge commit 0ec6a4882 from llvm git (by Louis Dionne): [libc++] Fix potential OOB in poisson_distribution See details in the original Chromium bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=994957 Together, these fix a security issue in libc++'s implementation of std::poisson_distribution, which can be exploited to read data which is out of bounds. Note there are no programs in the FreeBSD base system that use std::poisson_distribution, so this is only a possible issue for ports and external programs which have been built against libc++. Therefore, I am bumping __FreeBSD_version for the benefit of our port maintainers. Requested by: emaste Security: potential OOB read MFC after: 3 days |
#
76354fa4 |
|
04-Nov-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Enable device class group attributes in the LinuxKPI. Bump the __FreeBSD_version to force recompilation of external kernel modules due to structure change. Differential Revision: https://reviews.freebsd.org/D21564 Submitted by: Greg V <greg@unrelenting.technology> MFC after: 1 week Sponsored by: Mellanox Technologies |
#
19e09f44 |
|
21-Oct-2019 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove obsoleted KPIs that were used to access interface address lists. |
#
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 |
#
516dc824 |
|
17-Oct-2019 |
Mark Johnston <markj@FreeBSD.org> |
Belatedly bump __FreeBSD_version for r353537 and related commits. At least one small update to the out-of-tree DRM drivers is required now that cdev_pager_free_page() expects an xbusy page. Discussed with: jeff, zeising |
#
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 |
#
063e3a6d |
|
08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Prepare for merging back to head: * Set tentative merge date * Add UPDATING entry * Bump __FreeBSD_version * Bump FREEBSD_CC_VERSION * Bump LLD_REVISION |
#
204e2f30 |
|
07-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Factor out VNET shutdown check into an own vnet structure field. Remove the now obsolete vnet_state field. This greatly simplifies the detection of VNET shutdown and avoids code duplication. Discussed with: bz@ MFC after: 1 week Sponsored by: Mellanox Technologies |
#
20f70576 |
|
25-Sep-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Add a shm_open2 syscall to support upcoming memfd_create shm_open2 allows a little more flexibility than the original shm_open. shm_open2 doesn't enforce CLOEXEC on its callers, and it has a separate shmflag argument that can be expanded later. Currently the only shmflag is to allow file sealing on the returned fd. shm_open and memfd_create will both be implemented in libc to use this new syscall. __FreeBSD_version is bumped to indicate the presence. Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D21393 |
#
fee2a2fa |
|
09-Sep-2019 |
Mark Johnston <markj@FreeBSD.org> |
Change synchonization rules for vm_page reference counting. There are several mechanisms by which a vm_page reference is held, preventing the page from being freed back to the page allocator. In particular, holding the page's object lock is sufficient to prevent the page from being freed; holding the busy lock or a wiring is sufficent as well. These references are protected by the page lock, which must therefore be acquired for many per-page operations. This results in false sharing since the page locks are external to the vm_page structures themselves and each lock protects multiple structures. Transition to using an atomically updated per-page reference counter. The object's reference is counted using a flag bit in the counter. A second flag bit is used to atomically block new references via pmap_extract_and_hold() while removing managed mappings of a page. Thus, the reference count of a page is guaranteed not to increase if the page is unbusied, unmapped, and the object's write lock is held. As a consequence of this, the page lock no longer protects a page's identity; operations which move pages between objects are now synchronized solely by the objects' locks. The vm_page_wire() and vm_page_unwire() KPIs are changed. The former requires that either the object lock or the busy lock is held. The latter no longer has a return value and may free the page if it releases the last reference to that page. vm_page_unwire_noq() behaves the same as before; the caller is responsible for checking its return value and freeing or enqueuing the page as appropriate. vm_page_wire_mapped() is introduced for use in pmap_extract_and_hold(). It fails if the page is concurrently being unmapped, typically triggering a fallback to the fault handler. vm_page_wire() no longer requires the page lock and vm_page_unwire() now internally acquires the page lock when releasing the last wiring of a page (since the page lock still protects a page's queue state). In particular, synchronization details are no longer leaked into the caller. The change excises the page lock from several frequently executed code paths. In particular, vm_object_terminate() no longer bounces between page locks as it releases an object's pages, and direct I/O and sendfile(SF_NOCACHE) completions no longer require the page lock. In these latter cases we now get linear scalability in the common scenario where different threads are operating on different files. __FreeBSD_version is bumped. The DRM ports have been updated to accomodate the KPI changes. Reviewed by: jeff (earlier version) Tested by: gallatin (earlier version), pho Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D20486 |
#
f6668e9f |
|
06-Sep-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Improve sysfs support. - Add functions for creating and merging sysfs groups. - Add sysfs_streq function to compare strings ignoring newline from the sysctl userland call. - Add a call to sysfs_create_groups in device_add. - Remove duplicate header include. - Bump __FreeBSD_version. Reviewed by: hselasky Approved by: imp (mentor), hselasky MFC after: 4 days Differential Revision: D21542 |
#
d05b53e0 |
|
02-Sep-2019 |
Mateusz Guzik <mjg@FreeBSD.org> |
Add sysctlbyname system call Previously userspace would issue one syscall to resolve the sysctl and then another one to actually use it. Do it all in one trip. Fallback is provided in case newer libc happens to be running on an older kernel. Submitted by: Pawel Biernacki Reported by: kib, brooks Differential Revision: https://reviews.freebsd.org/D17282 |
#
458ba18d |
|
02-Sep-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Add sysfs create/remove functions that handles multiple files in one call. Reviewed by: hps Approved by: imp (mentor), hps MFC after: 1 week Differential Revision: D21475 |
#
82adf9ad |
|
01-Sep-2019 |
Ed Maste <emaste@FreeBSD.org> |
Belatedly bump __FreeBSD_version for r351659, gets(3) removal Reported by: linimon |
#
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 |
#
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 |
#
d2ad004b |
|
16-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
Delete sys/dir.h which was deprecated since 1997. PR: 21519 Submitted by: Yoshihiro Ota <ota j email ne jp> Relnotes: yes Differential Revision: https://reviews.freebsd.org/D20479 |
#
f093e49a |
|
30-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
Bump __FreeBSD_version r350437 presents a merge conflict with r350115, which raised __FreeBSD_version due to the addition of fusefs's intr/nointr mount options. Sponsored by: The FreeBSD Foundation |
#
a63915c2 |
|
27-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @r350386 Sponsored by: The FreeBSD Foundation
|
#
a76f78dc |
|
24-Jul-2019 |
Mark Johnston <markj@FreeBSD.org> |
Remove cap_random(3). Now that we have a way to obtain entropy in capability mode (getrandom(2)), libcap_random is obsolete. Remove it. Bump __FreeBSD_version in case anything happens to use it, though I've found no consumers. Reviewed by: delphij, emaste, oshogbo Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D21033 |
#
ed74f781 |
|
18-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: add a intr/nointr mount option FUSE file systems can optionally support interrupting outstanding operations. However, the file system does not identify to the kernel at mount time whether it's capable of doing that. Instead it signals its noncapability by returning ENOSYS to the first FUSE_INTERRUPT operation it receives. That's a problem for reliable signal delivery, because the kernel must choose which thread should get a signal before it knows whether the FUSE server can handle interrupts. The problem is even worse because the FUSE protocol allows a file system to simply ignore all FUSE_INTERRUPT operations. Fix the signal delivery logic by making interruptibility an opt-in mount option. This will require a corresponding change to libfuse, but not to most file systems that link to libfuse. Bump __FreeBSD_version due to the new mount option. Sponsored by: The FreeBSD Foundation |
#
805eb13a |
|
13-Jul-2019 |
Ian Lepore <ian@FreeBSD.org> |
Add arm_sync_icache() and arm_drain_writebuf() sysarch syscall wrappers. NetBSD and OpenBSD have libc wrapper functions for the ARM_SYNC_ICACHE and ARM_DRAIN_WRITEBUF sysarch operations. This change adds compatible functions to our library. This should make it easier for various upstream sources to support *BSD operating systems with a single variation of cache maintence code in tools like interpreters and JIT compilers. I consider the argument types passed to arm_sync_icache() to be especially unfortunate, but this is intended to match the other BSDs. Differential Revision: https://reviews.freebsd.org/D20906 |
#
eeacb3b0 |
|
08-Jul-2019 |
Mark Johnston <markj@FreeBSD.org> |
Merge the vm_page hold and wire mechanisms. The hold_count and wire_count fields of struct vm_page are separate reference counters with similar semantics. The remaining essential differences are that holds are not counted as a reference with respect to LRU, and holds have an implicit free-on-last unhold semantic whereas vm_page_unwire() callers must explicitly determine whether to free the page once the last reference to the page is released. This change removes the KPIs which directly manipulate hold_count. Functions such as vm_fault_quick_hold_pages() now return wired pages instead. Since r328977 the overhead of maintaining LRU for wired pages is lower, and in many cases vm_fault_quick_hold_pages() callers would swap holds for wirings on the returned pages anyway, so with this change we remove a number of page lock acquisitions. No functional change is intended. __FreeBSD_version is bumped. Reviewed by: alc, kib Discussed with: jeff Discussed with: jhb, np (cxgbe) Tested by: pho (previous version) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D19247 |
#
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 |
#
6425fed7 |
|
21-Jun-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Additions to rcu list. - Add rcu list functions. - Make rcu hlist's foreach macro use rcu calls instead of the non-rcu macro. - Bump FreeBSD version so we have a checkpoint for the vboxvideo drm driver. Reviewed by: hps Approved by: imp (mentor), hps MFC after: 1 week Differential Revision: D20719 |
#
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 |
#
4c62bffe |
|
08-Jun-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Fix dpcpu and vnet panics with complex types at the end of the section. Apply a linker script when linking i386 kernel modules to apply padding to a set_pcpu or set_vnet section. The padding value is kind-of random and is used to catch modules not compiled with the linker-script, so possibly still having problems leading to kernel panics. This is needed as the code generated on certain architectures for non-simple-types, e.g., an array can generate an absolute relocation on the edge (just outside) the section and thus will not be properly relocated. Adding the padding to the end of the section will ensure that even absolute relocations of complex types will be inside the section, if they are the last object in there and hence relocation will work properly and avoid panics such as observed with carp.ko or ipsec.ko. There is a rather lengthy discussion of various options to apply in the mentioned PRs and their depends/blocks, and the review. There seems no best solution working across multiple toolchains and multiple version of them, so I took the liberty of taking one, as currently our users (and our CI system) are hitting this on just i386 and we need some solution. I wish we would have a proper fix rather than another "hack". Also backout r340009 which manually, temporarily fixed CARP before 12.0-R "by chance" after a lead-up of various other link-elf.c and related fixes. PR: 230857,238012 With suggestions from: arichardson (originally last year) Tested by: lwhsu Event: Waterloo Hackathon 2019 Reported by: lwhsu, olivier MFC after: 6 weeks Differential Revision: https://reviews.freebsd.org/D17512 |
#
78473c58 |
|
28-May-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Update __FreeBSD_version and Makefile check for r348347 libdwarf needs forcibly rebuilt after r348347. |
#
e2e050c8 |
|
19-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Extract eventfilter declarations to sys/_eventfilter.h This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header pollution substantially. EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c files into appropriate headers (e.g., sys/proc.h, powernv/opal.h). As a side effect of reduced header pollution, many .c files and headers no longer contain needed definitions. The remainder of the patch addresses adding appropriate includes to fix those files. LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by sys/mutex.h since r326106 (but silently protected by header pollution prior to this change). No functional change (intended). Of course, any out of tree modules that relied on header pollution for sys/eventhandler.h, sys/lock.h, or sys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped. |
#
3425c6b7 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Bump __FreeBSD_version for device removal. Bump accidentally omitted from r347924 due to a rebase accident. Differential Revision: https://reviews.freebsd.org/D20230 |
#
65ff7a31 |
|
14-May-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Add prepare to pm_ops and bump FreeBSD version. This patch is part of D19565 Reviewed by: hps Approved by: imp (mentor), hps MFC after: 1 week |
#
395be823 |
|
14-May-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Add context member to ww_mutex and bump FreeBSD version. This patch is part of https://reviews.freebsd.org/D19565. Reviewed by: hps Approved by: imp (mentor), hps |
#
aa0a8933 |
|
13-May-2019 |
Mark Johnston <markj@FreeBSD.org> |
Add an UPDATING entry and bump __FreeBSD_version for r347532. Reported by: rgrimes, Oliver Pinter <oliver.pinter@hardenedbsd.org> |
#
cf59f7e1 |
|
08-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump the Mellanox driver version numbers and the FreeBSD version number. MFC after: 3 days Sponsored by: Mellanox Technologies |
#
6b6e2954 |
|
06-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
List-ify kernel dump device configuration Allow users to specify multiple dump configurations in a prioritized list. This enables fallback to secondary device(s) if primary dump fails. E.g., one might configure a preference for netdump, but fallback to disk dump as a second choice if netdump is unavailable. This change does not list-ify netdump configuration, which is tracked separately from ordinary disk dumps internally; only one netdump configuration can be made at a time, for now. It also does not implement IPv6 netdump. savecore(8) is already capable of scanning and iterating multiple devices from /etc/fstab or passed on the command line. This change doesn't update the rc or loader variables 'dumpdev' in any way; it can still be set to configure a single dump device, and rc.d/savecore still uses it as a single device. Only dumpon(8) is updated to be able to configure the more complicated configurations for now. As part of revving the ABI, unify netdump and disk dump configuration ioctl / structure, and leave room for ipv6 netdump as a future possibility. Backwards-compatibility ioctls are added to smooth ABI transition, especially for developers who may not keep kernel and userspace perfectly synced. Reviewed by: markj, scottl (earlier version) Relnotes: maybe Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D19996 |
#
442d12d8 |
|
04-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix regression issue after r346645 in the LinuxKPI. The S/G list must be mapped AS-IS without any optimisations. This also implies that sg_dma_len() must be equal to sg->length. Many Linux drivers assume this and this fixes some DRM issues. Put the BUS DMA map pointer into the scatter-gather list to allow multiple mappings on the same physical memory address. The FreeBSD version has been bumped to force recompilation of external kernel modules. Sponsored by: Mellanox Technologies |
#
f211d536 |
|
24-Apr-2019 |
Tycho Nightingale <tychon@FreeBSD.org> |
LinuxKPI should use bus_dma(9) to be compatible with an IOMMU Reviewed by: hselasky, kib Tested by: greg@unrelenting.technology Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D19845 |
#
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. |
#
aa7d14e5 |
|
19-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Bump __FreeBSD_version after r346410 |
#
3782136f |
|
18-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
random(4): Restore availability tradeoff prior to r346250 As discussed in that commit message, it is a dangerous default. But the safe default causes enough pain on a variety of platforms that for now, restore the prior default. Some of this is self-induced pain we should/could do better about; for example, programmatic CI systems and VM managers should introduce entropy from the host for individual VM instances. This is considered a future work item. On modern x86 and Power9 systems, this may be wholly unnecessary after D19928 lands (even in the non-ideal case where early /boot/entropy is unavailable), because they have fast hardware random sources available early in boot. But D19928 is not yet landed and we have a host of architectures which do not provide fast random sources. This change adds several tunables and diagnostic sysctls, documented thoroughly in UPDATING and sys/dev/random/random_infra.c. PR: 230875 (reopens) Reported by: adrian, jhb, imp, and probably others Reviewed by: delphij, imp (earlier version), markm (earlier version) Discussed with: adrian Approved by: secteam(delphij) Relnotes: yeah Security: related Differential Revision: https://reviews.freebsd.org/D19944 |
#
f3d2512d |
|
16-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
random(4): Add is_random_seeded(9) KPI The imagined use is for early boot consumers of random to be able to make decisions based on whether random is available yet or not. One such consumer seems to be __stack_chk_init(), which runs immediately after random is initialized. A follow-up patch will attempt to address that. Reported by: many Reviewed by: delphij (except man page) Approved by: secteam(delphij) Differential Revision: https://reviews.freebsd.org/D19926 |
#
138ca6fb |
|
07-Apr-2019 |
Mariusz Zaborski <oshogbo@FreeBSD.org> |
Bump FreeBSD version after r345982. Reported by: Shawn Webb <shawn.webb@hardenedbsd.org> Discussed with: imp, cy, rgrimes |
#
1b9d9394 |
|
19-Mar-2019 |
Eric Joyner <erj@FreeBSD.org> |
iflib: expose the Rx mbuf buffer size to drivers From Jake: iflib_fl_setup calculates a suitable buffer size for the Rx mbufs based on the isc_max_frame_size value that drivers setup. This calculation is repeated by drivers when programming their hardware with the size of each Rx buffer. This can lead to a mismatch where the iflib mbuf size is different from the expected size of the buffer as programmed by the hardware. This can lead to unexpected results. If iflib ever wants to support mbuf sizes larger than one page, every driver must be updated to account for the new possible buffer sizes. Fix this by calculating the mbuf size prior to calling IFDI_INIT, and adding the iflib_get_rx_mbuf_sz function which will expose this value to drivers, so that they do not repeat the same calculation. Submitted by: Jacob Keller <jacob.e.keller@intel.com> Reviewed by: shurd@, erj@ MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D19489 |
#
b0840a28 |
|
16-Mar-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Connect lib/libomp to the build. * Set MK_OPENMP to yes by default only on amd64, for now. * Bump __FreeBSD_version to signal this addition. * Ensure gcc's conflicting omp.h is not installed if MK_OPENMP is yes. * Update OptionalObsoleteFiles.inc to cope with the conflicting omp.h. * Regenerate src.conf(5) with new WITH/WITHOUT fragments. Relnotes: yes PR: 236062 MFC after: 1 month X-MFC-With: r344779 |
#
b6f8cfb9 |
|
15-Mar-2019 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Deanonymize thread and proc state enums, so that a userland app can use them without redefining the value names. New clang no longer allows to redefine a enum value name to the same value. Bump __FreeBSD_version, since ports depend on that. Discussed with: jhb |
#
1791078b |
|
04-Mar-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Set tentative merge date, and bump __FreeBSD_version. |
#
625bdc78 |
|
19-Feb-2019 |
Warner Losh <imp@FreeBSD.org> |
Add an UPDATING entry for the removal of drm and drm2 Also bump FreeBSD version to 1300013 since this series is a big change. |
#
f855ec81 |
|
12-Feb-2019 |
Marius Strobl <marius@FreeBSD.org> |
Make taskqgroup_attach{,_cpu}(9) work across architectures So far, intr_{g,s}etaffinity(9) take a single int for identifying a device interrupt. This approach doesn't work on all architectures supported, as a single int isn't sufficient to globally specify a device interrupt. In particular, with multiple interrupt controllers in one system as found on e. g. arm and arm64 machines, an interrupt number as returned by rman_get_start(9) may be only unique relative to the bus and, thus, interrupt controller, a certain device hangs off from. In turn, this makes taskqgroup_attach{,_cpu}(9) and - internal to the gtaskqueue implementation - taskqgroup_attach_deferred{,_cpu}() not work across architectures. Yet in turn, iflib(4) as gtaskqueue consumer so far doesn't fit architectures where interrupt numbers aren't globally unique. However, at least for intr_setaffinity(..., CPU_WHICH_IRQ, ...) as employed by the gtaskqueue implementation to bind an interrupt to a particular CPU, using bus_bind_intr(9) instead is equivalent from a functional point of view, with bus_bind_intr(9) taking the device and interrupt resource arguments required for uniquely specifying a device interrupt. Thus, change the gtaskqueue implementation to employ bus_bind_intr(9) instead and intr_{g,s}etaffinity(9) to take the device and interrupt resource arguments required respectively. This change also moves struct grouptask from <sys/_task.h> to <sys/gtaskqueue.h> and wraps struct gtask along with the gtask_fn_t typedef into #ifdef _KERNEL as userland likes to include <sys/_task.h> or indirectly drags it in - for better or worse also with _KERNEL defined -, which with device_t and struct resource dependencies otherwise is no longer as easily possible now. The userland inclusion problem probably can be improved a bit by introducing a _WANT_TASK (as well as a _WANT_MOUNT) akin to the existing _WANT_PRISON etc., which is orthogonal to this change, though, and likely needs an exp-run. While at it: - Change the gt_cpu member in the grouptask structure to be of type int as used elswhere for specifying CPUs (an int16_t may be too narrow sooner or later), - move the gtaskqueue_enqueue_fn typedef from <sys/gtaskqueue.h> to the gtaskqueue implementation as it's only used and needed there, - change the GTASK_INIT macro to use "gtask" rather than "task" as argument given that it actually operates on a struct gtask rather than a struct task, and - let subr_gtaskqueue.c consistently use __func__ to print functions names. Reported by: mmel Reviewed by: mmel Differential Revision: https://reviews.freebsd.org/D19139 |
#
7bc2a58e |
|
11-Feb-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Bump `__FreeBSD_version__` for r343891 This will allow upstream consumers, e.g., capsicum-test and third-party packages (via ports(7)), to test for a specific `__FreeBSD_version__` and expect `renameat(2)` to be functional. PR: 222258 Approved by: emaste (mentor) Reviewed by: emaste MFC with: r343891 Differential Revision: https://reviews.freebsd.org/D19154 |
#
e5ac3049 |
|
26-Jan-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump SPECNAMELEN to MAXNAMLEN. This includes the bump for cdevsw d_version. Otherwise, the impact on the ABI (not KBI) is surprisingly low. The most important affected interface is devname(3) and ttyname(3) which already correctly handle long names (and ttyname(3) should not be affected at all). Still, due to the d_version bump, I argue that the change is not MFC-able. Requested by: mmacy Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D18932 |
#
dab61567 |
|
20-Jan-2019 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
net80211: resolve ioctl <-> detach race for ieee80211com structure Since r287197 ieee80211com is a part of drivers softc; as a result, after detach all pointers to it (iv_ic, ni_ic) are invalid. Most possible users (tasks, interrupt handlers) are blocked / removed when device is stopped; however, ioctl handlers were not tracked and may crash if ieee80211com structure is accessed. Since ieee80211com pointer access from ieee80211vap structure is not protected by lock (constant after interface creation) and used in many other places just use reference counting for ioctl handlers; on detach set 'detached' flag and wait until reference counter goes to 0. For HEAD ieee80211vap size was changed (__FreeBSD_version bumped); however, in stable branches I'm going to split / reuse the last iv_spare field for KBI stability. Tested with: - rsu(4), SIOCSIFCAP (-rxcsum) ioctl; - rtwn_pci(4), SIOCG80211 / IEEE80211_IOC_HTPROTMODE ioctl. MFC after: 1 week |
#
33c80c7c |
|
04-Jan-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Bump __FreeBSD_version for r342771 |
#
fb1ec6a9 |
|
30-Dec-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version since r342628 changed size of struct linux_cdev on tier-1 i386 architecture. Requested by: hselasky MFC after: 1 week Sponsored by: Mellanox Technologies |
#
1fa054c1 |
|
24-Dec-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Enable sys/random.h #include from C++ And bump __FreeBSD_version, just in case. PR: 234180 Submitted by: Ralf van der Enden <tremere AT cainites.net> MFC after: 5 days |
#
8f829a5c |
|
11-Dec-2018 |
Kirk McKusick <mckusick@FreeBSD.org> |
Continuing efforts to provide hardening of FFS. This change adds a check hash to the filesystem inodes. Access attempts to files associated with an inode with an invalid check hash will fail with EINVAL (Invalid argument). Access is reestablished after an fsck is run to find and validate the inodes with invalid check-hashes. This check avoids a class of filesystem panics related to corrupted inodes. The hash is done using crc32c. Note this check-hash is for the inode itself and not any of its indirect blocks. Check-hash validation may be extended to also cover indirect block pointers, but that will be a separate (and more costly) feature. Check hashes are added only to UFS2 and not to UFS1 as UFS1 is primarily used in embedded systems with small memories and low-powered processors which need as light-weight a filesystem as possible. Reviewed by: kib Tested by: Peter Holm Sponsored by: Netflix |
#
30c5db2b |
|
23-Nov-2018 |
Andrew Turner <andrew@FreeBSD.org> |
Enable the BSD crtbegin/crtend by default. It has passed an exp run on amd64 and i386, and has testing on arm64. On other architectures it is expected to run, however it can be disabled by building world with -DWITHOUT_BSD_CRTBEGIN. Sponsored by: DARPA, AFRL |
#
1493c2ee |
|
02-Nov-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Make vop_symlink take a const target path. This will enable callers to take const paths as part of syscall decleration improvements. Where doing so is easy and non-distruptive carry the const through implementations. In UFS the value is passed to an interface that must take non-const values. In ZFS, const poisoning would touch code shared with upstream and it's not worth adding diffs. Bump __FreeBSD_version for external API consumers. Reviewed by: kib (prior version) Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17805 |
#
9984cc3d |
|
25-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Bump to 1300002 for sys/joystick.h removal reversion. |
#
638e0274 |
|
25-Oct-2018 |
Glen Barber <gjb@FreeBSD.org> |
Bump __FreeBSD_version following the OpenSSL shared library version number bump. Submitted by: antoine MFC with: r339709 Sponsored by: The FreeBSD Foundation |
#
ec888383 |
|
23-Oct-2018 |
Kirk McKusick <mckusick@FreeBSD.org> |
Continuing efforts to provide hardening of FFS, this change adds a check hash to the superblock. If a check hash fails when an attempt is made to mount a filesystem, the mount fails with EINVAL (Invalid argument). This avoids a class of filesystem panics related to corrupted superblocks. The hash is done using crc32c. Check hases are added only to UFS2 and not to UFS1 as UFS1 is primarily used in embedded systems with small memories and low-powered processors which need as light-weight a filesystem as possible. Reviewed by: kib Tested by: Peter Holm Sponsored by: Netflix |
#
b9583179 |
|
18-Oct-2018 |
Glen Barber <gjb@FreeBSD.org> |
- Update head to 13.0-CURRENT. - Bump MACHINE_TRIPLE, TARGET_TRIPLE, FBSD_MAJOR, FBSD_CC_VER, FREEBSD_CC_VERSION, OS_VERSION. - Update comment in UPDATING regarding debugging options. - Remove debug.witness.trace=0 from installation media. - Bump __FreeBSD_version. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
1da7787f |
|
09-Oct-2018 |
Glen Barber <gjb@FreeBSD.org> |
Merge the remainder of the projects/openssl111 branch to head. - Update OpenSSL to version 1.1.1. - Update Kerberos/Heimdal API for OpenSSL 1.1.1 compatibility. - Bump __FreeBSD_version. Approved by: re (kib) Sponsored by: The FreeBSD Foundation
|
#
eb81f38a |
|
05-Sep-2018 |
John Baldwin <jhb@FreeBSD.org> |
Fix objcopy for little-endian MIPS64 objects. MIPS64 does not store the 'r_info' field of a relocation table entry as a 64-bit value consisting of a 32-bit symbol index in the high 32 bits and a 32-bit type in the low 32 bits as on other architectures. Instead, the 64-bit 'r_info' field is really a 32-bit symbol index followed by four individual byte type fields. For big-endian MIPS64, treating this as a 64-bit integer happens to be compatible with the layout expected by other architectures (symbol index in upper 32-bits of resulting "native" 64-bit integer). However, for little-endian MIPS64 the parsed 64-bit integer contains the symbol index in the low 32 bits and the 4 individual byte type fields in the upper 32-bits (but as if the upper 32-bits were byte-swapped). To cope, add two helper routines in gelf_getrel.c to translate between the correct native 'r_info' value and the value obtained after the normal byte-swap translation. Use these routines in gelf_getrel(), gelf_getrela(), gelf_update_rel(), and gelf_update_rela(). This fixes 'readelf -r' on little-endian MIPS64 objects which was previously decoding incorrect relocations as well as 'objcopy: invalid symbox index' warnings from objcopy when extracting debug symbols from kernel modules. Even with this fixed, objcopy was still crashing when trying to extract debug symbols from little-endian MIPS64 modules. The workaround in gelf_*rel*() depends on the current ELF object having a valid ELF header so that the 'e_machine' field can be compared against EM_MIPS. objcopy was parsing the relocation entries to possibly rewrite the 'r_info' fields in the update_relocs() function before writing the initial ELF header to the destination object file. Move the initial write of the ELF header earlier before copy_contents() so that update_relocs() uses the correct symbol index values. Note that this change should really go upstream. The binutils readelf source has a similar hack for MIPS64EL though I implemented this version from scratch using the MIPS64 ABI PDF as a reference. Discussed with: jkoshy Reviewed by: emaste, imp Approved by: re (gjb, kib) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D15734 |
#
a29173be |
|
26-Aug-2018 |
Xin LI <delphij@FreeBSD.org> |
Remove arc4random_stir and arc4random_addrandom from stdlib.h. Users of arc4random(3) should never call them directly. All ports tree usage was fixed as part of bug 230756. Relnotes: yes Approved by: re (marius), exp-run (bug 230756 by portmgr antoine) |
#
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) |
#
9544e6dc |
|
21-Aug-2018 |
Chuck Tuffli <chuck@FreeBSD.org> |
Make NVMe compatible with the original API The original NVMe API used bit-fields to represent fields in data structures defined by the specification (e.g. the op-code in the command data structure). The implementation targeted x86_64 processors and defined the bit fields for little endian dwords (i.e. 32 bits). This approach does not work as-is for big endian architectures and was changed to use a combination of bit shifts and masks to support PowerPC. Unfortunately, this changed the NVMe API and forces #ifdef's based on the OS revision level in user space code. This change reverts to something that looks like the original API, but it uses bytes instead of bit-fields inside the packed command structure. As a bonus, this works as-is for both big and little endian CPU architectures. Bump __FreeBSD_version to 1200081 due to API change Reviewed by: imp, kbowling, smh, mav Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D16404 |
#
d157fbd5 |
|
21-Aug-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Remove legacy drm and drm2 from tree As discussed on the MLs drm2 conflicts with the ports' version and there is no upstream for most if not all of drm. Both have been merged in to a single port. Users on powerpc, 32-bit hardware, or with GPUs predating Radeon and i915 will need to install the graphics/drm-legacy-kmod. All other users should be able to use one of the LinuxKPI-based ports: graphics/drm-stable-kmod, graphics/drm-next-kmod, graphics/drm-devel-kmod. MFC: never Approved by: core@ |
#
56019a53 |
|
19-Aug-2018 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after r338059 (Chacha20 based arc4random(3) and deprecation of arc4random_stir and arc4random_addrandom). |
#
f6c0e63b |
|
15-Aug-2018 |
Alexander Leidinger <netchild@FreeBSD.org> |
- Add exec hook "exec.created". This is called when the jail is created and before exec.start is called. [1] - Bump __FreeBSD_version. This allows to attach ZFS datasets and various other things to be done before any command/service/rc-script is started in the new jail. PR: 228066 [1] Reviewed by: jamie [1] Submitted by: Stefan Grönke <stefan@gronke.net> [1] Differential Revision: https://reviews.freebsd.org/D15330 [1] |
#
7e299411 |
|
10-Aug-2018 |
Warner Losh <imp@FreeBSD.org> |
Bring in timespce_get form NetBSD. Bring in the functionality for timespec_get from NetBSD. I've lightly edited the .c file to remove _DIAGASSERT because FreeBSD doesn't have that functionality and the typical #define'ing it to assert isn't right here. The man page is verbatim from NetBSD, but will be revised as part of a larger cleanup of the time man pages (they are inconsistent and vague in all the wrong places). Differential Review: https://reviews.freebsd.org/D16649 |
#
6040822c |
|
30-Jul-2018 |
Alan Somers <asomers@FreeBSD.org> |
Make timespecadd(3) and friends public The timespecadd(3) family of macros were imported from NetBSD back in r35029. However, they were initially guarded by #ifdef _KERNEL. In the meantime, we have grown at least 28 syscalls that use timespecs in some way, leading many programs both inside and outside of the base system to redefine those macros. It's better just to make the definitions public. Our kernel currently defines two-argument versions of timespecadd and timespecsub. NetBSD, OpenBSD, and FreeDesktop.org's libbsd, however, define three-argument versions. Solaris also defines a three-argument version, but only in its kernel. This revision changes our definition to match the common three-argument version. Bump _FreeBSD_version due to the breaking KPI change. Discussed with: cem, jilles, ian, bde Differential Revision: https://reviews.freebsd.org/D14725 |
#
e8177648 |
|
19-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Bump version to 1200075 for zfsloader being folded into loader. As an aside: 1200074 should be used as the last version with big endian arm support, should that be needed. it was actually removed a day later, but no bump was made until now. |
#
3b3bf2b4 |
|
16-Jul-2018 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
FreeBSD_version bump as per r336351, Updating the libstdc++ is likely to have consequences for archs that are still using the older GCC based toolchain. Requested by: mcl |
#
7f87c040 |
|
15-Jul-2018 |
Marius Strobl <marius@FreeBSD.org> |
Assorted TSO fixes for em(4)/iflib(9) and dead code removal: - Ever since the workaround for the silicon bug of TSO4 causing MAC hangs was committed in r295133, CSUM_TSO always got disabled unconditionally by em(4) on the first invocation of em_init_locked(). However, even with that problem fixed, it turned out that for at least e. g. 82579 not all necessary TSO workarounds are in place, still causing MAC hangs even at Gigabit speed. Thus, for stable/11, TSO usage was deliberately disabled in r323292 (r323293 for stable/10) for the EM-class by default, allowing users to turn it on if it happens to work with their particular EM MAC in a Gigabit-only environment. In head, the TSO workaround for speeds other than Gigabit was lost with the conversion to iflib(9) in r311849 (possibly along with another one or two TSO workarounds). Yet at the same time, for EM-class MACs TSO4 got enabled by default again, causing device hangs. Therefore, change the default for this hardware class back to have TSO4 off, allowing users to turn it on manually if it happens to work in their environment as we do in stable/{10,11}. An alternative would be to add a whitelist of EM-class devices where TSO4 actually is reliable with the workarounds in place, but given that the advantage of TSO at Gigabit speed is rather limited - especially with the overhead of these workarounds -, that's really not worth it. [1] This change includes the addition of an isc_capabilities to struct if_softc_ctx so iflib(9) can also handle interface capabilities that shouldn't be enabled by default which is used to handle the default-off capabilities of e1000 as suggested by shurd@ and moving their handling from em_setup_interface() to em_if_attach_pre() accordingly. - Although 82543 support TSO4 in theory, the former lem(4) didn't have support for TSO4, presumably because TSO4 is even more broken in the LEM-class of MACs than the later EM ones. Still, TSO4 for LEM-class devices was enabled as part of the conversion to iflib(9) in r311849, causing device hangs. So revert back to the pre-r311849 behavior of not supporting TSO4 for LEM-class at all, which includes not creating a TSO DMA tag in iflib(9) for devices not having IFCAP_TSO4 set. [2] - In fact, the FreeBSD TCP stack can handle a TSO size of IP_MAXPACKET (65535) rather than FREEBSD_TSO_SIZE_MAX (65518). However, the TSO DMA must have a maxsize of the maximum TSO size plus the size of a VLAN header for software VLAN tagging. The iflib(9) converted em(4), thus, first correctly sets scctx->isc_tx_tso_size_max to EM_TSO_SIZE in em_if_attach_pre(), but later on overrides it with IP_MAXPACKET in em_setup_interface() (apparently, left-over from pre-iflib(9) times). So remove the later and correct iflib(9) to correctly cap the maximum TSO size reported to the stack at IP_MAXPACKET. While at it, let iflib(9) use if_sethwtsomax*(). This change includes the addition of isc_tso_max{seg,}size DMA engine constraints for the TSO DMA tag to struct if_shared_ctx and letting iflib_txsd_alloc() automatically adjust the maxsize of that tag in case IFCAP_VLAN_MTU is supported as requested by shurd@. - Move the if_setifheaderlen(9) call for adjusting the maximum Ethernet header length from {ixgbe,ixl,ixlv,ixv,em}_setup_interface() to iflib(9) so adjustment is automatically done in case IFCAP_VLAN_MTU is supported. As a consequence, this adjustment now is also done in case of bnxt(4) which missed it previously. - Move the reduction of the maximum TSO segment count reported to the stack by the number of m_pullup(9) calls (which in the worst case, can add another mbuf and, thus, the requirement for another DMA segment each) in the transmit path for performance reasons from em_setup_interface() to iflib_txsd_alloc() as these pull-ups are now done in iflib_parse_header() rather than in the no longer existing em_xmit(). Moreover, this optimization applies to all drivers using iflib(9) and not just em(4); all in-tree iflib(9) consumers still have enough room to handle full size TSO packets. Also, reduce the adjustment to the maximum number of m_pullup(9)'s now performed in iflib_parse_header(). - Prior to the conversion of em(4)/igb(4)/lem(4) and ixl(4) to iflib(9) in r311849 and r335338 respectively, these drivers didn't enable IFCAP_VLAN_HWFILTER by default due to VLAN events not being passed through by lagg(4). With iflib(9), IFCAP_VLAN_HWFILTER was turned on by default but also lagg(4) was fixed in that regard in r203548. So just remove the now redundant and defunct IFCAP_VLAN_HWFILTER handling in {em,ixl,ixlv}_setup_interface(). - Nuke other redundant IFCAP_* setting in {em,ixl,ixlv}_setup_interface() which is (more completely) already done in {em,ixl,ixlv}_if_attach_pre() now. - Remove some redundant/dead setting of scctx->isc_tx_csum_flags in em_if_attach_pre(). - Remove some IFCAP_* duplicated either directly or indirectly (e. g. via IFCAP_HWCSUM) in {EM,IGB,IXL}_CAPS. - Don't bother to fiddle with IFCAP_HWSTATS in ixgbe(4)/ixgbev(4) as iflib(9) adds that capability unconditionally. - Remove some unused macros from em(4). - Bump __FreeBSD_version as some of the above changes require the modules of drivers using iflib(9) to be recompiled. Okayed by: sbruno@ at 201806 DevSummit Transport Working Group [1] Reviewed by: sbruno (earlier version), erj PR: 219428 (part of; comment #10) [1], 220997 (part of; comment #3) [2] Differential Revision: https://reviews.freebsd.org/D15720 |
#
f38b68ae |
|
05-Jul-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Make struct xinpcb and friends word-size independent. Replace size_t members with ksize_t (uint64_t) and pointer members (never used as pointers in userspace, but instead as unique idenitifiers) with kvaddr_t (uint64_t). This makes the structs identical between 32-bit and 64-bit ABIs. On 64-bit bit systems, the ABI is maintained. On 32-bit systems, this is an ABI breaking change. The ABI of most of these structs was previously broken in r315662. This also imposes a small API change on userspace consumers who must handle kernel pointers becoming virtual addresses. PR: 228301 (exp-run by antoine) Reviewed by: jtl, kib, rwatson (various versions) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15386 |
#
e533d7a3 |
|
03-Jul-2018 |
Matt Macy <mmacy@FreeBSD.org> |
FreeBSD_version: update for epoch(9) r335924 KPI change |
#
f4b36404 |
|
02-Jul-2018 |
Matt Macy <mmacy@FreeBSD.org> |
inline atomics and allow tied modules to inline locks - inline atomics in modules on i386 and amd64 (they were always inline on other arches) - allow modules to opt in to inlining locks by specifying MODULE_TIED=1 in the makefile Reviewed by: kib Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D16079 |
#
8af7453d |
|
15-Jun-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Bump __FreeBSD_version after r335227 The kerneldumpheader ABI is used by at least the netdumpd port. Bump __FreeBSD_version to reflect the change. Reported by: markj Sponsored by: Dell EMC Isilon |
#
7e4595e8 |
|
12-Jun-2018 |
Rick Macklem <rmacklem@FreeBSD.org> |
Version bump since r334930 changed the interface between the NFS modules, so they all need to be rebuilt. |
#
8590505f |
|
09-Jun-2018 |
Mark Johnston <markj@FreeBSD.org> |
Bump __FreeBSD_version after r334881 and force libdwarf to be rebuilt. Reported by: O. Hartmann <ohartmann@walstatt.org> Reviewed by: bdrewery |
#
b824b2d6 |
|
31-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Update FreeBSD_version to reflect removal of in-kernel pmc tables for Intel |
#
5bd0cf6d |
|
28-May-2018 |
Devin Teske <dteske@FreeBSD.org> |
Bump FreeBSD_version after r333517 Sponsored by: Smule, Inc. |
#
89a1c07a |
|
23-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Bump FreeBSD_version after r333813 |
#
8951f055 |
|
09-May-2018 |
Marcelo Araujo <araujo@FreeBSD.org> |
Rework CTL frontend & backend options to use nv(3), allow creating multiple ioctl frontend ports. This revision introduces two changes to CTL: - Changes the way options are passed to CTL_LUN_REQ and CTL_PORT_REQ ioctls. Removes ctl_be_arg structure and associated logic and replaces it with nv(3)-based logic for passing in and out arguments. - Allows creating multiple ioctl frontend ports using either ctladm(8) or ctld(8). New frontend ports are represented by /dev/cam/ctl<pp>.<vp> nodes, eg /dev/cam/ctl5.3. Those device nodes respond only to CTL_IO ioctl. New command-line options for ctladm: # creates new ioctl frontend port with using free pp and vp=0 ctladm port -c # creates new ioctl frontend port with pp=10 and vp=0 ctladm port -c -O pp=10 # creates new ioctl frontend port with pp=11 and vp=12 ctladm port -c -O pp=11 -O vp=12 # removes port with number 4 (it's a "targ_port" number, not pp number) ctladm port -r -p 4 New syntax for ctl.conf: target ... { port ioctl/<pp> ... } target ... { port ioctl/<pp>/<vp> ... Note: Most of this work was made by jceel@, thank you. Submitted by: jceel Reworked by: myself Reviewed by: mav (earlier versions and recently during the rework) Obtained from: FreeNAS and TrueOS Relnotes: Yes Sponsored by: iXsystems Inc. Differential Revision: https://reviews.freebsd.org/D9299 |
#
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) |
#
8129693e |
|
06-Apr-2018 |
Ed Schouten <ed@FreeBSD.org> |
Let syslog(3) use RFC 5424. With r332099 changing syslogd(8) to parse RFC 5424 formatted syslog messages, go ahead and also change the syslog(3) libc function to generate them. Compared to RFC 3164, RFC 5424 has various advantages, such as sub-second precision for log entry timestamps. As this change could have adverse effects when not updating syslogd(8) or using a different system logging daemon, add a notice to UPDATING and increase __FreeBSD_version. Differential Revision: https://reviews.freebsd.org/D14926 |
#
444c6d6f |
|
06-Apr-2018 |
Roger Pau Monné <royger@FreeBSD.org> |
remove GiB/MiB macros from param.h And instead define them in the files where they are used. Requested by: bde |
#
319cc4a7 |
|
05-Apr-2018 |
Roger Pau Monné <royger@FreeBSD.org> |
introduce GiB and MiB macros This macros convert from GiB or MiB into bytes. Sponsored by: Citrix Systems R&D |
#
c5a4cd4f |
|
04-Mar-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ to 6.0.0 release (upstream r326565). Release notes for llvm, clang and lld will be available here soon: <http://releases.llvm.org/6.0.0/docs/ReleaseNotes.html> <http://releases.llvm.org/6.0.0/tools/clang/docs/ReleaseNotes.html> <http://releases.llvm.org/6.0.0/tools/lld/docs/ReleaseNotes.html> Relnotes: yes MFC after: 3 months X-MFC-With: r327952 PR: 224669
|
#
6d0fe480 |
|
02-Mar-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Don't declare union semun in userspace unless _WANT_SEMUN is defined. POSIX explicitly states that the application must declare union semun. This makes no sense, but it is what it is. This brings us into line with Linux, MacOS/Darwin, and NetBSD. In a ports exp-run a moderate number of ports fail due to a lack of approprate autotools-like discovery mechanisms or local patches. A commit to address them will follow shortly. PR: 224300, 224443 (exp-run) Reviewed by: emaste, jhb, kib Exp-run by: antoine Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14492 |
#
7cafeaa1 |
|
12-Feb-2018 |
Warner Losh <imp@FreeBSD.org> |
Add Lua as a scripting langauge to /boot/loader liblua glues the lua run time into the boot loader. It implements all the runtime routines that lua expects. In addition, it has a few standard 'C' headers that nueter various aspects of the LUA build that are too specific to lua to be in libsa. Many refinements from the original code to improve implementation and the number of included lua libraries. Use int64_t for lua_Number. Have "/boot/lua" be the default module path. Numerous cleanups from the original GSoC project, including hacking libsa to allow lua to be built with only one change outside luaconf.h. Add the final bit of lua glue to bring in liblua and plug into the multiple interpreter framework, previously committed. Add LOADER_LUA option, currently off by default. Presently, this is an experimental option. One must opt-in to using this by defining WITH_LOADER_LUA and WITHOUT_FORTH. It's been lightly tested, so keep a backup copy of your old loader handy. The menu code, coming in the next commit, hasn't been exhaustively tested. A LUA boot loader is 60k larger than a FORTH one, which is 80k larger than a no-interpreter one. Subtle changes in size may tip things past some subtle limit (the binary is ~430k now when built with LUA). A future version may offer coexistance. Bump FreeBSD version to 1200058 to mark the milestone. Pedro Souza's 2014 Summer of Code project. Rui Paulo, Pedro Arthur, Zakary Nafziger and Wojciech A. Koszek also contributed. Warner Losh reworked it extensively into its current form. Obtained from: https://wiki.freebsd.org/SummerOfCode2014/LuaLoader Sponsored by: Google Summer of Code Relnotes: Yes MFC After: 1 month Differential Review: https://reviews.freebsd.org/D14295 |
#
b1562cfa |
|
08-Feb-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Pull in r324594 from upstream clang trunk (by Alexander Ivchenko): Fix for #31362 - ms_abi is implemented incorrectly for values >=16 bytes. Summary: This patch is a fix for following issue: https://bugs.llvm.org/show_bug.cgi?id=31362 The problem was caused by front end lowering C calling conventions without taking into account calling conventions enforced by attribute. In this case win64cc was no correctly lowered on targets other than Windows. Reviewed By: rnk (Reid Kleckner) Differential Revision: https://reviews.llvm.org/D43016 Author: belickim <mateusz.belicki@intel.com> This fixes clang 6.0.0 assertions when building the emulators/wine and emulators/wine-devel ports, and should also make it use the correct Windows calling conventions. Bump __FreeBSD_version to make the fix easy to detect. PR: 224863 MFC after: 3 months X-MFC-With: r327952 |
#
e04518a6 |
|
13-Jan-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ to 6.0.0 (branches/release_60 r321788). Upstream has branched for the 6.0.0 release, which should be in about 6 weeks. Please report bugs and regressions, so we can get them into the release. Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information. MFC after: 3 months
|
#
15fd9bda |
|
09-Jan-2018 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Bump version for r327597 adding cpucontrol -e support |
#
383f241d |
|
23-Nov-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove lint support from system headers and MD x86 headers. Reviewed by: dim, jhb Discussed with: imp Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D13156 |
#
51369649 |
|
20-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. |
#
7841fefb |
|
17-Nov-2017 |
Scott Long <scottl@FreeBSD.org> |
Rename P_OSREL_CK_CLYGRP to P_OSREL_CK_CYLGRP |
#
a3c15a44 |
|
16-Nov-2017 |
Warner Losh <imp@FreeBSD.org> |
Only try to enable CK_CLYGRP if we're running on kernel newer than 1200046, the first version that supports this feature. If we set it, then use an old kernel, we'll break the 'contract' of having checksummed cylinder groups this flag signifies. To avoid creating something with an inconsistent state, don't turn the flag on in these cases. The first full fsck with a new kernel will turn this on. Spnsored by: Netflix Differential Revision: https://reviews.freebsd.org/D13114 |
#
1c778d91 |
|
15-Nov-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
vmtotal: extend memory counters to accomodate for current and future hardware sizes. 32bit counters already overflow on approachable virtual memory page counts, and soon would overflow on the physical pages counts as well. Bump sizes to 64bit types. Bump __FreeBSD_version. It is impossible to provide perfect backward ABI compat for this change. If a program requests an old structure, it can be detected by size. But if it queries the size first by passing NULL old req pointer, there is almost nothing we can do to detect the desired ABI. As a partial solution, check p_osrel of the quering process when selecting the size to report. Submitted by: Pawel Biernacki <pawel.biernacki@gmail.com> Differential revision: https://reviews.freebsd.org/D13018 |
#
5ca9d4ef |
|
07-Nov-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version after struct mbuf KBI breakage in r325506. Sponsored by: Mellanox Technologies |
#
e012fe34 |
|
26-Oct-2017 |
John Baldwin <jhb@FreeBSD.org> |
Discard the correct thread event reported for a ptrace stop. When multiple threads wish to report a tracing event to a debugger, both threads call ptracestop() and one thread will win the race to be the reporting thread (p->p_xthread). The debugger uses PT_LWPINFO with the process ID to determine which thread / LWP is reporting an event and the details of that event. This event is cleared as a side effect of the subsequent ptrace event that resumed the process (PT_CONTINUE, PT_STEP, etc.). However, ptrace() was clearing the event identified by the LWP ID passed to the resume request even if that wasn't the 'p_xthread'. This could result in clearing an event that had not yet been observed by the debugger and leaving the existing event for 'p_thread' pending so that it was reported a second time. Specifically, if the debugger stopped due to a software breakpoint in one thread, but then switched to another thread that was used to resume (e.g. if the user switched to a different thread and issued a step), the resume request (PT_STEP) cleared a pending event (if any) for the thread being stepped. However, the process immediately stopped and the first thread reported it's breakpoint event a second time. The debugger decremented the PC for "both" breakpoint events which resulted in the PC now pointing into the middle of an instruction (on x86) and a SIGILL fault when the process was resumed a second time. To fix, always clear the pending event for 'p_xthread' when resuming a process. ptrace() still honors the requested LWP ID when enabling single-stepping (PT_STEP) or setting a different PC (PT_CONTINUE). Reported by: GDB testsuite (gdb.threads/continue-pending-status.exp) Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D12794 |
#
b0bd840b |
|
09-Oct-2017 |
Warner Losh <imp@FreeBSD.org> |
Note libstand is no longer a public interface in UPDATING. Bump FreeBSD_version to 1200051 on the off chance that something cares. Sponsored by: Netflix |
#
1b755713 |
|
05-Oct-2017 |
Warner Losh <imp@FreeBSD.org> |
Add updating for armv7 and bump FreeBSD_version. Sponsored by: Netflix |
#
27f0f2ec |
|
04-Oct-2017 |
Alan Somers <asomers@FreeBSD.org> |
Display rotation rate and TRIM/UNMAP support in diskinfo(8) Bump __FreeBSD_version due to the expansion of struct diocgattr_arg. Reviewed by: mav, allanjude, imp MFC after: 3 weeks Relnotes: yes Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D12578 |
#
0e229f34 |
|
02-Oct-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Hide struct socket and struct unpcb from the userland. Violators may define _WANT_SOCKET and _WANT_UNPCB respectively and are not guaranteed for stability of the structures. The violators list is the the usual one: libprocstat(3) and netstat(1) internally and lsof in ports. In struct xunpcb remove the inclusion of kernel structure and add a bunch of spare fields. The xsocket already has socket not included, but add there spares as well. Embed xsockbuf into xsocket. Sort declarations in sys/socketvar.h to separate kernel only from userland available ones. PR: 221820 (exp-run) |
#
61d03cd4 |
|
27-Sep-2017 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
kernel: Bump __FreeBSD_version for the removal of M_HASHTYPE_RSS_UDP_IPV4_EX Sponsored by: Microsoft |
#
40f53a7c |
|
22-Sep-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for 32-bit compatibility IOCTLs in the LinuxKPI. Bump the FreeBSD version to force recompilation of external kernel modules due to structure change. PR: 222504 Submitted by: Greg V <greg@unrelenting.technology> MFC after: 1 week Sponsored by: Mellanox Technologies |
#
e35e2f3e |
|
18-Sep-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump the __FreeBSD_version after recent LinuxKPI changes. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
6dec7efa |
|
09-Sep-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Properly implement poll_wait() in the LinuxKPI. This prevents direct use of the linux_poll_wakeup() function from unsafe contexts, which can lead to use-after-free issues. Instead of calling linux_poll_wakeup() directly use the wake_up() family of functions in the LinuxKPI to do this. Bump the FreeBSD version to force recompilation of external kernel modules. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
2744a0b6 |
|
28-Aug-2017 |
Conrad Meyer <cem@FreeBSD.org> |
Drop CACHE_LINE_SIZE to 64 bytes on x86 The actual cache line size has always been 64 bytes. The 128 number arose as an optimization for Core 2 era Intel processors. By default (configurable in BIOS), these CPUs would prefetch adjacent cache lines unintelligently. Newer CPUs prefetch more intelligently. The latest Core 2 era CPU was introduced in September 2008 (Xeon 7400 series, "Dunnington"). If you are still using one of these CPUs, especially in a multi-socket configuration, consider locating the "adjacent cache line prefetch" option in BIOS and disabling it. Reported by: mjg Reviewed by: np Discussed with: jhb Sponsored by: Dell EMC Isilon |
#
32a04bb8 |
|
25-Aug-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Use counter(9) for PLPMTUD counters. Remove unused PLPMTUD sysctl counters. Bump UPDATING and FreeBSD Version to indicate a rebuild is required. Submitted by: kevin.bowling@kev009.com Reviewed by: jtl Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D12003 |
#
3e902b3d |
|
21-Aug-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Make WRFSBASE and WRGSBASE instructions functional. Right now, we enable the CR4.FSGSBASE bit on CPUs which support the facility (Ivy and later), to allow usermode to read fs and gs bases without syscalls. This bit also controls the write access to bases from userspace, but WRFSBASE and WRGSBASE instructions currently cannot be used, because return path from both exceptions or interrupts overrides bases with the values from pcb. Supporting the instructions is useful because this means that usermode can implement green-threads completely in userspace without issuing syscalls to change all of the machine context. Support is implemented by saving the fs base and user gs base when PCB_FULL_IRET flag is set. The flag is set on the context switch, which potentially causes clobber of the bases due to activation of another context, and when explicit modification of the user context by a syscall or exception handler is performed. In particular, the patch moves setting of the flag before syscalls change context. The changes to doreti_exit and PUSH_FRAME to clear PCB_FULL_IRET on entry from userspace can be considered a bug fixes on its own. Reviewed by: jhb (previous version) Tested by: pho (previous version) Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D12023 |
#
47cbff34 |
|
29-Jul-2017 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add kernel support for the NFS client forced dismount "umount -N" option. When an NFS mount is hung against an unresponsive NFS server, the "umount -f" option can be used to dismount the mount. Unfortunately, "umount -f" gets hung as well if a "umount" without "-f" has already been done. Usually, this is because of a vnode lock being held by the "umount" for the mounted-on vnode. This patch adds kernel code so that a new "-N" option can be added to "umount", allowing it to avoid getting hung for this case. It adds two flags. One indicates that a forced dismount is about to happen and the other is used, along with setting mnt_data == NULL, to handshake with the nfs_unmount() VFS call. It includes a slight change to the interface used between the client and common NFS modules, so I bumped __FreeBSD_version to ensure both modules are rebuilt. Tested by: pho Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D11735 |
#
726fd71d |
|
21-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Set tentative merge dates, bump __FreeBSD_version. |
#
18b70d6a |
|
10-Jul-2017 |
Warner Losh <imp@FreeBSD.org> |
Bump to FreeBSD_version to 1200038 for MMC CAM |
#
96a38fc0 |
|
01-Jul-2017 |
Jason A. Harmening <jah@FreeBSD.org> |
Bump __FreeBSD_version due to r320528, cleanup and inlining of bus_dmamap* functions. Reported by: David Wolfskill <david@catwhisker.org> |
#
b4f36585 |
|
29-Jun-2017 |
Glen Barber <gjb@FreeBSD.org> |
Correct the branch naming convention in param.h. While here, consistently use upper-case 'X' to represent the version number. MFC after: 3 days Sponsored by: The FreeBSD Foundation |
#
fbcf7bcd |
|
25-Jun-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Solve the y2038 problem for powerpc AKA Make time_t 64 bits on powerpc(32). PowerPC currently (until now) was one of two architectures with a 32-bit time_t on 32-bit archs (the other being i386). This is an ABI breakage, so all ports, and all local binaries, *must* be recompiled. Tested by: andreast, others MFC after: Never Relnotes: Yes |
#
19bd0d9c |
|
24-Jun-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Implement address space guards. Guard, requested by the MAP_GUARD mmap(2) flag, prevents the reuse of the allocated address space, but does not allow instantiation of the pages in the range. It is useful for more explicit support for usual two-stage reserve then commit allocators, since it prevents accidental instantiation of the mapping, e.g. by mprotect(2). Use guards to reimplement stack grow code. Explicitely track stack grow area with the guard, including the stack guard page. On stack grow, trivial shift of the guard map entry and stack map entry limits makes the stack expansion. Move the code to detect stack grow and call vm_map_growstack(), from vm_fault() into vm_map_lookup(). As result, it is impossible to get random mapping to occur in the stack grow area, or to overlap the stack guard page. Enable stack guard page by default. Reviewed by: alc, markj Man page update reviewed by: alc, bjk, emaste, markj, pho Tested by: pho, Qualys Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D11306 (man pages) |
#
95ac7f1a |
|
18-Jun-2017 |
Rick Macklem <rmacklem@FreeBSD.org> |
Fix the NFS client/server so that it actually uses the 64bit ino_t filenos. The code still doesn't use d_off. That will come in a future commit. The code also removes the checks for servers returning a fileno that doesn't fit in 32bits, since that should work ok now. Bump __FreeBSD_version since this patch changes the interface between the NFS kernel modules. Reviewed by: kib |
#
1d9f01b1 |
|
17-Jun-2017 |
Rick Macklem <rmacklem@FreeBSD.org> |
Take "extern int maxbcachebuf" out of sys/param.h, since it breaks the arm build. In the arm build, elf_note.S includes sys/param.h and then does an elf macro called ELFNOTE(). Although the compile error doesn't make sense to me, I believe it just means that an "extern ..." can't exist in param.h for this inclusion case. I suspect adding #if !defined(LOCORE) might fix the build, but this commit just takes the definition out. I will ask freebsd-current@ what is the best was to deal with this and do a subsequent commit after that. Reported by: melounmichal@gmail.com |
#
d1c5e240 |
|
17-Jun-2017 |
Rick Macklem <rmacklem@FreeBSD.org> |
Make MAXBCACHEBUF a tunable called vfs.maxbcachebuf. By making MAXBCACHEBUF a tunable, it can be increased to allow for larger read/write data sizes for the NFS client. The tunable is limited to MAXPHYS, which is currently 128K. Making MAXPHYS a tunable or increasing its value is being discussed, since it would be nice to support a read/write data size of 1Mbyte for the NFS client when mounting the AmazonEFS file service. Reviewed by: kib MFC after: 2 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D10991 |
#
3b115db0 |
|
16-Jun-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for r320043, struct event 64-bit data. Sponsored by: The FreeBSD Foundation |
#
75d7690b |
|
08-Jun-2017 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Bump _FreeBSD_version after removal of groff Reported by: antoine |
#
69921123 |
|
23-May-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Commit the 64-bit inode project. Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modify struct dirent layout to add d_off, increase the size of d_fileno to 64-bits, increase the size of d_namlen to 16-bits, and change the required alignment. Increase struct statfs f_mntfromname[] and f_mntonname[] array length MNAMELEN to 1024. ABI breakage is mitigated by providing compatibility using versioned symbols, ingenious use of the existing padding in structures, and by employing other tricks. Unfortunately, not everything can be fixed, especially outside the base system. For instance, third-party APIs which pass struct stat around are broken in backward and forward incompatible ways. Kinfo sysctl MIBs ABI is changed in backward-compatible way, but there is no general mechanism to handle other sysctl MIBS which return structures where the layout has changed. It was considered that the breakage is either in the management interfaces, where we usually allow ABI slip, or is not important. Struct xvnode changed layout, no compat shims are provided. For struct xtty, dev_t tty device member was reduced to uint32_t. It was decided that keeping ABI compat in this case is more useful than reporting 64-bit dev_t, for the sake of pstat. Update note: strictly follow the instructions in UPDATING. Build and install the new kernel with COMPAT_FREEBSD11 option enabled, then reboot, and only then install new world. Credits: The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb). Kirk McKusick (mckusick) then picked up and updated the patch, and acted as a flag-waver. Feedback, suggestions, and discussions were carried by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles), and Rick Macklem (rmacklem). Kris Moore (kris) performed an initial ports investigation followed by an exp-run by Antoine Brodin (antoine). Essential and all-embracing testing was done by Peter Holm (pho). The heavy lifting of coordinating all these efforts and bringing the project to completion were done by Konstantin Belousov (kib). Sponsored by: The FreeBSD Foundation (emaste, kib) Differential revision: https://reviews.freebsd.org/D10439 |
#
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 |
#
81520713 |
|
19-Apr-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Bump __FreeBSD_version due to r317061, struct vmmeter changes. |
#
c9d5e1ff |
|
10-Apr-2017 |
Patrick Kelsey <pkelsey@FreeBSD.org> |
Bump __FreeBSD_version due to r316648, rename of smp_no_redevous_barrier() to smp_no_rendezvous_barrier() Reported by: jkim |
#
401ed17a |
|
21-Mar-2017 |
Alexander Motin <mav@FreeBSD.org> |
Make CAM SIM lock optional. For three years now CAM does not use SIM lock, but still enforces SIM to use it. Remove this requirement, allowing SIMs to have any locking they prefer, if they pass no mutex to cam_sim_alloc(). MFC after: 2 weeks |
#
cc65eb4e |
|
21-Mar-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Hide struct inpcb, struct tcpcb from the userland. This is a painful change, but it is needed. On the one hand, we avoid modifying them, and this slows down some ideas, on the other hand we still eventually modify them and tools like netstat(1) never work on next version of FreeBSD. We maintain a ton of spares in them, and we already got some ifdef hell at the end of tcpcb. Details: - Hide struct inpcb, struct tcpcb under _KERNEL || _WANT_FOO. - Make struct xinpcb, struct xtcpcb pure API structures, not including kernel structures inpcb and tcpcb inside. Export into these structures the fields from inpcb and tcpcb that are known to be used, and put there a ton of spare space. - Make kernel and userland utilities compilable after these changes. - Bump __FreeBSD_version. Reviewed by: rrs, gnn Differential Revision: D10018 |
#
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) |
#
0368307d |
|
07-Mar-2017 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version for removal of pcap-int.h. PR: 217221 |
#
e1bb2a82 |
|
01-Mar-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version, and set tentative merge date. |
#
fbbd9655 |
|
28-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Renumber copyright clause 4 Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96 |
#
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 |
#
7a457115 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Bump FreeBSD_version to 1200021 for removal of EISA and MCA. |
#
4fce19da |
|
13-Jan-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove deprecated fgetsock() and fputsock(). |
#
df85a9ed |
|
15-Dec-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
Bump FreeBSD_version . |
#
3d32d4a7 |
|
07-Dec-2016 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
Export the whole thread name in kinfo_proc kinfo_proc::ki_tdname is three characters shorter than thread::td_name. Add a ki_moretdname field for these three extra characters. Add the new field to kinfo_proc32, as well. Update all in-tree consumers to read the new field and assemble the full name, except for lldb's HostThreadFreeBSD.cpp, which I will handle separately. Bump __FreeBSD_version. Reviewed by: kib MFC after: 1 week Relnotes: yes Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D8722 |
#
d590c674 |
|
24-Nov-2016 |
Dimitry Andric <dim@FreeBSD.org> |
In preparation for merging back to head, bump __FreeBSD_version, FREEBSD_CC_VERSION and set date in ObsoleteFiles.inc. |
#
bba39b9a |
|
22-Nov-2016 |
Alan Cox <alc@FreeBSD.org> |
Remove PG_CACHED-related fields from struct vmmeter, because they are no longer used. More precisely, they are always zero because the code that decremented and incremented them no longer exists. Bump __FreeBSD_version to mark this change. Reviewed by: kib, markj Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D8583 |
#
69f69033 |
|
19-Nov-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Actually bump __FreeBSD_version |
#
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 |
#
7c942547 |
|
12-Oct-2016 |
Andriy Gapon <avg@FreeBSD.org> |
remove a few stray spaces from sys/param.h |
#
32fdc418 |
|
12-Oct-2016 |
Andriy Gapon <avg@FreeBSD.org> |
bump __FreeBSD_version for libzfs_core.h |
#
e3937a31 |
|
02-Oct-2016 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
Bump __FreeBSD_version for net80211(4) changes (r306590, r306591). |
#
fe6f517c |
|
01-Oct-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Bump _FreeBSD_version after adding fb_memattr field to fb_info in r306555 |
#
0696afbe |
|
23-Sep-2016 |
Alan Somers <asomers@FreeBSD.org> |
Mount msdosfs with longnames support by default. The old behavior depended on the FAT version and on what files were in the root directory. "mount_msdosfs -o shortnames" is still supported. Reviewed by: wblock, cem Discussed with: trasz, adrian, imp MFC after: 4 weeks X-MFC-Notes: Don't MFC the removal of findwin95 Differential Revision: https://reviews.freebsd.org/D8018 |
#
5271129c |
|
21-Sep-2016 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bump __FreeBSD_version after r305988, removal of bio_taskqueue(). Suggested by: asomers@ |
#
e3e7995c |
|
15-Sep-2016 |
Kevin Lo <kevlo@FreeBSD.org> |
Bump __FreeBSD_version for r305824. Suggested by: ngie |
#
64cb5e2a |
|
05-Sep-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Resolve deadlock between device_detach() and usbd_do_request_flags() by reviving the SX control request lock and refining which lock protects the common scratch area in "struct usb_device". The SX control request lock was removed by r246759 because it caused a lock order reversal with the USB enumeration lock inside usbd_transfer_setup() as a function of r246616. It was thought that reducing the number of locks would resolve the LOR, but because some USB device drivers use usbd_do_request_flags() inside callback functions, like in taskqueues, a deadlock may occur when these are drained from device_detach(). By restoring the SX control request lock usbd_do_request_flags() is allowed to complete its execution when a USB device driver is detaching. By using the SX control request lock to protect the scratch area, the LOR introduced by r246616 is also resolved. Bump the FreeBSD version while at it to force recompilation of all USB kernel modules. Found by: avos@ MFC after: 1 week |
#
fcc803df |
|
01-Sep-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Bump __FreeBSD_version for crunchgen META_MODE fix in r305254. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division |
#
1c828193 |
|
24-Aug-2016 |
Navdeep Parhar <np@FreeBSD.org> |
Bump __FreeBSD_version for r304787 and add a note about it to UPDATING. |
#
6a58af48 |
|
24-Aug-2016 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump __FreeBSD_version for LC_*_MASK fix for newlocale(3) and querylocale(3) |
#
200fa976 |
|
22-Aug-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Bump __FreeBSD_version for C++11 thread_local support in r303795. PR: 192320 |
#
5cba398b |
|
18-Aug-2016 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Remove unusedd and obsolete openbsd_poll system call. (Phase 1) Reported by: brooks Reviewed by: brooks,jhb Differential Revision: https://reviews.freebsd.org/D7548 |
#
cbf4af1f |
|
12-Jul-2016 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump __FreeBSD_version after removing collation from [a-z]-type ranges. |
#
ae940db1 |
|
07-Jul-2016 |
Glen Barber <gjb@FreeBSD.org> |
Reflect head is now 12.0-CURRENT. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
f22bfc72 |
|
23-Jun-2016 |
Navdeep Parhar <np@FreeBSD.org> |
Add spares to struct ifnet and socket for packet pacing and/or general use. Update comments regarding the spare fields in struct inpcb. Bump __FreeBSD_version for the changes to the size of the structures. Reviewed by: gnn@ Approved by: re@ (gjb@) Sponsored by: Chelsio Communications |
#
a02e196e |
|
23-Jun-2016 |
Kenneth D. Merry <ken@FreeBSD.org> |
Switch geom_disk over to using a pool mutex. The GEOM disk d_mtx is only acquired on disk creation and destruction. It is a good candidate for replacement with a pool mutex. This eliminates the mutex initialization and teardown and the mutex and name variables themselves from struct disk. sys/geom/geom_disk.h: Take d_mtx and d_mtx_name out of struct disk. sys/geom/geom_disk.c: Use mtx_pool_lock() and mtx_pool_unlock() to guard the disk initialization state instead of a dedicated mutex. This allows removing the initialization and destruction of d_mtx. sys/sys/param.h: Bump __FreeBSD_version to 1100119 for the change to struct disk. Suggested by: jhb Sponsored by: Spectra Logic Approved by: re (gjb) |
#
51b68003 |
|
21-Jun-2016 |
Kenneth D. Merry <ken@FreeBSD.org> |
Bump __FreeBSD_version to 1100118 for r302069, which breaks binary compatibility for loadable modules that depend on struct disk. Approved by: re (delphij) Sponsored by: Spectra Logic |
#
0e069bce |
|
14-Jun-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Bump __FreeBSD_version for r301602. Reported by: ngie, Ben Lavery PR: 210229 Approved by: re (gjb) |
#
dd099f3b |
|
30-May-2016 |
Allan Jude <allanjude@FreeBSD.org> |
Bump __FreeBSD_version for ZFS's support for SHA-512t256 and Skein |
#
5cfd97e8 |
|
29-May-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
mbuf: Add a flag for M_HASHTYPE_ to indicate the type has hash properties This flag has not been used, and drivers setting M_HASHTYPE_OPAQUE have not been converted as of this commit. Reviewed by: hps, gallatin (early version) Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D6406 |
#
eb9b07bb |
|
26-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
WITH_AUTO_OBJ: Fix crunchgen builds. Passing MAKEOBJDIRPREFIX to the main prog build (rescue) would confuse WITH_AUTO_OBJ and cause it to create a recursed object directory that then broke the actual prog build. This is normally not a problem since we do not call 'make -f prog.mk obj' before building anything in it. Crunchgen(1) also assumes that if -o is not passed then if an object directory does not already exist then it should build in the source directories. The normal buildworld process will have already ran 'make obj' in each of the component directories so this is not a problem. With WITH_AUTO_OBJ though this is not the case. So we must tell crunchgen(1) that MK_AUTO_OBJ=yes will create the directory and to not require it be present before generating its Makefile. Sponsored by: EMC / Isilon Storage Division |
#
40cb6df5 |
|
25-May-2016 |
Ian Lepore <ian@FreeBSD.org> |
Disable alignment faults on armv6, adjust various alignment-related macros to match the new state of affairs. The hardware we support has always been able to do unaligned accesses, we've just never enabled it until now. This brings FreeBSD into line with all the other major OSes, and should help with the growing volume of 3rd-party software that assumes unaligned access will just work on armv6 and armv7. |
#
1b82e02f |
|
23-May-2016 |
Alan Somers <asomers@FreeBSD.org> |
Add bit_count to the bitstring(3) api Add a bit_count function, which efficiently counts the number of bits set in a bitstring. sys/sys/bitstring.h tests/sys/sys/bitstring_test.c share/man/man3/bitstring.3 Add bit_alloc sys/kern/subr_unit.c Use bit_count instead of a naive counting loop in check_unrhdr, used when INVARIANTS are enabled. The userland test runs about 6x faster in a generic build, or 8.5x faster when built for Nehalem, which has the POPCNT instruction. sys/sys/param.h Bump __FreeBSD_version due to the addition of bit_alloc UPDATING Add a note about the ABI incompatibility of the bitstring(3) changes, as suggested by lidl. Suggested by: gibbs Reviewed by: gibbs, ngie MFC after: 9 days X-MFC-With: 299090, 300538 Relnotes: yes Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D6255 |
#
94098ab7 |
|
20-May-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Remove brk and sbrk from arm64. They were defined in The Single UNIX Specification, Version 2, but marked as legacy, and have been removed from later specifications. After 12 years it is time to remove them from new architectures when the main use for sbrk is an invalid method to attempt to find how much memory has been allocated from malloc. There are a few places in the tree that still call sbrk, however they are not used on arm64. They will need to be fixed to cross build from arm64, but these will be fixed in a follow up commit. Old copies of binutils from ports called into sbrk, however this has been fixed around 6 weeks ago. It is advised to update binutils on arm64 before installing a world that includes this change. Reviewed by: brooks, emaste Obtained from: brooks Relnotes: yes Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D6464 |
#
9a6844d5 |
|
19-May-2016 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add support for managing Shingled Magnetic Recording (SMR) drives. This change includes support for SCSI SMR drives (which conform to the Zoned Block Commands or ZBC spec) and ATA SMR drives (which conform to the Zoned ATA Command Set or ZAC spec) behind SAS expanders. This includes full management support through the GEOM BIO interface, and through a new userland utility, zonectl(8), and through camcontrol(8). This is now ready for filesystems to use to detect and manage zoned drives. (There is no work in progress that I know of to use this for ZFS or UFS, if anyone is interested, let me know and I may have some suggestions.) Also, improve ATA command passthrough and dispatch support, both via ATA and ATA passthrough over SCSI. Also, add support to camcontrol(8) for the ATA Extended Power Conditions feature set. You can now manage ATA device power states, and set various idle time thresholds for a drive to enter lower power states. Note that this change cannot be MFCed in full, because it depends on changes to the struct bio API that break compatilibity. In order to avoid breaking the stable API, only changes that don't touch or depend on the struct bio changes can be merged. For example, the camcontrol(8) changes don't depend on the new bio API, but zonectl(8) and the probe changes to the da(4) and ada(4) drivers do depend on it. Also note that the SMR changes have not yet been tested with an actual SCSI ZBC device, or a SCSI to ATA translation layer (SAT) that supports ZBC to ZAC translation. I have not yet gotten a suitable drive or SAT layer, so any testing help would be appreciated. These changes have been tested with Seagate Host Aware SATA drives attached to both SAS and SATA controllers. Also, I do not have any SATA Host Managed devices, and I suspect that it may take additional (hopefully minor) changes to support them. Thanks to Seagate for supplying the test hardware and answering questions. sbin/camcontrol/Makefile: Add epc.c and zone.c. sbin/camcontrol/camcontrol.8: Document the zone and epc subcommands. sbin/camcontrol/camcontrol.c: Add the zone and epc subcommands. Add auxiliary register support to build_ata_cmd(). Make sure to set the CAM_ATAIO_NEEDRESULT, CAM_ATAIO_DMA, and CAM_ATAIO_FPDMA flags as appropriate for ATA commands. Add a new get_ata_status() function to parse ATA result from SCSI sense descriptors (for ATA passthrough over SCSI) and ATA I/O requests. sbin/camcontrol/camcontrol.h: Update the build_ata_cmd() prototype Add get_ata_status(), zone(), and epc(). sbin/camcontrol/epc.c: Support for ATA Extended Power Conditions features. This includes support for all features documented in the ACS-4 Revision 12 specification from t13.org (dated February 18, 2016). The EPC feature set allows putting a drive into a power power mode immediately, or setting timeouts so that the drive will automatically enter progressively lower power states after various idle times. sbin/camcontrol/fwdownload.c: Update the firmware download code for the new build_ata_cmd() arguments. sbin/camcontrol/zone.c: Implement support for Shingled Magnetic Recording (SMR) drives via SCSI Zoned Block Commands (ZBC) and ATA Zoned Device ATA Command Set (ZAC). These specs were developed in concert, and are functionally identical. The primary differences are due to SCSI and ATA differences. (SCSI is big endian, ATA is little endian, for example.) This includes support for all commands defined in the ZBC and ZAC specs. sys/cam/ata/ata_all.c: Decode a number of additional ATA command names in ata_op_string(). Add a new CCB building function, ata_read_log(). Add ata_zac_mgmt_in() and ata_zac_mgmt_out() CCB building functions. These support both DMA and NCQ encapsulation. sys/cam/ata/ata_all.h: Add prototypes for ata_read_log(), ata_zac_mgmt_out(), and ata_zac_mgmt_in(). sys/cam/ata/ata_da.c: Revamp the ada(4) driver to support zoned devices. Add four new probe states to gather information needed for zone support. Add a new adasetflags() function to avoid duplication of large blocks of flag setting between the async handler and register functions. Add new sysctl variables that describe zone support and paramters. Add support for the new BIO_ZONE bio, and all of its subcommands: DISK_ZONE_OPEN, DISK_ZONE_CLOSE, DISK_ZONE_FINISH, DISK_ZONE_RWP, DISK_ZONE_REPORT_ZONES, and DISK_ZONE_GET_PARAMS. sys/cam/scsi/scsi_all.c: Add command descriptions for the ZBC IN/OUT commands. Add descriptions for ZBC Host Managed devices. Add a new function, scsi_ata_pass() to do ATA passthrough over SCSI. This will eventually replace scsi_ata_pass_16() -- it can create the 12, 16, and 32-byte variants of the ATA PASS-THROUGH command, and supports setting all of the registers defined as of SAT-4, Revision 5 (March 11, 2016). Change scsi_ata_identify() to use scsi_ata_pass() instead of scsi_ata_pass_16(). Add a new scsi_ata_read_log() function to facilitate reading ATA logs via SCSI. sys/cam/scsi/scsi_all.h: Add the new ATA PASS-THROUGH(32) command CDB. Add extended and variable CDB opcodes. Add Zoned Block Device Characteristics VPD page. Add ATA Return SCSI sense descriptor. Add prototypes for scsi_ata_read_log() and scsi_ata_pass(). sys/cam/scsi/scsi_da.c: Revamp the da(4) driver to support zoned devices. Add five new probe states, four of which are needed for ATA devices. Add five new sysctl variables that describe zone support and parameters. The da(4) driver supports SCSI ZBC devices, as well as ATA ZAC devices when they are attached via a SCSI to ATA Translation (SAT) layer. Since ZBC -> ZAC translation is a new feature in the T10 SAT-4 spec, most SATA drives will be supported via ATA commands sent via the SCSI ATA PASS-THROUGH command. The da(4) driver will prefer the ZBC interface, if it is available, for performance reasons, but will use the ATA PASS-THROUGH interface to the ZAC command set if the SAT layer doesn't support translation yet. As I mentioned above, ZBC command support is untested. Add support for the new BIO_ZONE bio, and all of its subcommands: DISK_ZONE_OPEN, DISK_ZONE_CLOSE, DISK_ZONE_FINISH, DISK_ZONE_RWP, DISK_ZONE_REPORT_ZONES, and DISK_ZONE_GET_PARAMS. Add scsi_zbc_in() and scsi_zbc_out() CCB building functions. Add scsi_ata_zac_mgmt_out() and scsi_ata_zac_mgmt_in() CCB/CDB building functions. Note that these have return values, unlike almost all other CCB building functions in CAM. The reason is that they can fail, depending upon the particular combination of input parameters. The primary failure case is if the user wants NCQ, but fails to specify additional CDB storage. NCQ requires using the 32-byte version of the SCSI ATA PASS-THROUGH command, and the current CAM CDB size is 16 bytes. sys/cam/scsi/scsi_da.h: Add ZBC IN and ZBC OUT CDBs and opcodes. Add SCSI Report Zones data structures. Add scsi_zbc_in(), scsi_zbc_out(), scsi_ata_zac_mgmt_out(), and scsi_ata_zac_mgmt_in() prototypes. sys/dev/ahci/ahci.c: Fix SEND / RECEIVE FPDMA QUEUED in the ahci(4) driver. ahci_setup_fis() previously set the top bits of the sector count register in the FIS to 0 for FPDMA commands. This is okay for read and write, because the PRIO field is in the only thing in those bits, and we don't implement that further up the stack. But, for SEND and RECEIVE FPDMA QUEUED, the subcommand is in that byte, so it needs to be transmitted to the drive. In ahci_setup_fis(), always set the the top 8 bits of the sector count register. We need it in both the standard and NCQ / FPDMA cases. sys/geom/eli/g_eli.c: Pass BIO_ZONE commands through the GELI class. sys/geom/geom.h: Add g_io_zonecmd() prototype. sys/geom/geom_dev.c: Add new DIOCZONECMD ioctl, which allows sending zone commands to disks. sys/geom/geom_disk.c: Add support for BIO_ZONE commands. sys/geom/geom_disk.h: Add a new flag, DISKFLAG_CANZONE, that indicates that a given GEOM disk client can handle BIO_ZONE commands. sys/geom/geom_io.c: Add a new function, g_io_zonecmd(), that handles execution of BIO_ZONE commands. Add permissions check for BIO_ZONE commands. Add command decoding for BIO_ZONE commands. sys/geom/geom_subr.c: Add DDB command decoding for BIO_ZONE commands. sys/kern/subr_devstat.c: Record statistics for REPORT ZONES commands. Note that the number of bytes transferred for REPORT ZONES won't quite match what is received from the harware. This is because we're necessarily counting bytes coming from the da(4) / ada(4) drivers, which are using the disk_zone.h interface to communicate up the stack. The structure sizes it uses are slightly different than the SCSI and ATA structure sizes. sys/sys/ata.h: Add many bit and structure definitions for ZAC, NCQ, and EPC command support. sys/sys/bio.h: Convert the bio_cmd field to a straight enumeration. This will yield more space for additional commands in the future. After change r297955 and other related changes, this is now possible. Converting to an enumeration will also prevent use as a bitmask in the future. sys/sys/disk.h: Define the DIOCZONECMD ioctl. sys/sys/disk_zone.h: Add a new API for managing zoned disks. This is very close to the SCSI ZBC and ATA ZAC standards, but uses integers in native byte order instead of big endian (SCSI) or little endian (ATA) byte arrays. This is intended to offer to the complete feature set of the ZBC and ZAC disk management without requiring the application developer to include SCSI or ATA headers. We also use one set of headers for ioctl consumers and kernel bio-level consumers. sys/sys/param.h: Bump __FreeBSD_version for sys/bio.h command changes, and inclusion of SMR support. usr.sbin/Makefile: Add the zonectl utility. usr.sbin/diskinfo/diskinfo.c Add disk zoning capability to the 'diskinfo -v' output. usr.sbin/zonectl/Makefile: Add zonectl makefile. usr.sbin/zonectl/zonectl.8 zonectl(8) man page. usr.sbin/zonectl/zonectl.c The zonectl(8) utility. This allows managing SCSI or ATA zoned disks via the disk_zone.h API. You can report zones, reset write pointers, get parameters, etc. Sponsored by: Spectra Logic Differential Revision: https://reviews.freebsd.org/D6147 Reviewed by: wblock (documentation) |
#
b334cdea |
|
16-May-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement more Linux device related functions in the LinuxKPI. While at it use NULL for some pointer checks. Bump the FreeBSD version to force recompilation of all kernel modules due to a structure size change. Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies |
#
3a8bec33 |
|
12-May-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix handling of IOCTLs in the LinuxKPI. Linux requires that all IOCTL data resides in userspace. FreeBSD always moves the main IOCTL structure into a kernel buffer before invoking the IOCTL handler and then copies it back into userspace, before returning. Hide this difference in the "linux_copyin()" and "linux_copyout()" functions by remapping userspace addresses in the range from 0x10000 to 0x20000, to the kernel IOCTL data buffer. It is assumed that the userspace code, data and stack segments starts no lower than memory address 0x400000, which is also stated by "man 1 ld", which means any valid userspace pointer can be passed to regular LinuxKPI handled IOCTLs. Bump the FreeBSD version to force recompilation of all kernel modules. Discussed with: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies |
#
8907f744 |
|
04-May-2016 |
Alan Somers <asomers@FreeBSD.org> |
Improve performance and functionality of the bitstring(3) api Two new functions are provided, bit_ffs_at() and bit_ffc_at(), which allow for efficient searching of set or cleared bits starting from any bit offset within the bit string. Performance is improved by operating on longs instead of bytes and using ffsl() for searches within a long. ffsl() is a compiler builtin in both clang and gcc for most architectures, converting what was a brute force while loop search into a couple of instructions. All of the bitstring(3) API continues to be contained in the header file. Some of the functions are large enough that perhaps they should be uninlined and moved to a library, but that is beyond the scope of this commit. sys/sys/bitstring.h: Convert the majority of the existing bit string implementation from macros to inline functions. Properly protect the implementation from inadvertant macro expansion when included in a user's program by prefixing all private macros/functions and local variables with '_'. Add bit_ffs_at() and bit_ffc_at(). Implement bit_ffs() and bit_ffc() in terms of their "at" counterparts. Provide a kernel implementation of bit_alloc(), making the full API usable in the kernel. Improve code documenation. share/man/man3/bitstring.3: Add pre-exisiting API bit_ffc() to the synopsis. Document new APIs. Document the initialization state of the bit strings allocated/declared by bit_alloc() and bit_decl(). Correct documentation for bitstr_size(). The original code comments indicate the size is in bytes, not "elements of bitstr_t". The new implementation follows this lead. Only hastd assumed "elements" rather than bytes and it has been corrected. etc/mtree/BSD.tests.dist: tests/sys/Makefile: tests/sys/sys/Makefile: tests/sys/sys/bitstring.c: Add tests for all existing and new functionality. include/bitstring.h Include all headers needed by sys/bitstring.h lib/libbluetooth/bluetooth.h: usr.sbin/bluetooth/hccontrol/le.c: Include bitstring.h instead of sys/bitstring.h. sbin/hastd/activemap.c: Correct usage of bitstr_size(). sys/dev/xen/blkback/blkback.c Use new bit_alloc. sys/kern/subr_unit.c: Remove hard-coded assumption that sizeof(bitstr_t) is 1. Get rid of unrb.busy, which caches the number of bits set in unrb.map. When INVARIANTS are disabled, nothing needs to know that information. callapse_unr can be adapted to use bit_ffs and bit_ffc instead. Eliminating unrb.busy saves memory, simplifies the code, and provides a slight speedup when INVARIANTS are disabled. sys/net/flowtable.c: Use the new kernel implementation of bit-alloc, instead of hacking the old libc-dependent macro. sys/sys/param.h Update __FreeBSD_version to indicate availability of new API Submitted by: gibbs, asomers Reviewed by: gibbs, ngie MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D6004 |
#
0bab509b |
|
22-Apr-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
More fixes for using IPv6 addresses with RDMA: - Added check that the SCOPE ID is only restored for IPv6 linklocal addresses. - Changes made by r237263 in the "cma_bind_addr()" function did not check if the socket address was of type IPv6 and used the IPv4 socket address for IPv6 addresses. This caused the function to fail. Fixed this. - In the "rdma_gid2ip()" function and some other places the "sin6_len" and "sin6_scope_id" fields were not set for IPv6 socket addresses. Fixed this. - The scope ID is not stored as part of the GID entries and must be passed as an argument to "rdma_gid2ip()". - Added new method to "struct ib_device" which returns a pointer to the network interface which belongs to the given infiniband device. This is needed to be able to get the scope ID for IPv6 addresses via the associated ethernet interface. - Added convenience function, "rdma_get_ipv6_scope_id()", to get the scope ID for IPv6 addresses. - Implemented new "get_netdev" method for mlx4ib. Other IB controller drivers which want to support IPv6 addresses needs to implement this aswell. - Bumped the FreeBSD version due to changing "struct ib_device". Sponsored by: Mellanox Technologies MFC after: 1 week |
#
678fec50 |
|
05-Apr-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Fix sed functions 'i' and 'a' from discarding leading white space. This appears to be implementation dependent but convenient and makes our sed behave more like GNU sed. Given that it is not the historic behavior, bump FreeBSD_version should userland/ports somehow depend on it. Obtained from: NetBSD (bin/49872) Reviewed by: bdrewery PR: 208554 Merge after: NEVER |
#
e0d84b9e |
|
21-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Track filemon usage via a proc.p_filemon pointer rather than its own lists. - proc.p_filemon is added which is protected by PROC_LOCK. This improves performance and avoids double-fork issues, taking allproc_lock while in syscalls, and walking the process tree in syscalls. A particular proc.p_filemon can only be changed to NULL or another filemon, or the filemon inherited, while the filemon->lock is held. - Filemon are reference counted. On the last reference the log will be closed. - When closing the devfs file handle, the filemon will be detached from all processes and inheritance prevented. - Disallow attaching to a process already being traced since filemon is typically intended to be used on children only. This is allowed for curproc as bmake relies on this behavior for rare cases when combining .MAKE with .META. - Detach any previously tracked process on ioctl(FILEMON_SET_PID). - Handle error from devfs_set_cdevpriv() in filemon_open(). - The global filemon lock and lists are removed. - A free list is no longer kept. Previously this list was forever-expanding and never garbage cleaned. - No longer loses track of double-forks. If the process holding the filemon handle closes it will close the log rather than wait on a daemonized process, but it will log all activity until it closes its handle. The filemon will be removed from the process and not inherited. - A separate process count is kept only as an optimization for forced detachment to avoid taking allproc_lock and walking the entire process tree. - struct filemon access is protected by sx(9) filemon->lock as it was before. - Add more comments and KASSERTS. MFC after: 2 weeks Reviewed by: kib, mjg, markj (all on previous versions) Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5520 |
#
da1b038a |
|
17-Mar-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Use uintmax_t (typedef'd to rman_res_t type) for rman ranges. On some architectures, u_long isn't large enough for resource definitions. Particularly, powerpc and arm allow 36-bit (or larger) physical addresses, but type `long' is only 32-bit. This extends rman's resources to uintmax_t. With this change, any resource can feasibly be placed anywhere in physical memory (within the constraints of the driver). Why uintmax_t and not something machine dependent, or uint64_t? Though it's possible for uintmax_t to grow, it's highly unlikely it will become 128-bit on 32-bit architectures. 64-bit architectures should have plenty of RAM to absorb the increase on resource sizes if and when this occurs, and the number of resources on memory-constrained systems should be sufficiently small as to not pose a drastic overhead. That being said, uintmax_t was chosen for source clarity. If it's specified as uint64_t, all printf()-like calls would either need casts to uintmax_t, or be littered with PRI*64 macros. Casts to uintmax_t aren't horrible, but it would also bake into the API for resource_list_print_type() either a hidden assumption that entries get cast to uintmax_t for printing, or these calls would need the PRI*64 macros. Since source code is meant to be read more often than written, I chose the clearest path of simply using uintmax_t. Tested on a PowerPC p5020-based board, which places all device resources in 0xfxxxxxxxx, and has 8GB RAM. Regression tested on qemu-system-i386 Regression tested on qemu-system-mips (malta profile) Tested PAE and devinfo on virtualbox (live CD) Special thanks to bz for his testing on ARM. Reviewed By: bz, jhb (previous) Relnotes: Yes Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D4544 |
#
65d641e6 |
|
12-Mar-2016 |
Ed Maste <emaste@FreeBSD.org> |
Bump __FreeBSD_version for libelf cross-endian fix in r296685 |
#
e74e149f |
|
05-Mar-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copies of clang, llvm, lldb and compiler-rt to 3.8.0 release. Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information. Release notes for llvm and clang will soon be available here: <http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html> Thanks to Ed Maste, Roman Divacky, Davide Italiano and Antoine Brodin for their help. Relnotes: yes
|
#
ac6c1372 |
|
26-Feb-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add the bus_alloc_resource_anywhere() convenience function. Summary: Many instances of bus_alloc_resource() simply use 0 and ~0 for start and end to denote 'anywhere' with a given count. To clean this up, introduce a bus_alloc_resource_anywhere() convenience function. Bump __FreeBSD_version for the new API. Reviewed By: jhb Differential Revision: https://reviews.freebsd.org/D5370 |
#
7ae3d4bf |
|
17-Feb-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
tcp/lro: Allow drivers to set the TCP ACK/data segment aggregation limit ACK aggregation limit is append count based, while the TCP data segment aggregation limit is length based. Unless the network driver sets these two limits, it's an NO-OP. Reviewed by: adrian, gallatin (previous version), hselasky (previous version) Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5185 |
#
3dcaa2b5 |
|
16-Feb-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Bump __FreeBSD_Version for u_long -> rman_res_t change (r294883). |
#
80f7300d |
|
26-Jan-2016 |
Devin Teske <dteske@FreeBSD.org> |
Add keep_tite configuration option Similar to dialog(3) keep_tite option used to prevent visually disturbing initialization or exit that could occur when run from a script using dpv(3) by way of dpv(1) in sequence with other dialog(1) invocations. |
#
2d1bee65 |
|
21-Jan-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement idr_preload(), idr_preload_end(), idr_alloc() and idr_alloc_cyclic() in the LinuxKPI. Bump the FreeBSD version to force recompilation of all KLDs due to IDR structure size change. MFC after: 2 weeks Sponsored by: Mellanox Technologies |
#
e936121d |
|
19-Jan-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add optimizing LRO wrapper: - Add optimizing LRO wrapper which pre-sorts all incoming packets according to the hash type and flowid. This prevents exhaustion of the LRO entries due to too many connections at the same time. Testing using a larger number of higher bandwidth TCP connections showed that the incoming ACK packet aggregation rate increased from ~1.3:1 to almost 3:1. Another test showed that for a number of TCP connections greater than 16 per hardware receive ring, where 8 TCP connections was the LRO active entry limit, there was a significant improvement in throughput due to being able to fully aggregate more than 8 TCP stream. For very few very high bandwidth TCP streams, the optimizing LRO wrapper will add CPU usage instead of reducing CPU usage. This is expected. Network drivers which want to use the optimizing LRO wrapper needs to call "tcp_lro_queue_mbuf()" instead of "tcp_lro_rx()" and "tcp_lro_flush_all()" instead of "tcp_lro_flush()". Further the LRO control structure must be initialized using "tcp_lro_init_args()" passing a non-zero number into the "lro_mbufs" argument. - Make LRO statistics 64-bit. Previously 32-bit integers were used for statistics which can be prone to wrap-around. Fix this while at it and update all SYSCTL's which expose LRO statistics. - Ensure all data is freed when destroying a LRO control structures, especially leftover LRO entries. - Reduce number of memory allocations needed when setting up a LRO control structure by precomputing the total amount of memory needed. - Add own memory allocation counter for LRO. - Bump the FreeBSD version to force recompilation of all KLDs due to change of the LRO control structure size. Sponsored by: Mellanox Technologies Reviewed by: gallatin, sbruno, rrs, gnn, transport Tested by: Netflix Differential Revision: https://reviews.freebsd.org/D4914 |
#
7d133393 |
|
15-Jan-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement support for PCI suspend, resume and shutdown events in the LinuxKPI. Fix a few spaces to tabs. Bump the FreeBSD version to force recompilation of existing KMODs. MFC after: 1 week Sponsored by: Mellanox Technologies |
#
e80e04ae |
|
30-Dec-2015 |
Allan Jude <allanjude@FreeBSD.org> |
Bump __FreeBSD_version because r292782 removes sys/crypto/sha2.h Submitted by: Oliver Pinter <oliver.pinter@hardenedbsd.org> |
#
c4aa7d77 |
|
19-Dec-2015 |
Mark Johnston <markj@FreeBSD.org> |
Bump __FreeBSD_version for r292469. |
#
cbeb66dd |
|
30-Nov-2015 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump __FreeBSD_version since r291527 changes the interface between the nfsd.ko and nfscommon.ko modules. As such, both modules need to be upgraded to-gether. |
#
8dc24f54 |
|
12-Nov-2015 |
Randall Stewart <rrs@FreeBSD.org> |
Bump version number since callout_stop() macro now has new NULL arg. Thanks Hans for spotting this! |
#
e072f955 |
|
07-Nov-2015 |
Conrad Meyer <cem@FreeBSD.org> |
Flesh out sysctl types further (follow-up of r290475) Use the right intmax_t type instead of intptr_t in a few remaining places. Add support for CTLFLAG_TUN for the new fixed with types. Bruce will be upset that the new handlers silently truncate tuned quad-sized inputs, but so do all of the existing handlers. Add the new types to debug_dump_node, for whatever use that is. Bump FreeBSD_version again, for good measure. We are changing SYSCTL_HANDLER_ARGS and a member of struct sysctl_oid to intmax_t. Correct the sysctl typed NULL values for the fixed-width types. (Hat tip: hps@.) Suggested by: hps (partial) Sponsored by: EMC / Isilon Storage Division |
#
096fa91f |
|
06-Nov-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Bump __FreeBSD_version modification of the locales |
#
1dbbea55 |
|
06-Nov-2015 |
Conrad Meyer <cem@FreeBSD.org> |
Final follow-up to r290475: Bump __FreeBSD_version Because we changed sysctl_add_oid(9) ABI, which surely breaks ABI compatibility for out-of-tree modules. Sponsored by: EMC / Isilon Storage Division |
#
9d9cc246 |
|
02-Nov-2015 |
Devin Teske <dteske@FreeBSD.org> |
Make figpar(3) types/macros [more] unique (s/fp_/figpar_/gi) |
#
7bded2db |
|
30-Oct-2015 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge OpenSSL 1.0.2d.
|
#
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 |
#
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 |
#
49bc4fbc |
|
19-Oct-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump the __FreeBSD_version to reflect the recent Linux KPI updates. Sponsored by: Mellanox Technologies |
#
5873e5fc |
|
16-Oct-2015 |
Alexander Motin <mav@FreeBSD.org> |
Bump version and add notice about incompatibility introduced by resumable send/receive support in ZFS. |
#
4f01407b |
|
05-Oct-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Prepare for merging back to head. |
#
0ba74efb |
|
18-Aug-2015 |
Jason Evans <jasone@FreeBSD.org> |
Bump __FreeBSD_version for the jemalloc 4.0.0 import. |
#
ad38a9d9 |
|
12-Aug-2015 |
Warner Losh <imp@FreeBSD.org> |
Crunchgen needs to be bootstrapped to pick up the STRIP->STRIPBIN changes to prevent the 'rescue: not found' errors from happening. Bump FreeBSD_version to 1100078 since there's been no version bumps since this change was made. Only people that installed since r284356 really need to do this bootstrapping, but since crunchgen needs to bootstrap for other reasons, bumping the number was the simplest. |
#
b114aa79 |
|
27-Jul-2015 |
Ed Schouten <ed@FreeBSD.org> |
Make shutdown() return ENOTCONN as required by POSIX, part deux. Summary: Back in 2005, maxim@ attempted to fix shutdown() to return ENOTCONN in case the socket was not connected (r150152). This had to be rolled back (r150155), as it broke some of the existing programs that depend on this behavior. I reapplied this change on my system and indeed, syslogd failed to start up. I fixed this back in February (279016) and MFC'ed it to the supported stable branches. Apart from that, things seem to work out all right. Since at least Linux and Mac OS X do the right thing, I'd like to go ahead and give this another try. To keep old copies of syslogd working, only start returning ENOTCONN for recent binaries. I took a look at the XNU sources and they seem to test against both SS_ISCONNECTED, SS_ISCONNECTING and SS_ISDISCONNECTING, instead of just SS_ISCONNECTED. That seams reasonable, so let's do the same. Test Plan: This issue was uncovered while writing tests for shutdown() in CloudABI: https://github.com/NuxiNL/cloudlibc/blob/master/src/libc/sys/socket/shutdown_test.c#L26 Reviewers: glebius, rwatson, #manpages, gnn, #network Reviewed By: gnn, #network Subscribers: bms, mjg, imp Differential Revision: https://reviews.freebsd.org/D3039 |
#
fcf4d36e |
|
10-Jun-2015 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump FreeBSD_version due to lim_* API changes in r284215 |
#
b8d08379 |
|
04-Jun-2015 |
Xin LI <delphij@FreeBSD.org> |
Document the disable of legacy entries in password database in UPDATING and bump __FreeBSD_version after r283981. |
#
789d9103 |
|
27-May-2015 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for the r283602, which changed dounmount() to require referenced struct mount *. Sponsored by: The FreeBSD Foundation |
#
ef6fa9e2 |
|
25-May-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copy of clang and llvm to 3.6.1 release. This release contains the following cherry-picked revisions from upstream trunk: 226124 226151 226164 226165 226166 226407 226408 226409 226652 226905 226983 227084 227087 227089 227208 227209 227210 227211 227212 227213 227214 227269 227430 227482 227503 227519 227574 227822 227986 227987 227988 227989 227990 228037 228038 228039 228040 228188 228189 228190 228273 228372 228373 228374 228403 228765 228848 228918 229223 229225 229226 229227 229228 229230 229234 229235 229236 229238 229239 229413 229507 229680 229750 229751 229752 229911 230146 230147 230235 230253 230255 230469 230500 230564 230603 230657 230742 230748 230956 231219 231237 231245 231259 231280 231451 231563 231601 231658 231659 231662 231984 231986 232046 232085 232142 232176 232179 232189 232382 232386 232389 232425 232438 232443 232675 232786 232797 232943 232957 233075 233080 233351 233353 233409 233410 233508 233584 233819 233904 234629 234636 234891 234975 234977 235524 235641 235662 235931 236099 236306 236307 Please note that from 3.5.0 onwards, clang and llvm require C++11 support to build; see UPDATING for more information.
|
#
4ece1a88 |
|
08-May-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Extend the maximum number of allowed PCM channels in a PCM stream to 127 and decrease the maximum number of sub-channels to 1. These definitions are only used inside the kernel and can be changed later if more than one sub-channel is desired. This has been done to allow so-called USB audio rack modules to work with FreeBSD. Bump the FreeBSD version to force recompiling all external modules. MFC after: 2 weeks Reviewed by: mav |
#
bce5cc70 |
|
01-May-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Bump _FreeBSD_version after reallocarray import Requested by: delphij |
#
681476b5 |
|
29-Apr-2015 |
Michael Gmelin <grembo@FreeBSD.org> |
Bump __FreeBSD_version for smb(4) changes in r281985 Differential Revision: https://reviews.freebsd.org/D2398 Reviewed by: bapt, flo Approved by: bapt, flo |
#
7cfdc2a7 |
|
24-Apr-2015 |
Rick Macklem <rmacklem@FreeBSD.org> |
MAXBSIZE defines both the largest UFS block size and the largest size for a buffer in the buffer cache. This patch defines a new constant MAXBCACHEBUF, which is the largest size for a buffer in the buffer cache. Having a separate constant allows MAXBCACHEBUF to be set larger than MAXBSIZE on a per-architecture basis, so that NFS can do larger read/writes for these architectures. It modifies sys/param.h so that BKVASIZE can also be set on a per-architecture basis. A couple of cases where NFS used MAXBSIZE instead of NFS_MAXBSIZE is fixed as well. Differential Revision: https://reviews.freebsd.org/D2330 Reviewed by: mav, kib MFC after: 2 weeks |
#
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@ |
#
4ee4d591 |
|
15-Apr-2015 |
Tijl Coosemans <tijl@FreeBSD.org> |
Point to the right location where __FreeBSD_version numbers are documented. |
#
1243a98e |
|
15-Apr-2015 |
Tijl Coosemans <tijl@FreeBSD.org> |
Remove the const qualifier from iconv(3) to comply with POSIX: http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html Adjust all code that calls iconv. PR: 199099 Exp-run by: antoine MFC after: 2 weeks |
#
c151f24d |
|
06-Apr-2015 |
Gleb Smirnoff <glebius@FreeBSD.org> |
o Make net.inet6.ip6.mif6table return special API structure, that doesn't contain kernel pointers, and instead has interface index. Bump __FreeBSD_version for that change. o Now, netstat/mroute6.c no longer needs to kvm_read(3) struct ifnet, and no longer needs to include if_var.h Note that this change is far from being a complete move of IPv6 multicast routing to a proper API. Other structures are still dumped into their sysctls as is, requiring userland application to #define _KERNEL when including ip6_mroute.h and then call kvm_read(3) to gather all bits and pieces. But fixing this is out of scope of the opaque ifnet project. Sponsored by: Nginx, Inc. Sponsored by: Netflix |
#
01ed3ca3 |
|
25-Mar-2015 |
Jung-uk Kim <jkim@FreeBSD.org> |
Remove defunct SSLv2 support from fetch(1) and fetch(3). |
#
3fde12b6 |
|
20-Mar-2015 |
Jung-uk Kim <jkim@FreeBSD.org> |
Disable insecure SSLv2 support from the base OpenSSL. Differential Revision: https://reviews.freebsd.org/D1304 |
#
302cd48a |
|
15-Mar-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version again, and set real dates in UPDATING and ObsoleteFiles.inc, in preparation for the merge back to head. |
#
bb057644 |
|
07-Mar-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add PPS support to USB serial drivers. Bump kernel version to reflect structure change. PR: 196897 MFC after: 1 week |
#
35ee8a4a |
|
07-Mar-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add mutex support to the pps_ioctl() API in the kernel. Bump kernel version to reflect structure change. PR: 196897 MFC after: 1 week |
#
9aa84271 |
|
23-Feb-2015 |
Kenneth D. Merry <ken@FreeBSD.org> |
Bump __FreeBSD_version for the mtio(4) / sa(4) ioctl and API additions in revision 279219. Sponsored by: Spectra Logic MFC after: 1 month |
#
e8577fb4 |
|
18-Feb-2015 |
Kenneth D. Merry <ken@FreeBSD.org> |
Make sure that the flags for the XPT_DEV_ADVINFO CCB are initialized properly. If there is garbage in the flags field, it can sometimes include a set CDAI_FLAG_STORE flag, which may cause either an error or perhaps result in overwriting the field that was intended to be read. sys/cam/cam_ccb.h: Add a new flag to the XPT_DEV_ADVINFO CCB, CDAI_FLAG_NONE, that callers can use to set the flags field when no store is desired. sys/cam/scsi/scsi_enc_ses.c: In ses_setphyspath_callback(), explicitly set the XPT_DEV_ADVINFO flags to CDAI_FLAG_NONE when fetching the physical path information. Instead of ORing in the CDAI_FLAG_STORE flag when storing the physical path, set the flags field to CDAI_FLAG_STORE. sys/cam/scsi/scsi_sa.c: Set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_NONE when fetching extended inquiry information. sys/cam/scsi/scsi_da.c: When storing extended READ CAPACITY information, set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_STORE instead of ORing it into a field that isn't initialized. sys/dev/mpr/mpr_sas.c, sys/dev/mps/mps_sas.c: When fetching extended READ CAPACITY information, set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_NONE instead of setting it to 0. sbin/camcontrol/camcontrol.c: When fetching a device ID, set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_NONE instead of 0. sys/sys/param.h: Bump __FreeBSD_version to 1100061 for the new XPT_DEV_ADVINFO CCB flag, CDAI_FLAG_NONE. Sponsored by: Spectra Logic MFC after: 1 week |
#
b914a529 |
|
16-Feb-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Forward the FBIO_BLANK IOCTL to framebuffer clients. Bump the FreeBSD version to force re-compilation of external video driver kernel modules. Discussed with: ray @ |
#
6df0b7b4 |
|
09-Feb-2015 |
Xin LI <delphij@FreeBSD.org> |
Chase r278433: bump __FreeBSD_version for xz 5.2.0 which adds multi-thread capability to liblzma. |
#
3bba3152 |
|
04-Feb-2015 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add support for probing the SCSI VPD Extended Inquiry page (0x86). This VPD page is effectively an extension of the standard Inquiry data page, and includes lots of additional bits. This commit includes support for probing the page in the SCSI probe code, and an additional request type for the XPT_DEV_ADVINFO CCB. CTL already supports the Extended Inquiry page. Support for querying this page in the sa(4) driver will come later. sys/cam/scsi/scsi_xpt.c: Probe the Extended Inquiry page, if the device supports it, and return it in response to a XPT_DEV_ADVINFO CCB if it is requested. sys/cam/scsi/cam_ccb.h: Define a new advanced information CCB data type, CDAI_TYPE_EXT_INQ. sys/cam/cam_xpt.c: Free the extended inquiry data in a device when the device goes away. sys/cam/cam_xpt_internal.h: Add an extended inquiry data pointer and length to struct cam_ed. sys/sys/param.h Bump __FreeBSD_version for the addition of the new CDAI_TYPE_EXT_INQ advanced information type. Sponsored by: Spectra Logic MFC after: 1 week |
#
304d0201 |
|
29-Jan-2015 |
John Baldwin <jhb@FreeBSD.org> |
Remove the d_thread_t compatibility shim provided in 5.0 to handle the struct thread (<= 4.x) vs struct proc (>= 5.0) argument to cdevsw routines. It is long past its expiration date. PR: 196544 (exp-run) |
#
2205e0d1 |
|
23-Jan-2015 |
Jilles Tjoelker <jilles@FreeBSD.org> |
Add futimens and utimensat system calls. The core kernel part is patch file utimes.2008.4.diff from pluknet@FreeBSD.org. I updated the code for API changes, added the manual page and added compatibility code for old kernels. There is also audit and Capsicum support. A new UTIME_* constant might allow setting birthtimes in future. Differential Revision: https://reviews.freebsd.org/D1426 Submitted by: pluknet (partially) Reviewed by: delphij, pluknet, rwatson Relnotes: yes |
#
a115fb62 |
|
22-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Revert for r277213: FreeBSD developers need more time to review patches in the surrounding areas like the TCP stack which are using MPSAFE callouts to restore distribution of callouts on multiple CPUs. Bump the __FreeBSD_version instead of reverting it. Suggested by: kmacy, adrian, glebius and kib Differential Revision: https://reviews.freebsd.org/D1438 |
#
1a26c3c0 |
|
15-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Major callout subsystem cleanup and rewrite: - Close a migration race where callout_reset() failed to set the CALLOUT_ACTIVE flag. - Callout callback functions are now allowed to be protected by spinlocks. - Switching the callout CPU number cannot always be done on a per-callout basis. See the updated timeout(9) manual page for more information. - The timeout(9) manual page has been updated to reflect how all the functions inside the callout API are working. The manual page has been made function oriented to make it easier to deduce how each of the functions making up the callout API are working without having to first read the whole manual page. Group all functions into a handful of sections which should give a quick top-level overview when the different functions should be used. - The CALLOUT_SHAREDLOCK flag and its functionality has been removed to reduce the complexity in the callout code and to avoid problems about atomically stopping callouts via callout_stop(). If someone needs it, it can be re-added. From my quick grep there are no CALLOUT_SHAREDLOCK clients in the kernel. - A new callout API function named "callout_drain_async()" has been added. See the updated timeout(9) manual page for a complete description. - Update the callout clients in the "kern/" folder to use the callout API properly, like cv_timedwait(). Previously there was some custom sleepqueue code in the callout subsystem, which has been removed, because we now allow callouts to be protected by spinlocks. This allows us to tear down the callout like done with regular mutexes, and a "td_slpmutex" has been added to "struct thread" to atomically teardown the "td_slpcallout". Further the "TDF_TIMOFAIL" and "SWT_SLEEPQTIMO" states can now be completely removed. Currently they are marked as available and will be cleaned up in a follow up commit. - Bump the __FreeBSD_version to indicate kernel modules need recompilation. - There has been several reports that this patch "seems to squash a serious bug leading to a callout timeout and panic". Kernel build testing: all architectures were built MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D1438 Sponsored by: Mellanox Technologies Reviewed by: jhb, adrian, sbruno and emaste |
#
12940e3d |
|
07-Jan-2015 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to 1100053 reflecting the addition of a return value to MCLGET(). Suggested by: jmg Sponsored by: EMC / Isilon Storage Division |
#
44b6c81f |
|
31-Dec-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copy of clang, llvm and lldb to 3.5.0 release. Please note that this version now requires C++11 support to build; see UPDATING for more information. Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.5.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.5.0/tools/clang/docs/ReleaseNotes.html> Thanks to Ed Maste, Roman Divacky, Andrew Turner, Justin Hibbits and Antoine Brodin for their invaluable help with this import. Approved by: portmgr (antoine) MFC after: 1 month
|
#
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 |
#
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 |
#
cd952115 |
|
09-Dec-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Pull in r223171 from upstream llvm trunk (by Michael Zolotukhin): PR21302. Vectorize only bottom-tested loops. rdar://problem/18886083 This fixes a bug in the llvm vectorizer, which could sometimes cause vectorized loops to perform an additional iteration, leading to possible buffer overruns. Symptoms of this, which are usually segfaults, were first noticed when building gcc ports, here: https://lists.freebsd.org/pipermail/freebsd-ports/2014-September/095466.html https://lists.freebsd.org/pipermail/freebsd-toolchain/2014-September/001211.html Since this fix is very important for ports, bump __FreeBSD_version to make it easier for port maintainers to test whether the fix has been applied. Upstream PR: http://llvm.org/PR21302 MFC after: 3 days |
#
01ca58b2 |
|
05-Dec-2014 |
John Baldwin <jhb@FreeBSD.org> |
Always ignore the deprecated MAP_RENAME and MAP_NORESERVE flags to mmap(). Some old libraries may be used even with newer binaries (specifically the Nvidia driver libraries). Differential Revision: https://reviews.freebsd.org/D1262 Reviewed by: kib |
#
c2529042 |
|
01-Dec-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Start process of removing the use of the deprecated "M_FLOWID" flag from the FreeBSD network code. The flag is still kept around in the "sys/mbuf.h" header file, but does no longer have any users. Instead the "m_pkthdr.rsstype" field in the mbuf structure is now used to decide the meaning of the "m_pkthdr.flowid" field. To modify the "m_pkthdr.rsstype" field please use the existing "M_HASHTYPE_XXX" macros as defined in the "sys/mbuf.h" header file. This patch introduces new behaviour in the transmit direction. Previously network drivers checked if "M_FLOWID" was set in "m_flags" before using the "m_pkthdr.flowid" field. This check has now now been replaced by checking if "M_HASHTYPE_GET(m)" is different from "M_HASHTYPE_NONE". In the future more hashtypes will be added, for example hashtypes for hardware dedicated flows. "M_HASHTYPE_OPAQUE" indicates that the "m_pkthdr.flowid" value is valid and has no particular type. This change removes the need for an "if" statement in TCP transmit code checking for the presence of a valid flowid value. The "if" statement mentioned above is now a direct variable assignment which is then later checked by the respective network drivers like before. Additional notes: - The SCTP code changes will be committed as a separate patch. - Removal of the "M_FLOWID" flag will also be done separately. - The FreeBSD version has been bumped. MFC after: 1 month Sponsored by: Mellanox Technologies |
#
6e646651 |
|
13-Nov-2014 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove the no-at variants of the kern_xx() syscall helpers. E.g., we have both kern_open() and kern_openat(); change the callers to use kern_openat(). This removes one (sometimes two) levels of indirection and consolidates arguments checks. Reviewed by: mckusick Sponsored by: The FreeBSD Foundation MFC after: 1 week |
#
39fb5669 |
|
13-Nov-2014 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Bump FreeBSD_version for r274462 - add ppoll() system call. |
#
a8cd203a |
|
05-Nov-2014 |
Glen Barber <gjb@FreeBSD.org> |
Bump __FreeBSD_version after SA-14:23, SA-14:24, SA-14:25. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
041394f3 |
|
04-Nov-2014 |
Devin Teske <dteske@FreeBSD.org> |
Add new libraries/utilities for data throughput visualization. dpv(3): dialog progress view library dpv(1): stream data from stdin or multiple paths with dialog progress view figpar(3): configuration file parsing library Reviews: D714 Reviewed by: jelischer, shurd Discussed at: MeetBSD California 2014 Vendor/Dev Summit Discussed on: -current MFC after: 21 days X-MFC-to: stable/10 stable/9 |
#
2d6f6d63 |
|
04-Nov-2014 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
Enable vt(4) by default vt(4) is a new console driver which brings features such as: o Support for Unicode and double-width characters o Integration with the KMS kernel video drivers o Support for UEFI You may need to update your console settings in /etc/rc.conf, most probably the keymap. During boot, /etc/rc.d/syscons will indicate what you need to do. vt(4) still has issues and lacks some features compared to syscons(4). See the wiki for up-to-date information: https://wiki.freebsd.org/Newcons If you want to keep using syscons(4), you can do so by adding the following line to /boot/loader.conf: kern.vty=sc Differential Revision: https://reviews.freebsd.org/D1005 Discussed with: emaste@, nwhitehorn@, ray@ Relnotes: yes |
#
4952ad42 |
|
03-Nov-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Restore spares used in "struct tcpcb" and bump "__FreeBSD_version" to indicate need for kernel module re-compilation. Sponsored by: Mellanox Technologies |
#
f848c9aa |
|
30-Oct-2014 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump FreeBSD_version due to syscall*_register API changes in r273707 |
#
66802638 |
|
21-Oct-2014 |
Glen Barber <gjb@FreeBSD.org> |
Bump __FreeBSD_version to track SA-14:20, SA-14:21, SA-14:22, SA-14:23 Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
5817298f |
|
17-Oct-2014 |
John Baldwin <jhb@FreeBSD.org> |
Retire the unimplemented MAP_RENAME and MAP_NORESERVE flags to mmap(2). Older binaries are still permitted to use these flags. PR: 193961 (exp-run in ports) Differential Revision: https://reviews.freebsd.org/D848 Reviewed by: kib |
#
9dc641f2 |
|
11-Oct-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Bump FreeBSD_version due to cleanup of tcp wrapper header. Due to revisions r272949 and r272950 which should affect positively some ports. |
#
0ef99c70 |
|
06-Oct-2014 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version for the addition of explicit_bzero(3). |
#
10204535 |
|
17-Sep-2014 |
Konstantin Belousov <kib@FreeBSD.org> |
The vm_mmap_cdev() explicitely converts absence of both MAP_SHARED and MAP_PRIVATE flags to MAP_SHARED. Apparently, some code in tree, in particular, libgeom, relied on this behaviour, see r271721. For regular file types, the absence of the flags is interpreted as MAP_PRIVATE, and libc nlist used this (fixed in r271723). Allow the implicit flags for legacy binaries. Bump __FreeBSD_version to get the ABI note on new binaries to check for in mmap code. Remove the test for presence of one of the MAP_ANON, MAP_SHARED or MAP_PRIVATE flags before fget_mmap(). For MAP_ANON, we already verify that passed fd == -1. For fd != -1, test after fget_mmap() (for newer binaries) covers the case. Reported by: bdrewery, pho Reviewed by: jhb Sponsored by: The FreeBSD Foundation |
#
73547eea |
|
17-Sep-2014 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
drm/i915: Add HW context support This feature is required by Mesa 9.2+. Without this, a GL application crashes with the following message: # glxinfo name of display: :0.0 Gen6+ requires Kernel 3.6 or later. Assertion failed: (ctx->Version > 0), function handle_first_current, file ../../src/mesa/main/context.c, line 1498. Abort (core dumped) Now, Mesa 10.2.4 and 10.3-rc3 works fine: # glxinfo name of display: :0 display: :0 screen: 0 direct rendering: Yes ... OpenGL renderer string: Mesa DRI Intel(R) 965GM OpenGL version string: 2.1 Mesa 10.2.4 ... The code was imported from Linux 3.8.13. Reviewed by: kib@ Tested by: kwm@, danfe@, Henry Hu, Lundberg, Johannes <johannes@brilliantservice.co.jp>, Johannes Dieterich <dieterich.joh@gmail.com>, Lutz Bichler <lutz.bichler@gmail.com>, MFC after: 3 days Relnotes: yes |
#
a06acfb7 |
|
16-Sep-2014 |
Glen Barber <gjb@FreeBSD.org> |
Bump __FreeBSD_version after SA-14:19.tcp Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
1481be66 |
|
15-Sep-2014 |
Enji Cooper <ngie@FreeBSD.org> |
Bump __FreeBSD_version for the change made in r271655 PR: 181155 Sponsored by: EMC / Isilon Storage Division |
#
4f8585e0 |
|
11-Sep-2014 |
Alan Somers <asomers@FreeBSD.org> |
Revisions 264905 and 266860 added a "int fib" argument to ifa_ifwithnet and ifa_ifwithdstaddr. For the sake of backwards compatibility, the new arguments were added to new functions named ifa_ifwithnet_fib and ifa_ifwithdstaddr_fib, while the old functions became wrappers around the new ones that passed RT_ALL_FIBS for the fib argument. However, the backwards compatibility is not desired for FreeBSD 11, because there are numerous other incompatible changes to the ifnet(9) API. We therefore decided to remove it from head but leave it in place for stable/9 and stable/10. In addition, this commit adds the fib argument to ifa_ifwithbroadaddr for consistency's sake. sys/sys/param.h Increment __FreeBSD_version sys/net/if.c sys/net/if_var.h sys/net/route.c Add fibnum argument to ifa_ifwithbroadaddr, and remove the _fib versions of ifa_ifwithdstaddr, ifa_ifwithnet, and ifa_ifwithroute. sys/net/route.c sys/net/rtsock.c sys/netinet/in_pcb.c sys/netinet/ip_options.c sys/netinet/ip_output.c sys/netinet6/nd6.c Fixup calls of modified functions. share/man/man9/ifnet.9 Document changed API. CR: https://reviews.freebsd.org/D458 MFC after: Never Sponsored by: Spectra Logic |
#
a48ad765 |
|
09-Sep-2014 |
Glen Barber <gjb@FreeBSD.org> |
Bump __FreeBSD_version after SA-14:18 Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
c26544aa |
|
01-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Make SOCK_RAW sockets to be truly raw, not modifying received and sent packets at all. Swapping byte order on SOCK_RAW was actually a bug, an artifact from the BSD network stack, that used to convert a packet to native byte order once it is received by kernel. Other operating systems didn't follow this, and later other BSD descendants fixed this, leaving us alone with the bug. Now it is clear that we should fix the bug. In collaboration with: Olivier Cochard-Labbé <olivier cochard.me> See also: https://wiki.freebsd.org/SOCK_RAW Sponsored by: Nginx, Inc. |
#
f874ca3e |
|
19-Aug-2014 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Bump __FreeBSD_version after r269489 so ports can use it. |
#
e19f362e |
|
21-Jul-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Fix hdestroy() compliance issue. The hcreate(3) implementation and related functions we inherited from NetBSD used to free() the key value, something that is not supported by the standard implementation. This would cause a segmentation fault when attempting to run the examples from the opengroup and linux manpages. NetBSD has added non-standard calls to provide the previous behaviour but hdestroy is not very commonly used so at this time it seems excessive to bring those to FreeBSD. Bump the __FreeBSD_version as this is an ABI change. Reference: http://bugs.dragonflybsd.org/issues/1398 MFC after: 2 weeks |
#
ba8cd08b |
|
08-Jul-2014 |
Peter Wemm <peter@FreeBSD.org> |
Bump __FreeBSD_version after last SA-14:17.kmem so we have something to test against in the freebsd.org cluster. |
#
2f9f804d |
|
01-Jul-2014 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump __FreeBSD_version since r268115 changed the internal interfaces used between the NFS related modules, including the krpc. |
#
6e283683 |
|
30-Jun-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
regex(3): Add support for \< and \> word delimiters Solaris and other OSs have support for \< and \> as word delimiters in utilities like sed(1). These are useful to have for general compatiblity with Solaris but should be avoided for portability with other systems, including the traditional BSDs. Bump __FreeBSD_version as this is likely to affect some userland utilities. Reference: https://www.illumos.org/issues/516 PR: bin/153257 Obtained from: Illumos MFC after: 1 month |
#
af3b2549 |
|
27-Jun-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Pull in r267961 and r267973 again. Fix for issues reported will follow. |
#
37a107a4 |
|
27-Jun-2014 |
Glen Barber <gjb@FreeBSD.org> |
Revert r267961, r267973: These changes prevent sysctl(8) from returning proper output, such as: 1) no output from sysctl(8) 2) erroneously returning ENOMEM with tools like truss(1) or uname(1) truss: can not get etype: Cannot allocate memory |
#
3da1cf1e |
|
27-Jun-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Extend the meaning of the CTLFLAG_TUN flag to automatically check if there is an environment variable which shall initialize the SYSCTL during early boot. This works for all SYSCTL types both statically and dynamically created ones, except for the SYSCTL NODE type and SYSCTLs which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added to be used in the case a tunable sysctl has a custom initialisation function allowing the sysctl to still be marked as a tunable. The kernel SYSCTL API is mostly the same, with a few exceptions for some special operations like iterating childrens of a static/extern SYSCTL node. This operation should probably be made into a factored out common macro, hence some device drivers use this. The reason for changing the SYSCTL API was the need for a SYSCTL parent OID pointer and not only the SYSCTL parent OID list pointer in order to quickly generate the sysctl path. The motivation behind this patch is to avoid parameter loading cludges inside the OFED driver subsystem. Instead of adding special code to the OFED driver subsystem to post-load tunables into dynamically created sysctls, we generalize this in the kernel. Other changes: - Corrected a possibly incorrect sysctl name from "hw.cbb.intr_mask" to "hw.pcic.intr_mask". - Removed redundant TUNABLE statements throughout the kernel. - Some minor code rewrites in connection to removing not needed TUNABLE statements. - Added a missing SYSCTL_DECL(). - Wrapped two very long lines. - Avoid malloc()/free() inside sysctl string handling, in case it is called to initialize a sysctl from a tunable, hence malloc()/free() is not ready when sysctls from the sysctl dataset are registered. - Bumped FreeBSD version to indicate SYSCTL API change. MFC after: 2 weeks Sponsored by: Mellanox Technologies |
#
36716419 |
|
13-Jun-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Attach the CUSE library and kernel module to the default FreeBSD builds. Bump the FreeBSD version number. |
#
2800eb73 |
|
30-May-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Bump FreeBSD_version due to changed header for strcasecmp(3) family. In r266865, strcasecmp_l() and strncasecmp_l() were moved from <string.h> to <strings.h> for POSIX 2008 compliance. Requested by: linimon |
#
eba21a2d |
|
15-May-2014 |
Warner Losh <imp@FreeBSD.org> |
Bump FreeBSD_version for src.opts.mk changes (about a week late). |
#
804e0170 |
|
02-May-2014 |
Eitan Adler <eadler@FreeBSD.org> |
lindev(4): finish the partial commit in r265212 lindev(4) was only used to provide /dev/full which is now a standard feature of FreeBSD. /dev/full was never linux-specific and provides a generally useful feature. Document this in UPDATING and bump __FreeBSD_version. This will be documented in the PH shortly. Reported by: jkim |
#
eccee15d |
|
08-Apr-2014 |
Peter Wemm <peter@FreeBSD.org> |
Bump osreldate for tracking SA-14:06 |
#
e06e816f |
|
06-Apr-2014 |
Kevin Lo <kevlo@FreeBSD.org> |
Add support for UDP-Lite protocol (RFC 3828) to IPv4 and IPv6 stacks. Tested with vlc and a test suite [1]. [1] http://www.erg.abdn.ac.uk/~gerrit/udp-lite/files/udplite_linux.tar.gz Reviewed by: jhb, glebius, adrian |
#
8fb94880 |
|
04-Apr-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
gcc: define __block when block support is enabled This mimics the behaviour in clang and lets us build cleanly the libdispatch port on platforms where the base gcc is still the default compiler. Bump __FreeBSD_version for ports. Tested by: theraven MFC after: 3 days |
#
73279d41 |
|
22-Mar-2014 |
Andrew Turner <andrew@FreeBSD.org> |
Add a new ARM TARGET_ARCH, armv6hf. This is considered experimental. This targets the existing ARMv6 and ARMv7 SoCs that contain a VFP unit. This is an optional coprocessors may not be present in all devices, however it appears to be in all current SoCs we support. armv6hf targets the VFP variant of the ARM EABI and our copy of gcc is too old to support this. Because of this there are a number of WITH/WITHOUT options that are unsupported and must be left as the default value. The options and their required value are: * WITH_ARM_EABI * WITHOUT_GCC * WITHOUT_GNUCXX In addition, without an external toolchain, the following need to be left as their default: * WITH_CLANG * WITH_CLANG_IS_CC As there is a different method of passing float and double values to functions the ABI is incompatible with existing armv6 binaries. To use this a full rebuild of world is required. Because no floating point values are passed into the kernel an armv6 kernel with VFP enabled will work with an armv6hf userland and vice versa. |
#
44f1c916 |
|
22-Mar-2014 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Rename global cnt to vm_cnt to avoid shadowing. To reduce the diff struct pcu.cnt field was not renamed, so PCPU_OP(cnt.field) is still used. pc_cnt and pcpu are also used in kvm(3) and vmstat(8). The goal was to not affect externally used KPI. Bump __FreeBSD_version_ in case some out-of-tree module/code relies on the the global cnt variable. Exp-run revealed no ports using it directly. No objection from: arch@ Sponsored by: EMC / Isilon Storage Division |
#
6fcf98a0 |
|
16-Mar-2014 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to reflect capability.h -> capsicum.h change. MFC after: 3 weeks |
#
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. |
#
b245f96c |
|
12-Mar-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Since 32-bit if_baudrate isn't enough to describe a baud rate of a 10 Gbit interface, in the r241616 a crutch was provided. It didn't work well, and finally we decided that it is time to break ABI and simply make if_baudrate a 64-bit value. Meanwhile, the entire struct if_data was reviewed. o Remove the if_baudrate_pf crutch. o Make all fields of struct if_data fixed machine independent size. The notion of data (packet counters, etc) are by no means MD. And it is a bug that on amd64 we've got a 64-bit counters, while on i386 32-bit, which at modern speeds overflow within a second. This also removes quite a lot of COMPAT_FREEBSD32 code. o Give 16 bit for the ifi_datalen field. This field was provided to make future changes to if_data less ABI breaking. Unfortunately the 8 bit size of it had effectively limited sizeof if_data to 256 bytes. o Give 32 bits to ifi_mtu and ifi_metric. o Give 64 bits to the rest of fields, since they are counters. __FreeBSD_version bumped. Discussed with: emax Sponsored by: Netflix Sponsored by: Nginx, Inc. |
#
1eb6d263 |
|
28-Feb-2014 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after import of ncurses 5.9. |
#
f785676f |
|
16-Feb-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Upgrade our copy of llvm/clang to 3.4 release. This version supports all of the features in the current working draft of the upcoming C++ standard, provisionally named C++1y. The code generator's performance is greatly increased, and the loop auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The PowerPC backend has made several major improvements to code generation quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ backends have all seen major feature work. Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.4/docs/ReleaseNotes.html> <http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html> MFC after: 1 month
|
#
552ee0e1 |
|
14-Feb-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version after the libc++ 3.4 ABI compatibility fix in r261801. Requested by: portmgr |
#
4f7ab58e |
|
30-Jan-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Import libc++ 3.4 release. This contains a lot of bugfixes, and some preliminary support for C++1y. MFC after: 3 weeks
|
#
28691bcd |
|
25-Jan-2014 |
Kai Wang <kaiw@FreeBSD.org> |
Bump __FreeBSD_version. |
#
5156701b |
|
28-Dec-2013 |
Peter Wemm <peter@FreeBSD.org> |
Bump __FreeBSD_version for r259951 - Don't coalesce entries in vm_map_stack(). |
#
dcd1a208 |
|
15-Dec-2013 |
Benjamin Kaduk <bjk@FreeBSD.org> |
Increment __FreeBSD_version for the behavior change of gss_pseudo_random introduced in r259286. Approved by: hrs (mentor, src committer) |
#
2b7d2c21 |
|
17-Nov-2013 |
Peter Wemm <peter@FreeBSD.org> |
Bump __FreeBSD_version for iconv changes |
#
5fb009bd |
|
05-Nov-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Drop support for historic ioctls and also undefine them, so that code that checks their presence via ifdef, won't use them. Bump __FreeBSD_version as safety measure. |
#
004fc69c |
|
19-Oct-2013 |
Colin Percival <cperciva@FreeBSD.org> |
Bump __FreeBSD_version to 1100001 for addition of support for "first boot" rc.d scripts, so that ports can make use of this. |
#
eda6009c |
|
15-Oct-2013 |
Konstantin Belousov <kib@FreeBSD.org> |
Add a sysctl kern.disallow_high_osrel which disables executing the images compiled on the world with higher major version number than the high version number of the booted kernel. Default to disable. Sponsored by: The FreeBSD Foundation Discussed with: bapt MFC after: 1 week |
#
006a42a9 |
|
10-Oct-2013 |
Glen Barber <gjb@FreeBSD.org> |
Turn it all the way up to 11: - Update FreeBSD version in: - UPDATING - sys/conf/newvers.sh - Add 11.0 FreeBSD version for manual pages - Bump __FreeBSD_version to 1100000 Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
2402d976 |
|
10-Sep-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Make a bump for r255426. Approved by: re (gjb) |
#
52b42bac |
|
06-Sep-2013 |
David Chisnall <theraven@FreeBSD.org> |
On platforms where clang is the default compiler, don't build gcc or libstdc++. To enable them, set WITH_GCC and WITH_GNUCXX in src.conf. Make clang default to using libc++ on FreeBSD 10. Bumped __FreeBSD_version for the change. GCC is still enabled on PC98, because the PC98 bootloader requires GCC to build (or, at least, hard-codes the use of gcc into its build). Thanks to everyone who helped make the ports tree ready for this (and bapt for coordinating them all). Also to imp for reviewing this and working on the forward-porting of the changes in our gcc so that we're getting to a much better place with regard to external toolchains. Sorry to all of the people who helped who I forgot to mention by name. Reviewed by: bapt, imp, dim, ... |
#
0d1322f2 |
|
06-Sep-2013 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Bump __FreeBSD_version to 1000053 after cap_rights_t change. Suggested by: danfe |
#
4b1fb8ff |
|
03-Sep-2013 |
Ed Maste <emaste@FreeBSD.org> |
Connect libexecinfo to the build Sponsored by: DARPA, AFRL |
#
89cb1c66 |
|
25-Aug-2013 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
Bump __FreeBSD_version to 1000051 after Radeon KMS driver import |
#
285c5301 |
|
25-Aug-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Bump FreeBSD_version after the struct mbuf changes in r254780, r254799, r254804, r254807, and r254842. Sponsored by: The FreeBSD Foundation |
#
93729c17 |
|
23-Aug-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add support to physio(9) for devices that don't want I/O split and configure sa(4) to request no I/O splitting by default. For tape devices, the user needs to be able to clearly understand what blocksize is actually being used when writing to a tape device. The previous behavior of physio(9) was that it would split up any I/O that was too large for the device, or too large to fit into MAXPHYS. This means that if, for instance, the user wrote a 1MB block to a tape device, and MAXPHYS was 128KB, the 1MB write would be split into 8 128K chunks. This would be done without informing the user. This has suboptimal effects, especially when trying to communicate status to the user. In the event of an error writing to a tape (e.g. physical end of tape) in the middle of a 1MB block that has been split into 8 pieces, the user could have the first two 128K pieces written successfully, the third returned with an error, and the last 5 returned with 0 bytes written. If the user is using a standard write(2) system call, all he will see is the ENOSPC error. He won't have a clue how much actually got written. (With a writev(2) system call, he should be able to determine how much got written in addition to the error.) The solution is to prevent physio(9) from splitting the I/O. The new cdev flag, SI_NOSPLIT, tells physio that the driver does not want I/O to be split beforehand. Although the sa(4) driver now enables SI_NOSPLIT by default, that can be disabled by two loader tunables for now. It will not be configurable starting in FreeBSD 11.0. kern.cam.sa.allow_io_split allows the user to configure I/O splitting for all sa(4) driver instances. kern.cam.sa.%d.allow_io_split allows the user to configure I/O splitting for a specific sa(4) instance. There are also now three sa(4) driver sysctl variables that let the users see some sa(4) driver values. kern.cam.sa.%d.allow_io_split shows whether I/O splitting is turned on. kern.cam.sa.%d.maxio shows the maximum I/O size allowed by kernel configuration parameters (e.g. MAXPHYS, DFLTPHYS) and the capabilities of the controller. kern.cam.sa.%d.cpi_maxio shows the maximum I/O size supported by the controller. Note that a better long term solution would be to implement support for chaining buffers, so that that MAXPHYS is no longer a limiting factor for I/O size to tape and disk devices. At that point, the controller and the tape drive would become the limiting factors. sys/conf.h: Add a new cdev flag, SI_NOSPLIT, that allows a driver to tell physio not to split up I/O. sys/param.h: Bump __FreeBSD_version to 1000049 for the addition of the SI_NOSPLIT cdev flag. kern_physio.c: If the SI_NOSPLIT flag is set on the cdev, return any I/O that is larger than si_iosize_max or MAXPHYS, has more than one segment, or would have to be split because of misalignment with EFBIG. (File too large). In the event of an error, print a console message to give the user a clue about what happened. scsi_sa.c: Set the SI_NOSPLIT cdev flag on the devices created for the sa(4) driver by default. Add tunables to control whether we allow I/O splitting in physio(9). Explain in the comments that allowing I/O splitting will be deprecated for the sa(4) driver in FreeBSD 11.0. Add sysctl variables to display the maximum I/O size we can do (which could be further limited by read block limits) and the maximum I/O size that the controller can do. Limit our maximum I/O size (recorded in the cdev's si_iosize_max) by MAXPHYS. This isn't strictly necessary, because physio(9) will limit it to MAXPHYS, but it will provide some clarity for the application. Record the controller's maximum I/O size reported in the Path Inquiry CCB. sa.4: Document the block size behavior, and explain that the option of allowing physio(9) to split the I/O will disappear in FreeBSD 11.0. Sponsored by: Spectra Logic |
#
6be15a24 |
|
22-Aug-2013 |
Michael Tuexen <tuexen@FreeBSD.org> |
Export the inpcb features as a 64-bit entity. Bump __FreeBSD_version to 1000048 since the modified structure is user visible and used by netstat, for example. |
#
7da1a731 |
|
21-Aug-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Expand the use of stat(2) flags to allow storing some Windows/DOS and CIFS file attributes as BSD stat(2) flags. This work is intended to be compatible with ZFS, the Solaris CIFS server's interaction with ZFS, somewhat compatible with MacOS X, and of course compatible with Windows. The Windows attributes that are implemented were chosen based on the attributes that ZFS already supports. The summary of the flags is as follows: UF_SYSTEM: Command line name: "system" or "usystem" ZFS name: XAT_SYSTEM, ZFS_SYSTEM Windows: FILE_ATTRIBUTE_SYSTEM This flag means that the file is used by the operating system. FreeBSD does not enforce any special handling when this flag is set. UF_SPARSE: Command line name: "sparse" or "usparse" ZFS name: XAT_SPARSE, ZFS_SPARSE Windows: FILE_ATTRIBUTE_SPARSE_FILE This flag means that the file is sparse. Although ZFS may modify this in some situations, there is not generally any special handling for this flag. UF_OFFLINE: Command line name: "offline" or "uoffline" ZFS name: XAT_OFFLINE, ZFS_OFFLINE Windows: FILE_ATTRIBUTE_OFFLINE This flag means that the file has been moved to offline storage. FreeBSD does not have any special handling for this flag. UF_REPARSE: Command line name: "reparse" or "ureparse" ZFS name: XAT_REPARSE, ZFS_REPARSE Windows: FILE_ATTRIBUTE_REPARSE_POINT This flag means that the file is a Windows reparse point. ZFS has special handling code for reparse points, but we don't currently have the other supporting infrastructure for them. UF_HIDDEN: Command line name: "hidden" or "uhidden" ZFS name: XAT_HIDDEN, ZFS_HIDDEN Windows: FILE_ATTRIBUTE_HIDDEN This flag means that the file may be excluded from a directory listing if the application honors it. FreeBSD has no special handling for this flag. The name and bit definition for UF_HIDDEN are identical to the definition in MacOS X. UF_READONLY: Command line name: "urdonly", "rdonly", "readonly" ZFS name: XAT_READONLY, ZFS_READONLY Windows: FILE_ATTRIBUTE_READONLY This flag means that the file may not written or appended, but its attributes may be changed. ZFS currently enforces this flag, but Illumos developers have discussed disabling enforcement. The behavior of this flag is different than MacOS X. MacOS X uses UF_IMMUTABLE to represent the DOS readonly permission, but that flag has a stronger meaning than the semantics of DOS readonly permissions. UF_ARCHIVE: Command line name: "uarch", "uarchive" ZFS_NAME: XAT_ARCHIVE, ZFS_ARCHIVE Windows name: FILE_ATTRIBUTE_ARCHIVE The UF_ARCHIVED flag means that the file has changed and needs to be archived. The meaning is same as the Windows FILE_ATTRIBUTE_ARCHIVE attribute, and the ZFS XAT_ARCHIVE and ZFS_ARCHIVE attribute. msdosfs and ZFS have special handling for this flag. i.e. they will set it when the file changes. sys/param.h: Bump __FreeBSD_version to 1000047 for the addition of new stat(2) flags. chflags.1: Document the new command line flag names (e.g. "system", "hidden") available to the user. ls.1: Reference chflags(1) for a list of file flags and their meanings. strtofflags.c: Implement the mapping between the new command line flag names and new stat(2) flags. chflags.2: Document all of the new stat(2) flags, and explain the intended behavior in a little more detail. Explain how they map to Windows file attributes. Different filesystems behave differently with respect to flags, so warn the application developer to take care when using them. zfs_vnops.c: Add support for getting and setting the UF_ARCHIVE, UF_READONLY, UF_SYSTEM, UF_HIDDEN, UF_REPARSE, UF_OFFLINE, and UF_SPARSE flags. All of these flags are implemented using attributes that ZFS already supports, so the on-disk format has not changed. ZFS currently doesn't allow setting the UF_REPARSE flag, and we don't really have the other infrastructure to support reparse points. msdosfs_denode.c, msdosfs_vnops.c: Add support for getting and setting UF_HIDDEN, UF_SYSTEM and UF_READONLY in MSDOSFS. It supported SF_ARCHIVED, but this has been changed to be UF_ARCHIVE, which has the same semantics as the DOS archive attribute instead of inverse semantics like SF_ARCHIVED. After discussion with Bruce Evans, change several things in the msdosfs behavior: Use UF_READONLY to indicate whether a file is writeable instead of file permissions, but don't actually enforce it. Refuse to change attributes on the root directory, because it is special in FAT filesystems, but allow most other attribute changes on directories. Don't set the archive attribute on a directory when its modification time is updated. Windows and DOS don't set the archive attribute in that scenario, so we are now bug-for-bug compatible. smbfs_node.c, smbfs_vnops.c: Add support for UF_HIDDEN, UF_SYSTEM, UF_READONLY and UF_ARCHIVE in SMBFS. This is similar to changes that Apple has made in their version of SMBFS (as of smb-583.8, posted on opensource.apple.com), but not quite the same. We map SMB_FA_READONLY to UF_READONLY, because UF_READONLY is intended to match the semantics of the DOS readonly flag. The MacOS X code maps both UF_IMMUTABLE and SF_IMMUTABLE to SMB_FA_READONLY, but the immutable flags have stronger meaning than the DOS readonly bit. stat.h: Add definitions for UF_SYSTEM, UF_SPARSE, UF_OFFLINE, UF_REPARSE, UF_ARCHIVE, UF_READONLY and UF_HIDDEN. The definition of UF_HIDDEN is the same as the MacOS X definition. Add commented-out definitions of UF_COMPRESSED and UF_TRACKED. They are defined in MacOS X (as of 10.8.2), but we do not implement them (yet). ufs_vnops.c: Add support for getting and setting UF_ARCHIVE, UF_HIDDEN, UF_OFFLINE, UF_READONLY, UF_REPARSE, UF_SPARSE, and UF_SYSTEM in UFS. Alphabetize the flags that are supported. These new flags are only stored, UFS does not take any action if the flag is set. Sponsored by: Spectra Logic Reviewed by: bde (earlier version) |
#
ed59e602 |
|
19-Aug-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Bump __FreeBSD_version to 1000046 after the addition of M_PROTO[9-12] and removal of M_NOFREE|M_FRAG|M_FIRSTFRAG|M_LASTFRAG mbuf flags. |
#
ce625ec7 |
|
15-Aug-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Change the way that unmapped I/O capability is advertised. The previous method was to set the D_UNMAPPED_IO flag in the cdevsw for the driver. The problem with this is that in many cases (e.g. sa(4)) there may be some instances of the driver that can handle unmapped I/O and some that can't. The isp(4) driver can handle unmapped I/O, but the esp(4) driver currently cannot. The cdevsw is shared among all driver instances. So instead of setting a flag on the cdevsw, set a flag on the cdev. This allows drivers to indicate support for unmapped I/O on a per-instance basis. sys/conf.h: Remove the D_UNMAPPED_IO cdevsw flag and replace it with an SI_UNMAPPED cdev flag. kern_physio.c: Look at the cdev SI_UNMAPPED flag to determine whether or not a particular driver can handle unmapped I/O. geom_dev.c: Set the SI_UNMAPPED flag for all GEOM cdevs. Since GEOM will create a temporary mapping when needed, setting SI_UNMAPPED unconditionally will work. Remove the D_UNMAPPED_IO flag. nvme_ns.c: Set the SI_UNMAPPED flag on cdevs created here if NVME_UNMAPPED_BIO_SUPPORT is enabled. vfs_aio.c: In aio_qphysio(), check the SI_UNMAPPED flag on a cdev instead of the D_UNMAPPED_IO flag on the cdevsw. sys/param.h: Bump __FreeBSD_version to 1000045 for the switch from setting the D_UNMAPPED_IO flag in the cdevsw to setting SI_UNMAPPED in the cdev. Reviewed by: kib, jimharris MFC after: 1 week Sponsored by: Spectra Logic |
#
2c7cd478 |
|
15-Aug-2013 |
Jeremie Le Hen <jlh@FreeBSD.org> |
Belatedly bump __FreeBSD_version for libc being an ld script. This should have been done in r251668, on June 12, 2013. This will have no practical consequences, besides having -lssp_nonshared appearing twice on the command-line for systems built in this time frame. |
#
0ff204bb |
|
13-Aug-2013 |
Peter Wemm <peter@FreeBSD.org> |
The iconv in libc did two things - implement the standard APIs, the GNU extensions and also tried to be link time compatible with ports libiconv. This splits that functionality and enables the parts that shouldn't interfere with the port by default. WITH_ICONV (now on by default) - adds iconv.h, iconv_open(3) etc. WITH_LIBICONV_COMPAT (off by default) adds the libiconv_open etc API, linker symbols and even a stub libiconv.so.3 that are good enough to be able to 'pkg delete -f libiconv' on a running system and reasonably expect it to work. I have tortured many machines over the last few days to try and reduce the possibilities of foot-shooting as much as I can. I've successfully recompiled to enable and disable the libiconv_compat modes, ports that use libiconv alongside system iconv etc. If you don't enable the WITH_LIBICONV_COMPAT switch, they don't share symbol space. This is an extension of behavior on other system. iconv(3) is a standard libc interface and libiconv port expects to be able to run alongside it on systems that have it. Bumped osreldate. |
#
c7aebda8 |
|
09-Aug-2013 |
Attilio Rao <attilio@FreeBSD.org> |
The soft and hard busy mechanism rely on the vm object lock to work. Unify the 2 concept into a real, minimal, sxlock where the shared acquisition represent the soft busy and the exclusive acquisition represent the hard busy. The old VPO_WANTED mechanism becames the hard-path for this new lock and it becomes per-page rather than per-object. The vm_object lock becames an interlock for this functionality: it can be held in both read or write mode. However, if the vm_object lock is held in read mode while acquiring or releasing the busy state, the thread owner cannot make any assumption on the busy state unless it is also busying it. Also: - Add a new flag to directly shared busy pages while vm_page_alloc and vm_page_grab are being executed. This will be very helpful once these functions happen under a read object lock. - Move the swapping sleep into its own per-object flag The KPI is heavilly changed this is why the version is bumped. It is very likely that some VM ports users will need to change their own code. Sponsored by: EMC / Isilon storage division Discussed with: alc Reviewed by: jeff, kib Tested by: gavin, bapt (older version) Tested by: pho, scottl |
#
7d26db17 |
|
05-Aug-2013 |
Hiroki Sato <hrs@FreeBSD.org> |
- Use time_uptime instead of time_second in data structures for PF_INET6 in kernel. This fixes various malfunction when the wall time clock is changed. Bump __FreeBSD_version to 1000041. - Use clock_gettime(CLOCK_MONOTONIC_FAST) in userland utilities. MFC after: 1 month |
#
e0af540a |
|
24-Jul-2013 |
Rui Paulo <rpaulo@FreeBSD.org> |
Bump __FreeBSD_version for the addition of libusb's pkgconf files. |
#
b01773b0 |
|
22-Jul-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
CAM and mps(4) driver scanning changes. Add a PIM_NOSCAN flag to the CAM path inquiry CCB. This tells CAM not to perform a rescan on a bus when it is registered. We now use this flag in the mps(4) driver. Since it knows what devices it has attached, it is more efficient for it to just issue a target rescan on the targets that are attached. Also, remove the private rescan thread from the mps(4) driver in favor of the rescan thread already built into CAM. Without this change, but with the change above, the MPS scanner could run before or during CAM's initial setup, which would cause duplicate device reprobes and announcements. sys/param.h: Bump __FreeBSD_version to 1000039 for the inclusion of the PIM_RESCAN CAM path inquiry flag. sys/cam/cam_ccb.h: sys/cam/cam_xpt.c: Added a PIM_NOSCAN flag. If a SIM sets this in the path inquiry ccb, then CAM won't rescan the bus in xpt_bus_regsister. sys/dev/mps/mps_sas.c For versions of FreeBSD that have the PIM_NOSCAN path inquiry flag, don't freeze the sim queue during scanning, because CAM won't be scanning this bus. Instead, hold up the boot. Don't call mpssas_rescan_target in mpssas_startup_decrement; it's redundant and I don't know why it was in there. Set PIM_NOSCAN in path inquiry CCBs. Remove methods related to the internal rescan daemon. Always use async events to trigger a probe for EEDP support. In older versions of FreeBSD where AC_ADVINFO_CHANGED is not available, use AC_FOUND_DEVICE and issue the necessary READ CAPACITY manually. Provide a path to xpt_register_async() so that we only receive events for our own SCSI domain. Improve error reporting in cases where setup for EEDP detection fails. sys/dev/mps/mps_sas.h: Remove softc flags and data related to the scanner thread. sys/dev/mps/mps_sas_lsi.c: Unconditionally rescan the target whenever a device is added. Sponsored by: Spectra Logic MFC after: 1 week |
#
46e95f64 |
|
16-Jul-2013 |
Andrew Turner <andrew@FreeBSD.org> |
2 years, 10 months, 22 days after the projects/arm_eabi branch was created make the ARM EABI the default ABI on arm, armeb, armv6 and armv6eb. This is intended to be the default ABI from now on with the old ABI to be retired. Because of this all users are strongly suggested to upgrade to the ARM EABI. As the two ABIs are incompatible it is unlikely upgrading in place will work. Users should perform a full backup and either use an external machine to upgrade, or install to an alternative location on their media. They should also reinstall all ports or packages when these are available. The only known issues are: - pkg incorrectly detects the ABI. This is fixed upstream, and will a patch will be made to the port. - GDB can have issues with executables built with clang. __FreeBSD_version has been bumped. |
#
b40e2b6d |
|
09-Jul-2013 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Bump __FreeBSD_version to reflect changes in statistics structures. |
#
88a2437a |
|
08-Jul-2013 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add support for host-based (Kerberos 5 service principal) initiator credentials to the kernel rpc. Modify the NFSv4 client to add support for the gssname and allgssname mount options to use this capability. Requires the gssd daemon to be running with the "-h" option. Reviewed by: jhb |
#
8d1aa3c6 |
|
08-Jun-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
aio_mlock() added: - Regen for r251526. - Bump __FreeBSD_version. |
#
0921e730 |
|
03-Jun-2013 |
David Schultz <das@FreeBSD.org> |
Bump __FreeBSD_version for the addition of the following functions to libm: cacos, cacosf, cacosh, cacoshf, casin, casinf, casinh, casinhf, catan, catanf, catanh, catanhf, logl, log2l, log10l, log1pl I am hoping kargl@ will commit expl and expm1l soon, in which case this bump will cover those, too. Requested by: danfe |
#
ab76bc97 |
|
21-May-2013 |
Jung-uk Kim <jkim@FreeBSD.org> |
Connect flex 2.5.37 to the build and bump __FreeBSD_version. |
#
7c223d7d |
|
01-May-2013 |
Jilles Tjoelker <jilles@FreeBSD.org> |
Bump __FreeBSD_version for accept4() and pipe2(). |
#
2ae0d3f2 |
|
26-Apr-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Bump FreeBSD_version after glebius' changes. |
#
3cf3b9f0 |
|
18-Mar-2013 |
John Baldwin <jhb@FreeBSD.org> |
Partially revert r195702. Deferring stops is now implemented via a set of calls to toggle TDF_SBDRY rather than passing PBDRY to individual sleep calls. - Remove the stop_allowed parameters from cursig() and issignal(). issignal() checks TDF_SBDRY directly. - Remove the PBDRY and SLEEPQ_STOP_ON_BDRY flags. |
#
52a41542 |
|
12-Mar-2013 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version after r248084, breaking VM KPI to introduce read/write lockers. Sponsored by: EMC / Isilon storage division Requested by: flo |
#
23d44ab5 |
|
04-Mar-2013 |
Davide Italiano <davide@FreeBSD.org> |
- Bump __FreeBSD_version after recent callout(9) changes. - Add an entry in UPDATING to notice users about breakages. |
#
a18a7a41 |
|
12-Feb-2013 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Resolve a LOR after r246616. Protect control requests using the USB device enumeration lock. Make sure all callers of usbd_enum_lock() check the return value. Remove the control transfer specific lock. Bump the FreeBSD version number, hence external USB modules may need to be recompiled due to a USB device structure change. MFC after: 1 week |
#
3601d245 |
|
29-Jan-2013 |
Brooks Davis <brooks@FreeBSD.org> |
Bump __FreeBSD_version for cat -l (soon to be a bootstrap tool). |
#
19b9003c |
|
24-Jan-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
style(9) Reviewed by: bde |
#
32dd3b4a |
|
11-Jan-2013 |
Brooks Davis <brooks@FreeBSD.org> |
Bump __FreeBSD_version for install -N and (belatedly) nmtree. |
#
d28396ae |
|
09-Jan-2013 |
Glen Barber <gjb@FreeBSD.org> |
Update where porters handbook lives. MFC after: 3 days |
#
b91dc775 |
|
22-Nov-2012 |
Hiroki Sato <hrs@FreeBSD.org> |
Document sin6_scope_id handling change and bump FreeBSD_version to 1000025. |
#
c1e470b5 |
|
14-Nov-2012 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Allow usernames up to 32 chars PR: kern/161091 [1], misc/133926 [2] Submitted by: Stephane Lapie <darksoul@darkbsd.org> [1], Chris Dillon <cdillon@wolves.k12.mo.us> [2] Reviewed by: cognet, kib |
#
5b6478b0 |
|
05-Nov-2012 |
Brooks Davis <brooks@FreeBSD.org> |
After years of hard work by many FreeBSD and LLVM developers, make clang the default compiler on i386 and amd64 systems. Special thanks to: dim, ed, rdivacky |
#
d30d96ea |
|
05-Nov-2012 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add a jitter buffer in the common USB serial driver code which temporarily stores characters if the TTY buffer is full when used a as a console. This can happen when a console is suspended. Also properly do the flow stop signalling when this happens and flow start when the condition changes back to normal again. Bump __FreeBSD_version to force external kernel modules to be recompiled. No kernel API changes. MFC after: 1 week Suggested by: ed @ |
#
8f134647 |
|
22-Oct-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Switch the entire IPv4 stack to keep the IP packet header in network byte order. Any host byte order processing is done in local variables and host byte order values are never[1] written to a packet. After this change a packet processed by the stack isn't modified at all[2] except for TTL. After this change a network stack hacker doesn't need to scratch his head trying to figure out what is the byte order at the given place in the stack. [1] One exception still remains. The raw sockets convert host byte order before pass a packet to an application. Probably this would remain for ages for compatibility. [2] The ip_input() still subtructs header len from ip->ip_len, but this is planned to be fixed soon. Reviewed by: luigi, Maxim Dounin <mdounin mdounin.ru> Tested by: ray, Olivier Cochard-Labbe <olivier cochard.me> |
#
8859ec84 |
|
22-Oct-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version and make a note in UPDATING about removal of the support for non-MPSAFE filesystems. |
#
42a58907 |
|
16-Oct-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Make the "struct if_clone" opaque to users of the cloning API. Users now use function calls: if_clone_simple() if_clone_advanced() to initialize a cloner, instead of macros that initialize if_clone structure. Discussed with: brooks, bz, 1 year ago |
#
21d172a3 |
|
06-Oct-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
A step in resolving mess with byte ordering for AF_INET. After this change: - All packets in NETISR_IP queue are in net byte order. - ip_input() is entered in net byte order and converts packet to host byte order right _after_ processing pfil(9) hooks. - ip_output() is entered in host byte order and converts packet to net byte order right _before_ processing pfil(9) hooks. - ip_fragment() accepts and emits packet in net byte order. - ip_forward(), ip_mloopback() use host byte order (untouched actually). - ip_fastforward() no longer modifies packet at all (except ip_ttl). - Swapping of byte order there and back removed from the following modules: pf(4), ipfw(4), enc(4), if_bridge(4). - Swapping of byte order added to ipfilter(4), based on __FreeBSD_version - __FreeBSD_version bumped. - pfil(9) manual page updated. Reviewed by: ray, luigi, eri, melifaro Tested by: glebius (LE), ray (BE) |
#
45a1f1e1 |
|
22-Sep-2012 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add rounddown2() macro similar to the roundup2() macro. |
#
5b5d7684 |
|
13-Sep-2012 |
Ed Schouten <ed@FreeBSD.org> |
Rename __member2struct() to __containerof(). Compared to __member2struct(), this macro has the following advantages: - It ensures that the type of the pointer is compatible with the member field of the structure (or a void pointer). - It works properly in combination with volatile and const, though unfortunately it drops these qualifiers from the returned value. mdf@ proposed to add the container_of() macro, just like Linux has. Eventually I decided against this, as <sys/param.h> is included all over the place. It seems container_of() on Linux is specific to the kernel, not userspace. I'd rather not pollute userspace with this. I also thought about adding __container_of(), but this would have two advantages. Xorg seems to already have a __container_of(), which is not compatible with this version. Also, the underscore in the middle conflicts with our existing macros (__offsetof, __rangeof, etc). I'm changing member2struct() to use its old code, as the extra strictness of this new macro conflicts with existing code (read: cxgb). MFC after: 1 month |
#
4170b083 |
|
12-Sep-2012 |
Ed Schouten <ed@FreeBSD.org> |
Implement LIST_PREV(). Regular LISTs have been implemented in such a way that the prev-pointer does not point to the previous element, but to the next-pointer stored in the previous element. This is done to simplify LIST_REMOVE(). This macro can be implemented without knowing the address of the list head. Unfortunately this makes it harder to implement LIST_PREV(), which is why this macro was never here. Still, it is possible to implement this macro. If the prev-pointer points to the list head, we return NULL. Otherwise we simply subtract the offset of the prev-pointer within the structure. It's not as efficient as traversing forward of course, but in practice it shouldn't be that bad. In almost all use cases, people will want to compare the value returned by LIST_PREV() against NULL, so an optimizing compiler will not emit code that does more branching than TAILQs. While there, make the code a bit more readable by introducing __member2struct(). This makes STAILQ_LAST() far more readable. MFC after: 1 month |
#
d6d3f01e |
|
08-Sep-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge the projects/pf/head branch, that was worked on for last six months, into head. The most significant achievements in the new code: o Fine grained locking, thus much better performance. o Fixes to many problems in pf, that were specific to FreeBSD port. New code doesn't have that many ifdefs and much less OpenBSDisms, thus is more attractive to our developers. Those interested in details, can browse through SVN log of the projects/pf/head branch. And for reference, here is exact list of revisions merged: r232043, r232044, r232062, r232148, r232149, r232150, r232298, r232330, r232332, r232340, r232386, r232390, r232391, r232605, r232655, r232656, r232661, r232662, r232663, r232664, r232673, r232691, r233309, r233782, r233829, r233830, r233834, r233835, r233836, r233865, r233866, r233868, r233873, r234056, r234096, r234100, r234108, r234175, r234187, r234223, r234271, r234272, r234282, r234307, r234309, r234382, r234384, r234456, r234486, r234606, r234640, r234641, r234642, r234644, r234651, r235505, r235506, r235535, r235605, r235606, r235826, r235991, r235993, r236168, r236173, r236179, r236180, r236181, r236186, r236223, r236227, r236230, r236252, r236254, r236298, r236299, r236300, r236301, r236397, r236398, r236399, r236499, r236512, r236513, r236525, r236526, r236545, r236548, r236553, r236554, r236556, r236557, r236561, r236570, r236630, r236672, r236673, r236679, r236706, r236710, r236718, r237154, r237155, r237169, r237314, r237363, r237364, r237368, r237369, r237376, r237440, r237442, r237751, r237783, r237784, r237785, r237788, r237791, r238421, r238522, r238523, r238524, r238525, r239173, r239186, r239644, r239652, r239661, r239773, r240125, r240130, r240131, r240136, r240186, r240196, r240212. I'd like to thank people who participated in early testing: Tested by: Florian Smeets <flo freebsd.org> Tested by: Chekaluk Vitaly <artemrts ukr.net> Tested by: Ben Wilber <ben desync.com> Tested by: Ian FREISLICH <ianf cloudseed.co.za> |
#
a5cf1aaa |
|
12-Aug-2012 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for the so-called streams feature of BULK endpoints in SUPER-speed mode, USB 3.0. This feature has not been tested yet, due to lack of hardware. This feature is useful when implementing protocols like UASP, USB attached SCSI which promises higher USB mass storage throughput. This patch also implements support for hardware processing of endpoints for increased performance. The switching to hardware processing of an endpoint is done via a callback to the USB controller driver. The stream feature is implemented like a variant of a hardware USB protocol. USB controller drivers implementing device mode needs to be updated to implement the new "xfer_stall" USB controller method and remove the "xfer" argument from the "set_stall" method. The API's toward existing USB drivers are preserved. To setup a USB transfer in stream mode, set the "stream_id" field of the USB config structure to the desired value. The maximum number of BULK streams is currently hardcoded and limited to 8 via a define in usb_freebsd.h. All USB drivers should be re-compiled after this change. LibUSB will be updated next week to support streams mode. A new IOCTL to setup BULK streams as already been implemented. The ugen device nodes currently only supports stream ID zero. The FreeBSD version has been bumped. MFC after: 2 weeks |
#
8f42c748 |
|
10-Aug-2012 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Switch unit management in UCOM to unrhdr. Extend the callback table of UCOM to include a "ucom_free" function pointer which is called when all refs on a UCOM super structure is gone. Implement various helper functions to handle refcounting and draining on the UCOM super structure. Implement macro which can be used in device drivers to avoid module unload before all pending TTY references are gone. The UCOM API is backwards compatible after this change and device drivers require no changes to function with this change. Only a recompilation of UCOM device drivers is required. The FreeBSD version has been bumped in that regard. Discussed with: kib, ed MFC after: 2 weeks |
#
1f13597d |
|
12-Jul-2012 |
Jung-uk Kim <jkim@FreeBSD.org> |
Merge OpenSSL 1.0.1c. Approved by: benl (maintainer)
|
#
f4ae3eee |
|
27-Jun-2012 |
Gabor Kovesdan <gabor@FreeBSD.org> |
- Bump __FreeBSD_version: default sort is BSD sort |
#
cbb00030 |
|
02-Jun-2012 |
Marius Strobl <marius@FreeBSD.org> |
Add nitems(), a macro for determining the number of elements in a statically-allocated array. Obtained from: OpenBSD (in principle) MFC after: 3 days |
#
5bfe3851 |
|
22-May-2012 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Bump __FreeBSD_version for the byacc import, and update _bootstrap_tools. |
#
78a53508 |
|
02-May-2012 |
Jason Evans <jasone@FreeBSD.org> |
Bump __FreeBSD_version due to jemalloc import. |
#
6c63ec07 |
|
16-Apr-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version due to the import of a new clang 3.1 prerelease snapshot. |
#
87d94367 |
|
01-Apr-2012 |
David Chisnall <theraven@FreeBSD.org> |
Bump __FreeBSD_version for xlocale cleanup, as requested by ports people. Approved by: dim (mentor) |
#
34b95dbb |
|
25-Feb-2012 |
Martin Matuska <mm@FreeBSD.org> |
Bump __FreeBSD_version due to libarchive update. |
#
6d076ae8 |
|
10-Feb-2012 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Introduce a new NET_RT_IFLISTL API to query the address list. It works on extended and extensible structs if_msghdrl and ifa_msghdrl. This will allow us to extend both the msghdrl structs and eventually if_data in the future without breaking the ABI. Bump __FreeBSD_version to allow ports to more easily detect the new API. Reviewed by: glebius, brooks MFC after: 3 days |
#
9077f387 |
|
05-Feb-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add new socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT, that allow to control initial timeout, idle time, idle re-send interval and idle send count on a per-socket basis. Reviewed by: andre, bz, lstewart |
#
e6bd5983 |
|
26-Jan-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add CAM infrastructure to allow reporting when a drive's long read capacity data changes. cam_ccb.h: Add a new advanced information type, CDAI_TYPE_RCAPLONG, for long read capacity data. cam_xpt_internal.h: Add a read capacity data pointer and length to struct cam_ed. cam_xpt.c: Free the read capacity buffer when a device goes away. While we're here, make sure we don't leak memory for other malloced fields in struct cam_ed. scsi_all.c: Update the scsi_read_capacity_16() to take a uint8_t * and a length instead of just a pointer to the parameter data structure. This will hopefully make this function somewhat immune to future changes in the parameter data. scsi_all.h: Add some extra bit definitions to struct scsi_read_capacity_data_long, and bump up the structure size to the full size specified by SBC-3. Change the prototype for scsi_read_capacity_16(). scsi_da.c: Register changes in read capacity data with the transport layer. This allows the transport layer to send out an async notification to interested parties. Update the dasetgeom() API. Use scsi_extract_sense_len() instead of scsi_extract_sense(). scsi_xpt.c: Add support for the new CDAI_TYPE_RCAPLONG advanced information type. Make sure we set the physpath pointer to NULL after freeing it. This allows blindly freeing it in the struct cam_ed destructor. sys/param.h: Bump __FreeBSD_version from 1000005 to 1000006 to make it easier for third party drivers to determine that the read capacity data async notification is available. camcontrol.c, mptutil/mpt_cam.c: Update these for the new scsi_read_capacity_16() argument structure. Sponsored by: Spectra Logic |
#
56cf9dc1 |
|
16-Jan-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Drop support for SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR, SIOCSIFDSTADDR ioctl commands. PR: 163524 Reviewed by: net |
#
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. |
#
08b68b0e |
|
15-Dec-2011 |
Gleb Smirnoff <glebius@FreeBSD.org> |
A major overhaul of the CARP implementation. The ip_carp.c was started from scratch, copying needed functionality from the old implemenation on demand, with a thorough review of all code. The main change is that interface layer has been removed from the CARP. Now redundant addresses are configured exactly on the interfaces, they run on. The CARP configuration itself is, as before, configured and read via SIOCSVH/SIOCGVH ioctls. A new prefix created with SIOCAIFADDR or SIOCAIFADDR_IN6 may now be configured to a particular virtual host id, which makes the prefix redundant. ifconfig(8) semantics has been changed too: now one doesn't need to clone carpXX interface, he/she should directly configure a vhid on a Ethernet interface. To supply vhid data from the kernel to an application the getifaddrs(8) function had been changed to pass ifam_data with each address. [1] The new implementation definitely closes all PRs related to carp(4) being an interface, and may close several others. It also allows to run a single redundant IP per interface. Big thanks to Bjoern Zeeb for his help with inet6 part of patch, for idea on using ifam_data and for several rounds of reviewing! PR: kern/117000, kern/126945, kern/126714, kern/120130, kern/117448 Reviewed by: bz Submitted by: bz [1] |
#
108cd494 |
|
12-Dec-2011 |
Matthew D Fleming <mdf@FreeBSD.org> |
- Define true and false in sys/types.h for _KERNEL consumers, and typedef bool. Due to macro expansion it seemed better to use a typedef for kernel consumers (specifically ofed won't compile without more changes if a define is used). - <stdbool.h> should also not re-define bool/true/false if they are defined by <sys/types.h>. It would probably be a programming error to define _KERNEL for user-space code, but downstream consumers like Isilon have already been including <stdbool.h> in kernel sources, and this protects that usage. - sizeof(_Bool) is not necessarily the same as sizeof(int), so kernel modules should be rebuild with this change. Bump __FreeBSD_version. MFC after: 2 weeks Sponsored by: Isilon Systems, LLC |
#
8326714b |
|
22-Nov-2011 |
Robert Millan <rmh@FreeBSD.org> |
Define __FreeBSD_kernel__ macro in sys/param.h. __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, which by definition is always true on FreeBSD. This macro is also defined on other systems that use the kernel of FreeBSD, such as GNU/kFreeBSD. It is tempting to use this macro in userland code when we want to enable kernel-specific routines, and in fact it's fine to do this in code that is part of FreeBSD itself. However, be aware that as presence of this macro is still not widespread (e.g. older FreeBSD versions, 3rd party compilers, etc), it is STRONGLY DISCOURAGED to check for this macro in external applications without also checking for __FreeBSD__ as an alternative. Approved by: kib (mentor) MFC after: 2 weeks |
#
dfdda192 |
|
18-Nov-2011 |
Konstantin Belousov <kib@FreeBSD.org> |
Use the alternate form of the gcc extension that works even with -ansi -pedantic without issuing a warning, and which is recommended by gcc manual. MFC after: 1 week |
#
936c09ac |
|
03-Nov-2011 |
John Baldwin <jhb@FreeBSD.org> |
Add the posix_fadvise(2) system call. It is somewhat similar to madvise(2) except that it operates on a file descriptor instead of a memory region. It is currently only supported on regular files. Just as with madvise(2), the advice given to posix_fadvise(2) can be divided into two types. The first type provide hints about data access patterns and are used in the file read and write routines to modify the I/O flags passed down to VOP_READ() and VOP_WRITE(). These modes are thus filesystem independent. Note that to ease implementation (and since this API is only advisory anyway), only a single non-normal range is allowed per file descriptor. The second type of hints are used to hint to the OS that data will or will not be used. These hints are implemented via a new VOP_ADVISE(). A default implementation is provided which does nothing for the WILLNEED request and attempts to move any clean pages to the cache page queue for the DONTNEED request. This latter case required two other changes. First, a new V_CLEANONLY flag was added to vinvalbuf(). This requests vinvalbuf() to only flush clean buffers for the vnode from the buffer cache and to not remove any backing pages from the vnode. This is used to ensure clean pages are not wired into the buffer cache before attempting to move them to the cache page queue. The second change adds a new vm_object_page_cache() method. This method is somewhat similar to vm_object_page_remove() except that instead of freeing each page in the specified range, it attempts to move clean pages to the cache queue if possible. To preserve the ABI of struct file, the f_cdevpriv pointer is now reused in a union to point to the currently active advice region if one is present for regular files. Reviewed by: jilles, kib, arch@ Approved by: re (kib) MFC after: 1 month |
#
8e9a54ee |
|
01-Oct-2011 |
Konstantin Belousov <kib@FreeBSD.org> |
The sigwait(3) function shall not return EINTR, according to the POSIX/SUSvN. The sigwait(2) syscall does return EINTR, and libc.so.7 contains the wrapper sigwait(3) which hides EINTR from callers. The EINTR return is used by libthr to handle required cancellation point in the sigwait(3). To help the binaries linked against pre-libc.so.7, i.e. RELENG_6 and earlier, to have right ABI for sigwait(3), transform EINTR return from sigwait(2) into ERESTART. Discussed with: davidxu MFC after: 1 week |
#
8a3b6cc1 |
|
25-Sep-2011 |
Ken Smith <kensmith@FreeBSD.org> |
Shift head from 9.0-CURRENT to 10.0-CURRENT in preparation for releasing it from the 9.0-RELEASE release cycle code freeze. Approved by: re (implicit) |
#
3f37fb62 |
|
10-Sep-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Refactor auto-quirk solution so that we break as few external drivers as possible. PR: usb/160299 Approved by: re (kib) Suggested by: rwatson MFC after: 0 days |
#
d46dc4ad |
|
02-Sep-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
This patch adds automatic detection of USB mass storage devices which does not support the no synchronize cache SCSI command. The __FreeBSD_version version macro has been bumped and external kernel modules needs to be recompiled after this patch. Approved by: re (kib) MFC after: 1 week PR: usb/160299 |
#
7596eb48 |
|
28-Aug-2011 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump shared libraries version numbers in preparation for 9.0. This time, only libraries which ABI has been changed compared to stable/8, are bumped. ABI analysis done by: Gleb Kurtsou Approved by: re (kensmith) |
#
3ff02b4a |
|
13-Aug-2011 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to reflect the availability of capabilities, but also capability-related changes to fget(9). This is likely not part of a formal KPI, but the nvidia driver (at least) uses it. Approved by: re (bz, kib) |
#
786ef92b |
|
19-Jul-2011 |
Attilio Rao <attilio@FreeBSD.org> |
Bump MAXCPU for amd64, ia64 and XLP mips appropriately. From now on, default values for FreeBSD will be 64 maxiumum supported CPUs on amd64 and ia64 and 128 for XLP. All the other architectures seem already capped appropriately (with the exception of sparc64 which needs further support on jalapeno flavour). Bump __FreeBSD_version in order to reflect KBI/KPI brekage introduced during the infrastructure cleanup for supporting MAXCPU > 32. This covers cpumask_t retiral too. The switch is considered completed at the present time, so for whatever bug you may experience that is reconducible to that area, please report immediately. Requested by: marcel, jchandra Tested by: pluknet, sbruno Approved by: re (kib) |
#
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
|
#
5f301949 |
|
18-Jun-2011 |
Ben Laurie <benl@FreeBSD.org> |
Fix clang warnings. Approved by: philip (mentor) |
#
694a586a |
|
21-May-2011 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add a lock flags argument to the VFS_FHTOVP() file system method, so that callers can indicate the minimum vnode locking requirement. This will allow some file systems to choose to return a LK_SHARED locked vnode when LK_SHARED is specified for the flags argument. This patch only adds the flag. It does not change any file system to use it and all callers specify LK_EXCLUSIVE, so file system semantics are not changed. Reviewed by: kib |
#
3e00bad1 |
|
13-May-2011 |
Stanislav Sedov <stas@FreeBSD.org> |
- Bump __FreeBSD_version to note the revision when libprocstat(3) and fuser(1) have been added to the tree. |
#
66f3a31f |
|
18-Apr-2011 |
Dimitry Andric <dim@FreeBSD.org> |
After removing libobjc and other Objective-C components in r220755, belatedly bump __FreeBSD_version, and add a note to UPDATING. Reminded by: rdivacky |
#
5377a726 |
|
29-Mar-2011 |
Martin Matuska <mm@FreeBSD.org> |
Upgrade of base gcc and libstdc++ to the last GPLv2-licensed revision (rev. 127959 of gcc-4_2-branch). Resolved GCC bugs: c++: 17763, 29365, 30535, 30917, 31337, 31941, 32108, 32112, 32346, 32898, 32992 debug: 32610, 32914 libstdc++: 33084, 33128 middle-end: 32563 rtl-optimization: 33148 tree-optimization: 25413, 32723 target: 32218 Tested by: pointyhat (miwi) Obtained from: gcc (gcc-4_2-branch up to rev. 127959) PR: gnu/153298, gnu/153959, gnu/154385 MFC after: 1 month
|
#
e3b36f9b |
|
08-Mar-2011 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Bump __FreeBSD_version for struct sysvec (sv_schedtail) changes. |
#
ce8fb931 |
|
18-Feb-2011 |
Dimitry Andric <dim@FreeBSD.org> |
Merge binutils 2.17.50 to head. This brings a number of improvements to x86 CPU support, better support for powerpc64, some new directives, and many other things. Bump __FreeBSD_version, and add a note to UPDATING. Thanks to the many people that have helped to test this. Obtained from: projects/binutils-2.17
|
#
13434232 |
|
07-Feb-2011 |
Matthew D Fleming <mdf@FreeBSD.org> |
Remove the uio_yield prototype and symbol. This function has been misnamed since it was introduced and should not be globally exposed with this name. The equivalent functionality is now available using kern_yield(curthread->td_user_pri). The function remains undocumented. Bump __FreeBSD_version. |
#
678b238c |
|
07-Feb-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Introduce a non-portable function pthread_getthreadid_np(3) to retrieve calling thread's unique integral ID, which is similar to AIX function of the same name. Bump __FreeBSD_version to note its introduction. Reviewed by: kib |
#
4c8945a0 |
|
12-Jan-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Update dialog to version 20100428. This changes the license under which dialog is distributed from GPLv2 to LGPLv2 and introduces a number of new features and a new and better libdialog API. The existing libdialog will be kept temporarily as libodialog for compatibility purposes until sade, sysinstall and tzsetup have been either updated or replaced. __FreeBSD_version is now 900030. Discussed on: -current Approved by: core Obtained from: http://invisible-island.net/dialog |
#
39bc9de5 |
|
27-Dec-2010 |
Lawrence Stewart <lstewart@FreeBSD.org> |
- Add some helper hook points to the TCP stack. The hooks allow Khelp modules to access inbound/outbound events and associated data for established TCP connections. The hooks only run if at least one hook function is registered for the hook point, ensuring the impact on the stack is effectively nil when no TCP Khelp modules are loaded. struct tcp_hhook_data is passed as contextual data to any registered Khelp module hook functions. - Add an OSD (Object Specific Data) pointer to struct tcpcb to allow Khelp modules to associate per-connection data with the TCP control block. - Bump __FreeBSD_version and add a note to UPDATING regarding to ABI changes introduced by this commit and r216753. 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 |
#
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 |
#
1863d408 |
|
05-Dec-2010 |
David Schultz <das@FreeBSD.org> |
Bump __FreeBSD_version for the addition of log2(). This is mainly for the benefit of ports such as opencity and inkscape that have workarounds for the lack of a log2() in the base system. |
#
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. |
#
7022f954 |
|
14-Nov-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Do not use __FreeBSD_version prefix for the special osrel version. The ports/Mk/bsd.port.mk uses sys/param.h to fetch osrel, and cannot grok several constants with the prefix. Reported and tested by: swell.k gmail com MFC after: 1 week |
#
94bce453 |
|
14-Nov-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Use symbolic names instead of hardcoding values for magic p_osrel constants. MFC after: 1 week |
#
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 |
#
39cd938c |
|
11-Nov-2010 |
Ed Schouten <ed@FreeBSD.org> |
Replace libgcc.a by libcompiler_rt.a. libcompiler_rt.a is a BSD licensed C language runtime, which implements many routines which are linked into binaries on architectures where certain functionality is missing (e.g. 64 bits mul/div on i386). Unfortunately, libcompiler_rt cannot replace libgcc entirely. Certain features, such as an unwinder for exception handling, are missing. That's why only libgcc.a is replaced for now, because this one does seem to be complete. Tested by: rene (amd64), nwhitehorn (powerpc), droso (i386 exprun) and many others. Thanks! Obtained from: user/ed/compiler-rt |
#
e0f0e66d |
|
11-Oct-2010 |
Martin Matuska <mm@FreeBSD.org> |
Upgrade xz to git snapshot as of 20101010 Approved by: delphij (mentor) MFC after: 1 month
|
#
946cdff5 |
|
03-Oct-2010 |
Gordon Tetlow <gordon@FreeBSD.org> |
Bump __FreeBSD_version for switch from GNU man to BSDL man. Approved by: wes (mentor) |
#
8f7f5a7f |
|
21-Sep-2010 |
Alan Cox <alc@FreeBSD.org> |
Fix exec_imgact_shell()'s handling of two error cases: (1) Previously, if the first line of a script exceeded MAXSHELLCMDLEN characters, then exec_imgact_shell() silently truncated the line and passed on the truncated interpreter name or argument. Now, exec_imgact_shell() will fail and return ENOEXEC, which is the commonly used errno among Unix variants for this type of error. (2) Previously, exec_imgact_shell()'s check on the length of the interpreter's name was ineffective. In other words, exec_imgact_shell() could not possibly fail and return ENAMETOOLONG. The reason being that the length of the interpreter name had to exceed MAXSHELLCMDLEN characters in order that ENAMETOOLONG be returned. But, the search for the end of the interpreter name stops after at most MAXSHELLCMDLEN - 2 characters are scanned. (In the end, this particular error is eventually discovered outside of exec_imgact_shell() and ENAMETOOLONG is returned. So, the real effect of this second change is that the error is detected earlier, in exec_imgact_shell().) Update the definition of MAXINTERP to the actual limit on the size of the interpreter name that has been in effect since r142453 (from 2005). In collaboration with: kib |
#
ec88dcae |
|
13-Sep-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Bump __FreeBSD_version to reflect the userland DTrace changes. Sponsored by: The FreeBSD Foundation |
#
40438ef7 |
|
09-Sep-2010 |
Matthew D Fleming <mdf@FreeBSD.org> |
Bump __FreeBSD_version for sbuf ABI change. |
#
74ffb9af |
|
28-Aug-2010 |
Alan Cox <alc@FreeBSD.org> |
Add the MAP_PREFAULT_READ option to mmap(2). Reviewed by: jhb, kib |
#
3586381d |
|
24-Aug-2010 |
David Xu <davidxu@FreeBSD.org> |
Bump __FreeBSD_version for revision 211732. Noticed by: thompa |
#
6608cc57 |
|
23-Aug-2010 |
Gabor Kovesdan <gabor@FreeBSD.org> |
- Change default grep back to GNU version. BSD grep can be built with the WITH_BSD_GREP knob. - Bump __FreeBSD_version Requested by: dougb Approved by: delphij (mentor) |
#
7472b122 |
|
28-Jul-2010 |
Matthew D Fleming <mdf@FreeBSD.org> |
Bump __FreeBSD_version for multizone malloc(9). Approved by: zml (mentor) |
#
ade43637 |
|
22-Jul-2010 |
Gabor Kovesdan <gabor@FreeBSD.org> |
- Bump __FreeBSD_version for BSD grep import Approved by: delphij (mentor) |
#
3dad4f3a |
|
13-Jul-2010 |
Ed Schouten <ed@FreeBSD.org> |
UT_NAMESIZE is no more. |
#
ef7186a0 |
|
10-Jun-2010 |
Ed Schouten <ed@FreeBSD.org> |
Bump __FreeBSD_version to indicate the addition of Clang to HEAD. |
#
eedfc35c |
|
24-May-2010 |
Wojciech A. Koszek <wkoszek@FreeBSD.org> |
Bring USB fixes for linux(4). Intention of this commit is to let us take a full advantage of libusb(8) ported to Linux. This decreases a possibility of getting any collisions within ioctl() "command" space, especially with relation to LINUX_SNDCTL_SEQ... stuff. Basically, we provide commands, that will be mapped in the kernel to correct ones and forward those to the USB layer. Port enabling functionality brought with this patch is here: http://www.freebsd.org/cgi/query-pr.cgi?pr=146895 Bump __FreeBSD_version to catch, since which version installing a port makes sense. This patch should bring no regressions. So far, only i386 is tested. Tested by: thompsa@ Reviewed by: thompsa@ OKed by: netchild@ |
#
81ad8388 |
|
10-May-2010 |
Martin Matuska <mm@FreeBSD.org> |
Import of liblzma, xz, xzdec, lzmainfo from vendor branch Add support for xz and lzma to lesspipe.sh (xzless, lzless) Bump __FreeBSD_version Approved by: delphij (mentor) MFC after: 2 weeks
|
#
2965a453 |
|
29-Apr-2010 |
Kip Macy <kmacy@FreeBSD.org> |
On Alan's advice, rather than do a wholesale conversion on a single architecture from page queue lock to a hashed array of page locks (based on a patch by Jeff Roberson), I've implemented page lock support in the MI code and have only moved vm_page's hold_count out from under page queue mutex to page lock. This changes pmap_extract_and_hold on all pmaps. Supported by: Bitgravity Inc. Discussed with: alc, jeffr, and kib |
#
798aea00 |
|
22-Mar-2010 |
Xin LI <delphij@FreeBSD.org> |
Update to zlib 1.2.4 and add versioned symbols to the library. Sponsored by: iXsystems, Inc. |
#
215940b3 |
|
26-Jan-2010 |
Xin LI <delphij@FreeBSD.org> |
Revised revision 199201 (add interface description capability as inspired by OpenBSD), based on comments from many, including rwatson, jhb, brooks and others. Sponsored by: iXsystems, Inc. MFC after: 1 month |
#
b485a595 |
|
20-Jan-2010 |
Gabor Kovesdan <gabor@FreeBSD.org> |
- Bump __FreeBSD_version for BSDL bc/dc import to deprecate GNU bc/dc Approved by: delphij |
#
279d8efe |
|
13-Jan-2010 |
Ed Schouten <ed@FreeBSD.org> |
Complete the migration towards utmpx. - Add a notice to UPDATING, explaining users may need to recompile applications that use the old database. - Bump __FreeBSD_version. |
#
181d0b5d |
|
04-Jan-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for scandir(3) and alphasort(3) prototype changes. |
#
2028867d |
|
12-Dec-2009 |
Attilio Rao <attilio@FreeBSD.org> |
In current code, threads performing an interruptible sleep (on both sxlock, via the sx_{s, x}lock_sig() interface, or plain lockmgr), will leave the waiters flag on forcing the owner to do a wakeup even when if the waiter queue is empty. That operation may lead to a deadlock in the case of doing a fake wakeup on the "preferred" (based on the wakeup algorithm) queue while the other queue has real waiters on it, because nobody is going to wakeup the 2nd queue waiters and they will sleep indefinitively. A similar bug, is present, for lockmgr in the case the waiters are sleeping with LK_SLEEPFAIL on. In this case, even if the waiters queue is not empty, the waiters won't progress after being awake but they will just fail, still not taking care of the 2nd queue waiters (as instead the lock owned doing the wakeup would expect). In order to fix this bug in a cheap way (without adding too much locking and complicating too much the semantic) add a sleepqueue interface which does report the actual number of waiters on a specified queue of a waitchannel (sleepq_sleepcnt()) and use it in order to determine if the exclusive waiters (or shared waiters) are actually present on the lockmgr (or sx) before to give them precedence in the wakeup algorithm. This fix alone, however doesn't solve the LK_SLEEPFAIL bug. In order to cope with it, add the tracking of how many exclusive LK_SLEEPFAIL waiters a lockmgr has and if all the waiters on the exclusive waiters queue are LK_SLEEPFAIL just wake both queues. The sleepq_sleepcnt() introduction and ABI breakage require __FreeBSD_version bumping. Reported by: avg, kib, pho Reviewed by: kib Tested by: pho |
#
04b0c5bb |
|
06-Dec-2009 |
Ed Schouten <ed@FreeBSD.org> |
Add a libutempter compatibility interface to libulog. The ulog_login_pseudo(3) and ulog_logout_pseudo(3) interfaces provide a functionality identical to what libutempter has to offer. Just transform libutempter's calls into the before mentioned functions. libutempter doesn't work with utmpx, so instead of fixing I thought the easiest way would be to integrate this functionality. libutempter is used by applications like xterm and the KDE libraries, so if I ever change the underlying file format, these applications will keep working automatically. Also increase __FreeBSD_version to indicate the addition (as well as the import of libulog). |
#
4cbf3715 |
|
02-Dec-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for sigpause(3) addition [1] and PIE support in csu. Requested by: fluffy [1] |
#
a78fb6f9 |
|
23-Nov-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Don't make MJUMPAGESIZE equal to PAGE_SIZE unconditionally. When PAGE_SIZE is 16K, MJUMPAGESIZE equals MJUM16BYTES and causes build breakages. For PAGE_SIZE < 2K, define MJUMPAGESIZE as MCLBYTES. For PAGE_SIZE > 8K, define MJUMPAGESIZE as 8K. Everywhere inbetween, define MJUMPAGESIZE as PAGE_SIZE. Thus MCLBYTES <= MJUMPAGESIZE <= 8KB. |
#
1a9d4dda |
|
12-Nov-2009 |
Xin LI <delphij@FreeBSD.org> |
Revert revision 199201 for now as it has introduced a kernel vulnerability and requires more polishing. |
#
41c8c6e8 |
|
11-Nov-2009 |
Xin LI <delphij@FreeBSD.org> |
Add interface description capability as inspired by OpenBSD. MFC after: 3 months |
#
50989f36 |
|
22-Sep-2009 |
Stanislav Sedov <stas@FreeBSD.org> |
- Bump __FreeBSD_version to reflect the point when EVFILT_USER kevent filter has been implemented. |
#
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 |
#
a254d1f1 |
|
08-Sep-2009 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating an architecture specific include file containing the _ALIGN* stuff which <sys/socket.h> needs. |
#
cf48cc9f |
|
22-Aug-2009 |
Ken Smith <kensmith@FreeBSD.org> |
Make head 9.0-CURRENT in preparation for lifting code freeze. Approved by: re (implicit) |
#
444b9186 |
|
02-Aug-2009 |
Attilio Rao <attilio@FreeBSD.org> |
Make the newbus subsystem Giant free by adding the new newbus sxlock. The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races. Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped. For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens. Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing. Bump __FreeBSD_version in order to reflect the newbus lock introduction. Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith) |
#
5f60e483 |
|
24-Jul-2009 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for the introduction of OBJT_SG. Approved by: re (kensmith) |
#
3ca3047a |
|
19-Jul-2009 |
Ken Smith <kensmith@FreeBSD.org> |
Bump the version of all non-symbol-versioned shared libraries in preparation for 8.0-RELEASE. Add the previous version of those libraries to ObsoleteFiles.inc and bump __FreeBSD_Version. Reviewed by: kib Approved by: re (rwatson) |
#
f33a947b |
|
14-Jul-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Add new msleep(9) flag PBDY that shall be specified together with PCATCH, to indicate that thread shall not be stopped upon receipt of SIGSTOP until it reaches the kernel->usermode boundary. Also change thread_single(SINGLE_NO_EXIT) to only stop threads at the user boundary unconditionally. Tested by: pho Reviewed by: jhb Approved by: re (kensmith) |
#
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) |
#
237fbe0a |
|
13-Jul-2009 |
Lawrence Stewart <lstewart@FreeBSD.org> |
Replace struct tcpopt with a proxy toeopt struct in the TOE driver interface to the TCP syncache. This returns struct tcpopt to being private within the TCP implementation, thus allowing it to be modified without ABI concerns. The patch breaks the ABI. Bump __FreeBSD_version to 800103 accordingly. The cxgb driver is the only TOE consumer affected by this change, and needs to be recompiled along with the kernel. Suggested by: rwatson Reviewed by: rwatson, kmacy Approved by: re (kensmith), kensmith (mentor temporarily unavailable) |
#
962ebef8 |
|
12-Jul-2009 |
Lawrence Stewart <lstewart@FreeBSD.org> |
Pad the following TCP related structs to allow MFCs of upcoming features/fixes back to the 8 branch: tcp_var.h - struct sackhint - struct tcpcb - struct tcpstat The patch breaks the ABI. Bump __FreeBSD_version to 800102 accordingly. User space tools that rely on the size of any of these structs (e.g. sockstat) need to be recompiled. Reviewed by: rpaulo, sam, andre, rwatson Approved by: re & mentor (gnn) |
#
6cb7f168 |
|
29-Jun-2009 |
Brooks Davis <brooks@FreeBSD.org> |
Remove support for the /dev/net/* per-interface devices. They serve little purpose and are unused in the base system. The IOCTL functionality is entirely duplicated and routing sockets provide a richer interface than the kqueue functionality. Further, it is not practical for these devices to be made sensible in the face of VIMAGE. Bump __FreeBSD_version on the off chance that there is any code out there that actually uses this stuff. Reviewed by: rwatson Discussed with: bz, zec Approved by: re@ (kensmith) |
#
0ef1e394 |
|
24-Jun-2009 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for SYSVIPC ABI change (along with other changes today). |
#
8112ca35 |
|
22-Jun-2009 |
Ken Smith <kensmith@FreeBSD.org> |
Describe the new algorithm for handling __FreeBSD_version, specifically the 'R' value now being allowed to take on more values than 0 or 1 and permitting more than 100 version bumps in pre-release branches. |
#
b58ea5f3 |
|
22-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Move virtualization of routing related variables into their own Vimage module, which had been there already but now is stateful. All variables are now file local; so this further limits the global spreading of routing related things throughout the kernel. Add a missing function local variable in case of MPATHing. Reviewed by: zec |
#
838d9858 |
|
19-Jun-2009 |
Brooks Davis <brooks@FreeBSD.org> |
Rework the credential code to support larger values of NGROUPS and NGROUPS_MAX, eliminate ABI dependencies on them, and raise the to 1024 and 1023 respectively. (Previously they were equal, but under a close reading of POSIX, NGROUPS_MAX was defined to be too large by 1 since it is the number of supplemental groups, not total number of groups.) The bulk of the change consists of converting the struct ucred member cr_groups from a static array to a pointer. Do the equivalent in kinfo_proc. Introduce new interfaces crcopysafe() and crsetgroups() for duplicating a process credential before modifying it and for setting group lists respectively. Both interfaces take care for the details of allocating groups array. crsetgroups() takes care of truncating the group list to the current maximum (NGROUPS) if necessary. In the future, crsetgroups() may be responsible for insuring invariants such as sorting the supplemental groups to allow groupmember() to be implemented as a binary search. Because we can not change struct xucred without breaking application ABIs, we leave it alone and introduce a new XU_NGROUPS value which is always 16 and is to be used or NGRPS as appropriate for things such as NFS which need to use no more than 16 groups. When feasible, truncate the group list rather than generating an error. Minor changes: - Reduce the number of hand rolled versions of groupmember(). - Do not assign to both cr_gid and cr_groups[0]. - Modify ipfw to cache ucreds instead of part of their contents since they are immutable once referenced by more than one entity. Submitted by: Isilon Systems (initial implementation) X-MFC after: never PR: bin/113398 kern/133867 |
#
b696d9ac |
|
14-Jun-2009 |
Simon L. B. Nielsen <simon@FreeBSD.org> |
Bump __FreeBSD_version for OpenSSL 0.9.8k import. |
#
bc29160d |
|
08-Jun-2009 |
Marko Zec <zec@FreeBSD.org> |
Introduce an infrastructure for dismantling vnet instances. Vnet modules and protocol domains may now register destructor functions to clean up and release per-module state. The destructor mechanisms can be triggered by invoking "vimage -d", or a future equivalent command which will be provided via the new jail framework. While this patch introduces numerous placeholder destructor functions, many of those are currently incomplete, thus leaking memory or (even worse) failing to stop all running timers. Many of such issues are already known and will be incrementaly fixed over the next weeks in smaller incremental commits. Apart from introducing new fields in structs ifnet, domain, protosw and vnet_net, which requires the kernel and modules to be rebuilt, this change should have no impact on nooptions VIMAGE builds, since vnet destructors can only be called in VIMAGE kernels. Moreover, destructor functions should be in general compiled in only in options VIMAGE builds, except for kernel modules which can be safely kldunloaded at run time. Bump __FreeBSD_version to 800097. Reviewed by: bz, julian Approved by: rwatson, kib (re), julian (mentor) |
#
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. |
#
ab1a4d48 |
|
01-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Decrement __FreeBSD_version again to 96 as we are runing out of digits and want to be conservative - so not more than one version bump per day. Discussed with: jhb, kensmith |
#
c2c2a7c1 |
|
01-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Convert the two dimensional array to be malloced and introduce an accessor function to get the correct rnh pointer back. Update netstat to get the correct pointer using kvm_read() as well. This not only fixes the ABI problem depending on the kernel option but also permits the tunable to overwrite the kernel option at boot time up to MAXFIBS, enlarging the number of FIBs without having to recompile. So people could just use GENERIC now. Reviewed by: julian, rwatson, zec X-MFC: not possible |
#
d4b5cae4 |
|
01-Jun-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Reimplement the netisr framework in order to support parallel netisr threads: - Support up to one netisr thread per CPU, each processings its own workstream, or set of per-protocol queues. Threads may be bound to specific CPUs, or allowed to migrate, based on a global policy. In the future it would be desirable to support topology-centric policies, such as "one netisr per package". - Allow each protocol to advertise an ordering policy, which can currently be one of: NETISR_POLICY_SOURCE: packets must maintain ordering with respect to an implicit or explicit source (such as an interface or socket). NETISR_POLICY_FLOW: make use of mbuf flow identifiers to place work, as well as allowing protocols to provide a flow generation function for mbufs without flow identifers (m2flow). Falls back on NETISR_POLICY_SOURCE if now flow ID is available. NETISR_POLICY_CPU: allow protocols to inspect and assign a CPU for each packet handled by netisr (m2cpuid). - Provide utility functions for querying the number of workstreams being used, as well as a mapping function from workstream to CPU ID, which protocols may use in work placement decisions. - Add explicit interfaces to get and set per-protocol queue limits, and get and clear drop counters, which query data or apply changes across all workstreams. - Add a more extensible netisr registration interface, in which protocols declare 'struct netisr_handler' structures for each registered NETISR_ type. These include name, handler function, optional mbuf to flow ID function, optional mbuf to CPU ID function, queue limit, and ordering policy. Padding is present to allow these to be expanded in the future. If no queue limit is declared, then a default is used. - Queue limits are now per-workstream, and raised from the previous IFQ_MAXLEN default of 50 to 256. - All protocols are updated to use the new registration interface, and with the exception of netnatm, default queue limits. Most protocols register as NETISR_POLICY_SOURCE, except IPv4 and IPv6, which use NETISR_POLICY_FLOW, and will therefore take advantage of driver- generated flow IDs if present. - Formalize a non-packet based interface between interface polling and the netisr, rather than having polling pretend to be two protocols. Provide two explicit hooks in the netisr worker for start and end events for runs: netisr_poll() and netisr_pollmore(), as well as a function, netisr_sched_poll(), to allow the polling code to schedule netisr execution. DEVICE_POLLING still embeds single-netisr assumptions in its implementation, so for now if it is compiled into the kernel, a single and un-bound netisr thread is enforced regardless of tunable configuration. In the default configuration, the new netisr implementation maintains the same basic assumptions as the previous implementation: a single, un-bound worker thread processes all deferred work, and direct dispatch is enabled by default wherever possible. Performance measurement shows a marginal performance improvement over the old implementation due to the use of batched dequeue. An rmlock is used to synchronize use and registration/unregistration using the framework; currently, synchronized use is disabled (replicating current netisr policy) due to a measurable 3%-6% hit in ping-pong micro-benchmarking. It will be enabled once further rmlock optimization has taken place. However, in practice, netisrs are rarely registered or unregistered at runtime. A new man page for netisr will follow, but since one doesn't currently exist, it hasn't been updated. This change is not appropriate for MFC, although the polling shutdown handler should be merged to 7-STABLE. Bump __FreeBSD_version. Reviewed by: bz |
#
1abcdbd1 |
|
30-May-2009 |
Attilio Rao <attilio@FreeBSD.org> |
When user_frac in the polling subsystem is low it is going to busy the CPU for too long period than necessary. Additively, interfaces are kept polled (in the tick) even if no more packets are available. In order to avoid such situations a new generic mechanism can be implemented in proactive way, keeping track of the time spent on any packet and fragmenting the time for any tick, stopping the processing as soon as possible. In order to implement such mechanism, the polling handler needs to change, returning the number of packets processed. While the intended logic is not part of this patch, the polling KPI is broken by this commit, adding an int return value and the new flag IFCAP_POLLING_NOCOUNT (which will signal that the return value is meaningless for the installed handler and checking should be skipped). Bump __FreeBSD_version in order to signal such situation. Reviewed by: emaste Sponsored by: Sandvine Incorporated |
#
2a61ba47 |
|
30-May-2009 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bump __FreeBSD_version after addition of VOP_ACCESSX(9). |
#
b89fed67 |
|
29-May-2009 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Update __FreeBSD_version after addition of mnt_xflag. Add a note to UPDATING. |
#
1ae1c2a3 |
|
28-May-2009 |
Attilio Rao <attilio@FreeBSD.org> |
Reverse the logic for ADAPTIVE_SX option and enable it by default. Introduce for this operation the reverse NO_ADAPTIVE_SX option. The flag SX_ADAPTIVESPIN to be passed to sx_init_flags(9) gets suppressed and the new flag, offering the reversed logic, SX_NOADAPTIVE is added. Additively implements adaptive spininning for sx held in shared mode. The spinning limit can be handled through sysctls in order to be tuned while the code doesn't reach the release, after which time they should be dropped probabilly. This change has made been necessary by recent benchmarks where it does improve concurrency of workloads in presence of high contention (ie. ZFS). KPI breakage is documented by __FreeBSD_version bumping, manpage and UPDATING updates. Requested by: jeff, kmacy Reviewed by: jeff Tested by: pho |
#
0304c731 |
|
27-May-2009 |
Jamie Gritton <jamie@FreeBSD.org> |
Add hierarchical jails. A jail may further virtualize its environment by creating a child jail, which is visible to that jail and to any parent jails. Child jails may be restricted more than their parents, but never less. Jail names reflect this hierarchy, being MIB-style dot-separated strings. Every thread now points to a jail, the default being prison0, which contains information about the physical system. Prison0's root directory is the same as rootvnode; its hostname is the same as the global hostname, and its securelevel replaces the global securelevel. Note that the variable "securelevel" has actually gone away, which should not cause any problems for code that properly uses securelevel_gt() and securelevel_ge(). Some jail-related permissions that were kept in global variables and set via sysctls are now per-jail settings. The sysctls still exist for backward compatibility, used only by the now-deprecated jail(2) system call. Approved by: bz (mentor) |
#
37f17770 |
|
23-May-2009 |
Marko Zec <zec@FreeBSD.org> |
V_irtualize the if_clone framework, thus allowing for clonable ifnets to optionally have overlapping unit numbers if attached in different vnets. At this stage if_loop is the only clonable ifnet class that has been extended to allow for such overlapping allocation of unit numbers, i.e. in each vnet it is possible to have a lo0 interface. Other clonable ifnet classes remain to operate with traditional semantics, i.e. each instance of a clonable ifnet will be assigned a globally unique unit number, regardless in which vnet such an ifnet becomes instantiated. While here, garbage collect unused _lo_list field in struct vnet_net, as well as improve indentation for #defines in sys/net/vnet.h. The layout of struct vnet_net has changed, therefore bump __FreeBSD_version. This change has no functional impact on nooptions VIMAGE kernel builds. Reviewed by: bz, brooks Approved by: julian (mentor) |
#
6a9148fe |
|
23-May-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Implement UDP control block support. So far the udp_tun_func_t had been (ab)using inp_ppcb for udp in kernel tunneling callbacks. Move that into the udpcb and add a field for flags there to be used by upcoming changes instead of sticking udp only flags into in_pcb flags2. Bump __FreeBSD_version for ports to detect it and because of vnet* struct size changes. Submitted by: jhb (7.x version) Reviewed by: rwatson |
#
23790ac0 |
|
20-May-2009 |
Sam Leffler <sam@FreeBSD.org> |
bump for net80211 monitor mode changes |
#
dfd233ed |
|
11-May-2009 |
Attilio Rao <attilio@FreeBSD.org> |
Remove the thread argument from the FSD (File-System Dependent) parts of the VFS. Now all the VFS_* functions and relating parts don't want the context as long as it always refers to curthread. In some points, in particular when dealing with VOPs and functions living in the same namespace (eg. vflush) which still need to be converted, pass curthread explicitly in order to retain the old behaviour. Such loose ends will be fixed ASAP. While here fix a bug: now, UFS_EXTATTR can be compiled alone without the UFS_EXTATTR_AUTOSTART option. VFS KPI is heavilly changed by this commit so thirdy parts modules needs to be recompiled. Bump __FreeBSD_version in order to signal such situation. |
#
9ab20e10 |
|
07-May-2009 |
Stephane E. Potvin <sepotvin@FreeBSD.org> |
Change the internal buffer used to store input lines from a static buffer to a dynamically allocated one in order to support input lines of arbitrary length. Approved by: kan (mentor) MFC after: 1 month |
#
f6dfe47a |
|
30-Apr-2009 |
Marko Zec <zec@FreeBSD.org> |
Permit buiding kernels with options VIMAGE, restricted to only a single active network stack instance. Turning on options VIMAGE at compile time yields the following changes relative to default kernel build: 1) V_ accessor macros for virtualized variables resolve to structure fields via base pointers, instead of being resolved as fields in global structs or plain global variables. As an example, V_ifnet becomes: options VIMAGE: ((struct vnet_net *) vnet_net)->_ifnet default build: vnet_net_0._ifnet options VIMAGE_GLOBALS: ifnet 2) INIT_VNET_* macros will declare and set up base pointers to be used by V_ accessor macros, instead of resolving to whitespace: INIT_VNET_NET(ifp->if_vnet); becomes struct vnet_net *vnet_net = (ifp->if_vnet)->mod_data[VNET_MOD_NET]; 3) Memory for vnet modules registered via vnet_mod_register() is now allocated at run time in sys/kern/kern_vimage.c, instead of per vnet module structs being declared as globals. If required, vnet modules can now request the framework to provide them with allocated bzeroed memory by filling in the vmi_size field in their vmi_modinfo structures. 4) structs socket, ifnet, inpcbinfo, tcpcb and syncache_head are extended to hold a pointer to the parent vnet. options VIMAGE builds will fill in those fields as required. 5) curvnet is introduced as a new global variable in options VIMAGE builds, always pointing to the default and only struct vnet. 6) struct sysctl_oid has been extended with additional two fields to store major and minor virtualization module identifiers, oid_v_subs and oid_v_mod. SYSCTL_V_* family of macros will fill in those fields accordingly, and store the offset in the appropriate vnet container struct in oid_arg1. In sysctl handlers dealing with virtualized sysctls, the SYSCTL_RESOLVE_V_ARG1() macro will compute the address of the target variable and make it available in arg1 variable for further processing. Unused fields in structs vnet_inet, vnet_inet6 and vnet_ipfw have been deleted. Reviewed by: bz, rwatson Approved by: julian (mentor) |
#
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. |
#
131cdffb |
|
22-Apr-2009 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Bump __FreeBSD_version. Add UPDATING entry about low-level Bluetooth HCI API. |
#
ba2892d7 |
|
21-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to 800082 to reflect the addition of if_refcount, if_ref(), and if_rele(). MFC after: 3 weeks |
#
eb7bba19 |
|
19-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Garbage collect now-unused struct malloc_type fields, bump __FreeBSD_version as kernel modules will need to be rebuilt. These fields existed to support binary compatibility with kernel modules from before the introduction of libmemstat(3) in FreeBSD 6.x, so they are no longer required. |
#
773b573a |
|
15-Apr-2009 |
Kip Macy <kmacy@FreeBSD.org> |
- add second flags field to to inpcb - update comments in vflag |
#
de4ab55e |
|
15-Apr-2009 |
Kip Macy <kmacy@FreeBSD.org> |
add an llentry to struct route{_in6} to allow it to be passed around with the rtentry |
#
427ac07f |
|
14-Apr-2009 |
Kip Macy <kmacy@FreeBSD.org> |
Extend route command: - add show as alias for get - add weights to allow mpath to do more than equal cost - add sticky / nostick to disable / re-enable per-connection load balancing This adds a field to rt_metrics_lite so network bits of world will need to be re-built. Reviewed by: jeli & qingli |
#
3ca43b79 |
|
11-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to 800077 for the removal of VOP_LEASE -- this changes the size of the vop_vector array and therefore requires file system modules to be rebuilt. |
#
ae190bc0 |
|
09-Apr-2009 |
Luigi Rizzo <luigi@FreeBSD.org> |
Bump version after changes in the userland/kernel ABI for dummynet (plain ipfw rules unchanged) |
#
1ed81b73 |
|
06-Apr-2009 |
Marko Zec <zec@FreeBSD.org> |
First pass at separating per-vnet initializer functions from existing functions for initializing global state. At this stage, the new per-vnet initializer functions are directly called from the existing global initialization code, which should in most cases result in compiler inlining those new functions, hence yielding a near-zero functional change. Modify the existing initializer functions which are invoked via protosw, like ip_init() et. al., to allow them to be invoked multiple times, i.e. per each vnet. Global state, if any, is initialized only if such functions are called within the context of vnet0, which will be determined via the IS_DEFAULT_VNET(curvnet) check (currently always true). While here, V_irtualize a few remaining global UMA zones used by net/netinet/netipsec networking code. While it is not yet clear to me or anybody else whether this is the right thing to do, at this stage this makes the code more readable, and makes it easier to track uncollected UMA-zone-backed objects on vnet removal. In the long run, it's quite possible that some form of shared use of UMA zone pools among multiple vnets should be considered. Bump __FreeBSD_version due to changes in layout of structs vnet_ipfw, vnet_inet and vnet_net. Approved by: julian (mentor) |
#
cd39fead |
|
24-Mar-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
Bump __FreeBSD_version to reflect tcpdump 4.0.0 and libpcap 1.0.0 import. |
#
83b039a6 |
|
22-Mar-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for dynamic token string support added in ld.so. Requested by: maho |
#
3871df9e |
|
15-Mar-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version for the removal of IFF_NEEDSGIANT; network device drivers that require Giant to be held over calls to the ifnet interface are no longer supported in the FreeBSD 8.x kernel. |
#
fb3fd8c6 |
|
14-Mar-2009 |
David Schultz <das@FreeBSD.org> |
Bump __FreeBSD_version to 800071 for gcc patch to add support for C99 inline functions in c99 and gnu99 mode. |
#
d10910e6 |
|
09-Mar-2009 |
Bruce M Simpson <bms@FreeBSD.org> |
Merge IGMPv3 and Source-Specific Multicast (SSM) to the FreeBSD IPv4 stack. Diffs are minimized against p4. PCS has been used for some protocol verification, more widespread testing of recorded sources in Group-and-Source queries is needed. sizeof(struct igmpstat) has changed. __FreeBSD_version is bumped to 800070. |
#
a091d2a5 |
|
09-Mar-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Install libusb20.so.1 as libusb.so.1, there will be a followup commit to the ports tree so that programs use libusb from the base by default. Thanks to Stanislav Sedov for sorting out the ports build. Bump __FreeBSD_version to 800069 Help and testing by: stas |
#
e04aa94c |
|
01-Mar-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Bump __FreeBSD_version for the ushub to uhub rename. Requested by: marcus |
#
69099ba2 |
|
27-Feb-2009 |
David Schultz <das@FreeBSD.org> |
- Add getdelim(), getline(), stpncpy(), strnlen(), wcsnlen(), wcscasecmp(), and wcsncasecmp(). - Make some previously non-standard extensions visible if POSIX_VISIBLE >= 200809. - Use restrict qualifiers in stpcpy(). - Declare off_t and size_t in stdio.h. - Bump __FreeBSD_version in case the new symbols (particularly getline()) cause issues with ports. Reviewed by: standards@ |
#
ee3e3ff5 |
|
27-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Change USB over to make_dev() for all device nodes, previously it hooked into the devfs clone handler to open the (invisible) devices on the fly. The /dev entries are layed out as follows, /dev/usbctl = master device /dev/usb/0.1.0.5 = usb device, (<bus>.<dev>.<iface>.<endpoint>) /dev/ugen0.1 -> usb/0.1.0.0 = ugen link to ctrl endpoint This also removes the custom permissions model from USB. Bump __FreeBSD_version to 800066. Submitted by: rink (earlier version) |
#
b3aaa0cc |
|
26-Feb-2009 |
Ed Schouten <ed@FreeBSD.org> |
Rename all symbols in libmp(3) to mp_*, just like Solaris. The function pow() in libmp(3) clashes with pow(3) in libm. We could rename this single function, but we can just take the same approach as the Solaris folks did, which is to prefix all function names with mp_. libmp(3) isn't really popular nowadays. I suspect not a single application in ports depends on it. There's still a chance, so I've increased the SHLIB_MAJOR and __FreeBSD_version. Reviewed by: deischen, rdivacky |
#
71e9286c |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Add an UPDATING entry and bump the OS version to 800064. |
#
90b70949 |
|
17-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Bump __FreeBSD_version to 800063 after GENERIC changed to USB2. |
#
a4611ab6 |
|
28-Jan-2009 |
Ed Schouten <ed@FreeBSD.org> |
Last step of splitting up minor and unit numbers: remove minor(). Inside the kernel, the minor() function was responsible for obtaining the device minor number of a character device. Because we made device numbers dynamically allocated and independent of the unit number passed to make_dev() a long time ago, it was actually a misnomer. If you really want to obtain the device number, you should use dev2udev(). We already converted all the drivers to use dev2unit() to obtain the device unit number, which is still used by a lot of drivers. I've noticed not a single driver passes NULL to dev2unit(). Even if they would, its behaviour would make little sense. This is why I've removed the NULL check. Ths commit removes minor(), minor2unit() and unit2minor() from the kernel. Because there was a naming collision with uminor(), we can rename umajor() and uminor() back to major() and minor(). This means that the makedev(3) manual page also applies to kernel space code now. I suspect umajor() and uminor() isn't used that often in external code, but to make it easier for other parties to port their code, I've increased __FreeBSD_version to 800062. |
#
24cb0f22 |
|
14-Jan-2009 |
Lawrence Stewart <lstewart@FreeBSD.org> |
Add TCP Appropriate Byte Counting (RFC 3465) support to kernel. The new behaviour is on by default, and can be disabled by setting the net.inet.tcp.rfc3465 sysctl to 0 to obtain previous behaviour. The patch changes struct tcpcb in sys/netinet/tcp_var.h which breaks the ABI. Bump __FreeBSD_version to 800061 accordingly. User space tools that rely on the size of struct tcpcb (e.g. sockstat) need to be recompiled. Reviewed by: rpaulo, gnn Approved by: gnn, kmacy (mentors) Sponsored by: FreeBSD Foundation |
#
efc06131 |
|
19-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
add makefs to the base system; FreeBSD_version bumped just in case Reviewed by: imp |
#
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 |
#
233fb9e4 |
|
11-Dec-2008 |
Joe Marcus Clarke <marcus@FreeBSD.org> |
Bump __FreeBSD_version for the new VOP_VPTOCNP addition. Approved by: kib (implicit) |
#
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. |
#
413628a7 |
|
29-Nov-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
MFp4: Bring in updated jail support from bz_jail branch. This enhances the current jail implementation to permit multiple addresses per jail. In addtion to IPv4, IPv6 is supported as well. Due to updated checks it is even possible to have jails without an IP address at all, which basically gives one a chroot with restricted process view, no networking,.. SCTP support was updated and supports IPv6 in jails as well. Cpuset support permits jails to be bound to specific processor sets after creation. Jails can have an unrestricted (no duplicate protection, etc.) name in addition to the hostname. The jail name cannot be changed from within a jail and is considered to be used for management purposes or as audit-token in the future. DDB 'show jails' command was added to aid debugging. Proper compat support permits 32bit jail binaries to be used on 64bit systems to manage jails. Also backward compatibility was preserved where possible: for jail v1 syscalls, as well as with user space management utilities. Both jail as well as prison version were updated for the new features. A gap was intentionally left as the intermediate versions had been used by various patches floating around the last years. Bump __FreeBSD_version for the afore mentioned and in kernel changes. Special thanks to: - Pawel Jakub Dawidek (pjd) for his multi-IPv4 patches and Olivier Houchard (cognet) for initial single-IPv6 patches. - Jeff Roberson (jeff) and Randall Stewart (rrs) for their help, ideas and review on cpuset and SCTP support. - Robert Watson (rwatson) for lots and lots of help, discussions, suggestions and review of most of the patch at various stages. - John Baldwin (jhb) for his help. - Simon L. Nielsen (simon) as early adopter testing changes on cluster machines as well as all the testers and people who provided feedback the last months on freebsd-jail and other channels. - My employer, CK Software GmbH, for the support so I could work on this. Reviewed by: (see above) MFC after: 3 months (this is just so that I get the mail) X-MFC Before: 7.2-RELEASE if possible |
#
f02493cb |
|
28-Nov-2008 |
Marko Zec <zec@FreeBSD.org> |
Unhide declarations of network stack virtualization structs from underneath #ifdef VIMAGE blocks. This change introduces some churn in #include ordering and nesting throughout the network stack and drivers but is not expected to cause any additional issues. In the next step this will allow us to instantiate the virtualization container structures and switch from using global variables to their "containerized" counterparts. 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 |
#
0cfab8dd |
|
27-Nov-2008 |
Joseph Koshy <jkoshy@FreeBSD.org> |
- Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo and Core Duo), models 0xF (Core2), model 0x17 (Core2Extreme) and model 0x1C (Atom). In these CPUs, the actual numbers, kinds and widths of PMCs present need to queried at run time. Support for specific "architectural" events also needs to be queried at run time. Model 0xE CPUs support programmable PMCs, subsequent CPUs additionally support "fixed-function" counters. - Use event names that are close to vendor documentation, taking in account that: - events with identical semantics on two or more CPUs in this family can have differing names in vendor documentation, - identical vendor event names may map to differing events across CPUs, - each type of CPU supports a different subset of measurable events. Fixed-function and programmable counters both use the same vendor names for events. The use of a class name prefix ("iaf-" or "iap-" respectively) permits these to be distinguished. - In libpmc, refactor pmc_name_of_event() into a public interface and an internal helper function, for use by log handling code. - Minor code tweaks: staticize a global, freshen a few comments. Tested by: gnn |
#
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. |
#
b23e9e9d |
|
02-Nov-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect vfs_busy() prototype changing and its flags (MBF_NOWAIT, MBF_MNTLSTLOCK) introduction. |
#
5031ddc4 |
|
28-Oct-2008 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bump __FreeBSD_version after accmode_t introduction. Approved by: rwatson (mentor) |
#
1ede983c |
|
23-Oct-2008 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Retire the MALLOC and FREE macros. They are an abomination unto style(9). MFC after: 3 months |
#
26543102 |
|
20-Oct-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect prototipes changes for these following functions: - bufobj_invalbuf() - bufsync() - vinvalbuf() - g_vfs_close and virtual function BO_SYNC(). |
#
3111c5c9 |
|
21-Sep-2008 |
Ed Schouten <ed@FreeBSD.org> |
Now that the number of clist consumers have dropped massively, trim down the code to prevent useless waste of space. - Remove support for quote bits. There is not a single driver that needs these bits anymore. This means putc() now accepts a char instead of an int. - Remove the unneeded catq() and nextc() routines. They were only used by the old TTY layer. - Convert the clist code to use ANSI C prototypes. |
#
fbd5dccf |
|
17-Sep-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Document the suser(9) and suser_cred(9) interface removal. |
#
8c836116 |
|
16-Sep-2008 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Bump __FreeBSD_version to reflect that kernel NFS mount code can accept mount options in individual members of nmount() iovec array instead of one big struct nfs_args. Requested by: dfr |
#
dfa7fd1d |
|
10-Sep-2008 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Remove VSVTX, VSGID and VSUID. This should be a no-op, as VSVTX == S_ISVTX, VSGID == S_ISGID and VSUID == S_ISUID. Approved by: rwatson (mentor) |
#
36fd475c |
|
08-Sep-2008 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for per-CPU GDT on amd64. Requested by: nox |
#
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 |
#
603724d3 |
|
17-Aug-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Commit step 1 of the vimage project, (network stack) virtualization work done by Marko Zec (zec@). This is the first in a series of commits over the course of the next few weeks. Mark all uses of global variables to be virtualized with a V_ prefix. Use macros to map them back to their global names for now, so this is a NOP change only. We hope to have caught at least 85-90% of what is needed so we do not invalidate a lot of outstanding patches again. Obtained from: //depot/projects/vimage-commit2/... Reviewed by: brooks, des, ed, mav, julian, jamie, kris, rwatson, zec, ... (various people I forgot, different versions) md5 (with a bit of help) Sponsored by: NLnet Foundation, The FreeBSD Foundation X-MFC after: never V_Commit_Message_Reviewed_By: more people than the patch |
#
8fced8fc |
|
13-Aug-2008 |
Ed Schouten <ed@FreeBSD.org> |
Bump __FreeBSD_version to 800043, because of the bpf(4) change. bpf(4) now uses cdevpriv to distinguish multiple file descriptors, where it used to be implemented using device cloning. Ports like libpcap properly detect the change in their configure scripts, but it doesn't hurt to increase __FreeBSD_version. While there, change the bpf(4) manual page to refer to /dev/bpf instead of /dev/bpfN. Requested by: mlaier |
#
d7a70ce7 |
|
08-Aug-2008 |
Stanislav Sedov <stas@FreeBSD.org> |
- Bump __FreeBSD_version for cpuctl(4) added. Approved by: kib |
#
9b78febf |
|
22-Jul-2008 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump __FreeBSD_version for arc4random_buf() and arc4random_uniform() added. |
#
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 |
#
4c20b767 |
|
16-Jun-2008 |
Konstantin Belousov <kib@FreeBSD.org> |
Add the member2struct() macro, that returns pointer to the containing structure given pointer to some structure member. MFC after: 2 weeks |
#
45792eb9 |
|
14-Jun-2008 |
Ed Schouten <ed@FreeBSD.org> |
Turn sgtty into a binary-only compatibility interface. sgtty was the original interface to configure terminal attributes on my UNIX-like operating systems. It has been deprecated by the POSIX termios interface, which is implemented in almost any modern system. An advantage of turning this into a binary compatibility interface, is that we can now eventually remove the COMPAT_43TTY switch from kernel configurations. This removes many ioctl()'s from the TTY layer. While there, increase the __FreeBSD_version, which may be useful for the people working on the Ports tree. Reviewed by: kib Approved by: philip (mentor) |
#
a1dbc89f |
|
26-May-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version after netatm and I4B removal. There should be no API changes but ports might rely on this. |
#
1d60f0ff |
|
09-May-2008 |
Julian Elischer <julian@FreeBSD.org> |
bump __FreeBSD_version |
#
de570baa |
|
20-Apr-2008 |
Sam Leffler <sam@FreeBSD.org> |
802.11 support moves to vaps |
#
6fda52ba |
|
16-Apr-2008 |
Xin LI <delphij@FreeBSD.org> |
Implement fdopendir(3) by splitting __opendir2() into two parts, the upper part deals with the usual __opendir2() calls, and the rest part with an interface translator to expose fdopendir(3) functionality. Manual page was obtained from kib@'s work for *at(2) system calls. |
#
82e45205 |
|
09-Apr-2008 |
Xin LI <delphij@FreeBSD.org> |
Add memrchr(3). Obtained from: OpenBSD |
#
ff0af72c |
|
08-Apr-2008 |
Jung-uk Kim <jkim@FreeBSD.org> |
- Add write(2) support for psm(4) in native operation level. Now arbitrary commands can be written to /dev/psm%d and status can be read back from it. - Reflect the change in psm(4) and bump version for ports. MFC after: 1 week |
#
a3526bf0 |
|
07-Apr-2008 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version after the implementation of the openat() and related syscalls both for the native FreeBSD ABI and linuxolator. |
#
929ed949 |
|
06-Apr-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect lockmgr_rw() and lockmgr_args_rw() introduction. |
#
d44c4da7 |
|
01-Apr-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect rw_try_rlock() and rw_try_wlock() functions introduction. |
#
ed271d5c |
|
27-Mar-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect BUF_LOCKWAITERS() reintegration and lockmgr_waiters() introduction. |
#
159f35a5 |
|
26-Mar-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Bump __FreeBSD_version for the addition of 'l_sysid' to the flock structure. |
#
bde40240 |
|
24-Mar-2008 |
Christian S.J. Peron <csjp@FreeBSD.org> |
Bump the FreeBSD version for zerocopy bpf buffers and changes to the bpf(4) monitoring ABI/structures. |
#
1581606f |
|
12-Mar-2008 |
Jeff Roberson <jeff@FreeBSD.org> |
- Bump __FreeBSD_version for sleepq/cv_* api changes. |
#
4fd1b794 |
|
08-Mar-2008 |
Antoine Brodin <antoine@FreeBSD.org> |
Bump __FreeBSD_version for F_DUP2FD command to fcntl(2) Requested by: Craig Rodrigues Approved by: rwatson (mentor) |
#
5673e996 |
|
01-Mar-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect: - lockwaiters() axing out - BUF_LOCKWAITERS() axing out - brelvp() prototype changing - lockinit() accepted arguments() range changing |
#
5b62538f |
|
25-Feb-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to signal lockstatus() and VOP_ISLOCKED() prototypes changing. |
#
d0ca9999 |
|
25-Feb-2008 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make again BSD ar(1) the default system ar(1), now properly handling source upgrades by falling back to GNU ar(1) as necessary. Option WITH_BSDAR is gone. Option _WITH_GNUAR to aid in upgrades is *not* supposed to be set by the user. Stop bootstrapping BSD ar(1) on the next __FreeBSD_version bump, as there are no known bugs in it. Bump __FreeBSD_version to anticipate this and to flag the switch to BSD ar(1), should it be needed for something. Input from: obrien, des, kaiw |
#
7a767188 |
|
21-Feb-2008 |
Kai Wang <kaiw@FreeBSD.org> |
Back out previous commit. Restore Binutils ar as default. Disconnect 'BSD' ar to the build. Requested by: des |
#
d0e2abaf |
|
21-Feb-2008 |
Kai Wang <kaiw@FreeBSD.org> |
* Connect ar(1) to the build and make it default ar. Rename GNU binutils ar and ranlib to gar and granlib, respectively. * Introduce a temporary variable WITH_GNUAR as a safety net. When buildworld with -DWITH_GNUAR, GNU binutils ar and ranlib will install as default ones and 'BSD' ar will be disabled. * Bump __FreeBSD_version to reflect the import of 'BSD' ar(1). Approved by: jkoshy (mentor) |
#
e2442c20 |
|
15-Feb-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to signal introduction of lockmgr_args() and LK_INTERNAL removal. |
#
d98b6d44 |
|
13-Feb-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version after the introduction of: - lockmgr_assert() - BUF_ASSERT_*() family functions which enriched the KPI. |
#
f2805949 |
|
08-Feb-2008 |
Joe Marcus Clarke <marcus@FreeBSD.org> |
Add support for displaying a process' current working directory, root directory, and jail directory within procstat. While this functionality is available already in fstat, encapsulating it in the kern.proc.filedesc sysctl makes it accessible without using kvm and thus without needing elevated permissions. The new procstat output looks like: PID COMM FD T V FLAGS REF OFFSET PRO NAME 76792 tcsh cwd v d -------- - - - /usr/src 76792 tcsh root v d -------- - - - / 76792 tcsh 15 v c rw------ 16 9130 - - 76792 tcsh 16 v c rw------ 16 9130 - - 76792 tcsh 17 v c rw------ 16 9130 - - 76792 tcsh 18 v c rw------ 16 9130 - - 76792 tcsh 19 v c rw------ 16 9130 - - I am also bumping __FreeBSD_version for this as this new feature will be used in at least one port. Reviewed by: rwatson Approved by: rwatson |
#
d2e6257b |
|
08-Feb-2008 |
Sam Leffler <sam@FreeBSD.org> |
belated bump for the addition of m_collapse |
#
a4b2462f |
|
05-Feb-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect introduction of LK_NODUP and LK_NOWITNESS options in the lockmgr namespace. |
#
cf827063 |
|
01-Feb-2008 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Give MEXTADD() another argument to make both void pointers to the free function controlable, instead of passing the KVA of the buffer storage as the first argument. Fix all conventional users of the API to pass the KVA of the buffer as the first argument, to make this a no-op commit. Likely break the only non-convetional user of the API, after informing the relevant committer. Update the mbuf(9) manual page, which was already out of sync on this point. Bump __FreeBSD_version to 800016 as there is no way to tell how many arguments a CPP macro needs any other way. This paves the way for giving sendfile(9) a way to wait for the passed storage to have been accessed before returning. This does not affect the memory layout or size of mbufs. Parental oversight by: sam and rwatson. No MFC is anticipated. |
#
48aaad5f |
|
26-Jan-2008 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Our fts(3) API, as inherited from 4.4BSD, suffers from integer fields in FTS and FTSENT structs being too narrow. In addition, the narrow types creep from there into fts.c. As a result, fts(3) consumers, e.g., find(1) or rm(1), can't handle file trees an ordinary user can create, which can have security implications. To fix the historic implementation of fts(3), OpenBSD and NetBSD have already changed <fts.h> in somewhat incompatible ways, so we are free to do so, too. This change is a superset of changes from the other BSDs with a few more improvements. It doesn't touch fts(3) functionality; it just extends integer types used by it to match modern reality and the C standard. Here are its points: o For C object sizes, use size_t unless it's 100% certain that the object will be really small. (Note that fts(3) can construct pathnames _much_ longer than PATH_MAX for its consumers.) o Avoid the short types because on modern platforms using them results in larger and slower code. Change shorts to ints as follows: - For variables than count simple, limited things like states, use plain vanilla `int' as it's the type of choice in C. - For a limited number of bit flags use `unsigned' because signed bit-wise operations are implementation-defined, i.e., unportable, in C. o For things that should be at least 64 bits wide, use long long and not int64_t, as the latter is an optional type. See FTSENT.fts_number aka FTS.fts_bignum. Extending fts_number `to satisfy future needs' is pointless because there is fts_pointer, which can be used to link to arbitrary data from an FTSENT. However, there already are fts(3) consumers that require fts_number, or fts_bignum, have at least 64 bits in it, so we must allow for them. o For the tree depth, use `long'. This is a trade-off between making this field too wide and allowing for 64-bit inode numbers and/or chain-mounted filesystems. On the one hand, `long' is almost enough for 32-bit filesystems on a 32-bit platform (our ino_t is uint32_t now). On the other hand, platforms with a 64-bit (or wider) `long' will be ready for 64-bit inode numbers, as well as for several 32-bit filesystems mounted one under another. Note that fts_level has to be signed because -1 is a magic value for it, FTS_ROOTPARENTLEVEL. o For the `nlinks' local var in fts_build(), use `long'. The logic in fts_build() requires that `nlinks' be signed, but our nlink_t currently is uint16_t. Therefore let's make the signed var wide enough to be able to represent 2^16-1 in pure C99, and even 2^32-1 on a 64-bit platform. Perhaps the logic should be changed just to use nlink_t, but it can be done later w/o breaking fts(3) ABI any more because `nlinks' is just a local var. This commit also inludes supporting stuff for the fts change: o Preserve the old versions of fts(3) functions through libc symbol versioning because the old versions appeared in all our former releases. o Bump __FreeBSD_version just in case. There is a small chance that some ill-written 3-rd party apps may fail to build or work correctly if compiled after this change. o Update the fts(3) manpage accordingly. In particular, remove references to fts_bignum, which was a FreeBSD-specific hack to work around the too narrow types of FTSENT members. Now fts_number is at least 64 bits wide (long long) and fts_bignum is an undocumented alias for fts_number kept around for compatibility reasons. According to Google Code Search, the only big consumers of fts_bignum are in our own source tree, so they can be fixed easily to use fts_number. o Mention the change in src/UPDATING. PR: bin/104458 Approved by: re (quite a while ago) Discussed with: deischen (the symbol versioning part) Reviewed by: -arch (mostly silence); das (generally OK, but we didn't agree on some types used; assuming that no objections on -arch let me to stick to my opinion) |
#
9b42c272 |
|
23-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to signal: - lockmgr() prototype changing - lockcount() axing - LOCKMGR_ASSERT() axing |
#
0a8390f7 |
|
22-Jan-2008 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump FreeBSD_version after adding "ASCII" encoding to libc |
#
6e8f9331 |
|
19-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump FreeBSD_version in order to reflect introduction of lockmgr_recursed(), BUF_RECURSED(), BUF_ISLOCKED() and trimming out of BUF_REFCNT(). |
#
e71c446a |
|
13-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Version bumping in order to reflect VOP_LOCK1(), VOP_UNLOCK() KPI changing. |
#
f0d37ed2 |
|
09-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump FreeBSD_version in order to reflect vn_lock() prototype changes. |
#
80127e4d |
|
08-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump FreeBSD_version in order to reflect lockmgr_disown() function introduction. |
#
100f2415 |
|
27-Dec-2007 |
Attilio Rao <attilio@FreeBSD.org> |
Trimm out now unused option LK_EXCLUPGRADE from the lockmgr namespace. This option just adds complexity and the new implementation no longer will support it, so axing it now that it is unused is probabilly the better idea. FreeBSD version is bumped in order to reflect the KPI breakage introduced by this patch. In the ports tree, kris found that only old OSKit code uses it, but as it is thought to work only on 2.x kernels serie, version bumping will solve any problem. |
#
9d422200 |
|
25-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to 800007 to reflect kdb_enter change. |
#
ca16b7dd |
|
07-Dec-2007 |
Joseph Koshy <jkoshy@FreeBSD.org> |
Increment FreeBSD_version to mark the addition of callchain support to hwpmc. |
#
8160baf4 |
|
06-Dec-2007 |
Kip Macy <kmacy@FreeBSD.org> |
Change uint8_t to equivalent base language type and add line break where 80 characters is exceeded in bit macros Requested by: Bruce Evans |
#
208e56cb |
|
05-Dec-2007 |
Kip Macy <kmacy@FreeBSD.org> |
Respect the fact that the value a may be constant so cast to const uint8_t * |
#
32089e49 |
|
05-Dec-2007 |
Kip Macy <kmacy@FreeBSD.org> |
Fix bit macros to work on multi-byte types MFC after: 1 day |
#
b95c2d79 |
|
04-Dec-2007 |
Alan Cox <alc@FreeBSD.org> |
Increment __FreeBSD_version on account of changes to the jumbo frames allocator. (See revision 1.35 of kern/kern_mbuf.c.) Requested by: Andrew Gallatin |
#
e3709a56 |
|
28-Nov-2007 |
John Birrell <jb@FreeBSD.org> |
Remove _SOLARIS_C_SOURCE compatibility definitions. Unfortunately the ZFS porting style didn't extend this, instead using a heap of additional header files that don't get installed. My intention had been to allow OpenSolaris external code to build on FreeBSD out of the box (i.e. without a src tree). |
#
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 |
#
19de7d21 |
|
25-Oct-2007 |
Erwin Lansing <erwin@FreeBSD.org> |
Change a tab back to a space between #define and __FreeBSD_version. This breaks OSVERSION determination in all ports. Reviewed by: rodrigc |
#
33d3fffa |
|
24-Oct-2007 |
Marius Strobl <marius@FreeBSD.org> |
Add ABI backwards compatibility to the FreeBSD 4/5/6 versions of the PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs, which was broken with the introduction of PCI domain support. As the size of struct pci_conf_io wasn't changed with that commit, this unfortunately requires the ABI of PCIOCGETCONF to be broken again in order to be able to provide backwards compatibility to the old version of that IOCTL. Requested by: imp Discussed with: re (kensmith) Reviewed by: PCI maintainers (imp, jhb) MFC after: 5 days |
#
17e45937 |
|
20-Oct-2007 |
Julian Elischer <julian@FreeBSD.org> |
Mark the point where kthread_xxx disappeared and kproc_xxx appeared |
#
1391b079 |
|
15-Oct-2007 |
Max Laier <mlaier@FreeBSD.org> |
Bump version for libpcap and tcpdump imports MFC after: 3 days |
#
c15e0967 |
|
10-Oct-2007 |
Ken Smith <kensmith@FreeBSD.org> |
To honor the birth of RELENG_7 bump HEAD to 8.0-CURRENT. Approved by: re (implicit) |
#
55aaf894 |
|
30-Sep-2007 |
Marius Strobl <marius@FreeBSD.org> |
Make the PCI code aware of PCI domains (aka PCI segments) so we can support machines having multiple independently numbered PCI domains and don't support reenumeration without ambiguity amongst the devices as seen by the OS and represented by PCI location strings. This includes introducing a function pci_find_dbsf(9) which works like pci_find_bsf(9) but additionally takes a domain number argument and limiting pci_find_bsf(9) to only search devices in domain 0 (the only domain in single-domain systems). Bge(4) and ofw_pcibus(4) are changed to use pci_find_dbsf(9) instead of pci_find_bsf(9) in order to no longer report false positives when searching for siblings and dupe devices in the same domain respectively. Along with this change the sole host-PCI bridge driver converted to actually make use of PCI domain support is uninorth(4), the others continue to use domain 0 only for now and need to be converted as appropriate later on. Note that this means that the format of the location strings as used by pciconf(8) has been changed and that consumers of <sys/pciio.h> potentially need to be recompiled. Suggested by: jhb Reviewed by: grehan, jhb, marcel Approved by: re (kensmith), jhb (PCI maintainer hat) |
#
bebcac07 |
|
06-Jul-2007 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump version after repo-copy of I4B headers. The headers will now be installed to include/i4b/ and no longer to include/machine/. Approved by: re (kensmith) |
#
e9ac9968 |
|
04-Jul-2007 |
Peter Wemm <peter@FreeBSD.org> |
Bump version for new mmap/lseek/etc syscalls Approved by: re (kensmith) |
#
2966d28c |
|
03-Jul-2007 |
Sean Farley <scf@FreeBSD.org> |
Significantly reduce the memory leak as noted in BUGS section for setenv(3) by tracking the size of the memory allocated instead of using strlen() on the current value. Convert all calls to POSIX from historic BSD API: - unsetenv returns an int. - putenv takes a char * instead of const char *. - putenv no longer makes a copy of the input string. - errno is set appropriately for POSIX. Exceptions involve bad environ variable and internal initialization code. These both set errno to EFAULT. Several patches to base utilities to handle the POSIX changes from Andrey Chernov's previous commit. A few I re-wrote to use setenv() instead of putenv(). New regression module for tools/regression/environ to test these functions. It also can be used to test the performance. Bump __FreeBSD_version to 700050 due to API change. PR: kern/99826 Approved by: wes Approved by: re (kensmith) |
#
be65697f |
|
03-Jul-2007 |
Max Laier <mlaier@FreeBSD.org> |
Add a note about the pf update, mark libexec/ftp-proxy as obsolete and bump __FreeBSD_version for ports. Approved by: re (implicit) |
#
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) |
#
fdeac3e0 |
|
11-Jun-2007 |
Andre Oppermann <andre@FreeBSD.org> |
Bump __FreeBSD_version for TCP LRO support. |
#
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. |
#
9cd40e64 |
|
10-Jun-2007 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Now pam_nologin(8) will provide an account management function instead of an authentication function. There are a design reason and a practical reason for that. First, the module belongs in account management because it checks availability of the account and does no authentication. Second, there are existing and potential PAM consumers that skip PAM authentication for good or for bad. E.g., sshd(8) just prefers internal routines for public key auth; OTOH, cron(8) and atrun(8) do implicit authentication when running a job on behalf of its owner, so their inability to use PAM auth is fundamental, but they can benefit from PAM account management. Document this change in the manpage. Modify /etc/pam.d files accordingly, so that pam_nologin.so is listed under the "account" function class. Bump __FreeBSD_version (mostly for ports, as this change should be invisible to C code outside pam_nologin.) PR: bin/112574 Approved by: des, re |
#
5dfd976f |
|
07-Jun-2007 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for the change of the vn_open/VOP_OPEN file index argument to struct file *. Requested by: Csaba Henk <csaba-ml at creo hu> |
#
4d953fe6 |
|
21-May-2007 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSDversion for shared library version bump. This makes it possible for our ports infrastructure to determine whether it is appropriate to install compat6x in the future. |
#
6c958d1d |
|
18-May-2007 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSDversion to 700042 to indicate that gcc 4.2 was imported to the base system. |
#
38d1ff05 |
|
13-May-2007 |
Daniel Eischen <deischen@FreeBSD.org> |
Bump FreeBSD version for enabling of symbol versioning and changing default threading library to libthr. |
#
c2b49d4f |
|
10-May-2007 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Bump __FreeBSD_version for the addition of flopen(3) to libutil. Requested by: delphij |
#
2239cfb4 |
|
01-May-2007 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump FreeBSD_version to not have it going backwards. Asked by: Ceri Davies <ceri@submonkey.net> |
#
ba174a5e |
|
01-May-2007 |
Andrey A. Chernov <ache@FreeBSD.org> |
Back out all POSIXified *env() changes. Not because I admit they are technically wrong and not because of bug reports (I receive nothing). But because I surprisingly meets so strong opposition and resistance so lost any desire to continue that. Anyone who interested in POSIX can dig out what changes and how through cvs diffs. |
#
d27fc458 |
|
30-Apr-2007 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump __FreeBSD_version after making setenv(), putenv(), getenv() and unsetenv() POSIXed |
#
9e3edba6 |
|
08-Apr-2007 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSDversion for CAM sg addition. Requested by: bsam |
#
ba7c08b7 |
|
05-Apr-2007 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Bump __FreeBSD_version on ZFS import. Requested by: nork |
#
54c26738 |
|
26-Mar-2007 |
Nate Lawson <njl@FreeBSD.org> |
Bump FreeBSD version for inclusion of CPU frequency change notifiers. |
#
97fa7815 |
|
18-Mar-2007 |
Ken Smith <kensmith@FreeBSD.org> |
Bump __FreeBSD_version after changes to how insmntque(), getnewvnode(), and vfs_hash_insert() work. |
#
03c506ac |
|
08-Mar-2007 |
Rong-En Fan <rafan@FreeBSD.org> |
Bump __FreeBSD_version for ncurses wide character support Approved by: delphij (mentor, implicit) |
#
7bd6fde3 |
|
02-Mar-2007 |
Florent Thoumie <flz@FreeBSD.org> |
- Add Intel firmwares for Intel PRO/Wireless LAN 2100/2200/2915 cards in a uuencoded format along with their respective LICENSE files. - Add new share/doc/legal directory to BSD.usr.dist mtree file. This is the place we install LICENSE files for restricted firmwares. - Teach firmware(9) and kmod.mk about licensed firmwares. Restricted firmwares won't load properly unless legal.<name>.license_ack is set to 1, either via kenv(1) or /boot/loader.conf. Reviewed by: mlaier, sam Permitted by: Intel (via Andrew Wilson) MFC after: 1 month |
#
80b7fd0f |
|
23-Feb-2007 |
Paolo Pisati <piso@FreeBSD.org> |
Bump __FreeBSD_version after newbus api modification. Reviewed by: re@ Approved by: re@ |
#
78cb087e |
|
07-Feb-2007 |
Bruce M Simpson <bms@FreeBSD.org> |
Remove support for IPIP tunnels in IPv4 multicast forwarding. XORP has never used them; with mrouted, their functionality may be replaced by explicitly configuring gif(4) instances and specifying them with the 'phyint' keyword. Bump __FreeBSD_version to 700030, and update UPDATING. A doc update is forthcoming. Discussed on: net Reviewed by: fenner MFC after: 3 months |
#
7868ee24 |
|
26-Jan-2007 |
Xin LI <delphij@FreeBSD.org> |
While we do not expect any change before and after GNU gzip is replaced with BSD gzip, let's make it possible to distinguish between the two with a __FreeBSDversion bump, just in case some developers want it. Suggested by: linimon |
#
d6dda9b2 |
|
14-Dec-2006 |
Randall Stewart <rrs@FreeBSD.org> |
This adds the "system calls" sctp_getaddrlen() sctp_connectx() sctp_bindx() sctp_opt_info() sctp_getpaddrs() sctp_freepaddrs() sctp_getladdrs() sctp_freeladdrs() sctp_sendmsg() sctp_getassocid() sctp_send() sctp_sendx() sctp_sendmsgx() sctp_recvmsg() sctp_peeloff() Manual pages will be forthcoming (and the commit to porters-handbook) |
#
8fec56e4 |
|
30-Nov-2006 |
Florent Thoumie <flz@FreeBSD.org> |
Bump __FreeBSD_version after UQ_KBD_IGNORE was set for Wi-Spy devices. |
#
a580b31a |
|
25-Nov-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Welcome to Once-a-year Sound Mega-Commit. Enjoy numerous updates and fixes in every sense. General ------- - Multichannel safe, endian safe, format safe * Large part of critical pcm filters such as vchan.c, feeder_rate.c, feeder_volume.c, feeder_fmt.c and feeder.c has been rewritten so that using them does not cause the pcm data to be converted to 16bit little endian. * Macrosses for accessing pcm data safely are defined within sound.h in the form of PCM_READ_* / PCM_WRITE_* * Currently, most of them are probably limited for mono/stereo handling, but the future addition of true multichannel will be much easier. - Low latency operation * Well, this require lot more works to do not just within sound driver, but we're heading towards right direction. Buffer/block sizing within channel.c is rewritten to calculate precise allocation for various combination of sample/data/rate size. As a result, applying correct SNDCTL_DSP_POLICY value will achive expected latency behaviour simmilar to what commercial 4front driver do. * Signal handling fix. ctrl+c of "cat /dev/zero > /dev/dsp" does not result long delay. * Eliminate sound truncation if the sound data is too small. DIY: 1) Download / extract http://people.freebsd.org/~ariff/lowlatency/shortfiles.tar.gz 2) Do a comparison between "cat state*.au > /dev/dsp" and "for x in state*.au ; do cat $x > /dev/dsp ; done" - there should be no "perceivable" differences. Double close for PR kern/31445. CAVEAT: Low latency come with (unbearable) price especially for poorly written applications. Applications that trying to act smarter by requesting (wrong) blocksize/blockcount will suffer the most. Fixup samples/patches can be found at: http://people.freebsd.org/~ariff/ports/ - Switch minimum/maximum sampling rate limit to "1" and "2016000" (48k * 42) due to closer compatibility with 4front driver. Discussed with: marcus@ (long time ago?) - All driver specific sysctls in the form of "hw.snd.pcm%d.*" have been moved to their own dev sysctl nodes, notably: hw.snd.pcm%d.vchans -> dev.pcm.%d.vchans Bump __FreeBSD_version. Driver specific --------------- - Ditto for sysctls. - snd_atiixp, snd_es137x, snd_via8233, snd_hda * Numerous cleanups and fixes. * _EXPERIMENTAL_ polling mode support using simple callout_* mechanisme. This was intended for pure debugging and latency measurement, but proven good enough in few unexpected and rare cases (such as problematic shared IRQ with GIANT devices - USB). Polling can be enabled/disabled through dev.pcm.0.polling. Disabled by default. - snd_ich * Fix possible overflow during speed calibration. Delay final initialization (pcm_setstatus) after calibration finished. PR: kern/100169 Tested by: Kevin Overman <oberman@es.net> * Inverted EAPD for few Nec VersaPro. PR: kern/104715 Submitted by: KAWATA Masahiko <kawata@mta.biglobe.ne.jp> Thanks to various people, notably Joel Dahl, Yuriy Tsibizov, Kevin Oberman, those at #freebsd-azalia @ freenode and others for testing. Joel Dahl will do the manpage update. |
#
3eb1a62e |
|
11-Nov-2006 |
Joseph Koshy <jkoshy@FreeBSD.org> |
MFP4: Add an implementation of the ELF(3) and GELF(3) API set. Bump __FreeBSD_version. Reviewed by: jb |
#
f68af8c9 |
|
29-Oct-2006 |
Warner Losh <imp@FreeBSD.org> |
Retire the failed OBSOLETE_IN_6 experiment code. |
#
1b43c389 |
|
01-Oct-2006 |
Simon L. B. Nielsen <simon@FreeBSD.org> |
Bump __FreeBSD_version for OpenSSL 0.9.8d import. |
#
4e9d799f |
|
28-Sep-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Retire macros for the old kernel memory allocator. Submitted by: bde |
#
b611c801 |
|
23-Sep-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFp4 the sound Google Summer of Code project: The goal was to sync with the OSSv4 API 4Front Technologies uses in their proprietary OSS driver. This was successful as far as possible. The part of the API which is stable is implemented, for the rest there are some stubs already. New system ioctls: - SNDCTL_SYSINFO - obtain audio system info (version, # of audio/midi/ mixer devices, etc.) - SNDCTL_AUDIOINFO - fetch details about a specific audio device - SNDCTL_MIXERINFO - fetch details about a specific mixer device New audio ioctls: - Sync groups (SNDCTL_DSP_SYNCGROUP/SNDCTL_DSP_SYNCSTART) which allow triggered playback/recording on multiple devices (even across processes simultaneously). - Peak meters (SNDCTL_DSP_GETIPEAKS/SNDCTL_DSP_GETOPEAKS) - can query audio drivers for peak levels (needs driver support, disabled for now). - Per channel playback/recording levels - SNDCTL_DSP_{GET,SET}{PLAY,REC}VOL. Note that these are still in name only, just wrapping around the AC97-style mixer at the moment. The next step is to push them down to the drivers. Audio ioctls still under development by 4Front (for which stubs may exist in this commit): - SNDCTL_GETNAME, SNDCTL_{GET,SET}{SONG,LABEL} - SNDCTL_DSP_{GET,SET}_CHNORDER - SNDCTL_MIX_ENUMINFO, SNDCTL_MIX_EXTINFO - (might be documented enough in the OSS releases to work on this. These ioctls cover the cool "twiddle any knob on your card" features.) Missing: - SNDCTL_DSP_COOKEDMODE -- this ioctl is used to give applications direct access to a card's buffers, bypassing the feeder architecture. It's a toughy -- "someone" needs to decide : (a) if this is desireable, and (b) if it's reasonably feasible. Updates for driver writers: So far, only two routines to the channel class (in channel_if.m) are added. One is for fetching a list of discrete supported playback/recording rates of a channel, and the other is for fetching peak level info (useful for drawing peak meters). Interested parties may want to help pushing down SNDCTL_DSP_{GET,SET}{PLAY,REC}VOL into the drivers. To use the new stuff you need to rebuild the sound drivers or your kernel (depending on if you use modules or not) and to install soundcard.h (a buildworld/installworld handles this). Sponsored by: Google SoC 2006 Submitted by: ryanb Many thanks to: 4Front Technologies for their cooperation, explanations and the nice license of their soundcard.h. |
#
6c71207d |
|
08-Sep-2006 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for rev. 1.117 of libexec/rtld-elf/rtld.c. Requested by: jkim Approved by: kan (mentor) |
#
50bdd720 |
|
04-Sep-2006 |
Sam Leffler <sam@FreeBSD.org> |
bump version for libpcap+tcpdump imports |
#
04896397 |
|
02-Sep-2006 |
Matt Jacob <mjacob@FreeBSD.org> |
Bump __FreeBSD_version by one due to newbus changes. |
#
6d35e42f |
|
07-Aug-2006 |
Giorgos Keramidas <keramida@FreeBSD.org> |
Spell "determine" correctly. Reviewed by: jb |
#
6d9b0007 |
|
05-Aug-2006 |
John Birrell <jb@FreeBSD.org> |
Add OpenSolaris compatibility definitions which are only visible if _SOLARIS_C_SOURCE is defined. The _OpenSolaris_version is set to match the last import of the OpenSolaris tar ball and is based on the date in that file name. |
#
f57d6668 |
|
29-Jul-2006 |
Simon L. B. Nielsen <simon@FreeBSD.org> |
Bump __FreeBSD_version for OpenSSL 0.9.8b import. |
#
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] |
#
a0a9755e |
|
13-May-2006 |
Max Laier <mlaier@FreeBSD.org> |
Update UPDATING and bump __FreeBSD_version for the ip6fw removal. |
#
73dbd3da |
|
11-May-2006 |
John Baldwin <jhb@FreeBSD.org> |
Remove various bits of conditional Alpha code and fixup a few comments. |
#
1aaee95a |
|
22-Apr-2006 |
Daniel Eischen <deischen@FreeBSD.org> |
Bump __FreeBSD_version to reflect the addition of fcloseall() to libc. |
#
49874f6e |
|
25-Mar-2006 |
Joseph Koshy <jkoshy@FreeBSD.org> |
MFP4: Support for profiling dynamically loaded objects. Kernel changes: Inform hwpmc of executable objects brought into the system by kldload() and mmap(), and of their removal by kldunload() and munmap(). A helper function linker_hwpmc_list_objects() has been added to "sys/kern/kern_linker.c" and is used by hwpmc to retrieve the list of currently loaded kernel modules. The unused `MAPPINGCHANGE' event has been deprecated in favour of separate `MAP_IN' and `MAP_OUT' events; this change reduces space wastage in the log. Bump the hwpmc's ABI version to "2.0.00". Teach hwpmc(4) to handle the map change callbacks. Change the default per-cpu sample buffer size to hold 32 samples (up from 16). Increment __FreeBSD_version. libpmc(3) changes: Update libpmc(3) to deal with the new events in the log file; bring the pmclog(3) manual page in sync with the code. pmcstat(8) changes: Introduce new options to pmcstat(8): "-r" (root fs path), "-M" (mapfile name), "-q"/"-v" (verbosity control). Option "-k" now takes a kernel directory as its argument but will also work with the older invocation syntax. Rework string handling in pmcstat(8) to use an opaque type for interned strings. Clean up ELF parsing code and add support for tracking dynamic object mappings reported by a v2.0.00 hwpmc(4). Report statistics at the end of a log conversion run depending on the requested verbosity level. Reviewed by: jhb, dds (kernel parts of an earlier patch) Tested by: gallatin (earlier patch) |
#
ec63cb90 |
|
17-Feb-2006 |
Andre Oppermann <andre@FreeBSD.org> |
Replace the 4k fixed sized jumbo mbuf clusters with PAGE_SIZE sized jumbo mbuf clusters. To make the variable size clear they are named MJUMPAGESIZE. Having jumbo clusters with the native PAGE_SIZE is more useful than a fixed 4k size according the device driver writers using this API. The 9k and 16k jumbo mbuf clusters remain unchanged. Requested by: glebius, gallatin Sponsored by: TCP/IP Optimization Fundraise 2005 MFC after: 3 days |
#
668816ed |
|
26-Jan-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
Version bump for pts import. |
#
3d11d44c |
|
12-Jan-2006 |
Brooks Davis <brooks@FreeBSD.org> |
Belated __FreeBSD_version bump for improvements to the Linux ldconfig support in etc/rc.d/abi. |
#
dfdae553 |
|
08-Jan-2006 |
Doug Barton <dougb@FreeBSD.org> |
Add a mechanism to include files added by ports which contain the names of directories to include in the base ldconfig script. This will eliminate the need for each port to install its own boot script which does nothing but ldocnfig a given directory. This code was developed by flz (ports committer), discussed on freebsd-rc@, and modified slightly by me. Submitted by: flz Reviewed by: brooks |
#
b741b015 |
|
31-Dec-2005 |
Tom Rhodes <trhodes@FreeBSD.org> |
Bump FreeBSD_Version for tv_sec change. Reminded by: kris |
#
e9aa66d2 |
|
20-Dec-2005 |
John Baldwin <jhb@FreeBSD.org> |
- Bump FreeBSD version for the hostb(4) and vgapci(4) drivers as well as the addition of pci_find_extcap(). - Change the drm drivers to attach to vgapci. This is #ifdef'd so the code can be shared across branches. - Use pci_find_extcap() to look for AGP and PCIE capabilities in drm. - GC all the drmsub stuff for i810/i830/i915. The agp and drm devices are now both children of vgapci. |
#
f94b1545 |
|
18-Dec-2005 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Bump __FreeBSD_version to 700009 because: 1. The ELF-64 typedefs are now standardized, so that the libelf port (devel/libelf) does not need to compensate for not having the Elf64_Xword and Elf64_Sxword types. 2. ELF Symbol versioning support has been added. This also affects the libelf port (though configure should detect this correctly). |
#
d5269a63 |
|
08-Dec-2005 |
Andre Oppermann <andre@FreeBSD.org> |
Add an API for jumbo mbuf cluster allocation and also provide 4k clusters in addition to 9k and 16k ones. struct mbuf *m_getjcl(int how, short type, int flags, int size) void *m_cljget(struct mbuf *m, int how, int size) m_getjcl() returns an mbuf with a cluster of the specified size attached like m_getcl() does for 2k clusters. m_cljget() is different from m_clget() as it can allocate clusters without attaching them to an mbuf. In that case the return value is the pointer to the cluster of the requested size. If an mbuf was specified, it gets the cluster attached to it and the return value can be safely ignored. For size both take MCLBYTES, MJUM4BYTES, MJUM9BYTES, MJUM16BYTES. Reviewed by: glebius Tested by: glebius Sponsored by: TCP/IP Optimization Fundraise 2005 |
#
1bcf3312 |
|
05-Dec-2005 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Bump __FreeBSD_version to reflect removal of MNT_NODEV mount option. Requested by: marcus |
#
0f3ce2b3 |
|
02-Dec-2005 |
Doug Barton <dougb@FreeBSD.org> |
Introduce startup scripts from the local_startup directories to the base rcorder. This is accomplished by running rcorder twice, first to get all the disks mounted (through mountcritremote), then again to include the local_startup directories. This dramatically changes the behavior of rc.d/localpkg, as all "local" scripts that have the new rc.d semantics are now run in the base rcorder, so only scripts that have not been converted yet will run in rc.d/localpkg. Make a similar change in rc.shutdown, and add some functions in rc.subr to support these changes. Bump __FreeBSD_version to reflect this change. |
#
4a0d6638 |
|
11-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
- Store pointer to the link-level address right in "struct ifnet" rather than in ifindex_table[]; all (except one) accesses are through ifp anyway. IF_LLADDR() works faster, and all (except one) ifaddr_byindex() users were converted to use ifp->if_addr. - Stop storing a (pointer to) Ethernet address in "struct arpcom", and drop the IFP2ENADDR() macro; all users have been converted to use IF_LLADDR() instead. |
#
d09ed26f |
|
11-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
- Make IFP2ENADDR() a pointer to IF_LLADDR() rather than another copy of Ethernet address. - Change iso88025_ifattach() and fddi_ifattach() to accept MAC address as an argument, similar to ether_ifattach(), to make this work. |
#
56a4e45a |
|
02-Nov-2005 |
Andre Oppermann <andre@FreeBSD.org> |
Mandatory mbuf cluster reference counting and groundwork for UMA based jumbo 9k and jumbo 16k cluster support. All mbuf's with external storage attached are mandatory reference counted. For clusters and jumbo clusters UMA provides the refcnt storage directly. It does not have to be separatly allocated. Any other type of external storage gets its own refcnt allocated from an UMA mbuf refcnt zone instead of normal kernel malloc. The refcount API MEXT_ADD_REF() and MEXT_REM_REF() is no longer publically accessible. The proper m_* functions have to be used. mb_ctor_clust() and mb_dtor_clust() both handle normal 2K as well as 9k and 16k clusters. Clusters and jumbo clusters may be obtained without attaching it immideatly to an mbuf. This is for high performance cluster allocation in network drivers where mbufs are attached after the cluster has been filled. Tested by: rwatson Sponsored by: TCP/IP Optimizations Fundraise 2005 |
#
d374e81e |
|
30-Oct-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Push the assignment of a new or updated so_qlimit from solisten() following the protocol pru_listen() call to solisten_proto(), so that it occurs under the socket lock acquisition that also sets SO_ACCEPTCONN. This requires passing the new backlog parameter to the protocol, which also allows the protocol to be aware of changes in queue limit should it wish to do something about the new queue limit. This continues a move towards the socket layer acting as a library for the protocol. Bump __FreeBSD_version due to a change in the in-kernel protocol interface. This change has been tested with IPv4 and UNIX domain sockets, but not other protocols. |
#
4120e213 |
|
05-Oct-2005 |
Warner Losh <imp@FreeBSD.org> |
Make param.h includable again from assembler. |
#
b0bd2fdb |
|
25-Aug-2005 |
Andre Oppermann <andre@FreeBSD.org> |
Bump __FreeBSD_version for memmem(3). |
#
5554b8cc |
|
13-Aug-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version for dev_clone eventhandler to add credential. |
#
6c497be4 |
|
23-Jul-2005 |
Ken Smith <kensmith@FreeBSD.org> |
Oops, bump __FreeBSD_version to mark shared library version bump. Reminded by: nork |
#
028dbfaa |
|
11-Jul-2005 |
Scott Long <scottl@FreeBSD.org> |
Make the RELENG_6 branch operation official by moving HEAD to 7.0-CURRENT. Approved by: re |
#
fd162793 |
|
10-Jul-2005 |
Sam Leffler <sam@FreeBSD.org> |
bump for libpcap import Approved by: re (scottl) |
#
fc74a9f9 |
|
10-Jun-2005 |
Brooks Davis <brooks@FreeBSD.org> |
Stop embedding struct ifnet at the top of driver softcs. Instead the struct ifnet or the layer 2 common structure it was embedded in have been replaced with a struct ifnet pointer to be filled by a call to the new function, if_alloc(). The layer 2 common structure is also allocated via if_alloc() based on the interface type. It is hung off the new struct ifnet member, if_l2com. This change removes the size of these structures from the kernel ABI and will allow us to better manage them as interfaces come and go. Other changes of note: - Struct arpcom is no longer referenced in normal interface code. Instead the Ethernet address is accessed via the IFP2ENADDR() macro. To enforce this ac_enaddr has been renamed to _ac_enaddr. - The second argument to ether_ifattach is now always the mac address from driver private storage rather than sometimes being ac_enaddr. Reviewed by: sobomax, sam |
#
dfa58a49 |
|
04-Jun-2005 |
Andrew Thompson <thompsa@FreeBSD.org> |
Bump __FreeBSD_version for if_bridge. Approved by: mlaier (mentor) |
#
c5b7d855 |
|
29-May-2005 |
Sam Leffler <sam@FreeBSD.org> |
bump version for libpcap (+tcpdump) import |
#
9242b38b |
|
13-May-2005 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version for POSIX ttyname_r(3) changes. Forgotten by: me Reminded by: mezz |
#
e8fc249f |
|
06-May-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Bump __FreeBSD_version for libalias and ng_nat. |
#
6441fe95 |
|
03-May-2005 |
Max Laier <mlaier@FreeBSD.org> |
Bump __FreeBSD_version for pf 3.7 and inform about user visible changes. |
#
31519b13 |
|
26-Apr-2005 |
Brooks Davis <brooks@FreeBSD.org> |
Introduce a struct icmphdr which contains the type, code, and cksum fields of an ICMP packet. Use this to allow ipfw to pullup only these values since it does not use the rest of the packet and it was failed on ICMP packets because they were not long enough. struct icmp should probably be modified to use these at some point, but that will break a fair bit of code so it can wait for another day. On the off chance that adding this struct breaks something in ports, bump __FreeBSD_version. Reported by: Randy Bush <randy at psg dot com> Tested by: Randy Bush <randy at psg dot com> |
#
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) |
#
df214d19 |
|
12-Apr-2005 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Bump __FreeBSD_version for LOCAL_CREDS, LOCAL_CONNWAIT. Requested by: marcus |
#
602778ab |
|
20-Mar-2005 |
Tim Kientzle <kientzle@FreeBSD.org> |
Stop building gtar. Bump __FreeBSD_version to reflect this change. |
#
800b42bd |
|
16-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Prepare for the final onslaught on devices: Move uid/gid/mode from cdev to cdevsw. Add kind field to use for devd(8) later. Bump both D_VERSION and __FreeBSD_version |
#
d025278a |
|
08-Mar-2005 |
Alfred Perlstein <alfred@FreeBSD.org> |
Make MSG_NOSIGNAL available to native programs. Bump FreeBSD_version to note this change. Reviewed by: sobomax |
#
f5bd90de |
|
27-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Bump FreeBSD version for change to install acpica includes in /usr/include. |
#
edc43112 |
|
27-Feb-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make the format of LC_COLLATE files architecture independent. |
#
8945135e |
|
27-Feb-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Bootstrap gencat(1). OK'ed by: phantom |
#
3fb3a430 |
|
26-Feb-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make the format of LC_CTYPE files architecture independent by introducing the disk formats for _RuneLocale and friends. The disk formats do not have (useless) pointers and have 32-bit quantities instead of rune_t and long. (htonl(3) only works with 32-bit quantities, so there's no loss). Bootstrap mklocale(1) when necessary. (Bootstrapping from 4.x would be trivial (verified), but we no longer provide pre-5.3 source upgrades and this is the first commit to actually break it.) |
#
bc9d2991 |
|
25-Feb-2005 |
Brooks Davis <brooks@FreeBSD.org> |
Change the definition of struct if_data's member ifi_epoch from wall clock time to uptime because wall clock time may go backwards. This is a change in the API which will impact SNMP agents who are using ifi_epoch to set RFC2233's ifCounterDiscontinuityTime. None are know to exist today. This will not impact applications that are using the <index, epoch> tuple to verify interface uniqueness except that it eliminates a race which could lead to a false assumption of uniqueness. Because this is a behavior change, bump __FreeBSD_version. Discussed with: re (jhb, scottl) MFC after: 3 days Pointed out by: pkh (way back at EuroBSDCon) Pointy hat: brooks |
#
5f26dd38 |
|
21-Feb-2005 |
Max Khon <fjoe@FreeBSD.org> |
Bump __FreeBSD_version for vswprintf(3) fix. Some ports depend on it. |
#
949d92c6 |
|
19-Feb-2005 |
Marius Strobl <marius@FreeBSD.org> |
Bump __FreeBSD_version for the Intel C/C++ compiler GCC-compatibility fixes in src/include/stdbool.h rev. 1.7 and src/sys/i386/include/_types.h rev. 1.10, required by ports/lang/icc. |
#
c39f9e35 |
|
14-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Bump __FreeBSD_version for increased size for default thread stacks. |
#
47b4ab9c |
|
12-Feb-2005 |
David Schultz <das@FreeBSD.org> |
Bump __FreeBSD_version for removal of matherr() from libm. (matherr() went out of fashion when the third edition of SVID de-supported it nearly 20 years ago, and it has never actually worked in FreeBSD.) |
#
04def624 |
|
06-Feb-2005 |
Xin LI <delphij@FreeBSD.org> |
Finish the import of nc(1) from OpenBSD. This includes: - Bring IPsec support from the ports collection [1]. - Bring -o ("once only") option from the ports collection [2]. - Adopt the Makefile framework into usr.bin/nc/Makefile. - Add a knob to control whether to build nc(1), NO_NETCAT. - Bump __FreeBSD_version so ports collection can detect this change. Original patchset are contributed to the ports collection by: [1] nectar, [2] joerg. Note: WARNS?=6 patchset spined off in this commit, in order not to take too many files off the vendor branch. |
#
d639e963 |
|
03-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Bump __FreeBSD_version for cpufreq addition. Requested by marcus@ |
#
a18a49dc |
|
25-Jan-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bump __FreeBSD_version to 600007 for the recent VFS gymnastics. |
#
caf76683 |
|
12-Dec-2004 |
Warner Losh <imp@FreeBSD.org> |
Bump revision of FreeBSD for 802.11 framework update. |
#
a29dd055 |
|
04-Nov-2004 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after addition of glibc-style strftime(3) padding specifiers. This helps the port team to decide whether to use local patch for applications that makes use of these GNU extensions (and hopefully we can get rid of these patches finally) Requested by: marcus |
#
2627ac6f |
|
05-Oct-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Bump __FreeBSD_version for addition of newsyslog -d. |
#
d6a8d588 |
|
28-Sep-2004 |
Max Laier <mlaier@FreeBSD.org> |
Add an additional struct inpcb * argument to pfil(9) in order to enable passing along socket information. This is required to work around a LOR with the socket code which results in an easy reproducible hard lockup with debug.mpsafenet=1. This commit does *not* fix the LOR, but enables us to do so later. The missing piece is to turn the filter locking into a leaf lock and will follow in a seperate (later) commit. This will hopefully be MT5'ed in order to fix the problem for RELENG_5 in forseeable future. Suggested by: rwatson A lot of work by: csjp (he'd be even more helpful w/o mentor-reviews ;) Reviewed by: rwatson, csjp Tested by: -pf, -ipfw, LINT, csjp and myself MFC after: 3 days LOR IDs: 14 - 17 (not fixed yet) |
#
55287f2a |
|
07-Sep-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Re-add ifi_epoch, to struct if_data, this time replacing ifi_unused to avoid ABI changes. It is set to the last time the interface counters were zeroed, currently the time if_attach() was called. It is intentended to be a valid value for RFC2233's ifCounterDiscontinuityTime and to make it easier for applications to verify that the interface they find at a given index is the one that was there last time they looked. Due to space constraints ifi_epoch is a time_t rather then a struct timeval. SNMP would prefer higher precision, but this unlikely to be useful in practice. |
#
1fc4519b |
|
30-Aug-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Add a new variable, ifi_epoch, to struct if_data. It is set to the last time the interface counters were zeroed, currently the time if_attach() was called. It is indentended to be a valid value for RFC2233's ifCounterDiscontinuityTime and to make it easier for applications to verify that the interface they find at a given index is the one that was there last time they looked. An if_epoch "compatability" macro has not been created as ifi_epoch has never been a member of struct ifnet. Approved by: andre, bms, wollman |
#
3d618b94 |
|
27-Aug-2004 |
Andre Oppermann <andre@FreeBSD.org> |
Bump __FreeBSD_version to indicate permanent PFIL_HOOKS. |
#
fb022e3c |
|
21-Aug-2004 |
David E. O'Brien <obrien@FreeBSD.org> |
Clarify __FreeBSD_version scheme. Submitted by: ru |
#
9b5eb298 |
|
17-Aug-2004 |
Robert Watson <rwatson@FreeBSD.org> |
We're not yet ready for BURN_BRIDGES to break the build, as BURN_BRIDGES won't be removed for a bit yet. Fix more of the build in HEAD. |
#
99ae32dc |
|
17-Aug-2004 |
Scott Long <scottl@FreeBSD.org> |
HEAD is now 6-CURRENT |
#
fdaba3df |
|
07-Aug-2004 |
Alfred Perlstein <alfred@FreeBSD.org> |
Bump __FreeBSD_version for vfs_mount signature change. |
#
f0a4dd31 |
|
01-Aug-2004 |
Brian Feldman <green@FreeBSD.org> |
Bump __FreeBSD_version to designate uma_zone functions changing type. |
#
73be7416 |
|
30-Jul-2004 |
Alan Cox <alc@FreeBSD.org> |
Bump __FreeBSD_version to reflect the removal of kmem_alloc_pageable(). Requested by: pjd@ |
#
a1a81b18 |
|
27-Jul-2004 |
Oliver Eikemeier <eik@FreeBSD.org> |
Erroneously decreased __FreeBSD_version, which should have been increased instead: "__FreeBSD_version should only ever increment. It is a historial record of events in the system. Decrementing it is akin to trying to go back in time and change history." Reminded by: kuriyama, scottl |
#
e193a85e |
|
27-Jul-2004 |
Oliver Eikemeier <eik@FreeBSD.org> |
back out the localkg changes until things have settled. Discussed with: mtm |
#
15eb1e8b |
|
24-Jul-2004 |
Mike Makonnen <mtm@FreeBSD.org> |
Ports related rc.d cleanups: o Separate out local (ports) scripts that use rc.d, and the old style startup/shutdown scripts and execute them separately. On startup the rc.d style scripts are executed first and then the old-style scripts. On shutdown, exactly the reverse happens. o The rc.d ports scripts should now behave more like base system scripts. Scripts ending in .sh will be sourced into the current shell, while the rest will be executed in a subshell. Previously, all ports scripts, regardless of the .sh suffix, were executed in a subshell. o The parent script, /etc/rc.d/localpkg, passes its command line arguments straight to the rc.d ports scripts. This means they should now honor faststop and faststart commands as well. Old style scripts, should not see any differences. They will still get either a start or stop command. o The initial phrase shown during shutdown has been changed to use "local packages" instead of "daemon processes" to be more inline with the phrase used during local package startup. The phrases are also used only for old-style ports script startup/shutdown, whereas previously they were being used for both rc.d and old-style scripts. This should make startup/shutdown output a bit less ugly. Discussed with: portmgr Has Reservations: eik |
#
993f3fc4 |
|
12-Jul-2004 |
Alfred Perlstein <alfred@FreeBSD.org> |
Bump __FreeBSD_version for VFS_ROOT, vflush and kinfo_proc changes. |
#
bd9e523b |
|
10-Jul-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Bump __FreeBSD_version for the following (weak) reasons: o Sources that are shared between kernel and userland and that may contain references to DDB or any of its functions may need to know this. o Userland tools may include <machine/gdb_machdep.h> from now on. Think kernel debugger... o The kernel core file now contains the TID of the kernel thread that made the dump. |
#
6421d1db |
|
09-Jul-2004 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Bump __FreeBSD_version Reviewed by: kris, ru |
#
51a15362 |
|
01-Jul-2004 |
Oliver Eikemeier <eik@FreeBSD.org> |
Bump __FreeBSD_version for package tools revision 20040629 |
#
4f851e29 |
|
22-Jun-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Bump FreeBSD_version for if_clone overhaul. |
#
7c2989d3 |
|
17-Jun-2004 |
Kelly Yancey <kbyanc@FreeBSD.org> |
Bumb version so apps can detect whether CLOCK_VIRTUAL and CLOCK_PROF are implemented. |
#
f3732fd1 |
|
17-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Second half of the dev_t cleanup. The big lines are: NODEV -> NULL NOUDEV -> NODEV udev_t -> dev_t udev2dev() -> findcdev() Various minor adjustments including handling of userland access to kernel space struct cdev etc. |
#
89c9c53d |
|
16-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Do the dreaded s/dev_t/struct cdev */ Bump __FreeBSD_version accordingly. |
#
4717d22a |
|
14-Jun-2004 |
John Polstra <jdp@FreeBSD.org> |
Change the return value of sema_timedwait() so it returns 0 on success and a proper errno value on failure. This makes it consistent with cv_timedwait(), and paves the way for the introduction of functions such as sema_timedwait_sig() which can fail in multiple ways. Bump __FreeBSD_version and add a note to UPDATING. Approved by: scottl (ips driver), arch |
#
6cb7a382 |
|
13-Jun-2004 |
Max Laier <mlaier@FreeBSD.org> |
Bump __FreeBSD_version for ALTQ. Also put some notes in UPDATING regarding the ABI break. |
#
e451f9b7 |
|
04-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make the remaining serial drivers call ttyioctl() rather than calling the linedisc directly. |
#
c98dc180 |
|
13-Apr-2004 |
Ruslan Ermilov <ru@FreeBSD.org> |
Bump __FreeBSD_version on behalf of the new .warning directive in make(1). Requested by: kris |
#
b839b3d9 |
|
11-Apr-2004 |
Maxime Henrion <mux@FreeBSD.org> |
Bump __FreeBSD_version for getgrent(3) removal. I doubt anything outside of the tree uses it, but it doesn't cost anything. |
#
82c6e879 |
|
06-Apr-2004 |
Warner Losh <imp@FreeBSD.org> |
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999. Approved by: core |
#
67dc5581 |
|
27-Mar-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Bump FreeBSD version for UTF-8 locale addition. This is primarily for the benefit of the misc/utf8locale port. |
#
9b41519c |
|
22-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Bump FreeBSD version to indicate new bus_alloc_resource_any API. |
#
a122cca9 |
|
12-Mar-2004 |
Tom Rhodes <trhodes@FreeBSD.org> |
These are changes to allow to use the Intel C/C++ compiler (lang/icc) to build the kernel. It doesn't affect the operation if gcc. Most of the changes are just adding __INTEL_COMPILER to #ifdef's, as icc v8 may define __GNUC__ some parts may look strange but are necessary. Additional changes: - in_cksum.[ch]: * use a generic C version instead of the assembly version in the !gcc case (ASM code breaks with the optimizations icc does) -> no bad checksums with an icc compiled kernel Help from: andre, grehan, das Stolen from: alpha version via ppc version The entire checksum code should IMHO be replaced with the DragonFly version (because it isn't guaranteed future revisions of gcc will include similar optimizations) as in: ---snip--- Revision Changes Path 1.12 +1 -0 src/sys/conf/files.i386 1.4 +142 -558 src/sys/i386/i386/in_cksum.c 1.5 +33 -69 src/sys/i386/include/in_cksum.h 1.5 +2 -0 src/sys/netinet/igmp.c 1.6 +0 -1 src/sys/netinet/in.h 1.6 +2 -0 src/sys/netinet/ip_icmp.c 1.4 +3 -4 src/contrib/ipfilter/ip_compat.h 1.3 +1 -2 src/sbin/natd/icmp.c 1.4 +0 -1 src/sbin/natd/natd.c 1.48 +1 -0 src/sys/conf/files 1.2 +0 -1 src/sys/conf/files.amd64 1.13 +0 -1 src/sys/conf/files.i386 1.5 +0 -1 src/sys/conf/files.pc98 1.7 +1 -1 src/sys/contrib/ipfilter/netinet/fil.c 1.10 +2 -3 src/sys/contrib/ipfilter/netinet/ip_compat.h 1.10 +1 -1 src/sys/contrib/ipfilter/netinet/ip_fil.c 1.7 +1 -1 src/sys/dev/netif/txp/if_txp.c 1.7 +1 -1 src/sys/net/ip_mroute/ip_mroute.c 1.7 +1 -2 src/sys/net/ipfw/ip_fw2.c 1.6 +1 -2 src/sys/netinet/igmp.c 1.4 +158 -116 src/sys/netinet/in_cksum.c 1.6 +1 -1 src/sys/netinet/ip_gre.c 1.7 +1 -2 src/sys/netinet/ip_icmp.c 1.10 +1 -1 src/sys/netinet/ip_input.c 1.10 +1 -2 src/sys/netinet/ip_output.c 1.13 +1 -2 src/sys/netinet/tcp_input.c 1.9 +1 -2 src/sys/netinet/tcp_output.c 1.10 +1 -1 src/sys/netinet/tcp_subr.c 1.10 +1 -1 src/sys/netinet/tcp_syncache.c 1.9 +1 -2 src/sys/netinet/udp_usrreq.c 1.5 +1 -2 src/sys/netinet6/ipsec.c 1.5 +1 -2 src/sys/netproto/ipsec/ipsec.c 1.5 +1 -1 src/sys/netproto/ipsec/ipsec_input.c 1.4 +1 -2 src/sys/netproto/ipsec/ipsec_output.c and finally remove sys/i386/i386 in_cksum.c sys/i386/include in_cksum.h ---snip--- - endian.h: * DTRT in C++ mode - quad.h: * we don't use gcc v1 anymore, remove support for it Suggested by: bde (long ago) - assym.h: * avoid zero-length arrays (remove dependency on a gcc specific feature) This change changes the contents of the object file, but as it's only used to generate some values for a header, and the generator knows how to handle this, there's no impact in the gcc case. Explained by: bde Submitted by: Marius Strobl <marius@alchemy.franken.de> - aicasm.c: * minor change to teach it about the way icc spells "-nostdinc" Not approved by: gibbs (no reply to my mail) - bump __FreeBSD_version (lang/icc needs to know about the changes) Incarnations of this patch survive gcc compiles since a loooong time, I use it on my desktop. An icc compiled kernel works since Nov. 2003 (exceptions: snd_* if used as modules), it survives a build of the entire ports collection with icc. Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>. Reviewed by: -arch Submitted by: netchild |
#
cbde2013 |
|
10-Mar-2004 |
Garance A Drosehn <gad@FreeBSD.org> |
Undo the previous commit, which was just plain wrong, and then correctly increase _FreeBSD_version to reflect the 64-bTT change on sparc64. Noticed by: kris Pointy hat to: gad |
#
dfcf10a8 |
|
10-Mar-2004 |
Garance A Drosehn <gad@FreeBSD.org> |
Increase __FreeBSD_version to reflect the transition from 32-bit to 64-bit time_t on the FreeBSD/sparc64 architecture. |
#
fc28f1ff |
|
08-Mar-2004 |
Max Laier <mlaier@FreeBSD.org> |
Bump __FreeBSD_version for the pf install and write comments to UPDATING. Approved by: bms(mentor) |
#
cc1c3e28 |
|
05-Mar-2004 |
Mark Murray <markm@FreeBSD.org> |
Bump __FreeBSD_version for the NULL == ((void *)0) Requested by: kkenn |
#
02f1d65c |
|
24-Feb-2004 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump FreeBSD_version for getopt_long_only() adding |
#
70883f1d |
|
21-Feb-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bump __FreeBSD_version to mark cdevsw megapatching. |
#
e9338d59 |
|
10-Feb-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Change the kernels definition of NODEV from ((dev_t)-1) to NULL. |
#
d9fece91 |
|
30-Jan-2004 |
Daniel Eischen <deischen@FreeBSD.org> |
Bump __FreeBSD_version to note the change of default thread library from libc_r to libpthread. |
#
7ef1ca27 |
|
19-Dec-2003 |
Alexander Kabaev <kan@FreeBSD.org> |
Bump __FreeBSD_version to indicate __cxa_atexit/__cxa_finalize presence. |
#
12eb46c8 |
|
07-Dec-2003 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Change the definition of NULL on ia64 (for LP64 compilations) from an int constant to a long constant. This change improves consistency in the following two ways: 1. The first 8 arguments are always passed in registers on ia64, which by virtue of the generated code implicitly widens ints to longs and allows the use of an 32-bit integral type for 64-bit arguments. Subsequent arguments are passed onto the memory stack, which does not exhibit the same behaviour and consequently do not allow this. In practice this means that variadic functions taking pointers and given NULL (without cast) work as long as the NULL is passed in one of the first 8 arguments. A SIGSEGV is more likely the result if such would be done for stack-based arguments. This is due to the fact that the upper 4 bytes remain undefined. 2. All 64-bit platforms that FreeBSD supports, with the obvious exception of ia64, allow 32-bit integral types (specifically NULL) when 64-bit pointers are expected in variadic functions by way of how the compiler generates code. As such, code that works correctly (whether rightfully so or not) on any platform other than ia64, may fail on ia64. To more easily allow tweaking of the definition of NULL, this commit removes the 12 definitions in the various headers and puts it in a new header that can be included whenever NULL is to be made visible. This commit fixes GNOME, emacs, xemacs and a whole bunch of ports that I don't particularly care about at this time... |
#
7679ff7c |
|
06-Dec-2003 |
Scott Long <scottl@FreeBSD.org> |
HEAD __FreeBSD_version is at 502100 |
#
78a53859 |
|
15-Nov-2003 |
Gordon Tetlow <gordon@FreeBSD.org> |
Bump version to indicate dynamically linked /bin and /sbin is the default. |
#
9bf40ede |
|
31-Oct-2003 |
Brooks Davis <brooks@FreeBSD.org> |
Replace the if_name and if_unit members of struct ifnet with new members if_xname, if_dname, and if_dunit. if_xname is the name of the interface and if_dname/unit are the driver name and instance. This change paves the way for interface renaming and enhanced pseudo device creation and configuration symantics. Approved By: re (in principle) Reviewed By: njl, imp Tested On: i386, amd64, sparc64 Obtained From: NetBSD (if_xname) |
#
46ba7a35 |
|
16-Oct-2003 |
Doug Rabson <dfr@FreeBSD.org> |
* Add multiple inheritance to kobj. Each class can have zero or more base classes and if a method is not found in a given class, its base classes are searched (in the order they were declared). This search is recursive, i.e. a method may be define in a base class of a base class. * Change the kobj method lookup algorithm to one which is SMP-safe. This relies only on the constraint that an observer of a sequence of writes of pointer-sized values will see exactly one of those values, not a mixture of two or more values. This assumption holds for all processors which FreeBSD supports. * Add locking to kobj class initialisation. * Add a simpler form of 'inheritance' for devclasses. Each devclass can have a parent devclass. Searches for drivers continue up the chain of devclasses until either a matching driver is found or a devclass is reached which has no parent. This can allow, for instance, pci drivers to match cardbus devices (assuming that cardbus declares pci as its parent devclass). * Increment __FreeBSD_version. This preserves the driver API entirely except for one minor feature used by the ISA compatibility shims. A workaround for ISA compatibility will be committed separately. The kobj and newbus ABI has changed - all modules must be recompiled. |
#
f3c178d7 |
|
16-Oct-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bump FreeBSD version for changed layout of cdevsw |
#
47a42c7a |
|
28-Sep-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Note change to cdevsw open/close default change. |
#
5192cc94 |
|
27-Sep-2003 |
Max Khon <fjoe@FreeBSD.org> |
Bump __FreeBSD_version for kiconv(3). |
#
134ea224 |
|
23-Sep-2003 |
Sam Leffler <sam@FreeBSD.org> |
o update PFIL_HOOKS support to current API used by netbsd o revamp IPv4+IPv6+bridge usage to match API changes o remove pfil_head instances from protosw entries (no longer used) o add locking o bump FreeBSD version for 3rd party modules Heavy lifting by: "Max Laier" <max@love2party.net> Supported by: FreeBSD Foundation Obtained from: NetBSD (bits of pfil.h and pfil.c) |
#
4da51cdd |
|
17-Sep-2003 |
John Baldwin <jhb@FreeBSD.org> |
Bump FreeBSD_version to note that ports that want constants for the 16550 should use <dev/ic/ns16550.h> rather than <dev/sio/sioreg.h> |
#
9e057215 |
|
08-Sep-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Bump __FreeBSD_version for Coda 6.x venus<->kernel API support. |
#
0a855c34 |
|
17-Aug-2003 |
Gordon Tetlow <gordon@FreeBSD.org> |
Bump __FreeBSD_version due to movement of libraries to /lib and rtld to /libexec. |
#
b8b90678 |
|
05-Aug-2003 |
Paul Saab <ps@FreeBSD.org> |
Bump __FreeBSD_version for 3ware API |
#
9cd4ad9c |
|
30-Jul-2003 |
Alexander Kabaev <kan@FreeBSD.org> |
Bump __FreeBSD_version to indicate GCC 3.3.1-pre import. Reminded by: kris |
#
477d2d0e |
|
03-Jul-2003 |
Scott Long <scottl@FreeBSD.org> |
Bump __FreeBSD_version to reflect the busdma API change. |
#
602c7889 |
|
29-Jun-2003 |
John Polstra <jdp@FreeBSD.org> |
Bump __FreeBSD_version because the semantics of sigtimedwait and sigwaitinfo have been corrected. Some existing code relied on the original broken semantics. |
#
e7a945f3 |
|
11-Jun-2003 |
Warner Losh <imp@FreeBSD.org> |
If BURN_BRIDGES or _FreeBSD_version >= 6.0 and OBSOLETE_IN_6 is defined, then #error out. This is protected inside of #ifdef _KERNEL. This allows one to tag code in the tree that will be deleted in 6.x with the 'OBSOLETE_IN_6 #define at the top of the file. This makes for easy grepping, plus a mechanism that automatically fails the compilation of those files that are so tagged after we do the cutover. |
#
c1050bf1 |
|
02-Jun-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Document new (starting with 5.x) __FreeBSD_version scheme. |
#
9f0f54ad |
|
02-Jun-2003 |
Scott Long <scottl@FreeBSD.org> |
Oops, __FreeBSD_version should be 501100, not 510100. The former implies that we are at FreeBSD 5.10 Reminded by: everybody Guaranteed not to break world by: imp |
#
46ea4757 |
|
01-Jun-2003 |
Scott Long <scottl@FreeBSD.org> |
Bump __FreeBSD_version to 510100 for 5.1-CURRENT |
#
4b065e2c |
|
01-May-2003 |
Doug Barton <dougb@FreeBSD.org> |
Per previous announcement, remove the old version of the rc system. All functionality from the previous system has been preserved, and users should still customize their system boot with the familiar methods, rc.conf, rc.conf.local, rc.firewall, sysctl.conf, etc. Users who have customized versions of scripts that have been removed should take great care when upgrading, since the compatibility code that used those old scripts has also been removed. |
#
104a9b7e |
|
29-Apr-2003 |
Alexander Kabaev <kan@FreeBSD.org> |
Deprecate machine/limits.h in favor of new sys/limits.h. Change all in-tree consumers to include <sys/limits.h> Discussed on: standards@ Partially submitted by: Craig Rodrigues <rodrigc@attbi.com> |
#
ecbe5207 |
|
17-Apr-2003 |
Jacques Vidrine <nectar@FreeBSD.org> |
Bump __FreeBSD_version for new NSS implementation; addition of getpw*_r, getgr*_r interfaces. |
#
cf0e07e5 |
|
08-Apr-2003 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Sync with NetBSD. - Bump shared library version on libusbhid. - Retire libusbhid.h; it is called usbhid.h now. - hid_start_parse() takes a third argument. - hid_locate() takes a fifth argument. - hid_report_size() order of arguments changes. - Other changes, including formatting and whitespace. Bump __FreeBSD_version. This change will break all third party applications that rely on previous FreeBSD specific behavior. |
#
01114bfc |
|
28-Mar-2003 |
Max Khon <fjoe@FreeBSD.org> |
bump __FreeBSD_version for thread-safe realpath(3) |
#
b5cff0d6 |
|
24-Mar-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Bump __FreeBSD_version for addition of vm_paddr_t and kvtop prototype change. |
#
2690d494 |
|
15-Mar-2003 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Bump __FreeBSD_version for token-ring changes. |
#
7194d335 |
|
15-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Run a revision of the devstat interface: Kernel: Change statistics to use the *uptime() timescale (ie: relative to boottime) rather than the UTC aligned timescale. This makes the device statistics code oblivious to clock steps. Change timestamps to bintime format, they are cheaper. Remove the "busy_count", and replace it with two counter fields: "start_count" and "end_count", which are updated in the down and up paths respectively. This removes the locking constraint on devstat. Add a timestamp argument to devstat_start_transaction(), this will normally be a timestamp set by the *_bio() function in bp->bio_t0. Use this field to calculate duration of I/O operations. Add two timestamp arguments to devstat_end_transaction(), one is the current time, a NULL pointer means "take timestamp yourself", the other is the timestamp of when this transaction started (see above). Change calculation of busy_time to operate on "the salami principle": Only when we are idle, which we can determine by the start+end counts being identical, do we update the "busy_from" field in the down path. In the up path we accumulate the timeslice in busy_time and update busy_from. Change the byte_* and num_* fields into two arrays: bytes[] and operations[]. Userland: Change the misleading "busy_time" name to be called "snap_time" and make the time long double since that is what most users need anyway, fill it using clock_gettime(CLOCK_MONOTONIC) to put it on the same timescale as the kernel fields. Change devstat_compute_etime() to operate on struct bintime. Remove the version 2 legacy interface: the change to bintime makes compatibility far too expensive. Fix a bug in systat's "vm" page where boot relative busy times would be bogus. Bump __FreeBSD_version to 500107 Review & Collaboration by: ken |
#
f37de122 |
|
08-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Retire devstat_add_entry() as a public function and bump __FreeBSD_version to mark this act. |
#
d15f53f7 |
|
03-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bump __FreeBSD_version to mark new cdevsw initialization. |
#
f477b4fd |
|
27-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NODEVFS cleanup: Remove cdevsw_add() and cdevsw_remove(), they served us well for a long time. Bump __FreeBSD_version to 500104 to mark this. |
#
303473e2 |
|
25-Feb-2003 |
Scott Long <scottl@FreeBSD.org> |
Bump __FreeBSD_version to note that taskqueue_swi now runs without Giant, and the Giant-encumbered version is now called taskqueue_swi_giant. |
#
a4910cd2 |
|
25-Feb-2003 |
Maxime Henrion <mux@FreeBSD.org> |
Bump __FreeBSD_version for the d_mmap_t interface change. |
#
a23c180e |
|
18-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bump __FreeBSD_version to mark the fact that <sys/dkstat.h> should no longer be included. |
#
270fcb27 |
|
04-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Increase the allowed length of device names to 63 characters. This is a band-aid while I fret over how much breakage removing the restriction entirely will result in. Please note that this is still a limit for the entire pathname relative to the mountpoint of devfs, so the length of "/dev/fd/3" is 4 characters. |
#
8deebb01 |
|
02-Feb-2003 |
Alfred Perlstein <alfred@FreeBSD.org> |
Consolidate MIN/MAX macros into one place (param.h). Submitted by: Hiten Pandya <hiten@unixdaemons.com> |
#
f50568a8 |
|
16-Jan-2003 |
Scott Long <scottl@FreeBSD.org> |
Bump __FreeBSD_version to 500100 to allow us to differentiate HEAD from RELENG_5_0 and allow RELENG_5_) to grow. |
#
007dfa78 |
|
01-Nov-2002 |
Doug Rabson <dfr@FreeBSD.org> |
Bump version to account for the presence of pthread_XXX stubs in libc. |
#
77e4f5d1 |
|
15-Oct-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version for the Binutils 2.13 upgrade, which includes the new FreeBSD emulation, vec, and output format. |
#
3a0f9fbc |
|
30-Sep-2002 |
Eric Melville <eric@FreeBSD.org> |
Increment version number for the addition of getopt_long(3) to libc. |
#
9acdabbe |
|
23-Sep-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Add an NBBY define to eventually replace the one in <sys/types.h>. |
#
f90c382c |
|
19-Sep-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make FreeBSD "struct disklabel" agnostic, step 311 of 723: Rename diskerr() to disk_err() for naming consistency. Drop the by now entirely useless struct disklabel argument. Add a flag argument for new-line termination. Fix a couple of printf-format-casts to %j instead of %l. Correctly print the name of all bio commands. Move the function from subr_disklabel.c to subr_disk.c, and from <sys/disklabel.h> to <sys/disk.h>. Use the new disk_err() throughout, #include <sys/disk.h> as needed. Bump __FreeBSD_version for the sake of the aac disk drivers #ifdefs. Remove unused disklabel members of softc for aac, amr and mlx, which seem to originally have been intended for diskerr() use, but which only rotted and got Copy&Pasted at least two times to many. Sponsored by: DARPA & NAI Labs. |
#
efc8456c |
|
31-Aug-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Bump __FreeBSD_version for _BSD_FOO_T_ to _FOO_T_DECLARED switch. This should have been committed about a week ago to coincide with the actual changes. |
#
60e4a5e5 |
|
29-Aug-2002 |
Peter Wemm <peter@FreeBSD.org> |
AARGH! btoc() is used in the MI buffer sizing routines to calculate the minimum of either physmem or KVA. But.. btoc() casts the address to (unsigned int). This is NOT GOOD on 64 bit machines and on alpha and ia64, this results in a buffer limit of around 500K (not megs). This causes extreme disk access problems on alpha and ia64. Since this cast is simply to ensure that it is unsigned, use 'vm_offset_t' instead. This is available because it is already defined in types.h. Alpha has been suffering from this for ages. It always felt like the caching wasn't working, and unfortunately it turned out that way. :-( |
#
f824b518 |
|
23-Jul-2002 |
John Polstra <jdp@FreeBSD.org> |
Widen struct sockbuf's sb_timeo member to int from short. With non-default but reasonable values of hz this member overflowed, breaking NFS over UDP. Also, as long as I'm plowing up struct sockbuf ... Change certain members from u_long/long to u_int/int in order to reduce wasted space on 64-bit machines. This change was requested by Andrew Gallatin. Netstat and systat need to be rebuilt. I am incrementing __FreeBSD_version in case any ports need to change. |
#
c329aeec |
|
15-Jul-2002 |
Mark Murray <markm@FreeBSD.org> |
Help lint out a bit; wrap some functions (redefined as macros) in #ifdef. |
#
22ed0c9a |
|
03-Jun-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
NODEV is defined the same in _KERNEL and !_KERNEL case, so move it out from the preprocessor conditional, and remove the now-empty #else. Reviewed by: asmodai |
#
b3ec920c |
|
29-May-2002 |
Garrett Wollman <wollman@FreeBSD.org> |
Version bump for addition of dlfunc(3). |
#
96c83416 |
|
16-May-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version to note that Perl is not in /usr/src any more. |
#
6380601f |
|
14-May-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move MI stuff out of MD param.h files. It can all still be overridden in the MD files should need suddenly arise. |
#
ef372b65 |
|
13-May-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump for GCC 3.1. |
#
47bbd753 |
|
30-Apr-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Document the location (in the source tree) of the "Porter's Handbook". |
#
a8f6daae |
|
30-Apr-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Bump __FreeBSD_version for mtx_init() change. Document same. Forgotten by: jhb |
#
a30d4b32 |
|
26-Apr-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Move the new byte order function prototypes from <sys/param.h> to <sys/endian.h>. This puts us in line with NetBSD and OpenBSD. |
#
1fd02886 |
|
10-Apr-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Stop exporting ntohl(), ntohs(), htonl(), and htons() to userland in <sys/param.h>. |
#
a463023d |
|
03-Apr-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the FFS parameter MAXFRAG from <sys/param.h> to <ufs/ffs/fs.h> Sponsored by: DARPA & NAI Labs. |
#
2417ffe3 |
|
03-Apr-2002 |
Sheldon Hearn <sheldonh@FreeBSD.org> |
Bump __FreeBSD_version to reflect the new tri-state nature of the sendmail_enable rc.conf flag. This will help MTA port maintainers. |
#
789f12fe |
|
19-Mar-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Remove __P |
#
19026919 |
|
16-Mar-2002 |
Mark Murray <markm@FreeBSD.org> |
Bump the FreeBSD version to mark the import of Perl 5.6.1. |
#
d846855d |
|
09-Mar-2002 |
Mike Barcroft <mike@FreeBSD.org> |
o Don't require long long support in bswap64() functions. o In i386's <machine/endian.h>, macros have some advantages over inlines, so change some inlines to macros. o In i386's <machine/endian.h>, ungarbage collect word_swap_int() (previously __uint16_swap_uint32), it has some uses on i386's with PDP endianness. Submitted by: bde o Move a comment up in <machine/endian.h> that was accidentially moved down a few revisions ago. o Reenable userland's use of optimized inline-asm versions of byteorder(3) functions. o Fix ordering of prototypes vs. redefinition of byteorder(3) functions, so that the non-GCC (libc asm) case has proper prototypes. o Add proper prototypes for byteorder(3) functions in <sys/param.h>. o Prevent redundant duplicate prototypes by making use of the _BYTEORDER_PROTOTYPED define. o Move the bswap16(), bswap32(), bswap64() C functions into MD space for platforms in which asm versions don't exist. This significantly reduces the complexity of some things at the cost of duplicate code. Reviewed by: bde |
#
0497c9b4 |
|
28-Feb-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Remove the now unused NTOHL() family of macros. |
#
90ce56c2 |
|
27-Feb-2002 |
Thomas Moestl <tmm@FreeBSD.org> |
Add the following functions/macros to support byte order conversions and device drivers for bus system with other endinesses than the CPU (using interfaces compatible to NetBSD): - bwap16() and bswap32(). These have optimized implementations on some architectures; for those that don't, there exist generic implementations. - macros to convert from a certain byte order to host byte order and vice versa, using a naming scheme like le16toh(), htole16(). These are implemented using the bswap functions. - stream bus space access functions, which do not perform a byte order conversion (while the normal access functions would if the bus endianess differs from the CPU endianess). htons(), htonl(), ntohs() and ntohl() are implemented using the new functions above for kernel usage. None of the above interfaces is currently exported to user land. Make use of the new functions in a few places where local implementations of the same functionality existed. Reviewed by: mike, bde Tested on alpha by: mike |
#
3f7ad4d5 |
|
24-Feb-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
bump __FreeBSD_version for usb structure rename. |
#
fd8e4ebc |
|
18-Feb-2002 |
Mike Barcroft <mike@FreeBSD.org> |
o Move NTOHL() and associated macros into <sys/param.h>. These are deprecated in favor of the POSIX-defined lowercase variants. o Change all occurrences of NTOHL() and associated marcros in the source tree to use the lowercase function variants. o Add missing license bits to sparc64's <machine/endian.h>. Approved by: jake o Clean up <machine/endian.h> files. o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>. o Remove prototypes for non-existent bswapXX() functions. o Include <machine/endian.h> in <arpa/inet.h> to define the POSIX-required ntohl() family of functions. o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>, and <sys/param.h>. o Prepend underscores to the ntohl() family to help deal with complexities associated with having MD (asm and inline) versions, and having to prevent exposure of these functions in other headers that happen to make use of endian-specific defines. o Create weak aliases to the canonical function name to help deal with third-party software forgetting to include an appropriate header. o Remove some now unneeded pollution from <sys/types.h>. o Add missing <arpa/inet.h> includes in userland. Tested on: alpha, i386 Reviewed by: bde, jake, tmm |
#
3b7a4c4b |
|
15-Feb-2002 |
Garrett Wollman <wollman@FreeBSD.org> |
Resurrect one of the easiest changes from my big include files roll-up patch from a year ago: give file flags their own type. This does not (yet) change the type used by system calls or library functions. The underlying type was chosen to match what is returned by stat(). |
#
196c1aa4 |
|
10-Feb-2002 |
Bruce Evans <bde@FreeBSD.org> |
Move the declaration of panic() from sys/param.h back to sys/systm.h. Almost all .c files have to include <sys/systm.h> for more than its declaration of panic(), so little is gained from declaring panic() in a wrong place. This probably depends on missing garbage collection of the includes of <sys/systm.h> that were added to get snprintf() declared for old versions of the ktr macros. |
#
60eda641 |
|
28-Jan-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Bump __FreeBSD_version for sendfile fix to properly send 'nbytes' of file when headers are supplied (version 1.104 of src/sys/kern/uipc_syscalls.c) |
#
6e5c224e |
|
13-Dec-2001 |
Sheldon Hearn <sheldonh@FreeBSD.org> |
Bump __FreeBSD_version for userland smbfs import. |
#
5f2fc29a |
|
09-Oct-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump FreeBSD_version for strcasestr() |
#
2009ab82 |
|
09-Oct-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump for switch to XFree86 4.x. |
#
ecac78e7 |
|
04-Oct-2001 |
David Malone <dwmalone@FreeBSD.org> |
Bump __FreeBSD_version after change in ABI for discriptor and creds passing on 64 bit platforms. Reviewed by: imp |
#
cf7ed683 |
|
01-Oct-2001 |
Warner Losh <imp@FreeBSD.org> |
Add d_thread_t. This is a typedef for struct thread in -current and will be one for struct proc in stable. those drivers needing to have cross version portability should use d_thread_t instead of inventing their own means. Non-drivers, and drivers that either only run on -current or must look under the covers of the struct proc/thread should must not use this. As noted in arch@, this minorly violates style(9), but the sys/conf.h devsw already violates this and all I'm doing is extending the violation to ease the burdon on device driver writers. It was judged that this minor violation, which doesn't impact userland or those people not using it, was preferable to the alternatives (eg #define proc thread). C does not allow a way to rename or alias structs easily, so we fall back to using a typedef. Bump FreeBSD_version to reflect this change (porters guide to be done in a separate commit). |
#
e8ef9650 |
|
17-Sep-2001 |
Mike Silbersack <silby@FreeBSD.org> |
Fix a typo: documenation -> documentation |
#
cfcb8052 |
|
13-Sep-2001 |
Warner Losh <imp@FreeBSD.org> |
Bump version to 500023 to reflect massive changes necessary for the KSE Milestone 2 commit. |
#
1432aa0c |
|
23-Aug-2001 |
John Baldwin <jhb@FreeBSD.org> |
Add a new kernel option RESTARTABLE_PANICS. If this option is present, then one can restart from a panic by resetting the panicstr variable to NULL. This commit conditionalizes the previously committed functionality on this variable. It also removes the __dead2 attribute from the panic() function so that when one continues from a panic() the behavior will be predictable. |
#
c37c2d03 |
|
09-Aug-2001 |
John Baldwin <jhb@FreeBSD.org> |
Bump MAXCOMLEN from 16 to 19 to take advantage of 32-bit alignment. Approved by: peter, jasone |
#
9ceb1844 |
|
30-Jul-2001 |
Jake Burkholder <jake@FreeBSD.org> |
Machine dependent ifdefs for sparc64. |
#
d09d8a1e |
|
23-Jul-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Remind people to document bumps in the Porter's Handbook. |
#
51ae779a |
|
12-Jul-2001 |
Peter Wemm <peter@FreeBSD.org> |
Bump param, for SSE support and include file impact (<machine/pcb.h>) |
#
73325acb |
|
22-Jun-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
People wanted this bumped for the Bzip2 import. |
#
e566a421 |
|
15-Jun-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump FreeBSD_version to indicate locale renaming |
#
d7a8aebd |
|
09-Jun-2001 |
Brian Somers <brian@FreeBSD.org> |
Bump __FreeBSD_version to reflect machine/ioctl_fd.c moving to sys/fdcio.h |
#
240ef842 |
|
01-Jun-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Back out jesper's 2001/05/31 14:58:11 PDT commit. It does not compile. |
#
cf7e5998 |
|
31-May-2001 |
Jesper Skriver <jesper@FreeBSD.org> |
Move the definition of NMBCLUSTERS from src/sys/kern/uipc_mbuf.c to <sys/param.h>, so it's available to src/sys/netinet/ip_input.c MFC after: 1 week |
#
9b1db091 |
|
24-Feb-2001 |
Kris Kennaway <kris@FreeBSD.org> |
Bump FreeBSD version to correspond to addition of CPUTYPE make variable. |
#
c0511d3b |
|
18-Feb-2001 |
Brian Feldman <green@FreeBSD.org> |
Switch to using a struct xucred instead of a struct xucred when not actually in the kernel. This structure is a different size than what is currently in -CURRENT, but should hopefully be the last time any application breakage is caused there. As soon as any major inconveniences are removed, the definition of the in-kernel struct ucred should be conditionalized upon defined(_KERNEL). This also changes struct export_args to remove dependency on the constantly-changing struct ucred, as well as limiting the bounds of the size fields to the correct size. This means: a) mountd and friends won't break all the time, b) mountd and friends won't crash the kernel all the time if they don't know what they're doing wrt actual struct export_args layout. Reviewed by: bde |
#
d5a08a60 |
|
11-Feb-2001 |
Jake Burkholder <jake@FreeBSD.org> |
Implement a unified run queue and adjust priority levels accordingly. - All processes go into the same array of queues, with different scheduling classes using different portions of the array. This allows user processes to have their priorities propogated up into interrupt thread range if need be. - I chose 64 run queues as an arbitrary number that is greater than 32. We used to have 4 separate arrays of 32 queues each, so this may not be optimal. The new run queue code was written with this in mind; changing the number of run queues only requires changing constants in runq.h and adjusting the priority levels. - The new run queue code takes the run queue as a parameter. This is intended to be used to create per-cpu run queues. Implement wrappers for compatibility with the old interface which pass in the global run queue structure. - Group the priority level, user priority, native priority (before propogation) and the scheduling class into a struct priority. - Change any hard coded priority levels that I found to use symbolic constants (TTIPRI and TTOPRI). - Remove the curpriority global variable and use that of curproc. This was used to detect when a process' priority had lowered and it should yield. We now effectively yield on every interrupt. - Activate propogate_priority(). It should now have the desired effect without needing to also propogate the scheduling class. - Temporarily comment out the call to vm_page_zero_idle() in the idle loop. It interfered with propogate_priority() because the idle process needed to do a non-blocking acquire of Giant and then other processes would try to propogate their priority onto it. The idle process should not do anything except idle. vm_page_zero_idle() will return in the form of an idle priority kernel thread which is woken up at apprioriate times by the vm system. - Update struct kinfo_proc to the new priority interface. Deliberately change its size by adjusting the spare fields. It remained the same size, but the layout has changed, so userland processes that use it would parse the data incorrectly. The size constraint should really be changed to an arbitrary version number. Also add a debug.sizeof sysctl node for struct kinfo_proc. |
#
5b2b5af8 |
|
24-Jan-2001 |
Daniel Eischen <deischen@FreeBSD.org> |
Bump FreeBSD version to reflect changes to libc and libc_r. |
#
f0610a03 |
|
10-Jan-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version for libgcc/linking changes. |
#
fe8df3b6 |
|
03-Jan-2001 |
Garrett Wollman <wollman@FreeBSD.org> |
Move `struct selinfo' and related functions to <sys/selinfo.h>. Bump __FreeBSD_version to reflect the move. For the moment, <sys/select.h> includes <sys/selinfo.h> to allow clients time to catch up. Changes made in preparation for SUSv2/POSIX <sys/select.h> requirements. |
#
918c9eec |
|
29-Sep-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add ia64 support. |
#
a2cdd9d9 |
|
16-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move SPECNAMELEN from <sys/conf.h> to <sys/param.h> |
#
1534d6d8 |
|
16-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove a few leftover CLBYTES related bits. This was in the good old days to patch up a logical pagesize on hardware with stupid VM pagesize. Vaxen I belive. |
#
817bf5d4 |
|
10-Sep-2000 |
Jake Burkholder <jake@FreeBSD.org> |
Rename tsleep to msleep and add a mutex argument, which is released before sleeping and re-acquired before msleep returns. A compatibility cpp macro has been provided for tsleep to avoid changing all occurences of it in the kernel. Remove an assertion that the Giant mutex be held before calling tsleep or asleep. This is intended to serve the same purpose as condition variables, but does not preclude their addition in the future. Approved by: jasone Obtained from: BSD/OS |
#
688088f7 |
|
10-Sep-2000 |
Peter Wemm <peter@FreeBSD.org> |
Bump __FreeBSD_version to 500013 after SMPng step 1 hit the tree. If anything deserves to bump the version, surely this does. |
#
0b32abca |
|
02-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bite the bullet and provde memcmp() and memset(), this will be cheaper than all the copy&paste versions we already have :-( |
#
b466fddd |
|
01-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Oops, only memset() is unsupported. |
#
aa1ba3e4 |
|
01-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Purposely break kernel code which uses memset and memcpy to prevent people from not noticing this is wrong just because they can't be bothered to testcompile LINT. |
#
9feac5c2 |
|
01-Sep-2000 |
Brian Somers <brian@FreeBSD.org> |
Move setproctitle() from libutil to libc (after a repo-copy) and bump __FreeBSD_version to 500012 to mark the occasion. setproctitle() is prototyped in unistd.h as opposed to stdlib.h where OpenBSD and NetBSD have it. Reviewed by: peter |
#
5f4afc13 |
|
18-Jul-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
FreeBSD_version bump for changed kqueue API. |
#
8804e81e |
|
16-Jul-2000 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump __FreeBSD_version to indicate mtree defaults changed back to original |
#
f8725add |
|
14-Jul-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Bump __FreeBSD_version to mark the ether_ifattach()/ether_ifdetach() changes. This allows the VMWare port to be unbroken, using a patch based on it. Requested by: haro@tk.kubota.co.jp (Munehiro Matsuda) |
#
f2542885 |
|
07-Jul-2000 |
Kris Kennaway <kris@FreeBSD.org> |
Bump __FreeBSD_version to note KAME upgrade |
#
1dea2d58 |
|
29-Jun-2000 |
Satoshi Asami <asami@FreeBSD.org> |
Increment __FreeBSD_version to mark perl5 upgrade in -current. (I know, a little late, but snaps with the new perl5 aren't showing up yet so it should still help.) |
#
49303179 |
|
10-Jun-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Increment __FreeBSD_version to allow detection of AGP interfaces. |
#
57b1db33 |
|
03-Jun-2000 |
Andrey A. Chernov <ache@FreeBSD.org> |
Version bump to indicate libxpg4 merging to libc |
#
4590b8aa |
|
25-May-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version after the Binutils upgrade -- just in case a port or someone needs to decern the event. |
#
35ae30f8 |
|
18-May-2000 |
Bill Fumerola <billf@FreeBSD.org> |
bump __FreeBSD_version for the bio/buf divorce by phk. |
#
3dd227c2 |
|
02-May-2000 |
Peter Wemm <peter@FreeBSD.org> |
Bump FreeBSD_version after module version changes Submitted by: knu |
#
226f14bc |
|
30-Apr-2000 |
Brian Feldman <green@FreeBSD.org> |
Change the scheduler to actually respect the PUSER barrier. It's been wrong for many years that negative niceness would lower the priority of a process below PUSER, and once below PUSER, there were conditionals in the code that are required to test for whether a process was in the kernel which would break. The breakage could (and did) cause lock-ups, basically nothing else but the least nice program being able to run in some conditions. The algorithm which adjusts the priority now subtracts PRIO_MIN to do things properly, and the ESTCPULIM() algorithm was updated to use PRIO_TOTAL (PRIO_MAX - PRIO_MIN) to calculate the estcpu. NICE_WEIGHT is now 1 to accomodate the full range of priorities better (a -20 process with full CPU time has the priority of a +0 process with no CPU time). There are now 20 queues (exactly; 80 priorities) for use in user processes' scheduling, and PUSER has been lowered to 48 to accomplish this. This means, to the user, that things will be scheduled more correctly (noticeable), there is no lock-up anymore WRT a niced -20 process never releasing the CPU time for other processes. In this fair system, tsleep()ed < PUSER processes now will get the proper higher priority than priority >= PUSER user processes. The detective work of this was done by me, along with part of the solution. Luoqi Chen has provided most of the solution, and really helped me understand what was happening better, to boot :) Submitted by: luoqi Concept reviewed by: bde |
#
f1281804 |
|
17-Apr-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump to note the changes in the ELF binary header and our brandelf method. |
#
7c58e473 |
|
27-Mar-2000 |
Matthew Dillon <dillon@FreeBSD.org> |
Commit the buffer cache cleanup patch to 4.x and 5.x. This patch fixes a fragmentation problem due to geteblk() reserving too much space for the buffer and imposes a larger granularity (16K) on KVA reservations for the buffer cache to avoid fragmentation issues. The buffer cache size calculations have been redone to simplify them (fewer defines, better comments, less chance of running out of KVA). The geteblk() fix solves a performance problem that DG was able reproduce. This patch does not completely fix the KVA fragmentation problems, but it goes a long way Mostly Reviewed by: bde and others Approved by: jkh |
#
1df05fbe |
|
13-Mar-2000 |
Bill Fumerola <billf@FreeBSD.org> |
Welcome to 5.0-CURRENT. (__FreeBSD_version = 500000) Approved by: jkh, phk |
#
0990cf94 |
|
26-Feb-2000 |
Kris Kennaway <kris@FreeBSD.org> |
Crank __FreeBSD_version for OpenSSH Approved by: jkh |
#
554d1e2e |
|
27-Jan-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version and __FreeBSD_cc_version due to the C++ ABI change in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default. |
#
1180a889 |
|
17-Jan-2000 |
Kris Kennaway <kris@FreeBSD.org> |
Bump __FreeBSD_version due to openssl import. |
#
664a31e4 |
|
28-Dec-1999 |
Peter Wemm <peter@FreeBSD.org> |
Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come. |
#
a8d6ce6f |
|
04-Dec-1999 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Bump the version number now that the Linuxulator has pluggable ioctl handlers. |
#
476abd45 |
|
14-Nov-1999 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version to 400012 to mark the cutover of the system compiler to GCC 2.95.2. |
#
2c42a146 |
|
29-Sep-1999 |
Marcel Moolenaar <marcel@FreeBSD.org> |
sigset_t change (part 2 of 5) ----------------------------- The core of the signalling code has been rewritten to operate on the new sigset_t. No methodological changes have been made. Most references to a sigset_t object are through macros (see signalvar.h) to create a level of abstraction and to provide a basis for further improvements. The NSIG constant has not been changed to reflect the maximum number of signals possible. The reason is that it breaks programs (especially shells) which assume that all signals have a non-null name in sys_signame. See src/bin/sh/trap.c for an example. Instead _SIG_MAXSIG has been introduced to hold the maximum signal possible with the new sigset_t. struct sigprop has been moved from signalvar.h to kern_sig.c because a) it is only used there, and b) access must be done though function sigprop(). The latter because the table doesn't holds properties for all signals, but only for the first NSIG signals. signal.h has been reorganized to make reading easier and to add the new and/or modified structures. The "old" structures are moved to signalvar.h to prevent namespace polution. Especially the coda filesystem suffers from the change, because it contained lines like (p->p_sigmask == SIGIO), which is easy to do for integral types, but not for compound types. NOTE: kdump (and port linux_kdump) must be recompiled. Thanks to Garrett Wollman and Daniel Eischen for pressing the importance of changing sigreturn as well. |
#
3e148c40 |
|
26-Sep-1999 |
Eivind Eklund <eivind@FreeBSD.org> |
Move the declaration of panic() from sys/systm.h to sys/param.h. Rationale: Wider access, so we can add assertions to header files. panicstr is still in sys/systm.h Suggested by: phk Discussed with: peter |
#
2fe5bd8b |
|
25-Sep-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Fix a hole in jail(2). Noticed by: Alexander Bezroutchko <abb@zenon.net> |
#
c3aac50f |
|
27-Aug-1999 |
Peter Wemm <peter@FreeBSD.org> |
$Id$ -> $FreeBSD$ |
#
698bfad7 |
|
20-Jul-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Now a dev_t is a pointer to struct specinfo which is shared by all specdev vnodes referencing this device. Details: cdevsw->d_parms has been removed, the specinfo is available now (== dev_t) and the driver should modify it directly when applicable, and the only driver doing so, does so: vn.c. I am not sure the logic in checking for "<" was right before, and it looks even less so now. An intial pool of 50 struct specinfo are depleted during early boot, after that malloc had better work. It is likely that fewer than 50 would do. Hashing is done from udev_t to dev_t with a prime number remainder hash, experiments show no better hash available for decent cost (MD5 is only marginally better) The prime number used should not be close to a power of two, we use 83 for now. Add new checkalias2() to get around the loss of info from dev2udev() in bdevvp(); The aliased vnodes are hung on a list straight of the dev_t, and speclisth[SPECSZ] is unused. The sharing of struct specinfo means that the v_specnext moves into the vnode which grows by 4 bytes. Don't use a VBLK dev_t which doesn't make sense in MFS, now we hang a dummy cdevsw on B/Cmaj 253 so that things look sane. Storage overhead from all of this is O(50k). Bump __FreeBSD_version to 400009 The next step will add the stuff needed so device-drivers can start to hang things from struct specinfo |
#
e18a82c5 |
|
20-Jun-1999 |
John Birrell <jb@FreeBSD.org> |
Bump the __FreeBSD_version number now that libc_r contains a wrapper for the poll syscall. |
#
f29be021 |
|
17-Jun-1999 |
Brian Feldman <green@FreeBSD.org> |
Reviewed by: the cast of thousands This is the change to struct sockets that gets rid of so_uid and replaces it with a much more useful struct pcred *so_cred. This is here to be able to do socket-level credential checks (i.e. IPFW uid/gid support, to be added to HEAD soon). Along with this comes an update to pidentd which greatly simplifies the code necessary to get a uid from a socket. Soon to come: a sysctl() interface to finding individual sockets' credentials. |
#
2447bec8 |
|
31-May-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Simplify cdevsw registration. The cdevsw_add() function now finds the major number(s) in the struct cdevsw passed to it. cdevsw_add_generic() is no longer needed, cdevsw_add() does the same thing. cdevsw_add() will print an message if the d_maj field looks bogus. Remove nblkdev and nchrdev variables. Most places they were used bogusly. Instead check a dev_t for validity by seeing if devsw() or bdevsw() returns NULL. Move bdevsw() and devsw() functions to kern/kern_conf.c Bump __FreeBSD_version to 400006 This commit removes: 72 bogus makedev() calls 26 bogus SYSINIT functions if_xe.c bogusly accessed cdevsw[], author/maintainer please fix. I4b and vinum not changed. Patches emailed to authors. LINT probably broken until they catch up. |
#
bfbb9ce6 |
|
11-May-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Divorce "dev_t" from the "major|minor" bitmap, which is now called udev_t in the kernel but still called dev_t in userland. Provide functions to manipulate both types: major() umajor() minor() uminor() makedev() umakedev() dev2udev() udev2dev() For now they're functions, they will become in-line functions after one of the next two steps in this process. Return major/minor/makedev to macro-hood for userland. Register a name in cdevsw[] for the "filedescriptor" driver. In the kernel the udev_t appears in places where we have the major/minor number combination, (ie: a potential device: we may not have the driver nor the device), like in inodes, vattr, cdevsw registration and so on, whereas the dev_t appears where we carry around a reference to a actual device. In the future the cdevsw and the aliased-from vnode will be hung directly from the dev_t, along with up to two softc pointers for the device driver and a few houskeeping bits. This will essentially replace the current "alias" check code (same buck, bigger bang). A little stunt has been provided to try to catch places where the wrong type is being used (dev_t vs udev_t), if you see something not working, #undef DEVT_FASCIST in kern/kern_conf.c and see if it makes a difference. If it does, please try to track it down (many hands make light work) or at least try to reproduce it as simply as possible, and describe how to do that. Without DEVT_FASCIST I belive this patch is a no-op. Stylistic/posixoid comments about the userland view of the <sys/*.h> files welcome now, from userland they now contain the end result. Next planned step: make all dev_t's refer to the same devsw[] which means convert BLK's to CHR's at the perimeter of the vnodes and other places where they enter the game (bootdev, mknod, sysctl). |
#
dd3ebe6b |
|
09-May-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Don't confuse dev_t and major numbers in DEV_MODULE() |
#
0fc6acbf |
|
27-Apr-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
bump __FreeBSD_version to 400005: suser() API changed. |
#
6f2a248b |
|
04-Apr-1999 |
John Polstra <jdp@FreeBSD.org> |
Bump __FreeBSD_version to 400004 now that the __deregister_frame_info bug is fixed in the dynamic linker. I think it might be handy to know about this to deal with some coming make world bootstrapping issues. |
#
d5477a46 |
|
26-Mar-1999 |
Steve Price <steve@FreeBSD.org> |
Bump __FreeBSD_version to denote that we now have a functional dladdr(3) implementation. Discussed with: jdp, nate |
#
0738f6e0 |
|
12-Mar-1999 |
John Polstra <jdp@FreeBSD.org> |
Reverse the order of processing object files within an executable or shared library when invoking global constructors and destructors. For constructors, the object files used to be processed from first to last; now they're done from last to first. (Destructors are done in the opposite order, as required by the C++ standard.) This makes us consistent with standard gcc and egcs compilers. It also eliminates ordering differences between dynamic and static executables. Bump the value of __FreeBSD_version to 400002 to reflect this change. |
#
d6f468ef |
|
20-Feb-1999 |
John Polstra <jdp@FreeBSD.org> |
Increment __FreeBSD_version to reflect the fact that the kernel can now handle dynamic linkers which are statically linked executables. |
#
48b4c7d5 |
|
22-Jan-1999 |
Eivind Eklund <eivind@FreeBSD.org> |
__FreeBSD_version -> 400000 Forgotten by: Some anonymous release engineer Reminded by: bde |
#
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> |
#
9af06d79 |
|
16-Oct-1998 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
post-tag version bump. We're now back at 3.0-current! |
#
00347c3f |
|
15-Oct-1998 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Bump freebsd version #. |
#
9a797b88 |
|
03-Sep-1998 |
Satoshi Asami <asami@FreeBSD.org> |
Bump __FreeBSD_version to 300004 to indicate post E-day. Reviewed by: jdp |
#
722a066c |
|
12-Jul-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Set the minimum malloc bucket to 5. In a DIAGNOSTIC kernel, the extra data in struct freelist is larger than 16 bytes on the alpha. |
#
d860c4c0 |
|
06-Jul-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Shorten line. Prodded (long time ago) by: bde |
#
ecbb00a2 |
|
07-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
This commit fixes various 64bit portability problems required for FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time. |
#
64216a95 |
|
02-Jun-1998 |
John Polstra <jdp@FreeBSD.org> |
Increment __FreeBSD_version because the semctl() prototype changed in <sys/sem.h>. |
#
3933c622 |
|
21-May-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Move __FreeBSD_version from src/sys/conf/newvers.sh to src/sys/sys/param.h, to facilitate access from the kernel. This make it possible to do outside kernel development and have it actually work properly. |
#
94610ec4 |
|
20-May-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Back out previous commit - it breaks when called from 'buildworld' :-( (Damn, I wanted that in the -snap). |
#
a5eed7b8 |
|
20-May-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Move __FreeBSD_version into <sys/param.h> (with automated duplication to <osreldate.h>). This allow kernel drivers access to it. Approved by: -current |
#
08637435 |
|
28-Mar-1998 |
Bruce Evans <bde@FreeBSD.org> |
Moved some #includes from <sys/param.h> nearer to where they are actually used. |
#
5957b261 |
|
21-Sep-1997 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
buf.h: Change the definition of a buffer queue so that bufqdisksort can properly deal with bordered writes. Add inline functions for accessing buffer queues. This should be considered an opaque data structure by clients. callout.h: New callout implementation. device.h: Add support for CAM interrupts. disk.h: disklabel.h: tqdisksort->bufqdisksort kernel.h: Add new configuration entries for configuration hooks and calling cpu_rootconf and cpu_dumpconf. param.h: Add a priority for sleeping waiting on config hooks. proc.h: Update for new callout implementation. queue.h: Add TAILQ_HEAD_INITIALIZER from NetBSD. systm.h: Add prototypes for cpu_root/dumpconf, splcam, splsoftcam, etc.. |
#
e91f3cb0 |
|
03-Mar-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
Use roundup(MAXLOGNAME, sizeof(long)) as e_login/s_login arrays size instead of all hardcoded assumptions historically used (i.e. sizeof(long) == 4) Use MAXLOGNAME == 17 for stricter setlogin() size checking. Since it rounds up to 20, all sizes remains the same |
#
1366201a |
|
03-Mar-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump MAXLOGNAME to 20 to really hold 16-bytes user names + NUL and decrease spare array by one to keep the same size of eproc |
#
3bf4871a |
|
03-Mar-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
Restore MAXLOGNAME comment, but in slightly different form |
#
30058215 |
|
02-Mar-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
Back out 1.21 change because MAXLOGNAME _not_ includes NUL character in BSD |
#
6875d254 |
|
22-Feb-1997 |
Peter Wemm <peter@FreeBSD.org> |
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet. |
#
db2c3116 |
|
07-Feb-1997 |
David Nugent <davidn@FreeBSD.org> |
Correct comments relating to MAXLOGNAME. MAXLOGNAME includes NUL terminator. |
#
1130b656 |
|
14-Jan-1997 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Make the long-awaited change from $Id$ to $FreeBSD$ This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise. |
#
3596818b |
|
04-Dec-1996 |
John Dyson <dyson@FreeBSD.org> |
Clean-up of the new buffer kva allocation code. Also, there was an error in the !BOUNCE_BUFFERS case. |
#
96b2533e |
|
04-Dec-1996 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Bump maximum username length to 16 characters. This brings us into line with BSD/OS and Linux's username limits, making transitioning from either operating system a lot easier than it is now. I'm currently running with this change on my system, as are several others, and have experienced no ill effects. This is not for 2.2! This needs to get shaken out longer term in 3.0. Previously-approved-by: davidg |
#
09e0c6cc |
|
30-Nov-1996 |
John Dyson <dyson@FreeBSD.org> |
Implement a new totally dynamic (up to MAXPHYS) buffer kva allocation scheme. Additionally, add the capability for checking for unexpected kernel page faults. The maximum amount of kva space for buffers hasn't been decreased from where it is, but it will now be possible to do so. This scheme manages the kva space similar to the buffers themselves. If there isn't enough kva space because of usage or fragementation, buffers will be reclaimed until a buffer allocation is successful. This scheme should be very resistant to fragmentation problems until/if the LFS code is fixed and uses the bogus buffer locking scheme -- but a 'fixed' LFS is not likely to use such a scheme. Now there should be NO problem allocating buffers up to MAXPHYS. |
#
0bf0ee81 |
|
27-Nov-1996 |
John Dyson <dyson@FreeBSD.org> |
Potentially fix a problem, whereby MSDOSFS can request buffers larger than the vfs layer can provide. We now automatically support 32K clusters if MSDOSFS is installed, and panic if a filesystem tries to allocate a buffer larger than MAXBSIZE. This commit is a result of some "prodding" by BDE. |
#
e911eafc |
|
02-May-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
removed: CLBYTES PD_SHIFT PGSHIFT NBPG PGOFSET CLSIZELOG2 CLSIZE pdei() ptei() kvtopte() ptetov() ispt() ptetoav() &c &c new: NPDEPG Major macro cleanup. |
#
0bf8ba04 |
|
10-Mar-1996 |
Jeffrey Hsu <hsu@FreeBSD.org> |
Merge in Lite2: bump BSD date from 199306 to 199506. Reviewed by: davidg & bde |
#
dedb7b62 |
|
23-Feb-1996 |
Peter Wemm <peter@FreeBSD.org> |
Garrett pointed out that the correct place for unix system call args is <sys/unistd.h>, with the prototype in <unistd.h>. sys/unistd.h is visible to the kernel compile, and is #included by unistd.h. Also, I missed a reference to a static int in the midst of my other diffs. |
#
dabee6fe |
|
23-Feb-1996 |
Peter Wemm <peter@FreeBSD.org> |
kern_descrip.c: add fdshare()/fdcopy() kern_fork.c: add the tiny bit of code for rfork operation. kern/sysv_*: shmfork() takes one less arg, it was never used. sys/shm.h: drop "isvfork" arg from shmfork() prototype sys/param.h: declare rfork args.. (this is where OpenBSD put it..) sys/filedesc.h: protos for fdshare/fdcopy. vm/vm_mmap.c: add minherit code, add rounding to mmap() type args where it makes sense. vm/*: drop unused isvfork arg. Note: this rfork() implementation copies the address space mappings, it does not connect the mappings together. ie: once the two processes have split, the pages may be shared, but the address space is not. If one does a mmap() etc, it does not appear in the other. This makes it not useful for pthreads, but it is useful in it's own right for having light-weight threads in a static shared address space. Obtained from: Original by Ron Minnich, extended by OpenBSD |
#
6c5e9bbd |
|
30-Jan-1996 |
Mike Pritchard <mpp@FreeBSD.org> |
Fix a bunch of spelling errors in the comment fields of a bunch of system include files. |
#
466b676a |
|
05-Dec-1995 |
Bruce Evans <bde@FreeBSD.org> |
Define FALSE and TRUE in <sys/param.h> (if KERNEL is defined) as well as in <vm/vm_param.h> so that <vm/vm.h> doesn't have to be included in kernel sources just to get the definitions of these fundamental vm (;-) quantities. |
#
1784a84a |
|
06-Oct-1995 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add roundup2(x,y) for when y is a power of two. |
#
a401ebbe |
|
13-May-1995 |
David Greenman <dg@FreeBSD.org> |
Changed swap partition handling/allocation so that it doesn't require specific partitions be mentioned in the kernel config file ("swap on foo" is now obsolete). From Poul-Henning: The visible effect is this: As default, unless options "NSWAPDEV=23" is in your config, you will have four swap-devices. You can swapon(2) any block device you feel like, it doesn't have to be in the kernel config. There is a performance/resource win available by getting the NSWAPDEV right (but only if you have just one swap-device ??), but using that as default would be too restrictive. The invisible effect is that: Swap-handling disappears from the $arch part of the kernel. It gets a lot simpler (-145 lines) and cleaner. Reviewed by: John Dyson, David Greenman Submitted by: Poul-Henning Kamp, with minor changes by me. |
#
17279d6c |
|
06-Feb-1995 |
David Greenman <dg@FreeBSD.org> |
Changed maximum number of symlinks in a path from 8 to 32. The exact value isn't important; it is only used to prevent symlink loops from looping forever. 32 is a quite reasonable default. Submitted by: Ed Hudson <elh@p5.spnet.com> |
#
0d94caff |
|
09-Jan-1995 |
David Greenman <dg@FreeBSD.org> |
These changes embody the support of the fully coherent merged VM buffer cache, much higher filesystem I/O performance, and much better paging performance. It represents the culmination of over 6 months of R&D. The majority of the merged VM/cache work is by John Dyson. The following highlights the most significant changes. Additionally, there are (mostly minor) changes to the various filesystem modules (nfs, msdosfs, etc) to support the new VM/buffer scheme. vfs_bio.c: Significant rewrite of most of vfs_bio to support the merged VM buffer cache scheme. The scheme is almost fully compatible with the old filesystem interface. Significant improvement in the number of opportunities for write clustering. vfs_cluster.c, vfs_subr.c Upgrade and performance enhancements in vfs layer code to support merged VM/buffer cache. Fixup of vfs_cluster to eliminate the bogus pagemove stuff. vm_object.c: Yet more improvements in the collapse code. Elimination of some windows that can cause list corruption. vm_pageout.c: Fixed it, it really works better now. Somehow in 2.0, some "enhancements" broke the code. This code has been reworked from the ground-up. vm_fault.c, vm_page.c, pmap.c, vm_object.c Support for small-block filesystems with merged VM/buffer cache scheme. pmap.c vm_map.c Dynamic kernel VM size, now we dont have to pre-allocate excessive numbers of kernel PTs. vm_glue.c Much simpler and more effective swapping code. No more gratuitous swapping. proc.h Fixed the problem that the p_lock flag was not being cleared on a fork. swap_pager.c, vnode_pager.c Removal of old vfs_bio cruft to support the past pseudo-coherency. Now the code doesn't need it anymore. machdep.c Changes to better support the parameter values for the merged VM/buffer cache scheme. machdep.c, kern_exec.c, vm_glue.c Implemented a seperate submap for temporary exec string space and another one to contain process upages. This eliminates all map fragmentation problems that previously existed. ffs_inode.c, ufs_inode.c, ufs_readwrite.c Changes for merged VM/buffer cache. Add "bypass" support for sneaking in on busy buffers. Submitted by: John Dyson and David Greenman |
#
e8fb0b2c |
|
31-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Realtime priority scheduling support. Submitted by: Henrik Vestergaard Draboel |
#
af9da405 |
|
20-Aug-1994 |
Paul Richards <paul@FreeBSD.org> |
Made them all idempotent. Reviewed by: Submitted by: |
#
3c4dd356 |
|
02-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Added $Id$ |
#
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 |
#
2e32d4e4 |
|
07-May-2022 |
Warner Losh <imp@FreeBSD.org> |
param.h: Bump FreeBSD_Version to 1400058 for devclass newbus changes jhb changed the newbus ABI and it's affecting some ports. Bump the version to give them something to key off of for the removal of the devclass arg from some macros. In theory the change should have been ABI neutral, but there some build breakage with drm-kmod so better to bump than not. Sponsored by: Netflix
|
#
1d2421ad |
|
05-May-2022 |
Alan Somers <asomers@FreeBSD.org> |
Correctly measure system load averages > 1024 The old fixed-point arithmetic used for calculating load averages had an overflow at 1024. So on systems with extremely high load, the observed load average would actually fall back to 0 and shoot up again, creating a kind of sawtooth graph. Fix this by using 64-bit math internally, while still reporting the load average to userspace as a 32-bit number. Sponsored by: Axcient Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D35134
|
#
e68b35e4 |
|
22-Apr-2022 |
Kristof Provost <kp@FreeBSD.org> |
Bump __FreeBSD_version for udp_tun_func_t() prototype change 742e7210d0 changed the prototype of udp_tun_func_t(). Bump __FreeBSD_version so that external modules can #ifdef for it as required. PR: 263297 Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
ab8ac4c2 |
|
31-Mar-2022 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version for zlib upgrade.
|
#
d69af475 |
|
29-Mar-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi updates
|
#
50bb3a33 |
|
28-Mar-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi updates
|
#
ba87e9bf |
|
17-Feb-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump FreeBSD_version after linuxkpi update. Sponsored by: Beckhoff Automation GmbH & Co. KG
|
#
05f0b24b |
|
14-Feb-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version to 1400052 for LinuxKPI changes. Add a marker after GUID_INIT() and linux/pm_qos.h were added, so that future version of drm-kmod can selectively remove these bits. The latest port version does not require user updates for this so no UPDATING entry.
|
#
2a7e4cf8 |
|
27-Jan-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
Revert b58ca5df0bb7 ("vfs: remove the now unused insmntque1") I was somehow convinced that insmntque calls insmntque1 with a NULL destructor. Unfortunately this worked well enough to not immediately blow up in simple testing. Keep not using the destructor in previously patched filesystems though as it avoids unnecessary casts. Noted by: kib Reported by: pho
|
#
b58ca5df |
|
26-Jan-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove the now unused insmntque1 Bump __FreeBSD_version to 1400052.
|
#
59d465e2 |
|
25-Jan-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version for LinuxKPI changes Sponsored by: Beckhoff Automation GmbH & Co. KG
|
#
213e9139 |
|
29-Jul-2021 |
Eric Joyner <erj@FreeBSD.org> |
iflib: Allow drivers to determine which queue to TX on Adds a new function pointer to struct if_txrx in order to allow drivers to set their own function that will determine which queue a packet should be sent on. Since this includes a kernel ABI change, bump the __FreeBSD_version as well. (This motivation behind this is to allow the driver to examine the UP in the VLAN tag and determine which queue to TX on based on that, in support of HW TX traffic shaping.) Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: kbowling@, stallamr@netapp.com Tested by: jeffrey.e.pieper@intel.com Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D31485
|
#
2c4b65cc |
|
24-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for the addition of <crypto/curve25519.h>. Sponsored by: The FreeBSD Foundation
|
#
dd2f7a4b |
|
18-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for the addition of <crypto/chacha20_poly1305.h>. Sponsored by: The FreeBSD Foundation
|
#
ed6417cd |
|
11-Jan-2022 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Bump __FreeBSD_version for LinuxKPI changes
|
#
e2650af1 |
|
29-Dec-2021 |
Stefan Eßer <se@FreeBSD.org> |
Make CPU_SET macros compliant with other implementations The introduction of <sched.h> improved compatibility with some 3rd party software, but caused the configure scripts of some ports to assume that they were run in a GLIBC compatible environment. Parts of sched.h were made conditional on -D_WITH_CPU_SET_T being added to ports, but there still were compatibility issues due to invalid assumptions made in autoconfigure scripts. The differences between the FreeBSD version of macros like CPU_AND, CPU_OR, etc. and the GLIBC versions was in the number of arguments: FreeBSD used a 2-address scheme (one source argument is also used as the destination of the operation), while GLIBC uses a 3-adderess scheme (2 source operands and a separately passed destination). The GLIBC scheme provides a super-set of the functionality of the FreeBSD macros, since it does not prevent passing the same variable as source and destination arguments. In code that wanted to preserve both source arguments, the FreeBSD macros required a temporary copy of one of the source arguments. This patch set allows to unconditionally provide functions and macros expected by 3rd party software written for GLIBC based systems, but breaks builds of externally maintained sources that use any of the following macros: CPU_AND, CPU_ANDNOT, CPU_OR, CPU_XOR. One contributed driver (contrib/ofed/libmlx5) has been patched to support both the old and the new CPU_OR signatures. If this commit is merged to -STABLE, the version test will have to be extended to cover more ranges. Ports that have added -D_WITH_CPU_SET_T to build on -CURRENT do no longer require that option. The FreeBSD version has been bumped to 1400046 to reflect this incompatible change. Reviewed by: kib MFC after: 2 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D33451
|
#
b214fcce |
|
13-Dec-2021 |
Alan Somers <asomers@FreeBSD.org> |
Change VOP_READDIR's cookies argument to a **uint64_t The cookies argument is only used by the NFS server. NFSv2 defines the cookie as 32 bits on the wire, but NFSv3 increased it to 64 bits. Our VOP_READDIR, however, has always defined it as u_long, which is 32 bits on some architectures. Change it to 64 bits on all architectures. This doesn't matter for any in-tree file systems, but it matters for some FUSE file systems that use 64-bit directory cookies. PR: 260375 Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D33404
|
#
ec434c85 |
|
09-Dec-2021 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for software crypto changes. - enc_xform now supports AEAD ciphers. - The Blake-2S/B auth transforms now support Init before Setkey like other auth transforms.
|
#
7e1d3eef |
|
25-Nov-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove the unused thread argument from NDINIT* See b4a58fbf640409a1 ("vfs: remove cn_thread") Bump __FreeBSD_version to 1400043.
|
#
20aa3597 |
|
13-Nov-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version for llvm-project 13.0.0 merge PR: 258209 MFC after: 2 weeks
|
#
0c276dee |
|
06-Nov-2021 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: Bump __FreeBSD_version for commit f0c9847a6c47 Commit f0c9847a6c47 changed the arguments for VOP_ALLOCATE. Bump __FreeBSD_version to 1400041.
|
#
f38bef2c |
|
31-Oct-2021 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version following the libdialog shared library version number bump.
|
#
bd49c454 |
|
19-Oct-2021 |
Mark Johnston <markj@FreeBSD.org> |
Bump __FreeBSD_version for the preceding page allocator changes None of the usual suspects (e.g., drm-kmod, virtualbox-ose-kmod, nvidia-driver) seem to be affected by the changes, but it is likely that something else is affected. Sponsored by: The FreeBSD Foundation
|
#
0d6516b4 |
|
17-Oct-2021 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Bump __FreeBSD_version for LinuxKPI changes
|
#
2b68eb8e |
|
01-Oct-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove thread argument from VOP_STAT and fo_stat.
|
#
ac847dbf |
|
06-Oct-2021 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for OCF changes to support variable nonce lengths. Sponsored by: The FreeBSD Foundation
|
#
16f1ee11 |
|
04-Oct-2021 |
Baptiste Daroussin <bapt@FreeBSD.org> |
ncurses: document in UPDATING and bump _FreeBSD_version
|
#
30acf99a |
|
29-Sep-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Bump __FreeBSD_version to 1400034 for LinuxKPI changes
|
#
c751d067 |
|
07-Sep-2021 |
Mark Johnston <markj@FreeBSD.org> |
Bump __FreeBSD_version for the recent socket KPI changes Sponsored by: The FreeBSD Foundation
|
#
76321d2d |
|
25-Aug-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
param: Bump __FreeBSD_version to 1400032 Commit 9e202d036dd6 introduces incompatible changes to fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9)'s rmsr.r_offset/*offset return value. Sponsored by: The FreeBSD Foundation
|
#
1a4c5061 |
|
24-Aug-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
param: Bump __FreeBSD_version to 1400031 Commit 1eaa36523cb9 introduces backward compatible changes to fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). rmsr.r_offset and *offset is updated to contain meaningful value upon returning from the call. Sponsored by: The FreeBSD Foundation
|
#
95941b96 |
|
12-Aug-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
param.h: Bump __FreeBSD_version to 1400030 Commit a638dc4ebc8e expands VOP_DEALLOCATE(9)'s parameters list. File system modules and modules calling VOP_DEALLOCATE(9) need to be rebuilt. Commit 454bc887f250 introduces fspacectl(2) SPACECTL_DEALLOC support for POSIX shared memory. Sponsored by: The FreeBSD Foundation
|
#
1b97a054 |
|
05-Aug-2021 |
Andrew Gallatin <gallatin@FreeBSD.org> |
tsleep: Add a PNOLOCK flag Add a PNOLOCK flag so that, in the race circumstance where wakeup races are externally mitigated, tsleep() can be called with a sleep time of 0 without triggering an an assertion. Reviewed by: jhb Sponsored by: Netflix
|
#
245ec765 |
|
04-Aug-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
param.h: Bump __FreeBSD_version to 1400029 for commit 0dc332bff200 Commit 0dc332bff200 changes fileops layout and adds VOP_DEALLOCATE VOP call. LinuxKPI kmods and file system modules need to be rebuilt at least. Sponsored by: The FreeBSD Foundation
|
#
792b602a |
|
31-Jul-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump the FreeBSD version after making FPU sections thread-safe in the LinuxKPI. Differential Revision: https://reviews.freebsd.org/D29921 MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
cc55ee80 |
|
28-Jul-2021 |
Dimitry Andric <dim@FreeBSD.org> |
compilert-rt: build out-of-line LSE atomics helpers for aarch64 Both clang >= 12 and gcc >= 10.1 now default to -moutline-atomics for aarch64. This requires a bunch of helper functions in libcompiler_rt.a, to avoid link errors like "undefined symbol: __aarch64_ldadd8_acq_rel". (Note: of course you can use -mno-outline-atomics as a workaround too, but this would negate the potential performance benefit of the faster LSE instructions.) Bump __FreeBSD_version so ports maintainers can easily detect this. PR: 257392 MFC after: 2 weeks
|
#
fad3f322 |
|
16-Jul-2021 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: Bump __FreeBSD_version to 1400026 for commit ee29e6f31111 Commit ee29e6f31111 changed the internal KAPI between the nfscommon and nfsd modules. Bump __FreeBSD_version to 1400026 since both modules will need to be rebuilt from sources.
|
#
5fa1eb1c |
|
04-Jul-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
Bump __FreeBSD_version to 1400025 for LinuxKPI change.
|
#
41dfd8bd |
|
18-Jun-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version to 1400024 for LinuxKPI change.
|
#
40cc9a3a |
|
11-Jun-2021 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: Bump __FreeBSD_version to 1400022 Commit e1a907a25cfa changed the internal KAPI between the krpc and nfsserver. As such, both modules must be rebuilt from sources. Bump __FreeBSD_version to 1400022.
|
#
b47f461c |
|
10-Jun-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Add list_for_each_entry_lockless() macro This is needed by the drm-kmod 5.7 update. Approved by: hselasky (src) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D30708
|
#
8a1a42b2 |
|
09-Jun-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Add macros for might_lock_nested() and lockdep_(re/un/)pin_lock() In Linux, these are macros to locks in the kernel for scheduling purposes. But as with other macros in this header, we aren't doing anything with them so we are doing `do {} while (0)` for now. This is needed by the drm-kmod 5.7 update. Approved by: hselasky (src) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D30710
|
#
37d64dcd |
|
07-Jun-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Include pr_err_once() in printk.h Approved by: bz (src), hselasky (src) Differential Reivison: https://reviews.freebsd.org/D30687
|
#
a4b07a27 |
|
11-May-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
VFS_QUOTACTL(9): allow implementation to indicate busy state changes Instead of requiring all implementations of vfs_quotactl to unbusy the mount for Q_QUOTAON and Q_QUOTAOFF, add an "mp_busy" in/out param to VFS_QUOTACTL(9). The implementation may then indicate to the caller whether it needed to unbusy the mount. Also, add stbool.h to libprocstat modules which #define _KERNEL before including sys/mount.h. Otherwise they'll pull in sys/types.h before defining _KERNEL and therefore won't have the bool definition they need for mp_busy. Reviewed By: kib, markj Differential Revision: https://reviews.freebsd.org/D30556
|
#
271fcf1c |
|
29-May-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
Revert commits 6d3e78ad6c11 and 54256e7954d7 Parts of libprocstat like to pretend they're kernel components for the sake of including mount.h, and including sys/types.h in the _KERNEL case doesn't fix the build for some reason. Revert both the VFS_QUOTACTL() change and the follow-up "fix" for now.
|
#
6d3e78ad |
|
11-May-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
VFS_QUOTACTL(9): allow implementation to indicate busy state changes Instead of requiring all implementations of vfs_quotactl to unbusy the mount for Q_QUOTAON and Q_QUOTAOFF, add an "mp_busy" in/out param to VFS_QUOTACTL(9). The implementation may then indicate to the caller whether it needed to unbusy the mount. Reviewed By: kib, markj Differential Revision: https://reviews.freebsd.org/D30218
|
#
beb817ed |
|
25-May-2021 |
John Baldwin <jhb@FreeBSD.org> |
crypto: Add crypto_cursor_segment() to fetch both base and length. This function combines crypto_cursor_segbase() and crypto_cursor_seglen() into a single function. This is mostly beneficial in the unmapped mbuf case where back to back calls of these two functions have to iterate over the sub-components of unmapped mbufs twice. Bump __FreeBSD_version for crypto drivers in ports. Suggested by: markj Reviewed by: markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D30445
|
#
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
|
#
d72cd275 |
|
25-May-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version to 1400015 for LinuxKPI changes. Commits 17accc08ae15 and de102f870501 add new files to LinuxKPI which break drm-kmod. In addition various other additions where comitted. Bump __FreeBSD_version to 1400015 to be able to detect this. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
|
#
ef0f7ae9 |
|
21-May-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
The old thread priority must be stored as part of the EPOCH(9) tracker. Else recursive use of EPOCH(9) may cause the wrong priority to be restored. Bump the __FreeBSD_version due to changing the thread and epoch tracker structure. Differential Revision: https://reviews.freebsd.org/D30375 Reviewed by: markj@ MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
|
#
122a8c7e |
|
05-May-2021 |
Warner Losh <imp@FreeBSD.org> |
param.h: Fix typos Submitted by: rpokala@ Sponsored by: Netflix
|
#
9e0ba953 |
|
22-Apr-2021 |
Warner Losh <imp@FreeBSD.org> |
param.h: Document __FreeBSD_version better Document what __FreeBSD_version means a bit better by documenting the sorts of events it should be bumped for. Also include a handy shorthand for what it means. Add a some advice for how frequently to change this as well. Added a note about the approved way to parse this from the param.h file, though that was not in the review. All in-tree users have been updated to this method prior to this commit. Move and reword the comment that was on the same line. Suggestions by: greg@unrelenting, arch@ Reviewed by: rgrimes@ (earlier version). Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D29850
|
#
341da007 |
|
28-Apr-2021 |
Neel Chauhan <nc@FreeBSD.org> |
Bump __FreeBSD_version for commits efe7f12 and 9781105 These commits have added new APIs to linuxkpi.
|
#
61aea7fa |
|
26-Apr-2021 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: bump __FreeBSD_version for commit 875977314881 Commit 875977314881 changed the internal KPI between the nfsd and nfscommon modules, so both need to be rebuilt from sources.
|
#
ce65353a |
|
26-Apr-2021 |
Neel Chauhan <nc@FreeBSD.org> |
linuxkpi: Implement atomic_dec_and_lock_irqsave() This is needed by the drm-kmod 5.5 update. Reviewed by: hselasky, manu MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D29988
|
#
7c707c7c |
|
22-Apr-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
__FreeBSD_version: update the references to the doc tree Update the reference of which file to update in the doc tree when bumping __FreeBSD_version. This change is to catch up with commit f8fed61b80 in the doc repository. MFC after: 3 days Approved by: lwhsu (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29920
|
#
a3a02acd |
|
15-Apr-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
param.h: bump __FreeBSD_version for commit 4ce1ba652383 Commit 4ce1ba652383 changed the sndstat(4) ioctls nvlist schema and definitions. Approved by: philip (mentor)
|
#
9ca874cf |
|
30-Mar-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add TCP LRO support for VLAN and VxLAN. This change makes the TCP LRO code more generic and flexible with regards to supporting multiple different TCP encapsulation protocols and in general lays the ground for broader TCP LRO support. The main job of the TCP LRO code is to merge TCP packets for the same flow, to reduce the number of calls to upper layers. This reduces CPU and increases performance, due to being able to send larger TSO offloaded data chunks at a time. Basically the TCP LRO makes it possible to avoid per-packet interaction by the host CPU. Because the current TCP LRO code was tightly bound and optimized for TCP/IP over ethernet only, several larger changes were needed. Also a minor bug was fixed in the flushing mechanism for inactive entries, where the expire time, "le->mtime" was not always properly set. To avoid having to re-run time consuming regression tests for every change, it was chosen to squash the following list of changes into a single commit: - Refactor parsing of all address information into the "lro_parser" structure. This easily allows to reuse parsing code for inner headers. - Speedup header data comparison. Don't compare field by field, but instead use an unsigned long array, where the fields get packed. - Refactor the IPv4/TCP/UDP checksum computations, so that they may be computed recursivly, only applying deltas as the result of updating payload data. - Make smaller inline functions doing one operation at a time instead of big functions having repeated code. - Refactor the TCP ACK compression code to only execute once per TCP LRO flush. This gives a minor performance improvement and keeps the code simple. - Use sbintime() for all time-keeping. This change also fixes flushing of inactive entries. - Try to shrink the size of the LRO entry, because it is frequently zeroed. - Removed unused TCP LRO macros. - Cleanup unused TCP LRO statistics counters while at it. - Try to use __predict_true() and predict_false() to optimise CPU branch predictions. Bump the __FreeBSD_version due to changing the "lro_ctrl" structure. Tested by: Netflix Reviewed by: rrs (transport) Differential Revision: https://reviews.freebsd.org/D29564 MFC after: 2 week Sponsored by: Mellanox Technologies // NVIDIA Networking
|
#
e152bbec |
|
11-Apr-2021 |
Rick Macklem <rmacklem@FreeBSD.org> |
param.h: bump __FreeBSD_version for commit 7763814fc9c2 Commit 7763814fc9c2 changed the internal KAPI between the krpc and NFS. As such, the krpc, nfscommon and nfscl modules must all be rebuilt from sources.
|
#
d36d6816 |
|
04-Apr-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
rtld dl_iterate_phdr(): dlpi_tls_data is wrong dl_iterate_phdr() dlpi_tls_data should provide the TLS module segment address, and not the TLS init segment address as it does now. Reported by: emacsray@gmail.com PR: 254774 Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
c96151d3 |
|
17-Mar-2021 |
Ka Ho Ng <khng@FreeBSD.org> |
Implement sndstat nvlist-based enumeration ioctls. These ioctl commands aim to provide easier ways for user space applications to enumerate existing audio devices and the node they can potentially use. The exchange of device lists between user space and kernel is done on nv(9). Some ioctl commands are added to /dev/sndstat node: - SNDSTAT_REFRESH_DEVS - SNDSTAT_GET_DEVS - SNDSTAT_ADD_USER_DEVS - SNDSTAT_FLUSH_USER_DEVS Bump __FreeBSD_version to reflect the addition of the ioctls. Sponsored by: The FreeBSD Foundation Reviewed by: hselasky Approved by: philip (mentor) Differential Revision: https://reviews.freebsd.org/D26884
|
#
45eabf57 |
|
17-Feb-2021 |
Mitchell Horne <mhorne@FreeBSD.org> |
Bump __FreeBSD_version after f2583be110ca Provide a compatibility point around the ABI-breaking change. Sponsored by: The FreeBSD Foundation
|
#
eac22dd4 |
|
14-Feb-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
lockmgr: shrink struct lock by 8 bytes on LP64 Currently the struct has a 4 byte padding stemming from 3 ints. 1. prio comfortably fits in short, unfortunately there is no dedicated type for it and plumbing it throughout the codebase is not worth it right now, instead an assert is added which covers also flags for safety 2. lk_exslpfail can in principle exceed u_short, but the count is already not considered reliable and it only ever gets modified straight to 0. In other words it can be incrementing with an upper bound of USHRT_MAX With these in place struct lock shrinks from 48 to 40 bytes. Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D28680
|
#
68f6800c |
|
08-Feb-2021 |
Mark Johnston <markj@FreeBSD.org> |
opencrypto: Introduce crypto_dispatch_async() Currently, OpenCrypto consumers can request asynchronous dispatch by setting a flag in the cryptop. (Currently only IPSec may do this.) I think this is a bit confusing: we (conditionally) set cryptop flags to request async dispatch, and then crypto_dispatch() immediately examines those flags to see if the consumer wants async dispatch. The flag names are also confusing since they don't specify what "async" applies to: dispatch or completion. Add a new KPI, crypto_dispatch_async(), rather than encoding the requested dispatch type in each cryptop. crypto_dispatch_async() falls back to crypto_dispatch() if the session's driver provides asynchronous dispatch. Get rid of CRYPTOP_ASYNC() and CRYPTOP_ASYNC_KEEPORDER(). Similarly, add crypto_dispatch_batch() to request processing of a tailq of cryptops, rather than encoding the scheduling policy using cryptop flags. Convert GELI, the only user of this interface (disabled by default) to use the new interface. Add CRYPTO_SESS_SYNC(), which can be used by consumers to determine whether crypto requests will be dispatched synchronously. This is just a helper macro. Use it instead of looking at cap flags directly. Fix style in crypto_done(). Also get rid of CRYPTO_RETW_EMPTY() and just check the relevant queues directly. This could result in some unnecessary wakeups but I think it's very uncommon to be using more than one queue per worker in a given workload, so checking all three queues is a waste of cycles. Reviewed by: jhb Sponsored by: Ampere Computing Submitted by: Klara, Inc. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D28194
|
#
8fa6abb6 |
|
03-Feb-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
Expose clang's alignment builtins and use them for roundup2/rounddown2 This makes roundup2/rounddown2 type- and const-preserving and allows using it on pointer types without casting to uintptr_t first. Not performing pointer-to-integer conversions also helps the compiler's optimization passes and can therefore result in better code generation. When using it with integer values there should be no change other than the compiler checking that the alignment value is a valid power-of-two. I originally implemented these builtins for CHERI a few years ago and they have been very useful for CheriBSD. However, they are also useful for non-CHERI code so I was able to upstream them for Clang 10.0. Rationale from the clang documentation: Clang provides builtins to support checking and adjusting alignment of pointers and integers. These builtins can be used to avoid relying on implementation-defined behavior of arithmetic on integers derived from pointers. Additionally, these builtins retain type information and, unlike bitwise arithmetic, they can perform semantic checking on the alignment value. There is also a feature request for GCC, so GCC may also support it in the future: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98641 Reviewed By: brooks, jhb, imp Differential Revision: https://reviews.freebsd.org/D28332
|
#
abd61904 |
|
29-Jan-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
__FreeBSD_version: update the references to the doc tree Update the reference of which file to update in the doc tree when bumping __FreeBSD_version.
|
#
d386f3a3 |
|
28-Jan-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version for multiple LinuxKPI updates conflicting with DRM. Be sure to update your drm-kmod port to after the update.
|
#
2cf84258 |
|
26-Jan-2021 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version after e63539f3059728ff58328ac0ecb2a7bf4e2f08e8 This is to allow ports to detect the clang fix applied in the above commit. PR: 252892 MFC after: 3 days
|
#
739ecbcf |
|
23-Jan-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
cache: add symlink support to lockless lookup Reviewed by: kib (previous version) Tested by: pho (previous version) Differential Revision: https://reviews.freebsd.org/D27488
|
#
a53ce3fc |
|
21-Jan-2021 |
Glen Barber <gjb@FreeBSD.org> |
Bump CURRENT to 14.0 This one goes to 14. Approved by: re (implicit) Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
72c55193 |
|
16-Jan-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes
|
#
35a39dc5 |
|
11-Jan-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes
|
#
a84b0e94 |
|
06-Jan-2021 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
hid: Add UPDATING entry and bump __FreeBSD_version Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D28019
|
#
2ed0c8d8 |
|
23-Dec-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
version bump for commit 665b1365fe8e24d618d63b0d57b0b4ad39e97824 The commit changed the internal API between the NFS and kernel RPC modules. Bump the version so that all modules get rebuilt from sources.
|
#
b8b3f4fd |
|
14-Dec-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Improve handling of alternate settings in the USB stack. Allow setting the alternate interface number to fail when there is only one alternate setting present, to comply with the USB specification. Refactor how iface->num_altsetting is computed. Bump the __FreeBSD_version due to change of core USB structure. PR: 251856 MFC after: 1 week Submitted by: Ma, Horse <Shichun.Ma@dell.com> Sponsored by: Mellanox Technologies // NVIDIA Networking
|
#
a56ac758 |
|
07-Dec-2020 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for removal of crypto fd's in r368005. Requested by: swills Sponsored by: Chelsio Communications
|
#
baa2cd58 |
|
29-Nov-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Reduce MAXPHYS back to 128KB on 32bit architectures. Some of them have limited KVA, like arm, which prevents startup from allocating needed number of large pbufs. Other, for instance i386, are dis-balanced enough after 4/4 that blind bump is probably harmful because it allows for much more in-flight io than other tunables are ready for. Requested by: mmel Reviewed by: emaste, mmel Sponsored by: The FreeBSD Foundation
|
#
cd853791 |
|
27-Nov-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Make MAXPHYS tunable. Bump MAXPHYS to 1M. Replace MAXPHYS by runtime variable maxphys. It is initialized from MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys. Make b_pages[] array in struct buf flexible. Size b_pages[] for buffer cache buffers exactly to atop(maxbcachebuf) (currently it is sized to atop(MAXPHYS)), and b_pages[] for pbufs is sized to atop(maxphys) + 1. The +1 for pbufs allow several pbuf consumers, among them vmapbuf(), to use unaligned buffers still sized to maxphys, esp. when such buffers come from userspace (*). Overall, we save significant amount of otherwise wasted memory in b_pages[] for buffer cache buffers, while bumping MAXPHYS to desired high value. Eliminate all direct uses of the MAXPHYS constant in kernel and driver sources, except a place which initialize maxphys. Some random (and arguably weird) uses of MAXPHYS, e.g. in linuxolator, are converted straight. Some drivers, which use MAXPHYS to size embeded structures, get private MAXPHYS-like constant; their convertion is out of scope for this work. Changes to cam/, dev/ahci, dev/ata, dev/mpr, dev/mpt, dev/mvs, dev/siis, where either submitted by, or based on changes by mav. Suggested by: mav (*) Reviewed by: imp, mav, imp, mckusick, scottl (intermediate versions) Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D27225
|
#
85078b85 |
|
17-Nov-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Split out cwd/root/jail, cmask state from filedesc table No functional change intended. Tracking these structures separately for each proc enables future work to correctly emulate clone(2) in linux(4). __FreeBSD_version is bumped (to 1300130) for consumption by, e.g., lsof. Reviewed by: kib Discussed with: markj, mjg Differential Revision: https://reviews.freebsd.org/D27037
|
#
9aa6d792 |
|
12-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
malloc: retire malloc_last_fail The routine does not serve any practical purpose. Memory can be allocated in many other ways and most consumers pass the M_WAITOK flag, making malloc not fail in the first place. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D27143
|
#
db6a0c8f |
|
09-Nov-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes
|
#
bdcc2226 |
|
06-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
malloc: move malloc_type_internal into malloc_type According to code comments the original motivation was to allow for malloc_type_internal changes without ABI breakage. This can be trivially accomplished by providing spare fields and versioning the struct, as implemented in the patch below. The upshots are one less memory indirection on each alloc and disappearance of mt_zone. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D27104
|
#
2dee296a |
|
05-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Rationalize per-cpu zones. The 2 provided zones had inconsistent naming between each other ("int" and "64") and other allocator zones (which use bytes). Follow malloc by naming them "pcpu-" + size in bytes. This is a step towards replacing ad-hoc per-cpu zones with general slabs.
|
#
9a97c950 |
|
04-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after rms changes
|
#
4bfebc8d |
|
30-Oct-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
cache: add cache_vop_mkdir and rename cache_rename to cache_vop_rename
|
#
3fc7822d |
|
20-Oct-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after VOP VPTOCNP and INACTIVE changes
|
#
5853735d |
|
16-Oct-2020 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after ptsname_r addition.
|
#
ad429c47 |
|
14-Oct-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after addition of VOP_EAGAIN
|
#
ed50d408 |
|
13-Oct-2020 |
Andrew Turner <andrew@FreeBSD.org> |
Bump __FreeBSD_version for the fix to arm64 write-only mappings Sponsored by: Innovate UK
|
#
4c2dddd8 |
|
04-Oct-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Populate the acquire context field of a ww_mutex in the LinuxKPI. Bump the FreeBSD version to force recompilation of external kernel modules. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D26657 Submitted by: greg_unrelenting.technology (Greg V) Sponsored by: Mellanox Technologies // NVIDIA Networking
|
#
1e145e73 |
|
02-Oct-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after latest linuxkpi changes
|
#
254c54c6 |
|
23-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after cache_purgevfs change
|
#
af22c7e4 |
|
22-Sep-2020 |
Brandon Bergren <bdragon@FreeBSD.org> |
__FreeBSD_version bump for introduction of the powerpc64le arch. Although this is technically not a breaking change, I believe it is best to have a fresh version to use to define where the starting point was here.
|
#
7c9b0046 |
|
13-Sep-2020 |
Kyle Evans <kevans@FreeBSD.org> |
__FreeBSD_version bump for r365605 (crunchgen producing WARNS-clean) The change in D26397 will need a __FreeBSD_version to base off of for bootstrapping crunchgen, to avoid avoidable build failures just because the host has an outdated crunchgen.
|
#
d81d009c |
|
08-Sep-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
arm64: fix incorrect HWCAP definitions FreeBSD exports CPU features as bits in the AT_HWCAP and AT_HWCAP2 vectors via elf_aux_info(3). This interface is similar to getauxval(3) on Linux, and for simplicity to consumers we try to maintain an identical set of feature flags on arm64. The first batch of AT_HWCAP flags were added in r350166, corresponding to definitions that already existed in Linux. Unfortunately, one flag was missed, and a portion of the values are shifted one bit to the right as a result. Add the missing definition for HWCAP_ASIMDHP, and adjust the affected values to match their Linux counterparts. Although this is an ABI-breaking change, there is no plan to provide compat code for old binaries. An audit of our ports tree and other software via Debian code search indicates that there are not yet any consumers of this interface for FreeBSD/arm64. Bump __FreeBSD_version to be on the safe side, in case compat code needs to be added in the future. Reviewed by: emaste, manu MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26329
|
#
46c8c554 |
|
25-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Add atomic and bswap functions to libcompiler_rt There have been several mentions on our mailing lists about missing atomic functions in our system libraries (e.g. __atomic_load_8 and friends), and recently I saw __bswapdi2 and __bswapsi2 mentioned too. To address this, add implementations for the functions from compiler-rt to the system compiler support libraries, e.g. libcompiler_rt.a and and libgcc_s.so. This also needs a small fixup in compiler-rt's atomic.c, to ensure that 32-bit mips can build correctly. Bump __FreeBSD_version to make it easier for port maintainers to detect when these functions were added. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D26159
|
#
251779a0 |
|
24-Aug-2020 |
Matt Macy <mmacy@FreeBSD.org> |
Bump __FreeBSD_version for OpenZFS switchover
|
#
acca9518 |
|
21-Aug-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
r364475 changed the internal API between the kernel RPC and NFS, so bump version.
|
#
7cae9782 |
|
17-Aug-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump __FreeBSD_version for r364330, since it changed the internal API between the NFS modules such that they all need to be re-compiled from sources.
|
#
f1780be9 |
|
16-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after vget() and HASBUF change
|
#
9b921001 |
|
14-Aug-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after r364232 We now have everything needed for DRM from Linux v5.4, let the ports tree know that.
|
#
6ae24079 |
|
10-Aug-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Need to clone the task struct fields related to RCU aswell in the LinuxKPI after r359727. This fixes a minor regression issue. Else the priority tracking won't work properly when both sleepable and non-sleepable RCU is in use on the same thread. Bump the __FreeBSD_version to force recompilation of external kernel modules. PR: 242272 MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
02511d21 |
|
10-Aug-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add an argument to newnfs_connect() that indicates use TLS for the connection. For NFSv4.0, the server creates a server->client TCP connection for callbacks. If the client mount on the server is using TLS, enable TLS for this callback TCP connection. TLS connections from clients will not be supported until the kernel RPC changes are committed. Since this changes the internal ABI between the NFS kernel modules that will require a version bump, delete newnfs_trimtrailing(), which is no longer used. Since LCL_TLSCB is not yet set, these changes should not have any semantic affect at this time.
|
#
c36edafb |
|
05-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after vaccess() change
|
#
9fce5c4b |
|
02-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after vnode layout changes
|
#
d53c8627 |
|
01-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after making rights mandatory for NDINIT_ALL
|
#
29f25856 |
|
26-Jul-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump __FreeBSD_version after introduction of lockless lookup to the VFS layer
|
#
d2890eee |
|
10-Jul-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement the array_size() function in the LinuxKPI. This function basically multiplies its two arguments and returns SIZE_MAX if the result overflows the size_t type. Else the product of the two arguments is returned. Bump the FreeBSD_version to mitigate issues with existing implementation of array_size() in drm-devel-kmod. Discussed with: manu@ MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
db4b8d7e |
|
25-Jun-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump the version since r362639 changed the internal API between the NFS kernel modules so they must all be rebuilt.
|
#
00e8fb80 |
|
20-Jun-2020 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after making liblzma to use libmd implementation of SHA256. PR: 200142
|
#
3fa08158 |
|
13-Jun-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Version bump for r362158, since the arguments for vfs_checkexp() changed.
|
#
4f3c25bc |
|
12-Jun-2020 |
John Baldwin <jhb@FreeBSD.org> |
Allow <sys/param.h> to be included from userland assembly files. This will be used by future changes to define ELF notes in assembly. Reviewed by: kib Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25211
|
#
d053391c |
|
01-Jun-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement __is_constexpr() function macro in the LinuxKPI. Bump the FreeBSD version. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
524bf3a9 |
|
22-May-2020 |
Wei Hu <whu@FreeBSD.org> |
Bump __FreeBSD_version after r361275, HyperV socket support Sponsored by: Microsoft
|
#
e6f612dc |
|
07-May-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump __FreeBSD_version after linuxkpi changes Requested by: zeising
|
#
b8040914 |
|
27-Apr-2020 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for KTLS RX support.
|
#
4d77243c |
|
14-Apr-2020 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Bump FreeBSD version after r359919 (KTLS / unmapped mbuf changes) The above changes mbufs, and any module using unmapped mbufs would need to be re-compiled. Sponsored by: Netflix
|
#
9f2dc607 |
|
12-Apr-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Bump __FreeBSD_version after r359836, close_range(2) Reported by: cy
|
#
5494efa0 |
|
09-Apr-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump version for r359745, since it removed a field from "struct proc" and that changed the offsets of fields within it.
|
#
eae5868c |
|
08-Apr-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Clone the RCU interface into a sleepable and a non-sleepable part in the LinuxKPI. This allows synchronize RCU to be used inside a SRCU read section. No functional change intended. Bump the __FreeBSD_version to force recompilation of external kernel modules. PR: 242272 MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
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
|
#
c0341432 |
|
27-Mar-2020 |
John Baldwin <jhb@FreeBSD.org> |
Refactor driver and consumer interfaces for OCF (in-kernel crypto). - The linked list of cryptoini structures used in session initialization is replaced with a new flat structure: struct crypto_session_params. This session includes a new mode to define how the other fields should be interpreted. Available modes include: - COMPRESS (for compression/decompression) - CIPHER (for simply encryption/decryption) - DIGEST (computing and verifying digests) - AEAD (combined auth and encryption such as AES-GCM and AES-CCM) - ETA (combined auth and encryption using encrypt-then-authenticate) Additional modes could be added in the future (e.g. if we wanted to support TLS MtE for AES-CBC in the kernel we could add a new mode for that. TLS modes might also affect how AAD is interpreted, etc.) The flat structure also includes the key lengths and algorithms as before. However, code doesn't have to walk the linked list and switch on the algorithm to determine which key is the auth key vs encryption key. The 'csp_auth_*' fields are always used for auth keys and settings and 'csp_cipher_*' for cipher. (Compression algorithms are stored in csp_cipher_alg.) - Drivers no longer register a list of supported algorithms. This doesn't quite work when you factor in modes (e.g. a driver might support both AES-CBC and SHA2-256-HMAC separately but not combined for ETA). Instead, a new 'crypto_probesession' method has been added to the kobj interface for symmteric crypto drivers. This method returns a negative value on success (similar to how device_probe works) and the crypto framework uses this value to pick the "best" driver. There are three constants for hardware (e.g. ccr), accelerated software (e.g. aesni), and plain software (cryptosoft) that give preference in that order. One effect of this is that if you request only hardware when creating a new session, you will no longer get a session using accelerated software. Another effect is that the default setting to disallow software crypto via /dev/crypto now disables accelerated software. Once a driver is chosen, 'crypto_newsession' is invoked as before. - Crypto operations are now solely described by the flat 'cryptop' structure. The linked list of descriptors has been removed. A separate enum has been added to describe the type of data buffer in use instead of using CRYPTO_F_* flags to make it easier to add more types in the future if needed (e.g. wired userspace buffers for zero-copy). It will also make it easier to re-introduce separate input and output buffers (in-kernel TLS would benefit from this). Try to make the flags related to IV handling less insane: - CRYPTO_F_IV_SEPARATE means that the IV is stored in the 'crp_iv' member of the operation structure. If this flag is not set, the IV is stored in the data buffer at the 'crp_iv_start' offset. - CRYPTO_F_IV_GENERATE means that a random IV should be generated and stored into the data buffer. This cannot be used with CRYPTO_F_IV_SEPARATE. If a consumer wants to deal with explicit vs implicit IVs, etc. it can always generate the IV however it needs and store partial IVs in the buffer and the full IV/nonce in crp_iv and set CRYPTO_F_IV_SEPARATE. The layout of the buffer is now described via fields in cryptop. crp_aad_start and crp_aad_length define the boundaries of any AAD. Previously with GCM and CCM you defined an auth crd with this range, but for ETA your auth crd had to span both the AAD and plaintext (and they had to be adjacent). crp_payload_start and crp_payload_length define the boundaries of the plaintext/ciphertext. Modes that only do a single operation (COMPRESS, CIPHER, DIGEST) should only use this region and leave the AAD region empty. If a digest is present (or should be generated), it's starting location is marked by crp_digest_start. Instead of using the CRD_F_ENCRYPT flag to determine the direction of the operation, cryptop now includes an 'op' field defining the operation to perform. For digests I've added a new VERIFY digest mode which assumes a digest is present in the input and fails the request with EBADMSG if it doesn't match the internally-computed digest. GCM and CCM already assumed this, and the new AEAD mode requires this for decryption. The new ETA mode now also requires this for decryption, so IPsec and GELI no longer do their own authentication verification. Simple DIGEST operations can also do this, though there are no in-tree consumers. To eventually support some refcounting to close races, the session cookie is now passed to crypto_getop() and clients should no longer set crp_sesssion directly. - Assymteric crypto operation structures should be allocated via crypto_getkreq() and freed via crypto_freekreq(). This permits the crypto layer to track open asym requests and close races with a driver trying to unregister while asym requests are in flight. - crypto_copyback, crypto_copydata, crypto_apply, and crypto_contiguous_subsegment now accept the 'crp' object as the first parameter instead of individual members. This makes it easier to deal with different buffer types in the future as well as separate input and output buffers. It's also simpler for driver writers to use. - bus_dmamap_load_crp() loads a DMA mapping for a crypto buffer. This understands the various types of buffers so that drivers that use DMA do not have to be aware of different buffer types. - Helper routines now exist to build an auth context for HMAC IPAD and OPAD. This reduces some duplicated work among drivers. - Key buffers are now treated as const throughout the framework and in device drivers. However, session key buffers provided when a session is created are expected to remain alive for the duration of the session. - GCM and CCM sessions now only specify a cipher algorithm and a cipher key. The redundant auth information is not needed or used. - For cryptosoft, split up the code a bit such that the 'process' callback now invokes a function pointer in the session. This function pointer is set based on the mode (in effect) though it simplifies a few edge cases that would otherwise be in the switch in 'process'. It does split up GCM vs CCM which I think is more readable even if there is some duplication. - I changed /dev/crypto to support GMAC requests using CRYPTO_AES_NIST_GMAC as an auth algorithm and updated cryptocheck to work with it. - Combined cipher and auth sessions via /dev/crypto now always use ETA mode. The COP_F_CIPHER_FIRST flag is now a no-op that is ignored. This was actually documented as being true in crypto(4) before, but the code had not implemented this before I added the CIPHER_FIRST flag. - I have not yet updated /dev/crypto to be aware of explicit modes for sessions. I will probably do that at some point in the future as well as teach it about IV/nonce and tag lengths for AEAD so we can support all of the NIST KAT tests for GCM and CCM. - I've split up the exising crypto.9 manpage into several pages of which many are written from scratch. - I have converted all drivers and consumers in the tree and verified that they compile, but I have not tested all of them. I have tested the following drivers: - cryptosoft - aesni (AES only) - blake2 - ccr and the following consumers: - cryptodev - IPsec - ktls_ocf - GELI (lightly) I have not tested the following: - ccp - aesni with sha - hifn - kgssapi_krb5 - ubsec - padlock - safe - armv8_crypto (aarch64) - glxsb (i386) - sec (ppc) - cesa (armv7) - cryptocteon (mips64) - nlmsec (mips64) Discussed with: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D23677
|
#
12d3a326 |
|
26-Mar-2020 |
Brandon Bergren <bdragon@FreeBSD.org> |
Bump for powerpc/powerpcspe switch to lld.
|
#
e0fcf263 |
|
23-Mar-2020 |
Brooks Davis <brooks@FreeBSD.org> |
Bump for kyua import. Reported by: cy Sponsored by: DARPA
|
#
f76e7d40 |
|
10-Mar-2020 |
Ed Maste <emaste@FreeBSD.org> |
Bump __FreeBSD_version after amd(8) removal, r358821 Reported by: cy
|
#
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
|
#
fdff5b12 |
|
21-Feb-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
Bump _FreeBSD_version after the recent linuxkpi changes
|
#
0573d0a9 |
|
20-Feb-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add realpathat syscall realpath(3) is used a lot e.g., by clang and is a major source of getcwd and fstatat calls. This can be done more efficiently in the kernel. This works by performing a regular lookup while saving the name and found parent directory. If the terminal vnode is a directory we can resolve it using usual means. Otherwise we can use the name saved by lookup and resolve the parent. See the review for sample syscall counts. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D23574
|
#
4b60673b |
|
20-Feb-2020 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Bump __FreeBSD_version after bumping ncurses shlib
|
#
10108cb6 |
|
17-Feb-2020 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Partially revert VNET change and expand VNET structure. Revert parts of r353274 replacing vnet_state with a shutdown flag. Not having the state flag for the current SI_SUB_* makes it harder to debug kernel or module panics related to VNET bringup or teardown. Not having the state also does not allow us to check for other dependency levels between components, e.g. for moving interfaces. Expand the VNET structure with the new boolean flag indicating that we are doing a shutdown of a given vnet and update the vnet magic cookie for the change. Update libkvm to compile with a bool in the kernel struct. Bump __FreeBSD_version for (external) module builds to more easily detect the change. Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D23097
|
#
5482a678 |
|
04-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Bump __FreeBSD_version to 1300077 for r357455 sparc64 was removed, bump to reflect that. Pointy-hat-to: imp Noticed by: linimon@
|
#
7ce40722 |
|
08-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Bump __FreeBSD_version after r356510 linuxkpi kmod would need to rebuilt at a minimum; fileops layout has changed.
|
#
6c110e86 |
|
06-Jan-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add own counter for cancelled USB transfers. Do not count these as errors. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
b249ce48 |
|
03-Jan-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: drop the mostly unused flags argument from VOP_UNLOCK Filesystems which want to use it in limited capacity can employ the VOP_UNLOCK_FLAGS macro. Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D21427
|
#
eb4977bd |
|
01-Jan-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove arm/arm as a valid target. TARGET=arm now defaults to TARGET_ARCH=armv7 TARGET_ARCH=arm is no longer valid. Bump __FreeBSD_version to 1300073 Tested with make universe. Any stale LINT-V5 config files remaining in the tree will fail the universe build. However, LINT-V5 was removed in r355119. This retirement has been planned since last summer. The armv5 port is fragile: it works OK for some peeople, and fails badly for others. There's a number of subtle bugs in busdma, pmap and other MD parts of thee system that present themselves under load or in unusual circumstances (like fsck after a crash). stable/8, branched 10 years ago, was the last reliable release. Since the support burden is larger then the benefit, the consensus view is armv5 should be removed from the tree. Discussed with: arm@ mailing list and arm developer community.
|
#
86c06ff8 |
|
29-Dec-2019 |
Alexander Motin <mav@FreeBSD.org> |
Remove GEOM_SCHED class and gsched tool. This code was not actively maintained since it was introduced 10 years ago. It lacks support for many later GEOM features, such as direct dispatch, unmapped I/O, stripesize/stripeoffset, resize, etc. Plus it is the only remaining use of GEOM nstart/nend request counters, used there to implement live insertion/removal, questionable by itself. Plus, as number of people commented, GEOM is not the best place for I/O scheduler, since it has limited information about layers both above and below it, required for efficient scheduling. Plus with the modern shift to SSDs there is just no more significant need for this kind of scheduling. Approved by: imp, phk, luigi Relnotes: yes
|
#
7082625d |
|
27-Dec-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Make USB statistics per device instead of per bus. Bump the FreeBSD version due to structure change to force recompilation of external USB modules. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
adea0d63 |
|
26-Dec-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Eliminate the last MI difference in AT_* definitions (for powerpc). Summary: As a transition aide, implement an alternative elfN_freebsd_fixup which is called for old powerpc binaries. Similarly, add a translation to rtld to convert old values to new ones (as expected by a new rtld). Translation of old<->new values is incomplete, but sufficient to allow an installworld of a new userspace from an old one when a new kernel is running. Test Plan: Someone needs to see how a new kernel/rtld/libc works with an old binary. If if works we can probalby ship this. If not we probalby need some more compat bits. Submitted by: brooks Reviewed by: jhibbits Differential Revision: https://reviews.freebsd.org/D20799
|
#
dfec0fb5 |
|
24-Dec-2019 |
Scott Long <scottl@FreeBSD.org> |
Bump __FreeBSD_version for the addition of busdma templates.
|
#
21d16631 |
|
15-Dec-2019 |
Kyle Evans <kevans@FreeBSD.org> |
kbd: remove kbdsw, store pointer to driver in each keyboard_t The previous implementation relied on a kbdsw array that mirrored the global keyboards array. This is fine, but also requires extra locking consideration when accessing to ensure that it's not being resized as new keyboards are added. The extra pointer costs little in a struct that there are relatively few of on any given system, and simplifies locking requirements ever-so-slightly as we only need to consider the locking requirements of whichever method is being invoked. __FreeBSD_version is bumped as any kbd modules will need rebuilt following this change.
|
#
4b28d96e |
|
13-Dec-2019 |
John Baldwin <jhb@FreeBSD.org> |
Remove the deprecated timeout(9) interface. All in-tree consumers have been converted to callout(9). Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D22602
|
#
59f1142c |
|
12-Dec-2019 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump __FreeBSD_version since r355677 changes the internal interface between the NFS modules such that they all need to be upgraded to post r355677 simultaneously.
|
#
c2600304 |
|
11-Dec-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Bump __FreeBSD_version for r355641, new sig set ops This will be needed to unbreak qemu-user-static.
|
#
bc053caf |
|
09-Dec-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Correctly check for C++17 and higher when declaring timespec_get() Summary: In rS338751, the check to declare `timespec_get()` for C++17 and higher was incorrectly done against a `cplusplus` define, while it should have been `__cplusplus`. Fix this by using `__cplusplus`, and also bump `__FreeBSD_version` so it becomes possible to correctly check for `timespec_get()` in upstream libc++ headers. Reviewed by: brooks, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D22735
|
#
abd80ddb |
|
08-Dec-2019 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: introduce v_irflag and make v_type smaller The current vnode layout is not smp-friendly by having frequently read data avoidably sharing cachelines with very frequently modified fields. In particular v_iflag inspected for VI_DOOMED can be found in the same line with v_usecount. Instead make it available in the same cacheline as the v_op, v_data and v_type which all get read all the time. v_type is avoidably 4 bytes while the necessary data will easily fit in 1. Shrinking it frees up 3 bytes, 2 of which get used here to introduce a new flag field with a new value: VIRF_DOOMED. Reviewed by: kib, jeff Differential Revision: https://reviews.freebsd.org/D22715
|
#
eaad2b87 |
|
02-Dec-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bump __FreeBSD_version after r355304. The net/tcprtt port depends on this. Sponsored by: Klara, Inc, Netflix
|
#
52e8f6a3 |
|
21-Nov-2019 |
Eric Joyner <erj@FreeBSD.org> |
bitstring: add functions to find contiguous set/unset bit sequences Add bit_ffs_area_at and bit_ffc_area_at functions for searching a bit string for a sequence of contiguous set or unset bits of at least the specified size. The bit_ffc_area function will be used by the Intel ice driver for implementing resource assignment logic using a bitstring to represent whether or not a given index has been assigned or is currently free. The bit_ffs_area, bit_ffc_area_at and bit_ffs_area_at functions are implemented for completeness. I'd like to add further test cases for the new functions, but I'm not really sure how to add them easily. The new functions depend on specific sequences of bits being set, while the bitstring tests appear to run for varying bit sizes. Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Submitted by: Jacob Keller <jacob.e.keller@intel.com> Reviewed by: asomers@, erj@ MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D22400
|
#
6467506b |
|
20-Nov-2019 |
Warner Losh <imp@FreeBSD.org> |
Create /etc/os-release file. Each boot, regenerate /var/run/os-release based on the currently running system. Create a /etc/os-release symlink pointing to this file (so that this doesn't create a new reason /etc can not be mounted read-only). This is compatible with what other systems do and is what the sysutil/os-release port attempted to do, but in an incomplete way. Linux, Solaris and DragonFly all implement this natively as well. The complete standard can be found at https://www.freedesktop.org/software/systemd/man/os-release.html Moving this to the base solves both the non-standard location problem with the port, as well as the lack of update of this file on system update. Bump __FreeBSD_version to 1300060 PR: 238953 Differential Revision: https://reviews.freebsd.org/D22271
|
#
f22a5921 |
|
18-Nov-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Convert in-tree sysent targets to use new makesyscalls.lua flua is bootstrapped as part of the build for those on older versions/revisions that don't yet have flua installed. Once upgraded past r354833, "make sysent" will again naturally work as expected. Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D21894
|
#
3a2ba997 |
|
18-Nov-2019 |
Mark Johnston <markj@FreeBSD.org> |
Widen the vm_page aflags field to 16 bits. We are now out of aflags bits, whereas the "flags" field only makes use of five of its sixteen bits, so narrow "flags" to eight bits. I have no intention of adding a new aflag in the near future, but would like to combine the aflags, queue and act_count fields into a single atomically updated word. This will allow vm_page_pqstate_cmpset() to become much simpler and is a step towards eliminating the use of the page lock array in updating per-page queue state. The change modifies the layout of struct vm_page, so bump __FreeBSD_version. Reviewed by: alc, dougm, jeff, kib Sponsored by: Netflix, Intel Differential Revision: https://reviews.freebsd.org/D22397
|
#
eee39f5e |
|
13-Nov-2019 |
Brooks Davis <brooks@FreeBSD.org> |
elf_aux_info: Add support for AT_EXECPATH. Reviewed by: emaste, sef MFC after: 3 days Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22353
|
#
04677a42 |
|
07-Nov-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge commit e8316372b from llvm git (by Louis Dionne): [libc++] Add `__truncating_cast` for safely casting float types to integers This is needed anytime we need to clamp an arbitrary floating point value to an integer type. Thanks to Eric Fiselier for the patch. Differential Revision: https://reviews.llvm.org/D66836 llvm-svn: 370891 Merge commit b92deded8 from llvm git (by Louis Dionne): [libc++] Move __clamp_to_integral to <cmath>, and harden against min()/max() macros llvm-svn: 370900 Merge commit 0ec6a4882 from llvm git (by Louis Dionne): [libc++] Fix potential OOB in poisson_distribution See details in the original Chromium bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=994957 Together, these fix a security issue in libc++'s implementation of std::poisson_distribution, which can be exploited to read data which is out of bounds. Note there are no programs in the FreeBSD base system that use std::poisson_distribution, so this is only a possible issue for ports and external programs which have been built against libc++. Therefore, I am bumping __FreeBSD_version for the benefit of our port maintainers. Requested by: emaste Security: potential OOB read MFC after: 3 days
|
#
76354fa4 |
|
04-Nov-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Enable device class group attributes in the LinuxKPI. Bump the __FreeBSD_version to force recompilation of external kernel modules due to structure change. Differential Revision: https://reviews.freebsd.org/D21564 Submitted by: Greg V <greg@unrelenting.technology> MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
19e09f44 |
|
21-Oct-2019 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove obsoleted KPIs that were used to access interface address lists.
|
#
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
|
#
516dc824 |
|
17-Oct-2019 |
Mark Johnston <markj@FreeBSD.org> |
Belatedly bump __FreeBSD_version for r353537 and related commits. At least one small update to the out-of-tree DRM drivers is required now that cdev_pager_free_page() expects an xbusy page. Discussed with: jeff, zeising
|
#
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
|
#
063e3a6d |
|
08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Prepare for merging back to head: * Set tentative merge date * Add UPDATING entry * Bump __FreeBSD_version * Bump FREEBSD_CC_VERSION * Bump LLD_REVISION
|
#
204e2f30 |
|
07-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Factor out VNET shutdown check into an own vnet structure field. Remove the now obsolete vnet_state field. This greatly simplifies the detection of VNET shutdown and avoids code duplication. Discussed with: bz@ MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
20f70576 |
|
25-Sep-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Add a shm_open2 syscall to support upcoming memfd_create shm_open2 allows a little more flexibility than the original shm_open. shm_open2 doesn't enforce CLOEXEC on its callers, and it has a separate shmflag argument that can be expanded later. Currently the only shmflag is to allow file sealing on the returned fd. shm_open and memfd_create will both be implemented in libc to use this new syscall. __FreeBSD_version is bumped to indicate the presence. Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D21393
|
#
fee2a2fa |
|
09-Sep-2019 |
Mark Johnston <markj@FreeBSD.org> |
Change synchonization rules for vm_page reference counting. There are several mechanisms by which a vm_page reference is held, preventing the page from being freed back to the page allocator. In particular, holding the page's object lock is sufficient to prevent the page from being freed; holding the busy lock or a wiring is sufficent as well. These references are protected by the page lock, which must therefore be acquired for many per-page operations. This results in false sharing since the page locks are external to the vm_page structures themselves and each lock protects multiple structures. Transition to using an atomically updated per-page reference counter. The object's reference is counted using a flag bit in the counter. A second flag bit is used to atomically block new references via pmap_extract_and_hold() while removing managed mappings of a page. Thus, the reference count of a page is guaranteed not to increase if the page is unbusied, unmapped, and the object's write lock is held. As a consequence of this, the page lock no longer protects a page's identity; operations which move pages between objects are now synchronized solely by the objects' locks. The vm_page_wire() and vm_page_unwire() KPIs are changed. The former requires that either the object lock or the busy lock is held. The latter no longer has a return value and may free the page if it releases the last reference to that page. vm_page_unwire_noq() behaves the same as before; the caller is responsible for checking its return value and freeing or enqueuing the page as appropriate. vm_page_wire_mapped() is introduced for use in pmap_extract_and_hold(). It fails if the page is concurrently being unmapped, typically triggering a fallback to the fault handler. vm_page_wire() no longer requires the page lock and vm_page_unwire() now internally acquires the page lock when releasing the last wiring of a page (since the page lock still protects a page's queue state). In particular, synchronization details are no longer leaked into the caller. The change excises the page lock from several frequently executed code paths. In particular, vm_object_terminate() no longer bounces between page locks as it releases an object's pages, and direct I/O and sendfile(SF_NOCACHE) completions no longer require the page lock. In these latter cases we now get linear scalability in the common scenario where different threads are operating on different files. __FreeBSD_version is bumped. The DRM ports have been updated to accomodate the KPI changes. Reviewed by: jeff (earlier version) Tested by: gallatin (earlier version), pho Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D20486
|
#
f6668e9f |
|
06-Sep-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Improve sysfs support. - Add functions for creating and merging sysfs groups. - Add sysfs_streq function to compare strings ignoring newline from the sysctl userland call. - Add a call to sysfs_create_groups in device_add. - Remove duplicate header include. - Bump __FreeBSD_version. Reviewed by: hselasky Approved by: imp (mentor), hselasky MFC after: 4 days Differential Revision: D21542
|
#
d05b53e0 |
|
02-Sep-2019 |
Mateusz Guzik <mjg@FreeBSD.org> |
Add sysctlbyname system call Previously userspace would issue one syscall to resolve the sysctl and then another one to actually use it. Do it all in one trip. Fallback is provided in case newer libc happens to be running on an older kernel. Submitted by: Pawel Biernacki Reported by: kib, brooks Differential Revision: https://reviews.freebsd.org/D17282
|
#
458ba18d |
|
02-Sep-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Add sysfs create/remove functions that handles multiple files in one call. Reviewed by: hps Approved by: imp (mentor), hps MFC after: 1 week Differential Revision: D21475
|
#
82adf9ad |
|
01-Sep-2019 |
Ed Maste <emaste@FreeBSD.org> |
Belatedly bump __FreeBSD_version for r351659, gets(3) removal Reported by: linimon
|
#
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
|
#
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
|
#
d2ad004b |
|
16-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
Delete sys/dir.h which was deprecated since 1997. PR: 21519 Submitted by: Yoshihiro Ota <ota j email ne jp> Relnotes: yes Differential Revision: https://reviews.freebsd.org/D20479
|
#
f093e49a |
|
30-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
Bump __FreeBSD_version r350437 presents a merge conflict with r350115, which raised __FreeBSD_version due to the addition of fusefs's intr/nointr mount options. Sponsored by: The FreeBSD Foundation
|
#
a2f17b9d |
|
29-Jul-2019 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after removal of gzip'ed a.out support.
|
#
a76f78dc |
|
24-Jul-2019 |
Mark Johnston <markj@FreeBSD.org> |
Remove cap_random(3). Now that we have a way to obtain entropy in capability mode (getrandom(2)), libcap_random is obsolete. Remove it. Bump __FreeBSD_version in case anything happens to use it, though I've found no consumers. Reviewed by: delphij, emaste, oshogbo Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D21033
|
#
ed74f781 |
|
18-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: add a intr/nointr mount option FUSE file systems can optionally support interrupting outstanding operations. However, the file system does not identify to the kernel at mount time whether it's capable of doing that. Instead it signals its noncapability by returning ENOSYS to the first FUSE_INTERRUPT operation it receives. That's a problem for reliable signal delivery, because the kernel must choose which thread should get a signal before it knows whether the FUSE server can handle interrupts. The problem is even worse because the FUSE protocol allows a file system to simply ignore all FUSE_INTERRUPT operations. Fix the signal delivery logic by making interruptibility an opt-in mount option. This will require a corresponding change to libfuse, but not to most file systems that link to libfuse. Bump __FreeBSD_version due to the new mount option. Sponsored by: The FreeBSD Foundation
|
#
805eb13a |
|
13-Jul-2019 |
Ian Lepore <ian@FreeBSD.org> |
Add arm_sync_icache() and arm_drain_writebuf() sysarch syscall wrappers. NetBSD and OpenBSD have libc wrapper functions for the ARM_SYNC_ICACHE and ARM_DRAIN_WRITEBUF sysarch operations. This change adds compatible functions to our library. This should make it easier for various upstream sources to support *BSD operating systems with a single variation of cache maintence code in tools like interpreters and JIT compilers. I consider the argument types passed to arm_sync_icache() to be especially unfortunate, but this is intended to match the other BSDs. Differential Revision: https://reviews.freebsd.org/D20906
|
#
eeacb3b0 |
|
08-Jul-2019 |
Mark Johnston <markj@FreeBSD.org> |
Merge the vm_page hold and wire mechanisms. The hold_count and wire_count fields of struct vm_page are separate reference counters with similar semantics. The remaining essential differences are that holds are not counted as a reference with respect to LRU, and holds have an implicit free-on-last unhold semantic whereas vm_page_unwire() callers must explicitly determine whether to free the page once the last reference to the page is released. This change removes the KPIs which directly manipulate hold_count. Functions such as vm_fault_quick_hold_pages() now return wired pages instead. Since r328977 the overhead of maintaining LRU for wired pages is lower, and in many cases vm_fault_quick_hold_pages() callers would swap holds for wirings on the returned pages anyway, so with this change we remove a number of page lock acquisitions. No functional change is intended. __FreeBSD_version is bumped. Reviewed by: alc, kib Discussed with: jeff Discussed with: jhb, np (cxgbe) Tested by: pho (previous version) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D19247
|
#
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
|
#
6425fed7 |
|
21-Jun-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Additions to rcu list. - Add rcu list functions. - Make rcu hlist's foreach macro use rcu calls instead of the non-rcu macro. - Bump FreeBSD version so we have a checkpoint for the vboxvideo drm driver. Reviewed by: hps Approved by: imp (mentor), hps MFC after: 1 week Differential Revision: D20719
|
#
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
|
#
4c62bffe |
|
08-Jun-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Fix dpcpu and vnet panics with complex types at the end of the section. Apply a linker script when linking i386 kernel modules to apply padding to a set_pcpu or set_vnet section. The padding value is kind-of random and is used to catch modules not compiled with the linker-script, so possibly still having problems leading to kernel panics. This is needed as the code generated on certain architectures for non-simple-types, e.g., an array can generate an absolute relocation on the edge (just outside) the section and thus will not be properly relocated. Adding the padding to the end of the section will ensure that even absolute relocations of complex types will be inside the section, if they are the last object in there and hence relocation will work properly and avoid panics such as observed with carp.ko or ipsec.ko. There is a rather lengthy discussion of various options to apply in the mentioned PRs and their depends/blocks, and the review. There seems no best solution working across multiple toolchains and multiple version of them, so I took the liberty of taking one, as currently our users (and our CI system) are hitting this on just i386 and we need some solution. I wish we would have a proper fix rather than another "hack". Also backout r340009 which manually, temporarily fixed CARP before 12.0-R "by chance" after a lead-up of various other link-elf.c and related fixes. PR: 230857,238012 With suggestions from: arichardson (originally last year) Tested by: lwhsu Event: Waterloo Hackathon 2019 Reported by: lwhsu, olivier MFC after: 6 weeks Differential Revision: https://reviews.freebsd.org/D17512
|
#
78473c58 |
|
28-May-2019 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Update __FreeBSD_version and Makefile check for r348347 libdwarf needs forcibly rebuilt after r348347.
|
#
e2e050c8 |
|
19-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Extract eventfilter declarations to sys/_eventfilter.h This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header pollution substantially. EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c files into appropriate headers (e.g., sys/proc.h, powernv/opal.h). As a side effect of reduced header pollution, many .c files and headers no longer contain needed definitions. The remainder of the patch addresses adding appropriate includes to fix those files. LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by sys/mutex.h since r326106 (but silently protected by header pollution prior to this change). No functional change (intended). Of course, any out of tree modules that relied on header pollution for sys/eventhandler.h, sys/lock.h, or sys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped.
|
#
3425c6b7 |
|
17-May-2019 |
Brooks Davis <brooks@FreeBSD.org> |
FCP-101: Bump __FreeBSD_version for device removal. Bump accidentally omitted from r347924 due to a rebase accident. Differential Revision: https://reviews.freebsd.org/D20230
|
#
65ff7a31 |
|
14-May-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Add prepare to pm_ops and bump FreeBSD version. This patch is part of D19565 Reviewed by: hps Approved by: imp (mentor), hps MFC after: 1 week
|
#
395be823 |
|
14-May-2019 |
Johannes Lundberg <johalun@FreeBSD.org> |
LinuxKPI: Add context member to ww_mutex and bump FreeBSD version. This patch is part of https://reviews.freebsd.org/D19565. Reviewed by: hps Approved by: imp (mentor), hps
|
#
aa0a8933 |
|
13-May-2019 |
Mark Johnston <markj@FreeBSD.org> |
Add an UPDATING entry and bump __FreeBSD_version for r347532. Reported by: rgrimes, Oliver Pinter <oliver.pinter@hardenedbsd.org>
|
#
cf59f7e1 |
|
08-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump the Mellanox driver version numbers and the FreeBSD version number. MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
6b6e2954 |
|
06-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
List-ify kernel dump device configuration Allow users to specify multiple dump configurations in a prioritized list. This enables fallback to secondary device(s) if primary dump fails. E.g., one might configure a preference for netdump, but fallback to disk dump as a second choice if netdump is unavailable. This change does not list-ify netdump configuration, which is tracked separately from ordinary disk dumps internally; only one netdump configuration can be made at a time, for now. It also does not implement IPv6 netdump. savecore(8) is already capable of scanning and iterating multiple devices from /etc/fstab or passed on the command line. This change doesn't update the rc or loader variables 'dumpdev' in any way; it can still be set to configure a single dump device, and rc.d/savecore still uses it as a single device. Only dumpon(8) is updated to be able to configure the more complicated configurations for now. As part of revving the ABI, unify netdump and disk dump configuration ioctl / structure, and leave room for ipv6 netdump as a future possibility. Backwards-compatibility ioctls are added to smooth ABI transition, especially for developers who may not keep kernel and userspace perfectly synced. Reviewed by: markj, scottl (earlier version) Relnotes: maybe Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D19996
|
#
442d12d8 |
|
04-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix regression issue after r346645 in the LinuxKPI. The S/G list must be mapped AS-IS without any optimisations. This also implies that sg_dma_len() must be equal to sg->length. Many Linux drivers assume this and this fixes some DRM issues. Put the BUS DMA map pointer into the scatter-gather list to allow multiple mappings on the same physical memory address. The FreeBSD version has been bumped to force recompilation of external kernel modules. Sponsored by: Mellanox Technologies
|
#
f211d536 |
|
24-Apr-2019 |
Tycho Nightingale <tychon@FreeBSD.org> |
LinuxKPI should use bus_dma(9) to be compatible with an IOMMU Reviewed by: hselasky, kib Tested by: greg@unrelenting.technology Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D19845
|
#
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.
|
#
aa7d14e5 |
|
19-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Bump __FreeBSD_version after r346410
|
#
3782136f |
|
18-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
random(4): Restore availability tradeoff prior to r346250 As discussed in that commit message, it is a dangerous default. But the safe default causes enough pain on a variety of platforms that for now, restore the prior default. Some of this is self-induced pain we should/could do better about; for example, programmatic CI systems and VM managers should introduce entropy from the host for individual VM instances. This is considered a future work item. On modern x86 and Power9 systems, this may be wholly unnecessary after D19928 lands (even in the non-ideal case where early /boot/entropy is unavailable), because they have fast hardware random sources available early in boot. But D19928 is not yet landed and we have a host of architectures which do not provide fast random sources. This change adds several tunables and diagnostic sysctls, documented thoroughly in UPDATING and sys/dev/random/random_infra.c. PR: 230875 (reopens) Reported by: adrian, jhb, imp, and probably others Reviewed by: delphij, imp (earlier version), markm (earlier version) Discussed with: adrian Approved by: secteam(delphij) Relnotes: yeah Security: related Differential Revision: https://reviews.freebsd.org/D19944
|
#
f3d2512d |
|
16-Apr-2019 |
Conrad Meyer <cem@FreeBSD.org> |
random(4): Add is_random_seeded(9) KPI The imagined use is for early boot consumers of random to be able to make decisions based on whether random is available yet or not. One such consumer seems to be __stack_chk_init(), which runs immediately after random is initialized. A follow-up patch will attempt to address that. Reported by: many Reviewed by: delphij (except man page) Approved by: secteam(delphij) Differential Revision: https://reviews.freebsd.org/D19926
|
#
138ca6fb |
|
07-Apr-2019 |
Mariusz Zaborski <oshogbo@FreeBSD.org> |
Bump FreeBSD version after r345982. Reported by: Shawn Webb <shawn.webb@hardenedbsd.org> Discussed with: imp, cy, rgrimes
|
#
1b9d9394 |
|
19-Mar-2019 |
Eric Joyner <erj@FreeBSD.org> |
iflib: expose the Rx mbuf buffer size to drivers From Jake: iflib_fl_setup calculates a suitable buffer size for the Rx mbufs based on the isc_max_frame_size value that drivers setup. This calculation is repeated by drivers when programming their hardware with the size of each Rx buffer. This can lead to a mismatch where the iflib mbuf size is different from the expected size of the buffer as programmed by the hardware. This can lead to unexpected results. If iflib ever wants to support mbuf sizes larger than one page, every driver must be updated to account for the new possible buffer sizes. Fix this by calculating the mbuf size prior to calling IFDI_INIT, and adding the iflib_get_rx_mbuf_sz function which will expose this value to drivers, so that they do not repeat the same calculation. Submitted by: Jacob Keller <jacob.e.keller@intel.com> Reviewed by: shurd@, erj@ MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D19489
|
#
b0840a28 |
|
16-Mar-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Connect lib/libomp to the build. * Set MK_OPENMP to yes by default only on amd64, for now. * Bump __FreeBSD_version to signal this addition. * Ensure gcc's conflicting omp.h is not installed if MK_OPENMP is yes. * Update OptionalObsoleteFiles.inc to cope with the conflicting omp.h. * Regenerate src.conf(5) with new WITH/WITHOUT fragments. Relnotes: yes PR: 236062 MFC after: 1 month X-MFC-With: r344779
|
#
b6f8cfb9 |
|
15-Mar-2019 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Deanonymize thread and proc state enums, so that a userland app can use them without redefining the value names. New clang no longer allows to redefine a enum value name to the same value. Bump __FreeBSD_version, since ports depend on that. Discussed with: jhb
|
#
1791078b |
|
04-Mar-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Set tentative merge date, and bump __FreeBSD_version.
|
#
625bdc78 |
|
19-Feb-2019 |
Warner Losh <imp@FreeBSD.org> |
Add an UPDATING entry for the removal of drm and drm2 Also bump FreeBSD version to 1300013 since this series is a big change.
|
#
f855ec81 |
|
12-Feb-2019 |
Marius Strobl <marius@FreeBSD.org> |
Make taskqgroup_attach{,_cpu}(9) work across architectures So far, intr_{g,s}etaffinity(9) take a single int for identifying a device interrupt. This approach doesn't work on all architectures supported, as a single int isn't sufficient to globally specify a device interrupt. In particular, with multiple interrupt controllers in one system as found on e. g. arm and arm64 machines, an interrupt number as returned by rman_get_start(9) may be only unique relative to the bus and, thus, interrupt controller, a certain device hangs off from. In turn, this makes taskqgroup_attach{,_cpu}(9) and - internal to the gtaskqueue implementation - taskqgroup_attach_deferred{,_cpu}() not work across architectures. Yet in turn, iflib(4) as gtaskqueue consumer so far doesn't fit architectures where interrupt numbers aren't globally unique. However, at least for intr_setaffinity(..., CPU_WHICH_IRQ, ...) as employed by the gtaskqueue implementation to bind an interrupt to a particular CPU, using bus_bind_intr(9) instead is equivalent from a functional point of view, with bus_bind_intr(9) taking the device and interrupt resource arguments required for uniquely specifying a device interrupt. Thus, change the gtaskqueue implementation to employ bus_bind_intr(9) instead and intr_{g,s}etaffinity(9) to take the device and interrupt resource arguments required respectively. This change also moves struct grouptask from <sys/_task.h> to <sys/gtaskqueue.h> and wraps struct gtask along with the gtask_fn_t typedef into #ifdef _KERNEL as userland likes to include <sys/_task.h> or indirectly drags it in - for better or worse also with _KERNEL defined -, which with device_t and struct resource dependencies otherwise is no longer as easily possible now. The userland inclusion problem probably can be improved a bit by introducing a _WANT_TASK (as well as a _WANT_MOUNT) akin to the existing _WANT_PRISON etc., which is orthogonal to this change, though, and likely needs an exp-run. While at it: - Change the gt_cpu member in the grouptask structure to be of type int as used elswhere for specifying CPUs (an int16_t may be too narrow sooner or later), - move the gtaskqueue_enqueue_fn typedef from <sys/gtaskqueue.h> to the gtaskqueue implementation as it's only used and needed there, - change the GTASK_INIT macro to use "gtask" rather than "task" as argument given that it actually operates on a struct gtask rather than a struct task, and - let subr_gtaskqueue.c consistently use __func__ to print functions names. Reported by: mmel Reviewed by: mmel Differential Revision: https://reviews.freebsd.org/D19139
|
#
7bc2a58e |
|
11-Feb-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Bump `__FreeBSD_version__` for r343891 This will allow upstream consumers, e.g., capsicum-test and third-party packages (via ports(7)), to test for a specific `__FreeBSD_version__` and expect `renameat(2)` to be functional. PR: 222258 Approved by: emaste (mentor) Reviewed by: emaste MFC with: r343891 Differential Revision: https://reviews.freebsd.org/D19154
|
#
e5ac3049 |
|
26-Jan-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump SPECNAMELEN to MAXNAMLEN. This includes the bump for cdevsw d_version. Otherwise, the impact on the ABI (not KBI) is surprisingly low. The most important affected interface is devname(3) and ttyname(3) which already correctly handle long names (and ttyname(3) should not be affected at all). Still, due to the d_version bump, I argue that the change is not MFC-able. Requested by: mmacy Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D18932
|
#
dab61567 |
|
20-Jan-2019 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
net80211: resolve ioctl <-> detach race for ieee80211com structure Since r287197 ieee80211com is a part of drivers softc; as a result, after detach all pointers to it (iv_ic, ni_ic) are invalid. Most possible users (tasks, interrupt handlers) are blocked / removed when device is stopped; however, ioctl handlers were not tracked and may crash if ieee80211com structure is accessed. Since ieee80211com pointer access from ieee80211vap structure is not protected by lock (constant after interface creation) and used in many other places just use reference counting for ioctl handlers; on detach set 'detached' flag and wait until reference counter goes to 0. For HEAD ieee80211vap size was changed (__FreeBSD_version bumped); however, in stable branches I'm going to split / reuse the last iv_spare field for KBI stability. Tested with: - rsu(4), SIOCSIFCAP (-rxcsum) ioctl; - rtwn_pci(4), SIOCG80211 / IEEE80211_IOC_HTPROTMODE ioctl. MFC after: 1 week
|
#
33c80c7c |
|
04-Jan-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Bump __FreeBSD_version for r342771
|
#
fb1ec6a9 |
|
30-Dec-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version since r342628 changed size of struct linux_cdev on tier-1 i386 architecture. Requested by: hselasky MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
1fa054c1 |
|
24-Dec-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Enable sys/random.h #include from C++ And bump __FreeBSD_version, just in case. PR: 234180 Submitted by: Ralf van der Enden <tremere AT cainites.net> MFC after: 5 days
|
#
8f829a5c |
|
11-Dec-2018 |
Kirk McKusick <mckusick@FreeBSD.org> |
Continuing efforts to provide hardening of FFS. This change adds a check hash to the filesystem inodes. Access attempts to files associated with an inode with an invalid check hash will fail with EINVAL (Invalid argument). Access is reestablished after an fsck is run to find and validate the inodes with invalid check-hashes. This check avoids a class of filesystem panics related to corrupted inodes. The hash is done using crc32c. Note this check-hash is for the inode itself and not any of its indirect blocks. Check-hash validation may be extended to also cover indirect block pointers, but that will be a separate (and more costly) feature. Check hashes are added only to UFS2 and not to UFS1 as UFS1 is primarily used in embedded systems with small memories and low-powered processors which need as light-weight a filesystem as possible. Reviewed by: kib Tested by: Peter Holm Sponsored by: Netflix
|
#
30c5db2b |
|
23-Nov-2018 |
Andrew Turner <andrew@FreeBSD.org> |
Enable the BSD crtbegin/crtend by default. It has passed an exp run on amd64 and i386, and has testing on arm64. On other architectures it is expected to run, however it can be disabled by building world with -DWITHOUT_BSD_CRTBEGIN. Sponsored by: DARPA, AFRL
|
#
1493c2ee |
|
02-Nov-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Make vop_symlink take a const target path. This will enable callers to take const paths as part of syscall decleration improvements. Where doing so is easy and non-distruptive carry the const through implementations. In UFS the value is passed to an interface that must take non-const values. In ZFS, const poisoning would touch code shared with upstream and it's not worth adding diffs. Bump __FreeBSD_version for external API consumers. Reviewed by: kib (prior version) Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D17805
|
#
9984cc3d |
|
25-Oct-2018 |
Warner Losh <imp@FreeBSD.org> |
Bump to 1300002 for sys/joystick.h removal reversion.
|
#
638e0274 |
|
25-Oct-2018 |
Glen Barber <gjb@FreeBSD.org> |
Bump __FreeBSD_version following the OpenSSL shared library version number bump. Submitted by: antoine MFC with: r339709 Sponsored by: The FreeBSD Foundation
|
#
ec888383 |
|
23-Oct-2018 |
Kirk McKusick <mckusick@FreeBSD.org> |
Continuing efforts to provide hardening of FFS, this change adds a check hash to the superblock. If a check hash fails when an attempt is made to mount a filesystem, the mount fails with EINVAL (Invalid argument). This avoids a class of filesystem panics related to corrupted superblocks. The hash is done using crc32c. Check hases are added only to UFS2 and not to UFS1 as UFS1 is primarily used in embedded systems with small memories and low-powered processors which need as light-weight a filesystem as possible. Reviewed by: kib Tested by: Peter Holm Sponsored by: Netflix
|
#
b9583179 |
|
18-Oct-2018 |
Glen Barber <gjb@FreeBSD.org> |
- Update head to 13.0-CURRENT. - Bump MACHINE_TRIPLE, TARGET_TRIPLE, FBSD_MAJOR, FBSD_CC_VER, FREEBSD_CC_VERSION, OS_VERSION. - Update comment in UPDATING regarding debugging options. - Remove debug.witness.trace=0 from installation media. - Bump __FreeBSD_version. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
eb81f38a |
|
05-Sep-2018 |
John Baldwin <jhb@FreeBSD.org> |
Fix objcopy for little-endian MIPS64 objects. MIPS64 does not store the 'r_info' field of a relocation table entry as a 64-bit value consisting of a 32-bit symbol index in the high 32 bits and a 32-bit type in the low 32 bits as on other architectures. Instead, the 64-bit 'r_info' field is really a 32-bit symbol index followed by four individual byte type fields. For big-endian MIPS64, treating this as a 64-bit integer happens to be compatible with the layout expected by other architectures (symbol index in upper 32-bits of resulting "native" 64-bit integer). However, for little-endian MIPS64 the parsed 64-bit integer contains the symbol index in the low 32 bits and the 4 individual byte type fields in the upper 32-bits (but as if the upper 32-bits were byte-swapped). To cope, add two helper routines in gelf_getrel.c to translate between the correct native 'r_info' value and the value obtained after the normal byte-swap translation. Use these routines in gelf_getrel(), gelf_getrela(), gelf_update_rel(), and gelf_update_rela(). This fixes 'readelf -r' on little-endian MIPS64 objects which was previously decoding incorrect relocations as well as 'objcopy: invalid symbox index' warnings from objcopy when extracting debug symbols from kernel modules. Even with this fixed, objcopy was still crashing when trying to extract debug symbols from little-endian MIPS64 modules. The workaround in gelf_*rel*() depends on the current ELF object having a valid ELF header so that the 'e_machine' field can be compared against EM_MIPS. objcopy was parsing the relocation entries to possibly rewrite the 'r_info' fields in the update_relocs() function before writing the initial ELF header to the destination object file. Move the initial write of the ELF header earlier before copy_contents() so that update_relocs() uses the correct symbol index values. Note that this change should really go upstream. The binutils readelf source has a similar hack for MIPS64EL though I implemented this version from scratch using the MIPS64 ABI PDF as a reference. Discussed with: jkoshy Reviewed by: emaste, imp Approved by: re (gjb, kib) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D15734
|
#
a29173be |
|
26-Aug-2018 |
Xin LI <delphij@FreeBSD.org> |
Remove arc4random_stir and arc4random_addrandom from stdlib.h. Users of arc4random(3) should never call them directly. All ports tree usage was fixed as part of bug 230756. Relnotes: yes Approved by: re (marius), exp-run (bug 230756 by portmgr antoine)
|
#
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)
|
#
9544e6dc |
|
21-Aug-2018 |
Chuck Tuffli <chuck@FreeBSD.org> |
Make NVMe compatible with the original API The original NVMe API used bit-fields to represent fields in data structures defined by the specification (e.g. the op-code in the command data structure). The implementation targeted x86_64 processors and defined the bit fields for little endian dwords (i.e. 32 bits). This approach does not work as-is for big endian architectures and was changed to use a combination of bit shifts and masks to support PowerPC. Unfortunately, this changed the NVMe API and forces #ifdef's based on the OS revision level in user space code. This change reverts to something that looks like the original API, but it uses bytes instead of bit-fields inside the packed command structure. As a bonus, this works as-is for both big and little endian CPU architectures. Bump __FreeBSD_version to 1200081 due to API change Reviewed by: imp, kbowling, smh, mav Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D16404
|
#
d157fbd5 |
|
21-Aug-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Remove legacy drm and drm2 from tree As discussed on the MLs drm2 conflicts with the ports' version and there is no upstream for most if not all of drm. Both have been merged in to a single port. Users on powerpc, 32-bit hardware, or with GPUs predating Radeon and i915 will need to install the graphics/drm-legacy-kmod. All other users should be able to use one of the LinuxKPI-based ports: graphics/drm-stable-kmod, graphics/drm-next-kmod, graphics/drm-devel-kmod. MFC: never Approved by: core@
|
#
56019a53 |
|
19-Aug-2018 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after r338059 (Chacha20 based arc4random(3) and deprecation of arc4random_stir and arc4random_addrandom).
|
#
f6c0e63b |
|
15-Aug-2018 |
Alexander Leidinger <netchild@FreeBSD.org> |
- Add exec hook "exec.created". This is called when the jail is created and before exec.start is called. [1] - Bump __FreeBSD_version. This allows to attach ZFS datasets and various other things to be done before any command/service/rc-script is started in the new jail. PR: 228066 [1] Reviewed by: jamie [1] Submitted by: Stefan Grönke <stefan@gronke.net> [1] Differential Revision: https://reviews.freebsd.org/D15330 [1]
|
#
7e299411 |
|
10-Aug-2018 |
Warner Losh <imp@FreeBSD.org> |
Bring in timespce_get form NetBSD. Bring in the functionality for timespec_get from NetBSD. I've lightly edited the .c file to remove _DIAGASSERT because FreeBSD doesn't have that functionality and the typical #define'ing it to assert isn't right here. The man page is verbatim from NetBSD, but will be revised as part of a larger cleanup of the time man pages (they are inconsistent and vague in all the wrong places). Differential Review: https://reviews.freebsd.org/D16649
|
#
6040822c |
|
30-Jul-2018 |
Alan Somers <asomers@FreeBSD.org> |
Make timespecadd(3) and friends public The timespecadd(3) family of macros were imported from NetBSD back in r35029. However, they were initially guarded by #ifdef _KERNEL. In the meantime, we have grown at least 28 syscalls that use timespecs in some way, leading many programs both inside and outside of the base system to redefine those macros. It's better just to make the definitions public. Our kernel currently defines two-argument versions of timespecadd and timespecsub. NetBSD, OpenBSD, and FreeDesktop.org's libbsd, however, define three-argument versions. Solaris also defines a three-argument version, but only in its kernel. This revision changes our definition to match the common three-argument version. Bump _FreeBSD_version due to the breaking KPI change. Discussed with: cem, jilles, ian, bde Differential Revision: https://reviews.freebsd.org/D14725
|
#
e8177648 |
|
19-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Bump version to 1200075 for zfsloader being folded into loader. As an aside: 1200074 should be used as the last version with big endian arm support, should that be needed. it was actually removed a day later, but no bump was made until now.
|
#
3b3bf2b4 |
|
16-Jul-2018 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
FreeBSD_version bump as per r336351, Updating the libstdc++ is likely to have consequences for archs that are still using the older GCC based toolchain. Requested by: mcl
|
#
7f87c040 |
|
15-Jul-2018 |
Marius Strobl <marius@FreeBSD.org> |
Assorted TSO fixes for em(4)/iflib(9) and dead code removal: - Ever since the workaround for the silicon bug of TSO4 causing MAC hangs was committed in r295133, CSUM_TSO always got disabled unconditionally by em(4) on the first invocation of em_init_locked(). However, even with that problem fixed, it turned out that for at least e. g. 82579 not all necessary TSO workarounds are in place, still causing MAC hangs even at Gigabit speed. Thus, for stable/11, TSO usage was deliberately disabled in r323292 (r323293 for stable/10) for the EM-class by default, allowing users to turn it on if it happens to work with their particular EM MAC in a Gigabit-only environment. In head, the TSO workaround for speeds other than Gigabit was lost with the conversion to iflib(9) in r311849 (possibly along with another one or two TSO workarounds). Yet at the same time, for EM-class MACs TSO4 got enabled by default again, causing device hangs. Therefore, change the default for this hardware class back to have TSO4 off, allowing users to turn it on manually if it happens to work in their environment as we do in stable/{10,11}. An alternative would be to add a whitelist of EM-class devices where TSO4 actually is reliable with the workarounds in place, but given that the advantage of TSO at Gigabit speed is rather limited - especially with the overhead of these workarounds -, that's really not worth it. [1] This change includes the addition of an isc_capabilities to struct if_softc_ctx so iflib(9) can also handle interface capabilities that shouldn't be enabled by default which is used to handle the default-off capabilities of e1000 as suggested by shurd@ and moving their handling from em_setup_interface() to em_if_attach_pre() accordingly. - Although 82543 support TSO4 in theory, the former lem(4) didn't have support for TSO4, presumably because TSO4 is even more broken in the LEM-class of MACs than the later EM ones. Still, TSO4 for LEM-class devices was enabled as part of the conversion to iflib(9) in r311849, causing device hangs. So revert back to the pre-r311849 behavior of not supporting TSO4 for LEM-class at all, which includes not creating a TSO DMA tag in iflib(9) for devices not having IFCAP_TSO4 set. [2] - In fact, the FreeBSD TCP stack can handle a TSO size of IP_MAXPACKET (65535) rather than FREEBSD_TSO_SIZE_MAX (65518). However, the TSO DMA must have a maxsize of the maximum TSO size plus the size of a VLAN header for software VLAN tagging. The iflib(9) converted em(4), thus, first correctly sets scctx->isc_tx_tso_size_max to EM_TSO_SIZE in em_if_attach_pre(), but later on overrides it with IP_MAXPACKET in em_setup_interface() (apparently, left-over from pre-iflib(9) times). So remove the later and correct iflib(9) to correctly cap the maximum TSO size reported to the stack at IP_MAXPACKET. While at it, let iflib(9) use if_sethwtsomax*(). This change includes the addition of isc_tso_max{seg,}size DMA engine constraints for the TSO DMA tag to struct if_shared_ctx and letting iflib_txsd_alloc() automatically adjust the maxsize of that tag in case IFCAP_VLAN_MTU is supported as requested by shurd@. - Move the if_setifheaderlen(9) call for adjusting the maximum Ethernet header length from {ixgbe,ixl,ixlv,ixv,em}_setup_interface() to iflib(9) so adjustment is automatically done in case IFCAP_VLAN_MTU is supported. As a consequence, this adjustment now is also done in case of bnxt(4) which missed it previously. - Move the reduction of the maximum TSO segment count reported to the stack by the number of m_pullup(9) calls (which in the worst case, can add another mbuf and, thus, the requirement for another DMA segment each) in the transmit path for performance reasons from em_setup_interface() to iflib_txsd_alloc() as these pull-ups are now done in iflib_parse_header() rather than in the no longer existing em_xmit(). Moreover, this optimization applies to all drivers using iflib(9) and not just em(4); all in-tree iflib(9) consumers still have enough room to handle full size TSO packets. Also, reduce the adjustment to the maximum number of m_pullup(9)'s now performed in iflib_parse_header(). - Prior to the conversion of em(4)/igb(4)/lem(4) and ixl(4) to iflib(9) in r311849 and r335338 respectively, these drivers didn't enable IFCAP_VLAN_HWFILTER by default due to VLAN events not being passed through by lagg(4). With iflib(9), IFCAP_VLAN_HWFILTER was turned on by default but also lagg(4) was fixed in that regard in r203548. So just remove the now redundant and defunct IFCAP_VLAN_HWFILTER handling in {em,ixl,ixlv}_setup_interface(). - Nuke other redundant IFCAP_* setting in {em,ixl,ixlv}_setup_interface() which is (more completely) already done in {em,ixl,ixlv}_if_attach_pre() now. - Remove some redundant/dead setting of scctx->isc_tx_csum_flags in em_if_attach_pre(). - Remove some IFCAP_* duplicated either directly or indirectly (e. g. via IFCAP_HWCSUM) in {EM,IGB,IXL}_CAPS. - Don't bother to fiddle with IFCAP_HWSTATS in ixgbe(4)/ixgbev(4) as iflib(9) adds that capability unconditionally. - Remove some unused macros from em(4). - Bump __FreeBSD_version as some of the above changes require the modules of drivers using iflib(9) to be recompiled. Okayed by: sbruno@ at 201806 DevSummit Transport Working Group [1] Reviewed by: sbruno (earlier version), erj PR: 219428 (part of; comment #10) [1], 220997 (part of; comment #3) [2] Differential Revision: https://reviews.freebsd.org/D15720
|
#
f38b68ae |
|
05-Jul-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Make struct xinpcb and friends word-size independent. Replace size_t members with ksize_t (uint64_t) and pointer members (never used as pointers in userspace, but instead as unique idenitifiers) with kvaddr_t (uint64_t). This makes the structs identical between 32-bit and 64-bit ABIs. On 64-bit bit systems, the ABI is maintained. On 32-bit systems, this is an ABI breaking change. The ABI of most of these structs was previously broken in r315662. This also imposes a small API change on userspace consumers who must handle kernel pointers becoming virtual addresses. PR: 228301 (exp-run by antoine) Reviewed by: jtl, kib, rwatson (various versions) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15386
|
#
e533d7a3 |
|
03-Jul-2018 |
Matt Macy <mmacy@FreeBSD.org> |
FreeBSD_version: update for epoch(9) r335924 KPI change
|
#
f4b36404 |
|
02-Jul-2018 |
Matt Macy <mmacy@FreeBSD.org> |
inline atomics and allow tied modules to inline locks - inline atomics in modules on i386 and amd64 (they were always inline on other arches) - allow modules to opt in to inlining locks by specifying MODULE_TIED=1 in the makefile Reviewed by: kib Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D16079
|
#
8af7453d |
|
15-Jun-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Bump __FreeBSD_version after r335227 The kerneldumpheader ABI is used by at least the netdumpd port. Bump __FreeBSD_version to reflect the change. Reported by: markj Sponsored by: Dell EMC Isilon
|
#
7e4595e8 |
|
12-Jun-2018 |
Rick Macklem <rmacklem@FreeBSD.org> |
Version bump since r334930 changed the interface between the NFS modules, so they all need to be rebuilt.
|
#
8590505f |
|
09-Jun-2018 |
Mark Johnston <markj@FreeBSD.org> |
Bump __FreeBSD_version after r334881 and force libdwarf to be rebuilt. Reported by: O. Hartmann <ohartmann@walstatt.org> Reviewed by: bdrewery
|
#
b824b2d6 |
|
31-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Update FreeBSD_version to reflect removal of in-kernel pmc tables for Intel
|
#
5bd0cf6d |
|
28-May-2018 |
Devin Teske <dteske@FreeBSD.org> |
Bump FreeBSD_version after r333517 Sponsored by: Smule, Inc.
|
#
89a1c07a |
|
23-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Bump FreeBSD_version after r333813
|
#
8951f055 |
|
09-May-2018 |
Marcelo Araujo <araujo@FreeBSD.org> |
Rework CTL frontend & backend options to use nv(3), allow creating multiple ioctl frontend ports. This revision introduces two changes to CTL: - Changes the way options are passed to CTL_LUN_REQ and CTL_PORT_REQ ioctls. Removes ctl_be_arg structure and associated logic and replaces it with nv(3)-based logic for passing in and out arguments. - Allows creating multiple ioctl frontend ports using either ctladm(8) or ctld(8). New frontend ports are represented by /dev/cam/ctl<pp>.<vp> nodes, eg /dev/cam/ctl5.3. Those device nodes respond only to CTL_IO ioctl. New command-line options for ctladm: # creates new ioctl frontend port with using free pp and vp=0 ctladm port -c # creates new ioctl frontend port with pp=10 and vp=0 ctladm port -c -O pp=10 # creates new ioctl frontend port with pp=11 and vp=12 ctladm port -c -O pp=11 -O vp=12 # removes port with number 4 (it's a "targ_port" number, not pp number) ctladm port -r -p 4 New syntax for ctl.conf: target ... { port ioctl/<pp> ... } target ... { port ioctl/<pp>/<vp> ... Note: Most of this work was made by jceel@, thank you. Submitted by: jceel Reworked by: myself Reviewed by: mav (earlier versions and recently during the rework) Obtained from: FreeNAS and TrueOS Relnotes: Yes Sponsored by: iXsystems Inc. Differential Revision: https://reviews.freebsd.org/D9299
|
#
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)
|
#
8129693e |
|
06-Apr-2018 |
Ed Schouten <ed@FreeBSD.org> |
Let syslog(3) use RFC 5424. With r332099 changing syslogd(8) to parse RFC 5424 formatted syslog messages, go ahead and also change the syslog(3) libc function to generate them. Compared to RFC 3164, RFC 5424 has various advantages, such as sub-second precision for log entry timestamps. As this change could have adverse effects when not updating syslogd(8) or using a different system logging daemon, add a notice to UPDATING and increase __FreeBSD_version. Differential Revision: https://reviews.freebsd.org/D14926
|
#
444c6d6f |
|
06-Apr-2018 |
Roger Pau Monné <royger@FreeBSD.org> |
remove GiB/MiB macros from param.h And instead define them in the files where they are used. Requested by: bde
|
#
319cc4a7 |
|
05-Apr-2018 |
Roger Pau Monné <royger@FreeBSD.org> |
introduce GiB and MiB macros This macros convert from GiB or MiB into bytes. Sponsored by: Citrix Systems R&D
|
#
6d0fe480 |
|
02-Mar-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Don't declare union semun in userspace unless _WANT_SEMUN is defined. POSIX explicitly states that the application must declare union semun. This makes no sense, but it is what it is. This brings us into line with Linux, MacOS/Darwin, and NetBSD. In a ports exp-run a moderate number of ports fail due to a lack of approprate autotools-like discovery mechanisms or local patches. A commit to address them will follow shortly. PR: 224300, 224443 (exp-run) Reviewed by: emaste, jhb, kib Exp-run by: antoine Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14492
|
#
7cafeaa1 |
|
12-Feb-2018 |
Warner Losh <imp@FreeBSD.org> |
Add Lua as a scripting langauge to /boot/loader liblua glues the lua run time into the boot loader. It implements all the runtime routines that lua expects. In addition, it has a few standard 'C' headers that nueter various aspects of the LUA build that are too specific to lua to be in libsa. Many refinements from the original code to improve implementation and the number of included lua libraries. Use int64_t for lua_Number. Have "/boot/lua" be the default module path. Numerous cleanups from the original GSoC project, including hacking libsa to allow lua to be built with only one change outside luaconf.h. Add the final bit of lua glue to bring in liblua and plug into the multiple interpreter framework, previously committed. Add LOADER_LUA option, currently off by default. Presently, this is an experimental option. One must opt-in to using this by defining WITH_LOADER_LUA and WITHOUT_FORTH. It's been lightly tested, so keep a backup copy of your old loader handy. The menu code, coming in the next commit, hasn't been exhaustively tested. A LUA boot loader is 60k larger than a FORTH one, which is 80k larger than a no-interpreter one. Subtle changes in size may tip things past some subtle limit (the binary is ~430k now when built with LUA). A future version may offer coexistance. Bump FreeBSD version to 1200058 to mark the milestone. Pedro Souza's 2014 Summer of Code project. Rui Paulo, Pedro Arthur, Zakary Nafziger and Wojciech A. Koszek also contributed. Warner Losh reworked it extensively into its current form. Obtained from: https://wiki.freebsd.org/SummerOfCode2014/LuaLoader Sponsored by: Google Summer of Code Relnotes: Yes MFC After: 1 month Differential Review: https://reviews.freebsd.org/D14295
|
#
b1562cfa |
|
08-Feb-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Pull in r324594 from upstream clang trunk (by Alexander Ivchenko): Fix for #31362 - ms_abi is implemented incorrectly for values >=16 bytes. Summary: This patch is a fix for following issue: https://bugs.llvm.org/show_bug.cgi?id=31362 The problem was caused by front end lowering C calling conventions without taking into account calling conventions enforced by attribute. In this case win64cc was no correctly lowered on targets other than Windows. Reviewed By: rnk (Reid Kleckner) Differential Revision: https://reviews.llvm.org/D43016 Author: belickim <mateusz.belicki@intel.com> This fixes clang 6.0.0 assertions when building the emulators/wine and emulators/wine-devel ports, and should also make it use the correct Windows calling conventions. Bump __FreeBSD_version to make the fix easy to detect. PR: 224863 MFC after: 3 months X-MFC-With: r327952
|
#
15fd9bda |
|
09-Jan-2018 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Bump version for r327597 adding cpucontrol -e support
|
#
383f241d |
|
23-Nov-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove lint support from system headers and MD x86 headers. Reviewed by: dim, jhb Discussed with: imp Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D13156
|
#
51369649 |
|
20-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
|
#
7841fefb |
|
17-Nov-2017 |
Scott Long <scottl@FreeBSD.org> |
Rename P_OSREL_CK_CLYGRP to P_OSREL_CK_CYLGRP
|
#
a3c15a44 |
|
16-Nov-2017 |
Warner Losh <imp@FreeBSD.org> |
Only try to enable CK_CLYGRP if we're running on kernel newer than 1200046, the first version that supports this feature. If we set it, then use an old kernel, we'll break the 'contract' of having checksummed cylinder groups this flag signifies. To avoid creating something with an inconsistent state, don't turn the flag on in these cases. The first full fsck with a new kernel will turn this on. Spnsored by: Netflix Differential Revision: https://reviews.freebsd.org/D13114
|
#
1c778d91 |
|
15-Nov-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
vmtotal: extend memory counters to accomodate for current and future hardware sizes. 32bit counters already overflow on approachable virtual memory page counts, and soon would overflow on the physical pages counts as well. Bump sizes to 64bit types. Bump __FreeBSD_version. It is impossible to provide perfect backward ABI compat for this change. If a program requests an old structure, it can be detected by size. But if it queries the size first by passing NULL old req pointer, there is almost nothing we can do to detect the desired ABI. As a partial solution, check p_osrel of the quering process when selecting the size to report. Submitted by: Pawel Biernacki <pawel.biernacki@gmail.com> Differential revision: https://reviews.freebsd.org/D13018
|
#
5ca9d4ef |
|
07-Nov-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version after struct mbuf KBI breakage in r325506. Sponsored by: Mellanox Technologies
|
#
e012fe34 |
|
26-Oct-2017 |
John Baldwin <jhb@FreeBSD.org> |
Discard the correct thread event reported for a ptrace stop. When multiple threads wish to report a tracing event to a debugger, both threads call ptracestop() and one thread will win the race to be the reporting thread (p->p_xthread). The debugger uses PT_LWPINFO with the process ID to determine which thread / LWP is reporting an event and the details of that event. This event is cleared as a side effect of the subsequent ptrace event that resumed the process (PT_CONTINUE, PT_STEP, etc.). However, ptrace() was clearing the event identified by the LWP ID passed to the resume request even if that wasn't the 'p_xthread'. This could result in clearing an event that had not yet been observed by the debugger and leaving the existing event for 'p_thread' pending so that it was reported a second time. Specifically, if the debugger stopped due to a software breakpoint in one thread, but then switched to another thread that was used to resume (e.g. if the user switched to a different thread and issued a step), the resume request (PT_STEP) cleared a pending event (if any) for the thread being stepped. However, the process immediately stopped and the first thread reported it's breakpoint event a second time. The debugger decremented the PC for "both" breakpoint events which resulted in the PC now pointing into the middle of an instruction (on x86) and a SIGILL fault when the process was resumed a second time. To fix, always clear the pending event for 'p_xthread' when resuming a process. ptrace() still honors the requested LWP ID when enabling single-stepping (PT_STEP) or setting a different PC (PT_CONTINUE). Reported by: GDB testsuite (gdb.threads/continue-pending-status.exp) Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D12794
|
#
b0bd840b |
|
09-Oct-2017 |
Warner Losh <imp@FreeBSD.org> |
Note libstand is no longer a public interface in UPDATING. Bump FreeBSD_version to 1200051 on the off chance that something cares. Sponsored by: Netflix
|
#
1b755713 |
|
05-Oct-2017 |
Warner Losh <imp@FreeBSD.org> |
Add updating for armv7 and bump FreeBSD_version. Sponsored by: Netflix
|
#
27f0f2ec |
|
04-Oct-2017 |
Alan Somers <asomers@FreeBSD.org> |
Display rotation rate and TRIM/UNMAP support in diskinfo(8) Bump __FreeBSD_version due to the expansion of struct diocgattr_arg. Reviewed by: mav, allanjude, imp MFC after: 3 weeks Relnotes: yes Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D12578
|
#
0e229f34 |
|
02-Oct-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Hide struct socket and struct unpcb from the userland. Violators may define _WANT_SOCKET and _WANT_UNPCB respectively and are not guaranteed for stability of the structures. The violators list is the the usual one: libprocstat(3) and netstat(1) internally and lsof in ports. In struct xunpcb remove the inclusion of kernel structure and add a bunch of spare fields. The xsocket already has socket not included, but add there spares as well. Embed xsockbuf into xsocket. Sort declarations in sys/socketvar.h to separate kernel only from userland available ones. PR: 221820 (exp-run)
|
#
61d03cd4 |
|
27-Sep-2017 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
kernel: Bump __FreeBSD_version for the removal of M_HASHTYPE_RSS_UDP_IPV4_EX Sponsored by: Microsoft
|
#
40f53a7c |
|
22-Sep-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for 32-bit compatibility IOCTLs in the LinuxKPI. Bump the FreeBSD version to force recompilation of external kernel modules due to structure change. PR: 222504 Submitted by: Greg V <greg@unrelenting.technology> MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
e35e2f3e |
|
18-Sep-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump the __FreeBSD_version after recent LinuxKPI changes. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
6dec7efa |
|
09-Sep-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Properly implement poll_wait() in the LinuxKPI. This prevents direct use of the linux_poll_wakeup() function from unsafe contexts, which can lead to use-after-free issues. Instead of calling linux_poll_wakeup() directly use the wake_up() family of functions in the LinuxKPI to do this. Bump the FreeBSD version to force recompilation of external kernel modules. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
2744a0b6 |
|
28-Aug-2017 |
Conrad Meyer <cem@FreeBSD.org> |
Drop CACHE_LINE_SIZE to 64 bytes on x86 The actual cache line size has always been 64 bytes. The 128 number arose as an optimization for Core 2 era Intel processors. By default (configurable in BIOS), these CPUs would prefetch adjacent cache lines unintelligently. Newer CPUs prefetch more intelligently. The latest Core 2 era CPU was introduced in September 2008 (Xeon 7400 series, "Dunnington"). If you are still using one of these CPUs, especially in a multi-socket configuration, consider locating the "adjacent cache line prefetch" option in BIOS and disabling it. Reported by: mjg Reviewed by: np Discussed with: jhb Sponsored by: Dell EMC Isilon
|
#
32a04bb8 |
|
25-Aug-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Use counter(9) for PLPMTUD counters. Remove unused PLPMTUD sysctl counters. Bump UPDATING and FreeBSD Version to indicate a rebuild is required. Submitted by: kevin.bowling@kev009.com Reviewed by: jtl Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D12003
|
#
3e902b3d |
|
21-Aug-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Make WRFSBASE and WRGSBASE instructions functional. Right now, we enable the CR4.FSGSBASE bit on CPUs which support the facility (Ivy and later), to allow usermode to read fs and gs bases without syscalls. This bit also controls the write access to bases from userspace, but WRFSBASE and WRGSBASE instructions currently cannot be used, because return path from both exceptions or interrupts overrides bases with the values from pcb. Supporting the instructions is useful because this means that usermode can implement green-threads completely in userspace without issuing syscalls to change all of the machine context. Support is implemented by saving the fs base and user gs base when PCB_FULL_IRET flag is set. The flag is set on the context switch, which potentially causes clobber of the bases due to activation of another context, and when explicit modification of the user context by a syscall or exception handler is performed. In particular, the patch moves setting of the flag before syscalls change context. The changes to doreti_exit and PUSH_FRAME to clear PCB_FULL_IRET on entry from userspace can be considered a bug fixes on its own. Reviewed by: jhb (previous version) Tested by: pho (previous version) Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D12023
|
#
47cbff34 |
|
29-Jul-2017 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add kernel support for the NFS client forced dismount "umount -N" option. When an NFS mount is hung against an unresponsive NFS server, the "umount -f" option can be used to dismount the mount. Unfortunately, "umount -f" gets hung as well if a "umount" without "-f" has already been done. Usually, this is because of a vnode lock being held by the "umount" for the mounted-on vnode. This patch adds kernel code so that a new "-N" option can be added to "umount", allowing it to avoid getting hung for this case. It adds two flags. One indicates that a forced dismount is about to happen and the other is used, along with setting mnt_data == NULL, to handshake with the nfs_unmount() VFS call. It includes a slight change to the interface used between the client and common NFS modules, so I bumped __FreeBSD_version to ensure both modules are rebuilt. Tested by: pho Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D11735
|
#
726fd71d |
|
21-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Set tentative merge dates, bump __FreeBSD_version.
|
#
18b70d6a |
|
10-Jul-2017 |
Warner Losh <imp@FreeBSD.org> |
Bump to FreeBSD_version to 1200038 for MMC CAM
|
#
96a38fc0 |
|
01-Jul-2017 |
Jason A. Harmening <jah@FreeBSD.org> |
Bump __FreeBSD_version due to r320528, cleanup and inlining of bus_dmamap* functions. Reported by: David Wolfskill <david@catwhisker.org>
|
#
b4f36585 |
|
29-Jun-2017 |
Glen Barber <gjb@FreeBSD.org> |
Correct the branch naming convention in param.h. While here, consistently use upper-case 'X' to represent the version number. MFC after: 3 days Sponsored by: The FreeBSD Foundation
|
#
fbcf7bcd |
|
25-Jun-2017 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Solve the y2038 problem for powerpc AKA Make time_t 64 bits on powerpc(32). PowerPC currently (until now) was one of two architectures with a 32-bit time_t on 32-bit archs (the other being i386). This is an ABI breakage, so all ports, and all local binaries, *must* be recompiled. Tested by: andreast, others MFC after: Never Relnotes: Yes
|
#
19bd0d9c |
|
24-Jun-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Implement address space guards. Guard, requested by the MAP_GUARD mmap(2) flag, prevents the reuse of the allocated address space, but does not allow instantiation of the pages in the range. It is useful for more explicit support for usual two-stage reserve then commit allocators, since it prevents accidental instantiation of the mapping, e.g. by mprotect(2). Use guards to reimplement stack grow code. Explicitely track stack grow area with the guard, including the stack guard page. On stack grow, trivial shift of the guard map entry and stack map entry limits makes the stack expansion. Move the code to detect stack grow and call vm_map_growstack(), from vm_fault() into vm_map_lookup(). As result, it is impossible to get random mapping to occur in the stack grow area, or to overlap the stack guard page. Enable stack guard page by default. Reviewed by: alc, markj Man page update reviewed by: alc, bjk, emaste, markj, pho Tested by: pho, Qualys Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D11306 (man pages)
|
#
95ac7f1a |
|
18-Jun-2017 |
Rick Macklem <rmacklem@FreeBSD.org> |
Fix the NFS client/server so that it actually uses the 64bit ino_t filenos. The code still doesn't use d_off. That will come in a future commit. The code also removes the checks for servers returning a fileno that doesn't fit in 32bits, since that should work ok now. Bump __FreeBSD_version since this patch changes the interface between the NFS kernel modules. Reviewed by: kib
|
#
1d9f01b1 |
|
17-Jun-2017 |
Rick Macklem <rmacklem@FreeBSD.org> |
Take "extern int maxbcachebuf" out of sys/param.h, since it breaks the arm build. In the arm build, elf_note.S includes sys/param.h and then does an elf macro called ELFNOTE(). Although the compile error doesn't make sense to me, I believe it just means that an "extern ..." can't exist in param.h for this inclusion case. I suspect adding #if !defined(LOCORE) might fix the build, but this commit just takes the definition out. I will ask freebsd-current@ what is the best was to deal with this and do a subsequent commit after that. Reported by: melounmichal@gmail.com
|
#
d1c5e240 |
|
17-Jun-2017 |
Rick Macklem <rmacklem@FreeBSD.org> |
Make MAXBCACHEBUF a tunable called vfs.maxbcachebuf. By making MAXBCACHEBUF a tunable, it can be increased to allow for larger read/write data sizes for the NFS client. The tunable is limited to MAXPHYS, which is currently 128K. Making MAXPHYS a tunable or increasing its value is being discussed, since it would be nice to support a read/write data size of 1Mbyte for the NFS client when mounting the AmazonEFS file service. Reviewed by: kib MFC after: 2 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D10991
|
#
3b115db0 |
|
16-Jun-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for r320043, struct event 64-bit data. Sponsored by: The FreeBSD Foundation
|
#
75d7690b |
|
08-Jun-2017 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Bump _FreeBSD_version after removal of groff Reported by: antoine
|
#
69921123 |
|
23-May-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Commit the 64-bit inode project. Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modify struct dirent layout to add d_off, increase the size of d_fileno to 64-bits, increase the size of d_namlen to 16-bits, and change the required alignment. Increase struct statfs f_mntfromname[] and f_mntonname[] array length MNAMELEN to 1024. ABI breakage is mitigated by providing compatibility using versioned symbols, ingenious use of the existing padding in structures, and by employing other tricks. Unfortunately, not everything can be fixed, especially outside the base system. For instance, third-party APIs which pass struct stat around are broken in backward and forward incompatible ways. Kinfo sysctl MIBs ABI is changed in backward-compatible way, but there is no general mechanism to handle other sysctl MIBS which return structures where the layout has changed. It was considered that the breakage is either in the management interfaces, where we usually allow ABI slip, or is not important. Struct xvnode changed layout, no compat shims are provided. For struct xtty, dev_t tty device member was reduced to uint32_t. It was decided that keeping ABI compat in this case is more useful than reporting 64-bit dev_t, for the sake of pstat. Update note: strictly follow the instructions in UPDATING. Build and install the new kernel with COMPAT_FREEBSD11 option enabled, then reboot, and only then install new world. Credits: The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb). Kirk McKusick (mckusick) then picked up and updated the patch, and acted as a flag-waver. Feedback, suggestions, and discussions were carried by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles), and Rick Macklem (rmacklem). Kris Moore (kris) performed an initial ports investigation followed by an exp-run by Antoine Brodin (antoine). Essential and all-embracing testing was done by Peter Holm (pho). The heavy lifting of coordinating all these efforts and bringing the project to completion were done by Konstantin Belousov (kib). Sponsored by: The FreeBSD Foundation (emaste, kib) Differential revision: https://reviews.freebsd.org/D10439
|
#
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
|
#
81520713 |
|
19-Apr-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Bump __FreeBSD_version due to r317061, struct vmmeter changes.
|
#
c9d5e1ff |
|
10-Apr-2017 |
Patrick Kelsey <pkelsey@FreeBSD.org> |
Bump __FreeBSD_version due to r316648, rename of smp_no_redevous_barrier() to smp_no_rendezvous_barrier() Reported by: jkim
|
#
401ed17a |
|
21-Mar-2017 |
Alexander Motin <mav@FreeBSD.org> |
Make CAM SIM lock optional. For three years now CAM does not use SIM lock, but still enforces SIM to use it. Remove this requirement, allowing SIMs to have any locking they prefer, if they pass no mutex to cam_sim_alloc(). MFC after: 2 weeks
|
#
cc65eb4e |
|
21-Mar-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Hide struct inpcb, struct tcpcb from the userland. This is a painful change, but it is needed. On the one hand, we avoid modifying them, and this slows down some ideas, on the other hand we still eventually modify them and tools like netstat(1) never work on next version of FreeBSD. We maintain a ton of spares in them, and we already got some ifdef hell at the end of tcpcb. Details: - Hide struct inpcb, struct tcpcb under _KERNEL || _WANT_FOO. - Make struct xinpcb, struct xtcpcb pure API structures, not including kernel structures inpcb and tcpcb inside. Export into these structures the fields from inpcb and tcpcb that are known to be used, and put there a ton of spare space. - Make kernel and userland utilities compilable after these changes. - Bump __FreeBSD_version. Reviewed by: rrs, gnn Differential Revision: D10018
|
#
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)
|
#
0368307d |
|
07-Mar-2017 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version for removal of pcap-int.h. PR: 217221
|
#
e1bb2a82 |
|
01-Mar-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version, and set tentative merge date.
|
#
fbbd9655 |
|
28-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Renumber copyright clause 4 Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96
|
#
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
|
#
7a457115 |
|
16-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Bump FreeBSD_version to 1200021 for removal of EISA and MCA.
|
#
4fce19da |
|
13-Jan-2017 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove deprecated fgetsock() and fputsock().
|
#
df85a9ed |
|
15-Dec-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
Bump FreeBSD_version .
|
#
3d32d4a7 |
|
07-Dec-2016 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
Export the whole thread name in kinfo_proc kinfo_proc::ki_tdname is three characters shorter than thread::td_name. Add a ki_moretdname field for these three extra characters. Add the new field to kinfo_proc32, as well. Update all in-tree consumers to read the new field and assemble the full name, except for lldb's HostThreadFreeBSD.cpp, which I will handle separately. Bump __FreeBSD_version. Reviewed by: kib MFC after: 1 week Relnotes: yes Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D8722
|
#
d590c674 |
|
24-Nov-2016 |
Dimitry Andric <dim@FreeBSD.org> |
In preparation for merging back to head, bump __FreeBSD_version, FREEBSD_CC_VERSION and set date in ObsoleteFiles.inc.
|
#
bba39b9a |
|
22-Nov-2016 |
Alan Cox <alc@FreeBSD.org> |
Remove PG_CACHED-related fields from struct vmmeter, because they are no longer used. More precisely, they are always zero because the code that decremented and incremented them no longer exists. Bump __FreeBSD_version to mark this change. Reviewed by: kib, markj Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D8583
|
#
69f69033 |
|
19-Nov-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Actually bump __FreeBSD_version
|
#
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
|
#
7c942547 |
|
12-Oct-2016 |
Andriy Gapon <avg@FreeBSD.org> |
remove a few stray spaces from sys/param.h
|
#
32fdc418 |
|
12-Oct-2016 |
Andriy Gapon <avg@FreeBSD.org> |
bump __FreeBSD_version for libzfs_core.h
|
#
e3937a31 |
|
02-Oct-2016 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
Bump __FreeBSD_version for net80211(4) changes (r306590, r306591).
|
#
fe6f517c |
|
01-Oct-2016 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Bump _FreeBSD_version after adding fb_memattr field to fb_info in r306555
|
#
0696afbe |
|
23-Sep-2016 |
Alan Somers <asomers@FreeBSD.org> |
Mount msdosfs with longnames support by default. The old behavior depended on the FAT version and on what files were in the root directory. "mount_msdosfs -o shortnames" is still supported. Reviewed by: wblock, cem Discussed with: trasz, adrian, imp MFC after: 4 weeks X-MFC-Notes: Don't MFC the removal of findwin95 Differential Revision: https://reviews.freebsd.org/D8018
|
#
5271129c |
|
21-Sep-2016 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bump __FreeBSD_version after r305988, removal of bio_taskqueue(). Suggested by: asomers@
|
#
e3e7995c |
|
15-Sep-2016 |
Kevin Lo <kevlo@FreeBSD.org> |
Bump __FreeBSD_version for r305824. Suggested by: ngie
|
#
64cb5e2a |
|
05-Sep-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Resolve deadlock between device_detach() and usbd_do_request_flags() by reviving the SX control request lock and refining which lock protects the common scratch area in "struct usb_device". The SX control request lock was removed by r246759 because it caused a lock order reversal with the USB enumeration lock inside usbd_transfer_setup() as a function of r246616. It was thought that reducing the number of locks would resolve the LOR, but because some USB device drivers use usbd_do_request_flags() inside callback functions, like in taskqueues, a deadlock may occur when these are drained from device_detach(). By restoring the SX control request lock usbd_do_request_flags() is allowed to complete its execution when a USB device driver is detaching. By using the SX control request lock to protect the scratch area, the LOR introduced by r246616 is also resolved. Bump the FreeBSD version while at it to force recompilation of all USB kernel modules. Found by: avos@ MFC after: 1 week
|
#
fcc803df |
|
01-Sep-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Bump __FreeBSD_version for crunchgen META_MODE fix in r305254. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
1c828193 |
|
24-Aug-2016 |
Navdeep Parhar <np@FreeBSD.org> |
Bump __FreeBSD_version for r304787 and add a note about it to UPDATING.
|
#
6a58af48 |
|
24-Aug-2016 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump __FreeBSD_version for LC_*_MASK fix for newlocale(3) and querylocale(3)
|
#
200fa976 |
|
22-Aug-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Bump __FreeBSD_version for C++11 thread_local support in r303795. PR: 192320
|
#
5cba398b |
|
18-Aug-2016 |
George V. Neville-Neil <gnn@FreeBSD.org> |
Remove unusedd and obsolete openbsd_poll system call. (Phase 1) Reported by: brooks Reviewed by: brooks,jhb Differential Revision: https://reviews.freebsd.org/D7548
|
#
cbf4af1f |
|
12-Jul-2016 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump __FreeBSD_version after removing collation from [a-z]-type ranges.
|
#
ae940db1 |
|
07-Jul-2016 |
Glen Barber <gjb@FreeBSD.org> |
Reflect head is now 12.0-CURRENT. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
f22bfc72 |
|
23-Jun-2016 |
Navdeep Parhar <np@FreeBSD.org> |
Add spares to struct ifnet and socket for packet pacing and/or general use. Update comments regarding the spare fields in struct inpcb. Bump __FreeBSD_version for the changes to the size of the structures. Reviewed by: gnn@ Approved by: re@ (gjb@) Sponsored by: Chelsio Communications
|
#
a02e196e |
|
23-Jun-2016 |
Kenneth D. Merry <ken@FreeBSD.org> |
Switch geom_disk over to using a pool mutex. The GEOM disk d_mtx is only acquired on disk creation and destruction. It is a good candidate for replacement with a pool mutex. This eliminates the mutex initialization and teardown and the mutex and name variables themselves from struct disk. sys/geom/geom_disk.h: Take d_mtx and d_mtx_name out of struct disk. sys/geom/geom_disk.c: Use mtx_pool_lock() and mtx_pool_unlock() to guard the disk initialization state instead of a dedicated mutex. This allows removing the initialization and destruction of d_mtx. sys/sys/param.h: Bump __FreeBSD_version to 1100119 for the change to struct disk. Suggested by: jhb Sponsored by: Spectra Logic Approved by: re (gjb)
|
#
51b68003 |
|
21-Jun-2016 |
Kenneth D. Merry <ken@FreeBSD.org> |
Bump __FreeBSD_version to 1100118 for r302069, which breaks binary compatibility for loadable modules that depend on struct disk. Approved by: re (delphij) Sponsored by: Spectra Logic
|
#
0e069bce |
|
14-Jun-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Bump __FreeBSD_version for r301602. Reported by: ngie, Ben Lavery PR: 210229 Approved by: re (gjb)
|
#
dd099f3b |
|
30-May-2016 |
Allan Jude <allanjude@FreeBSD.org> |
Bump __FreeBSD_version for ZFS's support for SHA-512t256 and Skein
|
#
5cfd97e8 |
|
29-May-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
mbuf: Add a flag for M_HASHTYPE_ to indicate the type has hash properties This flag has not been used, and drivers setting M_HASHTYPE_OPAQUE have not been converted as of this commit. Reviewed by: hps, gallatin (early version) Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D6406
|
#
eb9b07bb |
|
26-May-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
WITH_AUTO_OBJ: Fix crunchgen builds. Passing MAKEOBJDIRPREFIX to the main prog build (rescue) would confuse WITH_AUTO_OBJ and cause it to create a recursed object directory that then broke the actual prog build. This is normally not a problem since we do not call 'make -f prog.mk obj' before building anything in it. Crunchgen(1) also assumes that if -o is not passed then if an object directory does not already exist then it should build in the source directories. The normal buildworld process will have already ran 'make obj' in each of the component directories so this is not a problem. With WITH_AUTO_OBJ though this is not the case. So we must tell crunchgen(1) that MK_AUTO_OBJ=yes will create the directory and to not require it be present before generating its Makefile. Sponsored by: EMC / Isilon Storage Division
|
#
40cb6df5 |
|
25-May-2016 |
Ian Lepore <ian@FreeBSD.org> |
Disable alignment faults on armv6, adjust various alignment-related macros to match the new state of affairs. The hardware we support has always been able to do unaligned accesses, we've just never enabled it until now. This brings FreeBSD into line with all the other major OSes, and should help with the growing volume of 3rd-party software that assumes unaligned access will just work on armv6 and armv7.
|
#
1b82e02f |
|
23-May-2016 |
Alan Somers <asomers@FreeBSD.org> |
Add bit_count to the bitstring(3) api Add a bit_count function, which efficiently counts the number of bits set in a bitstring. sys/sys/bitstring.h tests/sys/sys/bitstring_test.c share/man/man3/bitstring.3 Add bit_alloc sys/kern/subr_unit.c Use bit_count instead of a naive counting loop in check_unrhdr, used when INVARIANTS are enabled. The userland test runs about 6x faster in a generic build, or 8.5x faster when built for Nehalem, which has the POPCNT instruction. sys/sys/param.h Bump __FreeBSD_version due to the addition of bit_alloc UPDATING Add a note about the ABI incompatibility of the bitstring(3) changes, as suggested by lidl. Suggested by: gibbs Reviewed by: gibbs, ngie MFC after: 9 days X-MFC-With: 299090, 300538 Relnotes: yes Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D6255
|
#
94098ab7 |
|
20-May-2016 |
Andrew Turner <andrew@FreeBSD.org> |
Remove brk and sbrk from arm64. They were defined in The Single UNIX Specification, Version 2, but marked as legacy, and have been removed from later specifications. After 12 years it is time to remove them from new architectures when the main use for sbrk is an invalid method to attempt to find how much memory has been allocated from malloc. There are a few places in the tree that still call sbrk, however they are not used on arm64. They will need to be fixed to cross build from arm64, but these will be fixed in a follow up commit. Old copies of binutils from ports called into sbrk, however this has been fixed around 6 weeks ago. It is advised to update binutils on arm64 before installing a world that includes this change. Reviewed by: brooks, emaste Obtained from: brooks Relnotes: yes Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D6464
|
#
9a6844d5 |
|
19-May-2016 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add support for managing Shingled Magnetic Recording (SMR) drives. This change includes support for SCSI SMR drives (which conform to the Zoned Block Commands or ZBC spec) and ATA SMR drives (which conform to the Zoned ATA Command Set or ZAC spec) behind SAS expanders. This includes full management support through the GEOM BIO interface, and through a new userland utility, zonectl(8), and through camcontrol(8). This is now ready for filesystems to use to detect and manage zoned drives. (There is no work in progress that I know of to use this for ZFS or UFS, if anyone is interested, let me know and I may have some suggestions.) Also, improve ATA command passthrough and dispatch support, both via ATA and ATA passthrough over SCSI. Also, add support to camcontrol(8) for the ATA Extended Power Conditions feature set. You can now manage ATA device power states, and set various idle time thresholds for a drive to enter lower power states. Note that this change cannot be MFCed in full, because it depends on changes to the struct bio API that break compatilibity. In order to avoid breaking the stable API, only changes that don't touch or depend on the struct bio changes can be merged. For example, the camcontrol(8) changes don't depend on the new bio API, but zonectl(8) and the probe changes to the da(4) and ada(4) drivers do depend on it. Also note that the SMR changes have not yet been tested with an actual SCSI ZBC device, or a SCSI to ATA translation layer (SAT) that supports ZBC to ZAC translation. I have not yet gotten a suitable drive or SAT layer, so any testing help would be appreciated. These changes have been tested with Seagate Host Aware SATA drives attached to both SAS and SATA controllers. Also, I do not have any SATA Host Managed devices, and I suspect that it may take additional (hopefully minor) changes to support them. Thanks to Seagate for supplying the test hardware and answering questions. sbin/camcontrol/Makefile: Add epc.c and zone.c. sbin/camcontrol/camcontrol.8: Document the zone and epc subcommands. sbin/camcontrol/camcontrol.c: Add the zone and epc subcommands. Add auxiliary register support to build_ata_cmd(). Make sure to set the CAM_ATAIO_NEEDRESULT, CAM_ATAIO_DMA, and CAM_ATAIO_FPDMA flags as appropriate for ATA commands. Add a new get_ata_status() function to parse ATA result from SCSI sense descriptors (for ATA passthrough over SCSI) and ATA I/O requests. sbin/camcontrol/camcontrol.h: Update the build_ata_cmd() prototype Add get_ata_status(), zone(), and epc(). sbin/camcontrol/epc.c: Support for ATA Extended Power Conditions features. This includes support for all features documented in the ACS-4 Revision 12 specification from t13.org (dated February 18, 2016). The EPC feature set allows putting a drive into a power power mode immediately, or setting timeouts so that the drive will automatically enter progressively lower power states after various idle times. sbin/camcontrol/fwdownload.c: Update the firmware download code for the new build_ata_cmd() arguments. sbin/camcontrol/zone.c: Implement support for Shingled Magnetic Recording (SMR) drives via SCSI Zoned Block Commands (ZBC) and ATA Zoned Device ATA Command Set (ZAC). These specs were developed in concert, and are functionally identical. The primary differences are due to SCSI and ATA differences. (SCSI is big endian, ATA is little endian, for example.) This includes support for all commands defined in the ZBC and ZAC specs. sys/cam/ata/ata_all.c: Decode a number of additional ATA command names in ata_op_string(). Add a new CCB building function, ata_read_log(). Add ata_zac_mgmt_in() and ata_zac_mgmt_out() CCB building functions. These support both DMA and NCQ encapsulation. sys/cam/ata/ata_all.h: Add prototypes for ata_read_log(), ata_zac_mgmt_out(), and ata_zac_mgmt_in(). sys/cam/ata/ata_da.c: Revamp the ada(4) driver to support zoned devices. Add four new probe states to gather information needed for zone support. Add a new adasetflags() function to avoid duplication of large blocks of flag setting between the async handler and register functions. Add new sysctl variables that describe zone support and paramters. Add support for the new BIO_ZONE bio, and all of its subcommands: DISK_ZONE_OPEN, DISK_ZONE_CLOSE, DISK_ZONE_FINISH, DISK_ZONE_RWP, DISK_ZONE_REPORT_ZONES, and DISK_ZONE_GET_PARAMS. sys/cam/scsi/scsi_all.c: Add command descriptions for the ZBC IN/OUT commands. Add descriptions for ZBC Host Managed devices. Add a new function, scsi_ata_pass() to do ATA passthrough over SCSI. This will eventually replace scsi_ata_pass_16() -- it can create the 12, 16, and 32-byte variants of the ATA PASS-THROUGH command, and supports setting all of the registers defined as of SAT-4, Revision 5 (March 11, 2016). Change scsi_ata_identify() to use scsi_ata_pass() instead of scsi_ata_pass_16(). Add a new scsi_ata_read_log() function to facilitate reading ATA logs via SCSI. sys/cam/scsi/scsi_all.h: Add the new ATA PASS-THROUGH(32) command CDB. Add extended and variable CDB opcodes. Add Zoned Block Device Characteristics VPD page. Add ATA Return SCSI sense descriptor. Add prototypes for scsi_ata_read_log() and scsi_ata_pass(). sys/cam/scsi/scsi_da.c: Revamp the da(4) driver to support zoned devices. Add five new probe states, four of which are needed for ATA devices. Add five new sysctl variables that describe zone support and parameters. The da(4) driver supports SCSI ZBC devices, as well as ATA ZAC devices when they are attached via a SCSI to ATA Translation (SAT) layer. Since ZBC -> ZAC translation is a new feature in the T10 SAT-4 spec, most SATA drives will be supported via ATA commands sent via the SCSI ATA PASS-THROUGH command. The da(4) driver will prefer the ZBC interface, if it is available, for performance reasons, but will use the ATA PASS-THROUGH interface to the ZAC command set if the SAT layer doesn't support translation yet. As I mentioned above, ZBC command support is untested. Add support for the new BIO_ZONE bio, and all of its subcommands: DISK_ZONE_OPEN, DISK_ZONE_CLOSE, DISK_ZONE_FINISH, DISK_ZONE_RWP, DISK_ZONE_REPORT_ZONES, and DISK_ZONE_GET_PARAMS. Add scsi_zbc_in() and scsi_zbc_out() CCB building functions. Add scsi_ata_zac_mgmt_out() and scsi_ata_zac_mgmt_in() CCB/CDB building functions. Note that these have return values, unlike almost all other CCB building functions in CAM. The reason is that they can fail, depending upon the particular combination of input parameters. The primary failure case is if the user wants NCQ, but fails to specify additional CDB storage. NCQ requires using the 32-byte version of the SCSI ATA PASS-THROUGH command, and the current CAM CDB size is 16 bytes. sys/cam/scsi/scsi_da.h: Add ZBC IN and ZBC OUT CDBs and opcodes. Add SCSI Report Zones data structures. Add scsi_zbc_in(), scsi_zbc_out(), scsi_ata_zac_mgmt_out(), and scsi_ata_zac_mgmt_in() prototypes. sys/dev/ahci/ahci.c: Fix SEND / RECEIVE FPDMA QUEUED in the ahci(4) driver. ahci_setup_fis() previously set the top bits of the sector count register in the FIS to 0 for FPDMA commands. This is okay for read and write, because the PRIO field is in the only thing in those bits, and we don't implement that further up the stack. But, for SEND and RECEIVE FPDMA QUEUED, the subcommand is in that byte, so it needs to be transmitted to the drive. In ahci_setup_fis(), always set the the top 8 bits of the sector count register. We need it in both the standard and NCQ / FPDMA cases. sys/geom/eli/g_eli.c: Pass BIO_ZONE commands through the GELI class. sys/geom/geom.h: Add g_io_zonecmd() prototype. sys/geom/geom_dev.c: Add new DIOCZONECMD ioctl, which allows sending zone commands to disks. sys/geom/geom_disk.c: Add support for BIO_ZONE commands. sys/geom/geom_disk.h: Add a new flag, DISKFLAG_CANZONE, that indicates that a given GEOM disk client can handle BIO_ZONE commands. sys/geom/geom_io.c: Add a new function, g_io_zonecmd(), that handles execution of BIO_ZONE commands. Add permissions check for BIO_ZONE commands. Add command decoding for BIO_ZONE commands. sys/geom/geom_subr.c: Add DDB command decoding for BIO_ZONE commands. sys/kern/subr_devstat.c: Record statistics for REPORT ZONES commands. Note that the number of bytes transferred for REPORT ZONES won't quite match what is received from the harware. This is because we're necessarily counting bytes coming from the da(4) / ada(4) drivers, which are using the disk_zone.h interface to communicate up the stack. The structure sizes it uses are slightly different than the SCSI and ATA structure sizes. sys/sys/ata.h: Add many bit and structure definitions for ZAC, NCQ, and EPC command support. sys/sys/bio.h: Convert the bio_cmd field to a straight enumeration. This will yield more space for additional commands in the future. After change r297955 and other related changes, this is now possible. Converting to an enumeration will also prevent use as a bitmask in the future. sys/sys/disk.h: Define the DIOCZONECMD ioctl. sys/sys/disk_zone.h: Add a new API for managing zoned disks. This is very close to the SCSI ZBC and ATA ZAC standards, but uses integers in native byte order instead of big endian (SCSI) or little endian (ATA) byte arrays. This is intended to offer to the complete feature set of the ZBC and ZAC disk management without requiring the application developer to include SCSI or ATA headers. We also use one set of headers for ioctl consumers and kernel bio-level consumers. sys/sys/param.h: Bump __FreeBSD_version for sys/bio.h command changes, and inclusion of SMR support. usr.sbin/Makefile: Add the zonectl utility. usr.sbin/diskinfo/diskinfo.c Add disk zoning capability to the 'diskinfo -v' output. usr.sbin/zonectl/Makefile: Add zonectl makefile. usr.sbin/zonectl/zonectl.8 zonectl(8) man page. usr.sbin/zonectl/zonectl.c The zonectl(8) utility. This allows managing SCSI or ATA zoned disks via the disk_zone.h API. You can report zones, reset write pointers, get parameters, etc. Sponsored by: Spectra Logic Differential Revision: https://reviews.freebsd.org/D6147 Reviewed by: wblock (documentation)
|
#
b334cdea |
|
16-May-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement more Linux device related functions in the LinuxKPI. While at it use NULL for some pointer checks. Bump the FreeBSD version to force recompilation of all kernel modules due to a structure size change. Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
3a8bec33 |
|
12-May-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix handling of IOCTLs in the LinuxKPI. Linux requires that all IOCTL data resides in userspace. FreeBSD always moves the main IOCTL structure into a kernel buffer before invoking the IOCTL handler and then copies it back into userspace, before returning. Hide this difference in the "linux_copyin()" and "linux_copyout()" functions by remapping userspace addresses in the range from 0x10000 to 0x20000, to the kernel IOCTL data buffer. It is assumed that the userspace code, data and stack segments starts no lower than memory address 0x400000, which is also stated by "man 1 ld", which means any valid userspace pointer can be passed to regular LinuxKPI handled IOCTLs. Bump the FreeBSD version to force recompilation of all kernel modules. Discussed with: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
8907f744 |
|
04-May-2016 |
Alan Somers <asomers@FreeBSD.org> |
Improve performance and functionality of the bitstring(3) api Two new functions are provided, bit_ffs_at() and bit_ffc_at(), which allow for efficient searching of set or cleared bits starting from any bit offset within the bit string. Performance is improved by operating on longs instead of bytes and using ffsl() for searches within a long. ffsl() is a compiler builtin in both clang and gcc for most architectures, converting what was a brute force while loop search into a couple of instructions. All of the bitstring(3) API continues to be contained in the header file. Some of the functions are large enough that perhaps they should be uninlined and moved to a library, but that is beyond the scope of this commit. sys/sys/bitstring.h: Convert the majority of the existing bit string implementation from macros to inline functions. Properly protect the implementation from inadvertant macro expansion when included in a user's program by prefixing all private macros/functions and local variables with '_'. Add bit_ffs_at() and bit_ffc_at(). Implement bit_ffs() and bit_ffc() in terms of their "at" counterparts. Provide a kernel implementation of bit_alloc(), making the full API usable in the kernel. Improve code documenation. share/man/man3/bitstring.3: Add pre-exisiting API bit_ffc() to the synopsis. Document new APIs. Document the initialization state of the bit strings allocated/declared by bit_alloc() and bit_decl(). Correct documentation for bitstr_size(). The original code comments indicate the size is in bytes, not "elements of bitstr_t". The new implementation follows this lead. Only hastd assumed "elements" rather than bytes and it has been corrected. etc/mtree/BSD.tests.dist: tests/sys/Makefile: tests/sys/sys/Makefile: tests/sys/sys/bitstring.c: Add tests for all existing and new functionality. include/bitstring.h Include all headers needed by sys/bitstring.h lib/libbluetooth/bluetooth.h: usr.sbin/bluetooth/hccontrol/le.c: Include bitstring.h instead of sys/bitstring.h. sbin/hastd/activemap.c: Correct usage of bitstr_size(). sys/dev/xen/blkback/blkback.c Use new bit_alloc. sys/kern/subr_unit.c: Remove hard-coded assumption that sizeof(bitstr_t) is 1. Get rid of unrb.busy, which caches the number of bits set in unrb.map. When INVARIANTS are disabled, nothing needs to know that information. callapse_unr can be adapted to use bit_ffs and bit_ffc instead. Eliminating unrb.busy saves memory, simplifies the code, and provides a slight speedup when INVARIANTS are disabled. sys/net/flowtable.c: Use the new kernel implementation of bit-alloc, instead of hacking the old libc-dependent macro. sys/sys/param.h Update __FreeBSD_version to indicate availability of new API Submitted by: gibbs, asomers Reviewed by: gibbs, ngie MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D6004
|
#
0bab509b |
|
22-Apr-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
More fixes for using IPv6 addresses with RDMA: - Added check that the SCOPE ID is only restored for IPv6 linklocal addresses. - Changes made by r237263 in the "cma_bind_addr()" function did not check if the socket address was of type IPv6 and used the IPv4 socket address for IPv6 addresses. This caused the function to fail. Fixed this. - In the "rdma_gid2ip()" function and some other places the "sin6_len" and "sin6_scope_id" fields were not set for IPv6 socket addresses. Fixed this. - The scope ID is not stored as part of the GID entries and must be passed as an argument to "rdma_gid2ip()". - Added new method to "struct ib_device" which returns a pointer to the network interface which belongs to the given infiniband device. This is needed to be able to get the scope ID for IPv6 addresses via the associated ethernet interface. - Added convenience function, "rdma_get_ipv6_scope_id()", to get the scope ID for IPv6 addresses. - Implemented new "get_netdev" method for mlx4ib. Other IB controller drivers which want to support IPv6 addresses needs to implement this aswell. - Bumped the FreeBSD version due to changing "struct ib_device". Sponsored by: Mellanox Technologies MFC after: 1 week
|
#
678fec50 |
|
05-Apr-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Fix sed functions 'i' and 'a' from discarding leading white space. This appears to be implementation dependent but convenient and makes our sed behave more like GNU sed. Given that it is not the historic behavior, bump FreeBSD_version should userland/ports somehow depend on it. Obtained from: NetBSD (bin/49872) Reviewed by: bdrewery PR: 208554 Merge after: NEVER
|
#
e0d84b9e |
|
21-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Track filemon usage via a proc.p_filemon pointer rather than its own lists. - proc.p_filemon is added which is protected by PROC_LOCK. This improves performance and avoids double-fork issues, taking allproc_lock while in syscalls, and walking the process tree in syscalls. A particular proc.p_filemon can only be changed to NULL or another filemon, or the filemon inherited, while the filemon->lock is held. - Filemon are reference counted. On the last reference the log will be closed. - When closing the devfs file handle, the filemon will be detached from all processes and inheritance prevented. - Disallow attaching to a process already being traced since filemon is typically intended to be used on children only. This is allowed for curproc as bmake relies on this behavior for rare cases when combining .MAKE with .META. - Detach any previously tracked process on ioctl(FILEMON_SET_PID). - Handle error from devfs_set_cdevpriv() in filemon_open(). - The global filemon lock and lists are removed. - A free list is no longer kept. Previously this list was forever-expanding and never garbage cleaned. - No longer loses track of double-forks. If the process holding the filemon handle closes it will close the log rather than wait on a daemonized process, but it will log all activity until it closes its handle. The filemon will be removed from the process and not inherited. - A separate process count is kept only as an optimization for forced detachment to avoid taking allproc_lock and walking the entire process tree. - struct filemon access is protected by sx(9) filemon->lock as it was before. - Add more comments and KASSERTS. MFC after: 2 weeks Reviewed by: kib, mjg, markj (all on previous versions) Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5520
|
#
da1b038a |
|
17-Mar-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Use uintmax_t (typedef'd to rman_res_t type) for rman ranges. On some architectures, u_long isn't large enough for resource definitions. Particularly, powerpc and arm allow 36-bit (or larger) physical addresses, but type `long' is only 32-bit. This extends rman's resources to uintmax_t. With this change, any resource can feasibly be placed anywhere in physical memory (within the constraints of the driver). Why uintmax_t and not something machine dependent, or uint64_t? Though it's possible for uintmax_t to grow, it's highly unlikely it will become 128-bit on 32-bit architectures. 64-bit architectures should have plenty of RAM to absorb the increase on resource sizes if and when this occurs, and the number of resources on memory-constrained systems should be sufficiently small as to not pose a drastic overhead. That being said, uintmax_t was chosen for source clarity. If it's specified as uint64_t, all printf()-like calls would either need casts to uintmax_t, or be littered with PRI*64 macros. Casts to uintmax_t aren't horrible, but it would also bake into the API for resource_list_print_type() either a hidden assumption that entries get cast to uintmax_t for printing, or these calls would need the PRI*64 macros. Since source code is meant to be read more often than written, I chose the clearest path of simply using uintmax_t. Tested on a PowerPC p5020-based board, which places all device resources in 0xfxxxxxxxx, and has 8GB RAM. Regression tested on qemu-system-i386 Regression tested on qemu-system-mips (malta profile) Tested PAE and devinfo on virtualbox (live CD) Special thanks to bz for his testing on ARM. Reviewed By: bz, jhb (previous) Relnotes: Yes Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D4544
|
#
65d641e6 |
|
12-Mar-2016 |
Ed Maste <emaste@FreeBSD.org> |
Bump __FreeBSD_version for libelf cross-endian fix in r296685
|
#
ac6c1372 |
|
26-Feb-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Add the bus_alloc_resource_anywhere() convenience function. Summary: Many instances of bus_alloc_resource() simply use 0 and ~0 for start and end to denote 'anywhere' with a given count. To clean this up, introduce a bus_alloc_resource_anywhere() convenience function. Bump __FreeBSD_version for the new API. Reviewed By: jhb Differential Revision: https://reviews.freebsd.org/D5370
|
#
7ae3d4bf |
|
17-Feb-2016 |
Sepherosa Ziehau <sephe@FreeBSD.org> |
tcp/lro: Allow drivers to set the TCP ACK/data segment aggregation limit ACK aggregation limit is append count based, while the TCP data segment aggregation limit is length based. Unless the network driver sets these two limits, it's an NO-OP. Reviewed by: adrian, gallatin (previous version), hselasky (previous version) Approved by: adrian (mentor) MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5185
|
#
3dcaa2b5 |
|
16-Feb-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Bump __FreeBSD_Version for u_long -> rman_res_t change (r294883).
|
#
80f7300d |
|
26-Jan-2016 |
Devin Teske <dteske@FreeBSD.org> |
Add keep_tite configuration option Similar to dialog(3) keep_tite option used to prevent visually disturbing initialization or exit that could occur when run from a script using dpv(3) by way of dpv(1) in sequence with other dialog(1) invocations.
|
#
2d1bee65 |
|
21-Jan-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement idr_preload(), idr_preload_end(), idr_alloc() and idr_alloc_cyclic() in the LinuxKPI. Bump the FreeBSD version to force recompilation of all KLDs due to IDR structure size change. MFC after: 2 weeks Sponsored by: Mellanox Technologies
|
#
e936121d |
|
19-Jan-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add optimizing LRO wrapper: - Add optimizing LRO wrapper which pre-sorts all incoming packets according to the hash type and flowid. This prevents exhaustion of the LRO entries due to too many connections at the same time. Testing using a larger number of higher bandwidth TCP connections showed that the incoming ACK packet aggregation rate increased from ~1.3:1 to almost 3:1. Another test showed that for a number of TCP connections greater than 16 per hardware receive ring, where 8 TCP connections was the LRO active entry limit, there was a significant improvement in throughput due to being able to fully aggregate more than 8 TCP stream. For very few very high bandwidth TCP streams, the optimizing LRO wrapper will add CPU usage instead of reducing CPU usage. This is expected. Network drivers which want to use the optimizing LRO wrapper needs to call "tcp_lro_queue_mbuf()" instead of "tcp_lro_rx()" and "tcp_lro_flush_all()" instead of "tcp_lro_flush()". Further the LRO control structure must be initialized using "tcp_lro_init_args()" passing a non-zero number into the "lro_mbufs" argument. - Make LRO statistics 64-bit. Previously 32-bit integers were used for statistics which can be prone to wrap-around. Fix this while at it and update all SYSCTL's which expose LRO statistics. - Ensure all data is freed when destroying a LRO control structures, especially leftover LRO entries. - Reduce number of memory allocations needed when setting up a LRO control structure by precomputing the total amount of memory needed. - Add own memory allocation counter for LRO. - Bump the FreeBSD version to force recompilation of all KLDs due to change of the LRO control structure size. Sponsored by: Mellanox Technologies Reviewed by: gallatin, sbruno, rrs, gnn, transport Tested by: Netflix Differential Revision: https://reviews.freebsd.org/D4914
|
#
7d133393 |
|
15-Jan-2016 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Implement support for PCI suspend, resume and shutdown events in the LinuxKPI. Fix a few spaces to tabs. Bump the FreeBSD version to force recompilation of existing KMODs. MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
e80e04ae |
|
30-Dec-2015 |
Allan Jude <allanjude@FreeBSD.org> |
Bump __FreeBSD_version because r292782 removes sys/crypto/sha2.h Submitted by: Oliver Pinter <oliver.pinter@hardenedbsd.org>
|
#
c4aa7d77 |
|
19-Dec-2015 |
Mark Johnston <markj@FreeBSD.org> |
Bump __FreeBSD_version for r292469.
|
#
cbeb66dd |
|
30-Nov-2015 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump __FreeBSD_version since r291527 changes the interface between the nfsd.ko and nfscommon.ko modules. As such, both modules need to be upgraded to-gether.
|
#
8dc24f54 |
|
12-Nov-2015 |
Randall Stewart <rrs@FreeBSD.org> |
Bump version number since callout_stop() macro now has new NULL arg. Thanks Hans for spotting this!
|
#
e072f955 |
|
07-Nov-2015 |
Conrad Meyer <cem@FreeBSD.org> |
Flesh out sysctl types further (follow-up of r290475) Use the right intmax_t type instead of intptr_t in a few remaining places. Add support for CTLFLAG_TUN for the new fixed with types. Bruce will be upset that the new handlers silently truncate tuned quad-sized inputs, but so do all of the existing handlers. Add the new types to debug_dump_node, for whatever use that is. Bump FreeBSD_version again, for good measure. We are changing SYSCTL_HANDLER_ARGS and a member of struct sysctl_oid to intmax_t. Correct the sysctl typed NULL values for the fixed-width types. (Hat tip: hps@.) Suggested by: hps (partial) Sponsored by: EMC / Isilon Storage Division
|
#
096fa91f |
|
06-Nov-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Bump __FreeBSD_version modification of the locales
|
#
1dbbea55 |
|
06-Nov-2015 |
Conrad Meyer <cem@FreeBSD.org> |
Final follow-up to r290475: Bump __FreeBSD_version Because we changed sysctl_add_oid(9) ABI, which surely breaks ABI compatibility for out-of-tree modules. Sponsored by: EMC / Isilon Storage Division
|
#
9d9cc246 |
|
02-Nov-2015 |
Devin Teske <dteske@FreeBSD.org> |
Make figpar(3) types/macros [more] unique (s/fp_/figpar_/gi)
|
#
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
|
#
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
|
#
49bc4fbc |
|
19-Oct-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump the __FreeBSD_version to reflect the recent Linux KPI updates. Sponsored by: Mellanox Technologies
|
#
5873e5fc |
|
16-Oct-2015 |
Alexander Motin <mav@FreeBSD.org> |
Bump version and add notice about incompatibility introduced by resumable send/receive support in ZFS.
|
#
4f01407b |
|
05-Oct-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Prepare for merging back to head.
|
#
0ba74efb |
|
18-Aug-2015 |
Jason Evans <jasone@FreeBSD.org> |
Bump __FreeBSD_version for the jemalloc 4.0.0 import.
|
#
ad38a9d9 |
|
12-Aug-2015 |
Warner Losh <imp@FreeBSD.org> |
Crunchgen needs to be bootstrapped to pick up the STRIP->STRIPBIN changes to prevent the 'rescue: not found' errors from happening. Bump FreeBSD_version to 1100078 since there's been no version bumps since this change was made. Only people that installed since r284356 really need to do this bootstrapping, but since crunchgen needs to bootstrap for other reasons, bumping the number was the simplest.
|
#
b114aa79 |
|
27-Jul-2015 |
Ed Schouten <ed@FreeBSD.org> |
Make shutdown() return ENOTCONN as required by POSIX, part deux. Summary: Back in 2005, maxim@ attempted to fix shutdown() to return ENOTCONN in case the socket was not connected (r150152). This had to be rolled back (r150155), as it broke some of the existing programs that depend on this behavior. I reapplied this change on my system and indeed, syslogd failed to start up. I fixed this back in February (279016) and MFC'ed it to the supported stable branches. Apart from that, things seem to work out all right. Since at least Linux and Mac OS X do the right thing, I'd like to go ahead and give this another try. To keep old copies of syslogd working, only start returning ENOTCONN for recent binaries. I took a look at the XNU sources and they seem to test against both SS_ISCONNECTED, SS_ISCONNECTING and SS_ISDISCONNECTING, instead of just SS_ISCONNECTED. That seams reasonable, so let's do the same. Test Plan: This issue was uncovered while writing tests for shutdown() in CloudABI: https://github.com/NuxiNL/cloudlibc/blob/master/src/libc/sys/socket/shutdown_test.c#L26 Reviewers: glebius, rwatson, #manpages, gnn, #network Reviewed By: gnn, #network Subscribers: bms, mjg, imp Differential Revision: https://reviews.freebsd.org/D3039
|
#
fcf4d36e |
|
10-Jun-2015 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump FreeBSD_version due to lim_* API changes in r284215
|
#
b8d08379 |
|
04-Jun-2015 |
Xin LI <delphij@FreeBSD.org> |
Document the disable of legacy entries in password database in UPDATING and bump __FreeBSD_version after r283981.
|
#
789d9103 |
|
27-May-2015 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for the r283602, which changed dounmount() to require referenced struct mount *. Sponsored by: The FreeBSD Foundation
|
#
4ece1a88 |
|
08-May-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Extend the maximum number of allowed PCM channels in a PCM stream to 127 and decrease the maximum number of sub-channels to 1. These definitions are only used inside the kernel and can be changed later if more than one sub-channel is desired. This has been done to allow so-called USB audio rack modules to work with FreeBSD. Bump the FreeBSD version to force recompiling all external modules. MFC after: 2 weeks Reviewed by: mav
|
#
bce5cc70 |
|
01-May-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Bump _FreeBSD_version after reallocarray import Requested by: delphij
|
#
681476b5 |
|
29-Apr-2015 |
Michael Gmelin <grembo@FreeBSD.org> |
Bump __FreeBSD_version for smb(4) changes in r281985 Differential Revision: https://reviews.freebsd.org/D2398 Reviewed by: bapt, flo Approved by: bapt, flo
|
#
7cfdc2a7 |
|
24-Apr-2015 |
Rick Macklem <rmacklem@FreeBSD.org> |
MAXBSIZE defines both the largest UFS block size and the largest size for a buffer in the buffer cache. This patch defines a new constant MAXBCACHEBUF, which is the largest size for a buffer in the buffer cache. Having a separate constant allows MAXBCACHEBUF to be set larger than MAXBSIZE on a per-architecture basis, so that NFS can do larger read/writes for these architectures. It modifies sys/param.h so that BKVASIZE can also be set on a per-architecture basis. A couple of cases where NFS used MAXBSIZE instead of NFS_MAXBSIZE is fixed as well. Differential Revision: https://reviews.freebsd.org/D2330 Reviewed by: mav, kib MFC after: 2 weeks
|
#
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@
|
#
4ee4d591 |
|
15-Apr-2015 |
Tijl Coosemans <tijl@FreeBSD.org> |
Point to the right location where __FreeBSD_version numbers are documented.
|
#
1243a98e |
|
15-Apr-2015 |
Tijl Coosemans <tijl@FreeBSD.org> |
Remove the const qualifier from iconv(3) to comply with POSIX: http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html Adjust all code that calls iconv. PR: 199099 Exp-run by: antoine MFC after: 2 weeks
|
#
c151f24d |
|
06-Apr-2015 |
Gleb Smirnoff <glebius@FreeBSD.org> |
o Make net.inet6.ip6.mif6table return special API structure, that doesn't contain kernel pointers, and instead has interface index. Bump __FreeBSD_version for that change. o Now, netstat/mroute6.c no longer needs to kvm_read(3) struct ifnet, and no longer needs to include if_var.h Note that this change is far from being a complete move of IPv6 multicast routing to a proper API. Other structures are still dumped into their sysctls as is, requiring userland application to #define _KERNEL when including ip6_mroute.h and then call kvm_read(3) to gather all bits and pieces. But fixing this is out of scope of the opaque ifnet project. Sponsored by: Nginx, Inc. Sponsored by: Netflix
|
#
01ed3ca3 |
|
25-Mar-2015 |
Jung-uk Kim <jkim@FreeBSD.org> |
Remove defunct SSLv2 support from fetch(1) and fetch(3).
|
#
3fde12b6 |
|
20-Mar-2015 |
Jung-uk Kim <jkim@FreeBSD.org> |
Disable insecure SSLv2 support from the base OpenSSL. Differential Revision: https://reviews.freebsd.org/D1304
|
#
302cd48a |
|
15-Mar-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version again, and set real dates in UPDATING and ObsoleteFiles.inc, in preparation for the merge back to head.
|
#
bb057644 |
|
07-Mar-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add PPS support to USB serial drivers. Bump kernel version to reflect structure change. PR: 196897 MFC after: 1 week
|
#
35ee8a4a |
|
07-Mar-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add mutex support to the pps_ioctl() API in the kernel. Bump kernel version to reflect structure change. PR: 196897 MFC after: 1 week
|
#
9aa84271 |
|
23-Feb-2015 |
Kenneth D. Merry <ken@FreeBSD.org> |
Bump __FreeBSD_version for the mtio(4) / sa(4) ioctl and API additions in revision 279219. Sponsored by: Spectra Logic MFC after: 1 month
|
#
e8577fb4 |
|
18-Feb-2015 |
Kenneth D. Merry <ken@FreeBSD.org> |
Make sure that the flags for the XPT_DEV_ADVINFO CCB are initialized properly. If there is garbage in the flags field, it can sometimes include a set CDAI_FLAG_STORE flag, which may cause either an error or perhaps result in overwriting the field that was intended to be read. sys/cam/cam_ccb.h: Add a new flag to the XPT_DEV_ADVINFO CCB, CDAI_FLAG_NONE, that callers can use to set the flags field when no store is desired. sys/cam/scsi/scsi_enc_ses.c: In ses_setphyspath_callback(), explicitly set the XPT_DEV_ADVINFO flags to CDAI_FLAG_NONE when fetching the physical path information. Instead of ORing in the CDAI_FLAG_STORE flag when storing the physical path, set the flags field to CDAI_FLAG_STORE. sys/cam/scsi/scsi_sa.c: Set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_NONE when fetching extended inquiry information. sys/cam/scsi/scsi_da.c: When storing extended READ CAPACITY information, set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_STORE instead of ORing it into a field that isn't initialized. sys/dev/mpr/mpr_sas.c, sys/dev/mps/mps_sas.c: When fetching extended READ CAPACITY information, set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_NONE instead of setting it to 0. sbin/camcontrol/camcontrol.c: When fetching a device ID, set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_NONE instead of 0. sys/sys/param.h: Bump __FreeBSD_version to 1100061 for the new XPT_DEV_ADVINFO CCB flag, CDAI_FLAG_NONE. Sponsored by: Spectra Logic MFC after: 1 week
|
#
b914a529 |
|
16-Feb-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Forward the FBIO_BLANK IOCTL to framebuffer clients. Bump the FreeBSD version to force re-compilation of external video driver kernel modules. Discussed with: ray @
|
#
6df0b7b4 |
|
09-Feb-2015 |
Xin LI <delphij@FreeBSD.org> |
Chase r278433: bump __FreeBSD_version for xz 5.2.0 which adds multi-thread capability to liblzma.
|
#
3bba3152 |
|
04-Feb-2015 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add support for probing the SCSI VPD Extended Inquiry page (0x86). This VPD page is effectively an extension of the standard Inquiry data page, and includes lots of additional bits. This commit includes support for probing the page in the SCSI probe code, and an additional request type for the XPT_DEV_ADVINFO CCB. CTL already supports the Extended Inquiry page. Support for querying this page in the sa(4) driver will come later. sys/cam/scsi/scsi_xpt.c: Probe the Extended Inquiry page, if the device supports it, and return it in response to a XPT_DEV_ADVINFO CCB if it is requested. sys/cam/scsi/cam_ccb.h: Define a new advanced information CCB data type, CDAI_TYPE_EXT_INQ. sys/cam/cam_xpt.c: Free the extended inquiry data in a device when the device goes away. sys/cam/cam_xpt_internal.h: Add an extended inquiry data pointer and length to struct cam_ed. sys/sys/param.h Bump __FreeBSD_version for the addition of the new CDAI_TYPE_EXT_INQ advanced information type. Sponsored by: Spectra Logic MFC after: 1 week
|
#
304d0201 |
|
29-Jan-2015 |
John Baldwin <jhb@FreeBSD.org> |
Remove the d_thread_t compatibility shim provided in 5.0 to handle the struct thread (<= 4.x) vs struct proc (>= 5.0) argument to cdevsw routines. It is long past its expiration date. PR: 196544 (exp-run)
|
#
a2c9f319 |
|
26-Jan-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Anticipate a __FreeBSD_version bump.
|
#
2205e0d1 |
|
23-Jan-2015 |
Jilles Tjoelker <jilles@FreeBSD.org> |
Add futimens and utimensat system calls. The core kernel part is patch file utimes.2008.4.diff from pluknet@FreeBSD.org. I updated the code for API changes, added the manual page and added compatibility code for old kernels. There is also audit and Capsicum support. A new UTIME_* constant might allow setting birthtimes in future. Differential Revision: https://reviews.freebsd.org/D1426 Submitted by: pluknet (partially) Reviewed by: delphij, pluknet, rwatson Relnotes: yes
|
#
a115fb62 |
|
22-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Revert for r277213: FreeBSD developers need more time to review patches in the surrounding areas like the TCP stack which are using MPSAFE callouts to restore distribution of callouts on multiple CPUs. Bump the __FreeBSD_version instead of reverting it. Suggested by: kmacy, adrian, glebius and kib Differential Revision: https://reviews.freebsd.org/D1438
|
#
1a26c3c0 |
|
15-Jan-2015 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Major callout subsystem cleanup and rewrite: - Close a migration race where callout_reset() failed to set the CALLOUT_ACTIVE flag. - Callout callback functions are now allowed to be protected by spinlocks. - Switching the callout CPU number cannot always be done on a per-callout basis. See the updated timeout(9) manual page for more information. - The timeout(9) manual page has been updated to reflect how all the functions inside the callout API are working. The manual page has been made function oriented to make it easier to deduce how each of the functions making up the callout API are working without having to first read the whole manual page. Group all functions into a handful of sections which should give a quick top-level overview when the different functions should be used. - The CALLOUT_SHAREDLOCK flag and its functionality has been removed to reduce the complexity in the callout code and to avoid problems about atomically stopping callouts via callout_stop(). If someone needs it, it can be re-added. From my quick grep there are no CALLOUT_SHAREDLOCK clients in the kernel. - A new callout API function named "callout_drain_async()" has been added. See the updated timeout(9) manual page for a complete description. - Update the callout clients in the "kern/" folder to use the callout API properly, like cv_timedwait(). Previously there was some custom sleepqueue code in the callout subsystem, which has been removed, because we now allow callouts to be protected by spinlocks. This allows us to tear down the callout like done with regular mutexes, and a "td_slpmutex" has been added to "struct thread" to atomically teardown the "td_slpcallout". Further the "TDF_TIMOFAIL" and "SWT_SLEEPQTIMO" states can now be completely removed. Currently they are marked as available and will be cleaned up in a follow up commit. - Bump the __FreeBSD_version to indicate kernel modules need recompilation. - There has been several reports that this patch "seems to squash a serious bug leading to a callout timeout and panic". Kernel build testing: all architectures were built MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D1438 Sponsored by: Mellanox Technologies Reviewed by: jhb, adrian, sbruno and emaste
|
#
12940e3d |
|
07-Jan-2015 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to 1100053 reflecting the addition of a return value to MCLGET(). Suggested by: jmg Sponsored by: EMC / Isilon Storage Division
|
#
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
|
#
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
|
#
cd952115 |
|
09-Dec-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Pull in r223171 from upstream llvm trunk (by Michael Zolotukhin): PR21302. Vectorize only bottom-tested loops. rdar://problem/18886083 This fixes a bug in the llvm vectorizer, which could sometimes cause vectorized loops to perform an additional iteration, leading to possible buffer overruns. Symptoms of this, which are usually segfaults, were first noticed when building gcc ports, here: https://lists.freebsd.org/pipermail/freebsd-ports/2014-September/095466.html https://lists.freebsd.org/pipermail/freebsd-toolchain/2014-September/001211.html Since this fix is very important for ports, bump __FreeBSD_version to make it easier for port maintainers to test whether the fix has been applied. Upstream PR: http://llvm.org/PR21302 MFC after: 3 days
|
#
01ca58b2 |
|
05-Dec-2014 |
John Baldwin <jhb@FreeBSD.org> |
Always ignore the deprecated MAP_RENAME and MAP_NORESERVE flags to mmap(). Some old libraries may be used even with newer binaries (specifically the Nvidia driver libraries). Differential Revision: https://reviews.freebsd.org/D1262 Reviewed by: kib
|
#
c2529042 |
|
01-Dec-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Start process of removing the use of the deprecated "M_FLOWID" flag from the FreeBSD network code. The flag is still kept around in the "sys/mbuf.h" header file, but does no longer have any users. Instead the "m_pkthdr.rsstype" field in the mbuf structure is now used to decide the meaning of the "m_pkthdr.flowid" field. To modify the "m_pkthdr.rsstype" field please use the existing "M_HASHTYPE_XXX" macros as defined in the "sys/mbuf.h" header file. This patch introduces new behaviour in the transmit direction. Previously network drivers checked if "M_FLOWID" was set in "m_flags" before using the "m_pkthdr.flowid" field. This check has now now been replaced by checking if "M_HASHTYPE_GET(m)" is different from "M_HASHTYPE_NONE". In the future more hashtypes will be added, for example hashtypes for hardware dedicated flows. "M_HASHTYPE_OPAQUE" indicates that the "m_pkthdr.flowid" value is valid and has no particular type. This change removes the need for an "if" statement in TCP transmit code checking for the presence of a valid flowid value. The "if" statement mentioned above is now a direct variable assignment which is then later checked by the respective network drivers like before. Additional notes: - The SCTP code changes will be committed as a separate patch. - Removal of the "M_FLOWID" flag will also be done separately. - The FreeBSD version has been bumped. MFC after: 1 month Sponsored by: Mellanox Technologies
|
#
7362eb55 |
|
24-Nov-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Tentatively bump __FreeBSD_version for the import of llvm/clang 3.5.0.
|
#
6e646651 |
|
13-Nov-2014 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove the no-at variants of the kern_xx() syscall helpers. E.g., we have both kern_open() and kern_openat(); change the callers to use kern_openat(). This removes one (sometimes two) levels of indirection and consolidates arguments checks. Reviewed by: mckusick Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
39fb5669 |
|
13-Nov-2014 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Bump FreeBSD_version for r274462 - add ppoll() system call.
|
#
a8cd203a |
|
05-Nov-2014 |
Glen Barber <gjb@FreeBSD.org> |
Bump __FreeBSD_version after SA-14:23, SA-14:24, SA-14:25. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
041394f3 |
|
04-Nov-2014 |
Devin Teske <dteske@FreeBSD.org> |
Add new libraries/utilities for data throughput visualization. dpv(3): dialog progress view library dpv(1): stream data from stdin or multiple paths with dialog progress view figpar(3): configuration file parsing library Reviews: D714 Reviewed by: jelischer, shurd Discussed at: MeetBSD California 2014 Vendor/Dev Summit Discussed on: -current MFC after: 21 days X-MFC-to: stable/10 stable/9
|
#
2d6f6d63 |
|
04-Nov-2014 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
Enable vt(4) by default vt(4) is a new console driver which brings features such as: o Support for Unicode and double-width characters o Integration with the KMS kernel video drivers o Support for UEFI You may need to update your console settings in /etc/rc.conf, most probably the keymap. During boot, /etc/rc.d/syscons will indicate what you need to do. vt(4) still has issues and lacks some features compared to syscons(4). See the wiki for up-to-date information: https://wiki.freebsd.org/Newcons If you want to keep using syscons(4), you can do so by adding the following line to /boot/loader.conf: kern.vty=sc Differential Revision: https://reviews.freebsd.org/D1005 Discussed with: emaste@, nwhitehorn@, ray@ Relnotes: yes
|
#
4952ad42 |
|
03-Nov-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Restore spares used in "struct tcpcb" and bump "__FreeBSD_version" to indicate need for kernel module re-compilation. Sponsored by: Mellanox Technologies
|
#
f848c9aa |
|
30-Oct-2014 |
Mateusz Guzik <mjg@FreeBSD.org> |
Bump FreeBSD_version due to syscall*_register API changes in r273707
|
#
66802638 |
|
21-Oct-2014 |
Glen Barber <gjb@FreeBSD.org> |
Bump __FreeBSD_version to track SA-14:20, SA-14:21, SA-14:22, SA-14:23 Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
5817298f |
|
17-Oct-2014 |
John Baldwin <jhb@FreeBSD.org> |
Retire the unimplemented MAP_RENAME and MAP_NORESERVE flags to mmap(2). Older binaries are still permitted to use these flags. PR: 193961 (exp-run in ports) Differential Revision: https://reviews.freebsd.org/D848 Reviewed by: kib
|
#
9dc641f2 |
|
11-Oct-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Bump FreeBSD_version due to cleanup of tcp wrapper header. Due to revisions r272949 and r272950 which should affect positively some ports.
|
#
0ef99c70 |
|
06-Oct-2014 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version for the addition of explicit_bzero(3).
|
#
10204535 |
|
17-Sep-2014 |
Konstantin Belousov <kib@FreeBSD.org> |
The vm_mmap_cdev() explicitely converts absence of both MAP_SHARED and MAP_PRIVATE flags to MAP_SHARED. Apparently, some code in tree, in particular, libgeom, relied on this behaviour, see r271721. For regular file types, the absence of the flags is interpreted as MAP_PRIVATE, and libc nlist used this (fixed in r271723). Allow the implicit flags for legacy binaries. Bump __FreeBSD_version to get the ABI note on new binaries to check for in mmap code. Remove the test for presence of one of the MAP_ANON, MAP_SHARED or MAP_PRIVATE flags before fget_mmap(). For MAP_ANON, we already verify that passed fd == -1. For fd != -1, test after fget_mmap() (for newer binaries) covers the case. Reported by: bdrewery, pho Reviewed by: jhb Sponsored by: The FreeBSD Foundation
|
#
73547eea |
|
17-Sep-2014 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
drm/i915: Add HW context support This feature is required by Mesa 9.2+. Without this, a GL application crashes with the following message: # glxinfo name of display: :0.0 Gen6+ requires Kernel 3.6 or later. Assertion failed: (ctx->Version > 0), function handle_first_current, file ../../src/mesa/main/context.c, line 1498. Abort (core dumped) Now, Mesa 10.2.4 and 10.3-rc3 works fine: # glxinfo name of display: :0 display: :0 screen: 0 direct rendering: Yes ... OpenGL renderer string: Mesa DRI Intel(R) 965GM OpenGL version string: 2.1 Mesa 10.2.4 ... The code was imported from Linux 3.8.13. Reviewed by: kib@ Tested by: kwm@, danfe@, Henry Hu, Lundberg, Johannes <johannes@brilliantservice.co.jp>, Johannes Dieterich <dieterich.joh@gmail.com>, Lutz Bichler <lutz.bichler@gmail.com>, MFC after: 3 days Relnotes: yes
|
#
a06acfb7 |
|
16-Sep-2014 |
Glen Barber <gjb@FreeBSD.org> |
Bump __FreeBSD_version after SA-14:19.tcp Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
1481be66 |
|
15-Sep-2014 |
Enji Cooper <ngie@FreeBSD.org> |
Bump __FreeBSD_version for the change made in r271655 PR: 181155 Sponsored by: EMC / Isilon Storage Division
|
#
4f8585e0 |
|
11-Sep-2014 |
Alan Somers <asomers@FreeBSD.org> |
Revisions 264905 and 266860 added a "int fib" argument to ifa_ifwithnet and ifa_ifwithdstaddr. For the sake of backwards compatibility, the new arguments were added to new functions named ifa_ifwithnet_fib and ifa_ifwithdstaddr_fib, while the old functions became wrappers around the new ones that passed RT_ALL_FIBS for the fib argument. However, the backwards compatibility is not desired for FreeBSD 11, because there are numerous other incompatible changes to the ifnet(9) API. We therefore decided to remove it from head but leave it in place for stable/9 and stable/10. In addition, this commit adds the fib argument to ifa_ifwithbroadaddr for consistency's sake. sys/sys/param.h Increment __FreeBSD_version sys/net/if.c sys/net/if_var.h sys/net/route.c Add fibnum argument to ifa_ifwithbroadaddr, and remove the _fib versions of ifa_ifwithdstaddr, ifa_ifwithnet, and ifa_ifwithroute. sys/net/route.c sys/net/rtsock.c sys/netinet/in_pcb.c sys/netinet/ip_options.c sys/netinet/ip_output.c sys/netinet6/nd6.c Fixup calls of modified functions. share/man/man9/ifnet.9 Document changed API. CR: https://reviews.freebsd.org/D458 MFC after: Never Sponsored by: Spectra Logic
|
#
a48ad765 |
|
09-Sep-2014 |
Glen Barber <gjb@FreeBSD.org> |
Bump __FreeBSD_version after SA-14:18 Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
c26544aa |
|
01-Sep-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Make SOCK_RAW sockets to be truly raw, not modifying received and sent packets at all. Swapping byte order on SOCK_RAW was actually a bug, an artifact from the BSD network stack, that used to convert a packet to native byte order once it is received by kernel. Other operating systems didn't follow this, and later other BSD descendants fixed this, leaving us alone with the bug. Now it is clear that we should fix the bug. In collaboration with: Olivier Cochard-Labbé <olivier cochard.me> See also: https://wiki.freebsd.org/SOCK_RAW Sponsored by: Nginx, Inc.
|
#
f874ca3e |
|
19-Aug-2014 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Bump __FreeBSD_version after r269489 so ports can use it.
|
#
e19f362e |
|
21-Jul-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Fix hdestroy() compliance issue. The hcreate(3) implementation and related functions we inherited from NetBSD used to free() the key value, something that is not supported by the standard implementation. This would cause a segmentation fault when attempting to run the examples from the opengroup and linux manpages. NetBSD has added non-standard calls to provide the previous behaviour but hdestroy is not very commonly used so at this time it seems excessive to bring those to FreeBSD. Bump the __FreeBSD_version as this is an ABI change. Reference: http://bugs.dragonflybsd.org/issues/1398 MFC after: 2 weeks
|
#
ba8cd08b |
|
08-Jul-2014 |
Peter Wemm <peter@FreeBSD.org> |
Bump __FreeBSD_version after last SA-14:17.kmem so we have something to test against in the freebsd.org cluster.
|
#
2f9f804d |
|
01-Jul-2014 |
Rick Macklem <rmacklem@FreeBSD.org> |
Bump __FreeBSD_version since r268115 changed the internal interfaces used between the NFS related modules, including the krpc.
|
#
6e283683 |
|
30-Jun-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
regex(3): Add support for \< and \> word delimiters Solaris and other OSs have support for \< and \> as word delimiters in utilities like sed(1). These are useful to have for general compatiblity with Solaris but should be avoided for portability with other systems, including the traditional BSDs. Bump __FreeBSD_version as this is likely to affect some userland utilities. Reference: https://www.illumos.org/issues/516 PR: bin/153257 Obtained from: Illumos MFC after: 1 month
|
#
af3b2549 |
|
27-Jun-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Pull in r267961 and r267973 again. Fix for issues reported will follow.
|
#
37a107a4 |
|
27-Jun-2014 |
Glen Barber <gjb@FreeBSD.org> |
Revert r267961, r267973: These changes prevent sysctl(8) from returning proper output, such as: 1) no output from sysctl(8) 2) erroneously returning ENOMEM with tools like truss(1) or uname(1) truss: can not get etype: Cannot allocate memory
|
#
3da1cf1e |
|
27-Jun-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Extend the meaning of the CTLFLAG_TUN flag to automatically check if there is an environment variable which shall initialize the SYSCTL during early boot. This works for all SYSCTL types both statically and dynamically created ones, except for the SYSCTL NODE type and SYSCTLs which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added to be used in the case a tunable sysctl has a custom initialisation function allowing the sysctl to still be marked as a tunable. The kernel SYSCTL API is mostly the same, with a few exceptions for some special operations like iterating childrens of a static/extern SYSCTL node. This operation should probably be made into a factored out common macro, hence some device drivers use this. The reason for changing the SYSCTL API was the need for a SYSCTL parent OID pointer and not only the SYSCTL parent OID list pointer in order to quickly generate the sysctl path. The motivation behind this patch is to avoid parameter loading cludges inside the OFED driver subsystem. Instead of adding special code to the OFED driver subsystem to post-load tunables into dynamically created sysctls, we generalize this in the kernel. Other changes: - Corrected a possibly incorrect sysctl name from "hw.cbb.intr_mask" to "hw.pcic.intr_mask". - Removed redundant TUNABLE statements throughout the kernel. - Some minor code rewrites in connection to removing not needed TUNABLE statements. - Added a missing SYSCTL_DECL(). - Wrapped two very long lines. - Avoid malloc()/free() inside sysctl string handling, in case it is called to initialize a sysctl from a tunable, hence malloc()/free() is not ready when sysctls from the sysctl dataset are registered. - Bumped FreeBSD version to indicate SYSCTL API change. MFC after: 2 weeks Sponsored by: Mellanox Technologies
|
#
36716419 |
|
13-Jun-2014 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Attach the CUSE library and kernel module to the default FreeBSD builds. Bump the FreeBSD version number.
|
#
2800eb73 |
|
30-May-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Bump FreeBSD_version due to changed header for strcasecmp(3) family. In r266865, strcasecmp_l() and strncasecmp_l() were moved from <string.h> to <strings.h> for POSIX 2008 compliance. Requested by: linimon
|
#
eba21a2d |
|
15-May-2014 |
Warner Losh <imp@FreeBSD.org> |
Bump FreeBSD_version for src.opts.mk changes (about a week late).
|
#
804e0170 |
|
02-May-2014 |
Eitan Adler <eadler@FreeBSD.org> |
lindev(4): finish the partial commit in r265212 lindev(4) was only used to provide /dev/full which is now a standard feature of FreeBSD. /dev/full was never linux-specific and provides a generally useful feature. Document this in UPDATING and bump __FreeBSD_version. This will be documented in the PH shortly. Reported by: jkim
|
#
eccee15d |
|
08-Apr-2014 |
Peter Wemm <peter@FreeBSD.org> |
Bump osreldate for tracking SA-14:06
|
#
e06e816f |
|
06-Apr-2014 |
Kevin Lo <kevlo@FreeBSD.org> |
Add support for UDP-Lite protocol (RFC 3828) to IPv4 and IPv6 stacks. Tested with vlc and a test suite [1]. [1] http://www.erg.abdn.ac.uk/~gerrit/udp-lite/files/udplite_linux.tar.gz Reviewed by: jhb, glebius, adrian
|
#
8fb94880 |
|
04-Apr-2014 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
gcc: define __block when block support is enabled This mimics the behaviour in clang and lets us build cleanly the libdispatch port on platforms where the base gcc is still the default compiler. Bump __FreeBSD_version for ports. Tested by: theraven MFC after: 3 days
|
#
73279d41 |
|
22-Mar-2014 |
Andrew Turner <andrew@FreeBSD.org> |
Add a new ARM TARGET_ARCH, armv6hf. This is considered experimental. This targets the existing ARMv6 and ARMv7 SoCs that contain a VFP unit. This is an optional coprocessors may not be present in all devices, however it appears to be in all current SoCs we support. armv6hf targets the VFP variant of the ARM EABI and our copy of gcc is too old to support this. Because of this there are a number of WITH/WITHOUT options that are unsupported and must be left as the default value. The options and their required value are: * WITH_ARM_EABI * WITHOUT_GCC * WITHOUT_GNUCXX In addition, without an external toolchain, the following need to be left as their default: * WITH_CLANG * WITH_CLANG_IS_CC As there is a different method of passing float and double values to functions the ABI is incompatible with existing armv6 binaries. To use this a full rebuild of world is required. Because no floating point values are passed into the kernel an armv6 kernel with VFP enabled will work with an armv6hf userland and vice versa.
|
#
44f1c916 |
|
22-Mar-2014 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Rename global cnt to vm_cnt to avoid shadowing. To reduce the diff struct pcu.cnt field was not renamed, so PCPU_OP(cnt.field) is still used. pc_cnt and pcpu are also used in kvm(3) and vmstat(8). The goal was to not affect externally used KPI. Bump __FreeBSD_version_ in case some out-of-tree module/code relies on the the global cnt variable. Exp-run revealed no ports using it directly. No objection from: arch@ Sponsored by: EMC / Isilon Storage Division
|
#
6fcf98a0 |
|
16-Mar-2014 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to reflect capability.h -> capsicum.h change. MFC after: 3 weeks
|
#
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.
|
#
b245f96c |
|
12-Mar-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Since 32-bit if_baudrate isn't enough to describe a baud rate of a 10 Gbit interface, in the r241616 a crutch was provided. It didn't work well, and finally we decided that it is time to break ABI and simply make if_baudrate a 64-bit value. Meanwhile, the entire struct if_data was reviewed. o Remove the if_baudrate_pf crutch. o Make all fields of struct if_data fixed machine independent size. The notion of data (packet counters, etc) are by no means MD. And it is a bug that on amd64 we've got a 64-bit counters, while on i386 32-bit, which at modern speeds overflow within a second. This also removes quite a lot of COMPAT_FREEBSD32 code. o Give 16 bit for the ifi_datalen field. This field was provided to make future changes to if_data less ABI breaking. Unfortunately the 8 bit size of it had effectively limited sizeof if_data to 256 bytes. o Give 32 bits to ifi_mtu and ifi_metric. o Give 64 bits to the rest of fields, since they are counters. __FreeBSD_version bumped. Discussed with: emax Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
#
1eb6d263 |
|
28-Feb-2014 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after import of ncurses 5.9.
|
#
552ee0e1 |
|
14-Feb-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version after the libc++ 3.4 ABI compatibility fix in r261801. Requested by: portmgr
|
#
28691bcd |
|
25-Jan-2014 |
Kai Wang <kaiw@FreeBSD.org> |
Bump __FreeBSD_version.
|
#
5156701b |
|
28-Dec-2013 |
Peter Wemm <peter@FreeBSD.org> |
Bump __FreeBSD_version for r259951 - Don't coalesce entries in vm_map_stack().
|
#
dcd1a208 |
|
15-Dec-2013 |
Benjamin Kaduk <bjk@FreeBSD.org> |
Increment __FreeBSD_version for the behavior change of gss_pseudo_random introduced in r259286. Approved by: hrs (mentor, src committer)
|
#
2b7d2c21 |
|
17-Nov-2013 |
Peter Wemm <peter@FreeBSD.org> |
Bump __FreeBSD_version for iconv changes
|
#
5fb009bd |
|
05-Nov-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Drop support for historic ioctls and also undefine them, so that code that checks their presence via ifdef, won't use them. Bump __FreeBSD_version as safety measure.
|
#
004fc69c |
|
19-Oct-2013 |
Colin Percival <cperciva@FreeBSD.org> |
Bump __FreeBSD_version to 1100001 for addition of support for "first boot" rc.d scripts, so that ports can make use of this.
|
#
eda6009c |
|
15-Oct-2013 |
Konstantin Belousov <kib@FreeBSD.org> |
Add a sysctl kern.disallow_high_osrel which disables executing the images compiled on the world with higher major version number than the high version number of the booted kernel. Default to disable. Sponsored by: The FreeBSD Foundation Discussed with: bapt MFC after: 1 week
|
#
006a42a9 |
|
10-Oct-2013 |
Glen Barber <gjb@FreeBSD.org> |
Turn it all the way up to 11: - Update FreeBSD version in: - UPDATING - sys/conf/newvers.sh - Add 11.0 FreeBSD version for manual pages - Bump __FreeBSD_version to 1100000 Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
2402d976 |
|
10-Sep-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Make a bump for r255426. Approved by: re (gjb)
|
#
52b42bac |
|
06-Sep-2013 |
David Chisnall <theraven@FreeBSD.org> |
On platforms where clang is the default compiler, don't build gcc or libstdc++. To enable them, set WITH_GCC and WITH_GNUCXX in src.conf. Make clang default to using libc++ on FreeBSD 10. Bumped __FreeBSD_version for the change. GCC is still enabled on PC98, because the PC98 bootloader requires GCC to build (or, at least, hard-codes the use of gcc into its build). Thanks to everyone who helped make the ports tree ready for this (and bapt for coordinating them all). Also to imp for reviewing this and working on the forward-porting of the changes in our gcc so that we're getting to a much better place with regard to external toolchains. Sorry to all of the people who helped who I forgot to mention by name. Reviewed by: bapt, imp, dim, ...
|
#
0d1322f2 |
|
06-Sep-2013 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Bump __FreeBSD_version to 1000053 after cap_rights_t change. Suggested by: danfe
|
#
4b1fb8ff |
|
03-Sep-2013 |
Ed Maste <emaste@FreeBSD.org> |
Connect libexecinfo to the build Sponsored by: DARPA, AFRL
|
#
89cb1c66 |
|
25-Aug-2013 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
Bump __FreeBSD_version to 1000051 after Radeon KMS driver import
|
#
285c5301 |
|
25-Aug-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Bump FreeBSD_version after the struct mbuf changes in r254780, r254799, r254804, r254807, and r254842. Sponsored by: The FreeBSD Foundation
|
#
93729c17 |
|
23-Aug-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add support to physio(9) for devices that don't want I/O split and configure sa(4) to request no I/O splitting by default. For tape devices, the user needs to be able to clearly understand what blocksize is actually being used when writing to a tape device. The previous behavior of physio(9) was that it would split up any I/O that was too large for the device, or too large to fit into MAXPHYS. This means that if, for instance, the user wrote a 1MB block to a tape device, and MAXPHYS was 128KB, the 1MB write would be split into 8 128K chunks. This would be done without informing the user. This has suboptimal effects, especially when trying to communicate status to the user. In the event of an error writing to a tape (e.g. physical end of tape) in the middle of a 1MB block that has been split into 8 pieces, the user could have the first two 128K pieces written successfully, the third returned with an error, and the last 5 returned with 0 bytes written. If the user is using a standard write(2) system call, all he will see is the ENOSPC error. He won't have a clue how much actually got written. (With a writev(2) system call, he should be able to determine how much got written in addition to the error.) The solution is to prevent physio(9) from splitting the I/O. The new cdev flag, SI_NOSPLIT, tells physio that the driver does not want I/O to be split beforehand. Although the sa(4) driver now enables SI_NOSPLIT by default, that can be disabled by two loader tunables for now. It will not be configurable starting in FreeBSD 11.0. kern.cam.sa.allow_io_split allows the user to configure I/O splitting for all sa(4) driver instances. kern.cam.sa.%d.allow_io_split allows the user to configure I/O splitting for a specific sa(4) instance. There are also now three sa(4) driver sysctl variables that let the users see some sa(4) driver values. kern.cam.sa.%d.allow_io_split shows whether I/O splitting is turned on. kern.cam.sa.%d.maxio shows the maximum I/O size allowed by kernel configuration parameters (e.g. MAXPHYS, DFLTPHYS) and the capabilities of the controller. kern.cam.sa.%d.cpi_maxio shows the maximum I/O size supported by the controller. Note that a better long term solution would be to implement support for chaining buffers, so that that MAXPHYS is no longer a limiting factor for I/O size to tape and disk devices. At that point, the controller and the tape drive would become the limiting factors. sys/conf.h: Add a new cdev flag, SI_NOSPLIT, that allows a driver to tell physio not to split up I/O. sys/param.h: Bump __FreeBSD_version to 1000049 for the addition of the SI_NOSPLIT cdev flag. kern_physio.c: If the SI_NOSPLIT flag is set on the cdev, return any I/O that is larger than si_iosize_max or MAXPHYS, has more than one segment, or would have to be split because of misalignment with EFBIG. (File too large). In the event of an error, print a console message to give the user a clue about what happened. scsi_sa.c: Set the SI_NOSPLIT cdev flag on the devices created for the sa(4) driver by default. Add tunables to control whether we allow I/O splitting in physio(9). Explain in the comments that allowing I/O splitting will be deprecated for the sa(4) driver in FreeBSD 11.0. Add sysctl variables to display the maximum I/O size we can do (which could be further limited by read block limits) and the maximum I/O size that the controller can do. Limit our maximum I/O size (recorded in the cdev's si_iosize_max) by MAXPHYS. This isn't strictly necessary, because physio(9) will limit it to MAXPHYS, but it will provide some clarity for the application. Record the controller's maximum I/O size reported in the Path Inquiry CCB. sa.4: Document the block size behavior, and explain that the option of allowing physio(9) to split the I/O will disappear in FreeBSD 11.0. Sponsored by: Spectra Logic
|
#
6be15a24 |
|
22-Aug-2013 |
Michael Tuexen <tuexen@FreeBSD.org> |
Export the inpcb features as a 64-bit entity. Bump __FreeBSD_version to 1000048 since the modified structure is user visible and used by netstat, for example.
|
#
7da1a731 |
|
21-Aug-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Expand the use of stat(2) flags to allow storing some Windows/DOS and CIFS file attributes as BSD stat(2) flags. This work is intended to be compatible with ZFS, the Solaris CIFS server's interaction with ZFS, somewhat compatible with MacOS X, and of course compatible with Windows. The Windows attributes that are implemented were chosen based on the attributes that ZFS already supports. The summary of the flags is as follows: UF_SYSTEM: Command line name: "system" or "usystem" ZFS name: XAT_SYSTEM, ZFS_SYSTEM Windows: FILE_ATTRIBUTE_SYSTEM This flag means that the file is used by the operating system. FreeBSD does not enforce any special handling when this flag is set. UF_SPARSE: Command line name: "sparse" or "usparse" ZFS name: XAT_SPARSE, ZFS_SPARSE Windows: FILE_ATTRIBUTE_SPARSE_FILE This flag means that the file is sparse. Although ZFS may modify this in some situations, there is not generally any special handling for this flag. UF_OFFLINE: Command line name: "offline" or "uoffline" ZFS name: XAT_OFFLINE, ZFS_OFFLINE Windows: FILE_ATTRIBUTE_OFFLINE This flag means that the file has been moved to offline storage. FreeBSD does not have any special handling for this flag. UF_REPARSE: Command line name: "reparse" or "ureparse" ZFS name: XAT_REPARSE, ZFS_REPARSE Windows: FILE_ATTRIBUTE_REPARSE_POINT This flag means that the file is a Windows reparse point. ZFS has special handling code for reparse points, but we don't currently have the other supporting infrastructure for them. UF_HIDDEN: Command line name: "hidden" or "uhidden" ZFS name: XAT_HIDDEN, ZFS_HIDDEN Windows: FILE_ATTRIBUTE_HIDDEN This flag means that the file may be excluded from a directory listing if the application honors it. FreeBSD has no special handling for this flag. The name and bit definition for UF_HIDDEN are identical to the definition in MacOS X. UF_READONLY: Command line name: "urdonly", "rdonly", "readonly" ZFS name: XAT_READONLY, ZFS_READONLY Windows: FILE_ATTRIBUTE_READONLY This flag means that the file may not written or appended, but its attributes may be changed. ZFS currently enforces this flag, but Illumos developers have discussed disabling enforcement. The behavior of this flag is different than MacOS X. MacOS X uses UF_IMMUTABLE to represent the DOS readonly permission, but that flag has a stronger meaning than the semantics of DOS readonly permissions. UF_ARCHIVE: Command line name: "uarch", "uarchive" ZFS_NAME: XAT_ARCHIVE, ZFS_ARCHIVE Windows name: FILE_ATTRIBUTE_ARCHIVE The UF_ARCHIVED flag means that the file has changed and needs to be archived. The meaning is same as the Windows FILE_ATTRIBUTE_ARCHIVE attribute, and the ZFS XAT_ARCHIVE and ZFS_ARCHIVE attribute. msdosfs and ZFS have special handling for this flag. i.e. they will set it when the file changes. sys/param.h: Bump __FreeBSD_version to 1000047 for the addition of new stat(2) flags. chflags.1: Document the new command line flag names (e.g. "system", "hidden") available to the user. ls.1: Reference chflags(1) for a list of file flags and their meanings. strtofflags.c: Implement the mapping between the new command line flag names and new stat(2) flags. chflags.2: Document all of the new stat(2) flags, and explain the intended behavior in a little more detail. Explain how they map to Windows file attributes. Different filesystems behave differently with respect to flags, so warn the application developer to take care when using them. zfs_vnops.c: Add support for getting and setting the UF_ARCHIVE, UF_READONLY, UF_SYSTEM, UF_HIDDEN, UF_REPARSE, UF_OFFLINE, and UF_SPARSE flags. All of these flags are implemented using attributes that ZFS already supports, so the on-disk format has not changed. ZFS currently doesn't allow setting the UF_REPARSE flag, and we don't really have the other infrastructure to support reparse points. msdosfs_denode.c, msdosfs_vnops.c: Add support for getting and setting UF_HIDDEN, UF_SYSTEM and UF_READONLY in MSDOSFS. It supported SF_ARCHIVED, but this has been changed to be UF_ARCHIVE, which has the same semantics as the DOS archive attribute instead of inverse semantics like SF_ARCHIVED. After discussion with Bruce Evans, change several things in the msdosfs behavior: Use UF_READONLY to indicate whether a file is writeable instead of file permissions, but don't actually enforce it. Refuse to change attributes on the root directory, because it is special in FAT filesystems, but allow most other attribute changes on directories. Don't set the archive attribute on a directory when its modification time is updated. Windows and DOS don't set the archive attribute in that scenario, so we are now bug-for-bug compatible. smbfs_node.c, smbfs_vnops.c: Add support for UF_HIDDEN, UF_SYSTEM, UF_READONLY and UF_ARCHIVE in SMBFS. This is similar to changes that Apple has made in their version of SMBFS (as of smb-583.8, posted on opensource.apple.com), but not quite the same. We map SMB_FA_READONLY to UF_READONLY, because UF_READONLY is intended to match the semantics of the DOS readonly flag. The MacOS X code maps both UF_IMMUTABLE and SF_IMMUTABLE to SMB_FA_READONLY, but the immutable flags have stronger meaning than the DOS readonly bit. stat.h: Add definitions for UF_SYSTEM, UF_SPARSE, UF_OFFLINE, UF_REPARSE, UF_ARCHIVE, UF_READONLY and UF_HIDDEN. The definition of UF_HIDDEN is the same as the MacOS X definition. Add commented-out definitions of UF_COMPRESSED and UF_TRACKED. They are defined in MacOS X (as of 10.8.2), but we do not implement them (yet). ufs_vnops.c: Add support for getting and setting UF_ARCHIVE, UF_HIDDEN, UF_OFFLINE, UF_READONLY, UF_REPARSE, UF_SPARSE, and UF_SYSTEM in UFS. Alphabetize the flags that are supported. These new flags are only stored, UFS does not take any action if the flag is set. Sponsored by: Spectra Logic Reviewed by: bde (earlier version)
|
#
ed59e602 |
|
19-Aug-2013 |
Andre Oppermann <andre@FreeBSD.org> |
Bump __FreeBSD_version to 1000046 after the addition of M_PROTO[9-12] and removal of M_NOFREE|M_FRAG|M_FIRSTFRAG|M_LASTFRAG mbuf flags.
|
#
ce625ec7 |
|
15-Aug-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Change the way that unmapped I/O capability is advertised. The previous method was to set the D_UNMAPPED_IO flag in the cdevsw for the driver. The problem with this is that in many cases (e.g. sa(4)) there may be some instances of the driver that can handle unmapped I/O and some that can't. The isp(4) driver can handle unmapped I/O, but the esp(4) driver currently cannot. The cdevsw is shared among all driver instances. So instead of setting a flag on the cdevsw, set a flag on the cdev. This allows drivers to indicate support for unmapped I/O on a per-instance basis. sys/conf.h: Remove the D_UNMAPPED_IO cdevsw flag and replace it with an SI_UNMAPPED cdev flag. kern_physio.c: Look at the cdev SI_UNMAPPED flag to determine whether or not a particular driver can handle unmapped I/O. geom_dev.c: Set the SI_UNMAPPED flag for all GEOM cdevs. Since GEOM will create a temporary mapping when needed, setting SI_UNMAPPED unconditionally will work. Remove the D_UNMAPPED_IO flag. nvme_ns.c: Set the SI_UNMAPPED flag on cdevs created here if NVME_UNMAPPED_BIO_SUPPORT is enabled. vfs_aio.c: In aio_qphysio(), check the SI_UNMAPPED flag on a cdev instead of the D_UNMAPPED_IO flag on the cdevsw. sys/param.h: Bump __FreeBSD_version to 1000045 for the switch from setting the D_UNMAPPED_IO flag in the cdevsw to setting SI_UNMAPPED in the cdev. Reviewed by: kib, jimharris MFC after: 1 week Sponsored by: Spectra Logic
|
#
2c7cd478 |
|
15-Aug-2013 |
Jeremie Le Hen <jlh@FreeBSD.org> |
Belatedly bump __FreeBSD_version for libc being an ld script. This should have been done in r251668, on June 12, 2013. This will have no practical consequences, besides having -lssp_nonshared appearing twice on the command-line for systems built in this time frame.
|
#
0ff204bb |
|
13-Aug-2013 |
Peter Wemm <peter@FreeBSD.org> |
The iconv in libc did two things - implement the standard APIs, the GNU extensions and also tried to be link time compatible with ports libiconv. This splits that functionality and enables the parts that shouldn't interfere with the port by default. WITH_ICONV (now on by default) - adds iconv.h, iconv_open(3) etc. WITH_LIBICONV_COMPAT (off by default) adds the libiconv_open etc API, linker symbols and even a stub libiconv.so.3 that are good enough to be able to 'pkg delete -f libiconv' on a running system and reasonably expect it to work. I have tortured many machines over the last few days to try and reduce the possibilities of foot-shooting as much as I can. I've successfully recompiled to enable and disable the libiconv_compat modes, ports that use libiconv alongside system iconv etc. If you don't enable the WITH_LIBICONV_COMPAT switch, they don't share symbol space. This is an extension of behavior on other system. iconv(3) is a standard libc interface and libiconv port expects to be able to run alongside it on systems that have it. Bumped osreldate.
|
#
c7aebda8 |
|
09-Aug-2013 |
Attilio Rao <attilio@FreeBSD.org> |
The soft and hard busy mechanism rely on the vm object lock to work. Unify the 2 concept into a real, minimal, sxlock where the shared acquisition represent the soft busy and the exclusive acquisition represent the hard busy. The old VPO_WANTED mechanism becames the hard-path for this new lock and it becomes per-page rather than per-object. The vm_object lock becames an interlock for this functionality: it can be held in both read or write mode. However, if the vm_object lock is held in read mode while acquiring or releasing the busy state, the thread owner cannot make any assumption on the busy state unless it is also busying it. Also: - Add a new flag to directly shared busy pages while vm_page_alloc and vm_page_grab are being executed. This will be very helpful once these functions happen under a read object lock. - Move the swapping sleep into its own per-object flag The KPI is heavilly changed this is why the version is bumped. It is very likely that some VM ports users will need to change their own code. Sponsored by: EMC / Isilon storage division Discussed with: alc Reviewed by: jeff, kib Tested by: gavin, bapt (older version) Tested by: pho, scottl
|
#
7d26db17 |
|
05-Aug-2013 |
Hiroki Sato <hrs@FreeBSD.org> |
- Use time_uptime instead of time_second in data structures for PF_INET6 in kernel. This fixes various malfunction when the wall time clock is changed. Bump __FreeBSD_version to 1000041. - Use clock_gettime(CLOCK_MONOTONIC_FAST) in userland utilities. MFC after: 1 month
|
#
e0af540a |
|
24-Jul-2013 |
Rui Paulo <rpaulo@FreeBSD.org> |
Bump __FreeBSD_version for the addition of libusb's pkgconf files.
|
#
b01773b0 |
|
22-Jul-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
CAM and mps(4) driver scanning changes. Add a PIM_NOSCAN flag to the CAM path inquiry CCB. This tells CAM not to perform a rescan on a bus when it is registered. We now use this flag in the mps(4) driver. Since it knows what devices it has attached, it is more efficient for it to just issue a target rescan on the targets that are attached. Also, remove the private rescan thread from the mps(4) driver in favor of the rescan thread already built into CAM. Without this change, but with the change above, the MPS scanner could run before or during CAM's initial setup, which would cause duplicate device reprobes and announcements. sys/param.h: Bump __FreeBSD_version to 1000039 for the inclusion of the PIM_RESCAN CAM path inquiry flag. sys/cam/cam_ccb.h: sys/cam/cam_xpt.c: Added a PIM_NOSCAN flag. If a SIM sets this in the path inquiry ccb, then CAM won't rescan the bus in xpt_bus_regsister. sys/dev/mps/mps_sas.c For versions of FreeBSD that have the PIM_NOSCAN path inquiry flag, don't freeze the sim queue during scanning, because CAM won't be scanning this bus. Instead, hold up the boot. Don't call mpssas_rescan_target in mpssas_startup_decrement; it's redundant and I don't know why it was in there. Set PIM_NOSCAN in path inquiry CCBs. Remove methods related to the internal rescan daemon. Always use async events to trigger a probe for EEDP support. In older versions of FreeBSD where AC_ADVINFO_CHANGED is not available, use AC_FOUND_DEVICE and issue the necessary READ CAPACITY manually. Provide a path to xpt_register_async() so that we only receive events for our own SCSI domain. Improve error reporting in cases where setup for EEDP detection fails. sys/dev/mps/mps_sas.h: Remove softc flags and data related to the scanner thread. sys/dev/mps/mps_sas_lsi.c: Unconditionally rescan the target whenever a device is added. Sponsored by: Spectra Logic MFC after: 1 week
|
#
46e95f64 |
|
16-Jul-2013 |
Andrew Turner <andrew@FreeBSD.org> |
2 years, 10 months, 22 days after the projects/arm_eabi branch was created make the ARM EABI the default ABI on arm, armeb, armv6 and armv6eb. This is intended to be the default ABI from now on with the old ABI to be retired. Because of this all users are strongly suggested to upgrade to the ARM EABI. As the two ABIs are incompatible it is unlikely upgrading in place will work. Users should perform a full backup and either use an external machine to upgrade, or install to an alternative location on their media. They should also reinstall all ports or packages when these are available. The only known issues are: - pkg incorrectly detects the ABI. This is fixed upstream, and will a patch will be made to the port. - GDB can have issues with executables built with clang. __FreeBSD_version has been bumped.
|
#
b40e2b6d |
|
09-Jul-2013 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Bump __FreeBSD_version to reflect changes in statistics structures.
|
#
88a2437a |
|
08-Jul-2013 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add support for host-based (Kerberos 5 service principal) initiator credentials to the kernel rpc. Modify the NFSv4 client to add support for the gssname and allgssname mount options to use this capability. Requires the gssd daemon to be running with the "-h" option. Reviewed by: jhb
|
#
8d1aa3c6 |
|
08-Jun-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
aio_mlock() added: - Regen for r251526. - Bump __FreeBSD_version.
|
#
0921e730 |
|
03-Jun-2013 |
David Schultz <das@FreeBSD.org> |
Bump __FreeBSD_version for the addition of the following functions to libm: cacos, cacosf, cacosh, cacoshf, casin, casinf, casinh, casinhf, catan, catanf, catanh, catanhf, logl, log2l, log10l, log1pl I am hoping kargl@ will commit expl and expm1l soon, in which case this bump will cover those, too. Requested by: danfe
|
#
ab76bc97 |
|
21-May-2013 |
Jung-uk Kim <jkim@FreeBSD.org> |
Connect flex 2.5.37 to the build and bump __FreeBSD_version.
|
#
7c223d7d |
|
01-May-2013 |
Jilles Tjoelker <jilles@FreeBSD.org> |
Bump __FreeBSD_version for accept4() and pipe2().
|
#
2ae0d3f2 |
|
26-Apr-2013 |
Adrian Chadd <adrian@FreeBSD.org> |
Bump FreeBSD_version after glebius' changes.
|
#
3cf3b9f0 |
|
18-Mar-2013 |
John Baldwin <jhb@FreeBSD.org> |
Partially revert r195702. Deferring stops is now implemented via a set of calls to toggle TDF_SBDRY rather than passing PBDRY to individual sleep calls. - Remove the stop_allowed parameters from cursig() and issignal(). issignal() checks TDF_SBDRY directly. - Remove the PBDRY and SLEEPQ_STOP_ON_BDRY flags.
|
#
52a41542 |
|
12-Mar-2013 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version after r248084, breaking VM KPI to introduce read/write lockers. Sponsored by: EMC / Isilon storage division Requested by: flo
|
#
23d44ab5 |
|
04-Mar-2013 |
Davide Italiano <davide@FreeBSD.org> |
- Bump __FreeBSD_version after recent callout(9) changes. - Add an entry in UPDATING to notice users about breakages.
|
#
a18a7a41 |
|
12-Feb-2013 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Resolve a LOR after r246616. Protect control requests using the USB device enumeration lock. Make sure all callers of usbd_enum_lock() check the return value. Remove the control transfer specific lock. Bump the FreeBSD version number, hence external USB modules may need to be recompiled due to a USB device structure change. MFC after: 1 week
|
#
3601d245 |
|
29-Jan-2013 |
Brooks Davis <brooks@FreeBSD.org> |
Bump __FreeBSD_version for cat -l (soon to be a bootstrap tool).
|
#
19b9003c |
|
24-Jan-2013 |
Gleb Smirnoff <glebius@FreeBSD.org> |
style(9) Reviewed by: bde
|
#
32dd3b4a |
|
11-Jan-2013 |
Brooks Davis <brooks@FreeBSD.org> |
Bump __FreeBSD_version for install -N and (belatedly) nmtree.
|
#
d28396ae |
|
09-Jan-2013 |
Glen Barber <gjb@FreeBSD.org> |
Update where porters handbook lives. MFC after: 3 days
|
#
b91dc775 |
|
22-Nov-2012 |
Hiroki Sato <hrs@FreeBSD.org> |
Document sin6_scope_id handling change and bump FreeBSD_version to 1000025.
|
#
c1e470b5 |
|
14-Nov-2012 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Allow usernames up to 32 chars PR: kern/161091 [1], misc/133926 [2] Submitted by: Stephane Lapie <darksoul@darkbsd.org> [1], Chris Dillon <cdillon@wolves.k12.mo.us> [2] Reviewed by: cognet, kib
|
#
5b6478b0 |
|
05-Nov-2012 |
Brooks Davis <brooks@FreeBSD.org> |
After years of hard work by many FreeBSD and LLVM developers, make clang the default compiler on i386 and amd64 systems. Special thanks to: dim, ed, rdivacky
|
#
d30d96ea |
|
05-Nov-2012 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add a jitter buffer in the common USB serial driver code which temporarily stores characters if the TTY buffer is full when used a as a console. This can happen when a console is suspended. Also properly do the flow stop signalling when this happens and flow start when the condition changes back to normal again. Bump __FreeBSD_version to force external kernel modules to be recompiled. No kernel API changes. MFC after: 1 week Suggested by: ed @
|
#
8f134647 |
|
22-Oct-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Switch the entire IPv4 stack to keep the IP packet header in network byte order. Any host byte order processing is done in local variables and host byte order values are never[1] written to a packet. After this change a packet processed by the stack isn't modified at all[2] except for TTL. After this change a network stack hacker doesn't need to scratch his head trying to figure out what is the byte order at the given place in the stack. [1] One exception still remains. The raw sockets convert host byte order before pass a packet to an application. Probably this would remain for ages for compatibility. [2] The ip_input() still subtructs header len from ip->ip_len, but this is planned to be fixed soon. Reviewed by: luigi, Maxim Dounin <mdounin mdounin.ru> Tested by: ray, Olivier Cochard-Labbe <olivier cochard.me>
|
#
8859ec84 |
|
22-Oct-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version and make a note in UPDATING about removal of the support for non-MPSAFE filesystems.
|
#
42a58907 |
|
16-Oct-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Make the "struct if_clone" opaque to users of the cloning API. Users now use function calls: if_clone_simple() if_clone_advanced() to initialize a cloner, instead of macros that initialize if_clone structure. Discussed with: brooks, bz, 1 year ago
|
#
21d172a3 |
|
06-Oct-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
A step in resolving mess with byte ordering for AF_INET. After this change: - All packets in NETISR_IP queue are in net byte order. - ip_input() is entered in net byte order and converts packet to host byte order right _after_ processing pfil(9) hooks. - ip_output() is entered in host byte order and converts packet to net byte order right _before_ processing pfil(9) hooks. - ip_fragment() accepts and emits packet in net byte order. - ip_forward(), ip_mloopback() use host byte order (untouched actually). - ip_fastforward() no longer modifies packet at all (except ip_ttl). - Swapping of byte order there and back removed from the following modules: pf(4), ipfw(4), enc(4), if_bridge(4). - Swapping of byte order added to ipfilter(4), based on __FreeBSD_version - __FreeBSD_version bumped. - pfil(9) manual page updated. Reviewed by: ray, luigi, eri, melifaro Tested by: glebius (LE), ray (BE)
|
#
45a1f1e1 |
|
22-Sep-2012 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add rounddown2() macro similar to the roundup2() macro.
|
#
5b5d7684 |
|
13-Sep-2012 |
Ed Schouten <ed@FreeBSD.org> |
Rename __member2struct() to __containerof(). Compared to __member2struct(), this macro has the following advantages: - It ensures that the type of the pointer is compatible with the member field of the structure (or a void pointer). - It works properly in combination with volatile and const, though unfortunately it drops these qualifiers from the returned value. mdf@ proposed to add the container_of() macro, just like Linux has. Eventually I decided against this, as <sys/param.h> is included all over the place. It seems container_of() on Linux is specific to the kernel, not userspace. I'd rather not pollute userspace with this. I also thought about adding __container_of(), but this would have two advantages. Xorg seems to already have a __container_of(), which is not compatible with this version. Also, the underscore in the middle conflicts with our existing macros (__offsetof, __rangeof, etc). I'm changing member2struct() to use its old code, as the extra strictness of this new macro conflicts with existing code (read: cxgb). MFC after: 1 month
|
#
4170b083 |
|
12-Sep-2012 |
Ed Schouten <ed@FreeBSD.org> |
Implement LIST_PREV(). Regular LISTs have been implemented in such a way that the prev-pointer does not point to the previous element, but to the next-pointer stored in the previous element. This is done to simplify LIST_REMOVE(). This macro can be implemented without knowing the address of the list head. Unfortunately this makes it harder to implement LIST_PREV(), which is why this macro was never here. Still, it is possible to implement this macro. If the prev-pointer points to the list head, we return NULL. Otherwise we simply subtract the offset of the prev-pointer within the structure. It's not as efficient as traversing forward of course, but in practice it shouldn't be that bad. In almost all use cases, people will want to compare the value returned by LIST_PREV() against NULL, so an optimizing compiler will not emit code that does more branching than TAILQs. While there, make the code a bit more readable by introducing __member2struct(). This makes STAILQ_LAST() far more readable. MFC after: 1 month
|
#
d6d3f01e |
|
08-Sep-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Merge the projects/pf/head branch, that was worked on for last six months, into head. The most significant achievements in the new code: o Fine grained locking, thus much better performance. o Fixes to many problems in pf, that were specific to FreeBSD port. New code doesn't have that many ifdefs and much less OpenBSDisms, thus is more attractive to our developers. Those interested in details, can browse through SVN log of the projects/pf/head branch. And for reference, here is exact list of revisions merged: r232043, r232044, r232062, r232148, r232149, r232150, r232298, r232330, r232332, r232340, r232386, r232390, r232391, r232605, r232655, r232656, r232661, r232662, r232663, r232664, r232673, r232691, r233309, r233782, r233829, r233830, r233834, r233835, r233836, r233865, r233866, r233868, r233873, r234056, r234096, r234100, r234108, r234175, r234187, r234223, r234271, r234272, r234282, r234307, r234309, r234382, r234384, r234456, r234486, r234606, r234640, r234641, r234642, r234644, r234651, r235505, r235506, r235535, r235605, r235606, r235826, r235991, r235993, r236168, r236173, r236179, r236180, r236181, r236186, r236223, r236227, r236230, r236252, r236254, r236298, r236299, r236300, r236301, r236397, r236398, r236399, r236499, r236512, r236513, r236525, r236526, r236545, r236548, r236553, r236554, r236556, r236557, r236561, r236570, r236630, r236672, r236673, r236679, r236706, r236710, r236718, r237154, r237155, r237169, r237314, r237363, r237364, r237368, r237369, r237376, r237440, r237442, r237751, r237783, r237784, r237785, r237788, r237791, r238421, r238522, r238523, r238524, r238525, r239173, r239186, r239644, r239652, r239661, r239773, r240125, r240130, r240131, r240136, r240186, r240196, r240212. I'd like to thank people who participated in early testing: Tested by: Florian Smeets <flo freebsd.org> Tested by: Chekaluk Vitaly <artemrts ukr.net> Tested by: Ben Wilber <ben desync.com> Tested by: Ian FREISLICH <ianf cloudseed.co.za>
|
#
a5cf1aaa |
|
12-Aug-2012 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add support for the so-called streams feature of BULK endpoints in SUPER-speed mode, USB 3.0. This feature has not been tested yet, due to lack of hardware. This feature is useful when implementing protocols like UASP, USB attached SCSI which promises higher USB mass storage throughput. This patch also implements support for hardware processing of endpoints for increased performance. The switching to hardware processing of an endpoint is done via a callback to the USB controller driver. The stream feature is implemented like a variant of a hardware USB protocol. USB controller drivers implementing device mode needs to be updated to implement the new "xfer_stall" USB controller method and remove the "xfer" argument from the "set_stall" method. The API's toward existing USB drivers are preserved. To setup a USB transfer in stream mode, set the "stream_id" field of the USB config structure to the desired value. The maximum number of BULK streams is currently hardcoded and limited to 8 via a define in usb_freebsd.h. All USB drivers should be re-compiled after this change. LibUSB will be updated next week to support streams mode. A new IOCTL to setup BULK streams as already been implemented. The ugen device nodes currently only supports stream ID zero. The FreeBSD version has been bumped. MFC after: 2 weeks
|
#
8f42c748 |
|
10-Aug-2012 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Switch unit management in UCOM to unrhdr. Extend the callback table of UCOM to include a "ucom_free" function pointer which is called when all refs on a UCOM super structure is gone. Implement various helper functions to handle refcounting and draining on the UCOM super structure. Implement macro which can be used in device drivers to avoid module unload before all pending TTY references are gone. The UCOM API is backwards compatible after this change and device drivers require no changes to function with this change. Only a recompilation of UCOM device drivers is required. The FreeBSD version has been bumped in that regard. Discussed with: kib, ed MFC after: 2 weeks
|
#
f4ae3eee |
|
27-Jun-2012 |
Gabor Kovesdan <gabor@FreeBSD.org> |
- Bump __FreeBSD_version: default sort is BSD sort
|
#
cbb00030 |
|
02-Jun-2012 |
Marius Strobl <marius@FreeBSD.org> |
Add nitems(), a macro for determining the number of elements in a statically-allocated array. Obtained from: OpenBSD (in principle) MFC after: 3 days
|
#
5bfe3851 |
|
22-May-2012 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Bump __FreeBSD_version for the byacc import, and update _bootstrap_tools.
|
#
78a53508 |
|
02-May-2012 |
Jason Evans <jasone@FreeBSD.org> |
Bump __FreeBSD_version due to jemalloc import.
|
#
6c63ec07 |
|
16-Apr-2012 |
Dimitry Andric <dim@FreeBSD.org> |
Bump __FreeBSD_version due to the import of a new clang 3.1 prerelease snapshot.
|
#
87d94367 |
|
01-Apr-2012 |
David Chisnall <theraven@FreeBSD.org> |
Bump __FreeBSD_version for xlocale cleanup, as requested by ports people. Approved by: dim (mentor)
|
#
34b95dbb |
|
25-Feb-2012 |
Martin Matuska <mm@FreeBSD.org> |
Bump __FreeBSD_version due to libarchive update.
|
#
6d076ae8 |
|
10-Feb-2012 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Introduce a new NET_RT_IFLISTL API to query the address list. It works on extended and extensible structs if_msghdrl and ifa_msghdrl. This will allow us to extend both the msghdrl structs and eventually if_data in the future without breaking the ABI. Bump __FreeBSD_version to allow ports to more easily detect the new API. Reviewed by: glebius, brooks MFC after: 3 days
|
#
9077f387 |
|
05-Feb-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Add new socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT, that allow to control initial timeout, idle time, idle re-send interval and idle send count on a per-socket basis. Reviewed by: andre, bz, lstewart
|
#
e6bd5983 |
|
26-Jan-2012 |
Kenneth D. Merry <ken@FreeBSD.org> |
Add CAM infrastructure to allow reporting when a drive's long read capacity data changes. cam_ccb.h: Add a new advanced information type, CDAI_TYPE_RCAPLONG, for long read capacity data. cam_xpt_internal.h: Add a read capacity data pointer and length to struct cam_ed. cam_xpt.c: Free the read capacity buffer when a device goes away. While we're here, make sure we don't leak memory for other malloced fields in struct cam_ed. scsi_all.c: Update the scsi_read_capacity_16() to take a uint8_t * and a length instead of just a pointer to the parameter data structure. This will hopefully make this function somewhat immune to future changes in the parameter data. scsi_all.h: Add some extra bit definitions to struct scsi_read_capacity_data_long, and bump up the structure size to the full size specified by SBC-3. Change the prototype for scsi_read_capacity_16(). scsi_da.c: Register changes in read capacity data with the transport layer. This allows the transport layer to send out an async notification to interested parties. Update the dasetgeom() API. Use scsi_extract_sense_len() instead of scsi_extract_sense(). scsi_xpt.c: Add support for the new CDAI_TYPE_RCAPLONG advanced information type. Make sure we set the physpath pointer to NULL after freeing it. This allows blindly freeing it in the struct cam_ed destructor. sys/param.h: Bump __FreeBSD_version from 1000005 to 1000006 to make it easier for third party drivers to determine that the read capacity data async notification is available. camcontrol.c, mptutil/mpt_cam.c: Update these for the new scsi_read_capacity_16() argument structure. Sponsored by: Spectra Logic
|
#
56cf9dc1 |
|
16-Jan-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Drop support for SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR, SIOCSIFDSTADDR ioctl commands. PR: 163524 Reviewed by: net
|
#
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.
|
#
08b68b0e |
|
15-Dec-2011 |
Gleb Smirnoff <glebius@FreeBSD.org> |
A major overhaul of the CARP implementation. The ip_carp.c was started from scratch, copying needed functionality from the old implemenation on demand, with a thorough review of all code. The main change is that interface layer has been removed from the CARP. Now redundant addresses are configured exactly on the interfaces, they run on. The CARP configuration itself is, as before, configured and read via SIOCSVH/SIOCGVH ioctls. A new prefix created with SIOCAIFADDR or SIOCAIFADDR_IN6 may now be configured to a particular virtual host id, which makes the prefix redundant. ifconfig(8) semantics has been changed too: now one doesn't need to clone carpXX interface, he/she should directly configure a vhid on a Ethernet interface. To supply vhid data from the kernel to an application the getifaddrs(8) function had been changed to pass ifam_data with each address. [1] The new implementation definitely closes all PRs related to carp(4) being an interface, and may close several others. It also allows to run a single redundant IP per interface. Big thanks to Bjoern Zeeb for his help with inet6 part of patch, for idea on using ifam_data and for several rounds of reviewing! PR: kern/117000, kern/126945, kern/126714, kern/120130, kern/117448 Reviewed by: bz Submitted by: bz [1]
|
#
108cd494 |
|
12-Dec-2011 |
Matthew D Fleming <mdf@FreeBSD.org> |
- Define true and false in sys/types.h for _KERNEL consumers, and typedef bool. Due to macro expansion it seemed better to use a typedef for kernel consumers (specifically ofed won't compile without more changes if a define is used). - <stdbool.h> should also not re-define bool/true/false if they are defined by <sys/types.h>. It would probably be a programming error to define _KERNEL for user-space code, but downstream consumers like Isilon have already been including <stdbool.h> in kernel sources, and this protects that usage. - sizeof(_Bool) is not necessarily the same as sizeof(int), so kernel modules should be rebuild with this change. Bump __FreeBSD_version. MFC after: 2 weeks Sponsored by: Isilon Systems, LLC
|
#
8326714b |
|
22-Nov-2011 |
Robert Millan <rmh@FreeBSD.org> |
Define __FreeBSD_kernel__ macro in sys/param.h. __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, which by definition is always true on FreeBSD. This macro is also defined on other systems that use the kernel of FreeBSD, such as GNU/kFreeBSD. It is tempting to use this macro in userland code when we want to enable kernel-specific routines, and in fact it's fine to do this in code that is part of FreeBSD itself. However, be aware that as presence of this macro is still not widespread (e.g. older FreeBSD versions, 3rd party compilers, etc), it is STRONGLY DISCOURAGED to check for this macro in external applications without also checking for __FreeBSD__ as an alternative. Approved by: kib (mentor) MFC after: 2 weeks
|
#
dfdda192 |
|
18-Nov-2011 |
Konstantin Belousov <kib@FreeBSD.org> |
Use the alternate form of the gcc extension that works even with -ansi -pedantic without issuing a warning, and which is recommended by gcc manual. MFC after: 1 week
|
#
936c09ac |
|
03-Nov-2011 |
John Baldwin <jhb@FreeBSD.org> |
Add the posix_fadvise(2) system call. It is somewhat similar to madvise(2) except that it operates on a file descriptor instead of a memory region. It is currently only supported on regular files. Just as with madvise(2), the advice given to posix_fadvise(2) can be divided into two types. The first type provide hints about data access patterns and are used in the file read and write routines to modify the I/O flags passed down to VOP_READ() and VOP_WRITE(). These modes are thus filesystem independent. Note that to ease implementation (and since this API is only advisory anyway), only a single non-normal range is allowed per file descriptor. The second type of hints are used to hint to the OS that data will or will not be used. These hints are implemented via a new VOP_ADVISE(). A default implementation is provided which does nothing for the WILLNEED request and attempts to move any clean pages to the cache page queue for the DONTNEED request. This latter case required two other changes. First, a new V_CLEANONLY flag was added to vinvalbuf(). This requests vinvalbuf() to only flush clean buffers for the vnode from the buffer cache and to not remove any backing pages from the vnode. This is used to ensure clean pages are not wired into the buffer cache before attempting to move them to the cache page queue. The second change adds a new vm_object_page_cache() method. This method is somewhat similar to vm_object_page_remove() except that instead of freeing each page in the specified range, it attempts to move clean pages to the cache queue if possible. To preserve the ABI of struct file, the f_cdevpriv pointer is now reused in a union to point to the currently active advice region if one is present for regular files. Reviewed by: jilles, kib, arch@ Approved by: re (kib) MFC after: 1 month
|
#
8e9a54ee |
|
01-Oct-2011 |
Konstantin Belousov <kib@FreeBSD.org> |
The sigwait(3) function shall not return EINTR, according to the POSIX/SUSvN. The sigwait(2) syscall does return EINTR, and libc.so.7 contains the wrapper sigwait(3) which hides EINTR from callers. The EINTR return is used by libthr to handle required cancellation point in the sigwait(3). To help the binaries linked against pre-libc.so.7, i.e. RELENG_6 and earlier, to have right ABI for sigwait(3), transform EINTR return from sigwait(2) into ERESTART. Discussed with: davidxu MFC after: 1 week
|
#
8a3b6cc1 |
|
25-Sep-2011 |
Ken Smith <kensmith@FreeBSD.org> |
Shift head from 9.0-CURRENT to 10.0-CURRENT in preparation for releasing it from the 9.0-RELEASE release cycle code freeze. Approved by: re (implicit)
|
#
3f37fb62 |
|
10-Sep-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Refactor auto-quirk solution so that we break as few external drivers as possible. PR: usb/160299 Approved by: re (kib) Suggested by: rwatson MFC after: 0 days
|
#
d46dc4ad |
|
02-Sep-2011 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
This patch adds automatic detection of USB mass storage devices which does not support the no synchronize cache SCSI command. The __FreeBSD_version version macro has been bumped and external kernel modules needs to be recompiled after this patch. Approved by: re (kib) MFC after: 1 week PR: usb/160299
|
#
7596eb48 |
|
28-Aug-2011 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump shared libraries version numbers in preparation for 9.0. This time, only libraries which ABI has been changed compared to stable/8, are bumped. ABI analysis done by: Gleb Kurtsou Approved by: re (kensmith)
|
#
3ff02b4a |
|
13-Aug-2011 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to reflect the availability of capabilities, but also capability-related changes to fget(9). This is likely not part of a formal KPI, but the nvidia driver (at least) uses it. Approved by: re (bz, kib)
|
#
786ef92b |
|
19-Jul-2011 |
Attilio Rao <attilio@FreeBSD.org> |
Bump MAXCPU for amd64, ia64 and XLP mips appropriately. From now on, default values for FreeBSD will be 64 maxiumum supported CPUs on amd64 and ia64 and 128 for XLP. All the other architectures seem already capped appropriately (with the exception of sparc64 which needs further support on jalapeno flavour). Bump __FreeBSD_version in order to reflect KBI/KPI brekage introduced during the infrastructure cleanup for supporting MAXCPU > 32. This covers cpumask_t retiral too. The switch is considered completed at the present time, so for whatever bug you may experience that is reconducible to that area, please report immediately. Requested by: marcel, jchandra Tested by: pluknet, sbruno Approved by: re (kib)
|
#
5f301949 |
|
18-Jun-2011 |
Ben Laurie <benl@FreeBSD.org> |
Fix clang warnings. Approved by: philip (mentor)
|
#
694a586a |
|
21-May-2011 |
Rick Macklem <rmacklem@FreeBSD.org> |
Add a lock flags argument to the VFS_FHTOVP() file system method, so that callers can indicate the minimum vnode locking requirement. This will allow some file systems to choose to return a LK_SHARED locked vnode when LK_SHARED is specified for the flags argument. This patch only adds the flag. It does not change any file system to use it and all callers specify LK_EXCLUSIVE, so file system semantics are not changed. Reviewed by: kib
|
#
3e00bad1 |
|
13-May-2011 |
Stanislav Sedov <stas@FreeBSD.org> |
- Bump __FreeBSD_version to note the revision when libprocstat(3) and fuser(1) have been added to the tree.
|
#
66f3a31f |
|
18-Apr-2011 |
Dimitry Andric <dim@FreeBSD.org> |
After removing libobjc and other Objective-C components in r220755, belatedly bump __FreeBSD_version, and add a note to UPDATING. Reminded by: rdivacky
|
#
e3b36f9b |
|
08-Mar-2011 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Bump __FreeBSD_version for struct sysvec (sv_schedtail) changes.
|
#
13434232 |
|
07-Feb-2011 |
Matthew D Fleming <mdf@FreeBSD.org> |
Remove the uio_yield prototype and symbol. This function has been misnamed since it was introduced and should not be globally exposed with this name. The equivalent functionality is now available using kern_yield(curthread->td_user_pri). The function remains undocumented. Bump __FreeBSD_version.
|
#
678b238c |
|
07-Feb-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Introduce a non-portable function pthread_getthreadid_np(3) to retrieve calling thread's unique integral ID, which is similar to AIX function of the same name. Bump __FreeBSD_version to note its introduction. Reviewed by: kib
|
#
4c8945a0 |
|
12-Jan-2011 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Update dialog to version 20100428. This changes the license under which dialog is distributed from GPLv2 to LGPLv2 and introduces a number of new features and a new and better libdialog API. The existing libdialog will be kept temporarily as libodialog for compatibility purposes until sade, sysinstall and tzsetup have been either updated or replaced. __FreeBSD_version is now 900030. Discussed on: -current Approved by: core Obtained from: http://invisible-island.net/dialog
|
#
39bc9de5 |
|
27-Dec-2010 |
Lawrence Stewart <lstewart@FreeBSD.org> |
- Add some helper hook points to the TCP stack. The hooks allow Khelp modules to access inbound/outbound events and associated data for established TCP connections. The hooks only run if at least one hook function is registered for the hook point, ensuring the impact on the stack is effectively nil when no TCP Khelp modules are loaded. struct tcp_hhook_data is passed as contextual data to any registered Khelp module hook functions. - Add an OSD (Object Specific Data) pointer to struct tcpcb to allow Khelp modules to associate per-connection data with the TCP control block. - Bump __FreeBSD_version and add a note to UPDATING regarding to ABI changes introduced by this commit and r216753. 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
|
#
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
|
#
1863d408 |
|
05-Dec-2010 |
David Schultz <das@FreeBSD.org> |
Bump __FreeBSD_version for the addition of log2(). This is mainly for the benefit of ports such as opencity and inkscape that have workarounds for the lack of a log2() in the base system.
|
#
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.
|
#
7022f954 |
|
14-Nov-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Do not use __FreeBSD_version prefix for the special osrel version. The ports/Mk/bsd.port.mk uses sys/param.h to fetch osrel, and cannot grok several constants with the prefix. Reported and tested by: swell.k gmail com MFC after: 1 week
|
#
94bce453 |
|
14-Nov-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Use symbolic names instead of hardcoding values for magic p_osrel constants. MFC after: 1 week
|
#
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
|
#
39cd938c |
|
11-Nov-2010 |
Ed Schouten <ed@FreeBSD.org> |
Replace libgcc.a by libcompiler_rt.a. libcompiler_rt.a is a BSD licensed C language runtime, which implements many routines which are linked into binaries on architectures where certain functionality is missing (e.g. 64 bits mul/div on i386). Unfortunately, libcompiler_rt cannot replace libgcc entirely. Certain features, such as an unwinder for exception handling, are missing. That's why only libgcc.a is replaced for now, because this one does seem to be complete. Tested by: rene (amd64), nwhitehorn (powerpc), droso (i386 exprun) and many others. Thanks! Obtained from: user/ed/compiler-rt
|
#
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.
|
#
946cdff5 |
|
03-Oct-2010 |
Gordon Tetlow <gordon@FreeBSD.org> |
Bump __FreeBSD_version for switch from GNU man to BSDL man. Approved by: wes (mentor)
|
#
8f7f5a7f |
|
21-Sep-2010 |
Alan Cox <alc@FreeBSD.org> |
Fix exec_imgact_shell()'s handling of two error cases: (1) Previously, if the first line of a script exceeded MAXSHELLCMDLEN characters, then exec_imgact_shell() silently truncated the line and passed on the truncated interpreter name or argument. Now, exec_imgact_shell() will fail and return ENOEXEC, which is the commonly used errno among Unix variants for this type of error. (2) Previously, exec_imgact_shell()'s check on the length of the interpreter's name was ineffective. In other words, exec_imgact_shell() could not possibly fail and return ENAMETOOLONG. The reason being that the length of the interpreter name had to exceed MAXSHELLCMDLEN characters in order that ENAMETOOLONG be returned. But, the search for the end of the interpreter name stops after at most MAXSHELLCMDLEN - 2 characters are scanned. (In the end, this particular error is eventually discovered outside of exec_imgact_shell() and ENAMETOOLONG is returned. So, the real effect of this second change is that the error is detected earlier, in exec_imgact_shell().) Update the definition of MAXINTERP to the actual limit on the size of the interpreter name that has been in effect since r142453 (from 2005). In collaboration with: kib
|
#
ec88dcae |
|
13-Sep-2010 |
Rui Paulo <rpaulo@FreeBSD.org> |
Bump __FreeBSD_version to reflect the userland DTrace changes. Sponsored by: The FreeBSD Foundation
|
#
40438ef7 |
|
09-Sep-2010 |
Matthew D Fleming <mdf@FreeBSD.org> |
Bump __FreeBSD_version for sbuf ABI change.
|
#
74ffb9af |
|
28-Aug-2010 |
Alan Cox <alc@FreeBSD.org> |
Add the MAP_PREFAULT_READ option to mmap(2). Reviewed by: jhb, kib
|
#
3586381d |
|
24-Aug-2010 |
David Xu <davidxu@FreeBSD.org> |
Bump __FreeBSD_version for revision 211732. Noticed by: thompa
|
#
6608cc57 |
|
23-Aug-2010 |
Gabor Kovesdan <gabor@FreeBSD.org> |
- Change default grep back to GNU version. BSD grep can be built with the WITH_BSD_GREP knob. - Bump __FreeBSD_version Requested by: dougb Approved by: delphij (mentor)
|
#
7472b122 |
|
28-Jul-2010 |
Matthew D Fleming <mdf@FreeBSD.org> |
Bump __FreeBSD_version for multizone malloc(9). Approved by: zml (mentor)
|
#
ade43637 |
|
22-Jul-2010 |
Gabor Kovesdan <gabor@FreeBSD.org> |
- Bump __FreeBSD_version for BSD grep import Approved by: delphij (mentor)
|
#
3dad4f3a |
|
13-Jul-2010 |
Ed Schouten <ed@FreeBSD.org> |
UT_NAMESIZE is no more.
|
#
b62eb0e4 |
|
13-Jun-2010 |
Ken Smith <kensmith@FreeBSD.org> |
Adjust __FreeBSD_version to reflect this is the 8.1 release branch. Approved by: re (implicit)
|
#
ef7186a0 |
|
10-Jun-2010 |
Ed Schouten <ed@FreeBSD.org> |
Bump __FreeBSD_version to indicate the addition of Clang to HEAD.
|
#
eedfc35c |
|
24-May-2010 |
Wojciech A. Koszek <wkoszek@FreeBSD.org> |
Bring USB fixes for linux(4). Intention of this commit is to let us take a full advantage of libusb(8) ported to Linux. This decreases a possibility of getting any collisions within ioctl() "command" space, especially with relation to LINUX_SNDCTL_SEQ... stuff. Basically, we provide commands, that will be mapped in the kernel to correct ones and forward those to the USB layer. Port enabling functionality brought with this patch is here: http://www.freebsd.org/cgi/query-pr.cgi?pr=146895 Bump __FreeBSD_version to catch, since which version installing a port makes sense. This patch should bring no regressions. So far, only i386 is tested. Tested by: thompsa@ Reviewed by: thompsa@ OKed by: netchild@
|
#
f56075cf |
|
18-May-2010 |
Martin Matuska <mm@FreeBSD.org> |
Bump __FreeBSD_version for liblzma addition. Approved by: delphij (mentor)
|
#
2965a453 |
|
29-Apr-2010 |
Kip Macy <kmacy@FreeBSD.org> |
On Alan's advice, rather than do a wholesale conversion on a single architecture from page queue lock to a hashed array of page locks (based on a patch by Jeff Roberson), I've implemented page lock support in the MI code and have only moved vm_page's hold_count out from under page queue mutex to page lock. This changes pmap_extract_and_hold on all pmaps. Supported by: Bitgravity Inc. Discussed with: alc, jeffr, and kib
|
#
798aea00 |
|
22-Mar-2010 |
Xin LI <delphij@FreeBSD.org> |
Update to zlib 1.2.4 and add versioned symbols to the library. Sponsored by: iXsystems, Inc.
|
#
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.
|
#
a5a931b3 |
|
25-Feb-2010 |
Xin LI <delphij@FreeBSD.org> |
MFC 203052: Add interface description capability as inspired by OpenBSD. Thanks for rwatson@, jhb@, brooks@ and others for feedback to the old implementation! Sponsored by: iXsystems, Inc.
|
#
613bd3f3 |
|
31-Jan-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for sigpause(3) addition.
|
#
215940b3 |
|
26-Jan-2010 |
Xin LI <delphij@FreeBSD.org> |
Revised revision 199201 (add interface description capability as inspired by OpenBSD), based on comments from many, including rwatson, jhb, brooks and others. Sponsored by: iXsystems, Inc. MFC after: 1 month
|
#
2af4053e |
|
23-Jan-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for scandir(3) and alphasort(3) interface changes.
|
#
b485a595 |
|
20-Jan-2010 |
Gabor Kovesdan <gabor@FreeBSD.org> |
- Bump __FreeBSD_version for BSDL bc/dc import to deprecate GNU bc/dc Approved by: delphij
|
#
279d8efe |
|
13-Jan-2010 |
Ed Schouten <ed@FreeBSD.org> |
Complete the migration towards utmpx. - Add a notice to UPDATING, explaining users may need to recompile applications that use the old database. - Bump __FreeBSD_version.
|
#
aecc4e17 |
|
07-Jan-2010 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version to 800500 which should have happened already after r198460 but was missed. Note: that 800108 should have been 800501 with that but as there is no functional problem here, it'll just stay as is. [1] This will make pkg_add -r use packages-8-stable for stable/8 rather than packages-8.0-release. Reported by: Paride Legovini (pl ninthfloor.org) on stable@, (pluknet gmail.com), jhb Discussed with: rwatson [1]
|
#
181d0b5d |
|
04-Jan-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for scandir(3) and alphasort(3) prototype changes.
|
#
2028867d |
|
12-Dec-2009 |
Attilio Rao <attilio@FreeBSD.org> |
In current code, threads performing an interruptible sleep (on both sxlock, via the sx_{s, x}lock_sig() interface, or plain lockmgr), will leave the waiters flag on forcing the owner to do a wakeup even when if the waiter queue is empty. That operation may lead to a deadlock in the case of doing a fake wakeup on the "preferred" (based on the wakeup algorithm) queue while the other queue has real waiters on it, because nobody is going to wakeup the 2nd queue waiters and they will sleep indefinitively. A similar bug, is present, for lockmgr in the case the waiters are sleeping with LK_SLEEPFAIL on. In this case, even if the waiters queue is not empty, the waiters won't progress after being awake but they will just fail, still not taking care of the 2nd queue waiters (as instead the lock owned doing the wakeup would expect). In order to fix this bug in a cheap way (without adding too much locking and complicating too much the semantic) add a sleepqueue interface which does report the actual number of waiters on a specified queue of a waitchannel (sleepq_sleepcnt()) and use it in order to determine if the exclusive waiters (or shared waiters) are actually present on the lockmgr (or sx) before to give them precedence in the wakeup algorithm. This fix alone, however doesn't solve the LK_SLEEPFAIL bug. In order to cope with it, add the tracking of how many exclusive LK_SLEEPFAIL waiters a lockmgr has and if all the waiters on the exclusive waiters queue are LK_SLEEPFAIL just wake both queues. The sleepq_sleepcnt() introduction and ABI breakage require __FreeBSD_version bumping. Reported by: avg, kib, pho Reviewed by: kib Tested by: pho
|
#
04b0c5bb |
|
06-Dec-2009 |
Ed Schouten <ed@FreeBSD.org> |
Add a libutempter compatibility interface to libulog. The ulog_login_pseudo(3) and ulog_logout_pseudo(3) interfaces provide a functionality identical to what libutempter has to offer. Just transform libutempter's calls into the before mentioned functions. libutempter doesn't work with utmpx, so instead of fixing I thought the easiest way would be to integrate this functionality. libutempter is used by applications like xterm and the KDE libraries, so if I ever change the underlying file format, these applications will keep working automatically. Also increase __FreeBSD_version to indicate the addition (as well as the import of libulog).
|
#
4cbf3715 |
|
02-Dec-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for sigpause(3) addition [1] and PIE support in csu. Requested by: fluffy [1]
|
#
a78fb6f9 |
|
23-Nov-2009 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Don't make MJUMPAGESIZE equal to PAGE_SIZE unconditionally. When PAGE_SIZE is 16K, MJUMPAGESIZE equals MJUM16BYTES and causes build breakages. For PAGE_SIZE < 2K, define MJUMPAGESIZE as MCLBYTES. For PAGE_SIZE > 8K, define MJUMPAGESIZE as 8K. Everywhere inbetween, define MJUMPAGESIZE as PAGE_SIZE. Thus MCLBYTES <= MJUMPAGESIZE <= 8KB.
|
#
1c7de26f |
|
20-Nov-2009 |
Stacey Son <sson@FreeBSD.org> |
Bump __FreeBSD_version to reflect the point when EVFILT_USER kevent filter has been implemented. Approved by: rwatson (co-mentor)
|
#
1a9d4dda |
|
12-Nov-2009 |
Xin LI <delphij@FreeBSD.org> |
Revert revision 199201 for now as it has introduced a kernel vulnerability and requires more polishing.
|
#
41c8c6e8 |
|
11-Nov-2009 |
Xin LI <delphij@FreeBSD.org> |
Add interface description capability as inspired by OpenBSD. MFC after: 3 months
|
#
50989f36 |
|
22-Sep-2009 |
Stanislav Sedov <stas@FreeBSD.org> |
- Bump __FreeBSD_version to reflect the point when EVFILT_USER kevent filter has been implemented.
|
#
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
|
#
a254d1f1 |
|
08-Sep-2009 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating an architecture specific include file containing the _ALIGN* stuff which <sys/socket.h> needs.
|
#
cf48cc9f |
|
22-Aug-2009 |
Ken Smith <kensmith@FreeBSD.org> |
Make head 9.0-CURRENT in preparation for lifting code freeze. Approved by: re (implicit)
|
#
444b9186 |
|
02-Aug-2009 |
Attilio Rao <attilio@FreeBSD.org> |
Make the newbus subsystem Giant free by adding the new newbus sxlock. The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races. Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped. For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens. Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing. Bump __FreeBSD_version in order to reflect the newbus lock introduction. Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith)
|
#
5f60e483 |
|
24-Jul-2009 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for the introduction of OBJT_SG. Approved by: re (kensmith)
|
#
3ca3047a |
|
19-Jul-2009 |
Ken Smith <kensmith@FreeBSD.org> |
Bump the version of all non-symbol-versioned shared libraries in preparation for 8.0-RELEASE. Add the previous version of those libraries to ObsoleteFiles.inc and bump __FreeBSD_Version. Reviewed by: kib Approved by: re (rwatson)
|
#
f33a947b |
|
14-Jul-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Add new msleep(9) flag PBDY that shall be specified together with PCATCH, to indicate that thread shall not be stopped upon receipt of SIGSTOP until it reaches the kernel->usermode boundary. Also change thread_single(SINGLE_NO_EXIT) to only stop threads at the user boundary unconditionally. Tested by: pho Reviewed by: jhb Approved by: re (kensmith)
|
#
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)
|
#
237fbe0a |
|
13-Jul-2009 |
Lawrence Stewart <lstewart@FreeBSD.org> |
Replace struct tcpopt with a proxy toeopt struct in the TOE driver interface to the TCP syncache. This returns struct tcpopt to being private within the TCP implementation, thus allowing it to be modified without ABI concerns. The patch breaks the ABI. Bump __FreeBSD_version to 800103 accordingly. The cxgb driver is the only TOE consumer affected by this change, and needs to be recompiled along with the kernel. Suggested by: rwatson Reviewed by: rwatson, kmacy Approved by: re (kensmith), kensmith (mentor temporarily unavailable)
|
#
962ebef8 |
|
12-Jul-2009 |
Lawrence Stewart <lstewart@FreeBSD.org> |
Pad the following TCP related structs to allow MFCs of upcoming features/fixes back to the 8 branch: tcp_var.h - struct sackhint - struct tcpcb - struct tcpstat The patch breaks the ABI. Bump __FreeBSD_version to 800102 accordingly. User space tools that rely on the size of any of these structs (e.g. sockstat) need to be recompiled. Reviewed by: rpaulo, sam, andre, rwatson Approved by: re & mentor (gnn)
|
#
6cb7f168 |
|
29-Jun-2009 |
Brooks Davis <brooks@FreeBSD.org> |
Remove support for the /dev/net/* per-interface devices. They serve little purpose and are unused in the base system. The IOCTL functionality is entirely duplicated and routing sockets provide a richer interface than the kqueue functionality. Further, it is not practical for these devices to be made sensible in the face of VIMAGE. Bump __FreeBSD_version on the off chance that there is any code out there that actually uses this stuff. Reviewed by: rwatson Discussed with: bz, zec Approved by: re@ (kensmith)
|
#
0ef1e394 |
|
24-Jun-2009 |
John Baldwin <jhb@FreeBSD.org> |
Bump __FreeBSD_version for SYSVIPC ABI change (along with other changes today).
|
#
8112ca35 |
|
22-Jun-2009 |
Ken Smith <kensmith@FreeBSD.org> |
Describe the new algorithm for handling __FreeBSD_version, specifically the 'R' value now being allowed to take on more values than 0 or 1 and permitting more than 100 version bumps in pre-release branches.
|
#
b58ea5f3 |
|
22-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Move virtualization of routing related variables into their own Vimage module, which had been there already but now is stateful. All variables are now file local; so this further limits the global spreading of routing related things throughout the kernel. Add a missing function local variable in case of MPATHing. Reviewed by: zec
|
#
838d9858 |
|
19-Jun-2009 |
Brooks Davis <brooks@FreeBSD.org> |
Rework the credential code to support larger values of NGROUPS and NGROUPS_MAX, eliminate ABI dependencies on them, and raise the to 1024 and 1023 respectively. (Previously they were equal, but under a close reading of POSIX, NGROUPS_MAX was defined to be too large by 1 since it is the number of supplemental groups, not total number of groups.) The bulk of the change consists of converting the struct ucred member cr_groups from a static array to a pointer. Do the equivalent in kinfo_proc. Introduce new interfaces crcopysafe() and crsetgroups() for duplicating a process credential before modifying it and for setting group lists respectively. Both interfaces take care for the details of allocating groups array. crsetgroups() takes care of truncating the group list to the current maximum (NGROUPS) if necessary. In the future, crsetgroups() may be responsible for insuring invariants such as sorting the supplemental groups to allow groupmember() to be implemented as a binary search. Because we can not change struct xucred without breaking application ABIs, we leave it alone and introduce a new XU_NGROUPS value which is always 16 and is to be used or NGRPS as appropriate for things such as NFS which need to use no more than 16 groups. When feasible, truncate the group list rather than generating an error. Minor changes: - Reduce the number of hand rolled versions of groupmember(). - Do not assign to both cr_gid and cr_groups[0]. - Modify ipfw to cache ucreds instead of part of their contents since they are immutable once referenced by more than one entity. Submitted by: Isilon Systems (initial implementation) X-MFC after: never PR: bin/113398 kern/133867
|
#
b696d9ac |
|
14-Jun-2009 |
Simon L. B. Nielsen <simon@FreeBSD.org> |
Bump __FreeBSD_version for OpenSSL 0.9.8k import.
|
#
bc29160d |
|
08-Jun-2009 |
Marko Zec <zec@FreeBSD.org> |
Introduce an infrastructure for dismantling vnet instances. Vnet modules and protocol domains may now register destructor functions to clean up and release per-module state. The destructor mechanisms can be triggered by invoking "vimage -d", or a future equivalent command which will be provided via the new jail framework. While this patch introduces numerous placeholder destructor functions, many of those are currently incomplete, thus leaking memory or (even worse) failing to stop all running timers. Many of such issues are already known and will be incrementaly fixed over the next weeks in smaller incremental commits. Apart from introducing new fields in structs ifnet, domain, protosw and vnet_net, which requires the kernel and modules to be rebuilt, this change should have no impact on nooptions VIMAGE builds, since vnet destructors can only be called in VIMAGE kernels. Moreover, destructor functions should be in general compiled in only in options VIMAGE builds, except for kernel modules which can be safely kldunloaded at run time. Bump __FreeBSD_version to 800097. Reviewed by: bz, julian Approved by: rwatson, kib (re), julian (mentor)
|
#
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.
|
#
ab1a4d48 |
|
01-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Decrement __FreeBSD_version again to 96 as we are runing out of digits and want to be conservative - so not more than one version bump per day. Discussed with: jhb, kensmith
|
#
c2c2a7c1 |
|
01-Jun-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Convert the two dimensional array to be malloced and introduce an accessor function to get the correct rnh pointer back. Update netstat to get the correct pointer using kvm_read() as well. This not only fixes the ABI problem depending on the kernel option but also permits the tunable to overwrite the kernel option at boot time up to MAXFIBS, enlarging the number of FIBs without having to recompile. So people could just use GENERIC now. Reviewed by: julian, rwatson, zec X-MFC: not possible
|
#
d4b5cae4 |
|
01-Jun-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Reimplement the netisr framework in order to support parallel netisr threads: - Support up to one netisr thread per CPU, each processings its own workstream, or set of per-protocol queues. Threads may be bound to specific CPUs, or allowed to migrate, based on a global policy. In the future it would be desirable to support topology-centric policies, such as "one netisr per package". - Allow each protocol to advertise an ordering policy, which can currently be one of: NETISR_POLICY_SOURCE: packets must maintain ordering with respect to an implicit or explicit source (such as an interface or socket). NETISR_POLICY_FLOW: make use of mbuf flow identifiers to place work, as well as allowing protocols to provide a flow generation function for mbufs without flow identifers (m2flow). Falls back on NETISR_POLICY_SOURCE if now flow ID is available. NETISR_POLICY_CPU: allow protocols to inspect and assign a CPU for each packet handled by netisr (m2cpuid). - Provide utility functions for querying the number of workstreams being used, as well as a mapping function from workstream to CPU ID, which protocols may use in work placement decisions. - Add explicit interfaces to get and set per-protocol queue limits, and get and clear drop counters, which query data or apply changes across all workstreams. - Add a more extensible netisr registration interface, in which protocols declare 'struct netisr_handler' structures for each registered NETISR_ type. These include name, handler function, optional mbuf to flow ID function, optional mbuf to CPU ID function, queue limit, and ordering policy. Padding is present to allow these to be expanded in the future. If no queue limit is declared, then a default is used. - Queue limits are now per-workstream, and raised from the previous IFQ_MAXLEN default of 50 to 256. - All protocols are updated to use the new registration interface, and with the exception of netnatm, default queue limits. Most protocols register as NETISR_POLICY_SOURCE, except IPv4 and IPv6, which use NETISR_POLICY_FLOW, and will therefore take advantage of driver- generated flow IDs if present. - Formalize a non-packet based interface between interface polling and the netisr, rather than having polling pretend to be two protocols. Provide two explicit hooks in the netisr worker for start and end events for runs: netisr_poll() and netisr_pollmore(), as well as a function, netisr_sched_poll(), to allow the polling code to schedule netisr execution. DEVICE_POLLING still embeds single-netisr assumptions in its implementation, so for now if it is compiled into the kernel, a single and un-bound netisr thread is enforced regardless of tunable configuration. In the default configuration, the new netisr implementation maintains the same basic assumptions as the previous implementation: a single, un-bound worker thread processes all deferred work, and direct dispatch is enabled by default wherever possible. Performance measurement shows a marginal performance improvement over the old implementation due to the use of batched dequeue. An rmlock is used to synchronize use and registration/unregistration using the framework; currently, synchronized use is disabled (replicating current netisr policy) due to a measurable 3%-6% hit in ping-pong micro-benchmarking. It will be enabled once further rmlock optimization has taken place. However, in practice, netisrs are rarely registered or unregistered at runtime. A new man page for netisr will follow, but since one doesn't currently exist, it hasn't been updated. This change is not appropriate for MFC, although the polling shutdown handler should be merged to 7-STABLE. Bump __FreeBSD_version. Reviewed by: bz
|
#
1abcdbd1 |
|
30-May-2009 |
Attilio Rao <attilio@FreeBSD.org> |
When user_frac in the polling subsystem is low it is going to busy the CPU for too long period than necessary. Additively, interfaces are kept polled (in the tick) even if no more packets are available. In order to avoid such situations a new generic mechanism can be implemented in proactive way, keeping track of the time spent on any packet and fragmenting the time for any tick, stopping the processing as soon as possible. In order to implement such mechanism, the polling handler needs to change, returning the number of packets processed. While the intended logic is not part of this patch, the polling KPI is broken by this commit, adding an int return value and the new flag IFCAP_POLLING_NOCOUNT (which will signal that the return value is meaningless for the installed handler and checking should be skipped). Bump __FreeBSD_version in order to signal such situation. Reviewed by: emaste Sponsored by: Sandvine Incorporated
|
#
2a61ba47 |
|
30-May-2009 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bump __FreeBSD_version after addition of VOP_ACCESSX(9).
|
#
b89fed67 |
|
29-May-2009 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Update __FreeBSD_version after addition of mnt_xflag. Add a note to UPDATING.
|
#
1ae1c2a3 |
|
28-May-2009 |
Attilio Rao <attilio@FreeBSD.org> |
Reverse the logic for ADAPTIVE_SX option and enable it by default. Introduce for this operation the reverse NO_ADAPTIVE_SX option. The flag SX_ADAPTIVESPIN to be passed to sx_init_flags(9) gets suppressed and the new flag, offering the reversed logic, SX_NOADAPTIVE is added. Additively implements adaptive spininning for sx held in shared mode. The spinning limit can be handled through sysctls in order to be tuned while the code doesn't reach the release, after which time they should be dropped probabilly. This change has made been necessary by recent benchmarks where it does improve concurrency of workloads in presence of high contention (ie. ZFS). KPI breakage is documented by __FreeBSD_version bumping, manpage and UPDATING updates. Requested by: jeff, kmacy Reviewed by: jeff Tested by: pho
|
#
0304c731 |
|
27-May-2009 |
Jamie Gritton <jamie@FreeBSD.org> |
Add hierarchical jails. A jail may further virtualize its environment by creating a child jail, which is visible to that jail and to any parent jails. Child jails may be restricted more than their parents, but never less. Jail names reflect this hierarchy, being MIB-style dot-separated strings. Every thread now points to a jail, the default being prison0, which contains information about the physical system. Prison0's root directory is the same as rootvnode; its hostname is the same as the global hostname, and its securelevel replaces the global securelevel. Note that the variable "securelevel" has actually gone away, which should not cause any problems for code that properly uses securelevel_gt() and securelevel_ge(). Some jail-related permissions that were kept in global variables and set via sysctls are now per-jail settings. The sysctls still exist for backward compatibility, used only by the now-deprecated jail(2) system call. Approved by: bz (mentor)
|
#
37f17770 |
|
23-May-2009 |
Marko Zec <zec@FreeBSD.org> |
V_irtualize the if_clone framework, thus allowing for clonable ifnets to optionally have overlapping unit numbers if attached in different vnets. At this stage if_loop is the only clonable ifnet class that has been extended to allow for such overlapping allocation of unit numbers, i.e. in each vnet it is possible to have a lo0 interface. Other clonable ifnet classes remain to operate with traditional semantics, i.e. each instance of a clonable ifnet will be assigned a globally unique unit number, regardless in which vnet such an ifnet becomes instantiated. While here, garbage collect unused _lo_list field in struct vnet_net, as well as improve indentation for #defines in sys/net/vnet.h. The layout of struct vnet_net has changed, therefore bump __FreeBSD_version. This change has no functional impact on nooptions VIMAGE kernel builds. Reviewed by: bz, brooks Approved by: julian (mentor)
|
#
6a9148fe |
|
23-May-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Implement UDP control block support. So far the udp_tun_func_t had been (ab)using inp_ppcb for udp in kernel tunneling callbacks. Move that into the udpcb and add a field for flags there to be used by upcoming changes instead of sticking udp only flags into in_pcb flags2. Bump __FreeBSD_version for ports to detect it and because of vnet* struct size changes. Submitted by: jhb (7.x version) Reviewed by: rwatson
|
#
23790ac0 |
|
20-May-2009 |
Sam Leffler <sam@FreeBSD.org> |
bump for net80211 monitor mode changes
|
#
dfd233ed |
|
11-May-2009 |
Attilio Rao <attilio@FreeBSD.org> |
Remove the thread argument from the FSD (File-System Dependent) parts of the VFS. Now all the VFS_* functions and relating parts don't want the context as long as it always refers to curthread. In some points, in particular when dealing with VOPs and functions living in the same namespace (eg. vflush) which still need to be converted, pass curthread explicitly in order to retain the old behaviour. Such loose ends will be fixed ASAP. While here fix a bug: now, UFS_EXTATTR can be compiled alone without the UFS_EXTATTR_AUTOSTART option. VFS KPI is heavilly changed by this commit so thirdy parts modules needs to be recompiled. Bump __FreeBSD_version in order to signal such situation.
|
#
9ab20e10 |
|
07-May-2009 |
Stephane E. Potvin <sepotvin@FreeBSD.org> |
Change the internal buffer used to store input lines from a static buffer to a dynamically allocated one in order to support input lines of arbitrary length. Approved by: kan (mentor) MFC after: 1 month
|
#
f6dfe47a |
|
30-Apr-2009 |
Marko Zec <zec@FreeBSD.org> |
Permit buiding kernels with options VIMAGE, restricted to only a single active network stack instance. Turning on options VIMAGE at compile time yields the following changes relative to default kernel build: 1) V_ accessor macros for virtualized variables resolve to structure fields via base pointers, instead of being resolved as fields in global structs or plain global variables. As an example, V_ifnet becomes: options VIMAGE: ((struct vnet_net *) vnet_net)->_ifnet default build: vnet_net_0._ifnet options VIMAGE_GLOBALS: ifnet 2) INIT_VNET_* macros will declare and set up base pointers to be used by V_ accessor macros, instead of resolving to whitespace: INIT_VNET_NET(ifp->if_vnet); becomes struct vnet_net *vnet_net = (ifp->if_vnet)->mod_data[VNET_MOD_NET]; 3) Memory for vnet modules registered via vnet_mod_register() is now allocated at run time in sys/kern/kern_vimage.c, instead of per vnet module structs being declared as globals. If required, vnet modules can now request the framework to provide them with allocated bzeroed memory by filling in the vmi_size field in their vmi_modinfo structures. 4) structs socket, ifnet, inpcbinfo, tcpcb and syncache_head are extended to hold a pointer to the parent vnet. options VIMAGE builds will fill in those fields as required. 5) curvnet is introduced as a new global variable in options VIMAGE builds, always pointing to the default and only struct vnet. 6) struct sysctl_oid has been extended with additional two fields to store major and minor virtualization module identifiers, oid_v_subs and oid_v_mod. SYSCTL_V_* family of macros will fill in those fields accordingly, and store the offset in the appropriate vnet container struct in oid_arg1. In sysctl handlers dealing with virtualized sysctls, the SYSCTL_RESOLVE_V_ARG1() macro will compute the address of the target variable and make it available in arg1 variable for further processing. Unused fields in structs vnet_inet, vnet_inet6 and vnet_ipfw have been deleted. Reviewed by: bz, rwatson Approved by: julian (mentor)
|
#
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.
|
#
131cdffb |
|
22-Apr-2009 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Bump __FreeBSD_version. Add UPDATING entry about low-level Bluetooth HCI API.
|
#
ba2892d7 |
|
21-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to 800082 to reflect the addition of if_refcount, if_ref(), and if_rele(). MFC after: 3 weeks
|
#
eb7bba19 |
|
19-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Garbage collect now-unused struct malloc_type fields, bump __FreeBSD_version as kernel modules will need to be rebuilt. These fields existed to support binary compatibility with kernel modules from before the introduction of libmemstat(3) in FreeBSD 6.x, so they are no longer required.
|
#
773b573a |
|
15-Apr-2009 |
Kip Macy <kmacy@FreeBSD.org> |
- add second flags field to to inpcb - update comments in vflag
|
#
de4ab55e |
|
15-Apr-2009 |
Kip Macy <kmacy@FreeBSD.org> |
add an llentry to struct route{_in6} to allow it to be passed around with the rtentry
|
#
427ac07f |
|
14-Apr-2009 |
Kip Macy <kmacy@FreeBSD.org> |
Extend route command: - add show as alias for get - add weights to allow mpath to do more than equal cost - add sticky / nostick to disable / re-enable per-connection load balancing This adds a field to rt_metrics_lite so network bits of world will need to be re-built. Reviewed by: jeli & qingli
|
#
3ca43b79 |
|
11-Apr-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to 800077 for the removal of VOP_LEASE -- this changes the size of the vop_vector array and therefore requires file system modules to be rebuilt.
|
#
ae190bc0 |
|
09-Apr-2009 |
Luigi Rizzo <luigi@FreeBSD.org> |
Bump version after changes in the userland/kernel ABI for dummynet (plain ipfw rules unchanged)
|
#
1ed81b73 |
|
06-Apr-2009 |
Marko Zec <zec@FreeBSD.org> |
First pass at separating per-vnet initializer functions from existing functions for initializing global state. At this stage, the new per-vnet initializer functions are directly called from the existing global initialization code, which should in most cases result in compiler inlining those new functions, hence yielding a near-zero functional change. Modify the existing initializer functions which are invoked via protosw, like ip_init() et. al., to allow them to be invoked multiple times, i.e. per each vnet. Global state, if any, is initialized only if such functions are called within the context of vnet0, which will be determined via the IS_DEFAULT_VNET(curvnet) check (currently always true). While here, V_irtualize a few remaining global UMA zones used by net/netinet/netipsec networking code. While it is not yet clear to me or anybody else whether this is the right thing to do, at this stage this makes the code more readable, and makes it easier to track uncollected UMA-zone-backed objects on vnet removal. In the long run, it's quite possible that some form of shared use of UMA zone pools among multiple vnets should be considered. Bump __FreeBSD_version due to changes in layout of structs vnet_ipfw, vnet_inet and vnet_net. Approved by: julian (mentor)
|
#
cd39fead |
|
24-Mar-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
Bump __FreeBSD_version to reflect tcpdump 4.0.0 and libpcap 1.0.0 import.
|
#
83b039a6 |
|
22-Mar-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for dynamic token string support added in ld.so. Requested by: maho
|
#
3871df9e |
|
15-Mar-2009 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version for the removal of IFF_NEEDSGIANT; network device drivers that require Giant to be held over calls to the ifnet interface are no longer supported in the FreeBSD 8.x kernel.
|
#
fb3fd8c6 |
|
14-Mar-2009 |
David Schultz <das@FreeBSD.org> |
Bump __FreeBSD_version to 800071 for gcc patch to add support for C99 inline functions in c99 and gnu99 mode.
|
#
d10910e6 |
|
09-Mar-2009 |
Bruce M Simpson <bms@FreeBSD.org> |
Merge IGMPv3 and Source-Specific Multicast (SSM) to the FreeBSD IPv4 stack. Diffs are minimized against p4. PCS has been used for some protocol verification, more widespread testing of recorded sources in Group-and-Source queries is needed. sizeof(struct igmpstat) has changed. __FreeBSD_version is bumped to 800070.
|
#
a091d2a5 |
|
09-Mar-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Install libusb20.so.1 as libusb.so.1, there will be a followup commit to the ports tree so that programs use libusb from the base by default. Thanks to Stanislav Sedov for sorting out the ports build. Bump __FreeBSD_version to 800069 Help and testing by: stas
|
#
e04aa94c |
|
01-Mar-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Bump __FreeBSD_version for the ushub to uhub rename. Requested by: marcus
|
#
69099ba2 |
|
27-Feb-2009 |
David Schultz <das@FreeBSD.org> |
- Add getdelim(), getline(), stpncpy(), strnlen(), wcsnlen(), wcscasecmp(), and wcsncasecmp(). - Make some previously non-standard extensions visible if POSIX_VISIBLE >= 200809. - Use restrict qualifiers in stpcpy(). - Declare off_t and size_t in stdio.h. - Bump __FreeBSD_version in case the new symbols (particularly getline()) cause issues with ports. Reviewed by: standards@
|
#
ee3e3ff5 |
|
27-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Change USB over to make_dev() for all device nodes, previously it hooked into the devfs clone handler to open the (invisible) devices on the fly. The /dev entries are layed out as follows, /dev/usbctl = master device /dev/usb/0.1.0.5 = usb device, (<bus>.<dev>.<iface>.<endpoint>) /dev/ugen0.1 -> usb/0.1.0.0 = ugen link to ctrl endpoint This also removes the custom permissions model from USB. Bump __FreeBSD_version to 800066. Submitted by: rink (earlier version)
|
#
b3aaa0cc |
|
26-Feb-2009 |
Ed Schouten <ed@FreeBSD.org> |
Rename all symbols in libmp(3) to mp_*, just like Solaris. The function pow() in libmp(3) clashes with pow(3) in libm. We could rename this single function, but we can just take the same approach as the Solaris folks did, which is to prefix all function names with mp_. libmp(3) isn't really popular nowadays. I suspect not a single application in ports depends on it. There's still a chance, so I've increased the SHLIB_MAJOR and __FreeBSD_version. Reviewed by: deischen, rdivacky
|
#
71e9286c |
|
23-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Add an UPDATING entry and bump the OS version to 800064.
|
#
90b70949 |
|
17-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Bump __FreeBSD_version to 800063 after GENERIC changed to USB2.
|
#
a4611ab6 |
|
28-Jan-2009 |
Ed Schouten <ed@FreeBSD.org> |
Last step of splitting up minor and unit numbers: remove minor(). Inside the kernel, the minor() function was responsible for obtaining the device minor number of a character device. Because we made device numbers dynamically allocated and independent of the unit number passed to make_dev() a long time ago, it was actually a misnomer. If you really want to obtain the device number, you should use dev2udev(). We already converted all the drivers to use dev2unit() to obtain the device unit number, which is still used by a lot of drivers. I've noticed not a single driver passes NULL to dev2unit(). Even if they would, its behaviour would make little sense. This is why I've removed the NULL check. Ths commit removes minor(), minor2unit() and unit2minor() from the kernel. Because there was a naming collision with uminor(), we can rename umajor() and uminor() back to major() and minor(). This means that the makedev(3) manual page also applies to kernel space code now. I suspect umajor() and uminor() isn't used that often in external code, but to make it easier for other parties to port their code, I've increased __FreeBSD_version to 800062.
|
#
24cb0f22 |
|
14-Jan-2009 |
Lawrence Stewart <lstewart@FreeBSD.org> |
Add TCP Appropriate Byte Counting (RFC 3465) support to kernel. The new behaviour is on by default, and can be disabled by setting the net.inet.tcp.rfc3465 sysctl to 0 to obtain previous behaviour. The patch changes struct tcpcb in sys/netinet/tcp_var.h which breaks the ABI. Bump __FreeBSD_version to 800061 accordingly. User space tools that rely on the size of struct tcpcb (e.g. sockstat) need to be recompiled. Reviewed by: rpaulo, gnn Approved by: gnn, kmacy (mentors) Sponsored by: FreeBSD Foundation
|
#
efc06131 |
|
19-Dec-2008 |
Sam Leffler <sam@FreeBSD.org> |
add makefs to the base system; FreeBSD_version bumped just in case Reviewed by: imp
|
#
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
|
#
233fb9e4 |
|
11-Dec-2008 |
Joe Marcus Clarke <marcus@FreeBSD.org> |
Bump __FreeBSD_version for the new VOP_VPTOCNP addition. Approved by: kib (implicit)
|
#
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.
|
#
413628a7 |
|
29-Nov-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
MFp4: Bring in updated jail support from bz_jail branch. This enhances the current jail implementation to permit multiple addresses per jail. In addtion to IPv4, IPv6 is supported as well. Due to updated checks it is even possible to have jails without an IP address at all, which basically gives one a chroot with restricted process view, no networking,.. SCTP support was updated and supports IPv6 in jails as well. Cpuset support permits jails to be bound to specific processor sets after creation. Jails can have an unrestricted (no duplicate protection, etc.) name in addition to the hostname. The jail name cannot be changed from within a jail and is considered to be used for management purposes or as audit-token in the future. DDB 'show jails' command was added to aid debugging. Proper compat support permits 32bit jail binaries to be used on 64bit systems to manage jails. Also backward compatibility was preserved where possible: for jail v1 syscalls, as well as with user space management utilities. Both jail as well as prison version were updated for the new features. A gap was intentionally left as the intermediate versions had been used by various patches floating around the last years. Bump __FreeBSD_version for the afore mentioned and in kernel changes. Special thanks to: - Pawel Jakub Dawidek (pjd) for his multi-IPv4 patches and Olivier Houchard (cognet) for initial single-IPv6 patches. - Jeff Roberson (jeff) and Randall Stewart (rrs) for their help, ideas and review on cpuset and SCTP support. - Robert Watson (rwatson) for lots and lots of help, discussions, suggestions and review of most of the patch at various stages. - John Baldwin (jhb) for his help. - Simon L. Nielsen (simon) as early adopter testing changes on cluster machines as well as all the testers and people who provided feedback the last months on freebsd-jail and other channels. - My employer, CK Software GmbH, for the support so I could work on this. Reviewed by: (see above) MFC after: 3 months (this is just so that I get the mail) X-MFC Before: 7.2-RELEASE if possible
|
#
f02493cb |
|
28-Nov-2008 |
Marko Zec <zec@FreeBSD.org> |
Unhide declarations of network stack virtualization structs from underneath #ifdef VIMAGE blocks. This change introduces some churn in #include ordering and nesting throughout the network stack and drivers but is not expected to cause any additional issues. In the next step this will allow us to instantiate the virtualization container structures and switch from using global variables to their "containerized" counterparts. 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
|
#
0cfab8dd |
|
27-Nov-2008 |
Joseph Koshy <jkoshy@FreeBSD.org> |
- Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo and Core Duo), models 0xF (Core2), model 0x17 (Core2Extreme) and model 0x1C (Atom). In these CPUs, the actual numbers, kinds and widths of PMCs present need to queried at run time. Support for specific "architectural" events also needs to be queried at run time. Model 0xE CPUs support programmable PMCs, subsequent CPUs additionally support "fixed-function" counters. - Use event names that are close to vendor documentation, taking in account that: - events with identical semantics on two or more CPUs in this family can have differing names in vendor documentation, - identical vendor event names may map to differing events across CPUs, - each type of CPU supports a different subset of measurable events. Fixed-function and programmable counters both use the same vendor names for events. The use of a class name prefix ("iaf-" or "iap-" respectively) permits these to be distinguished. - In libpmc, refactor pmc_name_of_event() into a public interface and an internal helper function, for use by log handling code. - Minor code tweaks: staticize a global, freshen a few comments. Tested by: gnn
|
#
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.
|
#
b23e9e9d |
|
02-Nov-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect vfs_busy() prototype changing and its flags (MBF_NOWAIT, MBF_MNTLSTLOCK) introduction.
|
#
5031ddc4 |
|
28-Oct-2008 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Bump __FreeBSD_version after accmode_t introduction. Approved by: rwatson (mentor)
|
#
1ede983c |
|
23-Oct-2008 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Retire the MALLOC and FREE macros. They are an abomination unto style(9). MFC after: 3 months
|
#
26543102 |
|
20-Oct-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect prototipes changes for these following functions: - bufobj_invalbuf() - bufsync() - vinvalbuf() - g_vfs_close and virtual function BO_SYNC().
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
3111c5c9 |
|
21-Sep-2008 |
Ed Schouten <ed@FreeBSD.org> |
Now that the number of clist consumers have dropped massively, trim down the code to prevent useless waste of space. - Remove support for quote bits. There is not a single driver that needs these bits anymore. This means putc() now accepts a char instead of an int. - Remove the unneeded catq() and nextc() routines. They were only used by the old TTY layer. - Convert the clist code to use ANSI C prototypes.
|
#
fbd5dccf |
|
17-Sep-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Document the suser(9) and suser_cred(9) interface removal.
|
#
8c836116 |
|
16-Sep-2008 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Bump __FreeBSD_version to reflect that kernel NFS mount code can accept mount options in individual members of nmount() iovec array instead of one big struct nfs_args. Requested by: dfr
|
#
dfa7fd1d |
|
10-Sep-2008 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Remove VSVTX, VSGID and VSUID. This should be a no-op, as VSVTX == S_ISVTX, VSGID == S_ISGID and VSUID == S_ISUID. Approved by: rwatson (mentor)
|
#
36fd475c |
|
08-Sep-2008 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for per-CPU GDT on amd64. Requested by: nox
|
#
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
|
#
603724d3 |
|
17-Aug-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Commit step 1 of the vimage project, (network stack) virtualization work done by Marko Zec (zec@). This is the first in a series of commits over the course of the next few weeks. Mark all uses of global variables to be virtualized with a V_ prefix. Use macros to map them back to their global names for now, so this is a NOP change only. We hope to have caught at least 85-90% of what is needed so we do not invalidate a lot of outstanding patches again. Obtained from: //depot/projects/vimage-commit2/... Reviewed by: brooks, des, ed, mav, julian, jamie, kris, rwatson, zec, ... (various people I forgot, different versions) md5 (with a bit of help) Sponsored by: NLnet Foundation, The FreeBSD Foundation X-MFC after: never V_Commit_Message_Reviewed_By: more people than the patch
|
#
8fced8fc |
|
13-Aug-2008 |
Ed Schouten <ed@FreeBSD.org> |
Bump __FreeBSD_version to 800043, because of the bpf(4) change. bpf(4) now uses cdevpriv to distinguish multiple file descriptors, where it used to be implemented using device cloning. Ports like libpcap properly detect the change in their configure scripts, but it doesn't hurt to increase __FreeBSD_version. While there, change the bpf(4) manual page to refer to /dev/bpf instead of /dev/bpfN. Requested by: mlaier
|
#
d7a70ce7 |
|
08-Aug-2008 |
Stanislav Sedov <stas@FreeBSD.org> |
- Bump __FreeBSD_version for cpuctl(4) added. Approved by: kib
|
#
9b78febf |
|
22-Jul-2008 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump __FreeBSD_version for arc4random_buf() and arc4random_uniform() added.
|
#
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
|
#
4c20b767 |
|
16-Jun-2008 |
Konstantin Belousov <kib@FreeBSD.org> |
Add the member2struct() macro, that returns pointer to the containing structure given pointer to some structure member. MFC after: 2 weeks
|
#
45792eb9 |
|
14-Jun-2008 |
Ed Schouten <ed@FreeBSD.org> |
Turn sgtty into a binary-only compatibility interface. sgtty was the original interface to configure terminal attributes on my UNIX-like operating systems. It has been deprecated by the POSIX termios interface, which is implemented in almost any modern system. An advantage of turning this into a binary compatibility interface, is that we can now eventually remove the COMPAT_43TTY switch from kernel configurations. This removes many ioctl()'s from the TTY layer. While there, increase the __FreeBSD_version, which may be useful for the people working on the Ports tree. Reviewed by: kib Approved by: philip (mentor)
|
#
a1dbc89f |
|
26-May-2008 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump __FreeBSD_version after netatm and I4B removal. There should be no API changes but ports might rely on this.
|
#
1d60f0ff |
|
09-May-2008 |
Julian Elischer <julian@FreeBSD.org> |
bump __FreeBSD_version
|
#
de570baa |
|
20-Apr-2008 |
Sam Leffler <sam@FreeBSD.org> |
802.11 support moves to vaps
|
#
6fda52ba |
|
16-Apr-2008 |
Xin LI <delphij@FreeBSD.org> |
Implement fdopendir(3) by splitting __opendir2() into two parts, the upper part deals with the usual __opendir2() calls, and the rest part with an interface translator to expose fdopendir(3) functionality. Manual page was obtained from kib@'s work for *at(2) system calls.
|
#
82e45205 |
|
09-Apr-2008 |
Xin LI <delphij@FreeBSD.org> |
Add memrchr(3). Obtained from: OpenBSD
|
#
ff0af72c |
|
08-Apr-2008 |
Jung-uk Kim <jkim@FreeBSD.org> |
- Add write(2) support for psm(4) in native operation level. Now arbitrary commands can be written to /dev/psm%d and status can be read back from it. - Reflect the change in psm(4) and bump version for ports. MFC after: 1 week
|
#
a3526bf0 |
|
07-Apr-2008 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version after the implementation of the openat() and related syscalls both for the native FreeBSD ABI and linuxolator.
|
#
929ed949 |
|
06-Apr-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect lockmgr_rw() and lockmgr_args_rw() introduction.
|
#
d44c4da7 |
|
01-Apr-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect rw_try_rlock() and rw_try_wlock() functions introduction.
|
#
ed271d5c |
|
27-Mar-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect BUF_LOCKWAITERS() reintegration and lockmgr_waiters() introduction.
|
#
159f35a5 |
|
26-Mar-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Bump __FreeBSD_version for the addition of 'l_sysid' to the flock structure.
|
#
bde40240 |
|
24-Mar-2008 |
Christian S.J. Peron <csjp@FreeBSD.org> |
Bump the FreeBSD version for zerocopy bpf buffers and changes to the bpf(4) monitoring ABI/structures.
|
#
1581606f |
|
12-Mar-2008 |
Jeff Roberson <jeff@FreeBSD.org> |
- Bump __FreeBSD_version for sleepq/cv_* api changes.
|
#
4fd1b794 |
|
08-Mar-2008 |
Antoine Brodin <antoine@FreeBSD.org> |
Bump __FreeBSD_version for F_DUP2FD command to fcntl(2) Requested by: Craig Rodrigues Approved by: rwatson (mentor)
|
#
5673e996 |
|
01-Mar-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect: - lockwaiters() axing out - BUF_LOCKWAITERS() axing out - brelvp() prototype changing - lockinit() accepted arguments() range changing
|
#
5b62538f |
|
25-Feb-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to signal lockstatus() and VOP_ISLOCKED() prototypes changing.
|
#
d0ca9999 |
|
25-Feb-2008 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make again BSD ar(1) the default system ar(1), now properly handling source upgrades by falling back to GNU ar(1) as necessary. Option WITH_BSDAR is gone. Option _WITH_GNUAR to aid in upgrades is *not* supposed to be set by the user. Stop bootstrapping BSD ar(1) on the next __FreeBSD_version bump, as there are no known bugs in it. Bump __FreeBSD_version to anticipate this and to flag the switch to BSD ar(1), should it be needed for something. Input from: obrien, des, kaiw
|
#
7a767188 |
|
21-Feb-2008 |
Kai Wang <kaiw@FreeBSD.org> |
Back out previous commit. Restore Binutils ar as default. Disconnect 'BSD' ar to the build. Requested by: des
|
#
d0e2abaf |
|
21-Feb-2008 |
Kai Wang <kaiw@FreeBSD.org> |
* Connect ar(1) to the build and make it default ar. Rename GNU binutils ar and ranlib to gar and granlib, respectively. * Introduce a temporary variable WITH_GNUAR as a safety net. When buildworld with -DWITH_GNUAR, GNU binutils ar and ranlib will install as default ones and 'BSD' ar will be disabled. * Bump __FreeBSD_version to reflect the import of 'BSD' ar(1). Approved by: jkoshy (mentor)
|
#
e2442c20 |
|
15-Feb-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to signal introduction of lockmgr_args() and LK_INTERNAL removal.
|
#
d98b6d44 |
|
13-Feb-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version after the introduction of: - lockmgr_assert() - BUF_ASSERT_*() family functions which enriched the KPI.
|
#
f2805949 |
|
08-Feb-2008 |
Joe Marcus Clarke <marcus@FreeBSD.org> |
Add support for displaying a process' current working directory, root directory, and jail directory within procstat. While this functionality is available already in fstat, encapsulating it in the kern.proc.filedesc sysctl makes it accessible without using kvm and thus without needing elevated permissions. The new procstat output looks like: PID COMM FD T V FLAGS REF OFFSET PRO NAME 76792 tcsh cwd v d -------- - - - /usr/src 76792 tcsh root v d -------- - - - / 76792 tcsh 15 v c rw------ 16 9130 - - 76792 tcsh 16 v c rw------ 16 9130 - - 76792 tcsh 17 v c rw------ 16 9130 - - 76792 tcsh 18 v c rw------ 16 9130 - - 76792 tcsh 19 v c rw------ 16 9130 - - I am also bumping __FreeBSD_version for this as this new feature will be used in at least one port. Reviewed by: rwatson Approved by: rwatson
|
#
d2e6257b |
|
08-Feb-2008 |
Sam Leffler <sam@FreeBSD.org> |
belated bump for the addition of m_collapse
|
#
a4b2462f |
|
05-Feb-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to reflect introduction of LK_NODUP and LK_NOWITNESS options in the lockmgr namespace.
|
#
cf827063 |
|
01-Feb-2008 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Give MEXTADD() another argument to make both void pointers to the free function controlable, instead of passing the KVA of the buffer storage as the first argument. Fix all conventional users of the API to pass the KVA of the buffer as the first argument, to make this a no-op commit. Likely break the only non-convetional user of the API, after informing the relevant committer. Update the mbuf(9) manual page, which was already out of sync on this point. Bump __FreeBSD_version to 800016 as there is no way to tell how many arguments a CPP macro needs any other way. This paves the way for giving sendfile(9) a way to wait for the passed storage to have been accessed before returning. This does not affect the memory layout or size of mbufs. Parental oversight by: sam and rwatson. No MFC is anticipated.
|
#
48aaad5f |
|
26-Jan-2008 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Our fts(3) API, as inherited from 4.4BSD, suffers from integer fields in FTS and FTSENT structs being too narrow. In addition, the narrow types creep from there into fts.c. As a result, fts(3) consumers, e.g., find(1) or rm(1), can't handle file trees an ordinary user can create, which can have security implications. To fix the historic implementation of fts(3), OpenBSD and NetBSD have already changed <fts.h> in somewhat incompatible ways, so we are free to do so, too. This change is a superset of changes from the other BSDs with a few more improvements. It doesn't touch fts(3) functionality; it just extends integer types used by it to match modern reality and the C standard. Here are its points: o For C object sizes, use size_t unless it's 100% certain that the object will be really small. (Note that fts(3) can construct pathnames _much_ longer than PATH_MAX for its consumers.) o Avoid the short types because on modern platforms using them results in larger and slower code. Change shorts to ints as follows: - For variables than count simple, limited things like states, use plain vanilla `int' as it's the type of choice in C. - For a limited number of bit flags use `unsigned' because signed bit-wise operations are implementation-defined, i.e., unportable, in C. o For things that should be at least 64 bits wide, use long long and not int64_t, as the latter is an optional type. See FTSENT.fts_number aka FTS.fts_bignum. Extending fts_number `to satisfy future needs' is pointless because there is fts_pointer, which can be used to link to arbitrary data from an FTSENT. However, there already are fts(3) consumers that require fts_number, or fts_bignum, have at least 64 bits in it, so we must allow for them. o For the tree depth, use `long'. This is a trade-off between making this field too wide and allowing for 64-bit inode numbers and/or chain-mounted filesystems. On the one hand, `long' is almost enough for 32-bit filesystems on a 32-bit platform (our ino_t is uint32_t now). On the other hand, platforms with a 64-bit (or wider) `long' will be ready for 64-bit inode numbers, as well as for several 32-bit filesystems mounted one under another. Note that fts_level has to be signed because -1 is a magic value for it, FTS_ROOTPARENTLEVEL. o For the `nlinks' local var in fts_build(), use `long'. The logic in fts_build() requires that `nlinks' be signed, but our nlink_t currently is uint16_t. Therefore let's make the signed var wide enough to be able to represent 2^16-1 in pure C99, and even 2^32-1 on a 64-bit platform. Perhaps the logic should be changed just to use nlink_t, but it can be done later w/o breaking fts(3) ABI any more because `nlinks' is just a local var. This commit also inludes supporting stuff for the fts change: o Preserve the old versions of fts(3) functions through libc symbol versioning because the old versions appeared in all our former releases. o Bump __FreeBSD_version just in case. There is a small chance that some ill-written 3-rd party apps may fail to build or work correctly if compiled after this change. o Update the fts(3) manpage accordingly. In particular, remove references to fts_bignum, which was a FreeBSD-specific hack to work around the too narrow types of FTSENT members. Now fts_number is at least 64 bits wide (long long) and fts_bignum is an undocumented alias for fts_number kept around for compatibility reasons. According to Google Code Search, the only big consumers of fts_bignum are in our own source tree, so they can be fixed easily to use fts_number. o Mention the change in src/UPDATING. PR: bin/104458 Approved by: re (quite a while ago) Discussed with: deischen (the symbol versioning part) Reviewed by: -arch (mostly silence); das (generally OK, but we didn't agree on some types used; assuming that no objections on -arch let me to stick to my opinion)
|
#
9b42c272 |
|
23-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump __FreeBSD_version in order to signal: - lockmgr() prototype changing - lockcount() axing - LOCKMGR_ASSERT() axing
|
#
0a8390f7 |
|
22-Jan-2008 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump FreeBSD_version after adding "ASCII" encoding to libc
|
#
6e8f9331 |
|
19-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump FreeBSD_version in order to reflect introduction of lockmgr_recursed(), BUF_RECURSED(), BUF_ISLOCKED() and trimming out of BUF_REFCNT().
|
#
e71c446a |
|
13-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Version bumping in order to reflect VOP_LOCK1(), VOP_UNLOCK() KPI changing.
|
#
f0d37ed2 |
|
09-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump FreeBSD_version in order to reflect vn_lock() prototype changes.
|
#
80127e4d |
|
08-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Bump FreeBSD_version in order to reflect lockmgr_disown() function introduction.
|
#
100f2415 |
|
27-Dec-2007 |
Attilio Rao <attilio@FreeBSD.org> |
Trimm out now unused option LK_EXCLUPGRADE from the lockmgr namespace. This option just adds complexity and the new implementation no longer will support it, so axing it now that it is unused is probabilly the better idea. FreeBSD version is bumped in order to reflect the KPI breakage introduced by this patch. In the ports tree, kris found that only old OSKit code uses it, but as it is thought to work only on 2.x kernels serie, version bumping will solve any problem.
|
#
9d422200 |
|
25-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version to 800007 to reflect kdb_enter change.
|
#
ca16b7dd |
|
07-Dec-2007 |
Joseph Koshy <jkoshy@FreeBSD.org> |
Increment FreeBSD_version to mark the addition of callchain support to hwpmc.
|
#
8160baf4 |
|
06-Dec-2007 |
Kip Macy <kmacy@FreeBSD.org> |
Change uint8_t to equivalent base language type and add line break where 80 characters is exceeded in bit macros Requested by: Bruce Evans
|
#
208e56cb |
|
05-Dec-2007 |
Kip Macy <kmacy@FreeBSD.org> |
Respect the fact that the value a may be constant so cast to const uint8_t *
|
#
32089e49 |
|
05-Dec-2007 |
Kip Macy <kmacy@FreeBSD.org> |
Fix bit macros to work on multi-byte types MFC after: 1 day
|
#
b95c2d79 |
|
04-Dec-2007 |
Alan Cox <alc@FreeBSD.org> |
Increment __FreeBSD_version on account of changes to the jumbo frames allocator. (See revision 1.35 of kern/kern_mbuf.c.) Requested by: Andrew Gallatin
|
#
e3709a56 |
|
28-Nov-2007 |
John Birrell <jb@FreeBSD.org> |
Remove _SOLARIS_C_SOURCE compatibility definitions. Unfortunately the ZFS porting style didn't extend this, instead using a heap of additional header files that don't get installed. My intention had been to allow OpenSolaris external code to build on FreeBSD out of the box (i.e. without a src tree).
|
#
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
|
#
19de7d21 |
|
25-Oct-2007 |
Erwin Lansing <erwin@FreeBSD.org> |
Change a tab back to a space between #define and __FreeBSD_version. This breaks OSVERSION determination in all ports. Reviewed by: rodrigc
|
#
33d3fffa |
|
24-Oct-2007 |
Marius Strobl <marius@FreeBSD.org> |
Add ABI backwards compatibility to the FreeBSD 4/5/6 versions of the PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs, which was broken with the introduction of PCI domain support. As the size of struct pci_conf_io wasn't changed with that commit, this unfortunately requires the ABI of PCIOCGETCONF to be broken again in order to be able to provide backwards compatibility to the old version of that IOCTL. Requested by: imp Discussed with: re (kensmith) Reviewed by: PCI maintainers (imp, jhb) MFC after: 5 days
|
#
17e45937 |
|
20-Oct-2007 |
Julian Elischer <julian@FreeBSD.org> |
Mark the point where kthread_xxx disappeared and kproc_xxx appeared
|
#
1391b079 |
|
15-Oct-2007 |
Max Laier <mlaier@FreeBSD.org> |
Bump version for libpcap and tcpdump imports MFC after: 3 days
|
#
c15e0967 |
|
10-Oct-2007 |
Ken Smith <kensmith@FreeBSD.org> |
To honor the birth of RELENG_7 bump HEAD to 8.0-CURRENT. Approved by: re (implicit)
|
#
55aaf894 |
|
30-Sep-2007 |
Marius Strobl <marius@FreeBSD.org> |
Make the PCI code aware of PCI domains (aka PCI segments) so we can support machines having multiple independently numbered PCI domains and don't support reenumeration without ambiguity amongst the devices as seen by the OS and represented by PCI location strings. This includes introducing a function pci_find_dbsf(9) which works like pci_find_bsf(9) but additionally takes a domain number argument and limiting pci_find_bsf(9) to only search devices in domain 0 (the only domain in single-domain systems). Bge(4) and ofw_pcibus(4) are changed to use pci_find_dbsf(9) instead of pci_find_bsf(9) in order to no longer report false positives when searching for siblings and dupe devices in the same domain respectively. Along with this change the sole host-PCI bridge driver converted to actually make use of PCI domain support is uninorth(4), the others continue to use domain 0 only for now and need to be converted as appropriate later on. Note that this means that the format of the location strings as used by pciconf(8) has been changed and that consumers of <sys/pciio.h> potentially need to be recompiled. Suggested by: jhb Reviewed by: grehan, jhb, marcel Approved by: re (kensmith), jhb (PCI maintainer hat)
|
#
bebcac07 |
|
06-Jul-2007 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Bump version after repo-copy of I4B headers. The headers will now be installed to include/i4b/ and no longer to include/machine/. Approved by: re (kensmith)
|
#
e9ac9968 |
|
04-Jul-2007 |
Peter Wemm <peter@FreeBSD.org> |
Bump version for new mmap/lseek/etc syscalls Approved by: re (kensmith)
|
#
2966d28c |
|
03-Jul-2007 |
Sean Farley <scf@FreeBSD.org> |
Significantly reduce the memory leak as noted in BUGS section for setenv(3) by tracking the size of the memory allocated instead of using strlen() on the current value. Convert all calls to POSIX from historic BSD API: - unsetenv returns an int. - putenv takes a char * instead of const char *. - putenv no longer makes a copy of the input string. - errno is set appropriately for POSIX. Exceptions involve bad environ variable and internal initialization code. These both set errno to EFAULT. Several patches to base utilities to handle the POSIX changes from Andrey Chernov's previous commit. A few I re-wrote to use setenv() instead of putenv(). New regression module for tools/regression/environ to test these functions. It also can be used to test the performance. Bump __FreeBSD_version to 700050 due to API change. PR: kern/99826 Approved by: wes Approved by: re (kensmith)
|
#
be65697f |
|
03-Jul-2007 |
Max Laier <mlaier@FreeBSD.org> |
Add a note about the pf update, mark libexec/ftp-proxy as obsolete and bump __FreeBSD_version for ports. Approved by: re (implicit)
|
#
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)
|
#
fdeac3e0 |
|
11-Jun-2007 |
Andre Oppermann <andre@FreeBSD.org> |
Bump __FreeBSD_version for TCP LRO support.
|
#
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.
|
#
9cd40e64 |
|
10-Jun-2007 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Now pam_nologin(8) will provide an account management function instead of an authentication function. There are a design reason and a practical reason for that. First, the module belongs in account management because it checks availability of the account and does no authentication. Second, there are existing and potential PAM consumers that skip PAM authentication for good or for bad. E.g., sshd(8) just prefers internal routines for public key auth; OTOH, cron(8) and atrun(8) do implicit authentication when running a job on behalf of its owner, so their inability to use PAM auth is fundamental, but they can benefit from PAM account management. Document this change in the manpage. Modify /etc/pam.d files accordingly, so that pam_nologin.so is listed under the "account" function class. Bump __FreeBSD_version (mostly for ports, as this change should be invisible to C code outside pam_nologin.) PR: bin/112574 Approved by: des, re
|
#
5dfd976f |
|
07-Jun-2007 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for the change of the vn_open/VOP_OPEN file index argument to struct file *. Requested by: Csaba Henk <csaba-ml at creo hu>
|
#
4d953fe6 |
|
21-May-2007 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSDversion for shared library version bump. This makes it possible for our ports infrastructure to determine whether it is appropriate to install compat6x in the future.
|
#
6c958d1d |
|
18-May-2007 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSDversion to 700042 to indicate that gcc 4.2 was imported to the base system.
|
#
38d1ff05 |
|
13-May-2007 |
Daniel Eischen <deischen@FreeBSD.org> |
Bump FreeBSD version for enabling of symbol versioning and changing default threading library to libthr.
|
#
c2b49d4f |
|
10-May-2007 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Bump __FreeBSD_version for the addition of flopen(3) to libutil. Requested by: delphij
|
#
2239cfb4 |
|
01-May-2007 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump FreeBSD_version to not have it going backwards. Asked by: Ceri Davies <ceri@submonkey.net>
|
#
ba174a5e |
|
01-May-2007 |
Andrey A. Chernov <ache@FreeBSD.org> |
Back out all POSIXified *env() changes. Not because I admit they are technically wrong and not because of bug reports (I receive nothing). But because I surprisingly meets so strong opposition and resistance so lost any desire to continue that. Anyone who interested in POSIX can dig out what changes and how through cvs diffs.
|
#
d27fc458 |
|
30-Apr-2007 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump __FreeBSD_version after making setenv(), putenv(), getenv() and unsetenv() POSIXed
|
#
9e3edba6 |
|
08-Apr-2007 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSDversion for CAM sg addition. Requested by: bsam
|
#
ba7c08b7 |
|
05-Apr-2007 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Bump __FreeBSD_version on ZFS import. Requested by: nork
|
#
54c26738 |
|
26-Mar-2007 |
Nate Lawson <njl@FreeBSD.org> |
Bump FreeBSD version for inclusion of CPU frequency change notifiers.
|
#
97fa7815 |
|
18-Mar-2007 |
Ken Smith <kensmith@FreeBSD.org> |
Bump __FreeBSD_version after changes to how insmntque(), getnewvnode(), and vfs_hash_insert() work.
|
#
03c506ac |
|
08-Mar-2007 |
Rong-En Fan <rafan@FreeBSD.org> |
Bump __FreeBSD_version for ncurses wide character support Approved by: delphij (mentor, implicit)
|
#
7bd6fde3 |
|
02-Mar-2007 |
Florent Thoumie <flz@FreeBSD.org> |
- Add Intel firmwares for Intel PRO/Wireless LAN 2100/2200/2915 cards in a uuencoded format along with their respective LICENSE files. - Add new share/doc/legal directory to BSD.usr.dist mtree file. This is the place we install LICENSE files for restricted firmwares. - Teach firmware(9) and kmod.mk about licensed firmwares. Restricted firmwares won't load properly unless legal.<name>.license_ack is set to 1, either via kenv(1) or /boot/loader.conf. Reviewed by: mlaier, sam Permitted by: Intel (via Andrew Wilson) MFC after: 1 month
|
#
80b7fd0f |
|
23-Feb-2007 |
Paolo Pisati <piso@FreeBSD.org> |
Bump __FreeBSD_version after newbus api modification. Reviewed by: re@ Approved by: re@
|
#
78cb087e |
|
07-Feb-2007 |
Bruce M Simpson <bms@FreeBSD.org> |
Remove support for IPIP tunnels in IPv4 multicast forwarding. XORP has never used them; with mrouted, their functionality may be replaced by explicitly configuring gif(4) instances and specifying them with the 'phyint' keyword. Bump __FreeBSD_version to 700030, and update UPDATING. A doc update is forthcoming. Discussed on: net Reviewed by: fenner MFC after: 3 months
|
#
7868ee24 |
|
26-Jan-2007 |
Xin LI <delphij@FreeBSD.org> |
While we do not expect any change before and after GNU gzip is replaced with BSD gzip, let's make it possible to distinguish between the two with a __FreeBSDversion bump, just in case some developers want it. Suggested by: linimon
|
#
d6dda9b2 |
|
14-Dec-2006 |
Randall Stewart <rrs@FreeBSD.org> |
This adds the "system calls" sctp_getaddrlen() sctp_connectx() sctp_bindx() sctp_opt_info() sctp_getpaddrs() sctp_freepaddrs() sctp_getladdrs() sctp_freeladdrs() sctp_sendmsg() sctp_getassocid() sctp_send() sctp_sendx() sctp_sendmsgx() sctp_recvmsg() sctp_peeloff() Manual pages will be forthcoming (and the commit to porters-handbook)
|
#
8fec56e4 |
|
30-Nov-2006 |
Florent Thoumie <flz@FreeBSD.org> |
Bump __FreeBSD_version after UQ_KBD_IGNORE was set for Wi-Spy devices.
|
#
a580b31a |
|
25-Nov-2006 |
Ariff Abdullah <ariff@FreeBSD.org> |
Welcome to Once-a-year Sound Mega-Commit. Enjoy numerous updates and fixes in every sense. General ------- - Multichannel safe, endian safe, format safe * Large part of critical pcm filters such as vchan.c, feeder_rate.c, feeder_volume.c, feeder_fmt.c and feeder.c has been rewritten so that using them does not cause the pcm data to be converted to 16bit little endian. * Macrosses for accessing pcm data safely are defined within sound.h in the form of PCM_READ_* / PCM_WRITE_* * Currently, most of them are probably limited for mono/stereo handling, but the future addition of true multichannel will be much easier. - Low latency operation * Well, this require lot more works to do not just within sound driver, but we're heading towards right direction. Buffer/block sizing within channel.c is rewritten to calculate precise allocation for various combination of sample/data/rate size. As a result, applying correct SNDCTL_DSP_POLICY value will achive expected latency behaviour simmilar to what commercial 4front driver do. * Signal handling fix. ctrl+c of "cat /dev/zero > /dev/dsp" does not result long delay. * Eliminate sound truncation if the sound data is too small. DIY: 1) Download / extract http://people.freebsd.org/~ariff/lowlatency/shortfiles.tar.gz 2) Do a comparison between "cat state*.au > /dev/dsp" and "for x in state*.au ; do cat $x > /dev/dsp ; done" - there should be no "perceivable" differences. Double close for PR kern/31445. CAVEAT: Low latency come with (unbearable) price especially for poorly written applications. Applications that trying to act smarter by requesting (wrong) blocksize/blockcount will suffer the most. Fixup samples/patches can be found at: http://people.freebsd.org/~ariff/ports/ - Switch minimum/maximum sampling rate limit to "1" and "2016000" (48k * 42) due to closer compatibility with 4front driver. Discussed with: marcus@ (long time ago?) - All driver specific sysctls in the form of "hw.snd.pcm%d.*" have been moved to their own dev sysctl nodes, notably: hw.snd.pcm%d.vchans -> dev.pcm.%d.vchans Bump __FreeBSD_version. Driver specific --------------- - Ditto for sysctls. - snd_atiixp, snd_es137x, snd_via8233, snd_hda * Numerous cleanups and fixes. * _EXPERIMENTAL_ polling mode support using simple callout_* mechanisme. This was intended for pure debugging and latency measurement, but proven good enough in few unexpected and rare cases (such as problematic shared IRQ with GIANT devices - USB). Polling can be enabled/disabled through dev.pcm.0.polling. Disabled by default. - snd_ich * Fix possible overflow during speed calibration. Delay final initialization (pcm_setstatus) after calibration finished. PR: kern/100169 Tested by: Kevin Overman <oberman@es.net> * Inverted EAPD for few Nec VersaPro. PR: kern/104715 Submitted by: KAWATA Masahiko <kawata@mta.biglobe.ne.jp> Thanks to various people, notably Joel Dahl, Yuriy Tsibizov, Kevin Oberman, those at #freebsd-azalia @ freenode and others for testing. Joel Dahl will do the manpage update.
|
#
3eb1a62e |
|
11-Nov-2006 |
Joseph Koshy <jkoshy@FreeBSD.org> |
MFP4: Add an implementation of the ELF(3) and GELF(3) API set. Bump __FreeBSD_version. Reviewed by: jb
|
#
f68af8c9 |
|
29-Oct-2006 |
Warner Losh <imp@FreeBSD.org> |
Retire the failed OBSOLETE_IN_6 experiment code.
|
#
1b43c389 |
|
01-Oct-2006 |
Simon L. B. Nielsen <simon@FreeBSD.org> |
Bump __FreeBSD_version for OpenSSL 0.9.8d import.
|
#
4e9d799f |
|
28-Sep-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Retire macros for the old kernel memory allocator. Submitted by: bde
|
#
b611c801 |
|
23-Sep-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFp4 the sound Google Summer of Code project: The goal was to sync with the OSSv4 API 4Front Technologies uses in their proprietary OSS driver. This was successful as far as possible. The part of the API which is stable is implemented, for the rest there are some stubs already. New system ioctls: - SNDCTL_SYSINFO - obtain audio system info (version, # of audio/midi/ mixer devices, etc.) - SNDCTL_AUDIOINFO - fetch details about a specific audio device - SNDCTL_MIXERINFO - fetch details about a specific mixer device New audio ioctls: - Sync groups (SNDCTL_DSP_SYNCGROUP/SNDCTL_DSP_SYNCSTART) which allow triggered playback/recording on multiple devices (even across processes simultaneously). - Peak meters (SNDCTL_DSP_GETIPEAKS/SNDCTL_DSP_GETOPEAKS) - can query audio drivers for peak levels (needs driver support, disabled for now). - Per channel playback/recording levels - SNDCTL_DSP_{GET,SET}{PLAY,REC}VOL. Note that these are still in name only, just wrapping around the AC97-style mixer at the moment. The next step is to push them down to the drivers. Audio ioctls still under development by 4Front (for which stubs may exist in this commit): - SNDCTL_GETNAME, SNDCTL_{GET,SET}{SONG,LABEL} - SNDCTL_DSP_{GET,SET}_CHNORDER - SNDCTL_MIX_ENUMINFO, SNDCTL_MIX_EXTINFO - (might be documented enough in the OSS releases to work on this. These ioctls cover the cool "twiddle any knob on your card" features.) Missing: - SNDCTL_DSP_COOKEDMODE -- this ioctl is used to give applications direct access to a card's buffers, bypassing the feeder architecture. It's a toughy -- "someone" needs to decide : (a) if this is desireable, and (b) if it's reasonably feasible. Updates for driver writers: So far, only two routines to the channel class (in channel_if.m) are added. One is for fetching a list of discrete supported playback/recording rates of a channel, and the other is for fetching peak level info (useful for drawing peak meters). Interested parties may want to help pushing down SNDCTL_DSP_{GET,SET}{PLAY,REC}VOL into the drivers. To use the new stuff you need to rebuild the sound drivers or your kernel (depending on if you use modules or not) and to install soundcard.h (a buildworld/installworld handles this). Sponsored by: Google SoC 2006 Submitted by: ryanb Many thanks to: 4Front Technologies for their cooperation, explanations and the nice license of their soundcard.h.
|
#
6c71207d |
|
08-Sep-2006 |
Konstantin Belousov <kib@FreeBSD.org> |
Bump __FreeBSD_version for rev. 1.117 of libexec/rtld-elf/rtld.c. Requested by: jkim Approved by: kan (mentor)
|
#
50bdd720 |
|
04-Sep-2006 |
Sam Leffler <sam@FreeBSD.org> |
bump version for libpcap+tcpdump imports
|
#
04896397 |
|
02-Sep-2006 |
Matt Jacob <mjacob@FreeBSD.org> |
Bump __FreeBSD_version by one due to newbus changes.
|
#
6d35e42f |
|
07-Aug-2006 |
Giorgos Keramidas <keramida@FreeBSD.org> |
Spell "determine" correctly. Reviewed by: jb
|
#
6d9b0007 |
|
05-Aug-2006 |
John Birrell <jb@FreeBSD.org> |
Add OpenSolaris compatibility definitions which are only visible if _SOLARIS_C_SOURCE is defined. The _OpenSolaris_version is set to match the last import of the OpenSolaris tar ball and is based on the date in that file name.
|
#
f57d6668 |
|
29-Jul-2006 |
Simon L. B. Nielsen <simon@FreeBSD.org> |
Bump __FreeBSD_version for OpenSSL 0.9.8b import.
|
#
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]
|
#
a0a9755e |
|
13-May-2006 |
Max Laier <mlaier@FreeBSD.org> |
Update UPDATING and bump __FreeBSD_version for the ip6fw removal.
|
#
73dbd3da |
|
11-May-2006 |
John Baldwin <jhb@FreeBSD.org> |
Remove various bits of conditional Alpha code and fixup a few comments.
|
#
1aaee95a |
|
22-Apr-2006 |
Daniel Eischen <deischen@FreeBSD.org> |
Bump __FreeBSD_version to reflect the addition of fcloseall() to libc.
|
#
49874f6e |
|
25-Mar-2006 |
Joseph Koshy <jkoshy@FreeBSD.org> |
MFP4: Support for profiling dynamically loaded objects. Kernel changes: Inform hwpmc of executable objects brought into the system by kldload() and mmap(), and of their removal by kldunload() and munmap(). A helper function linker_hwpmc_list_objects() has been added to "sys/kern/kern_linker.c" and is used by hwpmc to retrieve the list of currently loaded kernel modules. The unused `MAPPINGCHANGE' event has been deprecated in favour of separate `MAP_IN' and `MAP_OUT' events; this change reduces space wastage in the log. Bump the hwpmc's ABI version to "2.0.00". Teach hwpmc(4) to handle the map change callbacks. Change the default per-cpu sample buffer size to hold 32 samples (up from 16). Increment __FreeBSD_version. libpmc(3) changes: Update libpmc(3) to deal with the new events in the log file; bring the pmclog(3) manual page in sync with the code. pmcstat(8) changes: Introduce new options to pmcstat(8): "-r" (root fs path), "-M" (mapfile name), "-q"/"-v" (verbosity control). Option "-k" now takes a kernel directory as its argument but will also work with the older invocation syntax. Rework string handling in pmcstat(8) to use an opaque type for interned strings. Clean up ELF parsing code and add support for tracking dynamic object mappings reported by a v2.0.00 hwpmc(4). Report statistics at the end of a log conversion run depending on the requested verbosity level. Reviewed by: jhb, dds (kernel parts of an earlier patch) Tested by: gallatin (earlier patch)
|
#
ec63cb90 |
|
17-Feb-2006 |
Andre Oppermann <andre@FreeBSD.org> |
Replace the 4k fixed sized jumbo mbuf clusters with PAGE_SIZE sized jumbo mbuf clusters. To make the variable size clear they are named MJUMPAGESIZE. Having jumbo clusters with the native PAGE_SIZE is more useful than a fixed 4k size according the device driver writers using this API. The 9k and 16k jumbo mbuf clusters remain unchanged. Requested by: glebius, gallatin Sponsored by: TCP/IP Optimization Fundraise 2005 MFC after: 3 days
|
#
668816ed |
|
26-Jan-2006 |
Olivier Houchard <cognet@FreeBSD.org> |
Version bump for pts import.
|
#
3d11d44c |
|
12-Jan-2006 |
Brooks Davis <brooks@FreeBSD.org> |
Belated __FreeBSD_version bump for improvements to the Linux ldconfig support in etc/rc.d/abi.
|
#
dfdae553 |
|
08-Jan-2006 |
Doug Barton <dougb@FreeBSD.org> |
Add a mechanism to include files added by ports which contain the names of directories to include in the base ldconfig script. This will eliminate the need for each port to install its own boot script which does nothing but ldocnfig a given directory. This code was developed by flz (ports committer), discussed on freebsd-rc@, and modified slightly by me. Submitted by: flz Reviewed by: brooks
|
#
b741b015 |
|
31-Dec-2005 |
Tom Rhodes <trhodes@FreeBSD.org> |
Bump FreeBSD_Version for tv_sec change. Reminded by: kris
|
#
e9aa66d2 |
|
20-Dec-2005 |
John Baldwin <jhb@FreeBSD.org> |
- Bump FreeBSD version for the hostb(4) and vgapci(4) drivers as well as the addition of pci_find_extcap(). - Change the drm drivers to attach to vgapci. This is #ifdef'd so the code can be shared across branches. - Use pci_find_extcap() to look for AGP and PCIE capabilities in drm. - GC all the drmsub stuff for i810/i830/i915. The agp and drm devices are now both children of vgapci.
|
#
f94b1545 |
|
18-Dec-2005 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Bump __FreeBSD_version to 700009 because: 1. The ELF-64 typedefs are now standardized, so that the libelf port (devel/libelf) does not need to compensate for not having the Elf64_Xword and Elf64_Sxword types. 2. ELF Symbol versioning support has been added. This also affects the libelf port (though configure should detect this correctly).
|
#
d5269a63 |
|
08-Dec-2005 |
Andre Oppermann <andre@FreeBSD.org> |
Add an API for jumbo mbuf cluster allocation and also provide 4k clusters in addition to 9k and 16k ones. struct mbuf *m_getjcl(int how, short type, int flags, int size) void *m_cljget(struct mbuf *m, int how, int size) m_getjcl() returns an mbuf with a cluster of the specified size attached like m_getcl() does for 2k clusters. m_cljget() is different from m_clget() as it can allocate clusters without attaching them to an mbuf. In that case the return value is the pointer to the cluster of the requested size. If an mbuf was specified, it gets the cluster attached to it and the return value can be safely ignored. For size both take MCLBYTES, MJUM4BYTES, MJUM9BYTES, MJUM16BYTES. Reviewed by: glebius Tested by: glebius Sponsored by: TCP/IP Optimization Fundraise 2005
|
#
1bcf3312 |
|
05-Dec-2005 |
Craig Rodrigues <rodrigc@FreeBSD.org> |
Bump __FreeBSD_version to reflect removal of MNT_NODEV mount option. Requested by: marcus
|
#
0f3ce2b3 |
|
02-Dec-2005 |
Doug Barton <dougb@FreeBSD.org> |
Introduce startup scripts from the local_startup directories to the base rcorder. This is accomplished by running rcorder twice, first to get all the disks mounted (through mountcritremote), then again to include the local_startup directories. This dramatically changes the behavior of rc.d/localpkg, as all "local" scripts that have the new rc.d semantics are now run in the base rcorder, so only scripts that have not been converted yet will run in rc.d/localpkg. Make a similar change in rc.shutdown, and add some functions in rc.subr to support these changes. Bump __FreeBSD_version to reflect this change.
|
#
4a0d6638 |
|
11-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
- Store pointer to the link-level address right in "struct ifnet" rather than in ifindex_table[]; all (except one) accesses are through ifp anyway. IF_LLADDR() works faster, and all (except one) ifaddr_byindex() users were converted to use ifp->if_addr. - Stop storing a (pointer to) Ethernet address in "struct arpcom", and drop the IFP2ENADDR() macro; all users have been converted to use IF_LLADDR() instead.
|
#
d09ed26f |
|
11-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
- Make IFP2ENADDR() a pointer to IF_LLADDR() rather than another copy of Ethernet address. - Change iso88025_ifattach() and fddi_ifattach() to accept MAC address as an argument, similar to ether_ifattach(), to make this work.
|
#
56a4e45a |
|
02-Nov-2005 |
Andre Oppermann <andre@FreeBSD.org> |
Mandatory mbuf cluster reference counting and groundwork for UMA based jumbo 9k and jumbo 16k cluster support. All mbuf's with external storage attached are mandatory reference counted. For clusters and jumbo clusters UMA provides the refcnt storage directly. It does not have to be separatly allocated. Any other type of external storage gets its own refcnt allocated from an UMA mbuf refcnt zone instead of normal kernel malloc. The refcount API MEXT_ADD_REF() and MEXT_REM_REF() is no longer publically accessible. The proper m_* functions have to be used. mb_ctor_clust() and mb_dtor_clust() both handle normal 2K as well as 9k and 16k clusters. Clusters and jumbo clusters may be obtained without attaching it immideatly to an mbuf. This is for high performance cluster allocation in network drivers where mbufs are attached after the cluster has been filled. Tested by: rwatson Sponsored by: TCP/IP Optimizations Fundraise 2005
|
#
d374e81e |
|
30-Oct-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Push the assignment of a new or updated so_qlimit from solisten() following the protocol pru_listen() call to solisten_proto(), so that it occurs under the socket lock acquisition that also sets SO_ACCEPTCONN. This requires passing the new backlog parameter to the protocol, which also allows the protocol to be aware of changes in queue limit should it wish to do something about the new queue limit. This continues a move towards the socket layer acting as a library for the protocol. Bump __FreeBSD_version due to a change in the in-kernel protocol interface. This change has been tested with IPv4 and UNIX domain sockets, but not other protocols.
|
#
4120e213 |
|
05-Oct-2005 |
Warner Losh <imp@FreeBSD.org> |
Make param.h includable again from assembler.
|
#
b0bd2fdb |
|
25-Aug-2005 |
Andre Oppermann <andre@FreeBSD.org> |
Bump __FreeBSD_version for memmem(3).
|
#
5554b8cc |
|
13-Aug-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Bump __FreeBSD_version for dev_clone eventhandler to add credential.
|
#
6c497be4 |
|
23-Jul-2005 |
Ken Smith <kensmith@FreeBSD.org> |
Oops, bump __FreeBSD_version to mark shared library version bump. Reminded by: nork
|
#
028dbfaa |
|
11-Jul-2005 |
Scott Long <scottl@FreeBSD.org> |
Make the RELENG_6 branch operation official by moving HEAD to 7.0-CURRENT. Approved by: re
|
#
fd162793 |
|
10-Jul-2005 |
Sam Leffler <sam@FreeBSD.org> |
bump for libpcap import Approved by: re (scottl)
|
#
fc74a9f9 |
|
10-Jun-2005 |
Brooks Davis <brooks@FreeBSD.org> |
Stop embedding struct ifnet at the top of driver softcs. Instead the struct ifnet or the layer 2 common structure it was embedded in have been replaced with a struct ifnet pointer to be filled by a call to the new function, if_alloc(). The layer 2 common structure is also allocated via if_alloc() based on the interface type. It is hung off the new struct ifnet member, if_l2com. This change removes the size of these structures from the kernel ABI and will allow us to better manage them as interfaces come and go. Other changes of note: - Struct arpcom is no longer referenced in normal interface code. Instead the Ethernet address is accessed via the IFP2ENADDR() macro. To enforce this ac_enaddr has been renamed to _ac_enaddr. - The second argument to ether_ifattach is now always the mac address from driver private storage rather than sometimes being ac_enaddr. Reviewed by: sobomax, sam
|
#
dfa58a49 |
|
04-Jun-2005 |
Andrew Thompson <thompsa@FreeBSD.org> |
Bump __FreeBSD_version for if_bridge. Approved by: mlaier (mentor)
|
#
c5b7d855 |
|
29-May-2005 |
Sam Leffler <sam@FreeBSD.org> |
bump version for libpcap (+tcpdump) import
|
#
9242b38b |
|
13-May-2005 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version for POSIX ttyname_r(3) changes. Forgotten by: me Reminded by: mezz
|
#
e8fc249f |
|
06-May-2005 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Bump __FreeBSD_version for libalias and ng_nat.
|
#
6441fe95 |
|
03-May-2005 |
Max Laier <mlaier@FreeBSD.org> |
Bump __FreeBSD_version for pf 3.7 and inform about user visible changes.
|
#
31519b13 |
|
26-Apr-2005 |
Brooks Davis <brooks@FreeBSD.org> |
Introduce a struct icmphdr which contains the type, code, and cksum fields of an ICMP packet. Use this to allow ipfw to pullup only these values since it does not use the rest of the packet and it was failed on ICMP packets because they were not long enough. struct icmp should probably be modified to use these at some point, but that will break a fair bit of code so it can wait for another day. On the off chance that adding this struct breaks something in ports, bump __FreeBSD_version. Reported by: Randy Bush <randy at psg dot com> Tested by: Randy Bush <randy at psg dot com>
|
#
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)
|
#
df214d19 |
|
12-Apr-2005 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Bump __FreeBSD_version for LOCAL_CREDS, LOCAL_CONNWAIT. Requested by: marcus
|
#
602778ab |
|
20-Mar-2005 |
Tim Kientzle <kientzle@FreeBSD.org> |
Stop building gtar. Bump __FreeBSD_version to reflect this change.
|
#
800b42bd |
|
16-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Prepare for the final onslaught on devices: Move uid/gid/mode from cdev to cdevsw. Add kind field to use for devd(8) later. Bump both D_VERSION and __FreeBSD_version
|
#
d025278a |
|
08-Mar-2005 |
Alfred Perlstein <alfred@FreeBSD.org> |
Make MSG_NOSIGNAL available to native programs. Bump FreeBSD_version to note this change. Reviewed by: sobomax
|
#
f5bd90de |
|
27-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Bump FreeBSD version for change to install acpica includes in /usr/include.
|
#
edc43112 |
|
27-Feb-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make the format of LC_COLLATE files architecture independent.
|
#
8945135e |
|
27-Feb-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Bootstrap gencat(1). OK'ed by: phantom
|
#
3fb3a430 |
|
26-Feb-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make the format of LC_CTYPE files architecture independent by introducing the disk formats for _RuneLocale and friends. The disk formats do not have (useless) pointers and have 32-bit quantities instead of rune_t and long. (htonl(3) only works with 32-bit quantities, so there's no loss). Bootstrap mklocale(1) when necessary. (Bootstrapping from 4.x would be trivial (verified), but we no longer provide pre-5.3 source upgrades and this is the first commit to actually break it.)
|
#
bc9d2991 |
|
25-Feb-2005 |
Brooks Davis <brooks@FreeBSD.org> |
Change the definition of struct if_data's member ifi_epoch from wall clock time to uptime because wall clock time may go backwards. This is a change in the API which will impact SNMP agents who are using ifi_epoch to set RFC2233's ifCounterDiscontinuityTime. None are know to exist today. This will not impact applications that are using the <index, epoch> tuple to verify interface uniqueness except that it eliminates a race which could lead to a false assumption of uniqueness. Because this is a behavior change, bump __FreeBSD_version. Discussed with: re (jhb, scottl) MFC after: 3 days Pointed out by: pkh (way back at EuroBSDCon) Pointy hat: brooks
|
#
5f26dd38 |
|
21-Feb-2005 |
Max Khon <fjoe@FreeBSD.org> |
Bump __FreeBSD_version for vswprintf(3) fix. Some ports depend on it.
|
#
949d92c6 |
|
19-Feb-2005 |
Marius Strobl <marius@FreeBSD.org> |
Bump __FreeBSD_version for the Intel C/C++ compiler GCC-compatibility fixes in src/include/stdbool.h rev. 1.7 and src/sys/i386/include/_types.h rev. 1.10, required by ports/lang/icc.
|
#
c39f9e35 |
|
14-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Bump __FreeBSD_version for increased size for default thread stacks.
|
#
47b4ab9c |
|
12-Feb-2005 |
David Schultz <das@FreeBSD.org> |
Bump __FreeBSD_version for removal of matherr() from libm. (matherr() went out of fashion when the third edition of SVID de-supported it nearly 20 years ago, and it has never actually worked in FreeBSD.)
|
#
04def624 |
|
06-Feb-2005 |
Xin LI <delphij@FreeBSD.org> |
Finish the import of nc(1) from OpenBSD. This includes: - Bring IPsec support from the ports collection [1]. - Bring -o ("once only") option from the ports collection [2]. - Adopt the Makefile framework into usr.bin/nc/Makefile. - Add a knob to control whether to build nc(1), NO_NETCAT. - Bump __FreeBSD_version so ports collection can detect this change. Original patchset are contributed to the ports collection by: [1] nectar, [2] joerg. Note: WARNS?=6 patchset spined off in this commit, in order not to take too many files off the vendor branch.
|
#
d639e963 |
|
03-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Bump __FreeBSD_version for cpufreq addition. Requested by marcus@
|
#
a18a49dc |
|
25-Jan-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bump __FreeBSD_version to 600007 for the recent VFS gymnastics.
|
#
caf76683 |
|
12-Dec-2004 |
Warner Losh <imp@FreeBSD.org> |
Bump revision of FreeBSD for 802.11 framework update.
|
#
a29dd055 |
|
04-Nov-2004 |
Xin LI <delphij@FreeBSD.org> |
Bump __FreeBSD_version after addition of glibc-style strftime(3) padding specifiers. This helps the port team to decide whether to use local patch for applications that makes use of these GNU extensions (and hopefully we can get rid of these patches finally) Requested by: marcus
|
#
2627ac6f |
|
05-Oct-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Bump __FreeBSD_version for addition of newsyslog -d.
|
#
d6a8d588 |
|
28-Sep-2004 |
Max Laier <mlaier@FreeBSD.org> |
Add an additional struct inpcb * argument to pfil(9) in order to enable passing along socket information. This is required to work around a LOR with the socket code which results in an easy reproducible hard lockup with debug.mpsafenet=1. This commit does *not* fix the LOR, but enables us to do so later. The missing piece is to turn the filter locking into a leaf lock and will follow in a seperate (later) commit. This will hopefully be MT5'ed in order to fix the problem for RELENG_5 in forseeable future. Suggested by: rwatson A lot of work by: csjp (he'd be even more helpful w/o mentor-reviews ;) Reviewed by: rwatson, csjp Tested by: -pf, -ipfw, LINT, csjp and myself MFC after: 3 days LOR IDs: 14 - 17 (not fixed yet)
|
#
55287f2a |
|
07-Sep-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Re-add ifi_epoch, to struct if_data, this time replacing ifi_unused to avoid ABI changes. It is set to the last time the interface counters were zeroed, currently the time if_attach() was called. It is intentended to be a valid value for RFC2233's ifCounterDiscontinuityTime and to make it easier for applications to verify that the interface they find at a given index is the one that was there last time they looked. Due to space constraints ifi_epoch is a time_t rather then a struct timeval. SNMP would prefer higher precision, but this unlikely to be useful in practice.
|
#
1fc4519b |
|
30-Aug-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Add a new variable, ifi_epoch, to struct if_data. It is set to the last time the interface counters were zeroed, currently the time if_attach() was called. It is indentended to be a valid value for RFC2233's ifCounterDiscontinuityTime and to make it easier for applications to verify that the interface they find at a given index is the one that was there last time they looked. An if_epoch "compatability" macro has not been created as ifi_epoch has never been a member of struct ifnet. Approved by: andre, bms, wollman
|
#
3d618b94 |
|
27-Aug-2004 |
Andre Oppermann <andre@FreeBSD.org> |
Bump __FreeBSD_version to indicate permanent PFIL_HOOKS.
|
#
fb022e3c |
|
21-Aug-2004 |
David E. O'Brien <obrien@FreeBSD.org> |
Clarify __FreeBSD_version scheme. Submitted by: ru
|
#
9b5eb298 |
|
17-Aug-2004 |
Robert Watson <rwatson@FreeBSD.org> |
We're not yet ready for BURN_BRIDGES to break the build, as BURN_BRIDGES won't be removed for a bit yet. Fix more of the build in HEAD.
|
#
99ae32dc |
|
17-Aug-2004 |
Scott Long <scottl@FreeBSD.org> |
HEAD is now 6-CURRENT
|
#
fdaba3df |
|
07-Aug-2004 |
Alfred Perlstein <alfred@FreeBSD.org> |
Bump __FreeBSD_version for vfs_mount signature change.
|
#
f0a4dd31 |
|
01-Aug-2004 |
Brian Feldman <green@FreeBSD.org> |
Bump __FreeBSD_version to designate uma_zone functions changing type.
|
#
73be7416 |
|
30-Jul-2004 |
Alan Cox <alc@FreeBSD.org> |
Bump __FreeBSD_version to reflect the removal of kmem_alloc_pageable(). Requested by: pjd@
|
#
a1a81b18 |
|
27-Jul-2004 |
Oliver Eikemeier <eik@FreeBSD.org> |
Erroneously decreased __FreeBSD_version, which should have been increased instead: "__FreeBSD_version should only ever increment. It is a historial record of events in the system. Decrementing it is akin to trying to go back in time and change history." Reminded by: kuriyama, scottl
|
#
e193a85e |
|
27-Jul-2004 |
Oliver Eikemeier <eik@FreeBSD.org> |
back out the localkg changes until things have settled. Discussed with: mtm
|
#
15eb1e8b |
|
24-Jul-2004 |
Mike Makonnen <mtm@FreeBSD.org> |
Ports related rc.d cleanups: o Separate out local (ports) scripts that use rc.d, and the old style startup/shutdown scripts and execute them separately. On startup the rc.d style scripts are executed first and then the old-style scripts. On shutdown, exactly the reverse happens. o The rc.d ports scripts should now behave more like base system scripts. Scripts ending in .sh will be sourced into the current shell, while the rest will be executed in a subshell. Previously, all ports scripts, regardless of the .sh suffix, were executed in a subshell. o The parent script, /etc/rc.d/localpkg, passes its command line arguments straight to the rc.d ports scripts. This means they should now honor faststop and faststart commands as well. Old style scripts, should not see any differences. They will still get either a start or stop command. o The initial phrase shown during shutdown has been changed to use "local packages" instead of "daemon processes" to be more inline with the phrase used during local package startup. The phrases are also used only for old-style ports script startup/shutdown, whereas previously they were being used for both rc.d and old-style scripts. This should make startup/shutdown output a bit less ugly. Discussed with: portmgr Has Reservations: eik
|
#
993f3fc4 |
|
12-Jul-2004 |
Alfred Perlstein <alfred@FreeBSD.org> |
Bump __FreeBSD_version for VFS_ROOT, vflush and kinfo_proc changes.
|
#
bd9e523b |
|
10-Jul-2004 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Bump __FreeBSD_version for the following (weak) reasons: o Sources that are shared between kernel and userland and that may contain references to DDB or any of its functions may need to know this. o Userland tools may include <machine/gdb_machdep.h> from now on. Think kernel debugger... o The kernel core file now contains the TID of the kernel thread that made the dump.
|
#
6421d1db |
|
09-Jul-2004 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Bump __FreeBSD_version Reviewed by: kris, ru
|
#
51a15362 |
|
01-Jul-2004 |
Oliver Eikemeier <eik@FreeBSD.org> |
Bump __FreeBSD_version for package tools revision 20040629
|
#
4f851e29 |
|
22-Jun-2004 |
Brooks Davis <brooks@FreeBSD.org> |
Bump FreeBSD_version for if_clone overhaul.
|
#
7c2989d3 |
|
17-Jun-2004 |
Kelly Yancey <kbyanc@FreeBSD.org> |
Bumb version so apps can detect whether CLOCK_VIRTUAL and CLOCK_PROF are implemented.
|
#
f3732fd1 |
|
17-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Second half of the dev_t cleanup. The big lines are: NODEV -> NULL NOUDEV -> NODEV udev_t -> dev_t udev2dev() -> findcdev() Various minor adjustments including handling of userland access to kernel space struct cdev etc.
|
#
89c9c53d |
|
16-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Do the dreaded s/dev_t/struct cdev */ Bump __FreeBSD_version accordingly.
|
#
4717d22a |
|
14-Jun-2004 |
John Polstra <jdp@FreeBSD.org> |
Change the return value of sema_timedwait() so it returns 0 on success and a proper errno value on failure. This makes it consistent with cv_timedwait(), and paves the way for the introduction of functions such as sema_timedwait_sig() which can fail in multiple ways. Bump __FreeBSD_version and add a note to UPDATING. Approved by: scottl (ips driver), arch
|
#
6cb7a382 |
|
13-Jun-2004 |
Max Laier <mlaier@FreeBSD.org> |
Bump __FreeBSD_version for ALTQ. Also put some notes in UPDATING regarding the ABI break.
|
#
e451f9b7 |
|
04-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make the remaining serial drivers call ttyioctl() rather than calling the linedisc directly.
|
#
c98dc180 |
|
13-Apr-2004 |
Ruslan Ermilov <ru@FreeBSD.org> |
Bump __FreeBSD_version on behalf of the new .warning directive in make(1). Requested by: kris
|
#
b839b3d9 |
|
11-Apr-2004 |
Maxime Henrion <mux@FreeBSD.org> |
Bump __FreeBSD_version for getgrent(3) removal. I doubt anything outside of the tree uses it, but it doesn't cost anything.
|
#
82c6e879 |
|
06-Apr-2004 |
Warner Losh <imp@FreeBSD.org> |
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999. Approved by: core
|
#
67dc5581 |
|
27-Mar-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Bump FreeBSD version for UTF-8 locale addition. This is primarily for the benefit of the misc/utf8locale port.
|
#
9b41519c |
|
22-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Bump FreeBSD version to indicate new bus_alloc_resource_any API.
|
#
a122cca9 |
|
12-Mar-2004 |
Tom Rhodes <trhodes@FreeBSD.org> |
These are changes to allow to use the Intel C/C++ compiler (lang/icc) to build the kernel. It doesn't affect the operation if gcc. Most of the changes are just adding __INTEL_COMPILER to #ifdef's, as icc v8 may define __GNUC__ some parts may look strange but are necessary. Additional changes: - in_cksum.[ch]: * use a generic C version instead of the assembly version in the !gcc case (ASM code breaks with the optimizations icc does) -> no bad checksums with an icc compiled kernel Help from: andre, grehan, das Stolen from: alpha version via ppc version The entire checksum code should IMHO be replaced with the DragonFly version (because it isn't guaranteed future revisions of gcc will include similar optimizations) as in: ---snip--- Revision Changes Path 1.12 +1 -0 src/sys/conf/files.i386 1.4 +142 -558 src/sys/i386/i386/in_cksum.c 1.5 +33 -69 src/sys/i386/include/in_cksum.h 1.5 +2 -0 src/sys/netinet/igmp.c 1.6 +0 -1 src/sys/netinet/in.h 1.6 +2 -0 src/sys/netinet/ip_icmp.c 1.4 +3 -4 src/contrib/ipfilter/ip_compat.h 1.3 +1 -2 src/sbin/natd/icmp.c 1.4 +0 -1 src/sbin/natd/natd.c 1.48 +1 -0 src/sys/conf/files 1.2 +0 -1 src/sys/conf/files.amd64 1.13 +0 -1 src/sys/conf/files.i386 1.5 +0 -1 src/sys/conf/files.pc98 1.7 +1 -1 src/sys/contrib/ipfilter/netinet/fil.c 1.10 +2 -3 src/sys/contrib/ipfilter/netinet/ip_compat.h 1.10 +1 -1 src/sys/contrib/ipfilter/netinet/ip_fil.c 1.7 +1 -1 src/sys/dev/netif/txp/if_txp.c 1.7 +1 -1 src/sys/net/ip_mroute/ip_mroute.c 1.7 +1 -2 src/sys/net/ipfw/ip_fw2.c 1.6 +1 -2 src/sys/netinet/igmp.c 1.4 +158 -116 src/sys/netinet/in_cksum.c 1.6 +1 -1 src/sys/netinet/ip_gre.c 1.7 +1 -2 src/sys/netinet/ip_icmp.c 1.10 +1 -1 src/sys/netinet/ip_input.c 1.10 +1 -2 src/sys/netinet/ip_output.c 1.13 +1 -2 src/sys/netinet/tcp_input.c 1.9 +1 -2 src/sys/netinet/tcp_output.c 1.10 +1 -1 src/sys/netinet/tcp_subr.c 1.10 +1 -1 src/sys/netinet/tcp_syncache.c 1.9 +1 -2 src/sys/netinet/udp_usrreq.c 1.5 +1 -2 src/sys/netinet6/ipsec.c 1.5 +1 -2 src/sys/netproto/ipsec/ipsec.c 1.5 +1 -1 src/sys/netproto/ipsec/ipsec_input.c 1.4 +1 -2 src/sys/netproto/ipsec/ipsec_output.c and finally remove sys/i386/i386 in_cksum.c sys/i386/include in_cksum.h ---snip--- - endian.h: * DTRT in C++ mode - quad.h: * we don't use gcc v1 anymore, remove support for it Suggested by: bde (long ago) - assym.h: * avoid zero-length arrays (remove dependency on a gcc specific feature) This change changes the contents of the object file, but as it's only used to generate some values for a header, and the generator knows how to handle this, there's no impact in the gcc case. Explained by: bde Submitted by: Marius Strobl <marius@alchemy.franken.de> - aicasm.c: * minor change to teach it about the way icc spells "-nostdinc" Not approved by: gibbs (no reply to my mail) - bump __FreeBSD_version (lang/icc needs to know about the changes) Incarnations of this patch survive gcc compiles since a loooong time, I use it on my desktop. An icc compiled kernel works since Nov. 2003 (exceptions: snd_* if used as modules), it survives a build of the entire ports collection with icc. Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>. Reviewed by: -arch Submitted by: netchild
|
#
cbde2013 |
|
10-Mar-2004 |
Garance A Drosehn <gad@FreeBSD.org> |
Undo the previous commit, which was just plain wrong, and then correctly increase _FreeBSD_version to reflect the 64-bTT change on sparc64. Noticed by: kris Pointy hat to: gad
|
#
dfcf10a8 |
|
10-Mar-2004 |
Garance A Drosehn <gad@FreeBSD.org> |
Increase __FreeBSD_version to reflect the transition from 32-bit to 64-bit time_t on the FreeBSD/sparc64 architecture.
|
#
fc28f1ff |
|
08-Mar-2004 |
Max Laier <mlaier@FreeBSD.org> |
Bump __FreeBSD_version for the pf install and write comments to UPDATING. Approved by: bms(mentor)
|
#
cc1c3e28 |
|
05-Mar-2004 |
Mark Murray <markm@FreeBSD.org> |
Bump __FreeBSD_version for the NULL == ((void *)0) Requested by: kkenn
|
#
02f1d65c |
|
24-Feb-2004 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump FreeBSD_version for getopt_long_only() adding
|
#
70883f1d |
|
21-Feb-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bump __FreeBSD_version to mark cdevsw megapatching.
|
#
e9338d59 |
|
10-Feb-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Change the kernels definition of NODEV from ((dev_t)-1) to NULL.
|
#
d9fece91 |
|
30-Jan-2004 |
Daniel Eischen <deischen@FreeBSD.org> |
Bump __FreeBSD_version to note the change of default thread library from libc_r to libpthread.
|
#
7ef1ca27 |
|
19-Dec-2003 |
Alexander Kabaev <kan@FreeBSD.org> |
Bump __FreeBSD_version to indicate __cxa_atexit/__cxa_finalize presence.
|
#
12eb46c8 |
|
07-Dec-2003 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Change the definition of NULL on ia64 (for LP64 compilations) from an int constant to a long constant. This change improves consistency in the following two ways: 1. The first 8 arguments are always passed in registers on ia64, which by virtue of the generated code implicitly widens ints to longs and allows the use of an 32-bit integral type for 64-bit arguments. Subsequent arguments are passed onto the memory stack, which does not exhibit the same behaviour and consequently do not allow this. In practice this means that variadic functions taking pointers and given NULL (without cast) work as long as the NULL is passed in one of the first 8 arguments. A SIGSEGV is more likely the result if such would be done for stack-based arguments. This is due to the fact that the upper 4 bytes remain undefined. 2. All 64-bit platforms that FreeBSD supports, with the obvious exception of ia64, allow 32-bit integral types (specifically NULL) when 64-bit pointers are expected in variadic functions by way of how the compiler generates code. As such, code that works correctly (whether rightfully so or not) on any platform other than ia64, may fail on ia64. To more easily allow tweaking of the definition of NULL, this commit removes the 12 definitions in the various headers and puts it in a new header that can be included whenever NULL is to be made visible. This commit fixes GNOME, emacs, xemacs and a whole bunch of ports that I don't particularly care about at this time...
|
#
7679ff7c |
|
06-Dec-2003 |
Scott Long <scottl@FreeBSD.org> |
HEAD __FreeBSD_version is at 502100
|
#
78a53859 |
|
15-Nov-2003 |
Gordon Tetlow <gordon@FreeBSD.org> |
Bump version to indicate dynamically linked /bin and /sbin is the default.
|
#
9bf40ede |
|
31-Oct-2003 |
Brooks Davis <brooks@FreeBSD.org> |
Replace the if_name and if_unit members of struct ifnet with new members if_xname, if_dname, and if_dunit. if_xname is the name of the interface and if_dname/unit are the driver name and instance. This change paves the way for interface renaming and enhanced pseudo device creation and configuration symantics. Approved By: re (in principle) Reviewed By: njl, imp Tested On: i386, amd64, sparc64 Obtained From: NetBSD (if_xname)
|
#
46ba7a35 |
|
16-Oct-2003 |
Doug Rabson <dfr@FreeBSD.org> |
* Add multiple inheritance to kobj. Each class can have zero or more base classes and if a method is not found in a given class, its base classes are searched (in the order they were declared). This search is recursive, i.e. a method may be define in a base class of a base class. * Change the kobj method lookup algorithm to one which is SMP-safe. This relies only on the constraint that an observer of a sequence of writes of pointer-sized values will see exactly one of those values, not a mixture of two or more values. This assumption holds for all processors which FreeBSD supports. * Add locking to kobj class initialisation. * Add a simpler form of 'inheritance' for devclasses. Each devclass can have a parent devclass. Searches for drivers continue up the chain of devclasses until either a matching driver is found or a devclass is reached which has no parent. This can allow, for instance, pci drivers to match cardbus devices (assuming that cardbus declares pci as its parent devclass). * Increment __FreeBSD_version. This preserves the driver API entirely except for one minor feature used by the ISA compatibility shims. A workaround for ISA compatibility will be committed separately. The kobj and newbus ABI has changed - all modules must be recompiled.
|
#
f3c178d7 |
|
16-Oct-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bump FreeBSD version for changed layout of cdevsw
|
#
47a42c7a |
|
28-Sep-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Note change to cdevsw open/close default change.
|
#
5192cc94 |
|
27-Sep-2003 |
Max Khon <fjoe@FreeBSD.org> |
Bump __FreeBSD_version for kiconv(3).
|
#
134ea224 |
|
23-Sep-2003 |
Sam Leffler <sam@FreeBSD.org> |
o update PFIL_HOOKS support to current API used by netbsd o revamp IPv4+IPv6+bridge usage to match API changes o remove pfil_head instances from protosw entries (no longer used) o add locking o bump FreeBSD version for 3rd party modules Heavy lifting by: "Max Laier" <max@love2party.net> Supported by: FreeBSD Foundation Obtained from: NetBSD (bits of pfil.h and pfil.c)
|
#
4da51cdd |
|
17-Sep-2003 |
John Baldwin <jhb@FreeBSD.org> |
Bump FreeBSD_version to note that ports that want constants for the 16550 should use <dev/ic/ns16550.h> rather than <dev/sio/sioreg.h>
|
#
9e057215 |
|
08-Sep-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Bump __FreeBSD_version for Coda 6.x venus<->kernel API support.
|
#
0a855c34 |
|
17-Aug-2003 |
Gordon Tetlow <gordon@FreeBSD.org> |
Bump __FreeBSD_version due to movement of libraries to /lib and rtld to /libexec.
|
#
b8b90678 |
|
05-Aug-2003 |
Paul Saab <ps@FreeBSD.org> |
Bump __FreeBSD_version for 3ware API
|
#
9cd4ad9c |
|
30-Jul-2003 |
Alexander Kabaev <kan@FreeBSD.org> |
Bump __FreeBSD_version to indicate GCC 3.3.1-pre import. Reminded by: kris
|
#
477d2d0e |
|
03-Jul-2003 |
Scott Long <scottl@FreeBSD.org> |
Bump __FreeBSD_version to reflect the busdma API change.
|
#
602c7889 |
|
29-Jun-2003 |
John Polstra <jdp@FreeBSD.org> |
Bump __FreeBSD_version because the semantics of sigtimedwait and sigwaitinfo have been corrected. Some existing code relied on the original broken semantics.
|
#
e7a945f3 |
|
11-Jun-2003 |
Warner Losh <imp@FreeBSD.org> |
If BURN_BRIDGES or _FreeBSD_version >= 6.0 and OBSOLETE_IN_6 is defined, then #error out. This is protected inside of #ifdef _KERNEL. This allows one to tag code in the tree that will be deleted in 6.x with the 'OBSOLETE_IN_6 #define at the top of the file. This makes for easy grepping, plus a mechanism that automatically fails the compilation of those files that are so tagged after we do the cutover.
|
#
c1050bf1 |
|
02-Jun-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Document new (starting with 5.x) __FreeBSD_version scheme.
|
#
9f0f54ad |
|
02-Jun-2003 |
Scott Long <scottl@FreeBSD.org> |
Oops, __FreeBSD_version should be 501100, not 510100. The former implies that we are at FreeBSD 5.10 Reminded by: everybody Guaranteed not to break world by: imp
|
#
46ea4757 |
|
01-Jun-2003 |
Scott Long <scottl@FreeBSD.org> |
Bump __FreeBSD_version to 510100 for 5.1-CURRENT
|
#
4b065e2c |
|
01-May-2003 |
Doug Barton <dougb@FreeBSD.org> |
Per previous announcement, remove the old version of the rc system. All functionality from the previous system has been preserved, and users should still customize their system boot with the familiar methods, rc.conf, rc.conf.local, rc.firewall, sysctl.conf, etc. Users who have customized versions of scripts that have been removed should take great care when upgrading, since the compatibility code that used those old scripts has also been removed.
|
#
104a9b7e |
|
29-Apr-2003 |
Alexander Kabaev <kan@FreeBSD.org> |
Deprecate machine/limits.h in favor of new sys/limits.h. Change all in-tree consumers to include <sys/limits.h> Discussed on: standards@ Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>
|
#
ecbe5207 |
|
17-Apr-2003 |
Jacques Vidrine <nectar@FreeBSD.org> |
Bump __FreeBSD_version for new NSS implementation; addition of getpw*_r, getgr*_r interfaces.
|
#
cf0e07e5 |
|
08-Apr-2003 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Sync with NetBSD. - Bump shared library version on libusbhid. - Retire libusbhid.h; it is called usbhid.h now. - hid_start_parse() takes a third argument. - hid_locate() takes a fifth argument. - hid_report_size() order of arguments changes. - Other changes, including formatting and whitespace. Bump __FreeBSD_version. This change will break all third party applications that rely on previous FreeBSD specific behavior.
|
#
01114bfc |
|
28-Mar-2003 |
Max Khon <fjoe@FreeBSD.org> |
bump __FreeBSD_version for thread-safe realpath(3)
|
#
b5cff0d6 |
|
24-Mar-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Bump __FreeBSD_version for addition of vm_paddr_t and kvtop prototype change.
|
#
2690d494 |
|
15-Mar-2003 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Bump __FreeBSD_version for token-ring changes.
|
#
7194d335 |
|
15-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Run a revision of the devstat interface: Kernel: Change statistics to use the *uptime() timescale (ie: relative to boottime) rather than the UTC aligned timescale. This makes the device statistics code oblivious to clock steps. Change timestamps to bintime format, they are cheaper. Remove the "busy_count", and replace it with two counter fields: "start_count" and "end_count", which are updated in the down and up paths respectively. This removes the locking constraint on devstat. Add a timestamp argument to devstat_start_transaction(), this will normally be a timestamp set by the *_bio() function in bp->bio_t0. Use this field to calculate duration of I/O operations. Add two timestamp arguments to devstat_end_transaction(), one is the current time, a NULL pointer means "take timestamp yourself", the other is the timestamp of when this transaction started (see above). Change calculation of busy_time to operate on "the salami principle": Only when we are idle, which we can determine by the start+end counts being identical, do we update the "busy_from" field in the down path. In the up path we accumulate the timeslice in busy_time and update busy_from. Change the byte_* and num_* fields into two arrays: bytes[] and operations[]. Userland: Change the misleading "busy_time" name to be called "snap_time" and make the time long double since that is what most users need anyway, fill it using clock_gettime(CLOCK_MONOTONIC) to put it on the same timescale as the kernel fields. Change devstat_compute_etime() to operate on struct bintime. Remove the version 2 legacy interface: the change to bintime makes compatibility far too expensive. Fix a bug in systat's "vm" page where boot relative busy times would be bogus. Bump __FreeBSD_version to 500107 Review & Collaboration by: ken
|
#
f37de122 |
|
08-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Retire devstat_add_entry() as a public function and bump __FreeBSD_version to mark this act.
|
#
d15f53f7 |
|
03-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bump __FreeBSD_version to mark new cdevsw initialization.
|
#
f477b4fd |
|
27-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
NODEVFS cleanup: Remove cdevsw_add() and cdevsw_remove(), they served us well for a long time. Bump __FreeBSD_version to 500104 to mark this.
|
#
303473e2 |
|
25-Feb-2003 |
Scott Long <scottl@FreeBSD.org> |
Bump __FreeBSD_version to note that taskqueue_swi now runs without Giant, and the Giant-encumbered version is now called taskqueue_swi_giant.
|
#
a4910cd2 |
|
25-Feb-2003 |
Maxime Henrion <mux@FreeBSD.org> |
Bump __FreeBSD_version for the d_mmap_t interface change.
|
#
a23c180e |
|
18-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bump __FreeBSD_version to mark the fact that <sys/dkstat.h> should no longer be included.
|
#
270fcb27 |
|
04-Feb-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Increase the allowed length of device names to 63 characters. This is a band-aid while I fret over how much breakage removing the restriction entirely will result in. Please note that this is still a limit for the entire pathname relative to the mountpoint of devfs, so the length of "/dev/fd/3" is 4 characters.
|
#
8deebb01 |
|
02-Feb-2003 |
Alfred Perlstein <alfred@FreeBSD.org> |
Consolidate MIN/MAX macros into one place (param.h). Submitted by: Hiten Pandya <hiten@unixdaemons.com>
|
#
f50568a8 |
|
16-Jan-2003 |
Scott Long <scottl@FreeBSD.org> |
Bump __FreeBSD_version to 500100 to allow us to differentiate HEAD from RELENG_5_0 and allow RELENG_5_) to grow.
|
#
007dfa78 |
|
01-Nov-2002 |
Doug Rabson <dfr@FreeBSD.org> |
Bump version to account for the presence of pthread_XXX stubs in libc.
|
#
77e4f5d1 |
|
15-Oct-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version for the Binutils 2.13 upgrade, which includes the new FreeBSD emulation, vec, and output format.
|
#
3a0f9fbc |
|
30-Sep-2002 |
Eric Melville <eric@FreeBSD.org> |
Increment version number for the addition of getopt_long(3) to libc.
|
#
9acdabbe |
|
23-Sep-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Add an NBBY define to eventually replace the one in <sys/types.h>.
|
#
f90c382c |
|
19-Sep-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make FreeBSD "struct disklabel" agnostic, step 311 of 723: Rename diskerr() to disk_err() for naming consistency. Drop the by now entirely useless struct disklabel argument. Add a flag argument for new-line termination. Fix a couple of printf-format-casts to %j instead of %l. Correctly print the name of all bio commands. Move the function from subr_disklabel.c to subr_disk.c, and from <sys/disklabel.h> to <sys/disk.h>. Use the new disk_err() throughout, #include <sys/disk.h> as needed. Bump __FreeBSD_version for the sake of the aac disk drivers #ifdefs. Remove unused disklabel members of softc for aac, amr and mlx, which seem to originally have been intended for diskerr() use, but which only rotted and got Copy&Pasted at least two times to many. Sponsored by: DARPA & NAI Labs.
|
#
efc8456c |
|
31-Aug-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Bump __FreeBSD_version for _BSD_FOO_T_ to _FOO_T_DECLARED switch. This should have been committed about a week ago to coincide with the actual changes.
|
#
60e4a5e5 |
|
29-Aug-2002 |
Peter Wemm <peter@FreeBSD.org> |
AARGH! btoc() is used in the MI buffer sizing routines to calculate the minimum of either physmem or KVA. But.. btoc() casts the address to (unsigned int). This is NOT GOOD on 64 bit machines and on alpha and ia64, this results in a buffer limit of around 500K (not megs). This causes extreme disk access problems on alpha and ia64. Since this cast is simply to ensure that it is unsigned, use 'vm_offset_t' instead. This is available because it is already defined in types.h. Alpha has been suffering from this for ages. It always felt like the caching wasn't working, and unfortunately it turned out that way. :-(
|
#
f824b518 |
|
23-Jul-2002 |
John Polstra <jdp@FreeBSD.org> |
Widen struct sockbuf's sb_timeo member to int from short. With non-default but reasonable values of hz this member overflowed, breaking NFS over UDP. Also, as long as I'm plowing up struct sockbuf ... Change certain members from u_long/long to u_int/int in order to reduce wasted space on 64-bit machines. This change was requested by Andrew Gallatin. Netstat and systat need to be rebuilt. I am incrementing __FreeBSD_version in case any ports need to change.
|
#
c329aeec |
|
15-Jul-2002 |
Mark Murray <markm@FreeBSD.org> |
Help lint out a bit; wrap some functions (redefined as macros) in #ifdef.
|
#
22ed0c9a |
|
03-Jun-2002 |
Juli Mallett <jmallett@FreeBSD.org> |
NODEV is defined the same in _KERNEL and !_KERNEL case, so move it out from the preprocessor conditional, and remove the now-empty #else. Reviewed by: asmodai
|
#
b3ec920c |
|
29-May-2002 |
Garrett Wollman <wollman@FreeBSD.org> |
Version bump for addition of dlfunc(3).
|
#
96c83416 |
|
16-May-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version to note that Perl is not in /usr/src any more.
|
#
6380601f |
|
14-May-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move MI stuff out of MD param.h files. It can all still be overridden in the MD files should need suddenly arise.
|
#
ef372b65 |
|
13-May-2002 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump for GCC 3.1.
|
#
47bbd753 |
|
30-Apr-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Document the location (in the source tree) of the "Porter's Handbook".
|
#
a8f6daae |
|
30-Apr-2002 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Bump __FreeBSD_version for mtx_init() change. Document same. Forgotten by: jhb
|
#
a30d4b32 |
|
26-Apr-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Move the new byte order function prototypes from <sys/param.h> to <sys/endian.h>. This puts us in line with NetBSD and OpenBSD.
|
#
1fd02886 |
|
10-Apr-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Stop exporting ntohl(), ntohs(), htonl(), and htons() to userland in <sys/param.h>.
|
#
a463023d |
|
03-Apr-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move the FFS parameter MAXFRAG from <sys/param.h> to <ufs/ffs/fs.h> Sponsored by: DARPA & NAI Labs.
|
#
2417ffe3 |
|
03-Apr-2002 |
Sheldon Hearn <sheldonh@FreeBSD.org> |
Bump __FreeBSD_version to reflect the new tri-state nature of the sendmail_enable rc.conf flag. This will help MTA port maintainers.
|
#
789f12fe |
|
19-Mar-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Remove __P
|
#
19026919 |
|
16-Mar-2002 |
Mark Murray <markm@FreeBSD.org> |
Bump the FreeBSD version to mark the import of Perl 5.6.1.
|
#
d846855d |
|
09-Mar-2002 |
Mike Barcroft <mike@FreeBSD.org> |
o Don't require long long support in bswap64() functions. o In i386's <machine/endian.h>, macros have some advantages over inlines, so change some inlines to macros. o In i386's <machine/endian.h>, ungarbage collect word_swap_int() (previously __uint16_swap_uint32), it has some uses on i386's with PDP endianness. Submitted by: bde o Move a comment up in <machine/endian.h> that was accidentially moved down a few revisions ago. o Reenable userland's use of optimized inline-asm versions of byteorder(3) functions. o Fix ordering of prototypes vs. redefinition of byteorder(3) functions, so that the non-GCC (libc asm) case has proper prototypes. o Add proper prototypes for byteorder(3) functions in <sys/param.h>. o Prevent redundant duplicate prototypes by making use of the _BYTEORDER_PROTOTYPED define. o Move the bswap16(), bswap32(), bswap64() C functions into MD space for platforms in which asm versions don't exist. This significantly reduces the complexity of some things at the cost of duplicate code. Reviewed by: bde
|
#
0497c9b4 |
|
28-Feb-2002 |
Mike Barcroft <mike@FreeBSD.org> |
Remove the now unused NTOHL() family of macros.
|
#
90ce56c2 |
|
27-Feb-2002 |
Thomas Moestl <tmm@FreeBSD.org> |
Add the following functions/macros to support byte order conversions and device drivers for bus system with other endinesses than the CPU (using interfaces compatible to NetBSD): - bwap16() and bswap32(). These have optimized implementations on some architectures; for those that don't, there exist generic implementations. - macros to convert from a certain byte order to host byte order and vice versa, using a naming scheme like le16toh(), htole16(). These are implemented using the bswap functions. - stream bus space access functions, which do not perform a byte order conversion (while the normal access functions would if the bus endianess differs from the CPU endianess). htons(), htonl(), ntohs() and ntohl() are implemented using the new functions above for kernel usage. None of the above interfaces is currently exported to user land. Make use of the new functions in a few places where local implementations of the same functionality existed. Reviewed by: mike, bde Tested on alpha by: mike
|
#
3f7ad4d5 |
|
24-Feb-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
bump __FreeBSD_version for usb structure rename.
|
#
fd8e4ebc |
|
18-Feb-2002 |
Mike Barcroft <mike@FreeBSD.org> |
o Move NTOHL() and associated macros into <sys/param.h>. These are deprecated in favor of the POSIX-defined lowercase variants. o Change all occurrences of NTOHL() and associated marcros in the source tree to use the lowercase function variants. o Add missing license bits to sparc64's <machine/endian.h>. Approved by: jake o Clean up <machine/endian.h> files. o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>. o Remove prototypes for non-existent bswapXX() functions. o Include <machine/endian.h> in <arpa/inet.h> to define the POSIX-required ntohl() family of functions. o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>, and <sys/param.h>. o Prepend underscores to the ntohl() family to help deal with complexities associated with having MD (asm and inline) versions, and having to prevent exposure of these functions in other headers that happen to make use of endian-specific defines. o Create weak aliases to the canonical function name to help deal with third-party software forgetting to include an appropriate header. o Remove some now unneeded pollution from <sys/types.h>. o Add missing <arpa/inet.h> includes in userland. Tested on: alpha, i386 Reviewed by: bde, jake, tmm
|
#
3b7a4c4b |
|
15-Feb-2002 |
Garrett Wollman <wollman@FreeBSD.org> |
Resurrect one of the easiest changes from my big include files roll-up patch from a year ago: give file flags their own type. This does not (yet) change the type used by system calls or library functions. The underlying type was chosen to match what is returned by stat().
|
#
196c1aa4 |
|
10-Feb-2002 |
Bruce Evans <bde@FreeBSD.org> |
Move the declaration of panic() from sys/param.h back to sys/systm.h. Almost all .c files have to include <sys/systm.h> for more than its declaration of panic(), so little is gained from declaring panic() in a wrong place. This probably depends on missing garbage collection of the includes of <sys/systm.h> that were added to get snprintf() declared for old versions of the ktr macros.
|
#
60eda641 |
|
28-Jan-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
Bump __FreeBSD_version for sendfile fix to properly send 'nbytes' of file when headers are supplied (version 1.104 of src/sys/kern/uipc_syscalls.c)
|
#
6e5c224e |
|
13-Dec-2001 |
Sheldon Hearn <sheldonh@FreeBSD.org> |
Bump __FreeBSD_version for userland smbfs import.
|
#
5f2fc29a |
|
09-Oct-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump FreeBSD_version for strcasestr()
|
#
2009ab82 |
|
09-Oct-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump for switch to XFree86 4.x.
|
#
ecac78e7 |
|
04-Oct-2001 |
David Malone <dwmalone@FreeBSD.org> |
Bump __FreeBSD_version after change in ABI for discriptor and creds passing on 64 bit platforms. Reviewed by: imp
|
#
cf7ed683 |
|
01-Oct-2001 |
Warner Losh <imp@FreeBSD.org> |
Add d_thread_t. This is a typedef for struct thread in -current and will be one for struct proc in stable. those drivers needing to have cross version portability should use d_thread_t instead of inventing their own means. Non-drivers, and drivers that either only run on -current or must look under the covers of the struct proc/thread should must not use this. As noted in arch@, this minorly violates style(9), but the sys/conf.h devsw already violates this and all I'm doing is extending the violation to ease the burdon on device driver writers. It was judged that this minor violation, which doesn't impact userland or those people not using it, was preferable to the alternatives (eg #define proc thread). C does not allow a way to rename or alias structs easily, so we fall back to using a typedef. Bump FreeBSD_version to reflect this change (porters guide to be done in a separate commit).
|
#
e8ef9650 |
|
17-Sep-2001 |
Mike Silbersack <silby@FreeBSD.org> |
Fix a typo: documenation -> documentation
|
#
cfcb8052 |
|
13-Sep-2001 |
Warner Losh <imp@FreeBSD.org> |
Bump version to 500023 to reflect massive changes necessary for the KSE Milestone 2 commit.
|
#
1432aa0c |
|
23-Aug-2001 |
John Baldwin <jhb@FreeBSD.org> |
Add a new kernel option RESTARTABLE_PANICS. If this option is present, then one can restart from a panic by resetting the panicstr variable to NULL. This commit conditionalizes the previously committed functionality on this variable. It also removes the __dead2 attribute from the panic() function so that when one continues from a panic() the behavior will be predictable.
|
#
c37c2d03 |
|
09-Aug-2001 |
John Baldwin <jhb@FreeBSD.org> |
Bump MAXCOMLEN from 16 to 19 to take advantage of 32-bit alignment. Approved by: peter, jasone
|
#
9ceb1844 |
|
30-Jul-2001 |
Jake Burkholder <jake@FreeBSD.org> |
Machine dependent ifdefs for sparc64.
|
#
d09d8a1e |
|
23-Jul-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Remind people to document bumps in the Porter's Handbook.
|
#
51ae779a |
|
12-Jul-2001 |
Peter Wemm <peter@FreeBSD.org> |
Bump param, for SSE support and include file impact (<machine/pcb.h>)
|
#
73325acb |
|
22-Jun-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
People wanted this bumped for the Bzip2 import.
|
#
e566a421 |
|
15-Jun-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump FreeBSD_version to indicate locale renaming
|
#
d7a8aebd |
|
09-Jun-2001 |
Brian Somers <brian@FreeBSD.org> |
Bump __FreeBSD_version to reflect machine/ioctl_fd.c moving to sys/fdcio.h
|
#
240ef842 |
|
01-Jun-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Back out jesper's 2001/05/31 14:58:11 PDT commit. It does not compile.
|
#
cf7e5998 |
|
31-May-2001 |
Jesper Skriver <jesper@FreeBSD.org> |
Move the definition of NMBCLUSTERS from src/sys/kern/uipc_mbuf.c to <sys/param.h>, so it's available to src/sys/netinet/ip_input.c MFC after: 1 week
|
#
9b1db091 |
|
24-Feb-2001 |
Kris Kennaway <kris@FreeBSD.org> |
Bump FreeBSD version to correspond to addition of CPUTYPE make variable.
|
#
c0511d3b |
|
18-Feb-2001 |
Brian Feldman <green@FreeBSD.org> |
Switch to using a struct xucred instead of a struct xucred when not actually in the kernel. This structure is a different size than what is currently in -CURRENT, but should hopefully be the last time any application breakage is caused there. As soon as any major inconveniences are removed, the definition of the in-kernel struct ucred should be conditionalized upon defined(_KERNEL). This also changes struct export_args to remove dependency on the constantly-changing struct ucred, as well as limiting the bounds of the size fields to the correct size. This means: a) mountd and friends won't break all the time, b) mountd and friends won't crash the kernel all the time if they don't know what they're doing wrt actual struct export_args layout. Reviewed by: bde
|
#
d5a08a60 |
|
11-Feb-2001 |
Jake Burkholder <jake@FreeBSD.org> |
Implement a unified run queue and adjust priority levels accordingly. - All processes go into the same array of queues, with different scheduling classes using different portions of the array. This allows user processes to have their priorities propogated up into interrupt thread range if need be. - I chose 64 run queues as an arbitrary number that is greater than 32. We used to have 4 separate arrays of 32 queues each, so this may not be optimal. The new run queue code was written with this in mind; changing the number of run queues only requires changing constants in runq.h and adjusting the priority levels. - The new run queue code takes the run queue as a parameter. This is intended to be used to create per-cpu run queues. Implement wrappers for compatibility with the old interface which pass in the global run queue structure. - Group the priority level, user priority, native priority (before propogation) and the scheduling class into a struct priority. - Change any hard coded priority levels that I found to use symbolic constants (TTIPRI and TTOPRI). - Remove the curpriority global variable and use that of curproc. This was used to detect when a process' priority had lowered and it should yield. We now effectively yield on every interrupt. - Activate propogate_priority(). It should now have the desired effect without needing to also propogate the scheduling class. - Temporarily comment out the call to vm_page_zero_idle() in the idle loop. It interfered with propogate_priority() because the idle process needed to do a non-blocking acquire of Giant and then other processes would try to propogate their priority onto it. The idle process should not do anything except idle. vm_page_zero_idle() will return in the form of an idle priority kernel thread which is woken up at apprioriate times by the vm system. - Update struct kinfo_proc to the new priority interface. Deliberately change its size by adjusting the spare fields. It remained the same size, but the layout has changed, so userland processes that use it would parse the data incorrectly. The size constraint should really be changed to an arbitrary version number. Also add a debug.sizeof sysctl node for struct kinfo_proc.
|
#
5b2b5af8 |
|
24-Jan-2001 |
Daniel Eischen <deischen@FreeBSD.org> |
Bump FreeBSD version to reflect changes to libc and libc_r.
|
#
f0610a03 |
|
10-Jan-2001 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version for libgcc/linking changes.
|
#
fe8df3b6 |
|
03-Jan-2001 |
Garrett Wollman <wollman@FreeBSD.org> |
Move `struct selinfo' and related functions to <sys/selinfo.h>. Bump __FreeBSD_version to reflect the move. For the moment, <sys/select.h> includes <sys/selinfo.h> to allow clients time to catch up. Changes made in preparation for SUSv2/POSIX <sys/select.h> requirements.
|
#
918c9eec |
|
29-Sep-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add ia64 support.
|
#
a2cdd9d9 |
|
16-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Move SPECNAMELEN from <sys/conf.h> to <sys/param.h>
|
#
1534d6d8 |
|
16-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove a few leftover CLBYTES related bits. This was in the good old days to patch up a logical pagesize on hardware with stupid VM pagesize. Vaxen I belive.
|
#
817bf5d4 |
|
10-Sep-2000 |
Jake Burkholder <jake@FreeBSD.org> |
Rename tsleep to msleep and add a mutex argument, which is released before sleeping and re-acquired before msleep returns. A compatibility cpp macro has been provided for tsleep to avoid changing all occurences of it in the kernel. Remove an assertion that the Giant mutex be held before calling tsleep or asleep. This is intended to serve the same purpose as condition variables, but does not preclude their addition in the future. Approved by: jasone Obtained from: BSD/OS
|
#
688088f7 |
|
10-Sep-2000 |
Peter Wemm <peter@FreeBSD.org> |
Bump __FreeBSD_version to 500013 after SMPng step 1 hit the tree. If anything deserves to bump the version, surely this does.
|
#
0b32abca |
|
02-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Bite the bullet and provde memcmp() and memset(), this will be cheaper than all the copy&paste versions we already have :-(
|
#
b466fddd |
|
01-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Oops, only memset() is unsupported.
|
#
aa1ba3e4 |
|
01-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Purposely break kernel code which uses memset and memcpy to prevent people from not noticing this is wrong just because they can't be bothered to testcompile LINT.
|
#
9feac5c2 |
|
01-Sep-2000 |
Brian Somers <brian@FreeBSD.org> |
Move setproctitle() from libutil to libc (after a repo-copy) and bump __FreeBSD_version to 500012 to mark the occasion. setproctitle() is prototyped in unistd.h as opposed to stdlib.h where OpenBSD and NetBSD have it. Reviewed by: peter
|
#
5f4afc13 |
|
18-Jul-2000 |
Jonathan Lemon <jlemon@FreeBSD.org> |
FreeBSD_version bump for changed kqueue API.
|
#
8804e81e |
|
16-Jul-2000 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump __FreeBSD_version to indicate mtree defaults changed back to original
|
#
f8725add |
|
14-Jul-2000 |
Archie Cobbs <archie@FreeBSD.org> |
Bump __FreeBSD_version to mark the ether_ifattach()/ether_ifdetach() changes. This allows the VMWare port to be unbroken, using a patch based on it. Requested by: haro@tk.kubota.co.jp (Munehiro Matsuda)
|
#
f2542885 |
|
07-Jul-2000 |
Kris Kennaway <kris@FreeBSD.org> |
Bump __FreeBSD_version to note KAME upgrade
|
#
1dea2d58 |
|
29-Jun-2000 |
Satoshi Asami <asami@FreeBSD.org> |
Increment __FreeBSD_version to mark perl5 upgrade in -current. (I know, a little late, but snaps with the new perl5 aren't showing up yet so it should still help.)
|
#
49303179 |
|
10-Jun-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Increment __FreeBSD_version to allow detection of AGP interfaces.
|
#
57b1db33 |
|
03-Jun-2000 |
Andrey A. Chernov <ache@FreeBSD.org> |
Version bump to indicate libxpg4 merging to libc
|
#
4590b8aa |
|
25-May-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version after the Binutils upgrade -- just in case a port or someone needs to decern the event.
|
#
35ae30f8 |
|
18-May-2000 |
Bill Fumerola <billf@FreeBSD.org> |
bump __FreeBSD_version for the bio/buf divorce by phk.
|
#
3dd227c2 |
|
02-May-2000 |
Peter Wemm <peter@FreeBSD.org> |
Bump FreeBSD_version after module version changes Submitted by: knu
|
#
226f14bc |
|
30-Apr-2000 |
Brian Feldman <green@FreeBSD.org> |
Change the scheduler to actually respect the PUSER barrier. It's been wrong for many years that negative niceness would lower the priority of a process below PUSER, and once below PUSER, there were conditionals in the code that are required to test for whether a process was in the kernel which would break. The breakage could (and did) cause lock-ups, basically nothing else but the least nice program being able to run in some conditions. The algorithm which adjusts the priority now subtracts PRIO_MIN to do things properly, and the ESTCPULIM() algorithm was updated to use PRIO_TOTAL (PRIO_MAX - PRIO_MIN) to calculate the estcpu. NICE_WEIGHT is now 1 to accomodate the full range of priorities better (a -20 process with full CPU time has the priority of a +0 process with no CPU time). There are now 20 queues (exactly; 80 priorities) for use in user processes' scheduling, and PUSER has been lowered to 48 to accomplish this. This means, to the user, that things will be scheduled more correctly (noticeable), there is no lock-up anymore WRT a niced -20 process never releasing the CPU time for other processes. In this fair system, tsleep()ed < PUSER processes now will get the proper higher priority than priority >= PUSER user processes. The detective work of this was done by me, along with part of the solution. Luoqi Chen has provided most of the solution, and really helped me understand what was happening better, to boot :) Submitted by: luoqi Concept reviewed by: bde
|
#
f1281804 |
|
17-Apr-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump to note the changes in the ELF binary header and our brandelf method.
|
#
7c58e473 |
|
27-Mar-2000 |
Matthew Dillon <dillon@FreeBSD.org> |
Commit the buffer cache cleanup patch to 4.x and 5.x. This patch fixes a fragmentation problem due to geteblk() reserving too much space for the buffer and imposes a larger granularity (16K) on KVA reservations for the buffer cache to avoid fragmentation issues. The buffer cache size calculations have been redone to simplify them (fewer defines, better comments, less chance of running out of KVA). The geteblk() fix solves a performance problem that DG was able reproduce. This patch does not completely fix the KVA fragmentation problems, but it goes a long way Mostly Reviewed by: bde and others Approved by: jkh
|
#
1df05fbe |
|
13-Mar-2000 |
Bill Fumerola <billf@FreeBSD.org> |
Welcome to 5.0-CURRENT. (__FreeBSD_version = 500000) Approved by: jkh, phk
|
#
0990cf94 |
|
26-Feb-2000 |
Kris Kennaway <kris@FreeBSD.org> |
Crank __FreeBSD_version for OpenSSH Approved by: jkh
|
#
554d1e2e |
|
27-Jan-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version and __FreeBSD_cc_version due to the C++ ABI change in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default.
|
#
1180a889 |
|
17-Jan-2000 |
Kris Kennaway <kris@FreeBSD.org> |
Bump __FreeBSD_version due to openssl import.
|
#
664a31e4 |
|
28-Dec-1999 |
Peter Wemm <peter@FreeBSD.org> |
Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
|
#
a8d6ce6f |
|
04-Dec-1999 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Bump the version number now that the Linuxulator has pluggable ioctl handlers.
|
#
476abd45 |
|
14-Nov-1999 |
David E. O'Brien <obrien@FreeBSD.org> |
Bump __FreeBSD_version to 400012 to mark the cutover of the system compiler to GCC 2.95.2.
|
#
2c42a146 |
|
29-Sep-1999 |
Marcel Moolenaar <marcel@FreeBSD.org> |
sigset_t change (part 2 of 5) ----------------------------- The core of the signalling code has been rewritten to operate on the new sigset_t. No methodological changes have been made. Most references to a sigset_t object are through macros (see signalvar.h) to create a level of abstraction and to provide a basis for further improvements. The NSIG constant has not been changed to reflect the maximum number of signals possible. The reason is that it breaks programs (especially shells) which assume that all signals have a non-null name in sys_signame. See src/bin/sh/trap.c for an example. Instead _SIG_MAXSIG has been introduced to hold the maximum signal possible with the new sigset_t. struct sigprop has been moved from signalvar.h to kern_sig.c because a) it is only used there, and b) access must be done though function sigprop(). The latter because the table doesn't holds properties for all signals, but only for the first NSIG signals. signal.h has been reorganized to make reading easier and to add the new and/or modified structures. The "old" structures are moved to signalvar.h to prevent namespace polution. Especially the coda filesystem suffers from the change, because it contained lines like (p->p_sigmask == SIGIO), which is easy to do for integral types, but not for compound types. NOTE: kdump (and port linux_kdump) must be recompiled. Thanks to Garrett Wollman and Daniel Eischen for pressing the importance of changing sigreturn as well.
|
#
3e148c40 |
|
26-Sep-1999 |
Eivind Eklund <eivind@FreeBSD.org> |
Move the declaration of panic() from sys/systm.h to sys/param.h. Rationale: Wider access, so we can add assertions to header files. panicstr is still in sys/systm.h Suggested by: phk Discussed with: peter
|
#
2fe5bd8b |
|
25-Sep-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Fix a hole in jail(2). Noticed by: Alexander Bezroutchko <abb@zenon.net>
|
#
c3aac50f |
|
27-Aug-1999 |
Peter Wemm <peter@FreeBSD.org> |
$Id$ -> $FreeBSD$
|
#
698bfad7 |
|
20-Jul-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Now a dev_t is a pointer to struct specinfo which is shared by all specdev vnodes referencing this device. Details: cdevsw->d_parms has been removed, the specinfo is available now (== dev_t) and the driver should modify it directly when applicable, and the only driver doing so, does so: vn.c. I am not sure the logic in checking for "<" was right before, and it looks even less so now. An intial pool of 50 struct specinfo are depleted during early boot, after that malloc had better work. It is likely that fewer than 50 would do. Hashing is done from udev_t to dev_t with a prime number remainder hash, experiments show no better hash available for decent cost (MD5 is only marginally better) The prime number used should not be close to a power of two, we use 83 for now. Add new checkalias2() to get around the loss of info from dev2udev() in bdevvp(); The aliased vnodes are hung on a list straight of the dev_t, and speclisth[SPECSZ] is unused. The sharing of struct specinfo means that the v_specnext moves into the vnode which grows by 4 bytes. Don't use a VBLK dev_t which doesn't make sense in MFS, now we hang a dummy cdevsw on B/Cmaj 253 so that things look sane. Storage overhead from all of this is O(50k). Bump __FreeBSD_version to 400009 The next step will add the stuff needed so device-drivers can start to hang things from struct specinfo
|
#
e18a82c5 |
|
20-Jun-1999 |
John Birrell <jb@FreeBSD.org> |
Bump the __FreeBSD_version number now that libc_r contains a wrapper for the poll syscall.
|
#
f29be021 |
|
17-Jun-1999 |
Brian Feldman <green@FreeBSD.org> |
Reviewed by: the cast of thousands This is the change to struct sockets that gets rid of so_uid and replaces it with a much more useful struct pcred *so_cred. This is here to be able to do socket-level credential checks (i.e. IPFW uid/gid support, to be added to HEAD soon). Along with this comes an update to pidentd which greatly simplifies the code necessary to get a uid from a socket. Soon to come: a sysctl() interface to finding individual sockets' credentials.
|
#
2447bec8 |
|
31-May-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Simplify cdevsw registration. The cdevsw_add() function now finds the major number(s) in the struct cdevsw passed to it. cdevsw_add_generic() is no longer needed, cdevsw_add() does the same thing. cdevsw_add() will print an message if the d_maj field looks bogus. Remove nblkdev and nchrdev variables. Most places they were used bogusly. Instead check a dev_t for validity by seeing if devsw() or bdevsw() returns NULL. Move bdevsw() and devsw() functions to kern/kern_conf.c Bump __FreeBSD_version to 400006 This commit removes: 72 bogus makedev() calls 26 bogus SYSINIT functions if_xe.c bogusly accessed cdevsw[], author/maintainer please fix. I4b and vinum not changed. Patches emailed to authors. LINT probably broken until they catch up.
|
#
bfbb9ce6 |
|
11-May-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Divorce "dev_t" from the "major|minor" bitmap, which is now called udev_t in the kernel but still called dev_t in userland. Provide functions to manipulate both types: major() umajor() minor() uminor() makedev() umakedev() dev2udev() udev2dev() For now they're functions, they will become in-line functions after one of the next two steps in this process. Return major/minor/makedev to macro-hood for userland. Register a name in cdevsw[] for the "filedescriptor" driver. In the kernel the udev_t appears in places where we have the major/minor number combination, (ie: a potential device: we may not have the driver nor the device), like in inodes, vattr, cdevsw registration and so on, whereas the dev_t appears where we carry around a reference to a actual device. In the future the cdevsw and the aliased-from vnode will be hung directly from the dev_t, along with up to two softc pointers for the device driver and a few houskeeping bits. This will essentially replace the current "alias" check code (same buck, bigger bang). A little stunt has been provided to try to catch places where the wrong type is being used (dev_t vs udev_t), if you see something not working, #undef DEVT_FASCIST in kern/kern_conf.c and see if it makes a difference. If it does, please try to track it down (many hands make light work) or at least try to reproduce it as simply as possible, and describe how to do that. Without DEVT_FASCIST I belive this patch is a no-op. Stylistic/posixoid comments about the userland view of the <sys/*.h> files welcome now, from userland they now contain the end result. Next planned step: make all dev_t's refer to the same devsw[] which means convert BLK's to CHR's at the perimeter of the vnodes and other places where they enter the game (bootdev, mknod, sysctl).
|
#
dd3ebe6b |
|
09-May-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Don't confuse dev_t and major numbers in DEV_MODULE()
|
#
0fc6acbf |
|
27-Apr-1999 |
Poul-Henning Kamp <phk@FreeBSD.org> |
bump __FreeBSD_version to 400005: suser() API changed.
|
#
6f2a248b |
|
04-Apr-1999 |
John Polstra <jdp@FreeBSD.org> |
Bump __FreeBSD_version to 400004 now that the __deregister_frame_info bug is fixed in the dynamic linker. I think it might be handy to know about this to deal with some coming make world bootstrapping issues.
|
#
d5477a46 |
|
26-Mar-1999 |
Steve Price <steve@FreeBSD.org> |
Bump __FreeBSD_version to denote that we now have a functional dladdr(3) implementation. Discussed with: jdp, nate
|
#
0738f6e0 |
|
12-Mar-1999 |
John Polstra <jdp@FreeBSD.org> |
Reverse the order of processing object files within an executable or shared library when invoking global constructors and destructors. For constructors, the object files used to be processed from first to last; now they're done from last to first. (Destructors are done in the opposite order, as required by the C++ standard.) This makes us consistent with standard gcc and egcs compilers. It also eliminates ordering differences between dynamic and static executables. Bump the value of __FreeBSD_version to 400002 to reflect this change.
|
#
d6f468ef |
|
20-Feb-1999 |
John Polstra <jdp@FreeBSD.org> |
Increment __FreeBSD_version to reflect the fact that the kernel can now handle dynamic linkers which are statically linked executables.
|
#
48b4c7d5 |
|
22-Jan-1999 |
Eivind Eklund <eivind@FreeBSD.org> |
__FreeBSD_version -> 400000 Forgotten by: Some anonymous release engineer Reminded by: bde
|
#
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>
|
#
9af06d79 |
|
16-Oct-1998 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
post-tag version bump. We're now back at 3.0-current!
|
#
00347c3f |
|
15-Oct-1998 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Bump freebsd version #.
|
#
9a797b88 |
|
03-Sep-1998 |
Satoshi Asami <asami@FreeBSD.org> |
Bump __FreeBSD_version to 300004 to indicate post E-day. Reviewed by: jdp
|
#
722a066c |
|
12-Jul-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Set the minimum malloc bucket to 5. In a DIAGNOSTIC kernel, the extra data in struct freelist is larger than 16 bytes on the alpha.
|
#
d860c4c0 |
|
06-Jul-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Shorten line. Prodded (long time ago) by: bde
|
#
ecbb00a2 |
|
07-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
This commit fixes various 64bit portability problems required for FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time.
|
#
64216a95 |
|
02-Jun-1998 |
John Polstra <jdp@FreeBSD.org> |
Increment __FreeBSD_version because the semctl() prototype changed in <sys/sem.h>.
|
#
3933c622 |
|
21-May-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Move __FreeBSD_version from src/sys/conf/newvers.sh to src/sys/sys/param.h, to facilitate access from the kernel. This make it possible to do outside kernel development and have it actually work properly.
|
#
94610ec4 |
|
20-May-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Back out previous commit - it breaks when called from 'buildworld' :-( (Damn, I wanted that in the -snap).
|
#
a5eed7b8 |
|
20-May-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Move __FreeBSD_version into <sys/param.h> (with automated duplication to <osreldate.h>). This allow kernel drivers access to it. Approved by: -current
|
#
08637435 |
|
28-Mar-1998 |
Bruce Evans <bde@FreeBSD.org> |
Moved some #includes from <sys/param.h> nearer to where they are actually used.
|
#
5957b261 |
|
21-Sep-1997 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
buf.h: Change the definition of a buffer queue so that bufqdisksort can properly deal with bordered writes. Add inline functions for accessing buffer queues. This should be considered an opaque data structure by clients. callout.h: New callout implementation. device.h: Add support for CAM interrupts. disk.h: disklabel.h: tqdisksort->bufqdisksort kernel.h: Add new configuration entries for configuration hooks and calling cpu_rootconf and cpu_dumpconf. param.h: Add a priority for sleeping waiting on config hooks. proc.h: Update for new callout implementation. queue.h: Add TAILQ_HEAD_INITIALIZER from NetBSD. systm.h: Add prototypes for cpu_root/dumpconf, splcam, splsoftcam, etc..
|
#
e91f3cb0 |
|
03-Mar-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
Use roundup(MAXLOGNAME, sizeof(long)) as e_login/s_login arrays size instead of all hardcoded assumptions historically used (i.e. sizeof(long) == 4) Use MAXLOGNAME == 17 for stricter setlogin() size checking. Since it rounds up to 20, all sizes remains the same
|
#
1366201a |
|
03-Mar-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
Bump MAXLOGNAME to 20 to really hold 16-bytes user names + NUL and decrease spare array by one to keep the same size of eproc
|
#
3bf4871a |
|
03-Mar-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
Restore MAXLOGNAME comment, but in slightly different form
|
#
30058215 |
|
02-Mar-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
Back out 1.21 change because MAXLOGNAME _not_ includes NUL character in BSD
|
#
6875d254 |
|
22-Feb-1997 |
Peter Wemm <peter@FreeBSD.org> |
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
|
#
db2c3116 |
|
07-Feb-1997 |
David Nugent <davidn@FreeBSD.org> |
Correct comments relating to MAXLOGNAME. MAXLOGNAME includes NUL terminator.
|
#
1130b656 |
|
14-Jan-1997 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Make the long-awaited change from $Id$ to $FreeBSD$ This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
|
#
3596818b |
|
04-Dec-1996 |
John Dyson <dyson@FreeBSD.org> |
Clean-up of the new buffer kva allocation code. Also, there was an error in the !BOUNCE_BUFFERS case.
|
#
96b2533e |
|
04-Dec-1996 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
Bump maximum username length to 16 characters. This brings us into line with BSD/OS and Linux's username limits, making transitioning from either operating system a lot easier than it is now. I'm currently running with this change on my system, as are several others, and have experienced no ill effects. This is not for 2.2! This needs to get shaken out longer term in 3.0. Previously-approved-by: davidg
|
#
09e0c6cc |
|
30-Nov-1996 |
John Dyson <dyson@FreeBSD.org> |
Implement a new totally dynamic (up to MAXPHYS) buffer kva allocation scheme. Additionally, add the capability for checking for unexpected kernel page faults. The maximum amount of kva space for buffers hasn't been decreased from where it is, but it will now be possible to do so. This scheme manages the kva space similar to the buffers themselves. If there isn't enough kva space because of usage or fragementation, buffers will be reclaimed until a buffer allocation is successful. This scheme should be very resistant to fragmentation problems until/if the LFS code is fixed and uses the bogus buffer locking scheme -- but a 'fixed' LFS is not likely to use such a scheme. Now there should be NO problem allocating buffers up to MAXPHYS.
|
#
0bf0ee81 |
|
27-Nov-1996 |
John Dyson <dyson@FreeBSD.org> |
Potentially fix a problem, whereby MSDOSFS can request buffers larger than the vfs layer can provide. We now automatically support 32K clusters if MSDOSFS is installed, and panic if a filesystem tries to allocate a buffer larger than MAXBSIZE. This commit is a result of some "prodding" by BDE.
|
#
e911eafc |
|
02-May-1996 |
Poul-Henning Kamp <phk@FreeBSD.org> |
removed: CLBYTES PD_SHIFT PGSHIFT NBPG PGOFSET CLSIZELOG2 CLSIZE pdei() ptei() kvtopte() ptetov() ispt() ptetoav() &c &c new: NPDEPG Major macro cleanup.
|
#
02e2c406 |
|
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. [new sys/syscallargs.h file, to be "cvs rm"ed]
|
#
0bf8ba04 |
|
10-Mar-1996 |
Jeffrey Hsu <hsu@FreeBSD.org> |
Merge in Lite2: bump BSD date from 199306 to 199506. Reviewed by: davidg & bde
|
#
dedb7b62 |
|
23-Feb-1996 |
Peter Wemm <peter@FreeBSD.org> |
Garrett pointed out that the correct place for unix system call args is <sys/unistd.h>, with the prototype in <unistd.h>. sys/unistd.h is visible to the kernel compile, and is #included by unistd.h. Also, I missed a reference to a static int in the midst of my other diffs.
|
#
dabee6fe |
|
23-Feb-1996 |
Peter Wemm <peter@FreeBSD.org> |
kern_descrip.c: add fdshare()/fdcopy() kern_fork.c: add the tiny bit of code for rfork operation. kern/sysv_*: shmfork() takes one less arg, it was never used. sys/shm.h: drop "isvfork" arg from shmfork() prototype sys/param.h: declare rfork args.. (this is where OpenBSD put it..) sys/filedesc.h: protos for fdshare/fdcopy. vm/vm_mmap.c: add minherit code, add rounding to mmap() type args where it makes sense. vm/*: drop unused isvfork arg. Note: this rfork() implementation copies the address space mappings, it does not connect the mappings together. ie: once the two processes have split, the pages may be shared, but the address space is not. If one does a mmap() etc, it does not appear in the other. This makes it not useful for pthreads, but it is useful in it's own right for having light-weight threads in a static shared address space. Obtained from: Original by Ron Minnich, extended by OpenBSD
|
#
6c5e9bbd |
|
30-Jan-1996 |
Mike Pritchard <mpp@FreeBSD.org> |
Fix a bunch of spelling errors in the comment fields of a bunch of system include files.
|
#
466b676a |
|
05-Dec-1995 |
Bruce Evans <bde@FreeBSD.org> |
Define FALSE and TRUE in <sys/param.h> (if KERNEL is defined) as well as in <vm/vm_param.h> so that <vm/vm.h> doesn't have to be included in kernel sources just to get the definitions of these fundamental vm (;-) quantities.
|
#
1784a84a |
|
06-Oct-1995 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add roundup2(x,y) for when y is a power of two.
|
#
a401ebbe |
|
13-May-1995 |
David Greenman <dg@FreeBSD.org> |
Changed swap partition handling/allocation so that it doesn't require specific partitions be mentioned in the kernel config file ("swap on foo" is now obsolete). From Poul-Henning: The visible effect is this: As default, unless options "NSWAPDEV=23" is in your config, you will have four swap-devices. You can swapon(2) any block device you feel like, it doesn't have to be in the kernel config. There is a performance/resource win available by getting the NSWAPDEV right (but only if you have just one swap-device ??), but using that as default would be too restrictive. The invisible effect is that: Swap-handling disappears from the $arch part of the kernel. It gets a lot simpler (-145 lines) and cleaner. Reviewed by: John Dyson, David Greenman Submitted by: Poul-Henning Kamp, with minor changes by me.
|
#
17279d6c |
|
06-Feb-1995 |
David Greenman <dg@FreeBSD.org> |
Changed maximum number of symlinks in a path from 8 to 32. The exact value isn't important; it is only used to prevent symlink loops from looping forever. 32 is a quite reasonable default. Submitted by: Ed Hudson <elh@p5.spnet.com>
|
#
0d94caff |
|
09-Jan-1995 |
David Greenman <dg@FreeBSD.org> |
These changes embody the support of the fully coherent merged VM buffer cache, much higher filesystem I/O performance, and much better paging performance. It represents the culmination of over 6 months of R&D. The majority of the merged VM/cache work is by John Dyson. The following highlights the most significant changes. Additionally, there are (mostly minor) changes to the various filesystem modules (nfs, msdosfs, etc) to support the new VM/buffer scheme. vfs_bio.c: Significant rewrite of most of vfs_bio to support the merged VM buffer cache scheme. The scheme is almost fully compatible with the old filesystem interface. Significant improvement in the number of opportunities for write clustering. vfs_cluster.c, vfs_subr.c Upgrade and performance enhancements in vfs layer code to support merged VM/buffer cache. Fixup of vfs_cluster to eliminate the bogus pagemove stuff. vm_object.c: Yet more improvements in the collapse code. Elimination of some windows that can cause list corruption. vm_pageout.c: Fixed it, it really works better now. Somehow in 2.0, some "enhancements" broke the code. This code has been reworked from the ground-up. vm_fault.c, vm_page.c, pmap.c, vm_object.c Support for small-block filesystems with merged VM/buffer cache scheme. pmap.c vm_map.c Dynamic kernel VM size, now we dont have to pre-allocate excessive numbers of kernel PTs. vm_glue.c Much simpler and more effective swapping code. No more gratuitous swapping. proc.h Fixed the problem that the p_lock flag was not being cleared on a fork. swap_pager.c, vnode_pager.c Removal of old vfs_bio cruft to support the past pseudo-coherency. Now the code doesn't need it anymore. machdep.c Changes to better support the parameter values for the merged VM/buffer cache scheme. machdep.c, kern_exec.c, vm_glue.c Implemented a seperate submap for temporary exec string space and another one to contain process upages. This eliminates all map fragmentation problems that previously existed. ffs_inode.c, ufs_inode.c, ufs_readwrite.c Changes for merged VM/buffer cache. Add "bypass" support for sneaking in on busy buffers. Submitted by: John Dyson and David Greenman
|
#
e8fb0b2c |
|
31-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Realtime priority scheduling support. Submitted by: Henrik Vestergaard Draboel
|
#
af9da405 |
|
20-Aug-1994 |
Paul Richards <paul@FreeBSD.org> |
Made them all idempotent. Reviewed by: Submitted by:
|
#
3c4dd356 |
|
02-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
Added $Id$
|
#
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
|