> > John attempted this and it was reverted because the implementation
> > exhausted the PCI config space.
> 
> I don't understand that. Existig hardware devices dump much more of
> their data such as vendor and model type information into the config
> space, how can using a field that real hardware uses exhaust the
> config space?

I think you (collectively) are confusing three different things:

- PCI config space: Not used in any significant way other than the standard 
fields (i.e. basic device ID and configuring BARs). Slow/hard to access.

- PCI IO BAR: Used by virtio-pci devices to expose the virtio config space. 
Extremely limited resource (max. 64k for the whole system). On real hardware 
only really used for legacy interfaces because it's slow, cumbersome, and x86 
specific.  Unfortunately it currently seems to lower overhead than MMIO on KVM 
:-(

- PCI MEM BAR (usually MMIO): How real devices expose themselves. Relatively 
large address space (megabytes) available.

Paul


Reply via email to