Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp4703784ybc; Tue, 26 Nov 2019 13:15:52 -0800 (PST) X-Google-Smtp-Source: APXvYqyQErppVcOlq+0G5M6Y5rGuKmaKoTNZ8x8EoD74kikQnznQqUc9GZykAqJVFmRfYfQ5NXd+ X-Received: by 2002:a50:f403:: with SMTP id r3mr27229463edm.275.1574802952518; Tue, 26 Nov 2019 13:15:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574802952; cv=none; d=google.com; s=arc-20160816; b=jEcbwM7wD3Qfv/1+fWRSM6flkJqftwJFARcxpJuZ67VJHuZqx0vz9Ro/lfgGPEuX1Q LzNCJ9WmEepCimhCttjAaKLFIVhwY52ourgHXuxIlWScc3YI2w60NKfszQTrYyTd5XNZ ux7yx6Cc5N8PRlAiziBeaRduVIbVRWXIWmGLZUqr1My/ZtSFSbLsoHylwuVIhsInx/eL iDp6kTKTbhZ2X6Klu5QYAm7MakEH5WHEHr8JtgTG/e+Z2e4OnRgJigAwA5tmhdUUsJsx jMZgIVBzA2imGSsw315ZvPq5BuNFp5uI+rApGlX03lPsh+mVDyQdfM9P+c2IiKz4+VFm SKhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:message-id :subject:cc:to:from:date:dkim-signature; bh=mpA+IuAnkJSmb7fL5XFR2xELtboFdJ5nrRIhIf/PCnI=; b=V1En5sHSO/8F3hnL4VzETAtAvuYi0k/X2/QKpS+UDCB5B72tAs6sZTYg0L9o6eiloP 4FfmaZtCF2kBDDphcq2K4GjMqyUGXY1nX/valfcU8FUggFd5S/LN79eFCCIDEf/sXmO+ N4jn8m3ph3fk1uA3tmC9b+wdPNiKC1BbGYcrGrrz+Z4TAvbi5+AEZzjWUWgkCSyQ+nFz dB+pQ4KMVqBnIOOeYjFORqheaYNSd84+PhAye68VwQOPv8s0TXnicWqtm+5wy72x2Soj Tuz6g3t3TN3B1eRYTN1NVHXi8n5W/+5hC90RZJCJUBlmf2v381MTvc1ydN0+y8B2o80l u9hA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=V2hscENo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h18si7935210ejc.16.2019.11.26.13.15.27; Tue, 26 Nov 2019 13:15:52 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=V2hscENo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726504AbfKZVN2 (ORCPT + 99 others); Tue, 26 Nov 2019 16:13:28 -0500 Received: from mail-io1-f66.google.com ([209.85.166.66]:42027 "EHLO mail-io1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726033AbfKZVN2 (ORCPT ); Tue, 26 Nov 2019 16:13:28 -0500 Received: by mail-io1-f66.google.com with SMTP id k13so22267478ioa.9 for ; Tue, 26 Nov 2019 13:13:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=date:from:to:cc:subject:message-id:user-agent:mime-version; bh=mpA+IuAnkJSmb7fL5XFR2xELtboFdJ5nrRIhIf/PCnI=; b=V2hscENoErbWip9hMb2EK7clIA048Q7sAAWAvtH6s2xMyuBtK6rN/j+qwubtjuERCQ OY9GC4UxqiyLn1PFnL1bfoAgVGoMMuNRfLHHl2+4RCHRyFxj+NXR17Kpkce2cwh/jcK4 DMDBv56OKCa055DXikeNllVLStnIqClvuqw4AO3syHP7RKgQUe+Z6EsxtnVESoVtgbJE 8yAOqJaE6AVo2e5vZyBFd6S3iT+Sskk20w6c83FPyA3ggZWZ9kUtjkOzKFeje9IYnlxH jfsDdL/Eox0/diJ1eQs0OdwKOPooz/UWWnChIR4dIeQQceLCUDwJJ+JM/rFFckarWQlK BEHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:user-agent :mime-version; bh=mpA+IuAnkJSmb7fL5XFR2xELtboFdJ5nrRIhIf/PCnI=; b=QcBhngSPDGm3zLsRM7/oIgysFdlRKiGTFnyGDzP7KZj+zvS15tgMj9p5UG75fBkNGi UoPa1UA9NAw/YLLvltYQ79Z5MNVXXCrPQGTCWU7qGeWJC09ElKBunLlYWSq9VcmW/qIp RYYwg6+Wx63r5OonuyU6CkFpaJWVOls7JxM68w+9VNiR5sBPCfP6dwGStEuGbxONynwD ud6TP+iiq9GQjr4MJf74w9YQ9lkteGAXSWwdTS1iZOXohLCtBn7R/DkK6E4TmaNUAm4E ir3uB1zsaMi118dSZ9wTq6NSdwD//M/eqyIDF8ou1A/x77tEqt6jEP00HVbMQ9n0E+Mj Q3kA== X-Gm-Message-State: APjAAAUl0flMq6peqE9vTnWBajA72ilULBVcSH5Gc+vHTxUjMjUBw8kB xMEXL2kurunySVSaNHKUH82q9g== X-Received: by 2002:a5e:8e4b:: with SMTP id r11mr25991166ioo.167.1574802807280; Tue, 26 Nov 2019 13:13:27 -0800 (PST) Received: from localhost ([64.62.168.194]) by smtp.gmail.com with ESMTPSA id k6sm2953316iom.52.2019.11.26.13.13.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Nov 2019 13:13:26 -0800 (PST) Date: Tue, 26 Nov 2019 13:13:24 -0800 (PST) From: Paul Walmsley X-X-Sender: paulw@viisi.sifive.com To: torvalds@linux-foundation.org cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] First set of RISC-V updates for v5.5-rc1 Message-ID: User-Agent: Alpine 2.21.9999 (DEB 301 2018-08-15) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Linus, The following changes since commit a99d8080aaf358d5d23581244e5da23b35e340b9: Linux 5.4-rc6 (2019-11-03 14:07:26 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git tags/riscv/for-v5.5-rc1 for you to fetch changes up to 5ba9aa56e6d3e8fddb954c2f818d1ce0525235bb: Merge branch 'next/nommu' into for-next (2019-11-22 18:59:09 -0800) ---------------------------------------------------------------- First set of RISC-V updates for v5.5-rc1 New features: - SECCOMP support - nommu support - SBI-less system support - M-Mode support - TLB flush optimizations Other improvements: - Pass the complete RISC-V ISA string supported by the CPU cores to userspace, rather than redacting parts of it in the kernel - Add platform DMA IP block data to the HiFive Unleashed board DT file - Add Makefile support for BZ2, LZ4, LZMA, LZO kernel image compression formats, in line with other architectures Cleanups: - Remove unnecessary PTE_PARENT_SIZE macro - Standardize include guard naming across arch/riscv ---------------------------------------------------------------- Atish Patra (5): RISC-V: Remove unsupported isa string info print RISC-V: Do not invoke SBI call if cpumask is empty RISC-V: Issue a local tlbflush if possible. RISC-V: Issue a tlb page flush if possible RISC-V: Add multiple compression image format. Christoph Hellwig (10): riscv: enter WFI in default_power_off() if SBI does not shutdown riscv: abstract out CSR names for supervisor vs machine mode riscv: poison SBI calls for M-mode riscv: cleanup the default power off implementation riscv: implement remote sfence.i using IPIs riscv: add support for MMIO access to the timer registers riscv: provide native clint access for M-mode riscv: clear the instruction cache and all registers when booting riscv: add nommu support riscv: provide a flat image loader Damien Le Moal (2): riscv: don't allow selecting SBI based drivers for M-mode riscv: read the hart ID from mhartid on boot David Abdurachmanov (1): riscv: add support for SECCOMP and SECCOMP_FILTER Green Wan (1): riscv: dts: add support for PDMA device of HiFive Unleashed Rev A00 Paul Walmsley (6): riscv: separate MMIO functions into their own header file Merge branch 'next/seccomp' into for-next Merge branch 'next/isa-string' into for-next Merge branch 'next/tlb-opt' into for-next Merge branch 'next/misc' into for-next Merge branch 'next/nommu' into for-next Zong Li (2): riscv: Use PMD_SIZE to replace PTE_PARENT_SIZE riscv: clean up the macro format in each header file arch/riscv/Kconfig | 50 ++++++-- arch/riscv/Makefile | 13 +- arch/riscv/boot/Makefile | 19 ++- arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 7 ++ arch/riscv/boot/loader.S | 8 ++ arch/riscv/boot/loader.lds.S | 16 +++ arch/riscv/configs/nommu_virt_defconfig | 78 ++++++++++++ arch/riscv/include/asm/asm-prototypes.h | 1 + arch/riscv/include/asm/cache.h | 8 ++ arch/riscv/include/asm/clint.h | 39 ++++++ arch/riscv/include/asm/csr.h | 74 ++++++++++-- arch/riscv/include/asm/current.h | 6 +- arch/riscv/include/asm/elf.h | 4 +- arch/riscv/include/asm/fixmap.h | 2 + arch/riscv/include/asm/ftrace.h | 5 + arch/riscv/include/asm/futex.h | 12 +- arch/riscv/include/asm/hwcap.h | 7 +- arch/riscv/include/asm/image.h | 6 +- arch/riscv/include/asm/io.h | 149 +---------------------- arch/riscv/include/asm/irqflags.h | 12 +- arch/riscv/include/asm/kprobes.h | 6 +- arch/riscv/include/asm/mmio.h | 168 ++++++++++++++++++++++++++ arch/riscv/include/asm/mmiowb.h | 2 +- arch/riscv/include/asm/mmu.h | 3 + arch/riscv/include/asm/page.h | 10 +- arch/riscv/include/asm/pci.h | 6 +- arch/riscv/include/asm/pgalloc.h | 2 + arch/riscv/include/asm/pgtable.h | 94 +++++++------- arch/riscv/include/asm/processor.h | 2 +- arch/riscv/include/asm/ptrace.h | 16 +-- arch/riscv/include/asm/sbi.h | 11 +- arch/riscv/include/asm/seccomp.h | 10 ++ arch/riscv/include/asm/sparsemem.h | 6 +- arch/riscv/include/asm/spinlock_types.h | 2 +- arch/riscv/include/asm/switch_to.h | 10 +- arch/riscv/include/asm/thread_info.h | 5 +- arch/riscv/include/asm/timex.h | 19 ++- arch/riscv/include/asm/tlbflush.h | 12 +- arch/riscv/include/asm/uaccess.h | 4 + arch/riscv/include/uapi/asm/elf.h | 6 +- arch/riscv/include/uapi/asm/hwcap.h | 6 +- arch/riscv/include/uapi/asm/ucontext.h | 6 +- arch/riscv/kernel/Makefile | 5 +- arch/riscv/kernel/asm-offsets.c | 8 +- arch/riscv/kernel/clint.c | 44 +++++++ arch/riscv/kernel/cpu.c | 45 +------ arch/riscv/kernel/entry.S | 112 ++++++++++++----- arch/riscv/kernel/fpu.S | 8 +- arch/riscv/kernel/head.S | 112 ++++++++++++++++- arch/riscv/kernel/irq.c | 17 +-- arch/riscv/kernel/perf_callchain.c | 2 +- arch/riscv/kernel/process.c | 17 +-- arch/riscv/kernel/ptrace.c | 10 ++ arch/riscv/kernel/reset.c | 5 +- arch/riscv/kernel/sbi.c | 17 +++ arch/riscv/kernel/setup.c | 2 + arch/riscv/kernel/signal.c | 38 ++++-- arch/riscv/kernel/smp.c | 16 ++- arch/riscv/kernel/smpboot.c | 4 + arch/riscv/kernel/traps.c | 16 +-- arch/riscv/lib/Makefile | 11 +- arch/riscv/lib/uaccess.S | 12 +- arch/riscv/mm/Makefile | 3 +- arch/riscv/mm/cacheflush.c | 26 +++- arch/riscv/mm/context.c | 2 + arch/riscv/mm/extable.c | 4 +- arch/riscv/mm/fault.c | 6 +- arch/riscv/mm/init.c | 28 +++-- arch/riscv/mm/tlbflush.c | 25 +++- drivers/clocksource/timer-riscv.c | 31 +++-- drivers/irqchip/irq-sifive-plic.c | 11 +- drivers/tty/hvc/Kconfig | 2 +- drivers/tty/serial/Kconfig | 2 +- tools/testing/selftests/seccomp/seccomp_bpf.c | 8 +- 74 files changed, 1106 insertions(+), 465 deletions(-) create mode 100644 arch/riscv/boot/loader.S create mode 100644 arch/riscv/boot/loader.lds.S create mode 100644 arch/riscv/configs/nommu_virt_defconfig create mode 100644 arch/riscv/include/asm/clint.h create mode 100644 arch/riscv/include/asm/mmio.h create mode 100644 arch/riscv/include/asm/seccomp.h create mode 100644 arch/riscv/kernel/clint.c create mode 100644 arch/riscv/kernel/sbi.c Kernel object size difference (from v5.4-rc6): text data bss dec hex filename 6665154 2132584 312608 9110346 8b034a vmlinux.rv64.orig 6665098 2132768 312608 9110474 8b03ca vmlinux.rv64.patched 6445414 1797616 255248 8498278 81ac66 vmlinux.rv32.orig 6445448 1797776 255248 8498472 81ad28 vmlinux.rv32.patched