get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 35336,
    "url": "http://patches.dpdk.org/api/patches/35336/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1519279745-31117-1-git-send-email-hemant.agrawal@nxp.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<1519279745-31117-1-git-send-email-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1519279745-31117-1-git-send-email-hemant.agrawal@nxp.com",
    "date": "2018-02-22T06:09:05",
    "name": "[dpdk-dev,v7] kernel folder for Linux and BSD modules",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "f35efe67766e09e5883b62b6a958ccd9022e9e25",
    "submitter": {
        "id": 477,
        "url": "http://patches.dpdk.org/api/people/477/?format=api",
        "name": "Hemant Agrawal",
        "email": "hemant.agrawal@nxp.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1519279745-31117-1-git-send-email-hemant.agrawal@nxp.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/35336/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/35336/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 [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 531291B1B9;\n\tThu, 22 Feb 2018 07:10:45 +0100 (CET)",
            "from EUR01-DB5-obe.outbound.protection.outlook.com\n\t(mail-db5eur01on0083.outbound.protection.outlook.com [104.47.2.83])\n\tby dpdk.org (Postfix) with ESMTP id 139381B1B4\n\tfor <dev@dpdk.org>; Thu, 22 Feb 2018 07:10:44 +0100 (CET)",
            "from bf-netperf1.ap.freescale.net (192.88.169.1) by\n\tDB4PR04MB0767.eurprd04.prod.outlook.com (2a01:111:e400:984d::20) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.506.18;\n\tThu, 22 Feb 2018 06:10:40 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=NJmvph4nvxBCdc6BxiUIQjwon+BdtWX00zHpcQ36pP0=;\n\tb=NuFMEQmEdSKiAXYIli9Q/M2/fc2553YMauHkKyL0yQ+83J8evEa3fX8Evq1DAwmGaP8f7opoK+yalMbO7PBHXO9gPlWKV1AUjv+cL5ZtEdIijNah2WyqLLVqUW8xaySORvvFABweOHxxLRP3vcxje4/UBdQ/X63fvx5woyHC5H0=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=hemant.agrawal@nxp.com; ",
        "From": "Hemant Agrawal <hemant.agrawal@nxp.com>",
        "To": "dev@dpdk.org,\n\tbruce.richardson@intel.com",
        "Cc": "thomas@monjalon.net",
        "Date": "Thu, 22 Feb 2018 11:39:05 +0530",
        "Message-Id": "<1519279745-31117-1-git-send-email-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1519200571-12620-1-git-send-email-hemant.agrawal@nxp.com>",
        "References": "<1519200571-12620-1-git-send-email-hemant.agrawal@nxp.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[192.88.169.1]",
        "X-ClientProxiedBy": "BMXPR01CA0045.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00:c::31) To DB4PR04MB0767.eurprd04.prod.outlook.com\n\t(2a01:111:e400:984d::20)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-MS-Office365-Filtering-Correlation-Id": "98d62b6a-bf9c-40e7-19c3-08d579bb0042",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7153060)(7193020);\n\tSRVR:DB4PR04MB0767; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; DB4PR04MB0767;\n\t3:qrTklFNW7pgclfHnyo9RvzyDJDeV8fKLCsjMGysHDHZinmBcZdayN74O7iaDZvW6u8wfZHtuBS/F5Y82WK0ivt9Vjda6k/9wMPgSvryRuwEwuwFf1Hu4kUPLi1+u7um4S0phJhbjhTDAzn7/iQ6UDLNr037Hgi/e/KpkjZ2Fdg0JdIHxPS0FF5hc9SlilTS7/D1QkjtvwGPl4JFf5voduqqekYilQxa1k+LfmJaQee4AgZMDUPEwOjCqFSjOUYEr;\n\t25:DufMYI17JNc3dLIJSpxa8Q8KhlQY/Roc8nLepUp4C31rRD7EFVdQmlhQOlUDrggV1eOzYWRXkcXld/26ScggvEUuyanigpwyNSwmSY/G3ifq9c1n0Gd3wBry2lWFIHDDXUpnVt67vmWTxmeuNNeiD5TAfJrYqkmL11VPQ6uZNd+sUin7kcNt2A6vuJC/TasRmeloQlyL36FsGBYcQWGNrd/zQ/8wvy55dGE+2E/HwKkmtmv1P4ex2eskcaLxwGz2lb1RVGAlm9yu/wG+oOIandzgUzG0+N80wkWjnLN+CaR8goC73yIy7sqWu02hrS5sXP4VCCJYv2gFZiH3NB/QnQ==;\n\t31:BsSdRRBLUbiO2lcJX4pcJ+2y/JvCWZZ+eVPwIjJHrGMp6lce4iMHs5e2ntduh1SJjPiXtenlGQ7x0ZH2+4iLSFl7Fb3jazhAQEwhHbtl8sLzAs1/0qVo4r4PqQl8l0GXdRl3JhtNOPrTWQRhwCNCwCjln7GAEoVWgwEqXtFrmuUgka8Ys8hTunxmjK7yjfINnXujlJUq0CfvaDqT0yZsIeUvEZWfsRH7vPRGtTs5H3M=",
            "1; DB4PR04MB0767;\n\t20:TIFPDnMIWoaBrEyfi9GZQeyEZrlsZWSafDeM6HaGd9hQYSELy6lYyLCslFE6KFeQz6FnMNQ7WxCLBRNoLaWIdsQA5VYTmvH1ifWzuOk8mvhaU62irr7V1G37aDREpn4pMTwuT0TPrIMguzxv8AuSjnisj2Myr5e+AEL3z5fxY/ZOlnyNkaLn40nWpkVbFpc0kfPzOWOQ1Xxtz5Eepz2z5JxWigb5S5R3sec0pWLHYNGkBahj91vWGx/jkXvIaqARG7FCrF3zmYBNzCy7kdMrAU8JURPsXWe7BJYbTjRsXWXIOSf76ToG55tqt1QAmYbB0axgrs/TI5HLGsEzAZ7f2hsMIcLT2IMKWnrP+aS3VFq2tzHH2AvI8A3SiweMTAlNG0nHTxFmLmnCp2aFU4DIbvwGsCCM8f14M8ASlGnmaUlVPPlE6srWxLLjbMc1XtsGWLEzmo6agk7EPmVyKrpDU4kDVA5UWk3w+t942AiYPI1ugQ/dEz54Yj5sCDsXDh54;\n\t4:5v+82BDkwo8aPd37AvDDOiw8a1vTlIbWrqlxOcgFP3VexYJvrmegN4A3MUoP0g1iCZpPM3wJZVmdbXXo+s1dPEKIb1onyDdpimQzqlPjhos+xGulu46Kr+EQzMOS4kWuAkGJDwOBAYoKxqwkPFFUaMJCrp8rAs07HS6ZqO2e37F0ie79+c5NpnUTjAy41RQsFru6BnNZOg4S+kS4PyoppDHkJUBQdD+0wbNegf+Fc6F0nIEvs0Eli7v7Y0Jp4D7PsDSZANCRDvgBwWTdhF4V9efFaWjHSgmbedW0lfgjtPX5dr4FvW7WZdaR0TFuR7mmJPDibyNDu6t9o0mcyp3MojerpA4HcsdIN+nJSI5E3sE=",
            "=?us-ascii?Q?1; DB4PR04MB0767;\n\t23:PvnLrykJO24FWrqUH4iunwQxiBWaRHcwNJgGuBUrR?=\n\t4/6Oube/h8VfXfYa44tpr4S7lmSSKSSPy/utODhsstf+H1epwBtZZvNuAAzF8zfQqJ2AVpx078jW+oRkoz2A6tkmXXTp+6ajFW/xCrgPbplJbKZpxKqu3Olvqtw2QyGTj/HFTox2vV6c6oVM7bRUfPLLDSIbQzhWYwS84s6P2SQjJmShY75AH+YE9HRszLPsMWNcZ2I4FSNYKc8sO+BjJW4o6RGxdEFpc72zmukHEFcLpNTlOVQ2syXLRvGMm1OFw3WkBw2uGqBUmac0bpvgHwj29sH44M1mR3pag2Q85/riSLHEhOvfHlNV9eKsNPc1XJsg/FMAyqvs+xdkiKCmJz/3LsppaPQHwYtuk24AZizdth9Wpu3hPrBJ+S8wIyKGR0pvQsYLnH53p9tznviqAkLo699wfd0GKHpM0cFXOvmej00xabAY5FmUi63L/oEtBnSMUc+YIx5ppaxSh+4nUlrIv9EILjk4R7lWTUPiuKj6DIiLYrKoxBb0QKlF0L8m4vFuGbRzn1ef0gssdZtOljIUaH1OcQyEW2FH/6h+zN/P05RA7l8xc5CGw0ZBWe01fo8EpP3A+RcagQ2txROqs0Gu7aa6UHeF4EojTndQh1vCFMQPiMh1CT848fiTi8rBSy/ZlsT/w/As0AyU6xH2jzUhWcprrN4KZNfSwyMnSbB7FY1u51vLm6yDUYwmNIH5RbLNPxNCFzmVnDpS6f/NSj8GbqgAuJkC4AggKa51217xfwopW0bM4NfD7vcK1oj7e6blY86cZ3EgOHczAPjlklXwMzPjFM+HoPxTC9+Qa0Z1TyTlnwtcR9d5b6yrposua5r9xC2st5vOv4mYim9mCj94gNg5XDp2/jvjDfpSKu419f1zWtATYCi9JQqm2Gdoaja42zlvfdmFioYfot0TyHKMbr8hIHnYvMos++ALrcruGynaGvAMjr3YhEognnIOMQmehBWVCszjKW/A7zRoxPGdytFg7EtEmZ6ebcXRY7LYJRU0cT89EAvhIICOQYcmYHA4lPdavUeqH5VeeGtYYl5mJBI3HFyIgClEwpr+pjnE2+BLVwZg8CooQE4mxDXbq8vkwG8VfWhyTd5FRkDBLxKagEv/i49H7C975fM0gQ2yg==",
            "1; DB4PR04MB0767;\n\t6:D1uVBAIJcFZedwaGNbK2pbAHJGWszCZQtCbDqLIDTkmgQoeOkPBr1I75EvBCtEZEeX4JvKkzUoUwX5qyWFZY2Id/q0nXw9BrkHnSO+8Go1/QrTcHY74MFZWit2mJp+wulZHXIZ1xKxEmmNzdELToy6jAPiXjieUHjILP6Jcg2leXdXZgL7QV9AhcDCMU9aRPsOCjyZrjvWhFGqPhpcd2aCLuQMQPJnK3b7N2tRW9nypGd0MP1ro0SEP1vz7EfngsAQcbMCSynCgAGbHZTtoEyzOA0EArG6UIga8WjrzmSJfF87AVDP3AEECDcXGlO7xcwOv1NP2LiGyyVxb1AO7AzkPI8adyd/jS5atrB8T1TjE=;\n\t5:NsWzh6lqQW16WqPEluohu3Poh8jyXy8TRfXXh+lfS8UdkOl88kYhbpOdiAFcrhZjlwzsXkWHmoyoNjuxUgGVRIddkNk/vrXwYqJFCofNQc54YL/UiXgM9Kufd2pnabBjZwJ1cISu82QpXVwTXCTeXccmg9vMSZVJ3GyUgQpnTi0=;\n\t24:ATYeaPyuw9z5uyRCdk8KV6oDs/sYtlOJcjBPXqqZmWb3mK4y/PGN3IBQU74wa5Zv2w8NFBs6SUvjNP0/PL9ebn/d+yy4wOWZQQeKgkLsBjU=;\n\t7:12LkLanB2UEBEH0uTTKOytrtAooxGYsTlwY8buAyaqDTnM3E1CjfuuCMlhkgLcjrZzQxr4wz/XEnxGECozKAUwmktalcmuxKbRenRpV0xXKHx4PtS8lqpj/cprOYt8uG8C/iY/kQ2Tg69ngQdu1Rs8E4G78KIY4Flxnp1Pu1SLnGU872zK3IsTmC8R+curxFljZDgQV/Gq9irIcQNpOcAo5ARGotgRlOpDnvIJKe40efe8QtVLjVQE+i3Or+M+gs"
        ],
        "X-MS-TrafficTypeDiagnostic": "DB4PR04MB0767:",
        "X-Microsoft-Antispam-PRVS": "<DB4PR04MB076750B666F24B259DEFD4FC89CD0@DB4PR04MB0767.eurprd04.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197)(228905959029699); ",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001076)(6040501)(2401047)(8121501046)(5005006)(3231101)(944501161)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041288)(20161123558120)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011);\n\tSRVR:DB4PR04MB0767; BCL:0; PCL:0; RULEID:; SRVR:DB4PR04MB0767; ",
        "X-Forefront-PRVS": "059185FE08",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(396003)(39860400002)(376002)(366004)(39380400002)(346002)(189003)(199004)(4326008)(6512007)(68736007)(47776003)(305945005)(6486002)(8936002)(66066001)(7736002)(97736004)(81166006)(48376002)(316002)(8676002)(2950100002)(81156014)(50466002)(6666003)(105586002)(16526019)(186003)(478600001)(59450400001)(16586007)(106356001)(36756003)(3846002)(53936002)(6506007)(386003)(6116002)(2906002)(5660300001)(52116002)(25786009)(575784001)(51416003)(86362001)(26005)(50226002)(53946003)(76176011);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR04MB0767;\n\tH:bf-netperf1.ap.freescale.net; \n\tFPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "22 Feb 2018 06:10:40.5313\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "98d62b6a-bf9c-40e7-19c3-08d579bb0042",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB4PR04MB0767",
        "Subject": "[dpdk-dev] [PATCH v7] kernel folder for Linux and BSD modules",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://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": "<https://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": "This patch moves the kernel modules code from EAL to a common place.\n - Separate the kernel module code from user space code.\n\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\nTested-by: Bruce Richardson <bruce.richardson@intel.com>\n---\nv7: fix freebsd build support\nv6: added meson build support\nv5: rearrange kernel compliation as per Bruce's suggestion\nv4: update the path in MAINTAINERS\nv3: move contigmem from bsdapp\nv2: rename kern to kernel, add freebsd modules as well\n\n GNUmakefile                                        |  2 +-\n MAINTAINERS                                        |  8 ++--\n kernel/Makefile                                    |  9 +++++\n kernel/freebsd/BSDmakefile.meson                   | 43 ++++++++++++++++++++\n kernel/freebsd/Makefile                            |  9 +++++\n .../freebsd}/contigmem/BSDmakefile                 |  0\n .../bsdapp => kernel/freebsd}/contigmem/Makefile   |  0\n .../freebsd}/contigmem/contigmem.c                 |  0\n .../freebsd}/contigmem/meson.build                 |  0\n .../bsdapp => kernel/freebsd}/nic_uio/BSDmakefile  |  0\n .../bsdapp => kernel/freebsd}/nic_uio/Makefile     |  0\n .../bsdapp => kernel/freebsd}/nic_uio/meson.build  |  0\n .../bsdapp => kernel/freebsd}/nic_uio/nic_uio.c    |  0\n kernel/linux/Makefile                              |  9 +++++\n .../linuxapp => kernel/linux}/igb_uio/Kbuild       |  0\n .../linuxapp => kernel/linux}/igb_uio/Makefile     |  0\n .../linuxapp => kernel/linux}/igb_uio/compat.h     |  0\n .../linuxapp => kernel/linux}/igb_uio/igb_uio.c    |  0\n .../linuxapp => kernel/linux}/igb_uio/meson.build  |  2 +-\n .../linuxapp => kernel/linux}/kni/Makefile         |  0\n .../linuxapp => kernel/linux}/kni/compat.h         |  0\n .../linuxapp => kernel/linux}/kni/ethtool/README   |  0\n .../linux}/kni/ethtool/igb/e1000_82575.c           |  0\n .../linux}/kni/ethtool/igb/e1000_82575.h           |  0\n .../linux}/kni/ethtool/igb/e1000_api.c             |  0\n .../linux}/kni/ethtool/igb/e1000_api.h             |  0\n .../linux}/kni/ethtool/igb/e1000_defines.h         |  0\n .../linux}/kni/ethtool/igb/e1000_hw.h              |  0\n .../linux}/kni/ethtool/igb/e1000_i210.c            |  0\n .../linux}/kni/ethtool/igb/e1000_i210.h            |  0\n .../linux}/kni/ethtool/igb/e1000_mac.c             |  0\n .../linux}/kni/ethtool/igb/e1000_mac.h             |  0\n .../linux}/kni/ethtool/igb/e1000_manage.c          |  0\n .../linux}/kni/ethtool/igb/e1000_manage.h          |  0\n .../linux}/kni/ethtool/igb/e1000_mbx.c             |  0\n .../linux}/kni/ethtool/igb/e1000_mbx.h             |  0\n .../linux}/kni/ethtool/igb/e1000_nvm.c             |  0\n .../linux}/kni/ethtool/igb/e1000_nvm.h             |  0\n .../linux}/kni/ethtool/igb/e1000_osdep.h           |  0\n .../linux}/kni/ethtool/igb/e1000_phy.c             |  0\n .../linux}/kni/ethtool/igb/e1000_phy.h             |  0\n .../linux}/kni/ethtool/igb/e1000_regs.h            |  0\n .../linux}/kni/ethtool/igb/igb.h                   |  0\n .../linux}/kni/ethtool/igb/igb_ethtool.c           |  0\n .../linux}/kni/ethtool/igb/igb_main.c              |  0\n .../linux}/kni/ethtool/igb/igb_param.c             |  0\n .../linux}/kni/ethtool/igb/igb_regtest.h           |  0\n .../linux}/kni/ethtool/igb/igb_vmdq.c              |  0\n .../linux}/kni/ethtool/igb/igb_vmdq.h              |  0\n .../linux}/kni/ethtool/igb/kcompat.h               |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe.h               |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_82598.c         |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_82598.h         |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_82599.c         |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_82599.h         |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_api.c           |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_api.h           |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_common.c        |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_common.h        |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_dcb.h           |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_ethtool.c       |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_fcoe.h          |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_main.c          |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_mbx.h           |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_osdep.h         |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_phy.c           |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_phy.h           |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_type.h          |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_x540.c          |  0\n .../linux}/kni/ethtool/ixgbe/ixgbe_x540.h          |  0\n .../linux}/kni/ethtool/ixgbe/kcompat.c             |  0\n .../linux}/kni/ethtool/ixgbe/kcompat.h             |  0\n .../linuxapp => kernel/linux}/kni/kni_dev.h        |  0\n .../linuxapp => kernel/linux}/kni/kni_ethtool.c    |  0\n .../linuxapp => kernel/linux}/kni/kni_fifo.h       |  0\n .../linuxapp => kernel/linux}/kni/kni_misc.c       |  0\n .../linuxapp => kernel/linux}/kni/kni_net.c        |  0\n kernel/meson.build                                 | 46 ++++++++++++++++++++++\n lib/librte_eal/bsdapp/Makefile                     |  2 -\n lib/librte_eal/linuxapp/Makefile                   |  2 -\n lib/librte_eal/meson.build                         | 22 -----------\n meson.build                                        |  1 +\n 82 files changed, 123 insertions(+), 32 deletions(-)\n create mode 100644 kernel/Makefile\n create mode 100644 kernel/freebsd/BSDmakefile.meson\n create mode 100644 kernel/freebsd/Makefile\n rename {lib/librte_eal/bsdapp => kernel/freebsd}/contigmem/BSDmakefile (100%)\n rename {lib/librte_eal/bsdapp => kernel/freebsd}/contigmem/Makefile (100%)\n rename {lib/librte_eal/bsdapp => kernel/freebsd}/contigmem/contigmem.c (100%)\n rename {lib/librte_eal/bsdapp => kernel/freebsd}/contigmem/meson.build (100%)\n rename {lib/librte_eal/bsdapp => kernel/freebsd}/nic_uio/BSDmakefile (100%)\n rename {lib/librte_eal/bsdapp => kernel/freebsd}/nic_uio/Makefile (100%)\n rename {lib/librte_eal/bsdapp => kernel/freebsd}/nic_uio/meson.build (100%)\n rename {lib/librte_eal/bsdapp => kernel/freebsd}/nic_uio/nic_uio.c (100%)\n create mode 100644 kernel/linux/Makefile\n rename {lib/librte_eal/linuxapp => kernel/linux}/igb_uio/Kbuild (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/igb_uio/Makefile (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/igb_uio/compat.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/igb_uio/igb_uio.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/igb_uio/meson.build (93%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/Makefile (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/compat.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/README (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_82575.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_82575.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_api.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_api.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_defines.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_hw.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_i210.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_i210.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_mac.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_mac.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_manage.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_manage.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_mbx.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_mbx.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_nvm.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_nvm.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_osdep.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_phy.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_phy.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_regs.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_ethtool.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_main.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_param.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_regtest.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_vmdq.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_vmdq.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/kcompat.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_82598.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_82598.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_82599.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_82599.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_api.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_api.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_common.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_common.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_dcb.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_ethtool.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_fcoe.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_main.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_mbx.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_osdep.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_phy.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_phy.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_type.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_x540.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_x540.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/kcompat.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/kcompat.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/kni_dev.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/kni_ethtool.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/kni_fifo.h (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/kni_misc.c (100%)\n rename {lib/librte_eal/linuxapp => kernel/linux}/kni/kni_net.c (100%)\n create mode 100644 kernel/meson.build",
    "diff": "diff --git a/GNUmakefile b/GNUmakefile\nindex d07fef0..ae80720 100644\n--- a/GNUmakefile\n+++ b/GNUmakefile\n@@ -12,7 +12,7 @@ export RTE_SDK\n # directory list\n #\n \n-ROOTDIRS-y := buildtools lib drivers app\n+ROOTDIRS-y := buildtools lib kernel drivers app\n ROOTDIRS-  := test\n \n include $(RTE_SDK)/mk/rte.sdkroot.mk\ndiff --git a/MAINTAINERS b/MAINTAINERS\nindex a646ca3..2ecb75b 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -209,7 +209,7 @@ F: doc/guides/linux_gsg/\n \n Linux UIO\n M: Ferruh Yigit <ferruh.yigit@intel.com>\n-F: lib/librte_eal/linuxapp/igb_uio/\n+F: kernel/linux/igb_uio/\n F: drivers/bus/pci/linux/*uio*\n \n Linux VFIO\n@@ -225,11 +225,11 @@ F: doc/guides/freebsd_gsg/\n \n FreeBSD contigmem\n M: Bruce Richardson <bruce.richardson@intel.com>\n-F: lib/librte_eal/bsdapp/contigmem/\n+F: kernel/freebsd/contigmem/\n \n FreeBSD UIO\n M: Bruce Richardson <bruce.richardson@intel.com>\n-F: lib/librte_eal/bsdapp/nic_uio/\n+F: kernel/freebsd/nic_uio/\n \n \n Core Libraries\n@@ -359,7 +359,7 @@ F: doc/guides/nics/features/bonding.ini\n \n Linux KNI\n M: Ferruh Yigit <ferruh.yigit@intel.com>\n-F: lib/librte_eal/linuxapp/kni/\n+F: kernel/linux/kni/\n F: lib/librte_kni/\n F: doc/guides/prog_guide/kernel_nic_interface.rst\n F: test/test/test_kni.c\ndiff --git a/kernel/Makefile b/kernel/Makefile\nnew file mode 100644\nindex 0000000..8948d04\n--- /dev/null\n+++ b/kernel/Makefile\n@@ -0,0 +1,9 @@\n+# SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)\n+# Copyright 2017 NXP\n+\n+include $(RTE_SDK)/mk/rte.vars.mk\n+\n+DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += linux\n+DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += freebsd\n+\n+include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/kernel/freebsd/BSDmakefile.meson b/kernel/freebsd/BSDmakefile.meson\nnew file mode 100644\nindex 0000000..42f5b2b\n--- /dev/null\n+++ b/kernel/freebsd/BSDmakefile.meson\n@@ -0,0 +1,43 @@\n+#   BSD LICENSE\n+#\n+#   Copyright(c) 2017 Intel Corporation. All rights reserved.\n+#   All rights reserved.\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 Intel Corporation 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+# makefile for building kernel modules using meson\n+# takes parameters from the environment\n+\n+# source file is passed via KMOD_SRC as full path, we only use final\n+# component of it, as VPATH is used to find actual file, so as to\n+# have the .o files placed in the build, not source directory\n+VPATH = ${KMOD_SRC:H}\n+SRCS = ${KMOD_SRC:T} device_if.h bus_if.h pci_if.h\n+CFLAGS += $(KMOD_CFLAGS)\n+\n+.include <bsd.kmod.mk>\ndiff --git a/kernel/freebsd/Makefile b/kernel/freebsd/Makefile\nnew file mode 100644\nindex 0000000..c93d7a6\n--- /dev/null\n+++ b/kernel/freebsd/Makefile\n@@ -0,0 +1,9 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright 2017 NXP\n+\n+include $(RTE_SDK)/mk/rte.vars.mk\n+\n+DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += contigmem\n+DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += nic_uio\n+\n+include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/lib/librte_eal/bsdapp/contigmem/BSDmakefile b/kernel/freebsd/contigmem/BSDmakefile\nsimilarity index 100%\nrename from lib/librte_eal/bsdapp/contigmem/BSDmakefile\nrename to kernel/freebsd/contigmem/BSDmakefile\ndiff --git a/lib/librte_eal/bsdapp/contigmem/Makefile b/kernel/freebsd/contigmem/Makefile\nsimilarity index 100%\nrename from lib/librte_eal/bsdapp/contigmem/Makefile\nrename to kernel/freebsd/contigmem/Makefile\ndiff --git a/lib/librte_eal/bsdapp/contigmem/contigmem.c b/kernel/freebsd/contigmem/contigmem.c\nsimilarity index 100%\nrename from lib/librte_eal/bsdapp/contigmem/contigmem.c\nrename to kernel/freebsd/contigmem/contigmem.c\ndiff --git a/lib/librte_eal/bsdapp/contigmem/meson.build b/kernel/freebsd/contigmem/meson.build\nsimilarity index 100%\nrename from lib/librte_eal/bsdapp/contigmem/meson.build\nrename to kernel/freebsd/contigmem/meson.build\ndiff --git a/lib/librte_eal/bsdapp/nic_uio/BSDmakefile b/kernel/freebsd/nic_uio/BSDmakefile\nsimilarity index 100%\nrename from lib/librte_eal/bsdapp/nic_uio/BSDmakefile\nrename to kernel/freebsd/nic_uio/BSDmakefile\ndiff --git a/lib/librte_eal/bsdapp/nic_uio/Makefile b/kernel/freebsd/nic_uio/Makefile\nsimilarity index 100%\nrename from lib/librte_eal/bsdapp/nic_uio/Makefile\nrename to kernel/freebsd/nic_uio/Makefile\ndiff --git a/lib/librte_eal/bsdapp/nic_uio/meson.build b/kernel/freebsd/nic_uio/meson.build\nsimilarity index 100%\nrename from lib/librte_eal/bsdapp/nic_uio/meson.build\nrename to kernel/freebsd/nic_uio/meson.build\ndiff --git a/lib/librte_eal/bsdapp/nic_uio/nic_uio.c b/kernel/freebsd/nic_uio/nic_uio.c\nsimilarity index 100%\nrename from lib/librte_eal/bsdapp/nic_uio/nic_uio.c\nrename to kernel/freebsd/nic_uio/nic_uio.c\ndiff --git a/kernel/linux/Makefile b/kernel/linux/Makefile\nnew file mode 100644\nindex 0000000..c2c45a3\n--- /dev/null\n+++ b/kernel/linux/Makefile\n@@ -0,0 +1,9 @@\n+# SPDX-License-Identifier: GPL-2.0\n+# Copyright 2017 NXP\n+\n+include $(RTE_SDK)/mk/rte.vars.mk\n+\n+DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio\n+DIRS-$(CONFIG_RTE_KNI_KMOD) += kni\n+\n+include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/lib/librte_eal/linuxapp/igb_uio/Kbuild b/kernel/linux/igb_uio/Kbuild\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/igb_uio/Kbuild\nrename to kernel/linux/igb_uio/Kbuild\ndiff --git a/lib/librte_eal/linuxapp/igb_uio/Makefile b/kernel/linux/igb_uio/Makefile\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/igb_uio/Makefile\nrename to kernel/linux/igb_uio/Makefile\ndiff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/kernel/linux/igb_uio/compat.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/igb_uio/compat.h\nrename to kernel/linux/igb_uio/compat.h\ndiff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/igb_uio/igb_uio.c\nrename to kernel/linux/igb_uio/igb_uio.c\ndiff --git a/lib/librte_eal/linuxapp/igb_uio/meson.build b/kernel/linux/igb_uio/meson.build\nsimilarity index 93%\nrename from lib/librte_eal/linuxapp/igb_uio/meson.build\nrename to kernel/linux/igb_uio/meson.build\nindex 257ef63..356f4ab 100644\n--- a/lib/librte_eal/linuxapp/igb_uio/meson.build\n+++ b/kernel/linux/igb_uio/meson.build\n@@ -18,7 +18,7 @@ custom_target('igb_uio',\n \t\t'M=' + meson.current_build_dir(),\n \t\t'src=' + meson.current_source_dir(),\n \t\t'EXTRA_CFLAGS=-I' + meson.current_source_dir() +\n-\t\t\t'/../../common/include',\n+\t\t\t'/../../../lib/librte_eal/common/include',\n \t\t'modules'],\n \tdepends: mkfile,\n \tbuild_by_default: get_option('enable_kmods'))\ndiff --git a/lib/librte_eal/linuxapp/kni/Makefile b/kernel/linux/kni/Makefile\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/Makefile\nrename to kernel/linux/kni/Makefile\ndiff --git a/lib/librte_eal/linuxapp/kni/compat.h b/kernel/linux/kni/compat.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/compat.h\nrename to kernel/linux/kni/compat.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/README b/kernel/linux/kni/ethtool/README\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/README\nrename to kernel/linux/kni/ethtool/README\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c b/kernel/linux/kni/ethtool/igb/e1000_82575.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c\nrename to kernel/linux/kni/ethtool/igb/e1000_82575.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h b/kernel/linux/kni/ethtool/igb/e1000_82575.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h\nrename to kernel/linux/kni/ethtool/igb/e1000_82575.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c b/kernel/linux/kni/ethtool/igb/e1000_api.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c\nrename to kernel/linux/kni/ethtool/igb/e1000_api.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h b/kernel/linux/kni/ethtool/igb/e1000_api.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h\nrename to kernel/linux/kni/ethtool/igb/e1000_api.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h b/kernel/linux/kni/ethtool/igb/e1000_defines.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h\nrename to kernel/linux/kni/ethtool/igb/e1000_defines.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h b/kernel/linux/kni/ethtool/igb/e1000_hw.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h\nrename to kernel/linux/kni/ethtool/igb/e1000_hw.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c b/kernel/linux/kni/ethtool/igb/e1000_i210.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c\nrename to kernel/linux/kni/ethtool/igb/e1000_i210.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h b/kernel/linux/kni/ethtool/igb/e1000_i210.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h\nrename to kernel/linux/kni/ethtool/igb/e1000_i210.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c b/kernel/linux/kni/ethtool/igb/e1000_mac.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c\nrename to kernel/linux/kni/ethtool/igb/e1000_mac.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h b/kernel/linux/kni/ethtool/igb/e1000_mac.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h\nrename to kernel/linux/kni/ethtool/igb/e1000_mac.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c b/kernel/linux/kni/ethtool/igb/e1000_manage.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c\nrename to kernel/linux/kni/ethtool/igb/e1000_manage.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h b/kernel/linux/kni/ethtool/igb/e1000_manage.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h\nrename to kernel/linux/kni/ethtool/igb/e1000_manage.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c b/kernel/linux/kni/ethtool/igb/e1000_mbx.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c\nrename to kernel/linux/kni/ethtool/igb/e1000_mbx.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h b/kernel/linux/kni/ethtool/igb/e1000_mbx.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h\nrename to kernel/linux/kni/ethtool/igb/e1000_mbx.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c b/kernel/linux/kni/ethtool/igb/e1000_nvm.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c\nrename to kernel/linux/kni/ethtool/igb/e1000_nvm.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h b/kernel/linux/kni/ethtool/igb/e1000_nvm.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h\nrename to kernel/linux/kni/ethtool/igb/e1000_nvm.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h b/kernel/linux/kni/ethtool/igb/e1000_osdep.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h\nrename to kernel/linux/kni/ethtool/igb/e1000_osdep.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c b/kernel/linux/kni/ethtool/igb/e1000_phy.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c\nrename to kernel/linux/kni/ethtool/igb/e1000_phy.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h b/kernel/linux/kni/ethtool/igb/e1000_phy.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h\nrename to kernel/linux/kni/ethtool/igb/e1000_phy.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h b/kernel/linux/kni/ethtool/igb/e1000_regs.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h\nrename to kernel/linux/kni/ethtool/igb/e1000_regs.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h b/kernel/linux/kni/ethtool/igb/igb.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h\nrename to kernel/linux/kni/ethtool/igb/igb.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c b/kernel/linux/kni/ethtool/igb/igb_ethtool.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c\nrename to kernel/linux/kni/ethtool/igb/igb_ethtool.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/kernel/linux/kni/ethtool/igb/igb_main.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c\nrename to kernel/linux/kni/ethtool/igb/igb_main.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c b/kernel/linux/kni/ethtool/igb/igb_param.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c\nrename to kernel/linux/kni/ethtool/igb/igb_param.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h b/kernel/linux/kni/ethtool/igb/igb_regtest.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h\nrename to kernel/linux/kni/ethtool/igb/igb_regtest.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c b/kernel/linux/kni/ethtool/igb/igb_vmdq.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c\nrename to kernel/linux/kni/ethtool/igb/igb_vmdq.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h b/kernel/linux/kni/ethtool/igb/igb_vmdq.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h\nrename to kernel/linux/kni/ethtool/igb/igb_vmdq.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/kernel/linux/kni/ethtool/igb/kcompat.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h\nrename to kernel/linux/kni/ethtool/igb/kcompat.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_api.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_api.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_api.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_api.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_common.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_common.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_common.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_common.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_dcb.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_dcb.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_ethtool.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_ethtool.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_fcoe.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_fcoe.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_main.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_main.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_mbx.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_mbx.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_osdep.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_osdep.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_type.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_type.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h\nrename to kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.h\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c b/kernel/linux/kni/ethtool/ixgbe/kcompat.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c\nrename to kernel/linux/kni/ethtool/ixgbe/kcompat.c\ndiff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h b/kernel/linux/kni/ethtool/ixgbe/kcompat.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h\nrename to kernel/linux/kni/ethtool/ixgbe/kcompat.h\ndiff --git a/lib/librte_eal/linuxapp/kni/kni_dev.h b/kernel/linux/kni/kni_dev.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/kni_dev.h\nrename to kernel/linux/kni/kni_dev.h\ndiff --git a/lib/librte_eal/linuxapp/kni/kni_ethtool.c b/kernel/linux/kni/kni_ethtool.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/kni_ethtool.c\nrename to kernel/linux/kni/kni_ethtool.c\ndiff --git a/lib/librte_eal/linuxapp/kni/kni_fifo.h b/kernel/linux/kni/kni_fifo.h\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/kni_fifo.h\nrename to kernel/linux/kni/kni_fifo.h\ndiff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/kernel/linux/kni/kni_misc.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/kni_misc.c\nrename to kernel/linux/kni/kni_misc.c\ndiff --git a/lib/librte_eal/linuxapp/kni/kni_net.c b/kernel/linux/kni/kni_net.c\nsimilarity index 100%\nrename from lib/librte_eal/linuxapp/kni/kni_net.c\nrename to kernel/linux/kni/kni_net.c\ndiff --git a/kernel/meson.build b/kernel/meson.build\nnew file mode 100644\nindex 0000000..697c419\n--- /dev/null\n+++ b/kernel/meson.build\n@@ -0,0 +1,46 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2017 Intel Corporation\n+\n+# Initially pull in common settings\n+#eal_inc = [global_inc]\n+#subdir('common') # defines common_sources, common_objs, etc.\n+\n+# Now do OS/exec-env specific settings, including building kernel modules\n+# The <exec-env>/eal/meson.build file should define env_sources, etc.\n+if host_machine.system() == 'linux'\n+\tdpdk_conf.set('RTE_EXEC_ENV_LINUXAPP', 1)\n+\tsubdir('linux/igb_uio')\n+\n+elif host_machine.system() == 'freebsd'\n+\tdpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1)\n+\tkmods = ['contigmem', 'nic_uio']\n+\n+\t# for building kernel modules, we use kernel build system using make, as\n+\t# with Linux. We have a skeleton BSDmakefile, which pulls many of its\n+\t# values from the environment. Each module only has a single source file\n+\t# right now, which allows us to simplify things. We pull in the sourcer\n+\t# files from the individual meson.build files, and then use a custom\n+\t# target to call make, passing in the values as env parameters.\n+\tkmod_cflags = ['-I' + meson.build_root(),\n+\t\t\t'-I' + join_paths(meson.source_root(), 'config'),\n+\t\t\t'-include rte_config.h']\n+\tforeach k:kmods\n+\t\tsubdir(join_paths('freebsd', k))\n+\t\tcustom_target(k,\n+\t\t\tinput: [files('freebsd/BSDmakefile.meson'), sources],\n+\t\t\toutput: k + '.ko',\n+\t\t\tcommand: ['make', '-f', '@INPUT0@',\n+\t\t\t\t'KMOD_SRC=@INPUT1@',\n+\t\t\t\t'KMOD=' + k,\n+\t\t\t\t'KMOD_CFLAGS=' + ' '.join(kmod_cflags)],\n+\t\t\tbuild_by_default: get_option('enable_kmods'))\n+\tendforeach\n+else\n+\terror('unsupported system type @0@'.format(hostmachine.system()))\n+endif\n+\n+cflags += '-D_GNU_SOURCE'\n+sources = common_sources + env_sources\n+objs = common_objs + env_objs\n+headers = common_headers + env_headers\n+includes = eal_inc\ndiff --git a/lib/librte_eal/bsdapp/Makefile b/lib/librte_eal/bsdapp/Makefile\nindex 9d8e247..5b06b21 100644\n--- a/lib/librte_eal/bsdapp/Makefile\n+++ b/lib/librte_eal/bsdapp/Makefile\n@@ -4,7 +4,5 @@\n include $(RTE_SDK)/mk/rte.vars.mk\n \n DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal\n-DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += contigmem\n-DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += nic_uio\n \n include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/lib/librte_eal/linuxapp/Makefile b/lib/librte_eal/linuxapp/Makefile\nindex aa52a01..a0fffa9 100644\n--- a/lib/librte_eal/linuxapp/Makefile\n+++ b/lib/librte_eal/linuxapp/Makefile\n@@ -4,8 +4,6 @@\n include $(RTE_SDK)/mk/rte.vars.mk\n \n DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal\n-DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio\n-DIRS-$(CONFIG_RTE_KNI_KMOD) += kni\n DEPDIRS-kni := eal\n \n CFLAGS += -DALLOW_EXPERIMENTAL_API\ndiff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build\nindex d9ba385..15d1c6a 100644\n--- a/lib/librte_eal/meson.build\n+++ b/lib/librte_eal/meson.build\n@@ -12,33 +12,11 @@ subdir('common') # defines common_sources, common_objs, etc.\n if host_machine.system() == 'linux'\n \tdpdk_conf.set('RTE_EXEC_ENV_LINUXAPP', 1)\n \tsubdir('linuxapp/eal')\n-\tsubdir('linuxapp/igb_uio')\n \n elif host_machine.system() == 'freebsd'\n \tdpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1)\n \tsubdir('bsdapp/eal')\n-\tkmods = ['contigmem', 'nic_uio']\n \n-\t# for building kernel modules, we use kernel build system using make, as\n-\t# with Linux. We have a skeleton BSDmakefile, which pulls many of its\n-\t# values from the environment. Each module only has a single source file\n-\t# right now, which allows us to simplify things. We pull in the sourcer\n-\t# files from the individual meson.build files, and then use a custom\n-\t# target to call make, passing in the values as env parameters.\n-\tkmod_cflags = ['-I' + meson.build_root(),\n-\t\t\t'-I' + join_paths(meson.source_root(), 'config'),\n-\t\t\t'-include rte_config.h']\n-\tforeach k:kmods\n-\t\tsubdir(join_paths('bsdapp', k))\n-\t\tcustom_target(k,\n-\t\t\tinput: [files('bsdapp/BSDmakefile.meson'), sources],\n-\t\t\toutput: k + '.ko',\n-\t\t\tcommand: ['make', '-f', '@INPUT0@',\n-\t\t\t\t'KMOD_SRC=@INPUT1@',\n-\t\t\t\t'KMOD=' + k,\n-\t\t\t\t'KMOD_CFLAGS=' + ' '.join(kmod_cflags)],\n-\t\t\tbuild_by_default: get_option('enable_kmods'))\n-\tendforeach\n else\n \terror('unsupported system type @0@'.format(hostmachine.system()))\n endif\ndiff --git a/meson.build b/meson.build\nindex 0d99313..cc16595 100644\n--- a/meson.build\n+++ b/meson.build\n@@ -26,6 +26,7 @@ subdir('config')\n \n # build libs and drivers\n subdir('lib')\n+subdir('kernel')\n subdir('buildtools')\n subdir('drivers')\n \n",
    "prefixes": [
        "dpdk-dev",
        "v7"
    ]
}