diff options
author | Eduardo Habkost <ehabkost@redhat.com> | 2017-07-26 15:44:35 -0300 |
---|---|---|
committer | Eduardo Habkost <ehabkost@redhat.com> | 2017-09-01 11:54:24 -0300 |
commit | 5ce46cb34eecec0bc94a4b1394763f9a1bbe20c3 (patch) | |
tree | 7bd400d87bc3fc95068e397bd9f0a947e9e790e8 | |
parent | 3beacfb98ba5f594dff4a4541401f2849e0a9ec6 (diff) | |
download | qemu-5ce46cb34eecec0bc94a4b1394763f9a1bbe20c3.zip qemu-5ce46cb34eecec0bc94a4b1394763f9a1bbe20c3.tar.gz qemu-5ce46cb34eecec0bc94a4b1394763f9a1bbe20c3.tar.bz2 |
cpu: cpu_by_arch_id() helper
The helper can be used for CPU object lookup using the CPU's
arch-specific ID (the one returned by CPUClass::get_arch_id()).
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
[Yi Wang: Added documentation comments]
Signed-off-by: Yi Wang <wang.yi59@zte.com.cn>
Signed-off-by: Yun Liu <liu.yunh@zte.com.cn>
[ehabkost: extracted cpu_by_arch_id() to a separate patch]
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
-rw-r--r-- | include/qom/cpu.h | 10 | ||||
-rw-r--r-- | qom/cpu.c | 11 |
2 files changed, 18 insertions, 3 deletions
diff --git a/include/qom/cpu.h b/include/qom/cpu.h index 25eefea..b7ac949 100644 --- a/include/qom/cpu.h +++ b/include/qom/cpu.h @@ -755,6 +755,16 @@ CPUState *qemu_get_cpu(int index); bool cpu_exists(int64_t id); /** + * cpu_by_arch_id: + * @id: Guest-exposed CPU ID of the CPU to obtain. + * + * Get a CPU with matching @id. + * + * Returns: The CPU or %NULL if there is no matching CPU. + */ +CPUState *cpu_by_arch_id(int64_t id); + +/** * cpu_throttle_set: * @new_throttle_pct: Percent of sleep time. Valid range is 1 to 99. * @@ -34,7 +34,7 @@ CPUInterruptHandler cpu_interrupt_handler; -bool cpu_exists(int64_t id) +CPUState *cpu_by_arch_id(int64_t id) { CPUState *cpu; @@ -42,10 +42,15 @@ bool cpu_exists(int64_t id) CPUClass *cc = CPU_GET_CLASS(cpu); if (cc->get_arch_id(cpu) == id) { - return true; + return cpu; } } - return false; + return NULL; +} + +bool cpu_exists(int64_t id) +{ + return !!cpu_by_arch_id(id); } CPUState *cpu_generic_init(const char *typename, const char *cpu_model) |