|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v6 0/7] xen/igd: fixes for Intel IGD passthrough
Please note that Patch 6 of this series requires a patch to hvmloader of
Xen for the new support to take effect. Also please note that earlier
versions of the patch to hvmloader are not compatible with this version
of Patch 6. Please look for v3 of the "tools/hvmloader: implement Intel IGD
extended VBT support" patch that will be posted shortly to both the xen-devel
and qemu-devel mailing lists.
This patch series aims to fix long-standing bugs that need to be backported
to all currently supported stable versions in order to support passthrough of
both older and modern Intel IGD devices to Xen HVM guests. This patch series
also provides a patch (Patch 6) that adds support for newer devices that have
an extended video bios table (VBT).
These patches fix several bugs that cause problems
ranging from a dark screen in the guest until the guest OS
graphics are loaded to an assert failure or other failures
in newer devices that in many cases prevent guest creation
from succeeding or cause other problems such as code 43
errors in Windows guests.
To test the the third patch and verify it fixes the bug of
no video output from Seabios, it is necessary to test
with older Intel IGD devices that have support for legacy
VGA bios (Seabios) because the newer devices, as far as I
can tell, are not compatible with legacy VGA BIOS.
The first three patches have been tested using Xen 4.21 and
Seabios 1.17 on Fedora 44 using an older Intel NUC7i5BNK with
an i5-7260U processor and have been verified to fix the bugs
described in the individual patches. This device is compatible
with legacy VGA BIOS and Seabios.
With the fourth through seventh patches applied, it is possible to
use/test with newer devices since, with those patches applied, the
bugs that prevent guest creation from succeeding with many newer
devices are fixed. All seven patches have been tested on both the
older Intel NUC7i5BNK mentioned above and a newer 14th Gen i5-14500
Raptor Lake processor in an ASRock board that, as far as I can
tell, is not compatible with legacy VGA BIOS and Seabios, which
means that, although one can successfully create a guest with
Seabios for the guest with the newer device, there will be no
graphics output from the guest until the guest OS loads the
graphics drivers when using the newer device with Seabios.
The seventh patch is provided for use with newer devices that require
an EFI graphics output protocol (GOP) driver for graphics output
during early boot. For more details, read the commit message and
the accompanying notes in Patch 7.
Two hints to help configuring Xen HVM guests with Intel IGD passthrough:
- Increase the value of mmio_hole from its default value of
256 to at least 512 using the mmio_hole setting in the guest
config. The value of 512 works well when the stolen memory is
256 MiB. If more stolen memory is used, the mmio_hole may need
to be increased even more.
- If there are rdm conflicts, lower the rdm_mem_boundary setting
in the guest config from its default value of 2048 to a
value at which all rdm conflicts are resolved. I have discovered
that lowering it in 128 MiB increments works well. With the older
device I needed to lower it to 1792 and with the newer one I
needed to lower it to 1664. See the description of the rdm_mem_boundary
setting in the xl.cfg(5) man page for more details.
Changes in v6:
- Added Patch 5 to make better use of the xen_igd.h header file
- Patch 6 (Patch 5 in v5) has been totally re-worked after considering
comments made on v2 of the companion patch to hvmloader. See Patch 6
for more details.
- With the addition of Patch 5, Patch 6 in v5 is bumped to Patch 7 in v6
Changes in v5:
- fix style problems reported by checkpatch (see each patch for details)
- update the link to the companion patch for Xen hvmloader
Changes in v4:
- add three patches to provide support for newer Intel IGD devices
- edit the commit messages for better consistency of style
- use 12 digits instead of 7 when referencing commit hashes
- re-write xen_pt_get_host_pch_info() in patch 1 using the
functions declared in xen-host-pci-device.h
- handle errors in patch 1 that in previous versions of that
patch were not handled
- add a Fixes tag to the third patch
- add two hints in the cover letter to help those who are trying
to configure Xen HVM guests with an Intel IGD passed through
Changes in v3:
- whitespace fix in first patch
- fix Cc address for qemu-stable
Changes in v2:
- close open files before setting errp
- improvements to readability and style
- small corrections to the commit messages
- add stable to Cc list
Chuck Zmudzinski (7):
xen/igd: get PCH info from host sysfs
xen/igd: don't register rom bar twice
xen/igd: fixup device id before registering rom
xen/igd: enable guest creation when ROM read fails
xen/igd: use igd header for IGD related definitions
xen/igd: implement support for extended VBT
xen/igd: use custom option ROM if provided
hw/xen/xen_pt.c | 13 +-
hw/xen/xen_pt.h | 9 -
hw/xen/xen_pt_config_init.c | 8 +-
hw/xen/xen_pt_graphics.c | 323 ++++++++++++++++++++++++++++++++++--
hw/xen/xen_pt_load_rom.c | 64 ++++---
include/hw/xen/xen_igd.h | 19 ++-
6 files changed, 380 insertions(+), 56 deletions(-)
--
2.52.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |