@@ -90,6 +90,9 @@ multiboot2_header:
0x200000, /* Load address alignment (2 MiB). */ \
MULTIBOOT2_LOAD_PREFERENCE_HIGH
+ mb2ht_init MB2_HT(LOAD_TYPE), MB2_HT(OPTIONAL), \
+ MULTIBOOT2_LOAD_TYPE_ELF
+
/* Console flags tag. */
mb2ht_init MB2_HT(CONSOLE_FLAGS), MB2_HT(OPTIONAL), \
MULTIBOOT2_CONSOLE_FLAGS_EGA_TEXT_SUPPORTED
@@ -60,6 +60,7 @@
#define MULTIBOOT2_HEADER_TAG_ENTRY_ADDRESS_EFI32 8
#define MULTIBOOT2_HEADER_TAG_ENTRY_ADDRESS_EFI64 9
#define MULTIBOOT2_HEADER_TAG_RELOCATABLE 10
+#define MULTIBOOT2_HEADER_TAG_LOAD_TYPE 11
/* Header tag flags. */
#define MULTIBOOT2_HEADER_TAG_REQUIRED 0
@@ -113,6 +114,11 @@
#define MULTIBOOT2_FRAMEBUFFER_TYPE_RGB 1
#define MULTIBOOT2_FRAMEBUFFER_TYPE_EGA_TEXT 2
+/* Load types. */
+#define MULTIBOOT2_LOAD_TYPE_ADDRESS 0
+#define MULTIBOOT2_LOAD_TYPE_ELF 1
+#define MULTIBOOT2_LOAD_TYPE_PE 2
+
#ifndef __ASSEMBLY__
typedef struct {
u32 total_size;
Advertise the type of the multiboot2 binary we're building. For now, it's always ELF. Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com> --- xen/arch/x86/boot/head.S | 3 +++ xen/include/xen/multiboot2.h | 6 ++++++ 2 files changed, 9 insertions(+)