From: Anton Blanchard Date: Sat, 10 Apr 2010 18:02:26 +0000 (+0000) Subject: Remove sysmap support X-Git-Tag: yaboot-1.3.17-rc1~25 X-Git-Url: http://git.ozlabs.org/?p=yaboot.git;a=commitdiff_plain;h=4d84db875abc3fb337368263333c47bfd5c14d13 Remove sysmap support We have had in kernel kallsyms for years, and the less code that has to deal with our fragile memory map the better. Signed-off-by: Anton Blanchard Signed-off-by: Tony Breeds --- diff --git a/include/yaboot.h b/include/yaboot.h index ca54937..49e8e10 100644 --- a/include/yaboot.h +++ b/include/yaboot.h @@ -49,7 +49,6 @@ struct boot_param_t { struct boot_fspec_t kernel; struct boot_fspec_t rd; - struct boot_fspec_t sysmap; char* args; }; diff --git a/man/yaboot.conf.5 b/man/yaboot.conf.5 index ba7f12e..1103d21 100644 --- a/man/yaboot.conf.5 +++ b/man/yaboot.conf.5 @@ -562,10 +562,6 @@ print to the user when asking him to press a key. The default is: Press ENTER to continue. .TP -.BI "sysmap=" filename -Specifies the path for the System.map file that goes with the kernel -image (\fIimage=\fR). This is for 2.4 kernels with a kernel debugger only. -.TP .BI "single-key" Enables booting the image by hitting a single key when the cursor is at the first character in the input line, without the need to press diff --git a/second/cfg.c b/second/cfg.c index f23e690..21db256 100644 --- a/second/cfg.c +++ b/second/cfg.c @@ -92,7 +92,6 @@ CONFIG cf_image[] = {cft_flag, "pause-after", NULL}, {cft_strg, "pause-message", NULL}, {cft_flag, "novideo", NULL}, - {cft_strg, "sysmap", NULL}, {cft_end, NULL, NULL}}; static char flag_set; diff --git a/second/yaboot.c b/second/yaboot.c index 5df0760..f8e7d65 100644 --- a/second/yaboot.c +++ b/second/yaboot.c @@ -666,7 +666,6 @@ int get_params(struct boot_param_t* params) static int first = 1; static char imagepath[1024]; static char initrdpath[1024]; - static char sysmappath[1024]; static char manualinitrd[1024]; static int definitrd = 1, hasarg = 0; @@ -675,7 +674,6 @@ int get_params(struct boot_param_t* params) params->args = ""; params->kernel.part = -1; params->rd.part = -1; - params->sysmap.part = -1; defpart = boot.part; cmdinit(); @@ -1020,17 +1018,6 @@ int get_params(struct boot_param_t* params) return 0; } } - p = cfg_get_strg(label, "sysmap"); - if (p && *p) { - DEBUG_F("Parsing sysmap path <%s>\n", p); - strncpy(sysmappath, p, 1024); - params->sysmap = boot; /* Copy all the original paramters */ - if (!parse_device_path(sysmappath, defdevice, defpart, - "/boot/System.map", ¶ms->sysmap)) { - prom_printf("%s: Unable to parse\n", imagepath); - return 0; - } - } } return 0; } @@ -1050,8 +1037,6 @@ yaboot_text_ui(void) static struct boot_param_t params; void *initrd_base; unsigned long initrd_size; - void *sysmap_base; - unsigned long sysmap_size; kernel_entry_t kernel_entry; char* loc=NULL; loadinfo_t loadinfo; @@ -1063,8 +1048,6 @@ yaboot_text_ui(void) for (;;) { initrd_size = 0; initrd_base = 0; - sysmap_base = 0; - sysmap_size = 0; if (get_params(¶ms)) return; @@ -1127,55 +1110,6 @@ yaboot_text_ui(void) file.fs->close(&file); memset(&file, 0, sizeof(file)); - /* If sysmap, load it (only if booting a vmlinux). - */ - if (flat_vmlinux && params.sysmap.file) { - prom_printf("Loading System.map ...\n"); - if(strlen(boot.file) && !strcmp(boot.file,"\\\\") && params.sysmap.file[0] != '/' - && params.sysmap.file[0] != '\\') { - if (loc) free(loc); - loc=(char*)malloc(strlen(params.sysmap.file)+3); - if (!loc) { - prom_printf ("malloc error\n"); - goto next; - } - strcpy(loc,boot.file); - strcat(loc,params.sysmap.file); - free(params.sysmap.file); - params.sysmap.file=loc; - } - - result = open_file(¶ms.sysmap, &file); - if (result != FILE_ERR_OK) { - prom_printf("%s:%d,", params.sysmap.dev, params.sysmap.part); - prom_perror(result, params.sysmap.file); - } - else { - sysmap_base = prom_claim(loadinfo.base+loadinfo.memsize, 0x100000, 0); - if (sysmap_base == (void *)-1) { - prom_printf("Claim failed for sysmap memory\n"); - prom_pause(); - sysmap_base = 0; - } else { - sysmap_size = file.fs->read(&file, 0xfffff, sysmap_base); - if (sysmap_size == 0) - sysmap_base = 0; - else - ((char *)sysmap_base)[sysmap_size++] = 0; - } - file.fs->close(&file); - memset(&file, 0, sizeof(file)); - } - if (sysmap_base) { - prom_printf("System.map loaded at %p, size: %lu Kbytes\n", - sysmap_base, sysmap_size >> 10); - loadinfo.memsize += _ALIGN(0x100000, 0x1000); - } else { - prom_printf("System.map load failed !\n"); - prom_pause(); - } - } - /* If ramdisk, load it (only if booting a vmlinux). For now, we * can't tell the size it will be so we claim an arbitrary amount * of 4Mb.