qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [v8][RESEND][PATCH 00/10] xen: add Intel IGD passthroug


From: Chen, Tiejun
Subject: Re: [Qemu-devel] [v8][RESEND][PATCH 00/10] xen: add Intel IGD passthrough
Date: Wed, 01 Jul 2015 09:39:45 +0800
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

Ping...

Thanks
Tiejun

On 2015/6/5 16:44, Tiejun Chen wrote:
v8:

* Rebase on the latest qemu tree
* Cleanup one xen leftover in patch #3

v7:

* Instead of "-gfx_passthru" we'd like to make that a machine
   option, "-machine xxx,igd-passthru=on""
* try to make something as common shared by others like KvmGT in
   the future
* Just read those real value from host bridge pci
   configuration space when create host bridge then put in dev->config.

v6:

* Drop introducing a new machine specific to IGD passthrough
* Try to share some codes from KVM stuff in qemu to retrive VGA BIOS
* Currently IGD drivers always need to access PCH by 1f.0. But we
   don't want to poke that directly to get ID, and although in real
   world different GPU should have different PCH. But actually the
   different PCH DIDs likely map to different PCH SKUs. We do the
   same thing for the GPU. For PCH, the different SKUs are going to
   be all the same silicon design and implementation, just different
   features turn on and off with fuses. The SW interfaces should be
   consistent across all SKUs in a given family (eg LPT). But just
   same features may not be supported.

   Most of these different PCH features probably don't matter to the
   Gfx driver, but obviously any difference in display port connections
   will so it should be fine with any PCH in case of passthrough.

   So currently use one PCH version, 0x8c4e, to cover all HSW(Haswell)
   scenarios, 0x9cc3 for BDW(Broadwell).
* Drop igd write ops since its fine to emulate that, and we also shrink
   those igd read ops as necessary.
* Rebase and cleanup all patches.

v5:

* Simplify to make sure its really inherited from the standard one in patch #3
* Then drop the original patch #3

v4:

* Rebase on latest tree
* Drop patch #2
* Regenerate patches after Michael introduce patch #1
* We need to use this pci_type as a index to reuse I440FX_PCI_DEVICE()
* Test: boot with a preinstalled winxp
   ./i386-softmmu/qemu-system-i386 -hda winxp-32.img -m 2560 -boot c -machine pc

v3:

* Drop patch #4
* Add one patch #1 from Michael
* Rebase
* In./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc

v2:

* Fix some coding style
* New patch to separate i440fx_init
* Just add prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough
* Based on patch #2 to regenerate
* Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
* Test: boot with a preinstalled ubuntu 14.04
   ./i386-softmmu/qemu-system-i386 -hda test.img -m 2560 -boot c -machine pc

As we discussed we need to create a separate machine to support current
IGD passthrough.

----------------------------------------------------------------
Michael S. Tsirkin (1):
       i440fx: make types configurable at run-time

Tiejun Chen (9):
       pc_init1: pass parameters just with types
       piix: create host bridge to passthrough
       hw/pci-assign: split pci-assign.c
       xen, gfx passthrough: basic graphics passthrough support
       xen, gfx passthrough: retrieve VGA BIOS to work
       igd gfx passthrough: create a isa bridge
       xen, gfx passthrough: register a isa bridge
       xen, gfx passthrough: register host bridge specific to passthrough
       xen, gfx passthrough: add opregion mapping

  hw/core/machine.c             |  20 +++
  hw/i386/Makefile.objs         |   1 +
  hw/i386/kvm/pci-assign.c      |  82 +---------
  hw/i386/pc_piix.c             | 151 ++++++++++++++++++-
  hw/i386/pci-assign-load-rom.c |  93 ++++++++++++
  hw/pci-host/piix.c            |  91 +++++++++++-
  hw/xen/Makefile.objs          |   1 +
  hw/xen/xen-host-pci-device.c  |   5 +
  hw/xen/xen-host-pci-device.h  |   1 +
  hw/xen/xen_pt.c               |  32 ++++
  hw/xen/xen_pt.h               |  21 ++-
  hw/xen/xen_pt_config_init.c   |  51 ++++++-
  hw/xen/xen_pt_graphics.c      | 272 ++++++++++++++++++++++++++++++++++
  include/hw/boards.h           |   1 +
  include/hw/i386/pc.h          |   8 +-
  include/hw/pci/pci-assign.h   |  27 ++++
  include/hw/xen/xen.h          |   1 +
  qemu-options.hx               |   3 +
  vl.c                          |  10 ++
  19 files changed, 780 insertions(+), 91 deletions(-)
  create mode 100644 hw/i386/pci-assign-load-rom.c
  create mode 100644 hw/xen/xen_pt_graphics.c
  create mode 100644 include/hw/pci/pci-assign.h

Thanks
Tiejun






reply via email to

[Prev in Thread] Current Thread [Next in Thread]