From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2C035CD6E7E for ; Wed, 11 Oct 2023 15:26:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234946AbjJKP0P (ORCPT ); Wed, 11 Oct 2023 11:26:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56098 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232868AbjJKP0O (ORCPT ); Wed, 11 Oct 2023 11:26:14 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 044B392; Wed, 11 Oct 2023 08:26:10 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 06141C433C9; Wed, 11 Oct 2023 15:26:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1697037969; bh=ffZCdV6S3mfAswlL4iRHUl65ZXH/97XVC+UgVd+j71w=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=QuMHdz03n1BfB2yvbi90uIfPDcGaOQm/4sxL26h4J46dlTFjur9pQdPbgXE1MWXh/ awQXJQGRuGbvfsBzZS320T2CSWWhpRB35hO0o/kXRPEG0CRnZtbNqsphpUgaRgCFe3 86EcgS2jYsbId1dSXsdUlYVace+g2HNvcvCBqnWY= Date: Wed, 11 Oct 2023 17:26:06 +0200 From: Greg Kroah-Hartman To: Anup Patel Cc: Paolo Bonzini , Atish Patra , Palmer Dabbelt , Paul Walmsley , Jiri Slaby , Conor Dooley , Andrew Jones , kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-serial@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/6] RISC-V: KVM: Change the SBI specification version to v2.0 Message-ID: <2023101148-anatomy-mantis-a0f5@gregkh> References: <20231010170503.657189-1-apatel@ventanamicro.com> <20231010170503.657189-3-apatel@ventanamicro.com> <2023101013-overfeed-online-7f69@gregkh> <2023101107-endorse-large-ef50@gregkh> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-serial@vger.kernel.org On Wed, Oct 11, 2023 at 04:32:22PM +0530, Anup Patel wrote: > On Wed, Oct 11, 2023 at 12:57 PM Greg Kroah-Hartman > wrote: > > > > On Wed, Oct 11, 2023 at 11:49:14AM +0530, Anup Patel wrote: > > > On Tue, Oct 10, 2023 at 10:43 PM Greg Kroah-Hartman > > > wrote: > > > > > > > > On Tue, Oct 10, 2023 at 10:34:59PM +0530, Anup Patel wrote: > > > > > We will be implementing SBI DBCN extension for KVM RISC-V so let > > > > > us change the KVM RISC-V SBI specification version to v2.0. > > > > > > > > > > Signed-off-by: Anup Patel > > > > > --- > > > > > arch/riscv/include/asm/kvm_vcpu_sbi.h | 2 +- > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > diff --git a/arch/riscv/include/asm/kvm_vcpu_sbi.h b/arch/riscv/include/asm/kvm_vcpu_sbi.h > > > > > index cdcf0ff07be7..8d6d4dce8a5e 100644 > > > > > --- a/arch/riscv/include/asm/kvm_vcpu_sbi.h > > > > > +++ b/arch/riscv/include/asm/kvm_vcpu_sbi.h > > > > > @@ -11,7 +11,7 @@ > > > > > > > > > > #define KVM_SBI_IMPID 3 > > > > > > > > > > -#define KVM_SBI_VERSION_MAJOR 1 > > > > > +#define KVM_SBI_VERSION_MAJOR 2 > > > > > > > > What does this number mean? Who checks it? Why do you have to keep > > > > incrementing it? > > > > > > This number is the SBI specification version implemented by KVM RISC-V > > > for the Guest kernel. > > > > > > The original sbi_console_putchar() and sbi_console_getchar() are legacy > > > functions (aka SBI v0.1) which were introduced a few years back along > > > with the Linux RISC-V port. > > > > > > The latest SBI v2.0 specification (which is now frozen) introduces a new > > > SBI debug console extension which replaces legacy sbi_console_putchar() > > > and sbi_console_getchar() functions with better alternatives. > > > (Refer, https://github.com/riscv-non-isa/riscv-sbi-doc/releases/download/commit-fe4562532a9cc57e5743b6466946c5e5c98c73ca/riscv-sbi.pdf) > > > > > > This series adds SBI debug console implementation in KVM RISC-V > > > so the SBI specification version advertised by KVM RISC-V must also be > > > upgraded to v2.0. > > > > > > Regarding who checks its, the SBI client drivers in the Linux kernel > > > will check SBI specification version implemented by higher privilege > > > mode (M-mode firmware or HS-mode hypervisor) before probing > > > the SBI extension. For example, the HVC SBI driver (PATCH5) > > > will ensure SBI spec version to be at least v2.0 before probing > > > SBI debug console extension. > > > > Is this api backwards compatible, or did you just break existing > > userspace that only expects version 1.0? > > The legacy sbi_console_putchar() and sbi_console_getchar() > functions have not changed so it does not break existing > user-space. > > The new SBI DBCN functions to be implemented by KVM > user space are: > sbi_debug_console_write() > sbi_debug_console_read() > sbi_debug_console_write_byte() And where exactly is that code for us to review that this is tested? thanks, greg k-h