From nobody Sun Sep 7 23:50:53 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 1754316524139712.7644895597225; Mon, 4 Aug 2025 07:08:44 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 1B223B69; Mon, 4 Aug 2025 10:08:43 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id C7B231214; Mon, 4 Aug 2025 10:07:41 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 37E8EA96; Mon, 4 Aug 2025 10:07:37 -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 7680494D for ; Mon, 4 Aug 2025 10:07:36 -0400 (EDT) Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 574CGr3j023720 for ; Mon, 4 Aug 2025 07:07:35 -0700 Received: from bn1pr04cu002.outbound.protection.outlook.com (mail-eastus2azon11020141.outbound.protection.outlook.com [52.101.56.141]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 489f0t38b8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 04 Aug 2025 07:07:35 -0700 (PDT) Received: from PH0PR02MB7159.namprd02.prod.outlook.com (2603:10b6:510:16::8) by PH7PR02MB9052.namprd02.prod.outlook.com (2603:10b6:510:1f0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8989.18; Mon, 4 Aug 2025 14:07:32 +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.8989.018; Mon, 4 Aug 2025 14:07:32 +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.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,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=AhFgKOj4f7nz2Hh8RO2FCPHlTl1dWBxfFuRXQ4TrW KE=; b=Noc6FgBHRmDac+N0uQL+r1PXng6TXcPodav84YQUBrd8pXd14bzQQc7Ly 38OPxJ1d5ZwZPXjUGe7ZVPAhvCbFPpY1QTwCxMFQjUWOdGw9afJxYiS/y/1x8VHq FlUM5xqlE3osnKkqie2366Lcfu/se440x4MLfdSopu4/OLspmOacGtxp1q0OaL2n ElZLvxpWyKMpxf0fQ+v02a4+ebFWVa6LP76H3lUJj35vVbASddQcXDWagI7+97hT 5DpDDOMBf+VnywgRi93n0WQhKI3g4rgTU7Zr2B4wU0/AYvLJk6FjHJqujVEriiX/ 1cLX7FBWevcHmaLU5ms0yi2OcWs1Q== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KmabeaUCIIhbUQuTEN4s02M32KnUdBcDcSwC4yG/C4oY/U4vqlja6lnmwIx1T5JnEIxYMduvFPDBmzgFd2oW7PXPhbIW7kTBfM0ChUB3prQUWv184QJOBP9wEhzjQMSYY2Ng+Ar6lKvF1mHhtK3SChU26Rxz4340pExHaq4V9XlqhtoJ7u8azVsV42qHahXpeJI47j8caLH5UV7r+7rgvvB0VOEpFcuk0BISqdTyBxqZwtg8dUjwWbk2X6epWgO+rmKe9UQ8mz3a5L0sGGMi/I5kH+rBN4RBOV/C6rkUjXcJrVuOxOhRlfqpOSGy47f4CE70DraiBv8bLw+sF4fWcA== 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=AhFgKOj4f7nz2Hh8RO2FCPHlTl1dWBxfFuRXQ4TrWKE=; b=XPxfMnwBbxhZN7Y+J7k4Jkj2XlX7/kHTXzfl+8Y+l4HmnP/wOF6W3k0llSroK+a0KXIOk91OaghKFbC9EJi1hRdM1lAkaOcJ+RUiyFGPYBtl8IjbCKM8cHyEnH3cb6IPkLC0aPsyL8smmnoav0PzRmShgQFDSgmUrL2LC7E/VBlRjmaasVwCL9maCyyEPc9cyHxNphjS+pzIJbBkKDJTbcnHgJq23hWxQesdGdrwwNssXnu51kQGZWdrswyX/+kKTR4VI3Io/Qs64YxeruFoyWq/br+Vc8ckjhV/Orem6TWJMiekYyNhhj6FjYY4eTCXgw34dfaHJqkznJeuSRK7OQ== 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=AhFgKOj4f7nz2Hh8RO2FCPHlTl1dWBxfFuRXQ4TrWKE=; b=PiyfWpJRcv0ZQ8HO/V9rFP8iC2zRoAO2MUvZg9xtrlkFiyzaCG5lqwt2PVt0TSnb/LtucM3kMLg2vwwI6tVt3gbaM9S6fdyGW87ZwYNkJdQPpta2FICsLQyn8XVdpe/Juu3jrVr8Ly8DfwFcdwKxYllcQ9yo3z3VrHBqK399Ips39JKnnmkLzxFxYZjB4YIIa/22iFxoeasGn4LdRRjeLT9RDrEbsi3ddJM8E9C0bguyVOZcC5Urrgot/Iz2aMI4sSG8BhM4jge0Jk+QVgxbDEzF9fU0QA9V2xZH88mp/WWJSA7HCXoNfREpLq3pZvK+tnb0KJ+YdqZj/2icVgL1yA== From: Mark Cave-Ayland To: devel@lists.libvirt.org Subject: [PATCH v2 1/2] conf: add support for 'edid' attribute to video model Date: Mon, 4 Aug 2025 15:07:19 +0100 Message-ID: <20250804140726.466440-2-mark.caveayland@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250804140726.466440-1-mark.caveayland@nutanix.com> References: <20250804140726.466440-1-mark.caveayland@nutanix.com> X-ClientProxiedBy: AM0PR02CA0200.eurprd02.prod.outlook.com (2603:10a6:20b:28f::7) To PH0PR02MB7159.namprd02.prod.outlook.com (2603:10b6:510:16::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR02MB7159:EE_|PH7PR02MB9052:EE_ X-MS-Office365-Filtering-Correlation-Id: ee516588-a7af-4713-cf76-08ddd360413f x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|10070799003|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?P81gaKe3lRxfYu9uNhSd4+m6vf88bEXsY/OABhiUuvBjNE92P53FhJ9J4b33?= =?us-ascii?Q?zwmhJY4tql5JGFipxc+Ytnk/TInVci0ja2Bunk2mROBAntcVsGsBU7vuNEcp?= =?us-ascii?Q?ZOO5sEBZFfZK0zwvq1D24eMatatCx5JBIVVzish2s7d8PwdecJ8sQAyRdz8G?= =?us-ascii?Q?gsWeFBTROyaD7Sq0XmAEJ/O2HeYUcEZcvN+UxGP9ksQrzL0hjiK07KP9jjgN?= =?us-ascii?Q?60j/ywj4KgSN/xZWVSq5N7OTn5Rp0dyL4LgyhbQvhz7tklmwSm+iX5jAGaJ1?= =?us-ascii?Q?7Qxkp99U02iqOlu4M9Y5co77kcHfzrilg6XpmSnr6XNWbhMNWSIBbkDs71Px?= =?us-ascii?Q?r/tKXTeGEypWFy8E2PEsWKTSeWmAI3IR/b8ocgVc+aLNgeDMnkMvK/McDuKB?= =?us-ascii?Q?lnerUQu0J4UnnTdVa92mR4hW4aVKAp3u9asrE0vtXQJSmN8E/vL20Mga2Kyx?= =?us-ascii?Q?S8rSdl8JpVszbZmgHR5CUfGaX61VfAk4n9HbQ7N8HbO1Z84wC0s5gwzqDhj4?= =?us-ascii?Q?1qJrzwpXTivMNTWAYsHH1kZP5c+gzMLRzCrmrx+GlfX+06V62W5xqhVUWNfD?= =?us-ascii?Q?wENnrebMsVmJlcWKZiR2ic0codA1whydeomOOK+hJ6z8dc8m0M5J1vdMqGUI?= =?us-ascii?Q?P1Y/v1t2EXeshNCI+JXYcWL92ecmA4HVKuLCMffk52fTTgkMycwJCzRvtVwV?= =?us-ascii?Q?0Yyl+6YatkMMv9ZlFKOxZdzQoZIYqZqaHxr2y+gyJF+BiyUKQarfa9nZeC6G?= =?us-ascii?Q?G3BvOEp8gfyyThVtIQ3aq2xVku1ed7wkWIlBu22bGqpREEqCVuluVXXP3Rba?= =?us-ascii?Q?1a1K+AVCCjYPj+WjKC+51AukoYAHu4Fip7k+mOEl2XQe8j0lOC5nRzd4XqKI?= =?us-ascii?Q?0fIG715sQ3YwW+F/9Dv3wlM9MECPKF8j/aF1kOwucYZV5gldcCmkNEzamOO9?= =?us-ascii?Q?7RR6WEwCVc/DKf7eAfdhCQhSnL9taXJjKQCMA9Y3n4/VbuKm09T5Ab1vT9po?= =?us-ascii?Q?d2oEpQ4GWdie2gpuLXDtgwwFkZiWtCumf2ws0VHzxCZb4HAv6DEl3qFYTwcT?= =?us-ascii?Q?Eca0yV90hkOJPVju6Kv2Xfm4Hj6IOyfGCwoYQGzo9R1XI7KFUcOHoeJQTa5V?= =?us-ascii?Q?cOKd4GTjjw7ATdaDCauiqFl1WPLv10BePIkQ2UGk88Bn+NNbi3zOk+HRGeci?= =?us-ascii?Q?4PIU8WXb716W9Z0AC3cbvrckfG3kaNW1qe7d1iGC1O01mpWLa+k/ssIsZP7r?= =?us-ascii?Q?qrYySncSqHBYqSjnbcT889KwjSOHc5O61U1RR/c9cGp1mE6k61QzPEpvwu6u?= =?us-ascii?Q?850g9mYtYxy0TBUmBM5UVadSuCyrWRDppBCOavYaQT5UKNAbNp/hmX0AxB9O?= =?us-ascii?Q?Nv0z3gigNn5LWV1gbRrU625jLVkwGgqnTePUIx2Eg+H6OlOWjw=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)(376014)(10070799003)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4P6jZ8h5YpbF5GpGAWmJxKpZEa6cEj8IU+PJJpXzczkk0wfUK0Vr7zclUA4f?= =?us-ascii?Q?g/pYAcWtFgp9qPqof/n5pxqaFx5Aejzg9rIcXetJKRQfd0HxLXTWM/nSx6Ko?= =?us-ascii?Q?nKMEXt9GVIs/Ly8Kujhx+R3qN4urBeP4Pr3xZBujaFiUPmQ2TDVVGRS42uih?= =?us-ascii?Q?Dx6P06kgJtNFbXbJjVSfdOB6bYpvEGYesI+b+3VpsPbw2n0qUQ68aAP/q+km?= =?us-ascii?Q?VN/I2lorgmmNijD9rwv4x0S7vzoH7favMRFN1xExA3i/nNPpgwRdWbAcd6TV?= =?us-ascii?Q?qKHFY5C02XCXRv+peFYoib+XNG4Fck3RVG75PbHm8FaZjCAMYqs7ij0IYBo8?= =?us-ascii?Q?d6sZr5KdS2bmq5HUCaDUM0UwH1U1sQdoGLJu+CYuVUroQorN2hvY0mpHGaob?= =?us-ascii?Q?cog96mqfhTom3qaC+xIm07LdlJwZM1A33fYbPIoEO6sCtT0e6yDakm9WJFSY?= =?us-ascii?Q?NLfA+zFzlv/vRSJh3Wur/gH98sPteLTv5wM3u/iIVU9kGGHFILGJl/JkGX2l?= =?us-ascii?Q?D0lNyggtahcAPBK4n+/b806KnihD5S5WQ1H264rg0c1VCuO89ddokuS/UTMX?= =?us-ascii?Q?oBzH4JP/1MfZhGpwyelkCxnLrMpxodrbD9uKU/Y/DTtEXzTUFlYMCESxb+vy?= =?us-ascii?Q?l3l39eeoU50aLj4X32Aj5Vb6M0wp3ZJPFKGwIyU5MSUHOupbs+pnJL+SFxMn?= =?us-ascii?Q?AfYvOIfVLjax3mPDNo/6rPQOWMItHWkSLfNf2oL8/vPZrItwSC1vXVwW53Sg?= =?us-ascii?Q?x3WBie2Q41sqtzA3/2DC8RwtAZn9Cyz7nX2CHK5fBYqY3Wxh8n/MDa3Jr1cK?= =?us-ascii?Q?uM13s2rwDZJxG+OXQ+/7n8PLXKrvb53x9/ayo5ZZcfSZheVRDeHwDRaLl5tJ?= =?us-ascii?Q?W3G6mO6o6AtbWvJ46+LtbdJmEKUo1Ui2ngi73FaBVQhsqQnAk3KAppLgszv5?= =?us-ascii?Q?qLLojt/tJnNhScUJ/7gB1jALlQDpbRPMF/Akvu6uvKJ+uvIttx0cuXWI4x9r?= =?us-ascii?Q?zesTPtbvNKnvI31dkC+UA2Omlh0jws6KxYTWLmIRvUTPejo4hRexp20K0pTH?= =?us-ascii?Q?MIdGEXwhPTqKIRGNEIEx9aAtpp+Po28FWGmpe9oRccrqnlwT/dgq6zTeR/mq?= =?us-ascii?Q?gJ36UTkbzdKOK+xJcZPyJjmKplGgr9TQIHqqUpOQdbJDLcP7p6DdSLiL75B8?= =?us-ascii?Q?w+rjj/nAf2EX9Sen4eoLs7J+Kq/rJ8s+XjDPpwiCbxxlbS1B8iyhX5TRttOs?= =?us-ascii?Q?Kkb2dE38jxEOmCkWo/iggAlzHQejzTOSdVKneeo2+69b04pDNqspAAKmpi+d?= =?us-ascii?Q?TLOMQrnWGvs/QmQBKM6Qn+AYshMOkHaTPCcLy6du/zk1sfPDu3EWV4VZhGLa?= =?us-ascii?Q?WT+wmgfo3KrqqCs/WpTL3TgNETSLr/LZM/6rR5t/dOHHkE8t+FjCD2QfwjyP?= =?us-ascii?Q?rEkc12NQdnF6CD2z/7mLpSzVHuM724e4DjBoFxZtNB6iwSr6WRFUHGxW6N40?= =?us-ascii?Q?23jmq2RjPaXZkMbmrVzWFzEvn57A/kERVL/xMz9PCZZNdNyWY5AJKXIEfunZ?= =?us-ascii?Q?yHr/hVCKcE3v3GJl1/kGy3PrWG0vBK9BcM+G66VFd6yFNNFooiAP37U+DGES?= =?us-ascii?Q?IDZLeK8we6vIIlyWH3n+K699FkQ8ophpbmc/RfNoR3IQ0glyYyWcwqv/5MUx?= =?us-ascii?Q?vYk6JA=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee516588-a7af-4713-cf76-08ddd360413f X-MS-Exchange-CrossTenant-AuthSource: PH0PR02MB7159.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2025 14:07:32.4961 (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: H31VORZGX3F80C9RI4fI5vMEwywTFz4TxDuXF6e9bmq7aaUVKI3BBA29AUmf39yiXovXVDAaZ/lLvlNfOBkpcq+2r647NZS8mAG1tQ9p/Kg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR02MB9052 X-Proofpoint-GUID: StJQWA-0-kQhyFhbrqSpHqlYrX_qkFG7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODAyMDA2OSBTYWx0ZWRfX433Cg3XSl/+c BqWzUnFB+VhVlvAUBB++mJZeoTrv/bzI4WRFlwcev7FWVNg1cFR4MJ7Ud9pUzzMqbZVC8nyOHYc 3ijLOgJ1brz3fFWTJM77ZT4/THuCqUwH5dLZ8zrCmU0b90QgPn5Eftl96kzkUPMV1n7Iw31dQ5u 3vPeH/2TtUccAEEjMmRus3FWx09dE20MQ8rUJM+mxO59DRo46zwyE62rYTffGS2azVwKkg+iR8k DjPUsezI5ugYBU4eLNy1vaIRXK7J/O0RCP3rwNX33/GvdaI3UHyCaAPPbkks+D7zs80i0sLUPQF mcqte5rHlFggRJcTHJCk5lg77aTHOanvXgks1qmNLECTe/VaiIXacXixbDkc+x42wJb5UUD5b2A 4Qd98nDH X-Proofpoint-ORIG-GUID: StJQWA-0-kQhyFhbrqSpHqlYrX_qkFG7 X-Authority-Analysis: v=2.4 cv=WJd/XmsR c=1 sm=1 tr=0 ts=6890bea7 cx=c_pps a=8dnTEL0w31pCL/ZHUAqC1A==: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=adZG2X102bNMX6mm5EgA:9 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-04_06,2025-08-04_01,2025-03-28_01 X-Proofpoint-Spam-Reason: safe Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 33MTBBOIS7MMNCKG3RYGU6WAMUKD3IP3 X-Message-ID-Hash: 33MTBBOIS7MMNCKG3RYGU6WAMUKD3IP3 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: 1754316527369116600 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 --- docs/formatdomain.rst | 8 ++++++++ src/conf/domain_conf.c | 5 +++++ 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, 33 insertions(+) diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst index d3c04d8b2a..e66db10abe 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 default value. + Otherwise setting ``edid`` to "on" will expose the device EDID blob to = the + guest, whilst setting it to "off" will hide the device EDID blob from t= he + guest. The ``edid`` attribute is only valid for model types "vga", "boc= hs", + 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..9939d83513 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 @@ -26657,6 +26660,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:50:53 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 1754316648126686.4600486312769; Mon, 4 Aug 2025 07:10:48 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id CDBC2A77; Mon, 4 Aug 2025 10:10:46 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id B91D1129A; Mon, 4 Aug 2025 10:08:02 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id F210CB52; Mon, 4 Aug 2025 10:07:57 -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 3FE26121A for ; Mon, 4 Aug 2025 10:07:40 -0400 (EDT) Received: from pps.filterd (m0127842.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 574Ar65C020866 for ; Mon, 4 Aug 2025 07:07:39 -0700 Received: from ch5pr02cu005.outbound.protection.outlook.com (mail-northcentralusazon11022118.outbound.protection.outlook.com [40.107.200.118]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 489j09k5r1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 04 Aug 2025 07:07:39 -0700 (PDT) Received: from PH0PR02MB7159.namprd02.prod.outlook.com (2603:10b6:510:16::8) by PH7PR02MB9052.namprd02.prod.outlook.com (2603:10b6:510:1f0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8989.18; Mon, 4 Aug 2025 14:07:35 +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.8989.018; Mon, 4 Aug 2025 14:07:35 +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.5 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=9WO7stQt7lmNF13y/VREvidCXeMTCq7unQIKwrP+i R0=; b=nfrgl6U9TAheX6i2+rxCnvYEgfG/KblOQNwHNoKjajo40nrdM0TuFo26P CM4wRtTCreGHBwLpE2I5gtXAnlxRfMixT+MLiL6IkOYCp3IXJlEhQlqOT2DCXih8 aTc12The0ADPNCfVbTDHZIzwAuvQThza/hBD90bstHE8sQ5sZBzrtS+H5XuGjFJW EV3ljrGMF99g+9xW5a4CdZEL+KWsJOhoRmzrk7gfuLCJnza2ICQUfrZXbi5etvPM 0AlcxHobacjBbj0197jIoeUbSlt00y0haZS2TTVwGda7VJM1qZ/TxffliX5eLfer rlyPyFX+jyX+XFhmdefskRf86dSiA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zTQCwS83wmS/4vxVKbRE+RlZvrVYA4FzKd7vw2O16ysUkTYirbBGN71i5qDltWPRTQky+pqdmdN7i6U5a/1TmslmqBLk1zQgh+jK40L2JFQa8PlmnsqiLC6pRUvAlnkKnORlH6FhG0f2I7MW1Yc++/HLT4q9WlKwqfCDV2kik9WlhJ/DrcdRM59+S7xmSu9moLnpZmEhV/7eyq/sil/rauXYlcDH4BW9mZLCYLPeRh91KMWgrk1UIQrwcldFVSU7nVrqwVGo0iUke8J+YUOU6bc593+ctYpxKR96hjk3B7KJCQfObdkg/g54QuBHODejDaZdno84u30x+sBpC53+GA== 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=9WO7stQt7lmNF13y/VREvidCXeMTCq7unQIKwrP+iR0=; b=yiWk3jIncPLCkuO/n9Erya+ySwhAKvXnu/UiLRawN8H4Edu6sZwLGlgq0wNF4lA2wSKaf5DFZ3NNS0nSTYHA452whLQDnR8Upocyvd51mRhua/pS7KnT4utk5SLl0rzOVHFRMfr2t6BVJJcTuwhBAhWcM4tjJZnzjVJdeYr2s1L5g+Bi4OIrdduKP1K9MVb9fWzadkAAvlYtZz1tIeq9AWNuy0qVUxTJUJrMl8ehgyrcM1JNZQURgb6qr5ZqMoxi9gaQk6vY9z1ZQZBNCzXg8yd1I//NriJHNchPpb+m74L9EQ1+eJfk2lhBqYFbGMbYGkgrsvkouWrxCv2c0Hpe9A== 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=9WO7stQt7lmNF13y/VREvidCXeMTCq7unQIKwrP+iR0=; b=QXZ40eltjmHKl5bMYip5AXuVR0t2V1VOM8EZkddRsM7Qah3KhlakJ7kd1YCwVry2CT+vPXkv0pGyPRkNttSGmrvE+eshW8QeVOxy25kN40Z2V+CTVa3hlmdYOVK1pIRbbAhp07Cflnh26OA//dBuyuncbviUbuARP2N450zksT/bfEFvoW4LksePEnAiUOmUsW1lto2PRfp+tspRuo9IE3iNrUGH7kT1fyWIB0y70ZdK2iS4CTYBP4t/j8f/yBDwU0bcEtPt5iKvI77m/NBLvuYZzvqByT7LPivs3v4xRAEPHdYjQDrAbvQ4ydmwKFR7lYJNaf6HSHEX08XaljKz4Q== From: Mark Cave-Ayland To: devel@lists.libvirt.org Subject: [PATCH v2 2/2] tests/qemuxmlconfdata: add tests for video model 'edid' attribute Date: Mon, 4 Aug 2025 15:07:20 +0100 Message-ID: <20250804140726.466440-3-mark.caveayland@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250804140726.466440-1-mark.caveayland@nutanix.com> References: <20250804140726.466440-1-mark.caveayland@nutanix.com> X-ClientProxiedBy: AM4PR0302CA0024.eurprd03.prod.outlook.com (2603:10a6:205:2::37) To PH0PR02MB7159.namprd02.prod.outlook.com (2603:10b6:510:16::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR02MB7159:EE_|PH7PR02MB9052:EE_ X-MS-Office365-Filtering-Correlation-Id: 2acf4458-9178-478d-b0f9-08ddd360434d x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|10070799003|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?KFU4TpZU33DR6p79JprOWELsqdRjAZN6Eu1vqbcuyLnPwKd9+9Nz6UMWxVwL?= =?us-ascii?Q?Kc+kWljKwWv5N56DyQtkijgbljbYYqPrK3QH3v4XUXZi3ggRkZ8vfnu0VMw6?= =?us-ascii?Q?2UcxEU+5C1EsNBQGHhflYxmo8oJi/KTWMSDLxLb1onVFNbLBPyGZlI0mk+Tv?= =?us-ascii?Q?qw8gLv5DSMlzlE+H1BA/0D+z8nZ5dqCpFVIwJXPou32jxEeSSygq3vTdLaql?= =?us-ascii?Q?UM3aQHePoFOuDO3YNlLw63MlVlxbSnLAOA0exTvaZwRIRmsCtfU2jsY/Us1I?= =?us-ascii?Q?RY5aq2sG8rq4c3vDudVgdSgvWgtGo8D9dHOskXg4V5EqP9knC1rrvsp9yfCm?= =?us-ascii?Q?kq4laWyhBYQRzmoo2UWwVB7H8MP6jKAcex2AbK4cP8Acmf2CJCT/4cAk8qlw?= =?us-ascii?Q?1HdDEPbyvlVlTLR4bfUPevB49tP9fSmctxbBFGDWJw+fjSyJsxaW/9X8520P?= =?us-ascii?Q?j3Ta7mjeqEaoY1xiScztSl7DOYkmvkmmdmyPlVzbZ8sW0lEeD7LphKrgbUwP?= =?us-ascii?Q?Rcn9jD0qhhEK9IeYEH9LAl0KGJyntYaVmriljVN4unstz8iVXTbz19HeJIr8?= =?us-ascii?Q?XAknvBIQIW9DWOGB26g++MnNPuU/8IULRBeFjqOhNCLh7hgB4VFV5gDzCgKk?= =?us-ascii?Q?uY9DpyqHWIRhsya1TxAV9urUYKgFwdgFW6FL9ZZ/vrBdnKbDK8ckBUseN9lc?= =?us-ascii?Q?VHWxe7xmf9a58+cmjtXzI1XxaquSmD1vm2jrevlrlmsJoFhmL/czqf8xNK0r?= =?us-ascii?Q?+ioxJ/zaOPsu8oRJA5J8vTq/5Q+f7kDaYe2js0SX+tnaclTwKTgJrtkya11j?= =?us-ascii?Q?ogEDQW7TR7ZhfgdgjW8tGUJWiuMLryGOA3tESh7EdZ5UeJcXV2Tr0Ui76vQH?= =?us-ascii?Q?MPizwEKVnm0AnLa0sBT8yl/ee0EG8WziZORoYnt74DzMBVw+V92pxvl9FjcG?= =?us-ascii?Q?uFcPHtZjEkR9Oond8ImWUy5VvV5u33zJhBOktQDaQaMCWdljxrHORbD4YBL3?= =?us-ascii?Q?vZvtdvovIdeHJ1R3KzjyTW4Gix19U/TWy2Ohb44Gl0PS7GLDb8MKG9k0SHNj?= =?us-ascii?Q?c76E54o18QTFhZmK0TCovh0gbbeAR3B5YKx3A0o8zS3J09tg/ZgrQQNlDhIp?= =?us-ascii?Q?7hItygRCCoGFpXKFiXqcy6OLANGQ1cifgiivCIE8SXC/y2kluibWh2tJZUNy?= =?us-ascii?Q?5Ukd3IRpEazzcEv0hahAQd8fwtWNX2nKapxfkwB0ZV2aRu8IYSzCAWylIFMf?= =?us-ascii?Q?AojGD++h0kVBD1sO/N11LJmbbDAGIxIRtER6K8/Oe31QX28A1opwPVnW4Lev?= =?us-ascii?Q?BMSnl9m1u53EWthZovjayXNFdTkBiKxnMwQCiZo/t0Z1dlC8zMlNR5bEUQYI?= =?us-ascii?Q?8EtqD5w8LQi/qoZUlqHWqQ97bojjfPl9cVcKVv1aFHAs8nK8BJHz5bcJ/wi5?= =?us-ascii?Q?0tvwfRBa4g0=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)(376014)(10070799003)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tOM+654KB7Qsd9tjfqtFHYplTaVQI8Y4ed1E0CHVWxrvnjr/KjFSZKsPR/o1?= =?us-ascii?Q?Px1hhcb25HFKkI/Evzgh2xzCe9iP3SGK1Fj/mx6+4B5g3K8DfIVvR9CAllFi?= =?us-ascii?Q?hL4smxyenC2O0t+Igcksf6zvhamryRboyNRL8jTqQ+T9DYNVDe25ui3CGgUB?= =?us-ascii?Q?YEHWfqDo1Qb3tDLTWAGZa7gy+arEev3MBW0XkcRGP5jI6r/pLKXpj2Pw+zPG?= =?us-ascii?Q?ABuW7A+kQMEozDSBBKc4+0jW0nEjuBwSAcNHfm6tR/2zeAWD8X8I9WRgDqDn?= =?us-ascii?Q?jAiOeNKlVM1c8khTy2/k+ch20g8+Tt4mak696+4ROID4oI5+51jRaLxG7P0g?= =?us-ascii?Q?vk8UJyMiOw4LA1gFTf/6N3z8nT5DfPu/QYUxHcwCzaFmEDQcbOImqKLd3dE1?= =?us-ascii?Q?IZ2kwNUINSpqQJb5+0Nru+HyxioXWev9/gYzOIfJWXNl1LI6pqd+J8o7xjLH?= =?us-ascii?Q?9VtkKDH8QjAgkkPhDtxfXePDIt7LzUO/aOdsO+t1akKHQGsJtvF0ryuItEe4?= =?us-ascii?Q?RJ8S5Tyla9BjHSUPCd7UDy42KdRIpdzEXPo50l/pdQSaS1wxX6UUb3FHdUtN?= =?us-ascii?Q?4DSCkoNgs4NKMl/+aNW+ZF6TNvzx5mIBWdI8HyGF0aGljlt1BbbcLzdTPlru?= =?us-ascii?Q?J/PRg9xUNrIquNs8TPqyGaYwioX00HKQxB0v+Fy+2Iy3YtI2uAx5l5KlhOlV?= =?us-ascii?Q?kf+tDFtXLOrCA0AmzcSDgiJeC2kavD+nL9IkgfMjjEOWRppmK5Fqp8G3LO3d?= =?us-ascii?Q?/ybuk0i9EfzGN9ZNGAgekGGGEK5da6IS0W/IRguoW8zV7Ux+i1XzQp0mOWmI?= =?us-ascii?Q?G6lpzcd+4UMitnD3KM2wJtlNBMo0KqTUu3zxBbMvWYORaMR6Xu+Ms3l2otkn?= =?us-ascii?Q?3urLCQjB8vD97H9WTEEvfAru0CrHVQTUs49CvaMp0AYCl6FV0u5s38jAdAk5?= =?us-ascii?Q?0AC1stpo0rigX2VQGF/ItPQ/hcsGktTVotUZO5CAR6e/gXfNY3+bobGoW17Z?= =?us-ascii?Q?D3i9QDV7rRwBqYqgEnODwDaYIokN0XVjhEAQw5+4vHBgbCdJdtgF5+F63zHw?= =?us-ascii?Q?HABh0kwPWz5wZE3ZcYrsQzOoCEqBb6EfDSLVPZ2kluPeGTBAy/nd2QyTrhHD?= =?us-ascii?Q?sPKgYsGkw+jkIN0BpBZY+uzLbbuxc6g+24I6nRtGIECWH6Jw1Tu7j3EoD0yH?= =?us-ascii?Q?hTGz+uGTqueKYRQgerPjvwx/9zjo67BtDNX/Nml7u0uiVIwIJmSZibFBFZzV?= =?us-ascii?Q?aedGHpO0C2es4wr+JA18tYAqQWqtl9gC4wMt8kF85CT2b/HMNSi10zVaB5/i?= =?us-ascii?Q?Pbc4Wp7ZuPUcfzKlIMjg4aDogQwWsEte5Eay1VPoWUTshnBeEJULmZfe3f8X?= =?us-ascii?Q?EhqdjedP2t3G30QBiiGjuutX+7/ad7djDkct/oNQCWREWf4JjRKUMAkPPFWa?= =?us-ascii?Q?nwVO8/xuVqhReqrJVNYCCYzthDZrZ9Y+9khEkgxVIZlQgRGdTjaMtM8RZTkP?= =?us-ascii?Q?L/t3+rd2xiYqa1c3h+n8t15PmLEEvxB/qUdT4valaYDNGPt7wKg4NQuhEsBe?= =?us-ascii?Q?02RZPkpICPvLO4iuSSyuMBZoaVuUAQuwwVWSENz79JdkWF7YIiLZdCsw/WGV?= =?us-ascii?Q?x/03+85DKnehsISCxQ3gmh8+budqHkxwWocDlbXGMYYb3Y5oKei+97VWDIDm?= =?us-ascii?Q?UXIZ1Q=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2acf4458-9178-478d-b0f9-08ddd360434d X-MS-Exchange-CrossTenant-AuthSource: PH0PR02MB7159.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2025 14:07:35.8688 (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: EgvIL7FNMLxoD5ubj+Tm5PFR4PjNZ+dzXQMg7gIjzWd+6Hgdm5Bqkru2mX8H07+SQMzku/SI1dVqYisz0xvfdwejzeCm44XnGd6znPoJcR8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR02MB9052 X-Proofpoint-GUID: VBOEbFSRZ3NrOfv2Ro5wCkljgL3K7GGM X-Proofpoint-ORIG-GUID: VBOEbFSRZ3NrOfv2Ro5wCkljgL3K7GGM X-Authority-Analysis: v=2.4 cv=J+Cq7BnS c=1 sm=1 tr=0 ts=6890beab cx=c_pps a=XvwqfKrzn4xeEGDWI/eySw==: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=JNAqiUclbDiUzXmlxTEA:9 a=bOFnGhlf9t7dVGqA:21 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODAyMDA5OCBTYWx0ZWRfX1/3ReiFL46Jd mjjH2mN4YACZYyMnYD+FO8+cQO/9Xl0uWwERfpYv6v5/eSc/+A05emzloZGiuKuPuSvjM/8sFT3 qoCBOyaTs0Nxx5g1z046fRRvwYFRAhFV0ouIUeJ673IGPPkliy433GMMH+vWiC54UjG6MVdO6MQ n7taF81gi2G5upAyM0Bosp0uSs5vjwkN7k/hNOqLLkS0QK5s+P+6+ns1kOsZV1J+LerQYv4iIRN ZlJIlW+FJT5UDyXqQW3xAQFO+wx59OcNUvJN3/vQCZwgn96E3saJ2+Fueh/6ueColgl3cqXim+X 0g1eEMqFjX1evOCR7UKQ7ATgcUnh7STGc9hK7mnkLhKgEfevWNqBjHr3wopKXpXZ10lm0v9ZwJ2 i3A82aar 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-04_06,2025-08-04_01,2025-03-28_01 X-Proofpoint-Spam-Reason: safe Content-Transfer-Encoding: quoted-printable Message-ID-Hash: ODHSZVW7UE3RHQ75CBLZELQGIVTA3WU2 X-Message-ID-Hash: ODHSZVW7UE3RHQ75CBLZELQGIVTA3WU2 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: 1754316650695116600 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 | 37 +++++++++++++++ .../video-bochs-edid-none.x86_64-latest.xml | 47 +++++++++++++++++++ .../qemuxmlconfdata/video-bochs-edid-none.xml | 36 ++++++++++++++ .../video-bochs-edid-off.x86_64-latest.args | 37 +++++++++++++++ .../video-bochs-edid-off.x86_64-latest.xml | 47 +++++++++++++++++++ .../qemuxmlconfdata/video-bochs-edid-off.xml | 36 ++++++++++++++ .../video-bochs-edid-on.x86_64-latest.args | 37 +++++++++++++++ .../video-bochs-edid-on.x86_64-latest.xml | 47 +++++++++++++++++++ tests/qemuxmlconfdata/video-bochs-edid-on.xml | 36 ++++++++++++++ .../video-qxl-edid-off-fail.x86_64-latest.err | 1 + .../video-qxl-edid-off-fail.xml | 29 ++++++++++++ .../video-qxl-edid-on-fail.x86_64-latest.err | 1 + .../video-qxl-edid-on-fail.xml | 29 ++++++++++++ .../video-vga-edid-none.x86_64-latest.args | 37 +++++++++++++++ .../video-vga-edid-none.x86_64-latest.xml | 47 +++++++++++++++++++ tests/qemuxmlconfdata/video-vga-edid-none.xml | 36 ++++++++++++++ .../video-vga-edid-off.x86_64-latest.args | 37 +++++++++++++++ .../video-vga-edid-off.x86_64-latest.xml | 47 +++++++++++++++++++ tests/qemuxmlconfdata/video-vga-edid-off.xml | 36 ++++++++++++++ .../video-vga-edid-on.x86_64-latest.args | 37 +++++++++++++++ .../video-vga-edid-on.x86_64-latest.xml | 47 +++++++++++++++++++ tests/qemuxmlconfdata/video-vga-edid-on.xml | 36 ++++++++++++++ .../video-virtio-edid-none.x86_64-latest.args | 37 +++++++++++++++ .../video-virtio-edid-none.x86_64-latest.xml | 47 +++++++++++++++++++ .../video-virtio-edid-none.xml | 36 ++++++++++++++ .../video-virtio-edid-off.x86_64-latest.args | 37 +++++++++++++++ .../video-virtio-edid-off.x86_64-latest.xml | 47 +++++++++++++++++++ .../qemuxmlconfdata/video-virtio-edid-off.xml | 36 ++++++++++++++ .../video-virtio-edid-on.x86_64-latest.args | 37 +++++++++++++++ .../video-virtio-edid-on.x86_64-latest.xml | 47 +++++++++++++++++++ .../qemuxmlconfdata/video-virtio-edid-on.xml | 36 ++++++++++++++ tests/qemuxmlconftest.c | 12 +++++ 32 files changed, 1152 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..4256c51f93 --- /dev/null +++ b/tests/qemuxmlconfdata/video-bochs-edid-none.x86_64-latest.args @@ -0,0 +1,37 @@ +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"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1= ","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap","= cache":{"direct":true,"no-flush":false}}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"dir= ect":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \ +-device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-form= at","id":"ide0-0-0","bootindex":1,"write-cache":"on"}' \ +-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..e00b2bfb52 --- /dev/null +++ b/tests/qemuxmlconfdata/video-bochs-edid-none.x86_64-latest.xml @@ -0,0 +1,47 @@ + + QEMUGuest1 + df538144-b703-4b6d-860d-82ca8597d4c8 + 1048576 + 1048576 + + + + 1 + + hvm + + + + qemu64 + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + + + + +
+ + +
+ + +
+ + + + +