Home | History | Annotate | Download | only in common
History log of /src/sys/compat/common/files.common
RevisionDateAuthorComments
 1.14  20-May-2024  christos remove dup line
 1.13  20-May-2024  christos Rename dup3110 to dup3100 to match historical practice for NetBSD-11,
because we already have kevent100. Fix compat_dup3 to belong in compat_100
not compat_110.
 1.12  19-May-2024  christos version dup3
 1.11  09-Dec-2023  pgoyette Modularize the COMPAT_90 code that resulted from the removal of
netinet6/nd6 from the kernel. Now, the minimal compat code can
be successfully loaded and unloaded along with the rest of the
COMPAT_90 code.

XXX pullup-10 - hopefully before RC2
 1.10  18-Aug-2023  christos Add linux waitid(2) from GSoC 2023 (Theodore Preduta)
 1.9  28-Jul-2023  christos Add epoll(2) from Theodore Preduta as part of GSoC 2023
 1.8  19-Dec-2022  pgoyette Create compat_100 module infrastructure now that we have branched
for NetBSD-10
 1.7  09-Aug-2021  andvar branches: 1.7.4;
fix various typos in compatibility, mainly in comments.
 1.6  21-Jan-2020  pgoyette Split the compat_50 module into two, separating the QUOTA-related
stuff from the rest of the module. This allows loading of the
(main) compat_50 module on kernels that don't include ``options
QUOTA''.

Welcome to 9.99.40 !

Addresses PR kern/54875
 1.5  22-Sep-2019  christos branches: 1.5.2;
Add a new member to struct vfsstat and grow the unused members
The new member is caled f_mntfromlabel and it is the dkw_wname
of the corresponding wedge. This is now used by df -W to display
the mountpoint name as NAME=
 1.4  17-May-2019  msaitoh branches: 1.4.2;
The max subtype of the ifmedia word is 31. It's too small for Ethernet now.
We currently use use it up to 30. We should extend the limit to be able to use
more than 10Gbps speeds. Our ifmedia(4) is inconvenience and have some problem
so we should redesign the interface, but it's too late for netbsd-9 to do it.
So, we keep the data structure size and modify the structure a bit. The
strategy is almost the same as FreeBSD. Many bits of IFM_OMASK for Ethernet
have not used, so use some of them for Ethernet's subtype.

The differences against FreeBSD are:
- We use NetBSD style compat code (i.e. no SIOCGIFXMEDIA).
- FreeBSD's IFM_ETH_XTYPE's bit location is from 11 to "14" even though
IFM_OMASK is from 8 to "15". We use _IFM_ETH_XTMASK from bit 13 to "15".
- FreeBSD changed the meaning of IFM_TYPE_MATCH(). I think we should
not do it. We keep it not changing and added new IFM_TYPE_SUBTYPE_MATCH()
macro for matching both TYPE and SUBTYPE.
- Added up to 400GBASE-SR16.

New layout of the media word is as follows (from ifmedia_h):

* if_media Options word:
* Bits Use
* ---- -------
* 0-4 Media subtype MAX SUBTYPE == 255 for ETH and 31 for others
* 5-7 Media type
* 8-15 Type specific options
* 16-18 Mode (for multi-mode devices)
* 19 (Reserved for Future Use)
* 20-27 Shared (global) options
* 28-31 Instance
*
* 3 2 1
* 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
* +-------+---------------+-+-----+---------------+-----+---------+
* | | |R| | | | |
* | IMASK | GMASK |F|MMASK+-----+ OMASK |NMASK| TMASK |
* | | |U| |XTMSK| | | |
* +-------+---------------+-+-----+-----+---------+-----+---------+
* <-----> <---> <--->
* IFM_INST() IFM_MODE() IFM_TYPE()
*
* IFM_SUBTYPE(other than ETH)<------->
*
* <---> IFM_SUBTYPE(ETH)<------->
*
*
* <-------------> <------------->
* IFM_OPTIONS()
 1.3  15-Apr-2019  pgoyette Split the COMPAT_50 socket-timeout stuff out of kern/uipc_socket.c
