[GIT PULL] RISC-V Fixes for 5.11-rc4

From: Palmer Dabbelt
Date: Sat Jan 16 2021 - 12:55:49 EST


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.11-rc4

for you to fetch changes up to e557793799c5a8406afb08aa170509619f7eac36:

RISC-V: Fix maximum allowed phsyical memory for RV32 (2021-01-15 21:35:48 -0800)

----------------------------------------------------------------
RISC-V Fixes for 5.11-rc4

There are a few more fixes than a normal rc4, largely due to the bubble
introduced by the holiday break:

* A fix to return -ENOSYS for syscall number -1, which previously
returned an uninitialized value.
* A fix to time_init() to ensure of_clk_init() has been called, without
which clock drivers may not be initialized.
* A fix to the sifive,uart0 driver to properly display the baud rate. A
fix to initialize MPIE that allows interrupts to be processed during
system calls.
* A fix to avoid erronously begin tracing IRQs when interrupts are
disabled, which at least triggers suprious lockdep failures.
* A workaround for a warning related to calling smp_processor_id() while
preemptible. The warning itself is suprious on currently availiable
systems.
* A fix to properly include the generic time VDSO calls. A fix to our
kasan address mapping. A fix to the HiFive Unleashed device tree,
which allows the Ethernet PHY to be properly initialized by Linux (as
opposed to relying on the bootloader).
* A defconfig update to include SiFive's GPIO driver, which is present
on the HiFive Unleashed and necessary to initialize the PHY.
* A fix to avoid allocating memory while initializing reserved memory.
* A fix to avoid allocating the last 4K of memory, as pointers there
alias with syscall errors.

There are also two cleanups that should have no functional effect but do
fix build warnings:

* A cleanup to drop a duplicated definition of PAGE_KERNEL_EXEC.
* A cleanup to properly declare the asm register SP shim.
* A cleanup to the rv32 memory size Kconfig entry, to reflect the actual
size of memory availiable.

----------------------------------------------------------------
Andreas Schwab (1):
riscv: return -ENOSYS for syscall -1

Atish Patra (4):
riscv: Trace irq on only interrupt is enabled
RISC-V: Do not allocate memblock while iterating reserved memblocks
RISC-V: Set current memblock limit
RISC-V: Fix maximum allowed phsyical memory for RV32

Damien Le Moal (3):
riscv: Fix kernel time_init()
riscv: Fix sifive serial driver
riscv: Enable interrupts during syscalls with M-Mode

Guo Ren (1):
riscv: Fixup CONFIG_GENERIC_TIME_VSYSCALL

Kefeng Wang (3):
riscv: Drop a duplicated PAGE_KERNEL_EXEC
riscv: cacheinfo: Fix using smp_processor_id() in preemptible
riscv: stacktrace: Move register keyword to beginning of declaration

Nick Hu (1):
riscv: Fix KASAN memory mapping.

Sagar Shrikant Kadam (3):
dts: phy: fix missing mdio device and probe failure of vsc8541-01 device
dts: phy: add GPIO number and active state used for phy reset
riscv: defconfig: enable gpio support for HiFive Unleashed

arch/riscv/Kconfig | 6 ++++--
.../riscv/boot/dts/sifive/hifive-unleashed-a00.dts | 2 ++
arch/riscv/configs/defconfig | 2 ++
arch/riscv/include/asm/pgtable.h | 1 -
arch/riscv/include/asm/vdso.h | 2 +-
arch/riscv/kernel/cacheinfo.c | 11 +++++++++-
arch/riscv/kernel/entry.S | 24 ++++++++++++----------
arch/riscv/kernel/setup.c | 24 ++++++++++++----------
arch/riscv/kernel/stacktrace.c | 5 ++---
arch/riscv/kernel/time.c | 3 +++
arch/riscv/kernel/vdso.c | 2 +-
arch/riscv/mm/init.c | 16 +++++++++++++--
arch/riscv/mm/kasan_init.c | 4 ++--
drivers/tty/serial/sifive.c | 1 +
14 files changed, 68 insertions(+), 35 deletions(-)