[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 10/19] target/riscv: remove kvm-stub.c
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH v2 10/19] target/riscv: remove kvm-stub.c |
Date: |
Wed, 6 Sep 2023 06:16:37 -0300 |
This file is not needed for some time now. All the stubs implemented in
it (kvm_riscv_reset_vcpu() and kvm_riscv_set_irq()) are wrapped in 'if
kvm_enabled()' blocks that the compiler will rip it out in non-KVM
builds.
We'll also add non-KVM stubs for all functions declared in kvm_riscv.h.
All stubs are implemented as g_asserted_not_reached(), meaning that we
won't support them in non-KVM builds. This is done by other kvm headers
like kvm_arm.h and kvm_ppc.h.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
target/riscv/kvm-stub.c | 30 ------------------------------
target/riscv/kvm_riscv.h | 31 +++++++++++++++++++++++++++++++
target/riscv/meson.build | 2 +-
3 files changed, 32 insertions(+), 31 deletions(-)
delete mode 100644 target/riscv/kvm-stub.c
diff --git a/target/riscv/kvm-stub.c b/target/riscv/kvm-stub.c
deleted file mode 100644
index 4e8fc31a21..0000000000
--- a/target/riscv/kvm-stub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * QEMU KVM RISC-V specific function stubs
- *
- * Copyright (c) 2020 Huawei Technologies Co., Ltd
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2 or later, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "qemu/osdep.h"
-#include "cpu.h"
-#include "kvm_riscv.h"
-
-void kvm_riscv_reset_vcpu(RISCVCPU *cpu)
-{
- abort();
-}
-
-void kvm_riscv_set_irq(RISCVCPU *cpu, int irq, int level)
-{
- abort();
-}
diff --git a/target/riscv/kvm_riscv.h b/target/riscv/kvm_riscv.h
index f6501e68e2..c9ecd9a967 100644
--- a/target/riscv/kvm_riscv.h
+++ b/target/riscv/kvm_riscv.h
@@ -19,6 +19,7 @@
#ifndef QEMU_KVM_RISCV_H
#define QEMU_KVM_RISCV_H
+#ifdef CONFIG_KVM
void kvm_riscv_cpu_add_kvm_properties(Object *obj);
void kvm_riscv_reset_vcpu(RISCVCPU *cpu);
void kvm_riscv_set_irq(RISCVCPU *cpu, int irq, int level);
@@ -27,5 +28,35 @@ void kvm_riscv_aia_create(MachineState *machine, uint64_t
group_shift,
uint64_t aplic_base, uint64_t imsic_base,
uint64_t guest_num);
void riscv_kvm_aplic_request(void *opaque, int irq, int level);
+#else
+static inline void kvm_riscv_cpu_add_kvm_properties(Object *obj)
+{
+ g_assert_not_reached();
+}
+
+static inline void kvm_riscv_reset_vcpu(RISCVCPU *cpu)
+{
+ g_assert_not_reached();
+}
+
+static inline void kvm_riscv_set_irq(RISCVCPU *cpu, int irq, int level)
+{
+ g_assert_not_reached();
+}
+
+static inline void kvm_riscv_aia_create(MachineState *machine,
+ uint64_t group_shift, uint64_t aia_irq_num,
+ uint64_t aia_msi_num, uint64_t aplic_base,
+ uint64_t imsic_base, uint64_t guest_num)
+{
+ g_assert_not_reached();
+}
+
+static inline void riscv_kvm_aplic_request(void *opaque, int irq, int level)
+{
+ g_assert_not_reached();
+}
+
+#endif /* CONFIG_KVM */
#endif
diff --git a/target/riscv/meson.build b/target/riscv/meson.build
index f0486183fa..3323b78b84 100644
--- a/target/riscv/meson.build
+++ b/target/riscv/meson.build
@@ -24,7 +24,7 @@ riscv_ss.add(files(
'zce_helper.c',
'vcrypto_helper.c'
))
-riscv_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'), if_false:
files('kvm-stub.c'))
+riscv_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c'))
riscv_system_ss = ss.source_set()
riscv_system_ss.add(files(
--
2.41.0
- [PATCH v2 11/19] target/riscv: introduce KVM AccelCPUClass, (continued)
- [PATCH v2 11/19] target/riscv: introduce KVM AccelCPUClass, Daniel Henrique Barboza, 2023/09/06
- [PATCH v2 12/19] target/riscv: move KVM only files to kvm subdir, Daniel Henrique Barboza, 2023/09/06
- [PATCH v2 13/19] target/riscv/kvm: do not use riscv_cpu_add_misa_properties(), Daniel Henrique Barboza, 2023/09/06
- [PATCH v2 14/19] target/riscv/cpu.c: export set_misa(), Daniel Henrique Barboza, 2023/09/06
- [PATCH v2 18/19] target/riscv/cpu.c: export isa_edata_arr[], Daniel Henrique Barboza, 2023/09/06
- [PATCH v2 10/19] target/riscv: remove kvm-stub.c,
Daniel Henrique Barboza <=
- Re: [PATCH v2 10/19] target/riscv: remove kvm-stub.c, Philippe Mathieu-Daudé, 2023/09/06
- Re: [PATCH v2 10/19] target/riscv: remove kvm-stub.c, Andrew Jones, 2023/09/11
- Re: [PATCH v2 10/19] target/riscv: remove kvm-stub.c, Andrew Jones, 2023/09/11
- Re: [PATCH v2 10/19] target/riscv: remove kvm-stub.c, Daniel Henrique Barboza, 2023/09/11
- Re: [PATCH v2 10/19] target/riscv: remove kvm-stub.c, Daniel Henrique Barboza, 2023/09/12
- Re: [PATCH v2 10/19] target/riscv: remove kvm-stub.c, Philippe Mathieu-Daudé, 2023/09/12
- Re: [PATCH v2 10/19] target/riscv: remove kvm-stub.c, Daniel Henrique Barboza, 2023/09/12
[PATCH v2 16/19] target/riscv/cpu.c: make misa_ext_cfgs[] 'const', Daniel Henrique Barboza, 2023/09/06
[PATCH v2 15/19] target/riscv/tcg: introduce tcg_cpu_instance_init(), Daniel Henrique Barboza, 2023/09/06