diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/elf.h | 6 | ||||
| -rw-r--r-- | src/include/elf_boot.h | 84 |
2 files changed, 4 insertions, 86 deletions
diff --git a/src/include/elf.h b/src/include/elf.h index 606b4192a..a6eb5d9c0 100644 --- a/src/include/elf.h +++ b/src/include/elf.h @@ -121,6 +121,7 @@ #define ELFMAG3 'F' #define ELFMAG "\177ELF" +#define SELFMAG 4 #define EI_CLASS 4 /* File class byte index */ #define ELFCLASSNONE 0 /* Invalid class */ @@ -141,6 +142,9 @@ #define ELF32_PHDR_SIZE (8*4) /* Size of an elf program header */ #ifndef ASSEMBLY + +#include <stdint.h> + /* * ELF definitions common to all 32-bit architectures. */ @@ -229,6 +233,4 @@ typedef struct { #endif /* ASSEMBLY */ -#include "elf_boot.h" - #endif /* ELF_H */ diff --git a/src/include/elf_boot.h b/src/include/elf_boot.h deleted file mode 100644 index 878a870a8..000000000 --- a/src/include/elf_boot.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef ELF_BOOT_H -#define ELF_BOOT_H - - -/* This defines the structure of a table of parameters useful for ELF - * bootable images. These parameters are all passed and generated - * by the bootloader to the booted image. For simplicity and - * consistency the Elf Note format is reused. - * - * All of the information must be Position Independent Data. - * That is it must be safe to relocate the whole ELF boot parameter - * block without changing the meaning or correctnes of the data. - * Additionally it must be safe to permute the order of the ELF notes - * to any possible permutation without changing the meaning or correctness - * of the data. - * - */ - -#define ELF_BHDR_MAGIC 0x0E1FB007 - -#ifndef ASSEMBLY -#include <stdint.h> -typedef uint16_t Elf_Half; -typedef uint32_t Elf_Word; - -typedef struct Elf_Bhdr -{ - Elf_Word b_signature; /* "0x0E1FB007" */ - Elf_Word b_size; - Elf_Half b_checksum; - Elf_Half b_records; -} Elf_Bhdr; - -typedef struct Elf_Nhdr -{ - Elf_Word n_namesz; /* Length of the note's name. */ - Elf_Word n_descsz; /* Length of the note's descriptor. */ - Elf_Word n_type; /* Type of the note. */ -} Elf_Nhdr; - -#endif /* ASSEMBLY */ - -/* Standardized Elf image notes for booting... The name for all of these is ELFBoot */ -#define ELF_NOTE_BOOT "ELFBoot" - -#define EIN_PROGRAM_NAME 0x00000001 -/* The program in this ELF file */ -#define EIN_PROGRAM_VERSION 0x00000002 -/* The version of the program in this ELF file */ -#define EIN_PROGRAM_CHECKSUM 0x00000003 -/* ip style checksum of the memory image. */ - - -/* Notes that are passed to a loaded image */ -/* For standard notes n_namesz must be zero */ -#define EBN_FIRMWARE_TYPE 0x00000001 -/* ASCIZ name of the platform firmware. */ -#define EBN_BOOTLOADER_NAME 0x00000002 -/* This specifies just the ASCIZ name of the bootloader */ -#define EBN_BOOTLOADER_VERSION 0x00000003 -/* This specifies the version of the bootloader as an ASCIZ string */ -#define EBN_COMMAND_LINE 0x00000004 -/* This specifies a command line that can be set by user interaction, - * and is provided as a free form ASCIZ string to the loaded image. - */ -#define EBN_NOP 0x00000005 -/* A note nop note has no meaning, useful for inserting explicit padding */ -#define EBN_LOADED_IMAGE 0x00000006 -/* An ASCIZ string naming the loaded image */ - - -/* Etherboot specific notes */ -#define EB_PARAM_NOTE "Etherboot" -#define EB_IA64_SYSTAB 0x00000001 -#define EB_IA64_MEMMAP 0x00000002 -#define EB_IA64_FPSWA 0x00000003 -#define EB_IA64_CONINFO 0x00000004 -#define EB_BOOTP_DATA 0x00000005 -#define EB_HEADER 0x00000006 -#define EB_IA64_IMAGE_HANDLE 0x00000007 -#define EB_I386_MEMMAP 0x00000008 - - -#endif /* ELF_BOOT_H */ |
