aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/multiboot.h
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-07-11 14:24:19 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-07-11 14:24:19 +0000
commitb329bfe2caec1e53e744c55620dcb2bc098a03ab (patch)
tree75a352b96306f0f4881a50e9d1ab0c92d7609191 /xen/include/xen/multiboot.h
parent7fecdc557871231862d4ec6974e7fb58ab598bc7 (diff)
downloadxen-b329bfe2caec1e53e744c55620dcb2bc098a03ab.tar.gz
xen-b329bfe2caec1e53e744c55620dcb2bc098a03ab.tar.bz2
xen-b329bfe2caec1e53e744c55620dcb2bc098a03ab.zip
bitkeeper revision 1.1062.2.1 (40f14d93VNnMM_iUKi37Qk5Dj84vwA)
More x86-64 fixes. We now boot to C code.
Diffstat (limited to 'xen/include/xen/multiboot.h')
-rw-r--r--xen/include/xen/multiboot.h84
1 files changed, 37 insertions, 47 deletions
diff --git a/xen/include/xen/multiboot.h b/xen/include/xen/multiboot.h
index 4a68f31a0b..037a59cf74 100644
--- a/xen/include/xen/multiboot.h
+++ b/xen/include/xen/multiboot.h
@@ -18,69 +18,59 @@
#ifndef __MULTIBOOT_H__
#define __MULTIBOOT_H__
-#ifndef __ELF__
-#error "Build on a 32-bit ELF system"
-#endif
-
/* The magic number passed by a Multiboot-compliant boot loader. */
-#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002
+#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002
/* The symbol table for a.out. */
-typedef struct
-{
- unsigned long tabsize;
- unsigned long strsize;
- unsigned long addr;
- unsigned long reserved;
+typedef struct {
+ u32 tabsize;
+ u32 strsize;
+ u32 addr;
+ u32 reserved;
} aout_symbol_table_t;
/* The section header table for ELF. */
-typedef struct
-{
- unsigned long num;
- unsigned long size;
- unsigned long addr;
- unsigned long shndx;
+typedef struct {
+ u32 num;
+ u32 size;
+ u32 addr;
+ u32 shndx;
} elf_section_header_table_t;
/* The Multiboot information. */
-typedef struct
-{
- unsigned long flags;
- unsigned long mem_lower;
- unsigned long mem_upper;
- unsigned long boot_device;
- unsigned long cmdline;
- unsigned long mods_count;
- unsigned long mods_addr;
- union
- {
- aout_symbol_table_t aout_sym;
- elf_section_header_table_t elf_sec;
- } u;
- unsigned long mmap_length;
- unsigned long mmap_addr;
+typedef struct {
+ u32 flags;
+ u32 mem_lower;
+ u32 mem_upper;
+ u32 boot_device;
+ u32 cmdline;
+ u32 mods_count;
+ u32 mods_addr;
+ union {
+ aout_symbol_table_t aout_sym;
+ elf_section_header_table_t elf_sec;
+ } u;
+ u32 mmap_length;
+ u32 mmap_addr;
} multiboot_info_t;
/* The module structure. */
-typedef struct
-{
- unsigned long mod_start;
- unsigned long mod_end;
- unsigned long string;
- unsigned long reserved;
+typedef struct {
+ u32 mod_start;
+ u32 mod_end;
+ u32 string;
+ u32 reserved;
} module_t;
/* The memory map. Be careful that the offset 0 is base_addr_low
but no size. */
-typedef struct
-{
- unsigned long size;
- unsigned long base_addr_low;
- unsigned long base_addr_high;
- unsigned long length_low;
- unsigned long length_high;
- unsigned long type;
+typedef struct {
+ u32 size;
+ u32 base_addr_low;
+ u32 base_addr_high;
+ u32 length_low;
+ u32 length_high;
+ u32 type;
} memory_map_t;
#endif /* __MULTIBOOT_H__ */