04 Apr, 2015

1 commit

  • When building specific DTBs out of the kernel tree the vendor subdirs
    (boot/dts/) are not created, ensure that they are before
    building the DTB.

    Signed-off-by: Nathan Rossi
    Signed-off-by: Michal Simek
    Acked-by: Will Deacon
    Signed-off-by: Olof Johansson

    Nathan Rossi
     

14 Feb, 2015

1 commit

  • Kernel Address sanitizer (KASan) is a dynamic memory error detector. It
    provides fast and comprehensive solution for finding use-after-free and
    out-of-bounds bugs.

    KASAN uses compile-time instrumentation for checking every memory access,
    therefore GCC > v4.9.2 required. v4.9.2 almost works, but has issues with
    putting symbol aliases into the wrong section, which breaks kasan
    instrumentation of globals.

    This patch only adds infrastructure for kernel address sanitizer. It's
    not available for use yet. The idea and some code was borrowed from [1].

    Basic idea:

    The main idea of KASAN is to use shadow memory to record whether each byte
    of memory is safe to access or not, and use compiler's instrumentation to
    check the shadow memory on each memory access.

    Address sanitizer uses 1/8 of the memory addressable in kernel for shadow
    memory and uses direct mapping with a scale and offset to translate a
    memory address to its corresponding shadow address.

    Here is function to translate address to corresponding shadow address:

    unsigned long kasan_mem_to_shadow(unsigned long addr)
    {
    return (addr >> KASAN_SHADOW_SCALE_SHIFT) + KASAN_SHADOW_OFFSET;
    }

    where KASAN_SHADOW_SCALE_SHIFT = 3.

    So for every 8 bytes there is one corresponding byte of shadow memory.
    The following encoding used for each shadow byte: 0 means that all 8 bytes
    of the corresponding memory region are valid for access; k (1
    Acked-by: Michal Marek
    Signed-off-by: Andrey Konovalov
    Cc: Dmitry Vyukov
    Cc: Konstantin Serebryany
    Cc: Dmitry Chernenkov
    Cc: Yuri Gribov
    Cc: Konstantin Khlebnikov
    Cc: Sasha Levin
    Cc: Christoph Lameter
    Cc: Joonsoo Kim
    Cc: Dave Hansen
    Cc: Andi Kleen
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Ryabinin
     

22 Oct, 2014

1 commit


19 Aug, 2014

1 commit

  • The comment in scripts/Makefile.build says as follows:

    We would rather have a list of rules like
    foo.o: $(foo-objs)
    but that's not so easy, so we rather make all composite objects depend
    on the set of all their parts

    This commit makes it possible!

    For example, assume a Makefile like this

    obj-m = foo.o bar.o
    foo-objs := foo1.o foo2.o
    bar-objs := bar1.o bar2.o

    Without this patch, foo.o depends on all of
    foo1.o foo2.o bar1.o bar2.o.
    It looks funny that foo.o is regenerated when bar1.c is updated.

    Now we can handle the dependency of foo.o and bar.o separately.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

30 Apr, 2014

1 commit


08 Apr, 2014

1 commit

  • Pull kbuild changes from Michal Marek:
    - cleanups in the main Makefiles and Documentation/DocBook/Makefile
    - make O=... directory is automatically created if needed
    - mrproper/distclean removes the old include/linux/version.h to make
    life easier when bisecting across the commit that moved the version.h
    file

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: docbook: fix the include error when executing "make help"
    kbuild: create a build directory automatically for out-of-tree build
    kbuild: remove redundant '.*.cmd' pattern from make distclean
    kbuild: move "quote" to Kbuild.include to be consistent
    kbuild: docbook: use $(obj) and $(src) rather than specific path
    kbuild: unconditionally clobber include/linux/version.h on distclean
    kbuild: docbook: specify KERNELDOC dependency correctly
    kbuild: docbook: include cmd files more simply
    kbuild: specify build_docproc as a phony target

    Linus Torvalds
     

30 Mar, 2014

1 commit


04 Mar, 2014

1 commit


20 Feb, 2014

2 commits

  • Unlike other build products in the Linux kernel, there is no 'make
    *install' mechanism to put devicetree blobs in a standard place.

    This commit adds a new 'dtbs_install' make target which copies all of
    the dtbs into the INSTALL_DTBS_PATH directory. INSTALL_DTBS_PATH can be
    set before calling make to change the default install directory. If not
    set then it defaults to:

    $INSTALL_PATH/dtbs/$KERNELRELEASE.

    This is done to keep dtbs from different kernel versions separate until
    things have settled down. Once the dtbs are stable, and not so strongly
    linked to the kernel version, the devicetree files will most likely move
    to their own repo. Users will need to upgrade install scripts at that
    time.

    v7: (reworked by Grant Likely)
    - Moved rules from arch/arm/Makefile to arch/arm/boot/dts/Makefile so
    that each dtb install could have a separate target and be reported as
    part of the make output.
    - Fixed dependency problem to ensure $KERNELRELEASE is calculated before
    attempting to install
    - Removed option to call external script. Copying the files should be
    sufficient and a build system can post-process the install directory.
    Despite the fact an external script is used for installing the kernel,
    I don't think that is a pattern that should be encouraged. I would
    rather see buildroot type tools post process the install directory to
    rename or move dtb files after installing to a staging directory.
    - Plus it is easy to add a hook after the fact without blocking the
    rest of this feature.
    - Move the helper targets into scripts/Makefile.lib with the rest of the
    common dtb rules

    Signed-off-by: Jason Cooper
    Signed-off-by: Grant Likely
    Cc: Michal Marek
    Cc: Russell King
    Cc: Rob Herring

    Jason Cooper
     
  • The testcase data is usable by any platform. This patch moves it into
    the drivers/of directory so it can be included by any architecture.

    Using the test cases requires manually adding #include
    to the end of the boards .dtsi file and enabling CONFIG_OF_SELFTEST. Not
    pretty though. A useful project would be to make the testcase code
    easier to execute.

    Signed-off-by: Grant Likely

    Grant Likely
     

11 Jul, 2013

1 commit

  • Pull kbuild updates from Michal Marek:
    - fix for make headers_install argv explosion with too long path
    - scripts/setlocalversion does not call git update-index needlessly
    - fix for the src.rpm produced by make rpm-pkg. The new make
    image_name can be useful also for other packaging tools.
    - scripts/mod/devicetable-offsets.o is not rebuilt during each make run
    - make modules_install dependency fix
    - scripts/sortextable portability fix
    - fix for kbuild to generate the output directory for all object files
    in subdirs.
    - a couple of minor fixes

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: create directory for dir/file.o
    tools/include: use stdint types for user-space byteshift headers
    Makefile: Fix install error with make -j option
    Fix a build warning in scripts/mod/file2alias.c
    improve modalias building
    scripts/mod: Spelling s/DEVICEVTABLE/DEVICETABLE/
    kbuild: fix error when building from src rpm
    scripts/setlocalversion on write-protected source tree
    Makefile.lib: align DTB quiet_cmd
    kbuild: fix make headers_install when path is too long

    Linus Torvalds
     

10 Jul, 2013

1 commit

  • Add support for extracting LZ4-compressed kernel images, as well as
    LZ4-compressed ramdisk images in the kernel boot process.

    Signed-off-by: Kyungsik Lee
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Russell King
    Cc: Borislav Petkov
    Cc: Florian Fainelli
    Cc: Yann Collet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kyungsik Lee
     

04 Jul, 2013

1 commit

  • When add a obj with dir to obj-y, like this

    obj-y += dir/file.o

    The $(obj)/dir not created, this patch fix this.

    When try to add a file(which in a subdir) to my board's obj-y, the build
    progress crashed.

    For example, I use at91rm9200ek board, and in kernel dir run:

    mkdir objtree
    make O=objtree at91rm9200_defconfig
    mkdir arch/arm/mach-at91/dir
    touch arch/arm/mach-at91/dir/file.c

    and edit arch/arm/mach-at91/dir/file.c to add some code.
    then edit arch/arm/mach-at91/Makefile, change the following line:

    obj-$(CONFIG_MACH_AT91RM9200EK) += board-rm9200ek.o

    to:

    obj-$(CONFIG_MACH_AT91RM9200EK) += board-rm9200ek.o dir/file.o

    Now build it:

    make O=objtree

    Then the error appears:
    ...
    CC arch/arm/mach-at91/board-rm9200dk.o
    CC arch/arm/mach-at91/board-rm9200ek.o
    CC arch/arm/mach-at91/dir/file.o
    linux-2.6/arch/arm/mach-at91/dir/file.c:5:
    fatal error: opening dependency file
    arch/arm/mach-at91/dir/.file.o.d: No such file or directory

    Check the objtree:
    LANG=en ls objtree/arch/arm/mach-at91/dir
    ls: cannot access objtree/arch/arm/mach-at91/dir: No such file or directory

    It's apparently that the target dir not created for file.o

    Check kbuild source code. It seems that kbuild create dirs for that in
    $(obj-dirs). But if the dir need not to create a built-in.o, It should
    never in $(obj-dirs).

    So I make this patch to make sure It in $(obj-dirs)

    this bug caused by commit
    f5fb976520a53f45f8bbf2e851f16b3b5558d485

    Signed-off-by: 张忠山
    Signed-off-by: Michal Marek

    张忠山
     

14 Jun, 2013

1 commit


13 Jun, 2013

1 commit

  • The unaligned dtb.S filename in make output started to irritate me:
    DTC arch/metag/boot/dts/skeleton.dtb
    DTB arch/metag/boot/dts/skeleton.dtb.S
    AS arch/metag/boot/dts/skeleton.dtb.o
    LD arch/metag/boot/dts/built-in.o

    Add an extra space to quiet_cmd_dt_S_dtb so the dtb.S filename aligns
    with all the others.

    Signed-off-by: James Hogan
    Cc: Dirk Brandewie
    Cc: Grant Likely
    Cc: trivial@kernel.org
    Signed-off-by: Michal Marek

    James Hogan
     

23 May, 2013

1 commit

  • In commit b40b25ff (kbuild: always run gcc -E on *.dts, remove cmd_dtc_cpp),
    dts building was changed to always use the C preprocessor. This meant
    that the .dts file passed to dtc is not the original, but the
    preprocessed one.

    When compiling with a separate build directory (i.e., with O=), this
    preprocessed file will not live in the same directory as the original.
    When the .dts file includes .dtsi files, dtc will look for them in the
    build directory, not in the source directory and compilation will fail.

    The commit referenced above tried to fix this by passing arch/*/boot/dts
    as an include path to dtc. However, for mips, the .dts files are not in
    this directory, so dts compilation on mips breaks for some targets.

    Instead of hardcoding this particular include path, this commit just
    uses the directory of the .dts file that is being compiled, which
    effectively restores the previous behaviour wrt includes. For most .dts
    files, this path is just the same as the previous hardcoded
    arch/*/boot/dts path.

    This was tested on a mips (rt3052) and an arm (bcm2835) target.

    Signed-off-by: Matthijs Kooijman
    Reviewed-by: Stephen Warren
    Signed-off-by: Michal Marek

    Matthijs Kooijman
     

06 May, 2013

1 commit

  • Pull mudule updates from Rusty Russell:
    "We get rid of the general module prefix confusion with a binary config
    option, fix a remove/insert race which Never Happens, and (my
    favorite) handle the case when we have too many modules for a single
    commandline. Seriously, the kernel is full, please go away!"

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    modpost: fix unwanted VMLINUX_SYMBOL_STR expansion
    X.509: Support parse long form of length octets in Authority Key Identifier
    module: don't unlink the module until we've removed all exposure.
    kernel: kallsyms: memory override issue, need check destination buffer length
    MODSIGN: do not send garbage to stderr when enabling modules signature
    modpost: handle huge numbers of modules.
    modpost: add -T option to read module names from file/stdin.
    modpost: minor cleanup.
    genksyms: pass symbol-prefix instead of arch
    module: fix symbol versioning with symbol prefixes
    CONFIG_SYMBOL_PREFIX: cleanup.

    Linus Torvalds
     

06 Apr, 2013

3 commits

  • Replace cmd_dtc with cmd_dtc_cpp, and delete the latter.

    Previously, a special file extension (.dtsp) was required to trigger
    the C pre-processor to run on device tree files. This was ugly. Now that
    previous changes have enhanced cmd_dtc_cpp to collect dependency
    information from both gcc -E and dtc, we can transparently run the pre-
    processor on all device tree files, irrespective of whether they
    use /include/ or #include syntax to include *.dtsi.

    Signed-off-by: Stephen Warren
    Acked-by: Rob Herring

    Stephen Warren
     
  • Prior to this change, when compiling *.dts to *.dtb, the dependency
    output from dtc would be used, and when compiling *.dtsp to *.dtb, the
    dependency output from gcc -E alone would be used, despite dtc also
    being invoked (on a temporary file that was guaranteed to have no
    dependencies).

    With this change, when compiling *.dtsp to *.dtb, the dependency files
    from both gcc -E and dtc are used. This will allow cmd_dtc_cpp to
    replace cmd_dtc in a future change. In turn, that will allow the C pre-
    processor to be run transparently on *.dts, without the need to a
    separate rule or file extension to trigger it.

    Signed-off-by: Stephen Warren
    Acked-by: Rob Herring

    Stephen Warren
     
  • The recent dtc+cpp support allows header files and C pre-processor
    defines/macros to be used when compiling device tree files. These
    headers will typically define various constants that are part of the
    device tree bindings.

    The original patch which set up the dtc+cpp include path only considered
    using those headers from device tree files. However, most are also
    useful for kernel code which needs to interpret the device tree.

    In both the DT files and the kernel, I'd like to include the DT-related
    headers in the same way, for example, .
    That will simplify any text which discusses the DT header locations.

    Creating a for kernel source to use is as simple as
    placing files into include/dt-bindings/.

    However, when compiling DT files, the include path should be restricted
    so that only the dt-bindings path is available; arbitrary kernel headers
    shouldn't be exposed. For this reason, create a specific include
    directory for use by dtc+cpp, and symlink dt-bindings from there to the
    actual location of include/dt-bindings/. For want of a better location,
    place this "include chroot" into the existing dts/ directory.

    arch/*/boot/dts/include/dt-bindings -> ../../../../../include/dt-bindings

    Some headers used by device tree files may not be useful to the kernel;
    they may be used simply to aid in constructing the DT file (e.g. macros
    to create a node), but not define any information that the kernel needs
    to share. These may be placed directly into arch/*/boot/dts/ along with
    the DT files themselves.

    Acked-by: Michal Marek
    Acked-by: Shawn Guo
    Acked-by: Rob Herring
    Signed-off-by: Stephen Warren

    Stephen Warren
     

15 Mar, 2013

1 commit

  • We have CONFIG_SYMBOL_PREFIX, which three archs define to the string
    "_". But Al Viro broke this in "consolidate cond_syscall and
    SYSCALL_ALIAS declarations" (in linux-next), and he's not the first to
    do so.

    Using CONFIG_SYMBOL_PREFIX is awkward, since we usually just want to
    prefix it so something. So various places define helpers which are
    defined to nothing if CONFIG_SYMBOL_PREFIX isn't set:

    1) include/asm-generic/unistd.h defines __SYMBOL_PREFIX.
    2) include/asm-generic/vmlinux.lds.h defines VMLINUX_SYMBOL(sym)
    3) include/linux/export.h defines MODULE_SYMBOL_PREFIX.
    4) include/linux/kernel.h defines SYMBOL_PREFIX (which differs from #7)
    5) kernel/modsign_certificate.S defines ASM_SYMBOL(sym)
    6) scripts/modpost.c defines MODULE_SYMBOL_PREFIX
    7) scripts/Makefile.lib defines SYMBOL_PREFIX on the commandline if
    CONFIG_SYMBOL_PREFIX is set, so that we have a non-string version
    for pasting.

    (arch/h8300/include/asm/linkage.h defines SYMBOL_NAME(), too).

    Let's solve this properly:
    1) No more generic prefix, just CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX.
    2) Make linux/export.h usable from asm.
    3) Define VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR().
    4) Make everyone use them.

    Signed-off-by: Rusty Russell
    Reviewed-by: James Hogan
    Tested-by: James Hogan (metag)

    Rusty Russell
     

