I'm currently working to enable vga passthrough in kvm.
This is a current git qemu-kvm run with some debug printings:
slash...@fidel ~/kvm/vms $ qemu-system-x86_64 -hda i386ubuntu904.img
-boot c -m 1024 -net nic -net user,hostfwd=tcp::-:22 -pcidevice
host=01:00.0
vm_register_phys_mem:580 memory: gpa: 0, size: a, uaddr:
7fa65f077000, slot: 0, flags: 0
kvm_register_phys_mem:580 memory: gpa: 10, size: 3ff0, uaddr:
7fa65f177000, slot: 1, flags: 0
kvm_register_phys_mem:580 memory: gpa: e, size: 2, uaddr:
7fa6a2fc, slot: 2, flags: 0
kvm_register_phys_mem:580 memory: gpa: c, size: 2, uaddr:
7fa6a2f7d000, slot: 3, flags: 0
kvm_register_phys_mem:580 memory: gpa: fffe, size: 2, uaddr:
7fa6a2fc, slot: 4, flags: 0
device: 01:00.0: driver=pci-assign host=01:00.0
get_real_device: region 0 size 16777216 start 0xe200 type 512 resource_fd 13
get_real_device: region 1 size 268435456 start 0xd000 type 4608
resource_fd 14
get_real_device: region 3 size 33554432 start 0xe000 type 512 resource_fd 15
get_real_device: region 5 size 128 start 0xe000 type 256 resource_fd 0
get_real_device: region 6 size 524288 start 0xe300 type 4608 resource_fd 0
assigned_dev_register_regions: MAP PHYSICAL MEMORY e_physbase=0xe200
assigned_dev_register_regions: NON_PCI_ROM_SLOT virt_base=0x7fa65cf0e000
assigned_dev_register_regions: MAP PHYSICAL MEMORY e_physbase=0xd000
assigned_dev_register_regions: NON_PCI_ROM_SLOT virt_base=0x7fa64cf0e000
assigned_dev_register_regions: MAP PHYSICAL MEMORY e_physbase=0xe000
assigned_dev_register_regions: NON_PCI_ROM_SLOT virt_base=0x7fa64af0e000
assigned_dev_register_regions: MAP PHYSICAL MEMORY e_physbase=0xe300
assigned_dev_register_regions: PCI_ROM_SLOT virt_base=0x7fa64ae8e000
assigned_dev_pci_read_config: (4.0): address= val=0x10de len=2
assigned_dev_pci_read_config: (4.0): address=000e val=0x len=1
assigned_dev_pci_read_config: (4.0): address= val=0x10de len=2
assigned_dev_pci_read_config: (4.0): address=0002 val=0x0622 len=2
assigned_dev_pci_read_config: (4.0): address=000e val=0x len=1
kvm_register_phys_mem:580 memory: gpa: f000, size: 100, uaddr:
7fa65e075000, slot: 5, flags: 0
kvm_dirty_pages_log_enable_slot:293 start f000 len 100
kvm_dirty_pages_log_change:266 slot 5 start f000 len 100 flags 1
assigned_dev_pci_read_config: (4.0): address= val=0x10de len=2
assigned_dev_pci_read_config: (4.0): address=000e val=0x len=1
assigned_dev_pci_read_config: (4.0): address=000a val=0x0300 len=2
assigned_dev_pci_read_config: (4.0): address= val=0x10de len=2
assigned_dev_pci_read_config: (4.0): address=0002 val=0x0622 len=2
assigned_dev_pci_read_config: (4.0): address=0010 val=0x len=4
assigned_dev_pci_write_config: (4.0): address=0010 val=0x len=4
assigned_dev_pci_read_config: (4.0): address=0010 val=0xff00 len=4
assigned_dev_pci_write_config: (4.0): address=0010 val=0x len=4
assigned_dev_pci_read_config: (4.0): address=0010 val=0x len=4
assigned_dev_pci_write_config: (4.0): address=0010 val=0xf300 len=4
assigned_dev_pci_read_config: (4.0): address=0014 val=0x0008 len=4
assigned_dev_pci_write_config: (4.0): address=0014 val=0x len=4
assigned_dev_pci_read_config: (4.0): address=0014 val=0xf008 len=4
assigned_dev_pci_write_config: (4.0): address=0014 val=0x0008 len=4
assigned_dev_pci_read_config: (4.0): address=0014 val=0x0008 len=4
assigned_dev_pci_write_config: (4.0): address=0014 val=0x len=4
assigned_dev_pci_read_config: (4.0): address=0018 val=0x len=4
assigned_dev_pci_write_config: (4.0): address=0018 val=0x len=4
assigned_dev_pci_read_config: (4.0): address=0018 val=0x len=4
assigned_dev_pci_write_config: (4.0): address=0018 val=0x len=4
assigned_dev_pci_read_config: (4.0): address=001c val=0x len=4
assigned_dev_pci_write_config: (4.0): address=001c val=0x len=4
assigned_dev_pci_read_config: (4.0): address=001c val=0xfe00 len=4
assigned_dev_pci_write_config: (4.0): address=001c val=0x len=4
assigned_dev_pci_read_config: (4.0): address=001c val=0x len=4
assigned_dev_pci_write_config: (4.0): address=001c val=0x1000 len=4
assigned_dev_pci_read_config: (4.0): address=0020 val=0x len=4
assigned_dev_pci_write_config: (4.0): address=0020 val=0x len=4
assigned_dev_pci_read_config: (4.0): address=0020 val=0x len=4
assigned_dev_pci_write_config: (4.0): address=0020 val=0x len=4
assigned_dev_pci_read_config: (4.0): address=0024 val=0x0001 len=4
assigned_dev_pci_write_config: (4.0): address=0024 val=0x len=4
assigned_dev_pci_read_config: (4.0): address=0024 val=0xff81 len=4
assigned_dev_pci_write_config: (4.0): address=0024 val=0x0001 len=4
assigned_dev_pci_read_config: (4.0): address=0024 val=0x0001 len=4
assigned_dev_pci_write_config: (4.0):