get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 95508,
    "url": "http://patchwork.dpdk.org/api/patches/95508/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1625664343-26498-6-git-send-email-juraj.linkes@pantheon.tech/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<1625664343-26498-6-git-send-email-juraj.linkes@pantheon.tech>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1625664343-26498-6-git-send-email-juraj.linkes@pantheon.tech",
    "date": "2021-07-07T13:25:41",
    "name": "[v18,5/7] build: add aarch32 meson build flags",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "ac8be84b7da733c6ced8a804f7388a79601d574c",
    "submitter": {
        "id": 1626,
        "url": "http://patchwork.dpdk.org/api/people/1626/?format=api",
        "name": "Juraj Linkeš",
        "email": "juraj.linkes@pantheon.tech"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1625664343-26498-6-git-send-email-juraj.linkes@pantheon.tech/mbox/",
    "series": [
        {
            "id": 17702,
            "url": "http://patchwork.dpdk.org/api/series/17702/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=17702",
            "date": "2021-07-07T13:25:36",
            "name": "aarch64 -> aarch32 cross compilation support",
            "version": 18,
            "mbox": "http://patchwork.dpdk.org/series/17702/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/95508/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/95508/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id D65ABA0C4A;\n\tWed,  7 Jul 2021 15:26:24 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id AF7EC41535;\n\tWed,  7 Jul 2021 15:26:00 +0200 (CEST)",
            "from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20])\n by mails.dpdk.org (Postfix) with ESMTP id 76BD241529\n for <dev@dpdk.org>; Wed,  7 Jul 2021 15:25:57 +0200 (CEST)",
            "from localhost (localhost [127.0.0.1])\n by lb.pantheon.sk (Postfix) with ESMTP id DE565E757D;\n Wed,  7 Jul 2021 15:25:55 +0200 (CEST)",
            "from lb.pantheon.sk ([127.0.0.1])\n by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024)\n with ESMTP id UDUHmwjuSe0Y; Wed,  7 Jul 2021 15:25:53 +0200 (CEST)",
            "from service-node1.lab.pantheon.local (unknown [46.229.239.141])\n by lb.pantheon.sk (Postfix) with ESMTP id C2F54E7575;\n Wed,  7 Jul 2021 15:25:48 +0200 (CEST)"
        ],
        "X-Virus-Scanned": "amavisd-new at siecit.sk",
        "From": "=?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "To": "thomas@monjalon.net, david.marchand@redhat.com,\n bruce.richardson@intel.com,\n aconole@redhat.com, maicolgabriel@hotmail.com,\n Honnappa.Nagarahalli@arm.com, Ruifeng.Wang@arm.com,\n ajit.khaparde@broadcom.com, ferruh.yigit@intel.com, jerinjacobk@gmail.com,\n jerinj@marvell.com",
        "Cc": "juraj.linkes@pantheon.tech,\n\tdev@dpdk.org",
        "Date": "Wed,  7 Jul 2021 15:25:41 +0200",
        "Message-Id": "<1625664343-26498-6-git-send-email-juraj.linkes@pantheon.tech>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1625664343-26498-1-git-send-email-juraj.linkes@pantheon.tech>",
        "References": "<1619095749-7948-1-git-send-email-juraj.linkes@pantheon.tech>\n <1625664343-26498-1-git-send-email-juraj.linkes@pantheon.tech>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v18 5/7] build: add aarch32 meson build flags",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Add aarch32 armv8 SoC to build config.\nAlso modify how arm flags are updated in meson build - for 32-bit build,\nupdate only if cross-compiling.\n\nSigned-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>\nAcked-by: Ruifeng Wang <ruifeng.wang@arm.com>\n---\n config/arm/meson.build | 88 +++++++++++++++++++++++++++++-------------\n 1 file changed, 61 insertions(+), 27 deletions(-)",
    "diff": "diff --git a/config/arm/meson.build b/config/arm/meson.build\nindex 9b147c0b93..4170b14c80 100644\n--- a/config/arm/meson.build\n+++ b/config/arm/meson.build\n@@ -24,9 +24,9 @@ flags_common = [\n ]\n \n ## Part numbers are specific to Arm implementers\n-# implementer specific aarch64 flags have middle priority\n+# implementer specific armv8 flags have middle priority\n #     (will overwrite common flags)\n-# part number specific aarch64 flags have higher priority\n+# part number specific armv8 flags have higher priority\n #     (will overwrite both common and implementer specific flags)\n implementer_generic = {\n     'description': 'Generic armv8',\n@@ -37,7 +37,18 @@ implementer_generic = {\n         ['RTE_MAX_NUMA_NODES', 4]\n     ],\n     'part_number_config': {\n-        'generic': {'machine_args': ['-march=armv8-a+crc', '-moutline-atomics']}\n+        'generic': {\n+            'machine_args': ['-march=armv8-a+crc', '-moutline-atomics']\n+        },\n+        'generic_aarch32': {\n+            'machine_args': ['-march=armv8-a', '-mfpu=neon'],\n+            'flags': [\n+                ['RTE_ARCH_ARM_NEON_MEMCPY', false],\n+                ['RTE_ARCH_STRICT_ALIGN', true],\n+                ['RTE_ARCH_ARMv8_AARCH32', true],\n+                ['RTE_CACHE_LINE_SIZE', 64]\n+            ]\n+        }\n     }\n }\n \n@@ -193,14 +204,20 @@ implementers = {\n     '0x51': implementer_qualcomm\n }\n \n-# SoC specific aarch64 flags have the highest priority\n+# SoC specific armv8 flags have the highest priority\n #     (will overwrite all other flags)\n soc_generic = {\n-    'description': 'Generic un-optimized build for all aarch64 machines',\n+    'description': 'Generic un-optimized build for armv8 aarch64 exec mode',\n     'implementer': 'generic',\n     'part_number': 'generic'\n }\n \n+soc_generic_aarch32 = {\n+    'description': 'Generic un-optimized build for armv8 aarch32 exec mode',\n+    'implementer': 'generic',\n+    'part_number': 'generic_aarch32'\n+}\n+\n soc_armada = {\n     'description': 'Marvell ARMADA',\n     'implementer': '0x41',\n@@ -330,28 +347,30 @@ soc_thunderxt88 = {\n \n '''\n Start of SoCs list\n-generic:     Generic un-optimized build for all aarch64 machines.\n-armada:      Marvell ARMADA\n-bluefield:   NVIDIA BlueField\n-centriq2400: Qualcomm Centriq 2400\n-cn10k:       Marvell OCTEON 10\n-dpaa:        NXP DPAA\n-emag:        Ampere eMAG\n-graviton2:   AWS Graviton2\n-kunpeng920:  HiSilicon Kunpeng 920\n-kunpeng930:  HiSilicon Kunpeng 930\n-n1sdp:       Arm Neoverse N1SDP\n-n2:          Arm Neoverse N2\n-octeontx2:   Marvell OCTEON TX2\n-stingray:    Broadcom Stingray\n-thunderx2:   Marvell ThunderX2 T99\n-thunderxt88: Marvell ThunderX T88\n+generic:         Generic un-optimized build for armv8 aarch64 execution mode.\n+generic_aarch32: Generic un-optimized build for armv8 aarch32 execution mode.\n+armada:          Marvell ARMADA\n+bluefield:       NVIDIA BlueField\n+centriq2400:     Qualcomm Centriq 2400\n+cn10k:           Marvell OCTEON 10\n+dpaa:            NXP DPAA\n+emag:            Ampere eMAG\n+graviton2:       AWS Graviton2\n+kunpeng920:      HiSilicon Kunpeng 920\n+kunpeng930:      HiSilicon Kunpeng 930\n+n1sdp:           Arm Neoverse N1SDP\n+n2:              Arm Neoverse N2\n+octeontx2:       Marvell OCTEON TX2\n+stingray:        Broadcom Stingray\n+thunderx2:       Marvell ThunderX2 T99\n+thunderxt88:     Marvell ThunderX T88\n End of SoCs list\n '''\n # The string above is included in the documentation, keep it in sync with the\n # SoCs list below.\n socs = {\n     'generic': soc_generic,\n+    'generic_aarch32': soc_generic_aarch32,\n     'armada': soc_armada,\n     'bluefield': soc_bluefield,\n     'centriq2400': soc_centriq2400,\n@@ -372,14 +391,28 @@ socs = {\n dpdk_conf.set('RTE_ARCH_ARM', 1)\n dpdk_conf.set('RTE_FORCE_INTRINSICS', 1)\n \n+update_flags = false\n+soc_flags = []\n if dpdk_conf.get('RTE_ARCH_32')\n-    # armv7 build\n+    # 32-bit build\n     dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64)\n-    dpdk_conf.set('RTE_ARCH_ARMv7', 1)\n-    # the minimum architecture supported, armv7-a, needs the following,\n-    machine_args += '-mfpu=neon'\n+    if meson.is_cross_build()\n+        update_flags = true\n+        soc = meson.get_cross_property('platform', '')\n+        if soc == ''\n+            error('Arm SoC must be specified in the cross file.')\n+        endif\n+        soc_config = socs.get(soc, {'not_supported': true})\n+        flags_common = []\n+    else\n+        # armv7 build\n+        dpdk_conf.set('RTE_ARCH_ARMv7', true)\n+        # the minimum architecture supported, armv7-a, needs the following,\n+        machine_args += '-mfpu=neon'\n+    endif\n else\n-    # aarch64 build\n+    # armv8 build\n+    update_flags = true\n     soc = get_option('platform')\n     soc_config = {}\n     if not meson.is_cross_build()\n@@ -415,8 +448,9 @@ else\n         endif\n         soc_config = socs.get(soc, {'not_supported': true})\n     endif\n+endif\n \n-    soc_flags = []\n+if update_flags\n     if soc_config.has_key('not_supported')\n         error('SoC @0@ not supported.'.format(soc))\n     elif soc_config != {}\n",
    "prefixes": [
        "v18",
        "5/7"
    ]
}