qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [v6][PATCH 00/10] xen: add Intel IGD passthrough support
@ 2015-01-19  9:28 Tiejun Chen
  2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 01/10] i440fx: make types configurable at run-time Tiejun Chen
                   ` (9 more replies)
  0 siblings, 10 replies; 34+ messages in thread
From: Tiejun Chen @ 2015-01-19  9:28 UTC (permalink / raw)
  To: mst, pbonzini, aliguori, rth; +Cc: yang.z.zhang, allen.m.kay, qemu-devel

Sorry for this so long delay to address this series since other things
occupied my most time.

Michael,

You carried some patches previously on your branch for a while, 
    i440fx: make types configurable at run-time
    pc_init1: pass parameters just with types
    xen:hw:pci-host:piix: create host bridge to passthrough
    qom-test: blacklist xenigd
    xen:hw:i386:pc_piix: introduce new machine for IGD passthrough

But now V6 just needs fist two and I also include them again here. So
please drop others, and thanks a lot.

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
      xen, gfx passthrough: register a isa bridge
      xen, gfx passthrough: support Intel IGD passthrough with VT-D
      xen, gfx passthrough: register host bridge specific to passthrough
      xen, gfx passthrough: add opregion mapping
 
 hw/i386/Makefile.objs         |   1 +
 hw/i386/kvm/pci-assign.c      |  82 +++----------------------------
 hw/i386/pc_piix.c             |  36 +++++++++++---
 hw/i386/pci-assign-load-rom.c |  93 +++++++++++++++++++++++++++++++++++
 hw/pci-host/piix.c            |  28 +++++++++--
 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               | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 hw/xen/xen_pt.h               |  22 ++++++++-
 hw/xen/xen_pt_config_init.c   |  52 +++++++++++++++++++-
 hw/xen/xen_pt_graphics.c      | 344 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 include/hw/i386/pc.h          |   8 ++-
 include/hw/pci/pci-assign.h   |  27 +++++++++++
 qemu-options.hx               |   9 ++++
 vl.c                          |  10 ++++
 16 files changed, 767 insertions(+), 92 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

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2015-01-22  2:21 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-19  9:28 [Qemu-devel] [v6][PATCH 00/10] xen: add Intel IGD passthrough support Tiejun Chen
2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 01/10] i440fx: make types configurable at run-time Tiejun Chen
2015-01-19 11:36   ` Gerd Hoffmann
2015-01-20  2:48     ` Chen, Tiejun
2015-01-20  8:25       ` Gerd Hoffmann
2015-01-20  8:32         ` Jike Song
2015-01-20  5:08     ` Chen, Tiejun
2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 02/10] pc_init1: pass parameters just with types Tiejun Chen
2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 03/10] piix: create host bridge to passthrough Tiejun Chen
2015-01-19 11:40   ` Gerd Hoffmann
2015-01-20  2:52     ` Chen, Tiejun
2015-01-20  4:28       ` Jike Song
2015-01-20  4:56         ` Chen, Tiejun
2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 04/10] hw/pci-assign: split pci-assign.c Tiejun Chen
2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 05/10] xen, gfx passthrough: basic graphics passthrough support Tiejun Chen
2015-01-19 11:45   ` Gerd Hoffmann
2015-01-20  3:14     ` Chen, Tiejun
2015-01-20  8:14       ` Gerd Hoffmann
2015-01-21  7:04         ` Chen, Tiejun
2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 06/10] xen, gfx passthrough: retrieve VGA BIOS to work Tiejun Chen
2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 07/10] xen, gfx passthrough: register a isa bridge Tiejun Chen
2015-01-19 11:57   ` Gerd Hoffmann
2015-01-19 13:58     ` Michael S. Tsirkin
2015-01-20  2:46       ` Chen, Tiejun
2015-01-20 10:46   ` Michael S. Tsirkin
2015-01-21  0:41     ` Chen, Tiejun
2015-01-20 11:03   ` Michael S. Tsirkin
2015-01-21  0:46     ` Chen, Tiejun
2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 08/10] xen, gfx passthrough: support Intel IGD passthrough with VT-D Tiejun Chen
2015-01-20 10:58   ` Michael S. Tsirkin
2015-01-21  3:16     ` Chen, Tiejun
2015-01-22  2:21       ` Kay, Allen M
2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 09/10] xen, gfx passthrough: register host bridge specific to passthrough Tiejun Chen
2015-01-19  9:28 ` [Qemu-devel] [v6][PATCH 10/10] xen, gfx passthrough: add opregion mapping Tiejun Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).