]> rtime.felk.cvut.cz Git - jailhouse.git/commitdiff
x86: Privatize names of static vendor-specific functions
authorJan Kiszka <jan.kiszka@siemens.com>
Wed, 5 Nov 2014 08:18:29 +0000 (09:18 +0100)
committerJan Kiszka <jan.kiszka@siemens.com>
Fri, 7 Nov 2014 06:38:48 +0000 (07:38 +0100)
vcpu_set_cell_config, vcpu_reset, vcpu_vendor_get_io_intercept and
vcpu_vendor_get_pf_intercept - they share the same parameters across the
vendor-specific implementations, but they are invoked only locally. So
rename them to something which is prefixed by vmx and svm, respectively,
so that they can be locally refactored as desired with risking confusion
that they might have to usable in a cross-vendor fashion.

CC: Valentine Sinitsyn <valentine.sinitsyn@gmail.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
hypervisor/arch/x86/svm.c
hypervisor/arch/x86/vmx.c

index 4d1f979f414ce032a0570f3c13478085ae3ff0fc..0445ee8fd4f7573d86944bfb3af099a4181eb33b 100644 (file)
@@ -158,7 +158,7 @@ static void set_svm_segment_from_segment(struct svm_segment *svm_segment,
        svm_segment->base = segment->base;
 }
 
-static bool vcpu_set_cell_config(struct cell *cell, struct vmcb *vmcb)
+static bool svm_set_cell_config(struct cell *cell, struct vmcb *vmcb)
 {
        /* No real need for this function; used for consistency with vmx.c */
        vmcb->iopm_base_pa = paging_hvirt2phys(cell->svm.iopm);
@@ -238,7 +238,7 @@ static int vmcb_setup(struct per_cpu *cpu_data)
        /* Explicitly mark all of the state as new */
        vmcb->clean_bits = 0;
 
-       return vcpu_set_cell_config(cpu_data->cell, vmcb);
+       return svm_set_cell_config(cpu_data->cell, vmcb);
 }
 
 unsigned long arch_paging_gphys2phys(struct per_cpu *cpu_data,
@@ -557,7 +557,7 @@ vcpu_deactivate_vmm(struct registers *guest_regs)
        __builtin_unreachable();
 }
 
