Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751655AbcDNUjy (ORCPT ); Thu, 14 Apr 2016 16:39:54 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:28365 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750928AbcDNUjw (ORCPT ); Thu, 14 Apr 2016 16:39:52 -0400 Date: Thu, 14 Apr 2016 16:38:47 -0400 From: Konrad Rzeszutek Wilk To: "Luis R. Rodriguez" Cc: George Dunlap , Matt Fleming , jeffm@suse.com, Linux Kernel Mailing List , Jim Fehlig , Jan Beulich , "H. Peter Anvin" , Daniel Kiper , the arch/x86 maintainers , Takashi Iwai , =?utf-8?Q?Vojt=C4=9Bch_Pavl=C3=ADk?= , Gary Lin , xen-devel , Jeffrey Cheung , Charles Arndol , Julien Grall , Stefano Stabellini , joeyli , Borislav Petkov , Boris Ostrovsky , Juergen Gross , Andrew Cooper , Michael Chang , Andy Lutomirski , David Vrabel , Linus Torvalds , Roger Pau =?iso-8859-1?Q?Monn=E9?= Subject: Re: [Xen-devel] HVMLite / PVHv2 - using x86 EFI boot entry Message-ID: <20160414203847.GB21657@localhost.localdomain> References: <20160406024027.GX1990@wotan.suse.de> <20160407185148.GL1990@wotan.suse.de> <20160413195257.GB1990@wotan.suse.de> <570F68AB.2040400@citrix.com> <20160414194408.GP1990@wotan.suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160414194408.GP1990@wotan.suse.de> User-Agent: Mutt/1.5.24 (2015-08-30) X-Source-IP: userv0022.oracle.com [156.151.31.74] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1966 Lines: 53 > This has nothing to do with dominance or anything nefarious, I'm asking > simply for a full engineering evaluation of all possibilities, with > the long term in mind. Not for now, but for hardware assumptions which > are sensible 5 years from now. There are two different things in my mind about this conversation: 1). semantics of low-level code wrapped around pvops. On baremetal it is easy - just look at Intel and AMD SDM. And this is exactly what running in HVM or HVMLite mode will do - all those low-level operations will have the same exact semantic as baremetal. There is no hope for the pv_ops to fix that. And I am pretty sure the HVMLite in 5 years will have no trouble in this as it will be running in VMX mode (HVM). 2). Boot entry. The semantics on Linux are well known - they are documented in Documentation/x86/boot.txt. HVMLite Linux guests have to somehow provide that. And how it is done seems to be tied around: a) Use existing boot paths - which means making some extra stub code to call in those existing boot paths (for example Xen could bundle with an GRUB2-alike code to be run when booting Linux using that boot-path). Or EFI (for a ton more code). Granted not all OSes support those, so not very OS agnostic. Hard part - if the bootparams change then have to rev up the code in there. May be out of sync with Linux bootparams. b) Add another simpler boot entry point which has to copy "some" strings from its format in bootparams. So this part of the discussion does not fall in the hardware assumptions. Intel SDM or AMD mention nothing about boot loaders or how to boot an OS - that is all in realms of how software talks to software. 3). And there is the discussion on man-power to make this happen. 4). Lastly which one is simpler and involves less code so that there is a less chance of bitrot.