[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 14/37] target-i386: Simplify cpu_x86_find_by_name()
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH 14/37] target-i386: Simplify cpu_x86_find_by_name() |
Date: |
Mon, 28 Jan 2013 17:18:31 +0100 |
Catch NULL name argument early to avoid repeated checks.
Similarly, check for -cpu host early and untangle from iterating through
model definitions. This prepares for introducing X86CPU subclasses.
Signed-off-by: Andreas Färber <address@hidden>
---
target-i386/cpu.c | 22 ++++++++++++----------
1 Datei geändert, 12 Zeilen hinzugefügt(+), 10 Zeilen entfernt(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index c5acaa7..37a4b03 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1318,20 +1318,22 @@ static int cpu_x86_find_by_name(x86_def_t *x86_cpu_def,
const char *name)
{
x86_def_t *def;
- for (def = x86_defs; def; def = def->next) {
- if (name && !strcmp(name, def->name)) {
- break;
- }
+ if (name == NULL) {
+ return -1;
}
- if (kvm_enabled() && name && strcmp(name, "host") == 0) {
+ if (kvm_enabled() && strcmp(name, "host") == 0) {
kvm_cpu_fill_host(x86_cpu_def);
- } else if (!def) {
- return -1;
- } else {
- memcpy(x86_cpu_def, def, sizeof(*def));
+ return 0;
}
- return 0;
+ for (def = x86_defs; def; def = def->next) {
+ if (strcmp(name, def->name) == 0) {
+ memcpy(x86_cpu_def, def, sizeof(*def));
+ return 0;
+ }
+ }
+
+ return -1;
}
/* Parse "+feature,-feature,feature=foo" CPU feature string
--
1.7.10.4
- [Qemu-devel] [PATCH 05/37] pc: Reverse pc_init_pci() compatibility logic, (continued)
- [Qemu-devel] [PATCH 05/37] pc: Reverse pc_init_pci() compatibility logic, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 09/37] fw_cfg: Remove FW_CFG_MAX_CPUS from fw_cfg_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 03/37] kvm: Add fake KVM_FEATURE_CLOCKSOURCE_STABLE_BIT for builds without KVM, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 10/37] cpus.h: Make constant smp_cores/smp_threads available on *-user, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 07/37] target-i386: kvm: Set vcpu_id to APIC ID instead of CPU index, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 08/37] target-i386: Introduce x86_cpu_apic_id_from_index() function, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 02/37] target-openrisc: Clean up triple QOM casts, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 18/37] target-i386: Remove vendor_override field from CPUX86State, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 21/37] cpu: Add model resolution support to CPUClass, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 13/37] pc: Generate APIC IDs according to CPU topology, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 14/37] target-i386: Simplify cpu_x86_find_by_name(),
Andreas Färber <=
- [Qemu-devel] [PATCH 19/37] target-i386: Set custom features/properties without intermediate x86_def_t, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 12/37] target-i386: Topology & APIC ID utility functions, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 16/37] target-i386: Print deprecation warning if xlevel < 0x80000000, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 15/37] target-i386: Drop redundant list of CPU definitions, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 17/37] target-i386: Replace uint32_t vendor fields by vendor string in x86_def_t, Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 25/37] target-openrisc: Detect attempt to instantiate non-CPU type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 22/37] target-arm: Detect attempt to instantiate non-CPU type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 28/37] target-alpha: Catch attempt to instantiate abstract type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 23/37] target-alpha: Detect attempt to instantiate non-CPU type in cpu_init(), Andreas Färber, 2013/01/28
- [Qemu-devel] [PATCH 20/37] target-i386: Remove setting tsc-frequency from x86_def_t, Andreas Färber, 2013/01/28