qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 06/16] apic: Introduce backend/frontend infra


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_APICBackend

I 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





reply via email to

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