From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11023081.outbound.protection.outlook.com [52.101.72.81]) by lore.virtuozzo.com (Postfix) with ESMTPS id C18BD8017D for ; Thu, 29 Oct 2026 11:34:44 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Bhp0vAEVEZT2Ulcx0SoGk28pimgHUtbVXKRsav+V9IARUbZcsj3bXklSwGKb9VuGibAXfnM0T9MLWbJHzGYStBRdPzDLu7RX4V/mDAXJxcDaxPB3fQLfPXeQ7fL+1R7DjMxmnVs03XsUkeygWb5x34KZ3OJD99Ei8SCi+nSg0gNlXAG6Q8EHQvmdWKzMuiobDbV5Ovr3OMStZhLmWIhKxUecsy0o+2TMxk39Vsqam2Sl18DH2JA46lxlR2sgL7FFGqU/Ohle61EwAcoQkRL995G6gMujkUUoqzd6yf1kES4BWYdzfhixdZ//tKVv9kbFf34mdrrsXJo7jQ35LFChCA== 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=FjAA5s3FJGNvB+8nwM08FLJU+IsjV4TlC/wjT9TPjGs=; b=fvP3rzedXkEDJhrMwqeBneqDqebKudQVHQq1jvX7VCrJq8axu65DkOrpOvi3hXFY0vGn10m6p7a3b+lKxCDS87OvLV1C+O0zYFc9jk2Hea7hM0U/ULlGlbRbfK4FW0n9Vf+V9VfJKh5eUw1GCdNNeEiaS3Fxrm+B1aby9/oTmtJOBTCbHO5NKzYHhoIAXnOdaWl4wZap27JJ589YhmaPE5Leokls8Uov2ilTx4ZTPALuqoQhKNEhDMf7l59PlKOxmLcPWYRfoFt/OjrR7+XhM38ZhIS1aBUDy5ClH2tk4C1w9CzCWAU2yYZ+MDr+gMuXP86Z7OtZr0gs9qHqekjTfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 2a00:1450:4864:20::335) smtp.rcpttodomain=virtuozzo.com smtp.mailfrom=openvz.org; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=openvz.org; dkim=pass (signature was verified) header.d=openvz.org; arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.onmicrosoft.com; s=selector2-virtuozzo-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FjAA5s3FJGNvB+8nwM08FLJU+IsjV4TlC/wjT9TPjGs=; b=bDouiza44wMlQnbFKTXwx0n/SpHfxYMDrYf8xZi0ub/rUE89JtPWJO7JeQa0qYtw2aeY4NKZmEqBAeLuSSTtjMxAHSg8laTegiHk2UJPdXbaGWoWmZHjTtUnyWXBqXpgmzWZcAXdMOzeiaTQYFiGQQ5cnj5I7ynivlgYThSu614= Received: from PR1P264CA0007.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19e::12) by DU4PR08MB11289.eurprd08.prod.outlook.com (2603:10a6:10:628::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.8; Thu, 29 Oct 2026 11:34:41 +0000 Received: from MI3PEPF0000855E.eurprd05.prod.outlook.com (2603:10a6:102:19e:cafe::a2) by PR1P264CA0007.outlook.office365.com (2603:10a6:102:19e::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.8 via Frontend Transport; Thu, 29 Oct 2026 11:34:41 +0000 Authentication-Results: mx.microsoft.com 1; spf=pass (sender IP is 2a00:1450:4864:20::335) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org; Received-SPF: Pass (protection.outlook.com: domain of openvz.org designates 2a00:1450:4864:20::335 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::335; helo=mail-wm1-x335.google.com; pr=C Received: from mail-wm1-x335.google.com (2a00:1450:4864:20::335) by MI3PEPF0000855E.mail.protection.outlook.com (2603:10a6:298:1::9a) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.4 via Frontend Transport; Thu, 29 Oct 2026 11:34:41 +0000 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-4a1fbd52ab6so15918385e9.0 for ; Thu, 29 Oct 2026 04:34:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1793273681; x=1793878481; darn=virtuozzo.com; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=FjAA5s3FJGNvB+8nwM08FLJU+IsjV4TlC/wjT9TPjGs=; b=fADrLWlVv+mum8IQH6fjMcAj0ycqRnig/MN0ZuGOhhcUWo0iTQPp+IKA9lc6astcFS HYvLqAeK0QYGWcNnVgvh0KlvQSUTShG5t9ELJXwUkuPxAxeP7q7uuaTxpsS0+JKUeywq eufW1jvYkaHjU9FeTlnrm907LN1qgOAe9VngNuh5XxsPiZ8dTtD0rNIhYsQhfOgitb4k r8dwLDLNFSUuLltlQLVqpQjSnRqSOUvxhJg2wvNPPZX95I7qKxir5ISEmPPvy3O1yrNU Q1uUMUwgoDs+uLB7Laz0EGyK0tDSEVm1MggK0JnXDoWGJLot6aa0bSWgOpkq310WjDBH kRiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793273681; x=1793878481; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=FjAA5s3FJGNvB+8nwM08FLJU+IsjV4TlC/wjT9TPjGs=; b=fVmelLEYKhC1T/Ktx0K/kZsq/zhI31I23aXzZhIqh8MGNoxx/1sLtcDOGAMS7qTSXn WkM9uk7DVVPsJEUT9fRmPuNYCPcGqDxYb8xpNLJoi7Pq106jI+TbjuKcgyjumZfpxXYP BQnEvXxUxYFRBNasYiQ0e1ebCqevy2i1di68yjfcCW9N7JQHHAG0MnW4UhA5vDCvjv/F TuXFFzFq4iNhuRof/xSQl+hz+Bd97D4Ccgd7ez7x7EDYFZahRr9bfeDBLRYh6vM5QA2p hp3GN5w6aGL+71pbXX+yn0mdjoWVzSwWpFXk5p2yuVhWrzfHRs3da/1e7z0XMV3eeX0z WL9Q== X-Forwarded-Encrypted: i=1; AKwUvBy2fqo5EAr131Bif7Jkqd2Gn7x7n44THbtagQExDfB2rEQ4CSihLIOr6vjG4ikH1/nlKLUGmRNTWg==@virtuozzo.com X-Gm-Message-State: AFq9FYKIXdIoUclpUT/IrAMDJ6Pep/HXi1nXyI2y6Z5O+w4ZFds2K2Ox WfppPilJeKNM4BtSW8MDSiffm+Gz/CkAgFEz36ZyUCI0gWOEa7cX//AHLrJ2k25tkfJUpQ== X-Gm-Gg: AYBFou24nn0VWRBR5zcvI6rE9W2zWxNr2cOx3ltoVdYRN6mhl0WeONeXU0nIypBj8zU cGMIhYMKAwwtU+aUK9hjZ4cw4NuBK1GCUybP9XyZcj+tyxidY7IYeMtnpZ8e8p5hi3QJ8tecKrt S16Hfezdm4+clsAGytLrOa6BwRPYdt0yPwNmD7PFMMxTXQa7ZypwcPb7IKkp8CY8GgqxqV5kjss FzD5KGTcugCt/5EdO/Evaqdc3hKPAhKpW8SCqR5hJQ7PvFwTIOwJZBQwnUXihw01qoPTdveNu3N t3to9r2FSLLlCqgQX4qbTLDfYHzmJiPyMUtf0St8/bLn1VO9qNUonhK5ySL/4lNxBqZaS83/xso 0TDd8lgtLpRqv1BHtCoXmIj3T4V1ob0vKK1NTfX3912mEudS2kodnyrOxP9kU0yHu+Kj1gV2xaQ PtarnSl4K8kw5WG+9crX3Rmw2Q91Gs1yWq+bEai361INYToIplK6XjfK265elGQ7/EXp5fukcWp vhXvX2o6ukytjMOToTGe639OeyG4o8AnJPP+69W6POI3phaiMpKYJTYLM34kcaP6MVTb6K7WNj9 beISkFX3MnaP/bKoQuhJ1D6cuQ== X-Received: by 2002:a05:600c:6085:b0:4a1:e01e:1927 with SMTP id 5b1f17b1804b1-4a996a9e304mr103043735e9.5.1793273680933; Thu, 29 Oct 2026 04:34:40 -0700 (PDT) Received: from athena.sw.ru ([2a06:5b06:b600:300:f4be:f111:4ee0:40d3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48e3ebcb958sm33967211f8f.21.2026.10.29.04.34.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Oct 2026 04:34:40 -0700 (PDT) From: "Denis V. Lunev" To: andrey.zhadchenko@virtuozzo.com Cc: khorenko@virtuozzo.com, svt-core@virtuozzo.com, den@openvz.org Subject: [PATCH v2 hci-8.0/hci-8.1 1/6] i386/pc: raise the limit of compat arrays per Virtuozzo machine type to four #VSTOR-152264 Date: Thu, 29 Oct 2026 12:34:31 +0100 Message-ID: <20261029113436.93521-2-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261029113436.93521-1-den@openvz.org> References: <20261029113436.93521-1-den@openvz.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MI3PEPF0000855E:EE_|DU4PR08MB11289:EE_ X-MS-Office365-Filtering-Correlation-Id: 097d43fd-36e1-4f73-58fb-08df35b09f81 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 0 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|61400799027|43022699015|48200799018|6059299003|376014|9140799003|82310400026|261028144727099003|261026140227099003|56012099006|5063699009|10067099003|261021123027099003|261022105027099003|261021121427099003|55112099003|16102099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?EbXeFbhfDBw1zUwxsn+QVaA2/mvWejvIW2SORC5uYDlqclX6Ypijo1uZlrXh?= =?us-ascii?Q?LltHgjTP7iR7f/8SnFE0bNpUhzhP1kRGcrVH7j95FWsL1zJUXGPfdlJoPTjF?= =?us-ascii?Q?tFbotLKXSYtEJmmajCuCHOPIjYyrymAafJIbqkRjAgfbZcuyQZow6vqwkYWR?= =?us-ascii?Q?zr39IweDhD9CJrzDY3aneHs9epMNIkm4w9IingP/kMDUm4dWXr3JU9w3QCcv?= =?us-ascii?Q?8LgbGWHU2tcGMLFMSEOhTbg+1LoIMgQjq5lA/P7IU+TK5nsrMgX1YicvME8H?= =?us-ascii?Q?whDXnEtoB6K1DWQUE+pBANfLhyjwkK6Kggf61byp9li/Mzt/ZbsZmIfG4039?= =?us-ascii?Q?MlaUe1NiILQ39e8gJeXjOsPg2ZW/jz/ehEVQrePsYqYHNuv8i9fGE9IxNk+t?= =?us-ascii?Q?reBBcaWjk2PZxWZFNEmEZ7FHnLa233oK6/WVhhq9aJt16NTF4j6v6MS40oYa?= =?us-ascii?Q?eoYnfgZu5p6i5N1Y8021xWmFkasDCxfzDYH41s8VF6qvHpBDgaPBtEYXQTsf?= =?us-ascii?Q?8XtiKBg3XrfRX6BVaDlC8QLIfQVoD6UdIkJjYF0eijyQzXa4QelgkHf0WjBb?= =?us-ascii?Q?GyHNARneApYTUZ7Qxon2zONwORwyvb/W102zbcGLme7ubBvgGYqQhkxvQAoJ?= =?us-ascii?Q?pJhPq8cANd7Xp0h8u+3BEdYmzg27dkPG/pPrrhdcs04XkxgrOV1PF6sTxnAI?= =?us-ascii?Q?qWPXyMxXM3s3tpL8AuUAX/x34oyM23JdaEav/k+GcUqGvpiUBSQ2KliafTO7?= =?us-ascii?Q?IK+XSrx82s0HHJ3A4rTwzjzL7uoWSszX1NCNvV6rSt+/v6VF+0op7wC0HTrT?= =?us-ascii?Q?WOmBLSw7wpATD712JEARNi4N4Ho9Jj3c9Xq1p6UDujBa1EHD+P5BqpTstriz?= =?us-ascii?Q?Fm4G6XIKC7q1FcyJHd1z1f+JoSj5MiYsBlBVzkqWwlZeESN3v6G/6wv/3VyS?= =?us-ascii?Q?0gy+K3wwp3o15SGROphPwaxavhrqzxj7FpW64Z+ljySauf48Ge9uvWKoVKpf?= =?us-ascii?Q?D0HCCIIsAp6Qw8s7Y9ZTv1ovHg=3D=3D?= X-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::335;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x335.google.com;PTR:mail-wm1-x335.google.com;CAT:NONE;SFS:(13230040)(61400799027)(43022699015)(48200799018)(6059299003)(376014)(9140799003)(82310400026)(261028144727099003)(261026140227099003)(56012099006)(5063699009)(10067099003)(261021123027099003)(261022105027099003)(261021121427099003)(55112099003)(16102099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: A91bYK2BhBT+A1Mh8a1y5SZyvtIG1dAOtwZvgJw7s8lrfyIMnxTa2biWblEROHOmg9SNNPgEGKmTWdbo+batbPzq1aoJ2j+vxBDYlmMaUOQfOU909L20+1Dpr+opBdxsGraBBh6EgR5kRnt/428SQCVlOffBGz1byEK7tMBBDYEA4RC6qW7cPzFYQQVwUwf23aH7nLZCdSgZW00K30xExDszrNP347K2MrT0L9KEz88P8BH/JNx2hV+nDJ9IWJMAccI8HZqHKeDzQUeiN4deUeoPqnu3eJpak0d05PsHsqutxrzGb9El3lWfsYS/ObJEPh2YB1+8DmbUyLGaYIQRY9wwCTxRxzbaUrOvTtCO3ZQiIGKDvHrRMjxI1h2/uzS3oMqMkvdvF/rTqCS9QrpftafDsXTsUfYVi8AtYBdOlJHPz8ww/FlMxoE4eHL8jZFU X-ExternalRecipientOutboundConnectors: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2026 11:34:41.5820 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 097d43fd-36e1-4f73-58fb-08df35b09f81 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: MI3PEPF0000855E.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU4PR08MB11289 List-Id: From: Denis V. Lunev A row of VZ_Q35_MT or VZ_PC_MT can name at most three compat arrays: COUNT_ARGS counts up to three, VZ_COMPATS_EXPAND has variants for zero to three, and __vz_compat_props has three slots per row. No row needs more yet, which is why the limit never showed. The i440fx vz7.16.0 row uses all three (hw_compat_vz_9_1, hw_compat_vz_7_16, pc_vz_7_16_compat), and the next commit adds pc_vz_9_2_compat to it. With a fourth argument COUNT_ARGS returns that argument instead of a count, and the build fails on an undefined VZ_COMPATS_EXPAND_. Raise the limit to four. Signed-off-by: Denis V. Lunev --- hw/i386/pc_piix.c | 2 +- hw/i386/pc_q35.c | 2 +- include/hw/i386/pc.h | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 9a73dcfad4b..1a50c2a645c 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -1087,7 +1087,7 @@ enum { static struct { GlobalProperty *prop; const size_t *len; -} __vz_compat_props[][3] = { +} __vz_compat_props[][4] = { { VZ_COMPATS_EXPAND(hw_compat_vz, pc_vz_compat) }, VZ_PC_MT(AS_ARRAY) }; diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 9bb0c7e1649..2f4a14b4e01 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -1004,7 +1004,7 @@ enum { static struct { GlobalProperty *prop; const size_t *len; -} __vz_compat_props[][3] = { +} __vz_compat_props[][4] = { { VZ_COMPATS_EXPAND(hw_compat_vz, pc_vz_compat) }, VZ_Q35_MT(AS_ARRAY) }; diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 5140c9c1f23..4d8a01528b8 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -428,8 +428,8 @@ extern const size_t pc_vz_7_4_compat_len; /* * Helper macros for defining VZ machine types, both pc and q35 */ -#define _GET_NTH_ARG(_0, _1, _2, _3, N, ...) N -#define COUNT_ARGS(...) _GET_NTH_ARG(__VA_ARGS__, 3, 2, 1, 0) +#define _GET_NTH_ARG(_0, _1, _2, _3, _4, N, ...) N +#define COUNT_ARGS(...) _GET_NTH_ARG(__VA_ARGS__, 4, 3, 2, 1, 0) #define VZ_COMPATS_EXPAND_0() #define VZ_COMPATS_EXPAND_1(prop1) {prop1, &prop1##_len} @@ -437,6 +437,9 @@ extern const size_t pc_vz_7_4_compat_len; {prop1, &prop1##_len}, {prop2, &prop2##_len} #define VZ_COMPATS_EXPAND_3(prop1, prop2, prop3) \ {prop1, &prop1##_len}, {prop2, &prop2##_len}, {prop3, &prop3##_len} +#define VZ_COMPATS_EXPAND_4(prop1, prop2, prop3, prop4) \ + {prop1, &prop1##_len}, {prop2, &prop2##_len}, {prop3, &prop3##_len}, \ + {prop4, &prop4##_len} #define VZ_COMPATS_EXPAND_N(n, ...) VZ_COMPATS_EXPAND_##n(__VA_ARGS__) #define VZ_COMPATS_EXPAND_(n, ...) VZ_COMPATS_EXPAND_N(n, __VA_ARGS__) -- 2.53.0