On 02/28/2013 07:24 AM, Michael S. Tsirkin wrote: > > 3. hypervisor assigned IO address > qemu can reserve IO addresses and assign to virtio devices. > 2 bytes per device (for notification and ISR access) will be > enough. So we can reserve 4K and this gets us 2000 devices. > From KVM perspective, nothing changes. > We'll want some capability in the device to let guest know > this is what it should do, and pass the io address. > One way to reserve the addresses is by using the bridge. > Pros: no need for host kernel support > Pros: regular PIO so fast > Cons: does not help assigned devices, breaks nested virt > > Simply counting pros/cons, option 3 seems best. It's also the > easiest to implement. > The problem here is the 4K I/O window for IO device BARs in bridges. Why not simply add a (possibly proprietary) capability to the PCI bridge to allow a much narrower window? That fits much more nicely into the device resource assignment on the guest side, and could even be implemented on a real hardware device -- we can offer it to the PCI-SIG for standardization, even. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html