From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A349DA0547; Mon, 8 Feb 2021 11:26:47 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A266640693; Mon, 8 Feb 2021 11:26:44 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 3C46040147 for ; Mon, 8 Feb 2021 11:26:43 +0100 (CET) IronPort-SDR: Ll5YrvgxHD29KblUgaYe/jTmABujIsz38T4P3OgKj/1hJ8wSTDquUaokyYyNzcaELInCNJw2TO GHIFbLA7SUxw== X-IronPort-AV: E=McAfee;i="6000,8403,9888"; a="200746952" X-IronPort-AV: E=Sophos;i="5.81,161,1610438400"; d="scan'208";a="200746952" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Feb 2021 02:26:35 -0800 IronPort-SDR: LEJPtRBPQHoIozBb7Ck6duR80Gw7AVasi3qEsKM2gq3oWWvCB/r9sqFIxRlHblqdpJwuLE11E5 Bd6hBdwOGZnQ== X-IronPort-AV: E=Sophos;i="5.81,161,1610438400"; d="scan'208";a="395331816" Received: from bricha3-mobl.ger.corp.intel.com ([10.252.0.47]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 08 Feb 2021 02:26:32 -0800 Date: Mon, 8 Feb 2021 10:26:28 +0000 From: Bruce Richardson To: Juraj =?utf-8?Q?Linke=C5=A1?= Cc: "thomas@monjalon.net" , "Ruifeng.Wang@arm.com" , "Honnappa.Nagarahalli@arm.com" , "jerinjacobk@gmail.com" , "hemant.agrawal@nxp.com" , "ferruh.yigit@intel.com" , "aboyer@pensando.io" , "dev@dpdk.org" , "david.marchand@redhat.com" , "bluca@debian.org" Message-ID: <20210208102628.GA2020@bricha3-MOBL.ger.corp.intel.com> References: <1612536397-18008-1-git-send-email-juraj.linkes@pantheon.tech> <1612537472-18192-1-git-send-email-juraj.linkes@pantheon.tech> <20210205152713.GD1462@bricha3-MOBL.ger.corp.intel.com> <121a529885424ec28c24e51f3e8979ff@pantheon.tech> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <121a529885424ec28c24e51f3e8979ff@pantheon.tech> Subject: Re: [dpdk-dev] [RFC PATCH v4] build: kni cross-compilation support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" On Mon, Feb 08, 2021 at 10:17:56AM +0000, Juraj Linkeš wrote: > > > > -----Original Message----- > > From: Bruce Richardson > > Sent: Friday, February 5, 2021 4:27 PM > > To: Juraj Linkeš > > Cc: thomas@monjalon.net; Ruifeng.Wang@arm.com; > > Honnappa.Nagarahalli@arm.com; jerinjacobk@gmail.com; > > hemant.agrawal@nxp.com; ferruh.yigit@intel.com; aboyer@pensando.io; > > dev@dpdk.org; david.marchand@redhat.com; bluca@debian.org > > Subject: Re: [RFC PATCH v4] build: kni cross-compilation support > > > > On Fri, Feb 05, 2021 at 04:04:32PM +0100, Juraj Linkeš wrote: > > > The kni linux module is using a custom target for building, which > > > doesn't take into account any cross compilation arguments. The > > > arguments in question are ARCH, CROSS_COMPILE (for gcc, clang) and CC, > > > LD (for clang). Get those from the cross file and pass them to the > > > custom target. > > > > > > The user supplied path may not contain the 'build' directory, such as > > > when using cross-compiled headers, so only append that in the default > > > case (when no path is supplied in native builds) and use the > > > unmodified path from the user otherwise. Also modify the install path > > accordingly. > > > > > > Signed-off-by: Juraj Linkeš > > > --- > > > > Thanks, this all looks ok to me now, bar one very minor nit below. Doing a native > > build on my system with the running kernel also works fine. > > > > However, the bigger question is one of compatibility for this change. The current > > documentation for the kernel_dir option is: > > option('kernel_dir', type: 'string', value: '', > > description: 'Path to the kernel for building kernel modules. \ > > Headers must be in $kernel_dir/build. Modules will be installed \ > > in $DEST_DIR/$kernel_dir/extra/dpdk.') > > > > Obviously the description now needs an update to reflect the new use > > I'll change the description. The current patch version is always installing the modules into '/lib/modules/' + kernel_version + '/extra/dpdk', though. I don't think we want to change the behavior this way, so I'll make the changes to preserve to original behavior ('/lib/modules/' + kernel_version + '/extra/dpdk' when kernel_dir is not supplied, kernel_dir + '/extra/dpdk' when it is). > In the absense of an explicit kernel_install_dir, I actually think the new way is better. However, I'd be interested in other opinions on this. > > , but I'm > > not sure if changing the behaviour counts as an "ABI" change or not, and > > whether it needs to wait for a new LTS release. Any scripts that were compiling > > using e.g. kernel_dir='/lib/modules/' need to be changed to use > > kernel_dir='/lib/modules//build' instead. > > > > I'm not sure what to do with this. Should I make it backwards compatible by checking the build dir as well (i.e. trying make kernelversion in both $kernel_dir and $kernel_dir/build)? > That's an interesting proposal. Might be worth doing to check both.