Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Jan 2015 10:43:25 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Warner Losh <imp@bsdimp.com>
Cc:        "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, src-committers <src-committers@freebsd.org>, Warner Losh <imp@freebsd.org>, Slawa Olhovchenkov <slw@zxy.spb.ru>
Subject:   Re: svn commit: r277204 - head/sys/amd64/conf
Message-ID:  <CAJ-Vmon1upJhjuAY8U8y376cxcqDwaVEu%2BBeOTDX5pp4TDsD1A@mail.gmail.com>
In-Reply-To: <368B22F3-5607-46F8-B8D2-13CA59E94861@bsdimp.com>
References:  <201501150042.t0F0g7Um018059@svn.freebsd.org> <20150115132303.GA245@zxy.spb.ru> <368B22F3-5607-46F8-B8D2-13CA59E94861@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 16 January 2015 at 09:57, Warner Losh <imp@bsdimp.com> wrote:
>
>> On Jan 15, 2015, at 6:23 AM, Slawa Olhovchenkov <slw@zxy.spb.ru> wrote:
>>
>> On Thu, Jan 15, 2015 at 12:42:07AM +0000, Warner Losh wrote:
>>
>>> Author: imp
>>> Date: Thu Jan 15 00:42:06 2015
>>> New Revision: 277204
>>> URL: https://svnweb.freebsd.org/changeset/base/277204
>>>
>>> Log:
>>>  New MINIMAL kernel config. The goal with this configuration is to
>>>  only compile in those options in GENERIC that cannot be loaded as
>>>  modules. ufs is still included because many of its options aren't
>>>  present in the kernel module. There's some other exceptions documented
>>
>> Are you sure?
>> I think defining UFS options in kernel connfig affect to module too.
>> When I define this options in kernel config (w/o options FFS) I got
>> ufs.ko with this SU, quota, acl etc.
>
> While one could set options in the kernel to affect the ufs.ko build,
> there=E2=80=99s not a universal ufs.ko that can be loaded easily that swi=
tches
> between the different types of options. You can create modules
> that do this, but that=E2=80=99s a very very different problem than the o=
ne I
> want to solve, namely you get the same[*] functionality having
> device fred in the kernel config as kldloading fred.ko. So rather than
> bite off that problem also, I=E2=80=99m opting for simplicity.
>
>>> +options     SOFTUPDATES             # Enable FFS soft updates support
>>> +options     UFS_ACL                 # Support for access control lists
>>> +options     UFS_DIRHASH             # Improve performance on big direc=
tories
>>> +options     UFS_GJOURNAL            # Enable gjournal-based UFS journa=
ling
>>> +options     QUOTA                   # Enable disk quotas for UFS
>>
>>> +options     SYSVSHM                 # SYSV-style shared memory
>>> +options     SYSVMSG                 # SYSV-style message queues
>>> +options     SYSVSEM                 # SYSV-style semaphores
>>> +device              agp                     # support several AGP chip=
sets
>>> +device              random                  # Entropy device
>>> +device              padlock_rng             # VIA Padlock RNG
>>> +device              rdrand_rng              # Intel Bull Mountain RNG
>>> +device              vlan                    # 802.1Q VLAN support
>>> +device              tun                     # Packet tunnel.
>>> +device              gif                     # IPv6 and IPv4 tunneling
>>
>> This is loadable too.
>
> True
>
>> And please include:
>>
>> NETMAP
>> NFS_ROOT
>
> OK.
>
>> IEEE80211_DEBUG
>> IEEE80211_AMPDU_AGE
>> IEEE80211_SUPPORT_MESH
>> AH_SUPPORT_AR5416
>> AH_AR5416_INTERRUPT_MITIGATION
>> ATH_ENABLE_11N
>
> These are already the default for the ath or wlan modules, if I=E2=80=99m=
 reading things correctly.

Nope.

The other half of this problem is where some modules (did? do?)
populate an opt_wlan.h with their own options. Some modules did this
with the inet option.

When I've done what you're doing, I end up having these options in my
minimal config file so opt_xxx.h is correctly populated. That way when
I point SYSDIR (or whichever variable it is) at the configured kernel
directory with the opt_xxx.h files, it all works out correctly.

(I still think we shouldn't be relying on "defaults", but should ship
the opt_xxx.h files or something to derive the opt_xxx.h and makefile
config bits so things like external module building is possible
against a kernel. Or, we just kill all module options that change
behaviour/ABI of things in an incompatible way.)

-adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmon1upJhjuAY8U8y376cxcqDwaVEu%2BBeOTDX5pp4TDsD1A>