qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [v3][PATCH 0/8] xen: add Intel IGD passthrough support
@ 2014-05-26  9:36 Tiejun Chen
  2014-05-26  9:36 ` [Qemu-devel] [v3][PATCH 1/5] xen, gfx passthrough: basic graphics " Tiejun Chen
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Tiejun Chen @ 2014-05-26  9:36 UTC (permalink / raw)
  To: nthony.perard, stefano.stabellini, mst, Kelly.Zytaruk
  Cc: peter.maydell, xen-devel, allen.m.kay, qemu-devel, nthony,
	yang.z.zhang

v3:

* In this case, as we discussed we will give priority to devices to
  reserve a specific devfn by passing
  "device_model_args_hvm = ['-device', 'xen-platform,addr=0x3']" and
  "vga=none", so withdraw patch #1, #2 and #4.
* Fix some typos.
* Add more comments to make that readable.
* To unmap igd_opregion when call xen_pt_unregister_vga_regions().
* Improve some return paths.
* Force to convert igd_guest/host_opoegion as an unsigned long type
  while calling xc_domain_memory_mapping().
* We need to map 3 pages for opregion as hvmloader set.

v2:

* rebase on current qemu tree.
* retrieve VGA bios from sysfs properly.
* redefine some function name.
* introduce bitmap to manage registe/runregister pci dev, and provide
  a common way to reserve some specific devfn.
* introduce is_igd_passthrough() to make sure we touch physical host
  bridge only in IGD case.
* We should return zero as an invalid address value while calling
  igd_read_opregion().

Additionally, now its also not necessary to recompile seabios with some
extra steps like v1.
 

The following patches are ported partially from Xen Qemu-traditional
branch which are adding Intel IGD passthrough supporting to Qemu upstream.

To pass through IGD to guest, user need to add following lines in Xen config
file:
gfx_passthru=1
pci=['00:02.0 <at> 2']

Now successfully boot Ubuntu 14.04 guests with IGD assigned in Haswell
desktop with Latest Xen + Qemu upstream.

----------------------------------------------------------------
Tiejun Chen (2):
      xen, gfx passthrough: create intel isa bridge
      xen, gfx passthrough: create host bridge to passthrough
 
Yang Zhang (3):
      xen, gfx passthrough: basic graphics passthrough support
      xen, gfx passthrough: support Intel IGD passthrough with VT-D
      xen, gfx passthrough: add opregion mapping
 
 hw/pci-host/piix.c           |  56 +++++++++++++-
 hw/xen/Makefile.objs         |   2 +-
 hw/xen/xen-host-pci-device.c |   5 ++
 hw/xen/xen-host-pci-device.h |   1 +
 hw/xen/xen_pt.c              |  10 +++
 hw/xen/xen_pt.h              |  12 ++-
 hw/xen/xen_pt_config_init.c  |  50 ++++++++++++-
 hw/xen/xen_pt_graphics.c     | 518 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 qemu-options.hx              |   9 +++
 vl.c                         |  11 ++-
 10 files changed, 668 insertions(+), 6 deletions(-)
 create mode 100644 hw/xen/xen_pt_graphics.c

Thanks
Tiejun

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Qemu-devel] [v3][PATCH 0/5] xen: add Intel IGD passthrough support
@ 2014-05-26  9:43 Tiejun Chen
  2014-05-26  9:43 ` [Qemu-devel] [v3][PATCH 3/5] xen, gfx passthrough: support Intel IGD passthrough with VT-D Tiejun Chen
  0 siblings, 1 reply; 8+ messages in thread
From: Tiejun Chen @ 2014-05-26  9:43 UTC (permalink / raw)
  To: anthony.perard, stefano.stabellini, mst, Kelly.Zytaruk
  Cc: peter.maydell, xen-devel, allen.m.kay, qemu-devel, anthony,
	yang.z.zhang

v3:

