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>