13 Feb, 2013

1 commit

  • Device tree source files may now include header files. The intent is
    that those header files define/name constants used as part of the DT
    bindings. Currently this feature is open to abuse, since any kernel
    header file at all can be included, This could allow device tree files
    to become dependant on kernel headers files, and thus make them no
    longer OS-independent. This would also prevent separating the device
    tree source files from the kernel repository.

    Solve this by limiting the cpp include path for device tree files to
    separate directories.

    Signed-off-by: Stephen Warren
    Signed-off-by: Grant Likely

    Stephen Warren
     

08 Feb, 2013

1 commit

  • Create cmd_dtc_cpp to run the C pre-processor on *.dts file before
    passing them to dtc for final compilation. This allows the use of #define
    and #include within the .dts file.

    Acked-by: Simon Glass
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Michal Marek
    Acked-by: Srinivas Kandagatla
    Signed-off-by: Stephen Warren
    Signed-off-by: Grant Likely

    Stephen Warren
     

01 Dec, 2012

1 commit

  • All architectures that use cmd_dtc do so in almost the same way. Create
    a central build rule to avoid duplication. The one difference is that
    most current uses of dtc build $(obj)/%.dtb from $(src)/dts/%.dts rather
    than building the .dtb in the same directory as the .dts file. This
    difference will be eliminated arch-by-arch in future patches.

    MIPS is the exception here; it already uses the exact same rule as the
    new common rule, so the duplicate is removed in this patch to avoid any
    conflict. arch/mips changes courtesy of Ralf Baechle.

    Update Documentation/kbuild to remove the explicit call to cmd_dtc from
    the example, now that the rule exists in a centralized location.

    Cc: Arnd Bergmann
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Olof Johansson
    Cc: Russell King
    Acked-by: Catalin Marinas
    Cc: Jonas Bonn
    Cc: linux@lists.openrisc.net
    Cc: Aurelien Jacquiot
    Cc: linux-c6x-dev@linux-c6x.org
    Cc: Mark Salter
    Cc: Michal Simek
    Cc: microblaze-uclinux@itee.uq.edu.au
    Cc: Chris Zankel
    Cc: linux-xtensa@linux-xtensa.org
    Cc: Max Filippov
    Signed-off-by: Ralf Baechle
    Signed-off-by: Stephen Warren
    Signed-off-by: Rob Herring

    Stephen Warren
     

26 Mar, 2012

1 commit

  • All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
    to avoid duplication.

    All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
    parameterized version in Makefile.lib to avoid duplication.

    Signed-off-by: Stephen Warren
    Acked-by: Nicolas Pitre
    Tested-by: Mike Frysinger [Blackfin]
    Tested-by: Michal Simek [Microblaze]
    Tested-by: Guan Xuetao [unicore32]
    Signed-off-by: Michal Marek

    Stephen Warren
     

15 Jan, 2012

1 commit

  • This hooks dtc into Kbuild's dependency system.

    Thus, for example, "make dtbs" will rebuild tegra-harmony.dtb if only
    tegra20.dtsi has changed yet tegra-harmony.dts has not. The previous
    lack of this feature recently caused me to have very confusing "git
    bisect" results.

    For ARM, it's obvious what to add to $(targets). I'm not familiar enough
    with other architectures to know what to add there. Powerpc appears to
    already add various .dtb files into $(targets), but the other archs may
    need something added to $(targets) to work.

    Signed-off-by: Stephen Warren
    Acked-by: Shawn Guo
    [mmarek: Dropped arch/c6x part to avoid merging commits from the middle
    of the merge window]
    Signed-off-by: Michal Marek

    Stephen Warren
     

09 Jan, 2012

