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;