18 Sep, 2019

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "It's a somewhat calmer cycle for docs this time, as the churn of the
    mass RST conversion is happily mostly behind us.

    - A new document on reproducible builds.

    - We finally got around to zapping the documentation for hardware
    support that was removed in 2004; one doesn't want to rush these
    things.

    - The usual assortment of fixes, typo corrections, etc"

    * tag 'docs-5.4' of git://git.lwn.net/linux: (67 commits)
    Documentation: kbuild: Add document about reproducible builds
    docs: printk-formats: Stop encouraging use of unnecessary %h[xudi] and %hh[xudi]
    Documentation: Add "earlycon=sbi" to the admin guide
    doc:lock: remove reference to clever use of read-write lock
    devices.txt: improve entry for comedi (char major 98)
    docs: mtd: Update spi nor reference driver
    doc: arm64: fix grammar dtb placed in no attributes region
    Documentation: sysrq: don't recommend 'S' 'U' before 'B'
    mailmap: Update email address for Quentin Perret
    docs: ftrace: clarify when tracing is disabled by the trace file
    docs: process: fix broken link
    Documentation/arm/samsung-s3c24xx: Remove stray U+FEFF character to fix title
    Documentation/arm/sa1100/assabet: Fix 'make assabet_defconfig' command
    Documentation/arm/sa1100: Remove some obsolete documentation
    docs/zh_CN: update Chinese howto.rst for latexdocs making
    Documentation: virt: Fix broken reference to virt tree's index
    docs: Fix typo on pull requests guide
    kernel-doc: Allow anonymous enum
    Documentation: sphinx: Don't parse socket() as identifier reference
    Documentation: sphinx: Add missing comma to list of strings
    ...

    Linus Torvalds
     

03 Aug, 2019

2 commits


31 Jul, 2019

1 commit

  • The locking feature lists don't match reality as of v5.3-rc1:

    * arm64 moved to queued spinlocks in commit:
    c11090474d70590170cf5fa6afe85864ab494b37
    ("arm64: locking: Replace ticket lock implementation with qspinlock")

    * xtensa moved to queued spinlocks and rwlocks in commit:
    579afe866f52adcd921272a224ab36733051059c
    ("xtensa: use generic spinlock/rwlock implementation")

    * architecture-specific rwsem support was removed in commit:
    46ad0840b1584b92b5ff2cc3ed0b011dd6b8e0f1
    ("locking/rwsem: Remove arch specific rwsem files")

    So update the feature lists accordingly, and remove the now redundant
    rwsem-optimized list.

    Signed-off-by: Mark Rutland
    Signed-off-by: Jonathan Corbet

    Mark Rutland
     

15 Jun, 2019

1 commit


08 May, 2019

1 commit

  • Pull parisc updates from Helge Deller:
    "Many great new features, fixes and optimizations, including:

    - Convert page table updates to use per-pagetable spinlocks which
    overall improves performance on SMP machines a lot, by Mikulas
    Patocka

    - Kernel debugger (KGDB) support, by Sven Schnelle

    - KPROBES support, by Sven Schnelle

    - Lots of TLB lock/flush improvements, by Dave Anglin

    - Drop DISCONTIGMEM and switch to SPARSEMEM

    - Added JUMP_LABEL, branch runtime-patching support

    - Lots of other small speedups and cleanups, e.g. for QEMU, stack
    randomization, avoidance of name clashes, documentation updates,
    etc ..."

    * 'parisc-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: (28 commits)
    parisc: Add static branch and JUMP_LABEL feature
    parisc: Use PA_ASM_LEVEL in boot code
    parisc: Rename LEVEL to PA_ASM_LEVEL to avoid name clash with DRBD code
    parisc: Update huge TLB page support to use per-pagetable spinlock
    parisc: Use per-pagetable spinlock
    parisc: Allow live-patching of __meminit functions
    parisc: Add memory barrier to asm pdc and sync instructions
    parisc: Add memory clobber to TLB purges
    parisc: Use ldcw instruction for SMP spinlock release barrier
    parisc: Remove lock code to serialize TLB operations in pacache.S
    parisc: Switch from DISCONTIGMEM to SPARSEMEM
    parisc: enable wide mode early
    parisc: update feature lists
    parisc: Show n/a if product number not available
    parisc: remove unused flags parameter in __patch_text()
    doc: update kprobes supported architecture list
    parisc: Implement kretprobes
    parisc: remove kprobes.h from generic-y
    parisc: Implement kprobes
    parisc: add functions required by KPROBE_EVENTS
    ...

    Linus Torvalds
     

