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 231AFC021B2 for ; Sun, 23 Feb 2025 17:54:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3EBE3280002; Sun, 23 Feb 2025 12:54:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3749A280001; Sun, 23 Feb 2025 12:54:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1EEAC280002; Sun, 23 Feb 2025 12:54:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id EEA2C280001 for ; Sun, 23 Feb 2025 12:54:34 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 73C041C5914 for ; Sun, 23 Feb 2025 17:54:34 +0000 (UTC) X-FDA: 83151959268.21.235B4BB Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf20.hostedemail.com (Postfix) with ESMTP id E202F1C0006 for ; Sun, 23 Feb 2025 17:54:32 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=jhMQcmO5; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf20.hostedemail.com: domain of rppt@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740333272; a=rsa-sha256; cv=none; b=FcaZsNevVRgLn23tOvv/oU09QqnIIRrkSla3LihVx7wGW8jrSYPA0WNI9OdN8FCBZyrrFi q44VdJbM1SRAE+HmqQJr+tRqv6YTYjwabjgbnCCCoVqBKcWzCc2WQ3Pbad3K4r+s76hLqV cO7rqbK1WekIpdUs56IlbEdb1pB94Hk= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=jhMQcmO5; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf20.hostedemail.com: domain of rppt@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740333272; 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=XG0wqFmwsxrmne3nL6ZkYnlCZrYNfChfarzF2/Lhc48=; b=YnayJA7ajmxeCg2GxrNYmg+nN3JyUSCY8WiAx+/ioCmVaxOROR+V5030F5vkcoWTJXEy8n JlA5taFbcWidBQ1loA8MEHuCq94AWWFL1IUefot/0tV9vERYtJXDX1AsCkMQoKqrJ+YU/H zw9FEtj7CbT7MKIhs9oiR75hV8edp5o= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 5A9BF6114A; Sun, 23 Feb 2025 17:54:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 009D7C4CEDD; Sun, 23 Feb 2025 17:54:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740333271; bh=9iFdhdTQZ2gneruKLG7YkE93h9YE3aeXMlyNM4pD9u8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=jhMQcmO5owvm412qh9aUibQCAE5R3H0Y3labMbi96L/jt2+CCd3WvH8UF16mZ5MQB Op9z/uv4OxpBHVLnUkOdjvePsC4VrM+yzCROUe68AVgBUrv7w2DmJHs4xbHfzB8QpG Ozv4nty8IY+SrpRbBFPQHCs0ru5G1hevXj0yQo/cLPvQgyoOxJf1iid9sarJrcIcRd eCJ2zlHemard7aIoWHBWDMYtSOYnbGfGHmDHpa7KlLg3WtovNvwgZK8HmKTQRBnOID k675DyqrTrGHvR6fyQY78uyW/dVn8TdfgorHiV6DURp3ebpe+dlJCScpuL1M0bgk3c jWSaiEQEmv7uA== Date: Sun, 23 Feb 2025 19:54:07 +0200 From: Mike Rapoport To: Alexander Gordeev Cc: Dave Young , Alexander Graf , linux-kernel@vger.kernel.org, Andrew Morton , Andy Lutomirski , Anthony Yznaga , Arnd Bergmann , Ashish Kalra , Benjamin Herrenschmidt , Borislav Petkov , Catalin Marinas , Dave Hansen , David Woodhouse , Eric Biederman , Ingo Molnar , James Gowans , Jonathan Corbet , Krzysztof Kozlowski , Mark Rutland , Paolo Bonzini , Pasha Tatashin , "H. Peter Anvin" , Peter Zijlstra , Pratyush Yadav , Rob Herring , Rob Herring , Saravana Kannan , Stanislav Kinsburskii , Steven Rostedt , Thomas Gleixner , Tom Lendacky , Usama Arif , Will Deacon , devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, Philipp Rudo , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle , linux-s390@vger.kernel.org Subject: Re: [PATCH v4 00/14] kexec: introduce Kexec HandOver (KHO) Message-ID: References: <20250206132754.2596694-1-rppt@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: E202F1C0006 X-Stat-Signature: seuxkp8nhngeh5cece6fj8bbzxaeakdj X-Rspam-User: X-HE-Tag: 1740333272-879111 X-HE-Meta: U2FsdGVkX1/55IIdtmUGc3owRxmA9e75AJnkCcY4RwvmvQTpJxAgwKpiKRkxX1NBr3m8b2JO2U4X4iwR7sobHA9lgBmctwQex93iv8mKXCFvU+EOyASj8W+MtzeburhFfsldXPK5fLG325Bzt1dBSUqjFa+/ohQl9ET+PDFBzrtLwXalj+Wuz0bgRnpsF5l9LjVPtT903eNmy+EqWeFKvyst/BwLzfVJYmDb2or3YSEVKdS9ntdLAOA1cdMYJr1Um8fZmTrfisyOFWPK9Vyhy1mqj02tnIpo8gN4rzo6lVNLzOvsNEGtDkAXUEJH/wVbU2tdFCTVaJrVXLVNZGXmUWUdqhfihnFtWkBkj6TpRYZgcyaBYjC7yvIUZlNZ4KoCODd0Pd0DVkdh1f8IBOym5uT9j0pcKj3yJNPCSjDZjH4N9jtgs24E1M0HqvdpU2qcjSdzFaytywYGtB9R5E2BLrO1+ZGCaTKCr0kCe+Zde0PhfLvYxBz038jhBoSRKpKcjENKZxMDjfe/UBH1Z8DbGOAH/sjrrVYDz7KkHNOWOKQE3dNrM0v/xXe4nv57csRNuEsA9hR8UuUMWj7t8pkORuS9Uo+akZoQ3NUQTI+sidH3Z77tVm/aMdTmpIyjajyv5gHYEf6h7u7GzSlskd+wHluMMARWIGBdEcvho02n8cPcSJgE8zT7GP42TMXvlKcYftPjsfizC7z1ORdGASZOx0vjrAjK5haEV+vtwK5V35eReuwzNjeveIY/SNOpSib40raeDTnLzxhHqTWEAe866/HjGmzI8cqx8KHdjZdnP2YRXNZRq8w9IeGJ+/auhngYPqIZZZnhJHYU8DDFQZSl+t218qUHOYEr5dh60IdyJ0VLVVqGaCgpV1ZnJQWwnTLtPb5qiEcbFjZs5YMU7cCQPWOo9sVuv7obNettGIFDu4uEtvIZuS8uufzOsP+g7ieu6pWgbv3Hmko7hP4RBHi O+u3JRDo Bs8oTJcswai8UKbmUIS+W+KvytJHkJqJUhN/JEpdB6i5V7i5c6r9sBHze2GrVZT6FKzjhiKXHQX+qSYH2faYCTjjp7Xmz5pzyaeNYZ1k3j1mzjcG7ecz1uu3aaPfwv70YKSDL2XqE6AUgCjHZ1orYzatNLVs3JBbeJtcouyrOCf5B64x76npcJvxoPBYkZScBoZ4oU5a5AKRBOCBHUI5de6hlZ4wDymy8mfhyBZLtQZMx93ryOeuIbynMNeSYO6cEoMXzzBTVNFelAWIUW3LKcKqDj0jsUIXs4ClvPnugZOoIiW/dFMEk5xYfaI4ZAAWWwofTSeUVB0SoPsH+swaY6k1P2y/6/o6lm8gu 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 Thu, Feb 20, 2025 at 05:43:48PM +0100, Alexander Gordeev wrote: > On Thu, Feb 20, 2025 at 09:49:52AM +0800, Dave Young wrote: > > On Wed, 19 Feb 2025 at 21:55, Alexander Graf wrote: > > > >>> What architecture exactly does this KHO work fine? Device Tree > > > >>> should be ok on arm*, x86 and power*, but how about s390? > > > >> KHO does not use device tree as the boot protocol, it uses FDT as a data > > > >> structure and adds architecture specific bits to the boot structures to > > > >> point to that data, very similar to how IMA_KEXEC works. > > > >> > > > >> Currently KHO is implemented on arm64 and x86, but there is no fundamental > > > >> reason why it wouldn't work on any architecture that supports kexec. > > > > Well, the problem is whether there is a way to add dtb in the early > > > > boot path, for X86 it is added via setup_data, if there is no such > > > > way I'm not sure if it is doable especially for passing some info for > > > > early boot use. Then the KHO will be only for limited use cases. > > > > > > > > > Every architecture has a platform specific way of passing data into the > > > kernel so it can find its command line and initrd. S390x for example has > > > struct parmarea. To enable s390x, you would remove some of its padding > > > and replace it with a KHO base addr + size, so that the new kernel can > > > find the KHO state tree. > > > > Ok, thanks for the info, I cced s390 people maybe they can provide inputs. > > If I understand correctly, the parmarea would be used for passing the > FDT address - which appears to be fine. However, s390 does not implement > early_memremap()/early_memunmap(), which KHO needs. KHO uses early_memremap()/early_memunmap() because it parses FDT before phys_to_virt() is available on arm64 and x86. AFAIU on s390 phys_to_virt() can be used at setup_arch() time, so it shouldn't be a problem to add appropriate wrappers. -- Sincerely yours, Mike.