qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/7] Convert pc cpu to qdev


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 2/7] Convert pc cpu to qdev
Date: Thu, 16 Feb 2012 06:51:07 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Lightning/1.0b2 Thunderbird/3.1.15

On 02/16/2012 06:01 AM, Jan Kiszka wrote:
On 2012-02-16 00:16, Igor Mammedov wrote:
+static ICCBusDeviceInfo cpu_device_info = {
+    .qdev.name = "cpu-pc",
+    .qdev.size = sizeof(CPUPC),
+    .qdev.reset = cpu_device_reset,
+    .init = cpu_device_init,
+    .qdev.props = (Property[]) {
+        DEFINE_PROP_STRING("model", CPUPC, model),

And how do you pass in feature flags? Or the core layout? Basically both
-cpu and -smp need to be expressible via multiple "-device cpu-x86,xxx"
(not "pc") commands.

The approach that I'd recommend is:

1) convert CPU_COMMON_STATE to a structure named CPUCommonState, query/replace all references to members of CPU_COMMON_STATE appropriately.

2) convert as many users of CPUState to CPUCommonState as possible.

3) make CPUCommonState a base class, move it to the front of the structure, and attempt to measure the impact to TCG.

4) if (3) is significant, special case things in QOM

5) make target specific code use target specific CPUState typename

6) eliminate #define CPUState

7) make on-processor devices (like lapic) children of target specific CPUState

8) express target specific flags/features via QOM properties

9) make machine expose target specific CPUState links that can be set by the 
user.

Regards,

Anthony Liguori

As a shortcut, "-smp N" would continue to replicate
a "-device cpu-XX" N times. Otherwise, configuration becomes inconsistent.

Jan





reply via email to

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