From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: Re: [PATCH v2 3/5] xen/x86: Migrate to boot_info structure Date: Thu, 25 Sep 2014 14:32:57 +0200 Message-ID: <20140925123257.GT3459@olila.local.net-space.pl> References: <1411579162-27503-1-git-send-email-daniel.kiper@oracle.com> <1411579162-27503-4-git-send-email-daniel.kiper@oracle.com> <1411638216.28127.90.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XX8EW-0001zn-Cf for xen-devel@lists.xenproject.org; Thu, 25 Sep 2014 12:33:16 +0000 Content-Disposition: inline In-Reply-To: <1411638216.28127.90.camel@kazak.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: keir@xen.org, jbeulich@suse.com, stefano.stabellini@eu.citrix.com, andrew.cooper3@citrix.com, roy.franz@linaro.org, ning.sun@intel.com, ross.philipson@citrix.com, xen-devel@lists.xenproject.org, qiaowei.ren@intel.com, richard.l.maliszewski@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org On Thu, Sep 25, 2014 at 10:43:36AM +0100, Ian Campbell wrote: > On Wed, 2014-09-24 at 19:19 +0200, Daniel Kiper wrote: > > Break multiboot (v1) protocol dependency. It means that most of Xen code > > (excluding preloader) could be bootloader agnostic and does not need almost > > any knowledge about boot protocol. Additionally, we are able to pass all boot > > data to __start_xen() in one bucket without any side channels. I do not mention > > that we are also able to easily identify boot data in Xen code. > > > > Here is boot data flow for legacy BIOS platform: > > > > BIOS -> GRUB -> multiboot[12]* -> __reloc() -> MBD ->-\ > > / > > ------<------<------<------<------<------<----- > > \ > > \ > > ---> __init_boot_info() -> boot_info_mb -> __start_xen() -> boot_info > > / > > BIOS ->-/ > > > > * multiboot2 is not implemented yet. Look for it in later patches. > > > > Here is boot data flow for EFI platform: > > > > EFI -> efi_start() -> boot_info_efi -> __start_xen() -> boot_info > > > > WARNING: ARM build could be broken by this patch. > > The hypervisor is easy to cross compile, so please confirm and if so fix > it. > > I use the cross compilers from > https://launchpad.net/linaro-toolchain-binaries > > See > http://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions#Cross_Compiling for more info. Thanks, wilco. > > We need to agree boot_info > > integration into ARM. Personally I think that it is worth storing all data > > from any bootloader and preloader in boot_info on any architecture. This give > > a chance to share more code between architectures. However, every architecture > > should define its own boot_info (in relevant include/asm directory). Despite > > that it looks that some parts of it could be common, e.g. modules data, > > command line arguments, boot loader name, EFI data, etc., even if types > > would not be the same. So, as it was stated above a lot of code could be > > shared among architectures. > > As I think I've said before I'm happy to consider this in the future but Great! > not for 4.5 at this stage. Please ensure that ARM at least still Roger. > compiles after this change. Ditto. Daniel