28 Oct, 2020

1 commit


27 Oct, 2020

1 commit


23 Oct, 2020

1 commit

  • Pull initial set_fs() removal from Al Viro:
    "Christoph's set_fs base series + fixups"

    * 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    fs: Allow a NULL pos pointer to __kernel_read
    fs: Allow a NULL pos pointer to __kernel_write
    powerpc: remove address space overrides using set_fs()
    powerpc: use non-set_fs based maccess routines
    x86: remove address space overrides using set_fs()
    x86: make TASK_SIZE_MAX usable from assembly code
    x86: move PAGE_OFFSET, TASK_SIZE & friends to page_{32,64}_types.h
    lkdtm: remove set_fs-based tests
    test_bitmap: remove user bitmap tests
    uaccess: add infrastructure for kernel builds with set_fs()
    fs: don't allow splice read/write without explicit ops
    fs: don't allow kernel reads and writes without iter ops
    sysctl: Convert to iter interfaces
    proc: add a read_iter method to proc proc_ops
    proc: cleanup the compat vs no compat file ops
    proc: remove a level of indentation in proc_get_inode

    Linus Torvalds
     

09 Oct, 2020

1 commit

  • In order to make adding configurable features into seccomp easier,
    it's better to have the options at one single location, considering
    especially that the bulk of seccomp code is arch-independent. An quick
    look also show that many SECCOMP descriptions are outdated; they talk
    about /proc rather than prctl.

    As a result of moving the config option and keeping it default on,
    architectures arm, arm64, csky, riscv, sh, and xtensa did not have SECCOMP
    on by default prior to this and SECCOMP will be default in this change.

    Architectures microblaze, mips, powerpc, s390, sh, and sparc have an
    outdated depend on PROC_FS and this dependency is removed in this change.

    Suggested-by: Jann Horn
    Link: https://lore.kernel.org/lkml/CAG48ez1YWz9cnp08UZgeieYRhHdqh-ch7aNwc4JRBnGyrmgfMg@mail.gmail.com/
    Signed-off-by: YiFei Zhu
    [kees: added HAVE_ARCH_SECCOMP help text, tweaked wording]
    Signed-off-by: Kees Cook
    Link: https://lore.kernel.org/r/9ede6ef35c847e58d61e476c6a39540520066613.1600951211.git.yifeifz2@illinois.edu

    YiFei Zhu
     

09 Sep, 2020

1 commit

  • Add a CONFIG_SET_FS option that is selected by architecturess that
    implement set_fs, which is all of them initially. If the option is not
    set stubs for routines related to overriding the address space are
    provided so that architectures can start to opt out of providing set_fs.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Kees Cook
    Signed-off-by: Al Viro

    Christoph Hellwig
     

04 Jun, 2020

1 commit

  • CONFIG_HAVE_MEMBLOCK_NODE_MAP is used to differentiate initialization of
    nodes and zones structures between the systems that have region to node
    mapping in memblock and those that don't.

    Currently all the NUMA architectures enable this option and for the
    non-NUMA systems we can presume that all the memory belongs to node 0 and
    therefore the compile time configuration option is not required.

    The remaining few architectures that use DISCONTIGMEM without NUMA are
    easily updated to use memblock_add_node() instead of memblock_add() and
    thus have proper correspondence of memblock regions to NUMA nodes.

    Still, free_area_init_node() must have a backward compatible version
    because its semantics with and without CONFIG_HAVE_MEMBLOCK_NODE_MAP is
    different. Once all the architectures will use the new semantics, the
    entire compatibility layer can be dropped.

    To avoid addition of extra run time memory to store node id for
    architectures that keep memblock but have only a single node, the node id
    field of the memblock_region is guarded by CONFIG_NEED_MULTIPLE_NODES and
    the corresponding accessors presume that in those cases it is always 0.

    Signed-off-by: Mike Rapoport
    Signed-off-by: Andrew Morton
    Tested-by: Hoan Tran [arm64]
    Acked-by: Catalin Marinas [arm64]
    Cc: Baoquan He
    Cc: Brian Cain
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Ungerer
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Heiko Carstens
    Cc: Helge Deller
    Cc: "James E.J. Bottomley"
    Cc: Jonathan Corbet
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Hocko
    Cc: Michal Simek
    Cc: Nick Hu
    Cc: Paul Walmsley
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Thomas Bogendoerfer
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Link: http://lkml.kernel.org/r/20200412194859.12663-4-rppt@kernel.org
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     

