[Top][All Lists]

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

Re: [Qemu-devel] [RFC] Plan for moving forward with QOM

From: Anthony Liguori
Subject: Re: [Qemu-devel] [RFC] Plan for moving forward with QOM
Date: Thu, 15 Sep 2011 10:31:03 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20110516 Lightning/1.0b2 Thunderbird/3.1.10

On 09/15/2011 09:33 AM, Paolo Bonzini wrote:
On 09/15/2011 04:18 PM, Anthony Liguori wrote:
I think there are two real discussions happening here. One is how to
model and one is what is the right representation of that modelling.

I think Paolo is strongly advocating a non-OO model that uses the
command pattern to establish most of the relationships. Maybe one level
of inheritance is used just to provide the right infrastructure for the
objects to have properties but that's inheritance for functionality
verses modelling.

I'm advocating a strict OO model. I'm not normally a fan of OO based
design but I think it fits a device model pretty well because it's such
a concrete hierarchy. All of the objects we create really correspond to
real world objects and the inheritance relationships are pretty darn
obvious. When you're holding a PCI NE2000 card in your hand, there's
simply no doubt that it is-a PciDevice.

I think it's in the eye of a beholder. Hold a PCI NE2000 and E1000, they're
clearly both PciDevices, but also they clearly both have PciConnectors.

Write a driver for a PCI and ISA NE2000, and then they're clearly both NE2000,
but also they clearly both have an NE2K chip.

Are we just bike shedding then? Since both models can be expressed by the same infrastructure, does it really matter which model is the One True Right Model?

I think this might be a better discussion to have during conversions. IOW, what makes sense for PCI, what makes sense for ISA, etc.


Anthony Liguori

reply via email to

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