Date: Fri, 17 Feb 2017 12:56:44 -0700 From: Warner Losh <imp@bsdimp.com> To: Sean Bruno <sbruno@freebsd.org> Cc: John Baldwin <jhb@freebsd.org>, "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org> Subject: Re: Thinning out GENERIC Message-ID: <CANCZdfrWycNbmmwmjacHf5KJxnRHoLeZW1s%2B1F1XWfHyWxtn_w@mail.gmail.com> In-Reply-To: <ff6d9a9d-36f2-459f-78c5-a7269c2caae9@freebsd.org> References: <34e4e9bd-c7a8-e3e2-4cef-98a691ea7944@freebsd.org> <2553875.ilSvFZYQZ6@ralph.baldwin.cx> <bf4931ec-2c05-2b90-8bc6-affac684bd23@freebsd.org> <1907688.dXvDEfTesD@ralph.baldwin.cx> <ff6d9a9d-36f2-459f-78c5-a7269c2caae9@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 17, 2017 at 12:54 PM, Sean Bruno <sbruno@freebsd.org> wrote: > > > On 02/17/17 12:49, John Baldwin wrote: >> On Friday, February 17, 2017 11:43:45 AM Sean Bruno wrote: >>> >>> On 02/13/17 11:33, John Baldwin wrote: >>>> On Monday, February 13, 2017 10:51:36 AM Warner Losh wrote: >>>>> [[ It isn't just GENERIC, it's in every single kernel ]] >>>>> >>>>> On Sun, Feb 12, 2017 at 7:59 AM, Sean Bruno <sbruno@freebsd.org> wrote: >>>>>> Index: sys/conf/files >>>>>> =================================================================== >>>>>> --- sys/conf/files (revision 313683) >>>>>> +++ sys/conf/files (working copy) >>>>>> @@ -2419,7 +2419,7 @@ >>>>>> dev/pci/pci_user.c optional pci >>>>>> dev/pci/pcib_if.m standard >>>>>> dev/pci/pcib_support.c standard >>>>>> -dev/pci/vga_pci.c optional pci >>>>>> +#dev/pci/vga_pci.c optional pci >>>>>> dev/pcn/if_pcn.c optional pcn pci >>>>>> dev/pdq/if_fea.c optional fea eisa >>>>>> dev/pdq/if_fpa.c optional fpa pci >>>>>> >>>>>> I'm playing around with small x86 builds and wanted to come up with a >>>>>> knob that disables the vga_pci driver. Obviously I still want pci(4) to >>>>>> be enabled, but I definitely do not need the vga interfaces for >>>>>> anything. Any suggestions? >>>>> >>>>> You could make it dependent on vt or sc as well as pci, no? >>>> >>>> This is a fairly small driver: >>>> >>>> 6139 340 8 6487 0x1957 /usr/obj/usr/src/sys/GENERIC >>>> /vga_pci.o >>>> >>>> (From an 11.0-stable build) >>>> >>>> device ppc and friends is a lot more for example: >>>> >>>> text data bss dec hex filename >>>> 6238 0 0 6238 0x185e /usr/obj/usr/src/sys/GENERIC/ppb_1284.o >>>> 1675 28 0 1703 0x6a7 /usr/obj/usr/src/sys/GENERIC/ppb_base.o >>>> 2042 0 0 2042 0x7fa /usr/obj/usr/src/sys/GENERIC/ppb_msq.o >>>> 6025 296 8 6329 0x18b9 /usr/obj/usr/src/sys/GENERIC/ppbconf.o >>>> 0 168 0 168 0xa8 /usr/obj/usr/src/sys/GENERIC/ppbus_if.o >>>> 9099 36 0 9135 0x23af /usr/obj/usr/src/sys/GENERIC/ppc.o >>>> 495 256 0 751 0x2ef /usr/obj/usr/src/sys/GENERIC/ppc_acpi.o >>>> 1671 256 0 1927 0x787 /usr/obj/usr/src/sys/GENERIC/ppc_isa.o >>>> 1124 208 0 1332 0x534 /usr/obj/usr/src/sys/GENERIC/ppc_pci.o >>>> 451 208 0 659 0x293 /usr/obj/usr/src/sys/GENERIC/ppc_puc.o >>>> 2751 428 8 3187 0xc73 /usr/obj/usr/src/sys/GENERIC/ppi.o >>>> >>>> It is needed for drm. >>>> >>> >>> Ok, so ... make it dependant on drm, vt, sc and pci? >> >> You can kldload drm at runtime, so a static dependency isn't sufficient. >> It's not clear why removing this from GENERIC is that important. ppc is on far >> fewer machines than vga_pci and takes up 10x more space. >> > > I don't want to remove it from GENERIC. I want to add the capability to > remove it. Sorry if that wasn't clear from my subject line, because it > doesn't look clear now that I re-read it. He likely wants to remove a lot of other things too. He's not asking about those because the are already easy to remove :) You'd want to make it a module, then have drm depend on the module as well as the static dependencies you outlines. And yes, this does highlight some issues with our current build system... Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrWycNbmmwmjacHf5KJxnRHoLeZW1s%2B1F1XWfHyWxtn_w>