From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0083.outbound.protection.outlook.com [104.47.2.83]) by dpdk.org (Postfix) with ESMTP id 139381B1B4 for ; Thu, 22 Feb 2018 07:10:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=NJmvph4nvxBCdc6BxiUIQjwon+BdtWX00zHpcQ36pP0=; b=NuFMEQmEdSKiAXYIli9Q/M2/fc2553YMauHkKyL0yQ+83J8evEa3fX8Evq1DAwmGaP8f7opoK+yalMbO7PBHXO9gPlWKV1AUjv+cL5ZtEdIijNah2WyqLLVqUW8xaySORvvFABweOHxxLRP3vcxje4/UBdQ/X63fvx5woyHC5H0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=hemant.agrawal@nxp.com; Received: from bf-netperf1.ap.freescale.net (192.88.169.1) by DB4PR04MB0767.eurprd04.prod.outlook.com (2a01:111:e400:984d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.506.18; Thu, 22 Feb 2018 06:10:40 +0000 From: Hemant Agrawal To: dev@dpdk.org, bruce.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 (2603:1096:b00:c::31) To DB4PR04MB0767.eurprd04.prod.outlook.com (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; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7153060)(7193020); SRVR:DB4PR04MB0767; X-Microsoft-Exchange-Diagnostics: 1; DB4PR04MB0767; 3:qrTklFNW7pgclfHnyo9RvzyDJDeV8fKLCsjMGysHDHZinmBcZdayN74O7iaDZvW6u8wfZHtuBS/F5Y82WK0ivt9Vjda6k/9wMPgSvryRuwEwuwFf1Hu4kUPLi1+u7um4S0phJhbjhTDAzn7/iQ6UDLNr037Hgi/e/KpkjZ2Fdg0JdIHxPS0FF5hc9SlilTS7/D1QkjtvwGPl4JFf5voduqqekYilQxa1k+LfmJaQee4AgZMDUPEwOjCqFSjOUYEr; 25:DufMYI17JNc3dLIJSpxa8Q8KhlQY/Roc8nLepUp4C31rRD7EFVdQmlhQOlUDrggV1eOzYWRXkcXld/26ScggvEUuyanigpwyNSwmSY/G3ifq9c1n0Gd3wBry2lWFIHDDXUpnVt67vmWTxmeuNNeiD5TAfJrYqkmL11VPQ6uZNd+sUin7kcNt2A6vuJC/TasRmeloQlyL36FsGBYcQWGNrd/zQ/8wvy55dGE+2E/HwKkmtmv1P4ex2eskcaLxwGz2lb1RVGAlm9yu/wG+oOIandzgUzG0+N80wkWjnLN+CaR8goC73yIy7sqWu02hrS5sXP4VCCJYv2gFZiH3NB/QnQ==; 31:BsSdRRBLUbiO2lcJX4pcJ+2y/JvCWZZ+eVPwIjJHrGMp6lce4iMHs5e2ntduh1SJjPiXtenlGQ7x0ZH2+4iLSFl7Fb3jazhAQEwhHbtl8sLzAs1/0qVo4r4PqQl8l0GXdRl3JhtNOPrTWQRhwCNCwCjln7GAEoVWgwEqXtFrmuUgka8Ys8hTunxmjK7yjfINnXujlJUq0CfvaDqT0yZsIeUvEZWfsRH7vPRGtTs5H3M= X-MS-TrafficTypeDiagnostic: DB4PR04MB0767: X-Microsoft-Exchange-Diagnostics: 1; DB4PR04MB0767; 20:TIFPDnMIWoaBrEyfi9GZQeyEZrlsZWSafDeM6HaGd9hQYSELy6lYyLCslFE6KFeQz6FnMNQ7WxCLBRNoLaWIdsQA5VYTmvH1ifWzuOk8mvhaU62irr7V1G37aDREpn4pMTwuT0TPrIMguzxv8AuSjnisj2Myr5e+AEL3z5fxY/ZOlnyNkaLn40nWpkVbFpc0kfPzOWOQ1Xxtz5Eepz2z5JxWigb5S5R3sec0pWLHYNGkBahj91vWGx/jkXvIaqARG7FCrF3zmYBNzCy7kdMrAU8JURPsXWe7BJYbTjRsXWXIOSf76ToG55tqt1QAmYbB0axgrs/TI5HLGsEzAZ7f2hsMIcLT2IMKWnrP+aS3VFq2tzHH2AvI8A3SiweMTAlNG0nHTxFmLmnCp2aFU4DIbvwGsCCM8f14M8ASlGnmaUlVPPlE6srWxLLjbMc1XtsGWLEzmo6agk7EPmVyKrpDU4kDVA5UWk3w+t942AiYPI1ugQ/dEz54Yj5sCDsXDh54; 4:5v+82BDkwo8aPd37AvDDOiw8a1vTlIbWrqlxOcgFP3VexYJvrmegN4A3MUoP0g1iCZpPM3wJZVmdbXXo+s1dPEKIb1onyDdpimQzqlPjhos+xGulu46Kr+EQzMOS4kWuAkGJDwOBAYoKxqwkPFFUaMJCrp8rAs07HS6ZqO2e37F0ie79+c5NpnUTjAy41RQsFru6BnNZOg4S+kS4PyoppDHkJUBQdD+0wbNegf+Fc6F0nIEvs0Eli7v7Y0Jp4D7PsDSZANCRDvgBwWTdhF4V9efFaWjHSgmbedW0lfgjtPX5dr4FvW7WZdaR0TFuR7mmJPDibyNDu6t9o0mcyp3MojerpA4HcsdIN+nJSI5E3sE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001076)(6040501)(2401047)(8121501046)(5005006)(3231101)(944501161)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041288)(20161123558120)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011); SRVR:DB4PR04MB0767; BCL:0; PCL:0; RULEID:; SRVR:DB4PR04MB0767; X-Forefront-PRVS: 059185FE08 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(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); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR04MB0767; H:bf-netperf1.ap.freescale.net; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB4PR04MB0767; 23:PvnLrykJO24FWrqUH4iunwQxiBWaRHcwNJgGuBUrR?= =?us-ascii?Q?4/6Oube/h8VfXfYa44tpr4S7lmSSKSSPy/utODhsstf+H1epwBtZZvNuAAzF?= =?us-ascii?Q?8zfQqJ2AVpx078jW+oRkoz2A6tkmXXTp+6ajFW/xCrgPbplJbKZpxKqu3Olv?= =?us-ascii?Q?qtw2QyGTj/HFTox2vV6c6oVM7bRUfPLLDSIbQzhWYwS84s6P2SQjJmShY75A?= =?us-ascii?Q?H+YE9HRszLPsMWNcZ2I4FSNYKc8sO+BjJW4o6RGxdEFpc72zmukHEFcLpNTl?= =?us-ascii?Q?OVQ2syXLRvGMm1OFw3WkBw2uGqBUmac0bpvgHwj29sH44M1mR3pag2Q85/ri?= =?us-ascii?Q?SLHEhOvfHlNV9eKsNPc1XJsg/FMAyqvs+xdkiKCmJz/3LsppaPQHwYtuk24A?= =?us-ascii?Q?Zizdth9Wpu3hPrBJ+S8wIyKGR0pvQsYLnH53p9tznviqAkLo699wfd0GKHpM?= =?us-ascii?Q?0cFXOvmej00xabAY5FmUi63L/oEtBnSMUc+YIx5ppaxSh+4nUlrIv9EILjk4?= =?us-ascii?Q?R7lWTUPiuKj6DIiLYrKoxBb0QKlF0L8m4vFuGbRzn1ef0gssdZtOljIUaH1O?= =?us-ascii?Q?cQyEW2FH/6h+zN/P05RA7l8xc5CGw0ZBWe01fo8EpP3A+RcagQ2txROqs0Gu?= =?us-ascii?Q?7aa6UHeF4EojTndQh1vCFMQPiMh1CT848fiTi8rBSy/ZlsT/w/As0AyU6xH2?= =?us-ascii?Q?jzUhWcprrN4KZNfSwyMnSbB7FY1u51vLm6yDUYwmNIH5RbLNPxNCFzmVnDpS?= =?us-ascii?Q?6f/NSj8GbqgAuJkC4AggKa51217xfwopW0bM4NfD7vcK1oj7e6blY86cZ3Eg?= =?us-ascii?Q?OHczAPjlklXwMzPjFM+HoPxTC9+Qa0Z1TyTlnwtcR9d5b6yrposua5r9xC2s?= =?us-ascii?Q?t5vOv4mYim9mCj94gNg5XDp2/jvjDfpSKu419f1zWtATYCi9JQqm2Gdoaja4?= =?us-ascii?Q?2zlvfdmFioYfot0TyHKMbr8hIHnYvMos++ALrcruGynaGvAMjr3YhEognnIO?= =?us-ascii?Q?MQmehBWVCszjKW/A7zRoxPGdytFg7EtEmZ6ebcXRY7LYJRU0cT89EAvhIICO?= =?us-ascii?Q?QYcmYHA4lPdavUeqH5VeeGtYYl5mJBI3HFyIgClEwpr+pjnE2+BLVwZg8Coo?= =?us-ascii?Q?QE4mxDXbq8vkwG8VfWhyTd5FRkDBLxKagEv/i49H7C975fM0gQ2yg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB4PR04MB0767; 6:D1uVBAIJcFZedwaGNbK2pbAHJGWszCZQtCbDqLIDTkmgQoeOkPBr1I75EvBCtEZEeX4JvKkzUoUwX5qyWFZY2Id/q0nXw9BrkHnSO+8Go1/QrTcHY74MFZWit2mJp+wulZHXIZ1xKxEmmNzdELToy6jAPiXjieUHjILP6Jcg2leXdXZgL7QV9AhcDCMU9aRPsOCjyZrjvWhFGqPhpcd2aCLuQMQPJnK3b7N2tRW9nypGd0MP1ro0SEP1vz7EfngsAQcbMCSynCgAGbHZTtoEyzOA0EArG6UIga8WjrzmSJfF87AVDP3AEECDcXGlO7xcwOv1NP2LiGyyVxb1AO7AzkPI8adyd/jS5atrB8T1TjE=; 5:NsWzh6lqQW16WqPEluohu3Poh8jyXy8TRfXXh+lfS8UdkOl88kYhbpOdiAFcrhZjlwzsXkWHmoyoNjuxUgGVRIddkNk/vrXwYqJFCofNQc54YL/UiXgM9Kufd2pnabBjZwJ1cISu82QpXVwTXCTeXccmg9vMSZVJ3GyUgQpnTi0=; 24:ATYeaPyuw9z5uyRCdk8KV6oDs/sYtlOJcjBPXqqZmWb3mK4y/PGN3IBQU74wa5Zv2w8NFBs6SUvjNP0/PL9ebn/d+yy4wOWZQQeKgkLsBjU=; 7:12LkLanB2UEBEH0uTTKOytrtAooxGYsTlwY8buAyaqDTnM3E1CjfuuCMlhkgLcjrZzQxr4wz/XEnxGECozKAUwmktalcmuxKbRenRpV0xXKHx4PtS8lqpj/cprOYt8uG8C/iY/kQ2Tg69ngQdu1Rs8E4G78KIY4Flxnp1Pu1SLnGU872zK3IsTmC8R+curxFljZDgQV/Gq9irIcQNpOcAo5ARGotgRlOpDnvIJKe40efe8QtVLjVQE+i3Or+M+gs SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2018 06:10:40.5313 (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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Feb 2018 06:10:44 -0000 This patch moves the kernel modules code from EAL to a common place. - Separate the kernel module code from user space code. Signed-off-by: Hemant Agrawal Tested-by: Bruce Richardson --- v7: fix freebsd build support v6: added meson build support v5: rearrange kernel compliation as per Bruce's suggestion v4: update the path in MAINTAINERS v3: move contigmem from bsdapp v2: rename kern to kernel, add freebsd modules as well GNUmakefile | 2 +- MAINTAINERS | 8 ++-- kernel/Makefile | 9 +++++ kernel/freebsd/BSDmakefile.meson | 43 ++++++++++++++++++++ kernel/freebsd/Makefile | 9 +++++ .../freebsd}/contigmem/BSDmakefile | 0 .../bsdapp => kernel/freebsd}/contigmem/Makefile | 0 .../freebsd}/contigmem/contigmem.c | 0 .../freebsd}/contigmem/meson.build | 0 .../bsdapp => kernel/freebsd}/nic_uio/BSDmakefile | 0 .../bsdapp => kernel/freebsd}/nic_uio/Makefile | 0 .../bsdapp => kernel/freebsd}/nic_uio/meson.build | 0 .../bsdapp => kernel/freebsd}/nic_uio/nic_uio.c | 0 kernel/linux/Makefile | 9 +++++ .../linuxapp => kernel/linux}/igb_uio/Kbuild | 0 .../linuxapp => kernel/linux}/igb_uio/Makefile | 0 .../linuxapp => kernel/linux}/igb_uio/compat.h | 0 .../linuxapp => kernel/linux}/igb_uio/igb_uio.c | 0 .../linuxapp => kernel/linux}/igb_uio/meson.build | 2 +- .../linuxapp => kernel/linux}/kni/Makefile | 0 .../linuxapp => kernel/linux}/kni/compat.h | 0 .../linuxapp => kernel/linux}/kni/ethtool/README | 0 .../linux}/kni/ethtool/igb/e1000_82575.c | 0 .../linux}/kni/ethtool/igb/e1000_82575.h | 0 .../linux}/kni/ethtool/igb/e1000_api.c | 0 .../linux}/kni/ethtool/igb/e1000_api.h | 0 .../linux}/kni/ethtool/igb/e1000_defines.h | 0 .../linux}/kni/ethtool/igb/e1000_hw.h | 0 .../linux}/kni/ethtool/igb/e1000_i210.c | 0 .../linux}/kni/ethtool/igb/e1000_i210.h | 0 .../linux}/kni/ethtool/igb/e1000_mac.c | 0 .../linux}/kni/ethtool/igb/e1000_mac.h | 0 .../linux}/kni/ethtool/igb/e1000_manage.c | 0 .../linux}/kni/ethtool/igb/e1000_manage.h | 0 .../linux}/kni/ethtool/igb/e1000_mbx.c | 0 .../linux}/kni/ethtool/igb/e1000_mbx.h | 0 .../linux}/kni/ethtool/igb/e1000_nvm.c | 0 .../linux}/kni/ethtool/igb/e1000_nvm.h | 0 .../linux}/kni/ethtool/igb/e1000_osdep.h | 0 .../linux}/kni/ethtool/igb/e1000_phy.c | 0 .../linux}/kni/ethtool/igb/e1000_phy.h | 0 .../linux}/kni/ethtool/igb/e1000_regs.h | 0 .../linux}/kni/ethtool/igb/igb.h | 0 .../linux}/kni/ethtool/igb/igb_ethtool.c | 0 .../linux}/kni/ethtool/igb/igb_main.c | 0 .../linux}/kni/ethtool/igb/igb_param.c | 0 .../linux}/kni/ethtool/igb/igb_regtest.h | 0 .../linux}/kni/ethtool/igb/igb_vmdq.c | 0 .../linux}/kni/ethtool/igb/igb_vmdq.h | 0 .../linux}/kni/ethtool/igb/kcompat.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_82598.c | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_82598.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_82599.c | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_82599.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_api.c | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_api.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_common.c | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_common.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_dcb.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_ethtool.c | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_fcoe.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_main.c | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_mbx.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_osdep.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_phy.c | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_phy.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_type.h | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_x540.c | 0 .../linux}/kni/ethtool/ixgbe/ixgbe_x540.h | 0 .../linux}/kni/ethtool/ixgbe/kcompat.c | 0 .../linux}/kni/ethtool/ixgbe/kcompat.h | 0 .../linuxapp => kernel/linux}/kni/kni_dev.h | 0 .../linuxapp => kernel/linux}/kni/kni_ethtool.c | 0 .../linuxapp => kernel/linux}/kni/kni_fifo.h | 0 .../linuxapp => kernel/linux}/kni/kni_misc.c | 0 .../linuxapp => kernel/linux}/kni/kni_net.c | 0 kernel/meson.build | 46 ++++++++++++++++++++++ lib/librte_eal/bsdapp/Makefile | 2 - lib/librte_eal/linuxapp/Makefile | 2 - lib/librte_eal/meson.build | 22 ----------- meson.build | 1 + 82 files changed, 123 insertions(+), 32 deletions(-) create mode 100644 kernel/Makefile create mode 100644 kernel/freebsd/BSDmakefile.meson create mode 100644 kernel/freebsd/Makefile rename {lib/librte_eal/bsdapp => kernel/freebsd}/contigmem/BSDmakefile (100%) rename {lib/librte_eal/bsdapp => kernel/freebsd}/contigmem/Makefile (100%) rename {lib/librte_eal/bsdapp => kernel/freebsd}/contigmem/contigmem.c (100%) rename {lib/librte_eal/bsdapp => kernel/freebsd}/contigmem/meson.build (100%) rename {lib/librte_eal/bsdapp => kernel/freebsd}/nic_uio/BSDmakefile (100%) rename {lib/librte_eal/bsdapp => kernel/freebsd}/nic_uio/Makefile (100%) rename {lib/librte_eal/bsdapp => kernel/freebsd}/nic_uio/meson.build (100%) rename {lib/librte_eal/bsdapp => kernel/freebsd}/nic_uio/nic_uio.c (100%) create mode 100644 kernel/linux/Makefile rename {lib/librte_eal/linuxapp => kernel/linux}/igb_uio/Kbuild (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/igb_uio/Makefile (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/igb_uio/compat.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/igb_uio/igb_uio.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/igb_uio/meson.build (93%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/Makefile (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/compat.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/README (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_82575.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_82575.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_api.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_api.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_defines.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_hw.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_i210.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_i210.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_mac.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_mac.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_manage.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_manage.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_mbx.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_mbx.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_nvm.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_nvm.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_osdep.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_phy.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_phy.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/e1000_regs.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_ethtool.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_main.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_param.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_regtest.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_vmdq.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/igb_vmdq.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/igb/kcompat.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_82598.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_82598.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_82599.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_82599.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_api.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_api.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_common.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_common.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_dcb.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_ethtool.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_fcoe.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_main.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_mbx.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_osdep.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_phy.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_phy.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_type.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_x540.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/ixgbe_x540.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/kcompat.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/ethtool/ixgbe/kcompat.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/kni_dev.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/kni_ethtool.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/kni_fifo.h (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/kni_misc.c (100%) rename {lib/librte_eal/linuxapp => kernel/linux}/kni/kni_net.c (100%) create mode 100644 kernel/meson.build diff --git a/GNUmakefile b/GNUmakefile index d07fef0..ae80720 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -12,7 +12,7 @@ export RTE_SDK # directory list # -ROOTDIRS-y := buildtools lib drivers app +ROOTDIRS-y := buildtools lib kernel drivers app ROOTDIRS- := test include $(RTE_SDK)/mk/rte.sdkroot.mk diff --git a/MAINTAINERS b/MAINTAINERS index a646ca3..2ecb75b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -209,7 +209,7 @@ F: doc/guides/linux_gsg/ Linux UIO M: Ferruh Yigit -F: lib/librte_eal/linuxapp/igb_uio/ +F: kernel/linux/igb_uio/ F: drivers/bus/pci/linux/*uio* Linux VFIO @@ -225,11 +225,11 @@ F: doc/guides/freebsd_gsg/ FreeBSD contigmem M: Bruce Richardson -F: lib/librte_eal/bsdapp/contigmem/ +F: kernel/freebsd/contigmem/ FreeBSD UIO M: Bruce Richardson -F: lib/librte_eal/bsdapp/nic_uio/ +F: kernel/freebsd/nic_uio/ Core Libraries @@ -359,7 +359,7 @@ F: doc/guides/nics/features/bonding.ini Linux KNI M: Ferruh Yigit -F: lib/librte_eal/linuxapp/kni/ +F: kernel/linux/kni/ F: lib/librte_kni/ F: doc/guides/prog_guide/kernel_nic_interface.rst F: test/test/test_kni.c diff --git a/kernel/Makefile b/kernel/Makefile new file mode 100644 index 0000000..8948d04 --- /dev/null +++ b/kernel/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) +# Copyright 2017 NXP + +include $(RTE_SDK)/mk/rte.vars.mk + +DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += linux +DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += freebsd + +include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/kernel/freebsd/BSDmakefile.meson b/kernel/freebsd/BSDmakefile.meson new file mode 100644 index 0000000..42f5b2b --- /dev/null +++ b/kernel/freebsd/BSDmakefile.meson @@ -0,0 +1,43 @@ +# BSD LICENSE +# +# Copyright(c) 2017 Intel Corporation. All rights reserved. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# makefile for building kernel modules using meson +# takes parameters from the environment + +# source file is passed via KMOD_SRC as full path, we only use final +# component of it, as VPATH is used to find actual file, so as to +# have the .o files placed in the build, not source directory +VPATH = ${KMOD_SRC:H} +SRCS = ${KMOD_SRC:T} device_if.h bus_if.h pci_if.h +CFLAGS += $(KMOD_CFLAGS) + +.include diff --git a/kernel/freebsd/Makefile b/kernel/freebsd/Makefile new file mode 100644 index 0000000..c93d7a6 --- /dev/null +++ b/kernel/freebsd/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2017 NXP + +include $(RTE_SDK)/mk/rte.vars.mk + +DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += contigmem +DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += nic_uio + +include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/lib/librte_eal/bsdapp/contigmem/BSDmakefile b/kernel/freebsd/contigmem/BSDmakefile similarity index 100% rename from lib/librte_eal/bsdapp/contigmem/BSDmakefile rename to kernel/freebsd/contigmem/BSDmakefile diff --git a/lib/librte_eal/bsdapp/contigmem/Makefile b/kernel/freebsd/contigmem/Makefile similarity index 100% rename from lib/librte_eal/bsdapp/contigmem/Makefile rename to kernel/freebsd/contigmem/Makefile diff --git a/lib/librte_eal/bsdapp/contigmem/contigmem.c b/kernel/freebsd/contigmem/contigmem.c similarity index 100% rename from lib/librte_eal/bsdapp/contigmem/contigmem.c rename to kernel/freebsd/contigmem/contigmem.c diff --git a/lib/librte_eal/bsdapp/contigmem/meson.build b/kernel/freebsd/contigmem/meson.build similarity index 100% rename from lib/librte_eal/bsdapp/contigmem/meson.build rename to kernel/freebsd/contigmem/meson.build diff --git a/lib/librte_eal/bsdapp/nic_uio/BSDmakefile b/kernel/freebsd/nic_uio/BSDmakefile similarity index 100% rename from lib/librte_eal/bsdapp/nic_uio/BSDmakefile rename to kernel/freebsd/nic_uio/BSDmakefile diff --git a/lib/librte_eal/bsdapp/nic_uio/Makefile b/kernel/freebsd/nic_uio/Makefile similarity index 100% rename from lib/librte_eal/bsdapp/nic_uio/Makefile rename to kernel/freebsd/nic_uio/Makefile diff --git a/lib/librte_eal/bsdapp/nic_uio/meson.build b/kernel/freebsd/nic_uio/meson.build similarity index 100% rename from lib/librte_eal/bsdapp/nic_uio/meson.build rename to kernel/freebsd/nic_uio/meson.build diff --git a/lib/librte_eal/bsdapp/nic_uio/nic_uio.c b/kernel/freebsd/nic_uio/nic_uio.c similarity index 100% rename from lib/librte_eal/bsdapp/nic_uio/nic_uio.c rename to kernel/freebsd/nic_uio/nic_uio.c diff --git a/kernel/linux/Makefile b/kernel/linux/Makefile new file mode 100644 index 0000000..c2c45a3 --- /dev/null +++ b/kernel/linux/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright 2017 NXP + +include $(RTE_SDK)/mk/rte.vars.mk + +DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio +DIRS-$(CONFIG_RTE_KNI_KMOD) += kni + +include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/lib/librte_eal/linuxapp/igb_uio/Kbuild b/kernel/linux/igb_uio/Kbuild similarity index 100% rename from lib/librte_eal/linuxapp/igb_uio/Kbuild rename to kernel/linux/igb_uio/Kbuild diff --git a/lib/librte_eal/linuxapp/igb_uio/Makefile b/kernel/linux/igb_uio/Makefile similarity index 100% rename from lib/librte_eal/linuxapp/igb_uio/Makefile rename to kernel/linux/igb_uio/Makefile diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/kernel/linux/igb_uio/compat.h similarity index 100% rename from lib/librte_eal/linuxapp/igb_uio/compat.h rename to kernel/linux/igb_uio/compat.h diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c similarity index 100% rename from lib/librte_eal/linuxapp/igb_uio/igb_uio.c rename to kernel/linux/igb_uio/igb_uio.c diff --git a/lib/librte_eal/linuxapp/igb_uio/meson.build b/kernel/linux/igb_uio/meson.build similarity index 93% rename from lib/librte_eal/linuxapp/igb_uio/meson.build rename to kernel/linux/igb_uio/meson.build index 257ef63..356f4ab 100644 --- a/lib/librte_eal/linuxapp/igb_uio/meson.build +++ b/kernel/linux/igb_uio/meson.build @@ -18,7 +18,7 @@ custom_target('igb_uio', 'M=' + meson.current_build_dir(), 'src=' + meson.current_source_dir(), 'EXTRA_CFLAGS=-I' + meson.current_source_dir() + - '/../../common/include', + '/../../../lib/librte_eal/common/include', 'modules'], depends: mkfile, build_by_default: get_option('enable_kmods')) diff --git a/lib/librte_eal/linuxapp/kni/Makefile b/kernel/linux/kni/Makefile similarity index 100% rename from lib/librte_eal/linuxapp/kni/Makefile rename to kernel/linux/kni/Makefile diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/kernel/linux/kni/compat.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/compat.h rename to kernel/linux/kni/compat.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/README b/kernel/linux/kni/ethtool/README similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/README rename to kernel/linux/kni/ethtool/README diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c b/kernel/linux/kni/ethtool/igb/e1000_82575.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c rename to kernel/linux/kni/ethtool/igb/e1000_82575.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h b/kernel/linux/kni/ethtool/igb/e1000_82575.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h rename to kernel/linux/kni/ethtool/igb/e1000_82575.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c b/kernel/linux/kni/ethtool/igb/e1000_api.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c rename to kernel/linux/kni/ethtool/igb/e1000_api.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h b/kernel/linux/kni/ethtool/igb/e1000_api.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h rename to kernel/linux/kni/ethtool/igb/e1000_api.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h b/kernel/linux/kni/ethtool/igb/e1000_defines.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h rename to kernel/linux/kni/ethtool/igb/e1000_defines.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h b/kernel/linux/kni/ethtool/igb/e1000_hw.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h rename to kernel/linux/kni/ethtool/igb/e1000_hw.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c b/kernel/linux/kni/ethtool/igb/e1000_i210.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c rename to kernel/linux/kni/ethtool/igb/e1000_i210.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h b/kernel/linux/kni/ethtool/igb/e1000_i210.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h rename to kernel/linux/kni/ethtool/igb/e1000_i210.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c b/kernel/linux/kni/ethtool/igb/e1000_mac.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c rename to kernel/linux/kni/ethtool/igb/e1000_mac.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h b/kernel/linux/kni/ethtool/igb/e1000_mac.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h rename to kernel/linux/kni/ethtool/igb/e1000_mac.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c b/kernel/linux/kni/ethtool/igb/e1000_manage.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c rename to kernel/linux/kni/ethtool/igb/e1000_manage.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h b/kernel/linux/kni/ethtool/igb/e1000_manage.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h rename to kernel/linux/kni/ethtool/igb/e1000_manage.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c b/kernel/linux/kni/ethtool/igb/e1000_mbx.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c rename to kernel/linux/kni/ethtool/igb/e1000_mbx.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h b/kernel/linux/kni/ethtool/igb/e1000_mbx.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h rename to kernel/linux/kni/ethtool/igb/e1000_mbx.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c b/kernel/linux/kni/ethtool/igb/e1000_nvm.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c rename to kernel/linux/kni/ethtool/igb/e1000_nvm.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h b/kernel/linux/kni/ethtool/igb/e1000_nvm.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h rename to kernel/linux/kni/ethtool/igb/e1000_nvm.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h b/kernel/linux/kni/ethtool/igb/e1000_osdep.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h rename to kernel/linux/kni/ethtool/igb/e1000_osdep.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c b/kernel/linux/kni/ethtool/igb/e1000_phy.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c rename to kernel/linux/kni/ethtool/igb/e1000_phy.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h b/kernel/linux/kni/ethtool/igb/e1000_phy.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h rename to kernel/linux/kni/ethtool/igb/e1000_phy.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h b/kernel/linux/kni/ethtool/igb/e1000_regs.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h rename to kernel/linux/kni/ethtool/igb/e1000_regs.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h b/kernel/linux/kni/ethtool/igb/igb.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h rename to kernel/linux/kni/ethtool/igb/igb.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c b/kernel/linux/kni/ethtool/igb/igb_ethtool.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c rename to kernel/linux/kni/ethtool/igb/igb_ethtool.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/kernel/linux/kni/ethtool/igb/igb_main.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c rename to kernel/linux/kni/ethtool/igb/igb_main.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c b/kernel/linux/kni/ethtool/igb/igb_param.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c rename to kernel/linux/kni/ethtool/igb/igb_param.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h b/kernel/linux/kni/ethtool/igb/igb_regtest.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h rename to kernel/linux/kni/ethtool/igb/igb_regtest.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c b/kernel/linux/kni/ethtool/igb/igb_vmdq.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c rename to kernel/linux/kni/ethtool/igb/igb_vmdq.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h b/kernel/linux/kni/ethtool/igb/igb_vmdq.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h rename to kernel/linux/kni/ethtool/igb/igb_vmdq.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/kernel/linux/kni/ethtool/igb/kcompat.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h rename to kernel/linux/kni/ethtool/igb/kcompat.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_82598.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_api.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_api.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_api.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_api.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_common.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_common.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_common.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_common.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_dcb.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_dcb.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_ethtool.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_ethtool.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_fcoe.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_fcoe.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_main.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_main.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_mbx.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_mbx.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_osdep.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_osdep.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_phy.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_type.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_type.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c b/kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h b/kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h rename to kernel/linux/kni/ethtool/ixgbe/ixgbe_x540.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c b/kernel/linux/kni/ethtool/ixgbe/kcompat.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c rename to kernel/linux/kni/ethtool/ixgbe/kcompat.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h b/kernel/linux/kni/ethtool/ixgbe/kcompat.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h rename to kernel/linux/kni/ethtool/ixgbe/kcompat.h diff --git a/lib/librte_eal/linuxapp/kni/kni_dev.h b/kernel/linux/kni/kni_dev.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/kni_dev.h rename to kernel/linux/kni/kni_dev.h diff --git a/lib/librte_eal/linuxapp/kni/kni_ethtool.c b/kernel/linux/kni/kni_ethtool.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/kni_ethtool.c rename to kernel/linux/kni/kni_ethtool.c diff --git a/lib/librte_eal/linuxapp/kni/kni_fifo.h b/kernel/linux/kni/kni_fifo.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/kni_fifo.h rename to kernel/linux/kni/kni_fifo.h diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/kernel/linux/kni/kni_misc.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/kni_misc.c rename to kernel/linux/kni/kni_misc.c diff --git a/lib/librte_eal/linuxapp/kni/kni_net.c b/kernel/linux/kni/kni_net.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/kni_net.c rename to kernel/linux/kni/kni_net.c diff --git a/kernel/meson.build b/kernel/meson.build new file mode 100644 index 0000000..697c419 --- /dev/null +++ b/kernel/meson.build @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2017 Intel Corporation + +# Initially pull in common settings +#eal_inc = [global_inc] +#subdir('common') # defines common_sources, common_objs, etc. + +# Now do OS/exec-env specific settings, including building kernel modules +# The /eal/meson.build file should define env_sources, etc. +if host_machine.system() == 'linux' + dpdk_conf.set('RTE_EXEC_ENV_LINUXAPP', 1) + subdir('linux/igb_uio') + +elif host_machine.system() == 'freebsd' + dpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1) + kmods = ['contigmem', 'nic_uio'] + + # for building kernel modules, we use kernel build system using make, as + # with Linux. We have a skeleton BSDmakefile, which pulls many of its + # values from the environment. Each module only has a single source file + # right now, which allows us to simplify things. We pull in the sourcer + # files from the individual meson.build files, and then use a custom + # target to call make, passing in the values as env parameters. + kmod_cflags = ['-I' + meson.build_root(), + '-I' + join_paths(meson.source_root(), 'config'), + '-include rte_config.h'] + foreach k:kmods + subdir(join_paths('freebsd', k)) + custom_target(k, + input: [files('freebsd/BSDmakefile.meson'), sources], + output: k + '.ko', + command: ['make', '-f', '@INPUT0@', + 'KMOD_SRC=@INPUT1@', + 'KMOD=' + k, + 'KMOD_CFLAGS=' + ' '.join(kmod_cflags)], + build_by_default: get_option('enable_kmods')) + endforeach +else + error('unsupported system type @0@'.format(hostmachine.system())) +endif + +cflags += '-D_GNU_SOURCE' +sources = common_sources + env_sources +objs = common_objs + env_objs +headers = common_headers + env_headers +includes = eal_inc diff --git a/lib/librte_eal/bsdapp/Makefile b/lib/librte_eal/bsdapp/Makefile index 9d8e247..5b06b21 100644 --- a/lib/librte_eal/bsdapp/Makefile +++ b/lib/librte_eal/bsdapp/Makefile @@ -4,7 +4,5 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal -DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += contigmem -DIRS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += nic_uio include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/lib/librte_eal/linuxapp/Makefile b/lib/librte_eal/linuxapp/Makefile index aa52a01..a0fffa9 100644 --- a/lib/librte_eal/linuxapp/Makefile +++ b/lib/librte_eal/linuxapp/Makefile @@ -4,8 +4,6 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal -DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio -DIRS-$(CONFIG_RTE_KNI_KMOD) += kni DEPDIRS-kni := eal CFLAGS += -DALLOW_EXPERIMENTAL_API diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build index d9ba385..15d1c6a 100644 --- a/lib/librte_eal/meson.build +++ b/lib/librte_eal/meson.build @@ -12,33 +12,11 @@ subdir('common') # defines common_sources, common_objs, etc. if host_machine.system() == 'linux' dpdk_conf.set('RTE_EXEC_ENV_LINUXAPP', 1) subdir('linuxapp/eal') - subdir('linuxapp/igb_uio') elif host_machine.system() == 'freebsd' dpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1) subdir('bsdapp/eal') - kmods = ['contigmem', 'nic_uio'] - # for building kernel modules, we use kernel build system using make, as - # with Linux. We have a skeleton BSDmakefile, which pulls many of its - # values from the environment. Each module only has a single source file - # right now, which allows us to simplify things. We pull in the sourcer - # files from the individual meson.build files, and then use a custom - # target to call make, passing in the values as env parameters. - kmod_cflags = ['-I' + meson.build_root(), - '-I' + join_paths(meson.source_root(), 'config'), - '-include rte_config.h'] - foreach k:kmods - subdir(join_paths('bsdapp', k)) - custom_target(k, - input: [files('bsdapp/BSDmakefile.meson'), sources], - output: k + '.ko', - command: ['make', '-f', '@INPUT0@', - 'KMOD_SRC=@INPUT1@', - 'KMOD=' + k, - 'KMOD_CFLAGS=' + ' '.join(kmod_cflags)], - build_by_default: get_option('enable_kmods')) - endforeach else error('unsupported system type @0@'.format(hostmachine.system())) endif diff --git a/meson.build b/meson.build index 0d99313..cc16595 100644 --- a/meson.build +++ b/meson.build @@ -26,6 +26,7 @@ subdir('config') # build libs and drivers subdir('lib') +subdir('kernel') subdir('buildtools') subdir('drivers') -- 2.7.4