Re: kernel config, unremmovable driver

2014-01-06 Thread Theo de Raadt
Good luck.

> after dmassage, I tried tracking down drivers by compiling and 
> re-compiling (always with a make clean after config) to what I could 
> remove and what not. I was able to remove most stuff. The kernel is now 
> much smaller (around 495K) and boot time and free space improved quite a 
> bit on the small machine!!
> 
>   however removing
> 
> et*at pci?# Agere/LSI ET1310
> 
> 
> causes this at link stage:
> 
> ld -Ttext 0xD0200120 -e start -N --warn-common -nopie -S -x -o bsd 
> ${SYSTEM_HEAD} vers.o ${OBJS}
> fxp.o(.text+0x495): In function `fxp_mediachange':
> : undefined reference to `mii_phy_reset'
> if_aue.o(.text+0xe4): In function `aue_ifmedia_upd':
> : undefined reference to `mii_phy_reset'
> if_axe.o(.text+0xe95): In function `axe_ifmedia_upd':
> : undefined reference to `mii_phy_reset'
> if_smsc.o(.text+0x545): In function `smsc_ifmedia_upd':
> : undefined reference to `mii_phy_reset'
> if_mos.o(.text+0x514): In function `mos_ifmedia_upd':
> : undefined reference to `mii_phy_reset'
> if_udav.o(.text+0x154): more undefined references to `mii_phy_reset' follow
> *** Error 1 in /usr/src/sys/arch/i386/compile/ob800 (Makefile:563 'bsd': 
> @echo ld -Ttext 0xD0200120 -e start -N --warn-common -nopie -S -x -...)
> 
> The simplest solution is just to leave it in :)
> 
> Does this mean that the fxp, aue (...) ethernet drivers use something 
> defined only inside the et driver?
> 
> Riccardo



Re: kernel config, unremmovable driver

2014-01-06 Thread Miod Vallat
>  however removing
> 
> et*at pci?# Agere/LSI ET1310
> 
> 
> causes this at link stage:
> 
> ld -Ttext 0xD0200120 -e start -N --warn-common -nopie -S -x -o bsd
> ${SYSTEM_HEAD} vers.o ${OBJS}
> fxp.o(.text+0x495): In function `fxp_mediachange':
> : undefined reference to `mii_phy_reset'

[...]

> Does this mean that the fxp, aue (...) ethernet drivers use
> something defined only inside the et driver?

No, this means these driver should have the `mii_phy' attribute in the
various sys/*/files* they are defined it, but don't; and as soon as all
drivers with the `mii_phy' attribute are removed from the kernel
configuration, mii_physubr.c (which contains the aforementioned
routines) is not compiled.



kernel config, unremmovable driver

2014-01-06 Thread Riccardo Mottola

Hi,

after dmassage, I tried tracking down drivers by compiling and 
re-compiling (always with a make clean after config) to what I could 
remove and what not. I was able to remove most stuff. The kernel is now 
much smaller (around 495K) and boot time and free space improved quite a 
bit on the small machine!!


 however removing

et*at pci?# Agere/LSI ET1310


causes this at link stage:

ld -Ttext 0xD0200120 -e start -N --warn-common -nopie -S -x -o bsd 
${SYSTEM_HEAD} vers.o ${OBJS}

fxp.o(.text+0x495): In function `fxp_mediachange':
: undefined reference to `mii_phy_reset'
if_aue.o(.text+0xe4): In function `aue_ifmedia_upd':
: undefined reference to `mii_phy_reset'
if_axe.o(.text+0xe95): In function `axe_ifmedia_upd':
: undefined reference to `mii_phy_reset'
if_smsc.o(.text+0x545): In function `smsc_ifmedia_upd':
: undefined reference to `mii_phy_reset'
if_mos.o(.text+0x514): In function `mos_ifmedia_upd':
: undefined reference to `mii_phy_reset'
if_udav.o(.text+0x154): more undefined references to `mii_phy_reset' follow
*** Error 1 in /usr/src/sys/arch/i386/compile/ob800 (Makefile:563 'bsd': 
@echo ld -Ttext 0xD0200120 -e start -N --warn-common -nopie -S -x -...)


The simplest solution is just to leave it in :)

Does this mean that the fxp, aue (...) ethernet drivers use something 
defined only inside the et driver?


Riccardo