On Wed, Oct 11, 2023 at 12:57 PM Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> 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 > > <gregkh@xxxxxxxxxxxxxxxxxxx> 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 <apatel@xxxxxxxxxxxxxxxx> > > > > --- > > > > 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() > > thanks, > > greg k-h Regards, Anup