On Sun, 2010-05-23 at 05:21 -0400, Robert P. J. Day wrote: > On Sun, 23 May 2010, Simon Kitching wrote: > > > I see that drivers/vhost/Kconfig contains this: > > > > config VHOST_NET > > tristate "Host kernel accelerator for virtio net (EXPERIMENTAL)" > > depends on NET && EVENTFD && (TUN || !TUN) && (MACVTAP || !MACVTAP) > > && EXPERIMENTAL > > > > I'm not very familiar with Kconfig, but that does look rather weird > > to me: (TUN || !TUN) ??. It might be worth reading the appropriate > > emailing list archives (search file MAINTAINERS for "vhost"). > > as a ***guess***, i'm going to suggest that that means that it's > either selected for compilation into the kernel, or not selected at > all -- as in, not TUN=m. but that's just a guess. Yes, that could be a good guess. After reading your suggestion, I looked again and found this in drivers/gpu/drm/Kconfig: depends on (AGP || AGP=n) && PCI && !EMULATED_CMPXCHG && MMU Presumably AGP is equivalent to (AGP==y), and !AGP is equivalent to (AGP=n). So this is the same (a || !a) pattern as used in VHOST_NET, which suggests this is indeed deliberate. Quite why drm would insist on its dependency not being a loadable module I don't know. Module-loading should be up and running before X starts. Any ideas? And drivers/media/Kconfig has: depends on (I2C || I2C=n) && VIDEO_DEV Maybe the VHOST_NET setting is trying to block TUN-as-a-module because vhost_net can be used really early in boot of the guest? Whatever this is doing, it might be nice to get some comments in the Kconfig explaining this... Cheers, Simon -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