Features/CPUHotplug: Difference between revisions

From QEMU
Line 14: Line 14:


= Roadmap for QEMU 1.3 =
= Roadmap for QEMU 1.3 =
== Dependencies and ToDo-s ==
== X86CPU Dependencies and ToDo-s ==
* CPU clean-ups. Move CPU internals inside CPU object
<sup>Legend:</sup> <sup><span style="color:green">green</span> - done, <span style="color:blue">blue</span> - in progress, <span style="color:red">red</span> - to be implemented</sup>
 
* <span style="color:green">External CPU clean-ups. Move CPU internals inside CPU object</span>
** <span style="color:green">move tcg init code CPU. commits d65e98, 84e3b60, eeec69d, 130a038</span>
** <span style="color:green">move tcg init code CPU. commits d65e98, 84e3b60, eeec69d, 130a038</span>
** <span style="color:green">move CPU reset from board level into CPU. commits 65dee3805, dd673288</span>
** <span style="color:green">move CPU reset from board level into CPU. commits 65dee3805, dd673288</span>
Line 28: Line 30:
** <span style="color:red">convert CPUs realizefn() to use DeviceRealize</span>
** <span style="color:red">convert CPUs realizefn() to use DeviceRealize</span>


* <span style="color:blue">CPUID features to properties</span>
* <span style="color:blue">CPUID features as properties</span>
** ability to set/get features using common FEAT_FOO=VAL property interfaces
** provides an ability to set/get features using common FEAT_FOO=VAL property interfaces.
** needed for conversion from CPU models to CPU subclasses.
** <span style="color:blue">Conversion of features and other properties into static properties</span> provides following benefits:
*** global properties for CPU
*** setting defaults using default values of static properties


* CPU models as CPU subclasses
* <span style="color:blue">CPU models as CPU subclasses</span>
** should provide complete QOM object interface to CPU subclasses.
** should provide complete QOM object interface to CPU subclasses.
** gives ability to create/initialize CPUs using CPU subclass name without any ad-hoc calls.
** gives ability to create/initialize CPUs using CPU subclass name without any ad-hoc calls.

Revision as of 15:49, 14 January 2013

Summary

This feature is about allowing CPU hotplug in QEMU.

Owner

  • Name: Igor Mammedov
  • Email: imammedo@redhat.com

Detailed Summary

It was proposed to use device-add/device-del interface for hot-plugging CPUs instead of using it's own interface. For this to work CPUs should become child of Device and do not require external calls for creating or initializing it.

Roadmap for QEMU 1.3

X86CPU Dependencies and ToDo-s

Legend: green - done, blue - in progress, red - to be implemented

  • External CPU clean-ups. Move CPU internals inside CPU object
    • move tcg init code CPU. commits d65e98, 84e3b60, eeec69d, 130a038
    • move CPU reset from board level into CPU. commits 65dee3805, dd673288
    • move APIC creation/initialization into CPU object. commit [ bdeec8021]
  • CPU as Device [commit: 961f839]
    • necessary for converting "CPUID features" into static properties
    • allows to use device_add command after CPU subclasses is implemented.
  • CPUID features as properties
    • provides an ability to set/get features using common FEAT_FOO=VAL property interfaces.
    • Conversion of features and other properties into static properties provides following benefits:
      • global properties for CPU
      • setting defaults using default values of static properties
  • CPU models as CPU subclasses
    • should provide complete QOM object interface to CPU subclasses.
    • gives ability to create/initialize CPUs using CPU subclass name without any ad-hoc calls.