On 03/05/2013 04:05 PM, H. Peter Anvin wrote: > 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. > Just a correction: I'm of course not talking about BARs but of the bridge windows. The BARs are not a problem; an I/O BAR can cover as little as four bytes. -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