RISC-V: KVM: Forward SBI DBCN extension to user-space
authorAnup Patel <apatel@ventanamicro.com>
Fri, 22 Jul 2022 14:16:24 +0000 (19:46 +0530)
committerAnup Patel <anup@brainfault.org>
Fri, 20 Oct 2023 11:20:36 +0000 (16:50 +0530)
commitc667ad229d13c41590882a35a8c159387b4e149b
treed2e8edb3b74e0f70dbfddc43946e357ce50a7400
parent56d8a385b60556019ecb45d6098830c9ef6a13e0
RISC-V: KVM: Forward SBI DBCN extension to user-space

The frozen SBI v2.0 specification defines the SBI debug console
(DBCN) extension which replaces the legacy SBI v0.1 console
functions namely sbi_console_getchar() and sbi_console_putchar().

The SBI DBCN extension needs to be emulated in the KVM user-space
(i.e. QEMU-KVM or KVMTOOL) so we forward SBI DBCN calls from KVM
guest to the KVM user-space which can then redirect the console
input/output to wherever it wants (e.g. telnet, file, stdio, etc).

The SBI debug console is simply a early console available to KVM
guest for early prints and it does not intend to replace the proper
console devices such as 8250, VirtIO console, etc.

Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Anup Patel <anup@brainfault.org>
arch/riscv/include/asm/kvm_vcpu_sbi.h
arch/riscv/include/uapi/asm/kvm.h
arch/riscv/kvm/vcpu_sbi.c
arch/riscv/kvm/vcpu_sbi_replace.c