]> git.proxmox.com Git - qemu.git/commitdiff
i386: kvm: extract register switch to cpuid_entry_get_reg() function
authorEduardo Habkost <ehabkost@redhat.com>
Thu, 4 Oct 2012 20:48:56 +0000 (17:48 -0300)
committerMarcelo Tosatti <mtosatti@redhat.com>
Wed, 31 Oct 2012 01:39:46 +0000 (23:39 -0200)
No behavior change: just code movement.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
target-i386/kvm.c

index 18782e49db684d1097f79278daf94b2f128b28b1..695deb9f932e84eeebe43e2763f194c08eee4b30 100644 (file)
@@ -123,6 +123,28 @@ static int get_para_features(KVMState *s)
 }
 
 
+/* Returns the value for a specific register on the cpuid entry
+ */
+static uint32_t cpuid_entry_get_reg(struct kvm_cpuid_entry2 *entry, int reg)
+{
+    uint32_t ret = 0;
+    switch (reg) {
+    case R_EAX:
+        ret = entry->eax;
+        break;
+    case R_EBX:
+        ret = entry->ebx;
+        break;
+    case R_ECX:
+        ret = entry->ecx;
+        break;
+    case R_EDX:
+        ret = entry->edx;
+        break;
+    }
+    return ret;
+}
+
 uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uint32_t function,
                                       uint32_t index, int reg)
 {
@@ -142,20 +164,7 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uint32_t function,
             cpuid->entries[i].index == index) {
             struct kvm_cpuid_entry2 *entry = &cpuid->entries[i];
             found = true;
-            switch (reg) {
-            case R_EAX:
-                ret = entry->eax;
-                break;
-            case R_EBX:
-                ret = entry->ebx;
-                break;
-            case R_ECX:
-                ret = entry->ecx;
-                break;
-            case R_EDX:
-                ret = entry->edx;
-                break;
-            }
+            ret = cpuid_entry_get_reg(entry, reg);
         }
     }