[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/15] QOM'ify x86 CPU, part 2: properties
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH 00/15] QOM'ify x86 CPU, part 2: properties |
Date: |
Wed, 18 Apr 2012 01:11:04 +0200 |
Hello,
This series introduces some QOM properties for X86CPU, so that our built-in
init code exercises the same code paths as QMP, as suggested by Eduardo:
* "family",
* "model",
* "stepping" and
* "model-id" (rather than "model_id")
This QOM'ifies my previously introduced helper functions, adding getters.
In the same spirit I've also introduced numeric QOM properties for:
* "level"
* "xlevel"
* "tsc-frequency" (rather than "tsc_freq")
Being uint32_t, "level" and "xlevel" would benefit from fixed-width visitors,
as introduced in Michael's series. It seems his v4 was neither applied
nor commented on and only some parts were integrated into Paolo's large
rush-rush series... Would be nice to see Michael's full series merged soon!
Further I've prepared one QOM property that's currently unused:
* "vendor" (converting three words to string and back seemed too much overhead)
By constrast, the HyperV -cpu property "hv_spinlocks" and flags "hv_relaxed"
and "hv_vapic" do not seem to be per-CPU properties.
Note that these properties are still somewhat orthogonal to the feature flags
that Jinsong and Jan were discussing for machine compatibility IIUC. I'm hoping
that some x86 guru can come up with a sensible follow-up for that. :-)
Maybe bool properties per feature on an as-needed basis?
Available from:
git://github.com/afaerber/qemu-cpu.git qom-cpu-x86-prop.v1
https://github.com/afaerber/qemu-cpu/commits/qom-cpu-x86-prop.v1
Regards,
Andreas
Cc: Anthony Liguori <address@hidden>
Cc: Jan Kiszka <address@hidden>
Cc: Igor Mammedov <address@hidden>
Cc: Liu Jinsong <address@hidden>
Cc: Lai Jiangshan <address@hidden>
Cc: Vasilis Liaskovitis <address@hidden>
Cc: Eduardo Habkost <address@hidden>
Cc: Michael Roth <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Cc: Vadim Rozenfeld <address@hidden>
Andreas Färber (15):
target-i386: Fix x86_cpuid_set_model_id()
target-i386: Pass X86CPU to cpu_x86_register()
target-i386: Add range check for -cpu ,family=x
target-i386: Add "family" property to X86CPU
target-i386: Add "model" property to X86CPU
target-i386: Add "stepping" property to X86CPU
target-i386: Add "model-id" property to X86CPU
target-i386: Add property getter for CPU family
target-i386: Add property getter for CPU model
target-i386: Add property getter for CPU stepping
target-i386: Add property getter for CPU model-id
target-i386: Introduce "level" property for X86CPU
target-i386: Introduce "xlevel" property for X86CPU
target-i386: Prepare "vendor" property for X86CPU
target-i386: Introduce "tsc-frequency" property for X86CPU
target-i386/cpu.c | 319 +++++++++++++++++++++++++++++++++++++++++++++++---
target-i386/cpu.h | 2 +-
target-i386/helper.c | 2 +-
3 files changed, 303 insertions(+), 20 deletions(-)
--
1.7.7
- [Qemu-devel] [PATCH 00/15] QOM'ify x86 CPU, part 2: properties,
Andreas Färber <=
- [Qemu-devel] [PATCH 01/15] target-i386: Fix x86_cpuid_set_model_id(), Andreas Färber, 2012/04/17
- [Qemu-devel] [PATCH 10/15] target-i386: Add property getter for CPU stepping, Andreas Färber, 2012/04/17
- [Qemu-devel] [PATCH 02/15] target-i386: Pass X86CPU to cpu_x86_register(), Andreas Färber, 2012/04/17
- [Qemu-devel] [PATCH 12/15] target-i386: Introduce "level" property for X86CPU, Andreas Färber, 2012/04/17
- [Qemu-devel] [PATCH 04/15] target-i386: Add "family" property to X86CPU, Andreas Färber, 2012/04/17
- [Qemu-devel] [PATCH 03/15] target-i386: Add range check for -cpu , family=x, Andreas Färber, 2012/04/17
- [Qemu-devel] [PATCH 06/15] target-i386: Add "stepping" property to X86CPU, Andreas Färber, 2012/04/17
- [Qemu-devel] [PATCH 13/15] target-i386: Introduce "xlevel" property for X86CPU, Andreas Färber, 2012/04/17