From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938864AbdDSToP (ORCPT ); Wed, 19 Apr 2017 15:44:15 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:49638 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935500AbdDSToO (ORCPT ); Wed, 19 Apr 2017 15:44:14 -0400 Date: Wed, 19 Apr 2017 21:43:29 +0200 From: Daniel Kiper To: Matt Fleming Cc: Mark Rutland , Julien Grall , Juergen Gross , Boris Ostrovsky , sstabellini@kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, xen-devel@lists.xen.org, Ard Biesheuvel , linux-efi@vger.kernel.org Subject: Re: [PATCH] arm64: xen: Implement EFI reset_system callback Message-ID: <20170419194329.GP16658@olila.local.net-space.pl> References: <3f6f5853-cd08-8afc-f71a-b0c1545c7564@arm.com> <20170406142710.GE4372@olila.local.net-space.pl> <20170406152040.GH4372@olila.local.net-space.pl> <20170406155453.GA3966@leverpostej> <20170418134650.GL24360@codeblueprint.co.uk> <20170419192906.GO16658@olila.local.net-space.pl> <20170419193738.GM24360@codeblueprint.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170419193738.GM24360@codeblueprint.co.uk> User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 19, 2017 at 08:37:38PM +0100, Matt Fleming wrote: > On Wed, 19 Apr, at 09:29:06PM, Daniel Kiper wrote: > > On Tue, Apr 18, 2017 at 02:46:50PM +0100, Matt Fleming wrote: > > > On Thu, 06 Apr, at 04:55:11PM, Mark Rutland wrote: > > > > > > > > Please, let's keep the Xen knowledge constrained to the Xen EFI wrapper, > > > > rather than spreading it further. > > > > > > > > IMO, given reset_system is a *mandatory* function, the Xen wrapper > > > > should provide an implementation. > > > > > > > > I don't see why you can't implement a wrapper that calls the usual Xen > > > > poweroff/reset functions. > > > > > > I realise I'm making a sweeping generalisation, but adding > > > EFI_PARAVIRT is almost always the wrong thing to do. > > > > Why? > > Because it makes paravirt a special case, and there's usually very > little reason to make it special in the EFI code. Special-casing means > more branches, more code paths, a bigger testing matrix and more > complex code. > > EFI_PARAVIRT does have its uses, like for those scenarios where we > don't have a table of function pointers that can be overidden for > paravirt. > > But we do have such a table for ->reset_system(). This is more or less what I expected. Thanks a lot for explanation. Daniel From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: Re: [PATCH] arm64: xen: Implement EFI reset_system callback Date: Wed, 19 Apr 2017 21:43:29 +0200 Message-ID: <20170419194329.GP16658@olila.local.net-space.pl> References: <3f6f5853-cd08-8afc-f71a-b0c1545c7564@arm.com> <20170406142710.GE4372@olila.local.net-space.pl> <20170406152040.GH4372@olila.local.net-space.pl> <20170406155453.GA3966@leverpostej> <20170418134650.GL24360@codeblueprint.co.uk> <20170419192906.GO16658@olila.local.net-space.pl> <20170419193738.GM24360@codeblueprint.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <20170419193738.GM24360@codeblueprint.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Matt Fleming Cc: Mark Rutland , Juergen Gross , sstabellini@kernel.org, Ard Biesheuvel , linux-kernel@vger.kernel.org, xen-devel@lists.xen.org, Julien Grall , linux-efi@vger.kernel.org, Boris Ostrovsky , linux-arm-kernel@lists.infradead.org List-Id: linux-efi@vger.kernel.org On Wed, Apr 19, 2017 at 08:37:38PM +0100, Matt Fleming wrote: > On Wed, 19 Apr, at 09:29:06PM, Daniel Kiper wrote: > > On Tue, Apr 18, 2017 at 02:46:50PM +0100, Matt Fleming wrote: > > > On Thu, 06 Apr, at 04:55:11PM, Mark Rutland wrote: > > > > > > > > Please, let's keep the Xen knowledge constrained to the Xen EFI wrapper, > > > > rather than spreading it further. > > > > > > > > IMO, given reset_system is a *mandatory* function, the Xen wrapper > > > > should provide an implementation. > > > > > > > > I don't see why you can't implement a wrapper that calls the usual Xen > > > > poweroff/reset functions. > > > > > > I realise I'm making a sweeping generalisation, but adding > > > EFI_PARAVIRT is almost always the wrong thing to do. > > > > Why? > > Because it makes paravirt a special case, and there's usually very > little reason to make it special in the EFI code. Special-casing means > more branches, more code paths, a bigger testing matrix and more > complex code. > > EFI_PARAVIRT does have its uses, like for those scenarios where we > don't have a table of function pointers that can be overidden for > paravirt. > > But we do have such a table for ->reset_system(). This is more or less what I expected. Thanks a lot for explanation. Daniel From mboxrd@z Thu Jan 1 00:00:00 1970 From: daniel.kiper@oracle.com (Daniel Kiper) Date: Wed, 19 Apr 2017 21:43:29 +0200 Subject: [PATCH] arm64: xen: Implement EFI reset_system callback In-Reply-To: <20170419193738.GM24360@codeblueprint.co.uk> References: <3f6f5853-cd08-8afc-f71a-b0c1545c7564@arm.com> <20170406142710.GE4372@olila.local.net-space.pl> <20170406152040.GH4372@olila.local.net-space.pl> <20170406155453.GA3966@leverpostej> <20170418134650.GL24360@codeblueprint.co.uk> <20170419192906.GO16658@olila.local.net-space.pl> <20170419193738.GM24360@codeblueprint.co.uk> Message-ID: <20170419194329.GP16658@olila.local.net-space.pl> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, Apr 19, 2017 at 08:37:38PM +0100, Matt Fleming wrote: > On Wed, 19 Apr, at 09:29:06PM, Daniel Kiper wrote: > > On Tue, Apr 18, 2017 at 02:46:50PM +0100, Matt Fleming wrote: > > > On Thu, 06 Apr, at 04:55:11PM, Mark Rutland wrote: > > > > > > > > Please, let's keep the Xen knowledge constrained to the Xen EFI wrapper, > > > > rather than spreading it further. > > > > > > > > IMO, given reset_system is a *mandatory* function, the Xen wrapper > > > > should provide an implementation. > > > > > > > > I don't see why you can't implement a wrapper that calls the usual Xen > > > > poweroff/reset functions. > > > > > > I realise I'm making a sweeping generalisation, but adding > > > EFI_PARAVIRT is almost always the wrong thing to do. > > > > Why? > > Because it makes paravirt a special case, and there's usually very > little reason to make it special in the EFI code. Special-casing means > more branches, more code paths, a bigger testing matrix and more > complex code. > > EFI_PARAVIRT does have its uses, like for those scenarios where we > don't have a table of function pointers that can be overidden for > paravirt. > > But we do have such a table for ->reset_system(). This is more or less what I expected. Thanks a lot for explanation. Daniel