1 commit

  • KBUILD_MODNAME is not defined for files that are linked into multiple
    modules, and trying to change reality to match documentation would
    result in all sorts of trouble. E.g. options for built-in modules would
    be called either foo_bar.param, foo.param, or bar.param, depending on
    the configuration. So just change the comment.

    Signed-off-by: Michal Marek

    Michal Marek
     

31 Aug, 2011

1 commit

  • commit 7373f4f (kbuild: add implicit rules for parser generation)
    created a implicit rule chain (%.c: %.c_shipped: %.y).
    Make considers the _shipped files to be intermediate files which
    causes them to be deleted if they didn't exist before make was run.
    Mark the _shipped files PRECIOUS to prevent make from deleting them.

    Signed-off-by: Peter Foley
    Acked-by: Arnaud Lacombe
    Signed-off-by: Michal Marek

    Peter Foley
     

10 Jun, 2011

2 commits


18 Apr, 2011

1 commit


14 Jan, 2011

1 commit

  • In userspace, the .lzma format has become mostly a legacy file format that
    got superseded by the .xz format. Similarly, LZMA Utils was superseded by
    XZ Utils.

    These patches add support for XZ decompression into the kernel. Most of
    the code is as is from XZ Embedded .
    It was written for the Linux kernel but is usable in other projects too.

    Advantages of XZ over the current LZMA code in the kernel:
    - Nice API that can be used by other kernel modules; it's
    not limited to kernel, initramfs, and initrd decompression.
    - Integrity check support (CRC32)
    - BCJ filters improve compression of executable code on
    certain architectures. These together with LZMA2 can
    produce a few percent smaller kernel or Squashfs images
    than plain LZMA without making the decompression slower.

    This patch: Add the main decompression code (xz_dec), testing module
    (xz_dec_test), wrapper script (xz_wrap.sh) for the xz command line tool,
    and documentation. The xz_dec module is enough to have a usable XZ
    decompressor e.g. for Squashfs.

    Signed-off-by: Lasse Collin
    Cc: "H. Peter Anvin"
    Cc: Alain Knaff
    Cc: Albin Tonnerre
    Cc: Phillip Lougher
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lasse Collin
     