and into its own source file, which is now included in the compat_50
module.

(Not sure how this got missed during the original [pgoyette-compat] work)
 1.2  27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.1  06-Mar-2018  pgoyette branches: 1.1.2;
file files.common was initially added on branch pgoyette-compat.
 1.1.2.40  28-Sep-2018  pgoyette Use the correct attribute - compat_utils vs compat_util
 1.1.2.39  28-Sep-2018  pgoyette Revert previous commit. There are still random unidentified references
to these utility routings.
 1.1.2.38  27-Sep-2018  pgoyette Add dependencies to ensure that the utility routines get included
as built-in module when needed.
 1.1.2.37  22-Sep-2018  pgoyette Missed this in previous files.* changes
 1.1.2.36  19-Sep-2018  pgoyette Split out the vnd COMPAT_50 code
 1.1.2.35  12-Sep-2018  pgoyette Complete removal of the "monolithic" all-version compat_sysvipc module
 1.1.2.34  10-Sep-2018  pgoyette Remove the monolithic compat and compat_sysv modules. Now that we
don't have aliases, we need to use only the version-specific module
names when resolving dependencies.
 1.1.2.33  17-Apr-2018  pgoyette Rename sysv_mod.[ch] to compat_sysv_mod.[ch] for consistency with other
files that provide module(7) interfaces.
 1.1.2.32  17-Apr-2018  pgoyette Finish separating the compat_09 and compat_43 stuff
 1.1.2.31  17-Apr-2018  pgoyette First pass at compat modules for 4.3BSD, NetBSD-0.9, and NetBSD-1.0

XXX Still need to deal with the sysctl stuff and other code shared
XXX between 09 and 43
 1.1.2.30  03-Apr-2018  pgoyette Remove fixed allocation of modules' "required" lists (previously
limited to MAXMODDEPS entries). Update the modctl(MODCTL_STAT)
syscall to return the required data in a new format, and retain
the previous data format in MODCTL_OSTAT. Update the compat_80
and compat_netbsd32 modules as needed.
 1.1.2.29  31-Mar-2018  pgoyette create the compat_12 module
 1.1.2.28  30-Mar-2018  pgoyette Add compat_13 module
 1.1.2.27  30-Mar-2018  pgoyette Extract compat_14 stuff into its own module
 1.1.2.26  30-Mar-2018  pgoyette typo in version dependency
 1.1.2.25  30-Mar-2018  pgoyette Create and build a compat_16 module
 1.1.2.24  30-Mar-2018  pgoyette Create and build the compat_20 module
 1.1.2.23  29-Mar-2018  pgoyette Rename usb_30_subr.c --> usb_subr_30.c for consistency with others
 1.1.2.22  29-Mar-2018  pgoyette Split out the usb compat_30 code and add it to the module
 1.1.2.21  28-Mar-2018  pgoyette Split vnd compat_30 code out of the main driver and into the compat_30
module
 1.1.2.20  28-Mar-2018  pgoyette Initial pass at a compat_30 module.

