1. 14 10月, 2015 16 次提交
  2. 08 10月, 2015 1 次提交
    • L
      kbuild: document recursive dependency limitation / resolution · 1c199f28
      Luis R. Rodriguez 提交于
      Recursive dependency issues with kconfig are unavoidable due to
      some limitations with kconfig, since these issues are recurring
      provide a hint to the user how they can resolve these dependency
      issues and also document why such limitation exists.
      
      While at it also document a bit of future prospects of ways to
      enhance Kconfig, including providing formal semantics and evaluation
      of use of a SAT solver. If you're interested in this work or prospects
      of it check out the kconfig-sat project wiki [0] and mailing list [1].
      
      [0] http://kernelnewbies.org/KernelProjects/kconfig-sat
      [1] https://groups.google.com/d/forum/kconfig-sat
      
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: James Bottomley <jbottomley@odin.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Bolle <pebolle@tiscali.nl>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Mate Soos <soos.mate@gmail.com>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NMichal Marek <mmarek@suse.com>
      1c199f28
  3. 20 8月, 2015 1 次提交
  4. 19 8月, 2015 3 次提交
  5. 12 8月, 2015 1 次提交
  6. 16 6月, 2015 2 次提交
    • L
      kconfig: add xenconfig defconfig helper · 6c668505
      Luis R. Rodriguez 提交于
      This lets you build a kernel which can support xen dom0
      or xen guests on i386, x86-64 and arm64 by just using:
      
         make xenconfig
      
      You can start from an allnoconfig and then switch to xenconfig.
      This also splits out the options which are available currently
      to be built with x86 and 'make ARCH=arm64' under a shared config.
      
      Technically xen supports a dom0 kernel and also a guest
      kernel configuration but upon review with the xen team
      since we don't have many dom0 options its best to just
      combine these two into one.
      
      A few generic notes: we enable both of these:
      
      CONFIG_INET=y
      CONFIG_BINFMT_ELF=y
      
      although technically not required given you likely will
      end up with a pretty useless system otherwise.
      
      A few architectural differences worth noting:
      
      $ make allnoconfig; make xenconfig > /dev/null ; \
      	grep XEN .config > 64-bit-config
      $ make ARCH=i386 allnoconfig; make ARCH=i386 xenconfig > /dev/null; \
      	grep XEN .config > 32-bit-config
      $ make ARCH=arm64 allnoconfig; make ARCH=arm64 xenconfig > /dev/null; \
      	grep XEN .config > arm64-config
      
      Since the options are already split up with a generic config and
      architecture specific configs you anything on the x86 configs
      are known to only work right now on x86. For instance arm64 doesn't
      support MEMORY_HOTPLUG yet as such although we try to enabe it
      generically arm64 doesn't have it yet, so we leave the xen
      specific kconfig option XEN_BALLOON_MEMORY_HOTPLUG on x86's config
      file to set expecations correctly.
      
      Then on x86 we have differences between i386 and x86-64. The difference
      between 64-bit-config and 32-bit-config is you don't get XEN_MCE_LOG as
      this is only supported on 64-bit. You also do not get on i386
      XEN_BALLOON_MEMORY_HOTPLUG, there does not seem to be any technical
      reasons to not allow this but I gave up after a few attempts.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: penberg@kernel.org
      Cc: levinsasha928@gmail.com
      Cc: mtosatti@redhat.com
      Cc: fengguang.wu@intel.com
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Ian Campbell <Ian.Campbell@citrix.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: xen-devel@lists.xenproject.org
      Acked-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Acked-by: NJulien Grall <julien.grall@linaro.org>
      Acked-by: NMichal Marek <mmarek@suse.cz>
      Acked-by: NDavid Rientjes <rientjes@google.com>
      Reviewed-by: NJosh Triplett <josh@joshtriplett.org>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      6c668505
    • L
      kconfig: clarify kvmconfig is for kvm · 9bcd776d
      Luis R. Rodriguez 提交于
      We'll be adding options for xen as well.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: penberg@kernel.org
      Cc: levinsasha928@gmail.com
      Cc: mtosatti@redhat.com
      Cc: fengguang.wu@intel.com
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Ian Campbell <Ian.Campbell@citrix.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: xen-devel@lists.xenproject.org
      Reviewed-by: NJosh Triplett <josh@joshtriplett.org>
      Acked-by: NDavid Rientjes <rientjes@google.com>
      Acked-by: NBorislav Petkov <bp@suse.de>
      Acked-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      9bcd776d
  7. 15 6月, 2015 2 次提交
  8. 11 6月, 2015 1 次提交
  9. 04 6月, 2015 1 次提交
  10. 03 6月, 2015 1 次提交
  11. 28 5月, 2015 1 次提交
  12. 25 5月, 2015 1 次提交
    • M
      Kconfig: Remove bad inference rules expr_eliminate_dups2() · e9115030
      Martin Walch 提交于
      expr_eliminate_dups2() in scripts/kconfig/expr.c applies two invalid
      inference rules:
      
      (FOO || BAR) && (!FOO && !BAR) -> n
      (FOO && BAR) || (!FOO || !BAR) -> y
      
      They would be correct in propositional logic, but this is a three-valued
      logic, and here it is wrong in that it changes semantics. It becomes
      immediately visible when assigning the value 1 to both, FOO and BAR:
      
      (FOO || BAR) && (!FOO && !BAR)
      -> min(max(1, 1), min(2-1, 2-1)) = min(1, 1) = 1
      
      while n evaluates to 0 and
      
      (FOO && BAR) || (!FOO || !BAR)
      -> max(min(1, 1), max(2-1, 2-1)) = max(1, 1) = 1
      
      with y evaluating to 2.
      
      Fix it by removing expr_eliminate_dups2() and the functions that have no
      use anywhere else: expr_extract_eq_and(), expr_extract_eq_or(),
      and expr_extract_eq() from scripts/kconfig/expr.c
      
      Currently the bug is not triggered in mainline, so this patch does not
      modify the configuration space there. To observe the bug consider this
      example:
      
      config MODULES
              def_bool y
              option modules
      
      config FOO
              def_tristate m
      
      config BAR
              def_tristate m
      
      config TEST1
              def_tristate y
              depends on (FOO || BAR) && (!FOO && !BAR)
      
      if TEST1 = n
      comment "TEST1 broken"
      endif
      
      config TEST2
              def_tristate y
              depends on (FOO && BAR) || (!FOO || !BAR)
      
      if TEST2 = y
      comment "TEST2 broken"
      endif
      
      config TEST3
              def_tristate y
              depends on m && !m
      
      if TEST3 = n
      comment "TEST3 broken"
      endif
      
      TEST1, TEST2 and TEST3 should all evaluate to m, but without the patch,
      none of them does. It is probably not obvious that TEST3 is the same bug,
      but it becomes clear when considering what happens internally to the
      expression
      m && !m":
      First it expands to
      (m && MODULES) && !(m && MODULES),
      then it is transformed into
      (m && MODULES) && (!m || !MODULES),
      and finally due to the bug it is replaced with n.
      
      As a side effect, this patch reduces code size in expr.c by roughly 10%
      and slightly improves startup time for all configuration frontends.
      Signed-off-by: NMartin Walch <walch.martin@web.de>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      e9115030
  13. 09 4月, 2015 1 次提交
  14. 08 4月, 2015 1 次提交
  15. 24 3月, 2015 6 次提交
  16. 25 2月, 2015 1 次提交