Home | History | Annotate | Download | only in common
History log of /src/sys/compat/common/compat_80_mod.c
RevisionDateAuthorComments
 1.5  03-Oct-2019  pgoyette Since we now have a compat_90 module, the compat_80 module should depend
on it.
 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  17-Apr-2019  msaitoh KNF. No functional change.
 1.2  27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.1  21-Mar-2018  pgoyette branches: 1.1.2;
file compat_80_mod.c was initially added on branch pgoyette-compat.
 1.1.2.11  22-Sep-2018  pgoyette Split the raidframe compatability code out into separate modules, since
the driver is already a module. This avoids having to pass a bunch of
function pointers as arguments to raidframe's compat_ioctl().
 1.1.2.10  22-Sep-2018  pgoyette #include "opt_compat_netbsd.h" for all sources that provide compat code.
 1.1.2.9  15-Sep-2018  pgoyette Since we've already removed the maximum recursion depth for
required modules, there's no need for us to force loading of
the most-recent (ie, "deepest") modules first. So, simplify
the required-modules lists to require only the next-highest
version's module.

This will also make it easier to add new compat_xx modules
for future release versions.
 1.1.2.8  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.7  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.6  24-Mar-2018  pgoyette Remove unneeded opt_* includes.

Since raidframe_80_{init,fini} don't return values, don't try to use them!
 1.1.2.5  24-Mar-2018  pgoyette Also add raidframe init/fini for compat_80
 1.1.2.4  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.3  23-Mar-2018  pgoyette For now, the compat_80 module is empty.
 1.1.2.2  21-Mar-2018  pgoyette Move if_spppsubr compat code into the compat50 module.

More prep work for compat80 module (for raidframe)
 1.1.2.1  21-Mar-2018  pgoyette Add a compat_80 module - we need this for some raidframe stuff.

Update other modules to add compat_80 to the required lists.
 1.4.2.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.2  10-Jun-2019  christos Sync with HEAD
 1.4.2.1  17-May-2019  christos file compat_80_mod.c was added on branch phil-wifi on 2019-06-10 22:06:58 +0000

RSS XML Feed