From: Anup Patel <apatel@ventanamicro.com> To: Paolo Bonzini <pbonzini@redhat.com>, Atish Patra <atishp@atishpatra.org> Cc: Palmer Dabbelt <palmer@dabbelt.com>, Paul Walmsley <paul.walmsley@sifive.com>, Andrew Jones <ajones@ventanamicro.com>, Anup Patel <anup@brainfault.org>, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Anup Patel <apatel@ventanamicro.com> Subject: [PATCH v2 0/7] RISC-V KVM virtualize AIA CSRs Date: Sat, 28 Jan 2023 12:57:30 +0530 [thread overview] Message-ID: <20230128072737.2995881-1-apatel@ventanamicro.com> (raw) The RISC-V AIA specification is now frozen as-per the RISC-V international process. The latest frozen specifcation can be found at: https://github.com/riscv/riscv-aia/releases/download/1.0-RC1/riscv-interrupts-1.0-RC1.pdf This series implements first phase of AIA virtualization which targets virtualizing AIA CSRs. This also provides a foundation for the second phase of AIA virtualization which will target in-kernel AIA irqchip (including both IMSIC and APLIC). The first two patches are shared with the "Linux RISC-V AIA Support" series which adds AIA driver support. To test this series, use AIA drivers from the "Linux RISC-V AIA Support" series and use KVMTOOL from the riscv_aia_v1 branch at: https://github.com/avpatel/kvmtool.git These patches can also be found in the riscv_kvm_aia_csr_v2 branch at: https://github.com/avpatel/linux.git Changes since v1: - Addressed from Drew and Conor in PATCH1 - Use alphabetical ordering for SMAIA and SSAIA enum in PATCH2 - Use GENMASK() in PATCH3 Anup Patel (7): RISC-V: Add AIA related CSR defines RISC-V: Detect AIA CSRs from ISA string RISC-V: KVM: Drop the _MASK suffix from hgatp.VMID mask defines RISC-V: KVM: Initial skeletal support for AIA RISC-V: KVM: Add ONE_REG interface for AIA CSRs RISC-V: KVM: Virtualize per-HART AIA CSRs RISC-V: KVM: Implement guest external interrupt line management arch/riscv/include/asm/csr.h | 107 ++++- arch/riscv/include/asm/hwcap.h | 8 + arch/riscv/include/asm/kvm_aia.h | 137 +++++++ arch/riscv/include/asm/kvm_host.h | 14 +- arch/riscv/include/uapi/asm/kvm.h | 22 +- arch/riscv/kernel/cpu.c | 2 + arch/riscv/kernel/cpufeature.c | 2 + arch/riscv/kvm/Makefile | 1 + arch/riscv/kvm/aia.c | 624 ++++++++++++++++++++++++++++++ arch/riscv/kvm/main.c | 14 + arch/riscv/kvm/mmu.c | 3 +- arch/riscv/kvm/vcpu.c | 185 +++++++-- arch/riscv/kvm/vcpu_insn.c | 4 +- arch/riscv/kvm/vm.c | 4 + arch/riscv/kvm/vmid.c | 4 +- 15 files changed, 1075 insertions(+), 56 deletions(-) create mode 100644 arch/riscv/include/asm/kvm_aia.h create mode 100644 arch/riscv/kvm/aia.c -- 2.34.1
WARNING: multiple messages have this Message-ID (diff)
From: Anup Patel <apatel@ventanamicro.com> To: Paolo Bonzini <pbonzini@redhat.com>, Atish Patra <atishp@atishpatra.org> Cc: Palmer Dabbelt <palmer@dabbelt.com>, Paul Walmsley <paul.walmsley@sifive.com>, Andrew Jones <ajones@ventanamicro.com>, Anup Patel <anup@brainfault.org>, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Anup Patel <apatel@ventanamicro.com> Subject: [PATCH v2 0/7] RISC-V KVM virtualize AIA CSRs Date: Sat, 28 Jan 2023 12:57:30 +0530 [thread overview] Message-ID: <20230128072737.2995881-1-apatel@ventanamicro.com> (raw) The RISC-V AIA specification is now frozen as-per the RISC-V international process. The latest frozen specifcation can be found at: https://github.com/riscv/riscv-aia/releases/download/1.0-RC1/riscv-interrupts-1.0-RC1.pdf This series implements first phase of AIA virtualization which targets virtualizing AIA CSRs. This also provides a foundation for the second phase of AIA virtualization which will target in-kernel AIA irqchip (including both IMSIC and APLIC). The first two patches are shared with the "Linux RISC-V AIA Support" series which adds AIA driver support. To test this series, use AIA drivers from the "Linux RISC-V AIA Support" series and use KVMTOOL from the riscv_aia_v1 branch at: https://github.com/avpatel/kvmtool.git These patches can also be found in the riscv_kvm_aia_csr_v2 branch at: https://github.com/avpatel/linux.git Changes since v1: - Addressed from Drew and Conor in PATCH1 - Use alphabetical ordering for SMAIA and SSAIA enum in PATCH2 - Use GENMASK() in PATCH3 Anup Patel (7): RISC-V: Add AIA related CSR defines RISC-V: Detect AIA CSRs from ISA string RISC-V: KVM: Drop the _MASK suffix from hgatp.VMID mask defines RISC-V: KVM: Initial skeletal support for AIA RISC-V: KVM: Add ONE_REG interface for AIA CSRs RISC-V: KVM: Virtualize per-HART AIA CSRs RISC-V: KVM: Implement guest external interrupt line management arch/riscv/include/asm/csr.h | 107 ++++- arch/riscv/include/asm/hwcap.h | 8 + arch/riscv/include/asm/kvm_aia.h | 137 +++++++ arch/riscv/include/asm/kvm_host.h | 14 +- arch/riscv/include/uapi/asm/kvm.h | 22 +- arch/riscv/kernel/cpu.c | 2 + arch/riscv/kernel/cpufeature.c | 2 + arch/riscv/kvm/Makefile | 1 + arch/riscv/kvm/aia.c | 624 ++++++++++++++++++++++++++++++ arch/riscv/kvm/main.c | 14 + arch/riscv/kvm/mmu.c | 3 +- arch/riscv/kvm/vcpu.c | 185 +++++++-- arch/riscv/kvm/vcpu_insn.c | 4 +- arch/riscv/kvm/vm.c | 4 + arch/riscv/kvm/vmid.c | 4 +- 15 files changed, 1075 insertions(+), 56 deletions(-) create mode 100644 arch/riscv/include/asm/kvm_aia.h create mode 100644 arch/riscv/kvm/aia.c -- 2.34.1 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2023-01-28 7:27 UTC|newest] Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-01-28 7:27 Anup Patel [this message] 2023-01-28 7:27 ` [PATCH v2 0/7] RISC-V KVM virtualize AIA CSRs Anup Patel 2023-01-28 7:27 ` [PATCH v2 1/7] RISC-V: Add AIA related CSR defines Anup Patel 2023-01-28 7:27 ` Anup Patel 2023-01-31 9:22 ` Atish Patra 2023-01-31 9:22 ` Atish Patra 2023-02-03 0:24 ` Palmer Dabbelt 2023-02-03 0:24 ` Palmer Dabbelt 2023-01-28 7:27 ` [PATCH v2 2/7] RISC-V: Detect AIA CSRs from ISA string Anup Patel 2023-01-28 7:27 ` Anup Patel 2023-01-31 9:25 ` Atish Patra 2023-01-31 9:25 ` Atish Patra 2023-02-03 0:24 ` Palmer Dabbelt 2023-02-03 0:24 ` Palmer Dabbelt 2023-02-03 12:01 ` Anup Patel 2023-02-03 12:01 ` Anup Patel 2023-02-07 18:05 ` Conor Dooley 2023-02-07 18:05 ` Conor Dooley 2023-02-07 18:09 ` Conor Dooley 2023-02-07 18:09 ` Conor Dooley 2023-02-07 18:15 ` Atish Patra 2023-02-07 18:15 ` Atish Patra 2023-02-07 20:39 ` Conor Dooley 2023-02-07 20:39 ` Conor Dooley 2023-02-08 3:54 ` Anup Patel 2023-02-08 3:54 ` Anup Patel 2023-02-08 12:57 ` Conor Dooley 2023-02-08 12:57 ` Conor Dooley 2023-02-08 14:57 ` Anup Patel 2023-02-08 14:57 ` Anup Patel 2023-02-09 23:31 ` Conor Dooley 2023-02-09 23:31 ` Conor Dooley 2023-02-08 3:06 ` Anup Patel 2023-02-08 3:06 ` Anup Patel 2023-02-15 15:41 ` Christoph Müllner 2023-02-15 15:41 ` Christoph Müllner 2023-02-21 7:12 ` Christoph Müllner 2023-02-21 7:12 ` Christoph Müllner 2023-02-21 10:40 ` Conor Dooley 2023-02-21 10:40 ` Conor Dooley 2023-02-21 10:51 ` Jessica Clarke 2023-02-21 10:51 ` Jessica Clarke 2023-02-21 10:59 ` Conor Dooley 2023-02-21 10:59 ` Conor Dooley 2023-02-21 11:03 ` Christoph Müllner 2023-02-21 11:03 ` Christoph Müllner 2023-02-21 11:22 ` Conor Dooley 2023-02-21 11:22 ` Conor Dooley 2023-03-31 12:53 ` Anup Patel 2023-03-31 12:53 ` Anup Patel 2023-01-28 7:27 ` [PATCH v2 3/7] RISC-V: KVM: Drop the _MASK suffix from hgatp.VMID mask defines Anup Patel 2023-01-28 7:27 ` Anup Patel 2023-01-31 9:27 ` Atish Patra 2023-01-31 9:27 ` Atish Patra 2023-01-28 7:27 ` [PATCH v2 4/7] RISC-V: KVM: Initial skeletal support for AIA Anup Patel 2023-01-28 7:27 ` Anup Patel 2023-01-31 9:51 ` Atish Patra 2023-01-31 9:51 ` Atish Patra 2023-01-28 7:27 ` [PATCH v2 5/7] RISC-V: KVM: Add ONE_REG interface for AIA CSRs Anup Patel 2023-01-28 7:27 ` Anup Patel 2023-02-08 0:04 ` Atish Patra 2023-02-08 0:04 ` Atish Patra 2023-03-31 17:15 ` Anup Patel 2023-03-31 17:15 ` Anup Patel 2023-01-28 7:27 ` [PATCH v2 6/7] RISC-V: KVM: Virtualize per-HART " Anup Patel 2023-01-28 7:27 ` Anup Patel 2023-01-28 7:27 ` [PATCH v2 7/7] RISC-V: KVM: Implement guest external interrupt line management Anup Patel 2023-01-28 7:27 ` Anup Patel 2023-02-08 0:15 ` Atish Patra 2023-02-08 0:15 ` Atish Patra 2023-03-31 17:15 ` Anup Patel 2023-03-31 17:15 ` Anup Patel 2023-01-31 6:01 ` [PATCH v2 0/7] RISC-V KVM virtualize AIA CSRs Anup Patel 2023-01-31 6:01 ` Anup Patel
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230128072737.2995881-1-apatel@ventanamicro.com \ --to=apatel@ventanamicro.com \ --cc=ajones@ventanamicro.com \ --cc=anup@brainfault.org \ --cc=atishp@atishpatra.org \ --cc=kvm-riscv@lists.infradead.org \ --cc=kvm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-riscv@lists.infradead.org \ --cc=palmer@dabbelt.com \ --cc=paul.walmsley@sifive.com \ --cc=pbonzini@redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.