06 Apr, 2020

1 commit


05 Apr, 2020

1 commit

  • Pull dma-mapping updates from Christoph Hellwig:

    - fix an integer overflow in the coherent pool (Kevin Grandemange)

    - provide support for in-place uncached remapping and use that for
    openrisc

    - fix the arm coherent allocator to take the bus limit into account

    * tag 'dma-mapping-5.7' of git://git.infradead.org/users/hch/dma-mapping:
    ARM/dma-mapping: merge __dma_supported into arm_dma_supported
    ARM/dma-mapping: take the bus limit into account in __dma_alloc
    ARM/dma-mapping: remove get_coherent_dma_mask
    openrisc: use the generic in-place uncached DMA allocator
    dma-direct: provide a arch_dma_clear_uncached hook
    dma-direct: make uncached_kernel_address more general
    dma-direct: consolidate the error handling in dma_direct_alloc_pages
    dma-direct: remove the cached_kernel_address hook
    dma-coherent: fix integer overflow in the reserved-memory dma allocation

    Linus Torvalds
     

01 Apr, 2020

1 commit


22 Mar, 2020

1 commit

  • Register default arch handler via driver instead of directly pointing to
    xilinx intc controller. This patch makes architecture code more generic.

    Driver calls generic domain specific irq handler which does the most of
    things self. Also get rid of concurrent_irq counting which hasn't been
    exported anywhere.
    Based on this loop was also optimized by using do/while loop instead of
    goto loop.

    Signed-off-by: Michal Simek
    Signed-off-by: Marc Zyngier
    Reviewed-by: Stefan Asserhall
    Link: https://lore.kernel.org/r/20200317125600.15913-4-mubin.usman.sayyed@xilinx.com

    Michal Simek
     

16 Mar, 2020

1 commit

  • Rename the symbol to arch_dma_set_uncached, and pass a size to it as
    well as allow an error return. That will allow reusing this hook for
    in-place pagetable remapping.

    As the in-place remap doesn't always require an explicit cache flush,
    also detangle ARCH_HAS_DMA_PREP_COHERENT from ARCH_HAS_DMA_SET_UNCACHED.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Robin Murphy

    Christoph Hellwig
     

04 Feb, 2020

2 commits

  • Pull Microblaze update from Michal Simek:

    - enable CMA

    - add support for MB v11

    - defconfig updates

    - minor fixes

    * tag 'microblaze-v5.6-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Add ID for Microblaze v11
    microblaze: Prevent the overflow of the start
    microblaze: Wire CMA allocator
    asm-generic: Make dma-contiguous.h a mandatory include/asm header
    microblaze: Sync defconfig with latest Kconfig layout
    microblaze: defconfig: Disable EXT2 driver and Enable EXT3 & EXT4 drivers
    microblaze: Align comments with register usage

    Linus Torvalds
     
  • Based on commit 04e3543e228f ("microblaze: use the generic dma coherent
    remap allocator")
    CMA can be easily enabled by calling dma_contiguous_reserve() at the end of
    mmu_init(). High limit is end of lowmem space which is completely unused at
    this point of time.

    Signed-off-by: Michal Simek
    Reviewed-by: Christoph Hellwig

    Michal Simek
     

13 Dec, 2019

1 commit

  • Use a more generic name for additional table sorting usecases,
    such as the upcoming ORC table sorting feature. This tool is
    not tied to exception table sorting anymore.

    No functional changes intended.

    [ mingo: Rewrote the changelog. ]

    Signed-off-by: Shile Zhang
    Acked-by: Peter Zijlstra (Intel)
    Cc: Josh Poimboeuf
    Cc: Masahiro Yamada
    Cc: Michal Marek
    Cc: linux-kbuild@vger.kernel.org
    Link: https://lkml.kernel.org/r/20191204004633.88660-6-shile.zhang@linux.alibaba.com
    Signed-off-by: Ingo Molnar

    Shile Zhang
     

29 Nov, 2019

1 commit

  • …linux; tag 'dma-mapping-5.5' of git://git.infradead.org/users/hch/dma-mapping

    Pull dma-mapping updates from Christoph Hellwig:

    - improve dma-debug scalability (Eric Dumazet)

    - tiny dma-debug cleanup (Dan Carpenter)

    - check for vmap memory in dma_map_single (Kees Cook)

    - check for dma_addr_t overflows in dma-direct when using DMA offsets
    (Nicolas Saenz Julienne)

    - switch the x86 sta2x11 SOC to use more generic DMA code (Nicolas
    Saenz Julienne)

    - fix arm-nommu dma-ranges handling (Vladimir Murzin)

    - use __initdata in CMA (Shyam Saini)

    - replace the bus dma mask with a limit (Nicolas Saenz Julienne)

    - merge the remapping helpers into the main dma-direct flow (me)

    - switch xtensa to the generic dma remap handling (me)

    - various cleanups around dma_capable (me)

    - remove unused dev arguments to various dma-noncoherent helpers (me)

    * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux:

    * tag 'dma-mapping-5.5' of git://git.infradead.org/users/hch/dma-mapping: (22 commits)
    dma-mapping: treat dev->bus_dma_mask as a DMA limit
    dma-direct: exclude dma_direct_map_resource from the min_low_pfn check
    dma-direct: don't check swiotlb=force in dma_direct_map_resource
    dma-debug: clean up put_hash_bucket()
    powerpc: remove support for NULL dev in __phys_to_dma / __dma_to_phys
    dma-direct: avoid a forward declaration for phys_to_dma
    dma-direct: unify the dma_capable definitions
    dma-mapping: drop the dev argument to arch_sync_dma_for_*
    x86/PCI: sta2x11: use default DMA address translation
    dma-direct: check for overflows on 32 bit DMA addresses
    dma-debug: increase HASH_SIZE
    dma-debug: reorder struct dma_debug_entry fields
    xtensa: use the generic uncached segment support
    dma-mapping: merge the generic remapping helpers into dma-direct
    dma-direct: provide mmap and get_sgtable method overrides
    dma-direct: remove the dma_handle argument to __dma_direct_alloc_pages
    dma-direct: remove __dma_direct_free_pages
    usb: core: Remove redundant vmap checks
    kernel: dma-contiguous: mark CMA parameters __initdata/__initconst
    dma-debug: add a schedule point in debug_dma_dump_mappings()
    ...

    Linus Torvalds
     

11 Nov, 2019

1 commit

  • 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: Christoph Hellwig
    Reviewed-by: Max Filippov

    Christoph Hellwig
     

25 Oct, 2019

1 commit


25 Sep, 2019

1 commit

  • Pull Microblaze updates from Michal Simek:

    - clean up reset gpio handler

    - defconfig updates

    - add support for 8 byte get_user()

    - switch to generic dma code

    * tag 'microblaze-v5.4-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Switch to standard restart handler
    microblaze: defconfig synchronization
    microblaze: Enable Xilinx AXI emac driver by default
    arch/microblaze: support get_user() of size 8 bytes
    microblaze: remove ioremap_fullcache
    microblaze: use the generic dma coherent remap allocator
    microblaze/nommu: use the generic uncached segment support

    Linus Torvalds
     

04 Sep, 2019

1 commit

  • CONFIG_ARCH_NO_COHERENT_DMA_MMAP is now functionally identical to
    !CONFIG_MMU, so remove the separate symbol. The only difference is that
    arm did not set it for !CONFIG_MMU, but arm uses a separate dma mapping
    implementation including its own mmap method, which is handled by moving
    the CONFIG_MMU check in dma_can_mmap so that is only applies to the
    dma-direct case, just as the other ifdefs for it.

    Signed-off-by: Christoph Hellwig
    Acked-by: Geert Uytterhoeven # m68k

    Christoph Hellwig
     

30 Aug, 2019

2 commits

  • This switches to using common code for the DMA allocations, including
    potential use of the CMA allocator if configured.

    Switching to the generic code enables DMA allocations from atomic
    context, which is required by the DMA API documentation, and also
    adds various other minor features drivers start relying upon. It
    also makes sure we have on tested code base for all architectures
    that require uncached pte bits for coherent DMA allocations.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Michal Simek

    Christoph Hellwig
     
  • Stop providing our own arch alloc/free hooks for nommu platforms and
    just expose the segment offset and use the generic dma-direct
    allocator.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Michal Simek

    Christoph Hellwig
     

24 Jun, 2019

1 commit


21 May, 2019

1 commit


07 May, 2019

1 commit

  • Pull locking updates from Ingo Molnar:
    "Here are the locking changes in this cycle:

    - rwsem unification and simpler micro-optimizations to prepare for
    more intrusive (and more lucrative) scalability improvements in
    v5.3 (Waiman Long)

    - Lockdep irq state tracking flag usage cleanups (Frederic
    Weisbecker)

    - static key improvements (Jakub Kicinski, Peter Zijlstra)

    - misc updates, cleanups and smaller fixes"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
    locking/lockdep: Remove unnecessary unlikely()
    locking/static_key: Don't take sleeping locks in __static_key_slow_dec_deferred()
    locking/static_key: Factor out the fast path of static_key_slow_dec()
    locking/static_key: Add support for deferred static branches
    locking/lockdep: Test all incompatible scenarios at once in check_irq_usage()
    locking/lockdep: Avoid bogus Clang warning
    locking/lockdep: Generate LOCKF_ bit composites
    locking/lockdep: Use expanded masks on find_usage_*() functions
    locking/lockdep: Map remaining magic numbers to lock usage mask names
    locking/lockdep: Move valid_state() inside CONFIG_TRACE_IRQFLAGS && CONFIG_PROVE_LOCKING
    locking/rwsem: Prevent unneeded warning during locking selftest
    locking/rwsem: Optimize rwsem structure for uncontended lock acquisition
    locking/rwsem: Enable lock event counting
    locking/lock_events: Don't show pvqspinlock events on bare metal
    locking/lock_events: Make lock_events available for all archs & other locks
    locking/qspinlock_stat: Introduce generic lockevent_*() counting APIs
    locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
    locking/rwsem: Add debug check for __down_read*()
    locking/rwsem: Micro-optimize rwsem_try_read_lock_unqueued()
    locking/rwsem: Move rwsem internal function declarations to rwsem-xadd.h
    ...

    Linus Torvalds
     

03 Apr, 2019

2 commits

  • Currently, we have two different implementation of rwsem:

    1) CONFIG_RWSEM_GENERIC_SPINLOCK (rwsem-spinlock.c)
    2) CONFIG_RWSEM_XCHGADD_ALGORITHM (rwsem-xadd.c)

    As we are going to use a single generic implementation for rwsem-xadd.c
    and no architecture-specific code will be needed, there is no point
    in keeping two different implementations of rwsem. In most cases, the
    performance of rwsem-spinlock.c will be worse. It also doesn't get all
    the performance tuning and optimizations that had been implemented in
    rwsem-xadd.c over the years.

    For simplication, we are going to remove rwsem-spinlock.c and make all
    architectures use a single implementation of rwsem - rwsem-xadd.c.

    All references to RWSEM_GENERIC_SPINLOCK and RWSEM_XCHGADD_ALGORITHM
    in the code are removed.

    Suggested-by: Peter Zijlstra
    Signed-off-by: Waiman Long
    Signed-off-by: Peter Zijlstra (Intel)
    Acked-by: Linus Torvalds
    Cc: Andrew Morton
    Cc: Arnd Bergmann
    Cc: Borislav Petkov
    Cc: Davidlohr Bueso
    Cc: H. Peter Anvin
    Cc: Paul E. McKenney
    Cc: Thomas Gleixner
    Cc: Tim Chen
    Cc: Will Deacon
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-c6x-dev@linux-c6x.org
    Cc: linux-m68k@lists.linux-m68k.org
    Cc: linux-riscv@lists.infradead.org
    Cc: linux-um@lists.infradead.org
    Cc: linux-xtensa@linux-xtensa.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: nios2-dev@lists.rocketboards.org
    Cc: openrisc@lists.librecores.org
    Cc: uclinux-h8-devel@lists.sourceforge.jp
    Link: https://lkml.kernel.org/r/20190322143008.21313-3-longman@redhat.com
    Signed-off-by: Ingo Molnar

    Waiman Long
     
  • For the architectures that do not implement their own tlb_flush() but
    do already use the generic mmu_gather, there are two options:

    1) the platform has an efficient flush_tlb_range() and
    asm-generic/tlb.h doesn't need any overrides at all.

    2) the platform lacks an efficient flush_tlb_range() and
    we select MMU_GATHER_NO_RANGE to minimize full invalidates.

    Convert all 'simple' architectures to one of these two forms.

    alpha: has no range invalidate -> 2
    arc: already used flush_tlb_range() -> 1
    c6x: has no range invalidate -> 2
    hexagon: has an efficient flush_tlb_range() -> 1
    (flush_tlb_mm() is in fact a full range invalidate,
    so no need to shoot down everything)
    m68k: has inefficient flush_tlb_range() -> 2
    microblaze: has no flush_tlb_range() -> 2
    mips: has efficient flush_tlb_range() -> 1
    (even though it currently seems to use flush_tlb_mm())
    nds32: already uses flush_tlb_range() -> 1
    nios2: has inefficient flush_tlb_range() -> 2
    (no limit on range iteration)
    openrisc: has inefficient flush_tlb_range() -> 2
    (no limit on range iteration)
    parisc: already uses flush_tlb_range() -> 1
    sparc32: already uses flush_tlb_range() -> 1
    unicore32: has inefficient flush_tlb_range() -> 2
    (no limit on range iteration)
    xtensa: has efficient flush_tlb_range() -> 1

    Note this also fixes a bug in the existing code for a number
    platforms. Those platforms that did:

    tlb_end_vma() -> if (!full_mm) flush_tlb_*()
    tlb_flush -> if (full_mm) flush_tlb_mm()

    missed the case of shift_arg_pages(), which doesn't have @fullmm set,
    nor calls into tlb_*vma(), but still frees page-tables and thus needs
    an invalidate. The new code handles this by detecting a non-empty
    range, and either issuing the matching range invalidate or a full
    invalidate, depending on the capabilities.

    No change in behavior intended.

    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Andrew Morton
    Cc: Andy Lutomirski
    Cc: Aneesh Kumar K.V
    Cc: Borislav Petkov
    Cc: Dave Hansen
    Cc: David S. Miller
    Cc: Greentime Hu
    Cc: Guan Xuetao
    Cc: H. Peter Anvin
    Cc: Helge Deller
    Cc: Jonas Bonn
    Cc: Ley Foon Tan
    Cc: Linus Torvalds
    Cc: Mark Salter
    Cc: Max Filippov
    Cc: Michal Simek
    Cc: Nick Piggin
    Cc: Paul Burton
    Cc: Peter Zijlstra
    Cc: Richard Henderson
    Cc: Richard Kuo
    Cc: Rik van Riel
    Cc: Thomas Gleixner
    Cc: Vineet Gupta
    Cc: Will Deacon
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

19 Feb, 2019

1 commit

  • All new 32-bit architectures should have 64-bit userspace off_t type, but
    existing architectures has 32-bit ones.

    To enforce the rule, new config option is added to arch/Kconfig that defaults
    ARCH_32BIT_OFF_T to be disabled for new 32-bit architectures. All existing
    32-bit architectures enable it explicitly.

    New option affects force_o_largefile() behaviour. Namely, if userspace
    off_t is 64-bits long, we have no reason to reject user to open big files.

    Note that even if architectures has only 64-bit off_t in the kernel
    (arc, c6x, h8300, hexagon, nios2, openrisc, and unicore32),
    a libc may use 32-bit off_t, and therefore want to limit the file size
    to 4GB unless specified differently in the open flags.

    Signed-off-by: Yury Norov
    Acked-by: Arnd Bergmann
    Signed-off-by: Yury Norov
    Signed-off-by: Arnd Bergmann

    Yury Norov
     

30 Dec, 2018

1 commit

  • Pull Kconfig file consolidation from Masahiro Yamada:
    "Consolidation of bus (PCI, PCMCIA, EISA, RapidIO) config entries by
    Christoph Hellwig.

    Currently, every architecture that wants to provide common peripheral
    busses needs to add some boilerplate code and include the right
    Kconfig files. This series instead just selects the presence (when
    needed) and then handles everything in the bus-specific Kconfig file
    under drivers/"

    * tag 'kconfig-v4.21-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    pcmcia: remove per-arch PCMCIA config entry
    eisa: consolidate EISA Kconfig entry in drivers/eisa
    rapidio: consolidate RAPIDIO config entry in drivers/rapidio
    pcmcia: allow PCMCIA support independent of the architecture
    PCI: consolidate the PCI_SYSCALL symbol
    PCI: consolidate the PCI_DOMAINS and PCI_DOMAINS_GENERIC config options
    PCI: consolidate PCI config entry in drivers/pci
    MIPS: remove the HT_PCI config option

    Linus Torvalds
     