06 May, 2019

1 commit


04 May, 2019

2 commits


07 Jan, 2019

1 commit

  • core/ cBPF-JIT : TODO |
    core/ eBPF-JIT : TODO |
    core/ generic-idle-thread : ok |
    core/ jump-labels : TODO |
    core/ tracehook : ok |
    debug/ KASAN : TODO |
    debug/ gcov-profile-all : TODO |
    debug/ kgdb : TODO |
    debug/ kprobes-on-ftrace : TODO |
    debug/ kprobes : TODO |
    debug/ kretprobes : TODO |
    debug/ optprobes : TODO |
    debug/ stackprotector : TODO |
    debug/ uprobes : TODO |
    debug/ user-ret-profiler : TODO |
    io/ dma-contiguous : ok |
    locking/ cmpxchg-local : TODO |
    locking/ lockdep : TODO |
    locking/ queued-rwlocks : ok |
    locking/ queued-spinlocks : TODO |
    locking/ rwsem-optimized : TODO |
    perf/ kprobes-event : TODO |
    perf/ perf-regs : TODO |
    perf/ perf-stackdump : TODO |
    sched/ membarrier-sync-core : TODO |
    sched/ numa-balancing : .. |
    seccomp/ seccomp-filter : TODO |
    time/ arch-tick-broadcast : TODO |
    time/ clockevents : ok |
    time/ context-tracking : TODO |
    time/ irq-time-acct : TODO |
    time/ modern-timekeeping : ok |
    time/ virt-cpuacct : TODO |
    vm/ ELF-ASLR : TODO |
    vm/ PG_uncached : TODO |
    vm/ THP : .. |
    vm/ batch-unmap-tlb-flush: TODO |
    vm/ huge-vmap : TODO |
    vm/ ioremap_prot : TODO |
    vm/ numa-memblock : .. |
    vm/ pte_special : TODO |

    Signed-off-by: Guo Ren
    Cc: Arnd Bergmann

    Guo Ren
     

30 Dec, 2018

1 commit

  • Pull Xtensa updates from Max Filippov:

    - switch to generated syscall table

    - switch ptrace to regsets, use regsets for core dumps

    - complete tracehook implementation

    - add syscall tracepoints support

    - add jumplabels support

    - add memtest support

    - drop unused/duplicated code from entry.S, ptrace.c, coprocessor.S,
    elf.h and syscall.h

    - clean up warnings caused by WSR/RSR macros

    - clean up DTC warnings about SPI controller node names in xtfpga.dtsi

    - simplify coprocessor.S

    - get rid of explicit 'l32r' instruction usage in assembly

    * tag 'xtensa-20181228' of git://github.com/jcmvbkbc/linux-xtensa: (25 commits)
    xtensa: implement jump_label support
    xtensa: implement syscall tracepoints
    xtensa: implement tracehook functions and enable HAVE_ARCH_TRACEHOOK
    xtensa: enable CORE_DUMP_USE_REGSET
    xtensa: implement TIE regset
    xtensa: implement task_user_regset_view
    xtensa: call do_syscall_trace_{enter,leave} selectively
    xtensa: use NO_SYSCALL instead of -1
    xtensa: define syscall_get_arch()
    Move EM_XTENSA to uapi/linux/elf-em.h
    xtensa: support memtest
    xtensa: don't use l32r opcode directly
    xtensa: xtfpga.dtsi: fix dtc warnings about SPI
    xtensa: don't clear cpenable unconditionally on release
    xtensa: simplify coprocessor.S
    xtensa: clean up WSR*/RSR*/get_sr/set_sr
    xtensa: drop unused declarations from elf.h
    xtensa: clean up syscall.h
    xtensa: drop unused coprocessor helper functions
    xtensa: drop custom PTRACE_{PEEK,POKE}{TEXT,DATA}
    ...

    Linus Torvalds
     

