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

Re: [PATCH] xen/x86: obtain upper 32 bits of video frame buffer address for Dom0


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
  • Date: Tue, 4 Jan 2022 12:03:53 -0500
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UsfgvgSwoVgqW+6vAySJ7ebtOY1BLt5+PoIBsDBtvwg=; b=B2WsGjjmZOBIJauVBGo5xHUiG0jdPmXfOVHGfekq/WW1UQCoxqG6xTTg/1pzsIcj67GWVy9fjKezPnj2pRxkSrrhhbBLxGFWmr9lvOket7fmL5UfMWhz8ZLlMeZcdA/yuEiK1fYKHhsANHY8tbGrypshr6JQsM5CDu210nJxX4AuUOFga6mLX30X+aSde7DDkk1oGUfOqwzViQd7L2y5C3Mfdjny+vs+AIupsBWQTeIzt1RWzut6hdHhUUdCq3FXwghU85KX4q386OHCY82lK22NhwAlHam37wQ7dWLcEdPa27UVHdELGjW6UvFhnMlTbwWNcIiuNrsIJKy6FyQWDg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=loyN5mYYCkvCaeIXRpaEbDxBWUa8CR4dsCp1VKhKJB6MYgR1PUiKePIlCPVZe6hgM+BoOzLmR+bm4fIapXANmiYNwtTwxsigOCfLBeXlH2ziBUKPIKIFitj7cCnc8QbrR+KUfIjtB94gG6+tMfaQ86G2Xo+ngRBGA7oEo07UWtsbF35Ir/exEMHcGV866I/PweAWk/Ad6g1y8hVjBLh6HVFS+B7VGZQRHUErDshQWSr1zpsm5SmUqimPxgLUsuc4SHwEsUUGBxRb75RZ34jpSSHAhNPTT691gN46j7BWlEV3yU9PUI6B376q9FbM2nXReAHigc6Y2OKYmPbpXgLtHw==
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, lkml <linux-kernel@xxxxxxxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
  • Delivery-date: Tue, 04 Jan 2022 17:04:15 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>


On 1/4/22 11:54 AM, Jan Beulich wrote:
On 04.01.2022 17:50, Boris Ostrovsky wrote:
On 1/4/22 3:46 AM, Jan Beulich wrote:
The hypervisor has been supplying this information for a couple of major
releases. Make use of it. The need to set a flag in the capabilities
field also points out that the prior setting of that field from the
hypervisor interface's gbl_caps one was wrong, so that code gets deleted
(there's also no equivalent of this in native boot code).

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

--- a/arch/x86/xen/vga.c
+++ b/arch/x86/xen/vga.c
@@ -63,13 +63,17 @@ void __init xen_init_vga(const struct do
                }
if (size >= offsetof(struct dom0_vga_console_info,
-                                    u.vesa_lfb.gbl_caps)
-                   + sizeof(info->u.vesa_lfb.gbl_caps))
-                       screen_info->capabilities = info->u.vesa_lfb.gbl_caps;
-               if (size >= offsetof(struct dom0_vga_console_info,
                                     u.vesa_lfb.mode_attrs)
                    + sizeof(info->u.vesa_lfb.mode_attrs))

Do we still need this test? All 4.0+ hypervisors will have mode_attrs.
Perhaps this could also be dropped, but unlike the capabilities part
I'd view this as an unrelated change.


Right.


  Furthermore even a new hypervisor
would be free to omit the field, provided it also sets size low enough.


If this is allowed, how would we deal with hypervisor dropping some other 
random field here? Have we had a precedent of this happening?


I think it's safe to drop these checks. In fact, most of them in this function 
(except for the last one, obviously).



-boris




 


Rackspace

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