Received: by 10.223.185.116 with SMTP id b49csp1591187wrg; Wed, 14 Feb 2018 21:09:33 -0800 (PST) X-Google-Smtp-Source: AH8x225zov8WlxyeBOxPCI+OTEG4pDXBwhskJ86CjHS8A9rvuorEBGV4Wncgg02J747Io9m9RhUS X-Received: by 10.99.163.9 with SMTP id s9mr1216621pge.264.1518671373028; Wed, 14 Feb 2018 21:09:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518671373; cv=none; d=google.com; s=arc-20160816; b=06pQM/2X67cQgs2sLVzrm7sl5yp9XbtzpVxrjASbjgy6KohB6aOa2VZswJdchzU5BP lk8VrKyzuUuv2OENKYcAVILija5IvMc23F8DfZ6zB6BnnfBshyRgq06hDqCXGhyFZdk4 mQgcUnYdUyH5vhSrO3E9cJkLg+oChbKuIbr1rcA08r1hqoQCLkfOne3lRKr0ImCKR92J w6gvjhmOKHoE7ZrzPNou4k37/6jHs68vfbOnRXB0svrUcCVF8cS7fNufovitqi9Y5pR4 155GbNo97rjQAucoNT61SeKqvI9c9RIT8pthL5E3ASU4UXlKY64XjGLPXHKuw0CwlP6L 9C6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:dkim-signature :arc-authentication-results; bh=RRY501A0r0UzWyN5CLGE7F8V8aYC/XEJAVyJ0wzCJGM=; b=RKdURJN1KBj2P7El3rxy6It8QDEYzG54n1878QSjz4E+mz3tY1kKmQMr4wf/WyvHpE Nntla5YBhsqtpHo2ogvYTpX3YsLCPdYHdKy+0DRoHUZmvLa+QVgFopcUwbmyXPa0xPNd L5bmPEAlmqJN4b6SKNU1/a6Av2qCH05mlsVwMFJswSLGiZ4NMTC+H2KU4j+rfsVJMzo+ oAcm62HYDu4NNOwnpjtjaVD8hAj59RqNkLZ38SXipAyqmHs9Pu6L+FD5Jt8if9Ymlqcp /qRqB9QxdRzCTX2ZdVcFHv+dlVvbf86B2Wsxa3y+lkcicrfbxcrQVx87j9Bez6FopqXV UNLQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KJn9wqDw; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w17-v6si2575115plp.44.2018.02.14.21.09.18; Wed, 14 Feb 2018 21:09:33 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KJn9wqDw; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751560AbeBOFIj (ORCPT + 99 others); Thu, 15 Feb 2018 00:08:39 -0500 Received: from mail-it0-f67.google.com ([209.85.214.67]:40346 "EHLO mail-it0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751484AbeBOFIg (ORCPT ); Thu, 15 Feb 2018 00:08:36 -0500 Received: by mail-it0-f67.google.com with SMTP id v186so12343850itc.5 for ; Wed, 14 Feb 2018 21:08:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-disposition:in-reply-to:user-agent; bh=RRY501A0r0UzWyN5CLGE7F8V8aYC/XEJAVyJ0wzCJGM=; b=KJn9wqDwBTw5oN8miCVw77kKNuXF1dj+8Vpj01ZQ4zTHQ+XPHhzKuRY2Szh2H/89K9 qVmcf6ZXGcnSsIfRomaoR3If+kAhUsmlizzS2Af6GwyemTSKzVxFj9GUsJtnmYd6Iim8 HkWauTi7DWj0ua+o/FUU1q62clsqIR6NZqufc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=RRY501A0r0UzWyN5CLGE7F8V8aYC/XEJAVyJ0wzCJGM=; b=VQebSgbq26ZkEJi+UNEn7Td8CTV40/VMdU7S43ypHER9IpUoBTvge8pNEaACqcR2CW VdT35q1lTWa5W20xZHplEScG5Y3xE+6oX5JbQcjr6e2ELXy/A1fDOoC5x4k7Z+tvk4L7 cksZ53IOo9zlcyb6CKtHwrIOkxtmuEfMBklQ+PE1n9jXYmBZcVcaX/A8gmwo8Z2VR+N8 VP06culUJfJX/CitIMWgua0YeaUJndpEpBUdHc2D+QyS9T6lyIOZm7eXIeKzXkjuYn6P I1qpP+WP5spaVZwP9ZlJ/0PNK+CqzBD+bCfG+W6FtywIm14OtZOGF5PXazhudi/XKcCA PeBQ== X-Gm-Message-State: APf1xPDk9/aOC6PFhxfv1pbO68WmSI32fwAq8pI3cfSsHuKgMlfEaSoP 3KF3j3dy+TRzIyp6PMFCWBfYHQ== X-Received: by 10.36.73.18 with SMTP id z18mr1877930ita.132.1518671316020; Wed, 14 Feb 2018 21:08:36 -0800 (PST) Received: from linaro.org ([121.95.100.191]) by smtp.googlemail.com with ESMTPSA id g141sm8838140ioe.3.2018.02.14.21.08.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Feb 2018 21:08:35 -0800 (PST) Date: Thu, 15 Feb 2018 14:08:22 +0900 From: AKASHI Takahiro To: Philipp Rudo Cc: Dave Young , kexec@lists.infradead.org, linux-s390@vger.kernel.org, Michael Ellerman , x86@kernel.org, Heiko Carstens , linux-kernel@vger.kernel.org, Martin Schwidefsky , Eric Biederman , Thiago Jung Bauermann , Andrew Morton , Vivek Goyal Subject: Re: [PATCH 00/17] Add kexec_file_load support to s390 Message-ID: <20180215050821.GB11463@linaro.org> Mail-Followup-To: AKASHI Takahiro , Philipp Rudo , Dave Young , kexec@lists.infradead.org, linux-s390@vger.kernel.org, Michael Ellerman , x86@kernel.org, Heiko Carstens , linux-kernel@vger.kernel.org, Martin Schwidefsky , Eric Biederman , Thiago Jung Bauermann , Andrew Morton , Vivek Goyal References: <20180212100754.55121-1-prudo@linux.vnet.ibm.com> <20180214073543.GA12328@dhcp-128-65.nay.redhat.com> <20180214105449.1325bfbe@ThinkPad> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180214105449.1325bfbe@ThinkPad> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Wed, Feb 14, 2018 at 10:54:49AM +0100, Philipp Rudo wrote: > Hi Dave, > > I just browsed AKASHI's patches (v7). The way I see it the common code changes > are on different areas of kexec_file and shouldn't get in conflict. Only in the > arch code (s390 and arm64) some function calls might need an update. But I have > to take a closer look on the patches first. Yes, I mainly focus on re-factoring elf-core-header related code. > @AKASHI: Welcome to the list. While browsing I couldn't find any > arch_apply_relocation function for arm64. These require the biggest changes in > my patch set. Did I just miss it or does arm64 work differently? Well, after some discussions with arm64 key developers, we decided not to utilize digest hash values in purgatory as they may not be very valuable, and this resulted in a simple purgatory, which requires no re-linking/relocations. In my next version coming soon, as our purgatory was so simple, we will completely drop a purgatory from kexec_file_load code. (we will still maintain a purgatory for legacy kexec_load as kexec-tools has it now.) Thanks, -Takahiro AKASHI > @Dave: Happy holiday > > Thanks > Philipp > > On Wed, 14 Feb 2018 15:35:43 +0800 > Dave Young wrote: > > > Hi Philipp, > > > > I added AKASHI in cc, he posted arm64 kexec_file series previously. > > I would like to read both series especially the general part, but > > maybe at the end of this month because of a holiday.. > > > > From the patch log the cleanup looks nice, but still need read the > > details. > > > > On 02/12/18 at 11:07am, Philipp Rudo wrote: > > > Hi everybody > > > > > > resending the series as there was no reaction, yet. Furthermore i was told > > > that Andrew and the x86 list should also be CCed, so welcome. > > > > > > No changes made to the patches since first time i sent them. The patches > > > apply to the current master (v4.16-rc1). > > > > > > Thanks > > > Philipp > > > > > > --- > > > > > > this series adds the kexec_file_load system call to s390. Before the system > > > call is added there are some preparations/clean ups to common > > > kexec_file_load. In detail this series contains: > > > > > > Patch #1&2: Minor cleanups/fixes. > > > > > > Patch #3-9: Clean up the purgatory load/relocation code. Especially remove > > > the mis-use of the purgatory_info->sechdrs->sh_offset field, currently > > > holding a pointer into either kexec_purgatory (ro) or purgatory_buf (rw) > > > depending on the section. With these patches the section address will be > > > calculated verbosely and sh_offset will contain the offset of the section > > > in the stripped purgatory binary (purgatory_buf). > > > > > > Patch #10: Allows architectures to set the purgaory load address. This > > > patch is important for s390 as the kernel and purgatory have to be loaded > > > to fixed addresses. In current code this is impossible as the purgatory > > > load is opaque to the architecture. > > > > > > Patch #11: Moves x86 purgatories sha implementation to common lib/ > > > directory. > > > > > > Patches #12-17 finally adds the kexec_file_load system call to s390. > > > > > > Please note that I had to touch arch code for x86 and power a little. In > > > theory this should not change the behavior but I don't have a way to test > > > it. Cross-compiling with defconfig(*) works fine for both. > > > > > > Thanks > > > Philipp > > > > > > (*) On x86 with the orc unwinder turned off. objtool SEGFAULTs on s390... > > > > > > Philipp Rudo (17): > > > kexec_file: Silence compile warnings > > > kexec_file: Remove checks in kexec_purgatory_load > > > kexec_file: Make purgatory_info->ehdr const > > > kexec_file: Search symbols in read-only kexec_purgatory > > > kexec_file: Use read-only sections in arch_kexec_apply_relocations* > > > kexec_file: Split up __kexec_load_puragory > > > kexec_file: Simplify kexec_purgatory_setup_sechdrs 1 > > > kexec_file: Simplify kexec_purgatory_setup_sechdrs 2 > > > kexec_file: Remove mis-use of sh_offset field > > > kexec_file: Allow archs to set purgatory load address > > > kexec_file: Move purgatories sha256 to common code > > > s390/kexec_file: Prepare setup.h for kexec_file_load > > > s390/kexec_file: Add purgatory > > > s390/kexec_file: Add kexec_file_load system call > > > s390/kexec_file: Add image loader > > > s390/kexec_file: Add crash support to image loader > > > s390/kexec_file: Add ELF loader > > > > > > arch/powerpc/kernel/kexec_elf_64.c | 9 +- > > > arch/s390/Kbuild | 1 + > > > arch/s390/Kconfig | 4 + > > > arch/s390/include/asm/kexec.h | 23 ++ > > > arch/s390/include/asm/purgatory.h | 17 ++ > > > arch/s390/include/asm/setup.h | 40 ++- > > > arch/s390/kernel/Makefile | 1 + > > > arch/s390/kernel/asm-offsets.c | 5 + > > > arch/s390/kernel/compat_wrapper.c | 1 + > > > arch/s390/kernel/kexec_elf.c | 149 ++++++++++ > > > arch/s390/kernel/kexec_image.c | 78 +++++ > > > arch/s390/kernel/machine_kexec_file.c | 291 +++++++++++++++++++ > > > arch/s390/kernel/syscalls/syscall.tbl | 1 + > > > arch/s390/purgatory/Makefile | 37 +++ > > > arch/s390/purgatory/head.S | 279 ++++++++++++++++++ > > > arch/s390/purgatory/purgatory.c | 42 +++ > > > arch/x86/kernel/kexec-bzimage64.c | 8 +- > > > arch/x86/kernel/machine_kexec_64.c | 66 ++--- > > > arch/x86/purgatory/Makefile | 3 + > > > arch/x86/purgatory/purgatory.c | 2 +- > > > include/linux/kexec.h | 38 +-- > > > {arch/x86/purgatory => include/linux}/sha256.h | 10 +- > > > kernel/kexec_file.c | 375 ++++++++++++------------- > > > {arch/x86/purgatory => lib}/sha256.c | 4 +- > > > 24 files changed, 1200 insertions(+), 284 deletions(-) > > > create mode 100644 arch/s390/include/asm/purgatory.h > > > create mode 100644 arch/s390/kernel/kexec_elf.c > > > create mode 100644 arch/s390/kernel/kexec_image.c > > > create mode 100644 arch/s390/kernel/machine_kexec_file.c > > > create mode 100644 arch/s390/purgatory/Makefile > > > create mode 100644 arch/s390/purgatory/head.S > > > create mode 100644 arch/s390/purgatory/purgatory.c > > > rename {arch/x86/purgatory => include/linux}/sha256.h (63%) > > > rename {arch/x86/purgatory => lib}/sha256.c (99%) > > > > > > -- > > > 2.13.5 > > > > > > > > > _______________________________________________ > > > kexec mailing list > > > kexec@lists.infradead.org > > > http://lists.infradead.org/mailman/listinfo/kexec > > > > Thanks > > Dave > > >