24 Dec, 2010

1 commit

  • This patch adds support for linking device tree blob(s) into
    vmlinux. Modifies asm-generic/vmlinux.lds.h to add linking
    .dtb sections into vmlinux. To maintain compatiblity with the of/fdt
    driver code platforms MUST copy the blob to a non-init memory location
    before the kernel frees the .init.* sections in the image.

    Modifies scripts/Makefile.lib to add a kbuild command to
    compile DTS files to device tree blobs and a rule to create objects to
    wrap the blobs for linking.

    STRUCT_ALIGNMENT is defined in vmlinux.lds.h for use in the rule to
    create wrapper objects for the dtb in Makefile.lib. The
    STRUCT_ALIGN() macro in vmlinux.lds.h is modified to use the
    STRUCT_ALIGNMENT definition.

    The DTB's are placed on 32 byte boundries to allow parsing the blob
    with driver/of/fdt.c during early boot without having to copy the blob
    to get the structure alignment GCC expects.

    A DTB is linked in by adding the DTB object to the list of objects to
    be linked into vmlinux in the archtecture specific Makefile using
    obj-y += foo.dtb.o

    Signed-off-by: Dirk Brandewie
    Acked-by: Michal Marek
    [grant.likely@secretlab.ca: cleaned up whitespace inconsistencies]
    Signed-off-by: Grant Likely

    Dirk Brandewie
     

