|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [PATCH v5 06/16] apic: Introduce backend/frontend infrastructure for KVM reuse |
Date: | Tue, 20 Dec 2011 13:14:27 -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 12/20/2011 11:02 AM, Jan Kiszka wrote:
On 2011-12-20 15:07, Anthony Liguori wrote:On 12/20/2011 07:57 AM, Paolo Bonzini wrote:On 12/20/2011 02:54 PM, Anthony Liguori wrote:In QOM parlance Jan implemented this: abstract class Object abstract class Device class APIC: { backend: link<APICBackend> } abstract class APICBackend class QEMU_APICBackend class KVM_APICBackendI don't fundamentally object to modeling it like this provided that it's modeled (and visible) through qdev and not done through a one-off infrastructure.There is no superclass of DeviceState, hence doing it through qdev would mean introducing a new bus type and so on. This would be a superb example of a useless bus that can disappear with QOM, but I don't see why we should take the pain to add it in the first place. :)Right, so let's modeled it for now as inheritance which qdev can cope with.Do we have a clear plan now how to sort out the addressing issues in this model? I mean when registering two devices under different names that are supposed to be addressable under the same alias once instantiated. I didn't follow recent qtree naming changes in details unfortunately, if they already enable this.
I think everyone is in agreement. We'll start with an APICBase type that's modeled in qdev as a base class.
There will be an APICBaseInfo that will replace APICBackend.There will be two classes that implement APICBaseInfo, KvmAPIC and APIC. They will be separate devices.
APICBase will register the vmsd and will use the name "apic" to register it. You can just set the qdev.vmsd field in the apic_qdev_register() function to ensure that both use the same implementation.
This does not need to be implemented before merge. I just like to have a common view on how to address it once it matters (for device inspection).
You can do this all today without any pending patches. As I mentioned earlier, I don't mind doing this after the fact if you'd just like to get the current series merged.
If your series lands before the QOM series I just posted, then I will need to do it as part of the QOM series anyway.
Regards, Anthony Liguori
Jan
[Prev in Thread] | Current Thread | [Next in Thread] |