Il 02/07/2014 17:27, Michael S. Tsirkin ha scritto: > At some level, maybe Paolo is right. Ignore existing drivers and ask > intel developers to update their drivers to do something sane on > hypervisors, even if they do ugly things on real hardware. > > A simple proposal since what I wrote earlier though apparently wasn't > very clear: > > Detect Xen subsystem vendor id on vga card. > If there, avoid poking at chipset. Instead > - use subsystem device # for card type
You mean for PCH type (aka PCH device id). > - use second half of BAR0 of device > - instead of access to pci host > > hypervisors will simply take BAR0 and double it in size, > make second part map to what would be the pci host. Nice. Detecting the backdoor via the subsystem vendor id is clever. I'm not sure if it's possible to just double the size of BAR0 or not, but my laptop has: Region 0: Memory at d0000000 (64-bit, non-prefetchable) [size=4M] Region 2: Memory at c0000000 (64-bit, prefetchable) [size=256M] Region 4: I/O ports at 5000 [size=64] and I hope we can reserve a few KB for hypervisors within those 4M, or 8 bytes for an address/data pair (like cf8/cfc) within BAR4's 64 bytes (or grow BAR4 to 128 bytes, or something like that). Xen can still add the hacky machine type if they want for existing hosts, but this would be a nice way forward. Paolo