[PATCH 5/7] ppc64, cleanup: remove dead code in kexec-zImage-ppc64

Cédric Le Goater clg at fr.ibm.com
Fri Apr 18 07:08:38 PDT 2014


This code was never used.

Signed-off-by: Cédric Le Goater <clg at fr.ibm.com>
---
 kexec/arch/ppc64/kexec-zImage-ppc64.c |  145 ---------------------------------
 1 file changed, 145 deletions(-)

diff --git a/kexec/arch/ppc64/kexec-zImage-ppc64.c b/kexec/arch/ppc64/kexec-zImage-ppc64.c
index 67d751f19d7d..3a26bca0de8b 100644
--- a/kexec/arch/ppc64/kexec-zImage-ppc64.c
+++ b/kexec/arch/ppc64/kexec-zImage-ppc64.c
@@ -34,151 +34,6 @@
 
 #include <zlib.h>
 
-#define MAX_HEADERS 32
-
-int zImage_ppc64_probe(FILE *file)
-{
-	Elf32_Ehdr elf;
-	int valid;
-
-	if (fseek(file, 0, SEEK_SET) < 0) {
-		fprintf(stderr, "seek error: %s\n",
-			strerror(errno));
-		return -1;
-	}
-	if (fread(&elf, sizeof(Elf32_Ehdr), 1, file) != 1) {
-		fprintf(stderr, "read error: %s\n",
-			strerror(errno));
-		return -1;
-	}
-
-	if (elf.e_machine == EM_PPC64) {
-		fprintf(stderr, "Elf64 not supported\n");
-		return -1;
-	}
-
-	valid = (elf.e_ident[EI_MAG0]  == ELFMAG0        &&
-		elf.e_ident[EI_MAG1]  == ELFMAG1        &&
-		elf.e_ident[EI_MAG2]  == ELFMAG2        &&
-		elf.e_ident[EI_MAG3]  == ELFMAG3        &&
-		elf.e_ident[EI_CLASS] == ELFCLASS32  &&
-		elf.e_ident[EI_DATA]  == ELFDATA2MSB &&
-		elf.e_type            == ET_EXEC        &&
-		elf.e_machine         == EM_PPC);
-
-	return valid ? 0 : -1;
-}
-
-int zImage_ppc64_load(FILE *file, int UNUSED(argc), char **UNUSED(argv),
-		      void **ret_entry, struct kexec_segment **ret_segments,
-		      int *ret_nr_segments)
-{
-	Elf32_Ehdr elf;
-	Elf32_Phdr *p, *ph;
-	struct kexec_segment *segment;
-	int i;
-	unsigned long memsize, filesize, offset, load_loc = 0;
-
-	/* Parse command line arguments */
-
-	/* Read in the Elf32 header */
-        if (fseek(file, 0, SEEK_SET) < 0) {
-		perror("seek error:");
-		return -1;
-	}
-        if (fread(&elf, sizeof(Elf32_Ehdr), 1, file) != 1) {
-		perror("read error: ");
-		return -1;
-	}
-	if (elf.e_phnum > MAX_HEADERS) {
-		fprintf(stderr,
-			"Only kernels with %i program headers are supported\n",
-			MAX_HEADERS);
-		return -1;
-	}
-
-	/* Read the section header */
-	ph = (Elf32_Phdr *)malloc(sizeof(Elf32_Phdr) * elf.e_phnum);
-	if (ph == 0) {
-		perror("malloc failed: ");
-		return -1;
-	}
-	if (fseek(file, elf.e_phoff, SEEK_SET) < 0) {
-		perror("seek failed: ");
-		return -1;
-	}
-	if (fread(ph, sizeof(Elf32_Phdr) * elf.e_phnum, 1, file) != 1) {
-		perror("read error: ");
-		return -1;
-	}
-
-	*ret_segments = malloc(elf.e_phnum * sizeof(struct kexec_segment));
-	if (*ret_segments == 0) {
-		fprintf(stderr, "malloc failed: %s\n",
-			strerror(errno));
-		return -1;
-	}
-	segment = ret_segments[0];
-
-	/* Scan through the program header */
-	memsize = filesize = offset = 0;
-	p = ph;
-	for (i = 0; i < elf.e_phnum; ++i, ++p) {
-		if (p->p_type != PT_LOAD || p->p_offset == 0)
-			continue;
-		if (memsize == 0) {
-			offset = p->p_offset;
-			memsize = p->p_memsz;
-			filesize = p->p_filesz;
-			load_loc = p->p_vaddr;
-		} else {
-			memsize = p->p_offset + p->p_memsz - offset;
-			filesize = p->p_offset + p->p_filesz - offset;
-		}
-	}
-	if (memsize == 0) {
-		fprintf(stderr, "Can't find a loadable segment.\n");
-		return -1;
-	}
-
-	/* Load program segments */
-	p = ph;
-	segment->buf = malloc(filesize);
-	if (segment->buf == 0) {
-		perror("malloc failed: ");
-		return -1;
-	}
-	for (i = 0; i < elf.e_phnum; ++i, ++p) {
-		unsigned long mem_offset;
-		if (p->p_type != PT_LOAD || p->p_offset == 0)
-			continue;
-
-		/* skip to the actual image */
-		if (fseek(file, p->p_offset, SEEK_SET) < 0) {
-			perror("seek error: ");
-			return -1;
-		}
-		mem_offset = p->p_vaddr - load_loc;
-		if (fread((void *)segment->buf+mem_offset, p->p_filesz, 1,
-				file) != 1) {
-			perror("read error: ");
-			return -1;
-		}
-	}
-	segment->mem = (void *) load_loc;
-	segment->memsz = memsize;
-	segment->bufsz = filesize;
-	*ret_entry = (void *)(uintptr_t)elf.e_entry;
-	*ret_nr_segments = i - 1;
-	free(ph);
-	return 0;
-}
-
-void zImage_ppc64_usage(void)
-{
-	fprintf(stderr, "zImage support is still broken\n");
-}
-
 #define HEAD_CRC	2
 #define EXTRA_FIELD	4
 #define ORIG_NAME	8
-- 
1.7.10.4




More information about the kexec mailing list