Author: hailfinger Date: Thu Jun 24 01:14:44 2010 New Revision: 1058 URL: http://flashrom.org/trac/coreboot/changeset/1058
Log: If flashrom is standalone and has no OS below, it can't call dmidecode. Provide empty DMI stubs for that case until someone implements our own dmidecode subset.
Tested by Patrick Georgi on top of libpayload.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net Acked-by: Patrick Georgi patrick.georgi@coresystems.de
Modified: trunk/dmi.c
Modified: trunk/dmi.c ============================================================================== --- trunk/dmi.c Tue Jun 22 01:20:15 2010 (r1057) +++ trunk/dmi.c Thu Jun 24 01:14:44 2010 (r1058) @@ -24,6 +24,26 @@
#include "flash.h"
+int has_dmi_support = 0; + +#if STANDALONE + +/* Stub to indicate missing DMI functionality. + * has_dmi_support is 0 by default, so nothing to do here. + * Because dmidecode is not available on all systems, the goal is to implement + * the DMI subset we need directly in this file. + */ +void dmi_init(void) +{ +} + +int dmi_match(const char *pattern) +{ + return 0; +} + +#else /* STANDALONE */ + const char *dmidecode_names[] = { "system-manufacturer", "system-product-name", @@ -36,7 +56,6 @@ #define DMI_COMMAND_LEN_MAX 260 const char *dmidecode_command = "dmidecode";
-int has_dmi_support = 0; char *dmistrings[ARRAY_SIZE(dmidecode_names)];
/* Strings longer than 4096 in DMI are just insane. */ @@ -172,3 +191,5 @@
return 0; } + +#endif /* STANDALONE */