From 21f17e7d97449c6fab1066a90825fdb4a6bb48e6 Mon Sep 17 00:00:00 2001 From: mkarcher Date: Fri, 26 Feb 2010 09:51:20 +0000 Subject: Warn if running on laptops Signed-off-by: Michael Karcher Acked-by: Carl-Daniel Hailfinger git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@916 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- dmi.c | 8 ++++++++ flash.h | 1 + internal.c | 12 ++++++++++++ 3 files changed, 21 insertions(+) diff --git a/dmi.c b/dmi.c index a68f210..30a4670 100644 --- a/dmi.c +++ b/dmi.c @@ -98,6 +98,7 @@ static char *get_dmi_string(const char *string_name) void dmi_init(void) { int i; + char *chassis_type; has_dmi_support = 1; for (i = 0; i < DMI_ID_INVALID; i++) { dmistrings[i] = get_dmi_string(dmidecode_names[i]); @@ -106,6 +107,13 @@ void dmi_init(void) break; } } + + chassis_type = get_dmi_string("chassis-type"); + if (chassis_type && !strcmp(chassis_type, "Notebook")) { + printf_debug("Laptop detected via DMI"); + is_laptop = 1; + } + free(chassis_type); } /** diff --git a/flash.h b/flash.h index 76be164..8252f6d 100644 --- a/flash.h +++ b/flash.h @@ -382,6 +382,7 @@ struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device, void get_io_perms(void); void release_io_perms(void); #if INTERNAL_SUPPORT == 1 +extern int is_laptop; void probe_superio(void); int internal_init(void); int internal_shutdown(void); diff --git a/internal.c b/internal.c index 12dae39..d38ae4b 100644 --- a/internal.c +++ b/internal.c @@ -110,6 +110,8 @@ void probe_superio(void) #endif } +int is_laptop; + int internal_init(void) { int ret = 0; @@ -131,6 +133,16 @@ int internal_init(void) /* Probe for the SuperI/O chip and fill global struct superio. */ probe_superio(); + /* Warn if a laptop is detected */ + if (is_laptop) + printf("========================================================================\n" + "WARNING! You seem to be running flashrom on a laptop.\n" + "Laptops, notebooks and netbooks are difficult to support and we recommend\n" + "to use the vendor flashing utility. The embedded controller (EC) in these\n" + "machines often interacts badly with flashing\n" + "See http://www.flashrom.org/Laptops\n" + "========================================================================\n"); + /* try to enable it. Failure IS an option, since not all motherboards * really need this to be done, etc., etc. */ -- cgit v1.2.1