From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 72B85C3ABA5 for ; Tue, 29 Apr 2025 16:35:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7B8286B0005; Tue, 29 Apr 2025 12:35:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 78D8F6B0007; Tue, 29 Apr 2025 12:35:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 656016B000C; Tue, 29 Apr 2025 12:35:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 47C936B0005 for ; Tue, 29 Apr 2025 12:35:08 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2F65CC0AF3 for ; Tue, 29 Apr 2025 16:35:09 +0000 (UTC) X-FDA: 83387631138.27.59F4792 Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf05.hostedemail.com (Postfix) with ESMTP id 985BE10000D for ; Tue, 29 Apr 2025 16:35:07 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Hv4+V9oE; spf=pass (imf05.hostedemail.com: domain of rppt@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745944507; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DOAoClMcBjLU+CqkVXLT7D9MbeyBuOnbKGqbxUcqpgQ=; b=dwNOc/9Fgt/7ql1mDeILetF3/svvPnmLTfvOiKlC1J/os8xgm9EUFDTcna+2I+DdW+7Qwx +Hs4harp5qTwmHGEVNw8SUXEuuO6kHMvdNnqJ4VwobMcMItrSWLhbutSz6uMjyPGh0jHXe hX5xezAZudVRf9C0tKVFC+vGactdf00= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Hv4+V9oE; spf=pass (imf05.hostedemail.com: domain of rppt@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745944507; a=rsa-sha256; cv=none; b=FsAIzkpCmKEthkmP9wDKwqgZcFH24cKaeW/69CrNI9br3+ljMYVF9/q+MpDIT5dnVo2teG 4zkMJDa1+h02KjZ04UvrSm9AtFN4TK2p/BdptCHpOWnYzZHOFkCfGwGJcMErZXNx2nb5rO FYIL+0z/+rBuWSYFT84e6+BvF/AskJ0= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id B2A1A615CC; Tue, 29 Apr 2025 16:34:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C094CC4CEE3; Tue, 29 Apr 2025 16:34:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1745944506; bh=+UGyRtEyWANVYEtyHHifh4EloDW/BOB+dVBrXx8R5aE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Hv4+V9oEHFFoqPKi4JJC4Rggve0BsZAvaDzvh4SEQuECW785vJ5yPZ4AatV4KqWu6 wuF2qFRqPfjjSeYHDw7enNzhmN+iUgUUbapSZvr+Dz1qVv8qFyUfXoil/gPujvw11w qoFYOIY78wNSefF32YipQjxSwHAcW3XOmHqgg1S2VM0PWb8PBDGDdDJRkMRAooSKa4 dtKpsbh7N+d9YIvzbEGIi3+RyayqE2xFI+WA5HeWOtGFHWzSkmRs90NjfbDCTTecMx dcRb1imHHNN+d2crW1PnDFXSnrtBlXapjqWlicbZjIMRypxWwu/J1ycGlUtEr3CMqd 0B2+9D5ZaXxeQ== Date: Tue, 29 Apr 2025 19:34:52 +0300 From: Mike Rapoport To: Dave Hansen Cc: Changyuan Lyu , linux-kernel@vger.kernel.org, akpm@linux-foundation.org, anthony.yznaga@oracle.com, arnd@arndb.de, ashish.kalra@amd.com, benh@kernel.crashing.org, bp@alien8.de, catalin.marinas@arm.com, corbet@lwn.net, dave.hansen@linux.intel.com, devicetree@vger.kernel.org, dwmw2@infradead.org, ebiederm@xmission.com, graf@amazon.com, hpa@zytor.com, jgowans@amazon.com, kexec@lists.infradead.org, krzk@kernel.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, luto@kernel.org, mark.rutland@arm.com, mingo@redhat.com, pasha.tatashin@soleen.com, pbonzini@redhat.com, peterz@infradead.org, ptyadav@amazon.de, robh@kernel.org, rostedt@goodmis.org, saravanak@google.com, skinsburskii@linux.microsoft.com, tglx@linutronix.de, thomas.lendacky@amd.com, will@kernel.org, x86@kernel.org Subject: Re: [PATCH v6 11/14] x86: add KHO support Message-ID: References: <20250411053745.1817356-1-changyuanl@google.com> <20250411053745.1817356-12-changyuanl@google.com> <35c58191-f774-40cf-8d66-d1e2aaf11a62@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 985BE10000D X-Stat-Signature: ccir6db9p5i6znek9njdrntewk7guy6w X-HE-Tag: 1745944507-129560 X-HE-Meta: U2FsdGVkX18wESLiaB4UxIYG/Qc/bAqmiAprorZo09j/7NDtBPq7Z4Xv1iroPSzvC8hkX9EmgdHBLUWPYq4LspENTVPCJIisNHrKGp9O875d1E+rGi22mvK2Ba7ghMxtIhjqLT2xRyJfcUajT2vJS3Zx9+MoCy19pncB7IhF8kjEsM2GQRctk8GQ6RmJy6e42uRRHThvZM5CPks/fexh+lT6gcacW0M2iGAySpZMDwipRk2s9MY1XFVKK86HQZ8Qzc6xHo92ICrG/jEeEuy5GbEPFGU7ewpiJcRZCUp3j5XUYZMk+6YMyUAQvtCTlwahA6T63CRrtADlvx1ouzebhX2X0duTClE9NK6w/Zcdc3QlW2RszYKyVhJ61945oox2s6PIUMnidgfxLbyBSCmzcbvd0Sq8LULAZU8DlD6eRSbmC2pmzIlQkubCghR3U9Hbje5HhMiw6BldCf5DjcCderqPmbxtIlny/OHu7X1D0wNI5IX0Jqz3fMNp+jgf3KCxOPA5WydSqmj6jFvdKbyXTk86i5JtE2j0aLqAnvDmkwXswo39RUyEm65G+95YFjJO0gKOQvF/nrbfVgWxI+bs4Tf5eyg3yNAJqHJ03cu7+b3m66EDPKPFPRueBbowqd2h2QFwdasvzVDDXvhHMcUvjXLFXz5H3U8ib8DlSRKJE+r2Kd28HC4Zt+ajQ0vtbvUH/als34er+qteB30UP4Gnpv3a80kTPzsuSop+tpxOGDaDLTkrptMzOpI026SpSvQsx3QKE/E4wDqaKsOdtEBVn2Fa+r3h1uMXyOCssZOYreje54ZU8rYlkpjZnSovulU6dLYXJspbaiukrI6BSS8zW62jph/WMalDoQU0zR0R0v24X420MW9y1gOCXUgkyGKbJerftIftvM9fPOvQv4zXrqkIcUt992OPFGaOsAv1wm2FaRl7Kq204ODZ08xsfm7uXlgTKzwTvSflCK1y/8H RViiGyZr yy44+ioH6ZUKwFfijAInZRDUAmQoz+YY5olgG2K2uKKPqR48y8FEgt49I5gRsvTUlCO6TB+NhhjzBg+xD20kBcWkQv5PEgoD09YyicfynPryAWwENn5zyF9o30L/fgCRaAJ1i+ro/P5eoFA8NgW2l438FE84vluX22hXcgwGMLAFS6xR6PWf/zapBpQiky4HJ1bl5alVEoahnyScf08OjBQwwKjm49xkrdV6iIzW3GIlpZVdOrA+0DvCSFbR4AaoycfN3xdGILXOIMrzBv5F+h0B30A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Apr 29, 2025 at 09:05:02AM -0700, Dave Hansen wrote: > On 4/29/25 08:53, Mike Rapoport wrote: > > On Mon, Apr 28, 2025 at 03:05:55PM -0700, Dave Hansen wrote: > >> On 4/10/25 22:37, Changyuan Lyu wrote: > >>> From: Alexander Graf > >>> > >>> +#ifdef CONFIG_KEXEC_HANDOVER > >>> +static bool process_kho_entries(unsigned long minimum, unsigned long image_size) > >>> +{ > >>> + struct kho_scratch *kho_scratch; > >>> + struct setup_data *ptr; > >>> + int i, nr_areas = 0; > >> > >> Do these really need actual #ifdefs or will a nice IS_ENABLED() check > >> work instead? > >> > >>> + ptr = (struct setup_data *)(unsigned long)boot_params_ptr->hdr.setup_data; > >> > >> What's with the double cast? > > > > The double cast is required for this to be compiled on 32 bits (just like > > in mem_avoid_overlap). The setup_data is all u64 and to cast it to a > > pointer on 32 bit it has to go via unsigned long. > > Let's just make KHO depend on 64BIT, at least on x86. Ok, so we are keeping #ifdef and dropping double cast here. > >>> diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c > >>> index 68530fad05f74..518635cc0876c 100644 > >>> --- a/arch/x86/kernel/kexec-bzimage64.c > >>> +++ b/arch/x86/kernel/kexec-bzimage64.c > >>> @@ -233,6 +233,31 @@ setup_ima_state(const struct kimage *image, struct boot_params *params, > >>> #endif /* CONFIG_IMA_KEXEC */ > >>> } > >>> > >>> +static void setup_kho(const struct kimage *image, struct boot_params *params, > >>> + unsigned long params_load_addr, > >>> + unsigned int setup_data_offset) > >>> +{ > >>> +#ifdef CONFIG_KEXEC_HANDOVER > >> > >> Can this #ifdef be replaced with IS_ENABLED()? > > > > The KHO structures in kexec image are under #ifdef, so it won't compile > > with IS_ENABLED(). > > They shouldn't be. Define them unconditionally, please. > > ... > >> Please axe the #ifdef in the .c file if at all possible, just like the > >> others. > > > > This one follows IMA, but it's easy to make it IS_ENABLED(). It's really up > > to x86 folks preference. > > Last I checked, I'm listed under the big M: for "X86 ARCHITECTURE". ;) I remember :) -- Sincerely yours, Mike.