[GIT PULL] RISC-V Patches for the 5.9 Merge Window, Part 1

Palmer Dabbelt palmer at dabbelt.com
Thu Aug 6 19:17:49 EDT 2020


The following changes since commit 9ebcfadb0610322ac537dd7aa5d9cbc2b2894c68:

  Linux 5.8-rc3 (2020-06-28 15:00:24 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git tags/riscv-for-linus-5.9-mw0

for you to fetch changes up to 40284a072c42f6177184fb1f62ba94c69e0c0277:

  riscv: disable stack-protector for vDSO (2020-08-04 15:02:49 -0700)

----------------------------------------------------------------
RISC-V Patches for the 5.9 Merge Window, Part 1

We have a lot of new kernel features for this merge window:

* ARCH_SUPPORTS_ATOMIC_RMW, to allow OSQ locks to be enabled.
* The ability to enable NO_HZ_FULL
* Support for enabling kcov, kmemleak, stack protector, and VM debugging.
* JUMP_LABEL support.

There are also a handful of cleanups.

next points out a trivial Kconfig merge conflict.  I don't see any way to have
done this better: the symbols are sorted, it just happens that
HAVE_COPY_THREAD_TLS was in the middle of two new symbols.  In case it helps
any, here's a pretty current conflict resolution:

diff --cc arch/riscv/Kconfig
index bc37241a6875,6c4bce7cad8a..7b5905529146
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@@ -57,9 -54,6 +59,8 @@@ config RISC
        select HAVE_ARCH_SECCOMP_FILTER
        select HAVE_ARCH_TRACEHOOK
        select HAVE_ASM_MODVERSIONS
 +      select HAVE_CONTEXT_TRACKING
-       select HAVE_COPY_THREAD_TLS
 +      select HAVE_DEBUG_KMEMLEAK
        select HAVE_DMA_CONTIGUOUS if MMU
        select HAVE_EBPF_JIT if MMU
        select HAVE_FUTEX_CMPXCHG if FUTEX

----------------------------------------------------------------
Alexander A. Klimov (1):
      Replace HTTP links with HTTPS ones: RISC-V

Atish Patra (2):
      RISC-V: Setup exception vector early
      RISC-V: Fix build warning for smpboot.c

Chenxi Mao (1):
      riscv: Select ARCH_SUPPORTS_ATOMIC_RMW by default

Emil Renner Berthing (3):
      riscv: Support R_RISCV_ADD64 and R_RISCV_SUB64 relocs
      riscv: Add jump-label implementation
      riscv: Select ARCH_HAS_DEBUG_VM_PGTABLE

Greentime Hu (3):
      RISC-V: Use a local variable instead of smp_processor_id()
      riscv: Support irq_work via self IPIs
      riscv: Enable context tracking

Guo Ren (4):
      riscv: Fixup static_obj() fail
      riscv: Enable LOCKDEP_SUPPORT & fixup TRACE_IRQFLAGS_SUPPORT
      riscv: Add STACKPROTECTOR supported
      riscv: Cleanup unnecessary define in asm-offset.c

Pekka Enberg (2):
      mm: pgtable: Make generic pgprot_* macros available for no-MMU
      riscv: Use generic pgprot_* macros from <linux/pgtable.h>

Tobias Klauser (4):
      riscv: Allow building with kcov coverage
      riscv: Add kmemleak support
      riscv: Fix typo in asm/hwcap.h uapi header
      riscv: disable stack-protector for vDSO

Zong Li (4):
      riscv: Register System RAM as iomem resources
      riscv: Fixup lockdep_assert_held with wrong param cpu_running
      riscv: Fix build warning for mm/init
      riscv: fix build warning of mm/pageattr

 .../features/core/jump-labels/arch-support.txt     |  2 +-
 .../debug/debug-vm-pgtable/arch-support.txt        |  2 +-
 arch/riscv/Kconfig                                 | 12 ++++
 arch/riscv/boot/Makefile                           |  2 +
 arch/riscv/configs/defconfig                       |  1 +
 arch/riscv/configs/nommu_k210_defconfig            |  1 +
 arch/riscv/configs/nommu_virt_defconfig            |  1 +
 arch/riscv/configs/rv32_defconfig                  |  1 +
 arch/riscv/include/asm/irq_work.h                  | 10 +++
 arch/riscv/include/asm/jump_label.h                | 60 ++++++++++++++++++
 arch/riscv/include/asm/mmio.h                      |  6 --
 arch/riscv/include/asm/smp.h                       |  3 +
 arch/riscv/include/asm/stackprotector.h            | 33 ++++++++++
 arch/riscv/include/uapi/asm/hwcap.h                |  2 +-
 arch/riscv/include/uapi/asm/unistd.h               |  2 +-
 arch/riscv/kernel/Makefile                         |  2 +
 arch/riscv/kernel/asm-offsets.c                    |  3 -
 arch/riscv/kernel/entry.S                          | 54 ++++++++++++++--
 arch/riscv/kernel/head.S                           | 10 ++-
 arch/riscv/kernel/jump_label.c                     | 53 ++++++++++++++++
 arch/riscv/kernel/module.c                         | 16 +++++
 arch/riscv/kernel/process.c                        |  6 ++
 arch/riscv/kernel/smp.c                            | 15 +++++
 arch/riscv/kernel/smpboot.c                        | 12 ++--
 arch/riscv/kernel/traps.c                          |  8 +--
 arch/riscv/kernel/vdso/Makefile                    |  3 +
 arch/riscv/kernel/vmlinux.lds.S                    |  2 +-
 arch/riscv/mm/Makefile                             |  2 +
 arch/riscv/mm/init.c                               | 27 ++++++++
 arch/riscv/mm/pageattr.c                           |  3 +-
 include/linux/pgtable.h                            | 71 +++++++++++-----------
 tools/arch/riscv/include/uapi/asm/unistd.h         |  2 +-
 32 files changed, 356 insertions(+), 71 deletions(-)
 create mode 100644 arch/riscv/include/asm/irq_work.h
 create mode 100644 arch/riscv/include/asm/jump_label.h
 create mode 100644 arch/riscv/include/asm/stackprotector.h
 create mode 100644 arch/riscv/kernel/jump_label.c



More information about the linux-riscv mailing list