On 16 January 2015 at 09:57, Warner Losh <i...@bsdimp.com> wrote:
>
>> On Jan 15, 2015, at 6:23 AM, Slawa Olhovchenkov <s...@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’s not a universal ufs.ko that can be loaded easily that switches
> between the different types of options. You can create modules
> that do this, but that’s a very very different problem than the one 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’m 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 
>>> directories
>>> +options     UFS_GJOURNAL            # Enable gjournal-based UFS journaling
>>> +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 chipsets
>>> +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’m 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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to