Still needs some work for dev/vnd and various dev/usb/*
 1.1.2.19  27-Mar-2018  pgoyette Create a compat_40 module
 1.1.2.18  24-Mar-2018  pgoyette Separate the compat_50 and compat_80 dispatching code from the main
body of raidframe, and place into the appropriate compat modules.

Enable building of the compat_80 module.
 1.1.2.17  23-Mar-2018  pgoyette For now, the compat_80 module is empty.
 1.1.2.16  21-Mar-2018  pgoyette Move if_spppsubr compat code into the compat50 module.

More prep work for compat80 module (for raidframe)
 1.1.2.15  21-Mar-2018  pgoyette Split the compat_50 code out from the dev/clockctl driver and include
it in the compat_50 and compat modules.
 1.1.2.14  19-Mar-2018  pgoyette Initial pass at a COMPAT_50 module. More to come.
 1.1.2.13  18-Mar-2018  pgoyette Import compat_60 changes for dev/ccd
 1.1.2.12  18-Mar-2018  pgoyette Move closer to a complete compat_60 module. All that remains is some
tty stuff and some ccd ioctl()s.
 1.1.2.11  16-Mar-2018  pgoyette Move closer to getting a compat_60 module - still needs more work
 1.1.2.10  15-Mar-2018  pgoyette Resolve conflicts from sync-with-HEAD
 1.1.2.9  14-Mar-2018  pgoyette Tag files with their specific compat version required. This way
the files only get included if needed, allowing for subsequent
loading of COMPAT_xx modules for older-than-built-in code.
 1.1.2.8  14-Mar-2018  pgoyette Make do_openat()'s handling of path=NULL modular
 1.1.2.7  13-Mar-2018  pgoyette Move the swapstats compat code into the compat_netbsd module.

Without this, a kernel configured without COMPAT_13 and/or COMPAT_50
could not execute the compat swapstats code, even if the compat_netbsd
module had been loaded.
 1.1.2.6  12-Mar-2018  pgoyette Update dependencies for modules when they are built-in. Now we don't
(or at least, shouldn't) need reminders in the GENERIC config files
about which module options require other options.

Update branch status doc accordingly.
 1.1.2.5  09-Mar-2018  pgoyette More on renaming the new module
 1.1.2.4  09-Mar-2018  pgoyette Split the sysv_ipc module into two pieces: one for contemporary
SYSV* functionality, and one for compatability with previous NetBSD
versions. No need to pull in all of compat just to have a sysv_ipc
module.
 1.1.2.3  06-Mar-2018  pgoyette Move necessary routines out of compat_util.c and into exec_elf.c

Once again, compat_util.c is only for modules, so move it back into
compat/common/files.common and out of kern/files.kern
 1.1.2.2  06-Mar-2018  pgoyette compat_util.c is included in all kernels, so does not need to be
listed here.
 1.1.2.1  06-Mar-2018  pgoyette Add a files.common to list all the compat source files.
 1.4.2.4  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.3  08-Apr-2020  martin Merge changes from current as of 20200406
 1.4.2.2  10-Jun-2019  christos Sync with HEAD
 1.4.2.1  17-May-2019  christos file files.common was added on branch phil-wifi on 2019-06-10 22:06:58 +0000
 1.5.2.1  25-Jan-2020  ad Sync with head.
 1.7.4.1  10-Dec-2023  martin Pull up following revision(s) (requested by pgoyette in ticket #487):

sys/compat/common/compat_90_mod.c: revision 1.5
sys/compat/common/compat_90_mod.c: revision 1.6
sys/netinet6/in6.c: revision 1.290
sys/netinet6/in6.c: revision 1.291
sys/compat/common/files.common: revision 1.11
sys/netinet6/icmp6.c: revision 1.255
sys/compat/common/net_inet6_nd_90.c: revision 1.1
sys/compat/common/net_inet6_nd_90.c: revision 1.2
sys/modules/compat_90/Makefile: revision 1.2
sys/modules/compat_90/Makefile: revision 1.3
sys/netinet6/nd6.c: revision 1.281
sys/compat/common/compat_mod.h: revision 1.10
sys/kern/compat_stub.c: revision 1.23
sys/sys/compat_stub.h: revision 1.27

Identify the need to rework the COMPAT_* code to be more
module-aware.
This is an XXX comment block only, NFCI.

Modularize the COMPAT_90 code that resulted from the removal of
netinet6/nd6 from the kernel. Now, the minimal compat code can
be successfully loaded and unloaded along with the rest of the
COMPAT_90 code.

Allow kernels builds which don't define INET6 to compile compat bits
too.

Default the build of compat_90 module to include IPv6, as is done
for other INET6-sensitive modules (see if_lagg).

RSS XML Feed