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

Re: [PATCH 0/9] xen/x86: PVH Dom0 fixes and fallout adjustments


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Tue, 14 Sep 2021 10:32:36 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=wrQC+1b7iEYcqIUfkjJLrWIXe0PichpEoEMz0g+BwNM=; b=fjtdxbag+iVHLVaL1uQoMs6JDoqjuhwMLwZjKZeTZAAMjTBphd8yMZmOG2sH75pBg1WK+th0YUlUfgtylJyYfsDHiOJsmBPJjdITccrMaHBo34/yqo1sUqV4J0RhCkIr58150WLET5xj/nuElN5lfbQWiAa8XC94Be6NDgMHp8THNsrby7n+HBVSxjQNYFzjw/sPR/LaG/C9XxHCsNwJjp7RzJY+BVBWTZLXCC0yNgsdBoZUJg9oL1VUu4mRJDh3l/KxQpStxVRtrqRYXAV5V89bxDUD76Taj/6vJKQZp+1nLjZYf6paKGBiTrog/c/+CFxpiY0Qbifpv2I80VA8vA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=awWTx/jNK4zh1zBWnqhfovflqthpRwZz/2u4F+SH8fy7n6QwSKuQSaK+VbmyrTQoWsT1cTZRytbl/ITne2w4hsjYJO6jsgalygw84+YV5pZeMId94mZoHpah/n+bZQ0U3UliySduBN1oG8OPKeMcEdIfJYVPuHz45z0ZQUIpXXgyx8aNxohJLtR7GP1ZXS+DhJREN/+di2qzYlDQk750V0CpOFRh+B+loUBTM37IlLT9fBg3CoLBJ5aIoC8e29wfbVWOERcFyyxfRZc3WxMW8oJDrDai572uvBv8vav6C5SdhjMTMI7LFAsjagtRrwr0q4gkUQRBElYiXHIimejWMw==
  • Authentication-results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Juergen Gross <jgross@xxxxxxxx>, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, lkml <linux-kernel@xxxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 14 Sep 2021 08:32:45 +0000
  • Ironport-data: A9a23:9xEIlarOdfLmYXYsGQI/CI2ADkReBmLvYhIvgKrLsJaIsI4StFCzt garIBmDPK2CM2v2KNx3bt/j9hxQ65fSx4MySwVp/HsyHilGp5uZCYyVIHmrMnLJJKUvbq7GA +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dnd84f5fs7Rh2Ncw0IHlW1rlV e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9 DlCnb2VWS12O7X3pM8cc0UFGh5FbfJcw6CSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp0UR6qON pVCAdZpRDTqbAZrF00vM7IVnvXypXvUTgNg8U3A8MLb5ECMlVcsgdABKuH9YceWTM9YmkKZo GPu/GnjBBwectuFxlKt9nOqm/+Kni7hXo8WPKO3++Qsg1CJwGEXThoMWjOTsfS/z0KzRd9bA 0gV4TY167g/8lSxSdvwVAH+p2SL1jYeUddNF+wx6CmW17HZpQ2eAwAsTDFbb8c9nNQrXjFs3 ViM9/vjAiZuq/uSUm6H8amPriKaPjIcJmsPIyQDSGM4D8LL+d9pyEiVF5A6TfDz3oad9SzML y6ijQ0ureoWlfU3/KSboQ3OvAn8+YLyUVtgjunIZV5J/j+Vdab8OdfxswOGvKofRGqKZgLe5 ylfwqBy+MhLVMvUxXLXGI3hCZn0v67tDdHKvbJ483DNHRyW8ni/dMh75DhkLS+F2e5VJGe0P Cc/Ve5XjaK/3UdGj4csOOpd6OxwlMAM8OgJsdiOMrJzjmBZLlPvwc2XTRf4M5rRfK0QrE3CE c3DLZbE4Ykm5VRPk2PtGrZ1PU4D7SEi32LDLa3GI+Cc+ePGPha9EO5dWHPXN7xRxP7U8W39r ocEX+PXmko3bQELSnSOmWLlBQtRdiZT6FGfg5E/S9Nv1SI9RDh6WqOOmOh4E2Gn9owM/tr1E riGchYw4HL0hGHdKBXMbXZmabj1Wo14o259NispVWtEEVB6CWp2xKtAJZYxY5c98+lvkax9Q /UfIp3SCfVTUDXXvT8aaMCl/oBlcR2qgyOIPjakP2djL8IxGVSR94+2ZBbr+QkPEjGz6Zk0r Yq/216JWpEEXQljUprbMar901OrsHEBs+tuRE+UcMJLcUDh/dEyeSz8h/M6Oe8WLhDHymfI3 gqaG05A9+LMv5U04J/CgqXd99WlFO53H0x7GWjH7OnpaXmGrzT7mYIZCbSGZzHQUm/w6Z6OX +QNwqGuKuADkXZLr5F4T+Rhw5Uh6oa9vLRd1AllQinGNgz5FrN6L3Ca9sBTrakRlKRBsA67V 0/TqNlXPbKFZJHsHFILfVd3a+2C0bcfmyXI7ORzK0L/vXcl8L2CWERUHh+NlC0Cc+clbNJ7m b8s6JwM9giyqhs2KdLX3Clb+lOFImEET6h65IoRB5Xmi1Zzx1xPCXAG5vQaPH1bhw1wD3QX
  • Ironport-hdrordr: A9a23:WW820arnXNcFu8vVyO3oKwcaV5vPL9V00zEX/kB9WHVpm5Oj+P xGzc526farslsssREb+OxpOMG7MBThHLpOkPMs1NaZLXLbUQ6TQr2KgrGSoQEIdxeOk9K1kJ 0QDpSWa+eAc2SS7/yKmTVQeuxIqLLskNHK9JbjJjVWPHlXgslbnnhE422gYytLrWd9dP4E/M 323Ls6m9PsQwVdUu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyRel8qTzHRS01goXF2on+8ZuzU H11yjCoomzufCyzRHRk0fV8pRtgdPkjv9OHtaFhMQ5IijlziyoeINicbufuy1dmpDk1H8a1P 335zswNcV67H3cOkmzvBvWwgHllA0j7nfzoGXo90fLkIjcfnYXGsBBjYVWfl/y8Ew7puxx16 pNwiawq4dXJQmoplWy2/H4EzVR0makq3srluAey1ZFV5EFVbNXpYsDuGtIDZY7Gj7g4oxPKp ggMCjl3ocXTbqmVQGbgoE2q+bcHEjbXy32DnTqg/blkgS/xxtCvg4lLM92pAZ2yHtycegB2w 3+CNUaqFh5dL5jUUtMPpZwfSKJMB2+ffvtChPaHb21LtBOB5ryw6SHlYndotvaP6A18A==
  • Ironport-sdr: cvoL9MUQLVgbPbZQ1EON2NXTngTlhnZMZvV9P0JHsrjO95o4Kc0jVK2qBGyp4YoYNnilRHHN/s pKorCaSGcbgHEZfO1XgcsCHYCdUKAh6pDgETNDfqQfyAW+ckVhqmSbiiwuE9XSQmkjQefd0qAg CWvTuf8oXTyJ/ynzF6ZlDE7mNQamAu+4Bid3kDRF6CU5p3Cm2I7KJGMhs1xNwrzMyhvRdaRFpA 8UA0smURnM2+8e9Gex1fFxOWM28+kNag6cRnTjNqH1hgktT0pj0CoOdb1FzcAMKNyeCSPLzPxQ rxdci4R7WcDCiX7r/jpL9LO4
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Tue, Sep 07, 2021 at 12:04:34PM +0200, Jan Beulich wrote:
> In order to try to debug hypervisor side breakage from XSA-378 I found
> myself urged to finally give PVH Dom0 a try. Sadly things didn't work
> quite as expected. In the course of investigating these issues I actually
> spotted one piece of PV Dom0 breakage as well, a fix for which is also
> included here.
> 
> There are two immediate remaining issues (also mentioned in affected
> patches):
> 
> 1) It is not clear to me how PCI device reporting is to work. PV Dom0
>    reports devices as they're discovered, including ones the hypervisor
>    may not have been able to discover itself (ones on segments other
>    than 0 or hotplugged ones). The respective hypercall, however, is
>    inaccessible to PVH Dom0. Depending on the answer to this, either
>    the hypervisor will need changing (to permit the call) or patch 2
>    here will need further refinement.