14 Dec, 2018

1 commit

  • All architectures except for sparc64 use the dma-direct code in some
    form, and even for sparc64 we had the discussion of a direct mapping
    mode a while ago. In preparation for directly calling the direct
    mapping code don't bother having it optionally but always build the
    code in. This is a minor hardship for some powerpc and arm configs
    that don't pull it in yet (although they should in a relase ot two),
    and sparc64 which currently doesn't need it at all, but it will
    reduce the ifdef mess we'd otherwise need significantly.

    Signed-off-by: Christoph Hellwig
    Acked-by: Jesper Dangaard Brouer
    Tested-by: Jesper Dangaard Brouer
    Tested-by: Tony Luck

    Christoph Hellwig
     

23 Nov, 2018

3 commits

  • Let architectures select the syscall support instead of duplicating the
    kconfig entry.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     
  • Move the definitions to drivers/pci and let the architectures select
    them. Two small differences to before: PCI_DOMAINS_GENERIC now selects
    PCI_DOMAINS, cutting down the churn for modern architectures. As the
    only architectured arm did previously also offer PCI_DOMAINS as a user
    visible choice in addition to selecting it from the relevant configs,
    this is gone now.

    Signed-off-by: Christoph Hellwig
    Acked-by: Paul Burton
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     
  • There is no good reason to duplicate the PCI menu in every architecture.
    Instead provide a selectable HAVE_PCI symbol that indicates availability
    of PCI support, and a FORCE_PCI symbol to for PCI on and the handle the
    rest in drivers/pci.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Palmer Dabbelt
    Acked-by: Max Filippov
    Acked-by: Thomas Gleixner
    Acked-by: Bjorn Helgaas
    Acked-by: Geert Uytterhoeven
    Acked-by: Paul Burton
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     

31 Oct, 2018

2 commits

  • All architecures use memblock for early memory management. There is no need
    for the CONFIG_HAVE_MEMBLOCK configuration option.

    [rppt@linux.vnet.ibm.com: of/fdt: fixup #ifdefs]
    Link: http://lkml.kernel.org/r/20180919103457.GA20545@rapoport-lnx
    [rppt@linux.vnet.ibm.com: csky: fixups after bootmem removal]
    Link: http://lkml.kernel.org/r/20180926112744.GC4628@rapoport-lnx
    [rppt@linux.vnet.ibm.com: remove stale #else and the code it protects]
    Link: http://lkml.kernel.org/r/1538067825-24835-1-git-send-email-rppt@linux.vnet.ibm.com
    Link: http://lkml.kernel.org/r/1536927045-23536-4-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Acked-by: Michal Hocko
    Tested-by: Jonathan Cameron
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Ingo Molnar
    Cc: "James E.J. Bottomley"
    Cc: Jonas Bonn
    Cc: Jonathan Corbet
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Palmer Dabbelt
    Cc: Paul Burton
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Serge Semin
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • All achitectures select NO_BOOTMEM which essentially becomes 'Y' for any
    kernel configuration and therefore it can be removed.

    [alexander.h.duyck@linux.intel.com: remove now defunct NO_BOOTMEM from depends list for deferred init]
    Link: http://lkml.kernel.org/r/20180925201814.3576.15105.stgit@localhost.localdomain
    Link: http://lkml.kernel.org/r/1536927045-23536-3-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Signed-off-by: Alexander Duyck
    Acked-by: Michal Hocko
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Ingo Molnar
    Cc: "James E.J. Bottomley"
    Cc: Jonas Bonn
    Cc: Jonathan Corbet
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Palmer Dabbelt
    Cc: Paul Burton
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Serge Semin
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     

20 Sep, 2018

2 commits

  • The only functional differences (modulo a few missing fixes in the arch
    code) is that architectures without coherent caches need a hook to
    convert a virtual or dma address into a pfn, given that we don't have
    the kernel linear mapping available for the otherwise easy virt_to_page
    call. As a side effect we can support mmap of the per-device coherent
    area even on architectures not providing the callback, and we make
    previous dangerous default methods dma_common_mmap actually save for
    non-coherent architectures by rejecting it without the right helper.

    In addition to that we need a hook so that some architectures can
    override the protection bits when mmaping a dma coherent allocations.

    Signed-off-by: Christoph Hellwig
    Acked-by: Paul Burton # MIPS parts

    Christoph Hellwig
     
  • All the cache maintainance is already stubbed out when not enabled,
    but merging the two allows us to nicely handle the case where
    cache maintainance is required for some devices, but not others.

    Signed-off-by: Christoph Hellwig
    Acked-by: Paul Burton # MIPS parts

    Christoph Hellwig
     

22 Aug, 2018

1 commit

  • Pull arch/microblaze updates from Michal Simek:

    - use generic noncoherent direct mapping

    - use LDFLAGS instead of LD

    - pci error path fix

    - remove incorrect comments

    * tag 'microblaze-v4.19-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze/PCI: Remove stale pcibios_align_resource() comment
    microblaze: delete wrong comment about machine_early_init
    microblaze: add endianness options to LDFLAGS instead of LD
    microblaze: remove consistent_sync and consistent_sync_page
    microblaze: use generic dma_noncoherent_ops
    microblaze: warn if of_iomap() failed

    Linus Torvalds
     

02 Aug, 2018

3 commits

  • Almost all architectures include it. Add a ARCH_NO_PREEMPT symbol to
    disable preempt support for alpha, hexagon, non-coldfire m68k and
    user mode Linux.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     
  • Move the source of lib/Kconfig.debug and arch/$(ARCH)/Kconfig.debug to
    the top-level Kconfig. For two architectures that means moving their
    arch-specific symbols in that menu into a new arch Kconfig.debug file,
    and for a few more creating a dummy file so that we can include it
    unconditionally.

    Also move the actual 'Kernel hacking' menu to lib/Kconfig.debug, where
    it belongs.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     
  • Instead of duplicating the source statements in every architecture just
    do it once in the toplevel Kconfig file.

    Note that with this the inclusion of arch/$(SRCARCH/Kconfig moves out of
    the top-level Kconfig into arch/Kconfig so that don't violate ordering
    constraits while keeping a sensible menu structure.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig