[ipxe-devel] [ipxe/ipxe] virtio changes 5/2016 (#55)

Michael Brown mcb30 at ipxe.org
Mon Jun 20 15:48:14 UTC 2016


On 20/06/16 16:30, Gerd Hoffmann wrote:
> On Mo, 2016-06-20 at 15:44 +0100, Michael Brown wrote:
>> On 20/06/16 15:37, Ladi Prosek wrote:
>>> Thanks - virtio devices may be configured to expose both I/O and memory
>>> BARs, with either type being enough to drive the device. It is basically
>>> a back-compat setup where older drivers can still use I/O ports and
>>> newer may choose to use the so called "modern" interface.
>>>
>>> We would like to avoid enabling PCI_COMMAND_IO / PCI_COMMAND_MEM if the
>>> driver is not going to use it.
>>
>> Why?
>
> It is nice to have.  It will make sure the driver will only use the
> interface it intends to use and doesn't mix IO-based legacy device
> access and MMIO-based modern device access by accident.

OK.  If that kind of safety check is wanted, it should probably be 
ensured at compile time, e.g. by having some kind of operations table 
instead of scattered "if (is_modern) {}" tests.

I don't think this "nice to have" justifies the code size increase, but 
I'll merge it if both you and Ladi disagree with me.

Michael



More information about the ipxe-devel mailing list