]> git.sur5r.net Git - u-boot/blobdiff - include/elf.h
ddr: altera: Drop custom dram_bank_mmu_setup() on Arria10
[u-boot] / include / elf.h
index 4742597980799ee3b333d77208cf5231d540d040..0d3845e063239ca418d07a9c2604ab63ad5e1170 100644 (file)
@@ -1,8 +1,7 @@
+/* SPDX-License-Identifier: BSD-3-Clause */
 /*
  * Copyright (c) 1995, 1996, 2001, 2002
  * Erik Theisen.  All rights reserved.
- *
- * SPDX-License-Identifier:    BSD-3-Clause
  */
 
 /* This is the ELF ABI header file formerly known as "elf_abi.h" */
@@ -107,6 +106,24 @@ typedef struct {
                                           header string table" entry offset */
 } Elf32_Ehdr;
 
+typedef struct {
+       unsigned char   e_ident[EI_NIDENT]; /* ELF Identification */
+       Elf64_Half      e_type;         /* object file type */
+       Elf64_Half      e_machine;      /* machine */
+       Elf64_Word      e_version;      /* object file version */
+       Elf64_Addr      e_entry;        /* virtual entry point */
+       Elf64_Off       e_phoff;        /* program header table offset */
+       Elf64_Off       e_shoff;        /* section header table offset */
+       Elf64_Word      e_flags;        /* processor-specific flags */
+       Elf64_Half      e_ehsize;       /* ELF header size */
+       Elf64_Half      e_phentsize;    /* program header entry size */
+       Elf64_Half      e_phnum;        /* number of program header entries */
+       Elf64_Half      e_shentsize;    /* section header entry size */
+       Elf64_Half      e_shnum;        /* number of section header entries */
+       Elf64_Half      e_shstrndx;     /* section header table's "section
+                                          header string table" entry offset */
+} Elf64_Ehdr;
+
 /* e_type */
 #define ET_NONE                0               /* No file type */
 #define ET_REL         1               /* relocatable file */
@@ -224,6 +241,20 @@ typedef struct {
        Elf32_Word      sh_entsize;     /* section entry size */
 } Elf32_Shdr;
 
+typedef struct {
+       Elf64_Word      sh_name;        /* name - index into section header
+                                          string table section */
+       Elf64_Word      sh_type;        /* type */
+       Elf64_Xword     sh_flags;       /* flags */
+       Elf64_Addr      sh_addr;        /* address */
+       Elf64_Off       sh_offset;      /* file offset */
+       Elf64_Xword     sh_size;        /* section size */
+       Elf64_Word      sh_link;        /* section header table index link */
+       Elf64_Word      sh_info;        /* extra information */
+       Elf64_Xword     sh_addralign;   /* address alignment */
+       Elf64_Xword     sh_entsize;     /* section entry size */
+} Elf64_Shdr;
+
 /* Special Section Indexes */
 #define SHN_UNDEF      0               /* undefined */
 #define SHN_LORESERVE  0xff00          /* lower bounds of reserved indexes */
@@ -408,6 +439,17 @@ typedef struct {
        Elf32_Word      p_align;        /* memory alignment */
 } Elf32_Phdr;
 
+typedef struct {
+       Elf64_Word      p_type;         /* segment type */
+       Elf64_Word      p_flags;        /* flags */
+       Elf64_Off       p_offset;       /* segment offset */
+       Elf64_Addr      p_vaddr;        /* virtual address of segment */
+       Elf64_Addr      p_paddr;        /* physical address of segment */
+       Elf64_Xword     p_filesz;       /* number of bytes in file for seg */
+       Elf64_Xword     p_memsz;        /* number of bytes in mem. for seg */
+       Elf64_Xword     p_align;        /* memory alignment */
+} Elf64_Phdr;
+
 /* Segment types - p_type */
 #define PT_NULL                0               /* unused */
 #define PT_LOAD                1               /* loadable segment */