From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11020107.outbound.protection.outlook.com [52.101.69.107]) by lore.virtuozzo.com (Postfix) with ESMTPS id 0B99F80E7E for ; Thu, 29 Oct 2026 12:25:42 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ODytLzDD8xkACcBs8bpTe6wftjOcqPk+T1gWAt4yiyUWphsT928N8D4FMPAGhQuYdCgsi4a3YE3AzuE7LyhUYyS5QAiXxY1flPYVLpg7qeLSmStx7HP8iqBRrP0wlTsG+iIRHVQ79+7p/d+itJvwIsXYEP554g5Ft7J/hUdyWbeQ2E20vZEFeA4CG05aAS9on/ris+El3OWty5wErrsto+V3BeGl6SoQ6pgxajAXRN0s6ZqlKJ/PRh51hUDINrbPsnI7FikhT4oFOmGsKmOm1Obol9DAXyPYkFmCgG5yg/ffChUpnKzER2ND9WbaqVqjLvwJY+NWUG7AaP1yICYRdw== 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=W1XpWIiyOi/VJKNn0f8E+hLFwsqb2O30YYfiLQzd0Dg=; b=d26puJroa/kBqI/cUgL7HVpu5bmBON9f0ctu04CpKxFrQn1GMDU5wjwzHYrirGpPriruXXfV6xDsgDmg3lC18Vtnak/C85Pqf2COVUZ8xHUwtQhCC5BZEX/G5anFJ/JBxzDbJ1h8MFthbdaCNsQpXk6nbiN+O8auizUwsn90EObTmIYqSEs6qLjr2KrFsEL1JJrZbjxt+gq8sQ0JQBD4uhrkhKQ0RTVU/P8+GQJCYoRH4PuT8870HNSNZJjxnut3vWVyxz7cXqGPksvr98XTMSLLV7V43f01OjaGuHOjnipIVrtSwB1FgdyMKlsvO9jf/2ultS5X9xE+N4agZO3YJQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 2a00:1450:4864:20::32e) 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=W1XpWIiyOi/VJKNn0f8E+hLFwsqb2O30YYfiLQzd0Dg=; b=g8DHubrknYAf/gW/RAp9Ct/G8OYK+cNxKOzusn20He3OqZTyEheJhqec6uc0h7CXW3WQPK7HqdNp0l1kGD/KZSHw8VV5g0HLvrLS95Y5Q81iranwM84nc0PDi/oNkjDBqog3iYnpx3XwYi14qguAvnxrZyS7X4AdSapng+ZG1Vw= Received: from PR3PR09CA0014.eurprd09.prod.outlook.com (2603:10a6:102:b7::19) by GV1PR08MB8107.eurprd08.prod.outlook.com (2603:10a6:150:94::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.22; Thu, 29 Oct 2026 12:25:36 +0000 Received: from ZR1PEPF0000E6AD.eurprd05.prod.outlook.com (2603:10a6:102:b7:cafe::67) by PR3PR09CA0014.outlook.office365.com (2603:10a6:102:b7::19) 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 12:25:33 +0000 Authentication-Results: spf=pass (sender IP is 2a00:1450:4864:20::32e) 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::32e as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::32e; helo=mail-wm1-x32e.google.com; pr=C Received: from mail-wm1-x32e.google.com (2a00:1450:4864:20::32e) by ZR1PEPF0000E6AD.mail.protection.outlook.com (2603:10a6:918::154) 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 12:25:31 +0000 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-4a214c5c4c0so18419165e9.3 for ; Thu, 29 Oct 2026 05:25:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1793276731; x=1793881531; 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=W1XpWIiyOi/VJKNn0f8E+hLFwsqb2O30YYfiLQzd0Dg=; b=At/DqeixZFcp6MjA2pMLPHVNKbjtGi9iG9DyyZLdv5ff10FOJMMtL2UzyIdrCFWwsc 19JVrj+1NmeaKV76hYyWNtoEeZQZOIlRBun+jEad8AYSkw1uQXprKBPRbp36AtM/EN03 TBre7lw2D+V69jyBiUD1qLQQz4qne2x2UZf/bc5/L6AzEh8bFLeBXpCr+ESpWeyYD4Ab zd7gJ4ffhQDmPZxRpX1qIQTGzBiVMhTDY6q8hLGJI0t2fukQJsnTcUi5eKuVlO3b+sC6 AYXf5Re1hhOX/YlXNtbqwmTCbbmomzFjDI6WNS2yr+vZ2GZJwhngSEj8UpzjxnvPs86M tWqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793276731; x=1793881531; 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=W1XpWIiyOi/VJKNn0f8E+hLFwsqb2O30YYfiLQzd0Dg=; b=kXj9iHuK0agaSOQ6vTPVrg2sB5VmdTZNHKKg4/s/bXjZwp51Q+ye0lhfAinH8T3Sv6 vGJrrBbA3F22t2qV1MG2POSyGQO7F+HpXwBUGWewIez25k8VqXE9r+rt6pqOFCAONIzo x6g9qQvH0geO89FwUDMlwuoiq7ODJw1iuGnmoOhHCq3uaZG+dd7bSigL8nVhvEM5RqEU kK1wrAss2tdI9DAD1v8m/MVbuAz98cv/YdAwiDSuMq9IOar1QtQwtwAuGlG0cszz4WbN GsmuVOhwgs+Z4iIfFoYep78kUIIpvWNYvNklJ4LS3F7+J/KugfcJCV/3i2P5PyfP1UBX 3hyA== X-Gm-Message-State: AFq9FYLRtH/oaZ9Z1NkLkWJdvzknFCgAS2aeQ8LMIqQrGrodZFM6ay4o ePX09eC2gO0IzdsoGO2laFSmSd7ZUPsb8xg6p4P0sZysfeqdcmOR474S8zfFuhAv38SDlg== X-Gm-Gg: AYBFou1QJF7+vN/giuehyzzGXzU5HCZVTny9JD8FmgXNeSFhr4Xorxn+HwgpTlBs449 mSPnE1LlDH64lEpDNwWuQfenR/co8tqMN7GFGRlbTB/Sk14pjX++74HOT2n0XcOxaM5cJmKEuQG rCD9hqR3AHA97lJFj1iJShveXrq3sqUMdtzvoZ+y18Z3P4q95GIPj8zyB0BHeiggAAyl+qfg+Me K1ska1WELwdN0x7VjmSqeDBg+9fXFFcO3SRDVfZdPWClnrMFoFlEj4QUVd3o2tbqkl20z/sCw4F 5g4VA1gHYVQqh5DAneoI580h02AN1LNBjf4cnh5SPu5KqtRGDK2rgoCl0G7EH3hzykEpHeBPROq l5XchMfX2De4zhhtIFlMgGaFXfhzS36cn5BTnRdNTCenzoMFoHhVlyWmH+TqCI3b66AiPFgky8P LIYaY1SiuF5RA935dM31O8S5zG7UXIz0wbvrbnCFOUtHKldlHbZUZaQMRIVotZadLpVsIzyrtwj wDbuG8BoqXjqkm8KVgiQcSowK6GOefLNu3FUKf76ZbvQrqZawZuvmV1iQwnT4fhqjecfsZnuQme lXUqw05xWGL3hq7tuHw1Z3AKaA== X-Received: by 2002:a05:600c:3b24:b0:4a1:f720:74cd with SMTP id 5b1f17b1804b1-4a9673f01abmr119429065e9.24.1793276731224; Thu, 29 Oct 2026 05:25:31 -0700 (PDT) Received: from athena.sw.ru ([2a06:5b06:b600:300:f4be:f111:4ee0:40d3]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4aa80285b88sm62423205e9.14.2026.10.29.05.25.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Oct 2026 05:25:30 -0700 (PDT) From: "Denis V. Lunev" To: andrey.zhadchenko@virtuozzo.com Cc: svt-core@virtuozzo.com, den@openvz.org Subject: [PATCH v3 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 13:25:22 +0100 Message-ID: <20261029122527.365104-2-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261029122527.365104-1-den@openvz.org> References: <20261029122527.365104-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: ZR1PEPF0000E6AD:EE_|GV1PR08MB8107:EE_ X-MS-Office365-Filtering-Correlation-Id: bd17313f-cf70-4ebc-b4e8-08df35b7b9a2 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|9140799003|48200799018|43022699015|82310400026|376014|6059299003|61400799027|18002099003|22082099003|16102099003|55112099003|261028144727099003|5063699009|56012099006|10067099003|261021121427099003|261021123027099003|261022105027099003|261026140227099003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Z5q1aVDZST17MXPXSIp9o2VQ5nHIdt0sv+14py/fxEAZMTtOFFAttwDV2EO+?= =?us-ascii?Q?2VcwY9v2EXXuqxqtVm+MTxebMDbEt84wOI4Mq3lEfN6G+YoLsyrUbjlGnrvO?= =?us-ascii?Q?2NOPlaWgVr+RTJ0U/bealEeAOjlELKy0tAcqAYgdN6M5hTFv6zCW/Yblbo/T?= =?us-ascii?Q?sfnwr9FBCQyxBJi4rFzcWjjD7NuwO1BG1Hag3XKPMm/7FFlL9HwFVIBILVlu?= =?us-ascii?Q?5AjZTsiOKS+mEqdU7hFhb9QvkBOw6A/3VZ3d4q3/g7C6KPyNBl/sIG515oaP?= =?us-ascii?Q?4XK6WluwKWEnNwItxh0U3hxrQbq1ueyavXNLZj86V7opJGzF/yCIXJv9m3n3?= =?us-ascii?Q?CcZg4v26iVsKxsZlJh4MB+aG7Mw0IZXPb+zWTL7LQxcxDmiTwXownAnwttfE?= =?us-ascii?Q?9g5ZeyyfHtfyF4d4d7QQ1KqGPCUc/FHic5/fB51eh47GsqLqGYpo+iX8F4fr?= =?us-ascii?Q?N5NFCTrThrhJy55TcSAyXVQhRCNQQ0tbAvpB6t3wsnPB3aoYv4QJNVOCv+tl?= =?us-ascii?Q?22Zbpcd8gJbDETd66g7ry+Ri7rDzc5UxpnTR6L6SRMHdmraLtj+W5j5iZ0ge?= =?us-ascii?Q?NX4EunJo1a5k+itZ3TAlEEKlaoiMC24v8K3Z07QPSfTL1D+n2x+FPQIZppNi?= =?us-ascii?Q?NA/nm7XBSvEs3d9MSZKOV2ZTg6BBo+fWRdl0xM0fajxH17imRjmVhTdMKhiW?= =?us-ascii?Q?na0/5scFe4xxDCmxOEjAafmlGcPgG6rcgiY1qhThApnRN5NnrcdOziEXgFiP?= =?us-ascii?Q?6PdPp0VzUrpEaX8PxSPOMZD26jnYR6pDx1L7S8V24NPLmLNRqpI2ahdrNEjk?= =?us-ascii?Q?6gr6BYieNqCXsNKYfbWJ+wSH2vpuQMU2YFs0nQgxClS2tzyCWCYzo6gI4Hn3?= =?us-ascii?Q?4rRs1Bp/tTU/iILEx+c/U9QaQG2wVDg3rGeAjq5Jf+OrL//gH8+5pg9amrQt?= =?us-ascii?Q?VxmeE7xKie/c470xFLvxEwMHOvm2NaGzhqFWltYGgqpoW/EdjnHlDqpxwsW9?= =?us-ascii?Q?CTy4z0zaE5z7vcMbigQ0NqyQ/A=3D=3D?= X-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::32e;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x32e.google.com;PTR:mail-wm1-x32e.google.com;CAT:NONE;SFS:(13230040)(9140799003)(48200799018)(43022699015)(82310400026)(376014)(6059299003)(61400799027)(18002099003)(22082099003)(16102099003)(55112099003)(261028144727099003)(5063699009)(56012099006)(10067099003)(261021121427099003)(261021123027099003)(261022105027099003)(261026140227099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ANe4cjW7T5JDXF/cbzAb5D8OoGDF2SDbfMjRMkpc0RP5YrMjHW7Y9+Ia17cWZGRIfMZHzp9Qq0PotcNcqugA+hySTnUpzv5KqPdgoyebOfBxYI+2m/eZe9hInroVSil4A9s2C8RmBTfOk2aFSvI9oPV9rDqj42JdpsKvjEPhe+LZdW1znP0ljH+TvLoHsdqNzWSY9F0kzhWsYbOJPjkTK4s4YlWZjGWEIYD7QHIF3opbWjK68D+pKOAfIiOVEpXpxcgENH4IUeni/cdBwv0tQFMCgQy6iFKcju9WgabfUH2342wOi9PKz1blmbraTfGpDEho9OjF1VZAm9KlO7NbJFzh2CwHKHkdxW6QI1UnI18CYjQicf5yKTZFPOansxNo/dKeBTgUnxEENPCuE7e8D1CtJQxzfIsYxF9IwZVharecMNZBpMWay4BhA+qu+LS4 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 12:25:31.8721 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bd17313f-cf70-4ebc-b4e8-08df35b7b9a2 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: ZR1PEPF0000E6AD.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8107 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 Reviewed-by: Andrey Drobyshev --- 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