]> rtime.felk.cvut.cz Git - jailhouse.git/commitdiff
x86: Remove guest registers parameter from vcpu_reset
authorJan Kiszka <jan.kiszka@siemens.com>
Fri, 3 Apr 2015 12:47:52 +0000 (14:47 +0200)
committerJan Kiszka <jan.kiszka@siemens.com>
Fri, 10 Apr 2015 07:00:52 +0000 (09:00 +0200)
The function only works against the current CPU, thus should avoid to
take the misleading parameter. The necessary reference can be obtained
from the per-cpu data structure now.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
hypervisor/arch/x86/include/asm/vcpu.h
hypervisor/arch/x86/svm.c
hypervisor/arch/x86/vcpu.c
hypervisor/arch/x86/vmx.c

index cce0f5fdf066b2da4e12b8a5f5022fdb11ed4a10..290fb273b17b2227543bfe566c7f9403268bb6c6 100644 (file)
@@ -116,6 +116,6 @@ bool vcpu_handle_msr_write(union registers *guest_regs);
 
 bool vcpu_handle_xsetbv(union registers *guest_regs);
 
-void vcpu_reset(union registers *guest_regs);
+void vcpu_reset(void);
 
 #endif
index 9c09c0e08eba533d28916990dc6c083397c22730..03407b9d55abb25d367b891d0015ed648fabbac3 100644 (file)
@@ -946,7 +946,7 @@ void vcpu_handle_exit(struct per_cpu *cpu_data)
                        printk("CPU %d received SIPI, vector %x\n",
                               cpu_data->cpu_id, sipi_vector);
                        svm_vcpu_reset(cpu_data, sipi_vector);
-                       vcpu_reset(guest_regs);
+                       vcpu_reset();
                }
                iommu_check_pending_faults(cpu_data);
                return;
index 49324b0af692270b5af65a79151c8497d0adf488..2ddab364843c86764bcadefc94262920c665b595 100644 (file)
@@ -331,11 +331,11 @@ bool vcpu_handle_xsetbv(union registers *guest_regs)
        return false;
 }
 
-void vcpu_reset(union registers *guest_regs)
+void vcpu_reset(void)
 {
        struct per_cpu *cpu_data = this_cpu_data();
 
-       memset(guest_regs, 0, sizeof(*guest_regs));
+       memset(&cpu_data->guest_regs, 0, sizeof(cpu_data->guest_regs));
        cpu_data->pat = PAT_RESET_VALUE;
        cpu_data->mtrr_def_type = 0;
        vcpu_vendor_set_guest_pat(0);
index 1bbc64a337e8eced293acfda8eaacbe3daae631f..41618d1554e54b63a67dee52ff558a69f6892fc2 100644 (file)
@@ -1058,7 +1058,7 @@ void vcpu_handle_exit(struct per_cpu *cpu_data)
                        printk("CPU %d received SIPI, vector %x\n",
                               cpu_data->cpu_id, sipi_vector);
                        vmx_vcpu_reset(sipi_vector);
-                       vcpu_reset(guest_regs);
+                       vcpu_reset();
                }
                iommu_check_pending_faults(cpu_data);
                return;