[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 02/15] accel/whpx: Simplify #ifdef'ry
From: |
Philippe Mathieu-Daudé |
Subject: |
[RFC PATCH 02/15] accel/whpx: Simplify #ifdef'ry |
Date: |
Mon, 17 May 2021 13:55:12 +0200 |
whpx_apic_in_platform() is called from:
- pic_irq_request() in hw/i386/x86.c
- cpu_thread_is_idle() softmmu/cpus.c
- apic_get_class() in target/i386/cpu-sysemu.c
whpx_enabled() is called from:
- cpu_report_tpr_access() in target/i386/helper.c
By converting macros to a function, we can remove the
NEED_CPU_H dependency and build softmmu/cpus.c once
for all targets.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
include/sysemu/whpx.h | 15 +--------------
accel/stubs/whpx-stub.c | 21 +++++++++++++++++++++
target/i386/whpx/whpx-all.c | 2 +-
MAINTAINERS | 1 +
accel/stubs/meson.build | 1 +
5 files changed, 25 insertions(+), 15 deletions(-)
create mode 100644 accel/stubs/whpx-stub.c
diff --git a/include/sysemu/whpx.h b/include/sysemu/whpx.h
index 2889fa2278b..b32f46f9ebf 100644
--- a/include/sysemu/whpx.h
+++ b/include/sysemu/whpx.h
@@ -13,20 +13,7 @@
#ifndef QEMU_WHPX_H
#define QEMU_WHPX_H
-#ifdef NEED_CPU_H
-
-#ifdef CONFIG_WHPX
-
-int whpx_enabled(void);
+bool whpx_enabled(void);
bool whpx_apic_in_platform(void);
-#else /* CONFIG_WHPX */
-
-#define whpx_enabled() (0)
-#define whpx_apic_in_platform() (0)
-
-#endif /* CONFIG_WHPX */
-
-#endif /* NEED_CPU_H */
-
#endif /* QEMU_WHPX_H */
diff --git a/accel/stubs/whpx-stub.c b/accel/stubs/whpx-stub.c
new file mode 100644
index 00000000000..794a992acc6
--- /dev/null
+++ b/accel/stubs/whpx-stub.c
@@ -0,0 +1,21 @@
+/*
+ * QEMU WHPX stub
+ *
+ * Copyright (c) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ */
+
+#include "qemu/osdep.h"
+#include "sysemu/whpx.h"
+
+bool whpx_enabled(void)
+{
+ return false;
+}
+
+bool whpx_apic_in_platform(void)
+{
+ return false;
+}
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index f832f286ac3..6709a89f8f0 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -1862,7 +1862,7 @@ error:
return ret;
}
-int whpx_enabled(void)
+bool whpx_enabled(void)
{
return whpx_allowed;
}
diff --git a/MAINTAINERS b/MAINTAINERS
index 78561a223f9..7877710e372 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -439,6 +439,7 @@ F: include/sysemu/hvf.h
WHPX CPUs
M: Sunil Muthuswamy <sunilmut@microsoft.com>
S: Supported
+F: accel/stubs/whpx-stub.c
F: target/i386/whpx/
F: include/sysemu/whpx.h
diff --git a/accel/stubs/meson.build b/accel/stubs/meson.build
index 12dd1539afa..3fbe34e5bb3 100644
--- a/accel/stubs/meson.build
+++ b/accel/stubs/meson.build
@@ -2,3 +2,4 @@
specific_ss.add(when: 'CONFIG_XEN', if_false: files('xen-stub.c'))
specific_ss.add(when: 'CONFIG_KVM', if_false: files('kvm-stub.c'))
specific_ss.add(when: 'CONFIG_TCG', if_false: files('tcg-stub.c'))
+specific_ss.add(when: 'CONFIG_WHPX', if_false: files('whpx-stub.c'))
--
2.26.3
- [RFC PATCH 00/15] softmmu: Make various objects target agnostic, Philippe Mathieu-Daudé, 2021/05/17
- [RFC PATCH 01/15] accel/kvm: Add more stubs, Philippe Mathieu-Daudé, 2021/05/17
- [RFC PATCH 02/15] accel/whpx: Simplify #ifdef'ry,
Philippe Mathieu-Daudé <=
- [RFC PATCH 03/15] accel/hax: Simplify #ifdef'ry, Philippe Mathieu-Daudé, 2021/05/17
- [RFC PATCH 04/15] accel: Only use TCG when building user-mode emulation, Philippe Mathieu-Daudé, 2021/05/17
- [RFC PATCH 05/15] accel/kvm: Simplify user-mode #ifdef'ry, Philippe Mathieu-Daudé, 2021/05/17
- [RFC PATCH 06/15] hw/acpi/memory_hotplug: Remove unused 'hw/acpi/pc-hotplug.h' header, Philippe Mathieu-Daudé, 2021/05/17
- [RFC PATCH 08/15] softmmu/cpu-timers: Remove unused 'exec/exec-all.h' header, Philippe Mathieu-Daudé, 2021/05/17