xref: /linux/arch/riscv/kvm/vcpu_sbi_forward.c (revision 51d90a15fedf8366cb96ef68d0ea2d0bf15417d2)
112fd6c62SAnup Patel // SPDX-License-Identifier: GPL-2.0
212fd6c62SAnup Patel /*
312fd6c62SAnup Patel  * Copyright (c) 2025 Ventana Micro Systems Inc.
412fd6c62SAnup Patel  */
512fd6c62SAnup Patel 
612fd6c62SAnup Patel #include <linux/kvm_host.h>
712fd6c62SAnup Patel #include <asm/kvm_vcpu_sbi.h>
812fd6c62SAnup Patel #include <asm/sbi.h>
912fd6c62SAnup Patel 
1012fd6c62SAnup Patel const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_experimental = {
1112fd6c62SAnup Patel 	.extid_start = SBI_EXT_EXPERIMENTAL_START,
1212fd6c62SAnup Patel 	.extid_end = SBI_EXT_EXPERIMENTAL_END,
1312fd6c62SAnup Patel 	.handler = kvm_riscv_vcpu_sbi_forward_handler,
1412fd6c62SAnup Patel };
1512fd6c62SAnup Patel 
1612fd6c62SAnup Patel const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_vendor = {
1712fd6c62SAnup Patel 	.extid_start = SBI_EXT_VENDOR_START,
1812fd6c62SAnup Patel 	.extid_end = SBI_EXT_VENDOR_END,
1912fd6c62SAnup Patel 	.handler = kvm_riscv_vcpu_sbi_forward_handler,
2012fd6c62SAnup Patel };
2112fd6c62SAnup Patel 
2212fd6c62SAnup Patel const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_dbcn = {
2312fd6c62SAnup Patel 	.extid_start = SBI_EXT_DBCN,
2412fd6c62SAnup Patel 	.extid_end = SBI_EXT_DBCN,
2512fd6c62SAnup Patel 	.default_disabled = true,
2612fd6c62SAnup Patel 	.handler = kvm_riscv_vcpu_sbi_forward_handler,
2712fd6c62SAnup Patel };
28*7050f1d7SAnup Patel 
29*7050f1d7SAnup Patel const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_mpxy = {
30*7050f1d7SAnup Patel 	.extid_start = SBI_EXT_MPXY,
31*7050f1d7SAnup Patel 	.extid_end = SBI_EXT_MPXY,
32*7050f1d7SAnup Patel 	.default_disabled = true,
33*7050f1d7SAnup Patel 	.handler = kvm_riscv_vcpu_sbi_forward_handler,
34*7050f1d7SAnup Patel };
35