Hi Bjorn, Alexander, Thanks for attending and raising question during our talk on "Instant Detection of Virtual Devices". Recoding link for reference: https://youtu.be/0mIO54oQ2zI?t=7151 Bjorn, I hope I understood your questions properly and replied. If some doubts please let us know. Alexander, you wanted to know about following (please correct if we understood something wrong): Why we still have ~300 read/write, even after having following progressive approaches: - MMIO Direct Read - Skip write to PCIe configs - Pre-config of PCIe configs [1] remaining writes: As per PCI specification, needs to perform following operation to read BAR addr and size: - Read current value from BAR - Write all-ones to BAR - Read new value from BAR - Write original value back to BAR Same applies to following configs as well: - BARs - I/O Base/Limit - Memory Base/Limit - Prefetchable Memory Base/Limit - Prefetchable Base Limit/Upper 32 bits - I/O Base/Limit Upper 16 bits These write operations couldn't be eliminated with our progressive approaches and major of remaining writes are because of these operations. [2] remaining reads: Before initialize MMIO, guest performs very few PCI config reads over PIO. I guess these can't be eliminated. --Ajay