]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
authorRobert Millan <rmh@aybabtu.com>
Thu, 24 Dec 2009 14:15:32 +0000 (14:15 +0000)
committerRobert Millan <rmh@aybabtu.com>
Thu, 24 Dec 2009 14:15:32 +0000 (14:15 +0000)
* include/multiboot.h (struct multiboot_aout_symbol_table)
(struct multiboot_elf_section_header_table): New structure
declarations (stolen from GRUB Legacy).
(struct multiboot_info): Replace opaque `syms' with a.out and ELF
table information.

(multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
(multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
type aliases.

ChangeLog
include/multiboot.h

index f2e906b9287d547e4c124b2b353aac1ea84a1bd2..a53f7085e65b0b5a6ccbfab4e886e17785f1ec99 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>
+
+       * include/multiboot.h (struct multiboot_aout_symbol_table)
+       (struct multiboot_elf_section_header_table): New structure
+       declarations (stolen from GRUB Legacy).
+       (struct multiboot_info): Replace opaque `syms' with a.out and ELF
+       table information.
+
+       (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
+       (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
+       type aliases.
+
 2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>
 
        * include/multiboot.h: Make comments src2texi-friendly.
index 3326718cc30c4968244017762864bf1330b7e7ed..41fac756c33ee0ec8e50fd4f86db6290c24ee7e3 100644 (file)
@@ -1,5 +1,5 @@
 /*  multiboot.h - Multiboot header file.  */
-/*  Copyright (C) 2003,2007,2008,2009  Free Software Foundation, Inc.
+/*  Copyright (C) 1999,2003,2007,2008,2009  Free Software Foundation, Inc.
  *
  *  Permission is hereby granted, free of charge, to any person obtaining a copy
  *  of this software and associated documentation files (the "Software"), to
@@ -121,6 +121,26 @@ struct multiboot_header
   multiboot_uint32_t depth;
 };
 
+/* The symbol table for a.out.  */
+struct multiboot_aout_symbol_table
+{
+  multiboot_uint32_t tabsize;
+  multiboot_uint32_t strsize;
+  multiboot_uint32_t addr;
+  multiboot_uint32_t reserved;
+};
+typedef struct multiboot_aout_symbol_table multiboot_aout_symbol_table_t;
+
+/* The section header table for ELF.  */
+struct multiboot_elf_section_header_table
+{
+  multiboot_uint32_t num;
+  multiboot_uint32_t size;
+  multiboot_uint32_t addr;
+  multiboot_uint32_t shndx;
+};
+typedef struct multiboot_elf_section_header_table multiboot_elf_section_header_table_t;
+
 struct multiboot_info
 {
   /* Multiboot info version number */
@@ -140,7 +160,11 @@ struct multiboot_info
   multiboot_uint32_t mods_count;
   multiboot_uint32_t mods_addr;
 
-  multiboot_uint32_t syms[4];
+  union
+  {
+    multiboot_aout_symbol_table_t aout_sym;
+    multiboot_elf_section_header_table_t elf_sec;
+  } u;
 
   /* Memory Mapping buffer */
   multiboot_uint32_t mmap_length;
@@ -167,6 +191,7 @@ struct multiboot_info
   multiboot_uint16_t vbe_interface_off;
   multiboot_uint16_t vbe_interface_len;
 };
+typedef struct multiboot_info multiboot_info_t;
 
 struct multiboot_mmap_entry
 {
@@ -177,6 +202,7 @@ struct multiboot_mmap_entry
 #define MULTIBOOT_MEMORY_RESERVED              2
   multiboot_uint32_t type;
 } __attribute__((packed));
+typedef struct multiboot_mmap_entry multiboot_memory_map_t;
 
 struct multiboot_mod_list
 {
@@ -190,6 +216,7 @@ struct multiboot_mod_list
   /* padding to take it to 16 bytes (must be zero) */
   multiboot_uint32_t pad;
 };
+typedef struct multiboot_mod_list multiboot_module_t;
 
 #endif /* ! ASM_FILE */