1. 31 10月, 2018 1 次提交
  2. 28 10月, 2018 2 次提交
  3. 27 10月, 2018 1 次提交
  4. 19 10月, 2018 4 次提交
  5. 17 10月, 2018 1 次提交
    • H
      extract-vmlinux: Check for uncompressed image as fallback · db139d71
      Helge Deller 提交于
      As on x86-64 and other architectures, the boot kernel on parisc (vmlinuz
      and bzImage) contains a full compressed copy of the final kernel
      executable (vmlinux.bin.gz), which one should be able to extract with
      the extract-vmlinux script.
      
      But on parisc extracting the kernel with extract-vmlinux fails.
      Currently the script first checks if the given file is an ELF file
      (which is true on parisc) and if so returns it.  Thus on parisc we
      unexpectedly get back the vmlinuz boot file instead of the uncompressed
      vmlinux image.
      
      This patch fixes this issue by reverting the logic. It now first tries
      to find a compression signature in the given file and if that fails it
      checks the file itself as fallback.
      Signed-off-by: NHelge Deller <deller@gmx.de>
      db139d71
  6. 11 10月, 2018 1 次提交
  7. 04 10月, 2018 5 次提交
    • M
      kbuild: simplify command line creation in scripts/mkmakefile · 80d0dda3
      Masahiro Yamada 提交于
      Assuming we never invoke the generated Makefile from outside of
      the $(objtree) directory, $(CURDIR) points to the absolute path
      of $(objtree).
      
      BTW, 'lastword' is natively supported by GNU Make 3.81+, which
      is the current requirement for building the kernel.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      80d0dda3
    • M
      kbuild: do not pass $(objtree) to scripts/mkmakefile · 4fd61277
      Masahiro Yamada 提交于
      Since $(objtree) is always '.', it is not useful to pass it to
      scripts/mkmakefile.  I assume nobody wants to run this script directly.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      4fd61277
    • M
      kbuild: remove user ID check in scripts/mkmakefile · 74bc0c09
      Masahiro Yamada 提交于
      This line was added by commit fd5f0cd6 ("kbuild: Do not overwrite
      makefile as anohter user").  Its commit description says the intention
      was to prevent $(objtree)/Makefile from being owned by root when e.g.
      running 'make install'.
      
      However, as commit 19514fc6 ("arm, kbuild: make "make install" not
      depend on vmlinux") stated, installation targets must not modify the
      source tree in the first place.  If they do, we are already screwed up.
      We must fix the root cause.
      
      Installation targets should just copy files verbatim, hence we never
      expect $(objtree)/Makefile is touched by root.  The user ID check in
      scripts/mkmakefile is unneeded.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      74bc0c09
    • M
      kbuild: remove VERSION and PATCHLEVEL from $(objtree)/Makefile · 77ec0c20
      Masahiro Yamada 提交于
      Neither VERSION nor PATCHLEVEL is used in any useful way.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      77ec0c20
    • N
      kbuild/Makefile: Prepare for using macros in inline assembly code to work... · 77b0bf55
      Nadav Amit 提交于
      kbuild/Makefile: Prepare for using macros in inline assembly code to work around asm() related GCC inlining bugs
      
      Using macros in inline assembly allows us to work around bugs
      in GCC's inlining decisions.
      
      Compile macros.S and use it to assemble all C files.
      Currently only x86 will use it.
      
      Background:
      
      The inlining pass of GCC doesn't include an assembler, so it's not aware
      of basic properties of the generated code, such as its size in bytes,
      or that there are such things as discontiuous blocks of code and data
      due to the newfangled linker feature called 'sections' ...
      
      Instead GCC uses a lazy and fragile heuristic: it does a linear count of
      certain syntactic and whitespace elements in inlined assembly block source
      code, such as a count of new-lines and semicolons (!), as a poor substitute
      for "code size and complexity".
      
      Unsurprisingly this heuristic falls over and breaks its neck whith certain
      common types of kernel code that use inline assembly, such as the frequent
      practice of putting useful information into alternative sections.
      
      As a result of this fresh, 20+ years old GCC bug, GCC's inlining decisions
      are effectively disabled for inlined functions that make use of such asm()
      blocks, because GCC thinks those sections of code are "large" - when in
      reality they are often result in just a very low number of machine
      instructions.
      
      This absolute lack of inlining provess when GCC comes across such asm()
      blocks both increases generated kernel code size and causes performance
      overhead, which is particularly noticeable on paravirt kernels, which make
      frequent use of these inlining facilities in attempt to stay out of the
      way when running on baremetal hardware.
      
      Instead of fixing the compiler we use a workaround: we set an assembly macro
      and call it from the inlined assembly block. As a result GCC considers the
      inline assembly block as a single instruction. (Which it often isn't but I digress.)
      
      This uglifies and bloats the source code - for example just the refcount
      related changes have this impact:
      
       Makefile                 |    9 +++++++--
       arch/x86/Makefile        |    7 +++++++
       arch/x86/kernel/macros.S |    7 +++++++
       scripts/Kbuild.include   |    4 +++-
       scripts/mod/Makefile     |    2 ++
       5 files changed, 26 insertions(+), 3 deletions(-)
      
      Yay readability and maintainability, it's not like assembly code is hard to read
      and maintain ...
      
      We also hope that GCC will eventually get fixed, but we are not holding
      our breath for that. Yet we are optimistic, it might still happen, any decade now.
      
      [ mingo: Wrote new changelog describing the background. ]
      Tested-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NNadav Amit <namit@vmware.com>
      Acked-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Michal Marek <michal.lkml@markovi.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kbuild@vger.kernel.org
      Link: http://lkml.kernel.org/r/20181003213100.189959-3-namit@vmware.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      77b0bf55
  8. 02 10月, 2018 1 次提交
    • R
      kbuild: consolidate Devicetree dtb build rules · 37c8a5fa
      Rob Herring 提交于
      There is nothing arch specific about building dtb files other than their
      location under /arch/*/boot/dts/. Keeping each arch aligned is a pain.
      The dependencies and supported targets are all slightly different.
      Also, a cross-compiler for each arch is needed, but really the host
      compiler preprocessor is perfectly fine for building dtbs. Move the
      build rules to a common location and remove the arch specific ones. This
      is done in a single step to avoid warnings about overriding rules.
      
      The build dependencies had been a mixture of 'scripts' and/or 'prepare'.
      These pull in several dependencies some of which need a target compiler
      (specifically devicetable-offsets.h) and aren't needed to build dtbs.
      All that is really needed is dtc, so adjust the dependencies to only be
      dtc.
      
      This change enables support 'dtbs_install' on some arches which were
      missing the target.
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Acked-by: NPaul Burton <paul.burton@mips.com>
      Acked-by: NLey Foon Tan <ley.foon.tan@intel.com>
      Acked-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Cc: Michal Marek <michal.lkml@markovi.net>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: linux-kbuild@vger.kernel.org
      Cc: linux-snps-arc@lists.infradead.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: uclinux-h8-devel@lists.sourceforge.jp
      Cc: linux-mips@linux-mips.org
      Cc: nios2-dev@lists.rocketboards.org
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: linux-xtensa@linux-xtensa.org
      Signed-off-by: NRob Herring <robh@kernel.org>
      37c8a5fa
  9. 21 9月, 2018 1 次提交
    • R
      scripts/dtc: Update to upstream version v1.4.7-14-gc86da84d30e4 · f858927f
      Rob Herring 提交于
      Major changes are I2C and SPI bus checks, YAML output format (for
      future validation), some new libfdt functions, and more libfdt
      validation of dtbs.
      
      The YAML addition adds an optional dependency on libyaml. pkg-config is
      used to test for it and pkg-config became a kconfig dependency in 4.18.
      
      This adds the following commits from upstream:
      
      c86da84d30e4 Add support for YAML encoded output
      361b5e7d8067 Make type_marker_length helper public
      bfbfab047e45 pylibfdt: Add a means to add and delete notes
      9005f4108e7c pylibfdt: Allow delprop() to return errors
      b94c056b137e Make valgrind optional
      fd06c54d4711 tests: Better testing of dtc -I fs mode
      c3f50c9a86d9 tests: Allow dtbs_equal_unordered to ignore mem reserves
      0ac9fdee37c7 dtc: trivial '-I fs -O dts' test
      0fd1c8c783f3 pylibfdt: fdt_get_mem_rsv returns 2 uint64_t values
      04853cad18f4 pylibfdt: Don't incorrectly / unnecessarily override uint64_t typemap
      9619c8619c37 Kill bogus TYPE_BLOB marker type
      ac68ff92ae20 parser: add TYPE_STRING marker to path references
      90a190eb04d9 checks: add SPI bus checks
      53a1bd546905 checks: add I2C bus checks
      88f18909db73 dtc: Bump version to v1.4.7
      85bce8b2f06d tests: Correction to vg_prepare_blob()
      57f7f9e7bc7c tests: Don't call memcmp() with NULL arguments
      c12b2b0c20eb libfdt: fdt_address_cells() and fdt_size_cells()
      3fe0eeda0b7f livetree: Set phandle properties type to uint32
      853649acceba pylibfdt: Support the sequential-write interface
      9b0e4fe26093 tests: Improve fdt_resize() tests
      1087504bb3e8 libfdt: Add necessary header padding in fdt_create()
      c72fa777e613 libfdt: Copy the struct region in fdt_resize()
      32b9c6130762 Preserve datatype markers when emitting dts format
      6dcb8ba408ec libfdt: Add helpers for accessing unaligned words
      42607f21d43e tests: Fix incorrect check name 'prop_name_chars'
      9d78c33bf8a1 tests: fix grep for checks error messages
      b770f3d1c13f pylibfdt: Support setting the name of a node
      2f0d07e678e0 pylibfdt: Add functions to set and get properties as strings
      354d3dc55939 pylibfdt: Update the bytearray size with pack()
      3c374d46acce pylibfdt: Allow reading integer values from properties
      49d32ce40bb4 pylibfdt: Use an unsigned type for fdt32_t
      481246a0c13a pylibfdt: Avoid accessing the internal _fdt member in tests
      9aafa33d99ed pylibfdt: Add functions to update properties
      5a598671fdbf pylibfdt: Support device-tree creation/expansion
      483e170625e1 pylibfdt: Add support for reading the memory reserve map
      29bb05aa4200 pylibfdt: Add support for the rest of the header functions
      582a7159a5d0 pylibfdt: Add support for fdt_next_node()
      f0f8c9169819 pylibfdt: Reorder functions to match libfdt.h
      64a69d123935 pylibfdt: Return string instead of bytearray from getprop()
      4d09a83420df fdtput: Add documentation
      e617cbe1bd67 fdtget: Add documentation
      180a93924014 Use <inttypes.h> format specifiers in a bunch of places we should
      b9af3b396576 scripts/dtc: Fixed format mismatch in fprintf
      4b8fcc3d015c libfdt: Add fdt_check_full() function
      c14223fb2292 tests: Use valgrind client requests for better checking
      5b67d2b955a3 tests: Better handling of valgrind errors saving blobs
      e2556aaeb506 tests: Remove unused #define
      fb9c6abddaa8 Use size_t for blob lengths in utilfdt_read*
      0112fda03bf6 libfdt: Add fdt_header_size()
      6473a21d8bfe Consolidate utilfdt_read_len() variants
      d5db5382c5e5 libfdt: Safer access to memory reservations
      719d582e98ec libfdt: Propagate name errors in fdt_getprop_by_offset()
      70166d62a27f libfdt: Safer access to strings section
      eb890c0f77dc libfdt: Make fdt_check_header() more thorough
      899d6fad93f3 libfdt: Improve sequential write state checking
      04b5b4062ccd libfdt: Clean up header checking functions
      44d3efedc816 Preserve datatype information when parsing dts
      f0be81bd8de0 Make Property a subclass of bytearray
      24b1f3f064d4 pylibfdt: Add a method to access the device tree directly
      Signed-off-by: NRob Herring <robh@kernel.org>
      f858927f
  10. 20 9月, 2018 1 次提交
  11. 19 9月, 2018 1 次提交
  12. 12 9月, 2018 2 次提交
  13. 10 9月, 2018 3 次提交
    • M
      kallsyms: remove left-over Blackfin code · 36f546a1
      Masahiro Yamada 提交于
      These symbols were added by commit 028f0426 ("kallsyms: support
      kernel symbols in Blackfin on-chip memory") for Blackfin.
      
      The Blackfin support was removed by commit 4ba66a97 ("arch: remove
      blackfin port").
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      36f546a1
    • J
      kallsyms: reduce size a little on 64-bit · 80ffbaa5
      Jan Beulich 提交于
      Both kallsyms_num_syms and kallsyms_markers[] don't really need to use
      unsigned long as their (base) types; unsigned int fully suffices.
      Signed-off-by: NJan Beulich <jbeulich@suse.com>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      80ffbaa5
    • H
      Drop all 00-INDEX files from Documentation/ · a7ddcea5
      Henrik Austad 提交于
      This is a respin with a wider audience (all that get_maintainer returned)
      and I know this spams a *lot* of people. Not sure what would be the correct
      way, so my apologies for ruining your inbox.
      
      The 00-INDEX files are supposed to give a summary of all files present
      in a directory, but these files are horribly out of date and their
      usefulness is brought into question. Often a simple "ls" would reveal
      the same information as the filenames are generally quite descriptive as
      a short introduction to what the file covers (it should not surprise
      anyone what Documentation/sched/sched-design-CFS.txt covers)
      
      A few years back it was mentioned that these files were no longer really
      needed, and they have since then grown further out of date, so perhaps
      it is time to just throw them out.
      
      A short status yields the following _outdated_ 00-INDEX files, first
      counter is files listed in 00-INDEX but missing in the directory, last
      is files present but not listed in 00-INDEX.
      
      List of outdated 00-INDEX:
      Documentation: (4/10)
      Documentation/sysctl: (0/1)
      Documentation/timers: (1/0)
      Documentation/blockdev: (3/1)
      Documentation/w1/slaves: (0/1)
      Documentation/locking: (0/1)
      Documentation/devicetree: (0/5)
      Documentation/power: (1/1)
      Documentation/powerpc: (0/5)
      Documentation/arm: (1/0)
      Documentation/x86: (0/9)
      Documentation/x86/x86_64: (1/1)
      Documentation/scsi: (4/4)
      Documentation/filesystems: (2/9)
      Documentation/filesystems/nfs: (0/2)
      Documentation/cgroup-v1: (0/2)
      Documentation/kbuild: (0/4)
      Documentation/spi: (1/0)
      Documentation/virtual/kvm: (1/0)
      Documentation/scheduler: (0/2)
      Documentation/fb: (0/1)
      Documentation/block: (0/1)
      Documentation/networking: (6/37)
      Documentation/vm: (1/3)
      
      Then there are 364 subdirectories in Documentation/ with several files that
      are missing 00-INDEX alltogether (and another 120 with a single file and no
      00-INDEX).
      
      I don't really have an opinion to whether or not we /should/ have 00-INDEX,
      but the above 00-INDEX should either be removed or be kept up to date. If
      we should keep the files, I can try to keep them updated, but I rather not
      if we just want to delete them anyway.
      
      As a starting point, remove all index-files and references to 00-INDEX and
      see where the discussion is going.
      Signed-off-by: NHenrik Austad <henrik@austad.us>
      Acked-by: N"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Just-do-it-by: NSteven Rostedt <rostedt@goodmis.org>
      Reviewed-by: NJens Axboe <axboe@kernel.dk>
      Acked-by: NPaul Moore <paul@paul-moore.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: NMark Brown <broonie@kernel.org>
      Acked-by: NMike Rapoport <rppt@linux.vnet.ibm.com>
      Cc: [Almost everybody else]
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      a7ddcea5
  14. 09 9月, 2018 1 次提交
  15. 05 9月, 2018 3 次提交
  16. 04 9月, 2018 1 次提交
  17. 03 9月, 2018 2 次提交
    • R
      kbuild: make missing $DEPMOD a Warning instead of an Error · 914b087f
      Randy Dunlap 提交于
      When $DEPMOD is not found, only print a warning instead of exiting
      with an error message and error status:
      
      Warning: 'make modules_install' requires /sbin/depmod. Please install it.
      This is probably in the kmod package.
      
      Change the Error to a Warning because "not all build hosts for cross
      compiling Linux are Linux systems and are able to provide a working
      port of depmod, especially at the file patch /sbin/depmod."
      
      I.e., "make modules_install" may be used to copy/install the
      loadable modules files to a target directory on a build system and
      then transferred to an embedded device where /sbin/depmod is run
      instead of it being run on the build system.
      
      Fixes: 934193a6 ("kbuild: verify that $DEPMOD is installed")
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Reported-by: NH. Nikolaus Schaller <hns@goldelico.com>
      Cc: stable@vger.kernel.org
      Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
      Cc: Lucas De Marchi <lucas.de.marchi@gmail.com>
      Cc: Michal Marek <michal.lkml@markovi.net>
      Cc: Jessica Yu <jeyu@kernel.org>
      Cc: Chih-Wei Huang <cwhuang@linux.org.tw>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      914b087f
    • M
      kconfig: do not require pkg-config on make {menu,n}config · fd65465b
      Masahiro Yamada 提交于
      Meelis Roos reported a {menu,n}config regression:
       "I have libncurses devel package installed in the default system
        location (as do 99%+ on actual developers probably) and in this
        case, pkg-config is useless.  pkg-config is needed only when
        libraries and headers are installed in non-default locations but
        it is bad to require installation of pkg-config on all the machines
        where make menuconfig would be possibly run."
      
      For {menu,n}config, do not use pkg-config if it is not installed.
      For {g,x}config, keep checking pkg-config since we really rely on it
      for finding the installation paths of the required packages.
      
      Fixes: 4ab3b801 ("kconfig: check for pkg-config on make {menu,n,g,x}config")
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Tested-by: NMeelis Roos <mroos@linux.ee>
      Tested-by: NRandy Dunlap <rdunlap@infradead.org>
      fd65465b
  18. 01 9月, 2018 2 次提交
  19. 30 8月, 2018 2 次提交
  20. 24 8月, 2018 4 次提交
  21. 23 8月, 2018 1 次提交