Messages in this thread | | | Date | Fri, 26 Feb 2021 07:39:42 -0800 (PST) | Subject | [GIT PULL] RISC-V Patches for the 5.12 Merge Window | From | Palmer Dabbelt <> |
| |
The following changes since commit e71ba9452f0b5b2e8dc8aa5445198cd9214a6a62:
Linux 5.11-rc2 (2021-01-03 15:55:30 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git tags/riscv-for-linus-5.12-mw0
for you to fetch changes up to d7fbcf40df86bb67193d9faf52138fc1202decb2:
riscv: Improve kasan population by using hugepages when possible (2021-02-22 18:54:17 -0800)
---------------------------------------------------------------- RISC-V Patches for the 5.12 Merge Window
I have a handful of new RISC-V related patches for this merge window:
* A check to ensure drivers are properly using uaccess. This isn't manifesting with any of the drivers I'm currently using, but may catch errors in new drivers. * Some preliminary support for the FU740, along with the HiFive Unleashed it will appear on. * NUMA support for RISC-V, which involves making the arm64 code generic. * Support for kasan on the vmalloc region. * A handful of new drivers for the Kendryte K210, along with the DT plumbing required to boot on a handful of K210-based boards. * Support for allocating ASIDs. * Preliminary support for kernels larger than 128MiB. * Various other improvements to our KASAN support, including the utilization of huge pages when allocating the KASAN regions.
We may have already found a bug with the KASAN_VMALLOC code, but it's passing my tests. There's a fix in the works, but that will probably miss the merge window.
---
We have a handful of merge conflicts this round. Here are my resolutions. The arm64 one was part of the NUMA cleanup, the other two were part of the Kendryte rename (it's Canaan now, and it's alphabetically sorted).
diff --cc arch/arm64/mm/Makefile index cd60e4fed78f,77222d92667a..f188c9092696 --- a/arch/arm64/mm/Makefile +++ b/arch/arm64/mm/Makefile @@@ -6,6 -6,8 +6,7 @@@ obj-y := dma-mapping.o extable.o fau obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o obj-$(CONFIG_PTDUMP_CORE) += ptdump.o obj-$(CONFIG_PTDUMP_DEBUGFS) += ptdump_debugfs.o + obj-$(CONFIG_TRANS_TABLE) += trans_pgd.o -obj-$(CONFIG_NUMA) += numa.o obj-$(CONFIG_DEBUG_VIRTUAL) += physaddr.o obj-$(CONFIG_ARM64_MTE) += mteswap.o KASAN_SANITIZE_physaddr.o += n diff --cc drivers/soc/Kconfig index c0143651f4a9,f357c6c659d2..e8a30c4c5aec --- a/drivers/soc/Kconfig +++ b/drivers/soc/Kconfig @@@ -23,6 -22,6 +23,5 @@@ source "drivers/soc/ti/Kconfig source "drivers/soc/ux500/Kconfig" source "drivers/soc/versatile/Kconfig" source "drivers/soc/xilinx/Kconfig" - source "drivers/soc/zte/Kconfig" -source "drivers/soc/kendryte/Kconfig"
endmenu diff --cc drivers/soc/Makefile index 34b23645be14,9bceb12b291d..f678e4d9e585 --- a/drivers/soc/Makefile +++ b/drivers/soc/Makefile @@@ -29,4 -28,4 +29,3 @@@ obj-y += ti obj-$(CONFIG_ARCH_U8500) += ux500/ obj-$(CONFIG_PLAT_VERSATILE) += versatile/ obj-y += xilinx/ - obj-$(CONFIG_ARCH_ZX) += zte/ -obj-$(CONFIG_SOC_KENDRYTE) += kendryte/
---------------------------------------------------------------- Alexandre Ghiti (5): riscv: Get rid of MAX_EARLY_MAPPING_SIZE riscv: Improve kasan definitions riscv: Use KASAN_SHADOW_INIT define for kasan memory initialization riscv: Improve kasan population function riscv: Improve kasan population by using hugepages when possible
Anup Patel (1): RISC-V: Implement ASID allocator
Atish Patra (5): arm64, numa: Change the numa init functions name to be generic numa: Move numa implementation to common code riscv: Separate memory init from paging init riscv: Add numa support for riscv64 platform RISC-V: Add a non-void return for sbi v02 functions
Chen Huang (1): riscv/stacktrace: Fix stack output without ra on the stack top
Chengyang Fan (1): RISC-V: remove unneeded semicolon
Damien Le Moal (26): riscv: Fix builtin DTB handling riscv: Use vendor name for K210 SoC support riscv: Fix Canaan Kendryte K210 device tree riscv: cleanup Canaan Kendryte K210 sysctl driver dt-binding: mfd: Document canaan,k210-sysctl bindings dt-bindings: reset: Document canaan,k210-rst bindings dt-bindings: pinctrl: Document canaan,k210-fpioa bindings riscv: Add Canaan Kendryte K210 reset controller pinctrl: Add RISC-V Canaan Kendryte K210 FPIOA driver clk: Add RISC-V Canaan Kendryte K210 clock driver dt-bindings: update MAINTAINERS file dt-bindings: add Canaan boards compatible strings dt-bindings: update risc-v cpu properties dt-bindings: update sifive plic compatible string dt-bindings: update sifive clint compatible string dt-bindings: update sifive uart compatible string dt-bindings: fix sifive gpio properties dt-bindings: add resets property to dw-apb-timer riscv: Update Canaan Kendryte K210 device tree riscv: Add SiPeed MAIX BiT board device tree riscv: Add SiPeed MAIX DOCK board device tree riscv: Add SiPeed MAIX GO board device tree riscv: Add SiPeed MAIXDUINO board device tree riscv: Add Kendryte KD233 board device tree riscv: Update Canaan Kendryte K210 defconfig riscv: Add Canaan Kendryte K210 SD card defconfig
Eric Lin (2): riscv/mm: Introduce a die_kernel_fault() helper function riscv/mm: Prevent kernel module to access user memory without uaccess routines
Greentime Hu (1): riscv: Add support pte_protnone and pmd_protnone if CONFIG_NUMA_BALANCING
Guo Ren (9): riscv: Fixup compile error BUILD_BUG_ON failed riscv: Fixup wrong ftrace remove cflag riscv: Fixup patch_text panic in ftrace riscv: Using PATCHABLE_FUNCTION_ENTRY instead of MCOUNT riscv: Add kprobes supported riscv: Add KPROBES_ON_FTRACE supported riscv: Add uprobes supported riscv: Add support for function error injection riscv: Enable per-task stack canaries
Kefeng Wang (8): riscv: Cleanup sbi function stubs when RISCV_SBI disabled riscv: Add machine name to kernel boot log and stack dump output riscv: Add dump stack in show_regs riscv: Improve __show_regs initrd: Add the preprocessor guard in initrd.h initramfs: Provide a common initrd reserve function riscv: Covert to reserve_initrd_mem() riscv: Remove unnecessary declaration
Nylon Chen (1): riscv/kasan: add KASAN_VMALLOC support
Palmer Dabbelt (2): RISC-V: probes: Treat the instruction stream as host-endian soc: canaan: Sort the Makefile alphabetically
Patrick StÀhlin (1): RISC-V: Implement ptrace regs and stack API
Randy Dunlap (1): arch_numa: fix common code printing of phys_addr_t
Tobias Klauser (1): riscv: Disable KSAN_SANITIZE for vDSO
Vitaly Wool (1): riscv: add BUILTIN_DTB support for MMU-enabled targets
Yash Shah (8): dt-bindings: riscv: Update l2 cache DT documentation to add support for SiFive FU740 RISC-V: sifive_l2_cache: Update L2 cache driver to support SiFive FU740 dt-bindings: riscv: Update DT binding docs to support SiFive FU740 SoC dt-bindings: pwm: Update DT binding docs to support SiFive FU740 SoC dt-bindings: gpio: Update DT binding docs to support SiFive FU740 SoC riscv: dts: add initial support for the SiFive FU740-C000 SoC dt-bindings: riscv: Update YAML doc to support SiFive HiFive Unmatched board riscv: dts: add initial board data for the SiFive HiFive Unmatched
tangchunyou (1): arch/riscv:fix typo in a comment in arch/riscv/kernel/image-vars.h
.../devicetree/bindings/gpio/sifive,gpio.yaml | 29 +- .../interrupt-controller/sifive,plic-1.0.0.yaml | 13 +- .../bindings/mfd/canaan,k210-sysctl.yaml | 109 +++ .../bindings/pinctrl/canaan,k210-fpioa.yaml | 171 ++++ .../devicetree/bindings/pwm/pwm-sifive.yaml | 9 +- .../devicetree/bindings/reset/canaan,k210-rst.yaml | 40 + .../devicetree/bindings/riscv/canaan.yaml | 47 + Documentation/devicetree/bindings/riscv/cpus.yaml | 8 + .../devicetree/bindings/riscv/sifive-l2-cache.yaml | 34 +- .../devicetree/bindings/riscv/sifive.yaml | 17 +- .../devicetree/bindings/serial/sifive-serial.yaml | 1 + .../devicetree/bindings/timer/sifive,clint.yaml | 12 +- .../bindings/timer/snps,dw-apb-timer.yaml | 3 + MAINTAINERS | 23 + arch/arm64/Kconfig | 1 + arch/arm64/include/asm/numa.h | 48 +- arch/arm64/kernel/acpi_numa.c | 12 - arch/arm64/mm/Makefile | 1 - arch/arm64/mm/init.c | 4 +- arch/riscv/Kconfig | 48 +- arch/riscv/Kconfig.socs | 33 +- arch/riscv/Makefile | 14 +- arch/riscv/boot/dts/Makefile | 2 +- arch/riscv/boot/dts/canaan/Makefile | 5 + arch/riscv/boot/dts/canaan/canaan_kd233.dts | 152 +++ arch/riscv/boot/dts/canaan/k210.dtsi | 459 +++++++++ arch/riscv/boot/dts/canaan/k210_generic.dts | 46 + arch/riscv/boot/dts/canaan/sipeed_maix_bit.dts | 209 ++++ arch/riscv/boot/dts/canaan/sipeed_maix_dock.dts | 211 ++++ arch/riscv/boot/dts/canaan/sipeed_maix_go.dts | 219 +++++ arch/riscv/boot/dts/canaan/sipeed_maixduino.dts | 184 ++++ arch/riscv/boot/dts/kendryte/Makefile | 4 - arch/riscv/boot/dts/kendryte/k210.dts | 23 - arch/riscv/boot/dts/kendryte/k210.dtsi | 125 --- arch/riscv/boot/dts/sifive/Makefile | 3 +- arch/riscv/boot/dts/sifive/fu740-c000.dtsi | 293 ++++++ .../riscv/boot/dts/sifive/hifive-unmatched-a00.dts | 253 +++++ arch/riscv/configs/nommu_k210_defconfig | 46 +- arch/riscv/configs/nommu_k210_sdcard_defconfig | 92 ++ arch/riscv/include/asm/bug.h | 1 + arch/riscv/include/asm/csr.h | 6 + arch/riscv/include/asm/kasan.h | 22 +- arch/riscv/include/asm/kprobes.h | 40 + arch/riscv/include/asm/mmu.h | 2 + arch/riscv/include/asm/mmu_context.h | 10 + arch/riscv/include/asm/mmzone.h | 13 + arch/riscv/include/asm/numa.h | 8 + arch/riscv/include/asm/page.h | 3 - arch/riscv/include/asm/pci.h | 14 + arch/riscv/include/asm/pgtable.h | 21 + arch/riscv/include/asm/probes.h | 24 + arch/riscv/include/asm/processor.h | 1 + arch/riscv/include/asm/ptrace.h | 35 + arch/riscv/include/asm/sbi.h | 18 +- arch/riscv/include/asm/set_memory.h | 2 +- arch/riscv/include/asm/soc.h | 38 - arch/riscv/include/asm/stackprotector.h | 3 +- arch/riscv/include/asm/stacktrace.h | 2 + arch/riscv/include/asm/thread_info.h | 4 +- arch/riscv/include/asm/uprobes.h | 40 + arch/riscv/kernel/Makefile | 6 +- arch/riscv/kernel/asm-offsets.c | 3 + arch/riscv/kernel/ftrace.c | 95 +- arch/riscv/kernel/head.S | 4 + arch/riscv/kernel/image-vars.h | 2 +- arch/riscv/kernel/mcount-dyn.S | 342 +++---- arch/riscv/kernel/patch.c | 8 +- arch/riscv/kernel/probes/Makefile | 6 + arch/riscv/kernel/probes/decode-insn.c | 48 + arch/riscv/kernel/probes/decode-insn.h | 18 + arch/riscv/kernel/probes/ftrace.c | 53 ++ arch/riscv/kernel/probes/kprobes.c | 398 ++++++++ arch/riscv/kernel/probes/kprobes_trampoline.S | 93 ++ arch/riscv/kernel/probes/simulate-insn.c | 85 ++ arch/riscv/kernel/probes/simulate-insn.h | 47 + arch/riscv/kernel/probes/uprobes.c | 186 ++++ arch/riscv/kernel/process.c | 18 +- arch/riscv/kernel/ptrace.c | 99 ++ arch/riscv/kernel/sbi.c | 36 +- arch/riscv/kernel/setup.c | 23 +- arch/riscv/kernel/signal.c | 3 + arch/riscv/kernel/smpboot.c | 12 +- arch/riscv/kernel/soc.c | 27 - arch/riscv/kernel/stacktrace.c | 22 +- arch/riscv/kernel/traps.c | 22 +- arch/riscv/kernel/vdso/Makefile | 3 +- arch/riscv/lib/Makefile | 2 + arch/riscv/lib/error-inject.c | 10 + arch/riscv/mm/Makefile | 3 +- arch/riscv/mm/context.c | 265 +++++- arch/riscv/mm/fault.c | 38 +- arch/riscv/mm/init.c | 108 +-- arch/riscv/mm/kasan_init.c | 176 +++- drivers/base/Kconfig | 6 + drivers/base/Makefile | 1 + arch/arm64/mm/numa.c => drivers/base/arch_numa.c | 40 +- drivers/clk/Kconfig | 7 + drivers/clk/Makefile | 1 + drivers/clk/clk-k210.c | 1007 ++++++++++++++++++++ drivers/pinctrl/Kconfig | 13 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/pinctrl-k210.c | 985 +++++++++++++++++++ drivers/reset/Kconfig | 10 + drivers/reset/Makefile | 1 + drivers/reset/reset-k210.c | 131 +++ drivers/soc/Kconfig | 2 +- drivers/soc/Makefile | 2 +- drivers/soc/canaan/Kconfig | 12 + drivers/soc/canaan/Makefile | 3 + drivers/soc/canaan/k210-sysctl.c | 78 ++ drivers/soc/kendryte/Kconfig | 14 - drivers/soc/kendryte/Makefile | 3 - drivers/soc/kendryte/k210-sysctl.c | 260 ----- drivers/soc/sifive/sifive_l2_cache.c | 27 +- include/asm-generic/numa.h | 52 + include/dt-bindings/clock/k210-clk.h | 1 - include/dt-bindings/pinctrl/k210-fpioa.h | 276 ++++++ include/dt-bindings/reset/k210-rst.h | 42 + include/linux/initrd.h | 11 + include/soc/canaan/k210-sysctl.h | 43 + init/initramfs.c | 45 + 121 files changed, 7605 insertions(+), 1040 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/canaan,k210-sysctl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/canaan,k210-fpioa.yaml create mode 100644 Documentation/devicetree/bindings/reset/canaan,k210-rst.yaml create mode 100644 Documentation/devicetree/bindings/riscv/canaan.yaml create mode 100644 arch/riscv/boot/dts/canaan/Makefile create mode 100644 arch/riscv/boot/dts/canaan/canaan_kd233.dts create mode 100644 arch/riscv/boot/dts/canaan/k210.dtsi create mode 100644 arch/riscv/boot/dts/canaan/k210_generic.dts create mode 100644 arch/riscv/boot/dts/canaan/sipeed_maix_bit.dts create mode 100644 arch/riscv/boot/dts/canaan/sipeed_maix_dock.dts create mode 100644 arch/riscv/boot/dts/canaan/sipeed_maix_go.dts create mode 100644 arch/riscv/boot/dts/canaan/sipeed_maixduino.dts delete mode 100644 arch/riscv/boot/dts/kendryte/Makefile delete mode 100644 arch/riscv/boot/dts/kendryte/k210.dts delete mode 100644 arch/riscv/boot/dts/kendryte/k210.dtsi create mode 100644 arch/riscv/boot/dts/sifive/fu740-c000.dtsi create mode 100644 arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts create mode 100644 arch/riscv/configs/nommu_k210_sdcard_defconfig create mode 100644 arch/riscv/include/asm/mmzone.h create mode 100644 arch/riscv/include/asm/numa.h create mode 100644 arch/riscv/include/asm/probes.h create mode 100644 arch/riscv/include/asm/uprobes.h create mode 100644 arch/riscv/kernel/probes/Makefile create mode 100644 arch/riscv/kernel/probes/decode-insn.c create mode 100644 arch/riscv/kernel/probes/decode-insn.h create mode 100644 arch/riscv/kernel/probes/ftrace.c create mode 100644 arch/riscv/kernel/probes/kprobes.c create mode 100644 arch/riscv/kernel/probes/kprobes_trampoline.S create mode 100644 arch/riscv/kernel/probes/simulate-insn.c create mode 100644 arch/riscv/kernel/probes/simulate-insn.h create mode 100644 arch/riscv/kernel/probes/uprobes.c create mode 100644 arch/riscv/lib/error-inject.c rename arch/arm64/mm/numa.c => drivers/base/arch_numa.c (93%) create mode 100644 drivers/clk/clk-k210.c create mode 100644 drivers/pinctrl/pinctrl-k210.c create mode 100644 drivers/reset/reset-k210.c create mode 100644 drivers/soc/canaan/Kconfig create mode 100644 drivers/soc/canaan/Makefile create mode 100644 drivers/soc/canaan/k210-sysctl.c delete mode 100644 drivers/soc/kendryte/Kconfig delete mode 100644 drivers/soc/kendryte/Makefile delete mode 100644 drivers/soc/kendryte/k210-sysctl.c create mode 100644 include/asm-generic/numa.h create mode 100644 include/dt-bindings/pinctrl/k210-fpioa.h create mode 100644 include/dt-bindings/reset/k210-rst.h create mode 100644 include/soc/canaan/k210-sysctl.h
| |