[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: BUG: libxenlight fails to grant permission to access Intel IGD Opregion
On 3/11/22 8:47 AM, Chuck Zmudzinski wrote: > On 3/11/2022 3:09 AM, Jan Beulich wrote: >> >> Thanks for this analysis. It looks quite plausible (but the question >> of 2 vs 3 pages of course needs resolving). >> >> >> > > After resolving the question of two vs. three pages, I will follow > the process for submitting a patch against the latest staging. > > Qubes OS has a patch that uses three pages, and the > igd.c pci file in Qemu's hw/vfio directory also specifies > three pages, but if two is enough, that seems to be safer. > I haven't checked yet to see if there is an official specification > from Intel. I will start by looking in the Linux kernel i915 > driver code which might give a clue. It looks like both in Xen and Qemu, it is agreed we need 3 pages In Xen, we have: From: Keir Fraser <keir@xxxxxxx> Date: Thu, 10 Jan 2013 17:26:24 +0000 (+0000) Subject: hvmloader: Allocate 3 pages for Intel GPU OpRegion passthrough. X-Git-Tag: 4.3.0-rc1~546 X-Git-Url: https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff_plain;h=408a9e56343b006c9e58a334f0b97dd2deedf9ac hvmloader: Allocate 3 pages for Intel GPU OpRegion passthrough. The 8kB region may not be page aligned, hence requiring 3 pages to be mapped through. Signed-off-by: Keir Fraser <keir@xxxxxxx> Also Qemu upstream defines it as 3 pages: https://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=blob;f=hw/xen/xen_pt_graphics.c;h=a3bc7e39214b3d71c32c8386758fdef6ced5c0df;hb=a68d6d311c2d1fd9d2fa9a0768ea2353e8a79b42#l242 In Keir's commit, the OpRegion size was increased from 2 to 3 pages, so I think it is correct to use 3 pages in a proposed patch. In tools/firmware/hvmloader, there are header files that have macros setting the address and size of the Intel IGD opregion. So my only question is: Is it proper to include header files from tools/firmware/hvmloader in tools/libs/light/libxl_pci.c ? Chuck
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |