From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759562Ab3KMQWN (ORCPT ); Wed, 13 Nov 2013 11:22:13 -0500 Received: from terminus.zytor.com ([198.137.202.10]:52262 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757083Ab3KMQWK (ORCPT ); Wed, 13 Nov 2013 11:22:10 -0500 Message-ID: <5283A6DD.2030808@zytor.com> Date: Wed, 13 Nov 2013 08:20:45 -0800 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: dyoung@redhat.com, linux-kernel@vger.kernel.org CC: linux-efi@vger.kernel.org, x86@kernel.org, mjg59@srcf.ucam.org, James.Bottomley@HansenPartnership.com, vgoyal@redhat.com, ebiederm@xmission.com, horms@verge.net.au, kexec@lists.infradead.org, bp@alien8.de Subject: Re: [patch 7/7 v2] x86: add xloadflags bit for efi runtime support on kexec References: <20131105082007.872550445@dhcp-16-126.nay.redhat.com> <20131105082719.416282009@dhcp-16-126.nay.redhat.com> In-Reply-To: <20131105082719.416282009@dhcp-16-126.nay.redhat.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/05/2013 12:20 AM, dyoung@redhat.com wrote: > Old kexec-tools can not load new kernel. The reason is previously kexec-tools > do not fill efi_info in x86 setup header thus efi init fail and switch > to noefi boot. In new kexec-tools it will by default fill efi_info and > pass other efi required infomation to 2nd kernel so kexec kernel efi > initialization will success finally. > > To prevent from breaking userspace, add a new xloadflags bit so kexec-tools > will check the flag and switch to old logic. > > Signed-off-by: Dave Young > --- > arch/x86/boot/header.S | 9 ++++++++- > arch/x86/include/uapi/asm/bootparam.h | 1 + > 2 files changed, 9 insertions(+), 1 deletion(-) > > --- linux-2.6.orig/arch/x86/boot/header.S > +++ linux-2.6/arch/x86/boot/header.S > @@ -391,7 +391,14 @@ xloadflags: > #else > # define XLF23 0 > #endif > - .word XLF0 | XLF1 | XLF23 > + > +#if defined(CONFIG_X86_64) && defined(CONFIG_EFI) > +# define XLF4 XLF_EFI_KEXEC > +#else > +# define XLF4 0 > +#endif > + > + .word XLF0 | XLF1 | XLF23 | XLF4 > > cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line, > #added with boot protocol > --- linux-2.6.orig/arch/x86/include/uapi/asm/bootparam.h > +++ linux-2.6/arch/x86/include/uapi/asm/bootparam.h > @@ -24,6 +24,7 @@ > #define XLF_CAN_BE_LOADED_ABOVE_4G (1<<1) > #define XLF_EFI_HANDOVER_32 (1<<2) > #define XLF_EFI_HANDOVER_64 (1<<3) > +#define XLF_EFI_KEXEC (1<<4) > > #ifndef __ASSEMBLY__ > > Also needs to be added to Documentation/x86/boot.txt with the exact semantics being exposed. -hpa From mboxrd@z Thu Jan 1 00:00:00 1970 From: "H. Peter Anvin" Subject: Re: [patch 7/7 v2] x86: add xloadflags bit for efi runtime support on kexec Date: Wed, 13 Nov 2013 08:20:45 -0800 Message-ID: <5283A6DD.2030808@zytor.com> References: <20131105082007.872550445@dhcp-16-126.nay.redhat.com> <20131105082719.416282009@dhcp-16-126.nay.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20131105082719.416282009-je1gSBvt1TcFLmT5oZ11vB/sF2h8X+2i0E9HWUfgJXw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "kexec" Errors-To: kexec-bounces+glkk-kexec=m.gmane.org-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org, linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org, horms-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org, bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org, ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org, vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org List-Id: linux-efi@vger.kernel.org On 11/05/2013 12:20 AM, dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org wrote: > Old kexec-tools can not load new kernel. The reason is previously kexec-tools > do not fill efi_info in x86 setup header thus efi init fail and switch > to noefi boot. In new kexec-tools it will by default fill efi_info and > pass other efi required infomation to 2nd kernel so kexec kernel efi > initialization will success finally. > > To prevent from breaking userspace, add a new xloadflags bit so kexec-tools > will check the flag and switch to old logic. > > Signed-off-by: Dave Young > --- > arch/x86/boot/header.S | 9 ++++++++- > arch/x86/include/uapi/asm/bootparam.h | 1 + > 2 files changed, 9 insertions(+), 1 deletion(-) > > --- linux-2.6.orig/arch/x86/boot/header.S > +++ linux-2.6/arch/x86/boot/header.S > @@ -391,7 +391,14 @@ xloadflags: > #else > # define XLF23 0 > #endif > - .word XLF0 | XLF1 | XLF23 > + > +#if defined(CONFIG_X86_64) && defined(CONFIG_EFI) > +# define XLF4 XLF_EFI_KEXEC > +#else > +# define XLF4 0 > +#endif > + > + .word XLF0 | XLF1 | XLF23 | XLF4 > > cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line, > #added with boot protocol > --- linux-2.6.orig/arch/x86/include/uapi/asm/bootparam.h > +++ linux-2.6/arch/x86/include/uapi/asm/bootparam.h > @@ -24,6 +24,7 @@ > #define XLF_CAN_BE_LOADED_ABOVE_4G (1<<1) > #define XLF_EFI_HANDOVER_32 (1<<2) > #define XLF_EFI_HANDOVER_64 (1<<3) > +#define XLF_EFI_KEXEC (1<<4) > > #ifndef __ASSEMBLY__ > > Also needs to be added to Documentation/x86/boot.txt with the exact semantics being exposed. -hpa From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from terminus.zytor.com ([2001:1868:205::10] helo=mail.zytor.com) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VgdCU-0005Ja-5N for kexec@lists.infradead.org; Wed, 13 Nov 2013 16:21:55 +0000 Message-ID: <5283A6DD.2030808@zytor.com> Date: Wed, 13 Nov 2013 08:20:45 -0800 From: "H. Peter Anvin" MIME-Version: 1.0 Subject: Re: [patch 7/7 v2] x86: add xloadflags bit for efi runtime support on kexec References: <20131105082007.872550445@dhcp-16-126.nay.redhat.com> <20131105082719.416282009@dhcp-16-126.nay.redhat.com> In-Reply-To: <20131105082719.416282009@dhcp-16-126.nay.redhat.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "kexec" Errors-To: kexec-bounces+dwmw2=twosheds.infradead.org@lists.infradead.org To: dyoung@redhat.com, linux-kernel@vger.kernel.org Cc: mjg59@srcf.ucam.org, linux-efi@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, James.Bottomley@HansenPartnership.com, horms@verge.net.au, bp@alien8.de, ebiederm@xmission.com, vgoyal@redhat.com On 11/05/2013 12:20 AM, dyoung@redhat.com wrote: > Old kexec-tools can not load new kernel. The reason is previously kexec-tools > do not fill efi_info in x86 setup header thus efi init fail and switch > to noefi boot. In new kexec-tools it will by default fill efi_info and > pass other efi required infomation to 2nd kernel so kexec kernel efi > initialization will success finally. > > To prevent from breaking userspace, add a new xloadflags bit so kexec-tools > will check the flag and switch to old logic. > > Signed-off-by: Dave Young > --- > arch/x86/boot/header.S | 9 ++++++++- > arch/x86/include/uapi/asm/bootparam.h | 1 + > 2 files changed, 9 insertions(+), 1 deletion(-) > > --- linux-2.6.orig/arch/x86/boot/header.S > +++ linux-2.6/arch/x86/boot/header.S > @@ -391,7 +391,14 @@ xloadflags: > #else > # define XLF23 0 > #endif > - .word XLF0 | XLF1 | XLF23 > + > +#if defined(CONFIG_X86_64) && defined(CONFIG_EFI) > +# define XLF4 XLF_EFI_KEXEC > +#else > +# define XLF4 0 > +#endif > + > + .word XLF0 | XLF1 | XLF23 | XLF4 > > cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line, > #added with boot protocol > --- linux-2.6.orig/arch/x86/include/uapi/asm/bootparam.h > +++ linux-2.6/arch/x86/include/uapi/asm/bootparam.h > @@ -24,6 +24,7 @@ > #define XLF_CAN_BE_LOADED_ABOVE_4G (1<<1) > #define XLF_EFI_HANDOVER_32 (1<<2) > #define XLF_EFI_HANDOVER_64 (1<<3) > +#define XLF_EFI_KEXEC (1<<4) > > #ifndef __ASSEMBLY__ > > Also needs to be added to Documentation/x86/boot.txt with the exact semantics being exposed. -hpa _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec