Skip to content

Towards vfio-base VGA device assignment

Alex Williamson kvm qemu-devel 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3qemu: [NOT FOR COMMIT] Update linux headers for vfio VGAlinux-headers/asm-powerpc/kvm.h linux-headers/asm-powerpc/kvm_para.h linux-headers/linux/kvm.h +4 more+124 -230 replies
2/3vfio-pci: [NOT FOR COMMIT] Add support for VGA MMIO and I/O port accesshw/vfio_pci.c+172 -10 replies
3/3vfio-pci: [NOT FOR COMMIT] Hack around HD5450 I/O port backdoorhw/vfio_pci.c+9 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/3] Towards vfio-base VGA device assignment

This is the companion series to the vfio-pci kernel series for VGA support. Combined, these don't do as much as you'd hope. Patch 1 is simpy a header update for the matching vfio kernel changes. Patch 2 is the meat of the changes, enabling vfio-pci to claim access to VGA ranges and pass them through to the kernel. The last patch is a hard coded hack specific to my system and only known to be needed on a Radeon HD5450 where there seems to be a backdoor for the VGA BIOS to find the physical address of the device (physical devices is at 0x4000, virtual device is at 0xc000).

With this and the kernel patch, some devices are able to get through VGA bios execution. The HD5450 can even sync the monitor and show the correct thing on the screen if you run something that uses VGA graphic mode. Seabios seems to think VBE works, but for some reason VGA text mode doesn't work, the monitor turns off. So, like the kernel side, I'm posting these for archival purposes and with hopes that someone may have some ideas on what's still missing. Thanks,

Alex

---

Alex Williamson (3):
qemu: [NOT FOR COMMIT] Update linux headers for vfio VGA
vfio-pci: [NOT FOR COMMIT] Add support for VGA MMIO and I/O port access
vfio-pci: [NOT FOR COMMIT] Hack around HD5450 I/O port backdoor

 hw/vfio_pci.c                        |  182 ++++++++++++++++++++++++++++++++++
 linux-headers/asm-powerpc/kvm.h      |   86 ++++++++++++++++
 linux-headers/asm-powerpc/kvm_para.h |   13 +-
 linux-headers/linux/kvm.h            |   21 +++-
 linux-headers/linux/kvm_para.h       |    6 +
 linux-headers/linux/vfio.h           |    9 +-
 linux-headers/linux/virtio_config.h  |    6 +
 linux-headers/linux/virtio_ring.h    |    6 +
 8 files changed, 305 insertions(+), 24 deletions(-)