From: Daniel Kiper <daniel.kiper@oracle.com>
To: xen-devel@lists.xenproject.org
Cc: keir@xen.org, ian.campbell@citrix.com,
stefano.stabellini@eu.citrix.com, ross.philipson@citrix.com,
roy.franz@linaro.org, ning.sun@intel.com, jbeulich@suse.com,
qiaowei.ren@intel.com, richard.l.maliszewski@intel.com,
gang.wei@intel.com, fu.wei@linaro.org
Subject: [PATCH RFC 2/7] xen/x86: Add xbi.h header file
Date: Sat, 9 Aug 2014 01:04:01 +0200 [thread overview]
Message-ID: <1407539046-16910-3-git-send-email-daniel.kiper@oracle.com> (raw)
In-Reply-To: <1407539046-16910-1-git-send-email-daniel.kiper@oracle.com>
Define Xen Boot Info (XBI) type. This will be used to define variable
used to store data collected by bootloader and preloader. This way
we are able to make most of Xen code bootloader agnostic.
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
xen/include/asm-x86/xbi.h | 117 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 117 insertions(+)
create mode 100644 xen/include/asm-x86/xbi.h
diff --git a/xen/include/asm-x86/xbi.h b/xen/include/asm-x86/xbi.h
new file mode 100644
index 0000000..ca9e615
--- /dev/null
+++ b/xen/include/asm-x86/xbi.h
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2013, 2014 Oracle Co., Daniel Kiper
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __XBI_H__
+#define __XBI_H__
+
+#include <xen/types.h>
+#include <xen/vga.h>
+
+#include <asm/e820.h>
+#include <asm/edd.h>
+#include <asm/mbd.h>
+
+/* 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;
+
+ /*
+ * Info about warning occurred during XBI initialization.
+ * NULL if everything went OK.
+ */
+ char *warn_msg;
+
+ /*
+ * Info about error occurred during XBI initialization. NULL if everything
+ * went OK. Otherwise XBI is not fully/properly initialized.
+ */
+ char *err_msg;
+} xbi_t;
+
+extern xbi_t *xbi;
+#endif /* __XBI_H__ */
--
1.7.10.4
next prev parent reply other threads:[~2014-08-08 23:04 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-08 23:03 [PATCH RFC 0/7] xen: Break multiboot (v1) dependency and add multiboot2 support Daniel Kiper
2014-08-08 23:04 ` [PATCH RFC 1/7] xen/x86: Add mbd.h header file Daniel Kiper
2014-08-11 9:49 ` Jan Beulich
2014-08-11 16:16 ` Stefano Stabellini
2014-09-03 14:11 ` Ian Campbell
2014-09-03 15:16 ` Daniel Kiper
2014-09-04 22:45 ` Stefano Stabellini
2014-09-09 13:39 ` Daniel Kiper
2014-09-09 14:28 ` Jan Beulich
2014-09-09 15:57 ` Daniel Kiper
2014-08-08 23:04 ` Daniel Kiper [this message]
2014-08-10 16:34 ` [PATCH RFC 2/7] xen/x86: Add xbi.h " Andrew Cooper
2014-09-18 16:30 ` Daniel Kiper
2014-09-19 6:46 ` Jan Beulich
2014-08-11 9:54 ` Jan Beulich
2014-08-11 16:20 ` Stefano Stabellini
2014-08-11 16:37 ` Stefano Stabellini
2014-08-08 23:04 ` [PATCH RFC 3/7] xen: Add multiboot2.h " Daniel Kiper
2014-08-11 9:58 ` Jan Beulich
2014-09-09 13:47 ` Daniel Kiper
2014-08-08 23:04 ` [PATCH RFC 4/7] xen/x86: Migrate to XBI structure Daniel Kiper
2014-08-09 0:07 ` Roy Franz
2014-08-10 16:22 ` Daniel Kiper
2014-08-10 17:05 ` Andrew Cooper
2014-08-11 10:01 ` Jan Beulich
2014-09-09 13:22 ` Daniel Kiper
2014-09-09 13:37 ` Jan Beulich
2014-09-09 13:39 ` Andrew Cooper
2014-08-08 23:04 ` [PATCH RFC 5/7] xen/x86: Add multiboot2 protocol support Daniel Kiper
2014-08-10 17:23 ` Andrew Cooper
2014-09-09 13:34 ` Daniel Kiper
2014-09-09 13:43 ` Andrew Cooper
2014-08-11 10:33 ` Jan Beulich
2014-09-09 14:21 ` Daniel Kiper
2014-09-09 14:36 ` Jan Beulich
2014-09-09 16:04 ` Daniel Kiper
2014-08-08 23:04 ` [PATCH RFC 6/7] xen: Remove redundant xen/include/xen/vga.h file Daniel Kiper
2014-08-11 10:35 ` Jan Beulich
2014-08-08 23:04 ` [PATCH RFC 7/7] xen/x86: Add new line to the end of graphics mode error message Daniel Kiper
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=1407539046-16910-3-git-send-email-daniel.kiper@oracle.com \
--to=daniel.kiper@oracle.com \
--cc=fu.wei@linaro.org \
--cc=gang.wei@intel.com \
--cc=ian.campbell@citrix.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=ning.sun@intel.com \
--cc=qiaowei.ren@intel.com \
--cc=richard.l.maliszewski@intel.com \
--cc=ross.philipson@citrix.com \
--cc=roy.franz@linaro.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xenproject.org \
/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).