[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 4/6] target/i386: Move x86_cpu_get_migratable_flags() around
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v5 4/6] target/i386: Move x86_cpu_get_migratable_flags() around |
Date: |
Wed, 13 Sep 2023 11:30:06 +0200 |
x86_cpu_get_migratable_flags() is only used once in
x86_cpu_get_supported_feature_word(). Move it the
code just before its caller, to reduce #ifdef'ry
in the next commit, when we restrict both functions
to system emulation.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
target/i386/cpu.c | 46 +++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index b2a20365e1..3df85a6347 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -1664,29 +1664,6 @@ static inline uint64_t
x86_cpu_xsave_xss_components(X86CPU *cpu)
cpu->env.features[FEAT_XSAVE_XSS_LO];
}
-/*
- * Returns the set of feature flags that are supported and migratable by
- * QEMU, for a given FeatureWord.
- */
-static uint64_t x86_cpu_get_migratable_flags(FeatureWord w)
-{
- FeatureWordInfo *wi = &feature_word_info[w];
- uint64_t r = 0;
- int i;
-
- for (i = 0; i < 64; i++) {
- uint64_t f = 1ULL << i;
-
- /* If the feature name is known, it is implicitly considered
migratable,
- * unless it is explicitly set in unmigratable_flags */
- if ((wi->migratable_flags & f) ||
- (wi->feat_names[i] && !(wi->unmigratable_flags & f))) {
- r |= f;
- }
- }
- return r;
-}
-
void host_cpuid(uint32_t function, uint32_t count,
uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
{
@@ -5679,6 +5656,29 @@ CpuDefinitionInfoList *qmp_query_cpu_definitions(Error
**errp)
#endif /* !CONFIG_USER_ONLY */
+/*
+ * Returns the set of feature flags that are supported and migratable by
+ * QEMU, for a given FeatureWord.
+ */
+static uint64_t x86_cpu_get_migratable_flags(FeatureWord w)
+{
+ FeatureWordInfo *wi = &feature_word_info[w];
+ uint64_t r = 0;
+ int i;
+
+ for (i = 0; i < 64; i++) {
+ uint64_t f = 1ULL << i;
+
+ /* If the feature name is known, it is implicitly considered
migratable,
+ * unless it is explicitly set in unmigratable_flags */
+ if ((wi->migratable_flags & f) ||
+ (wi->feat_names[i] && !(wi->unmigratable_flags & f))) {
+ r |= f;
+ }
+ }
+ return r;
+}
+
uint64_t x86_cpu_get_supported_feature_word(FeatureWord w,
bool migratable_only)
{
--
2.41.0
- [PATCH v5 0/6] target/i386: Restrict system-specific features from user emulation, Philippe Mathieu-Daudé, 2023/09/13
- [PATCH v5 1/6] target/i386: Check kvm_hyperv_expand_features() return value, Philippe Mathieu-Daudé, 2023/09/13
- [PATCH v5 2/6] target/i386: Drop accel_uses_host_cpuid before x86_cpu_get_supported_cpuid, Philippe Mathieu-Daudé, 2023/09/13
- [PATCH v5 3/6] target/i386: Call accel-agnostic x86_cpu_get_supported_cpuid(), Philippe Mathieu-Daudé, 2023/09/13
- [PATCH v5 4/6] target/i386: Move x86_cpu_get_migratable_flags() around,
Philippe Mathieu-Daudé <=
- [RFC PATCH v5 5/6] target/i386: Restrict system-specific code from user emulation, Philippe Mathieu-Daudé, 2023/09/13
- [PATCH v5 6/6] target/i386: Prohibit target specific KVM prototypes on user emulation, Philippe Mathieu-Daudé, 2023/09/13
- Re: [PATCH v5 0/6] target/i386: Restrict system-specific features from user emulation, Paolo Bonzini, 2023/09/13