@@ -555,5 +555,5 @@ source "kernel/power/Kconfig"
endmenu
-source "arch/riscv/kvm/Kconfig"
+source "drivers/staging/riscv/kvm/Kconfig"
source "drivers/firmware/Kconfig"
@@ -92,7 +92,7 @@ head-y := arch/riscv/kernel/head.o
core-y += arch/riscv/
core-$(CONFIG_RISCV_ERRATA_ALTERNATIVE) += arch/riscv/errata/
-core-$(CONFIG_KVM) += arch/riscv/kvm/
+core-$(CONFIG_KVM) += drivers/staging/riscv/kvm/
libs-y += arch/riscv/lib/
libs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a
similarity index 100%
rename from arch/riscv/kvm/Kconfig
rename to drivers/staging/riscv/kvm/Kconfig
similarity index 69%
rename from arch/riscv/kvm/Makefile
rename to drivers/staging/riscv/kvm/Makefile
@@ -2,10 +2,10 @@
# Makefile for RISC-V KVM support
#
-common-objs-y = $(addprefix ../../../virt/kvm/, kvm_main.o coalesced_mmio.o)
-common-objs-y += $(addprefix ../../../virt/kvm/, eventfd.o)
+common-objs-y = $(addprefix ../../../../virt/kvm/, kvm_main.o coalesced_mmio.o)
+common-objs-y += $(addprefix ../../../../virt/kvm/, eventfd.o)
-ccflags-y := -Ivirt/kvm -Iarch/riscv/kvm
+ccflags-y := -Ivirt/kvm -Idrivers/staging/riscv/kvm
kvm-objs := $(common-objs-y)
similarity index 100%
rename from arch/riscv/include/asm/kvm_csr.h
rename to drivers/staging/riscv/kvm/asm/kvm_csr.h
similarity index 100%
rename from arch/riscv/include/asm/kvm_host.h
rename to drivers/staging/riscv/kvm/asm/kvm_host.h
similarity index 100%
rename from arch/riscv/include/asm/kvm_types.h
rename to drivers/staging/riscv/kvm/asm/kvm_types.h
similarity index 100%
rename from arch/riscv/include/asm/kvm_vcpu_timer.h
rename to drivers/staging/riscv/kvm/asm/kvm_vcpu_timer.h
similarity index 100%
rename from arch/riscv/kvm/main.c
rename to drivers/staging/riscv/kvm/main.c
similarity index 100%
rename from arch/riscv/kvm/mmu.c
rename to drivers/staging/riscv/kvm/mmu.c
similarity index 100%
rename from arch/riscv/kvm/riscv_offsets.c
rename to drivers/staging/riscv/kvm/riscv_offsets.c
similarity index 100%
rename from arch/riscv/kvm/tlb.S
rename to drivers/staging/riscv/kvm/tlb.S
similarity index 100%
rename from arch/riscv/kvm/vcpu.c
rename to drivers/staging/riscv/kvm/vcpu.c
similarity index 100%
rename from arch/riscv/kvm/vcpu_exit.c
rename to drivers/staging/riscv/kvm/vcpu_exit.c
similarity index 100%
rename from arch/riscv/kvm/vcpu_sbi.c
rename to drivers/staging/riscv/kvm/vcpu_sbi.c
similarity index 100%
rename from arch/riscv/kvm/vcpu_switch.S
rename to drivers/staging/riscv/kvm/vcpu_switch.S
similarity index 100%
rename from arch/riscv/kvm/vcpu_timer.c
rename to drivers/staging/riscv/kvm/vcpu_timer.c
similarity index 100%
rename from arch/riscv/kvm/vm.c
rename to drivers/staging/riscv/kvm/vm.c
similarity index 100%
rename from arch/riscv/kvm/vmid.c
rename to drivers/staging/riscv/kvm/vmid.c
As-per the Linux RISC-V patch acceptance policy, patches for unfrozen specifications won't be accepted in arch/riscv directory. To unblock KVM RISC-V development, we move KVM RISC-V sources to drivers/staging directory. Only arch/riscv/include/uapi/asm/kvm.h header will remain in arch/riscv directory because this KVM RISC-V UAPI header is compliant with ratified RISC-V privilege specification hence also satisfies Linux RISC-V patch acceptance policy. Signed-off-by: Anup Patel <anup.patel@wdc.com> --- arch/riscv/Kconfig | 2 +- arch/riscv/Makefile | 2 +- {arch => drivers/staging}/riscv/kvm/Kconfig | 0 {arch => drivers/staging}/riscv/kvm/Makefile | 6 +++--- .../include => drivers/staging/riscv/kvm}/asm/kvm_csr.h | 0 .../include => drivers/staging/riscv/kvm}/asm/kvm_host.h | 0 .../include => drivers/staging/riscv/kvm}/asm/kvm_types.h | 0 .../staging/riscv/kvm}/asm/kvm_vcpu_timer.h | 0 {arch => drivers/staging}/riscv/kvm/main.c | 0 {arch => drivers/staging}/riscv/kvm/mmu.c | 0 {arch => drivers/staging}/riscv/kvm/riscv_offsets.c | 0 {arch => drivers/staging}/riscv/kvm/tlb.S | 0 {arch => drivers/staging}/riscv/kvm/vcpu.c | 0 {arch => drivers/staging}/riscv/kvm/vcpu_exit.c | 0 {arch => drivers/staging}/riscv/kvm/vcpu_sbi.c | 0 {arch => drivers/staging}/riscv/kvm/vcpu_switch.S | 0 {arch => drivers/staging}/riscv/kvm/vcpu_timer.c | 0 {arch => drivers/staging}/riscv/kvm/vm.c | 0 {arch => drivers/staging}/riscv/kvm/vmid.c | 0 19 files changed, 5 insertions(+), 5 deletions(-) rename {arch => drivers/staging}/riscv/kvm/Kconfig (100%) rename {arch => drivers/staging}/riscv/kvm/Makefile (69%) rename {arch/riscv/include => drivers/staging/riscv/kvm}/asm/kvm_csr.h (100%) rename {arch/riscv/include => drivers/staging/riscv/kvm}/asm/kvm_host.h (100%) rename {arch/riscv/include => drivers/staging/riscv/kvm}/asm/kvm_types.h (100%) rename {arch/riscv/include => drivers/staging/riscv/kvm}/asm/kvm_vcpu_timer.h (100%) rename {arch => drivers/staging}/riscv/kvm/main.c (100%) rename {arch => drivers/staging}/riscv/kvm/mmu.c (100%) rename {arch => drivers/staging}/riscv/kvm/riscv_offsets.c (100%) rename {arch => drivers/staging}/riscv/kvm/tlb.S (100%) rename {arch => drivers/staging}/riscv/kvm/vcpu.c (100%) rename {arch => drivers/staging}/riscv/kvm/vcpu_exit.c (100%) rename {arch => drivers/staging}/riscv/kvm/vcpu_sbi.c (100%) rename {arch => drivers/staging}/riscv/kvm/vcpu_switch.S (100%) rename {arch => drivers/staging}/riscv/kvm/vcpu_timer.c (100%) rename {arch => drivers/staging}/riscv/kvm/vm.c (100%) rename {arch => drivers/staging}/riscv/kvm/vmid.c (100%)