* In this case, as we discussed we will give priority to devices to
  reserve a specific devfn by passing
  "device_model_args_hvm = ['-device', 'xen-platform,addr=0x3']" and
  "vga=none", so withdraw patch #1, #2 and #4.
* Fix some typos.
* Add more comments to make that readable.
* To unmap igd_opregion when call xen_pt_unregister_vga_regions().
* Improve some return paths.
* Force to convert igd_guest/host_opoegion as an unsigned long type
  while calling xc_domain_memory_mapping().
* We need to map 3 pages for opregion as hvmloader set.

v2:

* rebase on current qemu tree.
* retrieve VGA bios from sysfs properly.
* redefine some function name.
* introduce bitmap to manage registe/runregister pci dev, and provide
  a common way to reserve some specific devfn.
* introduce is_igd_passthrough() to make sure we touch physical host
  bridge only in IGD case.
* We should return zero as an invalid address value while calling
  igd_read_opregion().

Additionally, now its also not necessary to recompile seabios with some
extra steps like v1.
 

The following patches are ported partially from Xen Qemu-traditional
branch which are adding Intel IGD passthrough supporting to Qemu upstream.

To pass through IGD to guest, user need to add following lines in Xen config
file:
gfx_passthru=1
pci=['00:02.0 <at> 2']

Now successfully boot Ubuntu 14.04 guests with IGD assigned in Haswell
desktop with Latest Xen + Qemu upstream.

----------------------------------------------------------------
Tiejun Chen (2):
      xen, gfx passthrough: create intel isa bridge
      xen, gfx passthrough: create host bridge to passthrough
 
Yang Zhang (3):
      xen, gfx passthrough: basic graphics passthrough support
      xen, gfx passthrough: support Intel IGD passthrough with VT-D
      xen, gfx passthrough: add opregion mapping
 
 hw/pci-host/piix.c           |  56 +++++++++++++-
 hw/xen/Makefile.objs         |   2 +-
 hw/xen/xen-host-pci-device.c |   5 ++
 hw/xen/xen-host-pci-device.h |   1 +
 hw/xen/xen_pt.c              |  10 +++
 hw/xen/xen_pt.h              |  12 ++-
 hw/xen/xen_pt_config_init.c  |  50 ++++++++++++-
 hw/xen/xen_pt_graphics.c     | 518 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 qemu-options.hx              |   9 +++
 vl.c                         |  11 ++-
 10 files changed, 668 insertions(+), 6 deletions(-)
 create mode 100644 hw/xen/xen_pt_graphics.c

Thanks
Tiejun

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

end of thread, other threads:[~2014-05-26  9:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-26  9:36 [Qemu-devel] [v3][PATCH 0/8] xen: add Intel IGD passthrough support Tiejun Chen
2014-05-26  9:36 ` [Qemu-devel] [v3][PATCH 1/5] xen, gfx passthrough: basic graphics " Tiejun Chen
2014-05-26  9:36 ` [Qemu-devel] [v3][PATCH 2/5] xen, gfx passthrough: create intel isa bridge Tiejun Chen
2014-05-26  9:36 ` [Qemu-devel] [v3][PATCH 3/5] xen, gfx passthrough: support Intel IGD passthrough with VT-D Tiejun Chen
2014-05-26  9:36 ` [Qemu-devel] [v3][PATCH 4/5] xen, gfx passthrough: create host bridge to passthrough Tiejun Chen
2014-05-26  9:36 ` [Qemu-devel] [v3][PATCH 5/5] xen, gfx passthrough: add opregion mapping Tiejun Chen
2014-05-26  9:43 ` [Qemu-devel] [v3][PATCH 0/8] xen: add Intel IGD passthrough support Chen, Tiejun
  -- strict thread matches above, loose matches on Subject: below --
2014-05-26  9:43 [Qemu-devel] [v3][PATCH 0/5] " Tiejun Chen
2014-05-26  9:43 ` [Qemu-devel] [v3][PATCH 3/5] xen, gfx passthrough: support Intel IGD passthrough with VT-D 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).