29 Dec, 2018

1 commit

  • Pull DMA mapping updates from Christoph Hellwig:
    "A huge update this time, but a lot of that is just consolidating or
    removing code:

    - provide a common DMA_MAPPING_ERROR definition and avoid indirect
    calls for dma_map_* error checking

    - use direct calls for the DMA direct mapping case, avoiding huge
    retpoline overhead for high performance workloads

    - merge the swiotlb dma_map_ops into dma-direct

    - provide a generic remapping DMA consistent allocator for
    architectures that have devices that perform DMA that is not cache
    coherent. Based on the existing arm64 implementation and also used
    for csky now.

    - improve the dma-debug infrastructure, including dynamic allocation
    of entries (Robin Murphy)

    - default to providing chaining scatterlist everywhere, with opt-outs
    for the few architectures (alpha, parisc, most arm32 variants) that
    can't cope with it

    - misc sparc32 dma-related cleanups

    - remove the dma_mark_clean arch hook used by swiotlb on ia64 and
    replace it with the generic noncoherent infrastructure

    - fix the return type of dma_set_max_seg_size (Niklas Söderlund)

    - move the dummy dma ops for not DMA capable devices from arm64 to
    common code (Robin Murphy)

    - ensure dma_alloc_coherent returns zeroed memory to avoid kernel
    data leaks through userspace. We already did this for most common
    architectures, but this ensures we do it everywhere.
    dma_zalloc_coherent has been deprecated and can hopefully be
    removed after -rc1 with a coccinelle script"

    * tag 'dma-mapping-4.21' of git://git.infradead.org/users/hch/dma-mapping: (73 commits)
    dma-mapping: fix inverted logic in dma_supported
    dma-mapping: deprecate dma_zalloc_coherent
    dma-mapping: zero memory returned from dma_alloc_*
    sparc/iommu: fix ->map_sg return value
    sparc/io-unit: fix ->map_sg return value
    arm64: default to the direct mapping in get_arch_dma_ops
    PCI: Remove unused attr variable in pci_dma_configure
    ia64: only select ARCH_HAS_DMA_COHERENT_TO_PFN if swiotlb is enabled
    dma-mapping: bypass indirect calls for dma-direct
    vmd: use the proper dma_* APIs instead of direct methods calls
    dma-direct: merge swiotlb_dma_ops into the dma_direct code
    dma-direct: use dma_direct_map_page to implement dma_direct_map_sg
    dma-direct: improve addressability error reporting
    swiotlb: remove dma_mark_clean
    swiotlb: remove SWIOTLB_MAP_ERROR
    ACPI / scan: Refactor _CCA enforcement
    dma-mapping: factor out dummy DMA ops
    dma-mapping: always build the direct mapping code
    dma-mapping: move dma_cache_sync out of line
    dma-mapping: move various slow path functions out of line
    ...

    Linus Torvalds
     

21 Dec, 2018

1 commit

  • Use 3-byte 'nop' and 'j' instructions that are always present. Don't let
    assembler mark a spot right after patchable 'j' instruction as
    unreachable and later put literals or padding bytes there. Add separate
    implementations of patch_text for SMP and UP cases, avoiding use of
    atomics on UP.

    Signed-off-by: Max Filippov

    Max Filippov
     

06 Dec, 2018

1 commit

  • These days architectures are mostly out of the business of dealing with
    struct scatterlist at all, unless they have architecture specific iommu
    drivers. Replace the ARCH_HAS_SG_CHAIN symbol with a ARCH_NO_SG_CHAIN
    one only enabled for architectures with horrible legacy iommu drivers
    like alpha and parisc, and conditionally for arm which wants to keep it
    disable for legacy platforms.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Palmer Dabbelt

    Christoph Hellwig
     

06 Nov, 2018

1 commit

  • Allows the users of ptrace to access memory mapped by the ptraced process
    using the same cache coherency attributes as the original process.
    For example while using gdb with ioremap_prot() incorporated, both gdb and
    the process being traced will have same cache coherency attributes.

    Signed-off-by: Hassan Naveed
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/20955/
    Cc:

    Hassan Naveed
     

11 Jul, 2018

