diff options
| author | Michael Brown | 2006-03-16 18:59:51 +0100 |
|---|---|---|
| committer | Michael Brown | 2006-03-16 18:59:51 +0100 |
| commit | bb7394b041a73f21a8dd880ce9e35f0168326b22 (patch) | |
| tree | 5afd0d102828a4b9227445d7251aa7f602f8c944 /src/core/elf_loader.c | |
| parent | Merge from Etherboot 5.4 (diff) | |
| parent | Import from Etherboot 5.4 (diff) | |
| download | ipxe-bb7394b041a73f21a8dd880ce9e35f0168326b22.tar.gz ipxe-bb7394b041a73f21a8dd880ce9e35f0168326b22.tar.xz ipxe-bb7394b041a73f21a8dd880ce9e35f0168326b22.zip | |
Merge from Etherboot 5.4
Diffstat (limited to 'src/core/elf_loader.c')
| -rw-r--r-- | src/core/elf_loader.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/elf_loader.c b/src/core/elf_loader.c index 88a2975ef..85b60e8a3 100644 --- a/src/core/elf_loader.c +++ b/src/core/elf_loader.c @@ -199,7 +199,6 @@ static inline os_download_t elf32_probe(unsigned char *data, unsigned int len) } printf("(ELF"); elf_freebsd_probe(); - multiboot_probe(data, len); printf(")... "); phdr_size = estate.e.elf32.e_phnum * estate.e.elf32.e_phentsize; if (estate.e.elf32.e_phoff + phdr_size > len) { @@ -207,7 +206,7 @@ static inline os_download_t elf32_probe(unsigned char *data, unsigned int len) return dead_download; } if (phdr_size > sizeof(estate.p.dummy)) { - printf("Program header to big\n"); + printf("Program header too big\n"); return dead_download; } memcpy(&estate.p.phdr32, data + estate.e.elf32.e_phoff, phdr_size); @@ -251,6 +250,7 @@ static inline os_download_t elf32_probe(unsigned char *data, unsigned int len) } #if ELF_NOTES /* Load ELF notes from the image */ + estate.check_ip_checksum = 0; for(estate.segment = 0; estate.segment < estate.e.elf32.e_phnum; estate.segment++) { if (estate.p.phdr32[estate.segment].p_type != PT_NOTE) continue; @@ -289,6 +289,7 @@ static inline os_download_t elf32_probe(unsigned char *data, unsigned int len) estate.loc = 0; estate.skip = 0; estate.toread = 0; + multiboot_init(); return elf32_download; } @@ -516,6 +517,7 @@ static inline os_download_t elf64_probe(unsigned char *data, unsigned int len) } #if ELF_NOTES /* Load ELF notes from the image */ + estate.check_ip_checksum = 0; for(estate.segment = 0; estate.segment < estate.e.elf64.e_phnum; estate.segment++) { if (estate.p.phdr64[estate.segment].p_type != PT_NOTE) continue; |
