[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC 2/7] xen/x86: Add xbi.h header file



>>> On 09.08.14 at 01:04, <daniel.kiper@xxxxxxxxxx> wrote:
> +/* Xen Boot Info (XBI) type. */
> +typedef struct {
> +    /* Boot loader name. */
> +    char *boot_loader_name;
> +
> +    /* Xen command line. */
> +    char *cmdline;
> +
> +    /* Memory map type (source of memory map). */
> +    char *mmap_type;
> +
> +    /*
> +     * Amount of upper memory (in KiB) accordingly to The Multiboot
> +     * Specification version 0.6.96.
> +     */
> +    u32 mem_upper;
> +
> +    /* Number of memory map entries provided by Xen preloader. */
> +    int e820map_nr;
> +
> +    /*
> +     * Memory map provided by Xen preloader. It should always point
> +     * to an area able to accommodate at least E820MAX entries.
> +     */
> +    struct e820entry *e820map;
> +
> +    /* Size (in bytes) of EFI memory map provided by Xen preloader. */
> +    unsigned long efi_mmap_size;
> +
> +    /* Size (in bytes) of EFI memory map descriptor provided by Xen 
> preloader. */
> +    unsigned long efi_mmap_desc_size;
> +
> +    /* Pointer to EFI memory map provided by preloader. */
> +    void *efi_mmap;
> +
> +    /* Pointer to MPS. */
> +    unsigned long mps;
> +
> +    /* Pointer to ACPI RSDP. */
> +    unsigned long acpi;
> +
> +    /* Pointer to ACPI 2.0 RSDP. */
> +    unsigned long acpi20;
> +
> +    /* Pointer to SMBIOS. */
> +    unsigned long smbios;
> +
> +    /* Pointer to EFI System Table. */
> +    void *efi_system_table;
> +
> +    /* VGA console info. */
> +    struct xen_vga_console_info vga_console_info;
> +
> +    /* EDID info. */
> +    unsigned short edid_caps;
> +    unsigned char *edid_info;
> +
> +    /* Number of EDD entries provided by Xen preloader. */
> +    u8 edd_info_nr;
> +
> +    /* Pointer to EDD info. */
> +    struct edd_info *edd_info;
> +
> +    /* Number of MBR entries provided by Xen preloader. */
> +    u8 mbr_signature_nr;
> +
> +    /* Pointer to MBR info. */
> +    struct mbr_signature *mbr_signature;
> +
> +    /* Number of modules. */
> +    unsigned int mods_nr;
> +
> +    /* Pointer to modules description. */
> +    boot_module_t *mods;

Up to here I merely wonder whether some fields shouldn't rather be put
in unions; it's quite hard to tell though with just a header in a patch,
without any code using it.

> +
> +    /*
> +     * Info about warning occurred during XBI initialization.
> +     * NULL if everything went OK.
> +     */
> +    char *warn_msg;

Certainly there could be more than one warning. Perhaps these need
a linked list?

> +
> +    /*
> +     * Info about error occurred during XBI initialization. NULL if 
> everything
> +     * went OK. Otherwise XBI is not fully/properly initialized.
> +     */
> +    char *err_msg;

Depending on whether such errors are fatal, there might (if they're
not) also be the possibility for more than one.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.