@samitouri / QOSamiQemu / commits / a70da3a0e0

target/i386/mshv: expose mshv_get_generic_regs

We expose the fn, so we can call them from the other source files (msr.c). Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com> Link: https://lore.kernel.org/r/20260417105618.3621-20-magnuskulke@linux.microsoft.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Magnus Kulke committed Apr 17, 2026 at 12:56 UTC a70da3a0e06b3beb0d43ea3c6ecee964f7d1cd66
2 files changed +8 -9
include/system/mshv_int.h
+2
@@ -80,6 +80,8 @@ int mshv_configure_vcpu(const CPUState *cpu);
80 int mshv_run_vcpu(int vm_fd, CPUState *cpu, hv_message *msg, MshvVmExit *exit);
81 int mshv_set_generic_regs(const CPUState *cpu, const hv_register_assoc *assocs,
82 size_t n_regs);
83 +int mshv_get_generic_regs(CPUState *cpu, hv_register_assoc *assocs,
84 + size_t n_regs);
85 int mshv_arch_store_vcpu_state(const CPUState *cpu);
86 int mshv_arch_load_vcpu_state(CPUState *cpu);
87 void mshv_arch_init_vcpu(CPUState *cpu);
target/i386/mshv/mshv-cpu.c
+6 -9
@@ -111,9 +111,6 @@ static enum hv_register_name FPU_REGISTER_NAMES[26] = {
111 };
112
113 static int set_special_regs(const CPUState *cpu);
114 -static int get_generic_regs(CPUState *cpu,
115 - struct hv_register_assoc *assocs,
116 - size_t n_regs);
114
115 static void populate_fpu(const hv_register_assoc *assocs, X86CPU *x86cpu)
116 {
@@ -171,7 +168,7 @@ static int get_fpu(CPUState *cpu)
168 for (size_t i = 0; i < n_regs; i++) {
169 assocs[i].name = FPU_REGISTER_NAMES[i];
170 }
174 - ret = get_generic_regs(cpu, assocs, n_regs);
171 + ret = mshv_get_generic_regs(cpu, assocs, n_regs);
172 if (ret < 0) {
173 error_report("failed to get special registers");
174 return -errno;
@@ -191,7 +188,7 @@ static int get_xc_reg(CPUState *cpu)
188
189 assocs[0].name = HV_X64_REGISTER_XFEM;
190
194 - ret = get_generic_regs(cpu, assocs, 1);
191 + ret = mshv_get_generic_regs(cpu, assocs, 1);
192 if (ret < 0) {
193 error_report("failed to get xcr0");
194 return -1;
@@ -284,8 +281,8 @@ int mshv_set_generic_regs(const CPUState *cpu, const hv_register_assoc *assocs,
281 return 0;
282 }
283
287 -static int get_generic_regs(CPUState *cpu, hv_register_assoc *assocs,
288 - size_t n_regs)
284 +int mshv_get_generic_regs(CPUState *cpu, hv_register_assoc *assocs,
285 + size_t n_regs)
286 {
287 int cpu_fd = mshv_vcpufd(cpu);
288 int vp_index = cpu->cpu_index;
@@ -434,7 +431,7 @@ static int get_standard_regs(CPUState *cpu)
431 for (size_t i = 0; i < n_regs; i++) {
432 assocs[i].name = STANDARD_REGISTER_NAMES[i];
433 }
437 - ret = get_generic_regs(cpu, assocs, n_regs);
434 + ret = mshv_get_generic_regs(cpu, assocs, n_regs);
435 if (ret < 0) {
436 error_report("failed to get standard registers");
437 return -1;
@@ -511,7 +508,7 @@ static int get_special_regs(CPUState *cpu)
508 for (size_t i = 0; i < n_regs; i++) {
509 assocs[i].name = SPECIAL_REGISTER_NAMES[i];
510 }
514 - ret = get_generic_regs(cpu, assocs, n_regs);
511 + ret = mshv_get_generic_regs(cpu, assocs, n_regs);
512 if (ret < 0) {
513 error_report("failed to get special registers");
514 return -errno;