diff options
author | Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> | 2012-08-11 16:07:08 +0000 |
---|---|---|
committer | Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> | 2012-08-11 16:07:08 +0000 |
commit | 3c91da0106dbdfa0645000cb5c91dfe2e266c6c5 (patch) | |
tree | d97d9d9384e4241411383e6ff1ef6e008eab9e69 /layout.c | |
parent | 6b84028d4848b1a9f2ea0961bdb12d4919298de2 (diff) | |
download | flashrom-3c91da0106dbdfa0645000cb5c91dfe2e266c6c5.zip flashrom-3c91da0106dbdfa0645000cb5c91dfe2e266c6c5.tar.gz |
Move show_id to where it belongs
And remove the unused force parameter.
Corresponding to flashrom svn r1569.
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Diffstat (limited to 'layout.c')
-rw-r--r-- | layout.c | 101 |
1 files changed, 0 insertions, 101 deletions
@@ -21,15 +21,10 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <ctype.h> #include <limits.h> #include "flash.h" #include "programmer.h" -#if CONFIG_INTERNAL == 1 -char *mainboard_vendor = NULL; -char *mainboard_part = NULL; -#endif static int romimages = 0; #define MAX_ROMLAYOUT 32 @@ -49,102 +44,6 @@ static char *include_args[MAX_ROMLAYOUT]; static int num_include_args = 0; /* the number of valid entries. */ static romlayout_t rom_entries[MAX_ROMLAYOUT]; -#if CONFIG_INTERNAL == 1 /* FIXME: Move the whole block to cbtable.c? */ -static char *def_name = "DEFAULT"; - -int show_id(uint8_t *bios, int size, int force) -{ - unsigned int *walk; - unsigned int mb_part_offset, mb_vendor_offset; - char *mb_part, *mb_vendor; - - mainboard_vendor = def_name; - mainboard_part = def_name; - - walk = (unsigned int *)(bios + size - 0x10); - walk--; - - if ((*walk) == 0 || ((*walk) & 0x3ff) != 0) { - /* We might have an NVIDIA chipset BIOS which stores the ID - * information at a different location. - */ - walk = (unsigned int *)(bios + size - 0x80); - walk--; - } - - /* - * Check if coreboot last image size is 0 or not a multiple of 1k or - * bigger than the chip or if the pointers to vendor ID or mainboard ID - * are outside the image of if the start of ID strings are nonsensical - * (nonprintable and not \0). - */ - mb_part_offset = *(walk - 1); - mb_vendor_offset = *(walk - 2); - if ((*walk) == 0 || ((*walk) & 0x3ff) != 0 || (*walk) > size || - mb_part_offset > size || mb_vendor_offset > size) { - msg_pinfo("Flash image seems to be a legacy BIOS. " - "Disabling coreboot-related checks.\n"); - return 0; - } - - mb_part = (char *)(bios + size - mb_part_offset); - mb_vendor = (char *)(bios + size - mb_vendor_offset); - if (!isprint((unsigned char)*mb_part) || - !isprint((unsigned char)*mb_vendor)) { - msg_pinfo("Flash image seems to have garbage in the ID location." - " Disabling checks.\n"); - return 0; - } - - msg_pdbg("coreboot last image size " - "(not ROM size) is %d bytes.\n", *walk); - - mainboard_part = strdup(mb_part); - mainboard_vendor = strdup(mb_vendor); - msg_pdbg("Manufacturer: %s\n", mainboard_vendor); - msg_pdbg("Mainboard ID: %s\n", mainboard_part); - - /* - * If lb_vendor is not set, the coreboot table was - * not found. Nor was -p internal:mainboard=VENDOR:PART specified. - */ - if (!lb_vendor || !lb_part) { - msg_pinfo("Note: If the following flash access fails, try " - "-p internal:mainboard=<vendor>:<mainboard>.\n"); - return 0; - } - - /* These comparisons are case insensitive to make things - * a little less user^Werror prone. - */ - if (!strcasecmp(mainboard_vendor, lb_vendor) && - !strcasecmp(mainboard_part, lb_part)) { - msg_pdbg("This firmware image matches this mainboard.\n"); - } else { - if (force_boardmismatch) { - msg_pinfo("WARNING: This firmware image does not " - "seem to fit to this machine - forcing it.\n"); - } else { - msg_pinfo("ERROR: Your firmware image (%s:%s) does not " - "appear to\n" - " be correct for the detected " - "mainboard (%s:%s)\n\n" - "Override with -p internal:boardmismatch=" - "force to ignore the board name in the\n" - "firmware image or override the detected " - "mainboard with\n" - "-p internal:mainboard=<vendor>:<mainboard>." - "\n\n", - mainboard_vendor, mainboard_part, lb_vendor, - lb_part); - return 1; - } - } - - return 0; -} -#endif - #ifndef __LIBPAYLOAD__ int read_romlayout(char *name) { |