I would rather prefer if we could limit the hypercall usage to only
report hotplugged segments to Xen. Then Xen would have to scan the
segment when reported and add any devices found.

Such hypercall must be used before dom0 tries to access any device, as
otherwise the BARs won't be mapped in the second stage translation and
the traps for the MCFG area won't be setup either.

> 
> 2) Dom0, unlike in the PV case, cannot access the screen (to use as a
>    console) when in a non-default mode (i.e. not 80x25 text), as the
>    necessary information (in particular about VESA-bases LFB modes) is
>    not communicated. On the hypervisor side this looks like deliberate
>    behavior, but it is unclear to me what the intentions were towards
>    an alternative model. (X may be able to access the screen depending
>    on whether it has a suitable driver besides the presently unusable
>    /dev/fb<N> based one.)

I had to admit most of my boxes are headless servers, albeit I have
one NUC I can use to test gfx stuff, so I don't really use gfx output
with Xen.

As I understand such information is fetched from the BIOS and passed
into Xen, which should then hand it over to the dom0 kernel?

I guess the only way for Linux dom0 kernel to fetch that information
would be to emulate the BIOS or drop into realmode and issue the BIOS
calls?

Is that an issue on UEFI also, or there dom0 can fetch the framebuffer
info using the PV EFI interface?

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.