08 Apr, 2020

1 commit

  • Commit ac7c3e4ff401 ("compiler: enable CONFIG_OPTIMIZE_INLINING
    forcibly") made this always-on option. We released v5.4 and v5.5
    including that commit.

    Remove the CONFIG option and clean up the code now.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Andrew Morton
    Reviewed-by: Miguel Ojeda
    Reviewed-by: Nathan Chancellor
    Cc: Arnd Bergmann
    Cc: Borislav Petkov
    Cc: David Miller
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/20200220110807.32534-2-masahiroy@kernel.org
    Signed-off-by: Linus Torvalds

    Masahiro Yamada
     

25 Oct, 2018

1 commit


15 Jun, 2018

1 commit

  • Prior to commit 2a61f4747eea ("stack-protector: test compiler capability
    in Kconfig and drop AUTO mode"), the stack protector was configured by
    the choice of NONE, REGULAR, STRONG, AUTO.

    tiny.config needed to explicitly set NONE because the default value of
    choice, AUTO, did not produce the tiniest kernel.

    Now that there are only two boolean symbols, STACKPROTECTOR and
    STACKPROTECTOR_STRONG, they are naturally disabled by "make
    allnoconfig", which "make tinyconfig" is based on. Remove unnecessary
    lines from the tiny.config fragment file.

    Signed-off-by: Masahiro Yamada
    Acked-by: Kees Cook
    Signed-off-by: Linus Torvalds

    Masahiro Yamada
     

14 Jun, 2018

1 commit

  • The changes to automatically test for working stack protector compiler
    support in the Kconfig files removed the special STACKPROTECTOR_AUTO
    option that picked the strongest stack protector that the compiler
    supported.

    That was all a nice cleanup - it makes no sense to have the AUTO case
    now that the Kconfig phase can just determine the compiler support
    directly.

    HOWEVER.

    It also meant that doing "make oldconfig" would now _disable_ the strong
    stackprotector if you had AUTO enabled, because in a legacy config file,
    the sane stack protector configuration would look like

    CONFIG_HAVE_CC_STACKPROTECTOR=y
    # CONFIG_CC_STACKPROTECTOR_NONE is not set
    # CONFIG_CC_STACKPROTECTOR_REGULAR is not set
    # CONFIG_CC_STACKPROTECTOR_STRONG is not set
    CONFIG_CC_STACKPROTECTOR_AUTO=y

    and when you ran this through "make oldconfig" with the Kbuild changes,
    it would ask you about the regular CONFIG_CC_STACKPROTECTOR (that had
    been renamed from CONFIG_CC_STACKPROTECTOR_REGULAR to just
    CONFIG_CC_STACKPROTECTOR), but it would think that the STRONG version
    used to be disabled (because it was really enabled by AUTO), and would
    disable it in the new config, resulting in:

    CONFIG_HAVE_CC_STACKPROTECTOR=y
    CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
    CONFIG_CC_STACKPROTECTOR=y
    # CONFIG_CC_STACKPROTECTOR_STRONG is not set
    CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

    That's dangerously subtle - people could suddenly find themselves with
    the weaker stack protector setup without even realizing.

    The solution here is to just rename not just the old RECULAR stack
    protector option, but also the strong one. This does that by just
    removing the CC_ prefix entirely for the user choices, because it really
    is not about the compiler support (the compiler support now instead
    automatially impacts _visibility_ of the options to users).

    This results in "make oldconfig" actually asking the user for their
    choice, so that we don't have any silent subtle security model changes.
    The end result would generally look like this:

    CONFIG_HAVE_CC_STACKPROTECTOR=y
    CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
    CONFIG_STACKPROTECTOR=y
    CONFIG_STACKPROTECTOR_STRONG=y
    CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

    where the "CC_" versions really are about internal compiler
    infrastructure, not the user selections.

    Acked-by: Masahiro Yamada
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

11 Feb, 2018

1 commit

  • Pull KVM updates from Radim Krčmář:
    "ARM:

    - icache invalidation optimizations, improving VM startup time

    - support for forwarded level-triggered interrupts, improving
    performance for timers and passthrough platform devices

    - a small fix for power-management notifiers, and some cosmetic
    changes

    PPC:

    - add MMIO emulation for vector loads and stores

    - allow HPT guests to run on a radix host on POWER9 v2.2 CPUs without
    requiring the complex thread synchronization of older CPU versions

    - improve the handling of escalation interrupts with the XIVE
    interrupt controller

    - support decrement register migration

    - various cleanups and bugfixes.

    s390:

    - Cornelia Huck passed maintainership to Janosch Frank

    - exitless interrupts for emulated devices

    - cleanup of cpuflag handling

    - kvm_stat counter improvements

    - VSIE improvements

    - mm cleanup

    x86:

    - hypervisor part of SEV

    - UMIP, RDPID, and MSR_SMI_COUNT emulation

    - paravirtualized TLB shootdown using the new KVM_VCPU_PREEMPTED bit

    - allow guests to see TOPOEXT, GFNI, VAES, VPCLMULQDQ, and more
    AVX512 features

    - show vcpu id in its anonymous inode name

    - many fixes and cleanups

    - per-VCPU MSR bitmaps (already merged through x86/pti branch)

    - stable KVM clock when nesting on Hyper-V (merged through
    x86/hyperv)"

    * tag 'kvm-4.16-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (197 commits)
    KVM: PPC: Book3S: Add MMIO emulation for VMX instructions
    KVM: PPC: Book3S HV: Branch inside feature section
    KVM: PPC: Book3S HV: Make HPT resizing work on POWER9
    KVM: PPC: Book3S HV: Fix handling of secondary HPTEG in HPT resizing code
    KVM: PPC: Book3S PR: Fix broken select due to misspelling
    KVM: x86: don't forget vcpu_put() in kvm_arch_vcpu_ioctl_set_sregs()
    KVM: PPC: Book3S PR: Fix svcpu copying with preemption enabled
    KVM: PPC: Book3S HV: Drop locks before reading guest memory
    kvm: x86: remove efer_reload entry in kvm_vcpu_stat
    KVM: x86: AMD Processor Topology Information
    x86/kvm/vmx: do not use vm-exit instruction length for fast MMIO when running nested
    kvm: embed vcpu id to dentry of vcpu anon inode
    kvm: Map PFN-type memory regions as writable (if possible)
    x86/kvm: Make it compile on 32bit and with HYPYERVISOR_GUEST=n
    KVM: arm/arm64: Fixup userspace irqchip static key optimization
    KVM: arm/arm64: Fix userspace_irqchip_in_use counting
    KVM: arm/arm64: Fix incorrect timer_is_pending logic
    MAINTAINERS: update KVM/s390 maintainers
    MAINTAINERS: add Halil as additional vfio-ccw maintainer
    MAINTAINERS: add David as a reviewer for KVM/s390
    ...

    Linus Torvalds
     

07 Feb, 2018

1 commit

  • Nearly all modern compilers support a stack-protector option, and nearly
    all modern distributions enable the kernel stack-protector, so enabling
    this by default in kernel builds would make sense. However, Kconfig does
    not have knowledge of available compiler features, so it isn't safe to
    force on, as this would unconditionally break builds for the compilers or
    architectures that don't have support. Instead, this introduces a new
    option, CONFIG_CC_STACKPROTECTOR_AUTO, which attempts to discover the best
    possible stack-protector available, and will allow builds to proceed even
    if the compiler doesn't support any stack-protector.

    This option is made the default so that kernels built with modern
    compilers will be protected-by-default against stack buffer overflows,
    avoiding things like the recent BlueBorne attack. Selection of a specific
    stack-protector option remains available, including disabling it.

    Additionally, tiny.config is adjusted to use CC_STACKPROTECTOR_NONE, since
    that's the option with the least code size (and it used to be the default,
    so we have to explicitly choose it there now).

    Link: http://lkml.kernel.org/r/1510076320-69931-4-git-send-email-keescook@chromium.org
    Signed-off-by: Kees Cook
    Tested-by: Laura Abbott
    Cc: Masahiro Yamada
    Cc: Arnd Bergmann
    Cc: Josh Triplett
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     

01 Feb, 2018

1 commit


16 Jan, 2018

1 commit


04 Dec, 2017

1 commit

  • A frequent source of build problems is poor handling of optional PM
    support, almost all development is done with the PM options enabled
    but they can be turned off. Currently few if any of the build test
    services do this as standard as there is no standard config for it and
    the use of selects and def_bool means that simply setting CONFIG_PM=n
    doesn't do what is expected. To make this easier provide a fragement
    that can be used with KCONFIG_ALLCONFIG to force PM off.

    CONFIG_XEN is disabled as Xen uses hibernation callbacks which end up
    turning on power management on architectures with Xen. Some cpuidle
    implementations on ARM select PM so CONFIG_CPU_IDLE is disabled, and
    some ARM architectures unconditionally enable PM so they are also
    disabled.

    Signed-off-by: Mark Brown
    Signed-off-by: Rafael J. Wysocki

    Mark Brown
     

23 Aug, 2017

1 commit


09 Jun, 2017

8 commits

  • Disable Network file system support.

    Reviewed-at: https://android-review.googlesource.com/#/c/409559/

    Signed-off-by: Roberto Pereira
    [AmitP: cherry-picked this change from Android common kernel
    and updated commit message]
    Signed-off-by: Amit Pundir
    Signed-off-by: Greg Kroah-Hartman

    Roberto Pereira
     
  • Add CONFIG_CGROUP_BPF as a default configuration in android base config
    since it is used to replace XT_QTAGUID in future.

    Reviewed-at: https://android-review.googlesource.com/#/c/400374/

    Signed-off-by: Chenbo Feng
    [AmitP: cherry-picked this change from Android common kernel]
    Signed-off-by: Amit Pundir
    Signed-off-by: Greg Kroah-Hartman

    Chenbo Feng
     
  • This adds CONFIG_MODULES, CONFIG_MODULE_UNLOAD, and CONFIG_MODVERSIONS
    which are required by the O release.

    Reviewed-at: https://android-review.googlesource.com/#/c/364554/

    Signed-off-by: Greg Kroah-Hartman
    [AmitP: cherry-picked this change from Android common kernel]
    Signed-off-by: Amit Pundir
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This adds CONFIG_IKCONFIG and CONFIG_IKCONFIG_PROC options, which are a
    requirement for the O release.

    Reviewed-at: https://android-review.googlesource.com/#/c/364553/

    Signed-off-by: Greg Kroah-Hartman
    [AmitP: cherry-picked this change from Android common kernel]
    Signed-off-by: Amit Pundir
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Enable CPU domain PAN to ensure that normal kernel accesses are
    unable to access userspace addresses.

    Reviewed-at: https://android-review.googlesource.com/#/c/334035/

    Signed-off-by: Sami Tolvanen
    [AmitP: cherry-picked this change from Android common kernel, updated
    the commit message and re-placed the CONFIG_STRICT_KERNEL_RWX
    config in sorted order]
    Signed-off-by: Amit Pundir
    Signed-off-by: Greg Kroah-Hartman

    Sami Tolvanen
     
  • Turn off the two kernel configs to disable related system ABI.

    Reviewed-at: https://android-review.googlesource.com/#/c/264976/

    Signed-off-by: Max Shi
    [AmitP: cherry-picked this change from Android common kernel]
    Signed-off-by: Amit Pundir
    Signed-off-by: Greg Kroah-Hartman

    Max Shi
     
  • Enable PAN emulation using TTBR0_EL1 switching.

    Reviewed-at: https://android-review.googlesource.com/#/c/325997/

    Signed-off-by: Sami Tolvanen
    [AmitP: cherry-picked this change from Android common kernel
    and updated the commit message]
    Signed-off-by: Amit Pundir
    Signed-off-by: Greg Kroah-Hartman

    Sami Tolvanen
     
  • If compiler has stack protector support, set
    CONFIG_CC_STACKPROTECTOR_STRONG.

    Reviewed-at: https://android-review.googlesource.com/#/c/238388/

    Signed-off-by: Jeff Vander Stoep
    [AmitP: cherry-picked this change from Android common kernel]
    Signed-off-by: Amit Pundir
    Signed-off-by: Greg Kroah-Hartman

    Jeff Vander Stoep
     

28 Feb, 2017

2 commits

  • Enable CONFIG_HARDENED_USERCOPY and CONFIG_RANDOMIZE_BASE in Android
    base config fragment.

    Reviewed at https://android-review.googlesource.com/#/c/283659/
    Reviewed at https://android-review.googlesource.com/#/c/278133/

    Link: http://lkml.kernel.org/r/1481113148-29204-2-git-send-email-amit.pundir@linaro.org
    Signed-off-by: Amit Pundir
    Cc: Rob Herring
    Cc: John Stultz
    Cc: Daniel Micay
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Amit Pundir
     
  • The aio interface adds substantial attack surface for a feature that's
    not being exposed by Android at all. It's unlikely that anyone is using
    the kernel feature directly either. This feature is rarely used even on
    servers. The glibc POSIX aio calls really use thread pools. The lack
    of widespread usage also means this is relatively poorly audited/tested.

    The kernel's aio rarely provides performance benefits over using a
    thread pool and is quite incomplete in terms of system call coverage
    along with having edge cases where blocking can occur. Part of the
    performance issue is the fact that it only supports direct io, not
    buffered io. The existing API is considered fundamentally flawed and
    it's unlikely it will be expanded, but rather replaced:

    https://marc.info/?l=linux-aio&m=145255815216051&w=2

    Since ext4 encryption means no direct io support, kernel aio isn't even
    going to work properly on Android devices using file-based encryption.

    Reviewed-at: https://android-review.googlesource.com/#/c/292158/

    Link: http://lkml.kernel.org/r/1481113148-29204-1-git-send-email-amit.pundir@linaro.org
    Signed-off-by: Daniel Micay
    Signed-off-by: Amit Pundir
    Cc: Rob Herring
    Cc: John Stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Micay
     

08 Feb, 2017

1 commit

  • Both of these options are poorly named. The features they provide are
    necessary for system security and should not be considered debug only.
    Change the names to CONFIG_STRICT_KERNEL_RWX and
    CONFIG_STRICT_MODULE_RWX to better describe what these options do.

    Signed-off-by: Laura Abbott
    Acked-by: Jessica Yu
    Signed-off-by: Kees Cook

    Laura Abbott
     

12 Oct, 2016

4 commits

  • As of Android N, SECCOMP is required. Without it, we will get
    mediaextractor error:

    E /system/bin/mediaextractor: libminijail: prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER): Invalid argument

    Link: http://lkml.kernel.org/r/20160908185934.18098-3-robh@kernel.org
    Signed-off-by: Rob Herring
    Acked-by: John Stultz
    Cc: Amit Pundir
    Cc: Dmitry Shmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Herring
     
  • Android won't boot without SELinux enabled, so make it the default.

    Link: http://lkml.kernel.org/r/20160908185934.18098-2-robh@kernel.org
    Signed-off-by: Rob Herring
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Herring
     
  • CONFIG_MD is in recommended, but other dependent options like DM_CRYPT and
    DM_VERITY options are in base. The result is the options in base don't
    get enabled when applying both base and recommended fragments. Move all
    the options to recommended.

    Link: http://lkml.kernel.org/r/20160908185934.18098-1-robh@kernel.org
    Signed-off-by: Rob Herring
    Acked-by: John Stultz
    Cc: Amit Pundir
    Cc: Dmitry Shmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Herring
     
  • Option is long gone, see commit 5d9efa7ee99e ("ipv6: Remove privacy
    config option.")

    Link: http://lkml.kernel.org/r/20160811170340.9859-1-bp@alien8.de
    Signed-off-by: Borislav Petkov
    Cc: Rob Herring
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Borislav Petkov
     

07 Oct, 2016

1 commit

  • Pull KVM updates from Radim Krčmář:
    "All architectures:
    - move `make kvmconfig` stubs from x86
    - use 64 bits for debugfs stats

    ARM:
    - Important fixes for not using an in-kernel irqchip
    - handle SError exceptions and present them to guests if appropriate
    - proxying of GICV access at EL2 if guest mappings are unsafe
    - GICv3 on AArch32 on ARMv8
    - preparations for GICv3 save/restore, including ABI docs
    - cleanups and a bit of optimizations

    MIPS:
    - A couple of fixes in preparation for supporting MIPS EVA host
    kernels
    - MIPS SMP host & TLB invalidation fixes

    PPC:
    - Fix the bug which caused guests to falsely report lockups
    - other minor fixes
    - a small optimization

    s390:
    - Lazy enablement of runtime instrumentation
    - up to 255 CPUs for nested guests
    - rework of machine check deliver
    - cleanups and fixes

    x86:
    - IOMMU part of AMD's AVIC for vmexit-less interrupt delivery
    - Hyper-V TSC page
    - per-vcpu tsc_offset in debugfs
    - accelerated INS/OUTS in nVMX
    - cleanups and fixes"

    * tag 'kvm-4.9-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (140 commits)
    KVM: MIPS: Drop dubious EntryHi optimisation
    KVM: MIPS: Invalidate TLB by regenerating ASIDs
    KVM: MIPS: Split kernel/user ASID regeneration
    KVM: MIPS: Drop other CPU ASIDs on guest MMU changes
    KVM: arm/arm64: vgic: Don't flush/sync without a working vgic
    KVM: arm64: Require in-kernel irqchip for PMU support
    KVM: PPC: Book3s PR: Allow access to unprivileged MMCR2 register
    KVM: PPC: Book3S PR: Support 64kB page size on POWER8E and POWER8NVL
    KVM: PPC: Book3S: Remove duplicate setting of the B field in tlbie
    KVM: PPC: BookE: Fix a sanity check
    KVM: PPC: Book3S HV: Take out virtual core piggybacking code
    KVM: PPC: Book3S: Treat VTB as a per-subcore register, not per-thread
    ARM: gic-v3: Work around definition of gic_write_bpr1
    KVM: nVMX: Fix the NMI IDT-vectoring handling
    KVM: VMX: Enable MSR-BASED TPR shadow even if APICv is inactive
    KVM: nVMX: Fix reload apic access page warning
    kvmconfig: add virtio-gpu to config fragment
    config: move x86 kvm_guest.config to a common location
    arm64: KVM: Remove duplicating init code for setting VMID
    ARM: KVM: Support vgic-v3
    ...

    Linus Torvalds
     

23 Sep, 2016

2 commits

  • virtio-gpu is used for VMs, so add it to the kvm config.

    Signed-off-by: Rob Herring
    Cc: Christoffer Dall
    Cc: Marc Zyngier
    Cc: Paolo Bonzini
    Cc: "Radim Krčmář"
    Cc: kvmarm@lists.cs.columbia.edu
    Cc: kvm@vger.kernel.org
    [expanded "frag" to "fragment" in summary]
    Signed-off-by: Radim Krčmář

    Rob Herring
     
  • kvm_guest.config is useful for KVM guests on other arches, and nothing
    in it appears to be x86 specific, so just move the whole file. Kbuild
    will find it in either location.

    Signed-off-by: Rob Herring
    Cc: Christoffer Dall
    Cc: Marc Zyngier
    Cc: Paolo Bonzini
    Cc: "Radim Krčmář"
    Cc: kvmarm@lists.cs.columbia.edu
    Cc: kvm@vger.kernel.org
    Acked-by: Christoffer Dall
    Signed-off-by: Radim Krčmář

    Rob Herring
     

02 Sep, 2016

1 commit

  • Using "make tinyconfig" produces a couple of annoying warnings that show
    up for build test machines all the time:

    .config:966:warning: override: NOHIGHMEM changes choice state
    .config:965:warning: override: SLOB changes choice state
    .config:963:warning: override: KERNEL_XZ changes choice state
    .config:962:warning: override: CC_OPTIMIZE_FOR_SIZE changes choice state
    .config:933:warning: override: SLOB changes choice state
    .config:930:warning: override: CC_OPTIMIZE_FOR_SIZE changes choice state
    .config:870:warning: override: SLOB changes choice state
    .config:868:warning: override: KERNEL_XZ changes choice state
    .config:867:warning: override: CC_OPTIMIZE_FOR_SIZE changes choice state

    I've made a previous attempt at fixing them and we discussed a number of
    alternatives.

    I tried changing the Makefile to use "merge_config.sh -n
    $(fragment-list)" but couldn't get that to work properly.

    This is yet another approach, based on the observation that we do want
    to see a warning for conflicting 'choice' options, and that we can
    simply make them non-conflicting by listing all other options as
    disabled. This is a trivial patch that we can apply independent of
    plans for other changes.

    Link: http://lkml.kernel.org/r/20160829214952.1334674-2-arnd@arndb.de
    Link: https://storage.kernelci.org/mainline/v4.7-rc6/x86-tinyconfig/build.log
    https://patchwork.kernel.org/patch/9212749/
    Signed-off-by: Arnd Bergmann
    Reviewed-by: Josh Triplett
    Reviewed-by: Masahiro Yamada
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     

03 Aug, 2016

1 commit

  • Copy the config fragments from the AOSP common kernel android-4.4
    branch. It is becoming possible to run mainline kernels with Android,
    but the kernel defconfigs don't work as-is and debugging missing config
    options is a pain. Adding the config fragments into the kernel tree,
    makes configuring a mainline kernel as simple as:

    make ARCH=arm multi_v7_defconfig android-base.config android-recommended.config

    The following non-upstream config options were removed:

    CONFIG_NETFILTER_XT_MATCH_QTAGUID
    CONFIG_NETFILTER_XT_MATCH_QUOTA2
    CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG
    CONFIG_PPPOLAC
    CONFIG_PPPOPNS
    CONFIG_SECURITY_PERF_EVENTS_RESTRICT
    CONFIG_USB_CONFIGFS_F_MTP
    CONFIG_USB_CONFIGFS_F_PTP
    CONFIG_USB_CONFIGFS_F_ACC
    CONFIG_USB_CONFIGFS_F_AUDIO_SRC
    CONFIG_USB_CONFIGFS_UEVENT
    CONFIG_INPUT_KEYCHORD
    CONFIG_INPUT_KEYRESET

    Link: http://lkml.kernel.org/r/1466708235-28593-1-git-send-email-robh@kernel.org
    Signed-off-by: Rob Herring
    Cc: Amit Pundir
    Cc: John Stultz
    Cc: Dmitry Shmidt
    Cc: Rom Lemarchand
    Cc: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Herring
     

16 Jun, 2015

1 commit

  • 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
    Cc: Borislav Petkov
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Michal Marek
    Cc: Randy Dunlap
    Cc: penberg@kernel.org
    Cc: levinsasha928@gmail.com
    Cc: mtosatti@redhat.com
    Cc: fengguang.wu@intel.com
    Cc: David Vrabel
    Cc: Ian Campbell
    Cc: Konrad Rzeszutek Wilk
    Cc: xen-devel@lists.xenproject.org
    Acked-by: Stefano Stabellini
    Acked-by: Julien Grall
    Acked-by: Michal Marek
    Acked-by: David Rientjes
    Reviewed-by: Josh Triplett
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: David Vrabel

    Luis R. Rodriguez
     

09 Aug, 2014

1 commit

  • Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
    allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
    "make allnoconfig" disables every possible config option.

    However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
    OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
    choices exist (compression, highmem, allocator) for which a non-default
    option produces a smaller kernel.

    Add a "tinyconfig" option, which starts from allnoconfig and then sets
    these options to configure the tiniest possible kernel. This provides a
    better baseline for embedded systems or efforts to reduce kernel size.

    Signed-off-by: Josh Triplett

    Josh Triplett