get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/8583/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 8583,
    "url": "https://patches.dpdk.org/api/patches/8583/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1446556153-18845-3-git-send-email-jerin.jacob@caviumnetworks.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1446556153-18845-3-git-send-email-jerin.jacob@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1446556153-18845-3-git-send-email-jerin.jacob@caviumnetworks.com",
    "date": "2015-11-03T13:09:03",
    "name": "[dpdk-dev,02/12] eal: arm64: add armv8-a version of rte_cpuflags_64.h",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "46abcb147aefd9204087a575cd9b9c0692fd77fc",
    "submitter": {
        "id": 305,
        "url": "https://patches.dpdk.org/api/people/305/?format=api",
        "name": "Jerin Jacob",
        "email": "jerin.jacob@caviumnetworks.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1446556153-18845-3-git-send-email-jerin.jacob@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/8583/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/8583/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id AD10F91DD;\n\tTue,  3 Nov 2015 14:10:09 +0100 (CET)",
            "from na01-bl2-obe.outbound.protection.outlook.com\n\t(mail-bl2on0056.outbound.protection.outlook.com [65.55.169.56])\n\tby dpdk.org (Postfix) with ESMTP id ACFBB91DC\n\tfor <dev@dpdk.org>; Tue,  3 Nov 2015 14:10:07 +0100 (CET)",
            "from localhost.caveonetworks.com (111.93.218.67) by\n\tBY2PR0701MB1974.namprd07.prod.outlook.com (10.163.155.20) with\n\tMicrosoft SMTP\n\tServer (TLS) id 15.1.312.18; Tue, 3 Nov 2015 13:10:04 +0000"
        ],
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Jerin.Jacob@caviumnetworks.com; ",
        "From": "Jerin Jacob <jerin.jacob@caviumnetworks.com>",
        "To": "<dev@dpdk.org>",
        "Date": "Tue, 3 Nov 2015 18:39:03 +0530",
        "Message-ID": "<1446556153-18845-3-git-send-email-jerin.jacob@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.1.0",
        "In-Reply-To": "<1446556153-18845-2-git-send-email-jerin.jacob@caviumnetworks.com>",
        "References": "<1446556153-18845-1-git-send-email-jerin.jacob@caviumnetworks.com>\n\t<1446556153-18845-2-git-send-email-jerin.jacob@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[111.93.218.67]",
        "X-ClientProxiedBy": "MAXPR01CA0048.INDPRD01.PROD.OUTLOOK.COM (25.164.146.148)\n\tTo\n\tBY2PR0701MB1974.namprd07.prod.outlook.com (25.163.155.20)",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BY2PR0701MB1974;\n\t2:dodegObU/W6hz+jK4v8TB7X0gVG44uLACW0EheG4Ip1mJNUlDeOX1NmvW8i2bVs0/zA5653MiGzKk9/Td8fm60S21XpZWplI0oM/MPp6mIK3PZyKBsjXdn/V011FwtpZZBGAD2VQWOvwLzsEBbrNqDOPLZWZjT0lVbDwhwSH4LA=;\n\t3:pJdVTwN80sZJwj8MFoRBjcIJeQgFQiUz0PfjJLm3O2LYdl6UaIwJb/zB3ViI69Op+O8YKGtZ1yPUHg83LUV7MIM+vnR2W3wWqmEO8XBMBie5H9wUF3xMjwSzoG34y26OcQNEDn9yldb8zgEF0KrE7A==;\n\t25:z74f297Jekzq2gXum88JpEe3eN3xfvnKCnEdK/vA3dW/4h3ZXzSZJ1p1c7+Tlk5w+/srrq3d1qNexqqGidjZFH0AL8imk79XuoU1d33kaQKuo/TfnwOddVhq30HCB3nA5fNXKxlXQuZ2WiakuuXlLyLHW6ZhrLOWDn2w43zUYjyaENvHDudx3vdyQCmGmZc0mt0u2rJ03kXSlA0rywDTrnKtOpbEReInmf6iL0fjN4/2OipFW0VE7L3CKRR33rQDPuXx1kpCigRNDKd5dmP8Ww==",
            "1; BY2PR0701MB1974;\n\t20:RhnNn6STclbxSwgYAHC5khCmEmuQBfsDBgTgiIbJ5nllPzb7HakDKUCjJonblWfNBW1bU5phx243aq4UqxZDaNyeLTP+HahKdX2bHFvRAtP36JIliFjBHhTiCI8fI+fdV8qzOxIvhG4JJoNaiNQ8ylJzOQXjsgPkrYSFGHBL+fBI2q9wnFPotOa40YYtqAbF+Zvm7GhJcTdQgU9by/TcSWbxXFkHuyMzZQtnQXKOSdel9MHB95YB4FOOEqqO+5UsXih6NLFcWpqCWhqkQ0iopZ9OhwakicrT+bML/k/fpB+FOfGfOk4fJEOx5yZRFmsQFbrH3kbknSpEIuoDiyuIvZ3PnoQ5HD4U25D/hojHd/ErIObCRMkxX00n9qO/lRmqIFozW3MSsNndnnpue6WOMvkMgUd305eKYRvoL3i4VzJHleZPa8qZ3YOYBOqNNpN012hGysYXh0TbPWOW1S7oBq3ABCcFQQyCfPBS7mS0ujGbJeLAMje7myhoEabP5+Lt0h6F6BcnGPBZngvlSn0xXeFTetOTIRUjBD241YN76i/kh2RgGq4X/1FOOiry3rPOzBQvNmkF96qrgH68+nULcZQX3mDtLdcgdY7W6CGImEg=",
            "1; BY2PR0701MB1974;\n\t4:4O7r0CAeBgwxxauF422iIlJB2Ur0m76pcTONz7XTKg2EIEEV+TTZQYb2qbkXqwYcDlwRRsziY7kKKdF3QfJKnTDagc8YIYte8h2mB4WNA5ZoJkqEMGLb8RnmYyXueDsaxkrQmoJgYd7g8sIMqxeleKfMUSVnNVIh5CAr9WpEl8WTL3P7QGp4rXtAt9n05IIraghHLHyGra+hTI69O6Yxv2A6TdVOSn9BhGUCik1OhnCRqoRlHcS6gv4GdtT2E2jUT7+UST9iU2p3/8f/A34gSQbma/ez+906InGSOybxypie/BoE2iw1wZXAtRCQjpB9mehJEqse+oMcGcftSbFzfU0Q7qAWGZGdZ8AnJk+lgum3rpu565j7bfeScSVuePOz",
            "=?us-ascii?Q?1; BY2PR0701MB1974;\n\t23:jsyGvKh7BlOs/NYRMOWECUm1RQBRVVy161swTGU?=\n\t=?us-ascii?Q?rrb5Wks6QS3fXVlj77Y5si9uTdgB06rYBWTrxvM6reiMduGdMqDTJ9lFcWIk?=\n\t=?us-ascii?Q?42bdhvtPTI+yK2jeUXGSJ6TNXWfAJr9YO/1s3YdDbhP1ifa2GFDfbQh3rcTg?=\n\t=?us-ascii?Q?+UWz586o91Rzar2UqRpmrMSqSrCEzwNRBuFBqWBJSblprVnAz9Bvo2dRnn5J?=\n\t=?us-ascii?Q?RHH/eqSMOrCOQyNr4nMcG/yIbyi7lgiiiA9yHfR0wF0cZCzkOkTTqqOZanZb?=\n\t=?us-ascii?Q?DHcUBEE6S+XJQGsPZi8i0jGacDV/0j/+LfFOjwBd89ZXHVvH2Z7mqjE47YeV?=\n\t=?us-ascii?Q?8l5fGJlL1sWWmEom1JW5Y/6wWR/M4gsl6IwgtBqa8ATFOjKqJLBAARWN7b6W?=\n\t=?us-ascii?Q?bNW30h34X3Ec55gRHwRzLRVF0vlxL9U1FOCmujxa8s1RI/YYTErouLZ6jq0W?=\n\t=?us-ascii?Q?oZE/yYGhTaYCbeMPczCCvlPf6rIV4fDfEHEOYaLTakIckzkBT/BHg5s0yVBE?=\n\t=?us-ascii?Q?j7+aufBDqMIz1glDiPQsCmdRlpzeQ6JlHiJP++nXmFN32lTLXzCjoc62SDJp?=\n\t=?us-ascii?Q?lsYirVUC3Yd1SGkm2sVXo9NH4xsQUwbyqpb7YAvjnRe+fjq+CG3ie+0Qrtw1?=\n\t=?us-ascii?Q?MSdRIqUhPic7YZxFgG9Pz4gfdA8A3TUuwm5wkdyBbzIhraPwAKa7liMZIUU0?=\n\t=?us-ascii?Q?mTiM0UQXZm+lDhqrRyrGldVwU7nhpG4DuOeAb3/9+SshGaye+2xwwJg21XXQ?=\n\t=?us-ascii?Q?b4uTQEBrLgD05LC1mBsEMkZOp6AbwmIf/ZQ4MnE11TKqRh0SMmffVQJqlPhR?=\n\t=?us-ascii?Q?4yeDaCr7zGliAUhgZyhvCLFdZeWcE84tW0dsLuv8aIfhdRbgn29BroCk8jxD?=\n\t=?us-ascii?Q?BtA0oumg32YwJtVDhjSC7PAJ+lRhbYScnPhoecAGjnEE67HNcac9pXYcgx+L?=\n\t=?us-ascii?Q?p+gjKBq1G+oNeI+723DA7JrsQ6e0e2EMLR7Ho6CmdNpmHAmJw9gqV3nKC3+X?=\n\t=?us-ascii?Q?ni/NK9YIJQO1yo3y3b+4m61lVB+Z9ucG3Mh7neF0Z7s2rocLt9ALr6tFefgE?=\n\t=?us-ascii?Q?EyIvILkkQHT1ngwt2wTgW3DSmvkss94ayj+WKGt7eOgV7/3EBAAsJo+uv4oR?=\n\t=?us-ascii?Q?tsb7nBwyRqeN6dEWe8e+4tJXoMS7McKtVzU/cVeAnB9Uk4N0HR9e0bUe82pQ?=\n\t=?us-ascii?Q?tYT/ZwyYriurskrg=3D?=",
            "1; BY2PR0701MB1974;\n\t5:KxuKsVedxu4JKQDmP5sfZvwUARsaPov9oTA+QhUVofJwqWQjUgkQ/NHYH9N7PR0fcKBc0VD3GShfVPwzwLU7xHqYkuT+pB+iuCET5undAo/AeYyG46o7Or1mKpWPWLJolJ/iLiK3hkgjhWVYp1c3sA==;\n\t24:LwGFtS/nuXbz83zpmFsEL1KgmmFO4brPYvnZQUnT0U62wfoHCh+GgQauuC0rxh1PsXp9wXfiDRXbDUARcigjA5VraO0SiaOX20G2bEgS7hA=;\n\t20:ZIyDstXJhff9O9PTPCqhMAGXZxlx1KrVL3+ryI7P1PajCTQHHmeTMeoyaEfh9H+cgarSoT/tloYUqpPZYS9/ew=="
        ],
        "X-Microsoft-Antispam": "UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0701MB1974;",
        "X-Microsoft-Antispam-PRVS": "<BY2PR0701MB19747766CF93FFEDC81232818C2B0@BY2PR0701MB1974.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(236414709691187);",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(601004)(2401047)(8121501046)(5005006)(520078)(10201501046)(3002001);\n\tSRVR:BY2PR0701MB1974; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0701MB1974; ",
        "X-Forefront-PRVS": "0749DC2CE6",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(6009001)(6069001)(189002)(199003)(81156007)(5001960100002)(50226001)(50986999)(5004730100002)(2950100001)(110136002)(77096005)(107886002)(66066001)(47776003)(189998001)(5007970100001)(42186005)(19580395003)(86362001)(76506005)(87976001)(69596002)(97736004)(50466002)(101416001)(53416004)(48376002)(106356001)(105586002)(19580405001)(36756003)(5008740100001)(76176999)(40100003)(92566002)(4001430100002)(5009440100003)(33646002)(122386002)(5003940100001)(229853001)(2351001)(7099028);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0701MB1974;\n\tH:localhost.caveonetworks.com; \n\tFPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: caviumnetworks.com does not\n\tdesignate permitted sender hosts)",
        "SpamDiagnosticOutput": "1:23",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "03 Nov 2015 13:10:04.7359\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BY2PR0701MB1974",
        "Subject": "[dpdk-dev] [PATCH 02/12] eal: arm64: add armv8-a version of\n\trte_cpuflags_64.h",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>\n---\n .../common/include/arch/arm/rte_cpuflags.h         |   4 +\n .../common/include/arch/arm/rte_cpuflags_64.h      | 152 +++++++++++++++++++++\n 2 files changed, 156 insertions(+)\n create mode 100644 lib/librte_eal/common/include/arch/arm/rte_cpuflags_64.h",
    "diff": "diff --git a/lib/librte_eal/common/include/arch/arm/rte_cpuflags.h b/lib/librte_eal/common/include/arch/arm/rte_cpuflags.h\nindex 8de78d2..b8f6288 100644\n--- a/lib/librte_eal/common/include/arch/arm/rte_cpuflags.h\n+++ b/lib/librte_eal/common/include/arch/arm/rte_cpuflags.h\n@@ -33,6 +33,10 @@\n #ifndef _RTE_CPUFLAGS_ARM_H_\n #define _RTE_CPUFLAGS_ARM_H_\n \n+#ifdef RTE_ARCH_64\n+#include <rte_cpuflags_64.h>\n+#else\n #include <rte_cpuflags_32.h>\n+#endif\n \n #endif /* _RTE_CPUFLAGS_ARM_H_ */\ndiff --git a/lib/librte_eal/common/include/arch/arm/rte_cpuflags_64.h b/lib/librte_eal/common/include/arch/arm/rte_cpuflags_64.h\nnew file mode 100644\nindex 0000000..7bcc12f\n--- /dev/null\n+++ b/lib/librte_eal/common/include/arch/arm/rte_cpuflags_64.h\n@@ -0,0 +1,152 @@\n+/*\n+ *   BSD LICENSE\n+ *\n+ *   Copyright (C) Cavium networks Ltd. 2015.\n+ *\n+ *   Redistribution and use in source and binary forms, with or without\n+ *   modification, are permitted provided that the following conditions\n+ *   are met:\n+ *\n+ *     * Redistributions of source code must retain the above copyright\n+ *       notice, this list of conditions and the following disclaimer.\n+ *     * Redistributions in binary form must reproduce the above copyright\n+ *       notice, this list of conditions and the following disclaimer in\n+ *       the documentation and/or other materials provided with the\n+ *       distribution.\n+ *     * Neither the name of Cavium networks nor the names of its\n+ *       contributors may be used to endorse or promote products derived\n+ *       from this software without specific prior written permission.\n+ *\n+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ *   \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+#ifndef _RTE_CPUFLAGS_ARM64_H_\n+#define _RTE_CPUFLAGS_ARM64_H_\n+\n+#ifdef __cplusplus\n+extern \"C\" {\n+#endif\n+\n+#include <elf.h>\n+#include <fcntl.h>\n+#include <assert.h>\n+#include <unistd.h>\n+#include <string.h>\n+\n+#include \"generic/rte_cpuflags.h\"\n+\n+#ifndef AT_HWCAP\n+#define AT_HWCAP 16\n+#endif\n+\n+#ifndef AT_HWCAP2\n+#define AT_HWCAP2 26\n+#endif\n+\n+#ifndef AT_PLATFORM\n+#define AT_PLATFORM 15\n+#endif\n+\n+/* software based registers */\n+enum cpu_register_t {\n+\tREG_HWCAP = 0,\n+\tREG_HWCAP2,\n+\tREG_PLATFORM,\n+};\n+\n+/**\n+ * Enumeration of all CPU features supported\n+ */\n+enum rte_cpu_flag_t {\n+\tRTE_CPUFLAG_FP = 0,\n+\tRTE_CPUFLAG_NEON,\n+\tRTE_CPUFLAG_EVTSTRM,\n+\tRTE_CPUFLAG_AES,\n+\tRTE_CPUFLAG_PMULL,\n+\tRTE_CPUFLAG_SHA1,\n+\tRTE_CPUFLAG_SHA2,\n+\tRTE_CPUFLAG_CRC32,\n+\tRTE_CPUFLAG_AARCH64,\n+\t/* The last item */\n+\tRTE_CPUFLAG_NUMFLAGS,/**< This should always be the last! */\n+};\n+\n+static const struct feature_entry cpu_feature_table[] = {\n+\tFEAT_DEF(FP,\t\t0x00000001, 0, REG_HWCAP,  0)\n+\tFEAT_DEF(NEON,\t\t0x00000001, 0, REG_HWCAP,  1)\n+\tFEAT_DEF(EVTSTRM,\t0x00000001, 0, REG_HWCAP,  2)\n+\tFEAT_DEF(AES,\t\t0x00000001, 0, REG_HWCAP,  3)\n+\tFEAT_DEF(PMULL,\t\t0x00000001, 0, REG_HWCAP,  4)\n+\tFEAT_DEF(SHA1,\t\t0x00000001, 0, REG_HWCAP,  5)\n+\tFEAT_DEF(SHA2,\t\t0x00000001, 0, REG_HWCAP,  6)\n+\tFEAT_DEF(CRC32,\t\t0x00000001, 0, REG_HWCAP,  7)\n+\tFEAT_DEF(AARCH64,\t0x00000001, 0, REG_PLATFORM, 1)\n+};\n+\n+/*\n+ * Read AUXV software register and get cpu features for ARM\n+ */\n+static inline void\n+rte_cpu_get_features(__attribute__((unused)) uint32_t leaf,\n+\t\t     __attribute__((unused)) uint32_t subleaf,\n+\t\t     cpuid_registers_t out)\n+{\n+\tint auxv_fd;\n+\tElf64_auxv_t auxv;\n+\n+\tauxv_fd = open(\"/proc/self/auxv\", O_RDONLY);\n+\tassert(auxv_fd);\n+\twhile (read(auxv_fd, &auxv,\n+\t\t    sizeof(Elf64_auxv_t)) == sizeof(Elf64_auxv_t)) {\n+\t\tif (auxv.a_type == AT_HWCAP) {\n+\t\t\tout[REG_HWCAP] = auxv.a_un.a_val;\n+\t\t} else if (auxv.a_type == AT_HWCAP2) {\n+\t\t\tout[REG_HWCAP2] = auxv.a_un.a_val;\n+\t\t} else if (auxv.a_type == AT_PLATFORM) {\n+\t\t\tif (!strcmp((const char *)auxv.a_un.a_val, \"aarch64\"))\n+\t\t\t\tout[REG_PLATFORM] = 0x0001;\n+\t\t}\n+\t}\n+}\n+\n+/*\n+ * Checks if a particular flag is available on current machine.\n+ */\n+static inline int\n+rte_cpu_get_flag_enabled(enum rte_cpu_flag_t feature)\n+{\n+\tconst struct feature_entry *feat;\n+\tcpuid_registers_t regs = {0};\n+\n+\tif (feature >= RTE_CPUFLAG_NUMFLAGS)\n+\t\t/* Flag does not match anything in the feature tables */\n+\t\treturn -ENOENT;\n+\n+\tfeat = &cpu_feature_table[feature];\n+\n+\tif (!feat->leaf)\n+\t\t/* This entry in the table wasn't filled out! */\n+\t\treturn -EFAULT;\n+\n+\t/* get the cpuid leaf containing the desired feature */\n+\trte_cpu_get_features(feat->leaf, feat->subleaf, regs);\n+\n+\t/* check if the feature is enabled */\n+\treturn (regs[feat->reg] >> feat->bit) & 1;\n+}\n+\n+#ifdef __cplusplus\n+}\n+#endif\n+\n+#endif /* _RTE_CPUFLAGS_ARM64_H_ */\n",
    "prefixes": [
        "dpdk-dev",
        "02/12"
    ]
}