-static void vcpu_reset(struct per_cpu *cpu_data, unsigned int sipi_vector)
+static void svm_vcpu_reset(struct per_cpu *cpu_data, unsigned int sipi_vector)
 {
        struct vmcb *vmcb = &cpu_data->vmcb;
        unsigned long val;
@@ -646,7 +646,7 @@ static void vcpu_reset(struct per_cpu *cpu_data, unsigned int sipi_vector)
        /* Almost all of the guest state changed */
        vmcb->clean_bits = 0;
 
-       ok &= vcpu_set_cell_config(cpu_data->cell, vmcb);
+       ok &= svm_set_cell_config(cpu_data->cell, vmcb);
 
        /* This is always false, but to be consistent with vmx.c... */
        if (!ok) {
@@ -950,8 +950,8 @@ static void dump_guest_regs(struct registers *guest_regs, struct vmcb *vmcb)
        panic_printk("EFER: %p\n", vmcb->efer);
 }
 
-static void vcpu_vendor_get_pf_intercept(struct per_cpu *cpu_data,
-                                        struct vcpu_pf_intercept *out)
+static void svm_get_vcpu_pf_intercept(struct per_cpu *cpu_data,
+                                     struct vcpu_pf_intercept *out)
 {
        struct vmcb *vmcb = &cpu_data->vmcb;
 
@@ -959,8 +959,8 @@ static void vcpu_vendor_get_pf_intercept(struct per_cpu *cpu_data,
        out->is_write = !!(vmcb->exitinfo1 & 0x2);
 }
 
-static void vcpu_vendor_get_io_intercept(struct per_cpu *cpu_data,
-                                        struct vcpu_io_intercept *out)
+static void svm_get_vcpu_io_intercept(struct per_cpu *cpu_data,
+                                     struct vcpu_io_intercept *out)
 {
        struct vmcb *vmcb = &cpu_data->vmcb;
        u64 exitinfo = vmcb->exitinfo1;
@@ -1005,7 +1005,7 @@ void vcpu_handle_exit(struct registers *guest_regs, struct per_cpu *cpu_data)
                if (sipi_vector >= 0) {
                        printk("CPU %d received SIPI, vector %x\n",
                               cpu_data->cpu_id, sipi_vector);
-                       vcpu_reset(cpu_data, sipi_vector);
+                       svm_vcpu_reset(cpu_data, sipi_vector);
                        memset(guest_regs, 0, sizeof(*guest_regs));
                }
                iommu_check_pending_faults(cpu_data);
@@ -1042,7 +1042,7 @@ void vcpu_handle_exit(struct registers *guest_regs, struct per_cpu *cpu_data)
                } else {
                        /* General MMIO (IOAPIC, PCI etc) */
                        cpu_data->stats[JAILHOUSE_CPU_STAT_VMEXITS_MMIO]++;
-                       vcpu_vendor_get_pf_intercept(cpu_data, &pf);
+                       svm_get_vcpu_pf_intercept(cpu_data, &pf);
                        if (vcpu_handle_pt_violation(guest_regs, &pf))
                                return;
                }
@@ -1069,7 +1069,7 @@ void vcpu_handle_exit(struct registers *guest_regs, struct per_cpu *cpu_data)
                break;
        case VMEXIT_IOIO:
                cpu_data->stats[JAILHOUSE_CPU_STAT_VMEXITS_PIO]++;
-               vcpu_vendor_get_io_intercept(cpu_data, &io);
+               svm_get_vcpu_io_intercept(cpu_data, &io);
                if (vcpu_handle_io_access(guest_regs, &io))
                        return;
                break;
@@ -1087,7 +1087,7 @@ void vcpu_park(struct per_cpu *cpu_data)
 {
        struct vmcb *vmcb = &cpu_data->vmcb;
 
-       vcpu_reset(cpu_data, APIC_BSP_PSEUDO_SIPI);
+       svm_vcpu_reset(cpu_data, APIC_BSP_PSEUDO_SIPI);
        /* No need to clear VMCB Clean bit: vcpu_reset() already does this */
        vmcb->n_cr3 = paging_hvirt2phys(parked_mode_npt);
 
index 96afb666e7759208458af622dfb458a0c6e37bf5..12924a29844e5e04a15fd37729f35e1093cd8099 100644 (file)
@@ -372,7 +372,7 @@ static bool vmx_set_guest_cr(int cr, unsigned long val)
        return ok;
 }
 
-static bool vcpu_set_cell_config(struct cell *cell)
+static bool vmx_set_cell_config(struct cell *cell)
 {
        u8 *io_bitmap;
        bool ok = true;
@@ -507,7 +507,7 @@ static bool vmcs_setup(struct per_cpu *cpu_data)
        ok &= vmcs_write64(APIC_ACCESS_ADDR,
                           paging_hvirt2phys(apic_access_page));
 
-       ok &= vcpu_set_cell_config(cpu_data->cell);
+       ok &= vmx_set_cell_config(cpu_data->cell);
 
        ok &= vmcs_write32(EXCEPTION_BITMAP, 0);
 
@@ -683,7 +683,7 @@ vcpu_deactivate_vmm(struct registers *guest_regs)
        __builtin_unreachable();
 }
 
-static void vcpu_reset(struct per_cpu *cpu_data, unsigned int sipi_vector)
+static void vmx_vcpu_reset(struct per_cpu *cpu_data, unsigned int sipi_vector)
 {
        unsigned long val;
        bool ok = true;
@@ -765,7 +765,7 @@ static void vcpu_reset(struct per_cpu *cpu_data, unsigned int sipi_vector)
        val &= ~VM_ENTRY_IA32E_MODE;
        ok &= vmcs_write32(VM_ENTRY_CONTROLS, val);
 
-       ok &= vcpu_set_cell_config(cpu_data->cell);
+       ok &= vmx_set_cell_config(cpu_data->cell);
 
        if (!ok) {
                panic_printk("FATAL: CPU reset failed\n");
@@ -787,7 +787,7 @@ void vcpu_nmi_handler(void)
 
 void vcpu_park(struct per_cpu *cpu_data)
 {
-       vcpu_reset(cpu_data, 0);
+       vmx_vcpu_reset(cpu_data, 0);
        vmcs_write32(GUEST_ACTIVITY_STATE, GUEST_ACTIVITY_HLT);
 }
 
@@ -935,7 +935,7 @@ static void dump_guest_regs(struct registers *guest_regs)
        panic_printk("EFER: %p\n", vmcs_read64(GUEST_IA32_EFER));
 }
 
-static void vcpu_vendor_get_io_intercept(struct vcpu_io_intercept *out)
+static void vmx_get_vcpu_io_intercept(struct vcpu_io_intercept *out)
 {
        u64 exitq = vmcs_read64(EXIT_QUALIFICATION);
 
@@ -947,7 +947,7 @@ static void vcpu_vendor_get_io_intercept(struct vcpu_io_intercept *out)
        out->rep_or_str = !!(exitq & 0x30);
 }
 
-static void vcpu_vendor_get_pf_intercept(struct vcpu_pf_intercept *out)
+static void vmx_get_vcpu_pf_intercept(struct vcpu_pf_intercept *out)
 {
        u64 exitq = vmcs_read64(EXIT_QUALIFICATION);
 
@@ -978,7 +978,7 @@ void vcpu_handle_exit(struct registers *guest_regs, struct per_cpu *cpu_data)
                if (sipi_vector >= 0) {
                        printk("CPU %d received SIPI, vector %x\n",
                               cpu_data->cpu_id, sipi_vector);
-                       vcpu_reset(cpu_data, sipi_vector);
+                       vmx_vcpu_reset(cpu_data, sipi_vector);
                        memset(guest_regs, 0, sizeof(*guest_regs));
                }
                iommu_check_pending_faults(cpu_data);
@@ -1047,13 +1047,13 @@ void vcpu_handle_exit(struct registers *guest_regs, struct per_cpu *cpu_data)
                break;
        case EXIT_REASON_IO_INSTRUCTION:
                cpu_data->stats[JAILHOUSE_CPU_STAT_VMEXITS_PIO]++;
-               vcpu_vendor_get_io_intercept(&io);
+               vmx_get_vcpu_io_intercept(&io);
                if (vcpu_handle_io_access(guest_regs, &io))
                        return;
                break;
        case EXIT_REASON_EPT_VIOLATION:
                cpu_data->stats[JAILHOUSE_CPU_STAT_VMEXITS_MMIO]++;
-               vcpu_vendor_get_pf_intercept(&pf);
+               vmx_get_vcpu_pf_intercept(&pf);
                if (vcpu_handle_pt_violation(guest_regs, &pf))
                        return;
                break;