Commit 92946bc7 authored by Ben Hutchings's avatar Ben Hutchings Committed by David Woodhouse

panic: Add taint flag TAINT_FIRMWARE_WORKAROUND ('I')

This taint flag will initially be used when warning about invalid ACPI
DMAR tables.
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent b2be0527
...@@ -260,6 +260,9 @@ characters, each representing a particular tainted value. ...@@ -260,6 +260,9 @@ characters, each representing a particular tainted value.
11: 'C' if a staging driver has been loaded. 11: 'C' if a staging driver has been loaded.
12: 'I' if the kernel is working around a severe bug in the platform
firmware (BIOS or similar).
The primary reason for the 'Tainted: ' string is to tell kernel The primary reason for the 'Tainted: ' string is to tell kernel
debuggers if this is a clean kernel or if anything unusual has debuggers if this is a clean kernel or if anything unusual has
occurred. Tainting is permanent: even if an offending module is occurred. Tainting is permanent: even if an offending module is
......
...@@ -344,6 +344,7 @@ extern enum system_states { ...@@ -344,6 +344,7 @@ extern enum system_states {
#define TAINT_OVERRIDDEN_ACPI_TABLE 8 #define TAINT_OVERRIDDEN_ACPI_TABLE 8
#define TAINT_WARN 9 #define TAINT_WARN 9
#define TAINT_CRAP 10 #define TAINT_CRAP 10
#define TAINT_FIRMWARE_WORKAROUND 11
extern void dump_stack(void) __cold; extern void dump_stack(void) __cold;
......
...@@ -178,6 +178,7 @@ static const struct tnt tnts[] = { ...@@ -178,6 +178,7 @@ static const struct tnt tnts[] = {
{ TAINT_OVERRIDDEN_ACPI_TABLE, 'A', ' ' }, { TAINT_OVERRIDDEN_ACPI_TABLE, 'A', ' ' },
{ TAINT_WARN, 'W', ' ' }, { TAINT_WARN, 'W', ' ' },
{ TAINT_CRAP, 'C', ' ' }, { TAINT_CRAP, 'C', ' ' },
{ TAINT_FIRMWARE_WORKAROUND, 'I', ' ' },
}; };
/** /**
...@@ -194,6 +195,7 @@ static const struct tnt tnts[] = { ...@@ -194,6 +195,7 @@ static const struct tnt tnts[] = {
* 'A' - ACPI table overridden. * 'A' - ACPI table overridden.
* 'W' - Taint on warning. * 'W' - Taint on warning.
* 'C' - modules from drivers/staging are loaded. * 'C' - modules from drivers/staging are loaded.
* 'I' - Working around severe firmware bug.
* *
* The string is overwritten by the next call to print_tainted(). * The string is overwritten by the next call to print_tainted().
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment