From patchwork Wed Feb 21 08:09:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 35320 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 475DA1B1A4; Wed, 21 Feb 2018 09:11:12 +0100 (CET) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0081.outbound.protection.outlook.com [104.47.2.81]) by dpdk.org (Postfix) with ESMTP id CFBFC1B1A2 for ; Wed, 21 Feb 2018 09:11:10 +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=Jhe1SXSj5IDzsO4ARwtssbvVgZUEUymY9Agx1/RorEM=; b=JFYPT8wcTY6OhU0n0axaNCzaz7c3ihgijUNNT+wKKbu0a0kmHRywSRS6DObfjvm9nrpwOnA8jXjb32Xahng/G1P2QpkW4UtYqhj3owtPkKASSDKL7TYQhMp08qxXd+HE43eXEN4heyoPn7YBsBVBiL2MMRX3CcpqPfrpCdkiWp0= 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 DB3PR04MB0762.eurprd04.prod.outlook.com (2a01:111:e400:9440::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.485.10; Wed, 21 Feb 2018 08:11:06 +0000 From: Hemant Agrawal To: dev@dpdk.org, thomas@monjalon.net Cc: bruce.richardson@intel.com Date: Wed, 21 Feb 2018 13:39:31 +0530 Message-Id: <1519200571-12620-1-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515769212-24122-1-git-send-email-hemant.agrawal@nxp.com> References: <1515769212-24122-1-git-send-email-hemant.agrawal@nxp.com> MIME-Version: 1.0 X-Originating-IP: [192.88.169.1] X-ClientProxiedBy: PN1PR01CA0117.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00::33) To DB3PR04MB0762.eurprd04.prod.outlook.com (2a01:111:e400:9440::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2cf2a1b5-8f10-407e-9571-08d57902a98c X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7153060)(7193020); SRVR:DB3PR04MB0762; X-Microsoft-Exchange-Diagnostics: 1; DB3PR04MB0762; 3:if05ijd8AHgoBs3E3P7qHsXap6OsVAfiEoQSeiTroFYFhLEW/GaYB9NgPl8HiATY/g0r8gHETDUJv/Bx3uIfZXf2tsqZNZWll0TOv81wxXB/8i/Tm/S53NC67Fyg7ejt2cNJ6lWVi/hkSKvOk06jMXsQg1rVdsiFYquGE42A9tZT7Y9OGG47gDlcCko+OUnJCGQ29NkiwbbEIfZkGhZuL/I93AGkRDrpzibxwBp1sXxOEFrAcAVT67AILqoUZ1eX; 25:CqKBEFUyyUc8LSRmJebU+56sV14N/MrtHicrjFmAUzB2R4UlrKINJv60w8/PCtpMajm73yl+C1j42kWhZmQMXaUt7v+hh99DfHT6iplhnRo11HkARcIEAtMCSPXKQYQqGDA89oftjtyIhbK4/YyrKyUcU4Rc/6LdyBJu+Xog+GpcRdde2Pk3z1WnnuGAejX68pDsdwx+kAB6Iim7FHJp6wiRjT3UOrCrlDS5GqYx2nA+i5YOYo1KWmj8LwIMxrmx5nT6R3xpuahSEXq6VY8ThtqpG/XuSqKzdY/uG+cTuTN3mp5Ju45htpKYjY6W4g7JA3HaGTwyzBR7eL6GZW9Jeg==; 31:9HoJQzZBW1xDiUGAswttpNMGCSPeSP49yqfTc0u141gqXAjKpcyzQqs/aT4T2VYsE6RFop36kID5P6MKWykG6Ql5xEg+QYAbDoavAje4W0G7kEPc43wtFekDITlWOwBEX6aSY8ZurTU60vWVrT/nvQJV8BM2JobFmIf97Fr3hktL8mB09U1HqdYJ6DOfeoWvR7P6pX3KZeNonxNSaY+HH0cIL3yiKI/jriXbfnVv5dM= X-MS-TrafficTypeDiagnostic: DB3PR04MB0762: X-Microsoft-Exchange-Diagnostics: 1; DB3PR04MB0762; 20:w6MW2ArVwt2qRkh0nCYDilBmzdkMY0ygrxRztaT1frznlQl1p2X0IgCJQUvBdwSovCeQICUXuIbx8FcU1zMr5WBEy6/Ua8iVNbtgcOsWchO0Dni/FqC+20muDXAVQTCcjLCALhBIiy6wenEi2Q+w+miX6XB/HMja4yW8hFS9QMAuauUiSfuSA5ZgE7+XFzWVpYlmrINwUx6CTuyWq6rBSzPYoiJGDFYZKHJciHo/aXfdAd3QW5p7JXB0pIzkkHxLtBA2UohlwsAjvy28szAd73oez4EIoYqNftZQWDRnVdtFNCbOza6oxhIHqOk1873rHGOfXupZt8Z+tSDL8pXiUI7vykLmNdU9V0zfuh4iNfaWhoD9foUupHXkseyADkA7GaBciBVlHAaCpqtQdbjQS8bidnRIRq3rlkmpQkuESjBdXP6ZR0kPp26q8lzTHocL86BsJMARwfCJZib+mAUoeSK4nEUycO1VLnRc87HanixgjZn0xWJ7ll5+D0jXicYe; 4:ZZGvMeCGRDgd7XIiwUX4XKgIJx7yWgHxkpNAZ5yNgFX0oDR6RL3aFZeR+cyFRom+qD1PeeOZXcLyLFxm8llspsJ3Lj4tTen+cMoYvlUWrS7TDg2GWx2DmtQvQOtQuPPxGgk22Y9JyzFTOnK4vEgX7g9zZIftPf6TPPzTC1+MvbVqXK27TdfG4JF3uF9j2rigJIq8+t3RfKr6JaMzh1taTT0nquWL0UdVPsHspegA4aaJYe2YqQhTdRiLyuiTgfslqMY5U6u3G1DffzLNY7zM+ZsfziXeI50e9kdowWxe/xH1ptneJKknSFkptScgWA8POFuZJoUDnuC05GzIEhnKJBJNV0K3AawleXWv9GswWO0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001064)(6040501)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231101)(2400082)(944501161)(93006095)(93001095)(6055026)(6041288)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:DB3PR04MB0762; BCL:0; PCL:0; RULEID:; SRVR:DB3PR04MB0762; X-Forefront-PRVS: 0590BBCCBC X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(979002)(39860400002)(376002)(346002)(39380400002)(366004)(396003)(199004)(189003)(25786009)(76176011)(68736007)(81156014)(8676002)(59450400001)(81166006)(86362001)(53936002)(50226002)(47776003)(8936002)(575784001)(6512007)(51416003)(52116002)(97736004)(316002)(478600001)(53946003)(16586007)(50466002)(48376002)(6116002)(7736002)(3846002)(305945005)(2906002)(66066001)(16526019)(186003)(106356001)(26005)(5660300001)(105586002)(386003)(6486002)(6666003)(6506007)(4326008)(2950100002)(36756003)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR04MB0762; H:bf-netperf1.ap.freescale.net; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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; DB3PR04MB0762; 23:j3gfSccnWcRLYr/f2h7bu8YkFPT/bxhPgDc6HorVb?= nKK29CW/XhLzyQ0ckvhBQdG5xU+XIUJQPfzibaEA2Q084M/u3DOiHcS2UE/OgXeyCqqTn6e0VgBAkzV3f3DsodZLRhNvOrqaAddtcuR/2BIe+jTqqy/IJIfFyszheOvYnX58M1ejJuoapBbiDAahtjx1pDvKviMs/w8MzZTgpUbehnFvmf5MFGMHaFq4Q1Oxl/8RXY/xIjMR/4hq2qYLXZUiRt8AR7vzz70QJ4mouYIv0HsRqu3KtmPTAfKPs5RPzYpO0lu9reBo64p7sUMq7BRlsWEm5b7slXzY+F1b052mfHv1wZD3Kh8zAP+NHm5kCAeH0ll+/Uk9t4n3AqAshvHVLnjTaYaSG8mKFxrkxoOcCj0wy1ozoKiI3UqbqbhMbDYyiXEID9Sjn2WS/PeLSYoUFvdH4ohDLpITvf5Nnmf9waIOWcPqBbtqNqFC/7qe6udDLVwenk0n+83hLZcWXFdcurVBHsn7CX3l4gZyGKdxGS+fxp3Eg6CaHPSmh6GIjf7OgH2vFxrQE8VoqRoGpBbns3W1V8gXsSTwoqjHCiLOpkXOeLsellFA8mr8Uv1YrWem0qacFC1us+fKQc9EGJajOFPkvW0OlRkI1S1pTU4ZgaehwsdGsl7oRyJYy9SJmXVB+1cqG+5k+glS/A8hCBXFNfpXolV82C4q5n43ZBOnc8xS6gOzuZVUtvOOgWEU4+LZdARomiethZcSiVuUr3oXdpw+5orJx42PYFTUH13veRK6Jx/FiEJ7mFCb6Z4agp+n4DqvsYrFtriKuBN4LTZTcvVdLyJdr2RsTQ507DWrIrtYAfPJDGhVB/pb5FQNsNTiUUjV3Gj7JpISaveWB3hzJ6BNGeU4Tt58VinnSxP4XMpbQkEPGah/NktA8+XFV5w/DDi6TamnB3T2G9Qt3xRPizjgwPBud1V5bkhlWbsAmpWR+x+PGqe9iuy3b84he19C8pvWi9W77PL6vmmYPW994mT2sDnOFbs/MlKf7uyjB0xnb9btBljsA72yl0NOAVURYp9YtnPajFR+5JB3UAr1iUEMzm00q6caumYzjOe0J4fcuPcYnlqFCp+oxi97VbLVK4cO7f1kaKhJ7UkJa4JYd72WycET/4sNpo7++wK5rif6mrFSh8MFjxdylFLT1u18+mM70do+CjJAWqfwxpBbghuSGYegSiEcONUkiFiyavwbLU8t6qVOxMtdcYp7RY= X-Microsoft-Exchange-Diagnostics: 1; DB3PR04MB0762; 6:jRYomemDuq+uRNgXOZ2Ev0Gr6bUWWMwM5e1xRQiv+poGZapbfcbgg7cqbTPvh9r72EGKDW2Xy62ulDd9mKAfF04yDkzHSWj78bGGvzsWihWjWqmqYyKrSdIZKS91BTTSpN+d8tCz+0RkU4DY6ZieS7lVvBOwA2MHoQYZ3BJsrcIurcgETPMOYx8ocVg2eFtJ3oQd6DD2waXzkiR3mRJrGvAwo5FnMZBaBfNkJ8cr9Cn6rENkTFlSeBywPeIc0vBw7sxz6/GeTe+8obaxKr82VECazQyH7jjcapgO7IawrfZfBE2/U9FogA6xX3AlVnRl+N1SIthS7Eu2z4G6vkPKMN8XPQDAJttMwpT4BACRC0Q=; 5:H/coATehpBTN+sFfYlK+Vyd11aoeom/Xi8whyp9zEqE3eIvqGlZpwtMj1tWEQJkxwy/GJC21QdTlrU4uVxr/X5d50VLcmC+WFlLVEoi1i8vnE+2rCi9XiArEc5v28PA/fPZUo8wP8dT3p753OWd7KYDStLJebo9HNPPG7fa2/tI=; 24:mfdcCFRysXipA734jaw3mO07eVjdUW4rcoBVEAUe9/CbBaxfiUsoue4X/Eco2pV2EQwfufYgQxqkfEJyNQBcHTKP2JJQfeVgnomUwb1Ug50=; 7:8TvcSzByzrhK6BITYYTrHzMps1HKKfgEPZVHDMAK75iLsn41V1dCBSfRgre1fgTq3cHRTihEdWyA6dOO1M1/QLWzUm7NuL2XJjDVe4oyxT2jpgJD6Nu0SLva54rM0+vgns5KXMAnlsiTCWib+isISq9U805m3U7IjUXbIHe4DVxi49tPRj0mJRzW3cK7x6KaInTdfxjlA02EBuuk0DnXfuzxDREzCzMc6gSs51vPn1nSuShEAV9jTNqLQscH0x72 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2018 08:11:06.8469 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2cf2a1b5-8f10-407e-9571-08d57902a98c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR04MB0762 Subject: [dpdk-dev] [PATCH v6] 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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 | 47 ++++++++++++++++++++++ lib/librte_eal/bsdapp/Makefile | 2 - lib/librte_eal/linuxapp/Makefile | 2 - lib/librte_eal/meson.build | 22 ---------- meson.build | 1 + 82 files changed, 124 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..a5d5df7 --- /dev/null +++ b/kernel/meson.build @@ -0,0 +1,47 @@ +# 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) + subdir('freebsd') + 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 + +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')