xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: David Vrabel <david.vrabel@citrix.com>
To: Daniel Kiper <daniel.kiper@oracle.com>
Cc: xen-devel@lists.xensource.com, keir@xen.org,
	ian.campbell@citrix.com, stefano.stabellini@eu.citrix.com,
	konrad.wilk@oracle.com, jbeulich@suse.com
Subject: Re: New Xen boot infrastructure proposal
Date: Tue, 21 May 2013 13:43:08 +0100	[thread overview]
Message-ID: <519B6BDC.6060202@citrix.com> (raw)
In-Reply-To: <363082f7-72f9-41cc-a5b4-75ce235e6493@default>

On 21/05/13 11:36, Daniel Kiper wrote:
> Hey guys,
> 
> Here are my thoughts about current Xen boot
> infrastructure and some changes proposal.
> It is linked with EFI development but not only.
>
> [...] It means
> that at this stage it is worth to create completely new
> boot structure which is not linked so tightly with any boot
> protocol. It should contain all needed stuff, be architecture
> independent as much as possible and easily extensible.

It's not clear how a new set of structures like this fits the
requirement to be easily extensible.  Aren't you going to have the same
problems if new fields need to be added?

I would suggest considering a linear block of (type, length, data)
tuples for each field.  That way only the needed/applicable fields can
be included, and Xen can easily skip over field it does not recognize or
care about (so new fields can be added without breaking compatibility).

> In cases when architecture depended things are required
> there should be special substructure which would contain
> all required stuff. More or less it should look like in x86 case:
> 
> /* Xen Boot Info (XBI) module structure. */
> typedef struct {
>   u64 start;
>   u64 end;
>   char *cmdline;
> } xbi_mod_t;
> 
> /* Xen Boot Info Arch (XBIA) memory map structure. */
> typedef struct {
>   /*
>    * Amount of lower memory accordingly to The Multiboot
>    * Specification version 0.6.96.
>    */
>   u32 lower;
>   /*
>    * Amount of upper memory accordingly to The Multiboot
>    * Specification version 0.6.96.
>    */
>   u32 upper;
>   u32 map_size;
>   struct e820entry *e820map;
> } xbia_mem_t;
> 
> /* Xen Boot Info Arch (XBIA). */
> typedef struct {
>   EFI_SYSTEM_TABLE *efi_system_table;
>   u64 mps; /* Pointer to MPS. */
>   u64 acpi; /* Pointer to ACPI RSDP. */
>   u64 smbios; /* Pointer to SMBIOS. */
>   xbia_mem_t mem;
>   struct xen_vga_console_info vga_console_info;
>   struct edd_info *edd_info;
> } xbia_t;
> 
> /* Main Xen Boot Info (XBI) structure. */
> typedef struct {
>   char *boot_loader_name;
>   char *cmdline;
>   u32 mods_count;
>   xbi_mod_t *mods;
>   xbia_t arch;
> } xbi_t;

David

  parent reply	other threads:[~2013-05-21 12:43 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-21 10:36 New Xen boot infrastructure proposal Daniel Kiper
2013-05-21 11:39 ` Stefano Stabellini
2013-05-21 12:57   ` Daniel Kiper
2013-05-21 12:03 ` Jan Beulich
2013-05-22 14:09   ` Daniel Kiper
2013-05-22 14:33     ` Jan Beulich
2013-05-22 15:01       ` Daniel Kiper
2013-05-22 15:16         ` Jan Beulich
2013-05-22 16:47           ` Konrad Rzeszutek Wilk
2013-05-22 16:56             ` Keir Fraser
2013-05-23  6:37             ` Jan Beulich
2013-05-21 12:43 ` David Vrabel [this message]
2013-05-22 14:19   ` Daniel Kiper
2013-05-21 12:52 ` Ian Campbell
2013-05-22 14:27   ` Daniel Kiper
2013-05-22 14:35     ` Jan Beulich
2013-05-22 15:09     ` Ian Campbell
2013-05-22 15:25       ` Ian Campbell
2013-05-22 15:34         ` Daniel Kiper
2013-05-22 15:41           ` Ian Campbell
2013-05-22 16:19             ` Daniel Kiper
2013-05-23 13:33               ` Ian Campbell
2013-05-21 13:24 ` Keir Fraser
2013-05-22 14:43   ` Daniel Kiper
2013-05-22 15:10     ` Jan Beulich
2013-05-22 15:59       ` Daniel Kiper
2013-05-22 16:40         ` Keir Fraser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=519B6BDC.6060202@citrix.com \
    --to=david.vrabel@citrix.com \
    --cc=daniel.kiper@oracle.com \
    --cc=ian.campbell@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=keir@xen.org \
    --cc=konrad.wilk@oracle.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).