1 commit


15 Jun, 2018

1 commit

  • HAVE_CC_STACKPROTECTOR should be selected by architectures with stack
    canary implementation. It is not about the compiler support.

    For the consistency with commit 050e9baa9dc9 ("Kbuild: rename
    CC_STACKPROTECTOR[_STRONG] config variables"), remove 'CC_' from the
    config symbol.

    I moved the 'select' lines to keep the alphabetical sorting.

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

    Masahiro Yamada
     

08 Jun, 2018

1 commit

  • Currently the PTE special supports is turned on in per architecture
    header files. Most of the time, it is defined in
    arch/*/include/asm/pgtable.h depending or not on some other per
    architecture static definition.

    This patch introduce a new configuration variable to manage this
    directly in the Kconfig files. It would later replace
    __HAVE_ARCH_PTE_SPECIAL.

    Here notes for some architecture where the definition of
    __HAVE_ARCH_PTE_SPECIAL is not obvious:

    arm
    __HAVE_ARCH_PTE_SPECIAL which is currently defined in
    arch/arm/include/asm/pgtable-3level.h which is included by
    arch/arm/include/asm/pgtable.h when CONFIG_ARM_LPAE is set.
    So select ARCH_HAS_PTE_SPECIAL if ARM_LPAE.

    powerpc
    __HAVE_ARCH_PTE_SPECIAL is defined in 2 files:
    - arch/powerpc/include/asm/book3s/64/pgtable.h
    - arch/powerpc/include/asm/pte-common.h
    The first one is included if (PPC_BOOK3S & PPC64) while the second is
    included in all the other cases.
    So select ARCH_HAS_PTE_SPECIAL all the time.

    sparc:
    __HAVE_ARCH_PTE_SPECIAL is defined if defined(__sparc__) &&
    defined(__arch64__) which are defined through the compiler in
    sparc/Makefile if !SPARC32 which I assume to be if SPARC64.
    So select ARCH_HAS_PTE_SPECIAL if SPARC64

    There is no functional change introduced by this patch.

    Link: http://lkml.kernel.org/r/1523433816-14460-2-git-send-email-ldufour@linux.vnet.ibm.com
    Signed-off-by: Laurent Dufour
    Suggested-by: Jerome Glisse
    Reviewed-by: Jerome Glisse
    Acked-by: David Rientjes
    Cc: Michal Hocko
    Cc: "Aneesh Kumar K . V"
    Cc: Michael Ellerman
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Jonathan Corbet
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: Yoshinori Sato
    Cc: Rich Felker
    Cc: David S. Miller
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Vineet Gupta
    Cc: Palmer Dabbelt
    Cc: Albert Ou
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: David Rientjes
    Cc: Robin Murphy
    Cc: Christophe LEROY
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Laurent Dufour
     

05 Jun, 2018

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "There's been a fair amount of work in the docs tree this time around,
    including:

    - Extensive RST conversions and organizational work in the
    memory-management docs thanks to Mike Rapoport.

    - An update of Documentation/features from Andrea Parri and a script
    to keep it updated.

    - Various LICENSES updates from Thomas, along with a script to check
    SPDX tags.

    - Work to fix dangling references to documentation files; this
    involved a fair number of one-liner comment changes outside of
    Documentation/

    ... and the usual list of documentation improvements, typo fixes, etc"

    * tag 'docs-4.18' of git://git.lwn.net/linux: (103 commits)
    Documentation: document hung_task_panic kernel parameter
    docs/admin-guide/mm: add high level concepts overview
    docs/vm: move ksm and transhuge from "user" to "internals" section.
    docs: Use the kerneldoc comments for memalloc_no*()
    doc: document scope NOFS, NOIO APIs
    docs: update kernel versions and dates in tables
    docs/vm: transhuge: split userspace bits to admin-guide/mm/transhuge
    docs/vm: transhuge: minor updates
    docs/vm: transhuge: change sections order
    Documentation: arm: clean up Marvell Berlin family info
    Documentation: gpio: driver: Fix a typo and some odd grammar
    docs: ranoops.rst: fix location of ramoops.txt
    scripts/documentation-file-ref-check: rewrite it in perl with auto-fix mode
    docs: uio-howto.rst: use a code block to solve a warning
    mm, THP, doc: Add document for thp_swpout/thp_swpout_fallback
    w1: w1_io.c: fix a kernel-doc warning
    Documentation/process/posting: wrap text at 80 cols
    docs: admin-guide: add cgroup-v2 documentation
    Revert "Documentation/features/vm: Remove arch support status file for 'pte_special'"
    Documentation: refcount-vs-atomic: Update reference to LKMM doc.
    ...

    Linus Torvalds
     

11 May, 2018

1 commit


08 May, 2018

7 commits


03 Apr, 2018

1 commit

  • Pul removal of obsolete architecture ports from Arnd Bergmann:
    "This removes the entire architecture code for blackfin, cris, frv,
    m32r, metag, mn10300, score, and tile, including the associated device
    drivers.

    I have been working with the (former) maintainers for each one to
    ensure that my interpretation was right and the code is definitely
    unused in mainline kernels. Many had fond memories of working on the
    respective ports to start with and getting them included in upstream,
    but also saw no point in keeping the port alive without any users.

    In the end, it seems that while the eight architectures are extremely
    different, they all suffered the same fate: There was one company in
    charge of an SoC line, a CPU microarchitecture and a software
    ecosystem, which was more costly than licensing newer off-the-shelf
    CPU cores from a third party (typically ARM, MIPS, or RISC-V). It
    seems that all the SoC product lines are still around, but have not
    used the custom CPU architectures for several years at this point. In
    contrast, CPU instruction sets that remain popular and have actively
    maintained kernel ports tend to all be used across multiple licensees.

    [ See the new nds32 port merged in the previous commit for the next
    generation of "one company in charge of an SoC line, a CPU
    microarchitecture and a software ecosystem" - Linus ]

    The removal came out of a discussion that is now documented at
    https://lwn.net/Articles/748074/. Unlike the original plans, I'm not
    marking any ports as deprecated but remove them all at once after I
    made sure that they are all unused. Some architectures (notably tile,
    mn10300, and blackfin) are still being shipped in products with old
    kernels, but those products will never be updated to newer kernel
    releases.

    After this series, we still have a few architectures without mainline
    gcc support:

    - unicore32 and hexagon both have very outdated gcc releases, but the
    maintainers promised to work on providing something newer. At least
    in case of hexagon, this will only be llvm, not gcc.

    - openrisc, risc-v and nds32 are still in the process of finishing
    their support or getting it added to mainline gcc in the first
    place. They all have patched gcc-7.3 ports that work to some
    degree, but complete upstream support won't happen before gcc-8.1.
    Csky posted their first kernel patch set last week, their situation
    will be similar

    [ Palmer Dabbelt points out that RISC-V support is in mainline gcc
    since gcc-7, although gcc-7.3.0 is the recommended minimum - Linus ]"

    This really says it all:

    2498 files changed, 95 insertions(+), 467668 deletions(-)

    * tag 'arch-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: (74 commits)
    MAINTAINERS: UNICORE32: Change email account
    staging: iio: remove iio-trig-bfin-timer driver
    tty: hvc: remove tile driver
    tty: remove bfin_jtag_comm and hvc_bfin_jtag drivers
    serial: remove tile uart driver
    serial: remove m32r_sio driver
    serial: remove blackfin drivers
    serial: remove cris/etrax uart drivers
    usb: Remove Blackfin references in USB support
    usb: isp1362: remove blackfin arch glue
    usb: musb: remove blackfin port
    usb: host: remove tilegx platform glue
    pwm: remove pwm-bfin driver
    i2c: remove bfin-twi driver
    spi: remove blackfin related host drivers
    watchdog: remove bfin_wdt driver
    can: remove bfin_can driver
    mmc: remove bfin_sdh driver
    input: misc: remove blackfin rotary driver
    input: keyboard: remove bf54x driver
    ...

    Linus Torvalds
     

26 Mar, 2018

1 commit

  • A number of architecture ports are obsolete and getting dropped,
    so we no longer want to track the respective features.

    We already removed the lines for metag and mn10300, this does
    the same edits for all the others.

    For the remaining 21 architectures, this shows how many are known
    to implement each given feature:

    19 time/modern-timekeeping/arch-support.txt
    19 time/clockevents/arch-support.txt
    15 core/tracehook/arch-support.txt
    14 core/generic-idle-thread/arch-support.txt
    13 locking/lockdep/arch-support.txt
    12 io/dma-api-debug/arch-support.txt
    11 debug/kgdb/arch-support.txt
    10 time/virt-cpuacct/arch-support.txt
    9 debug/kretprobes/arch-support.txt
    9 debug/kprobes/arch-support.txt
    8 vm/THP/arch-support.txt
    8 vm/pte_special/arch-support.txt
    8 vm/numa-memblock/arch-support.txt
    8 io/sg-chain/arch-support.txt
    7 perf/kprobes-event/arch-support.txt
    7 locking/rwsem-optimized/arch-support.txt
    7 debug/gcov-profile-all/arch-support.txt
    7 core/jump-labels/arch-support.txt
    7 core/BPF-JIT/arch-support.txt
    6 vm/ELF-ASLR/arch-support.txt
    6 time/context-tracking/arch-support.txt
    6 seccomp/seccomp-filter/arch-support.txt
    6 debug/stackprotector/arch-support.txt
    5 time/irq-time-acct/arch-support.txt
    5 io/dma-contiguous/arch-support.txt
    5 debug/uprobes/arch-support.txt
    4 vm/ioremap_prot/arch-support.txt
    4 time/arch-tick-broadcast/arch-support.txt
    4 perf/perf-stackdump/arch-support.txt
    4 perf/perf-regs/arch-support.txt
    3 debug/KASAN/arch-support.txt
    2 vm/PG_uncached/arch-support.txt
    2 vm/huge-vmap/arch-support.txt
    2 sched/numa-balancing/arch-support.txt
    2 sched/membarrier-sync-core/arch-support.txt
    2 locking/cmpxchg-local/arch-support.txt
    2 debug/optprobes/arch-support.txt
    2 debug/kprobes-on-ftrace/arch-support.txt
    1 vm/TLB/arch-support.txt
    1 locking/queued-spinlocks/arch-support.txt
    1 locking/queued-rwlocks/arch-support.txt
    1 debug/user-ret-profiler/arch-support.txt
    0 lib/strncasecmp/arch-support.txt

    Note that the list does not include riscv or nds32 yet, these still
    need to be added.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

10 Mar, 2018

1 commit


22 Feb, 2018

1 commit


11 Feb, 2018

2 commits

  • Ensure we gather architecture requirements about each architecture
    supporting the "sync_core" membarrier command in a single file under
    Documentation/features.

    Signed-off-by: Mathieu Desnoyers
    Cc: Andrea Parri
    Cc: Andrew Hunter
    Cc: Andy Lutomirski
    Cc: Avi Kivity
    Cc: Benjamin Herrenschmidt
    Cc: Boqun Feng
    Cc: Dave Watson
    Cc: David Sehr
    Cc: Greg Hackmann
    Cc: Jonathan Corbet
    Cc: Linus Torvalds
    Cc: Maged Michael
    Cc: Michael Ellerman
    Cc: Paul E. McKenney
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Russell King
    Cc: Thomas Gleixner
    Cc: Will Deacon
    Cc: linux-api@vger.kernel.org
    Cc: linux-arch@vger.kernel.org
    Cc: linux-doc@vger.kernel.org
    Link: http://lkml.kernel.org/r/1518208256-22034-1-git-send-email-mathieu.desnoyers@efficios.com
    Signed-off-by: Ingo Molnar

    Mathieu Desnoyers
     
  • The list-arch.sh script considers lines beginning with "#" as match for
    the feature table.

    Given that those tables are never in lines beginning with "#",
    add a reverse grep on "^#" when matching the "ok/TODO" state of
    the architecture.

    This allows adding comments within the feature files, for instance
    describing the architecture requirements for the feature in each
    architecture.

    Signed-off-by: Mathieu Desnoyers
    Cc: Jonathan Corbet
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: linux-doc@vger.kernel.org
    Link: http://lkml.kernel.org/r/1518282058-24226-1-git-send-email-mathieu.desnoyers@efficios.com
    Signed-off-by: Ingo Molnar

    Mathieu Desnoyers
     

10 Feb, 2018

1 commit

  • Ensure we gather architecture requirements about each architecture
    supporting the "sync_core" membarrier command in a single file under
    Documentation/features.

    Signed-off-by: Mathieu Desnoyers
    Cc: Andrea Parri
    Cc: Andrew Hunter
    Cc: Andy Lutomirski
    Cc: Avi Kivity
    Cc: Benjamin Herrenschmidt
    Cc: Boqun Feng
    Cc: Dave Watson
    Cc: David Sehr
    Cc: Greg Hackmann
    Cc: Linus Torvalds
    Cc: Maged Michael
    Cc: Michael Ellerman
    Cc: Paul E. McKenney
    Cc: Paul Mackerras
    Cc: Peter Zijlstra (Intel)
    Cc: Peter Zijlstra
    Cc: Russell King
    Cc: Thomas Gleixner
    Cc: Will Deacon
    Cc: linux-api@vger.kernel.org
    Cc: linux-arch@vger.kernel.org
    Link: http://lkml.kernel.org/r/1518208256-22034-1-git-send-email-mathieu.desnoyers@efficios.com
    Signed-off-by: Ingo Molnar

    Mathieu Desnoyers
     

30 Jan, 2018

1 commit

  • Pull Xtensa updates from Max Filippov:

    - add SSP support

    - add KASAN support

    - improvements to xtensa-specific assembly:
    - use ENTRY and ENDPROC consistently
    - clean up and unify word alignment macros
    - clean up and unify fixup marking
    - use 'call' instead of 'callx' where possible

    - various cleanups:
    - consiolidate kernel stack size related definitions
    - replace #ifdef'fed/commented out debug printk statements with
    pr_debug
    - use struct exc_table instead of flat array for exception handling
    data

    - build kernel with -mtext-section-literals; simplify xtensa linker
    script

    - fix futex_atomic_cmpxchg_inatomic()

    * tag 'xtensa-20180129' of git://github.com/jcmvbkbc/linux-xtensa: (21 commits)
    xtensa: fix futex_atomic_cmpxchg_inatomic
    xtensa: shut up gcc-8 warnings
    xtensa: print kernel sections info in mem_init
    xtensa: use generic strncpy_from_user with KASAN
    xtensa: use __memset in __xtensa_clear_user
    xtensa: add support for KASAN
    xtensa: move fixmap and kmap just above the KSEG
    xtensa: don't clear swapper_pg_dir in paging_init
    xtensa: extract init_kio
    xtensa: implement early_trap_init
    xtensa: clean up exception handling structure
    xtensa: clean up custom-controlled debug output
    xtensa: enable stack protector
    xtensa: print hardware config ID on startup
    xtensa: consolidate kernel stack size related definitions
    xtensa: clean up functions in assembly code
    xtensa: clean up word alignment macros in assembly code
    xtensa: clean up fixups in assembly code
    xtensa: use call instead of callx in assembly code
    xtensa: build kernel with text-section-literals
    ...

    Linus Torvalds
     

17 Dec, 2017

2 commits

  • Cover kernel addresses above 0x90000000 by the shadow map. Enable
    HAVE_ARCH_KASAN when MMU is enabled. Provide kasan_early_init that fills
    shadow map with writable copies of kasan_zero_page. Call
    kasan_early_init right after mmu initialization in the setup_arch.
    Provide kasan_init that allocates proper shadow map pages from the
    memblock and puts these pages into the shadow map for addresses from
    VMALLOC area to the end of KSEG. Call kasan_init right after memblock
    initialization. Don't use KASAN for the boot code, MMU and KASAN
    initialization and page fault handler. Make kernel stack size 4 times
    larger when KASAN is enabled to avoid stack overflows.
    GCC 7.3, 8 or newer is required to build the xtensa kernel with KASAN.

    Signed-off-by: Max Filippov

    Max Filippov
     
  • The implementation is adopted from the ARM arch. GCC 7.3, 8 or newer is
    required for building the xtensa kernel with SSP.

    Signed-off-by: Max Filippov

    Max Filippov
     

04 Oct, 2017

1 commit


08 Aug, 2017

1 commit

  • Since commit 64e2a42bca12 ("parisc: Add ARCH_TRACEHOOK and regset
    support") in v4.7, parisc selects HAVE_ARCH_TRACEHOOK, so update its
    entry in Documentation/features from TODO to ok.

    Signed-off-by: James Hogan
    Cc: "James E.J. Bottomley"
    Cc: Helge Deller
    Cc: Ingo Molnar
    Signed-off-by: Jonathan Corbet

    James Hogan
     

06 May, 2017

1 commit

  • Pull powerpc updates from Michael Ellerman:
    "Highlights include:

    - Larger virtual address space on 64-bit server CPUs. By default we
    use a 128TB virtual address space, but a process can request access
    to the full 512TB by passing a hint to mmap().

    - Support for the new Power9 "XIVE" interrupt controller.

    - TLB flushing optimisations for the radix MMU on Power9.

    - Support for CAPI cards on Power9, using the "Coherent Accelerator
    Interface Architecture 2.0".

    - The ability to configure the mmap randomisation limits at build and
    runtime.

    - Several small fixes and cleanups to the kprobes code, as well as
    support for KPROBES_ON_FTRACE.

    - Major improvements to handling of system reset interrupts,
    correctly treating them as NMIs, giving them a dedicated stack and
    using a new hypervisor call to trigger them, all of which should
    aid debugging and robustness.

    - Many fixes and other minor enhancements.

    Thanks to: Alastair D'Silva, Alexey Kardashevskiy, Alistair Popple,
    Andrew Donnellan, Aneesh Kumar K.V, Anshuman Khandual, Anton
    Blanchard, Balbir Singh, Ben Hutchings, Benjamin Herrenschmidt,
    Bhupesh Sharma, Chris Packham, Christian Zigotzky, Christophe Leroy,
    Christophe Lombard, Daniel Axtens, David Gibson, Gautham R. Shenoy,
    Gavin Shan, Geert Uytterhoeven, Guilherme G. Piccoli, Hamish Martin,
    Hari Bathini, Kees Cook, Laurent Dufour, Madhavan Srinivasan, Mahesh J
    Salgaonkar, Mahesh Salgaonkar, Masami Hiramatsu, Matt Brown, Matthew
    R. Ochs, Michael Neuling, Naveen N. Rao, Nicholas Piggin, Oliver
    O'Halloran, Pan Xinhui, Paul Mackerras, Rashmica Gupta, Russell
    Currey, Sukadev Bhattiprolu, Thadeu Lima de Souza Cascardo, Tobin C.
    Harding, Tyrel Datwyler, Uma Krishnan, Vaibhav Jain, Vipin K Parashar,
    Yang Shi"

    * tag 'powerpc-4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (214 commits)
    powerpc/64s: Power9 has no LPCR[VRMASD] field so don't set it
    powerpc/powernv: Fix TCE kill on NVLink2
    powerpc/mm/radix: Drop support for CPUs without lockless tlbie
    powerpc/book3s/mce: Move add_taint() later in virtual mode
    powerpc/sysfs: Move #ifdef CONFIG_HOTPLUG_CPU out of the function body
    powerpc/smp: Document irq enable/disable after migrating IRQs
    powerpc/mpc52xx: Don't select user-visible RTAS_PROC
    powerpc/powernv: Document cxl dependency on special case in pnv_eeh_reset()
    powerpc/eeh: Clean up and document event handling functions
    powerpc/eeh: Avoid use after free in eeh_handle_special_event()
    cxl: Mask slice error interrupts after first occurrence
    cxl: Route eeh events to all drivers in cxl_pci_error_detected()
    cxl: Force context lock during EEH flow
    powerpc/64: Allow CONFIG_RELOCATABLE if COMPILE_TEST
    powerpc/xmon: Teach xmon oops about radix vectors
    powerpc/mm/hash: Fix off-by-one in comment about kernel contexts ids
    powerpc/pseries: Enable VFIO
    powerpc/powernv: Fix iommu table size calculation hook for small tables
    powerpc/powernv: Check kzalloc() return value in pnv_pci_table_alloc
    powerpc: Add arch/powerpc/tools directory
    ...

    Linus Torvalds