From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 87C1E4302F; Fri, 11 Aug 2023 08:08:37 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2AF9140F16; Fri, 11 Aug 2023 08:08:37 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2063.outbound.protection.outlook.com [40.107.100.63]) by mails.dpdk.org (Postfix) with ESMTP id 01ED740E03 for ; Fri, 11 Aug 2023 08:08:35 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aLoANDbhIEwrNAmOMz7vo0Fps72LNlN2FbG51f3rgYd7KfdM9Wzo5uoKwqrtV8alwsEWAcn+euLO5xxtWLISh/ptKsFrytmvvE0RkkvAY7qQ2e4CCUTqf27i+PPdiDPfoE18TTE/KjwLUCbUkfiTSI/raCFP1JG0DqYc8D1RlSh+6mv1Ch5vOi3yv47duYcMexk7tLpX83GbLWy9jrGgruAdcScnXFqOjJxT2o73WQgyi3WR8kf3DiKBYHoY0mH9AaTFt+afBqeEHNdPYAroYS63IKp8iCzIR/oz+Yx4Im0x5UPcUVYveBeOuXZ1ONx3AWR7o4pw/A/pxM82wKCnaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qspnuP7VxCXY8trbSvBi/lvDuBLgJ+rRRckKuXrZ0P0=; b=PJlSgUyrlsvSWtotyoZvsoef+mVmBGzMslf5Xf1pYwnxJzCiK1DYEqMUw7AtK2oSuhS8JR0dTzET+frMY7DbNMZlmn516eSG2Lu9iISYw4AjBGhQ+QJuJoKZE6Jlmbi+I4CCnrWsgKB9tqobgpDthSpMicUVp6PmQM56mt0KGRgswk6Tsr2gF1djmtCks3rsuyUVboseGSgD0cM9ByOCjSB5z5GWSrX16hr+L8XAv6ZOps3oUFo26CbJd+6Tj1RRYz+rrO4autHFMoFsK8svF6diZtzqLX4HETACnGQo/+Q66M9LZSGyu1QRz452f+8wg9X9iLtlfet3fCm2u5QECw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qspnuP7VxCXY8trbSvBi/lvDuBLgJ+rRRckKuXrZ0P0=; b=lQoqueAswgtr0p9NLrv2iVOgkEGhf+XFeW63VSbF0YS14CFwcRpdejHZO8Cy97n5L+7CGGM0O4tKs/ngf7P/Q2L1NptGEw39WIz689FP5nFe5DNV5GkPRZNp2be9VQClugqy7Zz03acdwBRAlWtlqW+i6U5oW6urN2QbGWGDXA4= Received: from SA1P222CA0113.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c5::27) by PH0PR12MB5483.namprd12.prod.outlook.com (2603:10b6:510:ee::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Fri, 11 Aug 2023 06:08:33 +0000 Received: from SN1PEPF0002636E.namprd02.prod.outlook.com (2603:10b6:806:3c5:cafe::36) by SA1P222CA0113.outlook.office365.com (2603:10b6:806:3c5::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.31 via Frontend Transport; Fri, 11 Aug 2023 06:08:33 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF0002636E.mail.protection.outlook.com (10.167.241.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6652.19 via Frontend Transport; Fri, 11 Aug 2023 06:08:33 +0000 Received: from telco-siena.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 11 Aug 2023 01:08:27 -0500 From: Sivaprasad Tummala To: , , , , , CC: Subject: [PATCH v2 2/2] eal: remove NUMFLAGS enumeration Date: Thu, 10 Aug 2023 23:07:55 -0700 Message-ID: <20230811060755.481572-2-sivaprasad.tummala@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230811060755.481572-1-sivaprasad.tummala@amd.com> References: <20230802211150.939121-1-sivaprasad.tummala@amd.com> <20230811060755.481572-1-sivaprasad.tummala@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002636E:EE_|PH0PR12MB5483:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a43ec97-8ea9-48f5-f036-08db9a316487 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Q0OB4q9IzFSUNAqxmgb7Exhhrq668ChP5GhI04jBazNYI4pY7gfNEb1CpSoyvD1QHoai/aAKatpduuVWmFqJGTnIAxqnkIn0C87ePxTndU2kgWeecck/B0eQ5vfdxVckgEdq5z2r6zuduMVPTgb0SzzrPjd2wze/tBqinXbBk+exZtX7zDcPyj9nEOuCJkq/pqPrtRETKcENFi5H8gxyW0gVWyAxg4CasQMw+f1sgeLi0qvDT2KG+HdxxU8Heo4su+pianeb/jidymnjbkCmLMTcw5Sm2YKbARG6g5mgbPMEvB5ToOcksxh0GMJS6rcs5Pgf3Inxrk7+FyxB8QC0z1FLT3CoB/K06cWHIrEo9sGZUR7hAj/X61YXw5kdDXir14Kgz1DIc2lsfaym+LDQwO4v8Cw2knBwmOxGGHsxC/dcT2sEgdxQz+usmsSUf7B4YWgAbeUQnvj/kQ5U0jtmmBicp8v6HmNiMZZ3F6PMW6PfaCH8WJbFHBpQzOebB3exrK8MZJGXio5prXg8L1CxMN/gl4CVNYcqJa1w42Ri2rdbSPZV0rS/HaX8F84KDLntGF0Tp7mPmBGZtoxQDdt0xHgNMEInvMpKvGY9RkZbv1vHJyNBOxt1XzpApFTfidgc1Nvlhfuu2CCQTamBv6AKPu0u2Um6HQ7QTtIC722tbm9HIeTvtoU1axGjvksfwlmv8bMZHs4vHTKNssQ2q7f/mcpFy2pX2XXS58k0dTUm5iKXGoiC8D55qWI9UiPZzCylpiudGkwBm7JR8qKSaAG4FQ== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230028)(4636009)(376002)(346002)(39860400002)(136003)(396003)(82310400008)(1800799006)(451199021)(186006)(46966006)(40470700004)(36840700001)(81166007)(356005)(82740400003)(8676002)(8936002)(316002)(86362001)(5660300002)(70206006)(70586007)(4326008)(41300700001)(44832011)(83380400001)(47076005)(426003)(2616005)(36860700001)(1076003)(26005)(16526019)(36756003)(110136005)(478600001)(2906002)(336012)(6666004)(40460700003)(7696005)(40480700001)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2023 06:08:33.3293 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0a43ec97-8ea9-48f5-f036-08db9a316487 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002636E.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5483 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This patch removes RTE_CPUFLAG_NUMFLAGS to allow new CPU features without breaking ABI each time. Signed-off-by: Sivaprasad Tummala --- lib/eal/arm/include/rte_cpuflags_32.h | 1 - lib/eal/arm/include/rte_cpuflags_64.h | 1 - lib/eal/arm/rte_cpuflags.c | 7 +++++-- lib/eal/loongarch/include/rte_cpuflags.h | 1 - lib/eal/loongarch/rte_cpuflags.c | 7 +++++-- lib/eal/ppc/include/rte_cpuflags.h | 1 - lib/eal/ppc/rte_cpuflags.c | 7 +++++-- lib/eal/riscv/include/rte_cpuflags.h | 1 - lib/eal/riscv/rte_cpuflags.c | 7 +++++-- lib/eal/x86/include/rte_cpuflags.h | 1 - lib/eal/x86/rte_cpuflags.c | 7 +++++-- 11 files changed, 25 insertions(+), 16 deletions(-) diff --git a/lib/eal/arm/include/rte_cpuflags_32.h b/lib/eal/arm/include/rte_cpuflags_32.h index 4e254428a2..41ab0d5f21 100644 --- a/lib/eal/arm/include/rte_cpuflags_32.h +++ b/lib/eal/arm/include/rte_cpuflags_32.h @@ -43,7 +43,6 @@ enum rte_cpu_flag_t { RTE_CPUFLAG_V7L, RTE_CPUFLAG_V8L, /* The last item */ - RTE_CPUFLAG_NUMFLAGS,/**< This should always be the last! */ }; #include "generic/rte_cpuflags.h" diff --git a/lib/eal/arm/include/rte_cpuflags_64.h b/lib/eal/arm/include/rte_cpuflags_64.h index aa7a56d491..ea5193e510 100644 --- a/lib/eal/arm/include/rte_cpuflags_64.h +++ b/lib/eal/arm/include/rte_cpuflags_64.h @@ -37,7 +37,6 @@ enum rte_cpu_flag_t { RTE_CPUFLAG_SVEBF16, RTE_CPUFLAG_AARCH64, /* The last item */ - RTE_CPUFLAG_NUMFLAGS,/**< This should always be the last! */ }; #include "generic/rte_cpuflags.h" diff --git a/lib/eal/arm/rte_cpuflags.c b/lib/eal/arm/rte_cpuflags.c index 56e7b2e689..f33fee242b 100644 --- a/lib/eal/arm/rte_cpuflags.c +++ b/lib/eal/arm/rte_cpuflags.c @@ -139,8 +139,9 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature) { const struct feature_entry *feat; hwcap_registers_t regs = {0}; + unsigned int num_flags = RTE_DIM(rte_cpu_feature_table); - if (feature >= RTE_CPUFLAG_NUMFLAGS) + if ((unsigned int)feature >= num_flags) return -ENOENT; feat = &rte_cpu_feature_table[feature]; @@ -154,7 +155,9 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature) const char * rte_cpu_get_flag_name(enum rte_cpu_flag_t feature) { - if (feature >= RTE_CPUFLAG_NUMFLAGS) + unsigned int num_flags = RTE_DIM(rte_cpu_feature_table); + + if ((unsigned int)feature >= num_flags) return NULL; return rte_cpu_feature_table[feature].name; } diff --git a/lib/eal/loongarch/include/rte_cpuflags.h b/lib/eal/loongarch/include/rte_cpuflags.h index 1c80779262..9ff8baaa3c 100644 --- a/lib/eal/loongarch/include/rte_cpuflags.h +++ b/lib/eal/loongarch/include/rte_cpuflags.h @@ -27,7 +27,6 @@ enum rte_cpu_flag_t { RTE_CPUFLAG_LBT_ARM, RTE_CPUFLAG_LBT_MIPS, /* The last item */ - RTE_CPUFLAG_NUMFLAGS /**< This should always be the last! */ }; #include "generic/rte_cpuflags.h" diff --git a/lib/eal/loongarch/rte_cpuflags.c b/lib/eal/loongarch/rte_cpuflags.c index 0a75ca58d4..73b53b8a3a 100644 --- a/lib/eal/loongarch/rte_cpuflags.c +++ b/lib/eal/loongarch/rte_cpuflags.c @@ -66,8 +66,9 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature) { const struct feature_entry *feat; hwcap_registers_t regs = {0}; + unsigned int num_flags = RTE_DIM(rte_cpu_feature_table); - if (feature >= RTE_CPUFLAG_NUMFLAGS) + if ((unsigned int)feature >= num_flags) return -ENOENT; feat = &rte_cpu_feature_table[feature]; @@ -81,7 +82,9 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature) const char * rte_cpu_get_flag_name(enum rte_cpu_flag_t feature) { - if (feature >= RTE_CPUFLAG_NUMFLAGS) + unsigned int num_flags = RTE_DIM(rte_cpu_feature_table); + + if ((unsigned int)feature >= num_flags) return NULL; return rte_cpu_feature_table[feature].name; } diff --git a/lib/eal/ppc/include/rte_cpuflags.h b/lib/eal/ppc/include/rte_cpuflags.h index a88355d170..b74e7a73ee 100644 --- a/lib/eal/ppc/include/rte_cpuflags.h +++ b/lib/eal/ppc/include/rte_cpuflags.h @@ -49,7 +49,6 @@ enum rte_cpu_flag_t { RTE_CPUFLAG_HTM, RTE_CPUFLAG_ARCH_2_07, /* The last item */ - RTE_CPUFLAG_NUMFLAGS,/**< This should always be the last! */ }; #include "generic/rte_cpuflags.h" diff --git a/lib/eal/ppc/rte_cpuflags.c b/lib/eal/ppc/rte_cpuflags.c index 61db5c216d..a173c62631 100644 --- a/lib/eal/ppc/rte_cpuflags.c +++ b/lib/eal/ppc/rte_cpuflags.c @@ -90,8 +90,9 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature) { const struct feature_entry *feat; hwcap_registers_t regs = {0}; + unsigned int num_flags = RTE_DIM(rte_cpu_feature_table); - if (feature >= RTE_CPUFLAG_NUMFLAGS) + if ((unsigned int)feature >= num_flags) return -ENOENT; feat = &rte_cpu_feature_table[feature]; @@ -105,7 +106,9 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature) const char * rte_cpu_get_flag_name(enum rte_cpu_flag_t feature) { - if (feature >= RTE_CPUFLAG_NUMFLAGS) + unsigned int num_flags = RTE_DIM(rte_cpu_feature_table); + + if ((unsigned int)feature >= num_flags) return NULL; return rte_cpu_feature_table[feature].name; } diff --git a/lib/eal/riscv/include/rte_cpuflags.h b/lib/eal/riscv/include/rte_cpuflags.h index 66e787f898..803c3655ae 100644 --- a/lib/eal/riscv/include/rte_cpuflags.h +++ b/lib/eal/riscv/include/rte_cpuflags.h @@ -43,7 +43,6 @@ enum rte_cpu_flag_t { RTE_CPUFLAG_RISCV_ISA_Y, /* Reserved */ RTE_CPUFLAG_RISCV_ISA_Z, /* Reserved */ /* The last item */ - RTE_CPUFLAG_NUMFLAGS,/**< This should always be the last! */ }; #include "generic/rte_cpuflags.h" diff --git a/lib/eal/riscv/rte_cpuflags.c b/lib/eal/riscv/rte_cpuflags.c index 4f6d29b947..6d3f8f16cc 100644 --- a/lib/eal/riscv/rte_cpuflags.c +++ b/lib/eal/riscv/rte_cpuflags.c @@ -95,8 +95,9 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature) { const struct feature_entry *feat; hwcap_registers_t regs = {0}; + unsigned int num_flags = RTE_DIM(rte_cpu_feature_table); - if (feature >= RTE_CPUFLAG_NUMFLAGS) + if ((unsigned int)feature >= num_flags) return -ENOENT; feat = &rte_cpu_feature_table[feature]; @@ -110,7 +111,9 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature) const char * rte_cpu_get_flag_name(enum rte_cpu_flag_t feature) { - if (feature >= RTE_CPUFLAG_NUMFLAGS) + unsigned int num_flags = RTE_DIM(rte_cpu_feature_table); + + if ((unsigned int)feature >= num_flags) return NULL; return rte_cpu_feature_table[feature].name; } diff --git a/lib/eal/x86/include/rte_cpuflags.h b/lib/eal/x86/include/rte_cpuflags.h index 92e90fb6e0..7fc6117243 100644 --- a/lib/eal/x86/include/rte_cpuflags.h +++ b/lib/eal/x86/include/rte_cpuflags.h @@ -135,7 +135,6 @@ enum rte_cpu_flag_t { RTE_CPUFLAG_WAITPKG, /**< UMONITOR/UMWAIT/TPAUSE */ /* The last item */ - RTE_CPUFLAG_NUMFLAGS, /**< This should always be the last! */ }; #include "generic/rte_cpuflags.h" diff --git a/lib/eal/x86/rte_cpuflags.c b/lib/eal/x86/rte_cpuflags.c index d6b518251b..22061cb6d3 100644 --- a/lib/eal/x86/rte_cpuflags.c +++ b/lib/eal/x86/rte_cpuflags.c @@ -149,8 +149,9 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature) const struct feature_entry *feat; cpuid_registers_t regs; unsigned int maxleaf; + unsigned int num_flags = RTE_DIM(rte_cpu_feature_table); - if (feature >= RTE_CPUFLAG_NUMFLAGS) + if ((unsigned int)feature >= num_flags) /* Flag does not match anything in the feature tables */ return -ENOENT; @@ -176,7 +177,9 @@ rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature) const char * rte_cpu_get_flag_name(enum rte_cpu_flag_t feature) { - if (feature >= RTE_CPUFLAG_NUMFLAGS) + unsigned int num_flags = RTE_DIM(rte_cpu_feature_table); + + if ((unsigned int)feature >= num_flags) return NULL; return rte_cpu_feature_table[feature].name; } -- 2.34.1