qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]