qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 5/6] vmw_pvscsi: The pvscsi device is a PCIE


From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] [PATCH v2 5/6] vmw_pvscsi: The pvscsi device is a PCIE endpoint
Date: Mon, 14 Dec 2015 20:25:49 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 12/14/2015 07:14 PM, Paolo Bonzini wrote:


On 13/12/2015 09:08, Shmulik Ladkani wrote:
+    pvs_k->parent_dc_realize = dc->realize;

Marcel, Michael,

this creates a really nasty dependency on the contents of pci_qdev_realize.

Hi Paolo,

In this case is exactly want we want to do. We don't care what pci_qdev_realize 
does.
We just want to made a change and then call it. We can think of it as 
"pre-realize."
I think I already saw a "post-realize" or something.

The usage is also documented in include/qom/object.h, how to derive 
"do_something" (see derived_do_something).


Can you instead change PCIDeviceClass's pc->is_express to a function
pointer, and provide a sample implementation pci_is_express_true for the
devices that set is_express to true?

I think I thougth about this too and I have nothing against it.
The only "down side" I can see is that "is_express" means actually 
"can_be_express",
and some classes keep it true even if sometimes is not actually a PCIe device.

Now we change back the meaning to "is_really_express" :) , but we may encounter 
some side effects.
(I understand that we keep it true so we don't have to maintain some 
complicated code
on VMState related to the config space size.)

Thanks,
Marcel


Thanks,

Paolo





reply via email to

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