29 Oct, 2010

2 commits


23 Sep, 2010

1 commit


01 Jun, 2010

1 commit

  • * 'for-35' of git://repo.or.cz/linux-kbuild: (81 commits)
    kbuild: Revert part of e8d400a to resolve a conflict
    kbuild: Fix checking of scm-identifier variable
    gconfig: add support to show hidden options that have prompts
    menuconfig: add support to show hidden options which have prompts
    gconfig: remove show_debug option
    gconfig: remove dbg_print_ptype() and dbg_print_stype()
    kconfig: fix zconfdump()
    kconfig: some small fixes
    add random binaries to .gitignore
    kbuild: Include gen_initramfs_list.sh and the file list in the .d file
    kconfig: recalc symbol value before showing search results
    .gitignore: ignore *.lzo files
    headerdep: perlcritic warning
    scripts/Makefile.lib: Align the output of LZO
    kbuild: Generate modules.builtin in make modules_install
    Revert "kbuild: specify absolute paths for cscope"
    kbuild: Do not unnecessarily regenerate modules.builtin
    headers_install: use local file handles
    headers_check: fix perl warnings
    export_report: fix perl warnings
    ...

    Linus Torvalds
     

07 Apr, 2010

1 commit

  • Add support for the hardware version of the Hamming weight function,
    popcnt, present in CPUs which advertize it under CPUID, Function
    0x0000_0001_ECX[23]. On CPUs which don't support it, we fallback to the
    default lib/hweight.c sw versions.

    A synthetic benchmark comparing popcnt with __sw_hweight64 showed almost
    a 3x speedup on a F10h machine.

    Signed-off-by: Borislav Petkov
    LKML-Reference:
    Signed-off-by: H. Peter Anvin

    Borislav Petkov
     

11 Mar, 2010

1 commit


13 Jan, 2010

1 commit

  • In an x86 build with CONFIG_KERNEL_LZMA enabled and dash as sh,
    arch/x86/boot/compressed/vmlinux.bin.lzma ends with
    '\xf0\x7d\x39\x00' (16 bytes) instead of the 4 bytes intended and
    the resulting vmlinuz fails to boot. This improves on the
    previous behavior, in which the file contained the characters
    '-ne ' as well, but not by much.

    Previous commits replaced "echo -ne" first with "/bin/echo -ne",
    then "printf" in the hope of improving portability, but none of
    these commands is guaranteed to support hexadecimal escapes on
    POSIX systems. So use the shell to convert from hexadecimal to
    octal.

    With this change, an LZMA-compressed kernel built with dash as sh
    boots correctly again.

    Reported-by: Sebastian Dalfuß
    Reported-by: Oliver Hartkopp
    Reported-by: Michael Guntsche
    Signed-off-by: Jonathan Nieder
    Cc: Michael Tokarev
    Cc: Alek Du
    Cc: Andrew Morton
    Signed-off-by: Michal Marek

    Jonathan Nieder