1. 26 1月, 2020 2 次提交
    • V
      ARM: 8952/1: Disable kmemleak on XIP kernels · bc420c6c
      Vincenzo Frascino 提交于
      Kmemleak relies on specific symbols to register the read only data
      during init (e.g. __start_ro_after_init).
      Trying to build an XIP kernel on arm results in the linking error
      reported below because when this option is selected read only data
      after init are not allowed since .data is read only (.rodata).
      
        arm-linux-gnueabihf-ld: mm/kmemleak.o: in function `kmemleak_init':
        kmemleak.c:(.init.text+0x148): undefined reference to `__end_ro_after_init'
        arm-linux-gnueabihf-ld: kmemleak.c:(.init.text+0x14c):
           undefined reference to `__end_ro_after_init'
        arm-linux-gnueabihf-ld: kmemleak.c:(.init.text+0x150):
           undefined reference to `__start_ro_after_init'
        arm-linux-gnueabihf-ld: kmemleak.c:(.init.text+0x156):
           undefined reference to `__start_ro_after_init'
        arm-linux-gnueabihf-ld: kmemleak.c:(.init.text+0x162):
           undefined reference to `__start_ro_after_init'
        arm-linux-gnueabihf-ld: kmemleak.c:(.init.text+0x16a):
           undefined reference to `__start_ro_after_init'
        linux/Makefile:1078: recipe for target 'vmlinux' failed
      
      Fix the issue enabling kmemleak only on non XIP kernels.
      Signed-off-by: NVincenzo Frascino <vincenzo.frascino@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      bc420c6c
    • V
      ARM: 8951/1: Fix Kexec compilation issue. · 76950f71
      Vincenzo Frascino 提交于
      To perform the reserve_crashkernel() operation kexec uses SECTION_SIZE to
      find a memblock in a range.
      SECTION_SIZE is not defined for nommu systems. Trying to compile kexec in
      these conditions results in a build error:
      
        linux/arch/arm/kernel/setup.c: In function ‘reserve_crashkernel’:
        linux/arch/arm/kernel/setup.c:1016:25: error: ‘SECTION_SIZE’ undeclared
           (first use in this function); did you mean ‘SECTIONS_WIDTH’?
                   crash_size, SECTION_SIZE);
                               ^~~~~~~~~~~~
                               SECTIONS_WIDTH
        linux/arch/arm/kernel/setup.c:1016:25: note: each undeclared identifier
           is reported only once for each function it appears in
        linux/scripts/Makefile.build:265: recipe for target 'arch/arm/kernel/setup.o'
           failed
      
      Make KEXEC depend on MMU to fix the compilation issue.
      Signed-off-by: NVincenzo Frascino <vincenzo.frascino@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      76950f71
  2. 25 11月, 2019 1 次提交
  3. 11 11月, 2019 1 次提交
    • C
      dma-direct: provide mmap and get_sgtable method overrides · 34dc0ea6
      Christoph Hellwig 提交于
      For dma-direct we know that the DMA address is an encoding of the
      physical address that we can trivially decode.  Use that fact to
      provide implementations that do not need the arch_dma_coherent_to_pfn
      architecture hook.  Note that we still can only support mmap of
      non-coherent memory only if the architecture provides a way to set an
      uncached bit in the page tables.  This must be true for architectures
      that use the generic remap helpers, but other architectures can also
      manually select it.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NMax Filippov <jcmvbkbc@gmail.com>
      34dc0ea6
  4. 04 11月, 2019 1 次提交
  5. 01 11月, 2019 1 次提交
  6. 25 9月, 2019 1 次提交
  7. 10 9月, 2019 2 次提交
  8. 29 8月, 2019 1 次提交
    • C
      dma-mapping: remove arch_dma_mmap_pgprot · 419e2f18
      Christoph Hellwig 提交于
      arch_dma_mmap_pgprot is used for two things:
      
       1) to override the "normal" uncached page attributes for mapping
          memory coherent to devices that can't snoop the CPU caches
       2) to provide the special DMA_ATTR_WRITE_COMBINE semantics on older
          arm systems and some mips platforms
      
      Replace one with the pgprot_dmacoherent macro that is already provided
      by arm and much simpler to use, and lift the DMA_ATTR_WRITE_COMBINE
      handling to common code with an explicit arch opt-in.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>	# m68k
      Acked-by: Paul Burton <paul.burton@mips.com>		# mips
      419e2f18
  9. 23 8月, 2019 1 次提交
  10. 20 8月, 2019 1 次提交
  11. 16 8月, 2019 1 次提交
  12. 14 8月, 2019 3 次提交
  13. 08 8月, 2019 1 次提交
  14. 15 7月, 2019 3 次提交
  15. 13 7月, 2019 2 次提交
  16. 03 7月, 2019 1 次提交
  17. 24 6月, 2019 2 次提交
  18. 21 6月, 2019 2 次提交
  19. 15 6月, 2019 1 次提交
    • M
      docs: kdump: convert docs to ReST and rename to *.rst · d67297ad
      Mauro Carvalho Chehab 提交于
      Convert kdump documentation to ReST and add it to the
      user faced manual, as the documents are mainly focused on
      sysadmins that would be enabling kdump.
      
      Note: the vmcoreinfo.rst has one very long title on one of its
      sub-sections:
      
      	PG_lru|PG_private|PG_swapcache|PG_swapbacked|PG_slab|PG_hwpoision|PG_head_mask|PAGE_BUDDY_MAPCOUNT_VALUE(~PG_buddy)|PAGE_OFFLINE_MAPCOUNT_VALUE(~PG_offline)
      
      I opted to break this one, into two entries with the same content,
      in order to make it easier to display after being parsed in html and PDF.
      
      The conversion is actually:
        - add blank lines and identation in order to identify paragraphs;
        - fix tables markups;
        - add some lists markups;
        - mark literal blocks;
        - adjust title markups.
      
      At its new index.rst, let's add a :orphan: while this is not linked to
      the main index.rst file, in order to avoid build warnings.
      Signed-off-by: NMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      d67297ad
  20. 12 6月, 2019 1 次提交
  21. 09 6月, 2019 1 次提交
  22. 22 5月, 2019 1 次提交
  23. 15 5月, 2019 2 次提交
  24. 09 5月, 2019 1 次提交
    • R
      ARM: riscpc: replace gettimeoffset() with clocksource · a44c1d70
      Russell King 提交于
      Replace the old gettimeoffset() interface (which became buggy in
      several ways) with a clocksource that atomically reads the count
      and status from the timer, and corrects the count as appropriate
      ensuring proper resolution of time without time warping backwards.
      
      We keep the original periodic timer non-clock event implementation
      to provide the kernel with a regular source of interrupts, which
      are required to keep the clocksource properly updated.
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      a44c1d70
  25. 24 4月, 2019 1 次提交
    • R
      ARM: fix function graph tracer and unwinder dependencies · 50362162
      Russell King 提交于
      Naresh Kamboju recently reported that the function-graph tracer crashes
      on ARM. The function-graph tracer assumes that the kernel is built with
      frame pointers.
      
      We explicitly disabled the function-graph tracer when building Thumb2,
      since the Thumb2 ABI doesn't have frame pointers.
      
      We recently changed the way the unwinder method was selected, which
      seems to have made it more likely that we can end up with the function-
      graph tracer enabled but without the kernel built with frame pointers.
      
      Fix up the function graph tracer dependencies so the option is not
      available when we have no possibility of having frame pointers, and
      adjust the dependencies on the unwinder option to hide the non-frame
      pointer unwinder options if the function-graph tracer is enabled.
      Reviewed-by: NMasami Hiramatsu <mhiramat@kernel.org>
      Tested-by: NMasami Hiramatsu <mhiramat@kernel.org>
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      50362162
  26. 23 4月, 2019 2 次提交
  27. 20 4月, 2019 2 次提交
    • L
      ARM: ixp4xx: Convert to SPARSE_IRQ · dc8ef8cd
      Linus Walleij 提交于
      This localizes the <mach/irqs.h> header to the mach-ixp4xx
      directory, removes NR_IRQS and switches IXP4xx over to using
      SPARSE_IRQ.
      
      This is a prerequisite for DT support.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      dc8ef8cd
    • L
      ARM: ixp4xx: Convert to MULTI_IRQ_HANDLER · 98ac0cc2
      Linus Walleij 提交于
      This rewrites the IXP4xx to use MULTI_IRQ_HANDLER and
      create an irqdomain for the irqchip in the platform. We
      convert the timer to request the interrupt like any other
      driver in the process.
      
      We bump all IRQs to 16+offset to avoid using IRQ 0 and
      set NR_IRQS to 512 (the default for most systems).
      This conveniently fits with the first 16 IRQs being
      pre-allocated when using SPARSE_IRQ.
      
      This is a prerequisite for SPARSE_IRQ and DT boot.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      98ac0cc2
  28. 17 4月, 2019 1 次提交