Merge tag 'riscv-for-linus-5.20-mw0' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 6 Aug 2022 22:04:48 +0000 (15:04 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 6 Aug 2022 22:04:48 +0000 (15:04 -0700)
Pull RISC-V updates from Palmer Dabbelt:

 - Enabling the FPU is now a static_key

 - Improvements to the Svpbmt support

 - CPU topology bindings for a handful of systems

 - Support for systems with 64-bit hart IDs

 - Many settings have been enabled in the defconfig, including both
   support for the StarFive systems and many of the Docker requirements

There are also a handful of cleanups and improvements, as usual.

* tag 'riscv-for-linus-5.20-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (28 commits)
  riscv: enable Docker requirements in defconfig
  riscv: convert the t-head pbmt errata to use the __nops macro
  riscv: introduce nops and __nops macros for NOP sequences
  RISC-V: Add fast call path of crash_kexec()
  riscv: mmap with PROT_WRITE but no PROT_READ is invalid
  riscv/efi_stub: Add 64bit boot-hartid support on RV64
  riscv: cpu: Add 64bit hartid support on RV64
  riscv: smp: Add 64bit hartid support on RV64
  riscv: spinwait: Fix hartid variable type
  riscv: cpu_ops_sbi: Add 64bit hartid support on RV64
  riscv: dts: sifive: "fix" pmic watchdog node name
  riscv: dts: canaan: Add k210 topology information
  riscv: dts: sifive: Add fu740 topology information
  riscv: dts: sifive: Add fu540 topology information
  riscv: dts: starfive: Add JH7100 CPU topology
  RISC-V: Add CONFIG_{NON,}PORTABLE
  riscv: config: enable SOC_STARFIVE in defconfig
  riscv: dts: microchip: Add mpfs' topology information
  riscv: Kconfig.socs: Add comments
  riscv: Kconfig.erratas: Add comments
  ...

1  2 
arch/riscv/Kconfig
arch/riscv/boot/dts/microchip/mpfs.dtsi
arch/riscv/include/asm/errata_list.h
arch/riscv/include/asm/pci.h
drivers/irqchip/irq-sifive-plic.c

Simple merge
@@@ -68,19 -68,13 +68,13 @@@ asm(ALTERNATIVE_2("li %0, 0\t\nnop"
   */
  #define ALT_THEAD_PMA(_val)                                           \
  asm volatile(ALTERNATIVE(                                             \
-       "nop\n\t"                                                       \
-       "nop\n\t"                                                       \
-       "nop\n\t"                                                       \
-       "nop\n\t"                                                       \
-       "nop\n\t"                                                       \
-       "nop\n\t"                                                       \
-       "nop",                                                          \
+       __nops(7),                                                      \
 -      "li      t3, %2\n\t"                                            \
 -      "slli    t3, t3, %4\n\t"                                        \
 +      "li      t3, %1\n\t"                                            \
 +      "slli    t3, t3, %3\n\t"                                        \
        "and     t3, %0, t3\n\t"                                        \
        "bne     t3, zero, 2f\n\t"                                      \
 -      "li      t3, %3\n\t"                                            \
 -      "slli    t3, t3, %4\n\t"                                        \
 +      "li      t3, %2\n\t"                                            \
 +      "slli    t3, t3, %3\n\t"                                        \
        "or      %0, %0, t3\n\t"                                        \
        "2:",  THEAD_VENDOR_ID,                                         \
                ERRATA_THEAD_PBMT, CONFIG_ERRATA_THEAD_PBMT)            \
  
  #include <asm/io.h>
  
 -/* RISC-V shim does not initialize PCI bus */
 -#define pcibios_assign_all_busses() 1
 -
 -#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1
 -
 -extern int isa_dma_bridge_buggy;
 -
 -#ifdef CONFIG_PCI
 -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
 -{
 -      /* no legacy IRQ on risc-v */
 -      return -ENODEV;
 -}
 -
 -static inline int pci_proc_domain(struct pci_bus *bus)
 -{
 -      /* always show the domain in /proc */
 -      return 1;
 -}
 -
 -#ifdef        CONFIG_NUMA
 -
+ #define PCIBIOS_MIN_IO                4
+ #define PCIBIOS_MIN_MEM               16
 +#if defined(CONFIG_PCI) && defined(CONFIG_NUMA)
  static inline int pcibus_to_node(struct pci_bus *bus)
  {
        return dev_to_node(&bus->dev);
Simple merge