From nobody Sun Sep 7 23:52:43 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=nutanix.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1754987226384470.3673715605711; Tue, 12 Aug 2025 01:27:06 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 4EA9F978; Tue, 12 Aug 2025 04:27:05 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id B586D865; Tue, 12 Aug 2025 04:10:55 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 72A512912; Thu, 7 Aug 2025 07:05:26 -0400 (EDT) Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id B922D2911 for ; Thu, 7 Aug 2025 07:05:25 -0400 (EDT) Received: from pps.filterd (m0127838.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 577AHh0f028556 for ; Thu, 7 Aug 2025 04:05:25 -0700 Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11on2096.outbound.protection.outlook.com [40.107.223.96]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 48bpxev6we-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 07 Aug 2025 04:05:24 -0700 (PDT) Received: from PH0PR02MB7159.namprd02.prod.outlook.com (2603:10b6:510:16::8) by CY8PR02MB9469.namprd02.prod.outlook.com (2603:10b6:930:70::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9009.15; Thu, 7 Aug 2025 11:05:22 +0000 Received: from PH0PR02MB7159.namprd02.prod.outlook.com ([fe80::6cf9:b35c:b143:bb88]) by PH0PR02MB7159.namprd02.prod.outlook.com ([fe80::6cf9:b35c:b143:bb88%3]) with mapi id 15.20.9009.016; Thu, 7 Aug 2025 11:05:22 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=0qQ0oo3CeMFEmjhEusVt9TU5lfjUqxq7zH7rQFf3j x4=; b=pG/VmXhDct9HHGOtaMbou2oPqOT6woY+6hxPTbxAXQK08NK6FCmlV5CWN fZRmX13uoMscicgDpTXPVtjFVKCSIRRd+rMMGOqpx7MFC07RnRy6PG6Tdpknvgvc TrUpVUMgFrzWl1d7glLxe9SPJjCduJiqz7wY+Tv86J0G12EFPfmvq8s4ihIeJsVk 6QLygzC4N3NmgZPwWmaIrMGNMh7RGkSqC84kCiFjhADxXGqQC8eTy7IH84hWEjEm iMNCdzNyoAvyy59ILe3hSjy0r3YSKiCPfFqgNZ0musYP/1QwINE79Q3Jpt1zaJp0 iIF8hFz04UG111IiZtk2mk/6+Guxg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TIvwk2OAJ1FbL1bQBlgFio+Lkxc5+lLJen3oLnyGN6n1JJKE0ORXp8u54HBemoM2GMEg3hXirA/We9hzh3702Cf5JudJsK+R3Yzgkk9bIoHbgC2LPvqv4xFI4RSul5j8SmWsr10AZTQCNi2KMhB1zLsUupAIDGkn0gxSNBMxypYF2dr6+6RBQi0tgDf81sjMsdxJw0EAJBhkzqqiKUtQJgF23hhQGS1DIKlFsalxosEcEOawwN/n6tS2pAH3rt31bGAymSZOcnijWCa1Y0l581ztH2lUoXKeZAojqNT3gf5J2/kqeheDAwB2YREzvzbKJSsWv4AMuwIFcEterNiPsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=0qQ0oo3CeMFEmjhEusVt9TU5lfjUqxq7zH7rQFf3jx4=; b=bgSPiAQAPl/xU5eLsZDRXalwMr33leoJsWCO96QjUse40onRbrOAstOXCjEUZkk+oJU8maIsHtpqnLTc7eM/gmH+D3/E3CSaXdQ/9JGWY3RSUg8zNxu2TwlHBYvqppgA6c3z6XtGDyuL5gEoPwrryPCv129UmXz4l5v8DJhf2v+3sYgbZyAxzLrBI1oNu4T9jK/Nw1/HblIdB92aZBhM5qmNFooNFrBE4TPBmHqX8rr4aF4QgxB//lZlCEiGm0xz1Rof4NO+MN7Ixy8JPd8cbfv5K9VnrDrYLNaVJwVtazIhEuW2qnpah9xUqTXYoEgWHvw5meoOyJFrt/F5TPnB1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0qQ0oo3CeMFEmjhEusVt9TU5lfjUqxq7zH7rQFf3jx4=; b=HAFz24Y5eW8vap/hO+pOm2wi28Msl4sMGL5AiRtTQMAwNn1bjkMk8XuMq1bX0Hdnmijttb+MfHrvguhyBnbbnPOQk+JrKUQFm+ZlD+ks2LUD7Z/e4cY5aaV/Vg/geJn0RPOoxFx+DaUJwDc1NfFwo2OkV9+TbzZoKcIhy+OxLmTdAdJjvZIXpVTvqV1aC+IicMWy7cTrAo4YT5qOYyJ3VWzErKC5tn7A9GZc//wiUbmj8HjwUyBZC935eiCqJ0/NTXAV/LuV/HfyshtCyksxOhydF+lHvVNaOvgiXb/vSq/3NkMbpkbR4WYItXYQXuhgh5xRApW9w/vZC6ihdKnH5w== From: Mark Cave-Ayland To: devel@lists.libvirt.org Subject: [PATCH v3 1/2] conf: add support for 'edid' attribute to video model Date: Thu, 7 Aug 2025 12:05:09 +0100 Message-ID: <20250807110516.1452867-2-mark.caveayland@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250807110516.1452867-1-mark.caveayland@nutanix.com> References: <20250807110516.1452867-1-mark.caveayland@nutanix.com> X-ClientProxiedBy: AM8P251CA0017.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:21b::22) To PH0PR02MB7159.namprd02.prod.outlook.com (2603:10b6:510:16::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR02MB7159:EE_|CY8PR02MB9469:EE_ X-MS-Office365-Filtering-Correlation-Id: e11b8740-0c84-41c0-9010-08ddd5a24df1 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?mVKxC0k/yUlA6FwP2HwmAffPflJyu+BuS3k1maFjjrDUMmITbOz1u0D+xY95?= =?us-ascii?Q?mvJOSGnAaZ5z3bO6K2f7vrhqPUzgAue53lwsdyIzPEhQpRCazfFeBwC/G9SA?= =?us-ascii?Q?5FwxxNWCoe9JQ6454/mkcVhDFIIsaViwwSgK5cGzEe5C3045vUDl+yyKA8EB?= =?us-ascii?Q?00d1Ml1qOk64+lo0He9e6HnxD+JSS6rXvCFJTW4WzecQiW8RJsa+SdGiwoi7?= =?us-ascii?Q?R8vOBzn405Onj/s4Uv3RVW2UrUJw6d2ijGuK8whS6QIRY+9QvP/sgme/Ra2R?= =?us-ascii?Q?PbVx32Rq9WMBULux8WbycVoCSEDp3eQ1NlPEJF73Ard+X19JJP2baxYoZpq9?= =?us-ascii?Q?/M+U870i+RR9zf9+7lqwYa1T1GQqWaE0eu8MAKuyEjfK4Duk7spYVJ9ZpUTv?= =?us-ascii?Q?9a8UnkJxQ0KdiZojih1bMmYqgc94P7TsS1plLTmWn2UJPwEPCWw0EmNA59Ha?= =?us-ascii?Q?tyqSg0J28yGU3jjYAfoEhNt/5j3Dsiavplu+r4NkmKmRDDdc0thYjCIKwnXu?= =?us-ascii?Q?z0ghFHwWCZSlv9NUSgWLlB8WEw2yv/0z+XlMzUZvwtOboSverK3qClx5p2XP?= =?us-ascii?Q?d0RmYi/RIhhXAXF/F2Z4E42jgurAV69yTg024Nx/2b8X5AIuvwcc4zFCenQq?= =?us-ascii?Q?2DFzwZBQ9ALxS0m+WiI69AsKuBm9RJWJEjisISSfoIy48L5c289Wdf/2p6dC?= =?us-ascii?Q?o0EuVwFPO2cZanDfyMcBGRaTQ0cFCVTqX1NF3aXRNRq2d2t11lxBH6n+R1Hb?= =?us-ascii?Q?3JDX2beD9CtGY28fkZ/vFN4HFSAA5n7kCollI49aMIuW3kE8WUc8CVKnd1PR?= =?us-ascii?Q?7yEeiNq2L7ChUSsEaB9bgvwh3t/CNUPH9cyrrgXo7hqjA3v4u7x5KtaYJlFd?= =?us-ascii?Q?Y2egMh1dddF29XQ4wIol+ZK2BhF/6tFwioiSCj+2Z+htdHS6ezGSubOHx8PV?= =?us-ascii?Q?sfoZKXNB7nR9FehPIT+3YKSljZ/KG2E8KNPI6smK/2sE7uPft6z/9aKjIRp1?= =?us-ascii?Q?cX5erVPeI42O3iFC/+x7++cjfQaZpB7FqleHbCdlj7zadl+rkPnXtZ/Cd1jV?= =?us-ascii?Q?w13926P5Uq2RwSan6v4ZxyQ/TQNaEDiN6sK91fKz5zhKvYj1ETLPy58YZxSD?= =?us-ascii?Q?0MfPzrasuuu6PMixS4ZstvgDDBPz+pbiryZbk1pKCkD9oBNzhJm821vVmtZ3?= =?us-ascii?Q?8VDIXxcP9a+PZQ4HLwDARr7HwT6wkMVxi6gbZlrGrrUg83l5r38paCZ3ofkZ?= =?us-ascii?Q?cUTmmB29NvJSVg7vkOnyTrYXgouBN59t5buzD+Q8P+/jbg+gmtGdaG0KiyO+?= =?us-ascii?Q?p2DB63pfwjfgL8TWBTKp2S10kkIpxzPuvs5Kf+A+g0MbOokaH27+UbN86z7X?= =?us-ascii?Q?jbCknvL2KbQq+SYK6v4YyndKUYyyZ8NnG+dLDzSCHDD3aZ6uDA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR02MB7159.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JLu74J54LnEXcTGvc84pmtLawl7PmcPPObuRSH38B5FNjsiu2cYSEMUHZoKQ?= =?us-ascii?Q?zLVHLtVUIDmVm66PBIFA5q44nauCaXXH8MtVyb7ry7E1sdX4sadWXgIxaWRH?= =?us-ascii?Q?RoTPPU4Arf6X7leFCeTKBsJ03xIddoIZKzUO3IVjgfzTHTKqYeVkoW9him4C?= =?us-ascii?Q?G+s9Ahzfyowwup5VYqtvWCjmtWZSoP3G3zwMCHFCFGazsM9OTBq4UWJ2uN5O?= =?us-ascii?Q?TRRusmy+FMFsXjXqHnpG/GweKG4WUMVaXISgb6sCUH5cl3jNwmozpWOJY11t?= =?us-ascii?Q?p4cwUhrFUO1fSAAyX+23NWuMLoadv8240RXJHETFG9DGdLLNpRZmYwYUqC0H?= =?us-ascii?Q?pC3kGY9cb+oYBjjaiVp518q4pzTIa/W8qbCrW98ZRHZ4yGLC+legRjGzJjfK?= =?us-ascii?Q?q6fD9GVZ3j/jUkiJmIdTGB+MkqvLpBSo5lfwMlV4mqm89d8BkNq2GlrTPd36?= =?us-ascii?Q?+A0hSVhtKDQCfx+qbB1A7GsRHsEEdkc9Zqrxl28xv/aTnjTn9H2Wl9tplHOO?= =?us-ascii?Q?kC/ZMiztUZAGifI++vCrcIGWqsGwoq+35e66ZPxVQGjnACuvons2vckuJ4aB?= =?us-ascii?Q?U18WvGYQXyf6/IWROVlI9AZdmSv+uONPx6YiOGkz34BqzI9w6GaZSt4jRYFm?= =?us-ascii?Q?+Oq50g4yZKDrUXlCaa9UoUqdVT+m1gyiAuy46WHyTMPPIJfH9x1qCkMmOeQp?= =?us-ascii?Q?iikp8yBwnmftfdpm4swrQ6tZNClmwqS2asV9Wo4FuX8s5Fq5sz4p0lp8fsq2?= =?us-ascii?Q?G9s/VnR+rWam4eKBXeBG/Y1wJ/qGmFsTNCRmsMY6kqWlroYhG7qKk+tFCxII?= =?us-ascii?Q?3W31m5S5jL62kIlkFg4/WLGaTSnXggRE0t67KZk7/WKTHUm51VTfMoEGDtfo?= =?us-ascii?Q?1qbcsi10OwtvjHB2ONB9Y01+FSpxlvXQMqqoAemXvAubgMRtUAN1CEqXl7tL?= =?us-ascii?Q?KdKAteYPP0lcxdtaM+osBcuWuc6us0nAsfWrt5xwNMKq+QBCuPdF41bjInL0?= =?us-ascii?Q?mA/gda8ZKW2mZAdqxMFLP1KZhQ73E7YlaZsXy9cW4iLj6Rl/d3G3j9xwhtwi?= =?us-ascii?Q?Zx37jXWQWd5Sy3NCNDDZ69P/EM1urd3zAyQl59N/V0HGkWjagrnwKPWm5VyV?= =?us-ascii?Q?Tojo49zmG3Fsbs5R8zUIOoRO5bYwcS+m4j+OfHe8o/glmgKXyu6S3I9gJYej?= =?us-ascii?Q?5TDEwNLJpuhawX7B1M4LgYGYjM+kMUPFuE9fvizr/ZIzpzzX6TeLIXf/ulDR?= =?us-ascii?Q?qshuQb7+K2RVFwStn7icFqEvQYQO6rhnQfXk2Z+qmbyU8ofwzLTUqZfx4tNk?= =?us-ascii?Q?gHzb+XxL6aBi1sXFaYbybsouTmktLGTv+Qm/qWjW7hnf+lbbzHDKfpW33h6V?= =?us-ascii?Q?sWbxPwYAeZYnJYgtvTwxuv5HLRQHG0AM86XljQJDefyGG47FQ8SAPwDdJNEP?= =?us-ascii?Q?GsxFWoZgafv3KSI2VeJ0pb9j6hvEov/Oi9qRViJy9Jv3sqde4a9Lp2p4Lmhg?= =?us-ascii?Q?6d6vP8YanwHCygkStCJnPf1QXXo1+QBhnDSOdjBqlDRlhS1CX/S2Q5Qcw2Yu?= =?us-ascii?Q?FdaluVFQ3ltE++0GfZoI0BLGoJVuthakkPoOhNeDOKSdmC6X2QJ74GxjTgT5?= =?us-ascii?Q?T5QOnNNX9DDjXxhUL7Cgg0s0zHV3f5AC82WWT1UxYS76B/Cs3kRL36wKU9tm?= =?us-ascii?Q?lTWp5A=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: e11b8740-0c84-41c0-9010-08ddd5a24df1 X-MS-Exchange-CrossTenant-AuthSource: PH0PR02MB7159.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2025 11:05:22.7276 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5eYISD+w3c4HJm6R0rx2b1RqS+kJtoWiTepaCU1NThX+NK4vjO6L0cFHPx6N09szrNpd5Hft8nZOaws8mgCzhy3xP112UIX9z8hDs4pNPuE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR02MB9469 X-Authority-Analysis: v=2.4 cv=Qcdmvtbv c=1 sm=1 tr=0 ts=68948874 cx=c_pps a=GDZr2dl6+9TGnY0VEvXriA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=2OwXVqhp2XgA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=gSa5WHMw4tvvIIKkp2gA:9 X-Proofpoint-GUID: 3QITA_506tYM1ZuGE0V7qAg8lq0CrbMU X-Proofpoint-ORIG-GUID: 3QITA_506tYM1ZuGE0V7qAg8lq0CrbMU X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA1MDEyNyBTYWx0ZWRfX7BwRcsBg+UDk hafZCxnb/7mg8LsMzOnHPekTBe1epPp9k9+N7kcgHIKv8XMk+NH26av3bmokNqJEKHHqXtlvm03 nPTcIRNqL3vf72FDFNmpch6peSkkcJYCgzMQ2u9YQfdxAsEzdeLqPY9ECCCikIrOVfWdYRo2e1v bLtOzO1K6W6HBHG1F1/SfrUmGRmx4V5GumN/O8/pFazCaOjXVHUD6crHmcIY2ZeLff1bp/adrzR beRdp4Sz2bM/i0ZfNrViyzx+vaefSbOzqNyxkQWIF8eWMJxfFzIbH6aTd2g6EmpJzbamK3VM5Sj Ag8dZTK6vBnyKgqYnyI2tMhxUWjdDbmhv4Vg38+V7UGBgqU5aDD6GqIoxIze5aHLhA/CjrciUD7 x8pWNTum X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Reason: safe Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 66GN7L2Y4L3H5BABCTKFTEM6MRS6BQYX X-Message-ID-Hash: 66GN7L2Y4L3H5BABCTKFTEM6MRS6BQYX X-MailFrom: mark.caveayland@nutanix.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZM-MESSAGEID: 1754987227853116600 Content-Type: text/plain; charset="utf-8" Add the ability to enable/disable exposing the EDID information to the gues= t. The edid attribute can specified in the domain XML as below: If the edid attribute is unspecified, it is not generated so that the virtualisation platform will continue to use its default. The edid attribute is only valid for the vga, boch and virtio display models and is currently only implemented for the QEMU driver. Signed-off-by: Mark Cave-Ayland Reviewed-by: Peter Krempa --- docs/formatdomain.rst | 8 ++++++++ src/conf/domain_conf.c | 13 +++++++++++++ src/conf/domain_conf.h | 1 + src/conf/domain_validate.c | 11 +++++++++++ src/conf/schemas/domaincommon.rng | 5 +++++ src/qemu/qemu_command.c | 3 +++ 6 files changed, 41 insertions(+) diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst index d3c04d8b2a..9f7311b6d5 100644 --- a/docs/formatdomain.rst +++ b/docs/formatdomain.rst @@ -7110,6 +7110,14 @@ A video device. sub-element is valid for model types "vga", "qxl", "bochs", "gop", and "virtio". =20 + :since:`Since 11.7.0` (QEMU driver only), the ``model`` element may hav= e an + optional ``edid`` attribute that can be set to ``on`` or ``off``. If the + ``edid`` attribute is not specified then the device will use its defaul= t value. + Otherwise setting ``edid`` to ``on`` will expose the device EDID blob t= o the + guest, whilst setting it to ``off`` will hide the device EDID blob from= the + guest. The ``edid`` attribute is only valid for model types ``vga``, ``= bochs``, + and ``virtio``. + ``acceleration`` Configure if video acceleration should be enabled. =20 diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index cb096f2e1e..7766e302ec 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -13547,6 +13547,9 @@ virDomainVideoModelDefParseXML(virDomainVideoDef *d= ef, if (virXMLPropTristateSwitch(node, "blob", VIR_XML_PROP_NONE, &def->bl= ob) < 0) return -1; =20 + if (virXMLPropTristateSwitch(node, "edid", VIR_XML_PROP_NONE, &def->ed= id) < 0) + return -1; + return 0; } =20 @@ -21051,6 +21054,14 @@ virDomainVideoDefCheckABIStability(virDomainVideoD= ef *src, } } =20 + if (src->edid !=3D dst->edid) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target video card edid %1$s does not match sourc= e %2$s"), + virTristateSwitchTypeToString(dst->type), + virTristateSwitchTypeToString(src->type)); + return false; + } + if (!virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) return false; =20 @@ -26657,6 +26668,8 @@ virDomainVideoDefFormat(virBuffer *buf, virBufferAddLit(buf, " primary=3D'yes'"); if (def->blob !=3D VIR_TRISTATE_SWITCH_ABSENT) virBufferAsprintf(buf, " blob=3D'%s'", virTristateSwitchTypeToStri= ng(def->blob)); + if (def->edid !=3D VIR_TRISTATE_SWITCH_ABSENT) + virBufferAsprintf(buf, " edid=3D'%s'", virTristateSwitchTypeToStri= ng(def->edid)); if (def->accel || def->res) { virBufferAddLit(buf, ">\n"); virBufferAdjustIndent(buf, 2); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 984e5bfc76..eca820892e 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1895,6 +1895,7 @@ struct _virDomainVideoDef { virDomainDeviceInfo info; virDomainVirtioOptions *virtio; virDomainVideoBackendType backend; + virTristateSwitch edid; }; =20 /* graphics console modes */ diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c index 40edecef83..60a2e46b7e 100644 --- a/src/conf/domain_validate.c +++ b/src/conf/domain_validate.c @@ -231,6 +231,17 @@ virDomainVideoDefValidate(const virDomainVideoDef *vid= eo, } } =20 + if ((video->type !=3D VIR_DOMAIN_VIDEO_TYPE_BOCHS) && + (video->type !=3D VIR_DOMAIN_VIDEO_TYPE_VGA) && + (video->type !=3D VIR_DOMAIN_VIDEO_TYPE_VIRTIO)) { + if (video->edid !=3D VIR_TRISTATE_SWITCH_ABSENT) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("video type '%1$s' does not support edid"= ), + virDomainVideoTypeToString(video->type)); + return -1; + } + } + return 0; } =20 diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincom= mon.rng index 9782dca147..e369fb6e81 100644 --- a/src/conf/schemas/domaincommon.rng +++ b/src/conf/schemas/domaincommon.rng @@ -4812,6 +4812,11 @@ + + + + + diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 4e4f1e87eb..e8de386f30 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4739,6 +4739,9 @@ qemuBuildDeviceVideoCmd(virCommand *cmd, return -1; } =20 + if (virJSONValueObjectAdd(&props, "T:edid", video->edid, NULL) < 0) + return -1; + if (video->res) { if (virJSONValueObjectAdd(&props, "p:xres", video->res->x, --=20 2.43.0 From nobody Sun Sep 7 23:52:43 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=nutanix.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 175498661998449.69896877486815; Tue, 12 Aug 2025 01:16:59 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id BC4E5A4F; Tue, 12 Aug 2025 04:16:58 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 5FC0C11A8; Tue, 12 Aug 2025 04:06:06 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 63E3C2915; Thu, 7 Aug 2025 07:05:43 -0400 (EDT) Received: from mx0b-002c1b01.pphosted.com (mx0b-002c1b01.pphosted.com [148.163.155.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 3CD742913 for ; Thu, 7 Aug 2025 07:05:35 -0400 (EDT) Received: from pps.filterd (m0127843.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5779cr4h024799 for ; Thu, 7 Aug 2025 04:05:34 -0700 Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11on2104.outbound.protection.outlook.com [40.107.223.104]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 48bpxfw2we-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 07 Aug 2025 04:05:34 -0700 (PDT) Received: from PH0PR02MB7159.namprd02.prod.outlook.com (2603:10b6:510:16::8) by CY8PR02MB9469.namprd02.prod.outlook.com (2603:10b6:930:70::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9009.15; Thu, 7 Aug 2025 11:05:26 +0000 Received: from PH0PR02MB7159.namprd02.prod.outlook.com ([fe80::6cf9:b35c:b143:bb88]) by PH0PR02MB7159.namprd02.prod.outlook.com ([fe80::6cf9:b35c:b143:bb88%3]) with mapi id 15.20.9009.016; Thu, 7 Aug 2025 11:05:26 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=Rey4KV0sxMDYdrmIXRAEeREeVVX709ksIgd/wHpAp TA=; b=QVzJZmu1H0qF/HSzit/1miOg3APn3AO0JiUOyJesCqicrV1LlreFyho8x DiqzDeeu082ZU9QD2EB8s3dWMuy4mfGmvrObYF85UhJAIY+zb+8F8kqokig7JiXw FryoqrE/UuhzQhasSGnNwB0ZxltxtMtmyy/kJmnwHZ5G2htmEcn8M0xNy3VZLAjh lk7oSVymMRqyzfgXBMWpLCgYz2J7S0VvFyu6E9ZeIqc21UAIdNbQ/easSsG9bxUo 1pbN/SPixHQqgdCO99C/e6NX/OcraaofcYCsrVPMdfveirkwQk3foKHcryIXqAZU e1cG92G1+xxKIrWsP42oQuJp2cUdA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wt85WDz/rGTpyMPPFzN4JbM9hT/g6A9izBFJyo0zCqU7Rgmh/a2OF/U1Bwjl5xJP7+7O44uOgRyhmcISbjTrPS2OG9yS/kAiUphYVDmDX9eqp82DwN6ByTLbl7BWXAEh2aXgfQ8rCialpsZcVtv2mOUd59D3iLtLVEUujNzFVlviNRkKHqHu8L1BadYYmQz4EBwgdy5er+cEZUQevvdlLWfjK5UdWxCuxhbkpb59rT8ITe2zwinepGn276CYQcKsO/lzIQ5zqr7lItmyOkH6nZ4OClHfaER7FmrmRr1TPq0e+udrbw+BueWEiLvTH96csFV1V14kd7RodhUmeodyOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Rey4KV0sxMDYdrmIXRAEeREeVVX709ksIgd/wHpApTA=; b=jXRkT21ZpTaF/W1jMFeqL9z7iO+ZbaPoS0d7gz1t2YJvDSdn/ykS53PvsVcfxILErYPdP/vIXWgakMIDwo9x5r+uBk1ytrtyC/JE9DJtMUaMVu+h5K6gB2q4P1/C8Yuk6H6BdwMl5a2B+SqW4v852Ip2YAm6AiP2S3N7shwTqrOTvDk+1yXpCBiS0x9+HTzHwmxOqzWKmzFuGMDhE6TYbo5BU3p7xHTwrFRVxVU/hDNdK7NRFzmPku0Dc6hjhhjL9+f13aV2Zb3prr6rHfOVwZxPTagIk7w+rnwNyxnEUeHf6Cq16Al8kve0DczA3bjWANgLpv9gN+En3Lml/Hgc9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Rey4KV0sxMDYdrmIXRAEeREeVVX709ksIgd/wHpApTA=; b=G4D12Am7bJ/HgGfDRc9XjTWPXZzYPge53Qz8XeDDTiIcF/ybQj+BrTwdXs7LeBv28KjZWLwkK2Q6s7pk0uKY3RK0j0taPLbepTZWxsgEsvOtouWa/B/nVFd2TQHhFOwc8Zqmo/R33QxCdJyWg0PcT6efFloB5lX1IY12/kXnxZJ98I1p/fi+qBh9mrTi3fjXq+7lqaXKsn1psMKLJDkh+L7S5A7uLUwqm3XIs6fGsBhMgACITfH509rmRLDNQrrgN3m7DvIEBM8v/pE2CRMjvbIMlEt11R3ea6sQShZFeJcuO2i1TUBQb4qsI+65Wx9z79atr9a0MBVyqjUTC/Rgyw== From: Mark Cave-Ayland To: devel@lists.libvirt.org Subject: [PATCH v3 2/2] tests/qemuxmlconfdata: add tests for video model 'edid' attribute Date: Thu, 7 Aug 2025 12:05:10 +0100 Message-ID: <20250807110516.1452867-3-mark.caveayland@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250807110516.1452867-1-mark.caveayland@nutanix.com> References: <20250807110516.1452867-1-mark.caveayland@nutanix.com> X-ClientProxiedBy: AM9P192CA0022.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21d::27) To PH0PR02MB7159.namprd02.prod.outlook.com (2603:10b6:510:16::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR02MB7159:EE_|CY8PR02MB9469:EE_ X-MS-Office365-Filtering-Correlation-Id: a2d74420-da89-46f9-407e-08ddd5a24fd4 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?DYbzwR23yf/m6HNAXO/VrgKfKr17pMw4cBqyShvaGndvuPFImYheJmwl9Xju?= =?us-ascii?Q?pGNg8XwY/oG6zWtnzOsftxDkI8/TtCoH22M5kMXcT7cZl+CoGzYE6qlXmaIC?= =?us-ascii?Q?Vnta3abx0KTwsZX5iM3IDidxA4L9EgOhe73sND4ODOuX+YaKfkBPbTDy277D?= =?us-ascii?Q?ezAHjcThCh00eFM1I8FVbl13ywVO70R7hacKSQ8uz22cG1nW+Ib0rXj2ji/y?= =?us-ascii?Q?Ka+RdRBRTQk+vHTylXWBcvah9GlZzmz5FbIncU5DHdhQaOPqqZZLGd4FewYH?= =?us-ascii?Q?+xHAGX364Tf9hYqX9vAHXADd/ayc0bW+wdetN9iVCdiPDrVA16JVxJQCJX9t?= =?us-ascii?Q?47OKOUxe3ObICcRLgJTJ3+6nN2Xsi0XUVKVuLz21/3TVqIh3QgiIIJIlfzrY?= =?us-ascii?Q?g7dQzwQDmt5eGGsc8hq2CoVKeSHimKr+i9dxNVmzoKgfisKFNgDpYINMP1Uf?= =?us-ascii?Q?xw56X8n5+cGPV/WP4QKxUBGUtuvTgt28uRW/ocyfgTXRm1ZBjWDwN3el1q+z?= =?us-ascii?Q?ng9jUk7uT8npS9Np6KiIblF32CnKdzbe4gVI9CnJAWIoG9gSQNiuPlIkbITp?= =?us-ascii?Q?LndyrHpYW6t9VoNzAY1OVITgTvlhfWy7g1Sr+z9erffGELgpLlTVVpneUaBH?= =?us-ascii?Q?AntdGJci4E+iOkmPHAD24QEGBOeg56WC14AS1pj361TnCMyWjdnO+IK8kLfj?= =?us-ascii?Q?bcGeiEXzydvUim5spORNsiAIiEVmbgEJc0pTHdN5I8IRFFp5FwS3rzcJ5xDc?= =?us-ascii?Q?+HiL6GMPBVvNVwEHL6XYEiTyElaBQJZq0fsIX5Ll+YDP5cFCmTo7iVvPeNDK?= =?us-ascii?Q?nrVoZRVjCdzWQF5bCjdNLb8NoFEQ9zGyUSDs4mcpzYc2xOL1Urw0BUIWbj1r?= =?us-ascii?Q?N9+LDv3Hx1opfubnb2MlN3HcB8klTi9as7ygwMN/jTsT4wzPO8i/tajOSiuV?= =?us-ascii?Q?dMppmavP3EjSyM8fSJ7BlageqJEwKqvAjNgtC7urbdcgG4bCEl1DxTlC45bN?= =?us-ascii?Q?7DA2DlH+ecm5mKyMyaPZ5yl08fHXNTtcppMTP/xj8JUobfRqRUDEue0LQRY/?= =?us-ascii?Q?El7TBK2PL9fWZDuaL8wVGYR82T5NUVpPIzDoCxsfq73GgLdd2py1h3v4RN9j?= =?us-ascii?Q?GTvVOCd2uxGFM1KY0ODIU6UqQ1Kn9R1wCKoPk+e+8PxXkkpa6hvkeocKSJhG?= =?us-ascii?Q?q7mmZ8KG+yy60FPuV8cw/yLLrvDJXPVOj2J5A7XUe7ccZ2+jxSQeP1yxkudH?= =?us-ascii?Q?M6+qSyrKrwMD+GpyrdUIDAA3Vudt4aURiLuxCJknoMH5Yf/jRWw1C10b4U58?= =?us-ascii?Q?5yTKjn7lHoyxIzlA7M6bG/7cG5vEP/5FZNaT2pvEZJNug13mz+cgPooIxCQn?= =?us-ascii?Q?nGFEKaEry9x8thzXcAMGRKLxKDO+Ih4MEKg9kb1w1dXVQjHSA7BjwLQE/Zec?= =?us-ascii?Q?8+5ySo7qJF8=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR02MB7159.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yLSgl/mnK5So8S2WgQM0cMFjvgjG/ZJ2iwm0nF0Qp4JXfUxLloNqlcKkEMiG?= =?us-ascii?Q?ZQpYNE5FatfRepwtx2Whip8BQEMZ2fUAxQxkmoQqkTiQHcgjizmFh/tD77gT?= =?us-ascii?Q?FXDaddvN0bWt01YIntVRy+jQEjxjX08pgsAXILBNVrrJn0JtF8u9PYvwwPzh?= =?us-ascii?Q?dXD21KEYtRL3NDzff/Zk/lOMFUPiw2tUZ3XNcfYoatRwbE5ivvN00SGzln3j?= =?us-ascii?Q?pico3wK5UZLagI0+Vns7os+hUnoVmtA83n8H0eiXXbYLBBvKtSoWYJbmWbyp?= =?us-ascii?Q?c/AvThW1Rtn5C4GFJqQPzVD+S/qPElbkzig0pTy2369RBY/iv4Ll9J8YbbMd?= =?us-ascii?Q?ClJ/1oFEtdZo8XvFYhYa6b69BsabAV1FKo30lzJGEzuozFoW29oSFl1PmgJu?= =?us-ascii?Q?zPBwPcHdeXlU0pTQcYC3/ETGvmT35pi6B+6e3lUOtxWGdFPvNJqxyixqN0Ab?= =?us-ascii?Q?8nCn2MNtoa7vXXsT4D1YNrCaL86iQdgfF5hWq9EVQGbfpeU1jreBcTLYp88j?= =?us-ascii?Q?xnLmNLQqYBihN34FaZoBJA2Tuwl3Si+Rc6o6Ltc0lOEc7RTJihTjkWdtHjgg?= =?us-ascii?Q?g3ugRYb7h8oCESdq1Qe4jpFf9wtssTVW+E8UdRjFH2dHIHzUr0xcmDzmNIbe?= =?us-ascii?Q?4wTZ9jNGaxFOfDqewaZhsO3sRhjRhw17oR+sf8W1EJTm5oyiSLC8+uq/886n?= =?us-ascii?Q?gW3CakkJ7mfTu7RvxXehdQCzsWEZl+9CKICDo17gWeLs7UE7hcStPT7RhL7r?= =?us-ascii?Q?VZVgef8eg+hQM49XMJWdLCsr2chXEcvxx6OVGW8u2Bu+yLUMNI/hycCTL8Ge?= =?us-ascii?Q?CMtkSbeWqGfWVxW5w0CbPE75f/L1Oayg8NFodcsBRaPuLUs49gq9rAU7e0z8?= =?us-ascii?Q?RvbC4DW4szVbdJqOV4oZyIWvYHTb4F31Q2BHfoCZ0gLRoAJ6xNm5nQZolscc?= =?us-ascii?Q?dYwJQDaCYW2dNUshBCK8zL/BQXJvwYZajT8si6AQUS+WAhaFYwDEK7GujYRd?= =?us-ascii?Q?+8btKAWzBYn3FdwQVwO+sXuuEZPfI8m6jGx5SBS2At+SA9HLLTDoq27EPPeC?= =?us-ascii?Q?KpMx9Abe6HYzuiYns1sauB3fKv5bJTn2OyT0wM8WzItb65olHIcy9AmC/+8v?= =?us-ascii?Q?MXqfOMV7hojs9zkPe1Svn+gmDmsaOYB9UzJQH63fv3c98wwgwWiVrEb1WxP2?= =?us-ascii?Q?ta8lrGNpCvMWfJVvefmvaSvPIVQICh55Wt/KeTh9IREl/RXKOQAWaQZyZ89E?= =?us-ascii?Q?E8j23yxp8AWcfl9uTaBRGp/h83Ww/+1kE+XP6vgPx8Quf8Uzlu92eLaNLAOZ?= =?us-ascii?Q?XrT6HVtp561gPynPx71ssh5hmxC1mqMbdo1lLYN+2o0VfN54wBzJorSKdpkf?= =?us-ascii?Q?6FMvtxYsHZqmMzT2tEwOcANxyyqj16uqhEJnj62eGVJHz4MSPyc0c418G/f0?= =?us-ascii?Q?sMuYSKak1SF16YsYF7zOFLIQyU1ibMYBI8ceSkcFeAIPrPhmSQWIEHTUMb9b?= =?us-ascii?Q?i6bGdpRx1ln7WTOL+rpsnDSai506wrQSx755ueCdIfAz4kkZJ7XtbsGJLIeY?= =?us-ascii?Q?oef3ssrLP+jLkXrmnH69z9D1olQau6WoiX2n7SW9qZS8d0dj1Wz1X257CebH?= =?us-ascii?Q?3WLqOyIWmZ8ZU6rOIDUf9WCSasf9r417lm18OcoV61qYFewAMCPzZ/6Wun2O?= =?us-ascii?Q?HsZ1YQ=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2d74420-da89-46f9-407e-08ddd5a24fd4 X-MS-Exchange-CrossTenant-AuthSource: PH0PR02MB7159.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2025 11:05:25.9779 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0SdbMZ5+lVwnB/jlseZXl+dYY6ex3/nQzBanRURvjZiH9+d3dKET6+LM0Epm4AAkzZMONxIpFJ0Bm1f+5faSXef2vz4LNM669gfTMZwSpaI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR02MB9469 X-Authority-Analysis: v=2.4 cv=YPifyQGx c=1 sm=1 tr=0 ts=6894887e cx=c_pps a=TzmJjiK2kQDrw2mAjIMIuQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=2OwXVqhp2XgA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=20KFwNOVAAAA:8 a=R5l3TsZb5AMBhy6iDdMA:9 a=77tYV7QS0pOuNoI7:21 X-Proofpoint-GUID: 0Y5xuLX0kKm1XYupwkVHDAkpzPf-Qzy- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA1MDEyNyBTYWx0ZWRfXy8cOEyCbu+c+ 0iyHweouI8IPi/4YSOWcWbeadb8PKp0fjzBpTmIdXF/fgJ4tDZkKHnYxGbimAt1+/RdnKyI3JgL sL0kWdD6O6VLeakLufM1Z8tVvqhyFXkQ+UrMiPNEYZmAmH0j0knF4AWzUM3//9s5E4R7rqmB/8q WOTFPq8D6lTmqR/IMq4URC0XMQtzO46fNRW30P85U99WGvcHNkFStOYsAm+u9dtVGvdhaFqqDKb JVk9BUC2ZlLxqhhKr7sF1AeEAaCVYOCmKQjoiL+9Tk5nL2UQ8u/PdgfvZog6Jbft8ZJbHcwOeOQ LrHiVkYDzNAYtp5fDoFxGO+n4bbLTYh5L/MdjzoD0oAh5wNCrETBd4ua6a7plPMKNAy/qKqpwDT hpDN5dPu X-Proofpoint-ORIG-GUID: 0Y5xuLX0kKm1XYupwkVHDAkpzPf-Qzy- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Reason: safe Content-Transfer-Encoding: quoted-printable Message-ID-Hash: QDIYCSZWJ5JAQ3ROJFPJFNEQQVG4ZZWJ X-Message-ID-Hash: QDIYCSZWJ5JAQ3ROJFPJFNEQQVG4ZZWJ X-MailFrom: mark.caveayland@nutanix.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZM-MESSAGEID: 1754986627423116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Mark Cave-Ayland Reviewed-by: Peter Krempa --- .../video-bochs-edid-none.x86_64-latest.args | 34 +++++++++++++++ .../video-bochs-edid-none.x86_64-latest.xml | 41 +++++++++++++++++++ .../qemuxmlconfdata/video-bochs-edid-none.xml | 30 ++++++++++++++ .../video-bochs-edid-off.x86_64-latest.args | 34 +++++++++++++++ .../video-bochs-edid-off.x86_64-latest.xml | 41 +++++++++++++++++++ .../qemuxmlconfdata/video-bochs-edid-off.xml | 30 ++++++++++++++ .../video-bochs-edid-on.x86_64-latest.args | 34 +++++++++++++++ .../video-bochs-edid-on.x86_64-latest.xml | 41 +++++++++++++++++++ tests/qemuxmlconfdata/video-bochs-edid-on.xml | 30 ++++++++++++++ .../video-qxl-edid-off-fail.x86_64-latest.err | 1 + .../video-qxl-edid-off-fail.xml | 23 +++++++++++ .../video-qxl-edid-on-fail.x86_64-latest.err | 1 + .../video-qxl-edid-on-fail.xml | 23 +++++++++++ .../video-vga-edid-none.x86_64-latest.args | 34 +++++++++++++++ .../video-vga-edid-none.x86_64-latest.xml | 41 +++++++++++++++++++ tests/qemuxmlconfdata/video-vga-edid-none.xml | 30 ++++++++++++++ .../video-vga-edid-off.x86_64-latest.args | 34 +++++++++++++++ .../video-vga-edid-off.x86_64-latest.xml | 41 +++++++++++++++++++ tests/qemuxmlconfdata/video-vga-edid-off.xml | 30 ++++++++++++++ .../video-vga-edid-on.x86_64-latest.args | 34 +++++++++++++++ .../video-vga-edid-on.x86_64-latest.xml | 41 +++++++++++++++++++ tests/qemuxmlconfdata/video-vga-edid-on.xml | 30 ++++++++++++++ .../video-virtio-edid-none.x86_64-latest.args | 34 +++++++++++++++ .../video-virtio-edid-none.x86_64-latest.xml | 41 +++++++++++++++++++ .../video-virtio-edid-none.xml | 30 ++++++++++++++ .../video-virtio-edid-off.x86_64-latest.args | 34 +++++++++++++++ .../video-virtio-edid-off.x86_64-latest.xml | 41 +++++++++++++++++++ .../qemuxmlconfdata/video-virtio-edid-off.xml | 30 ++++++++++++++ .../video-virtio-edid-on.x86_64-latest.args | 34 +++++++++++++++ .../video-virtio-edid-on.x86_64-latest.xml | 41 +++++++++++++++++++ .../qemuxmlconfdata/video-virtio-edid-on.xml | 30 ++++++++++++++ tests/qemuxmlconftest.c | 11 +++++ 32 files changed, 1004 insertions(+) create mode 100644 tests/qemuxmlconfdata/video-bochs-edid-none.x86_64-late= st.args create mode 100644 tests/qemuxmlconfdata/video-bochs-edid-none.x86_64-late= st.xml create mode 100644 tests/qemuxmlconfdata/video-bochs-edid-none.xml create mode 100644 tests/qemuxmlconfdata/video-bochs-edid-off.x86_64-lates= t.args create mode 100644 tests/qemuxmlconfdata/video-bochs-edid-off.x86_64-lates= t.xml create mode 100644 tests/qemuxmlconfdata/video-bochs-edid-off.xml create mode 100644 tests/qemuxmlconfdata/video-bochs-edid-on.x86_64-latest= .args create mode 100644 tests/qemuxmlconfdata/video-bochs-edid-on.x86_64-latest= .xml create mode 100644 tests/qemuxmlconfdata/video-bochs-edid-on.xml create mode 100644 tests/qemuxmlconfdata/video-qxl-edid-off-fail.x86_64-la= test.err create mode 100644 tests/qemuxmlconfdata/video-qxl-edid-off-fail.xml create mode 100644 tests/qemuxmlconfdata/video-qxl-edid-on-fail.x86_64-lat= est.err create mode 100644 tests/qemuxmlconfdata/video-qxl-edid-on-fail.xml create mode 100644 tests/qemuxmlconfdata/video-vga-edid-none.x86_64-latest= .args create mode 100644 tests/qemuxmlconfdata/video-vga-edid-none.x86_64-latest= .xml create mode 100644 tests/qemuxmlconfdata/video-vga-edid-none.xml create mode 100644 tests/qemuxmlconfdata/video-vga-edid-off.x86_64-latest.= args create mode 100644 tests/qemuxmlconfdata/video-vga-edid-off.x86_64-latest.= xml create mode 100644 tests/qemuxmlconfdata/video-vga-edid-off.xml create mode 100644 tests/qemuxmlconfdata/video-vga-edid-on.x86_64-latest.a= rgs create mode 100644 tests/qemuxmlconfdata/video-vga-edid-on.x86_64-latest.x= ml create mode 100644 tests/qemuxmlconfdata/video-vga-edid-on.xml create mode 100644 tests/qemuxmlconfdata/video-virtio-edid-none.x86_64-lat= est.args create mode 100644 tests/qemuxmlconfdata/video-virtio-edid-none.x86_64-lat= est.xml create mode 100644 tests/qemuxmlconfdata/video-virtio-edid-none.xml create mode 100644 tests/qemuxmlconfdata/video-virtio-edid-off.x86_64-late= st.args create mode 100644 tests/qemuxmlconfdata/video-virtio-edid-off.x86_64-late= st.xml create mode 100644 tests/qemuxmlconfdata/video-virtio-edid-off.xml create mode 100644 tests/qemuxmlconfdata/video-virtio-edid-on.x86_64-lates= t.args create mode 100644 tests/qemuxmlconfdata/video-virtio-edid-on.x86_64-lates= t.xml create mode 100644 tests/qemuxmlconfdata/video-virtio-edid-on.xml diff --git a/tests/qemuxmlconfdata/video-bochs-edid-none.x86_64-latest.args= b/tests/qemuxmlconfdata/video-bochs-edid-none.x86_64-latest.args new file mode 100644 index 0000000000..c2ba47e6e7 --- /dev/null +++ b/tests/qemuxmlconfdata/video-bochs-edid-none.x86_64-latest.args @@ -0,0 +1,34 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest1 \ +USER=3Dtest \ +LOGNAME=3Dtest \ +XDG_DATA_HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=3DQEMUGuest1,debug-threads=3Don \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ +-machine pc,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dpc.ram,acpi= =3Doff \ +-accel tcg \ +-cpu qemu64 \ +-m size=3D1048576k \ +-object '{"qom-type":"memory-backend-memfd","id":"pc.ram","x-use-canonical= -path-for-ramblock-id":false,"size":1073741824}' \ +-overcommit mem-lock=3Doff \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid df538144-b703-4b6d-860d-82ca8597d4c8 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ +-rtc base=3Dutc \ +-no-shutdown \ +-boot strict=3Don \ +-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0= x2"}' \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-device '{"driver":"bochs-display","id":"video0","vgamem":16777216,"bus":"= pci.0","addr":"0x2"}' \ +-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","add= r":"0x3"}' \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxmlconfdata/video-bochs-edid-none.x86_64-latest.xml = b/tests/qemuxmlconfdata/video-bochs-edid-none.x86_64-latest.xml new file mode 100644 index 0000000000..5cdd202bf8 --- /dev/null +++ b/tests/qemuxmlconfdata/video-bochs-edid-none.x86_64-latest.xml @@ -0,0 +1,41 @@ + + QEMUGuest1 + df538144-b703-4b6d-860d-82ca8597d4c8 + 1048576 + 1048576 + + + + 1 + + hvm + + + + qemu64 + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + +
+ + +
+ + + + +